2014-05-20 26 views
1

我已經使用Rateit在openerp中創建了自定義評級小部件。如何僅在單擊「編輯」按鈕時使自定義小部件可編輯?

但是小部件總是可編輯的,我怎樣才能使它可編輯只有當我點擊'編輯'按鈕,我怎麼知道它是在只讀模式?

XML

<field name="rating" widget="rating"/> 

JS

instance.my_module.Rating = instance.web.form.FieldChar.extend({ 
     template : "rating", 
     init: function(field_manager, node){ 
      this._super.apply(this, arguments); 

     }, 

     start: function() { 

      var self = this; 

      $('#rateit').rateit({ 
       value: 0, 
       resetable: false 
      }); 
     }, 
    }); 

回答

1

最後我得到它的工作,這裏是我的代碼

start: function() { 

      var self = this; 
      this.field_manager.has_been_loaded.done(function() { 
       $('#rateit').rateit({ 
        value: 0, 
        resetable: false 
       }); 
       self.field_manager.on("change:actual_mode", self, self.check_actual_mode); 
       self.check_actual_mode(); 
      }); 

}, 

check_actual_mode: function(source, options) { 
    var self = this; 
    if(self.field_manager.get("actual_mode")=='view'){ 
     $('#rateit').rateit('readonly',true); 
    } 
    else { 
     $('#rateit').rateit('readonly',false); 
    } 
} 
相關問題