@@ -352,7 +352,7 @@ QueryBuilder.prototype.setRoot = function(addRule, data, flags) {
352352 this . model . root . model = this . model ;
353353
354354 this . model . root . data = data ;
355- this . model . root . __ . flags = $ . extend ( { } , this . settings . default_group_flags , flags ) ;
355+ this . model . root . flags = $ . extend ( { } , this . settings . default_group_flags , flags ) ;
356356 this . model . root . condition = this . settings . default_condition ;
357357
358358 this . trigger ( 'afterAddGroup' , this . model . root ) ;
@@ -397,7 +397,7 @@ QueryBuilder.prototype.addGroup = function(parent, addRule, data, flags) {
397397 var model = parent . addGroup ( $group ) ;
398398
399399 model . data = data ;
400- model . __ . flags = $ . extend ( { } , this . settings . default_group_flags , flags ) ;
400+ model . flags = $ . extend ( { } , this . settings . default_group_flags , flags ) ;
401401 model . condition = this . settings . default_condition ;
402402
403403 /**
@@ -538,11 +538,8 @@ QueryBuilder.prototype.addRule = function(parent, data, flags) {
538538 var $rule = $ ( this . getRuleTemplate ( rule_id ) ) ;
539539 var model = parent . addRule ( $rule ) ;
540540
541- if ( data !== undefined ) {
542- model . data = data ;
543- }
544-
545- model . __ . flags = $ . extend ( { } , this . settings . default_rule_flags , flags ) ;
541+ model . data = data ;
542+ model . flags = $ . extend ( { } , this . settings . default_rule_flags , flags ) ;
546543
547544 /**
548545 * Just after adding a rule
@@ -639,6 +636,8 @@ QueryBuilder.prototype.createRuleFilters = function(rule) {
639636 * @param {Rule } rule
640637 */
641638 this . trigger ( 'afterCreateRuleFilters' , rule ) ;
639+
640+ this . applyRuleFlags ( rule ) ;
642641} ;
643642
644643/**
@@ -677,6 +676,8 @@ QueryBuilder.prototype.createRuleOperators = function(rule) {
677676 * @param {QueryBuilder.Operator[] } operators - allowed operators for this rule
678677 */
679678 this . trigger ( 'afterCreateRuleOperators' , rule , operators ) ;
679+
680+ this . applyRuleFlags ( rule ) ;
680681} ;
681682
682683/**
@@ -735,6 +736,8 @@ QueryBuilder.prototype.createRuleInput = function(rule) {
735736 rule . value = self . getRuleInputValue ( rule ) ;
736737 rule . _updating_value = false ;
737738 }
739+
740+ this . applyRuleFlags ( rule ) ;
738741} ;
739742
740743/**
@@ -846,15 +849,10 @@ QueryBuilder.prototype.applyRuleFlags = function(rule) {
846849 var flags = rule . flags ;
847850 var Selectors = QueryBuilder . selectors ;
848851
849- if ( flags . filter_readonly ) {
850- rule . $el . find ( Selectors . rule_filter ) . prop ( 'disabled' , true ) ;
851- }
852- if ( flags . operator_readonly ) {
853- rule . $el . find ( Selectors . rule_operator ) . prop ( 'disabled' , true ) ;
854- }
855- if ( flags . value_readonly ) {
856- rule . $el . find ( Selectors . rule_value ) . prop ( 'disabled' , true ) ;
857- }
852+ rule . $el . find ( Selectors . rule_filter ) . prop ( 'disabled' , flags . filter_readonly ) ;
853+ rule . $el . find ( Selectors . rule_operator ) . prop ( 'disabled' , flags . operator_readonly ) ;
854+ rule . $el . find ( Selectors . rule_value ) . prop ( 'disabled' , flags . value_readonly ) ;
855+
858856 if ( flags . no_delete ) {
859857 rule . $el . find ( Selectors . delete_rule ) . remove ( ) ;
860858 }
@@ -878,10 +876,9 @@ QueryBuilder.prototype.applyGroupFlags = function(group) {
878876 var flags = group . flags ;
879877 var Selectors = QueryBuilder . selectors ;
880878
881- if ( flags . condition_readonly ) {
882- group . $el . find ( '>' + Selectors . group_condition ) . prop ( 'disabled' , true )
883- . parent ( ) . addClass ( 'readonly' ) ;
884- }
879+ group . $el . find ( '>' + Selectors . group_condition ) . prop ( 'disabled' , flags . condition_readonly )
880+ . parent ( ) . toggleClass ( 'readonly' , flags . condition_readonly ) ;
881+
885882 if ( flags . no_add_rule ) {
886883 group . $el . find ( Selectors . add_rule ) . remove ( ) ;
887884 }
0 commit comments