@ibiz-template/vue3-components 0.5.7-alpha.3 → 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 (90) 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-15YjErDj.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/editor/html/html-editor.controller.d.ts +0 -26
  14. package/es/editor/html/html-editor.controller.mjs +1 -64
  15. package/es/editor/html/wang-editor/wang-editor.mjs +1 -1
  16. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +5 -17
  17. package/es/editor/markdown/markdown-editor.controller.d.ts +0 -26
  18. package/es/editor/markdown/markdown-editor.controller.mjs +2 -64
  19. package/es/editor/upload/upload-editor.controller.d.ts +0 -26
  20. package/es/editor/upload/upload-editor.controller.mjs +2 -64
  21. package/es/editor/upload/use/use-ibiz-upload.mjs +6 -1
  22. package/es/editor/upload/use/use-iview-upload.mjs +7 -2
  23. package/es/index.mjs +2 -0
  24. package/es/panel-component/user-message/async-action/async-action/async-action.d.ts +18 -4
  25. package/es/panel-component/user-message/async-action/async-action/async-action.mjs +34 -15
  26. package/es/panel-component/user-message/async-action/async-action/async-action.provider.d.ts +35 -2
  27. package/es/panel-component/user-message/async-action/async-action/async-action.provider.mjs +9 -2
  28. package/es/panel-component/user-message/async-action/async-action-tab/async-action-tab.d.ts +11 -51
  29. package/es/panel-component/user-message/async-action/async-action-tab/async-action-tab.mjs +22 -44
  30. package/es/panel-component/user-message/index.d.ts +1 -0
  31. package/es/panel-component/user-message/index.mjs +7 -0
  32. package/es/panel-component/user-message/internal-message/index.d.ts +2 -0
  33. package/es/panel-component/user-message/internal-message/index.mjs +2 -0
  34. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
  35. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.mjs +6 -5
  36. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.d.ts +19 -3
  37. package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.mjs +9 -3
  38. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -0
  39. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.d.ts +35 -0
  40. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.mjs +80 -0
  41. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.d.ts +40 -0
  42. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.mjs +55 -0
  43. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.css +1 -1
  44. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.d.ts +10 -1
  45. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +18 -34
  46. package/es/panel-component/user-message/user-message.d.ts +1 -0
  47. package/es/panel-component/user-message/user-message.mjs +4 -0
  48. package/es/util/app-popover/app-popover-component.d.ts +4 -2
  49. package/es/util/app-popover/app-popover-component.mjs +6 -2
  50. package/es/util/index.d.ts +1 -0
  51. package/es/util/index.mjs +1 -0
  52. package/es/util/notice-util/notice-util.d.ts +13 -0
  53. package/es/util/notice-util/notice-util.mjs +62 -0
  54. package/es/util/open-view-util/open-view-util.d.ts +10 -9
  55. package/es/util/open-view-util/open-view-util.mjs +6 -6
  56. package/es/util/overlay-controller/overlay-controller.d.ts +3 -2
  57. package/lib/common/data-import2/data-import2.cjs +7 -1
  58. package/lib/common/doing-notice/doing-notice.cjs +40 -0
  59. package/lib/common/doing-notice/doing-notice.css +1 -0
  60. package/lib/common/index.cjs +3 -0
  61. package/lib/editor/html/html-editor.controller.cjs +0 -63
  62. package/lib/editor/html/wang-editor/wang-editor.cjs +1 -1
  63. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +5 -17
  64. package/lib/editor/markdown/markdown-editor.controller.cjs +0 -62
  65. package/lib/editor/upload/upload-editor.controller.cjs +0 -62
  66. package/lib/editor/upload/use/use-ibiz-upload.cjs +6 -1
  67. package/lib/editor/upload/use/use-iview-upload.cjs +7 -2
  68. package/lib/index.cjs +4 -0
  69. package/lib/panel-component/user-message/async-action/async-action/async-action.cjs +34 -15
  70. package/lib/panel-component/user-message/async-action/async-action/async-action.provider.cjs +9 -2
  71. package/lib/panel-component/user-message/async-action/async-action-tab/async-action-tab.cjs +20 -42
  72. package/lib/panel-component/user-message/index.cjs +7 -0
  73. package/lib/panel-component/user-message/internal-message/index.cjs +4 -0
  74. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.cjs +6 -5
  75. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
  76. package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.provider.cjs +9 -3
  77. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.cjs +82 -0
  78. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -0
  79. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.provider.cjs +57 -0
  80. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +17 -33
  81. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.css +1 -1
  82. package/lib/panel-component/user-message/user-message.cjs +4 -0
  83. package/lib/util/app-popover/app-popover-component.cjs +6 -2
  84. package/lib/util/index.cjs +2 -0
  85. package/lib/util/notice-util/notice-util.cjs +64 -0
  86. package/lib/util/open-view-util/open-view-util.cjs +6 -6
  87. package/package.json +5 -5
  88. package/dist/ibiz-markdown-editor-RaswfMqH.js +0 -1
  89. package/dist/index-5ErnlgZ5.js +0 -2
  90. package/dist/wang-editor-8iEE3iXJ.js +0 -1
