Code:
alarm
alarm
alarm
alarm
alarm
alarm
alarm
var data = AcPlugins.types[pluginType], pluginIds, pluginsUiModel;
if (data) {
pluginIds = data.plugin_ids;
if (pluginIds && pluginIds.length > 0) {
pluginsUiModel = this.getPluginsUiModel(pluginIds[0]);
if (pluginsUiModel) {
pluginsUiModel.set("default_plugin_id", undefined);
data.default_plugin_id = undefined;
}
}
}
},
// Returns id of default plugin of given plugin *type*, e.g. "tools".
getDefaultPluginId: function (type) {
return this.getPluginIdOfType(type, "default_plugin_id");
},
// Returns id of pending plugin of given plugin *type*, e.g. "tools".
getPendingPluginId: function (type) {
return this.getPluginIdOfType(type, "pending_plugin_id") ||
this.getPluginIdOfType(type, "selected_plugin_id");
},
// Returns Site Catalyst name of selected plugin of given plugin *type*,
// e.g. "tools".
getSelectedPluginSiteCatalystName: function (type) {
var id = this.getSelectedPluginId(type), name;
if (id) {
name = this.getSiteCatalystName(id);
}
return name;
},
// Returns Site Catalyst name for plugin with given *id*.
getSiteCatalystName: function (id, defaultName, callSelectorFunction) {
if(callSelectorFunction) {
return this.callSelectorMethod(
id, "getSiteCatalystName", undefined, defaultName, true);
}
return this.callPluginMethod(
id, "getSiteCatalystName", undefined, defaultName, true);
},
// Expands or collapses plugin with given *id* within its containing
// view.
expandPlugin: function (id, expand) {
var pluginsUiModel = this.options.pluginsUiModels[id];
// Expand by default.
if (_.isUndefined(expand)) {
expand = true;
}
if (pluginsUiModel) {
if (expand) {
pluginsUiModel.set("expanded_plugin_id", id);
} else {
pluginsUiModel.unset("expanded_plugin_id");
}
}
},
// Tells whether plugin with given *id* is expanded.
isPluginExpanded: function (id) {
var pluginsUiModel = this.options.pluginsUiModels[id];
if (pluginsUiModel) {
return id === pluginsUiModel.get("expanded_plugin_id");
}
return false;
},
// ----------------
// __Methods *not* intended for use by plugins.__
// Adds a plugin with given id to given pluginsUiModel at given position
addPlugin: function (id, pluginData, pluginsUiModel, type, position) {
var plugins = pluginsUiModel.get("plugins");
plugins.add(pluginData, { at: position });
// Associate connector with config info for its set of plugins.
this.addPluginsConfig(id, type);
// Associate pluginId UI with the corresponding set.
this.registerPluginsUiModel(id, pluginsUiModel);
},
// Removes a plugin with given id from given pluginsUiModel
// Returns the index from which plugin was removed
removePlugin: function (id, pluginsUiModel) {
var plugins = pluginsUiModel.get("plugins"),
pluginModel = plugins.get(id),
pluginIndex = plugins.indexOf(pluginModel),
selector_api = pluginModel.get("selector_api"),
plugin_api = pluginModel.get("plugin_api");
// First removes selector, then plugin and finally the ui-model
if (selector_api) {
pluginModel.get("selector_api").remove();
}
if (plugin_api) {
pluginModel.get("plugin_api").removment ) {
if ( this.relativeContainer ){
co = this.relativeContainer.offset();
containment = [
this.containment[ 0 ] + co.left,
this.containment[ 1 ] + co.top,
this.containment[ 2 ] + co.left,
this.containment[ 3 ] + co.top
];
} else {
containment = this.containment;
}
if (event.pageX - this.offset.click.left < containment[0]) {
pageX = containment[0] + this.offset.click.left;
}
if (event.pageY - this.offset.click.top < containment[1]) {
pageY = containment[1] + this.offset.click.top;
}
if (event.pageX - this.offset.click.left > containment[2]) {
pageX = containment[2] + this.offset.click.left;
}
if (event.pageY - this.offset.click.top > containment[3]) {
pageY = containment[3] + this.offset.click.top;
}
}
if (o.grid) {
//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
}
if ( o.axis === "y" ) {
pageX = this.originalPageX;
}
if ( o.axis === "x" ) {
pageY = this.originalPageY;
}
}
return {
top: (
pageY - // The absolute mouse position
this.offset.click.top - // Click offset (relative to the element)
this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
( this.cssPosition === "fixed" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )
),
left: (
pageX - // The absolute mouse position
this.offset.click.left - // Click offset (relative to the element)
this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
( this.cssPosition === "fixed" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )
)
};
},
_clear: function() {
this.helper.removeClass("ui-draggable-dragging");
if (this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
this.helper.remove();
}
this.helper = null;
this.cancelHelperRemoval = false;
if ( this.destroyOnClear ) {
this.destroy();
}
},
_normalizeRightBottom: function() {
if ( this.options.axis !== "y" && this.helper.css( "right" ) !== "auto" ) {
this.helper.width( this.helper.width() );
this.helper.css( "right", "auto" );
}
if ( this.options.axis !== "x" && this.helper.css( "bottom" ) !== "auto" ) {
this.helper.height( this.helper.height() );
this.helper.css( "bottom", "auto" );
}
},
// From now on bulk stuff - mainly helpers
_trigger: function( type, event, ui ) {
ui = ui || this._uiHash();
$.ui.plugin.call( this, type, [ event, ui, this ], true );
// Absolute position and offset (see #6884 ) have to be recalculated after plugins
if ( /^(drag|start|stop)/.test( type ) ) {
this.positionAbs = this._convertPositionTo( "absolute" );
ui.offset = this.positionAbs;
}
return $.Widget.prototype._trigger.call( this, type, event, ui );
},
plugins: {},
_uiHash: function() {
return {
helper: this.helper,
position:
alarm
alarm
alarm
It was not easy to catch, the printing was _really_ fast.
Well.. the above was printed by the Serial monitor - it is sourcecode..but from what?
(Not the "alarm" - that was printed by the Sketch)
...i hope this is the alpha of a planned - but currently hidden - tool that will write our teeensy sourcecode for us automatically?
..or is it just a crazy pointer...
Last edited: