@ibiz-template/vue3-components 0.5.7-alpha.4 → 0.5.7-alpha.6

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 (102) hide show
  1. package/dist/index-CzVC8rhd.js +1 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{xlsx-util-kzUgnbtt.js → xlsx-util-TVsJdNUI.js} +1 -1
  5. package/es/common/grid-setting/grid-setting.css +1 -1
  6. package/es/common/grid-setting/grid-setting.mjs +23 -4
  7. package/es/control/calendar/calendar.mjs +1 -1
  8. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +236 -0
  9. package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +2 -0
  10. package/es/control/data-view/data-view.mjs +3 -2
  11. package/es/control/drtab/drtab.css +1 -1
  12. package/es/control/form/form-detail/form-button/form-button.mjs +2 -1
  13. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +2124 -0
  14. package/es/control/grid/grid/grid-control.util.mjs +4 -0
  15. package/es/control/search-bar/filter-tree/filter-tree.d.ts +45 -14
  16. package/es/control/search-bar/filter-tree/filter-tree.mjs +42 -21
  17. package/es/control/search-bar/search-bar.mjs +8 -2
  18. package/es/control/tab-exp-panel/tab-exp-panel.mjs +32 -1
  19. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  20. package/es/editor/index.mjs +8 -0
  21. package/es/editor/span/span/span.d.ts +2 -0
  22. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +2 -2
  23. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.d.ts +46 -0
  24. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.mjs +93 -0
  25. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.css +1 -0
  26. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.d.ts +81 -0
  27. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +187 -0
  28. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.d.ts +17 -0
  29. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs +22 -0
  30. package/es/editor/user/ibiz-searchcond-edit/index.d.ts +3 -0
  31. package/es/editor/user/ibiz-searchcond-edit/index.mjs +5 -0
  32. package/es/editor/user/index.d.ts +1 -0
  33. package/es/editor/user/index.mjs +6 -0
  34. package/es/index.d.ts +0 -1
  35. package/es/index.mjs +0 -1
  36. package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  37. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
  38. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
  39. package/es/util/app-drawer/app-drawer-component.mjs +3 -2
  40. package/es/util/app-modal/app-modal-component.mjs +11 -2
  41. package/es/util/app-popover/app-popover-component.mjs +25 -2
  42. package/es/util/notification-util/notification-util.mjs +1 -0
  43. package/es/util/open-view-util/open-view-util.mjs +8 -1
  44. package/es/view-engine/report-view.engine.d.ts +19 -0
  45. package/es/view-engine/report-view.engine.mjs +37 -10
  46. package/es/view-engine/tab-exp-view.engine.mjs +3 -3
  47. package/lib/common/grid-setting/grid-setting.cjs +23 -4
  48. package/lib/common/grid-setting/grid-setting.css +1 -1
  49. package/lib/control/calendar/calendar.cjs +1 -1
  50. package/lib/control/data-view/data-view.cjs +3 -2
  51. package/lib/control/drtab/drtab.css +1 -1
  52. package/lib/control/form/form-detail/form-button/form-button.cjs +2 -1
  53. package/lib/control/grid/grid/grid-control.util.cjs +4 -0
  54. package/lib/control/search-bar/filter-tree/filter-tree.cjs +41 -20
  55. package/lib/control/search-bar/search-bar.cjs +8 -2
  56. package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
  57. package/lib/control/tab-exp-panel/tab-exp-panel.cjs +31 -0
  58. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  59. package/lib/editor/html/wang-editor/wang-editor.cjs +2 -2
  60. package/lib/editor/index.cjs +8 -0
  61. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +2 -2
  62. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +189 -0
  63. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.cjs +95 -0
  64. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.css +1 -0
  65. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.cjs +24 -0
  66. package/lib/editor/user/ibiz-searchcond-edit/index.cjs +11 -0
  67. package/lib/editor/user/index.cjs +12 -0
  68. package/lib/index.cjs +181 -183
  69. package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  70. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +2 -2
  71. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
  72. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
  73. package/lib/util/app-drawer/app-drawer-component.cjs +3 -2
  74. package/lib/util/app-modal/app-modal-component.cjs +11 -2
  75. package/lib/util/app-popover/app-popover-component.cjs +24 -1
  76. package/lib/util/confirm-util/confirm-util.cjs +5 -5
  77. package/lib/util/loading-util/loading-util.cjs +2 -2
  78. package/lib/util/message-util/message-util.cjs +5 -5
  79. package/lib/util/modal-util/modal-util.cjs +6 -6
  80. package/lib/util/notice-util/notice-util.cjs +3 -3
  81. package/lib/util/notification-util/notification-util.cjs +3 -2
  82. package/lib/util/open-view-util/open-view-util.cjs +8 -1
  83. package/lib/view-engine/report-view.engine.cjs +36 -9
  84. package/lib/view-engine/tab-exp-view.engine.cjs +2 -2
  85. package/package.json +6 -6
  86. package/dist/index-knHzHtox.js +0 -2
  87. package/es/devtool/devtool-action.css +0 -1
  88. package/es/devtool/devtool-action.d.ts +0 -26
  89. package/es/devtool/devtool-action.mjs +0 -219
  90. package/es/devtool/index.d.ts +0 -50
  91. package/es/devtool/index.mjs +0 -81
  92. package/es/devtool/interface/devtool-event.d.ts +0 -12
  93. package/es/devtool/interface/devtool-event.mjs +0 -1
  94. package/es/devtool/interface/devtool-view.d.ts +0 -15
  95. package/es/devtool/interface/devtool-view.mjs +0 -1
  96. package/es/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.mjs +0 -131
  97. package/lib/devtool/devtool-action.cjs +0 -221
  98. package/lib/devtool/devtool-action.css +0 -1
  99. package/lib/devtool/index.cjs +0 -84
  100. package/lib/devtool/interface/devtool-event.cjs +0 -3
  101. package/lib/devtool/interface/devtool-view.cjs +0 -3
  102. package/lib/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.cjs +0 -135
