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.
@@ -11121,9 +11121,7 @@ var _typeof = function(object) {
11121
11121
  }
11122
11122
 
11123
11123
  return type.toLowerCase();
11124
- };//
11125
-
11126
- var script$3 = {
11124
+ };var script$3 = {
11127
11125
  name: 'DocForm',
11128
11126
  props: {
11129
11127
  formConfig: Object,
@@ -11196,24 +11194,48 @@ var script$3 = {
11196
11194
  if (field.rules) {
11197
11195
  field.rules.forEach(function (rule) {
11198
11196
  if (rule.event === eventName && rule.script) {
11199
- var ruleContext = UtFormConstructor.getRuleContext();
11200
- ruleContext.form = _this;
11201
- ruleContext.doc = _this.doc;
11202
- ruleContext.event = event;
11203
- ruleContext.eventName = eventName;
11204
- UtFormConstructor.runRule(ruleContext, rule.script);
11197
+ _this.runRule(rule, {
11198
+ event: event,
11199
+ eventName: eventName
11200
+ });
11205
11201
  }
11206
11202
  });
11207
11203
  }
11208
11204
  },
11205
+ onGlobalEventFired: function onGlobalEventFired(eventName, event) {
11206
+ var _this2 = this;
11207
+
11208
+ var fields = UtFormConfig.getFields(this.formConfig);
11209
+ fields.forEach(function (f) {
11210
+ if (f.rules) {
11211
+ f.rules.forEach(function (r) {
11212
+ if (r.event === eventName) {
11213
+ _this2.runRule(r, {
11214
+ event: event,
11215
+ eventName: eventName
11216
+ });
11217
+ }
11218
+ });
11219
+ }
11220
+ });
11221
+ },
11222
+ createRuleContext: function createRuleContext(additionalContext) {
11223
+ return Object.assign(_objectSpread2({
11224
+ form: this,
11225
+ doc: this.doc
11226
+ }, additionalContext), UtFormConstructor.getRuleContext());
11227
+ },
11228
+ runRule: function runRule(rule, context) {
11229
+ UtFormConstructor.runRule(this.createRuleContext(context), rule.script);
11230
+ },
11209
11231
  isValueEmpty: function isValueEmpty(fieldName) {
11210
- var _this$doc$fieldName;
11232
+ var _this$doc$fieldName, _this$doc$fieldName2;
11211
11233
 
11212
- if (this.doc[fieldName] == null) {
11234
+ if (!(this.doc[fieldName] && (_this$doc$fieldName = this.doc[fieldName]) !== null && _this$doc$fieldName !== void 0 && _this$doc$fieldName.length)) {
11213
11235
  return true;
11214
11236
  }
11215
11237
 
11216
- if (!((_this$doc$fieldName = this.doc[fieldName]) !== null && _this$doc$fieldName !== void 0 && _this$doc$fieldName.length)) {
11238
+ if (Array.isArray(this.doc[fieldName]) && !((_this$doc$fieldName2 = this.doc[fieldName]) !== null && _this$doc$fieldName2 !== void 0 && _this$doc$fieldName2.length)) {
11217
11239
  return true;
11218
11240
  }
11219
11241
 
@@ -11231,31 +11253,31 @@ var script$3 = {
11231
11253
  return false;
11232
11254
  },
11233
11255
  validate: function validate() {
11234
- var _this2 = this;
11256
+ var _this3 = this;
11235
11257
 
11236
11258
  this.formConfig.sections.forEach(function (s) {
11237
11259
  s.columns.forEach(function (c) {
11238
11260
  c.fields.forEach(function (f) {
11239
11261
  var feedback = '';
11240
11262
 
11241
- if (f.required && _this2.isValueEmpty(f.name)) {
11263
+ if (f.required && _this3.isValueEmpty(f.name)) {
11242
11264
  feedback += "\u041F\u043E\u043B\u0435 \"".concat(f.labelRu, "\" \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E");
11243
11265
  }
11244
11266
 
11245
- if (f.type === 'integer' && _this2.isValueLessThanMin(f.name, f.input.propsData.min)) {
11267
+ if (f.type === 'integer' && _this3.isValueLessThanMin(f.name, f.input.propsData.min)) {
11246
11268
  feedback += "\n\u041C\u0438\u043D\u0438\u043C\u0430\u043B\u044C\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u043F\u043E\u043B\u044F ".concat(f.input.propsData.min);
11247
11269
  }
11248
11270
 
11249
11271
  if (feedback) {
11250
- Vue__default["default"].set(_this2.validationState, f.name, false);
11251
- Vue__default["default"].set(_this2.validationState, "".concat(f.name, "__feedback"), feedback);
11272
+ Vue__default["default"].set(_this3.validationState, f.name, false);
11273
+ Vue__default["default"].set(_this3.validationState, "".concat(f.name, "__feedback"), feedback);
11252
11274
  } else {
11253
- Vue__default["default"].set(_this2.validationState, f.name, null);
11275
+ Vue__default["default"].set(_this3.validationState, f.name, null);
11254
11276
  }
11255
11277
 
11256
- _this2.onEventFired('validate', {
11257
- validationState: _this2.validationState,
11258
- doc: _this2.doc
11278
+ _this3.onEventFired('validate', {
11279
+ validationState: _this3.validationState,
11280
+ doc: _this3.doc
11259
11281
  }, f);
11260
11282
  });
11261
11283
  });
@@ -11280,7 +11302,7 @@ var script$3 = {
11280
11302
  return colSize;
11281
11303
  },
11282
11304
  execApplyDefaultValues: function execApplyDefaultValues() {
11283
- var _this3 = this;
11305
+ var _this4 = this;
11284
11306
 
11285
11307
  if (this.applyDefaultValues) {
11286
11308
  this.formConfig.sections.forEach(function (r) {
@@ -11289,13 +11311,13 @@ var script$3 = {
11289
11311
  if (f.defaultValue) {
11290
11312
  var defValue;
11291
11313
 
11292
- if (_this3.defaultValue && _typeof(f.defaultValue) === 'function') {
11314
+ if (_this4.defaultValue && _typeof(f.defaultValue) === 'function') {
11293
11315
  defValue = f.defaultValue();
11294
11316
  } else {
11295
11317
  defValue = f.defaultValue == null ? null : f.defaultValue;
11296
11318
  }
11297
11319
 
11298
- _this3.$set(_this3.doc, f.name, f.defaultValue = defValue);
11320
+ _this4.$set(_this4.doc, f.name, f.defaultValue = defValue);
11299
11321
  }
11300
11322
  });
11301
11323
  });
@@ -11303,7 +11325,7 @@ var script$3 = {
11303
11325
  }
11304
11326
  },
11305
11327
  execApplyDefaultValRule: function execApplyDefaultValRule() {
11306
- var _this4 = this;
11328
+ var _this5 = this;
11307
11329
 
11308
11330
  this.formConfig.sections.forEach(function (el) {
11309
11331
  el.columns.forEach(function (c) {
@@ -11314,8 +11336,8 @@ var script$3 = {
11314
11336
  return rule.event === 'defaultValue';
11315
11337
  });
11316
11338
 
11317
- if (rule && !_this4.doc[f.name]) {
11318
- _this4.$set(_this4.doc, f.name, f.defaultValue = eval(rule.script));
11339
+ if (rule && !_this5.doc[f.name]) {
11340
+ _this5.$set(_this5.doc, f.name, f.defaultValue = eval(rule.script));
11319
11341
  }
11320
11342
  }
11321
11343
  }
@@ -11327,10 +11349,12 @@ var script$3 = {
11327
11349
  mounted: function mounted() {
11328
11350
  this.execApplyDefaultValues();
11329
11351
  this.execApplyDefaultValRule();
11352
+ this.onGlobalEventFired('form-mounted', this);
11330
11353
  },
11331
11354
  activated: function activated() {
11332
11355
  this.execApplyDefaultValues();
11333
11356
  this.execApplyDefaultValRule();
11357
+ this.onGlobalEventFired('form-activated', this);
11334
11358
  }
11335
11359
  };/* script */
11336
11360
  var __vue_script__$3 = script$3;
@@ -11361,7 +11385,7 @@ var __vue_render__$3 = function __vue_render__() {
11361
11385
  "sm": 12
11362
11386
  }
11363
11387
  }, [_vm._l(column.fields, function (field) {
11364
- return [_vm._v("\n " + _vm._s(field.valueName) + "\n "), field.visible ? _c('b-form-row', {
11388
+ return [_vm._v("\n " + _vm._s(field.valueName) + "\n "), field.visible ? _c('b-form-row', {
11365
11389
  key: field.name
11366
11390
  }, [_c('b-col', {
11367
11391
  attrs: {
@@ -11432,7 +11456,7 @@ var __vue_inject_styles__$3 = undefined;
11432
11456
  var __vue_scope_id__$3 = undefined;
11433
11457
  /* module identifier */
11434
11458
 
11435
- var __vue_module_identifier__$3 = "data-v-c0aa4900";
11459
+ var __vue_module_identifier__$3 = "data-v-5eb916d5";
11436
11460
  /* functional template */
11437
11461
 
11438
11462
  var __vue_is_functional_template__$3 = false;
@@ -11657,10 +11681,10 @@ var __vue_render__$2 = function __vue_render__() {
11657
11681
  scopedSlots: _vm._u([{
11658
11682
  key: "description",
11659
11683
  fn: function fn() {
11660
- return [_vm._v("\n Выберите готовое правило из списка и если нужно, измените\n ")];
11684
+ return [_vm._v("\n Выберите готовое правило из списка и если нужно, измените\n ")];
11661
11685
  },
11662
11686
  proxy: true
11663
- }], null, false, 3419583775)
11687
+ }], null, false, 1926378271)
11664
11688
  }, [_vm._v(" "), _c('b-form-select', {
11665
11689
  on: {
11666
11690
  "input": function input($event) {
@@ -11673,7 +11697,7 @@ var __vue_render__$2 = function __vue_render__() {
11673
11697
  attrs: {
11674
11698
  "value": r.name
11675
11699
  }
11676
- }, [_vm._v("\n " + _vm._s(r.labelRu) + " (" + _vm._s(r.name) + ")\n ")]);
11700
+ }, [_vm._v("\n " + _vm._s(r.labelRu) + " (" + _vm._s(r.name) + ")\n ")]);
11677
11701
  }), 1)], 1) : _vm._e()], 1), _vm._v(" "), _c('b-col', {
11678
11702
  attrs: {
11679
11703
  "lg": "12"
@@ -11685,10 +11709,10 @@ var __vue_render__$2 = function __vue_render__() {
11685
11709
  scopedSlots: _vm._u([{
11686
11710
  key: "description",
11687
11711
  fn: function fn() {
11688
- return [_vm._v("\n Задайте уникальное название, чтобы отличать правило в списке\n ")];
11712
+ return [_vm._v("\n Задайте уникальное название, чтобы отличать правило в списке\n ")];
11689
11713
  },
11690
11714
  proxy: true
11691
- }], null, false, 3665649506)
11715
+ }], null, false, 2943614562)
11692
11716
  }, [_vm._v(" "), _c('b-form-input', {
11693
11717
  attrs: {
11694
11718
  "state": _vm.state.name,
@@ -11712,10 +11736,10 @@ var __vue_render__$2 = function __vue_render__() {
11712
11736
  scopedSlots: _vm._u([{
11713
11737
  key: "description",
11714
11738
  fn: function fn() {
11715
- return [_vm._v("\n При возникновении этого события будет выполняться правило\n ")];
11739
+ return [_vm._v("\n При возникновении этого события будет выполняться правило\n ")];
11716
11740
  },
11717
11741
  proxy: true
11718
- }], null, false, 1461632685)
11742
+ }], null, false, 2258732973)
11719
11743
  }, [_vm._v(" "), _c('b-form-select', {
11720
11744
  attrs: {
11721
11745
  "state": _vm.state.event,
@@ -11732,23 +11756,31 @@ var __vue_render__$2 = function __vue_render__() {
11732
11756
  attrs: {
11733
11757
  "value": 'input'
11734
11758
  }
11735
- }, [_vm._v("\n Ввод значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11759
+ }, [_vm._v("\n Ввод значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11736
11760
  attrs: {
11737
11761
  "value": 'change'
11738
11762
  }
11739
- }, [_vm._v("\n Изменение значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11763
+ }, [_vm._v("\n Изменение значения\n ")]), _vm._v(" "), _c('b-form-select-option', {
11740
11764
  attrs: {
11741
11765
  "value": 'click'
11742
11766
  }
11743
- }, [_vm._v("\n Клик\n ")]), _vm._v(" "), _c('b-form-select-option', {
11767
+ }, [_vm._v("\n Клик\n ")]), _vm._v(" "), _c('b-form-select-option', {
11744
11768
  attrs: {
11745
11769
  "value": 'validate'
11746
11770
  }
11747
- }, [_vm._v("\n Валидация\n ")]), _vm._v(" "), _c('b-form-select-option', {
11771
+ }, [_vm._v("\n Валидация\n ")]), _vm._v(" "), _c('b-form-select-option', {
11748
11772
  attrs: {
11749
11773
  "value": 'defaultValue'
11750
11774
  }
11751
- }, [_vm._v("\n Установить значение по умолчанию\n ")])], 1)], 1)], 1), _vm._v(" "), _c('b-col', {
11775
+ }, [_vm._v("\n Установить значение по умолчанию\n ")]), _vm._v(" "), _c('b-form-select-option', {
11776
+ attrs: {
11777
+ "value": 'form-mounted'
11778
+ }
11779
+ }, [_vm._v("\n Форма создана\n ")]), _vm._v(" "), _c('b-form-select-option', {
11780
+ attrs: {
11781
+ "value": 'form-activated'
11782
+ }
11783
+ }, [_vm._v("\n Форма показана\n ")])], 1)], 1)], 1), _vm._v(" "), _c('b-col', {
11752
11784
  attrs: {
11753
11785
  "lg": "12"
11754
11786
  }
@@ -11759,10 +11791,10 @@ var __vue_render__$2 = function __vue_render__() {
11759
11791
  scopedSlots: _vm._u([{
11760
11792
  key: "description",
11761
11793
  fn: function fn() {
11762
- return [_vm._v("\n Здесь указывается скрипт правила. Скрипт должен быть написан на языке\n javascript\n ")];
11794
+ return [_vm._v("\n Здесь указывается скрипт правила. Скрипт должен быть написан на языке\n javascript\n ")];
11763
11795
  },
11764
11796
  proxy: true
11765
- }], null, false, 2031959747)
11797
+ }], null, false, 2149825091)
11766
11798
  }, [_vm._v(" "), _c('div', {
11767
11799
  staticClass: "rb-script-input"
11768
11800
  }, [_c('b-button-toolbar', [_c('b-dropdown', {
@@ -11778,19 +11810,19 @@ var __vue_render__$2 = function __vue_render__() {
11778
11810
  return _vm.addVariableToScript('doc');
11779
11811
  }
11780
11812
  }
11781
- }, [_vm._v("\n Документ\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11813
+ }, [_vm._v("\n Документ\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11782
11814
  on: {
11783
11815
  "click": function click($event) {
11784
11816
  return _vm.addVariableToScript('form');
11785
11817
  }
11786
11818
  }
11787
- }, [_vm._v("\n Форма\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11819
+ }, [_vm._v("\n Форма\n ")]), _vm._v(" "), _c('b-dropdown-item', {
11788
11820
  on: {
11789
11821
  "click": function click($event) {
11790
11822
  return _vm.addVariableToScript('event');
11791
11823
  }
11792
11824
  }
11793
- }, [_vm._v("\n Значение события\n ")])], 1), _vm._v(" "), _c('b-dropdown', {
11825
+ }, [_vm._v("\n Значение события\n ")])], 1), _vm._v(" "), _c('b-dropdown', {
11794
11826
  staticClass: "mx-1",
11795
11827
  attrs: {
11796
11828
  "text": "Задать значение",
@@ -11805,7 +11837,7 @@ var __vue_render__$2 = function __vue_render__() {
11805
11837
  return _vm.addSetVariableToScript(f);
11806
11838
  }
11807
11839
  }
11808
- }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11840
+ }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11809
11841
  }), 1), _vm._v(" "), _c('b-dropdown', {
11810
11842
  staticClass: "mx-1",
11811
11843
  attrs: {
@@ -11821,7 +11853,7 @@ var __vue_render__$2 = function __vue_render__() {
11821
11853
  return _vm.addCallInputFunction(f);
11822
11854
  }
11823
11855
  }
11824
- }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11856
+ }, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
11825
11857
  }), 1)], 1), _vm._v(" "), _c('b-form-textarea', {
11826
11858
  ref: "scriptInput",
11827
11859
  attrs: {
@@ -11856,7 +11888,7 @@ var __vue_inject_styles__$2 = undefined;
11856
11888
  var __vue_scope_id__$2 = undefined;
11857
11889
  /* module identifier */
11858
11890
 
11859
- var __vue_module_identifier__$2 = "data-v-2b82f62a";
11891
+ var __vue_module_identifier__$2 = "data-v-6df2f273";
11860
11892
  /* functional template */
11861
11893
 
11862
11894
  var __vue_is_functional_template__$2 = false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rb-document-form-constructor",
3
- "version": "0.8.38",
3
+ "version": "0.8.40",
4
4
  "description": "",
5
5
  "main": "dist/rb-document-form-constructor.ssr.js",
6
6
  "browser": "dist/rb-document-form-constructor.esm.js",