ts-glitter 21.4.0 → 21.4.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 (97) hide show
  1. package/lowcode/Entry.js +18 -1
  2. package/lowcode/Entry.ts +19 -1
  3. package/lowcode/api/pageConfig.js +29 -10
  4. package/lowcode/api/pageConfig.ts +43 -11
  5. package/lowcode/backend-manager/bg-blog.js +5 -0
  6. package/lowcode/backend-manager/bg-blog.ts +5 -0
  7. package/lowcode/cms-plugin/menus-setting.js +15 -6
  8. package/lowcode/cms-plugin/menus-setting.ts +23 -6
  9. package/lowcode/cms-plugin/module/user-excel.js +11 -5
  10. package/lowcode/cms-plugin/module/user-excel.ts +11 -5
  11. package/lowcode/cms-plugin/shopping-discount-setting.js +236 -234
  12. package/lowcode/cms-plugin/shopping-discount-setting.ts +137 -134
  13. package/lowcode/cms-plugin/third-party-line.js +34 -0
  14. package/lowcode/cms-plugin/third-party-line.ts +34 -0
  15. package/lowcode/editor-components/global-editor.js +60 -0
  16. package/lowcode/editor-components/global-editor.ts +65 -0
  17. package/lowcode/editor-components/global-widget/bridge.js +40 -34
  18. package/lowcode/editor-components/global-widget/bridge.ts +42 -34
  19. package/lowcode/glitterBundle/html-component/global-widget.js +265 -170
  20. package/lowcode/glitterBundle/html-component/global-widget.ts +264 -159
  21. package/lowcode/index.html +1 -1
  22. package/lowcode/jspage/function-page/tool-setting.js +9 -1
  23. package/lowcode/jspage/function-page/tool-setting.ts +9 -1
  24. package/lowcode/jspage/main.js +78 -16
  25. package/lowcode/jspage/main.ts +108 -22
  26. package/lowcode/official_view_component/official/component.js +17 -10
  27. package/lowcode/official_view_component/official/component.ts +38 -27
  28. package/lowcode/public-components/blogs/blogs-01.js +200 -140
  29. package/lowcode/public-components/blogs/blogs-01.ts +232 -145
  30. package/lowcode/public-components/checkout/index.js +1 -1
  31. package/lowcode/public-components/checkout/index.ts +1 -1
  32. package/lowcode/public-components/headers/head-initial.ts +1 -1
  33. package/lowcode/public-components/headers/sy-02.js +1 -0
  34. package/lowcode/public-components/headers/sy-02.ts +1 -0
  35. package/lowcode/public-components/headers/sy-03.js +1 -0
  36. package/lowcode/public-components/headers/sy-03.ts +1 -0
  37. package/lowcode/public-components/headers/sy-04.js +1 -0
  38. package/lowcode/public-components/headers/sy-04.ts +1 -0
  39. package/lowcode/public-components/headers/sy-05.js +1 -0
  40. package/lowcode/public-components/headers/sy-05.ts +1 -0
  41. package/lowcode/public-components/product/product-detail.js +2 -2
  42. package/lowcode/public-components/product/product-detail.ts +4 -4
  43. package/lowcode/public-components/terms-related/index.ts +1 -0
  44. package/lowcode/public-components/user-manager/um-login.js +7 -1
  45. package/lowcode/public-components/user-manager/um-login.ts +8 -1
  46. package/package.json +1 -1
  47. package/src/api-public/models/glitter-finance.js +1 -2
  48. package/src/api-public/models/glitter-finance.js.map +1 -1
  49. package/src/api-public/services/checkout-event.js +1 -0
  50. package/src/api-public/services/checkout-event.js.map +1 -1
  51. package/src/api-public/services/checkout-event.ts +1 -0
  52. package/src/api-public/services/ezpay/tool.d.ts +0 -1
  53. package/src/api-public/services/user.js +7 -3
  54. package/src/api-public/services/user.js.map +1 -1
  55. package/src/api-public/services/user.ts +6 -3
  56. package/src/app-project/serverless/src/modules/database.d.ts +1 -1
  57. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  58. package/src/controllers/template.js +2 -2
  59. package/src/controllers/template.js.map +1 -1
  60. package/src/controllers/template.ts +5 -2
  61. package/src/firebase/message.js +1 -2
  62. package/src/firebase/message.js.map +1 -1
  63. package/src/helper/app_creater.js +1 -2
  64. package/src/helper/app_creater.js.map +1 -1
  65. package/src/helper/glitter-util.d.ts +0 -1
  66. package/src/index.js +1 -1
  67. package/src/index.js.map +1 -1
  68. package/src/index.ts +1 -1
  69. package/src/lambda/interface.js +2 -2
  70. package/src/lambda/interface.js.map +1 -1
  71. package/src/modules/database.d.ts +1 -1
  72. package/src/run.js +1 -2
  73. package/src/run.js.map +1 -1
  74. package/src/seo-config.d.ts +1 -1
  75. package/src/seo-config.js +13 -12
  76. package/src/seo-config.js.map +1 -1
  77. package/src/seo-config.ts +18 -12
  78. package/src/services/app.d.ts +2 -1
  79. package/src/services/app.js +4 -2
  80. package/src/services/app.js.map +1 -1
  81. package/src/services/app.ts +5 -2
  82. package/src/services/backend-service.js +7 -17
  83. package/src/services/backend-service.js.map +1 -1
  84. package/src/services/saas-table-check.js +2 -2
  85. package/src/services/saas-table-check.js.map +1 -1
  86. package/src/services/seo.d.ts +2 -1
  87. package/src/services/seo.js +7 -4
  88. package/src/services/seo.js.map +1 -1
  89. package/src/services/seo.ts +7 -4
  90. package/src/services/ses.js +1 -2
  91. package/src/services/ses.js.map +1 -1
  92. package/src/services/template.d.ts +3 -1
  93. package/src/services/template.js +55 -34
  94. package/src/services/template.js.map +1 -1
  95. package/src/services/template.ts +68 -35
  96. package/nxv0ptv53w.json +0 -1
  97. package/omr85cp878.json +0 -1
