@ibiz-template/vue3-components 0.5.7-alpha.2 → 0.5.7-alpha.4

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 (123) hide show
  1. package/dist/ibiz-markdown-editor-anJxfRF1.js +1 -0
  2. package/dist/index-knHzHtox.js +2 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/wang-editor-R2mUYWuB.js +1 -0
  6. package/dist/{xlsx-util-BE5Eyj1T.js → xlsx-util-kzUgnbtt.js} +1 -1
  7. package/es/common/data-import2/data-import2.mjs +7 -1
  8. package/es/common/doing-notice/doing-notice.css +1 -0
  9. package/es/common/doing-notice/doing-notice.d.ts +19 -0
  10. package/es/common/doing-notice/doing-notice.mjs +38 -0
  11. package/es/common/index.d.ts +1 -0
  12. package/es/common/index.mjs +3 -1
  13. package/es/common/view-message/view-message.css +1 -0
  14. package/es/common/view-message/view-message.d.ts +1 -0
  15. package/es/common/view-message/view-message.mjs +2 -0
  16. package/es/control/drbar/drbar.controller.d.ts +8 -1
  17. package/es/control/drbar/drbar.controller.mjs +17 -6
  18. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.mjs +4 -3
  19. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +6 -1
  20. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +46 -38
  21. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +4 -5
  22. package/es/editor/html/html-editor.controller.d.ts +0 -26
  23. package/es/editor/html/html-editor.controller.mjs +1 -64
  24. package/es/editor/html/wang-editor/wang-editor.mjs +1 -1
  25. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +5 -17
  26. package/es/editor/markdown/markdown-editor.controller.d.ts +0 -26
  27. package/es/editor/markdown/markdown-editor.controller.mjs +2 -64
  28. package/es/editor/text-box/input/input.mjs +3 -0
  29. package/es/editor/upload/upload-editor.controller.d.ts +0 -26
  30. package/es/editor/upload/upload-editor.controller.mjs +2 -64
  31. package/es/editor/upload/use/use-ibiz-upload.mjs +6 -1
  32. package/es/editor/upload/use/use-iview-upload.mjs +7 -2
  33. package/es/index.mjs +2 -0
  34. package/es/panel-component/index.mjs +2 -0
  35. package/es/panel-component/panel-button/index.d.ts +1 -0
  36. package/es/panel-component/panel-button/panel-button.d.ts +1 -0
  37. package/es/panel-component/panel-button/panel-button.mjs +4 -1
  38. package/es/panel-component/user-message/async-action/async-action/async-action.d.ts +18 -4
  39. package/es/panel-component/user-message/async-action/async-action/async-action.mjs +34 -15
  40. package/es/panel-component/user-message/async-action/async-action/async-action.provider.d.ts +35 -2
  41. package/es/panel-component/user-message/async-action/async-action/async-action.provider.mjs +9 -2
  42. package/es/panel-component/user-message/async-action/async-action-tab/async-action-tab.d.ts +11 -51
  43. package/es/panel-component/user-message/async-action/async-action-tab/async-action-tab.mjs +22 -44
  44. package/es/panel-component/user-message/index.d.ts +1 -0
  45. package/es/panel-component/user-message/index.mjs +7 -0
  46. package/es/panel-component/user-message/internal-message/index.d.ts +2 -0
  47. package/es/panel-component/user-message/internal-message/index.mjs +2 -0
  48. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
  49. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.mjs +6 -5
  50. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.d.ts +19 -3
  51. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.mjs +9 -3
  52. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -0
  53. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.d.ts +35 -0
  54. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.mjs +80 -0
  55. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.d.ts +40 -0
  56. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.mjs +55 -0
  57. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.css +1 -1
  58. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.d.ts +10 -1
  59. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +18 -34
  60. package/es/panel-component/user-message/user-message.d.ts +1 -0
  61. package/es/panel-component/user-message/user-message.mjs +6 -1
  62. package/es/panel-component/view-message/index.d.ts +24 -0
  63. package/es/panel-component/view-message/index.mjs +15 -0
  64. package/es/panel-component/view-message/view-message.d.ts +26 -0
  65. package/es/panel-component/view-message/view-message.mjs +46 -0
  66. package/es/panel-component/view-message/view-message.provider.d.ts +15 -0
  67. package/es/panel-component/view-message/view-message.provider.mjs +21 -0
  68. package/es/util/app-popover/app-popover-component.d.ts +4 -2
  69. package/es/util/app-popover/app-popover-component.mjs +6 -2
  70. package/es/util/index.d.ts +1 -0
  71. package/es/util/index.mjs +1 -0
  72. package/es/util/notice-util/notice-util.d.ts +13 -0
  73. package/es/util/notice-util/notice-util.mjs +62 -0
  74. package/es/util/open-view-util/open-view-util.d.ts +10 -9
  75. package/es/util/open-view-util/open-view-util.mjs +6 -6
  76. package/es/util/overlay-controller/overlay-controller.d.ts +3 -2
  77. package/lib/common/data-import2/data-import2.cjs +7 -1
  78. package/lib/common/doing-notice/doing-notice.cjs +40 -0
  79. package/lib/common/doing-notice/doing-notice.css +1 -0
  80. package/lib/common/index.cjs +3 -0
  81. package/lib/common/view-message/view-message.cjs +2 -0
  82. package/lib/common/view-message/view-message.css +1 -0
  83. package/lib/control/drbar/drbar.controller.cjs +17 -6
  84. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.cjs +4 -3
  85. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +6 -1
  86. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +45 -37
  87. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +4 -5
  88. package/lib/editor/html/html-editor.controller.cjs +0 -63
  89. package/lib/editor/html/wang-editor/wang-editor.cjs +1 -1
  90. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +5 -17
  91. package/lib/editor/markdown/markdown-editor.controller.cjs +0 -62
  92. package/lib/editor/text-box/input/input.cjs +3 -0
  93. package/lib/editor/upload/upload-editor.controller.cjs +0 -62
  94. package/lib/editor/upload/use/use-ibiz-upload.cjs +6 -1
  95. package/lib/editor/upload/use/use-iview-upload.cjs +7 -2
  96. package/lib/index.cjs +4 -0
  97. package/lib/panel-component/index.cjs +2 -0
  98. package/lib/panel-component/panel-button/panel-button.cjs +4 -1
  99. package/lib/panel-component/user-message/async-action/async-action/async-action.cjs +34 -15
  100. package/lib/panel-component/user-message/async-action/async-action/async-action.provider.cjs +9 -2
  101. package/lib/panel-component/user-message/async-action/async-action-tab/async-action-tab.cjs +20 -42
  102. package/lib/panel-component/user-message/index.cjs +7 -0
  103. package/lib/panel-component/user-message/internal-message/index.cjs +4 -0
  104. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.cjs +6 -5
  105. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
  106. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.cjs +9 -3
  107. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.cjs +82 -0
  108. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -0
  109. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.cjs +57 -0
  110. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +17 -33
  111. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.css +1 -1
  112. package/lib/panel-component/user-message/user-message.cjs +5 -0
  113. package/lib/panel-component/view-message/index.cjs +20 -0
  114. package/lib/panel-component/view-message/view-message.cjs +48 -0
  115. package/lib/panel-component/view-message/view-message.provider.cjs +23 -0
  116. package/lib/util/app-popover/app-popover-component.cjs +6 -2
  117. package/lib/util/index.cjs +2 -0
  118. package/lib/util/notice-util/notice-util.cjs +64 -0
  119. package/lib/util/open-view-util/open-view-util.cjs +6 -6
  120. package/package.json +6 -6
  121. package/dist/ibiz-markdown-editor-RaswfMqH.js +0 -1
  122. package/dist/index-p-YChWUE.js +0 -2
  123. package/dist/wang-editor-8iEE3iXJ.js +0 -1
