ts-glitter 16.4.9 → 16.5.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.
Files changed (135) hide show
  1. package/krlp2bvd9b.json +1 -0
  2. package/lowcode/Entry.js +1 -1
  3. package/lowcode/Entry.ts +1 -1
  4. package/lowcode/backend-manager/bg-blog.js +1 -0
  5. package/lowcode/backend-manager/bg-blog.ts +1 -0
  6. package/lowcode/backend-manager/bg-product.js +3 -1
  7. package/lowcode/backend-manager/bg-product.ts +3 -1
  8. package/lowcode/backend-manager/bg-widget.js +205 -20
  9. package/lowcode/backend-manager/bg-widget.ts +249 -23
  10. package/lowcode/cms-plugin/filter-options.js +5 -1
  11. package/lowcode/cms-plugin/filter-options.ts +9 -1
  12. package/lowcode/cms-plugin/module/delivery-html.ts +1 -1
  13. package/lowcode/cms-plugin/shipment/global-express.js +64 -0
  14. package/lowcode/cms-plugin/shipment/global-express.ts +76 -0
  15. package/lowcode/cms-plugin/shopping-finance-setting.js +113 -18
  16. package/lowcode/cms-plugin/shopping-finance-setting.ts +115 -19
  17. package/lowcode/cms-plugin/shopping-order-manager.js +34 -12
  18. package/lowcode/cms-plugin/shopping-order-manager.ts +45 -24
  19. package/lowcode/cms-plugin/shopping-product-stock.js +28 -23
  20. package/lowcode/cms-plugin/shopping-product-stock.ts +249 -247
  21. package/lowcode/cms-plugin/shopping-shipment-setting.js +465 -428
  22. package/lowcode/cms-plugin/shopping-shipment-setting.ts +531 -502
  23. package/lowcode/cms-plugin/stock-history.js +1729 -944
  24. package/lowcode/cms-plugin/stock-history.ts +1842 -1022
  25. package/lowcode/css/editor.css +3 -3
  26. package/lowcode/glitter-base/global/language.js +21 -0
  27. package/lowcode/glitter-base/global/language.ts +22 -1
  28. package/lowcode/glitter-base/route/shopping.js +38 -0
  29. package/lowcode/glitter-base/route/shopping.ts +41 -3
  30. package/lowcode/glitter-base/route/stock.js +3 -0
  31. package/lowcode/glitter-base/route/stock.ts +10 -6
  32. package/lowcode/jspage/function-page/setting_editor.js +16 -10
  33. package/lowcode/jspage/function-page/setting_editor.ts +16 -18
  34. package/lowcode/jspage/main.js +27 -20
  35. package/lowcode/jspage/main.ts +35 -20
  36. package/lowcode/modules/country-language/country-en.js +1003 -0
  37. package/lowcode/modules/country-language/country-en.ts +1255 -0
  38. package/lowcode/modules/country-language/country-tw.js +1001 -0
  39. package/lowcode/modules/country-language/country-tw.ts +1003 -0
  40. package/lowcode/modules/country-language/country-zh.js +754 -0
  41. package/lowcode/modules/country-language/country-zh.ts +1253 -0
  42. package/lowcode/modules/tool.js +13 -0
  43. package/lowcode/modules/tool.ts +14 -0
  44. package/lowcode/public-components/checkout/index.js +700 -473
  45. package/lowcode/public-components/checkout/index.ts +2058 -1819
  46. package/lowcode/public-components/product/pd-class.js +1 -1
  47. package/lowcode/public-components/product/pd-class.ts +1 -1
  48. package/lowcode/public-components/user-manager/um-order.js +8 -4
  49. package/lowcode/public-components/user-manager/um-order.ts +8 -4
  50. package/package.json +3 -3
  51. package/src/api-public/controllers/fb-message.js.map +1 -1
  52. package/src/api-public/controllers/fcm.js.map +1 -1
  53. package/src/api-public/controllers/graph-api.js.map +1 -1
  54. package/src/api-public/controllers/index.js.map +1 -1
  55. package/src/api-public/controllers/lambda.js.map +1 -1
  56. package/src/api-public/controllers/line-message.js.map +1 -1
  57. package/src/api-public/controllers/manager.js.map +1 -1
  58. package/src/api-public/controllers/rebate.js.map +1 -1
  59. package/src/api-public/controllers/shop.js +16 -3
  60. package/src/api-public/controllers/shop.js.map +1 -1
  61. package/src/api-public/controllers/shop.ts +20 -10
  62. package/src/api-public/controllers/sql_api.js.map +1 -1
  63. package/src/api-public/controllers/stock.js +1 -0
  64. package/src/api-public/controllers/stock.js.map +1 -1
  65. package/src/api-public/controllers/stock.ts +1 -0
  66. package/src/api-public/services/auto-send-email.js.map +1 -1
  67. package/src/api-public/services/chat.js.map +1 -1
  68. package/src/api-public/services/custom-code.js.map +1 -1
  69. package/src/api-public/services/financial-service.d.ts +1 -0
  70. package/src/api-public/services/language-setting.js.map +1 -1
  71. package/src/api-public/services/manager.js.map +1 -1
  72. package/src/api-public/services/notify.js.map +1 -1
  73. package/src/api-public/services/public-table-check.js +2 -1
  74. package/src/api-public/services/public-table-check.js.map +1 -1
  75. package/src/api-public/services/public-table-check.ts +2 -1
  76. package/src/api-public/services/rebate.js.map +1 -1
  77. package/src/api-public/services/share-permission.js.map +1 -1
  78. package/src/api-public/services/shopping.d.ts +2 -1
  79. package/src/api-public/services/shopping.js +104 -48
  80. package/src/api-public/services/shopping.js.map +1 -1
  81. package/src/api-public/services/shopping.ts +349 -290
  82. package/src/api-public/services/stock.d.ts +16 -5
  83. package/src/api-public/services/stock.js +180 -49
  84. package/src/api-public/services/stock.js.map +1 -1
  85. package/src/api-public/services/stock.ts +222 -71
  86. package/src/api-public/services/user.js +9 -0
  87. package/src/api-public/services/user.js.map +1 -1
  88. package/src/api-public/services/user.ts +9 -0
  89. package/src/api-public/services/workers.js.map +1 -1
  90. package/src/api-public/utils/ut-permission.d.ts +1 -0
  91. package/src/api-public/utils/ut-permission.js.map +5 -1
  92. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  93. package/src/config.d.ts +1 -1
  94. package/src/config.js.map +1 -1
  95. package/src/controllers/app.js.map +1 -1
  96. package/src/controllers/backend-server.js.map +1 -1
  97. package/src/controllers/filemanager.js.map +1 -1
  98. package/src/controllers/index.js.map +1 -1
  99. package/src/controllers/template.js.map +1 -1
  100. package/src/controllers/user.js.map +1 -1
  101. package/src/domain-check.js.map +1 -1
  102. package/src/helper/glitter-util.js.map +1 -1
  103. package/src/helper/glitter-util.ts +0 -1
  104. package/src/modules/AWSLib.js +3 -2
  105. package/src/modules/AWSLib.js.map +1 -1
  106. package/src/modules/database.d.ts +2 -1
  107. package/src/modules/database.js.map +1 -1
  108. package/src/modules/firebase.js.map +1 -1
  109. package/src/modules/logger.js.map +1 -1
  110. package/src/modules/redis.d.ts +1 -1
  111. package/src/modules/redis.js.map +1 -1
  112. package/src/modules/ssh.js.map +1 -1
  113. package/src/modules/tool.d.ts +4 -1
  114. package/src/modules/tool.js +11 -10
  115. package/src/modules/tool.js.map +1 -1
  116. package/src/modules/tool.ts +13 -10
  117. package/src/run.js +2 -1
  118. package/src/run.js.map +1 -1
  119. package/src/services/app.js.map +1 -1
  120. package/src/services/backend-service.js.map +1 -1
  121. package/src/services/create-instance.js +4 -3
  122. package/src/services/create-instance.js.map +1 -1
  123. package/src/services/global-event.js.map +1 -1
  124. package/src/services/page.js.map +1 -1
  125. package/src/services/private_config.js.map +1 -1
  126. package/src/services/release.js.map +1 -1
  127. package/src/services/saas-table-check.js +2 -2
  128. package/src/services/saas-table-check.js.map +1 -1
  129. package/src/services/seo.js.map +1 -1
  130. package/src/services/template.js.map +1 -1
  131. package/src/services/tool.js +3 -2
  132. package/src/services/tool.js.map +1 -1
  133. package/src/services/user.js.map +1 -1
  134. package/src/services/web-socket.js.map +1 -1
  135. package/tfm1xgwnm4.json +1 -0