@@ -236,6 +236,66 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
236
236
  content.language_data[glitter.getUrlParameter('language')].config) {
237
237
  content.config = content.language_data[glitter.getUrlParameter('language')].config;
238
238
  }
239
+ ;
240
+ if (!content.config.find((dd) => {
241
+ return dd.data.tag === 'c_header';
242
+ })) {
243
+ glitter.share.header_refer = 'def';
244
+ content.config = [
245
+ {
246
+ "id": "sbscs0ses1sfs1sa",
247
+ "js": "./official_view_component/official.js",
248
+ "css": { "class": {}, "style": {} },
249
+ "data": {
250
+ "tag": "c_header",
251
+ "_gap": "",
252
+ "attr": [],
253
+ "elem": "div",
254
+ "list": [],
255
+ "inner": "",
256
+ "_other": {},
257
+ "_border": {},
258
+ "_margin": {},
259
+ "_radius": "",
260
+ "_padding": {},
261
+ "_reverse": "false",
262
+ "carryData": {},
263
+ "_max_width": "",
264
+ "_background": "",
265
+ "_style_refer": "global",
266
+ "_hor_position": "center",
267
+ "refer_form_data": {},
268
+ "_background_setting": { "type": "none" }
269
+ },
270
+ "list": [],
271
+ "type": "component",
272
+ "class": "",
273
+ "index": 0,
274
+ "label": "標頭",
275
+ "style": "",
276
+ "global": [],
277
+ "mobile": { "data": {}, "refer": "custom" },
278
+ "toggle": true,
279
+ "desktop": { "data": {}, "refer": "custom" },
280
+ "stylist": [],
281
+ "version": "v2",
282
+ "visible": true,
283
+ "dataType": "static",
284
+ "deletable": "false",
285
+ "style_from": "code",
286
+ "classDataType": "static",
287
+ "editor_bridge": {},
288
+ "preloadEvenet": {},
289
+ "container_fonts": 0,
290
+ "mobile_editable": [],
291
+ "desktop_editable": [],
292
+ "refreshAllParameter": {},
293
+ "refreshComponentParameter": {},
294
+ "formData": {}
295
+ }
296
+ ].concat(content.config);
297
+ }
298
+ glitter.share.header_refer = 'custom';
239
299
  d2.response.result[0].config = content.config;
