@ibiz-template/mob-vue3-components 0.7.41-alpha.23 → 0.7.41-alpha.24

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 (70) hide show
  1. package/dist/index-HQsqnjtM.js +2 -0
  2. package/dist/index-HQsqnjtM.js.map +1 -0
  3. package/dist/index.min.css +9 -9
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/{quill-CeDXLpcJ.js → quill-CSDnV3Pb.js} +2 -2
  6. package/dist/{quill-CeDXLpcJ.js.map → quill-CSDnV3Pb.js.map} +1 -1
  7. package/dist/quill-editor-B7NuxNK7.js +2 -0
  8. package/dist/{quill-editor-C5mEMG93.js.map → quill-editor-B7NuxNK7.js.map} +1 -1
  9. package/dist/quill-editor-preview-CtFf0ZKt.js +2 -0
  10. package/dist/{quill-editor-preview-BPS9uMa7.js.map → quill-editor-preview-CtFf0ZKt.js.map} +1 -1
  11. package/dist/tree-on8cJom4.js +2 -0
  12. package/dist/{tree-SAqvldtV.js.map → tree-on8cJom4.js.map} +1 -1
  13. package/dist/{xlsx-util-b5CesqYd.js → xlsx-util-DRvvWEVq.js} +2 -2
  14. package/dist/{xlsx-util-b5CesqYd.js.map → xlsx-util-DRvvWEVq.js.map} +1 -1
  15. package/es/common/fullscreen-header/fullscreen-header.css +1 -1
  16. package/es/control/app-menu/app-menu.mjs +2 -2
  17. package/es/control/app-menu/custom-menu-design/custom-menu-design.css +1 -1
  18. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +30 -86
  19. package/es/control/app-menu/custom-menu-design/menu-design-list/menu-design-list.css +1 -0
  20. package/es/control/app-menu/custom-menu-design/menu-design-list/menu-design-list.mjs +105 -0
  21. package/es/control/app-menu/custom-menu-design/menu-design-tree/menu-design-tree.css +1 -0
  22. package/es/control/app-menu/custom-menu-design/menu-design-tree/menu-design-tree.mjs +124 -0
  23. package/es/control/app-menu/menu-render-util.mjs +4 -1
  24. package/es/control/form/form-detail/form-button/form-button.mjs +3 -3
  25. package/es/control/toolbar/float-toolbar/float-toolbar.mjs +6 -1
  26. package/es/control/toolbar/toolbar-group-list/toolbar-group-list.css +1 -1
  27. package/es/control/toolbar/toolbar-group-list/toolbar-group-list.mjs +26 -12
  28. package/es/control/toolbar/toolbar-render-util.mjs +68 -17
  29. package/es/control/toolbar/toolbar.css +1 -1
  30. package/es/control/toolbar/toolbar.mjs +3 -0
  31. package/es/editor/html/quill-editor-preview/quill-editor-preview.css +1 -1
  32. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.css +1 -1
  33. package/es/mob-app/guard/auth-guard/dyna-auth-guard.mjs +1 -1
  34. package/es/util/button-util/button-util.mjs +2 -2
  35. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  36. package/es/util/list-util/list-render-util.mjs +2 -2
  37. package/es/view/download-view/download-view.mjs +4 -1
  38. package/es/view/login-view/login-view.mjs +1 -0
  39. package/es/view-engine/index-view.engine.mjs +0 -4
  40. package/lib/common/fullscreen-header/fullscreen-header.css +1 -1
  41. package/lib/control/app-menu/app-menu.cjs +1 -1
  42. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +29 -85
  43. package/lib/control/app-menu/custom-menu-design/custom-menu-design.css +1 -1
  44. package/lib/control/app-menu/custom-menu-design/menu-design-list/menu-design-list.cjs +107 -0
  45. package/lib/control/app-menu/custom-menu-design/menu-design-list/menu-design-list.css +1 -0
  46. package/lib/control/app-menu/custom-menu-design/menu-design-tree/menu-design-tree.cjs +126 -0
  47. package/lib/control/app-menu/custom-menu-design/menu-design-tree/menu-design-tree.css +1 -0
  48. package/lib/control/app-menu/menu-render-util.cjs +4 -1
  49. package/lib/control/form/form-detail/form-button/form-button.cjs +3 -3
  50. package/lib/control/toolbar/float-toolbar/float-toolbar.cjs +6 -1
  51. package/lib/control/toolbar/toolbar-group-list/toolbar-group-list.cjs +25 -11
  52. package/lib/control/toolbar/toolbar-group-list/toolbar-group-list.css +1 -1
  53. package/lib/control/toolbar/toolbar-render-util.cjs +66 -15
  54. package/lib/control/toolbar/toolbar.cjs +3 -0
  55. package/lib/control/toolbar/toolbar.css +1 -1
  56. package/lib/editor/html/quill-editor-preview/quill-editor-preview.css +1 -1
  57. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.css +1 -1
  58. package/lib/mob-app/guard/auth-guard/dyna-auth-guard.cjs +1 -1
  59. package/lib/util/button-util/button-util.cjs +2 -2
  60. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  61. package/lib/util/list-util/list-render-util.cjs +2 -2
  62. package/lib/view/download-view/download-view.cjs +3 -0
  63. package/lib/view/login-view/login-view.cjs +1 -0
  64. package/lib/view-engine/index-view.engine.cjs +0 -4
  65. package/package.json +5 -5
  66. package/dist/index-Cxv8dJIk.js +0 -2
  67. package/dist/index-Cxv8dJIk.js.map +0 -1
  68. package/dist/quill-editor-C5mEMG93.js +0 -2
  69. package/dist/quill-editor-preview-BPS9uMa7.js +0 -2
  70. package/dist/tree-SAqvldtV.js +0 -2