@@ -37,7 +37,7 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
37
37
  const cssVars = vue.ref({});
38
38
  vue.watch(() => props.data, (newVal) => {
39
39
  if (newVal && c) {
40
- const urls = c.calcBaseUrl(newVal);
40
+ const urls = ibiz.util.file.calcFileUpDownUrl(c.context, c.params, newVal, c.editorParams);
41
41
  uploadUrl.value = urls.uploadUrl;
42
42
  downloadUrl.value = urls.downloadUrl;
43
43
  }
@@ -46,22 +46,10 @@ const IBizMarkDown = /* @__PURE__ */ vue.defineComponent({
46
46
  deep: true
47
47
  });
48
48
  const markDownBox = vue.ref();
49
- const fileUpload = (file, callback) => {
50
- const formData = new FormData();
51
- formData.append("file", file);
52
- ibiz.net.axios({
53
- url: uploadUrl.value,
54
- method: "post",
55
- headers: headers.value,
56
- data: formData
57
- }).then((res) => {
58
- if (res.status === 200 && res.data.fileid) {
59
- const url = downloadUrl.value.replace("%fileId%", res.data.fileid);
60
- callback(url);
61
- }
62
- }).catch((error) => {
63
- ibiz.log.error("\u4E0A\u4F20\u51FA\u9519", error);
64
- });
49
+ const fileUpload = async (file, callback) => {
50
+ const data = await ibiz.util.file.fileUpload(uploadUrl.value, file, headers.value);
51
+ const url = downloadUrl.value.replace("%fileId%", data.fileid);
52
+ callback(url);
65
53
  };
66
54
  const getCherryHtml = () => {
67
55
  var _a;
@@ -2,7 +2,6 @@
2
2
 
3
3
  var core = require('@ibiz-template/core');
4
4
  var runtime = require('@ibiz-template/runtime');
5
- var qs = require('qs');
6
5
 
7
6
  "use strict";
8
7
  var __defProp = Object.defineProperty;
@@ -144,67 +143,6 @@ class MarkDownEditorController extends runtime.EditorController {
144
143
  }
145
144
  }
146
145
  }
147
- /**
148
- * 计算文件的上传路径和下载路径
149
- * 下载路径文件id用%fileId%占位,替换即可
150
- * 配置编辑器参数uploadParams和exportParams时,会像导航参数一样动态添加对应的参数到url上
151
- *
152
- * @author lxm
153
- * @date 2022-11-17 13:11:43
154
- * @param {IData} data
155
- * @returns {*} {{ uploadUrl: string; downloadUrl: string }}
156
- */
157
- calcBaseUrl(data) {
158
- let uploadUrl = "".concat(ibiz.env.baseUrl, "/").concat(ibiz.env.appId).concat(ibiz.env.uploadFileUrl);
159
- let downloadUrl = "".concat(ibiz.env.baseUrl, "/").concat(ibiz.env.appId).concat(ibiz.env.downloadFileUrl, "/%fileId%");
160
- let uploadParams = {};
161
- let exportParams = {};
162
- if (this.uploadParams) {
163
- uploadParams = runtime.convertNavData(
164
- this.uploadParams,
165
- data,
166
- this.params,
167
- this.context
168
- );
169
- }
170
- if (this.exportParams) {
171
- exportParams = runtime.convertNavData(
172
- this.exportParams,
173
- data,
174
- this.params,
175
- this.context
176
- );
177
- }
178
- uploadUrl += qs.stringify(uploadParams, { addQueryPrefix: true });
179
- downloadUrl += qs.stringify(exportParams, { addQueryPrefix: true });
180
- return { uploadUrl, downloadUrl };
181
- }
182
- /**
183
- * 请求url获取文件流,并用JS触发文件下载
184
- *
185
- * @author lxm
186
- * @date 2022-11-17 14:11:09
187
- * @param {string} url
188
- * @param {IData} file
189
- */
190
- fileDownload(file) {
191
- ibiz.net.request(file.url, {
192
- method: "get",
193
- responseType: "blob",
194
- baseURL: ""
195
- // 已经有baseURL了,这里无需再写
196
- }).then((response) => {
197
- if (response.status !== 200) {
198
- throw new core.RuntimeError("\u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25");
199
- }
200
- if (!response.data) {
201
- throw new core.RuntimeError("\u6587\u4EF6\u6D41\u6570\u636E\u4E0D\u5B58\u5728");
202
- } else {
203
- const fileName = file.name;
204
- core.downloadFileFromBlob(response.data, fileName);
205
- }
206
- });
207
- }
208
146
  }
209
147
 
210
148
  exports.MarkDownEditorController = MarkDownEditorController;
@@ -2,7 +2,6 @@
2
2
 
3
3
  var core = require('@ibiz-template/core');
4
4
  var runtime = require('@ibiz-template/runtime');
5
- var qs = require('qs');
6
5
 
7
6
  "use strict";
8
7
  var __defProp = Object.defineProperty;
@@ -79,67 +78,6 @@ class UploadEditorController extends runtime.EditorController {
79
78
  }
80
79
  }
