ts-glitter 20.7.3 → 20.7.5

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 (248) hide show
  1. package/jr9x7k3aau.json +1 -0
  2. package/lowcode/Entry.js +1 -1
  3. package/lowcode/Entry.ts +1 -1
  4. package/lowcode/backend-manager/bg-notify.js +2 -0
  5. package/lowcode/backend-manager/bg-notify.ts +2 -0
  6. package/lowcode/backend-manager/bg-widget.js +280 -155
  7. package/lowcode/backend-manager/bg-widget.ts +387 -244
  8. package/lowcode/backend-manager/splitPage.js +27 -52
  9. package/lowcode/backend-manager/splitPage.ts +29 -47
  10. package/lowcode/cms-plugin/app-release.js +63 -13
  11. package/lowcode/cms-plugin/app-release.ts +73 -13
  12. package/lowcode/cms-plugin/auto-fcm-advertise.js +23 -24
  13. package/lowcode/cms-plugin/auto-fcm-advertise.ts +286 -285
  14. package/lowcode/cms-plugin/auto-reply.js +285 -273
  15. package/lowcode/cms-plugin/auto-reply.ts +673 -660
  16. package/lowcode/cms-plugin/module/data.ts +1 -0
  17. package/lowcode/cms-plugin/module/order-setting.js +134 -117
  18. package/lowcode/cms-plugin/module/order-setting.ts +152 -138
  19. package/lowcode/cms-plugin/pos-pages/products-page.js +8 -16
  20. package/lowcode/cms-plugin/pos-pages/products-page.ts +10 -12
  21. package/lowcode/cms-plugin/shopping-order-manager.js +244 -289
  22. package/lowcode/cms-plugin/shopping-order-manager.ts +128 -156
  23. package/lowcode/cms-plugin/shopping-order-return.js +1 -1
  24. package/lowcode/cms-plugin/shopping-order-return.ts +1 -1
  25. package/lowcode/cms-plugin/shopping-product-setting.js +3 -3
  26. package/lowcode/cms-plugin/shopping-product-setting.ts +3 -3
  27. package/lowcode/cms-plugin/shopping-setting-advance.js +3 -28
  28. package/lowcode/cms-plugin/shopping-setting-advance.ts +3 -28
  29. package/lowcode/cms-plugin/stock-history.js +31 -15
  30. package/lowcode/cms-plugin/stock-history.ts +43 -25
  31. package/lowcode/cms-plugin/third-party-google.js +103 -81
  32. package/lowcode/cms-plugin/third-party-google.ts +296 -265
  33. package/lowcode/cms-plugin/user-list.js +166 -113
  34. package/lowcode/cms-plugin/user-list.ts +136 -78
  35. package/lowcode/form-view/e-commerce/path-select.js +100 -87
  36. package/lowcode/form-view/e-commerce/path-select.ts +372 -343
  37. package/lowcode/glitter-base/route/stock.ts +153 -141
  38. package/lowcode/glitterBundle/plugins/editor-elem.js +139 -149
  39. package/lowcode/glitterBundle/plugins/editor-elem.ts +207 -222
  40. package/lowcode/public-components/blogs/list.js +8 -16
  41. package/lowcode/public-components/blogs/list.ts +10 -12
  42. package/lowcode/public-components/product/product-list.js +8 -16
  43. package/lowcode/public-components/product/product-list.ts +10 -12
  44. package/lowcode/public-components/user-manager/um-login.js +270 -267
  45. package/lowcode/public-components/user-manager/um-login.ts +987 -983
  46. package/lowcode/public-models/order-info.js +12 -20
  47. package/lowcode/public-models/order-info.ts +13 -12
  48. package/package.json +1 -1
  49. package/src/Language.js.map +1 -1
  50. package/src/api-public/controllers/ai-chat.js.map +1 -1
  51. package/src/api-public/controllers/ai-points.js.map +1 -1
  52. package/src/api-public/controllers/app-release.js.map +1 -1
  53. package/src/api-public/controllers/article.js.map +1 -1
  54. package/src/api-public/controllers/chat.js.map +1 -1
  55. package/src/api-public/controllers/customer-sessions.js.map +1 -1
  56. package/src/api-public/controllers/delivery.js.map +1 -1
  57. package/src/api-public/controllers/fb-message.js.map +1 -1
  58. package/src/api-public/controllers/fb-service.js.map +1 -1
  59. package/src/api-public/controllers/fcm.js.map +1 -1
  60. package/src/api-public/controllers/graph-api.js.map +1 -1
  61. package/src/api-public/controllers/index.js.map +1 -1
  62. package/src/api-public/controllers/invoice.js.map +1 -1
  63. package/src/api-public/controllers/lambda.js.map +1 -1
  64. package/src/api-public/controllers/line-message.js.map +1 -1
  65. package/src/api-public/controllers/manager.js.map +1 -1
  66. package/src/api-public/controllers/oauth.js.map +1 -1
  67. package/src/api-public/controllers/post.js.map +1 -1
  68. package/src/api-public/controllers/progress.js.map +1 -1
  69. package/src/api-public/controllers/rebate.js.map +1 -1
  70. package/src/api-public/controllers/recommend.js.map +1 -1
  71. package/src/api-public/controllers/reconciliation.js.map +1 -1
  72. package/src/api-public/controllers/shop.js.map +1 -1
  73. package/src/api-public/controllers/shopee.js.map +1 -1
  74. package/src/api-public/controllers/sms-points.js.map +1 -1
  75. package/src/api-public/controllers/sms.js.map +1 -1
  76. package/src/api-public/controllers/smtp.js.map +1 -1
  77. package/src/api-public/controllers/sql_api.js.map +1 -1
  78. package/src/api-public/controllers/stock.js.map +1 -1
  79. package/src/api-public/controllers/track.js.map +1 -1
  80. package/src/api-public/controllers/user.js +1 -1
  81. package/src/api-public/controllers/user.js.map +1 -1
  82. package/src/api-public/controllers/user.ts +1 -1
  83. package/src/api-public/controllers/voucher.js.map +1 -1
  84. package/src/api-public/controllers/wallet.js.map +1 -1
  85. package/src/api-public/models/glitter-finance.js +2 -1
  86. package/src/api-public/models/glitter-finance.js.map +1 -1
  87. package/src/api-public/services/EcInvoice.js.map +1 -1
  88. package/src/api-public/services/ai-pointes.js.map +1 -1
  89. package/src/api-public/services/ai-robot.d.ts +1 -0
  90. package/src/api-public/services/ai-robot.js.map +1 -1
  91. package/src/api-public/services/article.js.map +1 -1
  92. package/src/api-public/services/auto-send-email.js.map +1 -1
  93. package/src/api-public/services/chat.js.map +1 -1
  94. package/src/api-public/services/checkout-event.d.ts +3 -1
  95. package/src/api-public/services/checkout-event.js +7 -4
  96. package/src/api-public/services/checkout-event.js.map +1 -1
  97. package/src/api-public/services/checkout-event.ts +26 -17
  98. package/src/api-public/services/checkout.js.map +1 -1
  99. package/src/api-public/services/custom-code.js.map +1 -1
  100. package/src/api-public/services/customer-sessions.js.map +1 -1
  101. package/src/api-public/services/data-analyze.js +3 -3
  102. package/src/api-public/services/data-analyze.js.map +1 -1
  103. package/src/api-public/services/data-analyze.ts +3 -3
  104. package/src/api-public/services/delivery.js.map +1 -1
  105. package/src/api-public/services/ezpay/tool.d.ts +1 -0
  106. package/src/api-public/services/ezpay/tool.js.map +1 -1
  107. package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
  108. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  109. package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
  110. package/src/api-public/services/fb-api.d.ts +1 -0
  111. package/src/api-public/services/fb-api.js.map +1 -1
  112. package/src/api-public/services/fb-message.d.ts +1 -0
  113. package/src/api-public/services/fb-message.js.map +1 -1
  114. package/src/api-public/services/fb-service.js +4 -4
  115. package/src/api-public/services/fb-service.js.map +1 -1
  116. package/src/api-public/services/filter-protect-data.js.map +1 -1
  117. package/src/api-public/services/financial-service.d.ts +1 -0
  118. package/src/api-public/services/financial-service.js.map +1 -1
  119. package/src/api-public/services/form-check.js.map +1 -1
  120. package/src/api-public/services/graph-api.js.map +1 -1
  121. package/src/api-public/services/initial-fake-data.js.map +1 -1
  122. package/src/api-public/services/invoice.js.map +1 -1
  123. package/src/api-public/services/language-setting.js.map +1 -1
  124. package/src/api-public/services/line-message.d.ts +1 -0
  125. package/src/api-public/services/line-message.js.map +1 -1
  126. package/src/api-public/services/mail.js.map +1 -1
  127. package/src/api-public/services/manager.js.map +1 -1
  128. package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
  129. package/src/api-public/services/model/shopnex-line-message.js.map +1 -1
  130. package/src/api-public/services/monitor.d.ts +1 -0
  131. package/src/api-public/services/monitor.js.map +1 -1
  132. package/src/api-public/services/notify.js.map +1 -1
  133. package/src/api-public/services/order-event.js.map +1 -1
  134. package/src/api-public/services/paynow-logistics.js.map +1 -1
  135. package/src/api-public/services/phone-verify.js.map +1 -1
  136. package/src/api-public/services/pos.js.map +1 -1
  137. package/src/api-public/services/post.js.map +1 -1
  138. package/src/api-public/services/product-initial.js.map +1 -1
  139. package/src/api-public/services/public-table-check.js.map +1 -1
  140. package/src/api-public/services/rebate.js.map +1 -1
  141. package/src/api-public/services/recommend.js.map +1 -1
  142. package/src/api-public/services/reconciliation.js.map +1 -1
  143. package/src/api-public/services/schedule.js.map +1 -1
  144. package/src/api-public/services/share-permission.d.ts +1 -1
  145. package/src/api-public/services/share-permission.js.map +1 -1
  146. package/src/api-public/services/shopee.d.ts +1 -0
  147. package/src/api-public/services/shopee.js.map +1 -1
  148. package/src/api-public/services/shopping.js +5 -9
  149. package/src/api-public/services/shopping.js.map +1 -1
  150. package/src/api-public/services/shopping.ts +4 -10
  151. package/src/api-public/services/sms-pointes.js.map +1 -1
  152. package/src/api-public/services/sms.js.map +1 -1
  153. package/src/api-public/services/stock.js.map +1 -1
  154. package/src/api-public/services/terms-check.js.map +1 -1
  155. package/src/api-public/services/updated-table-checked.js.map +1 -1
  156. package/src/api-public/services/user-update.js.map +1 -1
  157. package/src/api-public/services/user.d.ts +6 -1
  158. package/src/api-public/services/user.js +30 -15
  159. package/src/api-public/services/user.js.map +1 -1
  160. package/src/api-public/services/user.ts +109 -91
  161. package/src/api-public/services/voucher.js.map +1 -1
  162. package/src/api-public/services/wallet.js.map +1 -1
  163. package/src/api-public/services/workers.js.map +1 -1
  164. package/src/api-public/utils/ut-database.js.map +1 -1
  165. package/src/api-public/utils/ut-permission.d.ts +1 -0
  166. package/src/api-public/utils/ut-permission.js.map +1 -1
  167. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  168. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  169. package/src/app-project/serverless/src/modules/database.d.ts +2 -1
  170. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  171. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  172. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  173. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  174. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  175. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  176. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  177. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  178. package/src/config.d.ts +1 -1
  179. package/src/config.js.map +1 -1
  180. package/src/controllers/ai.js.map +1 -1
  181. package/src/controllers/app.js.map +1 -1
  182. package/src/controllers/backend-server.js.map +1 -1
  183. package/src/controllers/filemanager.js.map +1 -1
  184. package/src/controllers/global-event.js.map +1 -1
  185. package/src/controllers/index.js.map +1 -1
  186. package/src/controllers/page.js.map +1 -1
  187. package/src/controllers/private_config.js.map +1 -1
  188. package/src/controllers/template.js.map +1 -1
  189. package/src/controllers/user.js.map +1 -1
  190. package/src/domain-check.js.map +1 -1
  191. package/src/export/export-test.js.map +1 -1
  192. package/src/firebase/message.js +2 -1
  193. package/src/firebase/message.js.map +1 -1
  194. package/src/helper/app_creater.js +2 -1
  195. package/src/helper/app_creater.js.map +1 -1
  196. package/src/helper/glitter-util.d.ts +1 -0
  197. package/src/helper/glitter-util.js.map +1 -1
  198. package/src/index.js +3 -3
  199. package/src/index.js.map +1 -1
  200. package/src/lambda/interface.d.ts +1 -1
  201. package/src/lambda/interface.js +2 -2
  202. package/src/lambda/interface.js.map +1 -1
  203. package/src/modules/AWSLib.js +3 -2
  204. package/src/modules/AWSLib.js.map +1 -1
  205. package/src/modules/caught-error.js.map +1 -1
  206. package/src/modules/database.d.ts +2 -1
  207. package/src/modules/database.js.map +1 -1
  208. package/src/modules/exception.js.map +1 -1
  209. package/src/modules/firebase.js.map +1 -1
  210. package/src/modules/hooks.js.map +1 -1
  211. package/src/modules/logger.js.map +1 -1
  212. package/src/modules/redis.d.ts +1 -1
  213. package/src/modules/redis.js.map +1 -1
  214. package/src/modules/response.js.map +1 -1
  215. package/src/modules/ssh.js.map +1 -1
  216. package/src/modules/tool.d.ts +4 -4
  217. package/src/modules/tool.js +2 -1
  218. package/src/modules/tool.js.map +1 -1
  219. package/src/public-config-initial/auto-fcm.js.map +1 -1
  220. package/src/run.js +2 -1
  221. package/src/run.js.map +1 -1
  222. package/src/seo-config.d.ts +1 -0
  223. package/src/seo-config.js +3 -3
  224. package/src/seo-config.js.map +1 -1
  225. package/src/services/ai.js.map +1 -1
  226. package/src/services/app.js.map +1 -1
  227. package/src/services/backend-service.js.map +1 -1
  228. package/src/services/create-instance.js +4 -3
  229. package/src/services/create-instance.js.map +1 -1
  230. package/src/services/global-event.js.map +1 -1
  231. package/src/services/ios-release.js.map +1 -1
  232. package/src/services/page.js.map +1 -1
  233. package/src/services/private_config.js.map +1 -1
  234. package/src/services/release.js.map +1 -1
  235. package/src/services/saas-table-check.js +2 -2
  236. package/src/services/saas-table-check.js.map +1 -1
  237. package/src/services/seo.js.map +1 -1
  238. package/src/services/ses.js +2 -1
  239. package/src/services/ses.js.map +1 -1
  240. package/src/services/system-schedule.js.map +1 -1
  241. package/src/services/template.js.map +1 -1
  242. package/src/services/tool.js +3 -2
  243. package/src/services/tool.js.map +1 -1
  244. package/src/services/user.js.map +1 -1
  245. package/src/services/web-socket.js.map +1 -1
  246. package/src/update-progress-track.js.map +1 -1
  247. package/src/update-script.js.map +1 -1
  248. package/src/api-public/services/checkout-service.js +0 -1074
