rb-document-form-constructor 0.1.7 → 0.2.1
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.
- package/dist/rb-document-form-constructor.esm.js +202 -192
- package/dist/rb-document-form-constructor.min.js +2 -2
- package/dist/rb-document-form-constructor.ssr.js +199 -185
- package/dist/scss/components/_doc-template-constructor.scss +5 -2
- package/package.json +1 -1
- package/src/components/DocForm.vue +1 -0
- package/src/components/FieldRuleFormModal.vue +18 -12
|
@@ -469,7 +469,14 @@ var UtFormConstructor = {
|
|
|
469
469
|
return this.config.ruleContext;
|
|
470
470
|
},
|
|
471
471
|
runRule: function runRule(context, script) {
|
|
472
|
-
|
|
472
|
+
context = context ? context : {};
|
|
473
|
+
var appendScript = '';
|
|
474
|
+
|
|
475
|
+
for (var v in context) {
|
|
476
|
+
appendScript = appendScript + "var ".concat(v, " = this.").concat(v, ";\n");
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
appendScript = appendScript ? appendScript + '\n' : '';
|
|
473
480
|
|
|
474
481
|
var func = function func(script) {
|
|
475
482
|
return eval(script);
|
|
@@ -6307,6 +6314,151 @@ function stringify(arr, offset = 0) {
|
|
|
6307
6314
|
return stringify(rnds);
|
|
6308
6315
|
}//
|
|
6309
6316
|
var script$3 = {
|
|
6317
|
+
name: 'DocForm',
|
|
6318
|
+
props: {
|
|
6319
|
+
formConfig: Object,
|
|
6320
|
+
applyDefaultValues: {
|
|
6321
|
+
type: Boolean,
|
|
6322
|
+
default: true
|
|
6323
|
+
},
|
|
6324
|
+
doc: {
|
|
6325
|
+
type: Object,
|
|
6326
|
+
default: function _default() {
|
|
6327
|
+
return {};
|
|
6328
|
+
}
|
|
6329
|
+
},
|
|
6330
|
+
validationState: {
|
|
6331
|
+
type: Object,
|
|
6332
|
+
default: function _default() {
|
|
6333
|
+
return {};
|
|
6334
|
+
}
|
|
6335
|
+
}
|
|
6336
|
+
},
|
|
6337
|
+
methods: {
|
|
6338
|
+
onEventFired: function onEventFired(eventName, event, field) {
|
|
6339
|
+
var _this = this;
|
|
6340
|
+
|
|
6341
|
+
if (field.rules) {
|
|
6342
|
+
field.rules.forEach(function (rule) {
|
|
6343
|
+
if (rule.event === eventName && rule.script) {
|
|
6344
|
+
var ruleContext = UtFormConstructor.getRuleContext();
|
|
6345
|
+
ruleContext.form = _this;
|
|
6346
|
+
ruleContext.doc = _this.doc;
|
|
6347
|
+
ruleContext.event = event;
|
|
6348
|
+
ruleContext.eventName = eventName;
|
|
6349
|
+
UtFormConstructor.runRule(ruleContext, rule.script);
|
|
6350
|
+
}
|
|
6351
|
+
});
|
|
6352
|
+
}
|
|
6353
|
+
}
|
|
6354
|
+
},
|
|
6355
|
+
created: function created() {
|
|
6356
|
+
var _this2 = this;
|
|
6357
|
+
|
|
6358
|
+
if (this.applyDefaultValues) {
|
|
6359
|
+
this.formConfig.sections.forEach(function (r) {
|
|
6360
|
+
r.columns.forEach(function (c) {
|
|
6361
|
+
c.fields.forEach(function (f) {
|
|
6362
|
+
_this2.$set(_this2.doc, f.name, f.defaultValue == null ? null : f.defaultValue);
|
|
6363
|
+
});
|
|
6364
|
+
});
|
|
6365
|
+
});
|
|
6366
|
+
}
|
|
6367
|
+
}
|
|
6368
|
+
};/* script */
|
|
6369
|
+
var __vue_script__$3 = script$3;
|
|
6370
|
+
/* template */
|
|
6371
|
+
|
|
6372
|
+
var __vue_render__$3 = function __vue_render__() {
|
|
6373
|
+
var _vm = this;
|
|
6374
|
+
|
|
6375
|
+
var _h = _vm.$createElement;
|
|
6376
|
+
|
|
6377
|
+
var _c = _vm._self._c || _h;
|
|
6378
|
+
|
|
6379
|
+
return _c('b-form', {
|
|
6380
|
+
staticClass: "rb-doc-form"
|
|
6381
|
+
}, _vm._l(_vm.formConfig.sections, function (section) {
|
|
6382
|
+
return _c('div', {
|
|
6383
|
+
key: section.labelRu,
|
|
6384
|
+
staticClass: "rb-form-section"
|
|
6385
|
+
}, [_c('h4', [_vm._v(_vm._s(section.labelRu))]), _vm._v(" "), _c('div', {
|
|
6386
|
+
staticClass: "d-flex flex-row"
|
|
6387
|
+
}, _vm._l(section.columns, function (column) {
|
|
6388
|
+
return _c('div', {
|
|
6389
|
+
key: column.index,
|
|
6390
|
+
staticClass: "rb-form-column"
|
|
6391
|
+
}, [_vm._l(column.fields, function (field) {
|
|
6392
|
+
return [field.visible ? _c('b-form-row', {
|
|
6393
|
+
key: field.name
|
|
6394
|
+
}, [_c('b-col', {
|
|
6395
|
+
attrs: {
|
|
6396
|
+
"lg": "12"
|
|
6397
|
+
}
|
|
6398
|
+
}, [_c('b-form-group', {
|
|
6399
|
+
ref: "inputContainer",
|
|
6400
|
+
refInFor: true,
|
|
6401
|
+
attrs: {
|
|
6402
|
+
"label": field.labelRu
|
|
6403
|
+
}
|
|
6404
|
+
}, [_c(field.input.type, _vm._b({
|
|
6405
|
+
ref: field.name,
|
|
6406
|
+
refInFor: true,
|
|
6407
|
+
tag: "component",
|
|
6408
|
+
attrs: {
|
|
6409
|
+
"disabled": !field.editable,
|
|
6410
|
+
"state": _vm.validationState[field.name]
|
|
6411
|
+
},
|
|
6412
|
+
on: {
|
|
6413
|
+
"input": function input($event) {
|
|
6414
|
+
return _vm.onEventFired('input', $event, field);
|
|
6415
|
+
},
|
|
6416
|
+
"change": function change($event) {
|
|
6417
|
+
return _vm.onEventFired('change', $event, field);
|
|
6418
|
+
},
|
|
6419
|
+
"click": function click($event) {
|
|
6420
|
+
return _vm.onEventFired('click', $event, field);
|
|
6421
|
+
}
|
|
6422
|
+
},
|
|
6423
|
+
model: {
|
|
6424
|
+
value: _vm.doc[field.name],
|
|
6425
|
+
callback: function callback($$v) {
|
|
6426
|
+
_vm.$set(_vm.doc, field.name, $$v);
|
|
6427
|
+
},
|
|
6428
|
+
expression: "doc[field.name]"
|
|
6429
|
+
}
|
|
6430
|
+
}, 'component', field.input.propsData, false))], 1)], 1)], 1) : _vm._e()];
|
|
6431
|
+
})], 2);
|
|
6432
|
+
}), 0)]);
|
|
6433
|
+
}), 0);
|
|
6434
|
+
};
|
|
6435
|
+
|
|
6436
|
+
var __vue_staticRenderFns__$3 = [];
|
|
6437
|
+
/* style */
|
|
6438
|
+
|
|
6439
|
+
var __vue_inject_styles__$3 = undefined;
|
|
6440
|
+
/* scoped */
|
|
6441
|
+
|
|
6442
|
+
var __vue_scope_id__$3 = undefined;
|
|
6443
|
+
/* module identifier */
|
|
6444
|
+
|
|
6445
|
+
var __vue_module_identifier__$3 = "data-v-c3fb224c";
|
|
6446
|
+
/* functional template */
|
|
6447
|
+
|
|
6448
|
+
var __vue_is_functional_template__$3 = false;
|
|
6449
|
+
/* style inject */
|
|
6450
|
+
|
|
6451
|
+
/* style inject SSR */
|
|
6452
|
+
|
|
6453
|
+
/* style inject shadow dom */
|
|
6454
|
+
|
|
6455
|
+
var __vue_component__$4 = /*#__PURE__*/normalizeComponent({
|
|
6456
|
+
render: __vue_render__$3,
|
|
6457
|
+
staticRenderFns: __vue_staticRenderFns__$3
|
|
6458
|
+
}, __vue_inject_styles__$3, __vue_script__$3, __vue_scope_id__$3, __vue_is_functional_template__$3, __vue_module_identifier__$3, false, undefined, undefined, undefined);
|
|
6459
|
+
|
|
6460
|
+
var DocForm = __vue_component__$4;//
|
|
6461
|
+
var script$2 = {
|
|
6310
6462
|
name: 'FieldRuleFormModal',
|
|
6311
6463
|
components: {
|
|
6312
6464
|
DocForm: DocForm
|
|
@@ -6412,18 +6564,23 @@ var script$3 = {
|
|
|
6412
6564
|
this.innerRule = null;
|
|
6413
6565
|
},
|
|
6414
6566
|
addVariableToScript: function addVariableToScript(varName) {
|
|
6415
|
-
var
|
|
6416
|
-
|
|
6567
|
+
var caretPosition = this.$refs.scriptInput.selectionStart;
|
|
6568
|
+
this.insertTextToScript(varName, caretPosition);
|
|
6417
6569
|
},
|
|
6418
6570
|
addSetVariableToScript: function addSetVariableToScript(field) {
|
|
6419
|
-
var
|
|
6420
|
-
|
|
6421
|
-
r.script = r.script ? r.script + setVariableScript : setVariableScript;
|
|
6571
|
+
var caretPosition = this.$refs.scriptInput.selectionStart;
|
|
6572
|
+
this.insertTextToScript("doc['".concat(field.name, "'] = \u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435;"), caretPosition);
|
|
6422
6573
|
},
|
|
6423
6574
|
addCallInputFunction: function addCallInputFunction(field) {
|
|
6424
|
-
var
|
|
6425
|
-
|
|
6426
|
-
|
|
6575
|
+
var caretPosition = this.$refs.scriptInput.selectionStart;
|
|
6576
|
+
this.insertTextToScript("form.$refs['".concat(field.name, "'][0].\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0444\u0443\u043D\u043A\u0446\u0438\u0438();"), caretPosition);
|
|
6577
|
+
},
|
|
6578
|
+
insertTextToScript: function insertTextToScript(text, position) {
|
|
6579
|
+
position = position != null ? position : this.script.length;
|
|
6580
|
+
this.innerRule.script = this.innerRule.script != null ? this.innerRule.script : '';
|
|
6581
|
+
var scriptSplit = this.innerRule.script.split('');
|
|
6582
|
+
scriptSplit.splice(position, 0, text);
|
|
6583
|
+
this.innerRule.script = scriptSplit.join('');
|
|
6427
6584
|
},
|
|
6428
6585
|
onRuleSelected: function onRuleSelected(ruleName) {
|
|
6429
6586
|
var rule = this.rulePresets.find(function (rule) {
|
|
@@ -6457,10 +6614,10 @@ var script$3 = {
|
|
|
6457
6614
|
this.copyToInnerFormConfig();
|
|
6458
6615
|
}
|
|
6459
6616
|
};/* script */
|
|
6460
|
-
var __vue_script__$
|
|
6617
|
+
var __vue_script__$2 = script$2;
|
|
6461
6618
|
/* template */
|
|
6462
6619
|
|
|
6463
|
-
var __vue_render__$
|
|
6620
|
+
var __vue_render__$2 = function __vue_render__() {
|
|
6464
6621
|
var _vm = this;
|
|
6465
6622
|
|
|
6466
6623
|
var _h = _vm.$createElement;
|
|
@@ -6526,7 +6683,7 @@ var __vue_render__$3 = function __vue_render__() {
|
|
|
6526
6683
|
attrs: {
|
|
6527
6684
|
"value": r.name
|
|
6528
6685
|
}
|
|
6529
|
-
}, [_vm._v("\n " + _vm._s(r.name) + "\n ")]);
|
|
6686
|
+
}, [_vm._v("\n " + _vm._s(r.labelRu) + " (" + _vm._s(r.name) + ")\n ")]);
|
|
6530
6687
|
}), 1)], 1) : _vm._e()], 1), _vm._v(" "), _c('b-col', {
|
|
6531
6688
|
attrs: {
|
|
6532
6689
|
"lg": "12"
|
|
@@ -6650,7 +6807,7 @@ var __vue_render__$3 = function __vue_render__() {
|
|
|
6650
6807
|
return _vm.addSetVariableToScript(f);
|
|
6651
6808
|
}
|
|
6652
6809
|
}
|
|
6653
|
-
}, [_vm._v("\n " + _vm._s(f.name) + "\n ")]) : _vm._e();
|
|
6810
|
+
}, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
|
|
6654
6811
|
}), 1), _vm._v(" "), _c('b-dropdown', {
|
|
6655
6812
|
staticClass: "mx-1",
|
|
6656
6813
|
attrs: {
|
|
@@ -6666,8 +6823,9 @@ var __vue_render__$3 = function __vue_render__() {
|
|
|
6666
6823
|
return _vm.addCallInputFunction(f);
|
|
6667
6824
|
}
|
|
6668
6825
|
}
|
|
6669
|
-
}, [_vm._v("\n " + _vm._s(f.name) + "\n ")]) : _vm._e();
|
|
6826
|
+
}, [_vm._v("\n " + _vm._s(f.labelRu) + " (" + _vm._s(f.name) + ")\n ")]) : _vm._e();
|
|
6670
6827
|
}), 1)], 1), _vm._v(" "), _c('b-form-textarea', {
|
|
6828
|
+
ref: "scriptInput",
|
|
6671
6829
|
attrs: {
|
|
6672
6830
|
"state": _vm.state.script,
|
|
6673
6831
|
"invalid-feedback": _vm.state.script_feedback,
|
|
@@ -6691,31 +6849,31 @@ var __vue_render__$3 = function __vue_render__() {
|
|
|
6691
6849
|
})], 1) : _vm._e()], 1)], 1)], 1);
|
|
6692
6850
|
};
|
|
6693
6851
|
|
|
6694
|
-
var __vue_staticRenderFns__$
|
|
6852
|
+
var __vue_staticRenderFns__$2 = [];
|
|
6695
6853
|
/* style */
|
|
6696
6854
|
|
|
6697
|
-
var __vue_inject_styles__$
|
|
6855
|
+
var __vue_inject_styles__$2 = undefined;
|
|
6698
6856
|
/* scoped */
|
|
6699
6857
|
|
|
6700
|
-
var __vue_scope_id__$
|
|
6858
|
+
var __vue_scope_id__$2 = undefined;
|
|
6701
6859
|
/* module identifier */
|
|
6702
6860
|
|
|
6703
|
-
var __vue_module_identifier__$
|
|
6861
|
+
var __vue_module_identifier__$2 = "data-v-3e86235a";
|
|
6704
6862
|
/* functional template */
|
|
6705
6863
|
|
|
6706
|
-
var __vue_is_functional_template__$
|
|
6864
|
+
var __vue_is_functional_template__$2 = false;
|
|
6707
6865
|
/* style inject */
|
|
6708
6866
|
|
|
6709
6867
|
/* style inject SSR */
|
|
6710
6868
|
|
|
6711
6869
|
/* style inject shadow dom */
|
|
6712
6870
|
|
|
6713
|
-
var __vue_component__$
|
|
6714
|
-
render: __vue_render__$
|
|
6715
|
-
staticRenderFns: __vue_staticRenderFns__$
|
|
6716
|
-
}, __vue_inject_styles__$
|
|
6871
|
+
var __vue_component__$3 = /*#__PURE__*/normalizeComponent({
|
|
6872
|
+
render: __vue_render__$2,
|
|
6873
|
+
staticRenderFns: __vue_staticRenderFns__$2
|
|
6874
|
+
}, __vue_inject_styles__$2, __vue_script__$2, __vue_scope_id__$2, __vue_is_functional_template__$2, __vue_module_identifier__$2, false, undefined, undefined, undefined);
|
|
6717
6875
|
|
|
6718
|
-
var FieldRuleFormModal = __vue_component__$
|
|
6876
|
+
var FieldRuleFormModal = __vue_component__$3;var script$1 = {
|
|
6719
6877
|
name: 'DocTemplateFieldSidebar',
|
|
6720
6878
|
components: {
|
|
6721
6879
|
FieldRuleFormModal: FieldRuleFormModal
|
|
@@ -6855,10 +7013,10 @@ var FieldRuleFormModal = __vue_component__$4;var script$2 = {
|
|
|
6855
7013
|
}
|
|
6856
7014
|
}
|
|
6857
7015
|
};/* script */
|
|
6858
|
-
var __vue_script__$
|
|
7016
|
+
var __vue_script__$1 = script$1;
|
|
6859
7017
|
/* template */
|
|
6860
7018
|
|
|
6861
|
-
var __vue_render__$
|
|
7019
|
+
var __vue_render__$1 = function __vue_render__() {
|
|
6862
7020
|
var _vm = this;
|
|
6863
7021
|
|
|
6864
7022
|
var _h = _vm.$createElement;
|
|
@@ -7118,31 +7276,31 @@ var __vue_render__$2 = function __vue_render__() {
|
|
|
7118
7276
|
})], 1);
|
|
7119
7277
|
};
|
|
7120
7278
|
|
|
7121
|
-
var __vue_staticRenderFns__$
|
|
7279
|
+
var __vue_staticRenderFns__$1 = [];
|
|
7122
7280
|
/* style */
|
|
7123
7281
|
|
|
7124
|
-
var __vue_inject_styles__$
|
|
7282
|
+
var __vue_inject_styles__$1 = undefined;
|
|
7125
7283
|
/* scoped */
|
|
7126
7284
|
|
|
7127
|
-
var __vue_scope_id__$
|
|
7285
|
+
var __vue_scope_id__$1 = undefined;
|
|
7128
7286
|
/* module identifier */
|
|
7129
7287
|
|
|
7130
|
-
var __vue_module_identifier__$
|
|
7288
|
+
var __vue_module_identifier__$1 = "data-v-6fd56ef5";
|
|
7131
7289
|
/* functional template */
|
|
7132
7290
|
|
|
7133
|
-
var __vue_is_functional_template__$
|
|
7291
|
+
var __vue_is_functional_template__$1 = false;
|
|
7134
7292
|
/* style inject */
|
|
7135
7293
|
|
|
7136
7294
|
/* style inject SSR */
|
|
7137
7295
|
|
|
7138
7296
|
/* style inject shadow dom */
|
|
7139
7297
|
|
|
7140
|
-
var __vue_component__$
|
|
7141
|
-
render: __vue_render__$
|
|
7142
|
-
staticRenderFns: __vue_staticRenderFns__$
|
|
7143
|
-
}, __vue_inject_styles__$
|
|
7298
|
+
var __vue_component__$2 = /*#__PURE__*/normalizeComponent({
|
|
7299
|
+
render: __vue_render__$1,
|
|
7300
|
+
staticRenderFns: __vue_staticRenderFns__$1
|
|
7301
|
+
}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);
|
|
7144
7302
|
|
|
7145
|
-
var DocTemplateFieldSidebar = __vue_component__$
|
|
7303
|
+
var DocTemplateFieldSidebar = __vue_component__$2;var script = {
|
|
7146
7304
|
name: 'DocTemplateConstructor',
|
|
7147
7305
|
components: {
|
|
7148
7306
|
DocTemplateFacetList: DocTemplateFacetList,
|
|
@@ -7319,10 +7477,10 @@ var DocTemplateFieldSidebar = __vue_component__$3;var script$1 = {
|
|
|
7319
7477
|
}
|
|
7320
7478
|
}
|
|
7321
7479
|
};/* script */
|
|
7322
|
-
var __vue_script__
|
|
7480
|
+
var __vue_script__ = script;
|
|
7323
7481
|
/* template */
|
|
7324
7482
|
|
|
7325
|
-
var __vue_render__
|
|
7483
|
+
var __vue_render__ = function __vue_render__() {
|
|
7326
7484
|
var _vm = this;
|
|
7327
7485
|
|
|
7328
7486
|
var _h = _vm.$createElement;
|
|
@@ -7545,150 +7703,6 @@ var __vue_render__$1 = function __vue_render__() {
|
|
|
7545
7703
|
})], 2)], 2);
|
|
7546
7704
|
};
|
|
7547
7705
|
|
|
7548
|
-
var __vue_staticRenderFns__$1 = [];
|
|
7549
|
-
/* style */
|
|
7550
|
-
|
|
7551
|
-
var __vue_inject_styles__$1 = undefined;
|
|
7552
|
-
/* scoped */
|
|
7553
|
-
|
|
7554
|
-
var __vue_scope_id__$1 = undefined;
|
|
7555
|
-
/* module identifier */
|
|
7556
|
-
|
|
7557
|
-
var __vue_module_identifier__$1 = "data-v-ed93df10";
|
|
7558
|
-
/* functional template */
|
|
7559
|
-
|
|
7560
|
-
var __vue_is_functional_template__$1 = false;
|
|
7561
|
-
/* style inject */
|
|
7562
|
-
|
|
7563
|
-
/* style inject SSR */
|
|
7564
|
-
|
|
7565
|
-
/* style inject shadow dom */
|
|
7566
|
-
|
|
7567
|
-
var __vue_component__$1 = /*#__PURE__*/normalizeComponent({
|
|
7568
|
-
render: __vue_render__$1,
|
|
7569
|
-
staticRenderFns: __vue_staticRenderFns__$1
|
|
7570
|
-
}, __vue_inject_styles__$1, __vue_script__$1, __vue_scope_id__$1, __vue_is_functional_template__$1, __vue_module_identifier__$1, false, undefined, undefined, undefined);
|
|
7571
|
-
|
|
7572
|
-
var __vue_component__$2 = __vue_component__$1;//
|
|
7573
|
-
var script = {
|
|
7574
|
-
name: 'DocForm',
|
|
7575
|
-
props: {
|
|
7576
|
-
formConfig: Object,
|
|
7577
|
-
applyDefaultValues: {
|
|
7578
|
-
type: Boolean,
|
|
7579
|
-
default: true
|
|
7580
|
-
},
|
|
7581
|
-
doc: {
|
|
7582
|
-
type: Object,
|
|
7583
|
-
default: function _default() {
|
|
7584
|
-
return {};
|
|
7585
|
-
}
|
|
7586
|
-
},
|
|
7587
|
-
validationState: {
|
|
7588
|
-
type: Object,
|
|
7589
|
-
default: function _default() {
|
|
7590
|
-
return {};
|
|
7591
|
-
}
|
|
7592
|
-
}
|
|
7593
|
-
},
|
|
7594
|
-
methods: {
|
|
7595
|
-
onEventFired: function onEventFired(eventName, event, field) {
|
|
7596
|
-
var _this = this;
|
|
7597
|
-
|
|
7598
|
-
if (field.rules) {
|
|
7599
|
-
field.rules.forEach(function (rule) {
|
|
7600
|
-
if (rule.event === eventName && rule.script) {
|
|
7601
|
-
var ruleContext = UtFormConstructor.getRuleContext();
|
|
7602
|
-
ruleContext.form = _this;
|
|
7603
|
-
ruleContext.event = event;
|
|
7604
|
-
ruleContext.eventName = eventName;
|
|
7605
|
-
UtFormConstructor.runRule(ruleContext, rule.script);
|
|
7606
|
-
}
|
|
7607
|
-
});
|
|
7608
|
-
}
|
|
7609
|
-
}
|
|
7610
|
-
},
|
|
7611
|
-
created: function created() {
|
|
7612
|
-
var _this2 = this;
|
|
7613
|
-
|
|
7614
|
-
if (this.applyDefaultValues) {
|
|
7615
|
-
this.formConfig.sections.forEach(function (r) {
|
|
7616
|
-
r.columns.forEach(function (c) {
|
|
7617
|
-
c.fields.forEach(function (f) {
|
|
7618
|
-
_this2.$set(_this2.doc, f.name, f.defaultValue == null ? null : f.defaultValue);
|
|
7619
|
-
});
|
|
7620
|
-
});
|
|
7621
|
-
});
|
|
7622
|
-
}
|
|
7623
|
-
}
|
|
7624
|
-
};/* script */
|
|
7625
|
-
var __vue_script__ = script;
|
|
7626
|
-
/* template */
|
|
7627
|
-
|
|
7628
|
-
var __vue_render__ = function __vue_render__() {
|
|
7629
|
-
var _vm = this;
|
|
7630
|
-
|
|
7631
|
-
var _h = _vm.$createElement;
|
|
7632
|
-
|
|
7633
|
-
var _c = _vm._self._c || _h;
|
|
7634
|
-
|
|
7635
|
-
return _c('b-form', {
|
|
7636
|
-
staticClass: "rb-doc-form"
|
|
7637
|
-
}, _vm._l(_vm.formConfig.sections, function (section) {
|
|
7638
|
-
return _c('div', {
|
|
7639
|
-
key: section.labelRu,
|
|
7640
|
-
staticClass: "rb-form-section"
|
|
7641
|
-
}, [_c('h4', [_vm._v(_vm._s(section.labelRu))]), _vm._v(" "), _c('div', {
|
|
7642
|
-
staticClass: "d-flex flex-row"
|
|
7643
|
-
}, _vm._l(section.columns, function (column) {
|
|
7644
|
-
return _c('div', {
|
|
7645
|
-
key: column.index,
|
|
7646
|
-
staticClass: "rb-form-column"
|
|
7647
|
-
}, [_vm._l(column.fields, function (field) {
|
|
7648
|
-
return [field.visible ? _c('b-form-row', {
|
|
7649
|
-
key: field.name
|
|
7650
|
-
}, [_c('b-col', {
|
|
7651
|
-
attrs: {
|
|
7652
|
-
"lg": "12"
|
|
7653
|
-
}
|
|
7654
|
-
}, [_c('b-form-group', {
|
|
7655
|
-
ref: "inputContainer",
|
|
7656
|
-
refInFor: true,
|
|
7657
|
-
attrs: {
|
|
7658
|
-
"label": field.labelRu
|
|
7659
|
-
}
|
|
7660
|
-
}, [_c(field.input.type, _vm._b({
|
|
7661
|
-
ref: field.name,
|
|
7662
|
-
refInFor: true,
|
|
7663
|
-
tag: "component",
|
|
7664
|
-
attrs: {
|
|
7665
|
-
"disabled": !field.editable,
|
|
7666
|
-
"state": _vm.validationState[field.name]
|
|
7667
|
-
},
|
|
7668
|
-
on: {
|
|
7669
|
-
"input": function input($event) {
|
|
7670
|
-
return _vm.onEventFired('input', $event, field);
|
|
7671
|
-
},
|
|
7672
|
-
"change": function change($event) {
|
|
7673
|
-
return _vm.onEventFired('change', $event, field);
|
|
7674
|
-
},
|
|
7675
|
-
"click": function click($event) {
|
|
7676
|
-
return _vm.onEventFired('click', $event, field);
|
|
7677
|
-
}
|
|
7678
|
-
},
|
|
7679
|
-
model: {
|
|
7680
|
-
value: _vm.doc[field.name],
|
|
7681
|
-
callback: function callback($$v) {
|
|
7682
|
-
_vm.$set(_vm.doc, field.name, $$v);
|
|
7683
|
-
},
|
|
7684
|
-
expression: "doc[field.name]"
|
|
7685
|
-
}
|
|
7686
|
-
}, 'component', field.input.propsData, false))], 1)], 1)], 1) : _vm._e()];
|
|
7687
|
-
})], 2);
|
|
7688
|
-
}), 0)]);
|
|
7689
|
-
}), 0);
|
|
7690
|
-
};
|
|
7691
|
-
|
|
7692
7706
|
var __vue_staticRenderFns__ = [];
|
|
7693
7707
|
/* style */
|
|
7694
7708
|
|
|
@@ -7698,7 +7712,7 @@ var __vue_inject_styles__ = undefined;
|
|
|
7698
7712
|
var __vue_scope_id__ = undefined;
|
|
7699
7713
|
/* module identifier */
|
|
7700
7714
|
|
|
7701
|
-
var __vue_module_identifier__ = "data-v-
|
|
7715
|
+
var __vue_module_identifier__ = "data-v-ed93df10";
|
|
7702
7716
|
/* functional template */
|
|
7703
7717
|
|
|
7704
7718
|
var __vue_is_functional_template__ = false;
|
|
@@ -7713,7 +7727,7 @@ var __vue_component__ = /*#__PURE__*/normalizeComponent({
|
|
|
7713
7727
|
staticRenderFns: __vue_staticRenderFns__
|
|
7714
7728
|
}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);
|
|
7715
7729
|
|
|
7716
|
-
var
|
|
7730
|
+
var __vue_component__$1 = __vue_component__;/* eslint-disable import/prefer-default-export */var components$1=/*#__PURE__*/Object.freeze({__proto__:null,UtFormConfig:UtFormConfig,UtFormConstructor:UtFormConstructor,DocTemplateSectionModal:DocTemplateSectionModal,DocTemplateFacetList:DocTemplateFacetList,DocTemplateFieldSidebar:DocTemplateFieldSidebar,DocTemplateConstructor:__vue_component__$1,FieldRuleFormModal:FieldRuleFormModal,DocForm:DocForm});var install = function installRbDocumentFormConstructor(Vue) {
|
|
7717
7731
|
Object.entries(components$1).forEach(function (_ref) {
|
|
7718
7732
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
7719
7733
|
componentName = _ref2[0],
|
|
@@ -7722,7 +7736,7 @@ var DocForm = __vue_component__;/* eslint-disable import/prefer-default-export *
|
|
|
7722
7736
|
Vue.component(componentName, component);
|
|
7723
7737
|
});
|
|
7724
7738
|
}; // Create module definition for Vue.use()
|
|
7725
|
-
var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':install,UtFormConfig:UtFormConfig,UtFormConstructor:UtFormConstructor,DocTemplateSectionModal:DocTemplateSectionModal,DocTemplateFacetList:DocTemplateFacetList,DocTemplateFieldSidebar:DocTemplateFieldSidebar,DocTemplateConstructor:__vue_component__$
|
|
7739
|
+
var components=/*#__PURE__*/Object.freeze({__proto__:null,'default':install,UtFormConfig:UtFormConfig,UtFormConstructor:UtFormConstructor,DocTemplateSectionModal:DocTemplateSectionModal,DocTemplateFacetList:DocTemplateFacetList,DocTemplateFieldSidebar:DocTemplateFieldSidebar,DocTemplateConstructor:__vue_component__$1,FieldRuleFormModal:FieldRuleFormModal,DocForm:DocForm});// only expose one global var, with component exports exposed as properties of
|
|
7726
7740
|
// that global var (eg. plugin.component)
|
|
7727
7741
|
|
|
7728
7742
|
Object.entries(components).forEach(function (_ref) {
|
|
@@ -98,10 +98,13 @@
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
.rb-form-column
|
|
101
|
+
.rb-form-column {
|
|
102
102
|
padding: 10px;
|
|
103
|
-
margin: 0 10px;
|
|
104
103
|
border: 2px dashed $rb-doc-template-constructor-form-column-border-color;
|
|
105
104
|
}
|
|
105
|
+
|
|
106
|
+
.rb-form-column:not(.rb-single-column) {
|
|
107
|
+
margin: 0 10px;
|
|
108
|
+
}
|
|
106
109
|
}
|
|
107
110
|
}
|
package/package.json
CHANGED
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
if (rule.event === eventName && rule.script) {
|
|
48
48
|
let ruleContext = UtFormConstructor.getRuleContext();
|
|
49
49
|
ruleContext.form = this;
|
|
50
|
+
ruleContext.doc = this.doc;
|
|
50
51
|
ruleContext.event = event;
|
|
51
52
|
ruleContext.eventName = eventName;
|
|
52
53
|
UtFormConstructor.runRule(ruleContext, rule.script);
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
<b-form-select @input="onRuleSelected($event)">
|
|
21
21
|
<b-form-select-option v-for="r in rulePresets" :key="r.name"
|
|
22
22
|
:value="r.name">
|
|
23
|
-
{{r.name}}
|
|
23
|
+
{{r.labelRu}} ({{r.name}})
|
|
24
24
|
</b-form-select-option>
|
|
25
25
|
</b-form-select>
|
|
26
26
|
</b-form-group>
|
|
@@ -80,14 +80,14 @@
|
|
|
80
80
|
size="sm" class="mx-1">
|
|
81
81
|
<b-dropdown-item v-for="f in fields" :key="f.name"
|
|
82
82
|
v-if="fields" @click="addSetVariableToScript(f)">
|
|
83
|
-
{{f.name}}
|
|
83
|
+
{{f.labelRu}} ({{f.name}})
|
|
84
84
|
</b-dropdown-item>
|
|
85
85
|
</b-dropdown>
|
|
86
86
|
<b-dropdown text="Вызвать функцию инпута" variant="outline-secondary"
|
|
87
87
|
size="sm" class="mx-1">
|
|
88
88
|
<b-dropdown-item v-for="f in fields" :key="f.name"
|
|
89
89
|
v-if="fields" @click="addCallInputFunction(f)">
|
|
90
|
-
{{f.name}}
|
|
90
|
+
{{f.labelRu}} ({{f.name}})
|
|
91
91
|
</b-dropdown-item>
|
|
92
92
|
</b-dropdown>
|
|
93
93
|
</b-button-toolbar>
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
:state="state.script"
|
|
96
96
|
:invalid-feedback="state.script_feedback"
|
|
97
97
|
rows="8"
|
|
98
|
+
ref="scriptInput"
|
|
98
99
|
></b-form-textarea>
|
|
99
100
|
</div>
|
|
100
101
|
</b-form-group>
|
|
@@ -112,10 +113,10 @@
|
|
|
112
113
|
</template>
|
|
113
114
|
|
|
114
115
|
<script>
|
|
115
|
-
import {DocForm} from "./index";
|
|
116
116
|
import {UtFormConfig} from "../utils/UtFormConfig";
|
|
117
117
|
import {v4 as uuidv4} from 'uuid';
|
|
118
118
|
import {UtFormConstructor} from "../utils/UtFormConstructor";
|
|
119
|
+
import DocForm from "./DocForm";
|
|
119
120
|
|
|
120
121
|
export default {
|
|
121
122
|
name: 'FieldRuleFormModal',
|
|
@@ -219,18 +220,23 @@
|
|
|
219
220
|
this.innerRule = null;
|
|
220
221
|
},
|
|
221
222
|
addVariableToScript(varName) {
|
|
222
|
-
let
|
|
223
|
-
|
|
223
|
+
let caretPosition = this.$refs.scriptInput.selectionStart;
|
|
224
|
+
this.insertTextToScript(varName, caretPosition);
|
|
224
225
|
},
|
|
225
226
|
addSetVariableToScript(field) {
|
|
226
|
-
let
|
|
227
|
-
|
|
228
|
-
r.script = r.script? r.script + setVariableScript: setVariableScript;
|
|
227
|
+
let caretPosition = this.$refs.scriptInput.selectionStart;
|
|
228
|
+
this.insertTextToScript(`doc['${field.name}'] = Значение;`, caretPosition);
|
|
229
229
|
},
|
|
230
230
|
addCallInputFunction(field) {
|
|
231
|
-
let
|
|
232
|
-
|
|
233
|
-
|
|
231
|
+
let caretPosition = this.$refs.scriptInput.selectionStart;
|
|
232
|
+
this.insertTextToScript(`form.$refs['${field.name}'][0].Название функции();`, caretPosition);
|
|
233
|
+
},
|
|
234
|
+
insertTextToScript(text, position) {
|
|
235
|
+
position = position != null? position: this.script.length;
|
|
236
|
+
this.innerRule.script = this.innerRule.script != null? this.innerRule.script: '';
|
|
237
|
+
let scriptSplit = this.innerRule.script.split('');
|
|
238
|
+
scriptSplit.splice(position, 0, text);
|
|
239
|
+
this.innerRule.script = scriptSplit.join('');
|
|
234
240
|
},
|
|
235
241
|
onRuleSelected(ruleName) {
|
|
236
242
|
let rule = this.rulePresets.find(rule => rule.name === ruleName);
|