81
80
  }
82
- /**
83
- * 计算文件的上传路径和下载路径
84
- * 下载路径文件id用%fileId%占位,替换即可
85
- * 配置编辑器参数uploadParams和exportParams时,会像导航参数一样动态添加对应的参数到url上
86
- *
87
- * @author lxm
88
- * @date 2022-11-17 13:11:43
89
- * @param {IData} data
90
- * @returns {*} {{ uploadUrl: string; downloadUrl: string }}
91
- */
92
- calcBaseUrl(data) {
93
- let uploadUrl = "".concat(ibiz.env.baseUrl, "/").concat(ibiz.env.appId).concat(ibiz.env.uploadFileUrl);
94
- let downloadUrl = "".concat(ibiz.env.baseUrl, "/").concat(ibiz.env.appId).concat(ibiz.env.downloadFileUrl, "/%fileId%");
95
- let uploadParams = {};
96
- let exportParams = {};
97
- if (this.uploadParams) {
98
- uploadParams = runtime.convertNavData(
99
- this.uploadParams,
100
- data,
101
- this.params,
102
- this.context
103
- );
104
- }
105
- if (this.exportParams) {
106
- exportParams = runtime.convertNavData(
107
- this.exportParams,
108
- data,
109
- this.params,
110
- this.context
111
- );
112
- }
113
- uploadUrl += qs.stringify(uploadParams, { addQueryPrefix: true });
114
- downloadUrl += qs.stringify(exportParams, { addQueryPrefix: true });
115
- return { uploadUrl, downloadUrl };
116
- }
117
- /**
118
- * 请求url获取文件流,并用JS触发文件下载
119
- *
120
- * @author lxm
121
- * @date 2022-11-17 14:11:09
122
- * @param {string} url
123
- * @param {IData} file
124
- */
125
- fileDownload(file) {
126
- ibiz.net.request(file.url, {
127
- method: "get",
128
- responseType: "blob",
129
- baseURL: ""
130
- // 已经有baseURL了,这里无需再写
131
- }).then((response) => {
132
- if (response.status !== 200) {
133
- throw new core.RuntimeError("\u4E0B\u8F7D\u6587\u4EF6\u5931\u8D25");
134
- }
135
- if (!response.data) {
136
- throw new core.RuntimeError("\u6587\u4EF6\u6D41\u6570\u636E\u4E0D\u5B58\u5728");
137
- } else {
138
- const fileName = file.name;
139
- core.downloadFileFromBlob(response.data, fileName);
140
- }
141
- });
142
- }
143
81
  }
