12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // jQuery UI style "widget" for editing an iTop "dashlet"
- $(function()
- {
- // the widget definition, where "itop" is the namespace,
- // "dashlet" the widget name
- $.widget( "itop.dashlet",
- {
- // default options
- options:
- {
- dashlet_id: '',
- dashlet_class: ''
- },
-
- // the constructor
- _create: function()
- {
- var me = this;
- this.element
- .addClass('itop-dashlet')
- .bind('click.itop-dashlet', function(event) { me._on_click(event); } );
- },
-
- // called when created, and later when changing options
- _refresh: function()
- {
- },
- // events bound via _bind are removed automatically
- // revert other modifications here
- destroy: function()
- {
- this.element
- .removeClass('itop-dashlet')
- .unbind('click.itop-dashlet');
- // call the original destroy method since we overwrote it
- $.Widget.prototype.destroy.call( this );
- },
- // _setOptions is called with a hash of all options that are changing
- _setOptions: function()
- {
- // in 1.9 would use _superApply
- $.Widget.prototype._setOptions.apply( this, arguments );
- },
- // _setOption is called for each individual option that is changing
- _setOption: function( key, value )
- {
- // in 1.9 would use _super
- $.Widget.prototype._setOption.call( this, key, value );
- },
- _select: function()
- {
- this.element.addClass('dashlet-selected');
- $('#event_bus').trigger('dashlet-selected', {'dashlet_id': this.options.dashlet_id, 'dashlet_class': this.options.dashlet_class})
- },
- _deselect: function()
- {
- this.element.removeClass('dashlet-selected');
- },
- _on_click: function(event)
- {
- var sCurrentId = this.element.attr('id');
-
- $(':itop-dashlet').each(function(){
- var sId = $(this).attr('id');
- var oWidget = $(this).data('dashlet');
- if (oWidget)
- {
- if (sCurrentId != sId)
- {
- oWidget._deselect();
- }
- }
- });
- this._select();
- }
- });
- });
|