@form-create/element-ui 3.1.34 → 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.34
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: {
@@ -5674,9 +5672,10 @@ function Handler(fc) {
5674
5672
  this.$manager = new fc.manager(this);
5675
5673
  this.$render = new Render(this);
5676
5674
  this.api = fc.extendApiFn.reduce(function (api, fn) {
5677
- return _objectSpread2(_objectSpread2({}, api), invoke(function () {
5678
- return fn(_objectSpread2({}, api), _this);
5675
+ extend(api, invoke(function () {
5676
+ return fn(api, _this);
5679
5677
  }, {}));
5678
+ return api;
5680
5679
  }, Api(this));
5681
5680
  }
5682
5681
  extend(Handler.prototype, {
@@ -6201,6 +6200,7 @@ function FormCreateFactory(config) {
6201
6200
  var directives = {};
6202
6201
  var modelFields = {};
6203
6202
  var useApps = [];
6203
+ var listener = [];
6204
6204
  var extendApiFn = [config.extendApi];
6205
6205
 
6206
6206
  var providers = _objectSpread2({}, $provider);
@@ -6212,6 +6212,7 @@ function FormCreateFactory(config) {
6212
6212
  var loadData = reactive({});
6213
6213
  var CreateNode = CreateNodeFactory();
6214
6214
  var formulas = {};
6215
+ var isMobile = config.isMobile === true;
6215
6216
  exportAttrs(config.attrs || {});
6216
6217
 
6217
6218
  function getApi(name) {
@@ -6385,6 +6386,13 @@ function FormCreateFactory(config) {
6385
6386
  _emitData(id);
6386
6387
  }
6387
6388
 
6389
+ function on(name, callback) {
6390
+ listener.push({
6391
+ name: name,
6392
+ callback: callback
6393
+ });
6394
+ }
6395
+
6388
6396
  function FormCreate(vm) {
6389
6397
  var _this = this;
6390
6398
 
@@ -6397,6 +6405,7 @@ function FormCreateFactory(config) {
6397
6405
  providers: providers,
6398
6406
  modelFields: modelFields,
6399
6407
  formulas: formulas,
6408
+ isMobile: isMobile,
6400
6409
  rules: vm.props.rule,
6401
6410
  name: vm.props.name || uniqueId(),
6402
6411
  inFor: vm.props.inFor,
@@ -6413,6 +6422,9 @@ function FormCreateFactory(config) {
6413
6422
  options: ref({}),
6414
6423
  extendApiFn: extendApiFn
6415
6424
  });
6425
+ listener.forEach(function (item) {
6426
+ _this.bus.$on(item.name, item.callback);
6427
+ });
6416
6428
  nextTick(function () {
6417
6429
  watch(_this.options, function () {
6418
6430
  _this.$handle.$manager.updateOptions(_this.options.value);
@@ -6436,6 +6448,7 @@ function FormCreateFactory(config) {
6436
6448
  }
6437
6449
  }
6438
6450
 
6451
+ FormCreate.isMobile = isMobile;
6439
6452
  extend(FormCreate.prototype, {
6440
6453
  init: function init() {
6441
6454
  var _this2 = this;
@@ -6552,13 +6565,15 @@ function FormCreateFactory(config) {
6552
6565
  parseJson: parseJson,
6553
6566
  toJson: toJson,
6554
6567
  useApp: useApp,
6555
- getApi: getApi
6568
+ getApi: getApi,
6569
+ on: on
6556
6570
  });
6557
6571
  }
6558
6572
 
6559
6573
  function useStatic(formCreate) {
6560
6574
  extend(formCreate, {
6561
6575
  create: create,
6576
+ isMobile: isMobile,
6562
6577
  install: function install(app, options) {
6563
6578
  globalConfig = _objectSpread2(_objectSpread2({}, globalConfig), options || {});
6564
6579
  if (app._installedFormCreate === true) return;
@@ -6571,7 +6586,8 @@ function FormCreateFactory(config) {
6571
6586
 
6572
6587
  useAttr($formCreate);
6573
6588
  app.config.globalProperties.$formCreate = $formCreate;
6574
- app.component('FormCreate', $form());
6589
+ var $component = $form();
6590
+ app.component($component.name, $component);
6575
6591
  useApps.forEach(function (v) {
6576
6592
  invoke(function () {
6577
6593
  return v(formCreate, app);
@@ -7114,6 +7130,7 @@ var manager = {
7114
7130
  return this.$r({
7115
7131
  type: 'button',
7116
7132
  props: resetBtn,
7133
+ "class": '_fc-reset-btn',
7117
7134
  style: {
7118
7135
  width: resetBtn.width
7119
7136
  },
@@ -7139,6 +7156,7 @@ var manager = {
7139
7156
  return this.$r({
7140
7157
  type: 'button',
7141
7158
  props: submitBtn,
7159
+ "class": '_fc-submit-btn',
7142
7160
  style: {
7143
7161
  width: submitBtn.width
7144
7162
  },
@@ -7235,7 +7253,7 @@ function useFrame(maker) {
7235
7253
  return maker;
7236
7254
  }
7237
7255
 
7238
- 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}";
7239
7257
  styleInject(css_248z);
7240
7258
 
7241
7259
  function tidyBtnProp(btn, def) {
@@ -7488,7 +7506,7 @@ function install(FormCreate) {
7488
7506
  function elmFormCreate() {
7489
7507
  return FormCreateFactory({
7490
7508
  ui: 'element-ui',
7491
- version: '3.1.34',
7509
+ version: '3.2.0',
7492
7510
  manager: manager,
7493
7511
  extendApi: extendApi,
7494
7512
  install: install,