ts-glitter 22.0.1 → 22.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +2 -2
  3. package/lowcode/backend-manager/bg-blog.js +19 -5
  4. package/lowcode/backend-manager/bg-blog.ts +20 -5
  5. package/lowcode/backend-manager/bg-line.js +2 -2
  6. package/lowcode/backend-manager/bg-line.ts +2 -2
  7. package/lowcode/backend-manager/bg-notify.js +10 -3
  8. package/lowcode/backend-manager/bg-notify.ts +10 -3
  9. package/lowcode/backend-manager/bg-sns.js +3 -3
  10. package/lowcode/backend-manager/bg-sns.ts +3 -3
  11. package/lowcode/backend-manager/bg-widget.js +77 -75
  12. package/lowcode/backend-manager/bg-widget.ts +121 -97
  13. package/lowcode/cms-plugin/auto-fcm-advertise.js +2 -2
  14. package/lowcode/cms-plugin/auto-fcm-advertise.ts +2 -2
  15. package/lowcode/cms-plugin/auto-fcm-history.js +2 -2
  16. package/lowcode/cms-plugin/auto-fcm-history.ts +2 -2
  17. package/lowcode/cms-plugin/menus-setting.js +2 -2
  18. package/lowcode/cms-plugin/menus-setting.ts +2 -4
  19. package/lowcode/cms-plugin/pos-pages/payment-page.js +11 -7
  20. package/lowcode/cms-plugin/pos-pages/payment-page.ts +17 -11
  21. package/lowcode/cms-plugin/shopping-discount-setting.js +1 -1
  22. package/lowcode/cms-plugin/shopping-discount-setting.ts +1 -1
  23. package/lowcode/cms-plugin/shopping-finance-setting.js +23 -10
  24. package/lowcode/cms-plugin/shopping-finance-setting.ts +282 -269
  25. package/lowcode/cms-plugin/shopping-order-manager.js +1 -1
  26. package/lowcode/cms-plugin/shopping-order-manager.ts +1 -1
  27. package/lowcode/cms-plugin/shopping-rebate.js +1 -1
  28. package/lowcode/cms-plugin/shopping-rebate.ts +1 -1
  29. package/lowcode/cms-plugin/shopping-setting-basic.js +36 -8
  30. package/lowcode/cms-plugin/shopping-setting-basic.ts +36 -8
  31. package/lowcode/glitter-base/route/shopping.js +16 -9
  32. package/lowcode/glitter-base/route/shopping.ts +16 -10
  33. package/lowcode/glitter-base/route/user.js +19 -9
  34. package/lowcode/glitter-base/route/user.ts +21 -10
  35. package/lowcode/glitterBundle/plugins/editor-elem.js +1 -5
  36. package/lowcode/glitterBundle/plugins/editor-elem.ts +1 -5
  37. package/package.json +1 -1
  38. package/src/api-public/services/checkout-event.js +17 -7
  39. package/src/api-public/services/checkout-event.js.map +1 -1
  40. package/src/api-public/services/line-message.js +122 -138
  41. package/src/api-public/services/line-message.js.map +1 -1
  42. package/src/api-public/services/line-message.ts +1134 -1130
  43. package/src/api-public/services/shopping.js +3 -5
  44. package/src/api-public/services/shopping.js.map +1 -1
  45. package/src/api-public/services/shopping.ts +4 -6
  46. package/src/api-public/services/strategies/ecpay-strategy.js +0 -1
  47. package/src/api-public/services/strategies/ecpay-strategy.js.map +1 -1
  48. package/src/api-public/services/strategies/ecpay-strategy.ts +3 -4
  49. package/src/api-public/services/strategies/ezpay-strategy.js +0 -1
  50. package/src/api-public/services/strategies/ezpay-strategy.js.map +1 -1
  51. package/src/api-public/services/strategies/ezpay-strategy.ts +4 -7
  52. package/src/modules/firebase.js +0 -4
  53. package/src/modules/firebase.js.map +1 -1
  54. package/src/modules/firebase.ts +5 -12
package/lowcode/Entry.js CHANGED
@@ -151,7 +151,7 @@ export class Entry {
151
151
  }
152
152
  window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : createClock();
153
153
  console.log(`Entry-time:`, window.renderClock.stop());
154
- glitter.share.editerVersion = 'V_22.0.1';
154
+ glitter.share.editerVersion = 'V_22.0.2';
155
155
  glitter.share.start = new Date();