@@ -0,0 +1,187 @@
1
+ import { ref, computed, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { getInputProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
+ import './ibiz-searchcond-edit.css';
4
+ import { isNilOrEmpty } from 'qx-util';
5
+ import { getOriginFilterNodes, parseFilters, calcSearchConds } from '@ibiz-template/runtime';
6
+
7
+ "use strict";
8
+ const IBizSearchCondEdit = /* @__PURE__ */ defineComponent({
9
+ name: "IBizSearchCondEdit",
10
+ props: getInputProps(),
11
+ emits: getEditorEmits(),
12
+ setup(props, {
13
+ emit
14
+ }) {
15
+ const ns = useNamespace("searchcond-edit");
16
+ const c = props.controller;
17
+ const currentVal = ref(null);
18
+ const isEditable = ref(false);
19
+ const editorRef = ref();
20
+ const filterNodes = ref([]);
21
+ const filterButtonRef = ref();
22
+ let popover;
23
+ const showFormDefaultContent = computed(() => {
24
+ if (props.controlParams && props.controlParams.editmode === "hover") {
25
+ return true;
26
+ }
27
+ return false;
28
+ });
29
+ watch(() => props.value, (newVal, oldVal) => {
30
+ if (newVal !== oldVal) {
31
+ if (newVal == null) {
32
+ currentVal.value = "";
33
+ filterNodes.value = getOriginFilterNodes();
34
+ } else if (typeof newVal === "string") {
35
+ currentVal.value = newVal;
36
+ if (newVal) {
37
+ try {
38
+ const searchconds = JSON.parse(newVal);
39
+ filterNodes.value = searchconds.map((item) => parseFilters(item));
40
+ } catch (error) {
41
+ ibiz.log.error("".concat(newVal, "\u503C\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u5FC5\u987B\u4E3Ajson\u5B57\u7B26\u4E32"));
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }, {
47
+ immediate: true
48
+ });
49
+ const resetFilter = () => {
50
+ filterNodes.value = getOriginFilterNodes();
51
+ };
52
+ resetFilter();
53
+ const setEditable = (flag) => {
54
+ if (flag) {
55
+ isEditable.value = flag;
56
+ } else {
57
+ setTimeout(() => {
58
+ isEditable.value = flag;
59
+ }, 100);
60
+ }
61
+ };
62
+ const handleChange = (e) => {
63
+ emit("change", e);
64
+ };
65
+ if (props.autoFocus) {
66
+ watch(editorRef, (newVal) => {
67
+ if (newVal) {
68
+ const input = newVal.$el.getElementsByTagName("input")[0];
69
+ input.focus();
70
+ }
71
+ });
72
+ }
73
+ const onFocus = (e) => {
74
+ emit("focus", e);
75
+ setEditable(true);
76
+ };
77
+ const onBlur = (e) => {
78
+ emit("blur", e);
79
+ setEditable(false);
80
+ };
81
+ const handleKeyUp = (e) => {
82
+ if (e && e.code === "Enter") {
83
+ emit("enter", e);
84
+ }
85
+ };
86
+ const getCurrentValByFilterNodes = () => {
87
+ const searchconds = calcSearchConds(filterNodes.value);
88
+ if (searchconds) {
89
+ currentVal.value = JSON.stringify(searchconds, null, 2);
90
+ }
91
+ };
92
+ const onConfirm = () => {
93
+ getCurrentValByFilterNodes();
94
+ if (popover) {
95
+ popover.dismiss();
96
+ }
97
+ emit("change", currentVal.value);
98
+ };
99
+ const onCancel = () => {
100
+ resetFilter();
101
+ getCurrentValByFilterNodes();
102
+ emit("change", "");
103
+ };
104
+ const showFilter = async () => {
105
+ popover = ibiz.overlay.createPopover(() => {
106
+ return createVNode(resolveComponent("iBizFilterTreeControl"), {
107
+ "filterControllers": c.filterControllers,
108
+ "filterNodes": filterNodes.value,
109
+ "parent": "searchcond-edit",
110
+ "onConfirm": () => {
111
+ onConfirm();
112
+ },
113
+ "onCancel": () => {
114
+ onCancel();
115
+ }
116
+ }, null);
117
+ }, void 0, {
118
+ placement: "bottom-end",
119
+ autoClose: true
120
+ });
121
+ popover.present(filterButtonRef.value.$el);
122
+ await popover.onWillDismiss();
123
+ popover = void 0;
124
+ };
125
+ const triggerFilter = () => {
126
+ if (popover) {
127
+ popover.dismiss();
128
+ } else {
129
+ showFilter();
130
+ }
131
+ };
132
+ return {
133
+ ns,
134
+ c,
135
+ currentVal,
136
+ handleChange,
137
+ onFocus,
138
+ onBlur,
139
+ editorRef,
140
+ handleKeyUp,
141
+ isEditable,
142
+ setEditable,
143
+ showFormDefaultContent,
144
+ filterNodes,
145
+ triggerFilter,
146
+ filterButtonRef,
147
+ resetFilter
148
+ };
149
+ },
150
+ render() {
151
+ let content = null;
152
+ if (this.readonly) {
153
+ content = isNilOrEmpty(this.currentVal) ? "" : "".concat(this.currentVal);
154
+ } else {
155
+ content = [createVNode(resolveComponent("el-input"), {
156
+ "ref": "editorRef",
157
+ "class": [this.ns.b("input")],
158
+ "model-value": this.currentVal,
159
+ "type": "textarea",
160
+ "rows": 10,
161
+ "placeholder": this.c.placeHolder,
162
+ "disabled": this.disabled,
163
+ "controls": false,
164
+ "onFocus": this.onFocus,
165
+ "onBlur": this.onBlur,
166
+ "onKeyup": this.handleKeyUp
167
+ }, null), createVNode(resolveComponent("el-button"), {
168
+ "ref": "filterButtonRef",
169
+ "type": "primary",
170
+ "title": "\u7F16\u8F91",
171
+ "class": this.ns.b("filter"),
172
+ "onClick": () => this.triggerFilter()
173
+ }, {
174
+ default: () => [createVNode(resolveComponent("iBizIcon"), {
175
+ "icon": {
176
+ cssClass: "fa fa-edit"
177
+ }
178
+ }, null)]
179
+ })];
180
+ }
181
+ return createVNode("div", {
182
+ "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("editable", this.isEditable), this.ns.is("show-default", this.showFormDefaultContent)]
183
+ }, [content]);
184
+ }
185
+ });
186
+
187
+ export { IBizSearchCondEdit };
@@ -0,0 +1,17 @@
1
+ import { IEditorContainerController, IEditorProvider } from '@ibiz-template/runtime';
2
+ import { IPicker } from '@ibiz/model-core';
3
+ import { SearchCondEditEditorController } from './ibiz-searchcond-edit.controller';
4
+ /**
5
+ * 搜索过滤项编辑器适配器
6
+ *
7
+ * @author lxm
8
+ * @date 2022-09-19 22:09:03
9
+ * @export
10
+ * @class SearchCondEditEditorProvider
11
+ * @implements {EditorProvider}
12
+ */
13
+ export declare class SearchCondEditEditorProvider implements IEditorProvider {
14
+ formEditor: string;
15
+ gridEditor: string;
16
+ createController(editorModel: IPicker, parentController: IEditorContainerController): Promise<SearchCondEditEditorController>;
17
+ }
@@ -0,0 +1,22 @@
1
+ import { SearchCondEditEditorController } from './ibiz-searchcond-edit.controller.mjs';
2
+
3
+ "use strict";
4
+ var __defProp = Object.defineProperty;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => {
7
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
8
+ return value;
9
+ };
10
+ class SearchCondEditEditorProvider {
11
+ constructor() {
12
+ __publicField(this, "formEditor", "IBizSearchCondEdit");
13
+ __publicField(this, "gridEditor", "IBizSearchCondEdit");
14
+ }
15
+ async createController(editorModel, parentController) {
16
+ const c = new SearchCondEditEditorController(editorModel, parentController);
17
+ await c.init();
18
+ return c;
19
+ }
20
+ }
21
+
22
+ export { SearchCondEditEditorProvider };
@@ -0,0 +1,3 @@
1
+ export * from './ibiz-searchcond-edit.controller';
2
+ export * from './ibiz-searchcond-edit.provider';
3
+ export { IBizSearchCondEdit } from './ibiz-searchcond-edit';
@@ -0,0 +1,5 @@
1
+ export { SearchCondEditEditorController } from './ibiz-searchcond-edit.controller.mjs';
2
+ export { SearchCondEditEditorProvider } from './ibiz-searchcond-edit.provider.mjs';
3
+ export { IBizSearchCondEdit } from './ibiz-searchcond-edit.mjs';
4
+
5
+ "use strict";
@@ -0,0 +1 @@
1
+ export * from './ibiz-searchcond-edit';
@@ -0,0 +1,6 @@
1
+ import './ibiz-searchcond-edit/index.mjs';
2
+ export { IBizSearchCondEdit } from './ibiz-searchcond-edit/ibiz-searchcond-edit.mjs';
3
+ export { SearchCondEditEditorController } from './ibiz-searchcond-edit/ibiz-searchcond-edit.controller.mjs';
4
+ export { SearchCondEditEditorProvider } from './ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs';
5
+
6
+ "use strict";
package/es/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from './editor';
6
6
  export * from './view';
7
7
  export * from './view-engine';
8
8
  export * from './util';
9
- export { devtool } from './devtool';
10
9
  export { i18n } from './locale';
11
10
  declare const _default: {
12
11
  install: (v: App) => void;
package/es/index.mjs CHANGED
@@ -8,7 +8,6 @@ import { iBizI18n } from './locale/index.mjs';
8
8
  export { i18n } from './locale/index.mjs';
9
9
  import { IBizViewEngine } from './view-engine/index.mjs';
10
10
  import './util/index.mjs';
11
- export { devtool } from './devtool/index.mjs';
12
11
  import { IBizWFStepTraceView } from './view/wf-step-trace-view/index.mjs';
13
12
  import { IBizSubAppRefView } from './view/sub-app-ref-view/index.mjs';
14
13
  import { IBizDataViewControl } from './control/data-view/index.mjs';
@@ -1 +1 @@
1
- .ibiz-user-info{--ibiz-user-info-padding:0 var(--ibiz-spacing-loose);--ibiz-user-info-color:var(--ibiz-color-text-0);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{position:relative;top:12px}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:35px}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:24px;max-height:24px}.ibiz-user-info.is-collapse .el-dropdown{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-user-info.is-collapse .ibiz-user-info-avatar{max-width:32px;max-height:32px;margin:0}.ibiz-user-info-avatar{max-width:44px;max-height:44px;margin-right:10px}.ibiz-user-info-info{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--ibiz-user-info-color)}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-font-size-header-6)}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:10px;font-size:var(--ibiz-font-size-small)}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:0}
1
+ .ibiz-user-info{--ibiz-user-info-padding:0 var(--ibiz-spacing-loose);--ibiz-user-info-color:var(--ibiz-color-text-0);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{position:relative;top:12px}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:35px}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:24px;max-height:24px}.ibiz-user-info.is-collapse .el-dropdown{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-user-info.is-collapse .ibiz-user-info-avatar{max-width:32px;max-height:32px;margin:0}.ibiz-user-info-avatar{max-width:44px;max-height:44px;margin-right:10px}.ibiz-user-info-info{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--ibiz-user-info-color)}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-font-size-header-6);line-height:1.3}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:10px;font-size:var(--ibiz-font-size-small);line-height:1.2}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:0}
@@ -1 +1 @@
1
- .ibiz-internal-message{--ibiz-internal-message-loading-warp-bg-color:linear-gradient(90deg, var(--ibiz-color-primary-light-hover), var(--ibiz-color-primary));display:flex;align-items:center;justify-content:space-between;position:relative}.ibiz-internal-message--clickable{cursor:pointer}.ibiz-internal-message__caption{margin-bottom:8px;font-weight:var(--ibiz-font-weight-bold)}.ibiz-internal-message__short-content{margin-bottom:8px}.ibiz-internal-message__status{margin-right:8px}.ibiz-internal-message:hover .ibiz-internal-message-toolbar{display:block}.ibiz-internal-message-left{flex-grow:0;flex-shrink:0;align-self:flex-start;width:50px;font-size:var(--ibiz-font-size-header-3);text-align:center}.ibiz-internal-message-center{flex-grow:1;width:342px}.ibiz-internal-message-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-toolbar__button:hover{color:var(--ibiz-color-primary)}
1
+ .ibiz-internal-message{--ibiz-internal-message-loading-warp-bg-color:linear-gradient(90deg, var(--ibiz-color-primary-light-hover), var(--ibiz-color-primary));display:flex;align-items:center;justify-content:space-between;position:relative}.ibiz-internal-message--clickable{cursor:pointer}.ibiz-internal-message__caption{margin-bottom:8px;font-weight:var(--ibiz-font-weight-bold)}.ibiz-internal-message__short-content{margin-bottom:8px}.ibiz-internal-message__status{margin-right:8px}.ibiz-internal-message-left{flex-grow:0;flex-shrink:0;align-self:flex-start;width:50px;font-size:var(--ibiz-font-size-header-3);text-align:center}.ibiz-internal-message-center{flex-grow:1;width:342px}.ibiz-internal-message-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-toolbar__button:hover{color:var(--ibiz-color-primary)}
@@ -1 +1 @@
1
- .ibiz-internal-message-json{display:flex;flex-flow:column nowrap;position:relative}.ibiz-internal-message-json--clickable{cursor:pointer}.ibiz-internal-message-json:hover .ibiz-internal-message-json-toolbar{display:block}.ibiz-internal-message-json__content{flex-grow:1}.ibiz-internal-message-json-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-json-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-json-toolbar__button:hover{color:var(--ibiz-color-primary)}
1
+ .ibiz-internal-message-json{display:flex;flex-flow:column nowrap;position:relative}.ibiz-internal-message-json--clickable{cursor:pointer}.ibiz-internal-message-json__content{flex-grow:1}.ibiz-internal-message-json-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-json-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-json-toolbar__button:hover{color:var(--ibiz-color-primary)}
@@ -3,6 +3,7 @@ import { useNamespace, useUIStore, OverlayContainer } from '@ibiz-template/vue3-
3
3
  import { ViewMode, Modal } from '@ibiz-template/runtime';