@@ -35,6 +35,7 @@ type TData = {
35
35
  title?: string;
36
36
  value: string;
37
37
  stopClick?: boolean;
38
+ tooltip?: string;
38
39
  };
39
40
 
40
41
  type TableV3 = {
@@ -223,14 +224,14 @@ export class BgWidget {
223
224
  }
224
225
 
225
226
  static disableButton(text: string, obj?: { icon?: string; textStyle?: string }) {
226
- return html` <button class="btn btn-gray-disable" style="" type="button">
227
+ return html` <button class="btn btn-gray-disable" type="button">
227
228
  <i class="${obj && obj.icon && obj.icon.length > 0 ? obj.icon : 'd-none'}" style="color: #393939"></i>
228
229
  ${text.length > 0 ? html`<span class="tx_700" style="${obj?.textStyle ?? ''}">${text}</span>` : ''}
229
230
  </button>`;
230
231
  }
231
232
 
232
233
  static grayButton(text: string, event: string, obj?: { icon?: string; textStyle?: string; class?: string }) {
233
- return html` <button class="btn btn-gray ${obj?.class || ''}" style="" type="button" onclick="${event}">
234
+ return html` <button class="btn btn-gray ${obj?.class || ''}" type="button" onclick="${event}">
234
235
  <i class="${obj && obj.icon && obj.icon.length > 0 ? obj.icon : 'd-none'}" style="color: #393939"></i>
235
236
  ${text.length > 0 ? html`<span class="tx_700" style="${obj?.textStyle ?? ''}">${text}</span>` : ''}
236
237
  </button>`;
@@ -352,7 +353,6 @@ export class BgWidget {
352
353
  ></i>
353
354
  <div class="w-100 d-none" style="position: absolute;left: 0;top: 100%;z-index:2;">
354
355
  <div
355
- class=""
356
356
  style="height: 100vh;width: 100vw;position: fixed;left: 0;top: 0;z-index:3;"
357
357
  onclick="${gvc.event(e => {
358
358
  if (e.parentElement) {
@@ -473,6 +473,41 @@ export class BgWidget {
473
473
  }
474
474
 
475
475
  // 標籤
476
+ static richTextQuickList = [
477
+ {
478
+ title: '商家名稱',
479
+ value: '@{{app_name}}',
480
+ },
481
+ {
482
+ title: '訂單號碼',
483
+ value: '@{{訂單號碼}}',
484
+ },
485
+ {
486
+ title: '會員姓名',
487
+ value: '@{{user_name}}',
488
+ },
489
+ {
490
+ title: '訂單金額',
491
+ value: '@{{訂單金額}}',
492
+ },
493
+ {
494
+ title: '姓名',
495
+ value: '@{{姓名}}',
496
+ },
497
+ {
498
+ title: '電話',
499
+ value: '@{{電話}}',
500
+ },
501
+ {
502
+ title: '地址',
503
+ value: '@{{地址}}',
504
+ },
505
+ {
506
+ title: '信箱',
507
+ value: '@{{信箱}}',
508
+ },
509
+ ];
510
+
476
511
  static insignia(className: string, text: string, args: { type: 'fill' | 'border'; size: 'sm' | 'md' }) {
477
512
  const typeMap = {
478
513
  border: `insignia-border insignia-${className}-border`,
@@ -668,67 +703,48 @@ export class BgWidget {
668
703
  gvc.notifyDataChange('editDialog');
669
704
  };
670
705
  reload();
671
- return `<div class="${vm.edit_mode ? `m-n3` : `m-n2`}">${gvc.bindView({
672
- bind: 'editDialog',
673
- view: async () => {
674
- reload = () => {
675
- gvc.recreateView();
676
- };
677
- return html`
678
- <div class="d-flex flex-column" style="left: 0;top:0;background-color: white;z-index:1;">
679
- ${BgWidget.tableV3({
680
- gvc: gvc,
681
- getData: vmi => {
682
- if (!vm.loading) {
683
- function getDatalist() {
684
- return vm.language_list.label.map((dd: any) => {
685
- return [
686
- vm.edit_mode
687
- ? undefined
688
- : {
689
- key: '',
690
- value: html`
691
- <div
692
- class="w-100"
693
- style="justify-content: center; align-items: center; gap: 4px; display: flex;color: #3366BB;cursor: pointer;"
694
- data-bs-toggle="dropdown"
695
- aria-haspopup="true"
696
- aria-expanded="false"
697
- onclick="${gvc.event(() => {
698
- obj.callback!(dd.tag);
699
- gvc.closeDialog();
700
- })}"
701
- >
706
+ return html`<div class="${vm.edit_mode ? `m-n3` : `m-n2`}">
707
+ ${gvc.bindView({
708
+ bind: 'editDialog',
709
+ view: async () => {
710
+ reload = () => {
711
+ gvc.recreateView();
712
+ };
713
+ return html`
714
+ <div class="d-flex flex-column" style="left: 0;top:0;background-color: white;z-index:1;">
715
+ ${BgWidget.tableV3({
716
+ gvc: gvc,
717
+ getData: vmi => {
718
+ if (!vm.loading) {
719
+ function getDatalist() {
720
+ return vm.language_list.label.map((dd: any) => {
721
+ return [
722
+ vm.edit_mode
723
+ ? undefined
724
+ : {
725
+ key: '',
726
+ value: html`
702
727
  <div
703
- style="font-size: 16px; font-family: Noto Sans; font-weight: 400; word-wrap: break-word"
728
+ class="w-100"
729
+ style="justify-content: center; align-items: center; gap: 4px; display: flex;color: #3366BB;cursor: pointer;"
730
+ data-bs-toggle="dropdown"
731
+ aria-haspopup="true"
732
+ aria-expanded="false"
733
+ onclick="${gvc.event(() => {
734
+ obj.callback!(dd.tag);
735
+ gvc.closeDialog();
736
+ })}"
704
737
  >
705
- 選擇
738
+ <div
739
+ style="font-size: 16px; font-family: Noto Sans; font-weight: 400; word-wrap: break-word"
740
+ >
741
+ 選擇
742
+ </div>
706
743
  </div>
707
- </div>
708
- `,
709
- },
710
- {
711
- key: '標籤',
712
- value: html` <div
713
- class="d-flex flex-shrink-0"
714
- style="width:${elementLength}px;font-size: 16px;font-style: normal;font-weight: 700;"
715
- >
716
- ${BgWidget.editeInput({
717
- gvc: gvc,
718
- title: ``,
719
- placeHolder: '請輸入標籤',
720
- callback: text => {
721
- dd.tag = text;
744
+ `,
722
745
  },
723
- type: 'text',
724
- default: dd.tag || '',
725
- readonly: !vm.edit_mode,
726
- })}
727
- </div>`,
728
- },
729
- ...Language.languageSupport().map(d1 => {
730
- return {
731
- key: d1.value,
746
+ {
747
+ key: '標籤',
732
748
  value: html` <div
733
749
  class="d-flex flex-shrink-0"
734
750
  style="width:${elementLength}px;font-size: 16px;font-style: normal;font-weight: 700;"
@@ -736,59 +752,78 @@ export class BgWidget {
736
752
  ${BgWidget.editeInput({
737
753
  gvc: gvc,
738
754
  title: ``,
739
- placeHolder: '請輸入內文',
755
+ placeHolder: '請輸入標籤',
740
756
  callback: text => {
741
- dd[d1.key] = text;
757
+ dd.tag = text;
742
758
  },
743
759
  type: 'text',
744
- default: dd[d1.key] || '',
760
+ default: dd.tag || '',
745
761
  readonly: !vm.edit_mode,
746
762
  })}
747
763
  </div>`,
748
- };
749
- }),
750
- ].filter(dd => {
751
- return dd;
752
- });
753
- });
754
- }
755
-
756
- vmi.pageSize = 1;
757
- vmi.originalData = vm.language_list.label;
758
- vmi.tableData = getDatalist();
759
- vmi.loading = vm.loading;
760
- vmi.callback();
761
- }
762
- },
763
- rowClick: (data, index) => {},
764
- filter: vm.edit_mode
765
- ? [
766
- {
767
- name: '批量移除',
768
- event: () => {
769
- const dialog = new ShareDialog(gvc.glitter);
770
- dialog.checkYesOrNot({
771
- text: '是否確認刪除所選項目?',
772
- callback: response => {
773
- if (response) {
774
- vm.language_list.label = vm.language_list.label.filter((dd: any) => {
775
- return !dd.checked;
776
- });
777
- save();
778
- }
779
764
  },
765
+ ...Language.languageSupport().map(d1 => {
766
+ return {
767
+ key: d1.value,
768
+ value: html` <div
769
+ class="d-flex flex-shrink-0"
770
+ style="width:${elementLength}px;font-size: 16px;font-style: normal;font-weight: 700;"
771
+ >
772
+ ${BgWidget.editeInput({
773
+ gvc: gvc,
774
+ title: ``,
775
+ placeHolder: '請輸入內文',
776
+ callback: text => {
777
+ dd[d1.key] = text;
778
+ },
779
+ type: 'text',
780
+ default: dd[d1.key] || '',
781
+ readonly: !vm.edit_mode,
782
+ })}
783
+ </div>`,
784
+ };
785
+ }),
786
+ ].filter(dd => {
787
+ return dd;
780
788
  });
789
+ });
790
+ }
791
+
792
+ vmi.pageSize = 1;
793
+ vmi.originalData = vm.language_list.label;
794
+ vmi.tableData = getDatalist();
795
+ vmi.loading = vm.loading;
796
+ vmi.callback();
797
+ }
798
+ },
799
+ rowClick: (data, index) => {},
800
+ filter: vm.edit_mode
801
+ ? [
802
+ {
803
+ name: '批量移除',
804
+ event: () => {
805
+ const dialog = new ShareDialog(gvc.glitter);
806
+ dialog.checkYesOrNot({
807
+ text: '是否確認刪除所選項目?',
808
+ callback: response => {
809
+ if (response) {
810
+ vm.language_list.label = vm.language_list.label.filter((dd: any) => {
811
+ return !dd.checked;
812
+ });
813
+ save();
814
+ }
815
+ },
816
+ });
817
+ },
781
818
  },
782
- },
783
- ]
784
- : [],
785
- })}
786
- </div>
787
- `;
788
- },
789
- divCreate: {},
790
- onCreate: () => {},
791
- })}</div>`;
819
+ ]
820
+ : [],
821
+ })}
822
+ </div>
823
+ `;
824
+ },
825
+ })}
826
+ </div>`;
792
827
  },
793
828
  footer_html: (gvc: GVC) => {
794
829
  if (vm.edit_mode) {
@@ -1116,13 +1151,20 @@ ${obj.default ?? ''}</textarea
1116
1151
 
1117
1152
  // 新增 elementClass style
1118
1153
  obj.gvc.addStyle(`
1119
- #${dropMenu.elementClass} {
1120
- font-size: 14px;
1121
- margin-top: 8px;
1122
- white-space: normal;
1123
- word-break: break-all;
1124
- }
1125
- `);
1154
+ #${dropMenu.elementClass} {
1155
+ font-size: 14px;
1156
+ margin-top: 8px;
1157
+ white-space: normal;
1158
+ word-break: break-all;
1159
+ }
1160
+ .tag-icon-bgr {
1161
+ width: 25px;
1162
+ height: 25px;
1163
+ background-position: center;
1164
+ background-size: cover;
1165
+ background-repeat: no-repeat;
1166
+ }
1167
+ `);
1126
1168
 
1127
1169
  return obj.gvc.bindView({
1128
1170
  bind: vm.id,
@@ -1139,7 +1181,9 @@ ${obj.default ?? ''}</textarea
1139
1181
  if (linkComp.loading) {
1140
1182
  return html` <div
1141
1183
  class="bgw-input border rounded-3"
1142
- style="${linkComp.text.length > 0 ? '' : 'padding: 9.5px 12px;'} ${obj.style ?? ''}"
1184
+ style="${linkComp.text.length > 0
1185
+ ? 'padding: 8px 18px; height: 41.75px'
1186
+ : 'padding: 9.5px 12px;'} ${obj.style ?? ''}"
1143
1187
  id="${dropMenu.elementClass}"
1144
1188
  onclick="${obj.gvc.event(() => {
1145
1189
  componentFresh();
@@ -1185,122 +1229,171 @@ ${obj.default ?? ''}</textarea
1185
1229
  `;
1186
1230
  }
1187
1231
  },
1188
- divCreate: {},
1189
- onCreate: () => {},
1190
1232
  })}
1191
1233
  ${obj.gvc.bindView({
1192
1234
  bind: dropMenu.id,
1193
- view: () => {
1235
+ view: async () => {
1194
1236
  if (dropMenu.loading) {
1195
1237
  return '';
1196
1238
  } else {
1197
- let h1 = '';
1198
- if (dropMenu.prevList.length > 0) {
1199
- h1 += html` <div
1200
- class="m-3 cursor_pointer"
1201
- style="font-size: 16px; font-weight: 500; gap: 6px; line-height: 140%;"
1202
- onclick=${obj.gvc.event(() => {
1203
- dataList = dropMenu.prevList[dropMenu.prevList.length - 1];
1204
- dropMenu.prevList.pop();
1205
- dropMenu.recentParent.pop();
1206
- dropMenu.search = '';
1207
- obj.gvc.notifyDataChange(dropMenu.id);
1208
- })}
1209
- >
1210
- <i class="fa-solid fa-chevron-left me-2 hoverF2"></i>
1211
- <span>${dropMenu.recentParent[dropMenu.recentParent.length - 1]}</span>
1212
- </div>
1213
- <input
1214
- class="form-control m-2"
1215
- style="width: 92%"
1216
- type="text"
1217
- placeholder="搜尋"
1218
- onchange="${obj.gvc.event(e => {
1219
- dropMenu.search = e.value;
1220
- obj.gvc.notifyDataChange(dropMenu.id);
1221
- })}"
1222
- oninput="${obj.gvc.event(e => {
1223
- if (obj.pattern) {
1224
- const value = e.value;
1225
- const regex = new RegExp(`[^${obj.pattern}]`, 'g');
1226
- const validValue = value.replace(regex, '');
1227
- if (value !== validValue) {
1228
- e.value = validValue;
1229
- }
1230
- }
1231
- })}"
1232
- value="${dropMenu.search}"
1233
- />`;
1239
+ const barHTML =
1240
+ dropMenu.prevList.length > 0
1241
+ ? html` <div
1242
+ class="m-3 cursor_pointer"
1243
+ style="font-size: 16px; font-weight: 500; gap: 6px; line-height: 140%;"
1244
+ onclick=${obj.gvc.event(() => {
1245
+ dataList = dropMenu.prevList[dropMenu.prevList.length - 1];
1246
+ dropMenu.prevList.pop();
1247
+ dropMenu.recentParent.pop();
1248
+ dropMenu.search = '';
1249
+ obj.gvc.notifyDataChange(dropMenu.id);
1250
+ })}
1251
+ >
1252
+ <i class="fa-solid fa-chevron-left me-2 hoverF2"></i>
1253
+ <span>${dropMenu.recentParent[dropMenu.recentParent.length - 1]}</span>
1254
+ </div>
1255
+ <input
1256
+ class="form-control m-2"
1257
+ style="width: calc(100% - 16.875px)"
1258
+ type="text"
1259
+ placeholder="搜尋"
1260
+ onchange="${obj.gvc.event(e => {
1261
+ dropMenu.search = e.value;
1262
+ obj.gvc.notifyDataChange(dropMenu.id);
1263
+ })}"
1264
+ oninput="${obj.gvc.event(e => {
1265
+ if (obj.pattern) {
1266
+ const value = e.value;
1267
+ const regex = new RegExp(`[^${obj.pattern}]`, 'g');
1268
+ const validValue = value.replace(regex, '');
1269
+ if (value !== validValue) {
1270
+ e.value = validValue;
1271
+ }
1272
+ }
1273
+ })}"
1274
+ value="${dropMenu.search}"
1275
+ />`
1276
+ : '';
1277
+
1278
+ function getProductHTML() {
1279
+ return BgWidget.tableV3({
1280
+ gvc: obj.gvc,
1281
+ getData: vmi => {
1282
+ const limit = 10;
1283
+
1284
+ ApiShop.getProduct({
1285
+ page: vmi.page - 1,
1286
+ limit: limit,
1287
+ search: dropMenu.search.trim(),
1288
+ searchType: 'title',
1289
+ status: 'inRange',
1290
+ }).then(data => {
1291
+ dataList = (data.response.data || []).map((item: any) => {
1292
+ const { id, title, preview_image } = item.content;
1293
+ const icon = preview_image && preview_image[0] ? preview_image[0] : '';
1294
+
1295
+ return {
1296
+ name: title,
1297
+ icon: icon,
1298
+ link: `/products?product_id=${id}`,
1299
+ };
1300
+ });
1301
+
1302
+ vmi.tableData = dataList.map(item => {
1303
+ return [
1304
+ {
1305
+ key: '商品名稱',
1306
+ value: html` <div class="d-flex align-items-center" style="line-height: 32px;">
1307
+ ${BgWidget.validImageBox({
1308
+ gvc: obj.gvc,
1309
+ image: item.icon,
1310
+ width: 32,
1311
+ class: 'rounded border me-2',
1312
+ })}
1313
+ <div class="d-flex flex-column">
1314
+ <div>${Tool.truncateString(item.name)}</div>
1315
+ </div>
1316
+ </div>`,
1317
+ },
1318
+ ];
1319
+ });
1320
+
1321
+ vmi.pageSize = Math.ceil(data.response.total / limit);
1322
+ vmi.originalData = data.response.data;
1323
+ vmi.loading = false;
1324
+ vmi.callback();
1325
+ });
1326
+ },
1327
+ rowClick: (_, index) => {
1328
+ callbackEvent(dataList[index]);
1329
+ },
1330
+ filter: [],
1331
+ });
1234
1332
  }
1235
- let h2 = '';
1236
- dataList
1237
- .filter(tag => {
1238
- return tag.name.includes(dropMenu.search);
1239
- })
1240
- .map(tag => {
1241
- h2 += html`
1242
- <div
1243
- class="m-2"
1244
- style="cursor:pointer;display: flex; align-items: center; justify-content: space-between;"
1245
- >
1333
+
1334
+ function getDataListHTML() {
1335
+ return dataList
1336
+ .filter(tag => {
1337
+ return tag.name.includes(dropMenu.search);
1338
+ })
1339
+ .map(tag => {
1340
+ return html`
1246
1341
  <div
1247
- class="w-100 p-1 link-item-container hoverF2 cursor_pointer text-wrap"
1248
- onclick=${obj.gvc.event(() => {
1249
- if (tag.link && tag.link.length > 0 && !tag.ignoreFirst) {
1250
- callbackEvent(tag);
1251
- } else {
1342
+ class="m-2"
1343
+ style="cursor:pointer;display: flex; align-items: center; justify-content: space-between;"
1344
+ >
1345
+ <div
1346
+ class="w-100 p-1 link-item-container hoverF2 cursor_pointer text-wrap"
1347
+ onclick=${obj.gvc.event(() => {
1348
+ if (tag.link && tag.link.length > 0 && !tag.ignoreFirst) {
1349
+ callbackEvent(tag);
1350
+ } else {
1351
+ dropMenu.prevList.push(dataList);
1352
+ dropMenu.recentParent.push(tag.name);
1353
+ tag.items && (dataList = tag.items);
1354
+ obj.gvc.notifyDataChange(dropMenu.id);
1355
+ }
1356
+ })}
1357
+ >
1358
+ <div
1359
+ style="min-width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;"
1360
+ >
1361
+ ${tag.icon.includes('https://')
1362
+ ? html` <div
1363
+ class="tag-icon-bgr"
1364
+ style="background-image: url('${tag.icon}');"
1365
+ ></div>`
1366
+ : html`<i class="${tag.icon.length > 0 ? tag.icon : 'fa-regular fa-image'}"></i>`}
1367
+ </div>
1368
+ ${tag.name}
1369
+ </div>
1370
+ <div
1371
+ class="py-1 px-3 hoverF2 ${tag.items && tag.items.length > 0 ? '' : 'd-none'}"
1372
+ onclick=${obj.gvc.event(() => {
1252
1373
  dropMenu.prevList.push(dataList);
1253
1374
  dropMenu.recentParent.push(tag.name);
1254
1375
  tag.items && (dataList = tag.items);
1255
1376
  obj.gvc.notifyDataChange(dropMenu.id);
1256
- }
1257
- })}
1258
- >
1259
- <div
1260
- style="min-width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;"
1377
+ })}
1261
1378
  >
1262
- ${(() => {
1263
- if (tag.icon.includes('https://')) {
1264
- return html` <div
1265
- style="
1266
- width: 25px; height: 25px;
1267
- background-image: url('${tag.icon}');
1268
- background-position: center;
1269
- background-size: cover;
1270
- background-repeat: no-repeat;
1271
- "
1272
- ></div>`;
1273
- }
1274
- return html`<i
1275
- class="${tag.icon.length > 0 ? tag.icon : 'fa-regular fa-image'}"
1276
- ></i>`;
1277
- })()}
1379
+ <i class="fa-solid fa-chevron-right cursor_pointer"></i>
1278
1380
  </div>
1279
- ${tag.name}
1280
1381
  </div>
1281
- <div
1282
- class="py-1 px-3 hoverF2 ${tag.items && tag.items.length > 0 ? '' : 'd-none'}"
1283
- onclick=${obj.gvc.event(() => {
1284
- dropMenu.prevList.push(dataList);
1285
- dropMenu.recentParent.push(tag.name);
1286
- tag.items && (dataList = tag.items);
1287
- obj.gvc.notifyDataChange(dropMenu.id);
1288
- })}
1289
- >
1290
- <i class="fa-solid fa-chevron-right cursor_pointer"></i>
1291
- </div>
1292
- </div>
1293
- `;
1294
- });
1382
+ `;
1383
+ })
1384
+ .join('');
1385
+ }
1386
+
1387
+ const listHTML = dropMenu.recentParent[0] === '所有商品' ? getProductHTML() : getDataListHTML();
1388
+
1295
1389
  return html`
1296
1390
  <div class="border border-2 rounded-2 p-2" style="width: ${dropMenu.elementWidth}px;">
1297
- ${h1}
1298
- <div style="overflow-y: auto; max-height: 42.5vh;">${h2}</div>
1391
+ ${barHTML}
1392
+ <div style="overflow-y: auto; max-height: 42.5vh;">${listHTML}</div>
1299
1393
  </div>
1300
1394
  `;
1301
1395
  }
1302
1396
  },
1303
-
1304
1397
  divCreate: {
1305
1398
  style: 'position: absolute; top: 44px; left: 0; z-index: 1; background-color: #fff;',
1306
1399
  },
@@ -1308,7 +1401,6 @@ ${obj.default ?? ''}</textarea
1308
1401
  </div>`;
1309
1402
  }
