@ibiz-template/vue3-components 0.5.0-beta.0 → 0.5.0-beta.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.
Files changed (42) hide show
  1. package/dist/index-y5KHqhSo.js +13 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{wang-editor-ZJPq4wMB.js → wang-editor-dmFMTDTv.js} +1 -1
  5. package/dist/{xlsx-util-If3i_HJj.js → xlsx-util-6X8IOKYx.js} +1 -1
  6. package/es/control/gantt/gantt.css +1 -1
  7. package/es/control/gantt/gantt.d.ts +4 -2
  8. package/es/control/gantt/gantt.mjs +34 -26
  9. package/es/control/gantt/index.d.ts +6 -2
  10. package/es/control/grid/grid/grid.css +1 -1
  11. package/es/control/grid/grid/grid.d.ts +2 -1
  12. package/es/control/grid/grid/grid.mjs +44 -7
  13. package/es/control/grid/grid/index.d.ts +5 -2
  14. package/es/control/search-bar/search-groups/search-groups.css +1 -1
  15. package/es/control/search-bar/search-groups/search-groups.d.ts +1 -0
  16. package/es/control/search-bar/search-groups/search-groups.mjs +84 -37
  17. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  18. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -0
  19. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +33 -3
  20. package/es/editor/html/wang-editor/wang-editor.mjs +29 -20
  21. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
  22. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +2 -0
  23. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +23 -2
  24. package/es/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
  25. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +3 -2
  26. package/es/index.mjs +2 -1
  27. package/lib/control/gantt/gantt.cjs +33 -25
  28. package/lib/control/gantt/gantt.css +1 -1
  29. package/lib/control/grid/grid/grid.cjs +43 -6
  30. package/lib/control/grid/grid/grid.css +1 -1
  31. package/lib/control/search-bar/search-groups/search-groups.cjs +84 -37
  32. package/lib/control/search-bar/search-groups/search-groups.css +1 -1
  33. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +33 -3
  34. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  35. package/lib/editor/html/wang-editor/wang-editor.cjs +29 -20
  36. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +23 -2
  37. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
  38. package/lib/editor/slider/ibiz-slider/ibiz-slider.css +1 -1
  39. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +3 -2
  40. package/lib/index.cjs +1 -0
  41. package/package.json +11 -11
  42. package/dist/index-cInpdOcp.js +0 -13
@@ -1 +1 @@
1
- .ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{gap:3px;justify-content:center}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid .ibiz-grid-setting{position:absolute;bottom:var(--ibiz-spacing-base-tight);left:0;z-index:99;cursor:pointer}
1
+ .ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{gap:3px;justify-content:center}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid .ibiz-grid-setting{position:absolute;bottom:var(--ibiz-spacing-base-tight);left:0;z-index:99;cursor:pointer}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:54px;font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:block}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}
@@ -91,7 +91,7 @@ export declare const GridControl: import("vue").DefineComponent<{
91
91
  _rowIndex: number;
92
92
  _columnIndex: number;
93
93
  }) => string;
