@tmagic/form 1.0.0-rc.4 → 1.0.0-rc.7

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.
Files changed (67) hide show
  1. package/dist/tmagic-form.es.js +25 -6
  2. package/dist/tmagic-form.es.js.map +1 -1
  3. package/dist/tmagic-form.umd.js +26 -7
  4. package/dist/tmagic-form.umd.js.map +1 -1
  5. package/dist/types/src/fields/DynamicField.vue.d.ts +2 -2
  6. package/dist/types/src/index.d.ts +1 -1
  7. package/package.json +5 -15
  8. package/src/containers/Container.vue +13 -2
  9. package/src/fields/Daterange.vue +8 -0
  10. package/LICENSE +0 -5432
  11. package/coverage/clover.xml +0 -1360
  12. package/coverage/coverage-final.json +0 -38
  13. package/coverage/lcov-report/base.css +0 -224
  14. package/coverage/lcov-report/block-navigation.js +0 -87
  15. package/coverage/lcov-report/favicon.png +0 -0
  16. package/coverage/lcov-report/index.html +0 -176
  17. package/coverage/lcov-report/prettify.css +0 -1
  18. package/coverage/lcov-report/prettify.js +0 -2
  19. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  20. package/coverage/lcov-report/sorter.js +0 -196
  21. package/coverage/lcov-report/src/Form.vue.html +0 -676
  22. package/coverage/lcov-report/src/FormDialog.vue.html +0 -583
  23. package/coverage/lcov-report/src/containers/Col.vue.html +0 -253
  24. package/coverage/lcov-report/src/containers/Container.vue.html +0 -925
  25. package/coverage/lcov-report/src/containers/Fieldset.vue.html +0 -499
  26. package/coverage/lcov-report/src/containers/GroupList.vue.html +0 -541
  27. package/coverage/lcov-report/src/containers/GroupListItem.vue.html +0 -562
  28. package/coverage/lcov-report/src/containers/Panel.vue.html +0 -403
  29. package/coverage/lcov-report/src/containers/Row.vue.html +0 -277
  30. package/coverage/lcov-report/src/containers/Step.vue.html +0 -331
  31. package/coverage/lcov-report/src/containers/Table.vue.html +0 -1987
  32. package/coverage/lcov-report/src/containers/Tabs.vue.html +0 -625
  33. package/coverage/lcov-report/src/containers/index.html +0 -251
  34. package/coverage/lcov-report/src/fields/Cascader.vue.html +0 -526
  35. package/coverage/lcov-report/src/fields/Checkbox.vue.html +0 -286
  36. package/coverage/lcov-report/src/fields/CheckboxGroup.vue.html +0 -217
  37. package/coverage/lcov-report/src/fields/ColorPicker.vue.html +0 -199
  38. package/coverage/lcov-report/src/fields/Date.vue.html +0 -238
  39. package/coverage/lcov-report/src/fields/DateTime.vue.html +0 -262
  40. package/coverage/lcov-report/src/fields/Daterange.vue.html +0 -310
  41. package/coverage/lcov-report/src/fields/Display.vue.html +0 -187
  42. package/coverage/lcov-report/src/fields/DynamicField.vue.html +0 -412
  43. package/coverage/lcov-report/src/fields/Hidden.vue.html +0 -172
  44. package/coverage/lcov-report/src/fields/Link.vue.html +0 -421
  45. package/coverage/lcov-report/src/fields/Number.vue.html +0 -244
  46. package/coverage/lcov-report/src/fields/RadioGroup.vue.html +0 -184
  47. package/coverage/lcov-report/src/fields/Select.vue.html +0 -1243
  48. package/coverage/lcov-report/src/fields/Switch.vue.html +0 -280
  49. package/coverage/lcov-report/src/fields/Text.vue.html +0 -487
  50. package/coverage/lcov-report/src/fields/Textarea.vue.html +0 -265
  51. package/coverage/lcov-report/src/fields/Time.vue.html +0 -229
  52. package/coverage/lcov-report/src/fields/index.html +0 -371
  53. package/coverage/lcov-report/src/index.html +0 -146
  54. package/coverage/lcov-report/src/index.ts.html +0 -466
  55. package/coverage/lcov-report/src/theme/index.html +0 -116
  56. package/coverage/lcov-report/src/theme/index.scss.html +0 -112
  57. package/coverage/lcov-report/src/utils/config.ts.html +0 -166
  58. package/coverage/lcov-report/src/utils/createForm.ts.html +0 -160
  59. package/coverage/lcov-report/src/utils/fieldProps.ts.html +0 -202
  60. package/coverage/lcov-report/src/utils/form.ts.html +0 -895
  61. package/coverage/lcov-report/src/utils/index.html +0 -176
  62. package/coverage/lcov-report/src/utils/useAddField.ts.html +0 -205
  63. package/coverage/lcov.info +0 -3061
  64. package/dist/types/src/Form.vue.d.ts +0 -362
  65. package/dist/types/src/FormDialog.vue.d.ts +0 -757
  66. package/dist/types/src/containers/Table.vue.d.ts +0 -2601
  67. package/dist/types/src/fields/Link.vue.d.ts +0 -1596
