@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 @@
|
|
|
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}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { isVNode, defineComponent, createVNode, Teleport, ref, computed, watch, onMounted, onUnmounted, Transition } from 'vue';
|
|
2
|
+
import { useUIStore, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
+
import './back-top.css';
|
|
4
|
+
|
|
5
|
+
"use strict";
|
|
6
|
+
function _isSlot(s) {
|
|
7
|
+
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
8
|
+
}
|
|
9
|
+
const IBizBackTop = /* @__PURE__ */ defineComponent({
|
|
10
|
+
name: "IBizBackTop",
|
|
11
|
+
props: {
|
|
12
|
+
mode: {
|
|
13
|
+
type: String,
|
|
14
|
+
default: "bottom"
|
|
15
|
+
},
|
|
16
|
+
target: {
|
|
17
|
+
type: [String, Object],
|
|
18
|
+
default: ""
|
|
19
|
+
},
|
|
20
|
+
right: {
|
|
21
|
+
type: [Number, String],
|
|
22
|
+
default: 30
|
|
23
|
+
},
|
|
24
|
+
bottom: {
|
|
25
|
+
type: [Number, String],
|
|
26
|
+
default: 40
|
|
27
|
+
},
|
|
28
|
+
offset: {
|
|
29
|
+
type: Number,
|
|
30
|
+
default: 200
|
|
31
|
+
},
|
|
32
|
+
teleport: {
|
|
33
|
+
type: [String, Object],
|
|
34
|
+
default: ""
|
|
35
|
+
},
|
|
36
|
+
immediate: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: false
|
|
39
|
+
},
|
|
40
|
+
zIndex: {
|
|
41
|
+
type: [Number, String],
|
|
42
|
+
default: 5
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
setup(props, {
|
|
46
|
+
slots
|
|
47
|
+
}) {
|
|
48
|
+
const {
|
|
49
|
+
zIndex
|
|
50
|
+
} = useUIStore();
|
|
51
|
+
const ns = useNamespace("back-top");
|
|
52
|
+
const zIndexVal = zIndex.increment();
|
|
53
|
+
const isVisible = ref(false);
|
|
54
|
+
const isAtBottom = ref(false);
|
|
55
|
+
const scrollContainer = ref(null);
|
|
56
|
+
const positionStyle = computed(() => {
|
|
57
|
+
const rightVal = typeof props.right === "number" ? "".concat(props.right, "px") : props.right;
|
|
58
|
+
const bottomVal = typeof props.bottom === "number" ? "".concat(props.bottom, "px") : props.bottom;
|
|
59
|
+
return {
|
|
60
|
+
right: rightVal,
|
|
61
|
+
bottom: bottomVal,
|
|
62
|
+
zIndex: props.zIndex || zIndexVal
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
const getScrollContainer = () => {
|
|
66
|
+
if (!props.target)
|
|
67
|
+
return document.documentElement;
|
|
68
|
+
if (typeof props.target === "string") {
|
|
69
|
+
return document.querySelector(props.target);
|
|
70
|
+
}
|
|
71
|
+
return props.target;
|
|
72
|
+
};
|
|
73
|
+
const getScrollData = () => {
|
|
74
|
+
const el = scrollContainer.value;
|
|
75
|
+
if (!el)
|
|
76
|
+
return {
|
|
77
|
+
scrollTop: 0,
|
|
78
|
+
scrollHeight: 0,
|
|
79
|
+
clientHeight: 0
|
|
80
|
+
};
|
|
81
|
+
return {
|
|
82
|
+
scrollTop: el.scrollTop,
|
|
83
|
+
scrollHeight: el.scrollHeight,
|
|
84
|
+
clientHeight: el.clientHeight
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
const handleScroll = () => {
|
|
88
|
+
const {
|
|
89
|
+
scrollTop,
|
|
90
|
+
scrollHeight,
|
|
91
|
+
clientHeight
|
|
92
|
+
} = getScrollData();
|
|
93
|
+
const atBottom = scrollTop + clientHeight >= scrollHeight - props.offset;
|
|
94
|
+
isAtBottom.value = atBottom;
|
|
95
|
+
if (props.mode === "top") {
|
|
96
|
+
isVisible.value = scrollTop > props.offset;
|
|
97
|
+
} else if (props.mode === "bottom") {
|
|
98
|
+
const distanceToBottom = scrollHeight - scrollTop - clientHeight;
|
|
99
|
+
isVisible.value = distanceToBottom > props.offset;
|
|
100
|
+
} else {
|
|
101
|
+
if (atBottom) {
|
|
102
|
+
isVisible.value = scrollTop > props.offset;
|
|
103
|
+
} else {
|
|
104
|
+
if (scrollHeight - scrollTop - clientHeight > props.offset)
|
|
105
|
+
isVisible.value = true;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
const scrollTo = () => {
|
|
110
|
+
const el = scrollContainer.value;
|
|
111
|
+
if (!el)
|
|
112
|
+
return;
|
|
113
|
+
let targetPosition = 0;
|
|
114
|
+
if (props.mode === "bottom") {
|
|
115
|
+
targetPosition = getScrollData().scrollHeight;
|
|
116
|
+
} else if (props.mode === "auto") {
|
|
117
|
+
targetPosition = isAtBottom.value ? 0 : getScrollData().scrollHeight;
|
|
118
|
+
} else {
|
|
119
|
+
targetPosition = 0;
|
|
120
|
+
}
|
|
121
|
+
el.scrollTo({
|
|
122
|
+
top: targetPosition,
|
|
123
|
+
behavior: props.immediate ? "auto" : "smooth"
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
const bindEvents = () => {
|
|
127
|
+
scrollContainer.value = getScrollContainer();
|
|
128
|
+
if (scrollContainer.value) {
|
|
129
|
+
scrollContainer.value.addEventListener("scroll", handleScroll, {
|
|
130
|
+
passive: true
|
|
131
|
+
});
|
|
132
|
+
setTimeout(() => handleScroll(), 300);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const unbindEvents = () => {
|
|
136
|
+
if (scrollContainer.value) {
|
|
137
|
+
scrollContainer.value.removeEventListener("scroll", handleScroll);
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
watch(() => props.target, () => {
|
|
141
|
+
unbindEvents();
|
|
142
|
+
bindEvents();
|
|
143
|
+
});
|
|
144
|
+
onMounted(() => {
|
|
145
|
+
bindEvents();
|
|
146
|
+
});
|
|
147
|
+
onUnmounted(() => {
|
|
148
|
+
zIndex.decrement();
|
|
149
|
+
unbindEvents();
|
|
150
|
+
});
|
|
151
|
+
const renderIcon = () => {
|
|
152
|
+
if (props.mode === "bottom")
|
|
153
|
+
return createVNode("ion-icon", {
|
|
154
|
+
"name": "chevron-down-outline"
|
|
155
|
+
}, null);
|
|
156
|
+
if (props.mode === "top")
|
|
157
|
+
return createVNode("ion-icon", {
|
|
158
|
+
"name": "chevron-up-outline"
|
|
159
|
+
}, null);
|
|
160
|
+
if (isAtBottom.value)
|
|
161
|
+
return createVNode("ion-icon", {
|
|
162
|
+
"name": "chevron-up-outline"
|
|
163
|
+
}, null);
|
|
164
|
+
return createVNode("ion-icon", {
|
|
165
|
+
"name": "chevron-down-outline"
|
|
166
|
+
}, null);
|
|
167
|
+
};
|
|
168
|
+
const renderContent = () => {
|
|
169
|
+
return createVNode(Transition, {
|
|
170
|
+
"name": "fade"
|
|
171
|
+
}, {
|
|
172
|
+
default: () => [isVisible.value && createVNode("div", {
|
|
173
|
+
"class": ns.b(),
|
|
174
|
+
"onClick": scrollTo,
|
|
175
|
+
"style": positionStyle.value
|
|
176
|
+
}, [slots.default ? slots.default() : renderIcon()])]
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
return {
|
|
180
|
+
ns,
|
|
181
|
+
isVisible,
|
|
182
|
+
positionStyle,
|
|
183
|
+
scrollTo,
|
|
184
|
+
renderIcon,
|
|
185
|
+
renderContent
|
|
186
|
+
};
|
|
187
|
+
},
|
|
188
|
+
render() {
|
|
189
|
+
let _slot;
|
|
190
|
+
if (!this.teleport)
|
|
191
|
+
return this.renderContent();
|
|
192
|
+
return createVNode(Teleport, {
|
|
193
|
+
"to": this.teleport,
|
|
194
|
+
"disabled": !this.teleport
|
|
195
|
+
}, _isSlot(_slot = this.renderContent()) ? _slot : {
|
|
196
|
+
default: () => [_slot]
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
|
|
201
|
+
export { IBizBackTop };
|
package/es/common/index.mjs
CHANGED
|
@@ -35,10 +35,12 @@ import { IBizCropping } from './cropping/cropping.mjs';
|
|
|
35
35
|
import { IBizEditorEmptyText } from './editor-empty-text/editor-empty-text.mjs';
|
|
36
36
|
import { IBizKanbanSetting } from './kanben-setting/kanben-setting.mjs';
|
|
37
37
|
import { IBizHighLightCode } from './high-light-code/high-light-code.mjs';
|
|
38
|
+
import { IBizBackTop } from './back-top/back-top.mjs';
|
|
38
39
|
|
|
39
40
|
"use strict";
|
|
40
41
|
const IBizCommonComponents = {
|
|
41
42
|
install: (v) => {
|
|
43
|
+
v.component(IBizBackTop.name, IBizBackTop);
|
|
42
44
|
v.component(IBizKanbanSetting.name, IBizKanbanSetting);
|
|
43
45
|
v.component(IBizEditorEmptyText.name, IBizEditorEmptyText);
|
|
44
46
|
v.component(IBizCropping.name, IBizCropping);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { isVNode, defineComponent, createVNode, resolveComponent, ref, computed, watch, h, withDirectives, resolveDirective, Fragment } from 'vue';
|
|
1
|
+
import { isVNode, defineComponent, createVNode, resolveComponent, mergeProps, ref, computed, watch, h, withDirectives, resolveDirective, Fragment } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace, useControlPopoverzIndex, useSemanticNode, hasEmptyPanelRenderer, IBizCustomRender } from '@ibiz-template/vue3-util';
|
|
3
|
-
import { DataViewControlController, ControlVO, getMDCtrlItemProvider, getControl } from '@ibiz-template/runtime';
|
|
3
|
+
import { DataViewControlController, ControlVO, getMDCtrlItemProvider, getControl, filterPresetAttrs, ScriptFactory } from '@ibiz-template/runtime';
|
|
4
4
|
import { createUUID } from 'qx-util';
|
|
5
5
|
import draggable from 'vuedraggable';
|
|
6
6
|
import '../../util/index.mjs';
|
|
@@ -774,17 +774,26 @@ const DataViewControl = /* @__PURE__ */ defineComponent({
|
|
|
774
774
|
return renderUserStyle();
|
|
775
775
|
return renderDefaultStyle();
|
|
776
776
|
};
|
|
777
|
+
function renderAttrs() {
|
|
778
|
+
const attrs = {};
|
|
779
|
+
filterPresetAttrs(c.model.controlAttributes).forEach((item) => {
|
|
780
|
+
attrs[item.attrName] = ScriptFactory.execSingleLine(item.attrValue, {
|
|
781
|
+
...c.getEventArgs()
|
|
782
|
+
});
|
|
783
|
+
});
|
|
784
|
+
return attrs;
|
|
785
|
+
}
|
|
777
786
|
return {
|
|
778
787
|
c,
|
|
779
788
|
ns,
|
|
780
789
|
semanticClass,
|
|
781
790
|
semanticStyle,
|
|
782
791
|
infiniteScroll,
|
|
792
|
+
renderAttrs,
|
|
783
793
|
renderLayoutByStyle
|
|
784
794
|
};
|
|
785
795
|
},
|
|
786
796
|
render() {
|
|
787
|
-
let _slot;
|
|
788
797
|
return createVNode(resolveComponent("iBizControlNavigation"), {
|
|
789
798
|
"controller": this.c
|
|
790
799
|
}, {
|
|
@@ -792,8 +801,11 @@ const DataViewControl = /* @__PURE__ */ defineComponent({
|
|
|
792
801
|
"class": [this.semanticClass("root"), this.ns.is("enable-page", !!this.c.state.enablePagingBar)],
|
|
793
802
|
"style": this.semanticStyle("root"),
|
|
794
803
|
"controller": this.c
|
|
795
|
-
},
|
|
796
|
-
default: () => [
|
|
804
|
+
}, {
|
|
805
|
+
default: () => [this.renderLayoutByStyle(), this.c.state.isLoaded && this.c.showScrollTo !== "none" && createVNode(resolveComponent("iBizBackTop"), mergeProps({
|
|
806
|
+
"target": this.infiniteScroll,
|
|
807
|
+
"mode": this.c.showScrollTo
|
|
808
|
+
}, this.renderAttrs()), null)]
|
|
797
809
|
})]
|
|
798
810
|
});
|
|
799
811
|
}
|
package/es/control/list/list.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isVNode, defineComponent, createVNode, resolveComponent, ref, computed, watch, h } from 'vue';
|
|
1
|
+
import { isVNode, defineComponent, createVNode, resolveComponent, mergeProps, ref, computed, watch, h } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace, useControlPopoverzIndex, useSemanticNode, hasEmptyPanelRenderer, IBizCustomRender } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { isNil, debounce } from 'lodash-es';
|
|
4
|
-
import { ListController, ControlVO, getMDCtrlItemProvider } from '@ibiz-template/runtime';
|
|
4
|
+
import { ListController, ControlVO, getMDCtrlItemProvider, filterPresetAttrs, ScriptFactory } from '@ibiz-template/runtime';
|
|
5
5
|
import draggable from 'vuedraggable';
|
|
6
6
|
import { showTitle } from '@ibiz-template/core';
|
|
7
7
|
import '../../util/index.mjs';
|
|
@@ -669,6 +669,15 @@ const ListControl = /* @__PURE__ */ defineComponent({
|
|
|
669
669
|
length: Math.min(count, 20)
|
|
670
670
|
}, () => renderSkeletonItem())])]);
|
|
671
671
|
};
|
|
672
|
+
function renderAttrs() {
|
|
673
|
+
const attrs = {};
|
|
674
|
+
filterPresetAttrs(c.model.controlAttributes).forEach((item) => {
|
|
675
|
+
attrs[item.attrName] = ScriptFactory.execSingleLine(item.attrValue, {
|
|
676
|
+
...c.getEventArgs()
|
|
677
|
+
});
|
|
678
|
+
});
|
|
679
|
+
return attrs;
|
|
680
|
+
}
|
|
672
681
|
return {
|
|
673
682
|
c,
|
|
674
683
|
ns,
|
|
@@ -677,6 +686,7 @@ const ListControl = /* @__PURE__ */ defineComponent({
|
|
|
677
686
|
semanticStyle,
|
|
678
687
|
reverseScroll,
|
|
679
688
|
infiniteScroll,
|
|
689
|
+
renderAttrs,
|
|
680
690
|
renderNoData,
|
|
681
691
|
onPageChange,
|
|
682
692
|
onPageRefresh,
|
|
@@ -722,7 +732,10 @@ const ListControl = /* @__PURE__ */ defineComponent({
|
|
|
722
732
|
"title": ibiz.i18n.t("component.controlNavigation.hiddenNav"),
|
|
723
733
|
"name": "eye-off-outline",
|
|
724
734
|
"onClick": () => this.c.onShowNavViewChange()
|
|
725
|
-
}, null) : null, !this.reverseScroll && this.renderCollapseExpandIcon()
|
|
735
|
+
}, null) : null, !this.reverseScroll && this.renderCollapseExpandIcon(), this.c.state.isLoaded && this.c.showScrollTo !== "none" && createVNode(resolveComponent("iBizBackTop"), mergeProps({
|
|
736
|
+
"target": this.infiniteScroll,
|
|
737
|
+
"mode": this.c.showScrollTo
|
|
738
|
+
}, this.renderAttrs()), null)]
|
|
726
739
|
})]
|
|
727
740
|
});
|
|
728
741
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isVNode, defineComponent, createVNode, resolveComponent, withDirectives, mergeProps, resolveDirective, ref, computed, watch, onUnmounted } from 'vue';
|
|
2
2
|
import { debounce } from 'lodash-es';
|
|
3
|
+
import { createUUID } from 'qx-util';
|
|
3
4
|
import { useNamespace, useSemanticNode, useUIStore, useCodeListListen, getEditorEmits, getInputProps } from '@ibiz-template/vue3-util';
|
|
4
5
|
import { isEmoji, base64ToStr } from '@ibiz-template/core';
|
|
5
6
|
import './input.css';
|
|
@@ -281,6 +282,20 @@ const IBizInput = /* @__PURE__ */ defineComponent({
|
|
|
281
282
|
}
|
|
282
283
|
};
|
|
283
284
|
useCodeListListen(c.model.appCodeListId, c.context.srfappid, fn);
|
|
285
|
+
const curInstanceUUID = ref("");
|
|
286
|
+
const initCurInstanceUUID = () => {
|
|
287
|
+
const {
|
|
288
|
+
predefinedType
|
|
289
|
+
} = c.model;
|
|
290
|
+
if (predefinedType === "AUTH_USERID") {
|
|
291
|
+
curInstanceUUID.value = "login-username";
|
|
292
|
+
} else if (predefinedType === "AUTH_PASSWORD") {
|
|
293
|
+
curInstanceUUID.value = "login-password";
|
|
294
|
+
} else {
|
|
295
|
+
curInstanceUUID.value = createUUID();
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
initCurInstanceUUID();
|
|
284
299
|
return {
|
|
285
300
|
c,
|
|
286
301
|
ns,
|
|
@@ -300,6 +315,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
|
|
|
300
315
|
currentFormatVal,
|
|
301
316
|
shouldAutoComplete,
|
|
302
317
|
showFormDefaultContent,
|
|
318
|
+
curInstanceUUID,
|
|
303
319
|
onBlur,
|
|
304
320
|
onFocus,
|
|
305
321
|
onClick,
|
|
@@ -380,7 +396,8 @@ const IBizInput = /* @__PURE__ */ defineComponent({
|
|
|
380
396
|
"disabled": this.disabled,
|
|
381
397
|
"style": this.semanticStyle("editor.content"),
|
|
382
398
|
"show-password": this.type === "password",
|
|
383
|
-
"autocomplete": this.shouldAutoComplete
|
|
399
|
+
"autocomplete": this.shouldAutoComplete,
|
|
400
|
+
"id": this.curInstanceUUID
|
|
384
401
|
}, this.$attrs), _isSlot(slots) ? slots : {
|
|
385
402
|
default: () => [slots]
|
|
386
403
|
}), [[resolveDirective("child-class"), this.childClass], [resolveDirective("child-style"), this.childStyle]]);
|
package/es/index.mjs
CHANGED
|
@@ -117,6 +117,22 @@ export { PanelRememberMeController } from './panel-component/panel-remember-me/p
|
|
|
117
117
|
export { PanelTabPanelController } from './panel-component/panel-tab-panel/panel-tab-panel.controller.mjs';
|
|
118
118
|
export { SearchFormButtonsController } from './panel-component/searchform-buttons/searchform-buttons.controller.mjs';
|
|
119
119
|
export { ViewMsgPosController } from './panel-component/view-msg-pos/view-msg-pos.controller.mjs';
|
|
120
|
+
export { ExtendMenuBase } from './panel-component/app-extend-menu/extend-menu-base/extend-menu-base.state.mjs';
|
|
121
|
+
export { AppSwitchState } from './panel-component/app-switch/app-switch.state.mjs';
|
|
122
|
+
export { AuthCaptchaState } from './panel-component/auth-captcha/auth-captcha.state.mjs';
|
|
123
|
+
export { CoopPosState } from './panel-component/coop-pos/coop-pos.state.mjs';
|
|
124
|
+
export { GlobalSearchState } from './panel-component/global-search/global-search.state.mjs';
|
|
125
|
+
export { IndexBlankPlaceholderState } from './panel-component/index-blank-placeholder/index-blank-placeholder.state.mjs';
|
|
126
|
+
export { NavBreadcrumbState } from './panel-component/nav-breadcrumb/nav-breadcrumb.state.mjs';
|
|
127
|
+
export { NavTabsState } from './panel-component/nav-tabs/nav-tabs.state.mjs';
|
|
128
|
+
export { PanelAppLoginViewState } from './panel-component/panel-app-login-view/panel-app-login-view.state.mjs';
|
|
129
|
+
export { PanelAppTitleState } from './panel-component/panel-app-title/panel-app-title.state.mjs';
|
|
130
|
+
export { PanelButtonListState } from './panel-component/panel-button-list/panel-button-list.state.mjs';
|
|
131
|
+
export { PanelButtonState } from './panel-component/panel-button/panel-button.state.mjs';
|
|
132
|
+
export { PanelContainerGroupState } from './panel-component/panel-container-group/panel-container-group.state.mjs';
|
|
133
|
+
export { PanelRememberMeState } from './panel-component/panel-remember-me/panel-remember-me.state.mjs';
|
|
134
|
+
export { PanelTabPanelState } from './panel-component/panel-tab-panel/panel-tab-panel.state.mjs';
|
|
135
|
+
export { SplitContainerState } from './panel-component/split-container/split-container.state.mjs';
|
|
120
136
|
export { IBizAuthUserinfo } from './panel-component/auth-userinfo/index.mjs';
|
|
121
137
|
export { NavPosIndexState } from './panel-component/nav-pos-index/nav-pos-index.state.mjs';
|
|
122
138
|
export { NavPosIndexController } from './panel-component/nav-pos-index/nav-pos-index.controller.mjs';
|
|
@@ -54,6 +54,22 @@ export { PanelRememberMeController } from './panel-remember-me/panel-remember-me
|
|
|
54
54
|
export { PanelTabPanelController } from './panel-tab-panel/panel-tab-panel.controller.mjs';
|
|
55
55
|
export { SearchFormButtonsController } from './searchform-buttons/searchform-buttons.controller.mjs';
|
|
56
56
|
export { ViewMsgPosController } from './view-msg-pos/view-msg-pos.controller.mjs';
|
|
57
|
+
export { ExtendMenuBase } from './app-extend-menu/extend-menu-base/extend-menu-base.state.mjs';
|
|
58
|
+
export { AppSwitchState } from './app-switch/app-switch.state.mjs';
|
|
59
|
+
export { AuthCaptchaState } from './auth-captcha/auth-captcha.state.mjs';
|
|
60
|
+
export { CoopPosState } from './coop-pos/coop-pos.state.mjs';
|
|
61
|
+
export { GlobalSearchState } from './global-search/global-search.state.mjs';
|
|
62
|
+
export { IndexBlankPlaceholderState } from './index-blank-placeholder/index-blank-placeholder.state.mjs';
|
|
63
|
+
export { NavBreadcrumbState } from './nav-breadcrumb/nav-breadcrumb.state.mjs';
|
|
64
|
+
export { NavTabsState } from './nav-tabs/nav-tabs.state.mjs';
|
|
65
|
+
export { PanelAppLoginViewState } from './panel-app-login-view/panel-app-login-view.state.mjs';
|
|
66
|
+
export { PanelAppTitleState } from './panel-app-title/panel-app-title.state.mjs';
|
|
67
|
+
export { PanelButtonListState } from './panel-button-list/panel-button-list.state.mjs';
|
|
68
|
+
export { PanelButtonState } from './panel-button/panel-button.state.mjs';
|
|
69
|
+
export { PanelContainerGroupState } from './panel-container-group/panel-container-group.state.mjs';
|
|
70
|
+
export { PanelRememberMeState } from './panel-remember-me/panel-remember-me.state.mjs';
|
|
71
|
+
export { PanelTabPanelState } from './panel-tab-panel/panel-tab-panel.state.mjs';
|
|
72
|
+
export { SplitContainerState } from './split-container/split-container.state.mjs';
|
|
57
73
|
export { NavPosIndexState } from './nav-pos-index/nav-pos-index.state.mjs';
|
|
58
74
|
export { NavPosIndexController } from './nav-pos-index/nav-pos-index.controller.mjs';
|
|
59
75
|
export { PanelAppTitleController } from './panel-app-title/panel-app-title.controller.mjs';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { defineComponent, createVNode, resolveComponent, ref, computed } from 'vue';
|
|
2
|
+
import { createUUID } from 'qx-util';
|
|
2
3
|
import { useNamespace, useSemanticNode } from '@ibiz-template/vue3-util';
|
|
3
4
|
import { showTitle } from '@ibiz-template/core';
|
|
4
5
|
import { PanelButtonController } from './panel-button.controller.mjs';
|
|
@@ -75,6 +76,15 @@ const PanelButton = /* @__PURE__ */ defineComponent({
|
|
|
75
76
|
state.loading = false;
|
|
76
77
|
}
|
|
77
78
|
};
|
|
79
|
+
const curInstanceUUID = ref("");
|
|
80
|
+
const initCurInstanceUUID = () => {
|
|
81
|
+
if (props.modelData && props.modelData.uiactionId === "app_login") {
|
|
82
|
+
curInstanceUUID.value = "login-submit";
|
|
83
|
+
} else {
|
|
84
|
+
curInstanceUUID.value = createUUID();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
initCurInstanceUUID();
|
|
78
88
|
return {
|
|
79
89
|
ns,
|
|
80
90
|
isText,
|
|
@@ -90,7 +100,8 @@ const PanelButton = /* @__PURE__ */ defineComponent({
|
|
|
90
100
|
tempStyle,
|
|
91
101
|
itemStyle,
|
|
92
102
|
semanticClass,
|
|
93
|
-
semanticStyle
|
|
103
|
+
semanticStyle,
|
|
104
|
+
curInstanceUUID
|
|
94
105
|
};
|
|
95
106
|
},
|
|
96
107
|
render() {
|
|
@@ -103,6 +114,7 @@ const PanelButton = /* @__PURE__ */ defineComponent({
|
|
|
103
114
|
"text": this.isText,
|
|
104
115
|
"data-id": this.modelData.id,
|
|
105
116
|
"title": showTitle(this.tooltip),
|
|
117
|
+
"id": this.curInstanceUUID,
|
|
106
118
|
"disabled": this.state.disabled,
|
|
107
119
|
"loading": this.state.loading,
|
|
108
120
|
"onClick": this.handleButtonClick
|
|
@@ -37,19 +37,17 @@ class AIChatUtil {
|
|
|
37
37
|
*/
|
|
38
38
|
async getEditorExAIChatParams(editorParams, context, params, data, deACMode, args) {
|
|
39
39
|
var _a;
|
|
40
|
-
const containerOptions = {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
containerOptions.enableAIMinimize = ibiz.config.common.enableAIMinimize;
|
|
48
|
-
}
|
|
40
|
+
const containerOptions = {
|
|
41
|
+
minimizeOptions: {
|
|
42
|
+
enable: editorParams.enableaiminimize === "true" || ibiz.config.common.enableAIMinimize,
|
|
43
|
+
openMode: editorParams.openmode || "default",
|
|
44
|
+
containerId: editorParams.minimizecontainerid || ibiz.config.common.aiMinimizeContainerId
|
|
45
|
+
}
|
|
46
|
+
};
|
|
49
47
|
if (editorParams.autoclose) {
|
|
50
48
|
try {
|
|
51
49
|
const autoClose = JSON.parse(editorParams.autoclose);
|
|
52
|
-
if (
|
|
50
|
+
if (autoClose && autoClose.mode === "minimize" && !containerOptions.minimizeOptions.enable) {
|
|
53
51
|
autoClose.mode = "close";
|
|
54
52
|
}
|
|
55
53
|
containerOptions.autoClose = autoClose;
|
|
@@ -638,21 +636,23 @@ class AIChatUtil {
|
|
|
638
636
|
*/
|
|
639
637
|
async getUIActionExAIChatParams(context, params, data, deACMode, args) {
|
|
640
638
|
var _a;
|
|
641
|
-
const containerOptions = {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
}
|
|
648
|
-
if (params.hasOwnProperty("
|
|
649
|
-
|
|
639
|
+
const containerOptions = {
|
|
640
|
+
minimizeOptions: {
|
|
641
|
+
enable: params.enableaiminimize === "true" || ibiz.config.common.enableAIMinimize,
|
|
642
|
+
openMode: params.openmode || "default",
|
|
643
|
+
containerId: params.minimizecontainerid || ibiz.config.common.aiMinimizeContainerId
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
if (params.hasOwnProperty("enableaiminimize"))
|
|
647
|
+
delete params.enableaiminimize;
|
|
648
|
+
if (params.hasOwnProperty("openmode"))
|
|
650
649
|
delete params.openmode;
|
|
651
|
-
|
|
650
|
+
if (params.hasOwnProperty("minimizecontainerid"))
|
|
651
|
+
delete params.minimizecontainerid;
|
|
652
652
|
if (params.hasOwnProperty("autoclose")) {
|
|
653
653
|
try {
|
|
654
654
|
const autoClose = JSON.parse(params.autoclose);
|
|
655
|
-
if (
|
|
655
|
+
if (autoClose && autoClose.mode === "minimize" && !containerOptions.minimizeOptions.enable) {
|
|
656
656
|
autoClose.mode = "close";
|
|
657
657
|
}
|
|
658
658
|
containerOptions.autoClose = autoClose;
|
|
@@ -164,7 +164,8 @@ const LoginView = /* @__PURE__ */ defineComponent({
|
|
|
164
164
|
"modelValue": loginData.username,
|
|
165
165
|
"onUpdate:modelValue": ($event) => loginData.username = $event,
|
|
166
166
|
"clearable": true,
|
|
167
|
-
"placeholder": ibiz.i18n.t("app.pleaseEnterAccount")
|
|
167
|
+
"placeholder": ibiz.i18n.t("app.pleaseEnterAccount"),
|
|
168
|
+
"id": "login-username"
|
|
168
169
|
}, {
|
|
169
170
|
prefix: () => createVNode("ion-icon", {
|
|
170
171
|
"name": "person"
|
|
@@ -179,7 +180,8 @@ const LoginView = /* @__PURE__ */ defineComponent({
|
|
|
179
180
|
"modelValue": loginData.password,
|
|
180
181
|
"onUpdate:modelValue": ($event) => loginData.password = $event,
|
|
181
182
|
"show-password": true,
|
|
182
|
-
"placeholder": ibiz.i18n.t("app.pleaseEnterPassword")
|
|
183
|
+
"placeholder": ibiz.i18n.t("app.pleaseEnterPassword"),
|
|
184
|
+
"id": "login-password"
|
|
183
185
|
}, {
|
|
184
186
|
prefix: () => createVNode("ion-icon", {
|
|
185
187
|
"name": "unlock-alt"
|
|
@@ -198,7 +200,8 @@ const LoginView = /* @__PURE__ */ defineComponent({
|
|
|
198
200
|
"size": "large",
|
|
199
201
|
"round": true,
|
|
200
202
|
"loading": loading.value,
|
|
201
|
-
"onKeyup": (e) => onKeyUp(e)
|
|
203
|
+
"onKeyup": (e) => onKeyUp(e),
|
|
204
|
+
"id": "login-submit"
|
|
202
205
|
}, _isSlot(_slot = ibiz.i18n.t("view.loginView.login")) ? _slot : {
|
|
203
206
|
default: () => [_slot]
|
|
204
207
|
})]
|