@ibiz-template/vue3-components 0.6.4 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/index-2_x1KM16.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{xlsx-util-bI30RU42.js → xlsx-util-DZOpTWTV.js} +1 -1
  5. package/es/common/data-import/data-import.d.ts +16 -0
  6. package/es/common/data-import/data-import.mjs +10 -2
  7. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +1 -0
  8. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  9. package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.mjs +3 -0
  10. package/es/control/drbar/drbar.d.ts +1 -0
  11. package/es/control/drbar/drbar.mjs +35 -5
  12. package/es/control/drbar/index.d.ts +1 -0
  13. package/es/control/drtab/drtab.mjs +30 -3
  14. package/es/control/kanban/kanban.css +1 -1
  15. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +1 -1
  16. package/es/editor/text-box/input/input.css +1 -1
  17. package/es/editor/text-box/input/input.d.ts +2 -0
  18. package/es/editor/text-box/input/input.mjs +14 -1
  19. package/es/panel-component/user-message/user-message.css +1 -1
  20. package/es/web-app/guard/auth-guard/auth-guard.d.ts +7 -0
  21. package/es/web-app/guard/auth-guard/auth-guard.mjs +31 -1
  22. package/lib/common/data-import/data-import.cjs +10 -2
  23. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +1 -0
  24. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.cjs +3 -0
  25. package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.css +1 -1
  26. package/lib/control/drbar/drbar.cjs +32 -2
  27. package/lib/control/drtab/drtab.cjs +27 -0
  28. package/lib/control/kanban/kanban.css +1 -1
  29. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +1 -1
  30. package/lib/editor/text-box/input/input.cjs +14 -1
  31. package/lib/editor/text-box/input/input.css +1 -1
  32. package/lib/panel-component/user-message/user-message.css +1 -1
  33. package/lib/web-app/guard/auth-guard/auth-guard.cjs +30 -0
  34. package/package.json +4 -4
  35. package/dist/index-tEQ1ilmX.js +0 -4
@@ -14,6 +14,14 @@ export declare const DataImport: import("vue").DefineComponent<{
14
14
  type: PropType<IAppDEDataImport>;
15
15
  required: false;
16
16
  };
17
+ context: {
18
+ type: PropType<IContext>;
19
+ required: false;
20
+ };
21
+ params: {
22
+ type: PropType<IParams>;
23
+ required: false;
24
+ };
17
25
  }, {
18
26
  ns: import("@ibiz-template/core").Namespace;
19
27
  onLinkClick: () => Promise<void>;
@@ -40,4 +48,12 @@ export declare const DataImport: import("vue").DefineComponent<{
40
48
  type: PropType<IAppDEDataImport>;
41
49
  required: false;
42
50
  };
51
+ context: {
52
+ type: PropType<IContext>;
53
+ required: false;
54
+ };
55
+ params: {
56
+ type: PropType<IParams>;
57
+ required: false;
58
+ };
43
59
  }>>, {}, {}>;
