@form-create/element-ui 3.1.35 → 3.2.0

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/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # @form-create/element-ui
2
- **form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持5个UI框架,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。**
2
+ **form-create 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的表单生成组件。支持6个UI框架,并且支持生成任何 Vue 组件。内置20种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。**
3
3
 
4
4
  form-create is a form generation component that can generate dynamic rendering, data collection, verification and submission functions through JSON. Supports 5 UI frameworks, and supports the generation of any Vue components. Built-in 20 kinds of commonly used form components and custom components, no matter how complex forms can be easily handled.
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @form-create/element-ui v3.1.35
2
+ * @form-create/element-ui v3.2.0
3
3
  * (c) 2018-2024 xaboy
4
4
  * Github https://github.com/xaboy/form-create
5
5
  * Released under the MIT License.
@@ -209,9 +209,9 @@ function toArray(value) {
209
209
  return Array.isArray(value) ? value : [null, undefined, ''].indexOf(value) > -1 ? [] : [value];
210
210
  }
211
211
 
212
- var NAME$9 = 'fcCheckbox';
212
+ var NAME$8 = 'fcCheckbox';
213
213
  var Checkbox = defineComponent({
214
- name: NAME$9,
214
+ name: NAME$8,
215
215
  inheritAttrs: false,
216
216
  props: {
217
217
  formCreateInject: Object,
@@ -521,9 +521,9 @@ function _isSlot(s) {
521
521
  return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
522
522
  }
523
523
 
524
- var NAME$8 = 'fcFrame';
524
+ var NAME$7 = 'fcFrame';
525
525
  var Frame = defineComponent({
526
- name: NAME$8,
526
+ name: NAME$7,
527
527
  props: {
528
528
  type: {
529
529
  type: String,
@@ -1004,9 +1004,9 @@ var Frame = defineComponent({
1004
1004
  }
1005
1005
  });
1006
1006
 
1007
- var NAME$7 = 'fcRadio';
1007
+ var NAME$6 = 'fcRadio';
1008
1008
  var Radio = defineComponent({
1009
- name: NAME$7,
1009
+ name: NAME$6,
1010
1010
  inheritAttrs: false,
1011
1011
  props: {
1012
1012
  formCreateInject: Object,
@@ -1157,9 +1157,9 @@ function hasProperty(rule, k) {
1157
1157
  return {}.hasOwnProperty.call(rule, k);
1158
1158
  }
1159
1159
 
1160
- var NAME$6 = 'fcSelect';
1160
+ var NAME$5 = 'fcSelect';
1161
1161
  var Select = defineComponent({
1162
- name: NAME$6,
1162
+ name: NAME$5,
1163
1163
  inheritAttrs: false,
1164
1164
  props: {
1165
1165
  formCreateInject: Object,
@@ -1227,9 +1227,9 @@ var Select = defineComponent({
1227
1227
  }
1228
1228
  });
1229
1229
 
1230
- var NAME$5 = 'fcTree';
1230
+ var NAME$4 = 'fcTree';
1231
1231
  var Tree = defineComponent({
1232
- name: NAME$5,
1232
+ name: NAME$4,
1233
1233
  inheritAttrs: false,
1234
1234
  formCreateParser: {
1235
1235
  mergeProp: function mergeProp(ctx) {
@@ -1329,9 +1329,9 @@ function getFileName(file) {
1329
1329
  return ('' + file).split('/').pop();
1330
1330
  }
1331
1331
 
1332
- var NAME$4 = 'fcUpload';
1332
+ var NAME$3 = 'fcUpload';
1333
1333
  var Upload = defineComponent({
1334
- name: NAME$4,
1334
+ name: NAME$3,
1335
1335
  inheritAttrs: false,
1336
1336
  formCreateParser: {
1337
1337
  toFormValue: function toFormValue(value) {
@@ -1523,9 +1523,9 @@ function copy$1(obj) {
1523
1523
  var css_248z$1 = "._fc-group{display:flex;flex-direction:column;justify-content:center;min-height:38px;width:100%}._fc-group-disabled ._fc-group-add,._fc-group-disabled ._fc-group-btn{cursor:not-allowed}._fc-group-handle{background-color:#fff;border:1px dashed #d9d9d9;border-radius:15px;bottom:-15px;display:flex;flex-direction:row;padding:3px 8px;position:absolute;right:30px}._fc-group-btn{cursor:pointer}._fc-group-idx{align-items:center;background:#eee;border-radius:15px;bottom:-15px;display:flex;font-weight:700;height:30px;justify-content:center;left:10px;position:absolute;width:30px}._fc-group-handle ._fc-group-btn+._fc-group-btn{margin-left:7px}._fc-group-container{border:1px dashed #d9d9d9;border-radius:5px;display:flex;flex-direction:column;margin:5px 5px 25px;padding:20px 20px 25px;position:relative}._fc-group-arrow{height:20px;position:relative;width:20px}._fc-group-arrow:before{border-left:2px solid #999;border-top:2px solid #999;content:\"\";height:9px;left:5px;position:absolute;top:8px;transform:rotate(45deg);width:9px}._fc-group-arrow._fc-group-down{transform:rotate(180deg)}._fc-group-plus-minus{cursor:pointer;height:20px;position:relative;width:20px}._fc-group-plus-minus:after,._fc-group-plus-minus:before{background-color:#409eff;content:\"\";height:2px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%}._fc-group-plus-minus:before{transform:translate(-50%,-50%) rotate(90deg)}._fc-group-plus-minus._fc-group-minus:before{display:none}._fc-group-plus-minus._fc-group-minus:after{background-color:#f56c6c}._fc-group-add{border:1px solid rgba(64,158,255,.5);border-radius:15px;cursor:pointer;height:25px;width:25px}._fc-group-add._fc-group-plus-minus:after,._fc-group-add._fc-group-plus-minus:before{width:50%}";
1524
1524
  styleInject(css_248z$1);
1525
1525
 
1526
- var NAME$3 = 'fcGroup';
1526
+ var NAME$2 = 'fcGroup';
1527
1527
  var Group = defineComponent({
1528
- name: NAME$3,
1528
+ name: NAME$2,
1529
1529
  props: {
1530
1530
  field: String,
1531
1531
  rule: Array,
@@ -1935,9 +1935,9 @@ var Group = defineComponent({
1935
1935
  }
1936
1936
  });
1937
1937
 
1938
- var NAME$2 = 'fcSubForm';
1938
+ var NAME$1 = 'fcSubForm';
1939
1939
  var Sub = defineComponent({
1940
- name: NAME$2,
1940
+ name: NAME$1,
1941
1941
  props: {
1942
1942
  rule: Array,
1943
1943
  options: {
@@ -2178,8 +2178,6 @@ function deepSet(data, idx, val) {
2178
2178
  return _data;
2179
2179
  }
2180
2180
 
2181
- var NAME$1 = 'FormCreate';
2182
-
2183
2181
  var getRuleInject = function getRuleInject(vm, parent) {
2184
2182
  if (!vm || vm === parent) {
2185
2183
  return;
@@ -2196,7 +2194,7 @@ var getRuleInject = function getRuleInject(vm, parent) {
2196
2194
 
2197
2195
  function $FormCreate(FormCreate, components, directives) {
2198
2196
  return defineComponent({
2199
- name: NAME$1,
2197
+ name: 'FormCreate' + (FormCreate.isMobile ? 'Mobile' : ''),
2200
2198
  components: components,
2201
2199
  directives: directives,
2202
2200
  props: {
@@ -6202,6 +6200,7 @@ function FormCreateFactory(config) {
6202
6200
  var directives = {};
6203
6201
  var modelFields = {};
6204
6202
  var useApps = [];
6203
+ var listener = [];
6205
6204
  var extendApiFn = [config.extendApi];
6206
6205
 
6207
6206
  var providers = _objectSpread2({}, $provider);
@@ -6213,6 +6212,7 @@ function FormCreateFactory(config) {
6213
6212
  var loadData = reactive({});
6214
6213
  var CreateNode = CreateNodeFactory();
6215
6214
  var formulas = {};
6215
+ var isMobile = config.isMobile === true;
6216
6216
  exportAttrs(config.attrs || {});
6217
6217
 
6218
6218
  function getApi(name) {
@@ -6386,6 +6386,13 @@ function FormCreateFactory(config) {
6386
6386
  _emitData(id);
6387
6387
  }
6388
6388
 
6389
+ function on(name, callback) {
6390
+ listener.push({
6391
+ name: name,
6392
+ callback: callback
6393
+ });
6394
+ }
6395
+
6389
6396
  function FormCreate(vm) {
6390
6397
  var _this = this;
6391
6398
 
@@ -6398,6 +6405,7 @@ function FormCreateFactory(config) {
6398
6405
  providers: providers,
6399
6406
  modelFields: modelFields,
6400
6407
  formulas: formulas,
6408
+ isMobile: isMobile,
6401
6409
  rules: vm.props.rule,
6402
6410
  name: vm.props.name || uniqueId(),
6403
6411
  inFor: vm.props.inFor,
@@ -6414,6 +6422,9 @@ function FormCreateFactory(config) {
6414
6422
  options: ref({}),
6415
6423
  extendApiFn: extendApiFn
6416
6424
  });
6425
+ listener.forEach(function (item) {
6426
+ _this.bus.$on(item.name, item.callback);
6427
+ });
6417
6428
  nextTick(function () {
6418
6429
  watch(_this.options, function () {
6419
6430
  _this.$handle.$manager.updateOptions(_this.options.value);
@@ -6437,6 +6448,7 @@ function FormCreateFactory(config) {
6437
6448
  }
6438
6449
  }
6439
6450
 
6451
+ FormCreate.isMobile = isMobile;
6440
6452
  extend(FormCreate.prototype, {
6441
6453
  init: function init() {
6442
6454
  var _this2 = this;
@@ -6553,13 +6565,15 @@ function FormCreateFactory(config) {
6553
6565
  parseJson: parseJson,
6554
6566
  toJson: toJson,
6555
6567
  useApp: useApp,
6556
- getApi: getApi
6568
+ getApi: getApi,
6569
+ on: on
6557
6570
  });
6558
6571
  }
6559
6572
 
6560
6573
  function useStatic(formCreate) {
6561
6574
  extend(formCreate, {
6562
6575
  create: create,
6576
+ isMobile: isMobile,
6563
6577
  install: function install(app, options) {
6564
6578
  globalConfig = _objectSpread2(_objectSpread2({}, globalConfig), options || {});
6565
6579
  if (app._installedFormCreate === true) return;
@@ -6572,7 +6586,8 @@ function FormCreateFactory(config) {
6572
6586
 
6573
6587
  useAttr($formCreate);
6574
6588
  app.config.globalProperties.$formCreate = $formCreate;
6575
- app.component('FormCreate', $form());
6589
+ var $component = $form();
6590
+ app.component($component.name, $component);
6576
6591
  useApps.forEach(function (v) {
6577
6592
  invoke(function () {
6578
6593
  return v(formCreate, app);
@@ -7115,6 +7130,7 @@ var manager = {
7115
7130
  return this.$r({
7116
7131
  type: 'button',
7117
7132
  props: resetBtn,
7133
+ "class": '_fc-reset-btn',
7118
7134
  style: {
7119
7135
  width: resetBtn.width
7120
7136
  },
@@ -7140,6 +7156,7 @@ var manager = {
7140
7156
  return this.$r({
7141
7157
  type: 'button',
7142
7158
  props: submitBtn,
7159
+ "class": '_fc-submit-btn',
7143
7160
  style: {
7144
7161
  width: submitBtn.width
7145
7162
  },
@@ -7236,7 +7253,7 @@ function useFrame(maker) {
7236
7253
  return maker;
7237
7254
  }
7238
7255
 
7239
- var css_248z = ".form-create .form-create .el-form-item{margin-bottom:22px}.form-create{width:100%}.form-create .fc-none,.form-create.is-preview .fc-clock{display:none!important}.form-create.is-preview .el-form-item.is-required>.el-form-item__label-wrap>.el-form-item__label:before,.form-create.is-preview .el-form-item.is-required>.el-form-item__label:before{content:\"\"!important}";
7256
+ var css_248z = ".form-create .form-create .el-form-item{margin-bottom:22px}.form-create{width:100%}.form-create .fc-none,.form-create.is-preview .el-form-item.is-required>.el-form-item__label-wrap>.el-form-item__label:before,.form-create.is-preview .el-form-item.is-required>.el-form-item__label:before,.form-create.is-preview .fc-clock{display:none!important}";
7240
7257
  styleInject(css_248z);
7241
7258
 
7242
7259
  function tidyBtnProp(btn, def) {
@@ -7489,7 +7506,7 @@ function install(FormCreate) {
7489
7506
  function elmFormCreate() {
7490
7507
  return FormCreateFactory({
7491
7508
  ui: 'element-ui',
7492
- version: '3.1.35',
7509
+ version: '3.2.0',
7493
7510
  manager: manager,
7494
7511
  extendApi: extendApi,
7495
7512
  install: install,