@@ -0,0 +1 @@
1
+ {"question":[{"ask":"商店營業時間","response":"每天早上6:00到晚上9:30"},{"ask":"配送時間","response":"預計3-6個工作天"},{"ask":"查詢我的訂單狀態","response":"orders-search"},{"ask":"查詢我的訂單配送狀態","response":"orders-search"},{"ask":"查詢我的訂單付款狀態","response":"orders-search"},{"ask":"訂單號碼##########的配送狀態","response":"orders-search"},{"ask":"訂單號碼##########的付款狀態","response":"orders-search"},{"ask":"訂單號碼##########的狀態","response":"orders-search"}]}
package/lowcode/Entry.js CHANGED
@@ -79,7 +79,7 @@ export class Entry {
79
79
  }
80
80
  window.renderClock = (_a = window.renderClock) !== null && _a !== void 0 ? _a : clockF();
81
81
  console.log(`Entry-time:`, window.renderClock.stop());
82
- glitter.share.editerVersion = 'V_16.4.9';
82
+ glitter.share.editerVersion = 'V_16.5.1';
83
83
  glitter.share.start = new Date();
84
84
  const vm = {
85
85
  appConfig: [],
package/lowcode/Entry.ts CHANGED
@@ -78,7 +78,7 @@ export class Entry {
78
78
  }
79
79
  (window as any).renderClock = (window as any).renderClock ?? clockF();
80
80
  console.log(`Entry-time:`, (window as any).renderClock.stop());
81
- glitter.share.editerVersion = 'V_16.4.9';
81
+ glitter.share.editerVersion = 'V_16.5.1';
82
82
  glitter.share.start = new Date();
83
83
  const vm: {
84
84
  appConfig: any;
@@ -687,6 +687,7 @@ function detail(gvc, cf, vm, cVm, page_tab) {
687
687
  }, 400);
688
688
  function checkSwitchToUiEditor() {
689
689
  function next() {
690
+ localStorage.setItem('preview_data', JSON.stringify(vm.data.content));
690
691
  window.parent.glitter.setUrlParameter('page-id', vm.data.id);
691
692
  window.parent.glitter.setUrlParameter('language', language);
692
693
  window.parent.glitter.share.switch_to_web_builder(`${domainPrefix}/${vm.data.content.tag}`);
@@ -752,6 +752,7 @@ function detail(gvc: GVC, cf: any, vm: any, cVm: any, page_tab: 'page' | 'hidden
752
752
  },400)
753
753
  function checkSwitchToUiEditor(){
754
754
  function next(){
755
+ localStorage.setItem('preview_data', JSON.stringify(vm.data.content));
755
756
  (window.parent as any).glitter.setUrlParameter('page-id', vm.data.id);
756
757
  (window.parent as any).glitter.setUrlParameter('language', language);
757
758
  (window.parent as any).glitter.share.switch_to_web_builder(`${domainPrefix}/${vm.data.content.tag}`);
@@ -230,7 +230,9 @@ export class BgProduct {
230
230
  view: () => {
231
231
  var _a;
232
232
  if (vm.loading) {
233
- return BgWidget.spinner();
233
+ return BgWidget.spinner({
234
+ container: { style: 'margin: 3rem 0;' },
235
+ });
234
236
  }
235
237
  return html ` <div class="bg-white shadow rounded-3" style="width: 100%; overflow-y: auto;">
236
238
  <div class="w-100 d-flex align-items-center p-3 border-bottom">
@@ -306,7 +306,9 @@ export class BgProduct {
306
306
  bind: vm.id,
307
307
  view: () => {
308
308
  if (vm.loading) {
309
- return BgWidget.spinner();
309
+ return BgWidget.spinner({
310
+ container: { style: 'margin: 3rem 0;' },
311
+ });
310
312
  }
311
313
  return html` <div class="bg-white shadow rounded-3" style="width: 100%; overflow-y: auto;">
312
314
  <div class="w-100 d-flex align-items-center p-3 border-bottom">
@@ -13,6 +13,7 @@ import { Tool } from '../modules/tool.js';
13
13
  import { ApiShop } from '../glitter-base/route/shopping.js';
14
14
  import { Article } from '../glitter-base/route/article.js';
15
15
  import { ApiUser } from '../glitter-base/route/user.js';
16
+ import { ApiStock } from '../glitter-base/route/stock.js';
16
17
  import { FormModule } from '../cms-plugin/module/form-module.js';
17
18
  import { ShareDialog } from '../glitterBundle/dialog/ShareDialog.js';
18
19
  import { FormCheck } from '../cms-plugin/module/form-check.js';
@@ -2770,30 +2771,47 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
2770
2771
  query: '',
2771
2772
  orderString: '',
2772
2773
  };
2773
- function printOption(opt) {
2774
+ function printOptionVa(opt) {
2774
2775
  var _a;
2776
+ const id = Tool.randomString(7);
2775
2777
  opt.key = `${opt.key}`;
2776
2778
  function call() {
2779
+ console.log(1);
2777
2780
  if (obj.default.includes(opt.key)) {
2778
2781
  obj.default = obj.default.filter((item) => item !== opt.key);
2779
2782
  }
2780
2783
  else {
2781
2784
  obj.default.push(opt.key);
2782
2785
  }
2786
+ obj.gvc.notifyDataChange(id);
2783
2787
  }
2784
- return html `<input
2785
- class="form-check-input mt-0 ${vm.checkClass}"
2786
- type="checkbox"
2787
- id="${opt.key}"
2788
- name="radio_${vm.id}"
2789
- onclick="${obj.gvc.event(() => call())}"
2790
- ${obj.default.includes(opt.key) ? 'checked' : ''}
2791
- />
2788
+ return html ` ${obj.gvc.bindView({
2789
+ bind: id,
2790
+ view: () => {
2791
+ return html `<input
2792
+ class="form-check-input mt-0 ${vm.checkClass}"
2793
+ type="checkbox"
2794
+ id="${opt.key}"
2795
+ name="radio_${vm.id}"
2796
+ onclick="${obj.gvc.event(() => call())}"
2797
+ ${obj.default.includes(opt.key) ? 'checked' : ''}
2798
+ />`;
2799
+ },
2800
+ divCreate: {
2801
+ class: 'd-flex align-items-center justify-content-center',
2802
+ },
2803
+ })}
2792
2804
  ${BgWidget.validImageBox({
2793
2805
  gvc,
2794
2806
  image: (_a = opt.image) !== null && _a !== void 0 ? _a : '',
2795
2807
  width: 40,
2796
2808
  height: 40,
2809
+ events: [
2810
+ {
2811
+ key: 'onclick',
2812
+ value: obj.gvc.event(() => call()),
2813
+ },
2814
+ ],
2797
2815
  })}
2798
2816
  <div class="form-check-label c_updown_label cursor_pointer" onclick="${obj.gvc.event(() => call())}">
2799
2817
  <div class="tx_normal ${opt.note ? 'mb-1' : ''}">${opt.value}</div>
@@ -2824,7 +2842,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
2824
2842
  <div class="c_dialog_body">
2825
2843
  <div class="c_dialog_main" style="gap: 24px; max-height: 500px;">
2826
2844
  ${gvc.map(vm.options.slice(0, 9).map((opt) => {
2827
- return html ` <div class="d-flex align-items-center" style="gap: 24px">${printOption(opt)}</div>`;
2845
+ return html ` <div class="d-flex align-items-center" style="gap: 24px">${printOptionVa(opt)}</div>`;
2828
2846
  }))}
2829
2847
  </div>
2830
2848
  <div class="c_dialog_bar">
@@ -2892,7 +2910,170 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
2892
2910
  const optionElement = document.createElement('div');
2893
2911
  optionElement.classList.add('d-flex', 'align-items-center');
2894
2912
  optionElement.style.gap = '24px';
2895
- optionElement.innerHTML = printOption(option);
2913
+ optionElement.innerHTML = printOptionVa(option);
2914
+ dialogContainer.appendChild(optionElement);
2915
+ });
2916
+ }
2917
+ }
2918
+ }
2919
+ });
2920
+ }
2921
+ }
2922
+ },
2923
+ })}
2924
+ </div>`;
2925
+ }, 'productsDialog');
2926
+ }
2927
+ static storeStockDialog(obj) {
2928
+ const origin = JSON.parse(JSON.stringify(obj.default));
2929
+ return obj.gvc.glitter.innerDialog((gvc) => {
2930
+ const vm = {
2931
+ id: obj.gvc.glitter.getUUID(),
2932
+ optionsId: obj.gvc.glitter.getUUID(),
2933
+ loading: true,
2934
+ checkClass: BgWidget.getCheckedClass(gvc),
2935
+ options: [],
2936
+ query: '',
2937
+ orderString: '',
2938
+ };
2939
+ function printOptionSt(opt) {
2940
+ var _a;
2941
+ const id = Tool.randomString(7);
2942
+ opt.key = `${opt.key}`;
2943
+ function call() {
2944
+ console.log(2);
2945
+ if (obj.default.includes(opt.key)) {
2946
+ obj.default = obj.default.filter((item) => item !== opt.key);
2947
+ }
2948
+ else {
2949
+ obj.default.push(opt.key);
2950
+ }
2951
+ obj.gvc.notifyDataChange(id);
2952
+ }
2953
+ return html `
2954
+ <div class="d-flex align-items-center" style="gap: 24px" onclick="${obj.gvc.event(() => call())}">
2955
+ ${obj.gvc.bindView({
2956
+ bind: id,
2957
+ view: () => {
2958
+ return html `<input
2959
+ class="form-check-input mt-0 ${vm.checkClass}"
2960
+ type="checkbox"
2961
+ id="${opt.key}"
2962
+ name="radio_${vm.id}"
2963
+ ${obj.default.includes(opt.key) ? 'checked' : ''}
2964
+ />`;
2965
+ },
2966
+ divCreate: {
2967
+ class: 'd-flex align-items-center justify-content-between',
2968
+ },
2969
+ })}
2970
+ ${BgWidget.validImageBox({
2971
+ gvc,
2972
+ image: (_a = opt.image) !== null && _a !== void 0 ? _a : '',
2973
+ width: 40,
2974
+ height: 40,
2975
+ })}
2976
+ <div class="form-check-label c_updown_label cursor_pointer">
2977
+ <div class="tx_normal ${opt.note ? 'mb-1' : ''}">${opt.value}</div>
2978
+ ${opt.note ? html ` <div class="tx_gray_12">${opt.note}</div> ` : ''}
2979
+ </div>
2980
+ </div>
2981
+ <div class="d-flex align-items-center" style="gap: 6px">
2982
+ <div>庫存量</div>
2983
+ <div style="color: #393939; font-size: 24px; font-weight: 600;">${opt.stock}</div>
2984
+ </div>
2985
+ `;
2986
+ }
2987
+ return html ` <div class="bg-white shadow rounded-3" style="overflow-y: auto;${document.body.clientWidth > 768 ? 'min-width: 400px; width: 600px;' : 'min-width: 90vw; max-width: 92.5vw;'}">
2988
+ ${obj.gvc.bindView({
2989
+ bind: vm.id,
2990
+ view: () => {
2991
+ var _a;
2992
+ if (vm.loading) {
2993
+ return html ` <div class="my-4">${this.spinner()}</div>`;
2994
+ }
2995
+ return html ` <div class="bg-white shadow rounded-3" style="width: 100%; overflow-y: auto;">
2996
+ <div class="w-100 d-flex align-items-center p-3 border-bottom">
2997
+ <div class="tx_700">${(_a = obj.title) !== null && _a !== void 0 ? _a : '產品列表'}</div>
2998
+ <div class="flex-fill"></div>
2999
+ <i
3000
+ class="fa-regular fa-circle-xmark fs-5 text-dark cursor_pointer"
3001
+ onclick="${gvc.event(() => {
3002
+ obj.callback(origin, 0);
3003
+ gvc.closeDialog();
3004
+ })}"
3005
+ ></i>
3006
+ </div>
3007
+ <div class="c_dialog">
3008
+ <div class="c_dialog_body">
3009
+ <div class="c_dialog_main" style="gap: 24px; max-height: 500px;">
3010
+ ${gvc.map(vm.options.slice(0, 9).map((opt) => {
3011
+ return html ` <div class="d-flex justify-content-between">${printOptionSt(opt)}</div>`;
3012
+ }))}
3013
+ </div>
3014
+ <div class="c_dialog_bar">
3015
+ ${BgWidget.cancel(obj.gvc.event(() => {
3016
+ obj.callback([], -1);
3017
+ gvc.closeDialog();
3018
+ }), '清除全部')}
3019
+ ${BgWidget.cancel(obj.gvc.event(() => {
3020
+ obj.callback(origin, 0);
3021
+ gvc.closeDialog();
3022
+ }))}
3023
+ ${BgWidget.save(obj.gvc.event(() => {
3024
+ obj.callback(obj.default.filter((item) => {
3025
+ return vm.options.find((opt) => `${opt.key}` === item);
3026
+ }), 1);
3027
+ gvc.closeDialog();
3028
+ }), '確認')}
3029
+ </div>
3030
+ </div>
3031
+ </div>
3032
+ </div>`;
3033
+ },
3034
+ onCreate: () => {
3035
+ if (vm.loading) {
3036
+ ApiStock.getStoreProductList({
3037
+ page: 0,
3038
+ limit: 99999,
3039
+ search: obj.store_id,
3040
+ }).then((r) => {
3041
+ vm.options = r.response.data.map((v) => {
3042
+ var _a;
3043
+ return {
3044
+ key: v.id,
3045
+ value: v.product_content.title,
3046
+ image: (_a = v.content.preview_image) !== null && _a !== void 0 ? _a : BgWidget.noImageURL,
3047
+ note: v.content.spec ? v.content.spec.join('/') : '單一規格',
3048
+ stock: v.content.stockList[obj.store_id].count,
3049
+ };
3050
+ });
3051
+ vm.loading = false;
3052
+ obj.gvc.notifyDataChange(vm.id);
3053
+ });
3054
+ }
3055
+ else {
3056
+ let lastScrollTop = 0;
3057
+ let loadBatch = 1;
3058
+ const itemsPerBatch = 4;
3059
+ const itemHeight = 140;
3060
+ const dialogContainer = document.querySelector('.c_dialog_main');
3061
+ if (dialogContainer) {
3062
+ dialogContainer.addEventListener('scroll', () => {
3063
+ const currentScrollTop = dialogContainer.scrollTop;
3064
+ if (currentScrollTop > lastScrollTop) {
3065
+ lastScrollTop = currentScrollTop;
3066
+ if (currentScrollTop > loadBatch * itemHeight) {
3067
+ loadBatch++;
3068
+ const startIdx = loadBatch * itemsPerBatch;
3069
+ const endIdx = Math.min((loadBatch + 1) * itemsPerBatch, vm.options.length);
3070
+ if (startIdx < vm.options.length) {
3071
+ const newOptions = vm.options.slice(startIdx, endIdx);
3072
+ newOptions.forEach((option) => {
3073
+ const optionElement = document.createElement('div');
3074
+ optionElement.classList.add('d-flex', 'align-items-center');
3075
+ optionElement.style.gap = '24px';
3076
+ optionElement.innerHTML = printOptionSt(option);
2896
3077
  dialogContainer.appendChild(optionElement);
2897
3078
  });
2898
3079
  }
@@ -2922,7 +3103,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
2922
3103
  };
2923
3104
  return html ` <div
2924
3105
  class="bg-white shadow rounded-3"
2925
- style="overflow-y: auto; ${document.body.clientWidth > 768 ? `min-width: 400px; width: ${(_a = obj.width) !== null && _a !== void 0 ? _a : 600}px;` : 'min-width: 90vw; max-width: 92.5vw;'}"
3106
+ style="overflow-y: auto; ${document.body.clientWidth > 768 ? `min-width: 400px; width: ${(_a = obj.width) !== null && _a !== void 0 ? _a : 600}px;max-width:calc(100vw - 20px);` : 'min-width: calc(100vw - 10px);; max-width: calc(100vw - 10px);'}"
2926
3107
  >
2927
3108
  ${gvc.bindView({
2928
3109
  bind: vm.id,
@@ -2948,7 +3129,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
2948
3129
  </div>
2949
3130
  <div class="c_dialog">
2950
3131
  <div class="c_dialog_body">
2951
- <div class="c_dialog_main" style="gap: 24px; height: ${obj.height ? `${obj.height}px` : 'auto'}; max-height: 500px;">${(_c = obj.innerHTML(gvc)) !== null && _c !== void 0 ? _c : ''}</div>
3132
+ <div class="c_dialog_main" style="${obj.d_main_style || ''};gap: 24px; ${obj.height ? `height:${obj.height}px;max-height: 100vh;` : `height:auto;max-height: 500px;`} ">${(_c = obj.innerHTML(gvc)) !== null && _c !== void 0 ? _c : ''}</div>
2952
3133
  ${footer ? `<div class="c_dialog_bar">${footer}</div>` : ``}
2953
3134
  </div>
2954
3135
  </div>
@@ -3238,7 +3419,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
3238
3419
  }
3239
3420
  return html ` <div class="bg-white shadow rounded-3" style="width: 100%; max-height: 100%; overflow-y: auto; position: relative;">
3240
3421
  <div class="w-100 d-flex align-items-center p-3 border-bottom" style="position: sticky; top: 0; z-index: 2; background: #fff;">
3241
- <div class="tx_700">${typeof obj.title === 'function' ? obj.title(gvc) : (_b = obj.title) !== null && _b !== void 0 ? _b : '產品列表'}</div>
3422
+ <div class="tx_700">${typeof obj.title === 'function' ? obj.title(gvc) : ((_b = obj.title) !== null && _b !== void 0 ? _b : '產品列表')}</div>
3242
3423
  <div class="flex-fill"></div>
3243
3424
  <i
3244
3425
  class="fa-regular fa-circle-xmark fs-5 text-dark cursor_pointer"
@@ -3381,6 +3562,15 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
3381
3562
  });
3382
3563
  }
3383
3564
  else {
3565
+ const option = [
3566
+ {
3567
+ key: 'src',
3568
+ value: imageVM.url,
3569
+ },
3570
+ ];
3571
+ if (obj.events) {
3572
+ option.push(...obj.events);
3573
+ }
3384
3574
  return obj.gvc.bindView(() => {
3385
3575
  var _a, _b;
3386
3576
  return {
@@ -3392,12 +3582,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
3392
3582
  elem: 'img',
3393
3583
  style: `${wh}${(_a = obj.style) !== null && _a !== void 0 ? _a : ''}`,
3394
3584
  class: (_b = obj.class) !== null && _b !== void 0 ? _b : '',
3395
- option: [
3396
- {
3397
- key: 'src',
3398
- value: imageVM.url,
3399
- },
3400
- ],
3585
+ option,
3401
3586
  },
3402
3587
  };
3403
3588
  });