@@ -1,7 +1,7 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('@element-plus/icons'), require('lodash-es'), require('element-plus'), require('sortablejs'), require('@tmagic/utils')) :
3
3
  typeof define === 'function' && define.amd ? define(['exports', 'vue', '@element-plus/icons', 'lodash-es', 'element-plus', 'sortablejs', '@tmagic/utils'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.TMagicForm = {}, global.vue, global.icons, global.lodashEs, global.elementPlus, global.Sortable, global.utils));
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.TMagicForm = {}, global.Vue, global.icons, global.lodashEs, global.ElementPlus, global.Sortable, global.utils));
5
5
  })(this, (function (exports, vue, icons, lodashEs, elementPlus, Sortable, utils) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -208,7 +208,18 @@
208
208
  const expand = vue.ref(false);
209
209
  const name = vue.computed(() => props.config.name || "");
210
210
  const items = vue.computed(() => props.config.items);
211
- const itemProp = vue.computed(() => name.value ? `${props.prop}${props.prop ? "." : ""}${name.value}` : props.prop);
211
+ const itemProp = vue.computed(() => {
212
+ let n = "";
213
+ const { names } = props.config;
214
+ if (names?.[0]) {
215
+ [n] = names;
216
+ } else if (name.value) {
217
+ n = name.value;
218
+ } else {
219
+ return props.prop;
220
+ }
221
+ return `${props.prop}${props.prop ? "." : ""}${n}`;
222
+ });
212
223
  const tagName = vue.computed(() => {
213
224
  const component = vue.resolveComponent(`m-${items.value ? "form" : "fields"}-${type.value}`);
214
225
  if (typeof component !== "string")
@@ -347,10 +358,10 @@
347
358
  "expand-more": _ctx.expand,
348
359
  "label-width": _ctx.itemLabelWidth,
349
360
  onChange: _ctx.onChangeHandler
350
- }, null, 8, ["size", "model", "config", "name", "prop", "step-active", "expand-more", "label-width", "onChange"])) : _ctx.type && _ctx.display ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
361
+ }, null, 40, ["size", "model", "config", "name", "prop", "step-active", "expand-more", "label-width", "onChange"])) : _ctx.type && _ctx.display ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
351
362
  vue.createVNode(_component_el_form_item, {
352
363
  style: vue.normalizeStyle(_ctx.config.tip ? "flex: 1" : ""),
353
- class: vue.normalizeClass({ hidden: _ctx.itemLabelWidth === 0 || !_ctx.config.text }),
364
+ class: vue.normalizeClass({ hidden: `${_ctx.itemLabelWidth}` === "0" || !_ctx.config.text }),
354
365
  prop: _ctx.itemProp,
355
366
  "label-width": _ctx.itemLabelWidth,
356
367
  rules: _ctx.rule
@@ -375,7 +386,7 @@
375
386
  disabled: _ctx.disabled,
376
387
  prop: _ctx.itemProp,
377
388
  onChange: _ctx.onChangeHandler
378
- }, null, 8, ["size", "model", "config", "name", "disabled", "prop", "onChange"]))
389
+ }, null, 40, ["size", "model", "config", "name", "disabled", "prop", "onChange"]))
379
390
  ]),
380
391
  _: 1
381
392
  })) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.tagName), {
@@ -387,7 +398,7 @@
387
398
  disabled: _ctx.disabled,
388
399
  prop: _ctx.itemProp,
389
400
  onChange: _ctx.onChangeHandler
390
- }, null, 8, ["size", "model", "config", "name", "disabled", "prop", "onChange"])),
401
+ }, null, 40, ["size", "model", "config", "name", "disabled", "prop", "onChange"])),
391
402
  _ctx.extra ? (vue.openBlock(), vue.createElementBlock("div", {
392
403
  key: 2,
393
404
  innerHTML: _ctx.extra,
@@ -2393,6 +2404,14 @@
2393
2404
  });
2394
2405
  } else if (props.model && props.name && v instanceof Date) {
2395
2406
  props.model[props.name] = utils.datetimeFormatter(v.toString(), "");
2407
+ } else if (names?.length) {
2408
+ names.forEach((item) => {
2409
+ if (props.model) {
2410
+ props.model[item] = void 0;
2411
+ }
2412
+ });
2413
+ } else if (props.name) {
2414
+ props.model[props.name] = void 0;
2396
2415
  }