94
- renderNoData: () => VNode | false;
94
+ renderNoData: () => VNode | null;
95
95
  summaryMethod: ({ columns, }: {
96
96
  columns: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<IData>[];
97
97
  data: IData[];
@@ -99,6 +99,7 @@ export declare const GridControl: import("vue").DefineComponent<{
99
99
  renderPopover: () => JSX.Element[];
100
100
  defaultSort: import("vue").Ref<IData>;
101
101
  onColumnStateClick: (columnState: IColumnState) => void;
102
+ renderBatchToolBar: () => VNode | undefined;
102
103
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
103
104
  modelData: {
104
105
  type: PropType<IDEGrid>;
@@ -1,4 +1,4 @@
1
- import { resolveComponent, mergeProps, h, createVNode, defineComponent } from 'vue';
1
+ import { resolveComponent, mergeProps, h, createVNode, createTextVNode, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { GridController } from '@ibiz-template/runtime';
4
4
  import { useITableEvent, useAppGridBase } from './grid-control.util.mjs';
@@ -143,13 +143,26 @@ const GridControl = /* @__PURE__ */ defineComponent({
143
143
  onPageSizeChange
144
144
  } = usePagination(c);
145
145
  const renderNoData = () => {
146
+ var _a;
146
147
  const {
147
148
  isLoaded
148
149
  } = c.state;
149
- return isLoaded && createVNode(resolveComponent("iBizNoData"), {
150
- "text": c.model.emptyText,
151
- "emptyTextLanguageRes": c.model.emptyTextLanguageRes
152
- }, null);
150
+ if (isLoaded) {
151
+ const quickToolbar = (_a = c.model.controls) == null ? void 0 : _a.find((item) => item.name === `${c.model.name}_quicktoolbar`);
152
+ if (quickToolbar) {
153
+ return createVNode(resolveComponent("iBizToolbarControl"), {
154
+ "modelData": quickToolbar,
155
+ "context": c.context,
156
+ "params": c.params,
157
+ "class": ns.b("quick-toolbar")
158
+ }, null);
159
+ }
160
+ return createVNode(resolveComponent("iBizNoData"), {
161
+ "text": c.model.emptyText,
162
+ "emptyTextLanguageRes": c.model.emptyTextLanguageRes
163
+ }, null);
164
+ }
165
+ return null;
153
166
  };
154
167
  const {
155
168
  tableData,
@@ -163,6 +176,29 @@ const GridControl = /* @__PURE__ */ defineComponent({
163
176
  const onColumnStateClick = (columnState) => {
164
177
  c.setColumnVisible(columnState);
165
178
  };
179
+ const renderBatchToolBar = () => {
180
+ var _a;
181
+ const batchToolbar = (_a = c.model.controls) == null ? void 0 : _a.find((item) => {
182
+ return item.name === `${c.model.name}_batchtoolbar`;
183
+ });
184
+ if (!batchToolbar || c.state.singleSelect) {
185
+ return;
186
+ }
187
+ return createVNode("div", {
188
+ "class": [ns.b("batch-toolbar"), ns.is("show", c.state.selectedData.length > 0)]
189
+ }, [createVNode("div", {
190
+ "class": ns.b("batch-toolbar-content")
191
+ }, [createVNode("div", {
192
+ "class": ns.b("batch-toolbar-text")
193
+ }, [createTextVNode("\u5DF2\u9009\u4E2D"), c.state.selectedData.length, createTextVNode("\u9879")]), createVNode("div", {
194
+ "class": ns.b("batch-toolbar-separator")
195
+ }, [createTextVNode("|")]), createVNode(resolveComponent("iBizToolbarControl"), {
196
+ "modelData": batchToolbar,
197
+ "context": c.context,
198
+ "params": c.params,
199
+ "class": ns.b("batch-toolbar-items")
200
+ }, null)])]);
201
+ };
166
202
  return {
167
203
  c,
168
204
  ns,
@@ -182,7 +218,8 @@ const GridControl = /* @__PURE__ */ defineComponent({
182
218
  summaryMethod,
183
219
  renderPopover,
184
220
  defaultSort,
185
- onColumnStateClick
221
+ onColumnStateClick,
222
+ renderBatchToolBar
186
223
  };
187
224
  },
188
225
  render() {
@@ -240,7 +277,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
240
277
  }, null), createVNode(resolveComponent("iBizGridSetting"), {
241
278
  "columnStates": state.columnStates,
242
279
  "onColumnStateClick": this.onColumnStateClick
243
- }, null)]
280
+ }, null), this.renderBatchToolBar()]
244
281
  });
245
282
  }
246
283
  });
@@ -78,9 +78,9 @@ export declare const IBizGridControl: import("@ibiz-template/vue3-util").TypeWit
78
78
  _rowIndex: number;
79
79
  _columnIndex: number;
80
80
  }) => string;
81
- renderNoData: () => false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
81
+ renderNoData: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
82
82
  [key: string]: any;