@@ -0,0 +1,126 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var core = require('@ibiz-template/core');
6
+ var menuRenderUtil = require('../../menu-render-util.cjs');
7
+ require('./menu-design-tree.css');
8
+
9
+ "use strict";
10
+ const MenuDesignTree = /* @__PURE__ */ vue.defineComponent({
11
+ name: "IBizMenuDesignTree",
12
+ props: {
13
+ curVisibleMenuItems: {
14
+ type: Array,
15
+ required: true
16
+ },
17
+ allVisibleMenuItems: {
18
+ type: Array,
19
+ required: true
20
+ },
21
+ appMenuStyle: {
22
+ type: String
23
+ }
24
+ },
25
+ emits: {
26
+ curVisibleMenuChange: (_menuItems) => true
27
+ },
28
+ setup(props, {
29
+ emit
30
+ }) {
31
+ const ns = vue3Util.useNamespace("menu-design-tree");
32
+ const menuMap = vue.ref(/* @__PURE__ */ new Map());
33
+ const allMenuMap = /* @__PURE__ */ new Map();
34
+ const initData = () => {
35
+ core.recursiveIterate({
36
+ appMenuItems: props.curVisibleMenuItems
37
+ }, (item) => {
38
+ if (item.id) {
39
+ menuMap.value.set(item.id, item);
40
+ }
41
+ }, {
42
+ childrenFields: ["appMenuItems"]
43
+ });
44
+ core.recursiveIterate({
45
+ appMenuItems: props.allVisibleMenuItems
46
+ }, (item) => {
47
+ if (item.id) {
48
+ allMenuMap.set(item.id, item);
49
+ }
50
+ }, {
51
+ childrenFields: ["appMenuItems"]
52
+ });
53
+ };
54
+ initData();
55
+ vue.onUnmounted(() => {
56
+ menuMap.value.clear();
57
+ allMenuMap.clear();
58
+ });
59
+ const getItemIcon = (item, isGroup) => {
60
+ if (item.sysImage)
61
+ return item.sysImage;
62
+ switch (props.appMenuStyle) {
63
+ case "ICONVIEW":
64
+ return !isGroup ? menuRenderUtil.getDefaultIconVal() : void 0;
65
+ case "LISTVIEW":
66
+ return;
67
+ default:
68
+ return menuRenderUtil.getDefaultIconVal();
69
+ }
70
+ };
71
+ const handleItemClick = (item, checked) => {
72
+ if (!item.id)
73
+ return;
74
+ if (checked) {
75
+ menuMap.value.delete(item.id);
76
+ } else {
77
+ menuMap.value.set(item.id, item);
78
+ }
79
+ emit("curVisibleMenuChange", Array.from(menuMap.value.values()).map((_menu) => {
80
+ return allMenuMap.get(_menu.id);
81
+ }).filter((_menu) => !!_menu));
82
+ };
83
+ const renderNodeItem = (_item, _level, isGroup) => {
84
+ const marginLeft = "calc(".concat(_level, " * var(").concat(ns.cssVarBlockName("spacing-node-item-margin-left"), "))");
85
+ let checked = menuMap.value.has(_item.id || "");
86
+ return vue.createVNode("div", {
87
+ "class": [ns.e("item"), ns.is("group-item", !!isGroup)],
88
+ "style": {
89
+ marginLeft
90
+ },
91
+ "onClick": () => handleItemClick(_item, checked)
92
+ }, [vue.createVNode(vue.resolveComponent("iBizIcon"), {
93
+ "class": ns.em("item", "icon"),
94
+ "icon": getItemIcon(_item, isGroup)
95
+ }, null), vue.createVNode("div", {
96
+ "class": ns.em("item", "caption")
97
+ }, [_item.caption]), vue.createVNode(vue.resolveComponent("van-checkbox"), {
98
+ "modelValue": checked,
99
+ "onUpdate:modelValue": ($event) => checked = $event,
100
+ "class": ns.em("item", "checkbox")
101
+ }, null)]);
102
+ };
103
+ const renderNode = (_item, _level) => {
104
+ var _a;
105
+ if (_item.appMenuItems && _item.appMenuItems.length > 0) {
106
+ return [renderNodeItem(_item, _level, true), ...(_a = _item.appMenuItems) == null ? void 0 : _a.map((item) => {
107
+ return renderNode(item, _level + 1);
108
+ })];
109
+ }
110
+ return renderNodeItem(_item, _level);
111
+ };
112
+ return {
113
+ ns,
114
+ renderNode
115
+ };
116
+ },
117
+ render() {
118
+ return vue.createVNode("div", {
119
+ "class": this.ns.b()
120
+ }, [vue.createVNode("div", {
121
+ "class": this.ns.e("wrapper")
122
+ }, [this.allVisibleMenuItems.map((item) => this.renderNode(item, 0))])]);
123
+ }
124
+ });
125
+
126
+ exports.MenuDesignTree = MenuDesignTree;
@@ -0,0 +1 @@
1
+ .ibiz-menu-design-tree{--ibiz-menu-design-tree-color-item-bg:var(--ibiz-color-bg-0);--ibiz-menu-design-tree-height-item:var(--ibiz-height-control-large);--ibiz-menu-design-tree-spacing-item-padding:0 var(--ibiz-spacing-base);--ibiz-menu-design-tree-spacing-item-margin:var(--ibiz-spacing-tight) 0;--ibiz-menu-design-tree-spacing-item-caption-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-menu-design-tree-spacing-item-checkbox-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-menu-design-tree-spacing-node-item-margin-left:1.25rem;--ibiz-menu-design-tree-radius-item-circle:var(--ibiz-border-radius-medium);--ibiz-menu-design-tree-font-item-font-size:var(--ibiz-font-size-header-6);--ibiz-menu-design-tree-icon-item-size:var(--ibiz-font-size-header-6)}.ibiz-menu-design-tree__item{display:flex;align-items:center;height:var(--ibiz-menu-design-tree-height-item);padding:var(--ibiz-menu-design-tree-spacing-item-padding);margin:var(--ibiz-menu-design-tree-spacing-item-margin);font-size:var(--ibiz-menu-design-tree-font-item-font-size);line-height:var(--ibiz-menu-design-tree-height-item);background-color:var(--ibiz-menu-design-tree-color-item-bg);border-radius:var(--ibiz-menu-design-tree-radius-item-circle)}.ibiz-menu-design-tree__item--icon{display:flex;align-items:center;width:var(--ibiz-menu-design-tree-icon-item-size)}.ibiz-menu-design-tree__item--icon+.ibiz-menu-design-tree__item--caption{margin:var(--ibiz-menu-design-tree-spacing-item-caption-margin)}.ibiz-menu-design-tree__item--caption{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-menu-design-tree__item--checkbox{padding:var(--ibiz-menu-design-tree-spacing-item-checkbox-margin);margin-left:auto}.ibiz-menu-design-tree .ibiz-menu-design-tree__item{position:relative}.ibiz-menu-design-tree .ibiz-menu-design-tree__item::after{position:absolute;top:0;left:0;display:block;width:100%;height:100%;content:""}
@@ -10,11 +10,14 @@ function getDefaultIconVal() {
10
10
  };
11
11
  }
12
12
  function useMenuRender(c) {
13
+ const isDefaultMenu = !c.model.appMenuStyle;
14
+ const showMode = isDefaultMenu ? "LIST" : "TREE";
13
15
  const onCustomizedClick = async () => {
14
16
  await ibiz.overlay.drawer((modal) => {
15
17
  return vue.h(customMenuDesign.MenuDesign, {
16
18
  modal,
17
- controller: c
19
+ controller: c,
20
+ showMode
18
21
  });
19
22
  }, {}, {
20
23
  width: 100,
@@ -59,12 +59,12 @@ const FormButton = /* @__PURE__ */ vue.defineComponent({
59
59
  }, {
60
60
  default: () => [vue.createVNode("div", {
61
61
  "class": this.ns.b("content")
62
- }, [vue.createVNode(vue.resolveComponent("iBizIcon"), {
62
+ }, [this.modelData.sysImage ? vue.createVNode(vue.resolveComponent("iBizIcon"), {
63
63
  "class": this.ns.bm("content", "icon"),
64
64
  "icon": this.modelData.sysImage
65
- }, null), vue.createVNode("span", {
65
+ }, null) : null, this.modelData.showCaption ? vue.createVNode("span", {
66
66
  "class": this.ns.bm("content", "caption")
67
- }, [this.modelData.showCaption ? this.captionText : null])])]
67
+ }, [this.captionText]) : null])]
68
68
  })]);
69
69
  }
70
70
  });
