@ibiz-template/vue3-components 0.7.30 → 0.7.31-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/dist/chart-0UV2FAN6.js +1 -0
  2. package/dist/index-maJGu4b8.js +4 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{xlsx-util-sKVlHqdj.js → xlsx-util-OUxT4A8O.js} +1 -1
  6. package/es/common/index.mjs +2 -0
  7. package/es/common/pql-editor/components/index.d.ts +1 -0
  8. package/es/common/pql-editor/components/index.mjs +3 -0
  9. package/es/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.css +1 -0
  10. package/es/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.d.ts +28 -0
  11. package/es/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.mjs +49 -0
  12. package/es/common/pql-editor/pql-editor.css +1 -0
  13. package/es/common/pql-editor/pql-editor.d.ts +68 -0
  14. package/es/common/pql-editor/pql-editor.mjs +606 -0
  15. package/es/common/pql-editor/pql-editor.module.d.ts +47 -0
  16. package/es/common/pql-editor/pql-editor.module.mjs +176 -0
  17. package/es/common/pql-editor/utils/index.d.ts +15 -0
  18. package/es/common/pql-editor/utils/index.mjs +270 -0
  19. package/es/control/chart/chart.mjs +32 -19
  20. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
  21. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.d.ts +8 -0
  22. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +12 -2
  23. package/es/control/dashboard/portlet/report-portlet/index.d.ts +1 -0
  24. package/es/control/dashboard/portlet/report-portlet/report-portlet.d.ts +1 -0
  25. package/es/control/dashboard/portlet/report-portlet/report-portlet.mjs +10 -2
  26. package/es/control/grid/grid/grid.mjs +2 -2
  27. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +4 -2
  28. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +32 -2
  29. package/es/control/grid/grid-column/grid-field-column/index.d.ts +4 -0
  30. package/es/control/search-bar/filter-tree/filter-tree.css +1 -1
  31. package/es/control/search-bar/filter-tree/filter-tree.d.ts +30 -3
  32. package/es/control/search-bar/filter-tree/filter-tree.mjs +83 -9
  33. package/es/control/search-bar/search-bar.mjs +10 -1
  34. package/es/editor/array/ibiz-array/ibiz-array.d.ts +1 -1
  35. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.d.ts +1 -1
  36. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.d.ts +1 -1
  37. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
  38. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +1 -1
  39. package/es/editor/check-box-list/checkbox-list-editor.controller.d.ts +7 -0
  40. package/es/editor/check-box-list/checkbox-list-editor.controller.mjs +11 -0
  41. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.css +1 -1
  42. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -1
  43. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +2 -1
  44. package/es/editor/code/monaco-editor/monaco-editor.d.ts +1 -1
  45. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.d.ts +1 -1
  46. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +1 -1
  47. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +1 -1
  48. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.d.ts +1 -1
  49. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +1 -1
  50. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.d.ts +1 -1
  51. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -1
  52. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.d.ts +1 -1
  53. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.d.ts +1 -1
  54. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
  55. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +1 -1
  56. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +1 -1
  57. package/es/editor/html/wang-editor/wang-editor.d.ts +1 -1
  58. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.d.ts +1 -1
  59. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +1 -1
  60. package/es/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.d.ts +1 -1
  61. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
  62. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +1 -1
  63. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +2 -1
  64. package/es/editor/radio-button-list/radio-button-list.controller.d.ts +8 -0
  65. package/es/editor/radio-button-list/radio-button-list.controller.mjs +23 -0
  66. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +1 -1
  67. package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +1 -1
  68. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +1 -1
  69. package/es/editor/span/span/span.css +1 -1
  70. package/es/editor/span/span/span.d.ts +1 -1
  71. package/es/editor/span/span/span.mjs +2 -1
  72. package/es/editor/span/span-link/span-link.d.ts +1 -1
  73. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +1 -1
  74. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -1
  75. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.d.ts +1 -1
  76. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +1 -1
  77. package/es/editor/text-box/input/input.d.ts +1 -1
  78. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -1
  79. package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.d.ts +1 -1
  80. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -1
  81. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.d.ts +1 -1
  82. package/es/interface/i-pql-item.d.ts +52 -0
  83. package/es/interface/i-pql-item.mjs +1 -0
  84. package/es/interface/i-pql-node.d.ts +37 -0
  85. package/es/interface/i-pql-node.mjs +1 -0
  86. package/es/interface/i-schema-field.d.ts +51 -0
  87. package/es/interface/i-schema-field.mjs +1 -0
  88. package/es/interface/index.d.ts +3 -0
  89. package/es/interface/index.mjs +5 -0
  90. package/lib/common/index.cjs +2 -0
  91. package/lib/common/pql-editor/components/index.cjs +7 -0
  92. package/lib/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.cjs +51 -0
  93. package/lib/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.css +1 -0
  94. package/lib/common/pql-editor/pql-editor.cjs +608 -0
  95. package/lib/common/pql-editor/pql-editor.css +1 -0
  96. package/lib/common/pql-editor/pql-editor.module.cjs +182 -0
  97. package/lib/common/pql-editor/utils/index.cjs +280 -0
  98. package/lib/control/chart/chart.cjs +31 -18
  99. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +12 -2
  100. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
  101. package/lib/control/dashboard/portlet/report-portlet/report-portlet.cjs +9 -1
  102. package/lib/control/grid/grid/grid.cjs +2 -2
  103. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +32 -2
  104. package/lib/control/search-bar/filter-tree/filter-tree.cjs +82 -8
  105. package/lib/control/search-bar/filter-tree/filter-tree.css +1 -1
  106. package/lib/control/search-bar/search-bar.cjs +10 -1
  107. package/lib/editor/check-box-list/checkbox-list-editor.controller.cjs +11 -0
  108. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +2 -1
  109. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.css +1 -1
  110. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +1 -1
  111. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +2 -1
  112. package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
  113. package/lib/editor/radio-button-list/radio-button-list.controller.cjs +23 -0
  114. package/lib/editor/span/span/span.cjs +2 -1
  115. package/lib/editor/span/span/span.css +1 -1
  116. package/lib/interface/i-pql-item.cjs +3 -0
  117. package/lib/interface/i-pql-node.cjs +3 -0
  118. package/lib/interface/i-schema-field.cjs +3 -0
  119. package/lib/interface/index.cjs +7 -0
  120. package/package.json +6 -6
  121. package/dist/chart-J-0VPQfg.js +0 -1
  122. package/dist/index-5Hb8nfPm.js +0 -4