@@ -21,6 +21,14 @@ const DataImport = /* @__PURE__ */ defineComponent({
21
21
  dataImport: {
22
22
  type: Object,
23
23
  required: false
24
+ },
25
+ context: {
26
+ type: Object,
27
+ required: false
28
+ },
29
+ params: {
30
+ type: Object,
31
+ required: false
24
32
  }
25
33
  },
26
34
  setup(props) {
@@ -47,14 +55,14 @@ const DataImport = /* @__PURE__ */ defineComponent({
47
55
  isLoading.value = true;
48
56
  try {
49
57
  if (ibiz.env.enableMqtt) {
50
- asyncImportData(selectedFile, props.appDataEntity, props.dataImport);
58
+ asyncImportData(selectedFile, props.appDataEntity, props.dataImport, props.context);
51
59
  ibiz.notification.info({
52
60
  desc: ibiz.i18n.t("component.dataImport.startImport")
53
61
  });
54
62
  onCancelButtonClick();
55
63
  return;
56
64
  }
57
- result = await importData(selectedFile, props.appDataEntity, props.dataImport);
65
+ result = await importData(selectedFile, props.appDataEntity, props.dataImport, props.context);
58
66
  ibiz.mc.command.send({
59
67
  srfdecodename: props.appDataEntity.codeName
60
68
  }, "OBJECTCREATED");
@@ -92,6 +92,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
92
92
  "class": this.ns.b("build-btn")
93
93
  }, [this.showTypeDir ? createVNode("div", null, [createVNode(resolveComponent("el-button"), {
94
94
  "class": this.ns.b("deisgn-btn"),
95
+ "title": "\u95E8\u6237\u5B9A\u5236",
95
96
  "onClick": this.openDesign
96
97
  }, {
97
98
  default: () => [createVNode("ion-icon", {
@@ -1 +1 @@
1
- .ibiz-control-appmenu-portlet{--ibiz-control-appmenu-portlet-icon-width:20px;--ibiz-control-appmenu-portlet-margin:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-portlet-bg-color:var(--ibiz-color-bg-0);--ibiz-control-appmenu-portlet-padding:var(--ibiz-spacing-base-tight)}.ibiz-control-appmenu-portlet__content{width:100%;height:100%}.ibiz-control-appmenu-portlet-item{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;justify-content:center;width:calc(25% - var(--ibiz-control-appmenu-portlet-margin) * 2);padding:var(--ibiz-control-appmenu-portlet-padding);margin:var(--ibiz-control-appmenu-portlet-margin);cursor:pointer;background-color:var(--ibiz-control-appmenu-portlet-bg-color)}.ibiz-control-appmenu-portlet-item::before{position:absolute;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-appmenu-portlet-border-color)}.ibiz-control-appmenu-portlet-group .el-collapse-item__content{display:flex;flex-wrap:wrap}
1
+ .ibiz-control-appmenu-portlet{--ibiz-control-appmenu-portlet-icon-width:20px;--ibiz-control-appmenu-portlet-margin:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-portlet-bg-color:var(--ibiz-color-bg-0);--ibiz-control-appmenu-portlet-padding:var(--ibiz-spacing-base-tight)}.ibiz-control-appmenu-portlet__content{display:flex;flex-wrap:wrap;width:100%}.ibiz-control-appmenu-portlet-item{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;justify-content:center;width:calc(25% - var(--ibiz-control-appmenu-portlet-margin) * 2);padding:var(--ibiz-control-appmenu-portlet-padding);margin:var(--ibiz-control-appmenu-portlet-margin);cursor:pointer;background-color:var(--ibiz-control-appmenu-portlet-bg-color)}.ibiz-control-appmenu-portlet-item::before{position:absolute;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-appmenu-portlet-border-color)}.ibiz-control-appmenu-portlet-group{width:100%}.ibiz-control-appmenu-portlet-group .el-collapse-item__content{display:flex;flex-wrap:wrap}
@@ -67,6 +67,9 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
67
67
  if (!state.visible) {
68
68
  return null;
69
69
  }
70
+ if (!item.appMenuItems) {
71
+ return renderItem(item);
72
+ }
70
73
  return createVNode(resolveComponent("el-collapse-item"), {
71
74
  "class": ns.b("group"),
72
75
  "name": item.id,
@@ -36,6 +36,7 @@ export declare const DRBarControl: import("vue").DefineComponent<{
36
36
  ns: import("@ibiz-template/core").Namespace;
37
37
  handleSelect: (key: string) => void;
38
38
  renderMenuItems: (item: IDRBarItemsState) => VNode | undefined;
39
+ defaultActive: import("vue").Ref<string>;
39
40
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
41
  modelData: {
41
42
  type: PropType<IDEDRBar>;
@@ -1,6 +1,6 @@
1
- import { isVNode, reactive, resolveComponent, createVNode, defineComponent } from 'vue';
2
- import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
- import { useRouter } from 'vue-router';
1
+ import { isVNode, reactive, ref, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
3
+ import { useRouter, useRoute } from 'vue-router';
4
4
  import { DRBarController } from './drbar.controller.mjs';
5
5
  import './drbar.css';
6
6
 
@@ -55,6 +55,35 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
55
55
  const handleSelect = (key) => {
56
56
  c.handleSelectChange(key);
57
57
  };
58
+ const route = useRoute();
59
+ const defaultActive = ref("");
60
+ let expViewRoutePath = "";
61
+ if (c.routeDepth) {
62
+ expViewRoutePath = getNestedRoutePath(route, c.routeDepth);
63
+ }
64
+ watch(() => route.fullPath, (newVal, oldVal) => {
65
+ if (newVal !== oldVal) {
66
+ const depth = c.routeDepth;
67
+ if (depth) {
68
+ const currentRoutePath = getNestedRoutePath(route, c.routeDepth);
69
+ if (currentRoutePath === expViewRoutePath) {
70
+ const routePath = route2routePath(route);
71
+ const {
72
+ srfnav
73
+ } = routePath.pathNodes[depth - 1];
74
+ if (srfnav && c.state.selectedItem && c.state.selectedItem !== srfnav) {
75
+ c.handleSelectChange(srfnav);
76
+ defaultActive.value = srfnav;
77
+ } else if (srfnav === void 0 && c.state.defaultItem && c.state.selectedItem !== c.state.defaultItem) {
78
+ c.handleSelectChange(c.state.defaultItem);
79
+ defaultActive.value = "";
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }, {
85
+ immediate: true
86
+ });
58
87
  const renderMenuItems = (item) => {
59
88
  if (item.children) {
60
89
  let subtitle = "";
@@ -98,7 +127,8 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
98
127
  c,
99
128
  ns,
100
129
  handleSelect,
101
- renderMenuItems
130
+ renderMenuItems,
131
+ defaultActive
102
132
  };
103
133
  },
104
134
  render() {
@@ -115,7 +145,7 @@ const DRBarControl = /* @__PURE__ */ defineComponent({
115
145
  default: () => [isCreated && !!defaultItem && createVNode(resolveComponent("el-menu"), {
116
146
  "class": this.ns.e("menu"),
117
147
  "mode": this.showMode,
118
- "default-active": defaultItem,
148
+ "default-active": this.defaultActive || defaultItem,
119
149
  "onSelect": this.handleSelect
120
150
  }, _isSlot(_slot = drBarItems.map((item) => {
121
151
  return this.renderMenuItems(item);
@@ -34,6 +34,7 @@ export declare const IBizDRBarControl: import("@ibiz-template/vue3-util").TypeWi
34
34
  renderMenuItems: (item: import("@ibiz-template/runtime").IDRBarItemsState) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
35
  [key: string]: any;
36
36
  }> | undefined;
37
+ defaultActive: import("vue").Ref<string>;
37
38
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
38
39
  modelData: {
39
40
  type: import("vue").PropType<import("@ibiz/model-core").IDEDRBar>;
@@ -1,6 +1,7 @@
1
- import { isVNode, reactive, resolveComponent, createVNode, defineComponent } from 'vue';
2
- import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
- import { useRouter } from 'vue-router';
1
+ import { isVNode, reactive, watch, resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
3
+ import { useRouter, useRoute } from 'vue-router';
4
+ import { hasSubRoute } from '@ibiz-template/runtime';
4
5
  import { isNil } from 'ramda';
5
6
  import { DRTabController } from './drtab.controller.mjs';
6
7
  import './drtab.css';
@@ -44,6 +45,32 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
44
45
  const handleTabChange = () => {
45
46
  c.handleTabChange();
46
47
  };
48
+ const route = useRoute();
49
+ let expViewRoutePath = "";
50
+ if (c.routeDepth) {
51
+ expViewRoutePath = getNestedRoutePath(route, c.routeDepth);
52
+ }
53
+ watch(() => route.fullPath, (newVal, oldVal) => {
54
+ if (newVal !== oldVal) {
55
+ const depth = c.routeDepth;
56
+ if (depth) {
57
+ const currentRoutePath = getNestedRoutePath(route, c.routeDepth);
58
+ if (currentRoutePath === expViewRoutePath) {
59
+ const routePath = route2routePath(route);
60
+ const {
61
+ srfnav
62
+ } = routePath.pathNodes[depth - 1];
63
+ if (srfnav && c.state.activeName && c.state.activeName !== srfnav) {
64
+ c.state.activeName = srfnav;
65
+ const isRoutePushed = !!c.routeDepth && hasSubRoute(c.routeDepth);
66
+ c.handleTabChange(isRoutePushed);
67
+ }
68
+ }
69
+ }
70
+ }
71
+ }, {
72
+ immediate: true
73
+ });
47
74
  return {
48
75
  c,
49
76
  ns,
@@ -1 +1 @@
1
- .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:0}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap;border-radius:100px}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{height:100%}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{margin:var(--ibiz-spacing-base) 0;cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
1
+ .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:0}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap;border-radius:100px}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban-item+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
@@ -35,7 +35,7 @@ const IBizRaw = /* @__PURE__ */ defineComponent({
35
35
  });
36
36
  watch(() => props.value, async (newVal, oldVal) => {
37
37
  if (newVal !== oldVal) {
38
- if (typeof newVal === "string" || typeof newVal === "number") {
38
+ if (typeof newVal === "string" || typeof newVal === "number" || !newVal) {
39
39
  content.value = newVal;
40
40
  }
41
41
  if (template && newVal) {
@@ -1 +1 @@
1
- .ibiz-input{width:100%;height:100%;font-size:var(--ibiz-form-item-font-size);font-weight:var(--ibiz-form-item-regular);--ibiz-input-min-height:var(--ibiz-editor-default-line-height)}.ibiz-input__ai-chat{position:absolute;right:10px;bottom:10px;width:36px;height:36px;padding:8px;font-size:18px;color:var(--ibiz-color-primary-text);cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:15px}.ibiz-input__ai-chat:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-input .el-input .el-input__inner{height:100%}.ibiz-input .el-input .el-input__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-input .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-input .el-textarea .el-textarea__inner{height:100%}.ibiz-input .el-textarea .el-textarea__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color);word-break:break-word;white-space:pre-wrap}.ibiz-input .el-textarea .el-textarea__inner::placeholder{color:var(--ibiz-form-item-placeholder-color);word-break:break-word;white-space:pre-wrap}.ibiz-input .ibiz-input-input{height:100%}.ibiz-input .ibiz-input-input .el-input__wrapper{width:100%;min-height:var(--ibiz-input-min-height)}.ibiz-input--readonly{height:auto;line-height:var(--ibiz-input-min-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-input .el-input__suffix .ibiz-input__unit{font-style:normal}.ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default.is-textarea{padding:var(--ibiz-form-item-hover-edit-padding)}.ibiz-form-item .ibiz-input.is-show-default.is-textarea .ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default.is-textarea .ibiz-input-input{display:block}.ibiz-form-item .ibiz-input.is-show-default:hover .ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default:hover .ibiz-input-input{display:block}.ibiz-form-item .ibiz-input.is-show-default .ibiz-input-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-input.is-show-default .ibiz-input-input{display:none}.ibiz-form-item .ibiz-input.is-show-default.is-editable .ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default.is-editable .ibiz-input-input{display:block}
1
+ .ibiz-input{width:100%;height:100%;font-size:var(--ibiz-form-item-font-size);font-weight:var(--ibiz-form-item-regular);--ibiz-input-min-height:var(--ibiz-editor-default-line-height)}.ibiz-input__ai-chat{position:absolute;right:10px;bottom:10px;width:36px;height:36px;padding:8px;font-size:18px;color:var(--ibiz-color-primary-text);cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:15px}.ibiz-input__ai-chat:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-input .el-input .el-input__inner{height:100%}.ibiz-input .el-input .el-input__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-input .el-input .el-input__inner::placeholder{color:var(--ibiz-form-item-placeholder-color)}.ibiz-input .el-textarea .el-textarea__inner{height:100%}.ibiz-input .el-textarea .el-textarea__inner::-moz-placeholder{color:var(--ibiz-form-item-placeholder-color);word-break:break-word;white-space:pre-wrap}.ibiz-input .el-textarea .el-textarea__inner::placeholder{color:var(--ibiz-form-item-placeholder-color);word-break:break-word;white-space:pre-wrap}.ibiz-input .ibiz-input-input{height:100%}.ibiz-input .ibiz-input-input .el-input__wrapper{width:100%;min-height:var(--ibiz-input-min-height)}.ibiz-input--readonly{height:auto;line-height:var(--ibiz-input-min-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-input .el-input__suffix .ibiz-input__unit{font-style:normal}.ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default.is-textarea{padding:var(--ibiz-form-item-hover-edit-padding)}.ibiz-form-item .ibiz-input.is-show-default.is-textarea .ibiz-input-form-default-content{display:block}.ibiz-form-item .ibiz-input.is-show-default.is-textarea .ibiz-input-input{display:none}.ibiz-form-item .ibiz-input.is-show-default:hover .ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default:hover .ibiz-input-input{display:inline-flex}.ibiz-form-item .ibiz-input.is-show-default .ibiz-input-form-default-content{display:flex;align-items:center;width:100%;padding:var(--ibiz-form-item-hover-edit-padding);font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-input.is-show-default .ibiz-input-input{display:none;font-family:Arial,sans-serif}.ibiz-form-item .ibiz-input.is-show-default.is-editable .ibiz-input-form-default-content{display:none}.ibiz-form-item .ibiz-input.is-show-default.is-editable .ibiz-input-input{display:inline-flex}
@@ -38,6 +38,8 @@ export declare const IBizInput: import("vue").DefineComponent<{
38
38
  shouldAutoComplete: import("vue").ComputedRef<"on" | "new-password">;
39
39
  isEditable: import("vue").Ref<boolean>;
40
40
  setEditable: (flag: boolean) => void;
41
+ showLimit: import("vue").Ref<boolean>;
42
+ isAuto: import("vue").Ref<boolean>;
41
43
  showFormDefaultContent: import("vue").ComputedRef<boolean>;
42
44
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
43
45
  change: (_value: unknown, _name?: string | undefined) => boolean;
@@ -20,10 +20,20 @@ const IBizInput = /* @__PURE__ */ defineComponent({
20
20
  const editorModel = c.model;
21
21
  const isEditable = ref(false);
22
22
  const editorRef = ref();
23
+ const showLimit = ref(true);
24
+ const isAuto = ref(false);
23
25
  const rows = ref(2);
24
26
  if (editorModel.editorType === "TEXTAREA_10") {
25
27
  rows.value = 10;
26
28
  }
29
+ if (c.editorParams) {
30
+ if (c.editorParams.SHOWLIMIT === "false") {
31
+ showLimit.value = false;
32
+ }
33
+ if (c.editorParams.ISAUTO === "true") {
34
+ isAuto.value = true;
35
+ }
36
+ }
27
37
  const type = computed(() => {
28
38
  switch (editorModel.editorType) {
29
39
  case "TEXTBOX":
@@ -223,6 +233,8 @@ const IBizInput = /* @__PURE__ */ defineComponent({
223
233
  shouldAutoComplete,
224
234
  isEditable,
225
235
  setEditable,
236
+ showLimit,
237
+ isAuto,
226
238
  showFormDefaultContent
227
239
  };
228
240
  },
@@ -265,9 +277,10 @@ const IBizInput = /* @__PURE__ */ defineComponent({
265
277
  "type": this.type,
266
278
  "rows": this.rows,
267
279
  "resize": "none",
280
+ "autosize": this.isAuto,
268
281
  "maxlength": this.c.model.maxLength,
269
282
  "minlength": this.c.model.minLength,
270
- "show-word-limit": this.c.model.showMaxLength,
283
+ "show-word-limit": this.showLimit && this.c.model.showMaxLength,
271
284
  "onInput": this.handleChange,
272
285
  "onKeyup": this.handleKeyUp,
273
286
  "onBlur": this.onBlur,
@@ -1 +1 @@
1
- .ibiz-user-message{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ibiz-user-message__image{width:28px;height:28px;cursor:pointer}.ibiz-user-message__badge .el-badge__content{top:4px;right:calc(7px + var(--el-badge-size)/ 2);border-width:0}.ibiz-user-message-popover{width:500px!important;height:500px!important}.ibiz-user-message-popover.el-popover{padding-top:2px;padding-bottom:0}.ibiz-user-message-popover-content-box{position:relative;height:100%}.ibiz-user-message-popover-icons{position:absolute;top:10px;right:0}.ibiz-user-message-popover-icons .ibiz-user-message-popover-icons-read{cursor:pointer}.ibiz-user-message-popover-icons .ibiz-user-message-popover-icons-read:hover{color:var(--ibiz-color-primary)}.ibiz-user-message-popover-content{height:100%}.ibiz-user-message-popover-content>.el-tabs__content{height:calc(100% - 55px)}.ibiz-user-message-popover-content>.el-tabs__content>.el-tab-pane{height:100%;overflow:auto}.ibiz-user-message-notice{padding:var(--ibiz-spacing-tight)}.ibiz-user-message-notice .el-notification__group{margin:0}
1
+ .ibiz-user-message{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.ibiz-user-message__image{width:28px;height:28px;cursor:pointer}.ibiz-user-message__badge .el-badge__content{top:4px;right:calc(7px + var(--el-badge-size)/ 2);border-width:0}.ibiz-user-message-popover{width:500px!important;height:500px!important}.ibiz-user-message-popover.el-popover{padding-top:2px;padding-bottom:0}.ibiz-user-message-popover-content-box{position:relative;height:100%}.ibiz-user-message-popover-icons{position:absolute;top:10px;right:0}.ibiz-user-message-popover-icons .ibiz-user-message-popover-icons-read{cursor:pointer}.ibiz-user-message-popover-icons .ibiz-user-message-popover-icons-read:hover{color:var(--ibiz-color-primary)}.ibiz-user-message-popover-content{height:100%}.ibiz-user-message-popover-content>.el-tabs__content{height:calc(100% - 55px)}.ibiz-user-message-popover-content>.el-tabs__content>.el-tab-pane{height:100%;overflow:auto}.ibiz-user-message-notice{padding:var(--ibiz-spacing-tight);padding-right:var(--ibiz-spacing-base-loose)}.ibiz-user-message-notice .el-notification__group{max-width:100%;margin:0}.ibiz-user-message-notice .notice-card__content{width:calc(100% - 46px)}.ibiz-user-message-notice .notice-card__object-name{max-width:100%!important;white-space:normal!important}
@@ -85,4 +85,11 @@ export declare class AuthGuard {
85
85
  */
86
86
  initEnvironment(app: IApplication): Promise<void>;
87
87
  throw401(): void;
88
+ /**
89
+ * 根据refreshToken获取新token
90
+ * @return {*}
91
+ * @author: zhujiamin
92
+ * @Date: 2024-03-05 11:38:20
93
+ */
94
+ refreshToken(): Promise<void>;
88
95
  }
@@ -1,6 +1,7 @@
1
- import { RuntimeError, HttpError } from '@ibiz-template/core';
1
+ import { RuntimeError, HttpError, CoreConst } from '@ibiz-template/core';
2
2
  import { mergeDeepRight } from 'ramda';
3
3
  import { AppHooks } from '@ibiz-template/vue3-util';
4
+ import { getCookie, setCookie } from 'qx-util';
4
5
 
5
6
  "use strict";
6
7
  var __defProp = Object.defineProperty;
@@ -105,6 +106,7 @@ class AuthGuard {
105
106
  if (ibiz.env.isSaaSMode === true) {
106
107
  await this.loadOrgData();
107
108
  }
109
+ await this.refreshToken();
108
110
  await this.loadAppData();
109
111
  await this.initModel();
110
112
  await ibiz.auth.extendLogin();
@@ -213,6 +215,34 @@ class AuthGuard {
213
215
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
214
216
  });
215
217
  }
218
+ /**
219
+ * 根据refreshToken获取新token
220
+ * @return {*}
221
+ * @author: zhujiamin
222
+ * @Date: 2024-03-05 11:38:20
223
+ */
224
+ async refreshToken() {
225
+ const remember = getCookie(CoreConst.TOKEN_REMEMBER);
226
+ const token = getCookie(CoreConst.TOKEN);
227
+ const refreshToken = getCookie(CoreConst.REFRESH_TOKEN);
228
+ const cacheDay = remember ? 7 : 0;
229
+ if (!token && refreshToken != null && refreshToken !== "") {
230
+ const res = await ibiz.net.get("/uaa/refresh_token/".concat(refreshToken));
231
+ if (res.ok) {
232
+ setCookie(CoreConst.TOKEN, res.data.token, cacheDay, true);
233
+ const expiredDate = (/* @__PURE__ */ new Date()).getTime() + (res.data.expirein || 7199) * 1e3;
234
+ setCookie(CoreConst.TOKEN_EXPIRES, "".concat(expiredDate), cacheDay, true);
235
+ if (res.data.refresh_token) {
236
+ setCookie(
237
+ CoreConst.REFRESH_TOKEN,
238
+ res.data.refresh_token,
239
+ cacheDay,
240
+ true
241
+ );
242
+ }
243
+ }
244
+ }
245
+ }
216
246
  }
217
247
 
218
248
  export { AuthGuard };
@@ -23,6 +23,14 @@ const DataImport = /* @__PURE__ */ vue.defineComponent({
23
23
  dataImport: {
24
24
  type: Object,
25
25
  required: false
26
+ },
27
+ context: {
28
+ type: Object,
29
+ required: false
30
+ },
31
+ params: {
32
+ type: Object,
33
+ required: false
26
34
  }
27
35
  },
28
36
  setup(props) {
@@ -49,14 +57,14 @@ const DataImport = /* @__PURE__ */ vue.defineComponent({
49
57
  isLoading.value = true;
50
58
  try {
51
59
  if (ibiz.env.enableMqtt) {
52
- runtime.asyncImportData(selectedFile, props.appDataEntity, props.dataImport);
60
+ runtime.asyncImportData(selectedFile, props.appDataEntity, props.dataImport, props.context);
53
61
  ibiz.notification.info({
54
62
  desc: ibiz.i18n.t("component.dataImport.startImport")
55
63
  });
56
64
  onCancelButtonClick();
57
65
  return;
58
66
  }
59
- result = await runtime.importData(selectedFile, props.appDataEntity, props.dataImport);
67
+ result = await runtime.importData(selectedFile, props.appDataEntity, props.dataImport, props.context);
60
68
  ibiz.mc.command.send({
61
69
  srfdecodename: props.appDataEntity.codeName
62
70
  }, "OBJECTCREATED");
@@ -94,6 +94,7 @@ const CustomDashboardContainer = /* @__PURE__ */ vue.defineComponent({
94
94
  "class": this.ns.b("build-btn")
95
95
  }, [this.showTypeDir ? vue.createVNode("div", null, [vue.createVNode(vue.resolveComponent("el-button"), {
96
96
  "class": this.ns.b("deisgn-btn"),
97
+ "title": "\u95E8\u6237\u5B9A\u5236",
97
98
  "onClick": this.openDesign
98
99
  }, {
99
100
  default: () => [vue.createVNode("ion-icon", {
@@ -69,6 +69,9 @@ const AppMenuPortletControl = /* @__PURE__ */ vue.defineComponent({
69
69
  if (!state.visible) {
70
70
  return null;
71
71
  }
72
+ if (!item.appMenuItems) {
73
+ return renderItem(item);
74
+ }
72
75
  return vue.createVNode(vue.resolveComponent("el-collapse-item"), {
73
76
  "class": ns.b("group"),
74
77
  "name": item.id,
@@ -1 +1 @@
1
- .ibiz-control-appmenu-portlet{--ibiz-control-appmenu-portlet-icon-width:20px;--ibiz-control-appmenu-portlet-margin:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-portlet-bg-color:var(--ibiz-color-bg-0);--ibiz-control-appmenu-portlet-padding:var(--ibiz-spacing-base-tight)}.ibiz-control-appmenu-portlet__content{width:100%;height:100%}.ibiz-control-appmenu-portlet-item{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;justify-content:center;width:calc(25% - var(--ibiz-control-appmenu-portlet-margin) * 2);padding:var(--ibiz-control-appmenu-portlet-padding);margin:var(--ibiz-control-appmenu-portlet-margin);cursor:pointer;background-color:var(--ibiz-control-appmenu-portlet-bg-color)}.ibiz-control-appmenu-portlet-item::before{position:absolute;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-appmenu-portlet-border-color)}.ibiz-control-appmenu-portlet-group .el-collapse-item__content{display:flex;flex-wrap:wrap}
1
+ .ibiz-control-appmenu-portlet{--ibiz-control-appmenu-portlet-icon-width:20px;--ibiz-control-appmenu-portlet-margin:var(--ibiz-spacing-base-tight);--ibiz-control-appmenu-portlet-border-color:var(--ibiz-color-primary);--ibiz-control-appmenu-portlet-bg-color:var(--ibiz-color-bg-0);--ibiz-control-appmenu-portlet-padding:var(--ibiz-spacing-base-tight)}.ibiz-control-appmenu-portlet__content{display:flex;flex-wrap:wrap;width:100%}.ibiz-control-appmenu-portlet-item{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:flex-start;justify-content:center;width:calc(25% - var(--ibiz-control-appmenu-portlet-margin) * 2);padding:var(--ibiz-control-appmenu-portlet-padding);margin:var(--ibiz-control-appmenu-portlet-margin);cursor:pointer;background-color:var(--ibiz-control-appmenu-portlet-bg-color)}.ibiz-control-appmenu-portlet-item::before{position:absolute;left:0;width:4px;height:100%;content:"";background-color:var(--ibiz-control-appmenu-portlet-border-color)}.ibiz-control-appmenu-portlet-group{width:100%}.ibiz-control-appmenu-portlet-group .el-collapse-item__content{display:flex;flex-wrap:wrap}
@@ -57,6 +57,35 @@ const DRBarControl = /* @__PURE__ */ vue.defineComponent({
57
57
  const handleSelect = (key) => {
58
58
  c.handleSelectChange(key);
59
59
  };
60
+ const route = vueRouter.useRoute();
61
+ const defaultActive = vue.ref("");
62
+ let expViewRoutePath = "";
63
+ if (c.routeDepth) {
64
+ expViewRoutePath = vue3Util.getNestedRoutePath(route, c.routeDepth);
65
+ }
66
+ vue.watch(() => route.fullPath, (newVal, oldVal) => {
67
+ if (newVal !== oldVal) {
68
+ const depth = c.routeDepth;
69
+ if (depth) {
70
+ const currentRoutePath = vue3Util.getNestedRoutePath(route, c.routeDepth);
71
+ if (currentRoutePath === expViewRoutePath) {
72
+ const routePath = vue3Util.route2routePath(route);
73
+ const {
74
+ srfnav
75
+ } = routePath.pathNodes[depth - 1];
76
+ if (srfnav && c.state.selectedItem && c.state.selectedItem !== srfnav) {
77
+ c.handleSelectChange(srfnav);
78
+ defaultActive.value = srfnav;
79
+ } else if (srfnav === void 0 && c.state.defaultItem && c.state.selectedItem !== c.state.defaultItem) {
80
+ c.handleSelectChange(c.state.defaultItem);
81
+ defaultActive.value = "";
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }, {
87
+ immediate: true
88
+ });
60
89
  const renderMenuItems = (item) => {
61
90
  if (item.children) {
62
91
  let subtitle = "";
@@ -100,7 +129,8 @@ const DRBarControl = /* @__PURE__ */ vue.defineComponent({
100
129
  c,
101
130
  ns,
102
131
  handleSelect,
103
- renderMenuItems
132
+ renderMenuItems,
133
+ defaultActive
104
134
  };
105
135
  },
106
136
  render() {
@@ -117,7 +147,7 @@ const DRBarControl = /* @__PURE__ */ vue.defineComponent({
117
147
  default: () => [isCreated && !!defaultItem && vue.createVNode(vue.resolveComponent("el-menu"), {
118
148
  "class": this.ns.e("menu"),
119
149
  "mode": this.showMode,
120
- "default-active": defaultItem,
150
+ "default-active": this.defaultActive || defaultItem,
121
151
  "onSelect": this.handleSelect
122
152
  }, _isSlot(_slot = drBarItems.map((item) => {
123
153
  return this.renderMenuItems(item);
@@ -3,6 +3,7 @@
3
3
  var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var vueRouter = require('vue-router');
6
+ var runtime = require('@ibiz-template/runtime');
6
7
  var ramda = require('ramda');
7
8
  var drtab_controller = require('./drtab.controller.cjs');
8
9
  require('./drtab.css');
@@ -46,6 +47,32 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
46
47
  const handleTabChange = () => {
47
48
  c.handleTabChange();
48
49
  };
50
+ const route = vueRouter.useRoute();
51
+ let expViewRoutePath = "";
52
+ if (c.routeDepth) {
53
+ expViewRoutePath = vue3Util.getNestedRoutePath(route, c.routeDepth);
54
+ }
55
+ vue.watch(() => route.fullPath, (newVal, oldVal) => {
56
+ if (newVal !== oldVal) {
57
+ const depth = c.routeDepth;
58
+ if (depth) {
59
+ const currentRoutePath = vue3Util.getNestedRoutePath(route, c.routeDepth);
60
+ if (currentRoutePath === expViewRoutePath) {
61
+ const routePath = vue3Util.route2routePath(route);
62
+ const {
63
+ srfnav
64
+ } = routePath.pathNodes[depth - 1];
65
+ if (srfnav && c.state.activeName && c.state.activeName !== srfnav) {
66
+ c.state.activeName = srfnav;
67
+ const isRoutePushed = !!c.routeDepth && runtime.hasSubRoute(c.routeDepth);
68
+ c.handleTabChange(isRoutePushed);
69
+ }
70
+ }
71
+ }
72
+ }
73
+ }, {
74
+ immediate: true
75
+ });
49
76
  return {
50
77
  c,
51
78
  ns,
@@ -1 +1 @@
1
- .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:0}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap;border-radius:100px}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{height:100%}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{margin:var(--ibiz-spacing-base) 0;cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
1
+ .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:0}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap;border-radius:100px}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban-item+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
@@ -37,7 +37,7 @@ const IBizRaw = /* @__PURE__ */ vue.defineComponent({
37
37
  });
38
38
  vue.watch(() => props.value, async (newVal, oldVal) => {
39
39
  if (newVal !== oldVal) {
40
- if (typeof newVal === "string" || typeof newVal === "number") {
40
+ if (typeof newVal === "string" || typeof newVal === "number" || !newVal) {
41
41
  content.value = newVal;
42
42
  }
43
43
  if (template && newVal) {
@@ -22,10 +22,20 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
22
22
  const editorModel = c.model;
23
23
  const isEditable = vue.ref(false);
24
24
  const editorRef = vue.ref();
25
+ const showLimit = vue.ref(true);
26
+ const isAuto = vue.ref(false);
25
27
  const rows = vue.ref(2);
26
28
  if (editorModel.editorType === "TEXTAREA_10") {
27
29
  rows.value = 10;
28
30
  }
31
+ if (c.editorParams) {
32
+ if (c.editorParams.SHOWLIMIT === "false") {
33
+ showLimit.value = false;
34
+ }
35
+ if (c.editorParams.ISAUTO === "true") {
36
+ isAuto.value = true;
37
+ }
38
+ }
29
39
  const type = vue.computed(() => {
30
40
  switch (editorModel.editorType) {
31
41
  case "TEXTBOX":
@@ -225,6 +235,8 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
225
235
  shouldAutoComplete,
226
236
  isEditable,
227
237
  setEditable,
238
+ showLimit,
239
+ isAuto,
228
240
  showFormDefaultContent
229
241
  };
230
242
  },
@@ -267,9 +279,10 @@ const IBizInput = /* @__PURE__ */ vue.defineComponent({
267
279
  "type": this.type,
268
280
  "rows": this.rows,
269
281
  "resize": "none",
282
+ "autosize": this.isAuto,
270
283
  "maxlength": this.c.model.maxLength,
271
284
  "minlength": this.c.model.minLength,
272
- "show-word-limit": this.c.model.showMaxLength,
285
+ "show-word-limit": this.showLimit && this.c.model.showMaxLength,
273
286
  "onInput": this.handleChange,
274
287
  "onKeyup": this.handleKeyUp,
275
288
  "onBlur": this.onBlur,