@@ -20,6 +20,10 @@ const FloatToolbar = /* @__PURE__ */ vue.defineComponent({
20
20
  type: Object,
21
21
  required: true
22
22
  },
23
+ groupShowMode: {
24
+ type: String,
25
+ required: true
26
+ },
23
27
  counterData: {
24
28
  type: Object
25
29
  },
@@ -49,7 +53,8 @@ const FloatToolbar = /* @__PURE__ */ vue.defineComponent({
49
53
  } = toolbarRenderUtil.useToolbarGroupModalHandler({
50
54
  modal: props.modal,
51
55
  counterData: props.counterData,
52
- buttonsState: props.buttonsState
56
+ buttonsState: props.buttonsState,
57
+ groupShowMode: props.groupShowMode
53
58
  });
54
59
  const handleFloatToolbarClose = () => {
55
60
  var _a;
@@ -20,6 +20,10 @@ const ToolbarGroupList = /* @__PURE__ */ vue.defineComponent({
20
20
  type: Object,
21
21
  required: true
22
22
  },
23
+ groupShowMode: {
24
+ type: String,
25
+ required: true
26
+ },
23
27
  counterData: {
24
28
  type: Object
25
29
  },
@@ -31,47 +35,57 @@ const ToolbarGroupList = /* @__PURE__ */ vue.defineComponent({
31
35
  setup(props) {
32
36
  const ns = vue3Util.useNamespace("toolbar-group-list");
33
37
  const {
34
- btnType,
35
38
  renderToolbarItemContent
36
39
  } = toolbarRenderUtil.useToolBarItemRender(ns, {
37
40
  counterData: props.counterData
38
41
  });
39
42
  const {
40
- handleItemClick
43
+ handleItemClick,
44
+ handleModalClose
41
45
  } = toolbarRenderUtil.useToolbarGroupModalHandler({
42
46
  modal: props.modal,
43
47
  counterData: props.counterData,
44
- buttonsState: props.buttonsState
48
+ buttonsState: props.buttonsState,
49
+ groupShowMode: props.groupShowMode,
50
+ direction: "horizontal"
45
51
  });
46
52
  return {
47
53
  ns,
48
54
  handleItemClick,
49
- btnType,
55
+ handleModalClose,
50
56
  renderToolbarItemContent
51
57
  };
52
58
  },
53
59
  render() {
54
- var _a;
60
+ var _a, _b;
55
61
  return vue.createVNode("div", {
56
- "class": [this.ns.b()]
57
- }, [vue.createVNode("div", {
62
+ "class": [this.ns.b(), this.ns.is((_a = this.groupShowMode) == null ? void 0 : _a.toLocaleLowerCase(), true)]
63
+ }, [this.groupShowMode === "DEFAULT" ? vue.createVNode("div", {
64
+ "class": this.ns.e("modal"),
65
+ "onClick": this.handleModalClose
66
+ }, null) : null, vue.createVNode("div", {
58
67
  "class": this.ns.e("wrapper")
59
- }, [(_a = this.groupItems) == null ? void 0 : _a.map((_item) => {
68
+ }, [(_b = this.groupItems) == null ? void 0 : _b.map((_item) => {
60
69
  var _a2;
61
70
  const itemId = _item.id;
62
71
  const visible = (_a2 = this.buttonsState[itemId]) == null ? void 0 : _a2.visible;
63
72
  let disabled = this.buttonsState[itemId].disabled;
64
73
  const toolbarItem = _item;
65
- if (toolbarItem.itemType === "ITEMS")
74
+ const isGroup = toolbarItem.itemType === "ITEMS";
75
+ if (isGroup)
66
76
  disabled = false;
67
77
  if (!visible)
68
78
  return;
69
79
  return vue.createVNode("div", {
70
- "class": [this.ns.e("item"), this.ns.is("disabled", disabled)],
80
+ "class": [this.ns.e("item"), this.ns.is("disabled", disabled), this.ns.is("group-item", isGroup)],
71
81
  "onClick": (_e) => !disabled && this.handleItemClick(_item, _e, this.isGroupExtractMode)
72
82
  }, [vue.createVNode("div", {
73
83
  "class": this.ns.em("item", "wrapper")
74
- }, [this.renderToolbarItemContent(_item)])]);
84
+ }, [this.renderToolbarItemContent(_item), isGroup ? vue.createVNode("div", {
85
+ "class": this.ns.e("item-arrow")
86
+ }, [vue.createVNode(vue.resolveComponent("van-icon"), {
87
+ "name": "arrow"
88
+ }, null)]) : null])]);
75
89
  })])]);
76
90
  }
77
91
  });
@@ -1 +1 @@
1
- .ibiz-toolbar-group-list{--ibiz-toolbar-group-list-color-item-disabled-text:var(--ibiz-control-toolbar-color-disabled-text);--ibiz-toolbar-group-list-height-max-height:calc(100vh - var(--ibiz-height-control-large));--ibiz-toolbar-group-list-height-item-wrapper-min-height:var(--ibiz-height-control-default);--ibiz-toolbar-group-list-spacing-padding:var(--ibiz-spacing-tight) 0;--ibiz-toolbar-group-list-spacing-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-toolbar-group-list-spacing-item-label-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-toolbar-group-list-font-item-font-size:var(--ibiz-spacing-base);display:flex;flex-direction:column;max-height:var(--ibiz-toolbar-group-list-height-max-height);padding:var(--ibiz-toolbar-group-list-spacing-padding)}.ibiz-toolbar-group-list__wrapper{height:100%;overflow-y:auto}.ibiz-toolbar-group-list__item{padding:var(--ibiz-toolbar-group-list-spacing-item-padding);font-size:var(--ibiz-toolbar-group-list-font-item-font-size)}.ibiz-toolbar-group-list__item--wrapper{display:flex;align-items:center;min-height:var(--ibiz-toolbar-group-list-height-item-wrapper-min-height)}.ibiz-toolbar-group-list__item--wrapper .ibiz-toolbar-group-list-item{--ibiz-info-item-spacing-label-margin:var(--ibiz-toolbar-group-list-spacing-item-label-margin)}.ibiz-toolbar-group-list__item--wrapper .ibiz-toolbar-group-list-item:not(:has(.ibiz-icon))::before{display:inline-block;width:var(--ibiz-info-item-icon-size);height:var(--ibiz-info-item-icon-size);margin:var(--ibiz-info-item-spacing-label-margin);content:""}.ibiz-toolbar-group-list__item.is-disabled{color:var(--ibiz-toolbar-group-list-color-item-disabled-text);pointer-events:none}
1
+ .ibiz-toolbar-group-list{--ibiz-toolbar-group-list-color-item-disabled-text:var(--ibiz-control-toolbar-color-disabled-text);--ibiz-toolbar-group-list-height-max-height:calc(100vh - var(--ibiz-height-control-large));--ibiz-toolbar-group-list-height-item:3rem;--ibiz-toolbar-group-list-height-modal:100vh;--ibiz-toolbar-group-list-width-modal:100vw;--ibiz-toolbar-group-list-width-item-arrow:calc(var(--ibiz-spacing-base) + var(--ibiz-toolbar-group-list-font-item-arrow-font-size));--ibiz-toolbar-group-list-spacing-padding:var(--ibiz-spacing-tight) 0;--ibiz-toolbar-group-list-spacing-default-padding:0;--ibiz-toolbar-group-list-spacing-group-item-wrapper-padding:0 1.2em 0 0;--ibiz-toolbar-group-list-spacing-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-toolbar-group-list-spacing-item-label-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-toolbar-group-list-spacing-default-item-label-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-toolbar-group-list-font-item-font-size:var(--ibiz-spacing-base);--ibiz-toolbar-group-list-font-item-arrow-font-size:1.1em;display:flex;flex-direction:column;max-height:var(--ibiz-toolbar-group-list-height-max-height);padding:var(--ibiz-toolbar-group-list-spacing-padding)}.ibiz-toolbar-group-list__wrapper{height:100%;width:100%;overflow:hidden auto}.ibiz-toolbar-group-list__item{display:flex;align-items:center;justify-content:start;position:relative;height:var(--ibiz-toolbar-group-list-height-item);padding:var(--ibiz-toolbar-group-list-spacing-item-padding);font-size:var(--ibiz-toolbar-group-list-font-item-font-size);width:100%}.ibiz-toolbar-group-list__item--wrapper{display:flex;align-items:center;width:100%}.ibiz-toolbar-group-list__item--wrapper .ibiz-toolbar-group-list-item{width:100%;--ibiz-info-item-spacing-label-margin:var(--ibiz-toolbar-group-list-spacing-item-label-margin)}.ibiz-toolbar-group-list__item--wrapper .ibiz-toolbar-group-list-item:not(:has(.ibiz-icon))::before{display:inline-block;width:var(--ibiz-info-item-icon-size);height:var(--ibiz-info-item-icon-size);margin:var(--ibiz-info-item-spacing-label-margin);content:"";flex-shrink:0}.ibiz-toolbar-group-list__item--wrapper .ibiz-toolbar-group-list-item .ibiz-info-item__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-toolbar-group-list__item.is-disabled{color:var(--ibiz-toolbar-group-list-color-item-disabled-text);pointer-events:none}.ibiz-toolbar-group-list__item.is-group-item--wrapper{padding:var(--ibiz-toolbar-group-list-spacing-group-item-wrapper-padding)}.ibiz-toolbar-group-list__item-arrow{display:flex;align-items:center;justify-content:start;position:absolute;right:0;top:0;font-size:var(--ibiz-toolbar-group-list-font-item-arrow-font-size);height:100%;width:var(--ibiz-toolbar-group-list-width-item-arrow)}.ibiz-toolbar-group-list__modal{position:fixed;top:0;left:0;z-index:1;width:var(--ibiz-toolbar-group-list-width-modal);height:var(--ibiz-toolbar-group-list-height-modal)}.ibiz-toolbar-group-list.is-default{--ibiz-toolbar-group-list-spacing-padding:var(--ibiz-toolbar-group-list-spacing-default-padding);--ibiz-toolbar-group-list-spacing-item-label-margin:var(--ibiz-toolbar-group-list-spacing-default-item-label-margin)}.ibiz-toolbar-group-list.is-default .ibiz-toolbar-group-list__wrapper{position:relative;z-index:2}
@@ -63,8 +63,23 @@ function useToolbarGroupModalHandler(opts) {
63
63
  buttonsState,
64
64
  modal,
65
65
  counterData,
66
+ groupShowMode,
67
+ direction = "vertical",
66
68
  modalCloseCallback
67
69
  } = opts;
70
+ let groupModalOverlay;
71
+ const handleCurOverlayClose = () => {
72
+ groupModalOverlay == null ? void 0 : groupModalOverlay.dismiss();
73
+ };
74
+ const handleModalClose = () => {
75
+ handleCurOverlayClose();
76
+ modal == null ? void 0 : modal.dismiss({
77
+ ok: false,
78
+ params: {
79
+ isModalAllClose: true
80
+ }
81
+ });
82
+ };
68
83
  const getGroupItems = (item, isGroupExtractMode) => {
69
84
  var _a;
70
85
  let items = item.detoolbarItems;
@@ -83,6 +98,7 @@ function useToolbarGroupModalHandler(opts) {
83
98
  return items || [];
84
99
  };
85
100
  const handleActionItemClick = (item, event, isGroupExtractMode) => {
101
+ handleCurOverlayClose();
86
102
  modal == null ? void 0 : modal.dismiss({
87
103
  ok: true,
88
104
  data: [{
@@ -92,18 +108,38 @@ function useToolbarGroupModalHandler(opts) {
92
108
  }]
93
109
  });
94
110
  };
95
- let groupModalOverlay;
96
- const handleGroupItemClick = async (_item, _event, _isGroupExtractMode = false) => {
97
- var _a;
98
- const groupItems = getGroupItems(_item, _isGroupExtractMode);
99
- if (!groupItems.length)
100
- return;
101
- groupModalOverlay = ibiz.overlay.createDrawer((_modal) => {
111
+ const openPopover = (_event, _groupItems, _isGroupExtractMode) => {
112
+ const placement = buttonUtil.calcPopoverPlacement(ns, _event.currentTarget, _groupItems.length, direction, {
113
+ width: "150px",
114
+ // 3rem为弹框内分组每项的高度
115
+ height: "3rem"
116
+ });
117
+ const overlay = ibiz.overlay.createPopover((_modal) => {
118
+ return vue.h(toolbarGroupList.ToolbarGroupList, {
119
+ modal: _modal,
120
+ groupItems: _groupItems,
121
+ counterData,
122
+ buttonsState,
123
+ groupShowMode,
124
+ isGroupExtractMode: _isGroupExtractMode
125
+ });
126
+ }, {}, {
127
+ width: 150,
128
+ height: "auto",
129
+ modalClass: "".concat(ns.b("popover")),
130
+ placement
131
+ });
132
+ overlay.present(_event.currentTarget);
133
+ return overlay;
134
+ };
135
+ const openDrawer = (_groupItems, _isGroupExtractMode) => {
136
+ const overlay = ibiz.overlay.createDrawer((_modal) => {
102
137
  return vue.h(toolbarGroupList.ToolbarGroupList, {
103
138
  modal: _modal,
104
- groupItems,
139
+ groupItems: _groupItems,
105
140
  counterData,
106
141
  buttonsState,
142
+ groupShowMode,
107
143
  isGroupExtractMode: _isGroupExtractMode
108
144
  });
109
145
  }, {}, {
@@ -111,14 +147,27 @@ function useToolbarGroupModalHandler(opts) {
111
147
  height: "auto",
112
148
  attrs: {
113
149
  position: "bottom",
114
- overlayClass: "".concat(ns.b()),
150
+ overlayClass: "".concat(ns.b("drawer")),
115
151
  closeable: false,
116
152
  round: true
117
153
  }
118
154
  });
119
- groupModalOverlay.present();
155
+ overlay.present();
156
+ return overlay;
157
+ };
158
+ const handleGroupItemClick = async (_item, _event, _isGroupExtractMode = false) => {
159
+ var _a, _b;
160
+ handleCurOverlayClose();
161
+ const groupItems = getGroupItems(_item, _isGroupExtractMode);
162
+ if (!groupItems.length)
163
+ return;
164
+ groupModalOverlay = groupShowMode === "ACTIONSHEET" ? openDrawer(groupItems, _isGroupExtractMode) : openPopover(_event, groupItems, _isGroupExtractMode);
120
165
  const res = await groupModalOverlay.onWillDismiss();
121
- const item = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a[0];
166
+ if ((_a = res == null ? void 0 : res.params) == null ? void 0 : _a.isModalAllClose) {
167
+ handleModalClose();
168
+ return;
169
+ }
170
+ const item = (_b = res == null ? void 0 : res.data) == null ? void 0 : _b[0];
122
171
  if (item) {
123
172
  const {
124
173
  action,
@@ -138,12 +187,13 @@ function useToolbarGroupModalHandler(opts) {
138
187
  handleActionItemClick(item, event, isGroupExtractMode);
139
188
  }
140
189
  };
141
- vue.onBeforeMount(() => {
142
- groupModalOverlay == null ? void 0 : groupModalOverlay.dismiss();
190
+ vue.onBeforeUnmount(() => {
191
+ handleCurOverlayClose();
143
192
  });
144
193
  return {
145
194
  handleItemClick,
146
- handleGroupItemClick
195
+ handleGroupItemClick,
196
+ handleModalClose
147
197
  };
148
198
  }
149
199
  function useCustomToolBarRender(ns, props, c, modalCloseCallback) {
@@ -193,6 +243,7 @@ function useCustomToolBarRender(ns, props, c, modalCloseCallback) {
193
243
  counterData: c.state.counterData,
194
244
  placement: c.placement,
195
245
  direction: c.direction,
246
+ groupShowMode: c.groupShowMode,
196
247
  immediateFloat
197
248
  });
198
249
  };
@@ -225,7 +276,7 @@ function useCustomToolBarRender(ns, props, c, modalCloseCallback) {
225
276
  handleDismiss(res);
226
277
  floatToolbarOverlay.value = void 0;
227
278
  };
228
- vue.onBeforeMount(() => {
279
+ vue.onBeforeUnmount(() => {
229
280
  floatToolbarOverlay.value = void 0;
230
281
  });
231
282
  const renderFloatButton = () => {
@@ -87,6 +87,7 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
87
87
  } = toolbarRenderUtil.useToolbarGroupModalHandler({
88
88
  buttonsState: c.state.buttonsState,
89
89
  counterData: c.state.counterData,
90
+ groupShowMode: c.groupShowMode,
90
91
  modalCloseCallback: handleClick.bind(this)
91
92
  });
92
93
  const {
@@ -247,6 +248,8 @@ const ToolbarControl = /* @__PURE__ */ vue.defineComponent({
247
248
  const {
248
249
  state
249
250
  } = this.c;
251
+ if (!state.isCreated)
252
+ return null;
250
253
  if (this.position === "popper") {
251
254
  let _slot4;
252
255
  return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
@@ -1 +1 @@
1
- .ibiz-control-toolbar{--ibiz-control-toolbar-width-icon-min-width:1em;--ibiz-control-toolbar-height-bottom-item:var(--ibiz-height-control-large);--ibiz-control-toolbar-color-disabled-text:var(--ibiz-color-disabled-text);--ibiz-control-toolbar-color-disabled-bg:var(--ibiz-color-disabled-bg);--ibiz-control-toolbar-spacing-gap:var(--ibiz-spacing-tight);--ibiz-control-toolbar-spacing-badge-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-spacing-bottom-padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-font-fontSize:var(--ibiz-font-size-regular);--ibiz-control-toolbar-font-left-fontSize:var(--ibiz-font-size-header-6);--ibiz-control-toolbar-font-right-fontSize:var(--ibiz-font-size-header-6);display:flex;flex-wrap:wrap;gap:var(--ibiz-control-toolbar-spacing-gap);height:100%}.ibiz-control-toolbar__item{display:flex;align-items:center}.ibiz-control-toolbar__group{display:flex;align-items:center}.ibiz-control-toolbar__group-itemx{display:flex;align-items:center}.ibiz-control-toolbar__group-itemx .van-button:nth-child(1){border-right-color:transparent;border-top-right-radius:0;border-bottom-right-radius:0}.ibiz-control-toolbar__group-itemx .van-button:nth-child(2){border-top-left-radius:0;border-bottom-left-radius:0}.ibiz-control-toolbar .van-button__text{display:flex;align-items:center}.ibiz-control-toolbar .ibiz-control-toolbar-item{--ibiz-info-item-spacing-badge-margin:var(--ibiz-control-toolbar-spacing-badge-margin);font-size:var(--ibiz-control-toolbar-font-fontSize);white-space:nowrap}.ibiz-control-toolbar .ibiz-control-toolbar-item:not(:has(svg,img)) .ibiz-icon{width:auto;min-width:var(--ibiz-control-toolbar-width-icon-min-width)}.ibiz-control-toolbar-left .van-button{border:none}.ibiz-control-toolbar-left .ibiz-control-toolbar-item{font-size:var(--ibiz-control-toolbar-font-left-fontSize)}.ibiz-control-toolbar-right{justify-content:flex-end}.ibiz-control-toolbar-right .van-button{border:none}.ibiz-control-toolbar-right .ibiz-control-toolbar-item{font-size:var(--ibiz-control-toolbar-font-right-fontSize)}.ibiz-control-toolbar-bottom{display:flex;padding:var(--ibiz-control-toolbar-spacing-bottom-padding)}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item{flex:1}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item:nth-child(1){margin-left:0}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item .van-button{width:100%;height:var(--ibiz-control-toolbar-height-bottom-item)}.ibiz-toolbar-group-list{--ibiz-control-toolbar-width-icon-min-width:1em;--ibiz-control-toolbar-height-bottom-item:var(--ibiz-height-control-large);--ibiz-control-toolbar-color-disabled-text:var(--ibiz-color-disabled-text);--ibiz-control-toolbar-color-disabled-bg:var(--ibiz-color-disabled-bg);--ibiz-control-toolbar-spacing-gap:var(--ibiz-spacing-tight);--ibiz-control-toolbar-spacing-badge-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-spacing-bottom-padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-font-fontSize:var(--ibiz-font-size-regular);--ibiz-control-toolbar-font-left-fontSize:var(--ibiz-font-size-header-6);--ibiz-control-toolbar-font-right-fontSize:var(--ibiz-font-size-header-6)}.ibiz-control-toolbar-float-toolbar-modal.ibiz-popover{background-color:unset;border:none;box-shadow:unset}
1
+ .ibiz-control-toolbar{--ibiz-control-toolbar-width-icon-min-width:1em;--ibiz-control-toolbar-height-bottom-item:var(--ibiz-height-control-large);--ibiz-control-toolbar-color-disabled-text:var(--ibiz-color-disabled-text);--ibiz-control-toolbar-color-disabled-bg:var(--ibiz-color-disabled-bg);--ibiz-control-toolbar-spacing-gap:var(--ibiz-spacing-tight);--ibiz-control-toolbar-spacing-badge-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-spacing-bottom-padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-font-fontSize:var(--ibiz-font-size-regular);--ibiz-control-toolbar-font-left-fontSize:var(--ibiz-font-size-header-6);--ibiz-control-toolbar-font-right-fontSize:var(--ibiz-font-size-header-6);display:flex;flex-wrap:wrap;gap:var(--ibiz-control-toolbar-spacing-gap);height:100%}.ibiz-control-toolbar__item{display:flex;align-items:center}.ibiz-control-toolbar__group{display:flex;align-items:center}.ibiz-control-toolbar__group-itemx{display:flex;align-items:center}.ibiz-control-toolbar__group-itemx .van-button:nth-child(1){border-right-color:transparent;border-top-right-radius:0;border-bottom-right-radius:0}.ibiz-control-toolbar__group-itemx .van-button:nth-child(2){border-top-left-radius:0;border-bottom-left-radius:0}.ibiz-control-toolbar .van-button__text{display:flex;align-items:center}.ibiz-control-toolbar .ibiz-control-toolbar-item{--ibiz-info-item-spacing-badge-margin:var(--ibiz-control-toolbar-spacing-badge-margin);font-size:var(--ibiz-control-toolbar-font-fontSize);white-space:nowrap}.ibiz-control-toolbar .ibiz-control-toolbar-item:not(:has(svg,img)) .ibiz-icon{width:auto;min-width:var(--ibiz-control-toolbar-width-icon-min-width)}.ibiz-control-toolbar-left .van-button{border:none}.ibiz-control-toolbar-left .ibiz-control-toolbar-item{font-size:var(--ibiz-control-toolbar-font-left-fontSize)}.ibiz-control-toolbar-right{justify-content:flex-end}.ibiz-control-toolbar-right .van-button{border:none}.ibiz-control-toolbar-right .ibiz-control-toolbar-item{font-size:var(--ibiz-control-toolbar-font-right-fontSize)}.ibiz-control-toolbar-bottom{display:flex;padding:var(--ibiz-control-toolbar-spacing-bottom-padding)}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item{flex:1}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item:nth-child(1){margin-left:0}.ibiz-control-toolbar-bottom .ibiz-control-toolbar__item .van-button{width:100%;height:var(--ibiz-control-toolbar-height-bottom-item)}.ibiz-toolbar-group-list{--ibiz-control-toolbar-width-icon-min-width:1em;--ibiz-control-toolbar-height-bottom-item:var(--ibiz-height-control-large);--ibiz-control-toolbar-color-disabled-text:var(--ibiz-color-disabled-text);--ibiz-control-toolbar-color-disabled-bg:var(--ibiz-color-disabled-bg);--ibiz-control-toolbar-spacing-gap:var(--ibiz-spacing-tight);--ibiz-control-toolbar-spacing-badge-margin:0 0 0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-spacing-bottom-padding:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-font-fontSize:var(--ibiz-font-size-regular);--ibiz-control-toolbar-font-left-fontSize:var(--ibiz-font-size-header-6);--ibiz-control-toolbar-font-right-fontSize:var(--ibiz-font-size-header-6)}.ibiz-control-toolbar-float-toolbar-modal.ibiz-popover{background-color:unset;border:none;box-shadow:unset}.ibiz-toolbar-group-modal-popover.ibiz-popover{overflow:hidden;border:none;border-radius:var(--ibiz-border-radius-medium)}
@@ -1 +1 @@
1
- .ibiz-quill-preview{--ibiz-quill-preview-min-height:6.25rem;--ibiz-quill-preview-color-placeholder:var(--ibiz-editor-default-placeholder-color);--ibiz-quill-preview-color-btn:var(--ibiz-color-primary);--ibiz-quill-preview-font-fontSize:var(--ibiz-font-size-header-4);--ibiz-quill-preview-font-more-lineHeight:var(--ibiz-font-size-header-4);--ibiz-quill-preview-font-more-fontSize:var(--ibiz-font-size-header-4);--ibiz-quill-preview-spacing-editor-padding-top:var(--ibiz-spacing-base-tight);--ibiz-quill-preview-spacing-editor-padding-right:var(--ibiz-spacing-base);--ibiz-quill-preview-spacing-padding-right:var(--ibiz-spacing-super-loose);--ibiz-quill-preview-spacing-readonly-padding-right:var(--ibiz-spacing-base);--ibiz-quill-preview-spacing-disabled-padding-right:var(--ibiz-spacing-base);position:relative;min-height:var(--ibiz-quill-preview-min-height)}.ibiz-quill-preview__edit{position:absolute;top:var(--ibiz-quill-preview-spacing-editor-padding-top);right:var(--ibiz-quill-preview-spacing-editor-padding-right);font-size:var(--ibiz-quill-preview-font-fontSize)}.ibiz-quill-preview .ql-editor{padding-right:var(--ibiz-quill-preview-spacing-padding-right)}.ibiz-quill-preview--readonly .ql-editor{padding-right:var(--ibiz-quill-preview-spacing-readonly-padding-right)}.ibiz-quill-preview--disabled .ql-editor{padding-right:var(--ibiz-quill-preview-spacing-disabled-padding-right)}.ibiz-quill-preview__image-popup{overflow:visible;background-color:transparent}.ibiz-quill-preview .ql-editor.ql-blank{padding:0}.ibiz-quill-preview .ql-editor.ql-blank::before{left:0;font-style:normal;color:var(--ibiz-quill-preview-color-placeholder)}.ibiz-quill-preview--show-collapse.is-collapse{height:var(--ibiz-quill-preview-height-default)}.ibiz-quill-preview--show-collapse.is-collapse .ql-editor{overflow:hidden}.ibiz-quill-preview--show-collapse.is-collapse .ql-container{height:calc(100% - var(--ibiz-quill-preview-font-more-fontSize));line-height:1}.ibiz-quill-preview-collapse-btn{display:flex;align-items:center;color:var(--ibiz-quill-preview-color-btn);font-size:var(--ibiz-quill-preview-font-more-fontSize)}
1
+ .ibiz-quill-preview{--ibiz-quill-preview-min-height:6.25rem;--ibiz-quill-preview-color-placeholder:var(--ibiz-editor-default-placeholder-color);--ibiz-quill-preview-color-btn:var(--ibiz-color-primary);--ibiz-quill-preview-font-fontSize:var(--ibiz-font-size-header-4);--ibiz-quill-preview-font-more-lineHeight:var(--ibiz-font-size-header-4);--ibiz-quill-preview-font-more-fontSize:var(--ibiz-font-size-header-4);--ibiz-quill-preview-spacing-editor-padding-top:var(--ibiz-spacing-base-tight);--ibiz-quill-preview-spacing-editor-padding-right:var(--ibiz-spacing-base);--ibiz-quill-preview-spacing-padding-right:var(--ibiz-spacing-super-loose);--ibiz-quill-preview-spacing-readonly-padding-right:var(--ibiz-spacing-base);--ibiz-quill-preview-spacing-disabled-padding-right:var(--ibiz-spacing-base);--ibiz-quill-preview-spacing-more-margin-bottom:var(--ibiz-spacing-loose);position:relative;min-height:var(--ibiz-quill-preview-min-height)}.ibiz-quill-preview__edit{position:absolute;top:var(--ibiz-quill-preview-spacing-editor-padding-top);right:var(--ibiz-quill-preview-spacing-editor-padding-right);font-size:var(--ibiz-quill-preview-font-fontSize)}.ibiz-quill-preview .ql-editor{padding-right:var(--ibiz-quill-preview-spacing-padding-right)}.ibiz-quill-preview--readonly .ql-editor{padding-right:var(--ibiz-quill-preview-spacing-readonly-padding-right)}.ibiz-quill-preview--disabled .ql-editor{padding-right:var(--ibiz-quill-preview-spacing-disabled-padding-right)}.ibiz-quill-preview__image-popup{overflow:visible;background-color:transparent}.ibiz-quill-preview .ql-editor.ql-blank{padding:0}.ibiz-quill-preview .ql-editor.ql-blank::before{left:0;font-style:normal;color:var(--ibiz-quill-preview-color-placeholder)}.ibiz-quill-preview--show-collapse.is-collapse{height:var(--ibiz-quill-preview-height-default);margin-bottom:var(--ibiz-quill-preview-spacing-more-margin-bottom)}.ibiz-quill-preview--show-collapse.is-collapse .ql-editor{overflow:hidden}.ibiz-quill-preview--show-collapse.is-collapse .ql-container{line-height:1}.ibiz-quill-preview-collapse-btn{display:flex;align-items:center;color:var(--ibiz-quill-preview-color-btn);font-size:var(--ibiz-quill-preview-font-more-fontSize)}
@@ -1 +1 @@
1
- .ibiz-file-upload{--ibiz-file-upload-min-height:var(--ibiz-editor-default-line-height);--ibiz-file-upload-width-icon:var(--ibiz-width-icon-large);--ibiz-file-upload-width-img:var(--ibiz-height-control-large);--ibiz-file-upload-width-remove:var(--ibiz-width-icon-large);--ibiz-file-upload-color-btn:var(--ibiz-color-text-2);--ibiz-file-upload-color-preview:var(--ibiz-color-disabled-bg);--ibiz-file-upload-spacing-preview-gap:var(--ibiz-spacing-tight);--ibiz-file-upload-spacing-preview-padding:0 var(--ibiz-spacing-tight);--ibiz-file-upload-spacing-img-padding:var(--ibiz-spacing-tight);--ibiz-file-upload-spacing-preview-text-gap:var(--ibiz-spacing-tight);--ibiz-file-upload-font-btn-fontSize:var(--ibiz-font-size-header-4);--ibiz-file-upload-font-preview-fontSize:var(--ibiz-font-size-regular);--ibiz-file-upload-font-textAlign:var(--ibiz-editor-default-text-align);--ibiz-file-upload-radius-preview:var(--ibiz-border-radius-small);--ibiz-file-upload-radius-img:var(--ibiz-border-radius-small);display:flex;flex-direction:column;width:100%}.ibiz-file-upload .van-uploader__preview{display:none}.ibiz-file-upload .van-uploader{width:100%}.ibiz-file-upload--readonly .van-uploader{display:none}.ibiz-file-upload .ibiz-file-upload-button{width:var(--ibiz-file-upload-width-icon);height:var(--ibiz-file-upload-width-icon);font-size:var(--ibiz-file-upload-font-btn-fontSize);color:var(--ibiz-file-upload-color-btn);background:0 0;border:none;border-radius:50%}.ibiz-file-upload .ibiz-file-upload-button .van-button__icon{font-size:inherit}.ibiz-file-upload .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-file-upload .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-file-upload .ibiz-file-upload-preview{width:100%;margin-top:var(--ibiz-file-upload-spacing-preview-gap)}.ibiz-file-upload .ibiz-file-upload-preview-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ibiz-file-upload-spacing-preview-padding);margin-bottom:var(--ibiz-file-upload-spacing-preview-gap);background:var(--ibiz-file-upload-color-preview);border-radius:var(--ibiz-file-upload-radius-preview)}.ibiz-file-upload .ibiz-file-upload-preview-item:last-child{margin:0;border-width:0}.ibiz-file-upload .ibiz-file-upload-preview-item-img{flex-shrink:0;width:var(--ibiz-file-upload-width-img);min-width:var(--ibiz-file-upload-width-img);height:var(--ibiz-file-upload-width-img);padding:var(--ibiz-file-upload-spacing-img-padding)}.ibiz-file-upload .ibiz-file-upload-preview-item-img img{width:100%;height:100%;border-radius:var(--ibiz-file-upload-radius-img)}.ibiz-file-upload .ibiz-file-upload-preview-item-left{display:flex;flex-grow:1;align-items:center;width:calc(100% - var(--ibiz-file-upload-width-remove))}.ibiz-file-upload .ibiz-file-upload-preview-item-text{display:flex;flex:1;align-items:center;width:calc(100% - var(--ibiz-file-upload-width-img) - var(--ibiz-file-upload-width-remove));padding-left:var(--ibiz-file-upload-spacing-preview-text-gap);font-size:var(--ibiz-file-upload-font-preview-fontSize)}.ibiz-file-upload .ibiz-file-upload-preview-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-file-upload .ibiz-file-upload-preview-item-action{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;width:var(--ibiz-file-upload-width-remove);text-align:right}.ibiz-file-upload .van-uploader__wrapper{display:flex;align-items:center;min-height:var(--ibiz-file-upload-min-height)}.ibiz-file-upload .van-uploader__input-wrapper{display:flex;align-items:center;justify-content:var(--ibiz-file-upload-font-textAlign);width:100%}.ibiz-file-upload .van-uploader__input-wrapper input{right:0;left:auto;width:var(--ibiz-file-upload-width-icon)}.ibiz-file-upload.is-single .van-uploader{display:none}.ibiz-file-upload.is-single .ibiz-file-upload-preview{margin:0}.ibiz-form-item-container--top .ibiz-file-upload .van-uploader{position:absolute;top:0;right:0;width:100%}.ibiz-file-upload--readonly .ibiz-file-upload-preview{margin-top:0}.ibiz-file-upload--disabled .ibiz-file-upload-preview{margin-top:0}
1
+ .ibiz-file-upload{--ibiz-file-upload-min-height:var(--ibiz-editor-default-line-height);--ibiz-file-upload-width-icon:var(--ibiz-width-icon-large);--ibiz-file-upload-width-img:var(--ibiz-height-control-large);--ibiz-file-upload-width-remove:var(--ibiz-width-icon-large);--ibiz-file-upload-color-btn:var(--ibiz-color-text-2);--ibiz-file-upload-color-preview:var(--ibiz-color-disabled-bg);--ibiz-file-upload-spacing-preview-gap:var(--ibiz-spacing-tight);--ibiz-file-upload-spacing-preview-padding:0 var(--ibiz-spacing-tight);--ibiz-file-upload-spacing-img-padding:var(--ibiz-spacing-tight);--ibiz-file-upload-spacing-preview-text-gap:var(--ibiz-spacing-tight);--ibiz-file-upload-font-btn-fontSize:var(--ibiz-font-size-header-4);--ibiz-file-upload-font-preview-fontSize:var(--ibiz-font-size-regular);--ibiz-file-upload-font-textAlign:var(--ibiz-editor-default-text-align);--ibiz-file-upload-radius-preview:var(--ibiz-border-radius-small);--ibiz-file-upload-radius-img:var(--ibiz-border-radius-small);display:flex;flex-direction:column;width:100%}.ibiz-file-upload .van-uploader__preview{display:none}.ibiz-file-upload .van-uploader{width:100%}.ibiz-file-upload--readonly .van-uploader{display:none}.ibiz-file-upload .ibiz-file-upload-button{width:var(--ibiz-file-upload-width-icon);height:var(--ibiz-file-upload-width-icon);font-size:var(--ibiz-file-upload-font-btn-fontSize);color:var(--ibiz-file-upload-color-btn);background:0 0;border:none;border-radius:50%}.ibiz-file-upload .ibiz-file-upload-button .van-button__icon{font-size:inherit}.ibiz-file-upload .van-uploader__preview .van-uploader__file-icon{display:none}.ibiz-file-upload .van-uploader__preview .van-uploader__file-name{display:none}.ibiz-file-upload .ibiz-file-upload-preview{width:100%;margin-top:var(--ibiz-file-upload-spacing-preview-gap)}.ibiz-file-upload .ibiz-file-upload-preview-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ibiz-file-upload-spacing-preview-padding);margin-bottom:var(--ibiz-file-upload-spacing-preview-gap);background:var(--ibiz-file-upload-color-preview);border-radius:var(--ibiz-file-upload-radius-preview)}.ibiz-file-upload .ibiz-file-upload-preview-item:last-child{margin:0;border-width:0}.ibiz-file-upload .ibiz-file-upload-preview-item-img{flex-shrink:0;width:var(--ibiz-file-upload-width-img);min-width:var(--ibiz-file-upload-width-img);height:var(--ibiz-file-upload-width-img);padding:var(--ibiz-file-upload-spacing-img-padding)}.ibiz-file-upload .ibiz-file-upload-preview-item-img img{width:100%;height:100%;border-radius:var(--ibiz-file-upload-radius-img)}.ibiz-file-upload .ibiz-file-upload-preview-item-left{display:flex;flex-grow:1;align-items:center;width:calc(100% - var(--ibiz-file-upload-width-remove))}.ibiz-file-upload .ibiz-file-upload-preview-item-text{display:flex;flex:1;align-items:center;width:calc(100% - var(--ibiz-file-upload-width-img) - var(--ibiz-file-upload-width-remove));padding-left:var(--ibiz-file-upload-spacing-preview-text-gap);font-size:var(--ibiz-file-upload-font-preview-fontSize)}.ibiz-file-upload .ibiz-file-upload-preview-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-file-upload .ibiz-file-upload-preview-item-action{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;width:var(--ibiz-file-upload-width-remove);text-align:right}.ibiz-file-upload .van-uploader__wrapper{display:flex;align-items:center;min-height:var(--ibiz-file-upload-min-height)}.ibiz-file-upload .van-uploader__input-wrapper{display:flex;align-items:center;justify-content:var(--ibiz-file-upload-font-textAlign);width:100%}.ibiz-file-upload .van-uploader__input-wrapper input{left:auto;width:var(--ibiz-file-upload-width-icon)}.ibiz-file-upload.is-single .van-uploader{display:none}.ibiz-file-upload.is-single .ibiz-file-upload-preview{margin:0}.ibiz-form-item-container--top .ibiz-file-upload .van-uploader{position:absolute;top:0;right:0;width:100%}.ibiz-file-upload--readonly .ibiz-file-upload-preview{margin-top:0}.ibiz-file-upload--disabled .ibiz-file-upload-preview{margin-top:0}
@@ -38,7 +38,7 @@ class DynaAuthGuard extends authGuard.AuthGuard {
38
38
  permission
39
39
  );
40
40
  const app = await ibiz.hub.getAppAsync(ibiz.env.appId);
41
- await this.initEnvironment(app);
41
+ await this.initEnvironment(app.model);
42
42
  await vue3Util.AppHooks.initedApp.call({ context, app });
43
43
  const appModel = app.model;
44
44
  ibiz.env.isMob = appModel.mobileApp === true;
@@ -41,11 +41,11 @@ function getTempDomRect(ns, style = {}) {
41
41
  document.body.removeChild(dom);
42
42
  return domRectList;
43
43
  }
44
- function calcPopoverPlacement(ns, curDom, listNum, direction = "horizontal") {
44
+ function calcPopoverPlacement(ns, curDom, listNum, direction = "horizontal", style = {}) {
45
45
  if (!curDom)
46
46
  return direction === "horizontal" ? "right" : "bottom";
47
47
  const { innerWidth, innerHeight } = window;
48
- const rect = getTempDomRect(ns);
48
+ const rect = getTempDomRect(ns, style);
49
49
  const { x, y, width } = curDom.getBoundingClientRect();
50
50
  const centerX = innerWidth - width - rect.width;
51
51
  const centerY = listNum ? innerHeight - listNum * rect.height : innerHeight / 2;
@@ -37,7 +37,7 @@ class FullscreenUtil {
37
37
  * @memberof FullscreenUtil
38
38
  */
39
39
  get isFullScreen() {
40
- return !!this.fullscreenElement;
40
+ return !!this.fullscreenElement && document.fullscreenElement === this.fullscreenElement;
41
41
  }
42
42
  /**
43
43
  * 指定元素全屏
@@ -214,11 +214,11 @@ function useListRender(props, c, ns) {
214
214
  }
215
215
  return vue.createVNode(vue.resolveComponent("van-list"), {
216
216
  "class": [ns.e("content"), ns.is("show-under-line", controlStyle !== "EXTVIEW1")],
217
- "loading": c.state.isLoading,
217
+ "loading": c.state.isLoading || isUpdating.value,
218
218
  "error": isLoadError.value,
219
219
  "onUpdate:error": ($event) => isLoadError.value = $event,
220
220
  "offset": 50,
221
- "disabled": disabled || isUpdating.value,
221
+ "disabled": disabled,
222
222
  "finished": isLodeFinished.value,
223
223
  "loading-text": ibiz.i18n.t("control.common.loadMore"),
224
224
  "finished-text": finishedText,
@@ -86,6 +86,9 @@ const DownloadView = /* @__PURE__ */ vue.defineComponent({
86
86
  });
87
87
  }
88
88
  };
89
+ vue.onMounted(() => {
90
+ ibiz.util.hiddenAppLoading();
91
+ });
89
92
  return {
90
93
  ns,
91
94
  tooltip,
@@ -111,6 +111,7 @@ const LoginView = /* @__PURE__ */ vue.defineComponent({
111
111
  }
112
112
  } catch (err) {
113
113
  ibiz.log.warn(err);
114
+ window.location.reload();
114
115
  }
115
116
  isAnonymous.value = false;
116
117
  }
@@ -7,10 +7,6 @@ class IndexViewEngine extends runtime.ViewEngineBase {
7
7
  get appmenu() {
8
8
  return this.view.getController("appmenu");
9
9
  }
10
- async onCreated() {
11
- await super.onCreated();
12
- ibiz.util.hiddenAppLoading();
13
- }
14
10
  }
15
11
 
16
12
  exports.IndexViewEngine = IndexViewEngine;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/mob-vue3-components",
3
- "version": "0.7.41-alpha.23",
3
+ "version": "0.7.41-alpha.24",
4
4
  "description": "移动端组件库(vue3)",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -30,11 +30,11 @@
30
30
  "@floating-ui/dom": "^1.5.3",
31
31
  "@ibiz-template-plugin/ibiz-mob-ai-chat":"0.0.2",
32
32
  "@ibiz-template-package/vs-tree-ex": "0.2.1",
33
- "@ibiz-template/core": "0.7.41-alpha.61",
34
- "@ibiz-template/model-helper": "0.7.41-alpha.61",
35
- "@ibiz-template/runtime": "0.7.41-alpha.61",
33
+ "@ibiz-template/core": "0.7.41-alpha.63",
34
+ "@ibiz-template/model-helper": "0.7.41-alpha.63",
35
+ "@ibiz-template/runtime": "0.7.41-alpha.63",
36
36
  "@ibiz-template/theme": "0.7.39",
37
- "@ibiz-template/vue3-util": "0.7.41-alpha.61",
37
+ "@ibiz-template/vue3-util": "0.7.41-alpha.63",
38
38
  "@ibiz-template/devtool": "0.0.14",
39
39
  "@ibiz/model-core": "^0.1.84",
40
40
  "@ibiz-template/mob-theme": "4.4.0",