240
300
  resolve(d2.response.result[0]);
241
301
  }));
@@ -460,7 +520,10 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
460
520
  config: content.config,
461
521
  },
462
522
  };
463
- content.language_data[glitter.getUrlParameter('language')].config = config;
523
+ content.language_data[glitter.getUrlParameter('language')].config = config.filter((dd) => {
524
+ return !dd.is_customer_header;
525
+ });
526
+ console.log(`config-save==>`, config);
464
527
  Article.put(data.response.data[0]).then(response => {
465
528
  resolve(response && response.result);
466
529
  });
@@ -503,6 +566,15 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
503
566
  return;
504
567
  }
505
568
  }
569
+ ;
570
+ if (glitter.share.is_blog_editor() && glitter.share.header_refer === 'def') {
571
+ yield ApiUser.setPublicConfig({
572
+ key: 'c_header_' + window.parent.glitter.getUrlParameter('page'),
573
+ value: null,
574
+ user_id: 'manager',
575
+ });
576
+ location.reload();
577
+ }
506
578
  dialog.dataLoading({ visible: false });
507
579
  dialog.successMessage({ text: '儲存成功' });
508
580
  if (refresh) {
@@ -912,21 +984,11 @@ function initialEditor(gvc, viewModel) {
912
984
  };
913
985
  glitter.share.switch_to_web_builder = (page, device) => {
914
986
  glitter.closeDrawer();
915
- glitter.changePage('jspage/main.js', page, true, {
916
- appName: window.parent.glitter.getUrlParameter('appName'),
917
- }, {
918
- backGroundColor: `transparent;`,
919
- carry_search: [
920
- {
921
- key: 'device',
922
- value: device,
923
- },
924
- {
925
- key: 'function',
926
- value: 'user-editor',
927
- },
928
- ],
929
- });
987
+ glitter.setUrlParameter('device', device);
988
+ glitter.setUrlParameter('page', page);
989
+ glitter.setUrlParameter('function', 'user-editor');
990
+ glitter.setUrlParameter('appName', window.parent.glitter.getUrlParameter('appName'));
991
+ location.reload();
930
992
  };
931
993
  glitter.share.subscription = (title) => __awaiter(this, void 0, void 0, function* () {
932
994
  const dialog = new ShareDialog(glitter);
@@ -265,7 +265,66 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
265
265
  content.language_data[glitter.getUrlParameter('language')].config
266
266
  ) {
267
267
  content.config = content.language_data[glitter.getUrlParameter('language')].config;
268
+ };
269
+ if(!content.config.find((dd:any)=>{
270
+ return dd.data.tag==='c_header'
271
+ })){
272
+ glitter.share.header_refer='def'
273
+ content.config=[
274
+ {
275
+ "id": "sbscs0ses1sfs1sa",
276
+ "js": "./official_view_component/official.js",
277
+ "css": {"class": {}, "style": {}},
278
+ "data": {
279
+ "tag": "c_header",
280
+ "_gap": "",
281
+ "attr": [],
282
+ "elem": "div",
283
+ "list": [],
284
+ "inner": "",
285
+ "_other": {},
286
+ "_border": {},
287
+ "_margin": {},
288
+ "_radius": "",
289
+ "_padding": {},
290
+ "_reverse": "false",
291
+ "carryData": {},
292
+ "_max_width": "",
293
+ "_background": "",
294
+ "_style_refer": "global",
295
+ "_hor_position": "center",
296
+ "refer_form_data": {},
297
+ "_background_setting": {"type": "none"}
298
+ },
299
+ "list": [],
300
+ "type": "component",
301
+ "class": "",
302
+ "index": 0,
303
+ "label": "標頭",
304
+ "style": "",
305
+ "global": [],
306
+ "mobile": {"data": {}, "refer": "custom"},
307
+ "toggle": true,
308
+ "desktop": {"data": {}, "refer": "custom"},
309
+ "stylist": [],
310
+ "version": "v2",
311
+ "visible": true,
312
+ "dataType": "static",
313
+ "deletable": "false",
314
+ "style_from": "code",
315
+ "classDataType": "static",
316
+ "editor_bridge": {},
317
+ "preloadEvenet": {},
318
+ "container_fonts": 0,
319
+ "mobile_editable": [],
320
+ "desktop_editable": [],
321
+ "refreshAllParameter": {},
322
+ "refreshComponentParameter": {},
323
+ "formData": {}
324
+ }
325
+ ].concat(content.config);
268
326
  }
327
+ glitter.share.header_refer='custom'
269
328
  d2.response.result[0].config = content.config;
270
329
  resolve(d2.response.result[0]);
271
330
  });
