@ibiz-template/vue3-components 0.7.41-alpha.7 → 0.7.41-alpha.8

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 (87) hide show
  1. package/dist/{index-4CBJktLS.js → index-CsiyXR27.js} +1 -1
  2. package/dist/index-bg15JdWL.js +4 -0
  3. package/dist/{index-QL7Ukex9.js → index-tjsobxd3.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{wang-editor-ELTZ-byh.js → wang-editor-7B_U_6_C.js} +1 -1
  7. package/dist/{xlsx-util--EbSIMDJ.js → xlsx-util-J0IypI5_.js} +1 -1
  8. package/es/control/data-view/data-view.css +1 -1
  9. package/es/control/data-view/data-view.mjs +4 -4
  10. package/es/control/drbar/drbar.controller.mjs +3 -1
  11. package/es/control/drtab/drtab.controller.mjs +3 -5
  12. package/es/control/drtab/drtab.d.ts +13 -0
  13. package/es/control/drtab/drtab.mjs +7 -1
  14. package/es/control/drtab/index.d.ts +7 -0
  15. package/es/control/kanban/kanban.css +1 -1
  16. package/es/control/kanban/kanban.d.ts +2 -2
  17. package/es/control/kanban/kanban.mjs +14 -9
  18. package/es/control/kanban/lane-kanban/lane-kanban.css +1 -0
  19. package/es/control/kanban/lane-kanban/lane-kanban.d.ts +27 -0
  20. package/es/control/kanban/lane-kanban/lane-kanban.mjs +409 -0
  21. package/es/control/toolbar/toolbar.css +1 -1
  22. package/es/control/toolbar/toolbar.mjs +232 -132
  23. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +7 -11
  24. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +13 -16
  25. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +5 -7
  26. package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +2 -2
  27. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +2 -0
  28. package/es/editor/span/span/span.d.ts +3 -3
  29. package/es/editor/span/span/span.mjs +3 -3
  30. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +2 -1
  31. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -1
  32. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +2 -2
  33. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +1 -1
  34. package/es/editor/text-box/input/input.d.ts +4 -3
  35. package/es/editor/text-box/input/input.mjs +2 -2
  36. package/es/locale/en/index.d.ts +5 -0
  37. package/es/locale/en/index.mjs +5 -0
  38. package/es/locale/zh-CN/index.d.ts +5 -0
  39. package/es/locale/zh-CN/index.mjs +5 -0
  40. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
  41. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.mjs +13 -5
  42. package/es/util/app-util/app-util.d.ts +6 -0
  43. package/es/util/app-util/app-util.mjs +8 -0
  44. package/es/view-engine/app-start-view.engine.d.ts +12 -0
  45. package/es/view-engine/app-start-view.engine.mjs +11 -0
  46. package/es/view-engine/app-welcome-view.engine.d.ts +12 -0
  47. package/es/view-engine/app-welcome-view.engine.mjs +11 -0
  48. package/es/view-engine/edit-view.engine.d.ts +11 -2
  49. package/es/view-engine/edit-view.engine.mjs +23 -8
  50. package/es/view-engine/edit-view4.engine.mjs +4 -0
  51. package/es/view-engine/index.mjs +10 -0
  52. package/es/view-engine/opt-view.engine.d.ts +11 -2
  53. package/es/view-engine/opt-view.engine.mjs +23 -8
  54. package/es/view-engine/tab-exp-view.engine.mjs +1 -0
  55. package/lib/control/data-view/data-view.cjs +4 -4
  56. package/lib/control/data-view/data-view.css +1 -1
  57. package/lib/control/drbar/drbar.controller.cjs +3 -1
  58. package/lib/control/drtab/drtab.cjs +7 -1
  59. package/lib/control/drtab/drtab.controller.cjs +3 -5
  60. package/lib/control/kanban/kanban.cjs +14 -9
  61. package/lib/control/kanban/kanban.css +1 -1
  62. package/lib/control/kanban/lane-kanban/lane-kanban.cjs +411 -0
  63. package/lib/control/kanban/lane-kanban/lane-kanban.css +1 -0
  64. package/lib/control/toolbar/toolbar.cjs +232 -132
  65. package/lib/control/toolbar/toolbar.css +1 -1
  66. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +7 -11
  67. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +13 -16
  68. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +5 -7
  69. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +2 -0
  70. package/lib/editor/span/span/span.cjs +3 -3
  71. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +2 -1
  72. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +1 -1
  73. package/lib/editor/text-box/input/input.cjs +2 -2
  74. package/lib/locale/en/index.cjs +5 -0
  75. package/lib/locale/zh-CN/index.cjs +5 -0
  76. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.cjs +13 -5
  77. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
  78. package/lib/util/app-util/app-util.cjs +8 -0
  79. package/lib/view-engine/app-start-view.engine.cjs +13 -0
  80. package/lib/view-engine/app-welcome-view.engine.cjs +13 -0
  81. package/lib/view-engine/edit-view.engine.cjs +23 -8
  82. package/lib/view-engine/edit-view4.engine.cjs +4 -0
  83. package/lib/view-engine/index.cjs +10 -0
  84. package/lib/view-engine/opt-view.engine.cjs +23 -8
  85. package/lib/view-engine/tab-exp-view.engine.cjs +1 -0
  86. package/package.json +7 -7
  87. package/dist/index-cbi1NJAY.js +0 -4
@@ -1,5 +1,6 @@
1
1
  import { ref, computed, watch, resolveComponent, mergeProps, createVNode, defineComponent } from 'vue';
2
2
  import { getStepperProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
+ import { isNilOrEmpty } from 'qx-util';
3
4
  import { toNumber } from 'lodash-es';
4
5
  import './ibiz-stepper.css';
5
6
 
@@ -75,7 +76,7 @@ const IBizStepper = /* @__PURE__ */ defineComponent({
75
76
  render() {
76
77
  let content = null;
77
78
  if (this.readonly) {
78
- content = "".concat(this.currentVal);
79
+ content = isNilOrEmpty(this.currentVal) ? "" : "".concat(this.currentVal);
79
80
  } else {
80
81
  content = [createVNode(resolveComponent("el-input-number"), mergeProps({
81
82
  "ref": "inputRef",
@@ -5,7 +5,7 @@ import { SwitchEditorController } from '../switch-editor.controller';
5
5
  *
6
6
  * @description 使用el-switch组件,表示两种相互对立的状态间的切换,多用于触发「开/关」。支持编辑器类型包含:`开关部件`
7
7
  * @primary
8
- * @editorparams {"name":"dicData","parameterType":"Array<{value: number;label: string;}>","defaultvalue":[{"value":0,"label":""},{"value":1,"label":""}],"description":"开关时文字描述。在配置的数组中,value值为0时,是 switch 关闭时的文字描述;value值为1时,是 switch 打开时的文字描述"}
8
+ * @editorparams {"name":"dicData","parameterType":"Array<{value: number;label: string;}>","defaultvalue":[{"value":0,"label":""},{"value":1,"label":""}],"description":"开关的文字描述。在配置的数组中,value值为0时,是 switch 关闭时的文字描述;value值为1时,是 switch 打开时的文字描述"}
9
9
  * @ignoreprops overflowMode
10
10
  * @ignoreemits blur | focus | enter | infoTextChange
11
11
  */
@@ -7,9 +7,9 @@ import { TextBoxEditorController } from '../text-box-editor.controller';
7
7
  * @primary
8
8
  * @editorparams {name:precision,parameterType:number,description:el-input-number组件的precision属性,设置数值精度}
9
9
  * @editorparams {name:maxvalue,parameterType:number,defaultvalue:Infinity,description:el-input-number组件的max属性,设置数值框允许的最大值}
10
- * @editorparams {name:minvalue,parameterType:number,defaultvalue:Infinity,description:el-input-number组件的min属性,设置数值框允许的最小值}
10
+ * @editorparams {name:minvalue,parameterType:number,defaultvalue:-Infinity,description:el-input-number组件的min属性,设置数值框允许的最小值}
11
11
  * @editorparams {name:enablethousands,parameterType:boolean,defaultvalue:false,description:是否启用千分位}
12
- * @editorparams {"name":"triggerMode","parameterType":"'blur' |' input'","defaultvalue":"'blur'","description":"指定编辑器触发 `emit` 事件的模式,input: 输入框值变更时触发emit,blur:输入框blur时触发blur"}
12
+ * @editorparams {"name":"triggermode","parameterType":"'blur' | 'input'","defaultvalue":"'blur'","description":"指定编辑器触发 `change` 值变更事件的模式,input: 输入框输入时触发事件,blur:输入框blur时触发事件"}
13
13
  * @ignoreprops overflowMode
14
14
  * @ignoreemits infoTextChange
15
15
  */
@@ -43,7 +43,7 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
43
43
  minimumFractionDigits: decimalPlaces,
44
44
  maximumFractionDigits: decimalPlaces
45
45
  };
46
- return num.toLocaleString("en-US", options);
46
+ return num == null ? void 0 : num.toLocaleString("en-US", options);
47
47
  };
48
48
  const convertToNumber = (str) => {
49
49
  const stringWithoutCommas = str.replace(/,/g, "");
@@ -5,12 +5,13 @@ import './input.scss';
5
5
  *
6
6
  * @description 使用el-input组件,用于数据录入,通过鼠标或键盘输入字符。支持编辑器类型包含:`文本框`、`多行输入框`、`多行输入(10行)`、`密码框`
7
7
  * @primary
8
- * @editorparams {name:SHOWLIMIT,parameterType:boolean,defaultvalue:true,description:el-input组件的show-word-limit属性,当编辑器类型为多行输入框、多行输入(10行)时生效}
9
- * @editorparams {name:ISAUTO,parameterType:boolean,defaultvalue:false,description:el-input组件的autosize属性,文本域是否自适应高度,当编辑器类型为多行输入框、多行输入(10行)时生效}
8
+ * @editorparams {name:showlimit,parameterType:boolean,defaultvalue:true,description:el-input组件的show-word-limit属性,控制文本域是否显示字数限制,当编辑器类型为多行输入框、多行输入(10行)时生效}
9
+ * @editorparams {name:isauto,parameterType:boolean,defaultvalue:false,description:el-input组件的autosize属性,控制文本域高度是否自适应,当编辑器类型为多行输入框、多行输入(10行)时生效}
10
10
  * @editorparams {name:autocomplete,parameterType:boolean,defaultvalue:false,description:el-input组件的autocomplete属性,是否允许自动填充}
11
+ * @editorparams {name:ac,parameterType:boolean,defaultvalue:false,description:是否启用ac自填模式}
11
12
  * @editorparams {name:srfaiappendcurdata,parameterType:boolean,defaultvalue:false,description:在打开AI功能时,该参数用于判断是否传入对象参数,主要用于在请求历史记录时,附加当前参数}
12
13
  * @editorparams {name:srfaiappendcurcontent,parameterType:string,description:在打开AI功能时,如果该参数存在值,会将其传入编辑内容作为用户消息,主要用于在请求历史记录后,附加当前编辑内容作为用户消息}
13
- * @editorparams {"name":"triggerMode","parameterType":"'blur' |' input'","defaultvalue":"'blur'","description":"指定编辑器触发 `emit` 事件的模式,input: 输入框值变更时触发emit,blur:输入框blur时触发blur"}
14
+ * @editorparams {"name":"triggermode","parameterType":"'blur' | 'input'","defaultvalue":"'blur'","description":"指定编辑器触发 `change` 值变更事件的模式,input: 输入框输入时触发事件,blur:输入框blur时触发事件"}
14
15
  * @ignoreprops overflowMode
15
16
  * @ignoreemits infoTextChange
16
17
  */
@@ -31,10 +31,10 @@ const IBizInput = /* @__PURE__ */ defineComponent({
31
31
  rows.value = 10;
32
32
  }
33
33
  if (c.editorParams) {
34
- if (c.editorParams.SHOWLIMIT === "false") {
34
+ if (c.editorParams.SHOWLIMIT === "false" || c.editorParams.showlimit === "false") {
35
35
  showLimit.value = false;
36
36
  }
37
- if (c.editorParams.ISAUTO === "true") {
37
+ if (c.editorParams.ISAUTO === "true" || c.editorParams.isauto === "true") {
38
38
  isAuto.value = true;
39
39
  }
40
40
  }
@@ -1164,6 +1164,11 @@ declare const _default: {
1164
1164
  hideControl: string;
1165
1165
  };
1166
1166
  kanban: {
1167
+ lane: string;
1168
+ collapsed: string;
1169
+ expand: string;
1170
+ allCollapsed: string;
1171
+ allExpand: string;
1167
1172
  selectAll: string;
1168
1173
  selectedDataCount: string;
1169
1174
  natchOperation: string;
@@ -430,6 +430,11 @@ var index = {
430
430
  hideControl: "Column selection"
431
431
  },
432
432
  kanban: {
433
+ lane: "Lane",
434
+ collapsed: "Collapsed",
435
+ expand: "Expand",
436
+ allCollapsed: "All collapsed",
437
+ allExpand: "All expand",
433
438
  selectAll: "Select all",
434
439
  selectedDataCount: "Selected <span>{length}</span> pieces of data",
435
440
  natchOperation: "Batch operation"
@@ -1159,6 +1159,11 @@ declare const _default: {
1159
1159
  hideControl: string;
1160
1160
  };
1161
1161
  kanban: {
1162
+ lane: string;
1163
+ collapsed: string;
1164
+ expand: string;
1165
+ allCollapsed: string;
1166
+ allExpand: string;
1162
1167
  selectAll: string;
1163
1168
  selectedDataCount: string;
1164
1169
  natchOperation: string;
@@ -426,6 +426,11 @@ var index = {
426
426
  hideControl: "\u5217\u9009\u62E9"
427
427
  },
428
428
  kanban: {
429
+ lane: "\u6CF3\u9053",
430
+ collapsed: "\u6298\u53E0",
431
+ expand: "\u5C55\u5F00",
432
+ allCollapsed: "\u5168\u90E8\u6536\u8D77",
433
+ allExpand: "\u5168\u90E8\u5C55\u5F00",
429
434
  selectAll: "\u5168\u9009",
430
435
  selectedDataCount: "\u5DF2\u9009\u62E9<span>{length}</span>\u6761\u6570\u636E",
431
436
  natchOperation: "\u6279\u91CF\u64CD\u4F5C"
@@ -1 +1 @@
1
- .ibiz-extend-menu-button{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-icon-width:20px;--ibiz-extend-menu-button-icon-height:20px;--ibiz-extend-menu-button-text-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-separator-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-separator-margin:var(--ibiz-spacing-tight) 0;width:100%;height:100%;padding:var(--ibiz-extend-menu-button-padding)}.ibiz-extend-menu-button__menuitem{width:100%;height:100%;font-size:var(--ibiz-extend-menu-button-font-size)}.ibiz-extend-menu-button__rawitem{width:100%;height:100%}.ibiz-extend-menu-button__rawitem .ibiz-rawitem{min-width:var(--ibiz-extend-menu-button-rawitem-min-width);font-size:initial;color:var(--ibiz-color-primary-text)}.ibiz-extend-menu-button__separator--horizontal{margin:0}.ibiz-extend-menu-button__separator--vertical{margin:0}.ibiz-extend-menu-button__icon{display:flex;align-items:center;width:var(--ibiz-extend-menu-button-icon-width);height:var(--ibiz-extend-menu-button-icon-height)}.ibiz-extend-menu-button__icon+.ibiz-extend-menu-button__caption{margin:var(--ibiz-extend-menu-button-text-margin)}.ibiz-extend-menu-button__content{display:flex;flex-wrap:nowrap;height:100%;padding:var(--ibiz-extend-menu-button-content-padding);overflow:auto}.ibiz-extend-menu-button__content--item{display:flex;align-items:center}.ibiz-extend-menu-button__content--item.is-show-arrow{position:relative}.ibiz-extend-menu-button__content--item.is-show-arrow .ibiz-extend-menu-button__menuitem::after{display:block;width:1em;height:1em;margin-left:auto;content:""}.ibiz-extend-menu-button__content--item.is-rotate-arrow svg{transform:rotate(180deg)}.ibiz-extend-menu-button__content--item-container{display:flex;align-items:center;height:100%}.ibiz-extend-menu-button__content--menuitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--rawitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--item-arrow{position:absolute;top:50%;right:15px;display:flex;align-items:center;justify-content:center;color:var(--ibiz-color-primary-text);transform:translateY(-50%)}.ibiz-extend-menu-button__content--item-arrow svg{transition:transform .3s ease}.ibiz-extend-menu-button__content.is-horizontal{align-items:center}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-horizontal-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item:first-child{margin-left:0}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-container:not(:has(.el-divider)){min-width:var(--ibiz-extend-menu-button-item-horizontal-min-width)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator{width:auto;margin:var(--ibiz-extend-menu-button-item-horizontal-separator-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-left:0}.ibiz-extend-menu-button__content.is-vertical{flex-direction:column}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-vertical-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item:first-child{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator{margin:var(--ibiz-extend-menu-button-item-vertical-separator-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__menuitem{justify-content:flex-start}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__rawitem{justify-content:flex-start}.ibiz-extend-menu-button__content .el-button{--ibiz-color-primary-hover:var(--ibiz-extend-menu-button-active-bg-color);--ibiz-color-primary-hover-text:var(--ibiz-extend-menu-button-active-color);--ibiz-color-primary-active:var(--ibiz-extend-menu-button-hover-bg-color);--ibiz-color-primary-active-text:var(--ibiz-extend-menu-button-hover-color)}.ibiz-extend-menu-button__content .el-button:focus{background-color:var(--ibiz-color-primary-active)}.ibiz-extend-menu-button__content .el-button:hover{background-color:var(--ibiz-color-primary-hover)}.ibiz-extend-menu-button.is-vertical{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-tight) 0}.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-cascader-popover{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-icon-width:20px;--ibiz-extend-menu-button-icon-height:20px;--ibiz-extend-menu-button-text-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-separator-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-separator-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-shadow-elevated)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-color-scroll-menu)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-icon-width:20px;--ibiz-extend-menu-button-icon-height:20px;--ibiz-extend-menu-button-text-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-separator-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-separator-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-shadow-elevated)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-color-scroll-menu)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-arrow{transform:translateY(-50%) rotate(90deg)}.ibiz-extend-menu-button-placehold{--ibiz-extend-menu-button-placehold-z-index:3;position:fixed;z-index:var(--ibiz-extend-menu-button-placehold-z-index);display:flex;align-items:center;justify-content:center;cursor:pointer}.ibiz-extend-menu-button-placehold__line{position:absolute}.ibiz-extend-menu-button-placehold__arrow{color:var(--ibiz-color-text-2)}.ibiz-extend-menu-button-placehold.is-left .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right .ibiz-extend-menu-button-placehold__line{top:0;right:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right svg{transform:rotate(180deg)}.ibiz-extend-menu-button-placehold.is-top .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-top svg{transform:rotate(90deg)}.ibiz-extend-menu-button-placehold.is-bottom .ibiz-extend-menu-button-placehold__line{bottom:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-bottom svg{transform:rotate(-90deg)}
1
+ .ibiz-extend-menu-button{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-icon-width:20px;--ibiz-extend-menu-button-icon-height:20px;--ibiz-extend-menu-button-text-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-separator-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-separator-margin:var(--ibiz-spacing-tight) 0;width:100%;height:100%;padding:var(--ibiz-extend-menu-button-padding)}.ibiz-extend-menu-button__menuitem{width:100%;height:100%;font-size:var(--ibiz-extend-menu-button-font-size)}.ibiz-extend-menu-button__rawitem{width:100%;height:100%}.ibiz-extend-menu-button__rawitem .ibiz-rawitem{min-width:var(--ibiz-extend-menu-button-rawitem-min-width);font-size:initial;color:var(--ibiz-color-primary-text)}.ibiz-extend-menu-button__separator--horizontal{margin:0}.ibiz-extend-menu-button__separator--vertical{margin:0}.ibiz-extend-menu-button__icon{display:flex;align-items:center;width:var(--ibiz-extend-menu-button-icon-width);height:var(--ibiz-extend-menu-button-icon-height)}.ibiz-extend-menu-button__icon+.ibiz-extend-menu-button__caption{margin:var(--ibiz-extend-menu-button-text-margin)}.ibiz-extend-menu-button__content{display:flex;flex-wrap:nowrap;height:100%;padding:var(--ibiz-extend-menu-button-content-padding);overflow:auto}.ibiz-extend-menu-button__content--item{display:flex;align-items:center}.ibiz-extend-menu-button__content--item.is-show-arrow{position:relative}.ibiz-extend-menu-button__content--item.is-show-arrow .ibiz-extend-menu-button__menuitem::after{display:block;width:1em;height:1em;margin-left:auto;content:""}.ibiz-extend-menu-button__content--item.is-rotate-arrow svg{transform:rotate(180deg)}.ibiz-extend-menu-button__content--item-container{display:flex;align-items:center;height:100%}.ibiz-extend-menu-button__content--menuitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--rawitem{height:var(--ibiz-extend-menu-button-item-height)}.ibiz-extend-menu-button__content--item-arrow{position:absolute;top:50%;right:15px;display:flex;align-items:center;justify-content:center;color:var(--ibiz-color-primary-text);transform:translateY(-50%)}.ibiz-extend-menu-button__content--item-arrow svg{transition:transform .3s ease}.ibiz-extend-menu-button__content.is-horizontal{align-items:center}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-horizontal-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item:first-child{margin-left:0}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-container:not(:has(.el-divider)){min-width:var(--ibiz-extend-menu-button-item-horizontal-min-width)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator{width:auto;margin:var(--ibiz-extend-menu-button-item-horizontal-separator-margin)}.ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-left:0}.ibiz-extend-menu-button__content.is-vertical{flex-direction:column}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item{margin:var(--ibiz-extend-menu-button-item-vertical-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--item:first-child{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator{margin:var(--ibiz-extend-menu-button-item-vertical-separator-margin)}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__content--seperator+.ibiz-extend-menu-button__content--item{margin-top:0}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__menuitem{justify-content:flex-start}.ibiz-extend-menu-button__content.is-vertical .ibiz-extend-menu-button__rawitem{justify-content:flex-start}.ibiz-extend-menu-button__content .el-button{--ibiz-color-primary-hover:var(--ibiz-extend-menu-button-active-bg-color);--ibiz-color-primary-hover-text:var(--ibiz-extend-menu-button-active-color);--ibiz-color-primary-active:var(--ibiz-extend-menu-button-hover-bg-color);--ibiz-color-primary-active-text:var(--ibiz-extend-menu-button-hover-color)}.ibiz-extend-menu-button__content .el-button:focus{background-color:var(--ibiz-color-primary-active)}.ibiz-extend-menu-button__content .el-button:hover{background-color:var(--ibiz-color-primary-hover)}.ibiz-extend-menu-button.is-vertical{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-tight) 0}.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button.is-vertical .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-cascader-popover{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-icon-width:20px;--ibiz-extend-menu-button-icon-height:20px;--ibiz-extend-menu-button-text-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-separator-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-separator-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-shadow-elevated)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-color-primary-hover)}.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-cascader-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover{--ibiz-extend-menu-button-padding:var(--ibiz-spacing-extra-tight) 0;--ibiz-extend-menu-button-font-size:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-rawitem-min-width:var(--ibiz-font-size-header-6);--ibiz-extend-menu-button-icon-width:20px;--ibiz-extend-menu-button-icon-height:20px;--ibiz-extend-menu-button-text-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-content-padding:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-hover-color:var(--ibiz-color-primary-hover-text);--ibiz-extend-menu-button-hover-bg-color:var(--ibiz-color-primary-hover);--ibiz-extend-menu-button-active-color:var(--ibiz-color-primary-active-text);--ibiz-extend-menu-button-active-bg-color:var(--ibiz-color-primary-active);--ibiz-extend-menu-button-item-height:42px;--ibiz-extend-menu-button-item-horizontal-min-width:200px;--ibiz-extend-menu-button-item-horizontal-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-item-horizontal-separator-margin:0 var(--ibiz-spacing-tight);--ibiz-extend-menu-button-item-vertical-margin:var(--ibiz-spacing-extra-tight) 0 0 0;--ibiz-extend-menu-button-item-vertical-separator-margin:var(--ibiz-spacing-tight) 0;--ibiz-extend-menu-button-popover-padding:var(--ibiz-spacing-super-tight) var(--ibiz-spacing-extra-tight);--ibiz-extend-menu-button-popover-min-width:200px;--ibiz-extend-menu-button-popover-z-index:3;--ibiz-extend-menu-button-popover-background:var(--ibiz-color-primary);--ibiz-extend-menu-button-content-padding:0;--ibiz-extend-menu-button-item-vertical-margin:0;z-index:var(--ibiz-extend-menu-button-popover-z-index);width:auto;padding:var(--ibiz-extend-menu-button-popover-padding);background-color:var(--ibiz-extend-menu-button-popover-background);box-shadow:var(--ibiz-shadow-elevated)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content{min-width:var(--ibiz-extend-menu-button-popover-min-width)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__separator--horizontal{border-color:var(--ibiz-color-primary-hover)}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item,.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content--item-container{width:100%}.ibiz-extend-menu-button-border-popover .ibiz-extend-menu-button__content.is-horizontal .ibiz-extend-menu-button__content--item-arrow{transform:translateY(-50%) rotate(90deg)}.ibiz-extend-menu-button-placehold{--ibiz-extend-menu-button-placehold-z-index:3;position:fixed;z-index:var(--ibiz-extend-menu-button-placehold-z-index);display:flex;align-items:center;justify-content:center;cursor:pointer}.ibiz-extend-menu-button-placehold__line{position:absolute}.ibiz-extend-menu-button-placehold__arrow{color:var(--ibiz-color-text-2)}.ibiz-extend-menu-button-placehold.is-left .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right .ibiz-extend-menu-button-placehold__line{top:0;right:0;width:1px;height:100%}.ibiz-extend-menu-button-placehold.is-right svg{transform:rotate(180deg)}.ibiz-extend-menu-button-placehold.is-top .ibiz-extend-menu-button-placehold__line{top:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-top svg{transform:rotate(90deg)}.ibiz-extend-menu-button-placehold.is-bottom .ibiz-extend-menu-button-placehold__line{bottom:0;left:0;width:100%;height:1px}.ibiz-extend-menu-button-placehold.is-bottom svg{transform:rotate(-90deg)}
@@ -103,9 +103,9 @@ function renderMenuContent(_params) {
103
103
  "onMouseenter": (_e) => handleMenuItemMouseEnter(menu, _e),
104
104
  "onMouseleave": (_e) => handleMenuItemMouseLeave(menu, _e),
105
105
  "onClick": (_e) => handleMenuItemClick(menu, _e)
106
- }, [menuItem]), createVNode("span", {
106
+ }, [menuItem]), isShowArrow && createVNode("span", {
107
107
  "class": ns.em("content", "item-arrow")
108
- }, [isShowArrow && rightArrow()])]);
108
+ }, [rightArrow()])]);
109
109
  })
110
110
  });
111
111
  }
@@ -171,8 +171,8 @@ const ExtendButtonMenu = /* @__PURE__ */ defineComponent({
171
171
  handleMenuItemClick,
172
172
  handleMenuItemMouseEnter,
173
173
  handleMenuItemMouseLeave,
174
- isLayout: isLayout.value,
175
- showCascaderArrow: true
174
+ showCascaderArrow: true,
175
+ isLayout: false
176
176
  });
177
177
  };
178
178
  const {
@@ -215,7 +215,15 @@ const ExtendButtonMenu = /* @__PURE__ */ defineComponent({
215
215
  "ref": "buttonMenuRef",
216
216
  "class": [this.ns.b(), this.ns.is(this.layoutMode.toLowerCase(), !!this.layoutMode), this.ns.is(this.position.toLowerCase(), !!this.position), this.ns.is(this.menuAlign, !!this.menuAlign)]
217
217
  }, [this.layoutMode !== "BORDER" && renderMenuContent({
218
- ...this
218
+ ns: this.ns,
219
+ menuAlign: this.menuAlign,
220
+ isLayout: this.isLayout,
221
+ position: this.position,
222
+ menus: this.menus,
223
+ menuItemsState: this.menuItemsState,
224
+ handleMenuItemClick: this.handleMenuItemClick,
225
+ handleMenuItemMouseEnter: this.handleMenuItemMouseEnter,
226
+ handleMenuItemMouseLeave: this.handleMenuItemMouseLeave
219
227
  })]);
220
228
  }
221
229
  });
@@ -10,6 +10,12 @@ export declare class AppUtil implements IAppUtil {
10
10
  * @param {Router} router
11
11
  */
12
12
  constructor(router: Router);
13
+ /**
14
+ * @description 路由是否初始化构建完成
15
+ * @returns {*} {Promise<void>}
16
+ * @memberof AppUtil
17
+ */
18
+ onRouteIsReady(): Promise<void>;
13
19
  /**
14
20
  * 登录
15
21
  *
@@ -15,6 +15,14 @@ class AppUtil {
15
15
  constructor(router) {
16
16
  this.router = router;
17
17
  }
18
+ /**
19
+ * @description 路由是否初始化构建完成
20
+ * @returns {*} {Promise<void>}
21
+ * @memberof AppUtil
22
+ */
23
+ async onRouteIsReady() {
24
+ return this.router.isReady();
25
+ }
18
26
  /**
19
27
  * 登录
20
28
  *
@@ -0,0 +1,12 @@
1
+ import { IViewEvent, IViewState, ViewController, ViewEngineBase } from '@ibiz-template/runtime';
2
+ import { IAppView } from '@ibiz/model-core';
3
+ /**
4
+ * @description 应用启动视图引擎
5
+ * @export
6
+ * @class AppStartViewEngine
7
+ * @extends {ViewEngineBase}
8
+ */
9
+ export declare class AppStartViewEngine extends ViewEngineBase {
10
+ protected view: ViewController<IAppView, IViewState, IViewEvent>;
11
+ onCreated(): Promise<void>;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { ViewEngineBase } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ class AppStartViewEngine extends ViewEngineBase {
5
+ async onCreated() {
6
+ await super.onCreated();
7
+ ibiz.util.hiddenAppLoading();
8
+ }
9
+ }
10
+
11
+ export { AppStartViewEngine };
@@ -0,0 +1,12 @@
1
+ import { IViewEvent, IViewState, ViewController, ViewEngineBase } from '@ibiz-template/runtime';
2
+ import { IAppView } from '@ibiz/model-core';
3
+ /**
4
+ * @description 应用欢迎视图引擎
5
+ * @export
6
+ * @class AppStartViewEngine
7
+ * @extends {ViewEngineBase}
8
+ */
9
+ export declare class AppWelcomeViewEngine extends ViewEngineBase {
10
+ protected view: ViewController<IAppView, IViewState, IViewEvent>;
11
+ onCreated(): Promise<void>;
12
+ }
@@ -0,0 +1,11 @@
1
+ import { ViewEngineBase } from '@ibiz-template/runtime';
2
+
3
+ "use strict";
4
+ class AppWelcomeViewEngine extends ViewEngineBase {
5
+ async onCreated() {
6
+ await super.onCreated();
7
+ ibiz.util.hiddenAppLoading();
8
+ }
9
+ }
10
+
11
+ export { AppWelcomeViewEngine };
@@ -16,13 +16,22 @@ export declare class EditViewEngine extends DEMainViewEngine {
16
16
  get form(): IEditFormController;
17
17
  protected init(): void;
18
18
  /**
19
- * 模态事件钩子
19
+ * @description 模态关闭前执行钩子
20
+ * @param {{ allowNext?: boolean }} context
21
+ * @returns {*} {Promise<void>}
22
+ * @memberof EditViewEngine
23
+ */
24
+ modalPreDismissHook(context: {
25
+ allowNext?: boolean;
26
+ }): Promise<void>;
27
+ /**
28
+ * 模态计算是否关闭钩子
20
29
  *
21
30
  * @param {{ allowClose?: boolean }} context
22
31
  * @return {*} {Promise<void>}
23
32
  * @memberof EditViewEngine
24
33
  */
25
- modalEventHook(context: {
34
+ modalShouldDismissHook(context: {
26
35
  allowClose?: boolean;
27
36
  }): Promise<void>;
28
37
  onCreated(): Promise<void>;
@@ -28,17 +28,29 @@ class EditViewEngine extends DEMainViewEngine {
28
28
  }
29
29
  }
30
30
  /**
31
- * 模态事件钩子
31
+ * @description 模态关闭前执行钩子
32
+ * @param {{ allowNext?: boolean }} context
33
+ * @returns {*} {Promise<void>}
34
+ * @memberof EditViewEngine
35
+ */
36
+ async modalPreDismissHook(context) {
37
+ try {
38
+ if (this.form && this.form.state.modified && this.form.model.enableAutoSave) {
39
+ await this.form.immediateAutoSave();
40
+ }
41
+ } catch (error) {
42
+ context.allowNext = false;
43
+ }
44
+ }
45
+ /**
46
+ * 模态计算是否关闭钩子
32
47
  *
33
48
  * @param {{ allowClose?: boolean }} context
34
49
  * @return {*} {Promise<void>}
35
50
  * @memberof EditViewEngine
36
51
  */
37
- async modalEventHook(context) {
52
+ async modalShouldDismissHook(context) {
38
53
  var _a, _b;
39
- if (this.form && this.form.state.modified && this.form.model.enableAutoSave) {
40
- await this.form.immediateAutoSave();
41
- }
42
54
  const srfSessionid = this.view.context.srfsessionid;
43
55
  const uiDomain = ibiz.uiDomainManager.get(srfSessionid);
44
56
  let isChange = this.view.model.enableDirtyChecking === true;
@@ -63,7 +75,8 @@ class EditViewEngine extends DEMainViewEngine {
63
75
  }
64
76
  async onCreated() {
65
77
  await super.onCreated();
66
- this.modalEventHook = this.modalEventHook.bind(this);
78
+ this.modalPreDismissHook = this.modalPreDismissHook.bind(this);
79
+ this.modalShouldDismissHook = this.modalShouldDismissHook.bind(this);
67
80
  this.formDataStateChange = this.formDataStateChange.bind(this);
68
81
  const { childNames, modal } = this.view;
69
82
  childNames.push("form");
@@ -75,7 +88,8 @@ class EditViewEngine extends DEMainViewEngine {
75
88
  this.view.slotProps.toolbar = {};
76
89
  }
77
90
  this.view.slotProps.toolbar.manualCalcButtonState = true;
78
- modal.hooks.shouldDismiss.tapPromise(this.modalEventHook);
91
+ modal.hooks.preDismiss.tapPromise(this.modalPreDismissHook);
92
+ modal.hooks.shouldDismiss.tapPromise(this.modalShouldDismissHook);
79
93
  }
80
94
  /**
81
95
  * @description 监控form事件
@@ -500,7 +514,8 @@ class EditViewEngine extends DEMainViewEngine {
500
514
  async onDestroyed() {
501
515
  super.onDestroyed();
502
516
  const { modal } = this.view;
503
- modal.hooks.shouldDismiss.removeTapPromise(this.modalEventHook);
517
+ modal.hooks.preDismiss.removeTapPromise(this.modalPreDismissHook);
518
+ modal.hooks.shouldDismiss.removeTapPromise(this.modalShouldDismissHook);
504
519
  }
505
520
  }
506
521
 
@@ -6,6 +6,10 @@ class EditView4Engine extends EditViewEngine {
6
6
  await super.onCreated();
7
7
  const { childNames } = this.view;
8
8
  childNames.push("drtab");
9
+ if (!this.view.slotProps.drtab) {
10
+ this.view.slotProps.drtab = {};
11
+ }
12
+ this.view.slotProps.drtab.hideEditItem = true;
9
13
  }
10
14
  /**
11
15
  * 数据分页栏
@@ -47,6 +47,8 @@ import { SubAppRefViewEngine } from './sub-app-ref-view.engine.mjs';
47
47
  import { TabSearchViewEngine } from './tab-search-view.engine.mjs';
48
48
  import { AppDataUploadViewEngine } from './app-data-upload-view.engine.mjs';
49
49
  import { WFStepDataViewEngine } from './wf-step-data-view.engine.mjs';
50
+ import { AppStartViewEngine } from './app-start-view.engine.mjs';
51
+ import { AppWelcomeViewEngine } from './app-welcome-view.engine.mjs';
50
52
  export { ExpViewEngine } from './exp-view.engine.mjs';
51
53
 
52
54
  "use strict";
@@ -252,6 +254,14 @@ const IBizViewEngine = {
252
254
  "VIEW_APPDATAUPLOADVIEW",
253
255
  (c) => new AppDataUploadViewEngine(c)
254
256
  );
257
+ ibiz.engine.register(
258
+ "VIEW_APPSTARTVIEW",
259
+ (c) => new AppStartViewEngine(c)
260
+ );
261
+ ibiz.engine.register(
262
+ "VIEW_APPWELCOMEVIEW",
263
+ (c) => new AppWelcomeViewEngine(c)
264
+ );
255
265
  ibiz.engine.register(
256
266
  "VIEW_GridView9",
257
267
  (c) => new GridViewEngine(c)
@@ -40,14 +40,23 @@ export declare class OptViewEngine extends ViewEngineBase {
40
40
  */
41
41
  onDestroyed(): Promise<void>;
42
42
  /**
43
- * 模态事件钩子
43
+ * @description 模态关闭前执行钩子
44
+ * @param {{ allowNext?: boolean }} context
45
+ * @returns {*} {Promise<void>}
46
+ * @memberof OptViewEngine
47
+ */
48
+ modalPreDismissHook(context: {
49
+ allowNext?: boolean;
50
+ }): Promise<void>;
51
+ /**
52
+ * 模态计算是否关闭钩子
44
53
  *
45
54
  * @author tony001
46
55
  * @date 2024-09-14 15:09:59
47
56
  * @param {{ allowClose?: boolean }} context
48
57
  * @return {*} {Promise<void>}
49
58
  */
50
- modalEventHook(context: {
59
+ modalShouldDismissHook(context: {
51
60
  allowClose?: boolean;
52
61
  }): Promise<void>;
53
62
  /**
@@ -40,7 +40,8 @@ class OptViewEngine extends ViewEngineBase {
40
40
  */
41
41
  async onCreated() {
42
42
  await super.onCreated();
43
- this.modalEventHook = this.modalEventHook.bind(this);
43
+ this.modalPreDismissHook = this.modalPreDismissHook.bind(this);
44
+ this.modalShouldDismissHook = this.modalShouldDismissHook.bind(this);
44
45
  const { childNames, modal } = this.view;
45
46
  childNames.push("form");
46
47
  if (!this.view.slotProps.form) {
@@ -51,7 +52,8 @@ class OptViewEngine extends ViewEngineBase {
51
52
  this.view.slotProps.toolbar = {};
52
53
  }
53
54
  this.view.slotProps.toolbar.manualCalcButtonState = true;
54
- modal.hooks.shouldDismiss.tapPromise(this.modalEventHook);
55
+ modal.hooks.preDismiss.tapPromise(this.modalPreDismissHook);
56
+ modal.hooks.shouldDismiss.tapPromise(this.modalShouldDismissHook);
55
57
  }
56
58
  /**
57
59
  * 视图mounted生命周期执行逻辑
@@ -118,21 +120,34 @@ class OptViewEngine extends ViewEngineBase {
118
120
  async onDestroyed() {
119
121
  super.onDestroyed();
120
122
  const { modal } = this.view;
121
- modal.hooks.shouldDismiss.removeTapPromise(this.modalEventHook);
123
+ modal.hooks.preDismiss.removeTapPromise(this.modalPreDismissHook);
124
+ modal.hooks.shouldDismiss.removeTapPromise(this.modalShouldDismissHook);
122
125
  }
123
126
  /**
124
- * 模态事件钩子
127
+ * @description 模态关闭前执行钩子
128
+ * @param {{ allowNext?: boolean }} context
129
+ * @returns {*} {Promise<void>}
130
+ * @memberof OptViewEngine
131
+ */
132
+ async modalPreDismissHook(context) {
133
+ try {
134
+ if (this.form && this.form.state.modified && this.form.model.enableAutoSave) {
135
+ await this.form.immediateAutoSave();
136
+ }
137
+ } catch (error) {
138
+ context.allowNext = false;
139
+ }
140
+ }
141
+ /**
142
+ * 模态计算是否关闭钩子
125
143
  *
126
144
  * @author tony001
127
145
  * @date 2024-09-14 15:09:59
128
146
  * @param {{ allowClose?: boolean }} context
129
147
  * @return {*} {Promise<void>}
130
148
  */
131
- async modalEventHook(context) {
149
+ async modalShouldDismissHook(context) {
132
150
  var _a, _b;
133
- if (this.form && this.form.state.modified && this.form.model.enableAutoSave) {
134
- await this.form.immediateAutoSave();
135
- }
136
151
  const srfSessionid = this.view.context.srfsessionid;
137
152
  const uiDomain = ibiz.uiDomainManager.get(srfSessionid);
138
153
  let isChange = this.view.model.enableDirtyChecking === true;
@@ -32,6 +32,7 @@ class TabExpViewEngine extends ViewEngineBase {
32
32
  (item) => item.id === "srfdefaultnav"
33
33
  )) == null ? void 0 : _a.value;
34
34
  this.view.slotProps.tabexppanel.defaultTabName = this.view.state.srfnav || srfdefaultnav;
35
+ this.view.slotProps.tabexppanel.hideEditItem = true;
35
36
  }
36
37
  /**
37
38
  * 分页导航视图刷新
@@ -181,15 +181,15 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
181
181
  }, null);
182
182
  };
183
183
  const renderItemAction = (item) => {
184
- var _a;
185
184
  return vue.createVNode(vue.resolveComponent("iBizActionToolbar"), {
186
185
  "class": ns.bem("item-content", "bottom", "actions"),
187
- "action-details": (_a = c.getOptItemModel().deuiactionGroup) == null ? void 0 : _a.uiactionGroupDetails,
188
- "actions-state": c.getOptItemAction(item),
186
+ "action-details": c.getOptItemModel(),
187
+ "actions-state": c.state.uaState[item.srfkey],
189
188
  "onActionClick": (detail, event) => c.onActionClick(detail, item, event)
190
189
  }, null);
191
190
  };
192
191
  const renderDefaultItem = (item) => {
192
+ const actionModel = c.getOptItemModel();
193
193
  return vue.createVNode("div", {
194
194
  "class": ns.b("item-content")
195
195
  }, [vue.createVNode("div", {
@@ -198,7 +198,7 @@ const DataViewControl = /* @__PURE__ */ vue.defineComponent({
198
198
  "class": ns.bem("item-content", "top", "title")
199
199
  }, [item.srfmajortext]), vue.createVNode("div", {
200
200
  "class": ns.bem("item-content", "top", "description")
201
- }, [item.content])]), c.getOptItemModel() ? vue.createVNode("div", {
201
+ }, [item.content])]), actionModel.length ? vue.createVNode("div", {
202
202
  "class": ns.be("item-content", "bottom")
203
203
  }, [renderItemAction(item)]) : null]);
204
204
  };
@@ -1 +1 @@
1
- .ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;--ibiz-control-dataview-item-bg-color:transparent;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-dataview__nav-icon{position:absolute;top:20px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-dataview__content{flex-grow:1;height:100%;overflow:auto;padding:var(--ibiz-control-dataview-padding)}.ibiz-control-dataview__pagination{flex-shrink:0}.ibiz-control-dataview__load-more{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview__layout-row{padding:var(--ibiz-spacing-tight)}.ibiz-control-dataview__layout-col{padding:0 var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base-tight) 0}.ibiz-control-dataview__layout-flex{display:flex;flex-wrap:wrap;overflow:auto;align-content:flex-start}.ibiz-control-dataview__layout-flex>*{margin:calc(var(--ibiz-spacing-base-tight)/ 2)}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;--ibiz-control-dataview-item-bg-color:transparent;cursor:pointer;color:var(--ibiz-control-dataview-text-color);background-color:var(--ibiz-control-dataview-item-bg-color)}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item__content{width:100%;height:100%;display:flex;align-items:center}.ibiz-control-dataview-item__content--checkbox{flex-shrink:0;margin-right:var(--ibiz-spacing-tight)!important}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;--ibiz-control-dataview-item-bg-color:transparent}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{--ibiz-control-dataview-group-item-header-bg-color:transparent;--ibiz-control-dataview-group-item-header-padding:var(--ibiz-spacing-base-tight);--ibiz-control-dataview-group-item-header-border-color:var(--ibiz-color-border);--ibiz-control-dataview-group-item-caption-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-group-item-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-control-dataview-group-item-caption-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-dataview-group-item-content-bg-color:transparent;--ibiz-control-dataview-group-item-content-padding:var(--ibiz-spacing-tight);width:100%}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}.ibiz-control-dataview-group-content__item.is-collapse .ibiz-control-dataview-group-content__item-content{height:0;overflow:hidden}.ibiz-control-dataview-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ibiz-control-dataview-group-item-header-padding);border-bottom:1px solid var(--ibiz-control-dataview-group-item-header-border-color)}.ibiz-control-dataview-group-content__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-control-dataview-group-item-caption-font-size);font-weight:var(--ibiz-control-dataview-group-item-caption-font-weight);color:var(--ibiz-control-dataview-group-item-caption-text-color)}
1
+ .ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;--ibiz-control-dataview-item-bg-color:transparent;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-dataview__nav-icon{position:absolute;top:20px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-dataview__content{flex-grow:1;height:100%;padding:var(--ibiz-control-dataview-padding);overflow:auto}.ibiz-control-dataview__pagination{flex-shrink:0}.ibiz-control-dataview__load-more{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview__layout-row{padding:var(--ibiz-spacing-tight)}.ibiz-control-dataview__layout-col{padding:0 var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base-tight) 0}.ibiz-control-dataview__layout-flex{display:flex;flex-wrap:wrap;align-content:flex-start;overflow:auto}.ibiz-control-dataview__layout-flex>*{margin:calc(var(--ibiz-spacing-base-tight)/ 2)}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;--ibiz-control-dataview-item-bg-color:transparent;color:var(--ibiz-control-dataview-text-color);cursor:pointer;background-color:var(--ibiz-control-dataview-item-bg-color)}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item__content{display:flex;align-items:center;width:100%;height:100%}.ibiz-control-dataview-item__content--checkbox{flex-shrink:0;margin-right:var(--ibiz-spacing-tight)!important}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;--ibiz-control-dataview-item-bg-color:transparent}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight);border-top:1px solid var(--ibiz-color-border)}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{--ibiz-control-dataview-group-item-header-bg-color:transparent;--ibiz-control-dataview-group-item-header-padding:var(--ibiz-spacing-base-tight);--ibiz-control-dataview-group-item-header-border-color:var(--ibiz-color-border);--ibiz-control-dataview-group-item-caption-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-group-item-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-control-dataview-group-item-caption-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-dataview-group-item-content-bg-color:transparent;--ibiz-control-dataview-group-item-content-padding:var(--ibiz-spacing-tight);width:100%}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}.ibiz-control-dataview-group-content__item.is-collapse .ibiz-control-dataview-group-content__item-content{height:0;overflow:hidden}.ibiz-control-dataview-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ibiz-control-dataview-group-item-header-padding);border-bottom:1px solid var(--ibiz-control-dataview-group-item-header-border-color)}.ibiz-control-dataview-group-content__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-control-dataview-group-item-caption-font-size);font-weight:var(--ibiz-control-dataview-group-item-caption-font-weight);color:var(--ibiz-control-dataview-group-item-caption-text-color)}
@@ -106,6 +106,7 @@ class DRBarController extends runtime.ControlController {
106
106
  super.initState();
107
107
  this.state.drBarItems = [];
108
108
  this.state.srfnav = "";
109
+ this.state.selectedItem = "";
109
110
  this.state.hideEditItem = !!this.model.hideEditItem;
110
111
  }
111
112
  /**
@@ -383,6 +384,7 @@ class DRBarController extends runtime.ControlController {
383
384
  });
384
385
  }
385
386
  }
387
+ this.state.selectedItem = drBarItems[0].tag;
386
388
  this.state.drBarItems = drBarItems;
387
389
  }
388
390
  /**
@@ -402,7 +404,7 @@ class DRBarController extends runtime.ControlController {
402
404
  this.openNavPosView(drBarItem, isRoutePushed);
403
405
  } else {
404
406
  this.setVisible("form");
405
- if (this.routeDepth) {
407
+ if (this.routeDepth && this.state.drBarItems.length) {
406
408
  this.router.push(this.state.drBarItems[0].fullPath);
407
409
  }
408
410
  }