@ibiz-template/vue3-components 0.7.41-alpha.136 → 0.7.41-alpha.138
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-dK7NHPF1.js +339 -0
- package/dist/{index.es-Cg7SaUZt.js → index.es-FZv4rjHr.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-DpxK_csh.js → wang-editor-BaOTSy3S.js} +1 -1
- package/dist/{xlsx-util-CNqFg89T.js → xlsx-util-ByzdGnKz.js} +1 -1
- package/es/common/back-top/back-top.css +1 -0
- package/es/common/back-top/back-top.mjs +201 -0
- package/es/common/index.mjs +2 -0
- package/es/control/data-view/data-view.mjs +17 -5
- package/es/control/list/list.mjs +16 -3
- package/es/editor/text-box/input/input.mjs +18 -1
- package/es/index.mjs +16 -0
- package/es/panel-component/index.mjs +16 -0
- package/es/panel-component/panel-button/panel-button.mjs +13 -1
- package/es/util/ai-chat-util/ai-chat-util.mjs +21 -21
- package/es/view/login-view/login-view.mjs +6 -3
- package/lib/common/back-top/back-top.cjs +203 -0
- package/lib/common/back-top/back-top.css +1 -0
- package/lib/common/index.cjs +2 -0
- package/lib/control/data-view/data-view.cjs +15 -3
- package/lib/control/list/list.cjs +14 -1
- package/lib/editor/text-box/input/input.cjs +18 -1
- package/lib/index.cjs +32 -0
- package/lib/panel-component/index.cjs +32 -0
- package/lib/panel-component/panel-button/panel-button.cjs +13 -1
- package/lib/util/ai-chat-util/ai-chat-util.cjs +21 -21
- package/lib/view/login-view/login-view.cjs +6 -3
- package/package.json +5 -5
- package/src/common/back-top/back-top.scss +30 -0
- package/src/common/back-top/back-top.tsx +224 -0
- package/src/common/index.ts +2 -0
- package/src/control/data-view/data-view.tsx +20 -0
- package/src/control/list/list.tsx +20 -0
- package/src/editor/text-box/input/input.tsx +18 -0
- package/src/panel-component/index.ts +17 -0
- package/src/panel-component/panel-button/panel-button.tsx +15 -0
- package/src/util/ai-chat-util/ai-chat-util.ts +31 -33
- package/src/view/login-view/login-view.tsx +3 -0
- package/dist/index-scbUG9yD.js +0 -339
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var vue = require('vue');
|
|
4
|
+
var vue3Util = require('@ibiz-template/vue3-util');
|
|
5
|
+
require('./back-top.css');
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
function _isSlot(s) {
|
|
9
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
|
|
10
|
+
}
|
|
11
|
+
const IBizBackTop = /* @__PURE__ */ vue.defineComponent({
|
|
12
|
+
name: "IBizBackTop",
|
|
13
|
+
props: {
|
|
14
|
+
mode: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: "bottom"
|
|
17
|
+
},
|
|
18
|
+
target: {
|
|
19
|
+
type: [String, Object],
|
|
20
|
+
default: ""
|
|
21
|
+
},
|
|
22
|
+
right: {
|
|
23
|
+
type: [Number, String],
|
|
24
|
+
default: 30
|
|
25
|
+
},
|
|
26
|
+
bottom: {
|
|
27
|
+
type: [Number, String],
|
|
28
|
+
default: 40
|
|
29
|
+
},
|
|
30
|
+
offset: {
|
|
31
|
+
type: Number,
|
|
32
|
+
default: 200
|
|
33
|
+
},
|
|
34
|
+
teleport: {
|
|
35
|
+
type: [String, Object],
|
|
36
|
+
default: ""
|
|
37
|
+
},
|
|
38
|
+
immediate: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: false
|
|
41
|
+
},
|
|
42
|
+
zIndex: {
|
|
43
|
+
type: [Number, String],
|
|
44
|
+
default: 5
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
setup(props, {
|
|
48
|
+
slots
|
|
49
|
+
}) {
|
|
50
|
+
const {
|
|
51
|
+
zIndex
|
|
52
|
+
} = vue3Util.useUIStore();
|
|
53
|
+
const ns = vue3Util.useNamespace("back-top");
|
|
54
|
+
const zIndexVal = zIndex.increment();
|
|
55
|
+
const isVisible = vue.ref(false);
|
|
56
|
+
const isAtBottom = vue.ref(false);
|
|
57
|
+
const scrollContainer = vue.ref(null);
|
|
58
|
+
const positionStyle = vue.computed(() => {
|
|
59
|
+
const rightVal = typeof props.right === "number" ? "".concat(props.right, "px") : props.right;
|
|
60
|
+
const bottomVal = typeof props.bottom === "number" ? "".concat(props.bottom, "px") : props.bottom;
|
|
61
|
+
return {
|
|
62
|
+
right: rightVal,
|
|
63
|
+
bottom: bottomVal,
|
|
64
|
+
zIndex: props.zIndex || zIndexVal
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
const getScrollContainer = () => {
|
|
68
|
+
if (!props.target)
|
|
69
|
+
return document.documentElement;
|
|
70
|
+
if (typeof props.target === "string") {
|
|
71
|
+
return document.querySelector(props.target);
|
|
72
|
+
}
|
|
73
|
+
return props.target;
|
|
74
|
+
};
|
|
75
|
+
const getScrollData = () => {
|
|
76
|
+
const el = scrollContainer.value;
|
|
77
|
+
if (!el)
|
|
78
|
+
return {
|
|
79
|
+
scrollTop: 0,
|
|
80
|
+
scrollHeight: 0,
|
|
81
|
+
clientHeight: 0
|
|
82
|
+
};
|
|
83
|
+
return {
|
|
84
|
+
scrollTop: el.scrollTop,
|
|
85
|
+
scrollHeight: el.scrollHeight,
|
|
86
|
+
clientHeight: el.clientHeight
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
const handleScroll = () => {
|
|
90
|
+
const {
|
|
91
|
+
scrollTop,
|
|
92
|
+
scrollHeight,
|
|
93
|
+
clientHeight
|
|
94
|
+
} = getScrollData();
|
|
95
|
+
const atBottom = scrollTop + clientHeight >= scrollHeight - props.offset;
|
|
96
|
+
isAtBottom.value = atBottom;
|
|
97
|
+
if (props.mode === "top") {
|
|
98
|
+
isVisible.value = scrollTop > props.offset;
|
|
99
|
+
} else if (props.mode === "bottom") {
|
|
100
|
+
const distanceToBottom = scrollHeight - scrollTop - clientHeight;
|
|
101
|
+
isVisible.value = distanceToBottom > props.offset;
|
|
102
|
+
} else {
|
|
103
|
+
if (atBottom) {
|
|
104
|
+
isVisible.value = scrollTop > props.offset;
|
|
105
|
+
} else {
|
|
106
|
+
if (scrollHeight - scrollTop - clientHeight > props.offset)
|
|
107
|
+
isVisible.value = true;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
const scrollTo = () => {
|
|
112
|
+
const el = scrollContainer.value;
|
|
113
|
+
if (!el)
|
|
114
|
+
return;
|
|
115
|
+
let targetPosition = 0;
|
|
116
|
+
if (props.mode === "bottom") {
|
|
117
|
+
targetPosition = getScrollData().scrollHeight;
|
|
118
|
+
} else if (props.mode === "auto") {
|
|
119
|
+
targetPosition = isAtBottom.value ? 0 : getScrollData().scrollHeight;
|
|
120
|
+
} else {
|
|
121
|
+
targetPosition = 0;
|
|
122
|
+
}
|
|
123
|
+
el.scrollTo({
|
|
124
|
+
top: targetPosition,
|
|
125
|
+
behavior: props.immediate ? "auto" : "smooth"
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
const bindEvents = () => {
|
|
129
|
+
scrollContainer.value = getScrollContainer();
|
|
130
|
+
if (scrollContainer.value) {
|
|
131
|
+
scrollContainer.value.addEventListener("scroll", handleScroll, {
|
|
132
|
+
passive: true
|
|
133
|
+
});
|
|
134
|
+
setTimeout(() => handleScroll(), 300);
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
const unbindEvents = () => {
|
|
138
|
+
if (scrollContainer.value) {
|
|
139
|
+
scrollContainer.value.removeEventListener("scroll", handleScroll);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
vue.watch(() => props.target, () => {
|
|
143
|
+
unbindEvents();
|
|
144
|
+
bindEvents();
|
|
145
|
+
});
|
|
146
|
+
vue.onMounted(() => {
|
|
147
|
+
bindEvents();
|
|
148
|
+
});
|
|
149
|
+
vue.onUnmounted(() => {
|
|
150
|
+
zIndex.decrement();
|
|
151
|
+
unbindEvents();
|
|
152
|
+
});
|
|
153
|
+
const renderIcon = () => {
|
|
154
|
+
if (props.mode === "bottom")
|
|
155
|
+
return vue.createVNode("ion-icon", {
|
|
156
|
+
"name": "chevron-down-outline"
|
|
157
|
+
}, null);
|
|
158
|
+
if (props.mode === "top")
|
|
159
|
+
return vue.createVNode("ion-icon", {
|
|
160
|
+
"name": "chevron-up-outline"
|
|
161
|
+
}, null);
|
|
162
|
+
if (isAtBottom.value)
|
|
163
|
+
return vue.createVNode("ion-icon", {
|
|
164
|
+
"name": "chevron-up-outline"
|
|
165
|
+
}, null);
|
|
166
|
+
return vue.createVNode("ion-icon", {
|
|
167
|
+
"name": "chevron-down-outline"
|
|
168
|
+
}, null);
|
|
169
|
+
};
|
|
170
|
+
const renderContent = () => {
|
|
171
|
+
return vue.createVNode(vue.Transition, {
|
|
172
|
+
"name": "fade"
|
|
173
|
+
}, {
|
|
174
|
+
default: () => [isVisible.value && vue.createVNode("div", {
|
|
175
|
+
"class": ns.b(),
|
|
176
|
+
"onClick": scrollTo,
|
|
177
|
+
"style": positionStyle.value
|
|
178
|
+
}, [slots.default ? slots.default() : renderIcon()])]
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
return {
|
|
182
|
+
ns,
|
|
183
|
+
isVisible,
|
|
184
|
+
positionStyle,
|
|
185
|
+
scrollTo,
|
|
186
|
+
renderIcon,
|
|
187
|
+
renderContent
|
|
188
|
+
};
|
|
189
|
+
},
|
|
190
|
+
render() {
|
|
191
|
+
let _slot;
|
|
192
|
+
if (!this.teleport)
|
|
193
|
+
return this.renderContent();
|
|
194
|
+
return vue.createVNode(vue.Teleport, {
|
|
195
|
+
"to": this.teleport,
|
|
196
|
+
"disabled": !this.teleport
|
|
197
|
+
}, _isSlot(_slot = this.renderContent()) ? _slot : {
|
|
198
|
+
default: () => [_slot]
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
exports.IBizBackTop = IBizBackTop;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-back-top{position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:20px;color:var(--ibiz-color-text-0);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--ibiz-color-white);border-radius:50%;box-shadow:0 0 6px rgba(0,0,0,.12)}.ibiz-back-top:hover{color:var(--ibiz-color-white);background-color:var(--ibiz-color-primary-hover)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}
|
package/lib/common/index.cjs
CHANGED
|
@@ -39,10 +39,12 @@ var cropping = require('./cropping/cropping.cjs');
|
|
|
39
39
|
var editorEmptyText = require('./editor-empty-text/editor-empty-text.cjs');
|
|
40
40
|
var kanbenSetting = require('./kanben-setting/kanben-setting.cjs');
|
|
41
41
|
var highLightCode = require('./high-light-code/high-light-code.cjs');
|
|
42
|
+
var backTop = require('./back-top/back-top.cjs');
|
|
42
43
|
|
|
43
44
|
"use strict";
|
|
44
45
|
const IBizCommonComponents = {
|
|
45
46
|
install: (v) => {
|
|
47
|
+
v.component(backTop.IBizBackTop.name, backTop.IBizBackTop);
|
|
46
48
|
v.component(kanbenSetting.IBizKanbanSetting.name, kanbenSetting.IBizKanbanSetting);
|
|
47
49
|
v.component(editorEmptyText.IBizEditorEmptyText.name, editorEmptyText.IBizEditorEmptyText);
|
|
48
50
|
v.component(cropping.IBizCropping.name, cropping.IBizCropping);
|
|
@@ -776,17 +776,26 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
776
776
|
return renderUserStyle();
|
|
777
777
|
return renderDefaultStyle();
|
|
778
778
|
};
|
|
779
|
+
function renderAttrs() {
|
|
780
|
+
const attrs = {};
|
|
781
|
+
runtime.filterPresetAttrs(c.model.controlAttributes).forEach((item) => {
|
|
782
|
+
attrs[item.attrName] = runtime.ScriptFactory.execSingleLine(item.attrValue, {
|
|
783
|
+
...c.getEventArgs()
|
|
784
|
+
});
|
|
785
|
+
});
|
|
786
|
+
return attrs;
|
|
787
|
+
}
|
|
779
788
|
return {
|
|
780
789
|
c,
|
|
781
790
|
ns,
|
|
782
791
|
semanticClass,
|
|
783
792
|
semanticStyle,
|
|
784
793
|
infiniteScroll,
|
|
794
|
+
renderAttrs,
|
|
785
795
|
renderLayoutByStyle
|
|
786
796
|
};
|
|
787
797
|
},
|
|
788
798
|
render() {
|
|
789
|
-
let _slot;
|
|
790
799
|
return vue.createVNode(vue.resolveComponent("iBizControlNavigation"), {
|
|
791
800
|
"controller": this.c
|
|
792
801
|
}, {
|
|
@@ -794,8 +803,11 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
794
803
|
"class": [this.semanticClass("root"), this.ns.is("enable-page", !!this.c.state.enablePagingBar)],
|
|
795
804
|
"style": this.semanticStyle("root"),
|
|
796
805
|
"controller": this.c
|
|
797
|
-
},
|
|
798
|
-
default: () => [
|
|
806
|
+
}, {
|
|
807
|
+
default: () => [this.renderLayoutByStyle(), this.c.state.isLoaded && this.c.showScrollTo !== "none" && vue.createVNode(vue.resolveComponent("iBizBackTop"), vue.mergeProps({
|
|
808
|
+
"target": this.infiniteScroll,
|
|
809
|
+
"mode": this.c.showScrollTo
|
|
810
|
+
}, this.renderAttrs()), null)]
|
|
799
811
|
})]
|
|
800
812
|
});
|
|
801
813
|
}
|
|
@@ -671,6 +671,15 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
671
671
|
length: Math.min(count, 20)
|
|
672
672
|
}, () => renderSkeletonItem())])]);
|
|
673
673
|
};
|
|
674
|
+
function renderAttrs() {
|
|
675
|
+
const attrs = {};
|
|
676
|
+
runtime.filterPresetAttrs(c.model.controlAttributes).forEach((item) => {
|
|
677
|
+
attrs[item.attrName] = runtime.ScriptFactory.execSingleLine(item.attrValue, {
|
|
678
|
+
...c.getEventArgs()
|
|
679
|
+
});
|
|
680
|
+
});
|
|
681
|
+
return attrs;
|
|
682
|
+
}
|
|
674
683
|
return {
|
|
675
684
|
c,
|
|
676
685
|
ns,
|
|
@@ -679,6 +688,7 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
679
688
|
semanticStyle,
|
|
680
689
|
reverseScroll,
|
|
681
690
|
infiniteScroll,
|
|
691
|
+
renderAttrs,
|
|
682
692
|
renderNoData,
|
|
683
693
|
onPageChange,
|
|
684
694
|
onPageRefresh,
|
|
@@ -724,7 +734,10 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
|
|
|
724
734
|
"title": ibiz.i18n.t("component.controlNavigation.hiddenNav"),
|
|
725
735
|
"name": "eye-off-outline",
|
|
726
736
|
"onClick": () => this.c.onShowNavViewChange()
|
|
727
|
-
}, null) : null, !this.reverseScroll && this.renderCollapseExpandIcon()
|
|
737
|
+
}, null) : null, !this.reverseScroll && this.renderCollapseExpandIcon(), this.c.state.isLoaded && this.c.showScrollTo !== "none" && vue.createVNode(vue.resolveComponent("iBizBackTop"), vue.mergeProps({
|
|
738
|
+
"target": this.infiniteScroll,
|
|
739
|
+
"mode": this.c.showScrollTo
|
|
740
|
+
}, this.renderAttrs()), null)]
|
|
728
741
|
})]
|
|
729
742
|
});
|
|
730
743
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var vue = require('vue');
|
|
4
4
|
var lodashEs = require('lodash-es');
|
|
5
|
+
var qxUtil = require('qx-util');
|
|
5
6
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
6
7
|
var core = require('@ibiz-template/core');
|
|
7
8
|
require('./input.css');
|
|
@@ -283,6 +284,20 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
|
|
|
283
284
|
}
|
|
284
285
|
};
|
|
285
286
|
vue3Util.useCodeListListen(c.model.appCodeListId, c.context.srfappid, fn);
|
|
287
|
+
const curInstanceUUID = vue.ref("");
|
|
288
|
+
const initCurInstanceUUID = () => {
|
|
289
|
+
const {
|
|
290
|
+
predefinedType
|
|
291
|
+
} = c.model;
|
|
292
|
+
if (predefinedType === "AUTH_USERID") {
|
|
293
|
+
curInstanceUUID.value = "login-username";
|
|
294
|
+
} else if (predefinedType === "AUTH_PASSWORD") {
|
|
295
|
+
curInstanceUUID.value = "login-password";
|
|
296
|
+
} else {
|
|
297
|
+
curInstanceUUID.value = qxUtil.createUUID();
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
initCurInstanceUUID();
|
|
286
301
|
return {
|
|
287
302
|
c,
|
|
288
303
|
ns,
|
|
@@ -302,6 +317,7 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
|
|
|
302
317
|
currentFormatVal,
|
|
303
318
|
shouldAutoComplete,
|
|
304
319
|
showFormDefaultContent,
|
|
320
|
+
curInstanceUUID,
|
|
305
321
|
onBlur,
|
|
306
322
|
onFocus,
|
|
307
323
|
onClick,
|
|
@@ -382,7 +398,8 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
|
|
|
382
398
|
"disabled": this.disabled,
|
|
383
399
|
"style": this.semanticStyle("editor.content"),
|
|
384
400
|
"show-password": this.type === "password",
|
|
385
|
-
"autocomplete": this.shouldAutoComplete
|
|
401
|
+
"autocomplete": this.shouldAutoComplete,
|
|
402
|
+
"id": this.curInstanceUUID
|
|
386
403
|
}, this.$attrs), _isSlot(slots) ? slots : {
|
|
387
404
|
default: () => [slots]
|
|
388
405
|
}), [[vue.resolveDirective("child-class"), this.childClass], [vue.resolveDirective("child-style"), this.childStyle]]);
|
package/lib/index.cjs
CHANGED
|
@@ -119,6 +119,22 @@ var panelRememberMe_controller = require('./panel-component/panel-remember-me/pa
|
|
|
119
119
|
var panelTabPanel_controller = require('./panel-component/panel-tab-panel/panel-tab-panel.controller.cjs');
|
|
120
120
|
var searchformButtons_controller = require('./panel-component/searchform-buttons/searchform-buttons.controller.cjs');
|
|
121
121
|
var viewMsgPos_controller = require('./panel-component/view-msg-pos/view-msg-pos.controller.cjs');
|
|
122
|
+
var extendMenuBase_state = require('./panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.cjs');
|
|
123
|
+
var appSwitch_state = require('./panel-component/app-switch/app-switch.state.cjs');
|
|
124
|
+
var authCaptcha_state = require('./panel-component/auth-captcha/auth-captcha.state.cjs');
|
|
125
|
+
var coopPos_state = require('./panel-component/coop-pos/coop-pos.state.cjs');
|
|
126
|
+
var globalSearch_state = require('./panel-component/global-search/global-search.state.cjs');
|
|
127
|
+
var indexBlankPlaceholder_state = require('./panel-component/index-blank-placeholder/index-blank-placeholder.state.cjs');
|
|
128
|
+
var navBreadcrumb_state = require('./panel-component/nav-breadcrumb/nav-breadcrumb.state.cjs');
|
|
129
|
+
var navTabs_state = require('./panel-component/nav-tabs/nav-tabs.state.cjs');
|
|
130
|
+
var panelAppLoginView_state = require('./panel-component/panel-app-login-view/panel-app-login-view.state.cjs');
|
|
131
|
+
var panelAppTitle_state = require('./panel-component/panel-app-title/panel-app-title.state.cjs');
|
|
132
|
+
var panelButtonList_state = require('./panel-component/panel-button-list/panel-button-list.state.cjs');
|
|
133
|
+
var panelButton_state = require('./panel-component/panel-button/panel-button.state.cjs');
|
|
134
|
+
var panelContainerGroup_state = require('./panel-component/panel-container-group/panel-container-group.state.cjs');
|
|
135
|
+
var panelRememberMe_state = require('./panel-component/panel-remember-me/panel-remember-me.state.cjs');
|
|
136
|
+
var panelTabPanel_state = require('./panel-component/panel-tab-panel/panel-tab-panel.state.cjs');
|
|
137
|
+
var splitContainer_state = require('./panel-component/split-container/split-container.state.cjs');
|
|
122
138
|
var index$11 = require('./panel-component/auth-userinfo/index.cjs');
|
|
123
139
|
var navPosIndex_state = require('./panel-component/nav-pos-index/nav-pos-index.state.cjs');
|
|
124
140
|
var navPosIndex_controller = require('./panel-component/nav-pos-index/nav-pos-index.controller.cjs');
|
|
@@ -339,6 +355,22 @@ exports.PanelRememberMeController = panelRememberMe_controller.PanelRememberMeCo
|
|
|
339
355
|
exports.PanelTabPanelController = panelTabPanel_controller.PanelTabPanelController;
|
|
340
356
|
exports.SearchFormButtonsController = searchformButtons_controller.SearchFormButtonsController;
|
|
341
357
|
exports.ViewMsgPosController = viewMsgPos_controller.ViewMsgPosController;
|
|
358
|
+
exports.ExtendMenuBase = extendMenuBase_state.ExtendMenuBase;
|
|
359
|
+
exports.AppSwitchState = appSwitch_state.AppSwitchState;
|
|
360
|
+
exports.AuthCaptchaState = authCaptcha_state.AuthCaptchaState;
|
|
361
|
+
exports.CoopPosState = coopPos_state.CoopPosState;
|
|
362
|
+
exports.GlobalSearchState = globalSearch_state.GlobalSearchState;
|
|
363
|
+
exports.IndexBlankPlaceholderState = indexBlankPlaceholder_state.IndexBlankPlaceholderState;
|
|
364
|
+
exports.NavBreadcrumbState = navBreadcrumb_state.NavBreadcrumbState;
|
|
365
|
+
exports.NavTabsState = navTabs_state.NavTabsState;
|
|
366
|
+
exports.PanelAppLoginViewState = panelAppLoginView_state.PanelAppLoginViewState;
|
|
367
|
+
exports.PanelAppTitleState = panelAppTitle_state.PanelAppTitleState;
|
|
368
|
+
exports.PanelButtonListState = panelButtonList_state.PanelButtonListState;
|
|
369
|
+
exports.PanelButtonState = panelButton_state.PanelButtonState;
|
|
370
|
+
exports.PanelContainerGroupState = panelContainerGroup_state.PanelContainerGroupState;
|
|
371
|
+
exports.PanelRememberMeState = panelRememberMe_state.PanelRememberMeState;
|
|
372
|
+
exports.PanelTabPanelState = panelTabPanel_state.PanelTabPanelState;
|
|
373
|
+
exports.SplitContainerState = splitContainer_state.SplitContainerState;
|
|
342
374
|
exports.IBizAuthUserinfo = index$11.IBizAuthUserinfo;
|
|
343
375
|
exports.NavPosIndexState = navPosIndex_state.NavPosIndexState;
|
|
344
376
|
exports.NavPosIndexController = navPosIndex_controller.NavPosIndexController;
|
|
@@ -58,6 +58,22 @@ var panelRememberMe_controller = require('./panel-remember-me/panel-remember-me.
|
|
|
58
58
|
var panelTabPanel_controller = require('./panel-tab-panel/panel-tab-panel.controller.cjs');
|
|
59
59
|
var searchformButtons_controller = require('./searchform-buttons/searchform-buttons.controller.cjs');
|
|
60
60
|
var viewMsgPos_controller = require('./view-msg-pos/view-msg-pos.controller.cjs');
|
|
61
|
+
var extendMenuBase_state = require('./app-extend-menu/extend-menu-base/extend-menu-base.state.cjs');
|
|
62
|
+
var appSwitch_state = require('./app-switch/app-switch.state.cjs');
|
|
63
|
+
var authCaptcha_state = require('./auth-captcha/auth-captcha.state.cjs');
|
|
64
|
+
var coopPos_state = require('./coop-pos/coop-pos.state.cjs');
|
|
65
|
+
var globalSearch_state = require('./global-search/global-search.state.cjs');
|
|
66
|
+
var indexBlankPlaceholder_state = require('./index-blank-placeholder/index-blank-placeholder.state.cjs');
|
|
67
|
+
var navBreadcrumb_state = require('./nav-breadcrumb/nav-breadcrumb.state.cjs');
|
|
68
|
+
var navTabs_state = require('./nav-tabs/nav-tabs.state.cjs');
|
|
69
|
+
var panelAppLoginView_state = require('./panel-app-login-view/panel-app-login-view.state.cjs');
|
|
70
|
+
var panelAppTitle_state = require('./panel-app-title/panel-app-title.state.cjs');
|
|
71
|
+
var panelButtonList_state = require('./panel-button-list/panel-button-list.state.cjs');
|
|
72
|
+
var panelButton_state = require('./panel-button/panel-button.state.cjs');
|
|
73
|
+
var panelContainerGroup_state = require('./panel-container-group/panel-container-group.state.cjs');
|
|
74
|
+
var panelRememberMe_state = require('./panel-remember-me/panel-remember-me.state.cjs');
|
|
75
|
+
var panelTabPanel_state = require('./panel-tab-panel/panel-tab-panel.state.cjs');
|
|
76
|
+
var splitContainer_state = require('./split-container/split-container.state.cjs');
|
|
61
77
|
var navPosIndex_state = require('./nav-pos-index/nav-pos-index.state.cjs');
|
|
62
78
|
var navPosIndex_controller = require('./nav-pos-index/nav-pos-index.controller.cjs');
|
|
63
79
|
var panelAppTitle_controller = require('./panel-app-title/panel-app-title.controller.cjs');
|
|
@@ -150,6 +166,22 @@ exports.PanelRememberMeController = panelRememberMe_controller.PanelRememberMeCo
|
|
|
150
166
|
exports.PanelTabPanelController = panelTabPanel_controller.PanelTabPanelController;
|
|
151
167
|
exports.SearchFormButtonsController = searchformButtons_controller.SearchFormButtonsController;
|
|
152
168
|
exports.ViewMsgPosController = viewMsgPos_controller.ViewMsgPosController;
|
|
169
|
+
exports.ExtendMenuBase = extendMenuBase_state.ExtendMenuBase;
|
|
170
|
+
exports.AppSwitchState = appSwitch_state.AppSwitchState;
|
|
171
|
+
exports.AuthCaptchaState = authCaptcha_state.AuthCaptchaState;
|
|
172
|
+
exports.CoopPosState = coopPos_state.CoopPosState;
|
|
173
|
+
exports.GlobalSearchState = globalSearch_state.GlobalSearchState;
|
|
174
|
+
exports.IndexBlankPlaceholderState = indexBlankPlaceholder_state.IndexBlankPlaceholderState;
|
|
175
|
+
exports.NavBreadcrumbState = navBreadcrumb_state.NavBreadcrumbState;
|
|
176
|
+
exports.NavTabsState = navTabs_state.NavTabsState;
|
|
177
|
+
exports.PanelAppLoginViewState = panelAppLoginView_state.PanelAppLoginViewState;
|
|
178
|
+
exports.PanelAppTitleState = panelAppTitle_state.PanelAppTitleState;
|
|
179
|
+
exports.PanelButtonListState = panelButtonList_state.PanelButtonListState;
|
|
180
|
+
exports.PanelButtonState = panelButton_state.PanelButtonState;
|
|
181
|
+
exports.PanelContainerGroupState = panelContainerGroup_state.PanelContainerGroupState;
|
|
182
|
+
exports.PanelRememberMeState = panelRememberMe_state.PanelRememberMeState;
|
|
183
|
+
exports.PanelTabPanelState = panelTabPanel_state.PanelTabPanelState;
|
|
184
|
+
exports.SplitContainerState = splitContainer_state.SplitContainerState;
|
|
153
185
|
exports.NavPosIndexState = navPosIndex_state.NavPosIndexState;
|
|
154
186
|
exports.NavPosIndexController = navPosIndex_controller.NavPosIndexController;
|
|
155
187
|
exports.PanelAppTitleController = panelAppTitle_controller.PanelAppTitleController;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
+
var qxUtil = require('qx-util');
|
|
6
7
|
var vue3Util = require('@ibiz-template/vue3-util');
|
|
7
8
|
var core = require('@ibiz-template/core');
|
|
8
9
|
var panelButton_controller = require('./panel-button.controller.cjs');
|
|
@@ -79,6 +80,15 @@ const PanelButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
79
80
|
state.loading = false;
|
|
80
81
|
}
|
|
81
82
|
};
|
|
83
|
+
const curInstanceUUID = vue.ref("");
|
|
84
|
+
const initCurInstanceUUID = () => {
|
|
85
|
+
if (props.modelData && props.modelData.uiactionId === "app_login") {
|
|
86
|
+
curInstanceUUID.value = "login-submit";
|
|
87
|
+
} else {
|
|
88
|
+
curInstanceUUID.value = qxUtil.createUUID();
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
initCurInstanceUUID();
|
|
82
92
|
return {
|
|
83
93
|
ns,
|
|
84
94
|
isText,
|
|
@@ -94,7 +104,8 @@ const PanelButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
94
104
|
tempStyle,
|
|
95
105
|
itemStyle,
|
|
96
106
|
semanticClass,
|
|
97
|
-
semanticStyle
|
|
107
|
+
semanticStyle,
|
|
108
|
+
curInstanceUUID
|
|
98
109
|
};
|
|
99
110
|
},
|
|
100
111
|
render() {
|
|
@@ -107,6 +118,7 @@ const PanelButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
107
118
|
"text": this.isText,
|
|
108
119
|
"data-id": this.modelData.id,
|
|
109
120
|
"title": core.showTitle(this.tooltip),
|
|
121
|
+
"id": this.curInstanceUUID,
|
|
110
122
|
"disabled": this.state.disabled,
|
|
111
123
|
"loading": this.state.loading,
|
|
112
124
|
"onClick": this.handleButtonClick
|
|
@@ -39,19 +39,17 @@ class AIChatUtil {
|
|
|
39
39
|
*/
|
|
40
40
|
async getEditorExAIChatParams(editorParams, context, params, data, deACMode, args) {
|
|
41
41
|
var _a;
|
|
42
|
-
const containerOptions = {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
containerOptions.enableAIMinimize = ibiz.config.common.enableAIMinimize;
|
|
50
|
-
}
|
|
42
|
+
const containerOptions = {
|
|
43
|
+
minimizeOptions: {
|
|
44
|
+
enable: editorParams.enableaiminimize === "true" || ibiz.config.common.enableAIMinimize,
|
|
45
|
+
openMode: editorParams.openmode || "default",
|
|
46
|
+
containerId: editorParams.minimizecontainerid || ibiz.config.common.aiMinimizeContainerId
|
|
47
|
+
}
|
|
48
|
+
};
|
|
51
49
|
if (editorParams.autoclose) {
|
|
52
50
|
try {
|
|
53
51
|
const autoClose = JSON.parse(editorParams.autoclose);
|
|
54
|
-
if (
|
|
52
|
+
if (autoClose && autoClose.mode === "minimize" && !containerOptions.minimizeOptions.enable) {
|
|
55
53
|
autoClose.mode = "close";
|
|
56
54
|
}
|
|
57
55
|
containerOptions.autoClose = autoClose;
|
|
@@ -640,21 +638,23 @@ class AIChatUtil {
|
|
|
640
638
|
*/
|
|
641
639
|
async getUIActionExAIChatParams(context, params, data, deACMode, args) {
|
|
642
640
|
var _a;
|
|
643
|
-
const containerOptions = {
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
}
|
|
650
|
-
if (params.hasOwnProperty("
|
|
651
|
-
|
|
641
|
+
const containerOptions = {
|
|
642
|
+
minimizeOptions: {
|
|
643
|
+
enable: params.enableaiminimize === "true" || ibiz.config.common.enableAIMinimize,
|
|
644
|
+
openMode: params.openmode || "default",
|
|
645
|
+
containerId: params.minimizecontainerid || ibiz.config.common.aiMinimizeContainerId
|
|
646
|
+
}
|
|
647
|
+
};
|
|
648
|
+
if (params.hasOwnProperty("enableaiminimize"))
|
|
649
|
+
delete params.enableaiminimize;
|
|
650
|
+
if (params.hasOwnProperty("openmode"))
|
|
652
651
|
delete params.openmode;
|
|
653
|
-
|
|
652
|
+
if (params.hasOwnProperty("minimizecontainerid"))
|
|
653
|
+
delete params.minimizecontainerid;
|
|
654
654
|
if (params.hasOwnProperty("autoclose")) {
|
|
655
655
|
try {
|
|
656
656
|
const autoClose = JSON.parse(params.autoclose);
|
|
657
|
-
if (
|
|
657
|
+
if (autoClose && autoClose.mode === "minimize" && !containerOptions.minimizeOptions.enable) {
|
|
658
658
|
autoClose.mode = "close";
|
|
659
659
|
}
|
|
660
660
|
containerOptions.autoClose = autoClose;
|
|
@@ -166,7 +166,8 @@ const LoginView = /* @__PURE__ */ vue.defineComponent({
|
|
|
166
166
|
"modelValue": loginData.username,
|
|
167
167
|
"onUpdate:modelValue": ($event) => loginData.username = $event,
|
|
168
168
|
"clearable": true,
|
|
169
|
-
"placeholder": ibiz.i18n.t("app.pleaseEnterAccount")
|
|
169
|
+
"placeholder": ibiz.i18n.t("app.pleaseEnterAccount"),
|
|
170
|
+
"id": "login-username"
|
|
170
171
|
}, {
|
|
171
172
|
prefix: () => vue.createVNode("ion-icon", {
|
|
172
173
|
"name": "person"
|
|
@@ -181,7 +182,8 @@ const LoginView = /* @__PURE__ */ vue.defineComponent({
|
|
|
181
182
|
"modelValue": loginData.password,
|
|
182
183
|
"onUpdate:modelValue": ($event) => loginData.password = $event,
|
|
183
184
|
"show-password": true,
|
|
184
|
-
"placeholder": ibiz.i18n.t("app.pleaseEnterPassword")
|
|
185
|
+
"placeholder": ibiz.i18n.t("app.pleaseEnterPassword"),
|
|
186
|
+
"id": "login-password"
|
|
185
187
|
}, {
|
|
186
188
|
prefix: () => vue.createVNode("ion-icon", {
|
|
187
189
|
"name": "unlock-alt"
|
|
@@ -200,7 +202,8 @@ const LoginView = /* @__PURE__ */ vue.defineComponent({
|
|
|
200
202
|
"size": "large",
|
|
201
203
|
"round": true,
|
|
202
204
|
"loading": loading.value,
|
|
203
|
-
"onKeyup": (e) => onKeyUp(e)
|
|
205
|
+
"onKeyup": (e) => onKeyUp(e),
|
|
206
|
+
"id": "login-submit"
|
|
204
207
|
}, _isSlot(_slot = ibiz.i18n.t("view.loginView.login")) ? _slot : {
|
|
205
208
|
default: () => [_slot]
|
|
206
209
|
})]
|
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.138",
|
|
4
4
|
"description": "web端组件库(vue3)",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
|
33
33
|
"@floating-ui/dom": "^1.5.3",
|
|
34
|
-
"@ibiz-template-plugin/ai-chat": "^0.0.
|
|
34
|
+
"@ibiz-template-plugin/ai-chat": "^0.0.105",
|
|
35
35
|
"@ibiz-template-plugin/gantt": "0.1.8-alpha.468",
|
|
36
36
|
"@ibiz-template-plugin/bi-report": "0.0.32",
|
|
37
37
|
"@ibiz-template-plugin/data-view": "0.0.8",
|
|
38
38
|
"@ibiz-template/core": "0.7.41-alpha.140",
|
|
39
39
|
"@ibiz-template/devtool": "0.0.17",
|
|
40
|
-
"@ibiz-template/model-helper": "0.7.41-alpha.
|
|
41
|
-
"@ibiz-template/runtime": "0.7.41-alpha.
|
|
40
|
+
"@ibiz-template/model-helper": "0.7.41-alpha.142",
|
|
41
|
+
"@ibiz-template/runtime": "0.7.41-alpha.142",
|
|
42
42
|
"@ibiz-template/theme": "0.7.39",
|
|
43
|
-
"@ibiz-template/vue3-util": "0.7.41-alpha.
|
|
43
|
+
"@ibiz-template/vue3-util": "0.7.41-alpha.142",
|
|
44
44
|
"@ibiz-template/web-theme": "3.16.0",
|
|
45
45
|
"@ibiz/model-core": "^0.1.89",
|
|
46
46
|
"@imengyu/vue3-context-menu": "^1.3.5",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
@include b('back-top') {
|
|
2
|
+
position: absolute;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
width: 40px;
|
|
7
|
+
height: 40px;
|
|
8
|
+
font-size: 20px;
|
|
9
|
+
color: getCssVar('color', 'text', '0');
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
user-select: none;
|
|
12
|
+
background-color: getCssVar('color', 'white');
|
|
13
|
+
border-radius: 50%;
|
|
14
|
+
box-shadow: 0 0 6px rgb(0 0 0 / 12%);
|
|
15
|
+
|
|
16
|
+
&:hover {
|
|
17
|
+
color: getCssVar('color', 'white');
|
|
18
|
+
background-color: getCssVar('color', 'primary', 'hover');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.fade-enter-active,
|
|
23
|
+
.fade-leave-active {
|
|
24
|
+
transition: opacity 0.3s ease;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.fade-enter-from,
|
|
28
|
+
.fade-leave-to {
|
|
29
|
+
opacity: 0;
|
|
30
|
+
}
|