@@ -515,12 +574,26 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
515
574
  config: content.config,
516
575
  },
517
576
  };
518
- content.language_data[glitter.getUrlParameter('language')].config = config;
577
+ content.language_data[glitter.getUrlParameter('language')].config = config.filter((dd:any)=>{
578
+ return !dd.is_customer_header;
579
+ });
580
+
581
+ console.log(`config-save==>`,config)
582
+ //is_customer_header
583
+ // await ApiUser.setPublicConfig({
584
+ // key: 'c_header_'+(window.parent as any).glitter.getUrlParameter('page'),
585
+ // value: [ config.find((dd:any)=>{
586
+ // return dd.is_customer_header;
587
+ // })],
588
+ // user_id: 'manager',
589
+ // });
590
+
519
591
  Article.put(data.response.data[0]).then(response => {
520
592
  resolve(response && response.result);
521
593
  });
522
594
  });
523
595
  } else {
596
+
524
597
  ApiPageConfig.setPage({
525
598
  id: (viewModel.data! as any).id,
526
599
  appName: gBundle.appName,
@@ -556,6 +629,14 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
556
629
  dialog.errorMessage({ text: '伺服器錯誤' });
557
630
  return;
558
631
  }
632
+ };
633
+ if(glitter.share.is_blog_editor() && glitter.share.header_refer==='def'){
634
+ await ApiUser.setPublicConfig({
635
+ key: 'c_header_'+(window.parent as any).glitter.getUrlParameter('page'),
636
+ value: null,
637
+ user_id: 'manager',
638
+ });
639
+ location.reload()
559
640
  }
560
641
  dialog.dataLoading({ visible: false });
561
642
  dialog.successMessage({ text: '儲存成功' });
@@ -1011,27 +1092,32 @@ function initialEditor(gvc: GVC, viewModel: any) {
1011
1092
  //跳轉至編輯器頁面功能
1012
1093
  glitter.share.switch_to_web_builder = (page: string, device: string) => {
1013
1094
  glitter.closeDrawer();
1014
- glitter.changePage(
1015
- 'jspage/main.js',
1016
- page,
1017
- true,
1018
- {
1019
- appName: (window.parent as any).glitter.getUrlParameter('appName'),
1020
- },
1021
- {
1022
- backGroundColor: `transparent;`,
1023
- carry_search: [
1024
- {
1025
- key: 'device',
1026
- value: device,
1027
- },
1028
- {
1029
- key: 'function',
1030
- value: 'user-editor',
1031
- },
1032
- ],
1033
- }
1034
- );
1095
+ glitter.setUrlParameter('device', device);
1096
+ glitter.setUrlParameter('page', page);
1097
+ glitter.setUrlParameter('function', 'user-editor');
1098
+ glitter.setUrlParameter('appName', (window.parent as any).glitter.getUrlParameter('appName'));
1099
+ location.reload()
1100
+ // glitter.changePage(
1101
+ // 'jspage/main.js',
1102
+ // page,
1103
+ // true,
1104
+ // {
1105
+ // appName: (window.parent as any).glitter.getUrlParameter('appName'),
1106
+ // },
1107
+ // {
1108
+ // backGroundColor: `transparent;`,
1109
+ // carry_search: [
1110
+ // {
1111
+ // key: 'device',
1112
+ // value: device,
1113
+ // },
1114
+ // {
1115
+ // key: 'function',
1116
+ // value: 'user-editor',
1117
+ // },
1118
+ // ],
1119
+ // }
1120
+ // );
1035
1121
  };
1036
1122
  //續費功能
1037
1123
  glitter.share.subscription = async (title: string) => {
@@ -314,6 +314,11 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
314
314
  resolve(clas);
315
315
  });
316
316
  });
