rb-document-form-constructor 0.8.38 → 0.8.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11180,25 +11180,51 @@ var script$3 = {
11180
11180
  if (field.rules) {
11181
11181
  field.rules.forEach(rule => {
11182
11182
  if (rule.event === eventName && rule.script) {
11183
- let ruleContext = UtFormConstructor.getRuleContext();
11184
- ruleContext.form = this;
11185
- ruleContext.doc = this.doc;
11186
- ruleContext.event = event;
11187
- ruleContext.eventName = eventName;
11188
- UtFormConstructor.runRule(ruleContext, rule.script);
11183
+ this.runRule(rule, {
11184
+ event,
11185
+ eventName
11186
+ });
11189
11187
  }
11190
11188
  });
11191
11189
  }
11192
11190
  },
11193
11191
 
11192
+ onGlobalEventFired(eventName, event) {
11193
+ let fields = UtFormConfig.getFields(this.formConfig);
11194
+ fields.forEach(f => {
11195
+ if (f.rules) {
11196
+ f.rules.forEach(r => {
11197
+ if (r.event === eventName) {
11198
+ this.runRule(r, {
11199
+ event,
11200
+ eventName
11201
+ });
11202
+ }
11203
+ });
11204
+ }
11205
+ });
11206
+ },
11207
+
11208
+ createRuleContext(additionalContext) {
11209
+ return Object.assign({
11210
+ form: this,
11211
+ doc: this.doc,
11212
+ ...additionalContext
11213
+ }, UtFormConstructor.getRuleContext());
11214
+ },
11215
+
11216
+ runRule(rule, context) {
11217
+ UtFormConstructor.runRule(this.createRuleContext(context), rule.script);
11218
+ },
11219
+
11194
11220
  isValueEmpty(fieldName) {
11195
- var _this$doc$fieldName;
11221
+ var _this$doc$fieldName, _this$doc$fieldName2;
11196
11222
 
11197
- if (this.doc[fieldName] == null) {
11223
+ if (!(this.doc[fieldName] && (_this$doc$fieldName = this.doc[fieldName]) !== null && _this$doc$fieldName !== void 0 && _this$doc$fieldName.length)) {
11198
11224
  return true;
11199
11225
  }
11200
11226
 
11201
- if (!((_this$doc$fieldName = this.doc[fieldName]) !== null && _this$doc$fieldName !== void 0 && _this$doc$fieldName.length)) {
11227
+ if (Array.isArray(this.doc[fieldName]) && !((_this$doc$fieldName2 = this.doc[fieldName]) !== null && _this$doc$fieldName2 !== void 0 && _this$doc$fieldName2.length)) {
11202
11228
  return true;
11203
11229
  }
11204
11230
 
@@ -11311,11 +11337,13 @@ var script$3 = {
11311
11337
  mounted() {
11312
11338
  this.execApplyDefaultValues();
11313
11339
  this.execApplyDefaultValRule();
11340
+ this.onGlobalEventFired('form-mounted', this);
11314
11341
  },
11315
11342
 
11316
11343
  activated() {
11317
11344
  this.execApplyDefaultValues();
11318
11345
  this.execApplyDefaultValRule();
11346
+ this.onGlobalEventFired('form-activated', this);
11319
11347
  }
11320
11348
 
11321
11349
  };
@@ -11349,7 +11377,7 @@ var __vue_render__$3 = function () {
11349
11377
  "sm": 12
11350
11378
  }
11351
11379
  }, [_vm._l(column.fields, function (field) {
11352
- return [_vm._v("\n " + _vm._s(field.valueName) + "\n "), field.visible ? _c('b-form-row', {
11380
+ return [_vm._v("\n " + _vm._s(field.valueName) + "\n "), field.visible ? _c('b-form-row', {
11353
11381
  key: field.name
11354
11382
  }, [_c('b-col', {
11355
11383
  attrs: {
@@ -11664,10 +11692,10 @@ var __vue_render__$2 = function () {
11664
11692
  scopedSlots: _vm._u([{
11665
11693
  key: "description",
11666
11694
  fn: function () {
11667
- return [_vm._v("\n Выберите готовое правило из списка и если нужно, измените\n ")];
11695
+ return [_vm._v("\n Выберите готовое правило из списка и если нужно, измените\n ")];
11668
11696
  },
11669
11697
  proxy: true
11670
- }], null, false, 3419583775)
11698
+ }], null, false, 1926378271)
11671
11699
  }, [_vm._v(" "), _c('b-form-select', {
11672
11700
  on: {
11673
11701
  "input": function ($event) {
@@ -11680,7 +11708,7 @@ var __vue_render__$2 = function () {
11680
11708
  attrs: {
11681
11709
  "value": r.name
11682
11710
  }
11683
- }, [_vm._v("\n " + _vm._s(r.labelRu) + " (" + _vm._s(r.name) + ")\n ")]);
11711
+ }, [_vm._v("\n " + _vm._s(r.labelRu) + " (" + _vm._s(r.name) + ")\n ")]);
11684
11712
  }), 1)], 1) : _vm._e()], 1), _vm._v(" "), _c('b-col', {
11685
11713
  attrs: {
11686
11714
  "lg": "12"
@@ -11692,10 +11720,10 @@ var __vue_render__$2 = function () {
11692
11720
  scopedSlots: _vm._u([{
11693
11721
  key: "description",
11694
11722
  fn: function () {
11695
- return [_vm._v("\n Задайте уникальное название, чтобы отличать правило в списке\n ")];
11723
+ return [_vm._v("\n Задайте уникальное название, чтобы отличать правило в списке\n ")];
11696
11724
  },
11697
11725
  proxy: true
11698
- }], null, false, 3665649506)
11726
+ }], null, false, 2943614562)
11699
11727
  }, [_vm._v(" "), _c('b-form-input', {
11700
11728
  attrs: {
11701
11729
  "state": _vm.state.name,
@@ -11719,10 +11747,10 @@ var __vue_render__$2 = function () {
11719
11747
  scopedSlots: _vm._u([{
11720
11748
  key: "description",
11721
11749
  fn: function () {
11722
- return [_vm._v("\n При возникновении этого события будет выполняться правило\n ")];
11750
+ return [_vm._v("\n При возникновении этого события будет выполняться правило\n ")];
11723
11751
  },
11724
11752
  proxy: true
11725
- }], null, false, 1461632685)
11753
+ }], null, false, 2258732973)
11726
11754
  }, [_vm._v(" "), _c('b-form-select', {
11727
11755
  attrs: {
11728
11756
  "state": _vm.state.event,
@@ -11739,23 +11767,31 @@ var __vue_render__$2 = function () {
11739
11767
  attrs: {
11740
11768
  "value": 'input'
11741
11769
  }
11742
- }, [_vm._v("\n Ввод значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11770
+ }, [_vm._v("\n Ввод значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11743
11771
  attrs: {
11744
11772
  "value": 'change'
11745
11773
  }
11746
- }, [_vm._v("\n Изменение значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11774
+ }, [_vm._v("\n Изменение значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11747
11775
  attrs: {
11748
11776
  "value": 'click'
11749
11777
  }
11750
- }, [_vm._v("\n Клик\n ")]), _vm._v(" "), _c('b-form-select-option', {
11778
+ }, [_vm._v("\n Клик\n ")]), _vm._v(" "), _c('b-form-select-option', {
11751
11779
  attrs: {
11752
11780
  "value": 'validate'
11753
11781
  }
11754
- }, [_vm._v("\n Валидация\n ")]), _vm._v(" "), _c('b-form-select-option', {
11782
+ }, [_vm._v("\n Валидация\n ")]), _vm._v(" "), _c('b-form-select-option', {
11755
11783
  attrs: {
11756
11784
  "value": 'defaultValue'
11757
11785
  }
11758
- }, [_vm._v("\n Установить значение по умолчанию\n ")])], 1)], 1)], 1), _vm._v(" "), _c('b-col', {
11786
+ }, [_vm._v("\n Установить значение по умолчанию\n ")]), _vm._v(" "), _c('b-form-select-option', {
11787
+ attrs: {
11788
+ "value": 'form-mounted'
11789
+ }
11790
+ }, [_vm._v("\n Форма создана\n ")]), _vm._v(" "), _c('b-form-select-option', {
11791
+ attrs: {
11792
+ "value": 'form-activated'
11793
+ }
11794
+ }, [_vm._v("\n Форма показана\n ")])], 1)], 1)], 1), _vm._v(" "), _c('b-col', {
11759
11795
  attrs: {
11760
11796
  "lg": "12"
11761
11797
  }
@@ -11766,10 +11802,10 @@ var __vue_render__$2 = function () {
11766
11802
  scopedSlots: _vm._u([{
11767
11803
  key: "description",
11768
11804
  fn: function () {
11769
- return [_vm._v("\n Здесь указывается скрипт правила. Скрипт должен быть написан на языке\n javascript\n ")];
11805
+ return [_vm._v("\n Здесь указывается скрипт правила. Скрипт должен быть написан на языке\n javascript\n ")];
11770
11806
  },
11771
11807
  proxy: true
11772
- }], null, false, 2031959747)
11808
+ }], null, false, 2149825091)
11773
11809
  }, [_vm._v(" "), _c('div', {
11774
11810
  staticClass: "rb-script-input"
11775
11811
  }, [_c('b-button-toolbar', [_c('b-dropdown', {
@@ -11785,19 +11821,19 @@ var __vue_render__$2 = function () {
11785
11821
  return _vm.addVariableToScript('doc');
11786
11822
  }
11787
11823
  }
11788
- }, [_vm._v("\n Документ\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11824
+ }, [_vm._v("\n Документ\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11789
11825
  on: {
11790
11826
  "click": function ($event) {
11791
11827
  return _vm.addVariableToScript('form');
11792
11828
  }
11793
11829
  }
11794
- }, [_vm._v("\n Форма\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11830
+ }, [_vm._v("\n Форма\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11795
11831
  on: {
11796
11832
  "click": function ($event) {
11797
11833
  return _vm.addVariableToScript('event');
11798
11834
  }
11799
11835
  }
11800
- }, [_vm._v("\n Значение события\n ")])], 1), _vm._v(" "), _c('b-dropdown', {
11836
+ }, [_vm._v("\n Значение события\n ")])], 1), _vm._v(" "), _c('b-dropdown', {
11801
11837
  staticClass: "mx-1",
11802
11838
  attrs: {
11803
11839
  "text": "Задать значение",
@@ -11812,7 +11848,7 @@ var __vue_render__$2 = function () {
11812
11848
  return _vm.addSetVariableToScript(f);
11813
11849
  }
11814
11850
  }
11815
- }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11851
+ }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11816
11852
  }), 1), _vm._v(" "), _c('b-dropdown', {
11817
11853
  staticClass: "mx-1",
11818
11854
  attrs: {
@@ -11828,7 +11864,7 @@ var __vue_render__$2 = function () {
11828
11864
  return _vm.addCallInputFunction(f);
11829
11865
  }
11830
11866
  }
11831
- }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11867
+ }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11832
11868
  }), 1)], 1), _vm._v(" "), _c('b-form-textarea', {
11833
11869
  ref: "scriptInput",
11834
11870
  attrs: {