@opentiny/tiny-engine-workspace-application-center 2.10.0-rc.0 → 2.10.0

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.
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import "./style.css";
2
- import { ref as j, reactive as H, resolveComponent as c, createBlock as D, openBlock as u, withCtx as d, createVNode as n, createElementVNode as r, createElementBlock as w, createCommentVNode as L, Transition as K, Fragment as R, renderList as G, createTextVNode as F, normalizeClass as q, toDisplayString as P, onMounted as J } from "vue";
2
+ import { ref as j, reactive as H, resolveComponent as c, createBlock as D, openBlock as _, withCtx as d, createVNode as o, createElementVNode as r, createElementBlock as C, createCommentVNode as O, Transition as K, Fragment as G, renderList as R, createTextVNode as L, normalizeClass as q, toDisplayString as P, onMounted as J } from "vue";
3
3
  import { FormItem as Q, Form as W, DialogBox as X, Button as N, Input as Y, Search as Z, Divider as $, GridColumn as ee, Grid as te, Pager as ne, Select as oe, Notify as I, Modal as ae } from "@opentiny/vue";
4
4
  import { iconSearch as ie } from "@opentiny/vue-icon";
5
5
  import { SearchEmpty as le } from "@opentiny/tiny-engine-common";
6
- import { callEntry as z, getMetaApi as _, META_SERVICE as y } from "@opentiny/tiny-engine-meta-register";
6
+ import { callEntry as A, getMetaApi as g, META_SERVICE as u } from "@opentiny/tiny-engine-meta-register";
7
7
  const se = {
8
8
  components: {
9
9
  TinyInput: Y,
@@ -27,22 +27,22 @@ const se = {
27
27
  }
28
28
  },
29
29
  emits: ["confirm"],
30
- setup(a, { emit: t }) {
31
- const h = j(), e = H({
32
- name: a.template.name || "",
33
- description: a.template.description || "",
34
- sceneId: a.template.sceneId || null,
35
- industryId: a.template.industryId || null,
36
- assetsUrl: a.template.assetsUrl || "template-cover-1",
30
+ setup(i, { emit: t }) {
31
+ const f = j(), e = H({
32
+ name: i.template.name || "",
33
+ description: i.template.description || "",
34
+ sceneId: i.template.sceneId || null,
35
+ industryId: i.template.industryId || null,
36
+ assetsUrl: i.template.assetsUrl || "template-cover-1",
37
37
  framework: "Vue"
38
- }), v = j(!1), p = {
38
+ }), h = j(!1), z = {
39
39
  name: [
40
40
  { required: !0, message: "应用名称必填", trigger: "blur" },
41
41
  { max: 50, message: "长度不大于50", trigger: "change" },
42
42
  {
43
43
  trigger: "blur",
44
- validator: (m, l, C) => {
45
- /^[\w\-_]+$/.test(l) ? C() : C(new Error("应用名称只能包括英文、数字、中划线和下划线"));
44
+ validator: (m, l, v) => {
45
+ /^[\w\-_]+$/.test(l) ? v() : v(new Error("应用名称只能包括英文、数字、中划线和下划线"));
46
46
  }
47
47
  }
48
48
  ],
@@ -50,46 +50,46 @@ const se = {
50
50
  { max: 200, message: "长度不大于200", trigger: "change" },
51
51
  {
52
52
  trigger: "blur",
53
- validator: (m, l, C) => {
54
- /^[\w\-_\u4e00-\u9fa5]*$/.test(l) ? C() : C(new Error("描述只能包括中文、英文、数字、中划线和下划线"));
53
+ validator: (m, l, v) => {
54
+ /^[\w\-_\u4e00-\u9fa5]*$/.test(l) ? v() : v(new Error("描述只能包括中文、英文、数字、中划线和下划线"));
55
55
  }
56
56
  }
57
57
  ]
58
- }, s = (m) => t("update:visible", m), f = () => {
59
- v.value = !0;
58
+ }, a = (m) => t("update:visible", m), p = () => {
59
+ h.value = !0;
60
60
  }, b = (m) => {
61
- e.assetsUrl = m, v.value = !1;
62
- }, k = () => {
63
- v.value = !1, s(!1);
61
+ e.assetsUrl = m, h.value = !1;
62
+ }, w = () => {
63
+ h.value = !1, a(!1);
64
64
  };
65
65
  return {
66
- isOpen: v,
67
- editAppInfoRef: h,
66
+ isOpen: h,
67
+ editAppInfoRef: f,
68
68
  formState: e,
69
- validRules: p,
70
- setVisible: s,
71
- handleOpen: f,
69
+ validRules: z,
70
+ setVisible: a,
71
+ handleOpen: p,
72
72
  handleSelectIcon: b,
73
73
  confirm: () => {
74
- h.value.validate((m) => {
74
+ f.value.validate((m) => {
75
75
  var l;
76
76
  m && (t(
77
77
  "confirm",
78
- (l = a.template) != null && l.id ? {
79
- id: a.template.id,
78
+ (l = i.template) != null && l.id ? {
79
+ id: i.template.id,
80
80
  ...e
81
81
  } : e
82
- ), k());
82
+ ), w());
83
83
  });
84
84
  },
85
- cancle: k
85
+ cancle: w
86
86
  };
87
87
  }
88
- }, M = (a, t) => {
89
- const h = a.__vccOpts || a;
90
- for (const [e, v] of t)
91
- h[e] = v;
92
- return h;
88
+ }, M = (i, t) => {
89
+ const f = i.__vccOpts || i;
90
+ for (const [e, h] of t)
91
+ f[e] = h;
92
+ return f;
93
93
  }, re = { class: "form-item-icon-wrapper" }, pe = {
94
94
  key: 0,
95
95
  class: "form-item-icon-mask"
@@ -97,10 +97,10 @@ const se = {
97
97
  key: 0,
98
98
  class: "dropdown-menu"
99
99
  }, de = { class: "icon-list" };
100
- function me(a, t, h, e, v, p) {
101
- const s = c("tiny-input"), f = c("tiny-form-item"), b = c("svg-icon"), k = c("tiny-form"), x = c("tiny-button"), m = c("tiny-dialog-box");
102
- return u(), D(m, {
103
- visible: h.visible,
100
+ function me(i, t, f, e, h, z) {
101
+ const a = c("tiny-input"), p = c("tiny-form-item"), b = c("svg-icon"), w = c("tiny-form"), k = c("tiny-button"), m = c("tiny-dialog-box");
102
+ return _(), D(m, {
103
+ visible: f.visible,
104
104
  title: "新建应用",
105
105
  width: "400px",
106
106
  "append-to-body": "",
@@ -108,24 +108,24 @@ function me(a, t, h, e, v, p) {
108
108
  onClose: e.cancle
109
109
  }, {
110
110
  footer: d(() => [
111
- n(x, {
111
+ o(k, {
112
112
  type: "primary",
113
113
  onClick: e.confirm
114
114
  }, {
115
115
  default: d(() => [...t[2] || (t[2] = [
116
- F(" 确定 ", -1)
116
+ L(" 确定 ", -1)
117
117
  ])]),
118
118
  _: 1
119
119
  }, 8, ["onClick"]),
120
- n(x, { onClick: e.cancle }, {
120
+ o(k, { onClick: e.cancle }, {
121
121
  default: d(() => [...t[3] || (t[3] = [
122
- F("取消", -1)
122
+ L("取消", -1)
123
123
  ])]),
124
124
  _: 1
125
125
  }, 8, ["onClick"])
126
126
  ]),
127
127
  default: d(() => [
128
- n(k, {
128
+ o(w, {
129
129
  ref: "editAppInfoRef",
130
130
  "label-position": "left",
131
131
  "label-width": "84px",
@@ -135,12 +135,12 @@ function me(a, t, h, e, v, p) {
135
135
  "validate-type": "text"
136
136
  }, {
137
137
  default: d(() => [
138
- n(f, {
138
+ o(p, {
139
139
  label: "应用名称",
140
140
  prop: "name"
141
141
  }, {
142
142
  default: d(() => [
143
- n(s, {
143
+ o(a, {
144
144
  modelValue: e.formState.name,
145
145
  "onUpdate:modelValue": t[0] || (t[0] = (l) => e.formState.name = l),
146
146
  placeholder: "请输入"
@@ -148,12 +148,12 @@ function me(a, t, h, e, v, p) {
148
148
  ]),
149
149
  _: 1
150
150
  }),
151
- n(f, {
151
+ o(p, {
152
152
  label: "应用描述",
153
153
  prop: "description"
154
154
  }, {
155
155
  default: d(() => [
156
- n(s, {
156
+ o(a, {
157
157
  modelValue: e.formState.description,
158
158
  "onUpdate:modelValue": t[1] || (t[1] = (l) => e.formState.description = l),
159
159
  type: "textarea",
@@ -162,27 +162,27 @@ function me(a, t, h, e, v, p) {
162
162
  ]),
163
163
  _: 1
164
164
  }),
165
- n(f, { label: "缩略图" }, {
165
+ o(p, { label: "缩略图" }, {
166
166
  default: d(() => [
167
167
  r("div", re, [
168
- e.isOpen ? (u(), w("div", pe)) : L("", !0),
169
- n(b, {
168
+ e.isOpen ? (_(), C("div", pe)) : O("", !0),
169
+ o(b, {
170
170
  name: e.formState.assetsUrl,
171
171
  class: "form-item-icon",
172
172
  onClick: e.handleOpen
173
173
  }, null, 8, ["name", "onClick"]),
174
- n(K, { name: "dropdown" }, {
174
+ o(K, { name: "dropdown" }, {
175
175
  default: d(() => [
176
- e.isOpen ? (u(), w("div", ce, [
176
+ e.isOpen ? (_(), C("div", ce, [
177
177
  r("div", de, [
178
- (u(), w(R, null, G(15, (l) => n(b, {
178
+ (_(), C(G, null, R(15, (l) => o(b, {
179
179
  key: l,
180
180
  name: "template-cover-" + l,
181
181
  class: "icon",
182
- onClick: (C) => e.handleSelectIcon("template-cover-" + l)
182
+ onClick: (v) => e.handleSelectIcon("template-cover-" + l)
183
183
  }, null, 8, ["name", "onClick"])), 64))
184
184
  ])
185
- ])) : L("", !0)
185
+ ])) : O("", !0)
186
186
  ]),
187
187
  _: 1
188
188
  })
@@ -202,91 +202,91 @@ const ge = /* @__PURE__ */ M(se, [["render", me], ["__scopeId", "data-v-8e68e516
202
202
  title: "应用中心",
203
203
  type: "workspace",
204
204
  icon: "workspace-icon-application-center"
205
- }, O = z(() => _(y.Http).get("/material-center/api/business-category/list"), {
205
+ }, T = A(() => g(u.Http).get("/material-center/api/business-category/list"), {
206
206
  metaData: {
207
207
  id: "engine.plugins.blockmanage.js-http.fetchBusinessCategory"
208
208
  },
209
209
  ctx: () => ({
210
- getMetaApi: _,
211
- META_SERVICE: y,
212
- fetchBusinessCategory: O,
210
+ getMetaApi: g,
211
+ META_SERVICE: u,
212
+ fetchBusinessCategory: T,
213
213
  fetchBusinessCategoryByGroup: U,
214
- fetchApplicationList: B,
215
- createApplication: V,
216
- updateApplication: A,
217
- deleteApplication: T
214
+ fetchApplicationList: S,
215
+ createApplication: x,
216
+ updateApplication: B,
217
+ deleteApplication: V
218
218
  })
219
- }), U = z((a) => _(y.Http).get(`/material-center/api/business-category/find?group=${a}`), {
219
+ }), U = A((i) => g(u.Http).get(`/material-center/api/business-category/find?group=${i}`), {
220
220
  metaData: {
221
221
  id: "engine.plugins.blockmanage.js-http.fetchBusinessCategoryByGroup"
222
222
  },
223
223
  ctx: () => ({
224
- getMetaApi: _,
225
- META_SERVICE: y,
226
- fetchBusinessCategory: O,
224
+ getMetaApi: g,
225
+ META_SERVICE: u,
226
+ fetchBusinessCategory: T,
227
227
  fetchBusinessCategoryByGroup: U,
228
- fetchApplicationList: B,
229
- createApplication: V,
230
- updateApplication: A,
231
- deleteApplication: T
228
+ fetchApplicationList: S,
229
+ createApplication: x,
230
+ updateApplication: B,
231
+ deleteApplication: V
232
232
  })
233
- }), B = z((a) => _(y.Http).get("/app-center/api/apps/page", {
234
- params: a
233
+ }), S = A((i) => g(u.Http).get("/app-center/api/apps/page", {
234
+ params: i
235
235
  }), {
236
236
  metaData: {
237
237
  id: "engine.plugins.blockmanage.js-http.fetchApplicationList"
238
238
  },
239
239
  ctx: () => ({
240
- getMetaApi: _,
241
- META_SERVICE: y,
242
- fetchBusinessCategory: O,
240
+ getMetaApi: g,
241
+ META_SERVICE: u,
242
+ fetchBusinessCategory: T,
243
243
  fetchBusinessCategoryByGroup: U,
244
- fetchApplicationList: B,
245
- createApplication: V,
246
- updateApplication: A,
247
- deleteApplication: T
244
+ fetchApplicationList: S,
245
+ createApplication: x,
246
+ updateApplication: B,
247
+ deleteApplication: V
248
248
  })
249
- }), V = z((a) => _(y.Http).post("/app-center/api/apps/create", a), {
249
+ }), x = A((i) => g(u.Http).post("/app-center/api/apps/create", i), {
250
250
  metaData: {
251
251
  id: "engine.plugins.blockmanage.js-http.createApplication"
252
252
  },
253
253
  ctx: () => ({
254
- getMetaApi: _,
255
- META_SERVICE: y,
256
- fetchBusinessCategory: O,
254
+ getMetaApi: g,
255
+ META_SERVICE: u,
256
+ fetchBusinessCategory: T,
257
257
  fetchBusinessCategoryByGroup: U,
258
- fetchApplicationList: B,
259
- createApplication: V,
260
- updateApplication: A,
261
- deleteApplication: T
258
+ fetchApplicationList: S,
259
+ createApplication: x,
260
+ updateApplication: B,
261
+ deleteApplication: V
262
262
  })
263
- }), A = z((a, t) => _(y.Http).post(`/app-center/api/apps/update/${a}`, t), {
263
+ }), B = A((i, t) => g(u.Http).post(`/app-center/api/apps/update/${i}`, t), {
264
264
  metaData: {
265
265
  id: "engine.plugins.blockmanage.js-http.updateApplication"
266
266
  },
267
267
  ctx: () => ({
268
- getMetaApi: _,
269
- META_SERVICE: y,
270
- fetchBusinessCategory: O,
268
+ getMetaApi: g,
269
+ META_SERVICE: u,
270
+ fetchBusinessCategory: T,
271
271
  fetchBusinessCategoryByGroup: U,
272
- fetchApplicationList: B,
273
- createApplication: V,
274
- updateApplication: A,
275
- deleteApplication: T
272
+ fetchApplicationList: S,
273
+ createApplication: x,
274
+ updateApplication: B,
275
+ deleteApplication: V
276
276
  })
277
- }), T = z((a) => _(y.Http).get(`/app-center/api/apps/delete/${a}`), {
277
+ }), V = A((i) => g(u.Http).get(`/app-center/api/apps/delete/${i}`), {
278
278
  metaData: {
279
279
  id: "engine.plugins.blockmanage.js-http.deleteApplication"
280
280
  },
281
281
  ctx: () => ({
282
- getMetaApi: _,
283
- META_SERVICE: y,
284
- fetchBusinessCategory: O,
282
+ getMetaApi: g,
283
+ META_SERVICE: u,
284
+ fetchBusinessCategory: T,
285
285
  fetchBusinessCategoryByGroup: U,
286
- fetchApplicationList: B,
287
- createApplication: V,
288
- updateApplication: A,
289
- deleteApplication: T
286
+ fetchApplicationList: S,
287
+ createApplication: x,
288
+ updateApplication: B,
289
+ deleteApplication: V
290
290
  })
291
291
  }), _e = {
292
292
  components: {
@@ -302,7 +302,7 @@ const ge = /* @__PURE__ */ M(se, [["render", me], ["__scopeId", "data-v-8e68e516
302
302
  AppDialog: ge
303
303
  },
304
304
  setup() {
305
- const a = j([]), t = [
305
+ const { getUserInfo: i } = g(u.GlobalService), t = j([]), f = [
306
306
  {
307
307
  label: "全部应用",
308
308
  value: "all"
@@ -311,7 +311,7 @@ const ge = /* @__PURE__ */ M(se, [["render", me], ["__scopeId", "data-v-8e68e516
311
311
  label: "我的应用",
312
312
  value: "my"
313
313
  }
314
- ], h = [
314
+ ], e = [
315
315
  {
316
316
  label: "按创建时间排序",
317
317
  value: "created_time"
@@ -320,7 +320,7 @@ const ge = /* @__PURE__ */ M(se, [["render", me], ["__scopeId", "data-v-8e68e516
320
320
  label: "按最近更新时间排序",
321
321
  value: "last_updated_time"
322
322
  }
323
- ], e = [
323
+ ], h = [
324
324
  {
325
325
  id: "default",
326
326
  name: "栅格",
@@ -331,7 +331,7 @@ const ge = /* @__PURE__ */ M(se, [["render", me], ["__scopeId", "data-v-8e68e516
331
331
  name: "列表",
332
332
  assetsUrl: "small-list"
333
333
  }
334
- ], v = new URLSearchParams(location.search), p = H({
334
+ ], z = new URLSearchParams(location.search), a = H({
335
335
  appFilter: "all",
336
336
  orderBy: "created_time",
337
337
  appSearchKey: "",
@@ -341,256 +341,256 @@ const ge = /* @__PURE__ */ M(se, [["render", me], ["__scopeId", "data-v-8e68e516
341
341
  currentPage: 1,
342
342
  pageSizes: [10, 20, 30, 40],
343
343
  appVisible: !1
344
- }), s = () => {
345
- const i = {
346
- currentPage: p.currentPage,
347
- pageSize: p.pageSize,
348
- name: p.appSearchKey,
349
- createdBy: p.appFilter === "all" ? "" : "1"
344
+ }), p = () => {
345
+ const s = i(), y = {
346
+ currentPage: a.currentPage,
347
+ pageSize: a.pageSize,
348
+ name: a.appSearchKey,
349
+ createdBy: a.appFilter === "all" ? "" : s.id
350
350
  };
351
- p.orderBy === "last_updated_time" && (i.orderBy = p.orderBy), B(Object.fromEntries(Object.entries(i).filter(([, g]) => !!g))).then((g) => {
352
- a.value = g.apps || [], p.total = g.total;
351
+ a.orderBy === "last_updated_time" && (y.orderBy = a.orderBy), S(Object.fromEntries(Object.entries(y).filter(([, n]) => !!n))).then((n) => {
352
+ t.value = n.apps || [], a.total = n.total;
353
353
  });
354
- }, f = () => {
355
- p.appVisible = !0;
356
- }, b = (i) => {
354
+ }, b = () => {
355
+ a.appVisible = !0;
356
+ }, w = (s) => {
357
357
  ae.confirm({
358
358
  message: "即将删除应用,删除后不可恢复,请谨慎操作。",
359
359
  title: "删除应用"
360
- }).then((g) => {
361
- g === "confirm" && T(i.id).then(() => {
362
- s();
363
- }).catch((S) => {
360
+ }).then((y) => {
361
+ y === "confirm" && V(s.id).then(() => {
362
+ p();
363
+ }).catch((n) => {
364
364
  I({
365
365
  type: "error",
366
- message: S,
366
+ message: n,
367
367
  position: "top-right",
368
368
  duration: 5e3
369
369
  });
370
370
  });
371
371
  });
372
- }, k = (i) => {
373
- const S = `${window.location.href.split("?")[0] || "./"}?type=app&id=${i.id}&tenant=${i.tenantId || v.get("tenant")}`;
372
+ }, k = (s) => {
373
+ const n = `${window.location.href.split("?")[0] || "./"}?type=app&id=${s.id}&tenant=${s.tenantId || z.get("tenant")}`;
374
374
  window.self !== window.top ? window.parent.postMessage(
375
375
  {
376
376
  type: "openNewTab",
377
- url: S
377
+ url: n
378
378
  },
379
379
  "*"
380
- ) : window.open(S);
381
- }, x = (i) => {
382
- p.type = i;
383
- }, m = (i) => {
384
- p.pageSize = i, p.currentPage = 1, s();
385
- }, l = (i) => {
386
- p.currentPage = i, s();
387
- }, C = (i) => {
388
- if (i != null && i.id) {
389
- const g = i.id;
390
- delete i.id, A(g, i).then(() => {
380
+ ) : window.open(n);
381
+ }, m = (s) => {
382
+ a.type = s;
383
+ }, l = (s) => {
384
+ a.pageSize = s, a.currentPage = 1, p();
385
+ }, v = (s) => {
386
+ a.currentPage = s, p();
387
+ }, E = (s) => {
388
+ if (s != null && s.id) {
389
+ const y = s.id;
390
+ delete s.id, B(y, s).then(() => {
391
391
  I({
392
392
  type: "success",
393
393
  message: "应用更新成功",
394
394
  position: "top-right",
395
395
  duration: 5e3
396
- }), s();
397
- }).catch((S) => {
396
+ }), p();
397
+ }).catch((n) => {
398
398
  I({
399
399
  type: "error",
400
- message: S,
400
+ message: n,
401
401
  position: "top-right",
402
402
  duration: 5e3
403
403
  });
404
404
  });
405
405
  } else
406
- V(i).then(() => {
406
+ x(s).then(() => {
407
407
  I({
408
408
  type: "success",
409
409
  message: "应用创建成功",
410
410
  position: "top-right",
411
411
  duration: 5e3
412
- }), s();
413
- }).catch((g) => {
412
+ }), p();
413
+ }).catch((y) => {
414
414
  I({
415
415
  type: "error",
416
- message: g,
416
+ message: y,
417
417
  position: "top-right",
418
418
  duration: 5e3
419
419
  });
420
420
  });
421
421
  };
422
422
  return J(() => {
423
- s();
423
+ p();
424
424
  }), {
425
- state: p,
426
- appList: a,
427
- appFilterOptions: t,
428
- appOrderByOptions: h,
429
- arrangeOptions: e,
430
- creatApp: f,
431
- getApplicationList: s,
432
- typeClick: x,
433
- handleDelete: b,
425
+ state: a,
426
+ appList: t,
427
+ appFilterOptions: f,
428
+ appOrderByOptions: e,
429
+ arrangeOptions: h,
430
+ creatApp: b,
431
+ getApplicationList: p,
432
+ typeClick: m,
433
+ handleDelete: w,
434
434
  openApplication: k,
435
- confirmApp: C,
436
- pageSizeChange: m,
437
- currentChange: l
435
+ confirmApp: E,
436
+ pageSizeChange: l,
437
+ currentChange: v
438
438
  };
439
439
  }
440
- }, ye = { class: "app-center" }, fe = { class: "app-center-operation" }, he = { class: "app-center-filter" }, ve = { class: "type-toolbar" }, Ce = ["onClick"], be = { class: "app-center-list" }, we = { class: "list-wrap" }, ke = {
440
+ }, ye = { class: "app-center" }, fe = { class: "app-center-operation" }, he = { class: "app-center-filter" }, ve = { class: "type-toolbar" }, be = ["onClick"], Ce = { class: "app-center-list" }, we = { class: "list-wrap" }, ke = {
441
441
  key: 0,
442
442
  class: "list"
443
- }, Se = { class: "app-name" }, xe = { class: "app-name-content" }, Be = { class: "app-name-text" }, Ve = { class: "app-desc" }, Ae = { class: "app-operation" }, Te = ["onClick"], ze = ["onClick"], Oe = { class: "app-name" };
444
- function Ue(a, t, h, e, v, p) {
445
- const s = c("svg-icon"), f = c("tiny-button"), b = c("tiny-select"), k = c("tiny-icon-search"), x = c("tiny-search"), m = c("tiny-divider"), l = c("tiny-grid-column"), C = c("tiny-grid"), i = c("search-empty"), g = c("tiny-pager"), S = c("app-dialog");
446
- return u(), w("div", ye, [
443
+ }, Se = { class: "app-name" }, xe = { class: "app-name-content" }, Be = { class: "app-name-text" }, Ve = { class: "app-desc" }, Ae = { class: "app-operation" }, Te = ["onClick"], Ue = ["onClick"], ze = { class: "app-name" };
444
+ function Ie(i, t, f, e, h, z) {
445
+ const a = c("svg-icon"), p = c("tiny-button"), b = c("tiny-select"), w = c("tiny-icon-search"), k = c("tiny-search"), m = c("tiny-divider"), l = c("tiny-grid-column"), v = c("tiny-grid"), E = c("search-empty"), s = c("tiny-pager"), y = c("app-dialog");
446
+ return _(), C("div", ye, [
447
447
  t[10] || (t[10] = r("div", { class: "app-center-title" }, "应用中心", -1)),
448
448
  r("div", fe, [
449
- n(f, {
449
+ o(p, {
450
450
  class: "add-app",
451
- onClick: t[0] || (t[0] = (o) => e.creatApp())
451
+ onClick: t[0] || (t[0] = (n) => e.creatApp())
452
452
  }, {
453
453
  default: d(() => [
454
- n(s, { name: "add" }),
455
- t[5] || (t[5] = F("创建应用 ", -1))
454
+ o(a, { name: "add" }),
455
+ t[5] || (t[5] = L("创建应用 ", -1))
456
456
  ]),
457
457
  _: 1
458
458
  }),
459
459
  r("div", he, [
460
- n(b, {
460
+ o(b, {
461
461
  modelValue: e.state.appFilter,
462
- "onUpdate:modelValue": t[1] || (t[1] = (o) => e.state.appFilter = o),
462
+ "onUpdate:modelValue": t[1] || (t[1] = (n) => e.state.appFilter = n),
463
463
  options: e.appFilterOptions,
464
464
  onChange: e.getApplicationList
465
465
  }, null, 8, ["modelValue", "options", "onChange"]),
466
- n(b, {
466
+ o(b, {
467
467
  modelValue: e.state.orderBy,
468
- "onUpdate:modelValue": t[2] || (t[2] = (o) => e.state.orderBy = o),
468
+ "onUpdate:modelValue": t[2] || (t[2] = (n) => e.state.orderBy = n),
469
469
  options: e.appOrderByOptions,
470
470
  onChange: e.getApplicationList
471
471
  }, null, 8, ["modelValue", "options", "onChange"]),
472
- n(x, {
472
+ o(k, {
473
473
  class: "app-center-search",
474
474
  modelValue: e.state.appSearchKey,
475
- "onUpdate:modelValue": t[3] || (t[3] = (o) => e.state.appSearchKey = o),
475
+ "onUpdate:modelValue": t[3] || (t[3] = (n) => e.state.appSearchKey = n),
476
476
  clearable: "",
477
477
  placeholder: "输入关键字搜索、过滤",
478
478
  onSearch: e.getApplicationList,
479
479
  "is-enter-search": ""
480
480
  }, {
481
481
  prefix: d(() => [
482
- n(k)
482
+ o(w)
483
483
  ]),
484
484
  _: 1
485
485
  }, 8, ["modelValue", "onSearch"]),
486
486
  r("div", ve, [
487
- (u(!0), w(R, null, G(e.arrangeOptions, (o) => (u(), w("span", {
488
- key: o.id,
489
- class: q(["icon-wrap", { active: e.state.type === o.id }]),
490
- onClick: (E) => e.typeClick(o.id)
487
+ (_(!0), C(G, null, R(e.arrangeOptions, (n) => (_(), C("span", {
488
+ key: n.id,
489
+ class: q(["icon-wrap", { active: e.state.type === n.id }]),
490
+ onClick: (F) => e.typeClick(n.id)
491
491
  }, [
492
- n(s, {
493
- name: o.assetsUrl
492
+ o(a, {
493
+ name: n.assetsUrl
494
494
  }, null, 8, ["name"])
495
- ], 10, Ce))), 128))
495
+ ], 10, be))), 128))
496
496
  ])
497
497
  ])
498
498
  ]),
499
- r("div", be, [
499
+ r("div", Ce, [
500
500
  r("div", we, [
501
- e.state.type === "default" ? (u(), w("div", ke, [
502
- (u(!0), w(R, null, G(e.appList, (o) => (u(), w("div", {
503
- key: o.id,
501
+ e.state.type === "default" ? (_(), C("div", ke, [
502
+ (_(!0), C(G, null, R(e.appList, (n) => (_(), C("div", {
503
+ key: n.id,
504
504
  class: "item"
505
505
  }, [
506
506
  r("div", Se, [
507
- n(s, {
508
- name: o.assetsUrl || "template-cover-1",
507
+ o(a, {
508
+ name: n.assetsUrl || "template-cover-1",
509
509
  class: "app-img"
510
510
  }, null, 8, ["name"]),
511
511
  r("div", xe, [
512
- r("div", Be, P(o.name), 1),
513
- r("div", Ve, P(o.description), 1)
512
+ r("div", Be, P(n.name), 1),
513
+ r("div", Ve, P(n.description), 1)
514
514
  ])
515
515
  ]),
516
516
  r("div", Ae, [
517
517
  r("div", {
518
518
  class: "option",
519
- onClick: (E) => e.openApplication(o)
519
+ onClick: (F) => e.openApplication(n)
520
520
  }, [
521
- n(s, { name: "cloud-shell" }),
521
+ o(a, { name: "cloud-shell" }),
522
522
  t[6] || (t[6] = r("span", { class: "option-text" }, "开发应用", -1))
523
523
  ], 8, Te),
524
- n(m, { direction: "vertical" }),
524
+ o(m, { direction: "vertical" }),
525
525
  r("div", {
526
526
  class: "option",
527
- onClick: (E) => e.handleDelete(o)
527
+ onClick: (F) => e.handleDelete(n)
528
528
  }, [
529
- n(s, { name: "delete" }),
529
+ o(a, { name: "delete" }),
530
530
  t[7] || (t[7] = r("span", { class: "option-text" }, "删除应用", -1))
531
- ], 8, ze)
531
+ ], 8, Ue)
532
532
  ])
533
533
  ]))), 128))
534
- ])) : L("", !0),
535
- e.state.type === "table" && e.appList.length ? (u(), D(C, {
534
+ ])) : O("", !0),
535
+ e.state.type === "table" && e.appList.length ? (_(), D(v, {
536
536
  key: 1,
537
537
  ref: "gridRef",
538
538
  class: "table",
539
539
  data: e.appList
540
540
  }, {
541
541
  default: d(() => [
542
- n(l, {
542
+ o(l, {
543
543
  field: "name",
544
544
  title: "应用名称",
545
545
  "show-overflow": ""
546
546
  }, {
547
- default: d((o) => [
548
- r("div", Oe, [
549
- n(s, {
550
- name: o.row.assetsUrl || "template-cover-1",
547
+ default: d((n) => [
548
+ r("div", ze, [
549
+ o(a, {
550
+ name: n.row.assetsUrl || "template-cover-1",
551
551
  class: "app-img"
552
552
  }, null, 8, ["name"]),
553
- r("span", null, P(o.row.name), 1)
553
+ r("span", null, P(n.row.name), 1)
554
554
  ])
555
555
  ]),
556
556
  _: 1
557
557
  }),
558
- n(l, {
558
+ o(l, {
559
559
  field: "created_at",
560
560
  title: "创建时间",
561
561
  "show-overflow": ""
562
562
  }),
563
- n(l, {
563
+ o(l, {
564
564
  field: "createdBy",
565
565
  title: "创建人",
566
566
  "show-overflow": ""
567
567
  }),
568
- n(l, {
568
+ o(l, {
569
569
  field: "description",
570
570
  title: "应用描述",
571
571
  "show-overflow": ""
572
572
  }),
573
- n(l, {
573
+ o(l, {
574
574
  width: "180",
575
575
  field: "operation",
576
576
  title: "操作"
577
577
  }, {
578
- default: d((o) => [
579
- n(f, {
578
+ default: d((n) => [
579
+ o(p, {
580
580
  type: "text",
581
- onClick: (E) => e.openApplication(o.row)
581
+ onClick: (F) => e.openApplication(n.row)
582
582
  }, {
583
583
  default: d(() => [...t[8] || (t[8] = [
584
- F(" 开发应用 ", -1)
584
+ L(" 开发应用 ", -1)
585
585
  ])]),
586
586
  _: 1
587
587
  }, 8, ["onClick"]),
588
- n(f, {
588
+ o(p, {
589
589
  type: "text",
590
- onClick: (E) => e.handleDelete(o.row)
590
+ onClick: (F) => e.handleDelete(n.row)
591
591
  }, {
592
592
  default: d(() => [...t[9] || (t[9] = [
593
- F(" 删除应用 ", -1)
593
+ L(" 删除应用 ", -1)
594
594
  ])]),
595
595
  _: 1
596
596
  }, 8, ["onClick"])
@@ -599,12 +599,12 @@ function Ue(a, t, h, e, v, p) {
599
599
  })
600
600
  ]),
601
601
  _: 1
602
- }, 8, ["data"])) : L("", !0),
603
- n(i, {
602
+ }, 8, ["data"])) : O("", !0),
603
+ o(E, {
604
604
  isShow: !e.appList.length
605
605
  }, null, 8, ["isShow"])
606
606
  ]),
607
- e.state.total > e.state.pageSize ? (u(), D(g, {
607
+ e.state.total > e.state.pageSize ? (_(), D(s, {
608
608
  key: 0,
609
609
  mode: "number",
610
610
  "current-page": e.state.currentPage,
@@ -613,20 +613,20 @@ function Ue(a, t, h, e, v, p) {
613
613
  total: e.state.total,
614
614
  onSizeChange: e.pageSizeChange,
615
615
  onCurrentChange: e.currentChange
616
- }, null, 8, ["current-page", "page-size", "page-sizes", "total", "onSizeChange", "onCurrentChange"])) : L("", !0)
616
+ }, null, 8, ["current-page", "page-size", "page-sizes", "total", "onSizeChange", "onCurrentChange"])) : O("", !0)
617
617
  ]),
618
- n(S, {
618
+ o(y, {
619
619
  visible: e.state.appVisible,
620
- "onUpdate:visible": t[4] || (t[4] = (o) => e.state.appVisible = o),
620
+ "onUpdate:visible": t[4] || (t[4] = (n) => e.state.appVisible = n),
621
621
  onConfirm: e.confirmApp
622
622
  }, null, 8, ["visible", "onConfirm"])
623
623
  ]);
624
624
  }
625
- const Ie = /* @__PURE__ */ M(_e, [["render", Ue], ["__scopeId", "data-v-8f79dac4"]]), Re = {
625
+ const Oe = /* @__PURE__ */ M(_e, [["render", Ie], ["__scopeId", "data-v-b4a3b86a"]]), Ge = {
626
626
  ...ue,
627
- entry: Ie
627
+ entry: Oe
628
628
  };
629
629
  export {
630
- Re as default
630
+ Ge as default
631
631
  };
632
632
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/AppDialog.vue","../meta.js","../src/Main.vue","../index.ts"],"sourcesContent":["<template>\n <tiny-dialog-box :visible=\"visible\" title=\"新建应用\" width=\"400px\" append-to-body destroy-on-close @close=\"cancle\">\n <tiny-form\n ref=\"editAppInfoRef\"\n label-position=\"left\"\n label-width=\"84px\"\n label-align\n :model=\"formState\"\n :rules=\"validRules\"\n validate-type=\"text\"\n >\n <tiny-form-item label=\"应用名称\" prop=\"name\">\n <tiny-input v-model=\"formState.name\" placeholder=\"请输入\"></tiny-input>\n </tiny-form-item>\n <tiny-form-item label=\"应用描述\" prop=\"description\">\n <tiny-input v-model=\"formState.description\" type=\"textarea\" placeholder=\"请输入此次发布的修改点\"></tiny-input>\n </tiny-form-item>\n <tiny-form-item label=\"缩略图\">\n <div class=\"form-item-icon-wrapper\">\n <div class=\"form-item-icon-mask\" v-if=\"isOpen\"></div>\n <svg-icon :name=\"formState.assetsUrl\" class=\"form-item-icon\" @click=\"handleOpen\"></svg-icon>\n <transition name=\"dropdown\">\n <div v-if=\"isOpen\" class=\"dropdown-menu\">\n <!-- 菜单项 -->\n <div class=\"icon-list\">\n <template v-for=\"iconIndex in 15\" :key=\"iconIndex\">\n <svg-icon\n :name=\"'template-cover-' + iconIndex\"\n class=\"icon\"\n @click=\"handleSelectIcon('template-cover-' + iconIndex)\"\n ></svg-icon>\n </template>\n </div>\n </div>\n </transition>\n </div>\n </tiny-form-item>\n </tiny-form>\n <template #footer>\n <tiny-button type=\"primary\" @click=\"confirm\"> 确定 </tiny-button>\n <tiny-button @click=\"cancle\">取消</tiny-button>\n </template>\n </tiny-dialog-box>\n</template>\n\n<script lang=\"ts\">\nimport { ref, reactive } from 'vue'\nimport {\n Input as TinyInput,\n Button as TinyButton,\n DialogBox as TinyDialogBox,\n Form as TinyForm,\n FormItem as TinyFormItem\n} from '@opentiny/vue'\n\nexport default {\n components: {\n TinyInput,\n TinyButton,\n TinyDialogBox,\n TinyForm,\n TinyFormItem\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n template: {\n type: Object,\n default: () => ({})\n },\n openByTemplate: {\n type: Boolean,\n default: false\n }\n },\n emits: ['confirm'],\n setup(props, { emit }) {\n const editAppInfoRef = ref()\n\n const formState = reactive({\n name: props.template.name || '',\n description: props.template.description || '',\n sceneId: props.template.sceneId || null,\n industryId: props.template.industryId || null,\n assetsUrl: props.template.assetsUrl || 'template-cover-1',\n framework: 'Vue'\n })\n\n const isOpen = ref(false)\n\n const validRules = {\n name: [\n { required: true, message: '应用名称必填', trigger: 'blur' },\n { max: 50, message: '长度不大于50', trigger: 'change' },\n {\n trigger: 'blur',\n validator: (rule: any, value: string, callback: any) => {\n if (!/^[\\w\\-_]+$/.test(value)) {\n callback(new Error('应用名称只能包括英文、数字、中划线和下划线'))\n } else {\n callback()\n }\n }\n }\n ],\n description: [\n { max: 200, message: '长度不大于200', trigger: 'change' },\n {\n trigger: 'blur',\n validator: (rule: any, value: string, callback: any) => {\n if (!/^[\\w\\-_\\u4e00-\\u9fa5]*$/.test(value)) {\n callback(new Error('描述只能包括中文、英文、数字、中划线和下划线'))\n } else {\n callback()\n }\n }\n }\n ]\n }\n\n const setVisible = (visible: boolean) => emit('update:visible', visible)\n\n const handleOpen = () => {\n isOpen.value = true\n }\n\n const handleSelectIcon = (icon: string) => {\n formState.assetsUrl = icon\n isOpen.value = false\n }\n\n const cancle = () => {\n isOpen.value = false\n setVisible(false)\n }\n\n const confirm = () => {\n editAppInfoRef.value.validate((valid: boolean) => {\n if (valid) {\n emit(\n 'confirm',\n props.template?.id\n ? {\n id: props.template.id,\n ...formState\n }\n : formState\n )\n\n cancle()\n }\n })\n }\n\n return {\n isOpen,\n editAppInfoRef,\n formState,\n validRules,\n setVisible,\n handleOpen,\n handleSelectIcon,\n confirm,\n cancle\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.form-item-icon-wrapper {\n position: relative;\n .form-item-icon {\n font-size: 40px;\n cursor: pointer;\n }\n .form-item-icon-mask {\n background-color: var(--te-app-center-mask-modal-bg-color);\n transition: background-color, 0.2s, ease-in-out;\n position: fixed;\n width: 40px;\n height: 40px;\n border-radius: 8px;\n }\n .dropdown-menu {\n position: absolute;\n bottom: 100%;\n left: 0;\n padding: 16px;\n margin-bottom: 5px;\n width: 192px;\n border-radius: 4px;\n z-index: 1000;\n overflow: hidden;\n background: var(--te-template-common-bg-color);\n box-shadow: 0 4px 16px 0 var(--te-base-box-shadow-rgba-3);\n\n .icon-list {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin: 4px 0;\n .icon {\n font-size: 32px;\n cursor: pointer;\n }\n }\n }\n}\n</style>\n","export default {\n id: 'engine.workspace.application-center',\n title: '应用中心',\n type: 'workspace',\n icon: 'workspace-icon-application-center'\n}\n","<template>\n <div class=\"app-center\">\n <div class=\"app-center-title\">应用中心</div>\n <div class=\"app-center-operation\">\n <tiny-button class=\"add-app\" @click=\"creatApp()\"> <svg-icon name=\"add\"></svg-icon>创建应用 </tiny-button>\n <div class=\"app-center-filter\">\n <tiny-select v-model=\"state.appFilter\" :options=\"appFilterOptions\" @change=\"getApplicationList\"></tiny-select>\n <tiny-select v-model=\"state.orderBy\" :options=\"appOrderByOptions\" @change=\"getApplicationList\"></tiny-select>\n <tiny-search\n class=\"app-center-search\"\n v-model=\"state.appSearchKey\"\n clearable\n placeholder=\"输入关键字搜索、过滤\"\n @search=\"getApplicationList\"\n is-enter-search\n >\n <template #prefix> <tiny-icon-search /> </template>\n </tiny-search>\n <div class=\"type-toolbar\">\n <span\n v-for=\"item in arrangeOptions\"\n :key=\"item.id\"\n :class=\"['icon-wrap', { active: state.type === item.id }]\"\n @click=\"typeClick(item.id)\"\n >\n <svg-icon :name=\"item.assetsUrl\"></svg-icon>\n </span>\n </div>\n </div>\n </div>\n <div class=\"app-center-list\">\n <div class=\"list-wrap\">\n <div class=\"list\" v-if=\"state.type === 'default'\">\n <template v-for=\"item in appList\" :key=\"item.id\">\n <div class=\"item\">\n <div class=\"app-name\">\n <svg-icon :name=\"item.assetsUrl || 'template-cover-1'\" class=\"app-img\"></svg-icon>\n <div class=\"app-name-content\">\n <div class=\"app-name-text\">{{ item.name }}</div>\n <div class=\"app-desc\">{{ item.description }}</div>\n </div>\n </div>\n <div class=\"app-operation\">\n <div class=\"option\" @click=\"openApplication(item)\">\n <svg-icon name=\"cloud-shell\"></svg-icon>\n <span class=\"option-text\">开发应用</span>\n </div>\n <tiny-divider direction=\"vertical\"></tiny-divider>\n <div class=\"option\" @click=\"handleDelete(item)\">\n <svg-icon name=\"delete\"></svg-icon>\n <span class=\"option-text\">删除应用</span>\n </div>\n </div>\n </div>\n </template>\n </div>\n <tiny-grid ref=\"gridRef\" class=\"table\" v-if=\"state.type === 'table' && appList.length\" :data=\"appList\">\n <tiny-grid-column field=\"name\" title=\"应用名称\" show-overflow>\n <template #default=\"data\">\n <div class=\"app-name\">\n <svg-icon :name=\"data.row.assetsUrl || 'template-cover-1'\" class=\"app-img\"></svg-icon>\n <span>{{ data.row.name }}</span>\n </div>\n </template>\n </tiny-grid-column>\n <tiny-grid-column field=\"created_at\" title=\"创建时间\" show-overflow></tiny-grid-column>\n <tiny-grid-column field=\"createdBy\" title=\"创建人\" show-overflow></tiny-grid-column>\n <tiny-grid-column field=\"description\" title=\"应用描述\" show-overflow></tiny-grid-column>\n <tiny-grid-column width=\"180\" field=\"operation\" title=\"操作\">\n <template #default=\"data\">\n <tiny-button type=\"text\" @click=\"openApplication(data.row)\"> 开发应用 </tiny-button>\n <tiny-button type=\"text\" @click=\"handleDelete(data.row)\"> 删除应用 </tiny-button>\n </template>\n </tiny-grid-column>\n </tiny-grid>\n <search-empty :isShow=\"!appList.length\" />\n </div>\n <tiny-pager\n v-if=\"state.total > state.pageSize\"\n mode=\"number\"\n :current-page=\"state.currentPage\"\n :page-size=\"state.pageSize\"\n :page-sizes=\"state.pageSizes\"\n :total=\"state.total\"\n @size-change=\"pageSizeChange\"\n @current-change=\"currentChange\"\n ></tiny-pager>\n </div>\n <app-dialog v-model:visible=\"state.appVisible\" @confirm=\"confirmApp\"></app-dialog>\n </div>\n</template>\n\n<script>\nimport { reactive, ref, onMounted } from 'vue'\nimport { Button, Select, Pager, Grid, GridColumn, Divider, Search, Modal, Notify } from '@opentiny/vue'\nimport { iconSearch } from '@opentiny/vue-icon'\nimport { SearchEmpty } from '@opentiny/tiny-engine-common'\nimport AppDialog from './AppDialog.vue'\nimport { fetchApplicationList, createApplication, updateApplication, deleteApplication } from './js/http'\n\nexport default {\n components: {\n TinyButton: Button,\n TinySelect: Select,\n TinyPager: Pager,\n TinyGrid: Grid,\n TinyGridColumn: GridColumn,\n TinyDivider: Divider,\n TinySearch: Search,\n SearchEmpty,\n TinyIconSearch: iconSearch(),\n AppDialog\n },\n\n setup() {\n const appList = ref([])\n\n const appFilterOptions = [\n {\n label: '全部应用',\n value: 'all'\n },\n {\n label: '我的应用',\n value: 'my'\n }\n ]\n\n const appOrderByOptions = [\n {\n label: '按创建时间排序',\n value: 'created_time'\n },\n {\n label: '按最近更新时间排序',\n value: 'last_updated_time'\n }\n ]\n\n const arrangeOptions = [\n {\n id: 'default',\n name: '栅格',\n assetsUrl: 'workspace-icon-application-center'\n },\n {\n id: 'table',\n name: '列表',\n assetsUrl: 'small-list'\n }\n ]\n\n const queryParams = new URLSearchParams(location.search)\n\n const state = reactive({\n appFilter: 'all',\n orderBy: 'created_time',\n appSearchKey: '',\n type: 'default',\n total: 0,\n pageSize: 10,\n currentPage: 1,\n pageSizes: [10, 20, 30, 40],\n appVisible: false\n })\n\n const getApplicationList = () => {\n const params = {\n currentPage: state.currentPage,\n pageSize: state.pageSize,\n name: state.appSearchKey,\n createdBy: state.appFilter === 'all' ? '' : '1'\n }\n if (state.orderBy === 'last_updated_time') {\n params.orderBy = state.orderBy\n }\n fetchApplicationList(Object.fromEntries(Object.entries(params).filter(([, value]) => !!value))).then((res) => {\n appList.value = res.apps || []\n state.total = res.total\n })\n }\n\n const creatApp = () => {\n state.appVisible = true\n }\n\n const handleDelete = (template) => {\n Modal.confirm({\n message: '即将删除应用,删除后不可恢复,请谨慎操作。',\n title: '删除应用'\n }).then((res) => {\n if (res === 'confirm') {\n deleteApplication(template.id)\n .then(() => {\n getApplicationList()\n })\n .catch((error) => {\n Notify({\n type: 'error',\n message: error,\n position: 'top-right',\n duration: 5000\n })\n })\n }\n })\n }\n\n const openApplication = (template) => {\n const href = window.location.href.split('?')[0] || './'\n const newUrl = `${href}?type=app&id=${template.id}&tenant=${template.tenantId || queryParams.get('tenant')}`\n if (window.self !== window.top) {\n window.parent.postMessage(\n {\n type: 'openNewTab',\n url: newUrl\n },\n '*'\n )\n } else {\n window.open(newUrl)\n }\n }\n\n const typeClick = (type) => {\n state.type = type\n }\n\n const pageSizeChange = (val) => {\n state.pageSize = val\n state.currentPage = 1\n getApplicationList()\n }\n\n const currentChange = (val) => {\n state.currentPage = val\n getApplicationList()\n }\n\n const confirmApp = (formData) => {\n if (formData?.id) {\n const updateId = formData.id\n delete formData.id\n updateApplication(updateId, formData)\n .then(() => {\n Notify({\n type: 'success',\n message: '应用更新成功',\n position: 'top-right',\n duration: 5000\n })\n getApplicationList()\n })\n .catch((error) => {\n Notify({\n type: 'error',\n message: error,\n position: 'top-right',\n duration: 5000\n })\n })\n } else {\n createApplication(formData)\n .then(() => {\n Notify({\n type: 'success',\n message: '应用创建成功',\n position: 'top-right',\n duration: 5000\n })\n getApplicationList()\n })\n .catch((error) => {\n Notify({\n type: 'error',\n message: error,\n position: 'top-right',\n duration: 5000\n })\n })\n }\n }\n\n onMounted(() => {\n getApplicationList()\n })\n\n return {\n state,\n appList,\n appFilterOptions,\n appOrderByOptions,\n arrangeOptions,\n creatApp,\n getApplicationList,\n typeClick,\n handleDelete,\n openApplication,\n confirmApp,\n pageSizeChange,\n currentChange\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.app-center {\n padding: 24px;\n background: var(--te-template-common-bg-color);\n height: -webkit-fill-available;\n .app-center-title {\n font-size: 20px;\n font-weight: 600;\n }\n .app-center-operation {\n margin: 24px 0 20px;\n display: flex;\n justify-content: space-between;\n }\n .app-center-filter {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n .app-center-search {\n min-width: 300px;\n }\n .type-toolbar {\n display: flex;\n border-radius: 4px;\n background-color: var(--te-template-app-center-btn-bg-color);\n .icon-wrap {\n width: 24px;\n height: 24px;\n color: var(--te-template-app-center-btn-icon-color);\n font-size: 16px;\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n transition: 0.3s;\n &.active {\n border: 1px solid var(--te-template-app-center-btn-border-color-active);\n color: var(--te-template-app-center-btn-color-active);\n border-radius: 4px;\n background-color: var(--te-template-app-center-btn-bg-color-active);\n }\n }\n }\n .app-center-list {\n height: calc(100vh - 200px);\n }\n}\n.list {\n display: flex;\n gap: 24px;\n flex-wrap: wrap;\n .item {\n width: 252px;\n padding: 24px 24px 12px;\n border-radius: 8px;\n border: 1px solid var(--te-template-app-center-item-border-color);\n position: relative;\n &:hover {\n border-color: var(--te-template-app-center-item-border-color-hover);\n }\n .app-name {\n display: flex;\n gap: 16px;\n .app-img {\n width: 48px;\n height: 48px;\n }\n .app-name-content {\n width: calc(100% - 64px);\n .app-name-text {\n font-size: 18px;\n font-weight: 600;\n line-height: 28px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .app-desc {\n margin-top: 4px;\n font-size: 12px;\n line-height: 18px;\n color: var(--te-template-center-common-item-desc-text-color);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n .app-operation {\n display: flex;\n align-items: center;\n gap: 16px;\n padding-top: 12px;\n margin-top: 16px;\n border-top: 1px dashed var(--te-template-app-center-item-border-color);\n .option {\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n &:hover {\n .option-text {\n text-decoration: underline;\n }\n }\n }\n }\n }\n}\n.table {\n .app-name {\n display: flex;\n gap: 8px;\n align-items: center;\n .app-img {\n width: 24px;\n height: 24px;\n }\n }\n\n .tiny-button.tiny-button--text {\n padding-left: 0;\n }\n}\n\n.list-wrap {\n margin-bottom: 12px;\n max-height: calc(100% - 80px);\n overflow: auto;\n .empty-wrap {\n width: 100%;\n }\n}\n.options {\n .option {\n padding: 4px 16px;\n cursor: pointer;\n &:hover {\n background: var(--te-template-common-bg-color-hover);\n }\n }\n}\n</style>\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry\n}\n"],"names":["_sfc_main$1","TinyInput","TinyButton","TinyDialogBox","TinyForm","TinyFormItem","props","emit","editAppInfoRef","ref","formState","reactive","isOpen","validRules","rule","value","callback","setVisible","visible","handleOpen","handleSelectIcon","icon","cancle","valid","_a","_hoisted_1","_hoisted_4","_createBlock","_component_tiny_dialog_box","$props","$setup","_withCtx","_createVNode","_component_tiny_button","_cache","_createTextVNode","_component_tiny_form","_component_tiny_form_item","_component_tiny_input","$event","_createElementVNode","_openBlock","_createElementBlock","_hoisted_2","_createCommentVNode","_component_svg_icon","_Transition","_hoisted_3","_Fragment","_renderList","iconIndex","metaData","_sfc_main","Button","Select","Pager","Grid","GridColumn","Divider","Search","SearchEmpty","iconSearch","AppDialog","appList","appFilterOptions","appOrderByOptions","arrangeOptions","queryParams","state","getApplicationList","params","fetchApplicationList","res","creatApp","handleDelete","template","Modal","deleteApplication","error","Notify","openApplication","newUrl","typeClick","type","pageSizeChange","val","currentChange","confirmApp","formData","updateId","updateApplication","createApplication","onMounted","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_16","_component_tiny_select","_component_tiny_search","_component_tiny_icon_search","item","_hoisted_8","_toDisplayString","_component_tiny_divider","_component_tiny_grid","_component_tiny_grid_column","data","_component_search_empty","_component_tiny_pager","_component_app_dialog","index","entry"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/AppDialog.vue","../meta.js","../src/Main.vue","../index.ts"],"sourcesContent":["<template>\n <tiny-dialog-box :visible=\"visible\" title=\"新建应用\" width=\"400px\" append-to-body destroy-on-close @close=\"cancle\">\n <tiny-form\n ref=\"editAppInfoRef\"\n label-position=\"left\"\n label-width=\"84px\"\n label-align\n :model=\"formState\"\n :rules=\"validRules\"\n validate-type=\"text\"\n >\n <tiny-form-item label=\"应用名称\" prop=\"name\">\n <tiny-input v-model=\"formState.name\" placeholder=\"请输入\"></tiny-input>\n </tiny-form-item>\n <tiny-form-item label=\"应用描述\" prop=\"description\">\n <tiny-input v-model=\"formState.description\" type=\"textarea\" placeholder=\"请输入此次发布的修改点\"></tiny-input>\n </tiny-form-item>\n <tiny-form-item label=\"缩略图\">\n <div class=\"form-item-icon-wrapper\">\n <div class=\"form-item-icon-mask\" v-if=\"isOpen\"></div>\n <svg-icon :name=\"formState.assetsUrl\" class=\"form-item-icon\" @click=\"handleOpen\"></svg-icon>\n <transition name=\"dropdown\">\n <div v-if=\"isOpen\" class=\"dropdown-menu\">\n <!-- 菜单项 -->\n <div class=\"icon-list\">\n <template v-for=\"iconIndex in 15\" :key=\"iconIndex\">\n <svg-icon\n :name=\"'template-cover-' + iconIndex\"\n class=\"icon\"\n @click=\"handleSelectIcon('template-cover-' + iconIndex)\"\n ></svg-icon>\n </template>\n </div>\n </div>\n </transition>\n </div>\n </tiny-form-item>\n </tiny-form>\n <template #footer>\n <tiny-button type=\"primary\" @click=\"confirm\"> 确定 </tiny-button>\n <tiny-button @click=\"cancle\">取消</tiny-button>\n </template>\n </tiny-dialog-box>\n</template>\n\n<script lang=\"ts\">\nimport { ref, reactive } from 'vue'\nimport {\n Input as TinyInput,\n Button as TinyButton,\n DialogBox as TinyDialogBox,\n Form as TinyForm,\n FormItem as TinyFormItem\n} from '@opentiny/vue'\n\nexport default {\n components: {\n TinyInput,\n TinyButton,\n TinyDialogBox,\n TinyForm,\n TinyFormItem\n },\n props: {\n visible: {\n type: Boolean,\n default: false\n },\n template: {\n type: Object,\n default: () => ({})\n },\n openByTemplate: {\n type: Boolean,\n default: false\n }\n },\n emits: ['confirm'],\n setup(props, { emit }) {\n const editAppInfoRef = ref()\n\n const formState = reactive({\n name: props.template.name || '',\n description: props.template.description || '',\n sceneId: props.template.sceneId || null,\n industryId: props.template.industryId || null,\n assetsUrl: props.template.assetsUrl || 'template-cover-1',\n framework: 'Vue'\n })\n\n const isOpen = ref(false)\n\n const validRules = {\n name: [\n { required: true, message: '应用名称必填', trigger: 'blur' },\n { max: 50, message: '长度不大于50', trigger: 'change' },\n {\n trigger: 'blur',\n validator: (rule: any, value: string, callback: any) => {\n if (!/^[\\w\\-_]+$/.test(value)) {\n callback(new Error('应用名称只能包括英文、数字、中划线和下划线'))\n } else {\n callback()\n }\n }\n }\n ],\n description: [\n { max: 200, message: '长度不大于200', trigger: 'change' },\n {\n trigger: 'blur',\n validator: (rule: any, value: string, callback: any) => {\n if (!/^[\\w\\-_\\u4e00-\\u9fa5]*$/.test(value)) {\n callback(new Error('描述只能包括中文、英文、数字、中划线和下划线'))\n } else {\n callback()\n }\n }\n }\n ]\n }\n\n const setVisible = (visible: boolean) => emit('update:visible', visible)\n\n const handleOpen = () => {\n isOpen.value = true\n }\n\n const handleSelectIcon = (icon: string) => {\n formState.assetsUrl = icon\n isOpen.value = false\n }\n\n const cancle = () => {\n isOpen.value = false\n setVisible(false)\n }\n\n const confirm = () => {\n editAppInfoRef.value.validate((valid: boolean) => {\n if (valid) {\n emit(\n 'confirm',\n props.template?.id\n ? {\n id: props.template.id,\n ...formState\n }\n : formState\n )\n\n cancle()\n }\n })\n }\n\n return {\n isOpen,\n editAppInfoRef,\n formState,\n validRules,\n setVisible,\n handleOpen,\n handleSelectIcon,\n confirm,\n cancle\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.form-item-icon-wrapper {\n position: relative;\n .form-item-icon {\n font-size: 40px;\n cursor: pointer;\n }\n .form-item-icon-mask {\n background-color: var(--te-app-center-mask-modal-bg-color);\n transition: background-color, 0.2s, ease-in-out;\n position: fixed;\n width: 40px;\n height: 40px;\n border-radius: 8px;\n }\n .dropdown-menu {\n position: absolute;\n bottom: 100%;\n left: 0;\n padding: 16px;\n margin-bottom: 5px;\n width: 192px;\n border-radius: 4px;\n z-index: 1000;\n overflow: hidden;\n background: var(--te-template-common-bg-color);\n box-shadow: 0 4px 16px 0 var(--te-base-box-shadow-rgba-3);\n\n .icon-list {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n margin: 4px 0;\n .icon {\n font-size: 32px;\n cursor: pointer;\n }\n }\n }\n}\n</style>\n","export default {\n id: 'engine.workspace.application-center',\n title: '应用中心',\n type: 'workspace',\n icon: 'workspace-icon-application-center'\n}\n","<template>\n <div class=\"app-center\">\n <div class=\"app-center-title\">应用中心</div>\n <div class=\"app-center-operation\">\n <tiny-button class=\"add-app\" @click=\"creatApp()\"> <svg-icon name=\"add\"></svg-icon>创建应用 </tiny-button>\n <div class=\"app-center-filter\">\n <tiny-select v-model=\"state.appFilter\" :options=\"appFilterOptions\" @change=\"getApplicationList\"></tiny-select>\n <tiny-select v-model=\"state.orderBy\" :options=\"appOrderByOptions\" @change=\"getApplicationList\"></tiny-select>\n <tiny-search\n class=\"app-center-search\"\n v-model=\"state.appSearchKey\"\n clearable\n placeholder=\"输入关键字搜索、过滤\"\n @search=\"getApplicationList\"\n is-enter-search\n >\n <template #prefix> <tiny-icon-search /> </template>\n </tiny-search>\n <div class=\"type-toolbar\">\n <span\n v-for=\"item in arrangeOptions\"\n :key=\"item.id\"\n :class=\"['icon-wrap', { active: state.type === item.id }]\"\n @click=\"typeClick(item.id)\"\n >\n <svg-icon :name=\"item.assetsUrl\"></svg-icon>\n </span>\n </div>\n </div>\n </div>\n <div class=\"app-center-list\">\n <div class=\"list-wrap\">\n <div class=\"list\" v-if=\"state.type === 'default'\">\n <template v-for=\"item in appList\" :key=\"item.id\">\n <div class=\"item\">\n <div class=\"app-name\">\n <svg-icon :name=\"item.assetsUrl || 'template-cover-1'\" class=\"app-img\"></svg-icon>\n <div class=\"app-name-content\">\n <div class=\"app-name-text\">{{ item.name }}</div>\n <div class=\"app-desc\">{{ item.description }}</div>\n </div>\n </div>\n <div class=\"app-operation\">\n <div class=\"option\" @click=\"openApplication(item)\">\n <svg-icon name=\"cloud-shell\"></svg-icon>\n <span class=\"option-text\">开发应用</span>\n </div>\n <tiny-divider direction=\"vertical\"></tiny-divider>\n <div class=\"option\" @click=\"handleDelete(item)\">\n <svg-icon name=\"delete\"></svg-icon>\n <span class=\"option-text\">删除应用</span>\n </div>\n </div>\n </div>\n </template>\n </div>\n <tiny-grid ref=\"gridRef\" class=\"table\" v-if=\"state.type === 'table' && appList.length\" :data=\"appList\">\n <tiny-grid-column field=\"name\" title=\"应用名称\" show-overflow>\n <template #default=\"data\">\n <div class=\"app-name\">\n <svg-icon :name=\"data.row.assetsUrl || 'template-cover-1'\" class=\"app-img\"></svg-icon>\n <span>{{ data.row.name }}</span>\n </div>\n </template>\n </tiny-grid-column>\n <tiny-grid-column field=\"created_at\" title=\"创建时间\" show-overflow></tiny-grid-column>\n <tiny-grid-column field=\"createdBy\" title=\"创建人\" show-overflow></tiny-grid-column>\n <tiny-grid-column field=\"description\" title=\"应用描述\" show-overflow></tiny-grid-column>\n <tiny-grid-column width=\"180\" field=\"operation\" title=\"操作\">\n <template #default=\"data\">\n <tiny-button type=\"text\" @click=\"openApplication(data.row)\"> 开发应用 </tiny-button>\n <tiny-button type=\"text\" @click=\"handleDelete(data.row)\"> 删除应用 </tiny-button>\n </template>\n </tiny-grid-column>\n </tiny-grid>\n <search-empty :isShow=\"!appList.length\" />\n </div>\n <tiny-pager\n v-if=\"state.total > state.pageSize\"\n mode=\"number\"\n :current-page=\"state.currentPage\"\n :page-size=\"state.pageSize\"\n :page-sizes=\"state.pageSizes\"\n :total=\"state.total\"\n @size-change=\"pageSizeChange\"\n @current-change=\"currentChange\"\n ></tiny-pager>\n </div>\n <app-dialog v-model:visible=\"state.appVisible\" @confirm=\"confirmApp\"></app-dialog>\n </div>\n</template>\n\n<script>\nimport { reactive, ref, onMounted } from 'vue'\nimport { Button, Select, Pager, Grid, GridColumn, Divider, Search, Modal, Notify } from '@opentiny/vue'\nimport { iconSearch } from '@opentiny/vue-icon'\nimport { SearchEmpty } from '@opentiny/tiny-engine-common'\nimport { getMetaApi, META_SERVICE } from '@opentiny/tiny-engine-meta-register'\nimport AppDialog from './AppDialog.vue'\nimport { fetchApplicationList, createApplication, updateApplication, deleteApplication } from './js/http'\n\nexport default {\n components: {\n TinyButton: Button,\n TinySelect: Select,\n TinyPager: Pager,\n TinyGrid: Grid,\n TinyGridColumn: GridColumn,\n TinyDivider: Divider,\n TinySearch: Search,\n SearchEmpty,\n TinyIconSearch: iconSearch(),\n AppDialog\n },\n\n setup() {\n const { getUserInfo } = getMetaApi(META_SERVICE.GlobalService)\n const appList = ref([])\n\n const appFilterOptions = [\n {\n label: '全部应用',\n value: 'all'\n },\n {\n label: '我的应用',\n value: 'my'\n }\n ]\n\n const appOrderByOptions = [\n {\n label: '按创建时间排序',\n value: 'created_time'\n },\n {\n label: '按最近更新时间排序',\n value: 'last_updated_time'\n }\n ]\n\n const arrangeOptions = [\n {\n id: 'default',\n name: '栅格',\n assetsUrl: 'workspace-icon-application-center'\n },\n {\n id: 'table',\n name: '列表',\n assetsUrl: 'small-list'\n }\n ]\n\n const queryParams = new URLSearchParams(location.search)\n\n const state = reactive({\n appFilter: 'all',\n orderBy: 'created_time',\n appSearchKey: '',\n type: 'default',\n total: 0,\n pageSize: 10,\n currentPage: 1,\n pageSizes: [10, 20, 30, 40],\n appVisible: false\n })\n\n const getApplicationList = () => {\n const info = getUserInfo()\n const params = {\n currentPage: state.currentPage,\n pageSize: state.pageSize,\n name: state.appSearchKey,\n createdBy: state.appFilter === 'all' ? '' : info.id\n }\n if (state.orderBy === 'last_updated_time') {\n params.orderBy = state.orderBy\n }\n fetchApplicationList(Object.fromEntries(Object.entries(params).filter(([, value]) => !!value))).then((res) => {\n appList.value = res.apps || []\n state.total = res.total\n })\n }\n\n const creatApp = () => {\n state.appVisible = true\n }\n\n const handleDelete = (template) => {\n Modal.confirm({\n message: '即将删除应用,删除后不可恢复,请谨慎操作。',\n title: '删除应用'\n }).then((res) => {\n if (res === 'confirm') {\n deleteApplication(template.id)\n .then(() => {\n getApplicationList()\n })\n .catch((error) => {\n Notify({\n type: 'error',\n message: error,\n position: 'top-right',\n duration: 5000\n })\n })\n }\n })\n }\n\n const openApplication = (template) => {\n const href = window.location.href.split('?')[0] || './'\n const newUrl = `${href}?type=app&id=${template.id}&tenant=${template.tenantId || queryParams.get('tenant')}`\n if (window.self !== window.top) {\n window.parent.postMessage(\n {\n type: 'openNewTab',\n url: newUrl\n },\n '*'\n )\n } else {\n window.open(newUrl)\n }\n }\n\n const typeClick = (type) => {\n state.type = type\n }\n\n const pageSizeChange = (val) => {\n state.pageSize = val\n state.currentPage = 1\n getApplicationList()\n }\n\n const currentChange = (val) => {\n state.currentPage = val\n getApplicationList()\n }\n\n const confirmApp = (formData) => {\n if (formData?.id) {\n const updateId = formData.id\n delete formData.id\n updateApplication(updateId, formData)\n .then(() => {\n Notify({\n type: 'success',\n message: '应用更新成功',\n position: 'top-right',\n duration: 5000\n })\n getApplicationList()\n })\n .catch((error) => {\n Notify({\n type: 'error',\n message: error,\n position: 'top-right',\n duration: 5000\n })\n })\n } else {\n createApplication(formData)\n .then(() => {\n Notify({\n type: 'success',\n message: '应用创建成功',\n position: 'top-right',\n duration: 5000\n })\n getApplicationList()\n })\n .catch((error) => {\n Notify({\n type: 'error',\n message: error,\n position: 'top-right',\n duration: 5000\n })\n })\n }\n }\n\n onMounted(() => {\n getApplicationList()\n })\n\n return {\n state,\n appList,\n appFilterOptions,\n appOrderByOptions,\n arrangeOptions,\n creatApp,\n getApplicationList,\n typeClick,\n handleDelete,\n openApplication,\n confirmApp,\n pageSizeChange,\n currentChange\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.app-center {\n padding: 24px;\n background: var(--te-template-common-bg-color);\n height: -webkit-fill-available;\n .app-center-title {\n font-size: 20px;\n font-weight: 600;\n }\n .app-center-operation {\n margin: 24px 0 20px;\n display: flex;\n justify-content: space-between;\n }\n .app-center-filter {\n display: flex;\n align-items: center;\n gap: 12px;\n }\n .app-center-search {\n min-width: 300px;\n }\n .type-toolbar {\n display: flex;\n border-radius: 4px;\n background-color: var(--te-template-app-center-btn-bg-color);\n .icon-wrap {\n width: 24px;\n height: 24px;\n color: var(--te-template-app-center-btn-icon-color);\n font-size: 16px;\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n transition: 0.3s;\n &.active {\n border: 1px solid var(--te-template-app-center-btn-border-color-active);\n color: var(--te-template-app-center-btn-color-active);\n border-radius: 4px;\n background-color: var(--te-template-app-center-btn-bg-color-active);\n }\n }\n }\n .app-center-list {\n height: calc(100vh - 200px);\n }\n}\n.list {\n display: flex;\n gap: 24px;\n flex-wrap: wrap;\n .item {\n width: 252px;\n padding: 24px 24px 12px;\n border-radius: 8px;\n border: 1px solid var(--te-template-app-center-item-border-color);\n position: relative;\n &:hover {\n border-color: var(--te-template-app-center-item-border-color-hover);\n }\n .app-name {\n display: flex;\n gap: 16px;\n .app-img {\n width: 48px;\n height: 48px;\n }\n .app-name-content {\n width: calc(100% - 64px);\n .app-name-text {\n font-size: 18px;\n font-weight: 600;\n line-height: 28px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .app-desc {\n margin-top: 4px;\n font-size: 12px;\n line-height: 18px;\n color: var(--te-template-center-common-item-desc-text-color);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n }\n .app-operation {\n display: flex;\n align-items: center;\n gap: 16px;\n padding-top: 12px;\n margin-top: 16px;\n border-top: 1px dashed var(--te-template-app-center-item-border-color);\n .option {\n display: flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n &:hover {\n .option-text {\n text-decoration: underline;\n }\n }\n }\n }\n }\n}\n.table {\n .app-name {\n display: flex;\n gap: 8px;\n align-items: center;\n .app-img {\n width: 24px;\n height: 24px;\n }\n }\n\n .tiny-button.tiny-button--text {\n padding-left: 0;\n }\n}\n\n.list-wrap {\n margin-bottom: 12px;\n max-height: calc(100% - 80px);\n overflow: auto;\n .empty-wrap {\n width: 100%;\n }\n}\n.options {\n .option {\n padding: 4px 16px;\n cursor: pointer;\n &:hover {\n background: var(--te-template-common-bg-color-hover);\n }\n }\n}\n</style>\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry\n}\n"],"names":["_sfc_main$1","TinyInput","TinyButton","TinyDialogBox","TinyForm","TinyFormItem","props","emit","editAppInfoRef","ref","formState","reactive","isOpen","validRules","rule","value","callback","setVisible","visible","handleOpen","handleSelectIcon","icon","cancle","valid","_a","_hoisted_1","_hoisted_4","_createBlock","_component_tiny_dialog_box","$props","$setup","_withCtx","_createVNode","_component_tiny_button","_cache","_createTextVNode","_component_tiny_form","_component_tiny_form_item","_component_tiny_input","$event","_createElementVNode","_openBlock","_createElementBlock","_hoisted_2","_createCommentVNode","_component_svg_icon","_Transition","_hoisted_3","_Fragment","_renderList","iconIndex","metaData","_sfc_main","Button","Select","Pager","Grid","GridColumn","Divider","Search","SearchEmpty","iconSearch","AppDialog","getUserInfo","getMetaApi","META_SERVICE","appList","appFilterOptions","appOrderByOptions","arrangeOptions","queryParams","state","getApplicationList","info","params","fetchApplicationList","res","creatApp","handleDelete","template","Modal","deleteApplication","error","Notify","openApplication","newUrl","typeClick","type","pageSizeChange","val","currentChange","confirmApp","formData","updateId","updateApplication","createApplication","onMounted","_hoisted_6","_hoisted_7","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_16","_component_tiny_select","_component_tiny_search","_component_tiny_icon_search","item","_hoisted_8","_toDisplayString","_component_tiny_divider","_component_tiny_grid","_component_tiny_grid_column","data","_component_search_empty","_component_tiny_pager","_component_app_dialog","index","entry"],"mappings":";;;;;;AAuDA,MAAAA,KAAe;AAAA,EACb,YAAY;AAAA,IAAA,WACVC;AAAAA,IAAA,YACAC;AAAAA,IAAA,eACAC;AAAAA,IAAA,UACAC;AAAAA,IAAA,cACAC;AAAAA,EAAA;AAAA,EAEF,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEX,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAAC;AAAA,IAEnB,gBAAgB;AAAA,MACd,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,OAAO,CAAC,SAAS;AAAA,EACjB,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AACrB,UAAMC,IAAiBC,EAAA,GAEjBC,IAAYC,EAAS;AAAA,MACzB,MAAML,EAAM,SAAS,QAAQ;AAAA,MAC7B,aAAaA,EAAM,SAAS,eAAe;AAAA,MAC3C,SAASA,EAAM,SAAS,WAAW;AAAA,MACnC,YAAYA,EAAM,SAAS,cAAc;AAAA,MACzC,WAAWA,EAAM,SAAS,aAAa;AAAA,MACvC,WAAW;AAAA,IAAA,CACZ,GAEKM,IAASH,EAAI,EAAK,GAElBI,IAAa;AAAA,MACjB,MAAM;AAAA,QACJ,EAAE,UAAU,IAAM,SAAS,UAAU,SAAS,OAAA;AAAA,QAC9C,EAAE,KAAK,IAAI,SAAS,WAAW,SAAS,SAAA;AAAA,QACxC;AAAA,UACE,SAAS;AAAA,UACT,WAAW,CAACC,GAAWC,GAAeC,MAAkB;AACtD,YAAK,aAAa,KAAKD,CAAK,IAG1BC,EAAA,IAFAA,EAAS,IAAI,MAAM,uBAAuB,CAAC;AAAA,UAI/C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,aAAa;AAAA,QACX,EAAE,KAAK,KAAK,SAAS,YAAY,SAAS,SAAA;AAAA,QAC1C;AAAA,UACE,SAAS;AAAA,UACT,WAAW,CAACF,GAAWC,GAAeC,MAAkB;AACtD,YAAK,0BAA0B,KAAKD,CAAK,IAGvCC,EAAA,IAFAA,EAAS,IAAI,MAAM,wBAAwB,CAAC;AAAA,UAIhD;AAAA,QAAA;AAAA,MACF;AAAA,IACF,GAGIC,IAAa,CAACC,MAAqBX,EAAK,kBAAkBW,CAAO,GAEjEC,IAAa,MAAM;AACvB,MAAAP,EAAO,QAAQ;AAAA,IACjB,GAEMQ,IAAmB,CAACC,MAAiB;AACzC,MAAAX,EAAU,YAAYW,GACtBT,EAAO,QAAQ;AAAA,IACjB,GAEMU,IAAS,MAAM;AACnB,MAAAV,EAAO,QAAQ,IACfK,EAAW,EAAK;AAAA,IAClB;AAoBA,WAAO;AAAA,MACL,QAAAL;AAAA,MACA,gBAAAJ;AAAA,MACA,WAAAE;AAAA,MACA,YAAAG;AAAA,MACA,YAAAI;AAAA,MACA,YAAAE;AAAA,MACA,kBAAAC;AAAA,MACA,SA1Bc,MAAM;AACpB,QAAAZ,EAAe,MAAM,SAAS,CAACe,MAAmB;;AAChD,UAAIA,MACFhB;AAAA,YACE;AAAA,aACAiB,IAAAlB,EAAM,aAAN,QAAAkB,EAAgB,KACZ;AAAA,cACE,IAAIlB,EAAM,SAAS;AAAA,cACnB,GAAGI;AAAA,YAAA,IAELA;AAAA,UAAA,GAGNY,EAAA;AAAA,QAEJ,CAAC;AAAA,MACH;AAAA,MAWE,QAAAA;AAAA,IAAA;AAAA,EAEJ;AACF;;;;;GAtJaG,KAAA,EAAA,OAAM,yBAAA;;EACJ,OAAM;;;EAGU,OAAM;GAElBC,KAAA,EAAA,OAAM,YAAA;;;cAvBvBC,EAyCkBC,GAAA;AAAA,IAzCA,SAASC,EAAA;AAAA,IAAS,OAAM;AAAA,IAAO,OAAM;AAAA,IAAQ,kBAAA;AAAA,IAAe,oBAAA;AAAA,IAAkB,SAAOC,EAAA;AAAA,EAAA,GAAA;AAAA,IAqC1F,QAAMC,EACf,MAA+D;AAAA,MAA/DC,EAA+DC,GAAA;AAAA,QAAlD,MAAK;AAAA,QAAW,SAAOH,EAAA;AAAA,MAAA,GAAA;AAAA,mBAAS,MAAI,CAAA,GAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,UAAAC,EAAJ,QAAI,EAAA;AAAA,QAAA,EAAA,CAAA;AAAA;;MACjDH,EAA6CC,GAAA,EAA/B,SAAOH,EAAA,OAAA,GAAM;AAAA,QAAA,SAAAC,EAAE,MAAE,CAAA,GAAAG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,UAAAC,EAAF,MAAE,EAAA;AAAA,QAAA,EAAA,CAAA;AAAA;;;eAtCjC,MAmCY;AAAA,MAnCZH,EAmCYI,GAAA;AAAA,QAlCV,KAAI;AAAA,QACJ,kBAAe;AAAA,QACf,eAAY;AAAA,QACZ,eAAA;AAAA,QACC,OAAON,EAAA;AAAA,QACP,OAAOA,EAAA;AAAA,QACR,iBAAc;AAAA,MAAA,GAAA;AAAA,mBAEd,MAEiB;AAAA,UAFjBE,EAEiBK,GAAA;AAAA,YAFD,OAAM;AAAA,YAAO,MAAK;AAAA,UAAA,GAAA;AAAA,uBAChC,MAAoE;AAAA,cAApEL,EAAoEM,GAAA;AAAA,gBAAA,YAA/CR,EAAA,UAAU;AAAA,gBAAA,uBAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAVT,YAAU,OAAIS;AAAA,gBAAE,aAAY;AAAA,cAAA,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA;AAAA;;;UAEnDP,EAEiBK,GAAA;AAAA,YAFD,OAAM;AAAA,YAAO,MAAK;AAAA,UAAA,GAAA;AAAA,uBAChC,MAAmG;AAAA,cAAnGL,EAAmGM,GAAA;AAAA,gBAAA,YAA9ER,EAAA,UAAU;AAAA,gBAAA,uBAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAVT,YAAU,cAAWS;AAAA,gBAAE,MAAK;AAAA,gBAAW,aAAY;AAAA,cAAA,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA;AAAA;;;UAE1EP,EAmBiBK,GAAA,EAnBD,OAAM,MAAA,GAAK;AAAA,YAAA,SAAAN,EACzB,MAiBM;AAAA,cAjBNS,EAiBM,OAjBNf,IAiBM;AAAA,gBAhBmCK,EAAA,UAAAW,EAAA,GAAvCC,EAAqD,OAArDC,EAAqD,KAAAC,EAAA,IAAA,EAAA;AAAA,gBACrDZ,EAA4Fa,GAAA;AAAA,kBAAjF,MAAMf,EAAA,UAAU;AAAA,kBAAW,OAAM;AAAA,kBAAkB,SAAOA,EAAA;AAAA,gBAAA,GAAA,MAAA,GAAA,CAAA,QAAA,SAAA,CAAA;AAAA,gBACrEE,EAaac,GAAA,EAbD,MAAK,WAAA,GAAU;AAAA,kBAAA,SAAAf,EACzB,MAWM;AAAA,oBAXKD,EAAA,UAAAW,EAAA,GAAXC,EAWM,OAXNK,IAWM;AAAA,sBATJP,EAQM,OARNd,IAQM;AAAA,yBAAAe,EAAA,GAPJC,EAMWM,GAAA,MAAAC,EANmB,IAAE,CAAfC,MACflB,EAIYa,GAAA;AAAA,0BAAA,KAL0BK;AAAA,0BAEnC,MAAI,oBAAsBA;AAAA,0BAC3B,OAAM;AAAA,0BACL,SAAK,CAAAX,MAAET,EAAA,iBAAgB,oBAAqBoB,CAAS;AAAA,wBAAA,GAAA,MAAA,GAAA,CAAA,QAAA,SAAA,CAAA;;;;;;;;;;;;;;;;;sFC7B1EC,KAAe;AAAA,EACb,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICgGKC,KAAU;AAAA,EACb,YAAY;AAAA,IACV,YAAYC;AAAA,IACZ,YAAYC;AAAA,IACZ,WAAWC;AAAA,IACX,UAAUC;AAAA,IACV,gBAAgBC;AAAA,IAChB,aAAaC;AAAA,IACb,YAAYC;AAAA,IACZ,aAAAC;AAAA,IACA,gBAAgBC,GAAU;AAAA,IAC1B,WAAAC;AAAA;EAGF,QAAQ;AACN,UAAM,EAAE,aAAAC,EAAU,IAAMC,EAAWC,EAAa,aAAa,GACvDC,IAAUzD,EAAI,CAAA,CAAE,GAEhB0D,IAAmB;AAAA,MACvB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA;MAET;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,IACF,GAEMC,IAAoB;AAAA,MACxB;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA;MAET;AAAA,QACE,OAAO;AAAA,QACP,OAAO;AAAA,MACT;AAAA,IACF,GAEMC,IAAiB;AAAA,MACrB;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA;MAEb;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW;AAAA,MACb;AAAA,IACF,GAEMC,IAAc,IAAI,gBAAgB,SAAS,MAAM,GAEjDC,IAAQ5D,EAAS;AAAA,MACrB,WAAW;AAAA,MACX,SAAS;AAAA,MACT,cAAc;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,MACb,WAAW,CAAC,IAAI,IAAI,IAAI,EAAE;AAAA,MAC1B,YAAY;AAAA,KACb,GAEK6D,IAAqB,MAAM;AAC/B,YAAMC,IAAOV,EAAW,GAClBW,IAAS;AAAA,QACb,aAAaH,EAAM;AAAA,QACnB,UAAUA,EAAM;AAAA,QAChB,MAAMA,EAAM;AAAA,QACZ,WAAWA,EAAM,cAAc,QAAQ,KAAKE,EAAK;AAAA,MACnD;AACA,MAAIF,EAAM,YAAY,wBACpBG,EAAO,UAAUH,EAAM,UAEzBI,EAAqB,OAAO,YAAY,OAAO,QAAQD,CAAM,EAAE,OAAO,CAAC,CAAA,EAAG3D,CAAK,MAAM,CAAC,CAACA,CAAK,CAAC,CAAC,EAAE,KAAK,CAAC6D,MAAQ;AAC5G,QAAAV,EAAQ,QAAQU,EAAI,QAAQ,CAAA,GAC5BL,EAAM,QAAQK,EAAI;AAAA,MACpB,CAAC;AAAA,IACH,GAEMC,IAAW,MAAM;AACrB,MAAAN,EAAM,aAAa;AAAA,IACrB,GAEMO,IAAe,CAACC,MAAa;AACjC,MAAAC,GAAM,QAAQ;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC,EAAE,KAAK,CAACJ,MAAQ;AACf,QAAIA,MAAQ,aACVK,EAAkBF,EAAS,EAAE,EAC1B,KAAK,MAAM;AACV,UAAAP,EAAkB;AAAA,QACpB,CAAC,EACA,MAAM,CAACU,MAAU;AAChB,UAAAC,EAAO;AAAA,YACL,MAAM;AAAA,YACN,SAASD;AAAA,YACT,UAAU;AAAA,YACV,UAAU;AAAA,WACX;AAAA,QACH,CAAC;AAAA,MAEP,CAAC;AAAA,IACH,GAEME,IAAkB,CAACL,MAAa;AAEpC,YAAMM,IAAS,GADF,OAAO,SAAS,KAAK,MAAM,GAAG,EAAE,CAAC,KAAK,IAC7B,gBAAgBN,EAAS,EAAE,WAAWA,EAAS,YAAYT,EAAY,IAAI,QAAQ,CAAC;AAC1G,MAAI,OAAO,SAAS,OAAO,MACzB,OAAO,OAAO;AAAA,QACZ;AAAA,UACE,MAAM;AAAA,UACN,KAAKe;AAAA;QAEP;AAAA,MACF,IAEA,OAAO,KAAKA,CAAM;AAAA,IAEtB,GAEMC,IAAY,CAACC,MAAS;AAC1B,MAAAhB,EAAM,OAAOgB;AAAA,IACf,GAEMC,IAAiB,CAACC,MAAQ;AAC9B,MAAAlB,EAAM,WAAWkB,GACjBlB,EAAM,cAAc,GACpBC,EAAkB;AAAA,IACpB,GAEMkB,IAAgB,CAACD,MAAQ;AAC7B,MAAAlB,EAAM,cAAckB,GACpBjB,EAAkB;AAAA,IACpB,GAEMmB,IAAa,CAACC,MAAa;AAC/B,UAAIA,KAAA,QAAAA,EAAU,IAAI;AAChB,cAAMC,IAAWD,EAAS;AAC1B,eAAOA,EAAS,IAChBE,EAAkBD,GAAUD,CAAQ,EACjC,KAAK,MAAM;AACV,UAAAT,EAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS;AAAA,YACT,UAAU;AAAA,YACV,UAAU;AAAA,WACX,GACDX,EAAkB;AAAA,QACpB,CAAC,EACA,MAAM,CAACU,MAAU;AAChB,UAAAC,EAAO;AAAA,YACL,MAAM;AAAA,YACN,SAASD;AAAA,YACT,UAAU;AAAA,YACV,UAAU;AAAA,WACX;AAAA,QACH,CAAC;AAAA,MACL;AACE,QAAAa,EAAkBH,CAAQ,EACvB,KAAK,MAAM;AACV,UAAAT,EAAO;AAAA,YACL,MAAM;AAAA,YACN,SAAS;AAAA,YACT,UAAU;AAAA,YACV,UAAU;AAAA,WACX,GACDX,EAAkB;AAAA,QACpB,CAAC,EACA,MAAM,CAACU,MAAU;AAChB,UAAAC,EAAO;AAAA,YACL,MAAM;AAAA,YACN,SAASD;AAAA,YACT,UAAU;AAAA,YACV,UAAU;AAAA,WACX;AAAA,QACH,CAAC;AAAA,IAEP;AAEA,WAAAc,EAAU,MAAM;AACd,MAAAxB,EAAkB;AAAA,IACpB,CAAC,GAEM;AAAA,MACL,OAAAD;AAAA,MACA,SAAAL;AAAA,MACA,kBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAQ;AAAA,MACA,oBAAAL;AAAA,MACA,WAAAc;AAAA,MACA,cAAAR;AAAA,MACA,iBAAAM;AAAA,MACA,YAAAO;AAAA,MACA,gBAAAH;AAAA,MACA,eAAAE;AAAA,IACF;AAAA,EACF;AACF,GAjTOjE,KAAA,EAAA,OAAM,aAAY,GAEhBkB,KAAA,EAAA,OAAM,uBAAsB,GAE1BI,KAAA,EAAA,OAAM,oBAAmB,GAavBrB,KAAA,EAAA,OAAM,eAAc,qBAYxBuE,KAAA,EAAA,OAAM,kBAAiB,GACrBC,KAAA,EAAA,OAAM,YAAW;;EACf,OAAM;GAGAC,KAAA,EAAA,OAAM,WAAU,GAEdC,KAAA,EAAA,OAAM,mBAAkB,GACtBC,KAAA,EAAA,OAAM,gBAAe,GACrBC,KAAA,EAAA,OAAM,WAAU,GAGpBC,KAAA,EAAA,OAAM,gBAAe,uCAiBrBC,KAAA,EAAA,OAAM,WAAU;;;AA1DjC,SAAA/D,EAAA,GAAAC,EAwFM,OAxFNjB,IAwFM;AAAA,IAvFJS,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAM,EAAwC,OAAA,EAAnC,OAAM,mBAAkB,GAAC,QAAI,EAAA;AAAA,IAClCA,EA0BM,OA1BNG,IA0BM;AAAA,MAzBJX,EAAqGC,GAAA;AAAA,QAAxF,OAAM;AAAA,QAAW,gCAAOH,EAAA;;mBAAa,MAAgC;AAAA,UAAhCE,EAAgCa,GAAA,EAAtB,MAAK,MAAK,CAAA;AAAA,4BAAY,SAAK,EAAA;AAAA;;;MACvFL,EAuBM,OAvBNO,IAuBM;AAAA,QAtBJf,EAA8GyE,GAAA;AAAA,UAAxF,YAAA3E,EAAA,MAAM;AAAA,UAAN,uBAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAAT,EAAA,MAAM,YAASS;AAAA,UAAG,SAAST,EAAA;AAAA,UAAmB,UAAQA,EAAA;AAAA;QAC5EE,EAA6GyE,GAAA;AAAA,UAAvF,YAAA3E,EAAA,MAAM;AAAA,UAAN,uBAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAAT,EAAA,MAAM,UAAOS;AAAA,UAAG,SAAST,EAAA;AAAA,UAAoB,UAAQA,EAAA;AAAA;QAC3EE,EASc0E,GAAA;AAAA,UARZ,OAAM;AAAA,UACG,YAAA5E,EAAA,MAAM;AAAA,UAAN,uBAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAAT,EAAA,MAAM,eAAYS;AAAA,UAC3B,WAAA;AAAA,UACA,aAAY;AAAA,UACX,UAAQT,EAAA;AAAA,UACT,mBAAA;AAAA;UAEW,UAAQ,MAAoB;AAAA,YAApBE,EAAoB2E,CAAA;AAAA;;;QAEzCnE,EASM,OATNd,IASM;AAAA,kBARJgB,EAOOM,GAAA,MAAAC,EANUnB,EAAA,gBAAc,CAAtB8E,YADTlE,EAOO,QAAA;AAAA,YALJ,KAAKkE,EAAK;AAAA,YACV,iCAA+B9E,EAAA,MAAM,SAAS8E,EAAK,GAAE,CAAA,CAAA;AAAA,YACrD,SAAK,CAAArE,MAAET,EAAA,UAAU8E,EAAK,EAAE;AAAA;YAEzB5E,EAA4Ca,GAAA;AAAA,cAAjC,MAAM+D,EAAK;AAAA;;;;;IAK9BpE,EAyDM,OAzDNyD,IAyDM;AAAA,MAxDJzD,EA6CM,OA7CN0D,IA6CM;AAAA,QA5CoBpE,EAAA,MAAM,SAAI,aAAlCW,KAAAC,EAuBM,OAvBNmE,IAuBM;AAAA,kBAtBJnE,EAqBWM,GAAA,MAAAC,EArBcnB,EAAA,SAAO,CAAf8E,YACflE,EAmBM,OAAA;AAAA,YApBgC,KAAAkE,EAAK;AAAA,YACtC,OAAM;AAAA;YACTpE,EAMM,OANN2D,IAMM;AAAA,cALJnE,EAAkFa,GAAA;AAAA,gBAAvE,MAAM+D,EAAK,aAAS;AAAA,gBAAwB,OAAM;AAAA;cAC7DpE,EAGM,OAHN4D,IAGM;AAAA,gBAFJ5D,EAAgD,OAAhD6D,IAAgDS,EAAlBF,EAAK,IAAI,GAAA,CAAA;AAAA,gBACvCpE,EAAkD,OAAlD8D,IAAkDQ,EAAzBF,EAAK,WAAW,GAAA,CAAA;AAAA;;YAG7CpE,EAUM,OAVN+D,IAUM;AAAA,cATJ/D,EAGM,OAAA;AAAA,gBAHD,OAAM;AAAA,gBAAU,SAAK,CAAAD,MAAET,EAAA,gBAAgB8E,CAAI;AAAA;gBAC9C5E,EAAwCa,GAAA,EAA9B,MAAK,cAAa,CAAA;AAAA,gBAC5BX,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAAqC,QAAA,EAA/B,OAAM,iBAAc,QAAI,EAAA;AAAA;cAEhCR,EAAkD+E,GAAA,EAApC,WAAU,WAAU,CAAA;AAAA,cAClCvE,EAGM,OAAA;AAAA,gBAHD,OAAM;AAAA,gBAAU,SAAK,CAAAD,MAAET,EAAA,aAAa8E,CAAI;AAAA;gBAC3C5E,EAAmCa,GAAA,EAAzB,MAAK,SAAQ,CAAA;AAAA,gBACvBX,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAAqC,QAAA,EAA/B,OAAM,iBAAc,QAAI,EAAA;AAAA;;;;QAMKV,EAAA,MAAM,SAAI,WAAgBA,EAAA,QAAQ,eAA/EH,EAkBYqF,GAAA;AAAA;UAlBD,KAAI;AAAA,UAAU,OAAM;AAAA,UAAyD,MAAMlF,EAAA;AAAA;qBAC5F,MAOmB;AAAA,YAPnBE,EAOmBiF,GAAA;AAAA,cAPD,OAAM;AAAA,cAAO,OAAM;AAAA,cAAO,iBAAA;AAAA;cAC/B,SAAOlF,EAChB,CADkBmF,MAAI;AAAA,gBACtB1E,EAGM,OAHNgE,IAGM;AAAA,kBAFJxE,EAAsFa,GAAA;AAAA,oBAA3E,MAAMqE,EAAK,IAAI,aAAS;AAAA,oBAAwB,OAAM;AAAA;kBACjE1E,EAAgC,QAAA,MAAAsE,EAAvBI,EAAK,IAAI,IAAI,GAAA,CAAA;AAAA;;;;YAI5BlF,EAAmFiF,GAAA;AAAA,cAAjE,OAAM;AAAA,cAAa,OAAM;AAAA,cAAO,iBAAA;AAAA;YAClDjF,EAAiFiF,GAAA;AAAA,cAA/D,OAAM;AAAA,cAAY,OAAM;AAAA,cAAM,iBAAA;AAAA;YAChDjF,EAAoFiF,GAAA;AAAA,cAAlE,OAAM;AAAA,cAAc,OAAM;AAAA,cAAO,iBAAA;AAAA;YACnDjF,EAKmBiF,GAAA;AAAA,cALD,OAAM;AAAA,cAAM,OAAM;AAAA,cAAY,OAAM;AAAA;cACzC,SAAOlF,EAChB,CADkBmF,MAAI;AAAA,gBACtBlF,EAAgFC,GAAA;AAAA,kBAAnE,MAAK;AAAA,kBAAQ,SAAK,CAAAM,MAAET,EAAA,gBAAgBoF,EAAK,GAAG;AAAA;6BAAG,MAAM,CAAA,GAAAhF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,sBAAN,UAAM,EAAA;AAAA;;;gBAClEF,EAA6EC,GAAA;AAAA,kBAAhE,MAAK;AAAA,kBAAQ,SAAK,CAAAM,MAAET,EAAA,aAAaoF,EAAK,GAAG;AAAA;6BAAG,MAAM,CAAA,GAAAhF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,sBAAN,UAAM,EAAA;AAAA;;;;;;;;;QAIrEF,EAA0CmF,GAAA;AAAA,UAA3B,QAAM,CAAGrF,EAAA,QAAQ;AAAA;;MAG1BA,EAAA,MAAM,QAAQA,EAAA,MAAM,iBAD5BH,EAScyF,GAAA;AAAA;QAPZ,MAAK;AAAA,QACJ,gBAActF,EAAA,MAAM;AAAA,QACpB,aAAWA,EAAA,MAAM;AAAA,QACjB,cAAYA,EAAA,MAAM;AAAA,QAClB,OAAOA,EAAA,MAAM;AAAA,QACb,cAAaA,EAAA;AAAA,QACb,iBAAgBA,EAAA;AAAA;;IAGrBE,EAAkFqF,GAAA;AAAA,MAA9D,SAASvF,EAAA,MAAM;AAAA,MAAN,oBAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAAT,EAAA,MAAM,aAAUS;AAAA,MAAG,WAAST,EAAA;AAAA;;;sFCxE7DwF,KAAe;AAAA,EACb,GAAGnE;AAAA,EACH,OAAAoE;AACF;"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .form-item-icon-wrapper[data-v-8e68e516]{position:relative}.form-item-icon-wrapper .form-item-icon[data-v-8e68e516]{font-size:40px;cursor:pointer}.form-item-icon-wrapper .form-item-icon-mask[data-v-8e68e516]{background-color:var(--te-app-center-mask-modal-bg-color);transition:background-color,.2s,ease-in-out;position:fixed;width:40px;height:40px;border-radius:8px}.form-item-icon-wrapper .dropdown-menu[data-v-8e68e516]{position:absolute;bottom:100%;left:0;padding:16px;margin-bottom:5px;width:192px;border-radius:4px;z-index:1000;overflow:hidden;background:var(--te-template-common-bg-color);box-shadow:0 4px 16px 0 var(--te-base-box-shadow-rgba-3)}.form-item-icon-wrapper .dropdown-menu .icon-list[data-v-8e68e516]{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.form-item-icon-wrapper .dropdown-menu .icon-list .icon[data-v-8e68e516]{font-size:32px;cursor:pointer}.app-center[data-v-8f79dac4]{padding:24px;background:var(--te-template-common-bg-color);height:-webkit-fill-available}.app-center .app-center-title[data-v-8f79dac4]{font-size:20px;font-weight:600}.app-center .app-center-operation[data-v-8f79dac4]{margin:24px 0 20px;display:flex;justify-content:space-between}.app-center .app-center-filter[data-v-8f79dac4]{display:flex;align-items:center;gap:12px}.app-center .app-center-search[data-v-8f79dac4]{min-width:300px}.app-center .type-toolbar[data-v-8f79dac4]{display:flex;border-radius:4px;background-color:var(--te-template-app-center-btn-bg-color)}.app-center .type-toolbar .icon-wrap[data-v-8f79dac4]{width:24px;height:24px;color:var(--te-template-app-center-btn-icon-color);font-size:16px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;transition:.3s}.app-center .type-toolbar .icon-wrap.active[data-v-8f79dac4]{border:1px solid var(--te-template-app-center-btn-border-color-active);color:var(--te-template-app-center-btn-color-active);border-radius:4px;background-color:var(--te-template-app-center-btn-bg-color-active)}.app-center .app-center-list[data-v-8f79dac4]{height:calc(100vh - 200px)}.list[data-v-8f79dac4]{display:flex;gap:24px;flex-wrap:wrap}.list .item[data-v-8f79dac4]{width:252px;padding:24px 24px 12px;border-radius:8px;border:1px solid var(--te-template-app-center-item-border-color);position:relative}.list .item[data-v-8f79dac4]:hover{border-color:var(--te-template-app-center-item-border-color-hover)}.list .item .app-name[data-v-8f79dac4]{display:flex;gap:16px}.list .item .app-name .app-img[data-v-8f79dac4]{width:48px;height:48px}.list .item .app-name .app-name-content[data-v-8f79dac4]{width:calc(100% - 64px)}.list .item .app-name .app-name-content .app-name-text[data-v-8f79dac4]{font-size:18px;font-weight:600;line-height:28px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list .item .app-name .app-name-content .app-desc[data-v-8f79dac4]{margin-top:4px;font-size:12px;line-height:18px;color:var(--te-template-center-common-item-desc-text-color);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list .item .app-operation[data-v-8f79dac4]{display:flex;align-items:center;gap:16px;padding-top:12px;margin-top:16px;border-top:1px dashed var(--te-template-app-center-item-border-color)}.list .item .app-operation .option[data-v-8f79dac4]{display:flex;align-items:center;gap:6px;cursor:pointer}.list .item .app-operation .option:hover .option-text[data-v-8f79dac4]{text-decoration:underline}.table .app-name[data-v-8f79dac4]{display:flex;gap:8px;align-items:center}.table .app-name .app-img[data-v-8f79dac4]{width:24px;height:24px}.table .tiny-button.tiny-button--text[data-v-8f79dac4]{padding-left:0}.list-wrap[data-v-8f79dac4]{margin-bottom:12px;max-height:calc(100% - 80px);overflow:auto}.list-wrap .empty-wrap[data-v-8f79dac4]{width:100%}.options .option[data-v-8f79dac4]{padding:4px 16px;cursor:pointer}.options .option[data-v-8f79dac4]:hover{background:var(--te-template-common-bg-color-hover)}:root{--te-template-common-bg-color: var(--te-common-bg-default);--te-template-common-bg-color-hover: var(--te-common-bg-container);--te-app-center-mask-modal-bg-color: var(--te-common-mask);--te-template-app-center-btn-bg-color: var(--te-common-bg-container);--te-template-app-center-btn-icon-color: var(--te-common-icon-secondary);--te-template-app-center-btn-color-active: var(--te-common-icon-primary);--te-template-app-center-btn-border-color-active: var(--te-common-border-active);--te-template-app-center-btn-bg-color-active: var(--te-common-bg-default);--te-template-app-center-item-border-color: var(--te-common-border-divider);--te-template-app-center-item-border-color-hover: var(--te-common-border-checked);--te-template-center-common-item-bg-color: var(--te-common-bg-container-weaken);--te-template-center-common-item-tag-bg-color: var(--te-common-bg-prompt);--te-template-center-common-item-operation-bg-color: var(--te-common-bg-prompt);--te-template-center-common-item-operation-icon-color: var(--te-common-icon-secondary);--te-template-center-common-item-desc-text-color: var(--te-common-text-secondary)}
1
+ .form-item-icon-wrapper[data-v-8e68e516]{position:relative}.form-item-icon-wrapper .form-item-icon[data-v-8e68e516]{font-size:40px;cursor:pointer}.form-item-icon-wrapper .form-item-icon-mask[data-v-8e68e516]{background-color:var(--te-app-center-mask-modal-bg-color);transition:background-color,.2s,ease-in-out;position:fixed;width:40px;height:40px;border-radius:8px}.form-item-icon-wrapper .dropdown-menu[data-v-8e68e516]{position:absolute;bottom:100%;left:0;padding:16px;margin-bottom:5px;width:192px;border-radius:4px;z-index:1000;overflow:hidden;background:var(--te-template-common-bg-color);box-shadow:0 4px 16px 0 var(--te-base-box-shadow-rgba-3)}.form-item-icon-wrapper .dropdown-menu .icon-list[data-v-8e68e516]{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.form-item-icon-wrapper .dropdown-menu .icon-list .icon[data-v-8e68e516]{font-size:32px;cursor:pointer}.app-center[data-v-b4a3b86a]{padding:24px;background:var(--te-template-common-bg-color);height:-webkit-fill-available}.app-center .app-center-title[data-v-b4a3b86a]{font-size:20px;font-weight:600}.app-center .app-center-operation[data-v-b4a3b86a]{margin:24px 0 20px;display:flex;justify-content:space-between}.app-center .app-center-filter[data-v-b4a3b86a]{display:flex;align-items:center;gap:12px}.app-center .app-center-search[data-v-b4a3b86a]{min-width:300px}.app-center .type-toolbar[data-v-b4a3b86a]{display:flex;border-radius:4px;background-color:var(--te-template-app-center-btn-bg-color)}.app-center .type-toolbar .icon-wrap[data-v-b4a3b86a]{width:24px;height:24px;color:var(--te-template-app-center-btn-icon-color);font-size:16px;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;transition:.3s}.app-center .type-toolbar .icon-wrap.active[data-v-b4a3b86a]{border:1px solid var(--te-template-app-center-btn-border-color-active);color:var(--te-template-app-center-btn-color-active);border-radius:4px;background-color:var(--te-template-app-center-btn-bg-color-active)}.app-center .app-center-list[data-v-b4a3b86a]{height:calc(100vh - 200px)}.list[data-v-b4a3b86a]{display:flex;gap:24px;flex-wrap:wrap}.list .item[data-v-b4a3b86a]{width:252px;padding:24px 24px 12px;border-radius:8px;border:1px solid var(--te-template-app-center-item-border-color);position:relative}.list .item[data-v-b4a3b86a]:hover{border-color:var(--te-template-app-center-item-border-color-hover)}.list .item .app-name[data-v-b4a3b86a]{display:flex;gap:16px}.list .item .app-name .app-img[data-v-b4a3b86a]{width:48px;height:48px}.list .item .app-name .app-name-content[data-v-b4a3b86a]{width:calc(100% - 64px)}.list .item .app-name .app-name-content .app-name-text[data-v-b4a3b86a]{font-size:18px;font-weight:600;line-height:28px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list .item .app-name .app-name-content .app-desc[data-v-b4a3b86a]{margin-top:4px;font-size:12px;line-height:18px;color:var(--te-template-center-common-item-desc-text-color);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list .item .app-operation[data-v-b4a3b86a]{display:flex;align-items:center;gap:16px;padding-top:12px;margin-top:16px;border-top:1px dashed var(--te-template-app-center-item-border-color)}.list .item .app-operation .option[data-v-b4a3b86a]{display:flex;align-items:center;gap:6px;cursor:pointer}.list .item .app-operation .option:hover .option-text[data-v-b4a3b86a]{text-decoration:underline}.table .app-name[data-v-b4a3b86a]{display:flex;gap:8px;align-items:center}.table .app-name .app-img[data-v-b4a3b86a]{width:24px;height:24px}.table .tiny-button.tiny-button--text[data-v-b4a3b86a]{padding-left:0}.list-wrap[data-v-b4a3b86a]{margin-bottom:12px;max-height:calc(100% - 80px);overflow:auto}.list-wrap .empty-wrap[data-v-b4a3b86a]{width:100%}.options .option[data-v-b4a3b86a]{padding:4px 16px;cursor:pointer}.options .option[data-v-b4a3b86a]:hover{background:var(--te-template-common-bg-color-hover)}:root{--te-template-common-bg-color: var(--te-common-bg-default);--te-template-common-bg-color-hover: var(--te-common-bg-container);--te-app-center-mask-modal-bg-color: var(--te-common-mask);--te-template-app-center-btn-bg-color: var(--te-common-bg-container);--te-template-app-center-btn-icon-color: var(--te-common-icon-secondary);--te-template-app-center-btn-color-active: var(--te-common-icon-primary);--te-template-app-center-btn-border-color-active: var(--te-common-border-active);--te-template-app-center-btn-bg-color-active: var(--te-common-bg-default);--te-template-app-center-item-border-color: var(--te-common-border-divider);--te-template-app-center-item-border-color-hover: var(--te-common-border-checked);--te-template-center-common-item-bg-color: var(--te-common-bg-container-weaken);--te-template-center-common-item-tag-bg-color: var(--te-common-bg-prompt);--te-template-center-common-item-operation-bg-color: var(--te-common-bg-prompt);--te-template-center-common-item-operation-icon-color: var(--te-common-icon-secondary);--te-template-center-common-item-desc-text-color: var(--te-common-text-secondary)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/tiny-engine-workspace-application-center",
3
- "version": "2.10.0-rc.0",
3
+ "version": "2.10.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,12 +25,12 @@
25
25
  "license": "MIT",
26
26
  "homepage": "https://opentiny.design/tiny-engine",
27
27
  "dependencies": {
28
- "@opentiny/tiny-engine-common": "2.10.0-rc.0",
29
- "@opentiny/tiny-engine-meta-register": "2.10.0-rc.0",
28
+ "@opentiny/tiny-engine-common": "2.10.0",
29
+ "@opentiny/tiny-engine-meta-register": "2.10.0",
30
30
  "vue-clipboard3": "^2.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.10.0-rc.0",
33
+ "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.10.0",
34
34
  "@vitejs/plugin-vue": "^5.1.2",
35
35
  "@vitejs/plugin-vue-jsx": "^4.0.1",
36
36
  "vite": "^5.4.2"
@@ -40,5 +40,5 @@
40
40
  "@opentiny/vue-icon": "^3.20.0",
41
41
  "vue": "^3.4.15"
42
42
  },
43
- "gitHead": "a6add41d1480f36d2606b4395efe7f299bcd8558"
43
+ "gitHead": "d956d78cf9f2572f6a2b50540ef2082e68f3777a"
44
44
  }