2397
2416
  };
2398
2417
  return {
@@ -3773,7 +3792,7 @@
3773
3792
  }
3774
3793
  var FormDialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
3775
3794
 
3776
- var index$1 = '';
3795
+ var index$1 = /* #__PURE__ */ (() => ".m-form-dialog .el-dialog__body {\n padding: 0 !important;\n}\n.m-form-dialog .m-dialog-body {\n padding: 0 20px;\n}\n.m-form-dialog .el-table .m-form-item .el-form-item {\n margin-bottom: 0;\n}\n\n.fade-enter-active,\n.fade-leave-active {\n transition: opacity 0.5s;\n}\n\n.fade-enter, .fade-leave-to {\n opacity: 0;\n}\n\n.m-form .m-form-tip {\n color: rgba(0, 0, 0, 0.45);\n font-size: 12px;\n transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.m-form .m-form-schematic {\n max-width: 50%;\n height: 100%;\n}\n.m-form .el-table .cell > div.m-form-container {\n display: block;\n}\n.m-form .el-tabs {\n margin-bottom: 10px;\n}\n.m-form .el-form-item.hidden .el-form-item__label {\n display: none;\n}\n\n.magic-datetime-picker-popper .el-picker-panel__footer button:first-child {\n display: none;\n}\n\ndiv.m-fields-link {\n width: fit-content;\n}\n\nfieldset.m-fieldset {\n position: relative;\n border: 1px solid rgb(229, 229, 229);\n margin-top: 10px;\n margin-bottom: 10px;\n min-inline-size: auto;\n}\nfieldset.m-fieldset legend {\n font-size: 14px;\n position: absolute;\n border: 0;\n top: -10px;\n left: 20px;\n background: rgb(255, 255, 255);\n width: auto;\n padding: 0px 3px;\n font-weight: bold;\n line-height: 20px;\n}\nfieldset.m-fieldset .m-form-tip {\n margin-left: 5px;\n}\n\n.m-fields-group-list .el-button--text {\n padding: 0;\n margin-bottom: 7px;\n}\n.m-fields-group-list .el-tree-node__expand-icon {\n padding: 0;\n margin-bottom: 7px;\n}\n.m-fields-group-list .el-tree-node__expand-icon.expand {\n transform: rotate(90deg);\n}\n.m-fields-group-list .m-fields-group-list-item {\n border-bottom: 1px solid #ebeef5;\n margin-bottom: 7px;\n}\n.m-fields-group-list .m-fields-group-list-item:last-of-type {\n border-bottom: 0;\n}\n\n.m-form-panel .el-card__header:hover {\n background: #f2f6fc;\n}\n.m-form-panel .el-card__header a {\n color: #409eff;\n}\n.m-form-panel .el-card__body {\n padding: 10px;\n}\n.m-form-panel .m-form-tip {\n margin-left: 5px;\n}\n\n.m-fields-table {\n width: 100%;\n}\n.m-fields-table.fixed {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 100;\n}\n.m-fields-table.fixed::before {\n content: \" \";\n display: block;\n background: rgba(0, 0, 0, 0.5);\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n z-index: 100;\n}\n.m-fields-table.fixed > .el-form-item__content {\n z-index: 101;\n position: relative;\n margin: 10vh auto;\n max-width: fit-content;\n}\n.m-fields-table.fixed table {\n width: 95vw !important;\n}\n.m-fields-table th {\n background-color: #f2f2f2 !important;\n color: #333 !important;\n}\n.m-fields-table .el-table th {\n padding: 0 !important;\n}\n.m-fields-table .el-table__column--dropable {\n cursor: move;\n}\n.m-fields-table .el-form-item__content .el-input-group {\n vertical-align: middle;\n}\n.m-fields-table.m-fields-table-item-extra tr.expanded td {\n border-bottom: 0;\n}\n.m-fields-table .el-table__expanded-cell .m-form-tip {\n margin-left: 80px;\n}\n.m-fields-table .el-form-item {\n margin-bottom: 0;\n}\n\n.m-select {\n width: 100%;\n}")();
3777
3796
 
3778
3797
  const defaultInstallOpt = {};
3779
3798
  const install = (app, opt) => {