@ibiz-template/vue3-components 0.7.41-alpha.16 → 0.7.41-alpha.17

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 (117) hide show
  1. package/dist/{index-U4v1OOOD.js → index-AOFxMmyX.js} +1 -1
  2. package/dist/{index-lFGFvnYE.js → index-swminiXb.js} +1 -1
  3. package/dist/index-t1aZ8OJE.js +11 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{wang-editor-_06OYPpu.js → wang-editor-Y8puaTx2.js} +1 -1
  7. package/dist/{xlsx-util-FNiwKrqm.js → xlsx-util-jYyM8alm.js} +1 -1
  8. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  9. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +25 -8
  10. package/es/control/calendar/components/custom-calendar/use-custom-calendar.d.ts +8 -0
  11. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +20 -1
  12. package/es/control/data-view/data-view.css +1 -1
  13. package/es/control/data-view/data-view.mjs +95 -29
  14. package/es/control/drbar/drbar.css +1 -1
  15. package/es/control/drtab/drtab-control.util.mjs +1 -1
  16. package/es/control/drtab/drtab.controller.d.ts +24 -0
  17. package/es/control/drtab/drtab.controller.mjs +34 -0
  18. package/es/control/drtab/drtab.css +1 -1
  19. package/es/control/drtab/drtab.d.ts +2 -0
  20. package/es/control/drtab/drtab.mjs +5 -2
  21. package/es/control/drtab/flow-drtab.css +1 -1
  22. package/es/control/drtab/flow-drtab.d.ts +17 -2
  23. package/es/control/drtab/flow-drtab.mjs +189 -11
  24. package/es/control/drtab/index.d.ts +2 -0
  25. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.css +1 -1
  26. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +55 -4
  27. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  28. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +11 -11
  29. package/es/control/gantt/gantt.mjs +1 -0
  30. package/es/control/grid/grid/grid-control.util.mjs +36 -14
  31. package/es/control/grid/grid/grid.css +1 -1
  32. package/es/control/grid/grid/grid.mjs +8 -3
  33. package/es/control/kanban/index.d.ts +4 -1
  34. package/es/control/kanban/kanban.css +1 -1
  35. package/es/control/kanban/kanban.d.ts +4 -1
  36. package/es/control/kanban/kanban.mjs +51 -15
  37. package/es/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -1
  38. package/es/control/kanban/swimlane-kanban/swimlane-kanban.d.ts +2 -1
  39. package/es/control/kanban/swimlane-kanban/swimlane-kanban.mjs +52 -6
  40. package/es/control/list/list.css +1 -1
  41. package/es/control/list/list.d.ts +1 -1
  42. package/es/control/list/list.mjs +83 -11
  43. package/es/control/medit-view-panel/medit-view-panel.css +1 -1
  44. package/es/control/medit-view-panel/medit-view-panel.mjs +37 -30
  45. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +1 -1
  46. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +47 -8
  47. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -0
  48. package/es/editor/upload/ibiz-image-cropping/ibiz-image-cropping.d.ts +1 -0
  49. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -0
  50. package/es/editor/upload/upload-editor.controller.d.ts +25 -0
  51. package/es/editor/upload/upload-editor.controller.mjs +43 -1
  52. package/es/editor/upload/use/use-iview-upload.mjs +9 -2
  53. package/es/locale/en/index.d.ts +9 -5
  54. package/es/locale/en/index.mjs +5 -2
  55. package/es/locale/zh-CN/index.d.ts +9 -5
  56. package/es/locale/zh-CN/index.mjs +5 -2
  57. package/es/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.mjs +3377 -0
  58. package/es/panel-component/panel-button/panel-button.mjs +1 -0
  59. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  60. package/es/view-engine/calendar-view.engine.d.ts +11 -1
  61. package/es/view-engine/calendar-view.engine.mjs +10 -0
  62. package/es/view-engine/chart-exp-view.engine.d.ts +6 -6
  63. package/es/view-engine/chart-exp-view.engine.mjs +6 -15
  64. package/es/view-engine/gantt-view.engine.d.ts +3 -3
  65. package/es/view-engine/gantt-view.engine.mjs +3 -46
  66. package/es/view-engine/login-view.engine.mjs +7 -0
  67. package/es/view-engine/tab-exp-view.engine.mjs +1 -1
  68. package/es/view-engine/tab-search-view.engine.mjs +4 -2
  69. package/es/view-engine/tree-view.engine.d.ts +12 -2
  70. package/es/view-engine/tree-view.engine.mjs +39 -11
  71. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +23 -6
  72. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  73. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +20 -0
  74. package/lib/control/data-view/data-view.cjs +95 -29
  75. package/lib/control/data-view/data-view.css +1 -1
  76. package/lib/control/drbar/drbar.css +1 -1
  77. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  78. package/lib/control/drtab/drtab.cjs +5 -2
  79. package/lib/control/drtab/drtab.controller.cjs +34 -0
  80. package/lib/control/drtab/drtab.css +1 -1
  81. package/lib/control/drtab/flow-drtab.cjs +188 -10
  82. package/lib/control/drtab/flow-drtab.css +1 -1
  83. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +54 -3
  84. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.css +1 -1
  85. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +11 -11
  86. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  87. package/lib/control/gantt/gantt.cjs +1 -0
  88. package/lib/control/grid/grid/grid-control.util.cjs +36 -14
  89. package/lib/control/grid/grid/grid.cjs +8 -3
  90. package/lib/control/grid/grid/grid.css +1 -1
  91. package/lib/control/kanban/kanban.cjs +50 -14
  92. package/lib/control/kanban/kanban.css +1 -1
  93. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.cjs +50 -4
  94. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -1
  95. package/lib/control/list/list.cjs +83 -11
  96. package/lib/control/list/list.css +1 -1
  97. package/lib/control/medit-view-panel/medit-view-panel.cjs +36 -29
  98. package/lib/control/medit-view-panel/medit-view-panel.css +1 -1
  99. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +47 -8
  100. package/lib/editor/upload/upload-editor.controller.cjs +43 -1
  101. package/lib/editor/upload/use/use-iview-upload.cjs +9 -2
  102. package/lib/locale/en/index.cjs +5 -2
  103. package/lib/locale/zh-CN/index.cjs +5 -2
  104. package/lib/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.cjs +3384 -0
  105. package/lib/panel-component/panel-button/panel-button.cjs +1 -0
  106. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  107. package/lib/view-engine/calendar-view.engine.cjs +10 -0
  108. package/lib/view-engine/chart-exp-view.engine.cjs +6 -15
  109. package/lib/view-engine/gantt-view.engine.cjs +2 -45
  110. package/lib/view-engine/login-view.engine.cjs +7 -0
  111. package/lib/view-engine/tab-exp-view.engine.cjs +1 -1
  112. package/lib/view-engine/tab-search-view.engine.cjs +4 -2
  113. package/lib/view-engine/tree-view.engine.cjs +39 -11
  114. package/package.json +9 -7
  115. package/dist/index-m8q8r8br.js +0 -4
  116. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.17_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  117. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.17_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -1 +1 @@