144
82
 
145
83
  exports.UploadEditorController = UploadEditorController;
@@ -25,7 +25,12 @@ function useIBizUploadInit(props) {
25
25
  props.data,
26
26
  (newVal) => {
27
27
  if (newVal) {
28
- const urls = props.controller.value.calcBaseUrl(newVal);
28
+ const urls = ibiz.util.file.calcFileUpDownUrl(
29
+ props.controller.value.context,
30
+ props.controller.value.params,
31
+ newVal,
32
+ props.controller.value.editorParams
33
+ );
29
34
  uploadUrl.value = urls.uploadUrl;
30
35
  downloadUrl.value = urls.downloadUrl;
31
36
  }
@@ -28,7 +28,12 @@ function useIViewUpload(props, valueChange, c) {
28
28
  () => props.data,
29
29
  (newVal) => {
30
30
  if (newVal) {
31
- const urls = c.calcBaseUrl(newVal);
31
+ const urls = ibiz.util.file.calcFileUpDownUrl(
32
+ c.context,
33
+ c.params,
34
+ newVal,
35
+ c.editorParams
36
+ );
32
37
  uploadUrl.value = urls.uploadUrl;
33
38
  downloadUrl.value = urls.downloadUrl;
34
39
  }
@@ -98,7 +103,7 @@ function useIViewUpload(props, valueChange, c) {
98
103
  };
99
104
  const onDownload = (file) => {
100
105
  const url = file.url || downloadUrl.value.replace("%fileId%", file.id);
101
- c.fileDownload({ url, name: file.name });
106
+ ibiz.util.file.fileDownload(url, file.name);
102
107
  };
103
108
  const limit = vue.computed(() => {
104
109
  return c.multiple ? 9999 : 1;
package/lib/index.cjs CHANGED
@@ -48,6 +48,7 @@ var index$T = require('./control/map/index.cjs');
48
48
  var index$U = require('./control/report-panel/index.cjs');
49
49
  var index$V = require('./control/gantt/index.cjs');
50
50
  var index$W = require('./control/context-menu/index.cjs');
51
+ var doingNotice = require('./common/doing-notice/doing-notice.cjs');
51
52
  var col = require('./common/col/col.cjs');
52
53
  var row = require('./common/row/row.cjs');
53
54
  var actionToolbar = require('./common/action-toolbar/action-toolbar.cjs');
@@ -120,6 +121,7 @@ var notificationUtil = require('./util/notification-util/notification-util.cjs')
120
121
  var openViewUtil = require('./util/open-view-util/open-view-util.cjs');
121
122
  var overlayController = require('./util/overlay-controller/overlay-controller.cjs');
122
123
  var usePagination = require('./util/pagination/use-pagination.cjs');
124
+ var noticeUtil = require('./util/notice-util/notice-util.cjs');
123
125
 
124
126
  "use strict";
125
127
  var index = {
@@ -216,6 +218,7 @@ exports.IBizMapControl = index$T.IBizMapControl;
216
218
  exports.IBizReportPanelControl = index$U.IBizReportPanelControl;
217
219
  exports.IBizGanttControl = index$V.IBizGanttControl;
218
220
  exports.IBizContextMenuControl = index$W.IBizContextMenuControl;
221
+ exports.DoingNotice = doingNotice.DoingNotice;
219
222
  exports.IBizCol = col.IBizCol;
220
223
  exports.IBizRow = row.IBizRow;
221
224
  exports.IBizActionToolbar = actionToolbar.IBizActionToolbar;
@@ -291,4 +294,5 @@ exports.NotificationUtil = notificationUtil.NotificationUtil;
291
294
  exports.OpenViewUtil = openViewUtil.OpenViewUtil;
292
295
  exports.OverlayController = overlayController.OverlayController;
293
296
  exports.usePagination = usePagination.usePagination;
297
+ exports.NoticeUtil = noticeUtil.NoticeUtil;
294
298
  exports.default = index;
@@ -21,40 +21,58 @@ const stateType = {
21
21
  const AsyncAction = /* @__PURE__ */ vue.defineComponent({
22
22
  name: "IBizAsyncAction",
23
23
  props: {
24
- message: {
24
+ action: {
25
+ type: Object,
26
+ required: true
27
+ },
28
+ provider: {
25
29
  type: Object,
26
30
  required: true
27
31
  }
28
32
  },
29
- setup(props) {
33
+ emits: {
34
+ close: () => true
35
+ },
36
+ setup(props, {
37
+ emit
38
+ }) {
30
39
  const ns = vue3Util.useNamespace("async-action");
31
- const hasObjResult = vue.computed(() => lodashEs.isObject(props.message.actionresult));
40
+ const hasObjResult = vue.computed(() => lodashEs.isObject(props.action.actionresult));
32
41
  const clickable = vue.computed(() => {
33
- return !props.message.actiontype || hasObjResult.value;
42
+ return !props.action.actiontype || hasObjResult.value;
34
43
  });
35
44
  const showErrorInfo = vue.computed(() => {
36
- return props.message.actiontype && lodashEs.isString(props.message.actionresult);
45
+ return props.action.actiontype && lodashEs.isString(props.action.actionresult);
37
46
  });
38
47
  const actionstate = vue.computed(() => {
39
48
  if (hasObjResult.value) {
40
- const result = props.message.actionresult;
49
+ const result = props.action.actionresult;
41
50
  const errorNum = result.total - result.success;
42
51
  if (errorNum > 0) {
43
52
  return 40;
44
53
  }
45
54
  return 30;
46
55
  }
47
- return props.message.actionstate;
56
+ return props.action.actionstate;
48
57
  });
49
58
  const progressText = vue.computed(() => {
50
- return !props.message.completionrate ? "" : "(".concat(props.message.completionrate, "%)");
59
+ return !props.action.completionrate ? "" : "(".concat(props.action.completionrate, "%)");
51
60
  });
61
+ const onClick = async (event) => {
62
+ if (props.provider.onClick) {
63
+ const isClose = await props.provider.onClick(props.action, event);
64
+ if (isClose) {
65
+ emit("close");
66
+ }
67
+ }
68
+ };
52
69
  return {
53
70
  ns,
54
71
  showErrorInfo,
55
72
  clickable,
56
73
  actionstate,
57
- progressText
74
+ progressText,
75
+ onClick
58
76
  };
59
77
  },
60
78
  render() {
@@ -62,9 +80,10 @@ const AsyncAction = /* @__PURE__ */ vue.defineComponent({
62
80
  asyncacitonname,
63
81
  begintime,
64
82
  stepinfo = "\u8FDB\u884C\u4E2D"
65
- } = this.message;
83
+ } = this.action;
66
84
  return vue.createVNode("div", {
67
- "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""]
85
+ "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""],
86
+ "onClick": this.onClick
68
87
  }, [vue.createVNode("div", {
69
88
  "class": this.ns.b("left")
70
89
  }, [vue.createVNode("ion-icon", {
@@ -74,9 +93,9 @@ const AsyncAction = /* @__PURE__ */ vue.defineComponent({
74
93
  }, [vue.createVNode("div", {
75
94
  "class": this.ns.e("caption")
76
95
  }, [asyncacitonname]), this.showErrorInfo && vue.createVNode("div", {
77
- "title": this.message.actionresult,
96
+ "title": this.action.actionresult,
78
97
  "class": this.ns.e("error-info")
79
- }, [this.message.actionresult]), this.actionstate === 20 ? vue.createVNode("div", {
98
+ }, [this.action.actionresult]), this.actionstate === 20 ? vue.createVNode("div", {
80
99
  "class": this.ns.e("progress")
81
100
  }, [stepinfo, this.progressText]) : vue.createVNode("div", {
82
101
  "class": this.ns.e("begin-time")
@@ -86,11 +105,11 @@ const AsyncAction = /* @__PURE__ */ vue.defineComponent({
86
105
  "type": stateType[this.actionstate]
87
106
  }, {
88
107
  default: () => [stateTexts[this.actionstate]]
89
- })]), this.actionstate === 20 && !!this.message.completionrate && vue.createVNode("div", {
108
+ })]), this.actionstate === 20 && !!this.action.completionrate && vue.createVNode("div", {
90
109
  "class": this.ns.b("loading-warp")
91
110
  }, [vue.createVNode("div", {
92
111
  "class": this.ns.be("loading-warp", "inner"),
93
- "style": "width:".concat(this.message.completionrate, "%;")
112
+ "style": "width:".concat(this.action.completionrate, "%;")
94
113
  }, null)])]);
95
114
  }
96
115
  });
@@ -4,6 +4,7 @@ var vue = require('vue');
4
4
  var lodashEs = require('lodash-es');
5
5
  var asyncActionPreview = require('../async-action-preview/async-action-preview.cjs');
6
6
  var asyncActionResult = require('../async-action-result/async-action-result.cjs');
7
+ var asyncAction = require('./async-action.cjs');
7
8
 
8
9
  "use strict";
9
10
  var __defProp = Object.defineProperty;
@@ -14,9 +15,15 @@ var __publicField = (obj, key, value) => {
14
15
  };
15
16
  class AsyncActionProvider {
16
17
  constructor() {
17
- __publicField(this, "component", "IBizAsyncAction");
18
+ __publicField(this, "component", asyncAction.AsyncAction);
18
19
  }
19
- onClick(asyncAction, _event) {
20
+ render(props) {
21
+ return vue.h(this.component, {
22
+ provider: this,
23
+ ...props
24
+ });
25
+ }
26
+ async onClick(asyncAction, _event) {
20
27
  if (lodashEs.isNil(asyncAction.actiontype)) {
21
28
  ibiz.overlay.modal(
22
29
  (modal) => {
@@ -4,11 +4,16 @@ var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var runtime = require('@ibiz-template/runtime');
6
6
  require('./async-action-tab.css');
7
+ var core = require('@ibiz-template/core');
7
8
 
8
9
  "use strict";
9
10
  const AsyncActionTab = /* @__PURE__ */ vue.defineComponent({
10
11
  name: "IBizAsyncActionTab",
11
12
  props: {
13
+ controller: {
14
+ type: Object,
15
+ required: true
16
+ },
12
17
  showPopover: {
13
18
  type: Boolean,
14
19
  required: true
@@ -21,72 +26,45 @@ const AsyncActionTab = /* @__PURE__ */ vue.defineComponent({
21
26
  emit
22
27
  }) {
23
28
  const ns = vue3Util.useNamespace("async-action-tab");
24
- const {
25
- appStore
26
- } = vue3Util.useAppStore();
27
- const showHistoryLength = vue.ref(0);
28
- const actualMsgs = vue.computed(() => {
29
- const showLength = appStore.recentAsyncActions.length + showHistoryLength.value;
30
- return appStore.allAsyncActions.filter((_, index) => {
31
- return index < showLength;
32
- });
33
- });
34
- const hiddenHistory = () => {
35
- showHistoryLength.value = 0;
36
- };
37
- const showMoreHistory = () => {
38
- showHistoryLength.value += 10;
29
+ const c = props.controller;
30
+ const allItems = vue.ref([]);
31
+ const updateData = () => {
32
+ allItems.value = core.clone(c.actions);
39
33
  };
34
+ updateData();
35
+ c.evt.on("dataChange", updateData);
40
36
  const hiddenPopover = () => {
41
37
  emit("hiddenPopover");
42
38
  };
43
- vue.watch(() => props.showPopover, (newVal, oldVal) => {
44
- if (newVal !== oldVal && newVal === false) {
45
- hiddenHistory();
46
- }
47
- });
48
39
  return {
49
40
  ns,
50
- appStore,
51
- actualMsgs,
52
- hiddenPopover,
53
- hiddenHistory,
54
- showMoreHistory
41
+ allItems,
42
+ hiddenPopover
55
43
  };
56
44
  },
57
45
  render() {
58
- const restLength = this.appStore.allAsyncActions.length - this.actualMsgs.length;
59
- const loadMoreText = this.actualMsgs.length === 0 ? "\u67E5\u770B\u5386\u53F2\uFF08".concat(restLength, "\uFF09") : "\u52A0\u8F7D\u66F4\u591A\uFF08".concat(restLength, "\uFF09");
60
46
  return vue.createVNode("div", {
61
47
  "class": [this.ns.b()]
62
- }, [this.actualMsgs.length > 0 && this.actualMsgs.map((msg) => {
48
+ }, [this.allItems.length > 0 && this.allItems.map((msg) => {
63
49
  let provider;
64
50
  try {
65
- provider = runtime.getAsyncActionProvider(msg.actiontype);
51
+ provider = runtime.getAsyncActionProvider(msg);
66
52
  } catch (error) {
67
53
  ibiz.log.error(error);
68
54
  }
69
55
  if (provider) {
70
- return vue.h(vue.resolveComponent(provider.component), {
56
+ return provider.render({
71
57
  class: this.ns.e("item"),
72
- onClick: (event) => {
73
- const isClose = provider.onClick(msg, event);
74
- if (isClose) {
75
- this.hiddenPopover();
76
- }
77
- },
78
- message: msg
58
+ action: msg,
59
+ onClose: this.hiddenPopover
79
60
  });
80
61
  }
81
62
  return vue.createVNode("div", {
82
63
  "class": this.ns.e("item")
83
64
  }, ["\u5F02\u6B65\u64CD\u4F5C\u7C7B\u578B".concat(msg.actiontype, "\u6682\u672A\u652F\u6301")]);
84
- }), this.actualMsgs.length === 0 && vue.createVNode("div", {
65
+ }), this.allItems.length === 0 && vue.createVNode("div", {
85
66
  "class": this.ns.e("nodata")
86
- }, [vue.createTextVNode("\u6682\u65E0\u901A\u77E5")]), restLength > 0 && vue.createVNode("div", {
87
- "class": this.ns.e("load-more"),
88
- "onClick": this.showMoreHistory
89
- }, [loadMoreText])]);
67
+ }, [vue.createTextVNode("\u6682\u65E0\u5F02\u6B65\u64CD\u4F5C")])]);
90
68
  }
91
69
  });
92
70
 
@@ -10,20 +10,27 @@ var userMessage_provider = require('./user-message.provider.cjs');
10
10
  require('./internal-message/index.cjs');
11
11
  var asyncAction = require('./async-action/async-action/async-action.cjs');
12
12
  var internalMessageDefault = require('./internal-message/internal-message-default/internal-message-default.cjs');
13
+ var internalMessageJson = require('./internal-message/internal-message-json/internal-message-json.cjs');
13
14
  var asyncAction_provider = require('./async-action/async-action/async-action.provider.cjs');
14
15
  var internalMessageDefault_provider = require('./internal-message/internal-message-default/internal-message-default.provider.cjs');
16
+ var internalMessageJson_provider = require('./internal-message/internal-message-json/internal-message-json.provider.cjs');
15
17
 
16
18
  "use strict";
17
19
  const IBizUserMessage = vue3Util.withInstall(userMessage.UserMessage, function(v) {
18
20
  v.component(userMessage.UserMessage.name, userMessage.UserMessage);
19
21
  v.component(asyncAction.AsyncAction.name, asyncAction.AsyncAction);
20
22
  v.component(internalMessageDefault.InternalMessageDefault.name, internalMessageDefault.InternalMessageDefault);
23
+ v.component(internalMessageJson.InternalMessageJSON.name, internalMessageJson.InternalMessageJSON);
21
24
  runtime.registerAsyncActionProvider("DEIMPORTDATA2", () => new asyncAction_provider.AsyncActionProvider());
22
25
  runtime.registerAsyncActionProvider("DEFAULT", () => new asyncAction_provider.AsyncActionProvider());
23
26
  runtime.registerInternalMessageProvider(
24
27
  "DEFAULT",
25
28
  () => new internalMessageDefault_provider.InternalMessageDefaultProvider()
26
29
  );
30
+ runtime.registerInternalMessageProvider(
31
+ "JSON",
32
+ () => new internalMessageJson_provider.InternalMessageJSONtProvider()
33
+ );
27
34
  runtime.registerPanelItemProvider(
28
35
  "RAWITEM_USERMESSAGE",
29
36
  () => new userMessage_provider.UserMessageProvider()
@@ -3,9 +3,13 @@
3
3
  var internalMessageTab = require('./internal-message-tab/internal-message-tab.cjs');
4
4
  var internalMessageDefault_provider = require('./internal-message-default/internal-message-default.provider.cjs');
5
5
  var internalMessageDefault = require('./internal-message-default/internal-message-default.cjs');
6
+ var internalMessageJson_provider = require('./internal-message-json/internal-message-json.provider.cjs');
7
+ var internalMessageJson = require('./internal-message-json/internal-message-json.cjs');
6
8
 
7
9
  "use strict";
8
10
 
9
11
  exports.InternalMessageTab = internalMessageTab.InternalMessageTab;
10
12
  exports.InternalMessageDefaultProvider = internalMessageDefault_provider.InternalMessageDefaultProvider;
11
13
  exports.InternalMessageDefault = internalMessageDefault.InternalMessageDefault;
14
+ exports.InternalMessageJSONtProvider = internalMessageJson_provider.InternalMessageJSONtProvider;
15
+ exports.InternalMessageJSON = internalMessageJson.InternalMessageJSON;
@@ -31,10 +31,10 @@ const InternalMessageDefault = /* @__PURE__ */ vue.defineComponent({
31
31
  required: true
32
32
  }
33
33
  },
34
- setup(props) {
34
+ setup() {
35
35
  const ns = vue3Util.useNamespace("internal-message");
36
36
  const clickable = vue.computed(() => {
37
- return props.message.short_content !== props.message.content;
37
+ return false;
38
38
  });
39
39
  return {
40
40
  ns,
@@ -48,6 +48,9 @@ const InternalMessageDefault = /* @__PURE__ */ vue.defineComponent({
48
48
  short_content,
49
49
  status
50
50
  } = this.message;
51
+ const content = vue.createVNode("div", {
52
+ "class": this.ns.e("short-content")
53
+ }, [short_content]);
51
54
  return vue.createVNode("div", {
52
55
  "class": [this.ns.b(), this.clickable ? this.ns.m("clickable") : ""]
53
56
  }, [vue.createVNode("div", {
@@ -63,9 +66,7 @@ const InternalMessageDefault = /* @__PURE__ */ vue.defineComponent({
63
66
  "type": stateType[status]
64
67
  }, {
65
68
  default: () => [stateTexts[status]]
66
- }), title]), vue.createVNode("div", {
67
- "class": this.ns.e("short-content")
68
- }, [short_content]), vue.createVNode("div", {
69
+ }), title]), content, vue.createVNode("div", {
69
70
  "class": this.ns.e("create-time")
70
71
  }, [create_time])]), vue.createVNode("div", {
71
72
  "class": this.ns.b("toolbar")
@@ -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)}
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ var vue = require('vue');
4
+ var internalMessageDefault = require('./internal-message-default.cjs');
5
+
3
6
  "use strict";
4
7
  var __defProp = Object.defineProperty;
5
8
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
@@ -9,10 +12,13 @@ var __publicField = (obj, key, value) => {
9
12
  };
10
13
  class InternalMessageDefaultProvider {
11
14
  constructor() {
12
- __publicField(this, "component", "IBizInternalMessageDefault");
15
+ __publicField(this, "component", internalMessageDefault.InternalMessageDefault);
13
16
  }
14
- onClick(_msg, _event) {
15
- return false;
17
+ render(props) {
18
+ return vue.h(this.component, {
19
+ provider: this,
20
+ ...props
21
+ });
16
22
  }
17
23
  }
18
24