@@ -41,7 +41,8 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
41
41
  vue.watch(() => props.row, async () => {
42
42
  CustomHtml.value = await props.controller.getCustomHtml(props.row);
43
43
  }, {
44
- deep: true
44
+ deep: true,
45
+ immediate: true
45
46
  });
46
47
  const fieldValue = vue.computed(() => props.row.data[props.controller.fieldName]);
47
48
  const formatValue = vue.computed(() => props.controller.formatValue(fieldValue.value));
@@ -89,6 +90,25 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
89
90
  }
90
91
  };
91
92
  vue3Util.useCodeListListen(props.controller.model.appCodeListId, props.controller.context.srfappid, fn);
93
+ const findLayoutPanel = () => {
94
+ var _a;
95
+ const {
96
+ controlRenders = []
97
+ } = props.controller.model;
98
+ return (_a = controlRenders.find((renderItem) => renderItem.renderType === "LAYOUTPANEL")) == null ? void 0 : _a.layoutPanel;
99
+ };
100
+ const renderPanelItemLayout = (item, modelData) => {
101
+ const {
102
+ context,
103
+ params
104
+ } = props.controller;
105
+ return vue.createVNode(vue.resolveComponent("iBizControlShell"), {
106
+ "data": item,
107
+ "modelData": modelData,
108
+ "context": context,
109
+ "params": params
110
+ }, null);
111
+ };
92
112
  return {
93
113
  ns,
94
114
  onCellClick,
@@ -102,7 +122,9 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
102
122
  codeListValue,
103
123
  tooltip,
104
124
  zIndex,
105
- codeListItems
125
+ codeListItems,
126
+ findLayoutPanel,
127
+ renderPanelItemLayout
106
128
  };
107
129
  },
108
130
  render() {
@@ -117,11 +139,19 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
117
139
  "zIndex": this.zIndex
118
140
  }, null) : null;
119
141
  let content = null;