4
4
  import { isNumber } from 'lodash-es';
5
5
  import './app-drawer-component.css';
6
+ import { calcOpenModeStyle } from '@ibiz-template/core';
6
7
 
7
8
  "use strict";
8
9
  const AppDrawerComponent = /* @__PURE__ */ defineComponent({
@@ -28,14 +29,14 @@ const AppDrawerComponent = /* @__PURE__ */ defineComponent({
28
29
  } = props.opts;
29
30
  if (placement === "top" || placement === "bottom") {
30
31
  if (isNumber(height)) {
31
- size.value = height;
32
+ size.value = calcOpenModeStyle(height, "drawer");
32
33
  } else {
33
34
  size.value = "100%";
34
35
  }
35
36
  }
36
37
  if (placement === "left" || placement === "right") {
37
38
  if (isNumber(width)) {
38
- size.value = width;
39
+ size.value = calcOpenModeStyle(width, "drawer");
39
40
  } else {
40
41
  size.value = 800;
41
42
  }
@@ -3,6 +3,7 @@ import { useNamespace, useUIStore, OverlayContainer } from '@ibiz-template/vue3-
3
3
  import { isNumber } from 'lodash-es';
4
4
  import { ViewMode, Modal } from '@ibiz-template/runtime';
5
5
  import './app-modal-component.css';
6
+ import { calcOpenModeStyle } from '@ibiz-template/core';
6
7
 
7
8
  "use strict";
8
9
  const AppModalComponent = /* @__PURE__ */ defineComponent({
@@ -26,10 +27,18 @@ const AppModalComponent = /* @__PURE__ */ defineComponent({
26
27
  height
27
28
  } = props.opts;
28
29
  if (width) {
29
- customStyle.width = isNumber(width) ? "".concat(width, "px") : width;
30
+ if (isNumber(width)) {
31
+ customStyle.width = calcOpenModeStyle(width, "modal");
32
+ } else {
33
+ customStyle.width = width;
34
+ }
30
35
  }
31
36
  if (height) {
32
- customStyle.height = isNumber(height) ? "".concat(height, "px") : height;
37
+ if (isNumber(height)) {
38
+ customStyle.height = calcOpenModeStyle(height, "modal");
39
+ } else {
40
+ customStyle.height = height;
41
+ }
33
42
  }
34
43
  const options = ref({
35
44
  footerHide: true,
@@ -1,8 +1,10 @@
1
- import { ref, onUnmounted, createVNode, defineComponent } from 'vue';
1
+ import { ref, reactive, onUnmounted, createVNode, defineComponent } from 'vue';
2
2
  import { offset, flip, shift, arrow, computePosition, autoUpdate } from '@floating-ui/dom';
3
3
  import { ViewMode, Modal } from '@ibiz-template/runtime';
4
4
  import { useNamespace, useUIStore, OverlayPopoverContainer } from '@ibiz-template/vue3-util';
5
5
  import './app-popover-component.css';
6
+ import { isNumber } from 'lodash-es';
7
+ import { calcOpenModeStyle } from '@ibiz-template/core';
6
8
 
7
9
  "use strict";
8
10
  async function computePos(element, el, arrEl, opts) {
@@ -70,6 +72,25 @@ const AppPopoverComponent = /* @__PURE__ */ defineComponent({
70
72
  zIndex
71
73
  } = useUIStore();
72
74
  const popoverZIndex = zIndex.increment();
75
+ const customStyle = reactive({});
76
+ const {
77
+ width,
78
+ height
79
+ } = props.opts;
80
+ if (width) {
81
+ if (isNumber(width)) {
82
+ customStyle.width = calcOpenModeStyle(width, "popover");
83
+ } else {
84
+ customStyle.width = width;
85
+ }
86
+ }
87
+ if (height) {
88
+ if (isNumber(height)) {
89
+ customStyle.height = calcOpenModeStyle(height, "popover");
90
+ } else {
91
+ customStyle.height = height;
92
+ }
93
+ }
73
94
  const modal = new Modal({
74
95
  mode: ViewMode.POPOVER,
75
96
  viewUsage: 2,
@@ -107,7 +128,8 @@ const AppPopoverComponent = /* @__PURE__ */ defineComponent({
107
128
  popoverZIndex,
108
129
  onMaskClick,
109
130
  present,
110
- dismiss
131
+ dismiss,
132
+ customStyle
111
133
  };
112
134
  },
113
135
  render() {
@@ -115,6 +137,7 @@ const AppPopoverComponent = /* @__PURE__ */ defineComponent({
115
137
  const content = createVNode("div", {
116
138
  "class": [this.ns.b(), this.ns.is("show", this.isShow)],
117
139
  "ref": "el",
140
+ "style": this.customStyle,
118
141
  "onClick": (e) => {
119
142
  e.stopPropagation();
120
143
  }
@@ -53,6 +53,7 @@ class NotificationUtil {
53
53
  title: params.title,
54
54
  message: params.desc,
55
55
  type: noticeType,
56
+ position: params.position || "top-right",
56
57
  duration
57
58
  });
58
59
  }
@@ -57,6 +57,13 @@ class OpenViewUtil {
57
57
  }
58
58
  async popover(appViewId, event, context, params, options = {}) {
59
59
  const appView = await ibiz.hub.config.view.get(appViewId);
60
+ const opts = {
61
+ width: appView.width,
62
+ height: appView.height,
63
+ autoClose: true,
64
+ placement: "bottom",
65
+ ...options
66
+ };
60
67
  return openViewPopover(
61
68
  event,
62
69
  {
@@ -64,7 +71,7 @@ class OpenViewUtil {
64
71
  params,
65
72
  viewId: appView.id
66
73
  },
67
- { autoClose: true, placement: "bottom", ...options }
74
+ opts
68
75
  );
69
76
  }
70
77
  /**
@@ -87,6 +87,25 @@ export declare class ReportViewEngine extends ViewEngineBase {
87
87
  * @memberof ReportViewEngine
88
88
  */
89
89
  protected calcViewHeaderVisible(): boolean;
90
+ /**
91
+ * 计算搜索栏显示
92
+ *
93
+ * @author zk
94
+ * @date 2024-01-29 05:01:36
95
+ * @protected
96
+ * @return {*} {boolean}
97
+ * @memberof MDViewEngine
98
+ */
99
+ protected calcViewSearchBarVisible(): boolean;
100
+ /**
101
+ * 计算移除的模型名称
102
+ *
103
+ * @author zk
104
+ * @date 2024-01-29 03:01:42
105
+ * @return {*} {string[]}
106
+ * @memberof MDViewEngine
107
+ */
108
+ calcRemoveLayoutModel(): string[];
90
109
  /**
91
110
  * 切换搜索表单的显示与否
92
111
  *
@@ -1,4 +1,4 @@
1
- import { ViewEngineBase, SysUIActionTag } from '@ibiz-template/runtime';
1
+ import { ViewEngineBase, SysUIActionTag, getControl } from '@ibiz-template/runtime';
2
2
 
3
3
  "use strict";
4
4
  class ReportViewEngine extends ViewEngineBase {
@@ -149,16 +149,43 @@ class ReportViewEngine extends ViewEngineBase {
149
149
  * @memberof ReportViewEngine
150
150
  */
151
151
  calcViewHeaderVisible() {
152
- let showHeader = super.calcViewHeaderVisible();
153
- if (!this.searchBar || !this.searchBar.state.visible) {
154
- const controller = this.viewLayoutPanel.panelItems.view_searchbar;
155
- if (controller) {
156
- controller.state.visible = false;
157
- }
158
- } else {
159
- showHeader = true;
152
+ const showHeader = super.calcViewHeaderVisible();
153
+ const visible = this.calcViewSearchBarVisible();
154
+ return visible || showHeader;
155
+ }
156
+ /**
157
+ * 计算搜索栏显示
158
+ *
159
+ * @author zk
160
+ * @date 2024-01-29 05:01:36
161
+ * @protected
162
+ * @return {*} {boolean}
163
+ * @memberof MDViewEngine
164
+ */
165
+ calcViewSearchBarVisible() {
166
+ const { model } = this.view;
167
+ const has = this.isExistAndInLayout("searchbar");
168
+ if (!has) {
169
+ return has;
170
+ }
171
+ const searchBar = getControl(model, "searchbar");
172
+ const visible = !!(searchBar.enableQuickSearch || searchBar.enableGroup || searchBar.enableFilter === true);
173
+ return visible;
174
+ }
175
+ /**
176
+ * 计算移除的模型名称
177
+ *
178
+ * @author zk
179
+ * @date 2024-01-29 03:01:42
180
+ * @return {*} {string[]}
181
+ * @memberof MDViewEngine
182
+ */
183
+ calcRemoveLayoutModel() {
184
+ const names = super.calcRemoveLayoutModel();
185
+ if (!this.calcViewSearchBarVisible()) {
186
+ names.push("view_searchbar");
160
187
  }
161
- return showHeader;
188
+ return names;
162
189
  }
163
190
  /**
164
191
  * 切换搜索表单的显示与否
@@ -1,5 +1,5 @@
1
1
  import { ModelError } from '@ibiz-template/core';
2
- import { ViewEngineBase, calcDeCodeNameById } from '@ibiz-template/runtime';
2
+ import { ViewEngineBase, calcDeCodeNameById, getControl } from '@ibiz-template/runtime';
3
3
 
4
4
  "use strict";
5
5
  class TabExpViewEngine extends ViewEngineBase {
@@ -20,6 +20,7 @@ class TabExpViewEngine extends ViewEngineBase {
20
20
  */
21
21
  async onCreated() {
22
22
  var _a;
23
+ this.preprocessTabExpModelLayout();
23
24
  await super.onCreated();
24
25
  const { childNames, model } = this.view;
25
26
  childNames.push("tabexppanel");
@@ -31,7 +32,6 @@ class TabExpViewEngine extends ViewEngineBase {
31
32
  (item) => item.id === "srfdefaultnav"
32
33
  )) == null ? void 0 : _a.value;
33
34
  this.view.slotProps.tabexppanel.defaultTabName = this.view.state.srfnav || srfdefaultnav;
34
- this.preprocessTabExpModelLayout();
35
35
  }
36
36
  async onMounted() {
37
37
  await super.onMounted();
@@ -142,7 +142,7 @@ class TabExpViewEngine extends ViewEngineBase {
142
142
  calcViewHeaderVisible() {
143
143
  let showHeader = super.calcViewHeaderVisible();
144
144
  const { tabLayout } = this.view.model;
145
- if ((tabLayout === void 0 || tabLayout === "TOP") && this.tabExpPanel) {
145
+ if (tabLayout === void 0 || tabLayout === "TOP" && getControl(this.view.model, "tabexppanel")) {
146
146
  showHeader = true;
147
147
  }
148
148
  return showHeader;
@@ -62,7 +62,8 @@ const IBizGridSetting = /* @__PURE__ */ vue.defineComponent({
62
62
  render() {
63
63
  return vue.createVNode(vue.resolveComponent("el-popover"), {
64
64
  "placement": "right-start",
65
- "trigger": "click"
65
+ "trigger": "click",
66
+ "width": "auto"
66
67
  }, {
67
68
  reference: () => {
68
69
  return vue.createVNode("ion-icon", {
@@ -91,9 +92,27 @@ const IBizGridSetting = /* @__PURE__ */ vue.defineComponent({
91
92
  return vue.createVNode("div", {
92
93
  "class": [this.ns.b("column-state"), this.ns.is("disabled", state.hidden), this.ns.is("fixed", !!state.fixed), !!state.fixed && "unmover"],
93
94
  "onClick": () => this.handleClick(state)
94
- }, [this.isDraggable && !state.fixed && vue.createVNode("img", {
95
- "src": "./assets/iconfont/svg/drag.svg"
96
- }, null), state.caption]);
95
+ }, [this.isDraggable && !state.fixed && vue.createVNode(vue.resolveComponent("iBizIcon"), {
96
+ "class": this.ns.b("drag-icon"),
97
+ "icon": {
98
+ imagePath: "svg/drag.svg"
99
+ },
100
+ "baseDir": "iconfont"
101
+ }, null), vue.createVNode(vue.resolveComponent("iBizIcon"), {
102
+ "class": this.ns.b("disable-icon"),
103
+ "icon": {
104
+ imagePath: "svg/disable.svg"
105
+ },
106
+ "baseDir": "iconfont"
107
+ }, null), vue.createVNode(vue.resolveComponent("iBizIcon"), {
108
+ "class": this.ns.b("enable-icon"),
109
+ "icon": {
110
+ imagePath: "svg/enable.svg"
111
+ },
112
+ "baseDir": "iconfont"
113
+ }, null), vue.createVNode("div", {
114
+ "class": this.ns.b("state-caption")
115
+ }, [state.caption])]);
97
116
  }
98
117
  });
99
118
  }
@@ -1 +1 @@
1
- .ibiz-grid-setting-column-states{max-height:500px;overflow-y:auto}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state{display:flex;align-items:center;justify-content:flex-start;padding:var(--ibiz-spacing-extra-tight) 0;font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state.is-disabled{opacity:.5}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state img{display:inline-block;width:var(--ibiz-font-size-small);margin-right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-3)}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state-ghost{background-color:var(--ibiz-color-primary-light-default);opacity:.5}.ibiz-grid-setting-set-icon{color:var(--ibiz-color-primary);cursor:pointer}
1
+ .ibiz-grid-setting-column-states{width:100%;max-height:500px;overflow-y:auto}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-extra-tight) 0;font-size:var(--ibiz-font-size-regular);cursor:pointer}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state ion-icon{display:inline-block;width:var(--ibiz-font-size-small);margin-right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state .ibiz-grid-setting-drag-icon{color:var(--ibiz-color-text)}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state .ibiz-grid-setting-enable-icon{color:var(--ibiz-color-success)}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state .ibiz-grid-setting-disable-icon{display:none;color:var(--ibiz-color-danger)}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state .ibiz-grid-setting-state-caption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state.is-disabled .ibiz-grid-setting-enable-icon{display:none}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state.is-disabled .ibiz-grid-setting-disable-icon{display:block}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state.is-disabled .ibiz-grid-setting-state-caption{color:var(--ibiz-color-disabled-text)}.ibiz-grid-setting-column-states .ibiz-grid-setting-column-state-ghost{background-color:var(--ibiz-color-primary-light-default);opacity:.5}.ibiz-grid-setting-set-icon{color:var(--ibiz-color-primary);cursor:pointer}
@@ -109,7 +109,7 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
109
109
  "style": style,
110
110
  "onClick": () => this.c.onRowClick(item),
111
111
  "onDblclick": () => this.c.onDbRowClick(item)
112
- }, ["".concat(item.text)]);
112
+ }, [item.text]);
113
113
  };
114
114
  const renderCalendarList = (items) => {
115
115
  return items.map((item) => {
@@ -143,10 +143,11 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
143
143
  cardColXS,
144
144
  cardColSM,
145
145
  cardColMD,
146
- cardColLG
146
+ cardColLG,
147
+ groupSysCss
147
148
  } = c.model;
148
149
  return vue.createVNode("div", {
149
- "class": ns.be("group-content", "item")
150
+ "class": [ns.be("group-content", "item"), groupSysCss == null ? void 0 : groupSysCss.cssName]
150
151
  }, [vue.createVNode("div", {
151
152
  "class": ns.be("group-content", "item-header")
152
153
  }, [vue.createVNode("span", {
@@ -1 +1 @@
1
- .ibiz-control-drtab__counter{margin-left:8px}
1
+ .ibiz-control-drtab__counter{margin-left:8px}.ibiz-control-drtab .el-tabs .el-tabs__header{margin:0}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:0}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-color-primary)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-2)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-color-text-0)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-color-primary)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:0}.ibiz-control-drtab .el-tabs.el-tabs--bottom,.ibiz-control-drtab .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}
@@ -47,7 +47,8 @@ const FormButton = /* @__PURE__ */ vue.defineComponent({
47
47
  "sime": "small",
48
48
  "onClick": this.controller.onClick.bind(this.controller),
49
49
  "loading": this.controller.state.loading,
50
- "disabled": this.controller.state.disabled
50
+ "disabled": this.controller.state.disabled,
51
+ "title": this.modelData.tooltip
51
52
  }, {
52
53
  default: () => [vue.createVNode("div", {
53
54
  "class": this.ns.b("content")
@@ -58,6 +58,10 @@ function useITableEvent(c) {
58
58
  } else if (order === "descending") {
59
59
  order1 = "desc";
60
60
  }
61
+ const sortQuery = "".concat(fieldName, ",").concat(order1);
62
+ if (sortQuery === c.state.sortQuery) {
63
+ return;
64
+ }
61
65
  c.setSort(fieldName, order1);
62
66
  c.load();
63
67
  }