1310
1403
  },
1311
- divCreate: {},
1312
1404
  onCreate: () => {
1313
1405
  if (vm.loading) {
1314
1406
  const acticleList: MenuItem[] = [];
@@ -1329,22 +1421,12 @@ ${obj.default ?? ''}</textarea
1329
1421
  });
1330
1422
  }),
1331
1423
  new Promise<void>(resolve => {
1332
- ApiShop.getProduct({ page: 0, limit: 50000, search: '' }).then((data: any) => {
1333
- if (data.result) {
1334
- (data.response.data || []).map(
1335
- (item: { content: { id: string; title: string; preview_image: string[] } }) => {
1336
- const { id, title, preview_image } = item.content;
1337
- const icon = preview_image && preview_image[0] ? preview_image[0] : '';
1338
- productList.push({
1339
- name: title,
1340
- icon: icon,
1341
- link: `/products?product_id=${id}`,
1342
- });
1343
- }
1344
- );
1345
- resolve();
1346
- }
1424
+ productList.push({
1425
+ name: '',
1426
+ icon: '',
1427
+ link: `/products?product_id=`,
1347
1428
  });
1429
+ resolve();
1348
1430
  }),
1349
1431
  new Promise<void>(resolve => {
1350
1432
  Article.get({
@@ -1804,12 +1886,12 @@ ${obj.default ?? ''}</textarea
1804
1886
  divCreate: {
1805
1887
  class: `card`,
1806
1888
  style: `
1807
- width: 100%;
1808
- overflow: hidden;
1809
- border-radius: 10px;
1810
- background: #fff;
1811
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);
1812
- `,
1889
+ width: 100%;
1890
+ overflow: hidden;
1891
+ border-radius: 10px;
1892
+ background: #fff;
1893
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.08);
1894
+ `,
1813
1895
  },
1814
1896
  onCreate: () => {
1815
1897
  if (vm.loading) {
@@ -1956,7 +2038,6 @@ ${obj.default ?? ''}</textarea
1956
2038
  </div>`;
1957
2039
  }
1958
2040
  },
1959
- divCreate: {},
1960
2041
  onCreate: () => {
1961
2042
  if (vm.loading) {
1962
2043
  getData();
@@ -2005,7 +2086,7 @@ ${obj.default ?? ''}</textarea
2005
2086
  };
2006
2087
 
2007
2088
  gvc.addStyle(`
2008
- .tb_v3 {
2089
+ .tb-v3 {
2009
2090
  text-align: left !important;
2010
2091
  padding-right: 0.25rem !important;
2011
2092
  padding-left: 0.25rem !important;
@@ -2017,6 +2098,33 @@ ${obj.default ?? ''}</textarea
2017
2098
  font-size: 24px;
2018
2099
  font-weight: 700;
2019
2100
  }
2101
+ .td-tooltip {
2102
+ position: absolute;
2103
+ top: -30px;
2104
+ left: 50%;
2105
+ transform: translateX(-50%);
2106
+ background-color: #333;
2107
+ color: white;
2108
+ padding: 8px 12px;
2109
+ border-radius: 4px;
2110
+ font-size: 14px;
2111
+ white-space: nowrap;
2112
+ visibility: hidden;
2113
+ opacity: 0;
2114
+ transition:
2115
+ opacity 0.3s,
2116
+ visibility 0.3s;
2117
+ }
2118
+ .td-tooltip::after {
2119
+ content: '';
2120
+ position: absolute;
2121
+ top: 100%;
2122
+ left: 50%;
2123
+ margin-left: -5px;
2124
+ border-width: 5px;
2125
+ border-style: solid;
2126
+ border-color: #333 transparent transparent transparent;
2127
+ }
2020
2128
  `);
2021
2129
 
2022
2130
  return gvc.bindView(() => {
@@ -2071,6 +2179,7 @@ ${obj.default ?? ''}</textarea
2071
2179
  target.style.position = checked ? 'sticky' : 'relative';
2072
2180
  target.style.top = checked ? '0' : '';
2073
2181
  target.style.left = checked ? '0' : '';
2182
+ target.style.zIndex = checked ? '1' : '';
2074
2183
  }
2075
2184
 
2076
2185
  // 初始化勾選框顯示
@@ -2257,7 +2366,7 @@ ${obj.default ?? ''}</textarea
2257
2366
  return vm.tableData[0]
2258
2367
  .map((dd, index: number) => {
2259
2368
  return html` <div
2260
- class="${ids.headerCell} ${ids.textClass} tb_v3 tx_700"
2369
+ class="${ids.headerCell} ${ids.textClass} tb-v3 tx_700"
2261
2370
  style="min-width: ${widthList[index]}px;"
2262
2371
  >
2263
2372
  ${dd.key}
@@ -2304,7 +2413,9 @@ ${obj.default ?? ''}</textarea
2304
2413
  ${vm.tableData
2305
2414
  .map((dd, trIndex: number) => {
2306
2415
  return html` <tr
2307
- class="${trIndex === 0 ? ids.tr : ''}"
2416
+ class="${trIndex === 0 ? ids.tr : ''} ${dd.find(d3 => d3.tooltip)
2417
+ ? 'tr-tooltip-container'
2418
+ : ''}"
2308
2419
  onclick="${gvc.event(() => {
2309
2420
  obj.rowClick && obj.rowClick(dd, trIndex);
2310
2421
  })}"
@@ -2326,13 +2437,21 @@ ${obj.default ?? ''}</textarea
2326
2437
  ${dd.length > 1 && tdIndex === dd.length - 1 ? 'border-radius: 0 10px 10px 0;' : ''}
2327
2438
  ${dd.length === 1 ? 'border-radius: 10px;' : ''}
2328
2439
  `;
2440
+
2329
2441
  return html` <td
2330
- class="${ids.textClass} ${tdClass} tb_v3 tx_normal"
2442
+ class="${ids.textClass} ${tdClass} tb-v3 tx_normal position-relative"
2331
2443
  style="${style}"
2332
2444
  ${obj.filter.length !== 0 && tdIndex === 0 ? `gvc-checkbox="checkbox${trIndex}"` : ''}
2333
2445
  onclick="${d3.stopClick ? gvc.event((_, event) => event.stopPropagation()) : ''}"
2334
2446
  >
2335
- <div class="text-nowrap" style="color: #393939 !important;">${d3.value}</div>
2447
+ <div
2448
+ class="text-nowrap ${d3.tooltip ? 'hover-element' : ''}"
2449
+ style="color: #393939 !important;"
2450
+ ${d3.tooltip ? `data-tooltip="${d3.tooltip}"` : ''}
2451
+ >
2452
+ ${d3.value}
2453
+ </div>
2454
+ ${d3.tooltip ? html`<div class="td-tooltip">${d3.tooltip}</div>` : ''}
2336
2455
  </td>`;
2337
2456
  })
2338
2457
  .join('')}
@@ -2366,7 +2485,6 @@ ${obj.default ?? ''}</textarea
2366
2485
  return '';
2367
2486
  }
2368
2487
  },
2369
- divCreate: {},
2370
2488
  onCreate: () => {
2371
2489
  if (vm.loading) {
2372
2490
  setTimeout(() => obj.getData(vm));
@@ -2401,6 +2519,7 @@ ${obj.default ?? ''}</textarea
2401
2519
  }
2402
2520
 
2403
2521
  created.table = !created.table;
2522
+
2404
2523
  gvc.notifyDataChange(ids.container);
2405
2524
  clearInterval(si);
2406
2525
  }
@@ -2408,6 +2527,35 @@ ${obj.default ?? ''}</textarea
2408
2527
  clearInterval(si);
2409
2528
  }
2410
2529
  }, 50);
2530
+ } else {
2531
+ // 獲取所有工具提示容器
2532
+ const tooltipContainers = document.querySelectorAll('.tr-tooltip-container');
2533
+
2534
+ // 為每個容器添加事件監聽器
2535
+ tooltipContainers.forEach(container => {
2536
+ const hoverElement = container.querySelector('.hover-element');
2537
+ const tooltip = container.querySelector('.td-tooltip') as HTMLElement;
2538
+
2539
+ if (hoverElement && tooltip) {
2540
+ // 從 data-tooltip 屬性取得提示文字
2541
+ const tooltipText = hoverElement.getAttribute('data-tooltip');
2542
+ if (tooltipText) {
2543
+ tooltip.textContent = tooltipText;
2544
+ }
2545
+
2546
+ // 滑鼠移入時顯示工具提示
2547
+ hoverElement.addEventListener('mouseenter', () => {
2548
+ tooltip.style.visibility = 'visible';
2549
+ tooltip.style.opacity = '1';
2550
+ });
2551
+
2552
+ // 滑鼠移出時隱藏工具提示
2553
+ hoverElement.addEventListener('mouseleave', () => {
2554
+ tooltip.style.visibility = 'hidden';
2555
+ tooltip.style.opacity = '0';
2556
+ });
2557
+ }
2558
+ });
2411
2559
  }
2412
2560
  }
2413
2561
  },
@@ -2971,7 +3119,7 @@ ${obj.default ?? ''}</textarea
2971
3119
  >
2972
3120
  <div class="fs-5 mb-0"><strong>${title}</strong></div>
2973
3121
  ${messageList && messageList.length > 0
2974
- ? `<div class="mt-2" style="white-space: normal; word-break: break-all;">${h}</div>`
3122
+ ? html`<div class="mt-2" style="white-space: normal; word-break: break-all;">${h}</div>`
2975
3123
  : ``}
2976
3124
  </div>`;
2977
3125
  }
@@ -3216,7 +3364,6 @@ ${obj.default ?? ''}</textarea
3216
3364
  </div>
3217
3365
  </div>`;
3218
3366
  },
3219
- divCreate: {},
3220
3367
  onCreate: () => {
3221
3368
  if (obj.openOnInit) {
3222
3369
  const si = setInterval(() => {
@@ -4196,7 +4343,7 @@ ${obj.default ?? ''}</textarea
4196
4343
  ${opt.note ? html` <div class="tx_gray_12">${opt.note}</div> ` : ''}
4197
4344
  </div>
4198
4345
  </div>
4199
- <div class="d-flex align-items-center" style="gap: 6px">
4346
+ <div class="d-flex align-items-center justify-content-end" style="gap: 6px; min-width: 115px;">
4200
4347
  <div>庫存量</div>
4201
4348
  <div style="color: #393939; font-size: 24px; font-weight: 600;">${opt.stock}</div>
4202
4349
  </div>
@@ -4316,7 +4463,7 @@ ${obj.default ?? ''}</textarea
4316
4463
 
4317
4464
  newOptions.forEach(option => {
4318
4465
  const optionElement = document.createElement('div');
4319
- optionElement.classList.add('d-flex', 'align-items-center');
4466
+ optionElement.classList.add('d-flex', 'align-items-center', 'justify-content-between');
4320
4467
  optionElement.style.gap = '24px';
4321
4468
  optionElement.innerHTML = printOptionSt(option);
4322
4469
  dialogContainer.appendChild(optionElement);
@@ -4398,7 +4545,6 @@ ${obj.default ?? ''}</textarea
4398
4545
  </div>
4399
4546
  </div>`;
4400
4547
  },
4401
- onCreate: () => {},
4402
4548
  })}
4403
4549
  </div>`;
4404
4550
  },
@@ -5195,7 +5341,6 @@ ${obj.default ?? ''}</textarea
5195
5341
  </div>`;
5196
5342
  }
5197
5343
  },
5198
- divCreate: {},
5199
5344
  onCreate: () => {
5200
5345
  if (imageVM.loading) {
5201
5346
  this.isImageUrlValid(obj.image).then(isValid => {
@@ -5271,7 +5416,6 @@ ${obj.default ?? ''}</textarea
5271
5416
  </div>`;
5272
5417
  },
5273
5418
  divCreate: { class: 'h-100' },
5274
- onCreate: () => {},
5275
5419
  })}
5276
5420
  </div>`;
5277
5421
  }, windowID);
@@ -5408,7 +5552,6 @@ ${obj.default ?? ''}</textarea
5408
5552
  return ``;
5409
5553
  }
5410
5554
  },
5411
- divCreate: {},
5412
5555
  };
5413
5556
  })()
5414
5557
  );