aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ui/abstractWidget/abstractWidget.js
diff options
context:
space:
mode:
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ui/abstractWidget/abstractWidget.js')
-rw-r--r--sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ui/abstractWidget/abstractWidget.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ui/abstractWidget/abstractWidget.js b/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ui/abstractWidget/abstractWidget.js
new file mode 100644
index 000000000..bf3b4c8b6
--- /dev/null
+++ b/sdnr/wt/devicemanager/provider/src/main/resources/elasticsearch/plugins/head/src/app/ui/abstractWidget/abstractWidget.js
@@ -0,0 +1,49 @@
+(function( $, joey, app ) {
+
+ var ui = app.ns("ui");
+ var ux = app.ns("ux");
+
+ ui.AbstractWidget = ux.Observable.extend({
+ defaults : {
+ id: null // the id of the widget
+ },
+
+ el: null, // this is the jquery wrapped dom element(s) that is the root of the widget
+
+ init: function() {
+ this._super();
+ for(var prop in this) { // automatically bind all the event handlers
+ if(prop.contains("_handler")) {
+ this[prop] = this[prop].bind(this);
+ }
+ }
+ },
+
+ id: function(suffix) {
+ return this.config.id ? (this.config.id + (suffix ? "-" + suffix : "")) : undefined;
+ },
+
+ attach: function( parent, method ) {
+ if( parent ) {
+ this.el[ method || "appendTo"]( parent );
+ }
+ this.fire("attached", this );
+ return this;
+ },
+
+ remove: function() {
+ this.el.remove();
+ this.fire("removed", this );
+ this.removeAllObservers();
+ this.el = null;
+ return this;
+ }
+ });
+
+ joey.plugins.push( function( obj ) {
+ if( obj instanceof ui.AbstractWidget ) {
+ return obj.el[0];
+ }
+ });
+
+})( this.jQuery, this.joey, this.app );