@ibiz-template/vue3-components 0.6.16 → 0.7.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 (120) hide show
  1. package/dist/chart-jfPZ04eU.js +1 -0
  2. package/dist/index-Wk7Kbc7Z.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-94ZSfJEl.js → xlsx-util-keqImqNu.js} +1 -1
  6. package/es/common/pagination/pagination.d.ts +9 -0
  7. package/es/common/pagination/pagination.mjs +12 -2
  8. package/es/common/view-message/view-message.css +1 -1
  9. package/es/common/view-message/view-message.d.ts +27 -1
  10. package/es/common/view-message/view-message.mjs +130 -17
  11. package/es/control/caption-bar/caption-bar.css +1 -1
  12. package/es/control/caption-bar/caption-bar.mjs +3 -1
  13. package/es/control/chart/chart.css +1 -1
  14. package/es/control/chart/chart.d.ts +3 -1
  15. package/es/control/chart/chart.mjs +70 -6
  16. package/es/control/data-view/data-view.mjs +1 -0
  17. package/es/control/drbar/drbar.controller.d.ts +9 -0
  18. package/es/control/drbar/drbar.controller.mjs +31 -17
  19. package/es/control/drtab/drtab.controller.d.ts +9 -0
  20. package/es/control/drtab/drtab.controller.mjs +16 -1
  21. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -1
  22. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.d.ts +2 -1
  23. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.mjs +13 -4
  24. package/es/control/form/form-detail/form-mdctrl/index.d.ts +1 -0
  25. package/es/control/form/form-detail/form-rawitem/form-rawitem.d.ts +2 -1
  26. package/es/control/form/form-detail/form-rawitem/form-rawitem.mjs +31 -1
  27. package/es/control/form/form-detail/form-rawitem/index.d.ts +1 -0
  28. package/es/control/grid/grid/grid.mjs +1 -0
  29. package/es/control/grid/grid-column/grid-field-edit-column/cell-edit.mjs +3 -1
  30. package/es/control/list/list.mjs +1 -0
  31. package/es/control/search-bar/filter-tree/filter-tree.d.ts +3 -3
  32. package/es/control/search-bar/filter-tree/filter-tree.mjs +98 -37
  33. package/es/control/search-bar/index.d.ts +1 -0
  34. package/es/control/search-bar/index.mjs +2 -0
  35. package/es/control/search-bar/quick-search-select/quick-search-select.css +1 -0
  36. package/es/control/search-bar/quick-search-select/quick-search-select.d.ts +16 -0
  37. package/es/control/search-bar/quick-search-select/quick-search-select.mjs +72 -0
  38. package/es/control/search-bar/search-bar.css +1 -1
  39. package/es/control/search-bar/search-bar.d.ts +1 -0
  40. package/es/control/search-bar/search-bar.mjs +14 -3
  41. package/es/control/toolbar/index.d.ts +1 -0
  42. package/es/control/toolbar/toolbar.d.ts +1 -0
  43. package/es/control/toolbar/toolbar.mjs +15 -14
  44. package/es/control/tree-grid/tree-grid.mjs +1 -0
  45. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.mjs +3 -1
  46. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +11 -3
  47. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +5 -7
  48. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +5 -7
  49. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +19 -10
  50. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.mjs +13 -5
  51. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +7 -0
  52. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +6 -8
  53. package/es/editor/text-box/input/input.mjs +7 -9
  54. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +9 -11
  55. package/es/panel-component/index.mjs +2 -0
  56. package/es/panel-component/nav-tabs/nav-tabs.css +1 -1
  57. package/es/panel-component/nav-tabs/nav-tabs.mjs +7 -1
  58. package/es/panel-component/panel-index-view-search/index.d.ts +1 -0
  59. package/es/panel-component/panel-index-view-search/panel-index-view-search.d.ts +1 -0
  60. package/es/panel-component/panel-index-view-search/panel-index-view-search.mjs +22 -2
  61. package/es/panel-component/view-msg-pos/index.d.ts +25 -0
  62. package/es/panel-component/view-msg-pos/index.mjs +16 -0
  63. package/es/panel-component/view-msg-pos/view-msg-pos.controller.d.ts +21 -0
  64. package/es/panel-component/view-msg-pos/view-msg-pos.controller.mjs +48 -0
  65. package/es/panel-component/view-msg-pos/view-msg-pos.d.ts +25 -0
  66. package/es/panel-component/view-msg-pos/view-msg-pos.mjs +47 -0
  67. package/es/panel-component/view-msg-pos/view-msg-pos.provider.d.ts +16 -0
  68. package/es/panel-component/view-msg-pos/view-msg-pos.provider.mjs +21 -0
  69. package/es/view-engine/index.mjs +4 -0
  70. package/es/view-engine/panel-view-engine.d.ts +2 -2
  71. package/es/web-app/App.mjs +9 -1
  72. package/es/web-app/main.mjs +8 -1
  73. package/lib/common/pagination/pagination.cjs +12 -2
  74. package/lib/common/view-message/view-message.cjs +129 -16
  75. package/lib/common/view-message/view-message.css +1 -1
  76. package/lib/control/caption-bar/caption-bar.cjs +3 -1
  77. package/lib/control/caption-bar/caption-bar.css +1 -1
  78. package/lib/control/chart/chart.cjs +69 -5
  79. package/lib/control/chart/chart.css +1 -1
  80. package/lib/control/data-view/data-view.cjs +1 -0
  81. package/lib/control/drbar/drbar.controller.cjs +31 -17
  82. package/lib/control/drtab/drtab.controller.cjs +16 -1
  83. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.cjs +13 -4
  84. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -1
  85. package/lib/control/form/form-detail/form-rawitem/form-rawitem.cjs +30 -0
  86. package/lib/control/grid/grid/grid.cjs +1 -0
  87. package/lib/control/grid/grid-column/grid-field-edit-column/cell-edit.cjs +3 -1
  88. package/lib/control/list/list.cjs +1 -0
  89. package/lib/control/search-bar/filter-tree/filter-tree.cjs +98 -37
  90. package/lib/control/search-bar/index.cjs +2 -0
  91. package/lib/control/search-bar/quick-search-select/quick-search-select.cjs +74 -0
  92. package/lib/control/search-bar/quick-search-select/quick-search-select.css +1 -0
  93. package/lib/control/search-bar/search-bar.cjs +14 -3
  94. package/lib/control/search-bar/search-bar.css +1 -1
  95. package/lib/control/toolbar/toolbar.cjs +15 -14
  96. package/lib/control/tree-grid/tree-grid.cjs +1 -0
  97. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/cell-edit.cjs +3 -1
  98. package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +11 -3
  99. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +5 -7
  100. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +5 -7
  101. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +19 -10
  102. package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.cjs +13 -5
  103. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +7 -0
  104. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +6 -8
  105. package/lib/editor/text-box/input/input.cjs +7 -9
  106. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +8 -10
  107. package/lib/panel-component/index.cjs +2 -0
  108. package/lib/panel-component/nav-tabs/nav-tabs.cjs +7 -1
  109. package/lib/panel-component/nav-tabs/nav-tabs.css +1 -1
  110. package/lib/panel-component/panel-index-view-search/panel-index-view-search.cjs +21 -1
  111. package/lib/panel-component/view-msg-pos/index.cjs +22 -0
  112. package/lib/panel-component/view-msg-pos/view-msg-pos.cjs +49 -0
  113. package/lib/panel-component/view-msg-pos/view-msg-pos.controller.cjs +50 -0
  114. package/lib/panel-component/view-msg-pos/view-msg-pos.provider.cjs +23 -0
  115. package/lib/view-engine/index.cjs +4 -0
  116. package/lib/web-app/App.cjs +8 -0
  117. package/lib/web-app/main.cjs +7 -0
  118. package/package.json +14 -14
  119. package/dist/chart-IsmrW_d0.js +0 -1
  120. package/dist/index-l_9Kqet_.js +0 -4
