@ibiz-template/vue3-util 0.7.38-alpha.33 → 0.7.38-alpha.57

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 (109) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +1 -1
  3. package/es/common/badge/badge.d.ts +9 -0
  4. package/es/common/badge/badge.d.ts.map +1 -1
  5. package/es/common/badge/badge.mjs +5 -1
  6. package/es/common/code-list/code-list.d.ts +1 -1
  7. package/es/common/code-list/code-list.d.ts.map +1 -1
  8. package/es/common/code-list/code-list.mjs +1 -1
  9. package/es/common/control-base/control-base.css +1 -1
  10. package/es/common/control-base/control-base.d.ts.map +1 -1
  11. package/es/common/control-base/control-base.mjs +65 -2
  12. package/es/common/custom-render/custom-render.css +1 -0
  13. package/es/common/custom-render/custom-render.d.ts +18 -0
  14. package/es/common/custom-render/custom-render.d.ts.map +1 -0
  15. package/es/common/custom-render/custom-render.mjs +85 -0
  16. package/es/common/icon/icon.d.ts.map +1 -1
  17. package/es/common/icon/icon.mjs +5 -0
  18. package/es/common/index.d.ts +1 -0
  19. package/es/common/index.d.ts.map +1 -1
  20. package/es/common/index.mjs +1 -0
  21. package/es/common/view-shell/view-shell.d.ts.map +1 -1
  22. package/es/common/view-shell/view-shell.mjs +63 -62
  23. package/es/index.mjs +4 -1
  24. package/es/locale/en/index.d.ts +2 -0
  25. package/es/locale/en/index.d.ts.map +1 -1
  26. package/es/locale/en/index.mjs +3 -1
  27. package/es/locale/zh-CN/index.d.ts +2 -0
  28. package/es/locale/zh-CN/index.d.ts.map +1 -1
  29. package/es/locale/zh-CN/index.mjs +3 -1
  30. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts +126 -0
  31. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts.map +1 -0
  32. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.mjs +193 -0
  33. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -0
  34. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts +27 -0
  35. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts.map +1 -0
  36. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.mjs +68 -0
  37. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.d.ts +15 -0
  38. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.d.ts.map +1 -0
  39. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.mjs +15 -0
  40. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.d.ts +54 -0
  41. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.d.ts.map +1 -0
  42. package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.mjs +7 -0
  43. package/es/panel-component/auth-wxmp-qrcode/index.d.ts +24 -0
  44. package/es/panel-component/auth-wxmp-qrcode/index.d.ts.map +1 -0
  45. package/es/panel-component/auth-wxmp-qrcode/index.mjs +19 -0
  46. package/es/panel-component/index.d.ts +1 -0
  47. package/es/panel-component/index.d.ts.map +1 -1
  48. package/es/panel-component/index.mjs +1 -0
  49. package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts +9 -0
  50. package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts.map +1 -1
  51. package/es/panel-component/multi-data-container/multi-data-container.controller.mjs +15 -2
  52. package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts +8 -0
  53. package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts.map +1 -1
  54. package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.mjs +14 -2
  55. package/es/panel-component/nav-pos/nav-pos.controller.d.ts.map +1 -1
  56. package/es/panel-component/nav-pos/nav-pos.controller.mjs +4 -2
  57. package/es/panel-component/single-data-container/single-data-container.controller.d.ts +8 -0
  58. package/es/panel-component/single-data-container/single-data-container.controller.d.ts.map +1 -1
  59. package/es/panel-component/single-data-container/single-data-container.controller.mjs +14 -2
  60. package/es/props/editor/common.d.ts +2 -2
  61. package/es/props/editor/common.d.ts.map +1 -1
  62. package/es/props/editor/common.mjs +2 -2
  63. package/es/use/index.mjs +1 -0
  64. package/es/use/view/index.d.ts +1 -0
  65. package/es/use/view/index.d.ts.map +1 -1
  66. package/es/use/view/index.mjs +1 -0
  67. package/es/use/view/use-view-operation/use-view-operation.d.ts +11 -0
  68. package/es/use/view/use-view-operation/use-view-operation.d.ts.map +1 -0
  69. package/es/use/view/use-view-operation/use-view-operation.mjs +27 -0
  70. package/es/util/index.mjs +1 -1
  71. package/es/util/render/render.d.ts +10 -0
  72. package/es/util/render/render.d.ts.map +1 -1
  73. package/es/util/render/render.mjs +8 -1
  74. package/es/util/route/route.d.ts.map +1 -1
  75. package/es/util/route/route.mjs +10 -4
  76. package/es/view/common/view.d.ts.map +1 -1
  77. package/es/view/common/view.mjs +2 -0
  78. package/lib/common/badge/badge.cjs +5 -1
  79. package/lib/common/code-list/code-list.cjs +1 -1
  80. package/lib/common/control-base/control-base.cjs +64 -1
  81. package/lib/common/control-base/control-base.css +1 -1
  82. package/lib/common/custom-render/custom-render.cjs +87 -0
  83. package/lib/common/custom-render/custom-render.css +1 -0
  84. package/lib/common/icon/icon.cjs +5 -0
  85. package/lib/common/index.cjs +2 -0
  86. package/lib/common/view-shell/view-shell.cjs +63 -62
  87. package/lib/index.cjs +30 -23
  88. package/lib/locale/en/index.cjs +3 -1
  89. package/lib/locale/zh-CN/index.cjs +3 -1
  90. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.cjs +70 -0
  91. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.cjs +195 -0
  92. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -0
  93. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.cjs +17 -0
  94. package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.cjs +9 -0
  95. package/lib/panel-component/auth-wxmp-qrcode/index.cjs +24 -0
  96. package/lib/panel-component/index.cjs +2 -0
  97. package/lib/panel-component/multi-data-container/multi-data-container.controller.cjs +14 -1
  98. package/lib/panel-component/multi-data-container-raw/multi-data-container-raw.controller.cjs +13 -1
  99. package/lib/panel-component/nav-pos/nav-pos.controller.cjs +4 -2
  100. package/lib/panel-component/single-data-container/single-data-container.controller.cjs +13 -1
  101. package/lib/props/editor/common.cjs +2 -2
  102. package/lib/use/index.cjs +2 -0
  103. package/lib/use/view/index.cjs +2 -0
  104. package/lib/use/view/use-view-operation/use-view-operation.cjs +29 -0
  105. package/lib/util/index.cjs +1 -0
  106. package/lib/util/render/render.cjs +8 -0
  107. package/lib/util/route/route.cjs +10 -4
  108. package/lib/view/common/view.cjs +2 -0
  109. package/package.json +5 -5