83
- }>;
83
+ }> | null;
84
84
  summaryMethod: ({ columns, }: {
85
85
  columns: import("element-plus/es/components/table/src/table-column/defaults").TableColumnCtx<IData>[];
86
86
  data: IData[];
@@ -88,6 +88,9 @@ export declare const IBizGridControl: import("@ibiz-template/vue3-util").TypeWit
88
88
  renderPopover: () => JSX.Element[];
89
89
  defaultSort: import("vue").Ref<IData>;
90
90
  onColumnStateClick: (columnState: import("@ibiz-template/runtime").IColumnState) => void;
91
+ renderBatchToolBar: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
92
+ [key: string]: any;
93
+ }> | undefined;
91
94
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
92
95
  modelData: {
93
96
  type: import("vue").PropType<import("@ibiz/model-core").IDEGrid>;
@@ -1 +1 @@
1
- .ibiz-search-groups{display:flex;align-items:center;justify-content:flex-start;height:100%}.ibiz-search-groups .ibiz-search-groups-quick-group-item{position:relative;display:inline-block;height:100%;padding:var(--ibiz-spacing-tight);margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-search-groups .ibiz-search-groups-quick-group-item.is-selected::after{position:absolute;bottom:2px;left:0;width:100%;height:2px;content:"";background-color:var(--ibiz-color-primary)}.ibiz-search-groups .ibiz-search-groups-quick-group-item:hover{color:var(--ibiz-color-primary)}.ibiz-search-groups-dropdown .el-dropdown-menu__item{width:180px;display:flex;align-items:center;justify-content:space-b}.ibiz-search-groups-dropdown .el-dropdown-menu__item .ibiz-search-groups-item-caption{display:inline-block;flex:1;margin:0 var(--ibiz-spacing-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-search-groups-more{display:flex;align-items:center;justify-content:flex-start;padding:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-search-groups-more:hover{color:var(--ibiz-color-primary)}.ibiz-search-groups-more>ion-icon{margin-left:var(--ibiz-spacing-extra-tight)}.ibiz-search-groups-more.is-selected::after{position:absolute;bottom:0;left:0;width:100%;height:2px;content:"";background-color:var(--ibiz-color-primary)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top{display:flex;align-items:center;justify-content:space-between}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top .ibiz-search-groups-content-top-left{display:flex;align-items:center;justify-content:flex-start}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top .ibiz-search-groups-content-top-left>ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top .ibiz-search-groups-content-top-right ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom{width:100%;margin-top:var(--ibiz-spacing-base);border:1px solid var(--ibiz-color-border)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header{display:flex;align-items:center;justify-content:flex-start;width:100%;background-color:var(--ibiz-color-tertiary-light-hover)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header .ibiz-search-groups-name{width:40%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header .ibiz-search-groups-show{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header .ibiz-search-groups-action{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row{border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:flex-start}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row:nth-last-child(1){border-bottom:none}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-name{width:40%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-show{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-action{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-action .el-link{margin-right:var(--ibiz-spacing-loose)}.ibiz-search-groups-new-dialog .ibiz-search-groups-new-dialog-footer .ibiz-search-groups-cancel-btn{color:var(--ibiz-color-text-3);background-color:transparent}.ibiz-search-groups-new-dialog .ibiz-search-groups-new-dialog-footer .ibiz-search-groups-cancel-btn:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-search-groups-edit-dialog .ibiz-search-groups-edit-dialog-footer .ibiz-search-groups-cancel-btn{color:var(--ibiz-color-text-3);background-color:transparent}.ibiz-search-groups-edit-dialog .ibiz-search-groups-edit-dialog-footer .ibiz-search-groups-cancel-btn:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-search-groups-remove-dialog .ibiz-search-groups-remove-dialog-content{margin-bottom:var(--ibiz-spacing-base)}.ibiz-search-groups-remove-dialog .ibiz-search-groups-remove-dialog-content>span{padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-tight);margin:0 var(--ibiz-spacing-tight);color:var(--ibiz-color-danger-text);background-color:var(--ibiz-color-danger);border-radius:var(--ibiz-border-radius-small)}.ibiz-search-groups-remove-dialog .ibiz-search-groups-remove-dialog-tip{color:var(--ibiz-color-text-3)}.ibiz-search-groups-remove-confirm-btn.el-button{background-color:var(--ibiz-color-danger)}.ibiz-search-groups-remove-confirm-btn:hover{background-color:var(--ibiz-color-danger-hover)}.ibiz-search-groups-remove-cancel-btn{color:var(--ibiz-color-text-3);background-color:transparent}.ibiz-search-groups-remove-cancel-btn:hover{color:var(--ibiz-color-primary);background-color:transparent}
1
+ .ibiz-search-groups{display:flex;align-items:center;justify-content:flex-start;height:100%}.ibiz-search-groups .ibiz-search-groups-quick-group-item{position:relative;display:inline-block;height:100%;padding:var(--ibiz-spacing-tight);margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-search-groups .ibiz-search-groups-quick-group-item.is-selected::after{position:absolute;bottom:2px;left:0;width:100%;height:2px;content:"";background-color:var(--ibiz-color-primary)}.ibiz-search-groups .ibiz-search-groups-quick-group-item:hover{color:var(--ibiz-color-primary)}.ibiz-search-groups-dropdown .el-dropdown-menu__item{width:180px;display:flex;align-items:center;justify-content:space-b}.ibiz-search-groups-dropdown .el-dropdown-menu__item .ibiz-search-groups-item-caption{display:inline-block;flex:1;margin:0 var(--ibiz-spacing-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-search-groups-more{display:flex;align-items:center;justify-content:flex-start;padding:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-search-groups-more:hover{color:var(--ibiz-color-primary)}.ibiz-search-groups-more>ion-icon{margin-left:var(--ibiz-spacing-extra-tight)}.ibiz-search-groups-more.is-selected::after{position:absolute;bottom:0;left:0;width:100%;height:2px;content:"";background-color:var(--ibiz-color-primary)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top{display:flex;align-items:center;justify-content:space-between}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top .ibiz-search-groups-content-top-left{display:flex;align-items:center;justify-content:flex-start}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top .ibiz-search-groups-content-top-left>ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-top .ibiz-search-groups-content-top-right ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom{width:100%;margin-top:var(--ibiz-spacing-base);border:1px solid var(--ibiz-color-border)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header{display:flex;align-items:center;justify-content:flex-start;width:100%;background-color:var(--ibiz-color-tertiary-light-hover)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header .ibiz-search-groups-name{width:40%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header .ibiz-search-groups-show{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-header .ibiz-search-groups-action{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row{position:relative;cursor:pointer;border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:flex-start}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row:nth-last-child(1){border-bottom:none}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-name{width:40%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-show{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-action{width:30%;padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row .ibiz-search-groups-action .el-link{margin-right:var(--ibiz-spacing-loose)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row:hover{background-color:var(--ibiz-color-primary-light-default)}.ibiz-search-groups-manage-dialog .ibiz-search-groups-manage-dialog-content .ibiz-search-groups-content-bottom .ibiz-search-groups-table-body .ibiz-search-groups-table-row-ghost{background-color:var(--ibiz-color-primary-light-default);opacity:.5}.ibiz-search-groups-new-dialog .ibiz-search-groups-new-dialog-footer .ibiz-search-groups-cancel-btn{color:var(--ibiz-color-text-3);background-color:transparent}.ibiz-search-groups-new-dialog .ibiz-search-groups-new-dialog-footer .ibiz-search-groups-cancel-btn:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-search-groups-edit-dialog .ibiz-search-groups-edit-dialog-footer .ibiz-search-groups-cancel-btn{color:var(--ibiz-color-text-3);background-color:transparent}.ibiz-search-groups-edit-dialog .ibiz-search-groups-edit-dialog-footer .ibiz-search-groups-cancel-btn:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-search-groups-remove-dialog .ibiz-search-groups-remove-dialog-content{margin-bottom:var(--ibiz-spacing-base)}.ibiz-search-groups-remove-dialog .ibiz-search-groups-remove-dialog-content>span{padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-tight);margin:0 var(--ibiz-spacing-tight);color:var(--ibiz-color-danger-text);background-color:var(--ibiz-color-danger);border-radius:var(--ibiz-border-radius-small)}.ibiz-search-groups-remove-dialog .ibiz-search-groups-remove-dialog-tip{color:var(--ibiz-color-text-3)}.ibiz-search-groups-remove-confirm-btn.el-button{background-color:var(--ibiz-color-danger)}.ibiz-search-groups-remove-confirm-btn:hover{background-color:var(--ibiz-color-danger-hover)}.ibiz-search-groups-remove-cancel-btn{color:var(--ibiz-color-text-3);background-color:transparent}.ibiz-search-groups-remove-cancel-btn:hover{color:var(--ibiz-color-primary);background-color:transparent}
@@ -30,6 +30,7 @@ export declare const SearchGroups: import("vue").DefineComponent<{
30
30
  editGroup: (groupItem: IBackendSearchBarGroup) => void;
31
31
  removeGroup: (groupItem: IBackendSearchBarGroup) => void;
32
32
  isActiveMore: import("vue").ComputedRef<boolean>;
33
+ onDragChange: (evt: IData) => Promise<void>;
33
34
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
34
35
  controller: {
35
36
  type: PropType<SearchBarController>;
@@ -2,12 +2,17 @@ import { ref, computed, createTextVNode, createVNode, resolveComponent, defineCo
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './search-groups.css';
4
4
  import { ElMessageBox } from 'element-plus';
5
+ import draggable from 'vuedraggable';
6
+ import { cloneDeep } from 'lodash-es';
5
7
  import { useNewGroup } from './new-group-util.mjs';
6
8
  import { useEditGroup } from './edit-group-util.mjs';
7
9
 
8
10
  "use strict";
9
11
  const SearchGroups = /* @__PURE__ */ defineComponent({
10
12
  name: "IBizSearchGroups",
13
+ components: {
14
+ draggable
15
+ },
11
16
  props: {
12
17
  controller: {
13
18
  type: Object,
@@ -81,7 +86,6 @@ const SearchGroups = /* @__PURE__ */ defineComponent({
81
86
  cancelButtonText: "\u53D6\u6D88",
82
87
  cancelButtonClass: ns.b("remove-cancel-btn")
83
88
  }).then(async () => {
84
- console.log("\u5220\u9664\u5206\u7EC4\u63D0\u4EA4", groupItem);
85
89
  if (groupItem.id) {
86
90
  const res = await c.service.remove(groupItem.id);
87
91
  if (res.ok) {
@@ -95,6 +99,38 @@ const SearchGroups = /* @__PURE__ */ defineComponent({
95
99
  }).catch(() => {
96
100
  });
97
101
  };
102
+ const onDragChange = async (evt) => {
103
+ c.state.searchBarGroups.forEach((item, index) => {
104
+ item.order = (index + 1) * 100;
105
+ });
106
+ if (evt.moved) {
107
+ const newIndex = evt.moved.newIndex;
108
+ const oldIndex = evt.moved.oldIndex;
109
+ const startIndex = Math.min(newIndex, oldIndex);
110
+ const endIndex = Math.max(newIndex, oldIndex) + 1;
111
+ const changedSearchBarGroups = cloneDeep(c.state.searchBarGroups.slice(startIndex, endIndex));
112
+ if (changedSearchBarGroups.length > 0) {
113
+ const updateBatch = async () => {
114
+ await c.service.updateBatch(changedSearchBarGroups);
115
+ };
116
+ const unSavedGroups = changedSearchBarGroups.filter((group) => !group.saved);
117
+ if (unSavedGroups.length) {
118
+ const res = await c.service.createBatch(unSavedGroups);
119
+ if (res.ok) {
120
+ await updateBatch();
121
+ unSavedGroups.forEach((group) => {
122
+ const unSavedGroup = c.state.searchBarGroups.find((item) => item.id === group.id);
123
+ if (unSavedGroup) {
124
+ unSavedGroup.saved = true;
125
+ }
126
+ });
127
+ }
128
+ } else {
129
+ await updateBatch();
130
+ }
131
+ }
132
+ }
133
+ };
98
134
  return {
99
135
  ns,
100
136
  c,
@@ -118,7 +154,8 @@ const SearchGroups = /* @__PURE__ */ defineComponent({
118
154
  handleEditFormCancel,
119
155
  editGroup,
120
156
  removeGroup,
121
- isActiveMore
157
+ isActiveMore,
158
+ onDragChange
122
159
  };
123
160
  },
124
161
  render() {
@@ -260,39 +297,49 @@ const SearchGroups = /* @__PURE__ */ defineComponent({
260
297
  "title": "\u5206\u7EC4\u7BA1\u7406",
261
298
  "modal-class": this.ns.b("manage-dialog")
262
299
  }, {
263
- default: () => {
264
- var _a2;
265
- return [createVNode("div", {
266
- "class": this.ns.b("manage-dialog-content")
267
- }, [createVNode("div", {
268
- "class": this.ns.b("content-top")
269
- }, [createVNode("div", {
270
- "class": this.ns.b("content-top-left")
271
- }, [createVNode("ion-icon", {
272
- "name": "alert-circle-outline"
273
- }, null), createTextVNode("Tips\uFF1A\u7BA1\u7406\u641C\u7D22\u680F\u7684\u5206\u7EC4")]), createVNode("div", {
274
- "class": this.ns.b("content-top-right")
275
- }, [createVNode(resolveComponent("el-button"), {
276
- "onClick": () => {
277
- this.newDialogVisible = true;
278
- }
279
- }, {
280
- default: () => [createVNode("ion-icon", {
281
- "name": "add-outline"
282
- }, null), createTextVNode("\u65B0\u5EFA\u5206\u7EC4")]
283
- })])]), createVNode("div", {
284
- "class": this.ns.b("content-bottom")
285
- }, [createVNode("div", {
286
- "class": this.ns.b("table-header")
287
- }, [createVNode("div", {
288
- "class": this.ns.b("name")
289
- }, [createTextVNode("\u540D\u79F0")]), createVNode("div", {
290
- "class": this.ns.b("show")
291
- }, [createTextVNode("\u663E\u793A")]), createVNode("div", {
292
- "class": this.ns.b("action")
293
- }, [createTextVNode("\u64CD\u4F5C")])]), createVNode("div", {
294
- "class": this.ns.b("table-body")
295
- }, [(_a2 = this.c.state.searchBarGroups) == null ? void 0 : _a2.map((groupItem) => {
300
+ default: () => [createVNode("div", {
301
+ "class": this.ns.b("manage-dialog-content")
302
+ }, [createVNode("div", {
303
+ "class": this.ns.b("content-top")
304
+ }, [createVNode("div", {
305
+ "class": this.ns.b("content-top-left")
306
+ }, [createVNode("ion-icon", {
307
+ "name": "alert-circle-outline"
308
+ }, null), createTextVNode("Tips\uFF1A\u7BA1\u7406\u641C\u7D22\u680F\u7684\u5206\u7EC4")]), createVNode("div", {
309
+ "class": this.ns.b("content-top-right")
310
+ }, [createVNode(resolveComponent("el-button"), {
311
+ "onClick": () => {
312
+ this.newDialogVisible = true;
313
+ }
314
+ }, {
315
+ default: () => [createVNode("ion-icon", {
316
+ "name": "add-outline"
317
+ }, null), createTextVNode("\u65B0\u5EFA\u5206\u7EC4")]
318
+ })])]), createVNode("div", {
319
+ "class": this.ns.b("content-bottom")
320
+ }, [createVNode("div", {
321
+ "class": this.ns.b("table-header")
322
+ }, [createVNode("div", {
323
+ "class": this.ns.b("name")
324
+ }, [createTextVNode("\u540D\u79F0")]), createVNode("div", {
325
+ "class": this.ns.b("show")
326
+ }, [createTextVNode("\u663E\u793A")]), createVNode("div", {
327
+ "class": this.ns.b("action")
328
+ }, [createTextVNode("\u64CD\u4F5C")])]), createVNode(draggable, {
329
+ "class": this.ns.b("table-body"),
330
+ "modelValue": this.c.state.searchBarGroups,
331
+ "onUpdate:modelValue": ($event) => this.c.state.searchBarGroups = $event,
332
+ "group": this.c.model.id,
333
+ "itemKey": "id",
334
+ "sort": true,
335
+ "force-fallback": true,
336
+ "animation": 500,
337
+ "ghost-class": this.ns.b("table-row-ghost"),
338
+ "onChange": (evt) => this.onDragChange(evt)
339
+ }, {
340
+ item: ({
341
+ element: groupItem
342
+ }) => {
296
343
  return createVNode("div", {
297
344
  "class": this.ns.b("table-row")
298
345
  }, [createVNode("div", {
@@ -319,8 +366,8 @@ const SearchGroups = /* @__PURE__ */ defineComponent({
319
366
  }, {
320
367
  default: () => [createTextVNode("\u5220\u9664")]
321
368
  })])]);
322
- })])])])];
323
- }
369
+ }
370
+ })])])]
324
371
  })]);
325
372
  }
326
373
  });
@@ -1 +1 @@
1
- .ibiz-dropdown{width:var(--ibiz-dropdown-width);--ibiz-dropdown-width:100%}.ibiz-dropdown__branch-node>.el-tree-node__content{--ibiz-color-disabled-text:var(--ibiz-color-text-0)}.ibiz-dropdown .el-select{width:100%}.ibiz-dropdown--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}
1
+ .ibiz-dropdown{width:var(--ibiz-dropdown-width);--ibiz-dropdown-width:100%;--ibiz-dropdown-readonly-text-item-color:var(--ibiz-form-item-text-color)}.ibiz-dropdown__branch-node>.el-tree-node__content{--ibiz-color-disabled-text:var(--ibiz-color-text-0)}.ibiz-dropdown .el-select{width:100%}.ibiz-dropdown-readonly-text-item{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-dropdown-readonly-text-item-color)}.ibiz-dropdown-readonly-text-item .ibiz-icon{padding-right:var(--ibiz-spacing-extra-tight)}.ibiz-dropdown-select-option-content{width:100%;height:100%;color:var(--ibiz-dropdown-select-option-item-color)}.ibiz-dropdown-select-option-content .ibiz-icon{padding-right:var(--ibiz-spacing-extra-tight)}
@@ -33,6 +33,7 @@ export declare const IBizDropdown: import("vue").DefineComponent<{
33
33
  treeNodes: Ref<IData[]>;
34
34
  cssVars: import("vue").ComputedRef<Record<string, string>>;
35
35
  handleKeyUp: (e: KeyboardEvent) => void;
36
+ getCodeListItem: (text: string) => IData | undefined;
36
37
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
37
38
  change: (_value: unknown, _name?: string | undefined) => boolean;
38
39
  blur: (_event?: IData | undefined) => boolean;
@@ -38,6 +38,9 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
38
38
  const tempObj = {
39
39
  label: codeItem.text,
40
40
  value: codeItem.value.toString(),
41
+ color: codeItem == null ? void 0 : codeItem.color,
42
+ textCls: codeItem == null ? void 0 : codeItem.textCls,
43
+ sysImage: codeItem.sysImage,
41
44
  disabled: codeItem.disableSelect === true,
42
45
  children: []
43
46
  };
@@ -123,6 +126,10 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
123
126
  const customNodeClass = (data, _node) => {
124
127
  return data.children.length ? ns.e("branch-node") : null;
125
128
  };
129
+ const getCodeListItem = (text) => {
130
+ const list = hasChildren.value ? codeListItems.value : items.value;
131
+ return list.find((item) => item.text === text);
132
+ };
126
133
  return {
127
134
  ns,
128
135
  c,
@@ -136,7 +143,8 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
136
143
  editorRef,
137
144
  treeNodes,
138
145
  cssVars,
139
- handleKeyUp
146
+ handleKeyUp,
147
+ getCodeListItem
140
148
  };
141
149
  },
142
150
  render() {
@@ -172,14 +180,36 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
172
180
  "value": item.value.toString(),
173
181
  "label": item.text,
174
182
  "disabled": item.disableSelect === true
175
- }, null);
183
+ }, {
184
+ default: () => {
185
+ return createVNode("div", {
186
+ "class": [this.ns.b("select-option-content"), item.textCls ? item.textCls : null],
187
+ "style": item.color ? this.ns.cssVarBlock({
188
+ "select-option-item-color": `${item.color}`
189
+ }) : ""
190
+ }, [item.sysImage && createVNode(resolveComponent("iBizIcon"), {
191
+ "icon": item.sysImage
192
+ }, null), item.text]);
193
+ }
194
+ });
176
195
  })) ? _slot : {
177
196
  default: () => [_slot]
178
197
  });
198
+ const readonlyContent = this.valueText.split(",").map((text) => {
199
+ const codeListItem = this.getCodeListItem(text);
200
+ return createVNode("span", {
201
+ "class": [this.ns.b("readonly-text-item"), codeListItem == null ? void 0 : codeListItem.textCls],
202
+ "style": (codeListItem == null ? void 0 : codeListItem.color) ? this.ns.cssVarBlock({
203
+ "readonly-text-item-color": `${codeListItem.color}`
204
+ }) : ""
205
+ }, [(codeListItem == null ? void 0 : codeListItem.sysImage) && createVNode(resolveComponent("iBizIcon"), {
206
+ "icon": codeListItem == null ? void 0 : codeListItem.sysImage
207
+ }, null), text]);
208
+ });
179
209
  return createVNode("div", {
180
210
  "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : ""],
181
211
  "style": this.cssVars
182
- }, [this.readonly ? this.valueText : editContent]);
212
+ }, [this.readonly ? readonlyContent : editContent]);
183
213
  }
184
214
  });
185
215
 
@@ -4,8 +4,8 @@ import { getCookie } from 'qx-util';
4
4
  import { isNil } from 'ramda';
5
5
  import { getHtmlProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
6
6
  import { CoreConst } from '@ibiz-template/core';
7
- import './wang-editor.css';
8
7
  import { ElMessageBox } from 'element-plus';
8
+ import './wang-editor.css';
9
9
 
10
10
  "use strict";
11
11
  const IBizHtml = /* @__PURE__ */ defineComponent({
@@ -229,16 +229,6 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
229
229
  resizeObserver.observe(toolbarRef.value.selector);
230
230
  }
231
231
  };
232
- const changeEditState = () => {
233
- readonlyState.value = !readonlyState.value;
234
- if (!readonlyState.value) {
235
- enable();
236
- editorRef.value.focus();
237
- moveToLastStr();
238
- } else {
239
- disable();
240
- }
241
- };
242
232
  const moveToLastStr = () => {
243
233
  var _a, _b;
244
234
  if (props.value) {
@@ -252,6 +242,16 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
252
242
  }
253
243
  }
254
244
  };
245
+ const changeEditState = () => {
246
+ readonlyState.value = !readonlyState.value;
247
+ if (!readonlyState.value) {
248
+ enable();
249
+ editorRef.value.focus();
250
+ moveToLastStr();
251
+ } else {
252
+ disable();
253
+ }
254
+ };
255
255
  const renderCancelMessage = () => {
256
256
  return createVNode("div", {
257
257
  "class": ns.be("message", "message-content")
@@ -314,6 +314,23 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
314
314
  }
315
315
  });
316
316
  };
317
+ const isAllowRenderFullScreen = () => {
318
+ if (enableFullScreen.value) {
319
+ if (isFullScreen.value) {
320
+ return createVNode("i", {
321
+ "class": "fa fa-compress",
322
+ "aria-hidden": "true",
323
+ "onClick": () => changeFullScreenState()
324
+ }, null);
325
+ }
326
+ return createVNode("i", {
327
+ "class": "fa fa-expand",
328
+ "aria-hidden": "true",
329
+ "onClick": () => changeFullScreenState()
330
+ }, null);
331
+ }
332
+ return null;
333
+ };
317
334
  const renderHeaserToolbar = () => {
318
335
  if (hasEnableEdit.value || enableFullScreen.value) {
319
336
  return createVNode("div", {
@@ -322,15 +339,7 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
322
339
  "class": "fa fa-edit",
323
340
  "aria-hidden": "true",
324
341
  "onClick": () => changeEditState()
325
- }, null) : null, enableFullScreen.value ? isFullScreen.value ? createVNode("i", {
326
- "class": "fa fa-compress",
327
- "aria-hidden": "true",
328
- "onClick": () => changeFullScreenState()
329
- }, null) : createVNode("i", {
330
- "class": "fa fa-expand",
331
- "aria-hidden": "true",
332
- "onClick": () => changeFullScreenState()
333
- }, null) : null]);
342
+ }, null) : null, isAllowRenderFullScreen()]);
334
343
  }
335
344
  return null;
336
345
  };
@@ -1 +1 @@
1
- .ibiz-radio__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-radio--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}
1
+ .ibiz-radio__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-radio--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-radio__button--round-corner{margin-right:var(--ibiz-spacing-base-loose)}.ibiz-radio__button--round-corner.el-radio-button.is-active .el-radio-button__inner{background-color:var(--ibiz-color-secondary-light-default);border-color:var(--ibiz-color-secondary-light-default);color:var(--ibiz-color-primary)}.ibiz-radio__button--round-corner.el-radio-button.is-active .el-radio-button__original-radio:checked+.el-radio-button__inner{box-shadow:none}.ibiz-radio__button--round-corner.el-radio-button .el-radio-button__inner{border-radius:var(--ibiz-height-control-default);padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);background-color:var(--ibiz-color-tertiary-light-hover);border-color:var(--ibiz-color-tertiary-light-hover)}.ibiz-radio__button--round-corner.el-radio-button .el-radio-button__inner:nth-last-child(1){margin:0}.ibiz-radio__button--round-corner.el-radio-button.is-disabled.is-active .el-radio-button__inner{border:var(--ibiz-border-thickness-control) solid var(--ibiz-color-disabled-text)}.ibiz-radio__button--round-corner.el-radio-button.is-disabled .el-radio-button__inner{color:var(--ibiz-color-disabled-text);border-color:var(--ibiz-color-disabled-border);background:var(--ibiz-color-disabled-bg)}
@@ -25,6 +25,8 @@ export declare const IBizRadio: import("vue").DefineComponent<{
25
25
  valueText: import("vue").ComputedRef<any>;
26
26
  onSelectValueChange: (value: string | number) => void;
27
27
  editorRef: import("vue").Ref<any>;
28
+ renderMode: string;
29
+ isBtnRoundCorner: boolean;
28
30
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
31
  change: (_value: unknown, _name?: string | undefined) => boolean;
30
32
  blur: (_event?: IData | undefined) => boolean;
@@ -17,6 +17,16 @@ const IBizRadio = /* @__PURE__ */ defineComponent({
17
17
  const ns = useNamespace("radio");
18
18
  const c = props.controller;
19
19
  const editorModel = c.model;
20
+ let renderMode = "radio";
21
+ let isBtnRoundCorner = false;
22
+ if (editorModel.editorParams) {
23
+ if (editorModel.editorParams.renderMode) {
24
+ renderMode = editorModel.editorParams.renderMode;
25
+ }
26
+ if (editorModel.editorParams.isBtnRoundCorner) {
27
+ isBtnRoundCorner = c.toBoolean(editorModel.editorParams.isBtnRoundCorner);
28
+ }
29
+ }
20
30
  const onSelectValueChange = (value) => {
21
31
  emit("change", value);
22
32
  };
@@ -49,7 +59,9 @@ const IBizRadio = /* @__PURE__ */ defineComponent({
49
59
  items,
50
60
  valueText,
51
61
  onSelectValueChange,
52
- editorRef
62
+ editorRef,
63
+ renderMode,
64
+ isBtnRoundCorner
53
65
  };
54
66
  },
55
67
  render() {
@@ -61,7 +73,7 @@ const IBizRadio = /* @__PURE__ */ defineComponent({
61
73
  "class": this.ns.e("group"),
62
74
  "model-value": notNilEmpty(this.value) ? String(this.value) : "",
63
75
  "onChange": this.onSelectValueChange
64
- }, _isSlot(_slot = this.items.map((_item, index) => createVNode(resolveComponent("el-radio"), {
76
+ }, _isSlot(_slot = this.items.map((_item, index) => this.renderMode === "radio" ? createVNode(resolveComponent("el-radio"), {
65
77
  "key": index,
66
78
  "label": notNilEmpty(_item.value) ? String(_item.value) : "",
67
79
  "disabled": this.disabled || _item.disableSelect === true
@@ -69,6 +81,15 @@ const IBizRadio = /* @__PURE__ */ defineComponent({
69
81
  default: () => [createVNode("span", {
70
82
  "class": this.ns.e("text")
71
83
  }, [_item.text])]
84
+ }) : createVNode(resolveComponent("el-radio-button"), {
85
+ "key": index,
86
+ "class": [this.ns.e("button"), this.isBtnRoundCorner ? this.ns.em("button", "round-corner") : ""],
87
+ "label": notNilEmpty(_item.value) ? String(_item.value) : "",
88
+ "disabled": this.disabled || _item.disableSelect === true
89
+ }, {
90
+ default: () => [createVNode("span", {
91
+ "class": this.ns.em("button", "text")
92
+ }, [_item.text])]
72
93
  }))) ? _slot : {
73
94
  default: () => [_slot]
74
95
  })]);
@@ -1 +1 @@
1
- .ibiz-slider{width:100%;display:flex;align-items:center}.ibiz-slider__text .el-slider__button-wrapper{display:none}.ibiz-slider__text .el-slider__runway.is-disabled .el-slider__bar{background-color:var(--ibiz-color-primary)}.ibiz-slider__text--val{margin-left:var(--ibiz-spacing-tight)}
1
+ .ibiz-slider{width:100%;display:flex;align-items:center}.ibiz-slider__text .el-slider__button,.ibiz-slider__text .el-slider__button-wrapper{width:1px;height:var(--ibiz-height-control-default);border:none}.ibiz-slider__text .el-slider__bar{border-radius:var(--ibiz-border-radius-small)}.ibiz-slider__text .el-slider__runway.is-disabled .el-slider__bar{background-color:var(--ibiz-color-primary)}.ibiz-slider__text--val{margin-left:var(--ibiz-spacing-tight)}
@@ -1,6 +1,7 @@
1
1
  import { ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { getInputNumberProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './ibiz-input-number.css';
4
+ import { isNilOrEmpty } from 'qx-util';
4
5
 
5
6
  "use strict";
6
7
  const IBizInputNumber = /* @__PURE__ */ defineComponent({
@@ -12,7 +13,7 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
12
13
  }) {
13
14
  const ns = useNamespace("input-number");
14
15
  const c = props.controller;
15
- const currentVal = ref("");
16
+ const currentVal = ref(null);
16
17
  watch(() => props.value, (newVal, oldVal) => {
17
18
  if (newVal !== oldVal) {
18
19
  const number = Number(newVal);
@@ -61,7 +62,7 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
61
62
  } = this.c.parent;
62
63
  let content = null;
63
64
  if (this.readonly) {
64
- content = `${this.currentVal}`;
65
+ content = isNilOrEmpty(this.currentVal) ? "" : `${this.currentVal}`;
65
66
  if (content && unitName) {
66
67
  content += unitName;
67
68
  }