156
156
  const vm = { appConfig: [] };
157
157
  window.saasConfig = {
package/lowcode/Entry.ts CHANGED
@@ -155,7 +155,7 @@ export class Entry {
155
155
  }
156
156
  (window as any).renderClock = (window as any).renderClock ?? createClock();
157
157
  console.log(`Entry-time:`, (window as any).renderClock.stop());
158
- glitter.share.editerVersion = 'V_22.0.1';
158
+ glitter.share.editerVersion = 'V_22.0.2';
159
159
  glitter.share.start = new Date();
160
160
  const vm = { appConfig: [] };
161
161
  (window as any).saasConfig = {
@@ -618,7 +618,7 @@ export class Entry {
618
618
  // }
619
619
  // },100)
620
620
  }
621
- ApiUser.getUserData(GlobalUser.token,'me').then(async (r) => {
621
+ ApiUser.getUserData(GlobalUser.token,'me').then(async (r:any) => {
622
622
  try {
623
623
  if (!r.result) {
624
624
  GlobalUser.token = ''
@@ -1353,6 +1353,7 @@ function detail(gvc, cf, vm, cVm, page_tab) {
1353
1353
  bind: id,
1354
1354
  view: () => {
1355
1355
  try {
1356
+ const dialog = new ShareDialog(gvc.glitter);
1356
1357
  return html ` <div
1357
1358
  class="d-flex justify-content-between align-items-center gap-3 mb-1"
1358
1359
  style="cursor: pointer;"
@@ -1406,7 +1407,6 @@ function detail(gvc, cf, vm, cVm, page_tab) {
1406
1407
  editor.undo.saveStep();
1407
1408
  }
1408
1409
  else {
1409
- const dialog = new ShareDialog(gvc.glitter);
1410
1410
  dialog.errorMessage({ text: '請選擇至少一張圖片' });
1411
1411
  }
1412
1412
  }, html ` <div
@@ -1432,12 +1432,26 @@ function detail(gvc, cf, vm, cVm, page_tab) {
1432
1432
  footer_html: (gvc2) => {
1433
1433
  return [
1434
1434
  BgWidget.cancel(gvc2.event(() => {
1435
- language_data.text = originContent;
1436
- gvc2.closeDialog();
1435
+ dialog.checkYesOrNot({
1436
+ text: '確定要取消並關閉嗎?',
1437
+ callback: bool => {
1438
+ if (bool) {
1439
+ language_data.text = originContent;
1440
+ gvc2.closeDialog();
1441
+ }
1442
+ },
1443
+ });
1437
1444
  })),
1438
1445
  BgWidget.save(gvc2.event(() => {
1439
- gvc2.closeDialog();
1440
- gvc.notifyDataChange(id);
1446
+ dialog.checkYesOrNot({
1447
+ text: '確定要儲存並更新嗎?',
1448
+ callback: bool => {
1449
+ if (bool) {
1450
+ gvc2.closeDialog();
1451
+ gvc.notifyDataChange(id);
1452
+ }
1453
+ },
1454
+ });
1441
1455
  })),
1442
1456
  ].join('');
1443
1457
  },
@@ -1526,6 +1526,8 @@ function detail(gvc: GVC, cf: any, vm: any, cVm: any, page_tab: 'page' | 'hidden
1526
1526
  bind: id,
1527
1527
  view: () => {
1528
1528
  try {
1529
+ const dialog = new ShareDialog(gvc.glitter);
1530
+
1529
1531
  return html` <div
1530
1532
  class="d-flex justify-content-between align-items-center gap-3 mb-1"
1531
1533
  style="cursor: pointer;"
@@ -1585,7 +1587,6 @@ function detail(gvc: GVC, cf: any, vm: any, cVm: any, page_tab: 'page' | 'hidden
1585
1587
  );
1586
1588
  editor.undo.saveStep();
1587
1589
  } else {
1588
- const dialog = new ShareDialog(gvc.glitter);
1589
1590
  dialog.errorMessage({ text: '請選擇至少一張圖片' });
1590
1591
  }
1591
1592
  },
@@ -1621,14 +1622,28 @@ function detail(gvc: GVC, cf: any, vm: any, cVm: any, page_tab: 'page' | 'hidden
1621
1622
  return [
1622
1623
  BgWidget.cancel(
1623
1624
  gvc2.event(() => {
1624
- language_data.text = originContent;
1625
- gvc2.closeDialog();
1625
+ dialog.checkYesOrNot({
1626
+ text: '確定要取消並關閉嗎?',
1627
+ callback: bool => {
1628
+ if (bool) {
1629
+ language_data.text = originContent;
1630
+ gvc2.closeDialog();
1631
+ }
1632
+ },
1633
+ });
1626
1634
  })
1627
1635
  ),
1628
1636
  BgWidget.save(
1629
1637
  gvc2.event(() => {
1630
- gvc2.closeDialog();
1631
- gvc.notifyDataChange(id);
1638
+ dialog.checkYesOrNot({
1639
+ text: '確定要儲存並更新嗎?',
1640
+ callback: bool => {
1641
+ if (bool) {
1642
+ gvc2.closeDialog();
1643
+ gvc.notifyDataChange(id);
1644
+ }
1645
+ },
1646
+ });
1632
1647
  })
1633
1648
  ),
1634
1649
  ].join('');
@@ -1049,7 +1049,7 @@ export class BgLine {
1049
1049
  return new Promise(resolve => {
1050
1050
  ApiUser.getUserListOrders({
1051
1051
  page: 0,
1052
- limit: 99999,
1052
+ limit: 999,
1053
1053
  id: postData.userList.map(user => { var _a; return (_a = user.id) !== null && _a !== void 0 ? _a : 0; }).join(','),
1054
1054
  only_id: true,
1055
1055
  }).then(dd => {
@@ -1212,7 +1212,7 @@ export class BgLine {
1212
1212
  return new Promise(resolve => {
1213
1213
  ApiUser.getUserList({
1214
1214
  page: 0,
1215
- limit: 99999,
1215
+ limit: 999,
1216
1216
  search: data.query,
1217
1217
  only_id: true,
1218
1218
  }).then(dd => {
@@ -1174,7 +1174,7 @@ export class BgLine {
1174
1174
  return new Promise(resolve => {
1175
1175
  ApiUser.getUserListOrders({
1176
1176
  page: 0,
1177
- limit: 99999,
1177
+ limit: 999,
1178
1178
  id: postData.userList.map(user => user.id ?? 0).join(','),
1179
1179
  only_id: true,
1180
1180
  }).then(dd => {
@@ -1361,7 +1361,7 @@ export class BgLine {
1361
1361
  return new Promise(resolve => {
1362
1362
  ApiUser.getUserList({
1363
1363
  page: 0,
1364
- limit: 99999,
1364
+ limit: 999,
1365
1365
  search: data.query,
1366
1366
  only_id: true,
1367
1367
  }).then(dd => {
@@ -667,7 +667,14 @@ export class BgNotify {
667
667
  }), '取消排定發送')
668
668
  : ''}
669
669
  ${BgWidget.cancel(gvc.event(() => {
670
- vm.type = 'list';
670
+ dialog.checkYesOrNot({
671
+ text: '確定要取消嗎?',
672
+ callback: bool => {
673
+ if (bool) {
674
+ vm.type = 'list';
675
+ }
676
+ },
677
+ });
671
678
  }), obj.readonly ? '關閉' : undefined)}
672
679
  ${obj.readonly
673
680
  ? ''
@@ -1098,7 +1105,7 @@ export class BgNotify {
1098
1105
  return new Promise(resolve => {
1099
1106
  ApiUser.getUserListOrders({
1100
1107
  page: 0,
1101
- limit: 99999,
1108
+ limit: 999,
1102
1109
  id: postData.userList.map(user => { var _a; return (_a = user.id) !== null && _a !== void 0 ? _a : 0; }).join(','),
1103
1110
  only_id: true,
1104
1111
  }).then(dd => {
@@ -1257,7 +1264,7 @@ export class BgNotify {
1257
1264
  return new Promise(resolve => {
1258
1265
  ApiUser.getUserList({
1259
1266
  page: 0,
1260
- limit: 99999,
1267
+ limit: 999,
1261
1268
  search: data.query,
1262
1269
  only_id: true,
1263
1270
  }).then(dd => {
@@ -768,7 +768,14 @@ export class BgNotify {
768
768
  : ''}
769
769
  ${BgWidget.cancel(
770
770
  gvc.event(() => {
771
- vm.type = 'list';
771
+ dialog.checkYesOrNot({
772
+ text: '確定要取消嗎?',
773
+ callback: bool => {
774
+ if (bool) {
775
+ vm.type = 'list';
776
+ }
777
+ },
778
+ });
772
779
  }),
773
780
  obj.readonly ? '關閉' : undefined
774
781
  )}
@@ -1215,7 +1222,7 @@ export class BgNotify {
1215
1222
  return new Promise(resolve => {
1216
1223
  ApiUser.getUserListOrders({
1217
1224
  page: 0,
1218
- limit: 99999,
1225
+ limit: 999,
1219
1226
  id: postData.userList.map(user => user.id ?? 0).join(','),
1220
1227
  only_id: true,
1221
1228
  }).then(dd => {
@@ -1383,7 +1390,7 @@ export class BgNotify {
1383
1390
  return new Promise(resolve => {
1384
1391
  ApiUser.getUserList({
1385
1392
  page: 0,
1386
- limit: 99999,
1393
+ limit: 999,
1387
1394
  search: data.query,
1388
1395
  only_id: true,
1389
1396
  }).then(dd => {
@@ -836,7 +836,7 @@ export class BgSNS {
836
836
  function setUserList() {
837
837
  let n = 0;
838
838
  postData.userList = [];
839
- dialog.dataLoading({ visible: true, text: '1更新預計寄件人...' });
839
+ dialog.dataLoading({ visible: true, text: '更新預計寄件人...' });
840
840
  new Promise(resolve => {
841
841
  const si = setInterval(() => {
842
842
  if (postData.tagList.length === n) {
@@ -1096,7 +1096,7 @@ export class BgSNS {
1096
1096
  return new Promise(resolve => {
1097
1097
  ApiUser.getUserListOrders({
1098
1098
  page: 0,
1099
- limit: 99999,
1099
+ limit: 999,
1100
1100
  id: postData.userList.map(user => { var _a; return (_a = user.id) !== null && _a !== void 0 ? _a : 0; }).join(','),
1101
1101
  only_id: true,
1102
1102
  }).then(dd => {
@@ -1262,7 +1262,7 @@ export class BgSNS {
1262
1262
  return new Promise(resolve => {
1263
1263
  ApiUser.getUserList({
1264
1264
  page: 0,
1265
- limit: 99999,
1265
+ limit: 999,
1266
1266
  search: data.query,
1267
1267
  only_id: true,
1268
1268
  }).then(dd => {
@@ -938,7 +938,7 @@ export class BgSNS {
938
938
  function setUserList() {
939
939
  let n = 0;
940
940
  postData.userList = [];
941
- dialog.dataLoading({ visible: true, text: '1更新預計寄件人...' });
941
+ dialog.dataLoading({ visible: true, text: '更新預計寄件人...' });
942
942
 
943
943
  new Promise<void>(resolve => {
944
944
  const si = setInterval(() => {
@@ -1218,7 +1218,7 @@ export class BgSNS {
1218
1218
  return new Promise(resolve => {
1219
1219
  ApiUser.getUserListOrders({
1220
1220
  page: 0,
1221
- limit: 99999,
1221
+ limit: 999,
1222
1222
  id: postData.userList.map(user => user.id ?? 0).join(','),
1223
1223
  only_id: true,
1224
1224
  }).then(dd => {
@@ -1407,7 +1407,7 @@ export class BgSNS {
1407
1407
  return new Promise(resolve => {
1408
1408
  ApiUser.getUserList({
1409
1409
  page: 0,
1410
- limit: 99999,
1410
+ limit: 999,
1411
1411
  search: data.query,
1412
1412
  only_id: true,
1413
1413
  }).then(dd => {
@@ -3447,15 +3447,15 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
3447
3447
  ${obj.readonly
3448
3448
  ? ''
3449
3449
  : html ` <div
3450
- class="d-flex position-sticky px-1"
3451
- style="gap: 12px; top: 0; background-color: #fff;"
3452
- >
3453
- ${this.searchFilter(gvc.event((e, event) => {
3450
+ class="d-flex position-sticky px-1"
3451
+ style="gap: 12px; top: 0; background-color: #fff;"
3452
+ >
3453
+ ${this.searchFilter(gvc.event(e => {
3454
3454
  vm.query = e.value;
3455
3455
  vm.loading = true;
3456
3456
  obj.gvc.notifyDataChange(vm.id);
3457
3457
  }), vm.query || '', '搜尋')}
3458
- ${obj.updownOptions
3458
+ ${obj.updownOptions
3459
3459
  ? this.updownFilter({
3460
3460
  gvc,
3461
3461
  callback: (value) => {
@@ -3467,62 +3467,69 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
3467
3467
  options: obj.updownOptions || [],
3468
3468
  })
3469
3469
  : ''}
3470
- </div>`}
3470
+ </div>
3471
+ ${this.grayNote('系統提示:資料選項過多時,請善用搜尋功能')}`}
3471
3472
  ${obj.gvc.map(vm.options.map((opt, index) => {
3472
3473
  if (obj.custom_line_items) {
3473
3474
  return obj.custom_line_items(opt);
3474
3475
  }
3476
+ const opt_id = `_opt_${opt.key}`;
3475
3477
  function call() {
3476
- vm.selectKey = {
3477
- name: opt.key,
3478
- index: index,
3479
- };
3478
+ vm.selectKey = { name: opt.key, index: index };
3479
+ if (obj.single) {
3480
+ const originKeys = obj.default.slice().map(key => `_opt_${key}`);
3481
+ obj.default = [opt.key];
3482
+ gvc.notifyDataChange([...originKeys, opt_id]);
3483
+ return;
3484
+ }
3485
+ const filterSelected = obj.default.filter(key => {
3486
+ return !vm.options.some(opt => opt.key === key);
3487
+ });
3480
3488
  if (obj.default.includes(opt.key)) {
3481
3489
  obj.default = obj.default.filter(item => item !== opt.key);
3482
3490
  }
3483
3491
  else {
3484
3492
  obj.default.push(opt.key);
3485
3493
  }
3486
- obj.gvc.notifyDataChange(vm.id);
3494
+ obj.default = [...new Set(filterSelected.concat(obj.default))];
3495
+ gvc.notifyDataChange(opt_id);
3487
3496
  }
3488
- return html ` <div
3489
- class="d-flex align-items-center"
3490
- style="gap: 24px"
3491
- onclick="${gvc.event(() => {
3492
- if (obj.single) {
3493
- obj.callback(opt.key);
3494
- gvc.closeDialog();
3495
- }
3496
- })}"
3497
- >
3498
- ${obj.readonly || obj.single
3499
- ? ''
3500
- : html `<input
3501
- class="form-check-input mt-0 ${vm.checkClass}"
3502
- type="checkbox"
3503
- id="${opt.key}"
3504
- name="radio_${vm.id}"
3505
- onclick="${obj.gvc.event(() => call())}"
3506
- ${obj.default.includes(opt.key) ? 'checked' : ''}
3507
- />`}
3508
- ${opt.image
3509
- ? BgWidget.validImageBox({
3510
- gvc: obj.gvc,
3511
- image: opt.image,
3512
- width: 40,
3513
- })
3514
- : ''}
3515
- <div
3516
- class="form-check-label c_updown_label ${obj.readonly ? '' : 'cursor_pointer'}"
3517
- onclick="${obj.gvc.event(() => call())}"
3518
- >
3519
- <div class="tx_normal ${opt.note ? 'mb-1' : ''}">${opt.value}</div>
3520
- ${opt.note ? html ` <div class="tx_gray_12">${opt.note}</div> ` : ''}
3521
- </div>
3522
- </div>`;
3497
+ return gvc.bindView({
3498
+ bind: opt_id,
3499
+ view: () => {
3500
+ return html `${obj.readonly
3501
+ ? ''
3502
+ : html `<input
3503
+ class="form-check-input mt-0 ${vm.checkClass}"
3504
+ type="checkbox"
3505
+ id="${opt.key}"
3506
+ name="radio_${vm.id}"
3507
+ onclick="${gvc.event(() => call())}"
3508
+ ${obj.default.find(k => k == opt.key) ? 'checked' : ''}
3509
+ />`}
3510
+ ${opt.image
3511
+ ? BgWidget.validImageBox({
3512
+ gvc: gvc,
3513
+ image: opt.image,
3514
+ width: 40,
3515
+ })
3516
+ : ''}
3517
+ <div
3518
+ class="form-check-label c_updown_label ${obj.readonly ? '' : 'cursor_pointer'}"
3519
+ onclick="${gvc.event(() => call())}"
3520
+ >
3521
+ <div class="tx_normal ${opt.note ? 'mb-1' : ''}">${opt.value}</div>
3522
+ ${opt.note ? html ` <div class="tx_gray_12">${opt.note}</div> ` : ''}
3523
+ </div>`;
3524
+ },
3525
+ divCreate: {
3526
+ class: 'd-flex align-items-center',
3527
+ style: 'gap: 24px',
3528
+ },
3529
+ });
3523
3530
  }))}
3524
3531
  </div>
3525
- ${obj.readonly || obj.single
3532
+ ${obj.readonly
3526
3533
  ? ''
3527
3534
  : html ` <div class="c_dialog_bar">
3528
3535
  ${BgWidget.cancel(obj.gvc.event(() => {
@@ -3534,9 +3541,7 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
3534
3541
  gvc.closeDialog();
3535
3542
  }))}
3536
3543
  ${BgWidget.save(obj.gvc.event(() => {
3537
- obj.callback(obj.default.filter(item => {
3538
- return vm.options.find((opt) => opt.key === item);
3539
- }), 1);
3544
+ obj.callback(obj.default, 1);
3540
3545
  gvc.closeDialog();
3541
3546
  }), '確認')}
3542
3547
  </div>`}
@@ -3558,24 +3563,6 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
3558
3563
  });
3559
3564
  }
3560
3565
  else {
3561
- let n = 0;
3562
- const si = setInterval(() => {
3563
- const element = document.getElementById(vm.selectKey.name);
3564
- if (element) {
3565
- element.scrollIntoView();
3566
- const element2 = document.querySelector('.c_dialog_main');
3567
- if (element2 && vm.selectKey.index < vm.options.length - 5) {
3568
- element2.scrollTop -= element2.clientHeight / 2;
3569
- }
3570
- clearInterval(si);
3571
- }
3572
- else {
3573
- n++;
3574
- if (n > 50) {
3575
- clearInterval(si);
3576
- }
3577
- }
3578
- }, 100);
3579
3566
  }
3580
3567
  },
3581
3568
  })}
@@ -3775,7 +3762,7 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
3775
3762
  if (vm.loading) {
3776
3763
  ApiShop.getVariants({
3777
3764
  page: 0,
3778
- limit: 99,
3765
+ limit: 9999,
3779
3766
  search: vm.query || undefined,
3780
3767
  searchType: 'title',
3781
3768
  orderBy: vm.orderString || undefined,
@@ -4380,7 +4367,7 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
4380
4367
  <div class="c_dialog_body h-100">
4381
4368
  <div
4382
4369
  class="c_dialog_main h-100"
4383
- style="max-height: 100%; padding: 0; gap: 24px; z-index: 1; position: relative;"
4370
+ style="max-height: 100%; padding: 0; border: 0; gap: 24px; z-index: 1; position: relative;"
4384
4371
  >
4385
4372
  ${(_d = obj.innerHTML(gvc)) !== null && _d !== void 0 ? _d : ''}
4386
4373
  </div>
@@ -4822,6 +4809,7 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
4822
4809
  }
4823
4810
  static richTextEditor(obj) {
4824
4811
  const gvc = obj.gvc;
4812
+ const dialog = new ShareDialog(gvc.glitter);
4825
4813
  return gvc.bindView((() => {
4826
4814
  const id = gvc.glitter.getUUID();
4827
4815
  function refresh() {
@@ -4906,13 +4894,27 @@ ${(_d = obj.default) !== null && _d !== void 0 ? _d : ''}</textarea
4906
4894
  footer_html: (gvc2) => {
4907
4895
  return [
4908
4896
  BgWidget.cancel(gvc2.event(() => {
4909
- obj.content = originContent;
4910
- gvc2.closeDialog();
4897
+ dialog.checkYesOrNot({
4898
+ text: '確定要取消並關閉嗎?',
4899
+ callback: bool => {
4900
+ if (bool) {
4901
+ obj.content = originContent;
4902
+ gvc2.closeDialog();
4903
+ }
4904
+ },
4905
+ });
4911
4906
  })),
4912
4907
  BgWidget.save(gvc2.event(() => {
4913
- gvc2.closeDialog();
4914
- gvc.notifyDataChange(id);
4915
- obj.callback(obj.content);
4908
+ dialog.checkYesOrNot({
4909
+ text: '確定要儲存並更新嗎?',
4910
+ callback: bool => {
4911
+ if (bool) {
4912
+ gvc2.closeDialog();
4913
+ gvc.notifyDataChange(id);
4914
+ obj.callback(obj.content);
4915
+ }
4916
+ },
4917
+ });
4916
4918
  })),
4917
4919
  ].join('');
4918
4920
  },