1 /*globals View render_template scriptletCenter*/
 
   2 var ButtonToolbarView = View.extend({
 
   3     _className: 'ButtonToolbarView',
 
   7     init: function(element, model, parent, template) {
 
   8         this._super(element, model, null);
 
  10         this.template = 'button-toolbar-view-template';
 
  12         this.model.addObserver(this, 'buttons', this.modelButtonsChanged.bind(this));
 
  13         this.buttons = this.model.get('buttons');
 
  18     modelButtonsChanged: function(property, value) {
 
  19         this.set('buttons', value);
 
  24         $('.buttontoolbarview-tab', this.element).unbind('click.buttontoolbarview');
 
  25         $('.buttontoolbarview-button', this.element).unbind('click.buttontoolbarview');
 
  28         this.element.html(render_template(this.template, this));
 
  30         $('.buttontoolbarview-tab', this.element).bind('click.buttontoolbarview', function() {
 
  31             var groupIndex = $(this).attr('ui:groupindex');
 
  32             $('.buttontoolbarview-group', self.element).each(function() {
 
  33                 if ($(this).attr('ui:groupindex') == groupIndex) {
 
  39             $(self.element).trigger('resize');
 
  42         $('.buttontoolbarview-button', this.element).bind('click.buttontoolbarview', function(event) {
 
  43             var groupIndex = parseInt($(this).attr('ui:groupindex'), 10);
 
  44             var buttonIndex = parseInt($(this).attr('ui:buttonindex'), 10);
 
  45             var button = self.get('buttons')[groupIndex].buttons[buttonIndex];
 
  46             var scriptletId = button.scriptlet_id;
 
  47             var params = eval('(' + button.params + ')'); // To nie powinno być potrzebne
 
  49             console.log('Executing', scriptletId, 'with params', params);
 
  51                 scriptletCenter.scriptlets[scriptletId](self.parent, params);
 
  53                 console.log("Scriptlet", scriptletId, "failed.");
 
  57         $(this.element).trigger('resize');
 
  61         $('.buttontoolbarview-tab', this.element).unbind('click.buttontoolbarview');
 
  62         $('.buttontoolbarview-button', this.element).unbind('click.buttontoolbarview');