317
+ const GlobalEditor = yield new Promise((resolve, reject) => {
318
+ gvc.glitter.getModule(new URL('./editor-components/global-editor.js', gvc.glitter.root_path).href, clas => {
319
+ resolve(clas);
320
+ });
321
+ });
317
322
  const BgWidget = yield new Promise((resolve, reject) => {
318
323
  gvc.glitter.getModule(new URL('../../backend-manager/bg-widget.js', import.meta.url).href, clas => {
319
324
  resolve(clas);
@@ -1165,7 +1170,7 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
1165
1170
  </div>`,
1166
1171
  ` <div class="mx-n3" style="background: #DDD;height: 1px;"></div>`,
1167
1172
  ].join(`<div style="height:18px;"></div>`);
1168
- if (app_editor) {
1173
+ if (app_editor || glitter.share.editorViewModel.selectItem.is_customer_header) {
1169
1174
  global_setting_view = ``;
1170
1175
  }
1171
1176
  if (vm.page === 'editor') {
@@ -1181,15 +1186,17 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
1181
1186
  return `<div class="mb-n3" style="text-align: center; padding: 12px; font-size: 18px; font-weight: 700;">尚未設定自定義項目</div>`;
1182
1187
  }
1183
1188
  else {
1184
- return FormWidget.editorView({
1185
- gvc: gvc,
1186
- array: array_items,
1187
- refresh: () => {
1188
- refresh(widget, type);
1189
- },
1190
- formData: refer_form,
1191
- widget: pageData.config,
1192
- });
1189
+ return [
1190
+ FormWidget.editorView({
1191
+ gvc: gvc,
1192
+ array: array_items,
1193
+ refresh: () => {
1194
+ refresh(widget, type);
1195
+ },
1196
+ formData: refer_form,
1197
+ widget: pageData.config,
1198
+ }),
1199
+ ].join('');
1193
1200
  }
1194
1201
  })(),
1195
1202
  html ` <div
@@ -9,6 +9,7 @@ import { NormalPageEditor } from '../../editor/normal-page-editor.js';
9
9
  import { RenderValue } from '../../glitterBundle/html-component/render-value.js';
10
10
  import { ApplicationConfig } from '../../application-config.js';
11
11
  import { ApiPageConfig } from '../../api/pageConfig.js';
12
+ import { GlobalEditor } from '../../editor-components/global-editor.js';
12
13
 
13
14
  export const component = Plugin.createComponent(import.meta.url, (glitter: Glitter, editMode: boolean) => {
14
15
  return {
@@ -340,6 +341,12 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
340
341
  resolve(clas);
341
342
  });
342
343
  });
344
+ const GlobalEditor: any = await new Promise((resolve, reject) => {
345
+ gvc.glitter.getModule(new URL('./editor-components/global-editor.js', gvc.glitter.root_path).href, clas => {
346
+ resolve(clas);
347
+ });
348
+ });
349
+
343
350
  const BgWidget: any = await new Promise((resolve, reject) => {
344
351
  gvc.glitter.getModule(new URL('../../backend-manager/bg-widget.js', import.meta.url).href, clas => {
345
352
  resolve(clas);
@@ -1341,7 +1348,7 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
1341
1348
  </div>`,
1342
1349
  ` <div class="mx-n3" style="background: #DDD;height: 1px;"></div>`,
1343
1350
  ].join(`<div style="height:18px;"></div>`);
1344
- if (app_editor) {
1351
+ if (app_editor || glitter.share.editorViewModel.selectItem.is_customer_header) {
1345
1352
  global_setting_view = ``;
1346
1353
  }
1347
1354
  if (vm.page === 'editor') {
@@ -1352,28 +1359,31 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
1352
1359
  getItemsVisibility(dd)
1353
1360
  );
1354
1361
  });
1355
- return [
1356
- type === 'def' ? `` : global_setting_view,
1357
- (() => {
1358
- if (array_items.length === 0) {
1359
- return `<div class="mb-n3" style="text-align: center; padding: 12px; font-size: 18px; font-weight: 700;">尚未設定自定義項目</div>`;
1360
- } else {
1361
- return FormWidget.editorView({
1362
- gvc: gvc,
1363
- array: array_items,
1364
- refresh: () => {
1365
- refresh(widget, type);
1366
- },
1367
- formData: refer_form,
1368
- widget: pageData.config,
1369
- });
1370
- }
1371
- })(),
1372
- html` <div
1362
+ return [
1363
+ type === 'def' ? `` : global_setting_view,
1364
+ (() => {
1365
+ if (array_items.length === 0) {
1366
+ return `<div class="mb-n3" style="text-align: center; padding: 12px; font-size: 18px; font-weight: 700;">尚未設定自定義項目</div>`;
1367
+ } else {
1368
+ return [
1369
+ FormWidget.editorView({
1370
+ gvc: gvc,
1371
+ array: array_items,
1372
+ refresh: () => {
1373
+ refresh(widget, type);
1374
+ },
1375
+ formData: refer_form,
1376
+ widget: pageData.config,
1377
+ })
1378
+ ,
1379
+ ].join('');
1380
+ }
1381
+ })(),
1382
+ html` <div
1373
1383
  class="p-3 mt-3 d-flex align-items-center guide-user-editor-7 ${setting_option.length >
1374
- 0
1375
- ? ``
1376
- : `d-none`}"
1384
+ 0
1385
+ ? ``
1386
+ : `d-none`}"
1377
1387
  style="font-size: 16px;
1378
1388
  cursor: pointer;
1379
1389
  border-top: 1px solid #DDD;
@@ -1381,14 +1391,14 @@ font-style: normal;
1381
1391
  gap:10px;
1382
1392
  font-weight: 700;"
1383
1393
  onclick="${gvc.event(() => {
1384
- vm.page = 'setting';
1385
- gvc.notifyDataChange(id);
1386
- })}"
1394
+ vm.page = 'setting';
1395
+ gvc.notifyDataChange(id);
1396
+ })}"
1387
1397
  >
1388
1398
  樣式設定
1389
1399
  <i class="fa-solid fa-angle-right"></i>
1390
1400
  </div>`,
1391
- ].join('');
1401
+ ].join('')
1392
1402
  } else if (vm.page === 'setting') {
1393
1403
  return (
1394
1404
  global_setting_view +
@@ -1652,6 +1662,7 @@ font-weight: 700;"
1652
1662
  },
1653
1663
  custom_edit: true,
1654
1664
  toggle_visible: bool => {
1665
+
1655
1666
  // if (bool) {
1656
1667
  // $((gvc.glitter.document.querySelector('#editerCenter iframe') as any).contentWindow.document.querySelector('.' + view_container_id)).show()
1657
1668
  // } else {
@@ -1738,7 +1749,7 @@ font-weight: 700;"
1738
1749
  gvc.glitter.getUrlParameter('device') !== 'mobile' &&
1739
1750
  pageData.template_config.tag.includes('APP-Footer')
1740
1751
  ) {
1741
- } else {
1752
+ } else{
1742
1753
  appendHtml(
1743
1754
  pageData,
1744
1755
  dd,