142
+ const panel = this.findLayoutPanel();
120
143
  if (c.isCustomCode) {
121
144
  content = vue.createVNode("span", {
122
145
  "class": this.ns.e("script"),
123
146
  "innerHTML": this.CustomHtml
124
147
  }, null);
148
+ } else if (panel) {
149
+ content = vue.createVNode(vue.resolveComponent("iBizControlShell"), {
150
+ "data": this.row.data,
151
+ "modelData": panel,
152
+ "context": c.context,
153
+ "params": c.params
154
+ }, null);
125
155
  } else if (c.codeList) {
126
156
  content = vue.createVNode(vue.resolveComponent("iBizCodeList"), {
127
157
  "class": this.ns.e("text"),
@@ -80,9 +80,20 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
80
80
  parent: {
81
81
  type: String,
82
82
  required: true
83
+ },
84
+ filterMode: {
85
+ type: String,
86
+ default: "default"
87
+ },
88
+ customCond: {
89
+ type: String,
90
+ default: ""
91
+ },
92
+ context: {
93
+ type: Object
83
94
  }
84
95
  },
85
- emits: ["confirm", "cancel", "change"],
96
+ emits: ["confirm", "cancel", "change", "customCondChange"],
86
97
  setup(props, {
87
98
  emit
88
99
  }) {
@@ -144,6 +155,34 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
144
155
  find.valueOPs.push(filterC.valueOP);
145
156
  }
146
157
  });
158
+ const schemaFields = vue.ref([]);
159
+ allFields.forEach(async (field) => {
160
+ var _a, _b, _c;
161
+ const filterController = props.filterControllers.find((item) => item.key === field.name);
162
+ if (!filterController) {
163
+ return;
164
+ }
165
+ schemaFields.value.push({
166
+ appDEFieldId: field.fieldName,
167
+ caption: field.label,
168
+ valueOPs: field.valueOPs,
169
+ appDataEntity: (_a = filterController.appDataEntity) == null ? void 0 : _a.id,
170
+ appDataEntityFullTag: (_b = filterController.appDataEntity) == null ? void 0 : _b.defullTag,
171
+ appCodeListId: (_c = filterController.model.editor) == null ? void 0 : _c.appCodeListId
172
+ });
173
+ });
174
+ const pqlEditor = vue.ref();
175
+ const mode = vue.ref(props.filterMode || "default");
176
+ const currentCustomCond = vue.ref("");
177
+ const handleCustomCondChange = (value) => {
178
+ currentCustomCond.value = value;
179
+ emit("customCondChange", currentCustomCond.value);
180
+ };
181
+ vue.watch(() => props.customCond, () => {
182
+ currentCustomCond.value = props.customCond;
183
+ }, {
184
+ immediate: true
185
+ });
147
186
  const getFilterModes = (fieldName, fieldInfos = allFields) => {
148
187
  if (!fieldName) {
149
188
  return;
@@ -291,7 +330,7 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
291
330
  }, null), editor]);
292
331
  };
293
332
  let renderFilterItems = (_node) => vue.createVNode("div", null, null);
294
- const renderFilterGroup = (node, itemsC) => {
333
+ const renderFilterGroup = (node, itemsC, root) => {
295
334
  if (node.hidden) {
296
335
  return;
297
336
  }
@@ -306,22 +345,38 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
306
345
  "text": true,
307
346
  "type": "primary",
308
347
  "onClick": () => {
348
+ if (mode.value === "pql") {
349
+ mode.value = "default";
350
+ return;
351
+ }
309
352
  addGroup(node);
310
353
  }
311
354
  }, {
312
- default: () => [vue.createTextVNode("\u6DFB\u52A0\u7EC4")]
355
+ default: () => [mode.value === "pql" ? "\u5207\u6362\u7EC4" : "\u6DFB\u52A0\u7EC4"]
313
356
  }), vue.createVNode(vue.resolveComponent("el-button"), {
314
357
  "text": true,
315
358
  "onClick": () => {
359
+ if (mode.value === "pql") {
360
+ mode.value = "default";
361
+ return;
362
+ }
316
363
  addItem(node);
317
364
  }
318
365
  }, {
319
- default: () => [vue.createTextVNode("\u6DFB\u52A0\u9879")]
366
+ default: () => [mode.value === "pql" ? "\u5207\u6362\u9879" : "\u6DFB\u52A0\u9879"]
367
+ }), root && isInSearchBar.value && vue.createVNode(vue.resolveComponent("el-button"), {
368
+ "text": true,
369
+ "onClick": () => {
370
+ mode.value = "pql";
371
+ }
372
+ }, {
373
+ default: () => [vue.createTextVNode("\u6DFB\u52A0PQL")]
320
374
  }), vue.createVNode(vue.resolveComponent("el-select"), {
321
375
  "model-value": node.logicType,
322
376
  "teleported": false,
323
377
  "class": ns.be("group", "logic-type"),
324
378
  "onChange": (logicType) => {
379
+ mode.value = "default";
325
380
  onGroupLogicTypeChange(node, logicType);
326
381
  }
327
382
  }, {
@@ -334,7 +389,15 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
334
389
  "value": "OR",
335
390
  "label": "OR"
336
391
  }, null)]
