Добавить пустую группу фильтров - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь добавить группу с пустыми правилами (т. Е. Новая группа имеет только кнопки И / ИЛИ и никаких правил на момент добавления). Я могу загрузить построитель запросов без правил, но не знаю, как этого добиться, когда добавляю группу. Вот ссылка на несколько примеров. Я сделал их основой и модифицировал их для достижения требуемой функциональности.

$(function(){
$('#builder').queryBuilder({

  filters: [{
    id: 'name',
    label: 'Name',
    type: 'string'
  }, {
    id: 'category',
    label: 'Category',
    type: 'integer',
    input: 'select',
    values: {
      1: 'Books',
      2: 'Movies',
      3: 'Music',
      4: 'Tools',
      5: 'Goodies',
      6: 'Clothes'
    },
    operators: ['equal', 'not_equal', 'in', 'not_in', 'is_null', 'is_not_null']
  }, {
    id: 'in_stock',
    label: 'In stock',
    type: 'integer',
    input: 'radio',
    values: {
      1: 'Yes',
      0: 'No'
    },
    operators: ['equal']
  }, {
    id: 'price',
    label: 'Price',
    type: 'double',
    validation: {
      min: 0,
      step: 0.01
    }
  }],

  rules: {
    condition: 'AND',
    rules: []
  }
});
$('#builder').on('afterAddGroup.queryBuilder', function(e, rule, error, 
value) {

   


let builder = $('#builder')[0].queryBuilder;

builder.setRules({condition: 'AND',rules:[]});

  });


})
<!DOCTYPE html>
<html>

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.8.0/js/bootstrap-datepicker.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/jQuery-QueryBuilder/dist/js/query-builder.standalone.min.js"></script>

</head>

<body>

  <div id="builder"></div>

</body>

</html>

Как видите, я слушаю событие afterAddGroup, а затем пытаюсь установить правила для этой конкретной группы, но получаю ошибки.

...