@@ -61,7 +61,7 @@ const IBizCheckboxList = /* @__PURE__ */ vue.defineComponent({
61
61
  const strVal = props.value;
62
62
  if (strVal !== "") {
63
63
  if (codeList) {
64
- const selects = strVal.split(valueSeparator);
64
+ const selects = c.model.valueType === "SIMPLES" ? strVal : strVal.split(valueSeparator);
65
65
  if (codeList.codeItemValueNumber) {
66
66
  for (let i = 0, len = selects.length; i < len; i++) {
67
67
  selects[i] = Number(selects[i]);
@@ -83,7 +83,11 @@ const IBizCheckboxList = /* @__PURE__ */ vue.defineComponent({
83
83
  const numVal = typeof item === "string" ? parseInt(item, 10) : item;
84
84
  temp |= numVal;
85
85
  });
86
- value = temp;
86
+ if (c.model.valueType === "SIMPLES") {
87
+ value = [temp];
88
+ } else if (c.model.valueType === "SIMPLE") {
89
+ value = temp;
90
+ }
87
91
  } else if (Object.is(currentMode.value, "str")) {
88
92
  const _datas = [];
89
93
  if (items.value.length > 0) {
@@ -94,7 +98,11 @@ const IBizCheckboxList = /* @__PURE__ */ vue.defineComponent({
94
98
  }
95
99
  _datas.push(_item.value);
96
100
  });
97
- value = _datas.join(valueSeparator);
101
+ if (c.model.valueType === "SIMPLES") {
102
+ value = _datas;
103
+ } else if (c.model.valueType === "SIMPLE") {
104
+ value = _datas.join(valueSeparator);
105
+ }
98
106
  }
99
107
  }
100
108
  emit("change", value);
@@ -130,13 +130,11 @@ const IBizPicker = /* @__PURE__ */ vue.defineComponent({
130
130
  emit("change", null);
131
131
  };
132
132
  const closeCircle = (c.linkView ? 1 : 0) + (c.pickupView ? 1 : 0);
133
- if (props.autoFocus) {
134
- vue.watch(editorRef, (newVal) => {
135
- if (newVal) {
136
- newVal.focus();
137
- }
138
- });
139
- }
133
+ vue.watch(editorRef, (newVal) => {
134
+ if (props.autoFocus && newVal && newVal.focus) {
135
+ newVal.focus();
136
+ }
137
+ });
140
138
  const onFocus = (e) => {
141
139
  emit("focus", e);
142
140
  setEditable(true);
@@ -77,13 +77,11 @@ const IBizDatePicker = /* @__PURE__ */ vue.defineComponent({
77
77
  emit("change", date);
78
78
  setEditable(false);
79
79
  };
80
- if (props.autoFocus) {
81
- vue.watch(editorRef, (newVal) => {
82
- if (newVal && newVal.focus) {
83
- newVal.focus();
84
- }
85
- });
86
- }
80
+ vue.watch(editorRef, (newVal) => {
81
+ if (props.autoFocus && newVal && newVal.focus) {
82
+ newVal.focus();
83
+ }
84
+ });
87
85
  const onFocus = (e) => {
88
86
  emit("focus", e);
89
87
  setEditable(true);
@@ -81,7 +81,7 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
81
81
  isLoading.value = false;
82
82
  };
83
83
  vue.watch(() => props.value, async (newVal, oldVal) => {
84
- if (newVal || newVal === null) {
84
+ if (newVal || newVal === null || newVal === 0) {
85
85
  if (!isLoadedCodeList.value && oldVal === void 0) {
86
86
  await loadCodeList();
87
87
  }
@@ -111,14 +111,25 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
111
111
  if (editorItems && editorItems.length > 0 && !c.multiple) {
112
112
  return props.data[editorItems[0].id];
113
113
  }
114
- if (props.value) {
114
+ if (props.value && typeof props.value === "string") {
115
115
  return c.multiple ? (_a = props.value) == null ? void 0 : _a.toString().split(",") : props.value.toString();
116
116
  }
117
+ if (props.value && Array.isArray(props.value)) {
118
+ return c.multiple ? props.value : props.value.toString();
119
+ }
117
120
  return (_b = props.value) == null ? void 0 : _b.toString();
118
121
  },
119
122
  set(select) {
120
123
  if (Array.isArray(select)) {
121
- emit("change", select.length === 0 ? null : select.join(","));
124
+ let selectArr = null;
125
+ if (select.length === 0) {
126
+ selectArr = null;
127
+ } else if (c.model.valueType === "SIMPLES") {
128
+ selectArr = select;
129
+ } else {
130
+ selectArr = select.join(",");
131
+ }
132
+ emit("change", selectArr);
122
133
  } else if (editorItems && editorItems.length > 0) {
123
134
  emit("change", select, editorItems[0].id);
124
135
  const selectItem = getCodeListItemByValue(select);
@@ -151,13 +162,11 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
151
162
  }, {
152
163
  immediate: true
153
164
  });
154
- if (props.autoFocus) {
155
- vue.watch(editorRef, (newVal) => {
156
- if (newVal) {
157
- newVal.focus();
158
- }
159
- });
160
- }
165
+ vue.watch(editorRef, (newVal) => {
166
+ if (props.autoFocus && newVal && newVal.focus) {
167
+ newVal.focus();
168
+ }
169
+ });
161
170
  const onFocus = (e) => {
162
171
  editorState = "focus";
163
172
  emit("focus", e);
@@ -79,8 +79,8 @@ const IBizListBox = /* @__PURE__ */ vue.defineComponent({
79
79
  });
80
80
  } else if (Object.is(currentMode.value, "str")) {
81
81
  if (newVal !== "") {
82
- if (codeList && typeof newVal === "string") {
83
- selectsArray = newVal.split(valueSeparator);
82
+ if (codeList && (typeof newVal === "string" || Array.isArray(newVal))) {
83
+ selectsArray = Array.isArray(newVal) ? newVal : newVal.split(valueSeparator);
84
84
  if (codeList.codeItemValueNumber) {
85
85
  for (let i = 0, len = selectsArray.length; i < len; i++) {
86
86
  selectsArray[i] = Number(selectsArray[i]);
@@ -91,7 +91,7 @@ const IBizListBox = /* @__PURE__ */ vue.defineComponent({
91
91
  }
92
92
  } else if (editorType === "LISTBOXPICKUP") {
93
93
  if (newVal !== "") {
94
- selectsArray = newVal.split(valueSeparator);
94
+ selectsArray = c.model.valueType === "SIMPLES" && Array.isArray(newVal) ? newVal : newVal.split(valueSeparator);
95
95
  }
96
96
  }
97
97
  selectArray.value = selectsArray;
@@ -117,10 +117,18 @@ const IBizListBox = /* @__PURE__ */ vue.defineComponent({
117
117
  });
118
118
  _value = temp;
119
119
  } else if (Object.is(currentMode, "str")) {
120
- _value = values.join(valueSeparator);
120
+ if (c.model.valueType === "SIMPLES") {
121
+ _value = values;
122
+ } else if (c.model.valueType === "SIMPLE") {
123
+ _value = values.join(valueSeparator);
124
+ }
121
125
  }
122
126
  } else if (Object.is("LISTBOXPICKUP", editorType)) {
123
- _value = values.join(valueSeparator);
127
+ if (c.model.valueType === "SIMPLES") {
128
+ _value = values;
129
+ } else if (c.model.valueType === "SIMPLE") {
130
+ _value = values.join(valueSeparator);
131
+ }
124
132
  }
125
133
  } else {
126
134
  _value = value;
@@ -49,6 +49,13 @@ const IBizRaw = /* @__PURE__ */ vue.defineComponent({
49
49
  ibiz.log.error("JSON\u5B57\u7B26\u4E32\u8F6C\u6362\u9519\u8BEF");
50
50
  }
51
51
  }
52
+ if (!Array.isArray(obj)) {
53
+ Object.assign(obj, {
54
+ data: {
55
+ ...props.data
56
+ }
57
+ });
58
+ }
52
59
  content.value = await ibiz.util.hbs.render(template, obj || newVal);
53
60
  }
54
61
  }
@@ -56,14 +56,12 @@ const IBizInputNumber = /* @__PURE__ */ vue.defineComponent({
56
56
  const handleChange = (e) => {
57
57
  emit("change", e);
58
58
  };
59
- if (props.autoFocus) {
60
- vue.watch(editorRef, (newVal) => {
61
- if (newVal) {
62
- const input = newVal.$el.getElementsByTagName("input")[0];
63
- input.focus();
64
- }
65
- });
66
- }
59
+ vue.watch(editorRef, (newVal) => {
60
+ if (props.autoFocus && newVal) {
61
+ const input = newVal.$el.getElementsByTagName("input")[0];
62
+ input.focus();
63
+ }
64
+ });
67
65
  const onFocus = (e) => {
68
66
  emit("focus", e);
69
67
  setEditable(true);
@@ -96,15 +96,13 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
96
96
  emit("blur", event);
97
97
  setEditable(false);
98
98
  };
99
- if (props.autoFocus) {
100
- vue.watch(editorRef, (newVal) => {
101
- if (newVal) {
102
- const inputTag = type.value === "textarea" ? "textarea" : "input";
103
- const input = newVal.$el.getElementsByTagName(inputTag)[0];
104
- input.focus();
105
- }
106
- });
107
- }
99
+ vue.watch(editorRef, (newVal) => {
100
+ if (props.autoFocus && newVal) {
101
+ const inputTag = type.value === "textarea" ? "textarea" : "input";
102
+ const input = newVal.$el.getElementsByTagName(inputTag)[0];
103
+ input.focus();
104
+ }
105
+ });
108
106
  const onFocus = (e) => {
109
107
  emit("focus", e);
110
108
  setEditable(true);
@@ -38,7 +38,7 @@ const IBizSearchCondEdit = /* @__PURE__ */ vue.defineComponent({
38
38
  if (newVal) {
39
39
  try {
40
40
  const searchconds = JSON.parse(newVal);
41
- filterNodes.value = searchconds.map((item) => runtime.parseFilters(item));
41
+ filterNodes.value = searchconds.map((item) => runtime.SearchCondEx2filterNode(item));
42
42
  } catch (error) {
43
43
  ibiz.log.error("".concat(newVal, "\u503C\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u5FC5\u987B\u4E3Ajson\u5B57\u7B26\u4E32"));
44
44
  }
@@ -64,14 +64,12 @@ const IBizSearchCondEdit = /* @__PURE__ */ vue.defineComponent({
64
64
  const handleChange = (e) => {
65
65
  emit("change", e);
66
66
  };
67
- if (props.autoFocus) {
68
- vue.watch(editorRef, (newVal) => {
69
- if (newVal) {
70
- const input = newVal.$el.getElementsByTagName("input")[0];
71
- input.focus();
72
- }
73
- });
74
- }
67
+ vue.watch(editorRef, (newVal) => {
68
+ if (props.autoFocus && newVal) {
69
+ const input = newVal.$el.getElementsByTagName("input")[0];
70
+ input.focus();
71
+ }
72
+ });
75
73
  const onFocus = (e) => {
76
74
  emit("focus", e);
77
75
  setEditable(true);
@@ -86,7 +84,7 @@ const IBizSearchCondEdit = /* @__PURE__ */ vue.defineComponent({
86
84
  }
87
85
  };
88
86
  const getCurrentValByFilterNodes = () => {
89
- const searchconds = runtime.calcSearchConds(filterNodes.value);
87
+ const searchconds = runtime.calcSearchCondExs(filterNodes.value);
90
88
  if (searchconds) {
91
89
  currentVal.value = JSON.stringify(searchconds, null, 2);
92
90
  }
@@ -23,6 +23,7 @@ var index$g = require('./searchform-buttons/index.cjs');
23
23
  var index$h = require('./view-message/index.cjs');
24
24
  var index$i = require('./panel-static-carousel/index.cjs');
25
25
  var index$j = require('./coop-pos/index.cjs');
26
+ var index$k = require('./view-msg-pos/index.cjs');
26
27
  var navPosIndex_state = require('./nav-pos-index/nav-pos-index.state.cjs');
27
28
  var navPosIndex_controller = require('./nav-pos-index/nav-pos-index.controller.cjs');
28
29
  var panelButton_controller = require('./panel-button/panel-button.controller.cjs');
@@ -67,6 +68,7 @@ const IBizPanelComponents = {
67
68
  v.use(vue3Util.IBizTeleportPlaceholder);
68
69
  v.use(vue3Util.IBizPanelContainerTabs);
69
70
  v.use(index$j.IBizCoopPos);
71
+ v.use(index$k.IBizViewMsgPos);
70
72
  }
71
73
  };
72
74
 
@@ -90,7 +90,13 @@ const NavTabs = /* @__PURE__ */ vue.defineComponent({
90
90
  "name": msg.key,
91
91
  "key": msg.key,
92
92
  "label": label
93
- }, null);
93
+ }, {
94
+ label: () => {
95
+ return vue.createVNode("div", {
96
+ "class": this.ns.em("left", "caption")
97
+ }, [label]);
98
+ }
99
+ });
94
100
  })) ? _slot : {
95
101
  default: () => [_slot]
96
102
  })]), vue.createVNode("div", {
@@ -1 +1 @@
1
- .ibiz-nav-tabs{--ibiz-nav-tabs-padding:var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-left-width:calc(100% - 60px);--ibiz-nav-tabs-right-width:60px;--ibiz-nav-tabs-right-height:30px;--ibiz-nav-tabs-item-height:40px;--ibiz-nav-tabs-item-padding:0 var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-item-margin:0 var(--ibiz-spacing-base) 0 0;--ibiz-nav-tabs-item-font-size:var(--ibiz-font-size-regular);--ibiz-nav-tabs-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-nav-tabs-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-nav-tabs-item-bg-color:transparent;--ibiz-nav-tabs-item-color:var(--ibiz-color-text-0);--ibiz-nav-tabs-item-hover-color:var(--ibiz-color-primary-hover);--ibiz-nav-tabs-item-active-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--ibiz-nav-tabs-padding)}.ibiz-nav-tabs__left{display:flex;align-items:center;width:var(--ibiz-nav-tabs-left-width)}.ibiz-nav-tabs__left .el-tabs{width:100%;--el-tabs-header-height:40px}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav{border:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item{display:flex;align-items:center;height:var(--ibiz-nav-tabs-item-height);padding:var(--ibiz-nav-tabs-item-padding);margin:var(--ibiz-nav-tabs-item-margin);overflow:hidden;font-size:var(--ibiz-nav-tabs-item-font-size);font-weight:var(--ibiz-nav-tabs-item-font-weight);color:var(--ibiz-nav-tabs-item-color);vertical-align:middle;background-color:var(--ibiz-nav-tabs-item-bg-color);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-nav-tabs-item-border-radius);box-shadow:0 1px 2px 0 var(--ibiz-color-border);opacity:1}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-nav-tabs-item-hover-color);box-shadow:0 1px 4px 0 rgba(0,0,0,.25)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover .is-icon-close{color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-color-white);background-color:var(--ibiz-nav-tabs-item-active-color);box-shadow:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active .is-icon-close{color:var(--ibiz-color-white)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable.hover{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item .is-icon-close{position:relative;top:1px}.ibiz-nav-tabs__left .el-tabs .el-tabs__header{margin-bottom:0;border-bottom:none}.ibiz-nav-tabs__right{width:var(--ibiz-nav-tabs-right-width)}.ibiz-nav-tabs__right .el-dropdown button{height:var(--ibiz-nav-tabs-right-height)}
1
+ .ibiz-nav-tabs{--ibiz-nav-tabs-padding:var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-left-width:calc(100% - 60px);--ibiz-nav-tabs-right-width:60px;--ibiz-nav-tabs-right-height:30px;--ibiz-nav-tabs-item-height:40px;--ibiz-nav-tabs-item-padding:0 var(--ibiz-spacing-base-loose);--ibiz-nav-tabs-item-margin:0 var(--ibiz-spacing-base) 0 0;--ibiz-nav-tabs-item-font-size:var(--ibiz-font-size-regular);--ibiz-nav-tabs-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-nav-tabs-item-border-radius:var(--ibiz-border-radius-medium);--ibiz-nav-tabs-item-bg-color:transparent;--ibiz-nav-tabs-item-color:var(--ibiz-color-text-0);--ibiz-nav-tabs-item-hover-color:var(--ibiz-color-primary-hover);--ibiz-nav-tabs-item-active-color:var(--ibiz-color-primary);display:flex;align-items:center;justify-content:flex-start;position:relative;padding:var(--ibiz-nav-tabs-padding)}.ibiz-nav-tabs__left{display:flex;align-items:center;width:var(--ibiz-nav-tabs-left-width)}.ibiz-nav-tabs__left--caption{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-nav-tabs__left .el-tabs{width:100%;--el-tabs-header-height:40px}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav{border:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item{display:flex;align-items:center;height:var(--ibiz-nav-tabs-item-height);padding:var(--ibiz-nav-tabs-item-padding);margin:var(--ibiz-nav-tabs-item-margin);overflow:hidden;font-size:var(--ibiz-nav-tabs-item-font-size);font-weight:var(--ibiz-nav-tabs-item-font-weight);color:var(--ibiz-nav-tabs-item-color);vertical-align:middle;background-color:var(--ibiz-nav-tabs-item-bg-color);border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-nav-tabs-item-border-radius);box-shadow:0 1px 2px 0 var(--ibiz-color-border);opacity:1}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-nav-tabs-item-hover-color);box-shadow:0 1px 4px 0 rgba(0,0,0,.25)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item:hover .is-icon-close{color:var(--ibiz-nav-tabs-item-hover-color)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active{padding:var(--ibiz-nav-tabs-item-padding);color:var(--ibiz-color-white);background-color:var(--ibiz-nav-tabs-item-active-color);box-shadow:none}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-active .is-icon-close{color:var(--ibiz-color-white)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item.is-closable.hover{padding:var(--ibiz-nav-tabs-item-padding)}.ibiz-nav-tabs__left .el-tabs .el-tabs__nav .el-tabs__item .is-icon-close{position:relative;top:1px}.ibiz-nav-tabs__left .el-tabs .el-tabs__header{margin-bottom:0;border-bottom:none}.ibiz-nav-tabs__right{width:var(--ibiz-nav-tabs-right-width)}.ibiz-nav-tabs__right .el-dropdown button{height:var(--ibiz-nav-tabs-right-height)}
@@ -47,11 +47,30 @@ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
47
47
  result.push(...props.controller.containerClass);
48
48
  return result;
49
49
  });
50
+ const onSearch = async () => {
51
+ const id = props.modelData.id;
52
+ const menuC = c.panel.view.getController("appmenu");
53
+ if (menuC) {
54
+ const targetMenu = menuC.allAppMenuItems.find((item) => {
55
+ return item.id === id;
56
+ });
57
+ if (targetMenu) {
58
+ const tempContext = c.panel.context.clone();
59
+ const tempParam = c.panel.params;
60
+ tempContext.srfappid = targetMenu.appId || ibiz.env.appId;
61
+ await ibiz.commands.execute(runtime.AppFuncCommand.TAG, targetMenu.appFuncId, tempContext, {
62
+ ...tempParam,
63
+ query: query.value
64
+ }, {});
65
+ }
66
+ }
67
+ };
50
68
  return {
51
69
  ns,
52
70
  classArr,
53
71
  isCollapse,
54
72
  onInput,
73
+ onSearch,
55
74
  c,
56
75
  query,
57
76
  menuAlign
@@ -67,7 +86,8 @@ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
67
86
  "model-value": this.query,
68
87
  "class": this.ns.b("search"),
69
88
  "placeholder": ibiz.i18n.t("component.indexSearch.placeholder"),
70
- "onInput": this.onInput
89
+ "onInput": this.onInput,
90
+ "onChange": this.onSearch
71
91
  }, {
72
92
  prefix: () => {
73
93
  return vue.createVNode("ion-icon", {
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue3Util = require('@ibiz-template/vue3-util');
6
+ var runtime = require('@ibiz-template/runtime');
7
+ var viewMsgPos = require('./view-msg-pos.cjs');
8
+ var viewMsgPos_provider = require('./view-msg-pos.provider.cjs');
9
+ var viewMsgPos_controller = require('./view-msg-pos.controller.cjs');
10
+
11
+ "use strict";
12
+ const IBizViewMsgPos = vue3Util.withInstall(viewMsgPos.ViewMsgPos, function(v) {
13
+ v.component(viewMsgPos.ViewMsgPos.name, viewMsgPos.ViewMsgPos);
14
+ runtime.registerPanelItemProvider(
15
+ "RAWITEM_VIEWMSG_POS",
16
+ () => new viewMsgPos_provider.ViewMsgPosProvider()
17
+ );
18
+ });
19
+
20
+ exports.ViewMsgPosController = viewMsgPos_controller.ViewMsgPosController;
21
+ exports.IBizViewMsgPos = IBizViewMsgPos;
22
+ exports.default = IBizViewMsgPos;
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var viewMsgPos_controller = require('./view-msg-pos.controller.cjs');
6
+
7
+ "use strict";
8
+ const ViewMsgPos = /* @__PURE__ */ vue.defineComponent({
9
+ name: "IBizViewMsgPos",
10
+ props: {
11
+ modelData: {
12
+ type: Object,
13
+ required: true
14
+ },
15
+ controller: {
16
+ type: viewMsgPos_controller.ViewMsgPosController,
17
+ required: true
18
+ }
19
+ },
20
+ setup() {
21
+ const ns = vue3Util.useNamespace("view-msg-pos");
22
+ const ctx = vue3Util.useCtx();
23
+ const view = ctx.view;
24
+ return {
25
+ ns,
26
+ view
27
+ };
28
+ },
29
+ render() {
30
+ const c = this.controller;
31
+ if (!this.view.state.isCreated) {
32
+ return;
33
+ }
34
+ const position = c.rawItemParams.position || "BODY";
35
+ const scroll = c.rawItemParams.scroll === "true";
36
+ const viewMessages = this.view.state.viewMessages[position];
37
+ if (viewMessages == null ? void 0 : viewMessages.length) {
38
+ return vue.createVNode("div", {
39
+ "class": this.ns.b()
40
+ }, [vue.createVNode(vue.resolveComponent("view-message"), {
41
+ "messages": viewMessages,
42
+ "scroll": scroll
43
+ }, null)]);
44
+ }
45
+ return null;
46
+ }
47
+ });
48
+
49
+ exports.ViewMsgPos = ViewMsgPos;
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ var runtime = require('@ibiz-template/runtime');
4
+
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
+ };
12
+ class ViewMsgPosController extends runtime.PanelItemController {
13
+ constructor() {
14
+ super(...arguments);
15
+ /**
16
+ * 直接内容项参数
17
+ *
18
+ * @author zhanghengfeng
19
+ * @date 2024-04-08 19:04:15
20
+ * @type {IData}
21
+ */
22
+ __publicField(this, "rawItemParams", {});
23
+ }
24
+ async onInit() {
25
+ await super.onInit();
26
+ this.handleRawItemParams();
27
+ }
28
+ /**
29
+ * 处理直接内容项参数
30
+ *
31
+ * @author zhanghengfeng
32
+ * @date 2024-04-08 19:04:59
33
+ * @protected
34
+ */
35
+ handleRawItemParams() {
36
+ var _a;
37
+ const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
38
+ if (Array.isArray(rawItemParams)) {
39
+ rawItemParams.forEach((item) => {
40
+ const key = item.key;
41
+ const value = item.value;
42
+ if (key && value) {
43
+ this.rawItemParams[key.toLowerCase()] = value;
44
+ }
45
+ });
46
+ }
47
+ }
48
+ }
49
+
50
+ exports.ViewMsgPosController = ViewMsgPosController;
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var viewMsgPos_controller = require('./view-msg-pos.controller.cjs');
4
+
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
+ };
12
+ class ViewMsgPosProvider {
13
+ constructor() {
14
+ __publicField(this, "component", "IBizViewMsgPos");
15
+ }
16
+ async createController(panelItem, panel, parent) {
17
+ const c = new viewMsgPos_controller.ViewMsgPosController(panelItem, panel, parent);
18
+ await c.init();
19
+ return c;
20
+ }
21
+ }
22
+
23
+ exports.ViewMsgPosProvider = ViewMsgPosProvider;
@@ -182,6 +182,10 @@ const IBizViewEngine = {
182
182
  "VIEW_DEPANELVIEW",
183
183
  (c) => new panelViewEngine.PanelViewEngine(c)
184
184
  );
185
+ ibiz.engine.register(
186
+ "VIEW_APPPANELVIEW",
187
+ (c) => new panelViewEngine.PanelViewEngine(c)
188
+ );
185
189
  ibiz.engine.register(
186
190
  "VIEW_DECUSTOMVIEW",
187
191
  (c) => new customView_engine.CustomViewEngine(c)
@@ -24,6 +24,14 @@ var App = /* @__PURE__ */ vue.defineComponent({
24
24
  }
25
25
  };
26
26
  document.addEventListener("keydown", listenDevtool);
27
+ const destroyAppHub = () => {
28
+ window.removeEventListener("unload", destroyAppHub);
29
+ ibiz.hub.destroy();
30
+ };
31
+ window.addEventListener("unload", destroyAppHub);
32
+ vue.onUnmounted(() => {
33
+ destroyAppHub();
34
+ });
27
35
  return {
28
36
  modal
29
37
  };
@@ -32,6 +32,13 @@ async function runApp(plugins, opts) {
32
32
  });
33
33
  core.install();
34
34
  runtime.install();
35
+ ibiz.util.getGlobalParam = () => {
36
+ return vue3Util.useAppStore().appStore;
37
+ };
38
+ ibiz.util.getRouterParams = () => {
39
+ const routePath = vue3Util.route2routePath(index.AppRouter.getRouter().currentRoute.value);
40
+ return routePath.pathNodes;
41
+ };
35
42
  ibiz.plugin = new vue3Util.PluginFactory();
36
43
  ibiz.util.error.register(new unauthorizedHandler.UnauthorizedHandler());
37
44
  const app = createVueApp.createVueApp(App.default);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.6.16",
3
+ "version": "0.7.0",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -30,14 +30,14 @@
30
30
  "@floating-ui/dom": "^1.5.3",
31
31
  "@ibiz-template-plugin/ai-chat": "^0.0.1",
32
32
  "@ibiz-template-plugin/gantt": "0.1.3-alpha.46",
33
- "@ibiz-template/core": "0.6.17",
33
+ "@ibiz-template/core": "0.7.0",
34
34
  "@ibiz-template/devtool": "0.0.1-dev.6",
35
- "@ibiz-template/model-helper": "0.6.17",
36
- "@ibiz-template/runtime": "0.6.17",
37
- "@ibiz-template/theme": "^0.6.0",
38
- "@ibiz-template/vue3-util": "0.6.17",
39
- "@ibiz-template/web-theme": "^1.1.14",
40
- "@ibiz/model-core": "^0.1.19",
35
+ "@ibiz-template/model-helper": "0.7.0",
36
+ "@ibiz-template/runtime": "0.7.0",
37
+ "@ibiz-template/theme": "^0.7.0",
38
+ "@ibiz-template/vue3-util": "0.7.0",
39
+ "@ibiz-template/web-theme": "^1.1.15",
40
+ "@ibiz/model-core": "^0.1.20",
41
41
  "@imengyu/vue3-context-menu": "^1.3.5",
42
42
  "@monaco-editor/loader": "^1.4.0",
43
43
  "@wangeditor/editor": "^5.1.23",
@@ -95,12 +95,12 @@
95
95
  },
96
96
  "peerDependencies": {
97
97
  "@floating-ui/dom": "^1.5.1",
98
- "@ibiz-template/core": "^0.6.0",
99
- "@ibiz-template/model-helper": "^0.6.0",
100
- "@ibiz-template/runtime": "^0.6.0",
101
- "@ibiz-template/theme": "^0.6.0",
102
- "@ibiz-template/vue3-util": "^0.6.0",
103
- "@ibiz/model-core": "^0.1.19",
98
+ "@ibiz-template/core": "^0.7.0",
99
+ "@ibiz-template/model-helper": "^0.7.0",
100
+ "@ibiz-template/runtime": "^0.7.0",
101
+ "@ibiz-template/theme": "^0.7.0",
102
+ "@ibiz-template/vue3-util": "^0.7.0",
103
+ "@ibiz/model-core": "^0.1.20",
104
104
  "@imengyu/vue3-context-menu": "^1.3.3",
105
105
  "@monaco-editor/loader": "^1.3.3",
106
106
  "@wangeditor/editor": "^5.1.23",
@@ -1 +0,0 @@
1
- System.register(["vue","@ibiz-template/vue3-util","echarts","@ibiz-template/runtime"],(function(e){"use strict";var t,n,r,o,i,a,s,c,l;return{setters:[function(e){t=e.defineComponent,n=e.ref,r=e.onMounted,o=e.createVNode,i=e.resolveComponent},function(e){a=e.useControlController,s=e.useNamespace},function(e){c=e.init},function(e){l=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}},setup(){const e=a(((...e)=>new l(...e))),t=s("control-".concat(e.model.controlType.toLowerCase())),o=n();return r((()=>{const t=c(o.value);e.initChart(t)})),{c:e,ns:t,chartRef:o}},render(){return o(i("iBizControlBase"),{controller:this.c},{default:()=>[o(i("el-empty"),{class:[this.ns.e("empty"),this.ns.is("no-data",0===this.c.state.items.length)],description:"暂无数据"},null),o("div",{ref:"chartRef",class:[this.ns.e("chart"),this.ns.is("no-data",0===this.c.state.items.length)]},[ibiz.i18n.t("control.chart.chartPlaceholder")])]})}}))}}}));