337
- })]), vue.createVNode("div", {
392
+ })]), mode.value === "pql" && vue.createVNode("div", {
393
+ "class": ns.be("group", "editor")
394
+ }, [vue.createVNode(vue.resolveComponent("iBizPqlEditor"), {
395
+ "ref": "pqlEditor",
396
+ "value": currentCustomCond.value,
397
+ "fields": schemaFields.value,
398
+ "context": props.context,
399
+ "onChange": handleCustomCondChange
400
+ }, null)]), mode.value !== "pql" && vue.createVNode("div", {
338
401
  "class": ns.be("group", "list")
339
402
  }, [node.children.length > 0 && node.children.map((child, index) => {
340
403
  const childContent = child.nodeType === "FIELD" ? renderFilterItem(child, itemsC) : renderFilterGroup(child, itemsC);
@@ -418,7 +481,17 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
418
481
  })])]);
419
482
  };
420
483
  const onConfirm = () => {
421
- emit("confirm");
484
+ var _a, _b;
485
+ if (mode.value === "pql") {
486
+ if (pqlEditor.value) {
487
+ const result = (_b = (_a = pqlEditor.value).verify) == null ? void 0 : _b.call(_a);
488
+ if (result) {
489
+ emit("confirm", mode.value, currentCustomCond.value);
490
+ }
491
+ }
492
+ return;
493
+ }
494
+ emit("confirm", mode.value, currentCustomCond.value);
422
495
  };
423
496
  const onCancel = () => {
424
497
  emit("cancel");
@@ -430,7 +503,8 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
430
503
  onConfirm,
431
504
  onCancel,
432
505
  isInSearchBar,
433
- UiFilterNodes
506
+ UiFilterNodes,
507
+ pqlEditor
434
508
  };
435
509
  },
