@opentiny/tiny-engine-toolbar-save 2.6.0-alpha.9 → 2.6.0-rc.1

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,11 +1,11 @@
1
1
  import "./style.css";
2
- import { useMessage as f, callEntry as m, getMetaApi as j, META_APP as J, useBlock as L, getOptions as I, usePage as G, useNotify as V, useLayout as R, useCanvas as u, useCompile as Q } from "@opentiny/tiny-engine-meta-register";
3
- import { reactive as te, ref as X, onMounted as Z, onUnmounted as $, resolveComponent as w, createElementBlock as ae, openBlock as ee, createVNode as N, withCtx as O, createBlock as oe, createCommentVNode as ne, createTextVNode as W, createElementVNode as K } from "vue";
4
- import { ToolbarBase as h, VueMonaco as M } from "@opentiny/tiny-engine-common";
5
- import { Select as se, Checkbox as ie, DialogBox as le, Popover as ce, Button as re } from "@opentiny/vue";
6
- import { constants as _ } from "@opentiny/tiny-engine-utils";
7
- import { handlePageUpdate as Y } from "@opentiny/tiny-engine-common/js/http";
8
- const B = {
2
+ import { reactive as N, ref as B, onMounted as P, onUnmounted as x, resolveComponent as f, createElementBlock as U, openBlock as E, createVNode as p, withCtx as d, createBlock as I, createCommentVNode as G, createTextVNode as S, createElementVNode as _ } from "vue";
3
+ import { ToolbarBase as R, VueMonaco as j } from "@opentiny/tiny-engine-common";
4
+ import { Select as Y, Checkbox as q, DialogBox as z, Popover as F, Button as H } from "@opentiny/vue";
5
+ import { useMessage as V, useCanvas as C, getOptions as K, useNotify as A, useLayout as Q, usePage as W, getMetaApi as X, META_APP as Z, useBlock as $ } from "@opentiny/tiny-engine-meta-register";
6
+ import { constants as w } from "@opentiny/tiny-engine-utils";
7
+ import { handlePageUpdate as ee } from "@opentiny/tiny-engine-common/js/http";
8
+ const D = {
9
9
  id: "engine.toolbars.save",
10
10
  type: "toolbars",
11
11
  title: "save",
@@ -15,314 +15,100 @@ const B = {
15
15
  },
16
16
  renderType: "button"
17
17
  }
18
- }, {
19
- publish: q
20
- } = f(), {
21
- PAGE_STATUS: E,
22
- AUTO_SAVED: U
23
- } = _, P = te({
18
+ }, { publish: te } = V(), { PAGE_STATUS: g, AUTO_SAVED: M } = w, k = N({
24
19
  visible: !1,
25
20
  code: "",
26
21
  originalCode: "",
27
22
  disabled: !1
28
- }), r = X(!1), z = m(async (o) => {
23
+ }), b = B(!1), oe = async (a) => {
29
24
  var s;
30
- const e = j(J.BlockManage), {
31
- getCurrentBlock: a
32
- } = L(), t = a();
33
- t.label = o.fileName, t.content = o, r.value = !0, t.screenshot = await e.getBlockBase64(), await ((s = e.saveBlock) == null ? void 0 : s.call(e, t)), r.value = !1;
34
- }, {
35
- metaData: {
36
- id: "engine.toolbars.save.js-index.saveBlock"
37
- },
38
- ctx: () => ({
39
- useBlock: L,
40
- useCanvas: u,
41
- useLayout: R,
42
- useNotify: V,
43
- usePage: G,
44
- getOptions: I,
45
- getMetaApi: j,
46
- META_APP: J,
47
- useMessage: f,
48
- constants: _,
49
- handlePageUpdate: Y,
50
- meta: B,
51
- publish: q,
52
- PAGE_STATUS: E,
53
- AUTO_SAVED: U,
54
- state: P,
55
- isLoading: r,
56
- saveBlock: z,
57
- savePage: F,
58
- saveCommon: g,
59
- openCommon: y,
60
- getAutoSaveStatus: k,
61
- setAutoSaveStatus: x
62
- })
63
- }), F = m(async (o) => {
64
- const {
65
- currentPage: e
66
- } = u().pageState, a = {
67
- page_content: o
25
+ const e = X(Z.BlockManage), { getCurrentBlock: o } = $(), t = o();
26
+ t.label = a.fileName, t.content = a, b.value = !0, t.screenshot = await e.getBlockBase64(), await ((s = e.saveBlock) == null ? void 0 : s.call(e, t)), b.value = !1;
27
+ }, ae = async (a) => {
28
+ const { currentPage: e } = C().pageState, o = {
29
+ page_content: a
68
30
  };
69
- r.value = !0;
31
+ b.value = !0;
70
32
  const t = {
71
33
  id: e.id,
72
- params: {
73
- ...e,
74
- ...a
75
- }
34
+ params: { ...e, ...o }
76
35
  };
77
- await Y(t), r.value = !1, q({
78
- topic: "page-saved"
79
- });
80
- }, {
81
- metaData: {
82
- id: "engine.toolbars.save.js-index.savePage"
83
- },
84
- ctx: () => ({
85
- useBlock: L,
86
- useCanvas: u,
87
- useLayout: R,
88
- useNotify: V,
89
- usePage: G,
90
- getOptions: I,
91
- getMetaApi: j,
92
- META_APP: J,
93
- useMessage: f,
94
- constants: _,
95
- handlePageUpdate: Y,
96
- meta: B,
97
- publish: q,
98
- PAGE_STATUS: E,
99
- AUTO_SAVED: U,
100
- state: P,
101
- isLoading: r,
102
- saveBlock: z,
103
- savePage: F,
104
- saveCommon: g,
105
- openCommon: y,
106
- getAutoSaveStatus: k,
107
- setAutoSaveStatus: x
108
- })
109
- }), g = m((o) => {
110
- const {
111
- pageSettingState: e,
112
- isTemporaryPage: a
113
- } = G(), {
114
- isBlock: t,
115
- canvasApi: s,
116
- pageState: l,
117
- resetBlockCanvasState: d,
118
- resetPageCanvasState: i
119
- } = u(), n = JSON.parse(o), {
120
- selectNode: c
121
- } = s.value;
122
- if (t() ? d({
123
- ...l,
124
- pageSchema: n
125
- }) : i({
126
- ...l,
127
- pageSchema: n
128
- }), e != null && e.isAIPage) {
129
- a.saved && (a.saved = !1), a.saved = !0;
130
- const b = "page_content";
131
- return e.currentPageData[b] = n, Promise.resolve();
36
+ await ee(t), b.value = !1, te({ topic: "page-saved" });
37
+ }, O = (a) => {
38
+ const { pageSettingState: e, isTemporaryPage: o } = W(), { isBlock: t, canvasApi: s, pageState: l, resetBlockCanvasState: r, resetPageCanvasState: i } = C(), n = JSON.parse(a), { selectNode: c } = s.value;
39
+ if (t() ? r({ ...l, pageSchema: n }) : i({ ...l, pageSchema: n }), e != null && e.isAIPage) {
40
+ o.saved && (o.saved = !1), o.saved = !0;
41
+ const v = "page_content";
42
+ return e.currentPageData[v] = n, Promise.resolve();
132
43
  }
133
- return c(null), t() ? z(n) : F(n);
134
- }, {
135
- metaData: {
136
- id: "engine.toolbars.save.js-index.saveCommon"
137
- },
138
- ctx: () => ({
139
- useBlock: L,
140
- useCanvas: u,
141
- useLayout: R,
142
- useNotify: V,
143
- usePage: G,
144
- getOptions: I,
145
- getMetaApi: j,
146
- META_APP: J,
147
- useMessage: f,
148
- constants: _,
149
- handlePageUpdate: Y,
150
- meta: B,
151
- publish: q,
152
- PAGE_STATUS: E,
153
- AUTO_SAVED: U,
154
- state: P,
155
- isLoading: r,
156
- saveBlock: z,
157
- savePage: F,
158
- saveCommon: g,
159
- openCommon: y,
160
- getAutoSaveStatus: k,
161
- setAutoSaveStatus: x
162
- })
163
- }), y = m(async () => {
164
- var b;
165
- const {
166
- isSaved: o,
167
- getSchema: e
168
- } = u();
169
- if (o() || P.disabled)
44
+ return c(null), t() ? oe(n) : ae(n);
45
+ }, J = async () => {
46
+ var v;
47
+ const { isSaved: a, getSchema: e } = C();
48
+ if (a() || k.disabled)
170
49
  return;
171
- const {
172
- beforeSave: a,
173
- saveMethod: t,
174
- saved: s
175
- } = I(B.id);
50
+ const { beforeSave: o, saveMethod: t, saved: s } = K(D.id);
176
51
  try {
177
- if (typeof a == "function" && await a(), typeof t == "function" && await t())
52
+ if (typeof o == "function" && await o(), typeof t == "function" && await t())
178
53
  return;
179
- } catch (v) {
180
- V({
54
+ } catch (u) {
55
+ A({
181
56
  type: "error",
182
- message: `Error in saving: ${v}`
57
+ message: `Error in saving: ${u}`
183
58
  });
184
59
  }
185
- const l = (b = R().layoutState) == null ? void 0 : b.pageStatus, d = l == null ? void 0 : l.state, i = l == null ? void 0 : l.data, n = {
186
- [E.Release]: "当前页面未锁定,请先锁定再保存",
187
- [E.Empty]: "当前应用无页面,请先新建页面再保存",
188
- [E.Guest]: "官网演示应用不能保存页面,如需体验请切换应用",
189
- [E.Lock]: `当前页面被 ${i == null ? void 0 : i.username} ${i == null ? void 0 : i.resetPasswordToken} 锁定,如需编辑请先联系他解锁文件,然后再锁定该页面后编辑!`
60
+ const l = (v = Q().layoutState) == null ? void 0 : v.pageStatus, r = l == null ? void 0 : l.state, i = l == null ? void 0 : l.data, n = {
61
+ [g.Release]: "当前页面未锁定,请先锁定再保存",
62
+ [g.Empty]: "当前应用无页面,请先新建页面再保存",
63
+ [g.Guest]: "官网演示应用不能保存页面,如需体验请切换应用",
64
+ [g.Lock]: `当前页面被 ${i == null ? void 0 : i.username} ${i == null ? void 0 : i.resetPasswordToken} 锁定,如需编辑请先联系他解锁文件,然后再锁定该页面后编辑!`
190
65
  };
191
- if ([E.Release, E.Empty, E.Guest, E.Lock].includes(d)) {
192
- V({
66
+ if ([g.Release, g.Empty, g.Guest, g.Lock].includes(r)) {
67
+ A({
193
68
  type: "error",
194
69
  title: "保存失败",
195
- message: n[d]
70
+ message: n[r]
196
71
  });
197
72
  return;
198
73
  }
199
- P.disabled = !0;
74
+ k.disabled = !0;
200
75
  const c = e();
201
- P.code = JSON.stringify(c || {}, null, 2), g(P.code).finally(() => {
202
- if (P.disabled = !1, typeof s == "function")
76
+ k.code = JSON.stringify(c || {}, null, 2), O(k.code).finally(() => {
77
+ if (k.disabled = !1, typeof s == "function")
203
78
  try {
204
79
  s();
205
- } catch (v) {
206
- V({
80
+ } catch (u) {
81
+ A({
207
82
  type: "error",
208
- message: `Error in saved: ${v}`
83
+ message: `Error in saved: ${u}`
209
84
  });
210
85
  }
211
86
  });
212
- }, {
213
- metaData: {
214
- id: "engine.toolbars.save.js-index.openCommon"
215
- },
216
- ctx: () => ({
217
- useBlock: L,
218
- useCanvas: u,
219
- useLayout: R,
220
- useNotify: V,
221
- usePage: G,
222
- getOptions: I,
223
- getMetaApi: j,
224
- META_APP: J,
225
- useMessage: f,
226
- constants: _,
227
- handlePageUpdate: Y,
228
- meta: B,
229
- publish: q,
230
- PAGE_STATUS: E,
231
- AUTO_SAVED: U,
232
- state: P,
233
- isLoading: r,
234
- saveBlock: z,
235
- savePage: F,
236
- saveCommon: g,
237
- openCommon: y,
238
- getAutoSaveStatus: k,
239
- setAutoSaveStatus: x
240
- })
241
- }), k = m(() => {
87
+ }, ne = () => {
242
88
  try {
243
- const o = localStorage.getItem(U) ?? "";
244
- return JSON.parse(o) ?? !1;
89
+ const a = localStorage.getItem(M) ?? "";
90
+ return JSON.parse(a) ?? !1;
245
91
  } catch {
246
92
  return !1;
247
93
  }
248
- }, {
249
- metaData: {
250
- id: "engine.toolbars.save.js-index.getAutoSaveStatus"
251
- },
252
- ctx: () => ({
253
- useBlock: L,
254
- useCanvas: u,
255
- useLayout: R,
256
- useNotify: V,
257
- usePage: G,
258
- getOptions: I,
259
- getMetaApi: j,
260
- META_APP: J,
261
- useMessage: f,
262
- constants: _,
263
- handlePageUpdate: Y,
264
- meta: B,
265
- publish: q,
266
- PAGE_STATUS: E,
267
- AUTO_SAVED: U,
268
- state: P,
269
- isLoading: r,
270
- saveBlock: z,
271
- savePage: F,
272
- saveCommon: g,
273
- openCommon: y,
274
- getAutoSaveStatus: k,
275
- setAutoSaveStatus: x
276
- })
277
- }), x = m((o) => {
94
+ }, se = (a) => {
278
95
  try {
279
- return localStorage.setItem(U, JSON.stringify(o)), !0;
96
+ return localStorage.setItem(M, JSON.stringify(a)), !0;
280
97
  } catch {
281
98
  return !1;
282
99
  }
283
- }, {
284
- metaData: {
285
- id: "engine.toolbars.save.js-index.setAutoSaveStatus"
286
- },
287
- ctx: () => ({
288
- useBlock: L,
289
- useCanvas: u,
290
- useLayout: R,
291
- useNotify: V,
292
- usePage: G,
293
- getOptions: I,
294
- getMetaApi: j,
295
- META_APP: J,
296
- useMessage: f,
297
- constants: _,
298
- handlePageUpdate: Y,
299
- meta: B,
300
- publish: q,
301
- PAGE_STATUS: E,
302
- AUTO_SAVED: U,
303
- state: P,
304
- isLoading: r,
305
- saveBlock: z,
306
- savePage: F,
307
- saveCommon: g,
308
- openCommon: y,
309
- getAutoSaveStatus: k,
310
- setAutoSaveStatus: x
311
- })
312
- }), {
313
- OPEN_DELAY: T
314
- } = _, A = {
315
- saveCommon: g,
316
- openCommon: y
317
- }, de = {
100
+ }, { OPEN_DELAY: ie } = w, le = {
101
+ saveCommon: O,
102
+ openCommon: J
103
+ }, ce = {
318
104
  components: {
319
- VueMonaco: M,
320
- TinyButton: re,
321
- TinyPopover: ce,
322
- TinyDialogBox: le,
323
- TinyCheckbox: ie,
324
- TinySelect: se,
325
- ToolbarBase: h
105
+ VueMonaco: j,
106
+ TinyButton: H,
107
+ TinyPopover: F,
108
+ TinyDialogBox: z,
109
+ TinyCheckbox: q,
110
+ TinySelect: Y,
111
+ ToolbarBase: R
326
112
  },
327
113
  props: {
328
114
  iconExpand: {
@@ -335,615 +121,140 @@ const B = {
335
121
  }
336
122
  },
337
123
  setup() {
338
- const o = [{
339
- value: 5,
340
- label: "5分钟"
341
- }, {
342
- value: 10,
343
- label: "10分钟"
344
- }, {
345
- value: 15,
346
- label: "15分钟"
347
- }], e = te({
124
+ const a = [
125
+ { value: 5, label: "5分钟" },
126
+ { value: 10, label: "10分钟" },
127
+ { value: 15, label: "15分钟" }
128
+ ], e = N({
348
129
  visible: !1,
349
130
  code: "",
350
131
  originalCode: "",
351
132
  checked: !1,
352
133
  timeValue: 5,
353
134
  preservationTime: null
354
- }), a = X(null), {
355
- isSaved: t,
356
- setSaved: s,
357
- getSchema: l
358
- } = u(), {
359
- subscribe: d,
360
- unsubscribe: i
361
- } = f(), n = "toolbar-save", c = X(null);
362
- Z(m(m(() => {
363
- d({
135
+ }), o = B(null), { isSaved: t, setSaved: s, getSchema: l } = C(), { subscribe: r, unsubscribe: i } = V(), n = "toolbar-save", c = B(null);
136
+ P(() => {
137
+ r({
364
138
  topic: "pageOrBlockInit",
365
139
  subscriber: n,
366
- callback: (H) => {
367
- c.value = JSON.stringify(H), s(!0);
140
+ callback: (y) => {
141
+ c.value = JSON.stringify(y), s(!0);
368
142
  }
369
- }), d({
143
+ }), r({
370
144
  topic: "schemaChange",
371
145
  subscriber: n,
372
146
  callback: () => {
373
147
  if (c.value) {
374
- const H = JSON.stringify(l()) === c.value;
375
- s(H);
148
+ const y = JSON.stringify(l()) === c.value;
149
+ s(y);
376
150
  }
377
151
  }
378
- }), d({
152
+ }), r({
379
153
  topic: "schemaImport",
380
154
  subscriber: n,
381
155
  callback: () => {
382
156
  if (c.value) {
383
- const H = JSON.stringify(l()) === c.value;
384
- s(H);
157
+ const y = JSON.stringify(l()) === c.value;
158
+ s(y);
385
159
  }
386
160
  }
387
161
  });
388
- }, {
389
- metaData: {
390
- id: "engine.toolbars.save.Main.onMounted[0]"
391
- },
392
- ctx: () => ({
393
- delayOptions: o,
394
- state: e,
395
- editor: a,
396
- isSaved: t,
397
- setSaved: s,
398
- getSchema: l,
399
- subscribe: d,
400
- unsubscribe: i,
401
- subscriber: n,
402
- originSchema: c,
403
- close: b,
404
- openApi: v,
405
- saveApi: C,
406
- editorOptions: S,
407
- saveSetTimeout: p,
408
- saveConfig: D,
409
- VueMonaco: M,
410
- useCanvas: u,
411
- useMessage: f,
412
- ToolbarBase: h,
413
- openCommon: y,
414
- saveCommon: g,
415
- isLoading: r,
416
- setAutoSaveStatus: x,
417
- getAutoSaveStatus: k,
418
- constants: _,
419
- OPEN_DELAY: T,
420
- api: A
421
- })
422
- }), {
423
- metaData: {
424
- id: "engine.toolbars.save.Main.onMounted[0]"
425
- },
426
- ctx: () => ({
427
- delayOptions: o,
428
- state: e,
429
- editor: a,
430
- isSaved: t,
431
- setSaved: s,
432
- getSchema: l,
433
- subscribe: d,
434
- unsubscribe: i,
435
- subscriber: n,
436
- originSchema: c,
437
- close: b,
438
- openApi: v,
439
- saveApi: C,
440
- editorOptions: S,
441
- saveSetTimeout: p,
442
- saveConfig: D,
443
- _callEntry: m,
444
- _useCompile: Q,
445
- _metaData: B,
446
- VueMonaco: M,
447
- useCanvas: u,
448
- useMessage: f,
449
- ToolbarBase: h,
450
- openCommon: y,
451
- saveCommon: g,
452
- isLoading: r,
453
- setAutoSaveStatus: x,
454
- getAutoSaveStatus: k,
455
- constants: _,
456
- OPEN_DELAY: T,
457
- api: A
458
- })
459
- })), $(m(m(() => {
460
- i({
461
- topic: "pageOrBlockInit",
462
- subscriber: n
463
- }), i({
464
- topic: "schemaChange",
465
- subscriber: n
466
- }), i({
467
- topic: "schemaImport",
468
- subscriber: n
469
- });
470
- }, {
471
- metaData: {
472
- id: "engine.toolbars.save.Main.onUnmounted[0]"
473
- },
474
- ctx: () => ({
475
- delayOptions: o,
476
- state: e,
477
- editor: a,
478
- isSaved: t,
479
- setSaved: s,
480
- getSchema: l,
481
- subscribe: d,
482
- unsubscribe: i,
483
- subscriber: n,
484
- originSchema: c,
485
- close: b,
486
- openApi: v,
487
- saveApi: C,
488
- editorOptions: S,
489
- saveSetTimeout: p,
490
- saveConfig: D,
491
- VueMonaco: M,
492
- useCanvas: u,
493
- useMessage: f,
494
- ToolbarBase: h,
495
- openCommon: y,
496
- saveCommon: g,
497
- isLoading: r,
498
- setAutoSaveStatus: x,
499
- getAutoSaveStatus: k,
500
- constants: _,
501
- OPEN_DELAY: T,
502
- api: A
503
- })
504
- }), {
505
- metaData: {
506
- id: "engine.toolbars.save.Main.onUnmounted[0]"
507
- },
508
- ctx: () => ({
509
- delayOptions: o,
510
- state: e,
511
- editor: a,
512
- isSaved: t,
513
- setSaved: s,
514
- getSchema: l,
515
- subscribe: d,
516
- unsubscribe: i,
517
- subscriber: n,
518
- originSchema: c,
519
- close: b,
520
- openApi: v,
521
- saveApi: C,
522
- editorOptions: S,
523
- saveSetTimeout: p,
524
- saveConfig: D,
525
- _callEntry: m,
526
- _useCompile: Q,
527
- _metaData: B,
528
- VueMonaco: M,
529
- useCanvas: u,
530
- useMessage: f,
531
- ToolbarBase: h,
532
- openCommon: y,
533
- saveCommon: g,
534
- isLoading: r,
535
- setAutoSaveStatus: x,
536
- getAutoSaveStatus: k,
537
- constants: _,
538
- OPEN_DELAY: T,
539
- api: A
540
- })
541
- }));
542
- const b = m(() => {
162
+ }), x(() => {
163
+ i({ topic: "pageOrBlockInit", subscriber: n }), i({ topic: "schemaChange", subscriber: n }), i({ topic: "schemaImport", subscriber: n });
164
+ });
165
+ const v = () => {
543
166
  e.visible = !1, e.originalCode = "";
544
- }, {
545
- metaData: {
546
- id: "engine.toolbars.save.Main.close"
547
- },
548
- ctx: () => ({
549
- delayOptions: o,
550
- state: e,
551
- editor: a,
552
- isSaved: t,
553
- setSaved: s,
554
- getSchema: l,
555
- subscribe: d,
556
- unsubscribe: i,
557
- subscriber: n,
558
- originSchema: c,
559
- close: b,
560
- openApi: v,
561
- saveApi: C,
562
- editorOptions: S,
563
- saveSetTimeout: p,
564
- saveConfig: D,
565
- VueMonaco: M,
566
- useCanvas: u,
567
- useMessage: f,
568
- ToolbarBase: h,
569
- openCommon: y,
570
- saveCommon: g,
571
- isLoading: r,
572
- setAutoSaveStatus: x,
573
- getAutoSaveStatus: k,
574
- constants: _,
575
- OPEN_DELAY: T,
576
- api: A
577
- })
578
- }), v = m(() => {
579
- r.value || y();
580
- }, {
581
- metaData: {
582
- id: "engine.toolbars.save.Main.openApi"
583
- },
584
- ctx: () => ({
585
- delayOptions: o,
586
- state: e,
587
- editor: a,
588
- isSaved: t,
589
- setSaved: s,
590
- getSchema: l,
591
- subscribe: d,
592
- unsubscribe: i,
593
- subscriber: n,
594
- originSchema: c,
595
- close: b,
596
- openApi: v,
597
- saveApi: C,
598
- editorOptions: S,
599
- saveSetTimeout: p,
600
- saveConfig: D,
601
- VueMonaco: M,
602
- useCanvas: u,
603
- useMessage: f,
604
- ToolbarBase: h,
605
- openCommon: y,
606
- saveCommon: g,
607
- isLoading: r,
608
- setAutoSaveStatus: x,
609
- getAutoSaveStatus: k,
610
- constants: _,
611
- OPEN_DELAY: T,
612
- api: A
613
- })
614
- }), C = m(() => {
615
- g();
616
- }, {
617
- metaData: {
618
- id: "engine.toolbars.save.Main.saveApi"
619
- },
620
- ctx: () => ({
621
- delayOptions: o,
622
- state: e,
623
- editor: a,
624
- isSaved: t,
625
- setSaved: s,
626
- getSchema: l,
627
- subscribe: d,
628
- unsubscribe: i,
629
- subscriber: n,
630
- originSchema: c,
631
- close: b,
632
- openApi: v,
633
- saveApi: C,
634
- editorOptions: S,
635
- saveSetTimeout: p,
636
- saveConfig: D,
637
- VueMonaco: M,
638
- useCanvas: u,
639
- useMessage: f,
640
- ToolbarBase: h,
641
- openCommon: y,
642
- saveCommon: g,
643
- isLoading: r,
644
- setAutoSaveStatus: x,
645
- getAutoSaveStatus: k,
646
- constants: _,
647
- OPEN_DELAY: T,
648
- api: A
649
- })
650
- }), S = {
167
+ }, u = () => {
168
+ b.value || J();
169
+ }, h = () => {
170
+ O();
171
+ }, T = {
651
172
  language: "json",
652
173
  lineNumbers: !0,
653
174
  minimap: {
654
175
  enabled: !1
655
176
  }
656
- }, p = m(() => {
177
+ }, m = () => {
657
178
  clearTimeout(e.preservationTime), e.preservationTime = setTimeout(() => {
658
- v(), p();
179
+ u(), m();
659
180
  }, e.timeValue * 60 * 1e3);
660
- }, {
661
- metaData: {
662
- id: "engine.toolbars.save.Main.saveSetTimeout"
663
- },
664
- ctx: () => ({
665
- delayOptions: o,
666
- state: e,
667
- editor: a,
668
- isSaved: t,
669
- setSaved: s,
670
- getSchema: l,
671
- subscribe: d,
672
- unsubscribe: i,
673
- subscriber: n,
674
- originSchema: c,
675
- close: b,
676
- openApi: v,
677
- saveApi: C,
678
- editorOptions: S,
679
- saveSetTimeout: p,
680
- saveConfig: D,
681
- VueMonaco: M,
682
- useCanvas: u,
683
- useMessage: f,
684
- ToolbarBase: h,
685
- openCommon: y,
686
- saveCommon: g,
687
- isLoading: r,
688
- setAutoSaveStatus: x,
689
- getAutoSaveStatus: k,
690
- constants: _,
691
- OPEN_DELAY: T,
692
- api: A
693
- })
694
- }), D = m(() => {
695
- x(e.checked), e.checked ? p() : clearTimeout(e.preservationTime);
696
- }, {
697
- metaData: {
698
- id: "engine.toolbars.save.Main.saveConfig"
699
- },
700
- ctx: () => ({
701
- delayOptions: o,
702
- state: e,
703
- editor: a,
704
- isSaved: t,
705
- setSaved: s,
706
- getSchema: l,
707
- subscribe: d,
708
- unsubscribe: i,
709
- subscriber: n,
710
- originSchema: c,
711
- close: b,
712
- openApi: v,
713
- saveApi: C,
714
- editorOptions: S,
715
- saveSetTimeout: p,
716
- saveConfig: D,
717
- VueMonaco: M,
718
- useCanvas: u,
719
- useMessage: f,
720
- ToolbarBase: h,
721
- openCommon: y,
722
- saveCommon: g,
723
- isLoading: r,
724
- setAutoSaveStatus: x,
725
- getAutoSaveStatus: k,
726
- constants: _,
727
- OPEN_DELAY: T,
728
- api: A
729
- })
730
- });
731
- return Z(m(m(() => {
732
- e.checked = k(), e.checked && p();
733
- }, {
734
- metaData: {
735
- id: "engine.toolbars.save.Main.onMounted[1]"
736
- },
737
- ctx: () => ({
738
- delayOptions: o,
739
- state: e,
740
- editor: a,
741
- isSaved: t,
742
- setSaved: s,
743
- getSchema: l,
744
- subscribe: d,
745
- unsubscribe: i,
746
- subscriber: n,
747
- originSchema: c,
748
- close: b,
749
- openApi: v,
750
- saveApi: C,
751
- editorOptions: S,
752
- saveSetTimeout: p,
753
- saveConfig: D,
754
- VueMonaco: M,
755
- useCanvas: u,
756
- useMessage: f,
757
- ToolbarBase: h,
758
- openCommon: y,
759
- saveCommon: g,
760
- isLoading: r,
761
- setAutoSaveStatus: x,
762
- getAutoSaveStatus: k,
763
- constants: _,
764
- OPEN_DELAY: T,
765
- api: A
766
- })
767
- }), {
768
- metaData: {
769
- id: "engine.toolbars.save.Main.onMounted[1]"
770
- },
771
- ctx: () => ({
772
- delayOptions: o,
773
- state: e,
774
- editor: a,
775
- isSaved: t,
776
- setSaved: s,
777
- getSchema: l,
778
- subscribe: d,
779
- unsubscribe: i,
780
- subscriber: n,
781
- originSchema: c,
782
- close: b,
783
- openApi: v,
784
- saveApi: C,
785
- editorOptions: S,
786
- saveSetTimeout: p,
787
- saveConfig: D,
788
- _callEntry: m,
789
- _useCompile: Q,
790
- _metaData: B,
791
- VueMonaco: M,
792
- useCanvas: u,
793
- useMessage: f,
794
- ToolbarBase: h,
795
- openCommon: y,
796
- saveCommon: g,
797
- isLoading: r,
798
- setAutoSaveStatus: x,
799
- getAutoSaveStatus: k,
800
- constants: _,
801
- OPEN_DELAY: T,
802
- api: A
803
- })
804
- })), $(m(m(() => {
181
+ }, L = () => {
182
+ se(e.checked), e.checked ? m() : clearTimeout(e.preservationTime);
183
+ };
184
+ return P(() => {
185
+ e.checked = ne(), e.checked && m();
186
+ }), x(() => {
805
187
  clearTimeout(e.preservationTime);
806
- }, {
807
- metaData: {
808
- id: "engine.toolbars.save.Main.onUnmounted[1]"
809
- },
810
- ctx: () => ({
811
- delayOptions: o,
812
- state: e,
813
- editor: a,
814
- isSaved: t,
815
- setSaved: s,
816
- getSchema: l,
817
- subscribe: d,
818
- unsubscribe: i,
819
- subscriber: n,
820
- originSchema: c,
821
- close: b,
822
- openApi: v,
823
- saveApi: C,
824
- editorOptions: S,
825
- saveSetTimeout: p,
826
- saveConfig: D,
827
- VueMonaco: M,
828
- useCanvas: u,
829
- useMessage: f,
830
- ToolbarBase: h,
831
- openCommon: y,
832
- saveCommon: g,
833
- isLoading: r,
834
- setAutoSaveStatus: x,
835
- getAutoSaveStatus: k,
836
- constants: _,
837
- OPEN_DELAY: T,
838
- api: A
839
- })
840
188
  }), {
841
- metaData: {
842
- id: "engine.toolbars.save.Main.onUnmounted[1]"
843
- },
844
- ctx: () => ({
845
- delayOptions: o,
846
- state: e,
847
- editor: a,
848
- isSaved: t,
849
- setSaved: s,
850
- getSchema: l,
851
- subscribe: d,
852
- unsubscribe: i,
853
- subscriber: n,
854
- originSchema: c,
855
- close: b,
856
- openApi: v,
857
- saveApi: C,
858
- editorOptions: S,
859
- saveSetTimeout: p,
860
- saveConfig: D,
861
- _callEntry: m,
862
- _useCompile: Q,
863
- _metaData: B,
864
- VueMonaco: M,
865
- useCanvas: u,
866
- useMessage: f,
867
- ToolbarBase: h,
868
- openCommon: y,
869
- saveCommon: g,
870
- isLoading: r,
871
- setAutoSaveStatus: x,
872
- getAutoSaveStatus: k,
873
- constants: _,
874
- OPEN_DELAY: T,
875
- api: A
876
- })
877
- })), {
878
189
  state: e,
879
- editor: a,
880
- editorOptions: S,
881
- isLoading: r,
190
+ editor: o,
191
+ editorOptions: T,
192
+ isLoading: b,
882
193
  isSaved: t,
883
- close: b,
884
- openApi: v,
885
- saveApi: C,
886
- delayOptions: o,
887
- saveConfig: D,
888
- OPEN_DELAY: T
194
+ close: v,
195
+ openApi: u,
196
+ saveApi: h,
197
+ delayOptions: a,
198
+ saveConfig: L,
199
+ OPEN_DELAY: ie
889
200
  };
890
201
  }
891
- }, me = (o, e) => {
892
- const a = o.__vccOpts || o;
202
+ }, re = (a, e) => {
203
+ const o = a.__vccOpts || a;
893
204
  for (const [t, s] of e)
894
- a[t] = s;
895
- return a;
896
- }, ue = { class: "toolbar-save" }, ve = { class: "save-style" }, pe = { class: "save-time" }, ge = { class: "save-button-group" };
897
- function be(o, e, a, t, s, l) {
898
- const d = w("svg-icon"), i = w("tiny-checkbox"), n = w("tiny-select"), c = w("tiny-button"), b = w("tiny-popover"), v = w("vue-monaco"), C = w("tiny-dialog-box"), S = w("toolbar-base");
899
- return ee(), ae("div", ue, [
900
- N(S, {
205
+ o[t] = s;
206
+ return o;
207
+ }, de = { class: "toolbar-save" }, ue = { class: "save-style" }, me = { class: "save-time" }, pe = { class: "save-button-group" };
208
+ function ve(a, e, o, t, s, l) {
209
+ const r = f("svg-icon"), i = f("tiny-checkbox"), n = f("tiny-select"), c = f("tiny-button"), v = f("tiny-popover"), u = f("vue-monaco"), h = f("tiny-dialog-box"), T = f("toolbar-base");
210
+ return E(), U("div", de, [
211
+ p(T, {
901
212
  content: t.isLoading ? "保存中" : "保存",
902
- icon: a.options.icon.default || a.options.icon,
903
- options: { ...a.options, showDots: !t.isSaved() },
213
+ icon: o.options.icon.default || o.options.icon,
214
+ options: { ...o.options, showDots: !t.isSaved() },
904
215
  onClickApi: t.openApi
905
216
  }, {
906
- button: O(() => [
907
- N(b, {
217
+ button: d(() => [
218
+ p(v, {
908
219
  "visible-arrow": !1,
909
220
  width: "203",
910
221
  trigger: "click",
911
222
  "open-delay": t.OPEN_DELAY.Default
912
223
  }, {
913
- reference: O(() => [
914
- N(d, { name: a.iconExpand }, null, 8, ["name"])
224
+ reference: d(() => [
225
+ p(r, { name: o.iconExpand }, null, 8, ["name"])
915
226
  ]),
916
- default: O(() => [
917
- K("div", ve, [
918
- e[6] || (e[6] = K("div", { class: "save-setting" }, "保存设置", -1)),
919
- N(i, {
227
+ default: d(() => [
228
+ _("div", ue, [
229
+ e[6] || (e[6] = _("div", { class: "save-setting" }, "保存设置", -1)),
230
+ p(i, {
920
231
  modelValue: t.state.checked,
921
- "onUpdate:modelValue": e[0] || (e[0] = (p) => t.state.checked = p),
232
+ "onUpdate:modelValue": e[0] || (e[0] = (m) => t.state.checked = m),
922
233
  name: "tiny-checkbox"
923
234
  }, {
924
- default: O(() => e[3] || (e[3] = [
925
- W("自动保存")
235
+ default: d(() => e[3] || (e[3] = [
236
+ S("自动保存")
926
237
  ])),
927
238
  _: 1,
928
239
  __: [3]
929
240
  }, 8, ["modelValue"]),
930
- K("div", pe, [
931
- e[4] || (e[4] = K("div", { class: "save-time-label" }, "保存间隔", -1)),
932
- N(n, {
241
+ _("div", me, [
242
+ e[4] || (e[4] = _("div", { class: "save-time-label" }, "保存间隔", -1)),
243
+ p(n, {
933
244
  modelValue: t.state.timeValue,
934
- "onUpdate:modelValue": e[1] || (e[1] = (p) => t.state.timeValue = p),
245
+ "onUpdate:modelValue": e[1] || (e[1] = (m) => t.state.timeValue = m),
935
246
  options: t.delayOptions,
936
247
  disabled: !t.state.checked,
937
248
  autocomplete: ""
938
249
  }, null, 8, ["modelValue", "options", "disabled"])
939
250
  ]),
940
- K("div", ge, [
941
- N(c, {
251
+ _("div", pe, [
252
+ p(c, {
942
253
  type: "primary",
943
254
  onClick: t.saveConfig
944
255
  }, {
945
- default: O(() => e[5] || (e[5] = [
946
- W("设置并保存")
256
+ default: d(() => e[5] || (e[5] = [
257
+ S("设置并保存")
947
258
  ])),
948
259
  _: 1,
949
260
  __: [5]
@@ -954,37 +265,37 @@ function be(o, e, a, t, s, l) {
954
265
  _: 1
955
266
  }, 8, ["open-delay"])
956
267
  ]),
957
- default: O(() => [
958
- N(C, {
268
+ default: d(() => [
269
+ p(h, {
959
270
  class: "dialog-box",
960
271
  modal: !1,
961
272
  fullscreen: !0,
962
273
  "append-to-body": !0,
963
274
  visible: t.state.visible,
964
275
  title: "Schema 本地与线上差异",
965
- "onUpdate:visible": e[2] || (e[2] = (p) => t.state.visible = p)
276
+ "onUpdate:visible": e[2] || (e[2] = (m) => t.state.visible = m)
966
277
  }, {
967
- footer: O(() => [
968
- N(c, { onClick: t.close }, {
969
- default: O(() => e[7] || (e[7] = [
970
- W("取 消")
278
+ footer: d(() => [
279
+ p(c, { onClick: t.close }, {
280
+ default: d(() => e[7] || (e[7] = [
281
+ S("取 消")
971
282
  ])),
972
283
  _: 1,
973
284
  __: [7]
974
285
  }, 8, ["onClick"]),
975
- N(c, {
286
+ p(c, {
976
287
  type: "primary",
977
288
  onClick: t.saveApi
978
289
  }, {
979
- default: O(() => e[8] || (e[8] = [
980
- W("保 存")
290
+ default: d(() => e[8] || (e[8] = [
291
+ S("保 存")
981
292
  ])),
982
293
  _: 1,
983
294
  __: [8]
984
295
  }, 8, ["onClick"])
985
296
  ]),
986
- default: O(() => [
987
- t.state.visible ? (ee(), oe(v, {
297
+ default: d(() => [
298
+ t.state.visible ? (E(), I(u, {
988
299
  key: 0,
989
300
  ref: "editor",
990
301
  class: "monaco-editor",
@@ -992,7 +303,7 @@ function be(o, e, a, t, s, l) {
992
303
  options: t.editorOptions,
993
304
  value: t.state.code,
994
305
  original: t.state.originalCode
995
- }, null, 8, ["options", "value", "original"])) : ne("", !0)
306
+ }, null, 8, ["options", "value", "original"])) : G("", !0)
996
307
  ]),
997
308
  _: 1
998
309
  }, 8, ["visible"])
@@ -1001,10 +312,10 @@ function be(o, e, a, t, s, l) {
1001
312
  }, 8, ["content", "icon", "options", "onClickApi"])
1002
313
  ]);
1003
314
  }
1004
- const fe = /* @__PURE__ */ me(de, [["render", be], ["__scopeId", "data-v-0ac2d01a"]]), he = {
1005
- ...B,
315
+ const fe = /* @__PURE__ */ re(ce, [["render", ve], ["__scopeId", "data-v-047f42c8"]]), he = {
316
+ ...D,
1006
317
  entry: fe,
1007
- apis: A
318
+ apis: le
1008
319
  };
1009
320
  export {
1010
321
  he as default
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../meta.js","../index.ts"],"sourcesContent":["export default {\n id: 'engine.toolbars.save',\n type: 'toolbars',\n title: 'save',\n options: {\n icon: {\n default: 'save'\n },\n renderType: 'button'\n }\n}\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, { api } from './src/Main.vue'\nimport metaData from './meta'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry,\n apis: api\n}\n"],"names":["metaData","index","entry","api"],"mappings":";;;;;;;AAAA,MAAeA,IAAA;AAAA,EACb,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,IACP,MAAM;AAAA,MACJ,SAAS;AAAA,IACV;AAAA,IACD,YAAY;AAAA,EAChB;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFCMeC,KAAA;AAAA,EACb,GAAGD;AAAA,EACH,OAAAE;AAAA,EACA,MAAMC;AACR;"}
1
+ {"version":3,"file":"index.js","sources":["../meta.js","../src/js/index.ts","../src/Main.vue","../index.ts"],"sourcesContent":["export default {\n id: 'engine.toolbars.save',\n type: 'toolbars',\n title: 'save',\n options: {\n icon: {\n default: 'save'\n },\n renderType: 'button'\n }\n}\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 { reactive, ref } from 'vue'\nimport {\n useBlock,\n useCanvas,\n useLayout,\n useNotify,\n usePage,\n getOptions,\n getMetaApi,\n META_APP,\n useMessage\n} from '@opentiny/tiny-engine-meta-register'\nimport { constants } from '@opentiny/tiny-engine-utils'\nimport { handlePageUpdate } from '@opentiny/tiny-engine-common/js/http'\nimport meta from '../../meta'\n\nconst { publish } = useMessage()\n\nconst { PAGE_STATUS, AUTO_SAVED } = constants\nconst state = reactive({\n visible: false,\n code: '',\n originalCode: '',\n disabled: false\n})\n\nexport const isLoading = ref(false)\n\n// 保存或新建区块\nconst saveBlock = async (pageSchema: { fileName: any }) => {\n const api = getMetaApi(META_APP.BlockManage)\n const { getCurrentBlock } = useBlock()\n const block = getCurrentBlock()\n\n block.label = pageSchema.fileName\n // 画布上的schem回写到block的schema\n block.content = pageSchema\n // 获取区块截图\n isLoading.value = true\n block.screenshot = await api.getBlockBase64()\n await api.saveBlock?.(block)\n isLoading.value = false\n}\n\nconst savePage = async (pageSchema: any) => {\n const { currentPage } = useCanvas().pageState\n const params = {\n page_content: pageSchema\n }\n\n isLoading.value = true\n const updateParams = {\n id: currentPage.id,\n params: { ...currentPage, ...params }\n }\n await handlePageUpdate(updateParams)\n isLoading.value = false\n\n // 发布页面保存事件,通知其他组件进行相应处理\n publish({ topic: 'page-saved' })\n}\n\nexport const saveCommon = (value: string) => {\n const { pageSettingState, isTemporaryPage } = usePage()\n const { isBlock, canvasApi, pageState, resetBlockCanvasState, resetPageCanvasState } = useCanvas()\n const pageSchema = JSON.parse(value)\n const { selectNode } = canvasApi.value\n\n if (isBlock()) {\n resetBlockCanvasState({ ...pageState, pageSchema })\n } else {\n resetPageCanvasState({ ...pageState, pageSchema })\n }\n\n if (pageSettingState?.isAIPage) {\n if (isTemporaryPage.saved) {\n isTemporaryPage.saved = false\n }\n\n // 如果当前页面没有ID,为临时生成的页面,则打开新建页面面板\n isTemporaryPage.saved = true\n const pageContent = 'page_content'\n\n pageSettingState.currentPageData[pageContent] = pageSchema\n\n return Promise.resolve()\n }\n\n // 选中画布中的页面,关闭插件、属性配置\n selectNode(null)\n\n return isBlock() ? saveBlock(pageSchema) : savePage(pageSchema)\n}\nexport const openCommon = async () => {\n const { isSaved, getSchema } = useCanvas()\n if (isSaved() || state.disabled) {\n return\n }\n\n const { beforeSave, saveMethod, saved } = getOptions(meta.id)\n\n try {\n if (typeof beforeSave === 'function') {\n await beforeSave()\n }\n\n if (typeof saveMethod === 'function') {\n const stop = await saveMethod()\n\n if (stop) {\n return\n }\n }\n } catch (error) {\n useNotify({\n type: 'error',\n message: `Error in saving: ${error}`\n })\n }\n\n const pageStatus = useLayout().layoutState?.pageStatus\n const curPageState = pageStatus?.state\n const pageInfo = pageStatus?.data\n const ERR_MSG = {\n [PAGE_STATUS.Release]: '当前页面未锁定,请先锁定再保存',\n [PAGE_STATUS.Empty]: '当前应用无页面,请先新建页面再保存',\n [PAGE_STATUS.Guest]: '官网演示应用不能保存页面,如需体验请切换应用',\n [PAGE_STATUS.Lock]: `当前页面被 ${pageInfo?.username} ${pageInfo?.resetPasswordToken} 锁定,如需编辑请先联系他解锁文件,然后再锁定该页面后编辑!`\n }\n\n if ([PAGE_STATUS.Release, PAGE_STATUS.Empty, PAGE_STATUS.Guest, PAGE_STATUS.Lock].includes(curPageState)) {\n useNotify({\n type: 'error',\n title: '保存失败',\n message: ERR_MSG[curPageState]\n })\n\n return\n }\n\n state.disabled = true\n\n const pageSchema = getSchema()\n\n state.code = JSON.stringify(pageSchema || {}, null, 2)\n\n // 获取请求前schema代码,暂时先屏蔽\n /**\n if (useCanvas().isBlock()) {\n const api = getMetaApi(META_APP.BlockManage)\n const block = useBlock().getCurrentBlock()\n const remote = await api.getBlockById(block?.id)\n state.originalCode = JSON.stringify(remote?.content || {}, null, 2)\n } else {\n const api = getMetaApi(META_APP.AppManage)\n const remote = await api.getPageById(pageState?.currentPage?.id)\n state.originalCode = JSON.stringify(remote?.['page_content'] || {}, null, 2)\n }\n */\n\n saveCommon(state.code).finally(() => {\n state.disabled = false\n\n if (typeof saved === 'function') {\n try {\n saved()\n } catch (error) {\n useNotify({\n type: 'error',\n message: `Error in saved: ${error}`\n })\n }\n }\n })\n}\n\nexport const getAutoSaveStatus = () => {\n try {\n const value = localStorage.getItem(AUTO_SAVED) ?? ''\n return JSON.parse(value) ?? false\n } catch {\n return false\n }\n}\n\nexport const setAutoSaveStatus = (status: any) => {\n try {\n localStorage.setItem(AUTO_SAVED, JSON.stringify(status))\n return true\n } catch {\n return false\n }\n}\n","<template>\n <div class=\"toolbar-save\">\n <toolbar-base\n :content=\"isLoading ? '保存中' : '保存'\"\n :icon=\"options.icon.default || options.icon\"\n :options=\"{ ...options, showDots: !isSaved() }\"\n @click-api=\"openApi\"\n >\n <template #button>\n <tiny-popover :visible-arrow=\"false\" width=\"203\" trigger=\"click\" :open-delay=\"OPEN_DELAY.Default\">\n <template #reference>\n <svg-icon :name=\"iconExpand\"></svg-icon>\n </template>\n <div class=\"save-style\">\n <div class=\"save-setting\">保存设置</div>\n <tiny-checkbox v-model=\"state.checked\" name=\"tiny-checkbox\">自动保存</tiny-checkbox>\n <div class=\"save-time\">\n <div class=\"save-time-label\">保存间隔</div>\n <tiny-select v-model=\"state.timeValue\" :options=\"delayOptions\" :disabled=\"!state.checked\" autocomplete>\n </tiny-select>\n </div>\n <div class=\"save-button-group\">\n <tiny-button type=\"primary\" @click=\"saveConfig\">设置并保存</tiny-button>\n </div>\n </div>\n </tiny-popover>\n </template>\n <template #default>\n <tiny-dialog-box\n class=\"dialog-box\"\n :modal=\"false\"\n :fullscreen=\"true\"\n :append-to-body=\"true\"\n :visible=\"state.visible\"\n title=\"Schema 本地与线上差异\"\n @update:visible=\"state.visible = $event\"\n >\n <vue-monaco\n v-if=\"state.visible\"\n ref=\"editor\"\n class=\"monaco-editor\"\n :diffEditor=\"true\"\n :options=\"editorOptions\"\n :value=\"state.code\"\n :original=\"state.originalCode\"\n ></vue-monaco>\n <template #footer>\n <tiny-button @click=\"close\">取 消</tiny-button>\n <tiny-button type=\"primary\" @click=\"saveApi\">保 存</tiny-button>\n </template>\n </tiny-dialog-box>\n </template>\n </toolbar-base>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { reactive, ref, onUnmounted, onMounted } from 'vue'\nimport { VueMonaco } from '@opentiny/tiny-engine-common'\nimport { Button, Popover, DialogBox, Checkbox, Select } from '@opentiny/vue'\nimport { useCanvas, useMessage } from '@opentiny/tiny-engine-meta-register'\nimport { ToolbarBase } from '@opentiny/tiny-engine-common'\nimport { openCommon, saveCommon } from './js/index'\nimport { isLoading, setAutoSaveStatus, getAutoSaveStatus } from './js/index'\nimport { constants } from '@opentiny/tiny-engine-utils'\nconst { OPEN_DELAY } = constants\n\nexport const api = {\n saveCommon,\n openCommon\n}\nexport default {\n components: {\n VueMonaco,\n TinyButton: Button,\n TinyPopover: Popover,\n TinyDialogBox: DialogBox,\n TinyCheckbox: Checkbox,\n TinySelect: Select,\n ToolbarBase\n },\n props: {\n iconExpand: {\n type: String,\n default: 'down-arrow'\n },\n options: {\n type: Object,\n default: () => ({})\n }\n },\n setup() {\n const delayOptions = [\n { value: 5, label: '5分钟' },\n { value: 10, label: '10分钟' },\n { value: 15, label: '15分钟' }\n ]\n const state = reactive({\n visible: false,\n code: '',\n originalCode: '',\n checked: false,\n timeValue: 5,\n preservationTime: null\n })\n\n const editor = ref(null)\n\n const { isSaved, setSaved, getSchema } = useCanvas()\n\n const { subscribe, unsubscribe } = useMessage()\n const subscriber = 'toolbar-save'\n\n const originSchema = ref(null)\n\n onMounted(() => {\n // 订阅页面/区块初始化事件\n subscribe({\n topic: 'pageOrBlockInit',\n subscriber,\n callback: (schema: any) => {\n originSchema.value = JSON.stringify(schema)\n setSaved(true) // 初始化时标记为已保存\n }\n })\n\n // 订阅 schema 变更事件\n subscribe({\n topic: 'schemaChange',\n subscriber,\n callback: () => {\n if (originSchema.value) {\n const hasChange = JSON.stringify(getSchema()) === originSchema.value\n setSaved(hasChange)\n }\n }\n })\n\n // 订阅 schema 导入事件\n subscribe({\n topic: 'schemaImport',\n subscriber,\n callback: () => {\n if (originSchema.value) {\n const hasChange = JSON.stringify(getSchema()) === originSchema.value\n setSaved(hasChange)\n }\n }\n })\n })\n\n onUnmounted(() => {\n unsubscribe({ topic: 'pageOrBlockInit', subscriber })\n unsubscribe({ topic: 'schemaChange', subscriber })\n unsubscribe({ topic: 'schemaImport', subscriber })\n })\n\n const close = () => {\n state.visible = false\n state.originalCode = ''\n }\n const openApi = () => {\n if (!isLoading.value) {\n openCommon()\n }\n }\n const saveApi = () => {\n saveCommon()\n }\n // 保存或新建区块\n const editorOptions = {\n language: 'json',\n lineNumbers: true,\n minimap: {\n enabled: false\n }\n }\n const saveSetTimeout = () => {\n clearTimeout(state.preservationTime)\n state.preservationTime = setTimeout(() => {\n openApi()\n saveSetTimeout()\n }, state.timeValue * 60 * 1000)\n }\n const saveConfig = () => {\n setAutoSaveStatus(state.checked)\n if (state.checked) {\n saveSetTimeout()\n } else {\n clearTimeout(state.preservationTime)\n }\n }\n\n onMounted(() => {\n state.checked = getAutoSaveStatus()\n if (state.checked) {\n saveSetTimeout()\n }\n })\n\n onUnmounted(() => {\n clearTimeout(state.preservationTime)\n })\n\n return {\n state,\n editor,\n editorOptions,\n isLoading,\n isSaved,\n close,\n openApi,\n saveApi,\n delayOptions,\n saveConfig,\n OPEN_DELAY\n }\n }\n}\n</script>\n\n<style lang=\"less\" scoped>\n.dots {\n width: 6px;\n height: 6px;\n background: var(--te-toolbars-save-dot-color);\n border-radius: 50%;\n display: inline-block;\n position: absolute;\n top: 4px;\n right: 3px;\n z-index: 100;\n}\n\n.toolbar-save {\n .icon-down-arrow.icon-down-arrow {\n margin-left: var(--te-base-space-2x);\n margin-right: var(--te-base-space-0);\n }\n .save-button {\n background-color: var(--te-toolbars-save-button-bg-color);\n border: none;\n min-width: 70px;\n height: 26px;\n display: flex;\n align-items: center;\n padding: 0 8px;\n border-radius: 4px;\n &:not(.disabled):hover {\n background-color: var(--te-toolbars-save-button-bg-color);\n }\n }\n\n :deep(.icon-down-arrow:focus) {\n outline: none;\n }\n}\n\n.save-style {\n padding: 8px 4px;\n font-size: 12px;\n\n .save-setting {\n font-size: 14px;\n font-weight: 600;\n line-height: 20px;\n height: 20px;\n margin-bottom: 16px;\n }\n\n .save-time {\n line-height: 24px;\n font-size: 12px;\n margin: 12px 0 16px 0;\n display: flex;\n .save-time-label {\n width: 60px;\n color: var(--te-toolbars-save-text-color);\n }\n\n .tiny-select {\n width: 103px;\n margin-left: 12px;\n\n :deep(.tiny-input__suffix) {\n width: 12px;\n }\n }\n :deep(.tiny-select.is-disabled .tiny-input__suffix) {\n display: flex;\n }\n }\n\n .save-button-group {\n text-align: right;\n }\n}\n\n#saving {\n cursor: not-allowed;\n color: var(--te-toolbars-save-text-color-disabled);\n\n :deep(svg) {\n color: var(--te-toolbars-save-text-color-disabled);\n }\n}\n\n.dialog-box {\n :deep(.tiny-dialog-box) {\n display: flex;\n flex-direction: column;\n\n .tiny-dialog-box__body {\n flex: 1;\n }\n }\n\n .monaco-editor {\n width: 100%;\n height: 100%;\n }\n}\n</style>\n\n<style>\n.changeRole a {\n color: var(--te-toolbars-save-text-color-link);\n padding: 0 5px;\n}\n.save-style .save-time .tiny-input__inner {\n height: 24px !important;\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, { api } from './src/Main.vue'\nimport metaData from './meta'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry,\n apis: api\n}\n"],"names":["metaData","publish","useMessage","PAGE_STATUS","AUTO_SAVED","constants","state","reactive","isLoading","ref","saveBlock","pageSchema","api","getMetaApi","META_APP","getCurrentBlock","useBlock","block","_a","savePage","currentPage","useCanvas","params","updateParams","handlePageUpdate","saveCommon","value","pageSettingState","isTemporaryPage","usePage","isBlock","canvasApi","pageState","resetBlockCanvasState","resetPageCanvasState","selectNode","pageContent","openCommon","isSaved","getSchema","beforeSave","saveMethod","saved","getOptions","meta","error","useNotify","pageStatus","useLayout","curPageState","pageInfo","ERR_MSG","getAutoSaveStatus","setAutoSaveStatus","status","OPEN_DELAY","_sfc_main","VueMonaco","Button","Popover","DialogBox","Checkbox","Select","ToolbarBase","delayOptions","editor","setSaved","subscribe","unsubscribe","subscriber","originSchema","onMounted","schema","hasChange","onUnmounted","close","openApi","saveApi","editorOptions","saveSetTimeout","saveConfig","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_openBlock","_createElementBlock","_createVNode","_component_toolbar_base","$setup","$props","_withCtx","_component_tiny_popover","_component_svg_icon","_createElementVNode","_cache","_component_tiny_checkbox","$event","_createTextVNode","_component_tiny_select","_component_tiny_button","_component_tiny_dialog_box","_createBlock","_component_vue_monaco","_createCommentVNode","index","entry"],"mappings":"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"}
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .dots[data-v-0ac2d01a]{width:6px;height:6px;background:var(--te-toolbars-save-dot-color);border-radius:50%;display:inline-block;position:absolute;top:4px;right:3px;z-index:100}.toolbar-save .icon-down-arrow.icon-down-arrow[data-v-0ac2d01a]{margin-left:var(--te-base-space-2x);margin-right:var(--te-base-space-0)}.toolbar-save .save-button[data-v-0ac2d01a]{background-color:var(--te-toolbars-save-button-bg-color);border:none;min-width:70px;height:26px;display:flex;align-items:center;padding:0 8px;border-radius:4px}.toolbar-save .save-button[data-v-0ac2d01a]:not(.disabled):hover{background-color:var(--te-toolbars-save-button-bg-color)}.toolbar-save[data-v-0ac2d01a] .icon-down-arrow:focus{outline:none}.save-style[data-v-0ac2d01a]{padding:8px 4px;font-size:12px}.save-style .save-setting[data-v-0ac2d01a]{font-size:14px;font-weight:600;line-height:20px;height:20px;margin-bottom:16px}.save-style .save-time[data-v-0ac2d01a]{line-height:24px;font-size:12px;margin:12px 0 16px;display:flex}.save-style .save-time .save-time-label[data-v-0ac2d01a]{width:60px;color:var(--te-toolbars-save-text-color)}.save-style .save-time .tiny-select[data-v-0ac2d01a]{width:103px;margin-left:12px}.save-style .save-time .tiny-select[data-v-0ac2d01a] .tiny-input__suffix{width:12px}.save-style .save-time[data-v-0ac2d01a] .tiny-select.is-disabled .tiny-input__suffix{display:flex}.save-style .save-button-group[data-v-0ac2d01a]{text-align:right}#saving[data-v-0ac2d01a]{cursor:not-allowed;color:var(--te-toolbars-save-text-color-disabled)}#saving[data-v-0ac2d01a] svg{color:var(--te-toolbars-save-text-color-disabled)}.dialog-box[data-v-0ac2d01a] .tiny-dialog-box{display:flex;flex-direction:column}.dialog-box[data-v-0ac2d01a] .tiny-dialog-box .tiny-dialog-box__body{flex:1}.dialog-box .monaco-editor[data-v-0ac2d01a]{width:100%;height:100%}.changeRole a{color:var(--te-toolbars-save-text-color-link);padding:0 5px}.save-style .save-time .tiny-input__inner{height:24px!important}:root{--te-toolbars-save-text-color: var(--te-common-text-secondary);--te-toolbars-save-text-color-disabled: var(--te-common-text-disabled);--te-toolbars-save-dot-color: var(--te-common-color-error);--te-toolbars-save-button-bg-color: var(--te-common-bg-prompt);--te-toolbars-save-text-color-link: var(--te-common-text-link)}
1
+ .dots[data-v-047f42c8]{width:6px;height:6px;background:var(--te-toolbars-save-dot-color);border-radius:50%;display:inline-block;position:absolute;top:4px;right:3px;z-index:100}.toolbar-save .icon-down-arrow.icon-down-arrow[data-v-047f42c8]{margin-left:var(--te-base-space-2x);margin-right:var(--te-base-space-0)}.toolbar-save .save-button[data-v-047f42c8]{background-color:var(--te-toolbars-save-button-bg-color);border:none;min-width:70px;height:26px;display:flex;align-items:center;padding:0 8px;border-radius:4px}.toolbar-save .save-button[data-v-047f42c8]:not(.disabled):hover{background-color:var(--te-toolbars-save-button-bg-color)}.toolbar-save[data-v-047f42c8] .icon-down-arrow:focus{outline:none}.save-style[data-v-047f42c8]{padding:8px 4px;font-size:12px}.save-style .save-setting[data-v-047f42c8]{font-size:14px;font-weight:600;line-height:20px;height:20px;margin-bottom:16px}.save-style .save-time[data-v-047f42c8]{line-height:24px;font-size:12px;margin:12px 0 16px;display:flex}.save-style .save-time .save-time-label[data-v-047f42c8]{width:60px;color:var(--te-toolbars-save-text-color)}.save-style .save-time .tiny-select[data-v-047f42c8]{width:103px;margin-left:12px}.save-style .save-time .tiny-select[data-v-047f42c8] .tiny-input__suffix{width:12px}.save-style .save-time[data-v-047f42c8] .tiny-select.is-disabled .tiny-input__suffix{display:flex}.save-style .save-button-group[data-v-047f42c8]{text-align:right}#saving[data-v-047f42c8]{cursor:not-allowed;color:var(--te-toolbars-save-text-color-disabled)}#saving[data-v-047f42c8] svg{color:var(--te-toolbars-save-text-color-disabled)}.dialog-box[data-v-047f42c8] .tiny-dialog-box{display:flex;flex-direction:column}.dialog-box[data-v-047f42c8] .tiny-dialog-box .tiny-dialog-box__body{flex:1}.dialog-box .monaco-editor[data-v-047f42c8]{width:100%;height:100%}.changeRole a{color:var(--te-toolbars-save-text-color-link);padding:0 5px}.save-style .save-time .tiny-input__inner{height:24px!important}:root{--te-toolbars-save-text-color: var(--te-common-text-secondary);--te-toolbars-save-text-color-disabled: var(--te-common-text-disabled);--te-toolbars-save-dot-color: var(--te-common-color-error);--te-toolbars-save-button-bg-color: var(--te-common-bg-prompt);--te-toolbars-save-text-color-link: var(--te-common-text-link)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/tiny-engine-toolbar-save",
3
- "version": "2.6.0-alpha.9",
3
+ "version": "2.6.0-rc.1",
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.6.0-alpha.9",
29
- "@opentiny/tiny-engine-meta-register": "2.6.0-alpha.9",
30
- "@opentiny/tiny-engine-utils": "2.6.0-alpha.9"
28
+ "@opentiny/tiny-engine-common": "2.6.0-rc.1",
29
+ "@opentiny/tiny-engine-meta-register": "2.6.0-rc.1",
30
+ "@opentiny/tiny-engine-utils": "2.6.0-rc.1"
31
31
  },
32
32
  "devDependencies": {
33
- "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.6.0-alpha.9",
33
+ "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.6.0-rc.1",
34
34
  "@vitejs/plugin-vue": "^5.1.2",
35
35
  "@vitejs/plugin-vue-jsx": "^4.0.1",
36
36
  "vite": "^5.4.2"
@@ -39,5 +39,5 @@
39
39
  "@opentiny/vue": "^3.20.0",
40
40
  "vue": "^3.4.15"
41
41
  },
42
- "gitHead": "d9d99efa65bae7270da69d29806ed95cc3e2b4e1"
42
+ "gitHead": "aaf416bf0bed9833f979174e28304d36cb9aecca"
43
43
  }