@@ -6,20 +6,27 @@ import { UserMessageProvider } from './user-message.provider.mjs';
6
6
  import './internal-message/index.mjs';
7
7
  import { AsyncAction } from './async-action/async-action/async-action.mjs';
8
8
  import { InternalMessageDefault } from './internal-message/internal-message-default/internal-message-default.mjs';
9
+ import { InternalMessageJSON } from './internal-message/internal-message-json/internal-message-json.mjs';
9
10
  import { AsyncActionProvider } from './async-action/async-action/async-action.provider.mjs';
10
11
  import { InternalMessageDefaultProvider } from './internal-message/internal-message-default/internal-message-default.provider.mjs';
12
+ import { InternalMessageJSONtProvider } from './internal-message/internal-message-json/internal-message-json.provider.mjs';
11
13
 
12
14
  "use strict";
13
15
  const IBizUserMessage = withInstall(UserMessage, function(v) {
14
16
  v.component(UserMessage.name, UserMessage);
15
17
  v.component(AsyncAction.name, AsyncAction);
16
18
  v.component(InternalMessageDefault.name, InternalMessageDefault);
19
+ v.component(InternalMessageJSON.name, InternalMessageJSON);
17
20
  registerAsyncActionProvider("DEIMPORTDATA2", () => new AsyncActionProvider());
18
21
  registerAsyncActionProvider("DEFAULT", () => new AsyncActionProvider());
19
22
  registerInternalMessageProvider(
20
23
  "DEFAULT",
21
24
  () => new InternalMessageDefaultProvider()
22
25
  );
26
+ registerInternalMessageProvider(
27
+ "JSON",
28
+ () => new InternalMessageJSONtProvider()
29
+ );
23
30
  registerPanelItemProvider(
24
31
  "RAWITEM_USERMESSAGE",
25
32
  () => new UserMessageProvider()
@@ -1,3 +1,5 @@
1
1
  export { InternalMessageTab } from './internal-message-tab/internal-message-tab';
2
2
  export { InternalMessageDefaultProvider } from './internal-message-default/internal-message-default.provider';
3
3
  export { InternalMessageDefault } from './internal-message-default/internal-message-default';
4
+ export { InternalMessageJSONtProvider } from './internal-message-json/internal-message-json.provider';
5
+ export { InternalMessageJSON } from './internal-message-json/internal-message-json';
@@ -1,5 +1,7 @@
1
1
  export { InternalMessageTab } from './internal-message-tab/internal-message-tab.mjs';
2
2
  export { InternalMessageDefaultProvider } from './internal-message-default/internal-message-default.provider.mjs';
3
3
  export { InternalMessageDefault } from './internal-message-default/internal-message-default.mjs';
4
+ export { InternalMessageJSONtProvider } from './internal-message-json/internal-message-json.provider.mjs';
5
+ export { InternalMessageJSON } from './internal-message-json/internal-message-json.mjs';
4
6
 
5
7
  "use strict";
@@ -1 +1 @@
1
- .ibiz-internal-message{--ibiz-internal-message-loading-warp-bg-color:linear-gradient(90deg, var(--ibiz-color-primary-light-hover), var(--ibiz-color-primary));display:flex;align-items:center;justify-content:space-between;position:relative}.ibiz-internal-message--clickable{cursor:pointer}.ibiz-internal-message:hover{background-color:var(--ibiz-color-fill-1)}.ibiz-internal-message__caption{margin-bottom:8px;font-weight:var(--ibiz-font-weight-bold)}.ibiz-internal-message__short-content{margin-bottom:8px}.ibiz-internal-message__status{margin-right:8px}.ibiz-internal-message:hover .ibiz-internal-message-toolbar{display:block}.ibiz-internal-message-left{flex-grow:0;flex-shrink:0;align-self:flex-start;width:50px;font-size:var(--ibiz-font-size-header-3);text-align:center}.ibiz-internal-message-center{flex-grow:1;width:342px}.ibiz-internal-message-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-toolbar__button:hover{color:var(--ibiz-color-primary)}
1
+ .ibiz-internal-message{--ibiz-internal-message-loading-warp-bg-color:linear-gradient(90deg, var(--ibiz-color-primary-light-hover), var(--ibiz-color-primary));display:flex;align-items:center;justify-content:space-between;position:relative}.ibiz-internal-message--clickable{cursor:pointer}.ibiz-internal-message__caption{margin-bottom:8px;font-weight:var(--ibiz-font-weight-bold)}.ibiz-internal-message__short-content{margin-bottom:8px}.ibiz-internal-message__status{margin-right:8px}.ibiz-internal-message:hover .ibiz-internal-message-toolbar{display:block}.ibiz-internal-message-left{flex-grow:0;flex-shrink:0;align-self:flex-start;width:50px;font-size:var(--ibiz-font-size-header-3);text-align:center}.ibiz-internal-message-center{flex-grow:1;width:342px}.ibiz-internal-message-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-toolbar__button:hover{color:var(--ibiz-color-primary)}
@@ -29,10 +29,10 @@ const InternalMessageDefault = /* @__PURE__ */ defineComponent({
29
29
  required: true
30
30
  }
31
31
  },
32
- setup(props) {
32
+ setup() {
33
33
  const ns = useNamespace("internal-message");
34
34
  const clickable = computed(() => {
35
- return props.message.short_content !== props.message.content;
35
+ return false;
36
36
  });
37
37
  return {
38
38
  ns,
@@ -46,6 +46,9 @@ const InternalMessageDefault = /* @__PURE__ */ defineComponent({
46
46
  short_content,
47
47
  status
48
48
  } = this.message;
49
+ const content = createVNode("div", {
50
+ "class": this.ns.e("short-content")
51
+ }, [short_content]);
49
52
  return createVNode("div", {
50
53
  "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""]
51
54
  }, [createVNode("div", {
@@ -61,9 +64,7 @@ const InternalMessageDefault = /* @__PURE__ */ defineComponent({
61
64
  "type": stateType[status]
62
65
  }, {
63
66
  default: () => [stateTexts[status]]
64
- }), title]), createVNode("div", {
65
- "class": this.ns.e("short-content")
66
- }, [short_content]), createVNode("div", {
67
+ }), title]), content, createVNode("div", {
67
68
  "class": this.ns.e("create-time")
68
69
  }, [create_time])]), createVNode("div", {
69
70
  "class": this.ns.b("toolbar")
@@ -1,6 +1,22 @@
1
- import { IInternalMessage } from '@ibiz-template/core/src/interface';
1
+ import { IInternalMessage } from '@ibiz-template/core';
2
2
  import { IInternalMessageProvider } from '@ibiz-template/runtime';
3
+ import { VNode } from 'vue';
3
4
  export declare class InternalMessageDefaultProvider implements IInternalMessageProvider {
4
- component: string;
5
- onClick(_msg: IInternalMessage, _event: MouseEvent): boolean;
5
+ component: import("vue").DefineComponent<{
6
+ message: {
7
+ type: import("vue").PropType<IInternalMessage>;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ clickable: import("vue").ComputedRef<boolean>;
13
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ message: {
15
+ type: import("vue").PropType<IInternalMessage>;
16
+ required: true;
17
+ };
18
+ }>>, {}, {}>;
19
+ render(props: IData & {
20
+ message: IInternalMessage;
21
+ }): VNode;
6
22
  }
@@ -1,3 +1,6 @@
1
+ import { h } from 'vue';
2
+ import { InternalMessageDefault } from './internal-message-default.mjs';
3
+
1
4
  "use strict";
2
5
  var __defProp = Object.defineProperty;
3
6
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -7,10 +10,13 @@ var __publicField = (obj, key, value) => {
7
10
  };
8
11
  class InternalMessageDefaultProvider {
9
12
  constructor() {
10
- __publicField(this, "component", "IBizInternalMessageDefault");
13
+ __publicField(this, "component", InternalMessageDefault);
11
14
  }
12
- onClick(_msg, _event) {
13
- return false;
15
+ render(props) {
16
+ return h(this.component, {
17
+ provider: this,
18
+ ...props
19
+ });
14
20
  }
15
21
  }
16
22
 
@@ -0,0 +1 @@
1
+ .ibiz-internal-message-json{display:flex;flex-flow:column nowrap;position:relative}.ibiz-internal-message-json--clickable{cursor:pointer}.ibiz-internal-message-json:hover .ibiz-internal-message-json-toolbar{display:block}.ibiz-internal-message-json__content{flex-grow:1}.ibiz-internal-message-json-toolbar{position:absolute;top:0;right:0;display:none;padding:8px}.ibiz-internal-message-json-toolbar__button{margin-left:10px;font-size:16px;cursor:pointer}.ibiz-internal-message-json-toolbar__button:hover{color:var(--ibiz-color-primary)}
@@ -0,0 +1,35 @@
1
+ import { PropType } from 'vue';
2
+ import { IInternalMessage } from '@ibiz-template/core';
3
+ import './internal-message-json.scss';
4
+ import { IInternalMessageProvider } from '@ibiz-template/runtime';
5
+ export declare const InternalMessageJSON: import("vue").DefineComponent<{
6
+ message: {
7
+ type: PropType<IInternalMessage>;
8
+ required: true;
9
+ };
10
+ provider: {
11
+ type: PropType<IInternalMessageProvider>;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ clickable: import("vue").ComputedRef<boolean>;
17
+ jsonContent: import("vue").ComputedRef<{
18
+ html?: string | undefined;
19
+ redirecturl?: string | undefined;
20
+ } | null>;
21
+ onClick: (event: MouseEvent) => Promise<void>;
22
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ close: () => true;
24
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
+ message: {
26
+ type: PropType<IInternalMessage>;
27
+ required: true;
28
+ };
29
+ provider: {
30
+ type: PropType<IInternalMessageProvider>;
31
+ required: true;
32
+ };
33
+ }>> & {
34
+ onClose?: (() => any) | undefined;
35
+ }, {}, {}>;
@@ -0,0 +1,80 @@
1
+ import { computed, createVNode, createTextVNode, defineComponent } from 'vue';
2
+ import { useNamespace } from '@ibiz-template/vue3-util';
3
+ import './internal-message-json.css';
4
+
5
+ "use strict";
6
+ const InternalMessageJSON = /* @__PURE__ */ defineComponent({
7
+ name: "IBizInternalMessageJSON",
8
+ props: {
9
+ message: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ provider: {
14
+ type: Object,
15
+ required: true
16
+ }
17
+ },
18
+ emits: {
19
+ close: () => true
20
+ },
21
+ setup(props, {
22
+ emit
23
+ }) {
24
+ const ns = useNamespace("internal-message-json");
25
+ const jsonContent = computed(() => {
26
+ if (props.message.short_content && props.message.content_type === "JSON") {
27
+ return JSON.parse(props.message.short_content);
28
+ }
29
+ return null;
30
+ });
31
+ const clickable = computed(() => {
32
+ var _a;
33
+ return !!((_a = jsonContent.value) == null ? void 0 : _a.redirecturl);
34
+ });
35
+ const onClick = async (event) => {
36
+ if (props.provider.onClick) {
37
+ const isClose = await props.provider.onClick(props.message, event);
38
+ if (isClose) {
39
+ emit("close");
40
+ }
41
+ }
42
+ };
43
+ return {
44
+ ns,
45
+ clickable,
46
+ jsonContent,
47
+ onClick
48
+ };
49
+ },
50
+ render() {
51
+ var _a;
52
+ let content = null;
53
+ if ((_a = this.jsonContent) == null ? void 0 : _a.html) {
54
+ content = createVNode("div", {
55
+ "class": this.ns.e("content"),
56
+ "innerHTML": this.jsonContent.html
57
+ }, null);
58
+ } else {
59
+ content = createVNode("div", {
60
+ "class": this.ns.e("content")
61
+ }, [createTextVNode("\u6570\u636E\u7684short_content\u91CC\u7F3A\u5C11html")]);
62
+ }
63
+ return createVNode("div", {
64
+ "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""],
65
+ "onClick": this.onClick
66
+ }, [content, createVNode("div", {
67
+ "class": this.ns.b("toolbar")
68
+ }, [createVNode("ion-icon", {
69
+ "class": this.ns.be("toolbar", "button"),
70
+ "name": "timer-outline",
71
+ "title": "\u7A0D\u540E\u5904\u7406"
72
+ }, null), createVNode("ion-icon", {
73
+ "class": this.ns.be("toolbar", "button"),
74
+ "name": "checkmark-done-outline",
75
+ "title": "\u5DF2\u8BFB"
76
+ }, null)])]);
77
+ }
78
+ });
79
+
80
+ export { InternalMessageJSON };
@@ -0,0 +1,40 @@
1
+ import { IInternalMessage } from '@ibiz-template/core/src/interface';
2
+ import { IInternalMessageProvider } from '@ibiz-template/runtime';
3
+ import { VNode } from 'vue';
4
+ export declare class InternalMessageJSONtProvider implements IInternalMessageProvider {
5
+ component: import("vue").DefineComponent<{
6
+ message: {
7
+ type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
8
+ required: true;
9
+ };
10
+ provider: {
11
+ type: import("vue").PropType<IInternalMessageProvider>;
12
+ required: true;
13
+ };
14
+ }, {
15
+ ns: import("@ibiz-template/core").Namespace;
16
+ clickable: import("vue").ComputedRef<boolean>;
17
+ jsonContent: import("vue").ComputedRef<{
18
+ html?: string | undefined;
19
+ redirecturl?: string | undefined;
20
+ } | null>;
21
+ onClick: (event: MouseEvent) => Promise<void>;
22
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
+ close: () => true;
24
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
25
+ message: {
26
+ type: import("vue").PropType<import("@ibiz-template/core").IInternalMessage>;
27
+ required: true;
28
+ };
29
+ provider: {
30
+ type: import("vue").PropType<IInternalMessageProvider>;
31
+ required: true;
32
+ };
33
+ }>> & {
34
+ onClose?: (() => any) | undefined;
35
+ }, {}, {}>;
36
+ render(props: IData & {
37
+ message: IInternalMessage;
38
+ }): VNode;
39
+ onClick(msg: IInternalMessage, _event: MouseEvent): Promise<boolean>;
40
+ }
@@ -0,0 +1,55 @@
1
+ import { IBizContext } from '@ibiz-template/core';
2
+ import { OpenAppViewCommand } from '@ibiz-template/runtime';
3
+ import { h } from 'vue';
4
+ import { InternalMessageJSON } from './internal-message-json.mjs';
5
+
6
+ "use strict";
7
+ var __defProp = Object.defineProperty;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __publicField = (obj, key, value) => {
10
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
+ return value;
12
+ };
13
+ class InternalMessageJSONtProvider {
14
+ constructor() {
15
+ __publicField(this, "component", InternalMessageJSON);
16
+ }
17
+ render(props) {
18
+ return h(this.component, {
19
+ provider: this,
20
+ ...props
21
+ });
22
+ }
23
+ async onClick(msg, _event) {
24
+ if (msg.content_type === "JSON" && msg.short_content) {
25
+ const json = JSON.parse(msg.short_content);
26
+ if (json.redirecturl) {
27
+ let viewId = "";
28
+ const params = {};
29
+ const url = new URL(json.redirecturl);
30
+ if (url.searchParams.size > 0) {
31
+ url.searchParams.forEach((value, _key) => {
32
+ params[_key] = value;
33
+ });
34
+ }
35
+ const rdTagItems = url.pathname.replace("//", "").split("/");
36
+ const [appOrViewTag, viewTag] = rdTagItems;
37
+ if (viewTag) {
38
+ viewId = viewTag;
39
+ } else {
40
+ viewId = appOrViewTag;
41
+ }
42
+ ibiz.commands.execute(
43
+ OpenAppViewCommand.TAG,
44
+ viewId,
45
+ IBizContext.create({}),
46
+ params
47
+ );
48
+ return true;
49
+ }
50
+ }
51
+ return false;
52
+ }
53
+ }
54
+
55
+ export { InternalMessageJSONtProvider };
@@ -1 +1 @@
1
- .ibiz-internal-message-tab{--ibiz-internal-message-tab-load-more-height:30px;width:100%;height:100%}.ibiz-internal-message-tab__item{min-height:60px;padding:6px 0}.ibiz-internal-message-tab__nodata{display:flex;align-items:center;justify-content:center;height:calc(100% - var(--ibiz-internal-message-tab-load-more-height))}.ibiz-internal-message-tab__load-more{height:var(--ibiz-internal-message-tab-load-more-height);line-height:var(--ibiz-internal-message-tab-load-more-height);text-align:center}.ibiz-internal-message-tab__load-more:hover{color:var(--ibiz-color-primary-hover);cursor:pointer}
1
+ .ibiz-internal-message-tab{--ibiz-internal-message-tab-load-more-height:30px;width:100%;height:100%}.ibiz-internal-message-tab__item{min-height:60px;padding:var(--ibiz-spacing-tight)}.ibiz-internal-message-tab__item:hover{background-color:var(--ibiz-color-fill-1)}.ibiz-internal-message-tab__nodata{display:flex;align-items:center;justify-content:center;height:calc(100% - var(--ibiz-internal-message-tab-load-more-height))}.ibiz-internal-message-tab__load-more{height:var(--ibiz-internal-message-tab-load-more-height);line-height:var(--ibiz-internal-message-tab-load-more-height);text-align:center}.ibiz-internal-message-tab__load-more:hover{color:var(--ibiz-color-primary-hover);cursor:pointer}
@@ -1,5 +1,11 @@
1
+ import { PropType } from 'vue';
2
+ import { IInternalMessageController } from '@ibiz-template/runtime';
1
3
  import './internal-message-tab.scss';
2
4
  export declare const InternalMessageTab: import("vue").DefineComponent<{
5
+ controller: {
6
+ type: PropType<IInternalMessageController>;
7
+ required: true;
8
+ };
3
9
  showPopover: {
4
10
  type: BooleanConstructor;
5
11
  required: true;
@@ -25,7 +31,6 @@ export declare const InternalMessageTab: import("vue").DefineComponent<{
25
31
  }[]>;
26
32
  state: {
27
33
  total: number;
28
- curPage: number;
29
34
  pageSize: number;
30
35
  };
31
36
  hiddenPopover: () => void;
@@ -33,6 +38,10 @@ export declare const InternalMessageTab: import("vue").DefineComponent<{
33
38
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
34
39
  hiddenPopover: () => true;
35
40
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
41
+ controller: {
42
+ type: PropType<IInternalMessageController>;
43
+ required: true;
44
+ };
36
45
  showPopover: {
37
46
  type: BooleanConstructor;
38
47
  required: true;
@@ -1,12 +1,17 @@
1
- import { ref, reactive, resolveComponent, h, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { ref, reactive, createVNode, createTextVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { getInternalMessageProvider } from '@ibiz-template/runtime';
4
4
  import './internal-message-tab.css';
5
+ import { clone } from 'ramda';
5
6
 
6
7
  "use strict";
7
8
  const InternalMessageTab = /* @__PURE__ */ defineComponent({
8
9
  name: "IBizInternalMessageTab",
9
10
  props: {
11
+ controller: {
12
+ type: Object,
13
+ required: true
14
+ },
10
15
  showPopover: {
11
16
  type: Boolean,
12
17
  required: true
@@ -22,38 +27,22 @@ const InternalMessageTab = /* @__PURE__ */ defineComponent({
22
27
  const hiddenPopover = () => {
23
28
  emit("hiddenPopover");
24
29
  };
30
+ const c = props.controller;
25
31
  const allItems = ref([]);
26
32
  const state = reactive({
27
33
  total: 0,
28
- curPage: 0,
29
- pageSize: 20
34
+ pageSize: 0
30
35
  });
31
- const load = async (params) => {
32
- const res = await ibiz.internalMessage.fetch({
33
- page: 0,
34
- size: state.pageSize,
35
- ...params
36
- });
37
- if (res.ok) {
38
- if (typeof res.total === "number") {
39
- state.total = res.total;
40
- }
41
- if (typeof res.page === "number") {
42
- state.curPage = res.page;
43
- }
44
- if (state.curPage === 0) {
45
- allItems.value = res.data;
46
- } else {
47
- allItems.value.push(...res.data);
48
- }
49
- }
36
+ const updateData = () => {
37
+ allItems.value = clone(c.messages);
38
+ state.total = c.total;
39
+ state.pageSize = c.size;
50
40
  };
41
+ updateData();
42
+ c.evt.on("dataChange", updateData);
51
43
  const showMore = () => {
52
- load({
53
- page: state.curPage + 1
54
- });
44
+ c.loadMore();
55
45
  };
56
- load();
57
46
  return {
58
47
  ns,
59
48
  allItems,
@@ -74,15 +63,10 @@ const InternalMessageTab = /* @__PURE__ */ defineComponent({
74
63
  ibiz.log.error(error);
75
64
  }
76
65
  if (provider) {
77
- return h(resolveComponent(provider.component), {
66
+ return provider.render({
78
67
  class: this.ns.e("item"),
79
- onClick: (event) => {
80
- const isClose = provider.onClick(msg, event);
81
- if (isClose) {
82
- this.hiddenPopover();
83
- }
84
- },
85
- message: msg
68
+ message: msg,
69
+ onClose: this.hiddenPopover
86
70
  });
87
71
  }
88
72
  return createVNode("div", {
@@ -14,6 +14,7 @@ export declare const UserMessage: import("vue").DefineComponent<{
14
14
  }, {
15
15
  ns: import("@ibiz-template/core").Namespace;
16
16
  c: PanelItemController<import("@ibiz/model-core").IPanelItem>;
17
+ noticeController: import("@ibiz-template/runtime").INoticeController;
17
18
  noticeNum: import("vue").Ref<number>;
18
19
  popoverRef: import("vue").Ref<any>;
19
20
  showPopover: import("vue").Ref<boolean>;
@@ -1,6 +1,6 @@
1
1
  import { ref, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
- import { PanelItemController } from '@ibiz-template/runtime';
3
+ import { PanelItemController, PresetIdentifier } from '@ibiz-template/runtime';
4
4
  import './user-message.css';
5
5
  import { AsyncActionTab } from './async-action/async-action-tab/async-action-tab.mjs';
6
6
  import './internal-message/index.mjs';
@@ -22,6 +22,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
22
22
  setup(props) {
23
23
  const ns = useNamespace("user-message");
24
24
  const c = props.controller;
25
+ const noticeController = ibiz.hub.notice;
25
26
  const showPopover = ref(false);
26
27
  const currentTab = ref("notification");
27
28
  const sysImage = props.modelData.sysImage || {
@@ -35,6 +36,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
35
36
  return {
36
37
  ns,
37
38
  c,
39
+ noticeController,
38
40
  noticeNum,
39
41
  popoverRef,
40
42
  showPopover,
@@ -61,6 +63,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
61
63
  "hidden": this.noticeNum === 0
62
64
  }, {
63
65
  default: () => [createVNode(resolveComponent("i-biz-icon"), {
66
+ "id": PresetIdentifier.MESSAGE,
64
67
  "class": [this.ns.e("image")],
65
68
  "icon": this.sysImage
66
69
  }, null)]
@@ -77,6 +80,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
77
80
  "name": "notification"
78
81
  }, {
79
82
  default: () => [createVNode(InternalMessageTab, {
83
+ "controller": this.noticeController.internalMessage,
80
84
  "showPopover": this.showPopover,
81
85
  "onHiddenPopover": this.hiddenPopover
82
86
  }, null)]
@@ -85,6 +89,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
85
89
  "name": "async-action"
86
90
  }, {
87
91
  default: () => [createVNode(AsyncActionTab, {
92
+ "controller": this.noticeController.asyncAction,
88
93
  "showPopover": this.showPopover,
89
94
  "onHiddenPopover": this.hiddenPopover
90
95
  }, null)]
@@ -0,0 +1,24 @@
1
+ export declare const IBizViewMessage: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
4
+ required: true;
5
+ };
6
+ controller: {
7
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
8
+ required: true;
9
+ };
10
+ }, {
11
+ ns: import("@ibiz-template/core").Namespace;
12
+ c: import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>;
13
+ view: import("@ibiz-template/runtime").IViewController<import("@ibiz/model-core").IAppView, import("@ibiz-template/runtime").IViewState, import("@ibiz-template/runtime").IViewEvent>;
14
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
+ modelData: {
16
+ type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
17
+ required: true;
18
+ };
19
+ controller: {
20
+ type: typeof import("@ibiz-template/runtime").PanelItemController;
21
+ required: true;
22
+ };
23
+ }>>, {}, {}>>;
24
+ export default IBizViewMessage;
@@ -0,0 +1,15 @@
1
+ import { withInstall } from '@ibiz-template/vue3-util';
2
+ import { registerPanelItemProvider } from '@ibiz-template/runtime';
3
+ import { ViewMessage } from './view-message.mjs';
4
+ import { ViewMessageProvider } from './view-message.provider.mjs';
5
+
6
+ "use strict";
7
+ const IBizViewMessage = withInstall(ViewMessage, function(v) {
8
+ v.component(ViewMessage.name, ViewMessage);
9
+ registerPanelItemProvider(
10
+ "RAWITEM_VIEW_MESSAGE",
11
+ () => new ViewMessageProvider()
12
+ );
13
+ });
14
+
15
+ export { IBizViewMessage, IBizViewMessage as default };
@@ -0,0 +1,26 @@
1
+ import { PropType } from 'vue';
2
+ import { IPanelRawItem } from '@ibiz/model-core';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+ export declare const ViewMessage: import("vue").DefineComponent<{
5
+ modelData: {
6
+ type: PropType<IPanelRawItem>;
7
+ required: true;
8
+ };
9
+ controller: {
10
+ type: typeof PanelItemController;
11
+ required: true;
12
+ };
13
+ }, {
14
+ ns: import("@ibiz-template/core").Namespace;
15
+ c: PanelItemController<import("@ibiz/model-core").IPanelItem>;
16
+ view: import("@ibiz-template/runtime").IViewController<import("@ibiz/model-core").IAppView, import("@ibiz-template/runtime").IViewState, import("@ibiz-template/runtime").IViewEvent>;
17
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ modelData: {
19
+ type: PropType<IPanelRawItem>;
20
+ required: true;
21
+ };
22
+ controller: {
23
+ type: typeof PanelItemController;
24
+ required: true;
25
+ };
26
+ }>>, {}, {}>;
@@ -0,0 +1,46 @@
1
+ import { resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useNamespace, useCtx } from '@ibiz-template/vue3-util';
3
+ import { PanelItemController } from '@ibiz-template/runtime';
4
+
5
+ "use strict";
6
+ const ViewMessage = /* @__PURE__ */ defineComponent({
7
+ name: "IBizViewMessage",
8
+ props: {
9
+ modelData: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ controller: {
14
+ type: PanelItemController,
15
+ required: true
16
+ }
17
+ },
18
+ setup(props) {
19
+ const ns = useNamespace("view-message");
20
+ const c = props.controller;
21
+ const ctx = useCtx();
22
+ const {
23
+ view
24
+ } = ctx;
25
+ return {
26
+ ns,
27
+ c,
28
+ view
29
+ };
30
+ },
31
+ render() {
32
+ const c = this.view;
33
+ if (c.state.isCreated) {
34
+ const viewMessages = c.state.viewMessages.BODY;
35
+ if (viewMessages == null ? void 0 : viewMessages.length) {
36
+ return createVNode(resolveComponent("view-message"), {
37
+ "class": [this.ns.e("body-message")],
38
+ "messages": viewMessages
39
+ }, null);
40
+ }
41
+ }
42
+ return null;
43
+ }
44
+ });
45
+
46
+ export { ViewMessage };