@@ -40,7 +40,19 @@ class MultiDataContainerRawController extends runtime.PanelItemController {
40
40
  async onInit() {
41
41
  await super.onInit();
42
42
  await this.initPanelItemControllers();
43
- this.initContainerData();
43
+ }
44
+ /**
45
+ * 面板状态变更通知
46
+ *
47
+ * @param {PanelNotifyState} _state
48
+ * @return {*} {Promise<void>}
49
+ * @memberof MultiDataContainerRawController
50
+ */
51
+ async panelStateNotify(_state) {
52
+ super.panelStateNotify(_state);
53
+ if (_state === runtime.PanelNotifyState.LOAD) {
54
+ this.initContainerData();
55
+ }
44
56
  }
45
57
  /**
46
58
  * 初始化面板子项控制器
@@ -301,8 +301,10 @@ class NavPosController extends runtime.PanelItemController {
301
301
  openViewMsg.params,
302
302
  {
303
303
  openMode: "INDEXVIEWTAB",
304
- replace: !this.state.currentKey,
305
- ...openViewMsg.modalOptions
304
+ modalOption: {
305
+ replace: !this.state.currentKey,
306
+ ...openViewMsg.modalOptions
307
+ }
306
308
  }
307
309
  );
308
310
  this.state.isLoading = false;
@@ -43,7 +43,19 @@ class SingleDataContainerController extends runtime.PanelItemController {
43
43
  async onInit() {
44
44
  await super.onInit();
45
45
  await this.initPanelItemControllers();
46
- this.initContainerData();
46
+ }
47
+ /**
48
+ * 面板状态变更通知
49
+ *
50
+ * @param {PanelNotifyState} _state
51
+ * @return {*} {Promise<void>}
52
+ * @memberof SingleDataContainerController
53
+ */
54
+ async panelStateNotify(_state) {
55
+ super.panelStateNotify(_state);
56
+ if (_state === runtime.PanelNotifyState.LOAD) {
57
+ this.initContainerData();
58
+ }
47
59
  }
48
60
  /**
49
61
  * 初始化面板成员控制器
@@ -29,7 +29,7 @@ function getEditorProps() {
29
29
  function getEditorEmits() {
30
30
  return {
31
31
  /** 值变更事件 */
32
- change: (_value, _name) => true,
32
+ change: (_value, _name, _ignore) => true,
33
33
  /** 失焦事件 */
34
34
  blur: (_event) => true,
35
35
  /** 聚焦事件 */
@@ -43,7 +43,7 @@ function getEditorEmits() {
43
43
  function getGridEditorEmits() {
44
44
  return {
45
45
  /** 值变更事件 */
46
- change: (_value, _name) => true,
46
+ change: (_value, _name, _ignore) => true,
47
47
  /** 是否正在操作事件 */
48
48
  rowSave: () => true
49
49
  };
package/lib/use/index.cjs CHANGED
@@ -14,6 +14,7 @@ var index$1 = require('./storage/index.cjs');
14
14
  var autofocusBlur = require('./autofocus-blur/autofocus-blur.cjs');
15
15
  var useControlController = require('./control/use-control-controller/use-control-controller.cjs');
16
16
  var useViewController = require('./view/use-view-controller/use-view-controller.cjs');
17
+ var useViewOperation = require('./view/use-view-operation/use-view-operation.cjs');
17
18
 
18
19
  "use strict";
19
20
 
@@ -38,3 +39,4 @@ exports.useLocalCacheKey = index$1.useLocalCacheKey;
38
39
  exports.useAutoFocusBlur = autofocusBlur.useAutoFocusBlur;
39
40
  exports.useControlController = useControlController.useControlController;
40
41
  exports.useViewController = useViewController.useViewController;
42
+ exports.useViewOperation = useViewOperation.useViewOperation;
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var useViewController = require('./use-view-controller/use-view-controller.cjs');
4
+ var useViewOperation = require('./use-view-operation/use-view-operation.cjs');
4
5
 
5
6
  "use strict";
6
7
 
7
8
  exports.useViewController = useViewController.useViewController;
9
+ exports.useViewOperation = useViewOperation.useViewOperation;
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var core = require('@ibiz-template/core');
4
+ var vue = require('vue');
5
+
6
+ "use strict";
7
+ function useViewOperation(view) {
8
+ let listenJSEventFuncs = [];
9
+ vue.onMounted(() => {
10
+ const viewElement = document.getElementById(view.id);
11
+ const listenJSEventNames = ["keydown", "click"];
12
+ if (!viewElement)
13
+ return;
14
+ listenJSEventFuncs = listenJSEventNames.map((eventName) => {
15
+ return core.listenJSEvent(viewElement, eventName, (event) => {
16
+ view.setOperateState("MANUAL");
17
+ });
18
+ });
19
+ });
20
+ vue.onUnmounted(() => {
21
+ if (listenJSEventFuncs && listenJSEventFuncs.length > 0) {
22
+ listenJSEventFuncs.forEach((listenJSEventFunc) => {
23
+ listenJSEventFunc();
24
+ });
25
+ }
26
+ });
27
+ }
28
+
29
+ exports.useViewOperation = useViewOperation;
@@ -28,6 +28,7 @@ exports.routePath2string = route.routePath2string;
28
28
  exports.RouteListener = routeListener.RouteListener;
29
29
  exports.withInstall = install.withInstall;
30
30
  exports.prepareControl = prepareControl.prepareControl;
31
+ exports.hasEmptyPanelRenderer = render.hasEmptyPanelRenderer;
31
32
  exports.renderString = render.renderString;
32
33
  exports.OverlayContainer = overlayContainer.OverlayContainer;
33
34
  exports.OverlayPopoverContainer = overlayPopoverContainer.OverlayPopoverContainer;
@@ -21,5 +21,13 @@ function renderString(value) {
21
21
  }
22
22
  return "";
23
23
  }
24
+ const hasEmptyPanelRenderer = (c) => {
25
+ const controlRenders = c == null ? void 0 : c.model.controlRenders;
26
+ if (!controlRenders || controlRenders.length === 0) {
27
+ return false;
28
+ }
29
+ return !!controlRenders.find((item) => item.id === "emptypanel");
30
+ };
24
31
 
32
+ exports.hasEmptyPanelRenderer = hasEmptyPanelRenderer;
25
33
  exports.renderString = renderString;
@@ -6,6 +6,7 @@ var qs = require('qs');
6
6
  var vueRouter = require('vue-router');
7
7
  var vue = require('vue');
8
8
  var runtime = require('@ibiz-template/runtime');
9
+ var ramda = require('ramda');
9
10
 
10
11
  "use strict";
11
12
  function route2routePath(route, isRouteModal = false) {
@@ -108,7 +109,7 @@ function getOwnRouteContext(context) {
108
109
  "toRouteDepth"
109
110
  ];
110
111
  Object.keys(ownContext).forEach((key) => {
111
- if (excludeKeys.includes(key)) {
112
+ if (excludeKeys.includes(key) || ramda.isNil(ownContext[key])) {
112
113
  delete ownContext[key];
113
114
  }
114
115
  });
@@ -170,9 +171,11 @@ async function generateRoutePath(appView, route, context, params) {
170
171
  depth = context.toRouteDepth;
171
172
  context.toRouteDepth = void 0;
172
173
  } else if (ibiz.env.isMob) {
173
- routePath.pathNodes[0] = {
174
- viewName: "home"
175
- };
174
+ if (ibiz.env.mobMenuShowMode === "DEFAULT") {
175
+ routePath.pathNodes[0] = {
176
+ viewName: "home"
177
+ };
178
+ }
176
179
  }
177
180
  routePath.pathNodes.splice(depth - 1, routePath.pathNodes.length - depth + 1);
178
181
  if (context.currentSrfNav) {
@@ -265,6 +268,9 @@ async function parseRouteViewData(route, depth, isRouteModal = false) {
265
268
  if (qxUtil.notNilEmpty(pathNode.context)) {
266
269
  Object.assign(context, pathNode.context);
267
270
  }
271
+ if (index === depth - 1 && (!pathNode.context || ramda.isNil(pathNode.context.srfnavctrlid))) {
272
+ delete context.srfnavctrlid;
273
+ }
268
274
  }
269
275
  }
270
276
  const { params, srfnav } = routePath.pathNodes[depth - 1];
@@ -6,6 +6,7 @@ require('./view.css');
6
6
  require('../../use/index.cjs');
7
7
  var namespace = require('../../use/namespace/namespace.cjs');
8
8
  var useViewController = require('../../use/view/use-view-controller/use-view-controller.cjs');
9
+ var useViewOperation = require('../../use/view/use-view-operation/use-view-operation.cjs');
9
10
 
10
11
  "use strict";
11
12
  function _isSlot(s) {
@@ -38,6 +39,7 @@ const View = /* @__PURE__ */ vue.defineComponent({
38
39
  }) {
39
40
  const ns = namespace.useNamespace("view");
40
41
  const c = useViewController.useViewController((...args) => new runtime.ViewController(...args));
42
+ useViewOperation.useViewOperation(c);
41
43
  const allControls = runtime.getControlsByView(c.model);
42
44
  const teleportControls = [];
43
45
  const teleportTags = /* @__PURE__ */ new Map();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-util",
3
- "version": "0.7.38-alpha.33",
3
+ "version": "0.7.38-alpha.57",
4
4
  "description": "vue3 工具包",
5
5
  "main": "lib/index.cjs",
6
6
  "types": "es/index.d.ts",
@@ -40,10 +40,10 @@
40
40
  "license": "MIT",
41
41
  "devDependencies": {
42
42
  "@ibiz-template/cli": "^0.3.10",
43
- "@ibiz-template/core": "^0.7.38-alpha.32",
44
- "@ibiz-template/runtime": "^0.7.38-alpha.33",
43
+ "@ibiz-template/core": "^0.7.38-alpha.57",
44
+ "@ibiz-template/runtime": "^0.7.38-alpha.57",
45
45
  "@ibiz-template/theme": "^0.7.32",
46
- "@ibiz/model-core": "^0.1.59",
46
+ "@ibiz/model-core": "^0.1.64",
47
47
  "@types/path-browserify": "^1.0.2",
48
48
  "@types/qs": "^6.9.11",
49
49
  "@types/systemjs": "^6.13.5",
@@ -60,7 +60,7 @@
60
60
  "peerDependencies": {
61
61
  "@ibiz-template/core": "^0.6.0",
62
62
  "@ibiz-template/runtime": "^0.6.0",
63
- "@ibiz/model-core": "^0.1.59",
63
+ "@ibiz/model-core": "^0.1.64",
64
64
  "dayjs": "^1.11.10",
65
65
  "path-browserify": "^1.0.1",
66
66
  "pinia": "^2.1.7",