1
- .ibiz-control-list-item{flex-grow:1;min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer;background-color:var(--ibiz-control-list-item-bg-color)}.ibiz-control-list-item__right{padding:0 var(--ibiz-spacing-extra-tight)}.ibiz-control-list-item__right--actions{display:flex;justify-content:center}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-list-item:has(.ibiz-control-list-item__right){display:flex;justify-content:space-between}.ibiz-control-list-item:has(.ibiz-control-list-item__right) .ibiz-control-list-item__caption{flex:1}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);--ibiz-control-list-item-bg-color:unset;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-list__nav-icon{position:absolute;top:18px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-list__load-more{text-align:center}.ibiz-control-list__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-control-list-load-more-color);cursor:pointer}.ibiz-control-list__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-list__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__load-more-button{padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list__quicktoolbar{display:flex;justify-content:center;width:100%}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-content__batchtoolbar{margin:var(--ibiz-spacing-tight) 0}.ibiz-control-list-content.is-show-underLine .ibiz-control-list-scroll-item{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-list-content .ibiz-row-detail:last-of-type .ibiz-control-list-scroll-item{border-bottom:none}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-list-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ibiz-control-list-scroll-item{display:flex;align-items:center}.ibiz-control-list-scroll-item__checkbox{flex-shrink:0;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-list-scroll-item__icon{flex-shrink:0;margin-left:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list-scroll-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-scroll-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list-group-style2{--ibiz-control-list-group-style2-color:var(--ibiz-color-disabled-text)}.ibiz-control-list-group-style2__header{display:flex;align-items:center;justify-content:center;width:100%}.ibiz-control-list-group-style2__header--title{padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-list-group-style2-color)}.ibiz-control-list-group-style2__header::after,.ibiz-control-list-group-style2__header::before{display:block;flex:1;height:1px;margin-top:1px;content:"";border-top:1px var(--ibiz-color-border) solid;transform:translateY(-50%)}
1
+ .ibiz-control-list-item{flex-grow:1;min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer;background-color:var(--ibiz-control-list-item-bg-color)}.ibiz-control-list-item__right{padding:0 var(--ibiz-spacing-extra-tight)}.ibiz-control-list-item__right--actions{display:flex;justify-content:center}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-list-item:has(.ibiz-control-list-item__right){display:flex;justify-content:space-between}.ibiz-control-list-item:has(.ibiz-control-list-item__right) .ibiz-control-list-item__caption{flex:1}.ibiz-control-list-item__new{display:flex;align-items:center;justify-content:center;margin-top:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-3);border:2px dashed var(--ibiz-color-border)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);--ibiz-control-list-item-bg-color:unset;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-list__drag-icon{cursor:move;visibility:hidden}.ibiz-control-list__nav-icon{position:absolute;top:18px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-list__load-more{text-align:center}.ibiz-control-list__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-control-list-load-more-color);cursor:pointer}.ibiz-control-list__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-list__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__load-more-button{padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list__quicktoolbar{display:flex;justify-content:center;width:100%}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-content__batchtoolbar{margin:var(--ibiz-spacing-tight) 0}.ibiz-control-list-content.is-show-underLine .ibiz-control-list-scroll-item{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-list-content .ibiz-row-detail:last-of-type .ibiz-control-list-scroll-item{border-bottom:none}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-list-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ibiz-control-list-scroll-item{display:flex;align-items:center}.ibiz-control-list-scroll-item__checkbox{flex-shrink:0;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-list-scroll-item__icon{flex-shrink:0;margin-left:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list-scroll-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-scroll-item:hover .ibiz-control-list__drag-icon{visibility:visible}.ibiz-control-list-scroll-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}.ibiz-control-list-group-style2{--ibiz-control-list-group-style2-color:var(--ibiz-color-disabled-text)}.ibiz-control-list-group-style2__header{display:flex;align-items:center;justify-content:center;width:100%}.ibiz-control-list-group-style2__header--title{padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-list-group-style2-color)}.ibiz-control-list-group-style2__header::after,.ibiz-control-list-group-style2__header::before{display:block;flex:1;height:1px;margin-top:1px;content:"";border-top:1px var(--ibiz-color-border) solid;transform:translateY(-50%)}
@@ -6,9 +6,6 @@ var runtime = require('@ibiz-template/runtime');
6
6
  require('./medit-view-panel.css');
7
7
 
8
8
  "use strict";
9
- function _isSlot(s) {
10
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
11
- }
12
9
  const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
13
10
  name: "IBizMEditViewPanelControl",
14
11
  props: {
@@ -92,37 +89,47 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
92
89
  render() {
93
90
  const viewShell = vue.resolveComponent("IBizViewShell");
94
91
  const renderTabTop = () => {
95
- let _slot;
96
92
  return vue.createVNode(vue.resolveComponent("el-tabs"), {
97
93
  "class": this.ns.b("tabs"),
94
+ "addable": true,
98
95
  "modelValue": this.c.state.activeTab,
99
96
  "onUpdate:modelValue": ($event) => this.c.state.activeTab = $event,
100
- "onTabChange": this.onTabChange
101
- }, _isSlot(_slot = this.c.state.panelUiItems.map((item) => {
102
- return vue.createVNode(vue.resolveComponent("el-tab-pane"), {
103
- "key": item.id + item.srfmajortext,
104
- "name": item.id
105
- }, {
106
- label: () => {
107
- return vue.createVNode("div", {
108
- "class": this.ns.b("tab-label")
109
- }, [vue.createVNode("span", null, [item.srfmajortext]), vue.createVNode("ion-icon", {
110
- "name": "close-outline",
111
- "onClick": (event) => this.handleTabDelete(item, event)
112
- }, null)]);
113
- },
114
- default: () => {
115
- return this.c.state.activeTab === item.id && vue.h(viewShell, {
116
- context: item.context,
117
- params: item.params,
118
- viewId: this.c.model.embeddedAppViewId,
119
- onDataChange: (args) => this.c.onViewDataChange(args, item.id),
120
- onCreated: (event) => this.c.onViewCreated(event, item.id)
97
+ "onTabChange": this.onTabChange,
98
+ "onTabAdd": () => this.c.handleAdd()
99
+ }, {
100
+ addIcon: () => {
101
+ return vue.createVNode(vue.resolveComponent("el-button"), null, {
102
+ default: () => [vue.createVNode("ion-icon", {
103
+ "name": "add"
104
+ }, null), ibiz.i18n.t("app.add")]
105
+ });
106
+ },
107
+ default: () => {
108
+ return this.c.state.panelUiItems.map((item) => {
109
+ return vue.createVNode(vue.resolveComponent("el-tab-pane"), {
110
+ "key": item.id + item.srfmajortext,
111
+ "name": item.id
112
+ }, {
113
+ label: () => {
114
+ return vue.createVNode("div", {
115
+ "class": this.ns.b("tab-label")
116
+ }, [vue.createVNode("span", null, [item.srfmajortext]), vue.createVNode("ion-icon", {
117
+ "name": "close-outline",
118
+ "onClick": (event) => this.handleTabDelete(item, event)
119
+ }, null)]);
120
+ },
121
+ default: () => {
122
+ return this.c.state.activeTab === item.id && vue.h(viewShell, {
123
+ context: item.context,
124
+ params: item.params,
125
+ viewId: this.c.model.embeddedAppViewId,
126
+ onDataChange: (args) => this.c.onViewDataChange(args, item.id),
127
+ onCreated: (event) => this.c.onViewCreated(event, item.id)
128
+ });
129
+ }
121
130
  });
122
- }
123
- });
124
- })) ? _slot : {
125
- default: () => [_slot]
131
+ });
132
+ }
126
133
  });
127
134
  };
128
135
  const renderRow = () => {
@@ -1 +1 @@
1
- .ibiz-control-multieditviewpanel{--ibiz-control-multieditviewpanel-btn-width:150px;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:space-between;width:100%;height:100%}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content{flex-grow:1;width:100%;height:100%;overflow-y:scroll}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item{display:flex;position:relative;width:100%;margin-bottom:var(--ibiz-spacing-tight)}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item>.ibiz-view .ibiz-panel-view-header{padding-right:var(--ibiz-spacing-loose)}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item .ibiz-control-multieditviewpanel-close{display:flex;justify-content:center;position:absolute;top:calc(var(--ibiz-spacing-tight) + var(--ibiz-spacing-tight) + var(--ibiz-height-control-default)/ 2 - .5em);right:0}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item .ibiz-control-multieditviewpanel-close>ion-icon:hover{color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-tabs .el-tabs__nav .el-tabs__item .ibiz-control-multieditviewpanel-tab-label{display:flex;align-items:center;justify-content:space-between}
1
+ .ibiz-control-multieditviewpanel{--ibiz-control-multieditviewpanel-btn-width:150px;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:space-between;width:100%;height:100%}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content{flex-grow:1;width:100%;height:100%;overflow-y:scroll}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item{display:flex;position:relative;width:100%;margin-bottom:var(--ibiz-spacing-tight)}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item>.ibiz-view .ibiz-panel-view-header{padding-right:var(--ibiz-spacing-loose)}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item .ibiz-control-multieditviewpanel-close{display:flex;justify-content:center;position:absolute;top:calc(var(--ibiz-spacing-tight) + var(--ibiz-spacing-tight) + var(--ibiz-height-control-default)/ 2 - .5em);right:0}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-item .ibiz-control-multieditviewpanel-close>ion-icon:hover{color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-tabs .el-tabs__nav .el-tabs__item .ibiz-control-multieditviewpanel-tab-label{display:flex;align-items:center;justify-content:space-between}.ibiz-control-multieditviewpanel .ibiz-control-multieditviewpanel-content .ibiz-control-multieditviewpanel-tabs .el-tabs__new-tab{display:flex;align-items:center;width:auto;height:var(--el-tabs-header-height);margin:0;border:0;border-bottom:2px solid var(--el-border-color-light)}
@@ -96,22 +96,42 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
96
96
  }, 100);
97
97
  }
98
98
  };
99
- const handleOpenViewClose = (result) => {
99
+ const handleOpenViewClose = async (result) => {
100
100
  const selects = [];
101
101
  if (result && Array.isArray(result)) {
102
- result.forEach((select) => {
102
+ const calcPromises = result.map(async (select) => {
103
+ const item = select;
104
+ if (select.srfnodeid) {
105
+ Object.assign(item, select._deData);
106
+ }
107
+ const dataItems = await c.calcFillDataItems(item);
108
+ const res = {};
109
+ dataItems.forEach((dataItem) => {
110
+ Object.assign(res, {
111
+ [dataItem.id]: dataItem.value
112
+ });
113
+ });
114
+ return res;
115
+ });
116
+ const dataItemsList = await Promise.all(calcPromises);
117
+ result.forEach((select, _index) => {
103
118
  Object.assign(select, {
104
119
  [c.keyName]: select[c.keyName] ? select[c.keyName] : select.srfkey,
105
120
  [c.textName]: select[c.textName] ? select[c.textName] : select.srfmajortext
106
121
  });
122
+ const data = dataItemsList[_index];
107
123
  if (c.model.valueType === "OBJECTS") {
108
- selects.push(c.handleObjectParams(select));
124
+ selects.push({
125
+ ...c.handleObjectParams(select),
126
+ ...data
127
+ });
109
128
  } else if (c.objectIdField) {
110
129
  selects.push(select[c.keyName]);
111
130
  } else {
112
131
  selects.push({
113
132
  [c.keyName]: select[c.keyName],
114
- [c.textName]: select[c.textName]
133
+ [c.textName]: select[c.textName],
134
+ ...data
115
135
  });
116
136
  }
117
137
  const index = items.value.findIndex((item) => Object.is(item[c.keyName], select[c.keyName]));
@@ -146,7 +166,7 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
146
166
  handleOpenViewClose(res);
147
167
  }
148
168
  };
149
- const onSelect = (selects) => {
169
+ const onSelect = async (selects) => {
150
170
  setEditable(false);
151
171
  if (selects.includes("empty")) {
152
172
  resetCurValue();
@@ -154,7 +174,7 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
154
174
  }
155
175
  const val = [];
156
176
  let value = null;
157
- selects.forEach((select) => {
177
+ const selections = selects.map((select) => {
158
178
  let index = items.value.findIndex((item2) => Object.is(item2[c.keyName], select));
159
179
  let item = {};
160
180
  if (index >= 0) {
@@ -165,14 +185,33 @@ const IBizMPicker = /* @__PURE__ */ vue.defineComponent({
165
185
  item = selectItems.value[index];
166
186
  }
167
187
  }
188
+ return item;
189
+ });
190
+ const calcPromises = selections.map(async (select) => {
191
+ const dataItems = await c.calcFillDataItems(select);
192
+ const res = {};
193
+ dataItems.forEach((dataItem) => {
194
+ Object.assign(res, {
195
+ [dataItem.id]: dataItem.value
196
+ });
197
+ });
198
+ return res;
199
+ });
200
+ const dataItemsList = await Promise.all(calcPromises);
201
+ selections.forEach((item, index) => {
202
+ const data = dataItemsList[index];
168
203
  if (c.model.valueType === "OBJECTS") {
169
- val.push(c.handleObjectParams(item));
204
+ val.push({
205
+ ...c.handleObjectParams(item),
206
+ ...data
207
+ });
170
208
  } else if (c.objectIdField) {
171
209
  val.push(item[c.keyName]);
172
210
  } else {
173
211
  val.push({
174
212
  [c.keyName]: item[c.keyName],
175
- [c.textName]: item[c.textName]
213
+ [c.textName]: item[c.textName],
214
+ ...data
176
215
  });
177
216
  }
178
217
  });
@@ -40,6 +40,10 @@ class UploadEditorController extends runtime.EditorController {
40
40
  * 下载参数
41
41
  */
42
42
  __publicField(this, "exportParams");
43
+ /**
44
+ * 上传文件信息的映射规则字符串,格式为"源键:目标键;源键2:目标键2"
45
+ */
46
+ __publicField(this, "infoMap", "");
43
47
  /**
44
48
  * 自适应预览
45
49
  * 只读状态下且配置了编辑器参数autoPreview ,加载完图片后自动调整大小达到预览态,且禁用图片hover工具栏
@@ -48,10 +52,44 @@ class UploadEditorController extends runtime.EditorController {
48
52
  * @memberof UploadEditorController
49
53
  */
50
54
  __publicField(this, "autoPreview", false);
55
+ /**
56
+ * 根据配置的映射关系转换对象属性
57
+ * 将源对象的指定属性,按照映射规则映射到新对象的目标属性
58
+ *
59
+ * @param {IData} [_data={}] - 源数据对象,包含需要被映射的原始属性
60
+ * @param {string} [infoMap=''] - 映射规则字符串,格式为"源键:目标键;源键2:目标键2"
61
+ * @param {boolean} [isEmit=false] - 是否为抛值时处理,抛值时将源键替换为目标键
62
+ * @returns {IData} 转换后的新对象,仅包含映射规则中定义的属性
63
+ *
64
+ * @example
65
+ * // isEmit=false
66
+ * // 源对象:{ filesize:'10000', fileext:'.gif', folder:'file' };
67
+ * // 映射规则:'filesize:size;fileext:ext;folder:folder';
68
+ * // 转换结果: { size:'10000', ext:'.gif', folder:'file' }
69
+ *
70
+ * // isEmit=true
71
+ * // 源对象:{ filesize:'10000', fileext:'.gif', folder:'file' };
72
+ * // 映射规则:'filesize:size;fileext:ext;folder:folder';
73
+ * // 转换结果: { size:undefined, ext:undefined, folder:'file' }
74
+ */
75
+ __publicField(this, "transformInfoMap", (_data = {}, infoMap = "", isEmit = false) => {
76
+ const result = {};
77
+ const mappings = infoMap.split(";");
78
+ mappings.forEach((mapping) => {
79
+ let [sourceKey, targetKey] = mapping.split(":");
80
+ if (isEmit)
81
+ sourceKey = targetKey;
82
+ if (sourceKey && targetKey) {
83
+ Object.assign(result, { [targetKey]: _data[sourceKey] });
84
+ }
85
+ });
86
+ return result;
87
+ });
51
88
  }
52
89
  async onInit() {
53
90
  var _a;
54
91
  await super.onInit();
92
+ this.infoMap = ibiz.config.uploadEditor.infoMap;
55
93
  if ((_a = this.model.editorType) == null ? void 0 : _a.includes("PICTURE")) {
56
94
  this.accept = "image/*";
57
95
  }
@@ -76,7 +114,8 @@ class UploadEditorController extends runtime.EditorController {
76
114
  isdrag,
77
115
  uploadparams,
78
116
  exportparams,
79
- autopreview
117
+ autopreview,
118
+ infomap
80
119
  } = this.editorParams;
81
120
  if (isDrag) {
82
121
  this.isDrag = Boolean(isDrag);
@@ -99,6 +138,9 @@ class UploadEditorController extends runtime.EditorController {
99
138
  if (size) {
100
139
  this.size = Number(size);
101
140
  }
141
+ if (infomap) {
142
+ this.infoMap = infomap;
143
+ }
102
144
  if (uploadParams) {
103
145
  try {
104
146
  this.uploadParams = JSON.parse(uploadParams);
@@ -113,7 +113,13 @@ function useIViewUpload(props, valueChange, c) {
113
113
  );
114
114
  const emitValue = () => {
115
115
  const _files = [...files.value, ...uploadCache.cacheFiles];
116
- const value = _files.length > 0 ? JSON.stringify(_files.map((file) => ({ name: file.name, id: file.id }))) : null;
116
+ const value = _files.length > 0 ? JSON.stringify(
117
+ _files.map((file) => ({
118
+ name: file.name,
119
+ id: file.id,
120
+ ...c.transformInfoMap(file, c.infoMap, true)
121
+ }))
122
+ ) : null;
117
123
  uploadCache.cacheFiles = [];
118
124
  valueChange(value);
119
125
  };
@@ -138,7 +144,8 @@ function useIViewUpload(props, valueChange, c) {
138
144
  }
139
145
  uploadCache.cacheFiles.push({
140
146
  name: response.filename,
141
- id: response.fileid
147
+ id: response.fileid,
148
+ ...c.transformInfoMap(response, c.infoMap)
142
149
  });
143
150
  if (response.name.split(".").pop() === "svg") {
144
151
  const blob = svgBlob.get(response.name);
@@ -317,7 +317,8 @@ var index = {
317
317
  tip: "All Day",
318
318
  today: "Today",
319
319
  tomorrow: "To Morrow",
320
- nextweek: "Next Week"
320
+ nextweek: "Next Week",
321
+ selectdate: "Select Date"
321
322
  },
322
323
  calendarmonth: {
323
324
  lastmonth: "Last Month",
@@ -355,7 +356,9 @@ var index = {
355
356
  friday: "Fri",
356
357
  saturday: "Sat",
357
358
  sunday: "Sun"
358
- }
359
+ },
360
+ selectWeekRange: "Select week range",
361
+ weekFormat: "ww [Week] of YYYY"
359
362
  }
360
363
  },
361
364
  chart: {
@@ -318,7 +318,8 @@ var index = {
318
318
  },
319
319
  tip: "\u5168\u5929",
320
320
  tomorrow: "\u660E\u5929",
321
- nextweek: "\u4E0B\u5468"
321
+ nextweek: "\u4E0B\u5468",
322
+ selectdate: "\u9009\u62E9\u65E5\u671F"
322
323
  },
323
324
  calendarmonth: {
324
325
  weeks: {
@@ -351,7 +352,9 @@ var index = {
351
352
  friday: "\u5468\u4E94",
352
353
  saturday: "\u5468\u516D",
353
354
  sunday: "\u5468\u65E5"
354
- }
355
+ },
356
+ selectWeekRange: "\u9009\u62E9\u5468\u8303\u56F4",
357
+ weekFormat: "YYYY\u5E74\u7B2Cww\u5468"
355
358
  }
356
359
  },
357
360
  chart: {