@ibiz-template/vue3-components 0.7.41-alpha.18 → 0.7.41-alpha.19
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.
- package/dist/index-BoV5htv9.js +11 -0
- package/dist/{index-swminiXb.js → index-Bt6TkADL.js} +1 -1
- package/dist/{index-AOFxMmyX.js → index-K6B-Odyq.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-4OlaBV3P.js → wang-editor-exnzt_I1.js} +1 -1
- package/dist/{xlsx-util-Rg-AbK_G.js → xlsx-util-fuTLwrKA.js} +1 -1
- package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
- package/es/control/drtab/flow-drtab.css +1 -1
- package/es/control/drtab/flow-drtab.mjs +13 -5
- package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.d.ts +3 -0
- package/es/index.mjs +1 -0
- package/es/locale/en/index.d.ts +4 -0
- package/es/locale/en/index.mjs +4 -0
- package/es/locale/zh-CN/index.d.ts +4 -0
- package/es/locale/zh-CN/index.mjs +4 -0
- package/es/panel-component/app-switch/app-switch.controller.mjs +4 -1
- package/es/panel-component/app-switch/app-switch.d.ts +1 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.controller.d.ts +31 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.controller.mjs +51 -0
- package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +7 -4
- package/es/panel-component/auth-userinfo/auth-userinfo.mjs +20 -5
- package/es/panel-component/auth-userinfo/auth-userinfo.provider.d.ts +2 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.provider.mjs +2 -2
- package/es/panel-component/auth-userinfo/index.d.ts +4 -3
- package/es/panel-component/global-search/global-search.controller.d.ts +10 -3
- package/es/panel-component/global-search/global-search.controller.mjs +39 -18
- package/es/panel-component/global-search/global-search.d.ts +3 -1
- package/es/panel-component/global-search/global-search.mjs +8 -1
- package/es/panel-component/global-search/index.d.ts +1 -0
- package/es/panel-component/index-blank-placeholder/index-blank-placeholder.controller.mjs +0 -2
- package/es/panel-component/panel-app-title/panel-app-title.controller.mjs +5 -2
- package/es/panel-component/panel-app-title/panel-app-title.d.ts +1 -0
- package/es/panel-component/panel-app-title/panel-app-title.mjs +6 -0
- package/es/panel-component/panel-index-view-search/index.d.ts +4 -3
- package/es/panel-component/panel-index-view-search/panel-index-view-search.controller.d.ts +31 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.controller.mjs +51 -0
- package/es/panel-component/panel-index-view-search/panel-index-view-search.d.ts +8 -5
- package/es/panel-component/panel-index-view-search/panel-index-view-search.mjs +17 -3
- package/es/panel-component/panel-index-view-search/panel-index-view-search.provider.d.ts +2 -1
- package/es/panel-component/panel-index-view-search/panel-index-view-search.provider.mjs +2 -2
- package/es/panel-component/panel-tab-panel/panel-tab-panel.mjs +2 -2
- package/es/panel-component/user-action/user-action.d.ts +1 -1
- package/es/panel-component/view-msg-pos/view-msg-pos.d.ts +2 -1
- package/es/util/app-modal/app-modal-component.css +1 -1
- package/es/util/app-modal/app-modal-component.d.ts +6 -1
- package/es/util/app-modal/app-modal-component.mjs +45 -4
- package/es/util/icon/icon.d.ts +3 -0
- package/es/util/icon/icon.mjs +25 -0
- package/es/util/index.d.ts +1 -0
- package/es/util/index.mjs +1 -0
- package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
- package/lib/control/drtab/flow-drtab.cjs +13 -5
- package/lib/control/drtab/flow-drtab.css +1 -1
- package/lib/index.cjs +3 -0
- package/lib/locale/en/index.cjs +4 -0
- package/lib/locale/zh-CN/index.cjs +4 -0
- package/lib/panel-component/app-switch/app-switch.controller.cjs +4 -1
- package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +20 -5
- package/lib/panel-component/auth-userinfo/auth-userinfo.controller.cjs +53 -0
- package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/lib/panel-component/auth-userinfo/auth-userinfo.provider.cjs +2 -2
- package/lib/panel-component/global-search/global-search.cjs +8 -1
- package/lib/panel-component/global-search/global-search.controller.cjs +39 -18
- package/lib/panel-component/index-blank-placeholder/index-blank-placeholder.controller.cjs +0 -2
- package/lib/panel-component/panel-app-title/panel-app-title.cjs +6 -0
- package/lib/panel-component/panel-app-title/panel-app-title.controller.cjs +5 -2
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.cjs +16 -2
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.controller.cjs +53 -0
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.provider.cjs +2 -2
- package/lib/panel-component/panel-tab-panel/panel-tab-panel.cjs +2 -2
- package/lib/util/app-modal/app-modal-component.cjs +43 -2
- package/lib/util/app-modal/app-modal-component.css +1 -1
- package/lib/util/icon/icon.cjs +28 -0
- package/lib/util/index.cjs +3 -0
- package/package.json +4 -4
- package/dist/index-dXwgWAM8.js +0 -11
|
@@ -4,7 +4,7 @@ var vue = require('vue');
|
|
|
4
4
|
var vueRouter = require('vue-router');
|
|
5
5
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
6
6
|
require('./auth-userinfo.css');
|
|
7
|
-
var
|
|
7
|
+
var authUserinfo_controller = require('./auth-userinfo.controller.cjs');
|
|
8
8
|
|
|
9
9
|
"use strict";
|
|
10
10
|
const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -21,7 +21,7 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
|
|
|
21
21
|
* @description 用户信息控件控制器
|
|
22
22
|
*/
|
|
23
23
|
controller: {
|
|
24
|
-
type:
|
|
24
|
+
type: authUserinfo_controller.AuthUserinfoController,
|
|
25
25
|
required: true
|
|
26
26
|
}
|
|
27
27
|
},
|
|
@@ -45,8 +45,20 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
45
|
ibiz.hub.controller.logout();
|
|
46
46
|
};
|
|
47
47
|
const isCollapse = vue.computed(() => {
|
|
48
|
+
const {
|
|
49
|
+
strictly
|
|
50
|
+
} = c.rawItemParams;
|
|
51
|
+
if (strictly && strictly === "true") {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
48
54
|
return c.panel.view.state.isCollapse;
|
|
49
55
|
});
|
|
56
|
+
const isReadonly = vue.computed(() => {
|
|
57
|
+
const {
|
|
58
|
+
readonly
|
|
59
|
+
} = c.rawItemParams;
|
|
60
|
+
return readonly === "true";
|
|
61
|
+
});
|
|
50
62
|
return {
|
|
51
63
|
ns,
|
|
52
64
|
c,
|
|
@@ -55,13 +67,16 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
|
|
|
55
67
|
loginname,
|
|
56
68
|
router,
|
|
57
69
|
menuAlign,
|
|
58
|
-
isCollapse
|
|
70
|
+
isCollapse,
|
|
71
|
+
isReadonly
|
|
59
72
|
};
|
|
60
73
|
},
|
|
61
74
|
render() {
|
|
62
75
|
return vue.createVNode("div", {
|
|
63
|
-
"class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass, this.ns.is("left", this.menuAlign === "LEFT"), this.ns.is("top", this.menuAlign === "TOP"), this.ns.is("collapse", this.isCollapse)]
|
|
64
|
-
}, [vue.createVNode(vue.resolveComponent("el-dropdown"),
|
|
76
|
+
"class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass, this.ns.is("left", this.menuAlign === "LEFT"), this.ns.is("top", this.menuAlign === "TOP"), this.ns.is("collapse", this.isCollapse), this.ns.is("readonly", this.isReadonly)]
|
|
77
|
+
}, [vue.createVNode(vue.resolveComponent("el-dropdown"), {
|
|
78
|
+
"disabled": this.isReadonly
|
|
79
|
+
}, {
|
|
65
80
|
default: () => vue.createVNode("div", {
|
|
66
81
|
"class": [this.ns.b("info"), this.ns.is("collapse", this.isCollapse)]
|
|
67
82
|
}, [vue.createVNode("div", {
|
|
@@ -0,0 +1,53 @@
|
|
|
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 AuthUserinfoController extends runtime.PanelItemController {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* @description 自定义补充参数
|
|
17
|
+
* @exposedoc
|
|
18
|
+
* @type {IData}
|
|
19
|
+
* @memberof AuthUserinfoController
|
|
20
|
+
*/
|
|
21
|
+
__publicField(this, "rawItemParams", {});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 初始化
|
|
25
|
+
*
|
|
26
|
+
* @return {*} {Promise<void>}
|
|
27
|
+
* @memberof AuthUserinfoController
|
|
28
|
+
*/
|
|
29
|
+
async onInit() {
|
|
30
|
+
await super.onInit();
|
|
31
|
+
this.handleRawItemParams();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @description 处理自定义补充参数 [{key:'name',value:'data'}] => {name:'data'}
|
|
35
|
+
* @protected
|
|
36
|
+
* @memberof AuthUserinfoController
|
|
37
|
+
*/
|
|
38
|
+
handleRawItemParams() {
|
|
39
|
+
var _a;
|
|
40
|
+
const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
|
|
41
|
+
if (Array.isArray(rawItemParams)) {
|
|
42
|
+
rawItemParams.forEach((item) => {
|
|
43
|
+
const key = item.key;
|
|
44
|
+
const value = item.value;
|
|
45
|
+
if (key && value) {
|
|
46
|
+
this.rawItemParams[key.toLowerCase()] = value;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.AuthUserinfoController = AuthUserinfoController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-user-info{--ibiz-user-info-padding:0 var(--ibiz-spacing-loose);--ibiz-user-info-color:var(--ibiz-color-text-0);--ibiz-user-info-font-size:var(--ibiz-font-size-header-5);--ibiz-user-info-height:44px;display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;height:var(--ibiz-user-info-height);padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{display:none}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:12px;font-size:var(--ibiz-user-info-font-size)}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:32px;max-height:32px;margin-right:var(--ibiz-spacing-base)}.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{width:var(--ibiz-user-info-height);height:var(--ibiz-user-info-height);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-info.is-collapse{justify-content:center}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-user-info-font-size);line-height:1.3}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:4px;font-size:var(--ibiz-font-size-small);line-height:1.2}.ibiz-user-info-name.is-collapse{display:none}.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);--ibiz-user-info-font-size:var(--ibiz-font-size-header-5);--ibiz-user-info-height:44px;display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;height:var(--ibiz-user-info-height);padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{display:none}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:12px;font-size:var(--ibiz-user-info-font-size)}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:32px;max-height:32px;margin-right:var(--ibiz-spacing-base)}.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.is-readonly .el-dropdown{cursor:default}.ibiz-user-info-avatar{width:var(--ibiz-user-info-height);height:var(--ibiz-user-info-height);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-info.is-collapse{justify-content:center}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-user-info-font-size);line-height:1.3}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:4px;font-size:var(--ibiz-font-size-small);line-height:1.2}.ibiz-user-info-name.is-collapse{display:none}.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,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var authUserinfo_controller = require('./auth-userinfo.controller.cjs');
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
@@ -14,7 +14,7 @@ class AuthUserinfoProvider {
|
|
|
14
14
|
__publicField(this, "component", "IBizAuthUserinfo");
|
|
15
15
|
}
|
|
16
16
|
async createController(panelItem, panel, parent) {
|
|
17
|
-
const c = new
|
|
17
|
+
const c = new authUserinfo_controller.AuthUserinfoController(panelItem, panel, parent);
|
|
18
18
|
await c.init();
|
|
19
19
|
return c;
|
|
20
20
|
}
|
|
@@ -48,6 +48,12 @@ const GlobalSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
48
48
|
const showEmpty = histories.includes(query) && list.length === 0;
|
|
49
49
|
return (showSearch || showEmpty || showHistory || loading) && activated.value;
|
|
50
50
|
});
|
|
51
|
+
const curPlaceholder = vue.computed(() => {
|
|
52
|
+
const {
|
|
53
|
+
placeholder
|
|
54
|
+
} = c.rawItemParams;
|
|
55
|
+
return placeholder || ibiz.i18n.t("panelComponent.globalSearch.placeholder");
|
|
56
|
+
});
|
|
51
57
|
const handleEnter = (event) => {
|
|
52
58
|
if (event.key === "Enter") {
|
|
53
59
|
activated.value = true;
|
|
@@ -190,6 +196,7 @@ const GlobalSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
190
196
|
visible,
|
|
191
197
|
editorRef,
|
|
192
198
|
searchValue,
|
|
199
|
+
curPlaceholder,
|
|
193
200
|
handleFocus,
|
|
194
201
|
handleEnter,
|
|
195
202
|
renderAction,
|
|
@@ -214,7 +221,7 @@ const GlobalSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
214
221
|
"ref": "editorRef",
|
|
215
222
|
"modelValue": this.searchValue,
|
|
216
223
|
"onUpdate:modelValue": ($event) => this.searchValue = $event,
|
|
217
|
-
"placeholder":
|
|
224
|
+
"placeholder": this.curPlaceholder,
|
|
218
225
|
"class": [this.ns.e("search"), this.ns.is("search", this.visible)],
|
|
219
226
|
"onFocus": this.handleFocus,
|
|
220
227
|
"onKeyup": this.handleEnter,
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var runtime = require('@ibiz-template/runtime');
|
|
4
4
|
var qxUtil = require('qx-util');
|
|
5
|
-
var core = require('@ibiz-template/core');
|
|
6
5
|
var globalSearch_state = require('./global-search.state.cjs');
|
|
7
6
|
|
|
8
7
|
"use strict";
|
|
@@ -32,7 +31,7 @@ class GlobalSearchController extends runtime.PanelItemController {
|
|
|
32
31
|
/**
|
|
33
32
|
* @description 自定义参数
|
|
34
33
|
* @exposedoc
|
|
35
|
-
* @
|
|
34
|
+
* @public
|
|
36
35
|
* @type {IData}
|
|
37
36
|
* @memberof GlobalSearchController
|
|
38
37
|
*/
|
|
@@ -127,6 +126,38 @@ class GlobalSearchController extends runtime.PanelItemController {
|
|
|
127
126
|
if (cache)
|
|
128
127
|
this.state.histories = JSON.parse(cache);
|
|
129
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* @description 获取全局搜索应用功能
|
|
131
|
+
* @param {IAppMenuItem[]} appMenuItems
|
|
132
|
+
* @returns {*} {Promise<IAppFunc[]>}
|
|
133
|
+
* @memberof GlobalSearchController
|
|
134
|
+
*/
|
|
135
|
+
async getSearchFunc(appMenuItems) {
|
|
136
|
+
const result = [];
|
|
137
|
+
const promises = appMenuItems.map(async (menuItem) => {
|
|
138
|
+
try {
|
|
139
|
+
if (menuItem.appMenuItems) {
|
|
140
|
+
const subFuncs = await this.getSearchFunc(menuItem.appMenuItems);
|
|
141
|
+
result.push(...subFuncs);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (menuItem.appFuncId) {
|
|
145
|
+
let app = ibiz.hub.getApp(menuItem.appId);
|
|
146
|
+
if (!app) {
|
|
147
|
+
app = await ibiz.hub.getAppAsync(menuItem.appId);
|
|
148
|
+
}
|
|
149
|
+
const appFunc = app.getAppFunc(menuItem.appFuncId);
|
|
150
|
+
if (appFunc && appFunc.appFuncType === "SEARCH" && appFunc.appDEACModeId && appFunc.appDataEntityId) {
|
|
151
|
+
result.push(appFunc);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
} catch (err) {
|
|
155
|
+
console.error("\u8BA1\u7B97\u83DC\u5355\u5E94\u7528\u529F\u80FD\u5F02\u5E38: ".concat(menuItem.appFuncId), err);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
await Promise.all(promises);
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
130
161
|
/**
|
|
131
162
|
* 初始化全局搜索项
|
|
132
163
|
*
|
|
@@ -134,24 +165,14 @@ class GlobalSearchController extends runtime.PanelItemController {
|
|
|
134
165
|
* @memberof GlobalSearchController
|
|
135
166
|
*/
|
|
136
167
|
async initGlobalSearchItem() {
|
|
137
|
-
const appMenu = runtime.getControl(
|
|
168
|
+
const appMenu = runtime.getControl(
|
|
169
|
+
this.panel.view.model,
|
|
170
|
+
"appmenu"
|
|
171
|
+
);
|
|
138
172
|
if (!appMenu)
|
|
139
173
|
return;
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
appMenu,
|
|
143
|
-
(menuItem) => {
|
|
144
|
-
if (menuItem.appFuncId) {
|
|
145
|
-
const app = ibiz.hub.getApp(menuItem.appId);
|
|
146
|
-
const appFunc = app.getAppFunc(menuItem.appFuncId);
|
|
147
|
-
if (appFunc && appFunc.appFuncType === "SEARCH" && appFunc.appDEACModeId && appFunc.appDataEntityId)
|
|
148
|
-
appFuncs.push(appFunc);
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
childrenFields: ["appMenuItems"]
|
|
153
|
-
}
|
|
154
|
-
);
|
|
174
|
+
const appMenuItems = appMenu.appMenuItems || [];
|
|
175
|
+
const appFuncs = await this.getSearchFunc(appMenuItems);
|
|
155
176
|
await Promise.all(
|
|
156
177
|
appFuncs.map(async (func) => {
|
|
157
178
|
const deACMode = await runtime.getDeACMode(
|
|
@@ -59,8 +59,6 @@ class IndexBlankPlaceholderController extends runtime.PanelItemController {
|
|
|
59
59
|
const appView = await ibiz.hub.config.view.get(appViewId);
|
|
60
60
|
const { openMode = "INDEXVIEWTAB" } = appView;
|
|
61
61
|
this.state.visible = !openMode.startsWith("INDEXVIEWTAB");
|
|
62
|
-
} else {
|
|
63
|
-
this.state.visible = true;
|
|
64
62
|
}
|
|
65
63
|
});
|
|
66
64
|
}
|
|
@@ -62,6 +62,12 @@ const PanelAppTitle = /* @__PURE__ */ vue.defineComponent({
|
|
|
62
62
|
return false;
|
|
63
63
|
});
|
|
64
64
|
const isCollapse = vue.computed(() => {
|
|
65
|
+
const {
|
|
66
|
+
strictly
|
|
67
|
+
} = c.rawItemParams;
|
|
68
|
+
if (strictly && strictly === "true") {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
65
71
|
return c.panel.view.state.isCollapse;
|
|
66
72
|
});
|
|
67
73
|
const showIcon = vue.computed(() => {
|
|
@@ -74,8 +74,11 @@ class PanelAppTitleController extends runtime.PanelItemController {
|
|
|
74
74
|
if (this.state.icon.endsWith(".svg") || this.state.icon2.endsWith(".svg")) {
|
|
75
75
|
this.state.isSvg = true;
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
const defaultApp = ibiz.hub.getApp();
|
|
78
|
+
if (defaultApp.model.appId === indexViewModel.appId) {
|
|
79
|
+
if (ibiz.env.AppTitle)
|
|
80
|
+
this.state.caption = ibiz.env.AppTitle;
|
|
81
|
+
}
|
|
79
82
|
}
|
|
80
83
|
/**
|
|
81
84
|
* 处理自定义补充参数 [{key:'name',value:'data'}] => {name:'data'}
|
|
@@ -4,6 +4,7 @@ var vue = require('vue');
|
|
|
4
4
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
5
|
var runtime = require('@ibiz-template/runtime');
|
|
6
6
|
var lodashEs = require('lodash-es');
|
|
7
|
+
var panelIndexViewSearch_controller = require('./panel-index-view-search.controller.cjs');
|
|
7
8
|
require('./panel-index-view-search.css');
|
|
8
9
|
|
|
9
10
|
"use strict";
|
|
@@ -21,7 +22,7 @@ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
21
22
|
* @description 首页搜索控件控制器
|
|
22
23
|
*/
|
|
23
24
|
controller: {
|
|
24
|
-
type:
|
|
25
|
+
type: panelIndexViewSearch_controller.PanelIndexViewSearchController,
|
|
25
26
|
required: true
|
|
26
27
|
}
|
|
27
28
|
},
|
|
@@ -43,8 +44,20 @@ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
43
44
|
return "LEFT";
|
|
44
45
|
});
|
|
45
46
|
const isCollapse = vue.computed(() => {
|
|
47
|
+
const {
|
|
48
|
+
strictly
|
|
49
|
+
} = c.rawItemParams;
|
|
50
|
+
if (strictly && strictly === "true") {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
46
53
|
return c.panel.view.state.isCollapse;
|
|
47
54
|
});
|
|
55
|
+
const curPlaceholder = vue.computed(() => {
|
|
56
|
+
const {
|
|
57
|
+
placeholder
|
|
58
|
+
} = c.rawItemParams;
|
|
59
|
+
return placeholder || ibiz.i18n.t("component.indexSearch.placeholder");
|
|
60
|
+
});
|
|
48
61
|
const classArr = vue.computed(() => {
|
|
49
62
|
const {
|
|
50
63
|
id
|
|
@@ -80,6 +93,7 @@ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
80
93
|
ns,
|
|
81
94
|
classArr,
|
|
82
95
|
isCollapse,
|
|
96
|
+
curPlaceholder,
|
|
83
97
|
onInput,
|
|
84
98
|
onSearch,
|
|
85
99
|
c,
|
|
@@ -97,7 +111,7 @@ const PanelIndexViewSearch = /* @__PURE__ */ vue.defineComponent({
|
|
|
97
111
|
}, [this.menuAlign === "LEFT" && !this.isCollapse && vue.createVNode(vue.resolveComponent("el-input"), {
|
|
98
112
|
"model-value": this.query,
|
|
99
113
|
"class": this.ns.b("search"),
|
|
100
|
-
"placeholder":
|
|
114
|
+
"placeholder": this.curPlaceholder,
|
|
101
115
|
"onInput": this.onInput,
|
|
102
116
|
"onKeyup": this.onEnter
|
|
103
117
|
}, {
|
|
@@ -0,0 +1,53 @@
|
|
|
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 PanelIndexViewSearchController extends runtime.PanelItemController {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* @description 自定义补充参数
|
|
17
|
+
* @exposedoc
|
|
18
|
+
* @type {IData}
|
|
19
|
+
* @memberof PanelIndexViewSearchController
|
|
20
|
+
*/
|
|
21
|
+
__publicField(this, "rawItemParams", {});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 初始化
|
|
25
|
+
*
|
|
26
|
+
* @return {*} {Promise<void>}
|
|
27
|
+
* @memberof PanelIndexViewSearchController
|
|
28
|
+
*/
|
|
29
|
+
async onInit() {
|
|
30
|
+
await super.onInit();
|
|
31
|
+
this.handleRawItemParams();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @description 处理自定义补充参数 [{key:'name',value:'data'}] => {name:'data'}
|
|
35
|
+
* @protected
|
|
36
|
+
* @memberof PanelIndexViewSearchController
|
|
37
|
+
*/
|
|
38
|
+
handleRawItemParams() {
|
|
39
|
+
var _a;
|
|
40
|
+
const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
|
|
41
|
+
if (Array.isArray(rawItemParams)) {
|
|
42
|
+
rawItemParams.forEach((item) => {
|
|
43
|
+
const key = item.key;
|
|
44
|
+
const value = item.value;
|
|
45
|
+
if (key && value) {
|
|
46
|
+
this.rawItemParams[key.toLowerCase()] = value;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.PanelIndexViewSearchController = PanelIndexViewSearchController;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var panelIndexViewSearch_controller = require('./panel-index-view-search.controller.cjs');
|
|
4
4
|
|
|
5
5
|
"use strict";
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
@@ -14,7 +14,7 @@ class PanelIndexViewSearchProvider {
|
|
|
14
14
|
__publicField(this, "component", "IBizPanelIndexViewSearch");
|
|
15
15
|
}
|
|
16
16
|
async createController(panelItem, panel, parent) {
|
|
17
|
-
const c = new
|
|
17
|
+
const c = new panelIndexViewSearch_controller.PanelIndexViewSearchController(panelItem, panel, parent);
|
|
18
18
|
await c.init();
|
|
19
19
|
return c;
|
|
20
20
|
}
|
|
@@ -75,8 +75,8 @@ const PanelTabPanel = /* @__PURE__ */ vue.defineComponent({
|
|
|
75
75
|
"label": c.model.caption,
|
|
76
76
|
"name": c.model.id,
|
|
77
77
|
"lazy": true
|
|
78
|
-
},
|
|
79
|
-
default: () => [slot]
|
|
78
|
+
}, {
|
|
79
|
+
default: () => [this.state.activeTab === c.model.id && slot]
|
|
80
80
|
});
|
|
81
81
|
})) ? _slot : {
|
|
82
82
|
default: () => [_slot]
|
|
@@ -6,8 +6,12 @@ var lodashEs = require('lodash-es');
|
|
|
6
6
|
var runtime = require('@ibiz-template/runtime');
|
|
7
7
|
require('./app-modal-component.css');
|
|
8
8
|
var core = require('@ibiz-template/core');
|
|
9
|
+
var icon = require('../icon/icon.cjs');
|
|
9
10
|
|
|
10
11
|
"use strict";
|
|
12
|
+
function _isSlot(s) {
|
|
13
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
|
|
14
|
+
}
|
|
11
15
|
const AppModalComponent = /* @__PURE__ */ vue.defineComponent({
|
|
12
16
|
props: {
|
|
13
17
|
opts: {
|
|
@@ -22,6 +26,7 @@ const AppModalComponent = /* @__PURE__ */ vue.defineComponent({
|
|
|
22
26
|
zIndex
|
|
23
27
|
} = vue3Util.useUIStore();
|
|
24
28
|
const modalZIndex = zIndex.increment();
|
|
29
|
+
let modalView;
|
|
25
30
|
const customStyle = vue.reactive({});
|
|
26
31
|
const {
|
|
27
32
|
width,
|
|
@@ -57,6 +62,13 @@ const AppModalComponent = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
62
|
ctx.emit("dismiss", data);
|
|
58
63
|
}
|
|
59
64
|
});
|
|
65
|
+
const viewShellHooks = new runtime.ViewShellHooks();
|
|
66
|
+
viewShellHooks.hooks.viewCreated.tapPromise(async (_event) => {
|
|
67
|
+
modalView = _event.view;
|
|
68
|
+
});
|
|
69
|
+
const handleViewCreated = (event) => {
|
|
70
|
+
modalView = event.view;
|
|
71
|
+
};
|
|
60
72
|
const onBeforeClose = async (done) => {
|
|
61
73
|
const isClose = await modal.dismiss();
|
|
62
74
|
if (isClose) {
|
|
@@ -69,6 +81,12 @@ const AppModalComponent = /* @__PURE__ */ vue.defineComponent({
|
|
|
69
81
|
const present = () => {
|
|
70
82
|
isShow.value = true;
|
|
71
83
|
};
|
|
84
|
+
const prevRecord = () => {
|
|
85
|
+
modalView == null ? void 0 : modalView.call(runtime.SysUIActionTag.PREV_RECORD);
|
|
86
|
+
};
|
|
87
|
+
const nextRecord = () => {
|
|
88
|
+
modalView == null ? void 0 : modalView.call(runtime.SysUIActionTag.NEXT_RECORD);
|
|
89
|
+
};
|
|
72
90
|
return {
|
|
73
91
|
ns,
|
|
74
92
|
isShow,
|
|
@@ -76,13 +94,18 @@ const AppModalComponent = /* @__PURE__ */ vue.defineComponent({
|
|
|
76
94
|
modalZIndex,
|
|
77
95
|
customStyle,
|
|
78
96
|
modal,
|
|
97
|
+
viewShellHooks,
|
|
79
98
|
present,
|
|
80
99
|
dismiss,
|
|
81
|
-
onBeforeClose
|
|
100
|
+
onBeforeClose,
|
|
101
|
+
prevRecord,
|
|
102
|
+
nextRecord,
|
|
103
|
+
handleViewCreated
|
|
82
104
|
};
|
|
83
105
|
},
|
|
84
106
|
render() {
|
|
85
107
|
var _a, _b;
|
|
108
|
+
let _slot, _slot2;
|
|
86
109
|
return vue.h(vue.resolveComponent("el-dialog"), {
|
|
87
110
|
modelValue: this.isShow,
|
|
88
111
|
alignCenter: true,
|
|
@@ -91,7 +114,25 @@ const AppModalComponent = /* @__PURE__ */ vue.defineComponent({
|
|
|
91
114
|
zIndex: this.modalZIndex,
|
|
92
115
|
beforeClose: this.onBeforeClose,
|
|
93
116
|
...this.options
|
|
94
|
-
},
|
|
117
|
+
}, [
|
|
118
|
+
// eslint-disable-next-line vue/no-multiple-slot-args
|
|
119
|
+
(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a, this.modal, this.viewShellHooks),
|
|
120
|
+
this.options.openIndicator && vue.createVNode("div", {
|
|
121
|
+
"class": this.ns.e("record")
|
|
122
|
+
}, [vue.createVNode(vue.resolveComponent("el-button"), {
|
|
123
|
+
"class": this.ns.em("record", "prev"),
|
|
124
|
+
"title": ibiz.i18n.t("util.appModal.prev"),
|
|
125
|
+
"onClick": this.prevRecord
|
|
126
|
+
}, _isSlot(_slot = icon.ArrowLeftBold()) ? _slot : {
|
|
127
|
+
default: () => [_slot]
|
|
128
|
+
}), vue.createVNode(vue.resolveComponent("el-button"), {
|
|
129
|
+
"class": this.ns.em("record", "next"),
|
|
130
|
+
"title": ibiz.i18n.t("util.appModal.next"),
|
|
131
|
+
"onClick": this.nextRecord
|
|
132
|
+
}, _isSlot(_slot2 = icon.ArrowRightBold()) ? _slot2 : {
|
|
133
|
+
default: () => [_slot2]
|
|
134
|
+
})])
|
|
135
|
+
]);
|
|
95
136
|
}
|
|
96
137
|
});
|
|
97
138
|
function createModal(render, opts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.ibiz-modal{--ibiz-modal-z-index:var(--ibiz-z-index-modal);--ibiz-modal-background-color:var(--ibiz-color-bg-1)}.ibiz-modal.el-dialog{overflow:visible}.ibiz-modal .el-dialog__header{position:relative;padding:0}.ibiz-modal .el-dialog__body{height:100%;padding:0;background-color:var(--ibiz-modal-background-color)}.ibiz-modal .el-dialog__headerbtn{top:-40px;right:-60px;border:var(--ibiz-spacing-super-tight) solid var(--ibiz-color-primary-text);border-radius:var(--ibiz-border-radius-circle);display:flex;align-items:center;justify-content:center}.ibiz-modal .el-dialog__headerbtn .el-dialog__close{font-size:var(--ibiz-font-size-header-4);color:var(--ibiz-color-primary-text)}
|
|
1
|
+
@charset "UTF-8";.ibiz-modal{--ibiz-modal-z-index:var(--ibiz-z-index-modal);--ibiz-modal-background-color:var(--ibiz-color-bg-1)}.ibiz-modal__record--prev{position:absolute;top:50%;left:-6px;transform:translate(-100%,-50%)}.ibiz-modal__record--next{position:absolute;top:50%;right:-6px;font-size:var(--ibiz-font-size-regular);transform:translate(100%,-50%)}.ibiz-modal__record .el-button{height:auto;padding:var(--ibiz-spacing-loose) var(--ibiz-spacing-tight);margin:0;--el-button-bg-color:var(--ibiz-color-bg-0);--el-button-text-color:var(--ibiz-color-text-2);--el-button-hover-bg-color:var(--ibiz-color-bg-1);--el-button-hover-text-color:var(--ibiz-color-text-3);--el-button-active-bg-color:var(--ibiz-color-bg-0);--el-button-active-text-color:var(--ibiz-color-text-2)}.ibiz-modal.el-dialog{overflow:visible}.ibiz-modal .el-dialog__header{position:relative;padding:0}.ibiz-modal .el-dialog__body{height:100%;padding:0;background-color:var(--ibiz-modal-background-color)}.ibiz-modal .el-dialog__headerbtn{top:-40px;right:-60px;border:var(--ibiz-spacing-super-tight) solid var(--ibiz-color-primary-text);border-radius:var(--ibiz-border-radius-circle);display:flex;align-items:center;justify-content:center}.ibiz-modal .el-dialog__headerbtn .el-dialog__close{font-size:var(--ibiz-font-size-header-4);color:var(--ibiz-color-primary-text)}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
const ArrowLeftBold = () => vue.createVNode("svg", {
|
|
7
|
+
"data-v-9a20e128": "",
|
|
8
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
9
|
+
"viewBox": "0 0 1024 1024",
|
|
10
|
+
"width": "1em",
|
|
11
|
+
"height": "1em"
|
|
12
|
+
}, [vue.createVNode("path", {
|
|
13
|
+
"fill": "currentColor",
|
|
14
|
+
"d": "M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"
|
|
15
|
+
}, null)]);
|
|
16
|
+
const ArrowRightBold = () => vue.createVNode("svg", {
|
|
17
|
+
"data-v-9a20e128": "",
|
|
18
|
+
"xmlns": "http://www.w3.org/2000/svg",
|
|
19
|
+
"viewBox": "0 0 1024 1024",
|
|
20
|
+
"width": "1em",
|
|
21
|
+
"height": "1em"
|
|
22
|
+
}, [vue.createVNode("path", {
|
|
23
|
+
"fill": "currentColor",
|
|
24
|
+
"d": "M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"
|
|
25
|
+
}, null)]);
|
|
26
|
+
|
|
27
|
+
exports.ArrowLeftBold = ArrowLeftBold;
|
|
28
|
+
exports.ArrowRightBold = ArrowRightBold;
|
package/lib/util/index.cjs
CHANGED
|
@@ -16,6 +16,7 @@ var wangEditorUtil = require('./wang-editor-util/wang-editor-util.cjs');
|
|
|
16
16
|
var keydownUtil = require('./keydown-util/keydown-util.cjs');
|
|
17
17
|
var aiUtil = require('./ai-util/ai-util.cjs');
|
|
18
18
|
var buttonUtil = require('./button-util/button-util.cjs');
|
|
19
|
+
var icon = require('./icon/icon.cjs');
|
|
19
20
|
|
|
20
21
|
"use strict";
|
|
21
22
|
|
|
@@ -35,3 +36,5 @@ exports.parseHtml = wangEditorUtil.parseHtml;
|
|
|
35
36
|
exports.useFocusByEnter = keydownUtil.useFocusByEnter;
|
|
36
37
|
exports.calcAiToolbarItemsByAc = aiUtil.calcAiToolbarItemsByAc;
|
|
37
38
|
exports.convertBtnType = buttonUtil.convertBtnType;
|
|
39
|
+
exports.ArrowLeftBold = icon.ArrowLeftBold;
|
|
40
|
+
exports.ArrowRightBold = icon.ArrowRightBold;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/vue3-components",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.19",
|
|
4
4
|
"description": "web端组件库(vue3)",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"@ibiz-template-plugin/data-view": "0.0.4",
|
|
37
37
|
"@ibiz-template/core": "0.7.41-alpha.18",
|
|
38
38
|
"@ibiz-template/devtool": "0.0.11",
|
|
39
|
-
"@ibiz-template/model-helper": "0.7.41-alpha.
|
|
40
|
-
"@ibiz-template/runtime": "0.7.41-alpha.
|
|
39
|
+
"@ibiz-template/model-helper": "0.7.41-alpha.19",
|
|
40
|
+
"@ibiz-template/runtime": "0.7.41-alpha.19",
|
|
41
41
|
"@ibiz-template/theme": "0.7.39",
|
|
42
|
-
"@ibiz-template/vue3-util": "0.7.41-alpha.
|
|
42
|
+
"@ibiz-template/vue3-util": "0.7.41-alpha.19",
|
|
43
43
|
"@ibiz-template/web-theme": "3.8.0",
|
|
44
44
|
"@ibiz/model-core": "^0.1.79",
|
|
45
45
|
"@imengyu/vue3-context-menu": "^1.3.5",
|