436
510
  render() {
@@ -441,7 +515,7 @@ const FilterTreeControl = /* @__PURE__ */ vue.defineComponent({
441
515
  if (node.nodeType === "FIELD") {
442
516
  return this.renderFilterItem(node);
443
517
  }
444
- return this.renderFilterGroup(node);
518
+ return this.renderFilterGroup(node, void 0, true);
445
519
  }), vue.createVNode("div", {
446
520
  "class": this.ns.b("footer")
447
521
  }, [vue.createVNode(vue.resolveComponent("el-button"), {
@@ -1 +1 @@
1
- .ibiz-filter-tree{padding:var(--ibiz-spacing-base)}.ibiz-filter-tree__editor{display:inline-block;width:180px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__field-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__mode-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group{padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-filter-tree-group__actions{padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__logic-type{width:80px;margin-left:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group__list-item{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-right:var(--ibiz-spacing-base);padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__list-item-left{align-self:flex-start;width:32px;margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-editor-default-text-color)}.ibiz-filter-tree-group__list-item-right{position:absolute;top:8px;right:0;color:var(--ibiz-color-danger);cursor:pointer}.ibiz-filter-tree-group__list-item-right:hover{color:var(--ibiz-color-danger-hover)}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions{display:flex}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions>.ibiz-filter-tree-item{width:auto}.ibiz-filter-tree-item{display:flex;align-items:center;justify-content:flex-start;width:574px}.ibiz-filter-tree-footer{margin-top:var(--ibiz-spacing-tight);text-align:right}
1
+ .ibiz-filter-tree{padding:var(--ibiz-spacing-base)}.ibiz-filter-tree__editor{display:inline-block;width:180px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__field-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__mode-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group{padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-filter-tree-group__editor{width:600px;height:270px}.ibiz-filter-tree-group__actions{padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__logic-type{width:80px;margin-left:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group__list-item{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-right:var(--ibiz-spacing-base);padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__list-item-left{align-self:flex-start;width:32px;margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-editor-default-text-color)}.ibiz-filter-tree-group__list-item-right{position:absolute;top:8px;right:0;color:var(--ibiz-color-danger);cursor:pointer}.ibiz-filter-tree-group__list-item-right:hover{color:var(--ibiz-color-danger-hover)}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions{display:flex}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions>.ibiz-filter-tree-item{width:auto}.ibiz-filter-tree-item{display:flex;align-items:center;justify-content:flex-start;width:574px}.ibiz-filter-tree-footer{margin-top:var(--ibiz-spacing-tight);text-align:right}
@@ -70,7 +70,15 @@ const SearchBarControl = /* @__PURE__ */ vue.defineComponent({
70
70
  "filterControllers": c.filterControllers,
71
71
  "filterNodes": c.state.filterNodes,
72
72
  "parent": "search-bar",
73
- "onConfirm": () => {
73
+ "filterMode": c.state.filterMode,
74
+ "customCond": c.state.customCond,
75
+ "context": c.context,
76
+ "onCustomCondChange": (customCond) => {
77
+ c.state.customCond = customCond;
78
+ },
79
+ "onConfirm": (mode, customCond) => {
80
+ c.state.filterMode = mode;
81
+ c.state.customCond = customCond;
74
82
  c.onSearch();
75
83
  if (popover) {
76
84
  popover.dismiss();
@@ -78,6 +86,7 @@ const SearchBarControl = /* @__PURE__ */ vue.defineComponent({
78
86
  },
79
87
  "onCancel": () => {
80
88
  c.resetFilter();
89
+ c.state.customCond = "";
81
90
  }
82
91
  }, null);
83
92
  }, void 0, {
@@ -19,13 +19,24 @@ class CheckBoxListEditorController extends runtime.CodeListEditorController {
19
19
  * @Date: 2023-05-24 10:55:50
20
20
  */
21
21
  __publicField(this, "codeList");
22
+ /**
23
+ * 多选一行展示几个
24
+ * @author fangZhiHao
25
+ * @date 2024-07-17 10:07:40
26
+ * @type {(number | undefined)}
27
+ */
28
+ __publicField(this, "rowNumber");
22
29
  }
23
30
  async onInit() {
31
+ var _a;
24
32
  super.onInit();
25
33
  if (this.model.appCodeListId) {
26
34
  const app = await ibiz.hub.getApp(this.context.srfappid);
27
35
  this.codeList = app.codeList.getCodeList(this.model.appCodeListId);
28
36
  }
37
+ if ((_a = this.editorParams) == null ? void 0 : _a.rowNumber) {
38
+ this.rowNumber = Number(this.editorParams.rowNumber);
39
+ }
29
40
  }
30
41
  }
31
42
 
@@ -158,7 +158,8 @@ const IBizCheckboxList = /* @__PURE__ */ vue.defineComponent({
158
158
  let _slot;
159
159
  return vue.createVNode("div", {
160
160
  "ref": "editorRef",
161
- "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)]
161
+ "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent), this.ns.is("grid-layout", !!this.controller.rowNumber)],
162
+ "style": this.controller.rowNumber ? "--ibiz-checkbox-list-group-row-number:".concat(this.controller.rowNumber) : ""
162
163
  }, [this.readonly ? this.valueText : vue.createVNode(vue.resolveComponent("el-checkbox-group"), vue.mergeProps({
163
164
  "model-value": this.selectArray,
164
165
  "onChange": this.onSelectArrayChange
@@ -1 +1 @@
1
- .ibiz-checkbox-list__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-checkbox-list--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-form-item .ibiz-checkbox-list.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
1
+ .ibiz-checkbox-list{--ibiz-checkbox-list-group-row-number:0}.ibiz-checkbox-list__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-checkbox-list--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-checkbox-list.is-grid-layout .el-checkbox-group{display:grid;grid-template-columns:repeat(var(--ibiz-checkbox-list-group-row-number),1fr)}.ibiz-form-item .ibiz-checkbox-list.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
@@ -312,7 +312,7 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
312
312
  "disabled": this.disabled,
313
313
  "loading": this.isLoading,
314
314
  "fit-input-width": isEllipsis,
315
- "popper-class": "".concat(this.ns.b("popper"), " ").concat(this.c.editorParams.type === "round" ? this.ns.bm("popper", "round") : ""),
315
+ "popper-class": "".concat(this.ns.b("popper"), " ").concat(this.c.editorParams.type === "round" ? this.ns.bm("popper", "round") : "", " ").concat(this.ns.bm("popper", "".concat(this.c.model.id))),
316
316
  "onBlur": this.onBlur,
317
317
  "onFocus": this.onFocus,
318
318
  "onKeyup": this.handleKeyUp,
@@ -87,7 +87,8 @@ const IBizRadio = /* @__PURE__ */ vue.defineComponent({
87
87
  render() {
88
88
  let _slot;
89
89
  return vue.createVNode("div", {
90
- "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)],
90
+ "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent), this.ns.is("grid-layout", !!this.controller.rowNumber)],
91
+ "style": this.controller.rowNumber ? "--ibiz-radio-group-row-number:".concat(this.controller.rowNumber) : "",
91
92
  "ref": "editorRef"
92
93
  }, [this.readonly ? this.valueText : vue.createVNode(vue.resolveComponent("el-radio-group"), vue.mergeProps({
93
94
  "class": this.ns.e("group"),
@@ -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)}.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{color:var(--ibiz-color-primary);background-color:var(--ibiz-color-secondary-light-default);border-color:var(--ibiz-color-secondary-light-default)}.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{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);border-radius:var(--ibiz-height-control-default)}.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);background:var(--ibiz-color-disabled-bg);border-color:var(--ibiz-color-disabled-border)}.ibiz-form-item .ibiz-radio.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
1
+ .ibiz-radio{--ibiz-radio-group-row-number:0}.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{color:var(--ibiz-color-primary);background-color:var(--ibiz-color-secondary-light-default);border-color:var(--ibiz-color-secondary-light-default)}.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{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);border-radius:var(--ibiz-height-control-default)}.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);background:var(--ibiz-color-disabled-bg);border-color:var(--ibiz-color-disabled-border)}.ibiz-radio.is-grid-layout .el-radio-group{display:grid;grid-template-columns:repeat(var(--ibiz-radio-group-row-number),1fr)}.ibiz-form-item .ibiz-radio.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
@@ -3,7 +3,30 @@
3
3
  var runtime = require('@ibiz-template/runtime');
4
4
 
5
5
  "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
6
12
  class RadioButtonListEditorController extends runtime.CodeListEditorController {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * 单选一行展示几个
17
+ * @author fangZhiHao
18
+ * @date 2024-07-17 10:07:40
19
+ * @type {(number | undefined)}
20
+ */
21
+ __publicField(this, "rowNumber");
22
+ }
23
+ async onInit() {
24
+ var _a;
25
+ super.onInit();
26
+ if ((_a = this.editorParams) == null ? void 0 : _a.rowNumber) {
27
+ this.rowNumber = Number(this.editorParams.rowNumber);
28
+ }
29
+ }
7
30
  }
8
31
 
9
32
  exports.RadioButtonListEditorController = RadioButtonListEditorController;
@@ -151,8 +151,9 @@ const IBizSpan = /* @__PURE__ */ vue.defineComponent({
151
151
  } else {
152
152
  content = "- - -";
153
153
  }
154
+ const isEllipsis = this.c.editorParams.overflowMode === "ellipsis" || this.c.model.wrapMode === "NOWRAP";
154
155
  return vue.createVNode("span", {
155
- "class": [this.ns.b(), this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)],
156
+ "class": [this.ns.b(), this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent), this.ns.is("is-ellipsis", isEllipsis)],
156
157
  "ref": "editorRef"
157
158
  }, [content]);
158
159
  }
@@ -1 +1 @@
1
- .ibiz-span{display:inline-block;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-form-item-line-height);color:var(--ibiz-form-item-text-color);white-space:pre-line}.ibiz-span--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-span__code-list{height:100%}.ibiz-form-item .ibiz-span.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
1
+ .ibiz-span{display:inline-block;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-form-item-line-height);color:var(--ibiz-form-item-text-color);white-space:pre-line}.ibiz-span--readonly{color:var(--ibiz-form-item-readonly-color)}.ibiz-span__code-list{height:100%}.ibiz-span.is-is-ellipsis{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-form-item .ibiz-span.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ "use strict";
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ "use strict";
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ "use strict";
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ require('./i-schema-field.cjs');
4
+ require('./i-pql-node.cjs');
5
+ require('./i-pql-item.cjs');
6
+
7
+ "use strict";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.7.30",
3
+ "version": "0.7.31-alpha.0",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -31,15 +31,15 @@
31
31
  "@floating-ui/dom": "^1.5.3",
32
32
  "@ibiz-template-plugin/ai-chat": "^0.0.5",
33
33
  "@ibiz-template-plugin/gantt": "0.1.8-alpha.7",
34
- "@ibiz-template-plugin/bi-report": "0.0.11",
34
+ "@ibiz-template-plugin/bi-report": "0.0.13",
35
35
  "@ibiz-template/core": "0.7.30",
36
36
  "@ibiz-template/devtool": "0.0.1-dev.6",
37
- "@ibiz-template/model-helper": "0.7.30",
38
- "@ibiz-template/runtime": "0.7.30",
37
+ "@ibiz-template/model-helper": "0.7.31-alpha.0",
38
+ "@ibiz-template/runtime": "0.7.31-alpha.0",
39
39
  "@ibiz-template/theme": "^0.7.0",
40
- "@ibiz-template/vue3-util": "0.7.30",
40
+ "@ibiz-template/vue3-util": "0.7.31-alpha.0",
41
41
  "@ibiz-template/web-theme": "^1.1.18",
42
- "@ibiz/model-core": "^0.1.45",
42
+ "@ibiz/model-core": "^0.1.46",
43
43
  "@imengyu/vue3-context-menu": "^1.3.5",
44
44
  "@monaco-editor/loader": "^1.4.0",
45
45
  "@wangeditor/editor": "^5.1.23",
@@ -1 +0,0 @@
1
- System.register(["vue","@ibiz-template/vue3-util","echarts","qx-util","@ibiz-template/runtime"],(function(e){"use strict";var t,i,s,a,l,o,r,n,c,d,h,u,m,p,v;return{setters:[function(e){t=e.defineComponent,i=e.ref,s=e.watch,a=e.onMounted,l=e.onBeforeUnmount,o=e.createVNode,r=e.resolveComponent,n=e.nextTick,c=e.isVNode},function(e){d=e.useControlController,h=e.useNamespace,u=e.useClickOutside},function(e){m=e.init},function(e){p=e.createUUID},function(e){v=e.ChartController}],execute:function(){e("default",t({name:"IBizChartControl",props:{modelData:{type:Object,required:!0},context:{type:Object,required:!0},params:{type:Object,default:()=>({})},provider:{type:Object},mdctrlActiveMode:{type:Number,default:void 0},loadDefault:{type:Boolean,default:!0},isSimple:{type:Boolean,required:!1},data:{type:Array,required:!1}},emits:["drillDetail"],setup(e,{emit:t}){const f=d(((...e)=>new v(...e))),g=h("control-".concat(f.model.controlType.toLowerCase())),w=i(),b=i(0),D=p(),y=i(!1),C=i({}),z=i();let L,P;const x=()=>{e.data&&(f.state.items=e.data,f.afterLoad({},f.state.items))};f.evt.on("onCreated",(async()=>{e.isSimple&&(x(),f.state.isSimple=!0,f.state.isLoaded=!0)})),s((()=>e.data),(()=>{e.isSimple&&x()}),{deep:!0});const S=async()=>{await n();const e=document.getElementById(D);e&&("bottom"===f.state.gridPosition||"top"===f.state.gridPosition?b.value=e.offsetHeight/2-8:b.value=e.offsetHeight-16)};let B;a((()=>{var t,i;const s=m(w.value);f.initChart(s),window.addEventListener("resize",S),w.value&&ResizeObserver&&(B=new ResizeObserver((()=>{f.resizeChart()})),B.observe(w.value)),S();const a=null==(i=null==(t=e.modelData.controlParam)?void 0:t.ctrlParams)?void 0:i.ENABLEDRILLDETAIL;(null==a?void 0:a.length)&&s.on("click",(e=>{const t=f.computedClickSerieModel(e);if(!t)return;const i=a.find((e=>e.name===t.valueField));i&&i.isDrill&&(P=e,s.dispatchAction({type:"hideTip"}),y.value=!0,f.changeTooltipState(!1),L=u(z,(()=>{y.value=!1,f.changeTooltipState(!0),L.stop()})),(e=>{if(e.event){const t=e.event.event;t.stopPropagation(),t.preventDefault();const{offsetX:i,offsetY:s}=e.event;C.value={top:"".concat(s,"px"),left:"".concat(i+16,"px")}}})(e))}))}));s((()=>f.state.showGrid),(()=>{S()}),{immediate:!0});return l((()=>{window.removeEventListener("resize",S),null==B||B.disconnect()})),{c:f,ns:g,chartRef:w,uuid:D,showCheck:y,drillDetailPos:C,drillDetailRef:z,openDrillDetail:e=>{y.value=!1,L&&L.stop(),f.changeTooltipState(!0);const i=f.computedDrillDetailParam(P);t("drillDetail",i)},renderGrid:()=>{let e;return o(r("el-table"),{ref:"tableRef",data:f.state.gridData||[],border:!0,style:{width:"100%"},"max-height":b.value,"header-row-class-name":g.e("grid-header")},"function"==typeof(t=e=f.state.gridHeaders.map((e=>o(r("el-table-column"),{prop:e.id,align:"center",label:e.name},null))))||"[object Object]"===Object.prototype.toString.call(t)&&!c(t)?e:{default:()=>[e]});var t}}},render(){return o(r("iBizControlBase"),{controller:this.c},{default:()=>[o("div",{id:this.uuid,class:this.ns.b("chart-container")},[o(r("el-empty"),{class:[this.ns.e("empty"),this.ns.is("no-data",0===this.c.state.items.length)],description:ibiz.i18n.t("control.common.currentNoData")},null),o("div",{class:[this.ns.e("chart-grid"),this.ns.is("no-data",0===this.c.state.items.length),this.ns.is("show-grid",this.c.state.showGrid),{[this.ns.em("chart-grid",this.c.state.gridPosition)]:this.c.state.showGrid}]},[o("div",{class:[this.ns.e("chart-grid-container"),this.ns.is(this.c.state.gridPosition,this.c.state.showGrid),this.ns.is("no-grid",!this.c.state.showGrid)]},[o("div",{ref:"chartRef",class:[this.ns.e("chart")]},[ibiz.i18n.t("control.chart.chartPlaceholder")]),this.showCheck?o("div",{ref:"drillDetailRef",class:this.ns.e("drill-detail"),style:this.drillDetailPos,onClick:this.openDrillDetail},[o("div",{class:this.ns.em("drill-detail","item")},[o("svg",{viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",height:"1em",width:"1em",focusable:"false",fill:"currentColor"},[o("g",{id:"aspnormal/preview","stroke-width":"1","fill-rule":"evenodd"},[o("path",{d:"M11.626 0c1.057 0 1.923.818 2 1.855l.005.15v3.411a.6.6 0 0 1-1.192.097l-.008-.097.001-1.348V2.005c0-.41-.31-.749-.705-.799l-.101-.006h-9.62c-.41 0-.75.308-.8.704l-.006.101v11.989c0 .41.308.75.705.8l.101.006h5.906l.017-.004.016-.003h2.074a.598.598 0 1 1 .107 1.187l-.095.01V16H2.006a2.006 2.006 0 0 1-2-1.856L0 13.994V2.005C0 .948.818.082 1.856.005L2.006 0h9.62zm-1.595 6.328a3.669 3.669 0 0 1 3.665 3.665c0 .79-.251 1.523-.678 2.123l2.412 2.412a.6.6 0 1 1-.848.85l-2.41-2.412a3.646 3.646 0 0 1-2.14.692 3.67 3.67 0 0 1-3.667-3.665 3.67 3.67 0 0 1 3.666-3.665zm-5.106 5.29a.6.6 0 0 1 .097 1.191l-.097.008H2.85a.6.6 0 0 1-.097-1.192l.097-.008h2.074zm5.106-4.09a2.468 2.468 0 0 0-2.466 2.465 2.468 2.468 0 0 0 2.466 2.466 2.47 2.47 0 0 0 2.466-2.466 2.469 2.469 0 0 0-2.466-2.465zm-4.815-.126a.6.6 0 0 1 .097 1.193l-.097.007h-2.35A.6.6 0 0 1 2.77 7.41l.098-.008h2.349zm5.58-4a.6.6 0 0 1 .097 1.192l-.097.008H2.867A.6.6 0 0 1 2.77 3.41l.097-.008h7.929z",id:"asp合并形状"},null)])]),o("div",{class:this.ns.em("drill-detail","item-text")},[ibiz.i18n.t("control.chart.drillDetail")])])]):null]),this.c.state.showGrid?o("div",{class:this.ns.e("grid")},[this.renderGrid()]):null])])]})}}))}}}));