ts-glitter 21.4.7 → 21.4.8

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 (37) hide show
  1. package/lowcode/Entry.js +2 -1
  2. package/lowcode/Entry.ts +2 -2
  3. package/lowcode/api/pageConfig.js +2 -0
  4. package/lowcode/api/pageConfig.ts +4 -2
  5. package/lowcode/cms-plugin/menus-setting.js +4 -9
  6. package/lowcode/cms-plugin/menus-setting.ts +4 -9
  7. package/lowcode/editor/normal-page-editor.js +2 -2
  8. package/lowcode/editor/normal-page-editor.ts +2 -2
  9. package/lowcode/glitter-base/route/api-cart.ts +1 -0
  10. package/lowcode/glitterBundle/html-component/global-widget.js +78 -2
  11. package/lowcode/glitterBundle/html-component/global-widget.ts +86 -16
  12. package/lowcode/jspage/main.js +10 -2
  13. package/lowcode/jspage/main.ts +14 -2
  14. package/lowcode/official_view_component/official/component.js +4 -0
  15. package/lowcode/official_view_component/official/component.ts +4 -1
  16. package/lowcode/public-components/headers/header-class.js +3 -1
  17. package/lowcode/public-components/headers/header-class.ts +4 -1
  18. package/lowcode/public-components/headers/sy-02.js +13 -3
  19. package/lowcode/public-components/headers/sy-02.ts +14 -3
  20. package/lowcode/public-components/headers/sy-03.js +13 -3
  21. package/lowcode/public-components/headers/sy-03.ts +13 -3
  22. package/lowcode/public-components/headers/sy-04.js +13 -3
  23. package/lowcode/public-components/headers/sy-04.ts +13 -3
  24. package/lowcode/public-components/headers/sy-05.js +10 -3
  25. package/lowcode/public-components/headers/sy-05.ts +10 -3
  26. package/lowcode/public-components/product/pd-card-01.js +11 -1
  27. package/lowcode/public-components/product/pd-card-01.ts +10 -1
  28. package/lowcode/public-components/product/pd-card-02.js +13 -1
  29. package/lowcode/public-components/product/pd-card-02.ts +12 -1
  30. package/lowcode/public-components/product/pd-card-03.js +13 -1
  31. package/lowcode/public-components/product/pd-card-03.ts +12 -1
  32. package/lowcode/public-components/product/pd-class.js +32 -24
  33. package/lowcode/public-components/product/pd-class.ts +15 -5
  34. package/package.json +1 -1
  35. package/src/services/template.js +9 -11
  36. package/src/services/template.js.map +1 -1
  37. package/src/services/template.ts +5 -3
package/lowcode/Entry.js CHANGED
@@ -146,7 +146,7 @@ export class Entry {
146
146
  }
147
147
  window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : createClock();
148
148
  console.log(`Entry-time:`, window.renderClock.stop());
149
- glitter.share.editerVersion = 'V_21.4.7';
149
+ glitter.share.editerVersion = 'V_21.4.8';
150
150
  glitter.share.start = new Date();
151
151
  const vm = { appConfig: [] };
152
152
  window.saasConfig = {
@@ -552,6 +552,7 @@ export class Entry {
552
552
  })) {
553
553
  const og_path = glitter.getUrlParameter('page_refer') || glitter.getUrlParameter('page');
554
554
  window.page_refer = og_path;
555
+ (glitter.share).is_shop = true;
555
556
  setInterval(() => {
556
557
  if (glitter.getUrlParameter('page') === 'index') {
557
558
  glitter.href = '/' + og_path;
package/lowcode/Entry.ts CHANGED
@@ -150,7 +150,7 @@ export class Entry {
150
150
  }
151
151
  (window as any).renderClock = (window as any).renderClock ?? createClock();
152
152
  console.log(`Entry-time:`, (window as any).renderClock.stop());
153
- glitter.share.editerVersion = 'V_21.4.7';
153
+ glitter.share.editerVersion = 'V_21.4.8';
154
154
  glitter.share.start = new Date();
155
155
  const vm = { appConfig: [] };
156
156
  (window as any).saasConfig = {
@@ -602,7 +602,7 @@ export class Entry {
602
602
  })){
603
603
  const og_path=glitter.getUrlParameter('page_refer') || glitter.getUrlParameter('page');
604
604
  (window as any).page_refer=og_path;
605
-
605
+ (glitter.share).is_shop=true
606
606
  setInterval(()=>{
607
607
  if(glitter.getUrlParameter('page')==='index'){
608
608
  glitter.href='/'+og_path
@@ -165,11 +165,13 @@ export class ApiPageConfig {
165
165
  });
166
166
  }
167
167
  static setPage(data) {
168
+ const glitter = window.glitter;
168
169
  if (data.tag === 'c_header' && ['pages/', 'hidden/', 'shop/'].find((dd) => {
169
170
  return window.parent.glitter.getUrlParameter('page').startsWith(dd);
170
171
  })) {
171
172
  return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
172
173
  data.config[0].is_customer_header = true;
174
+ data.config[0].data.menu_refer = glitter.share.menu_refer;
173
175
  yield ApiUser.setPublicConfig({
174
176
  key: 'c_header_' + window.parent.glitter.getUrlParameter('page'),
175
177
  value: data.config,
@@ -204,12 +204,14 @@ export class ApiPageConfig {
204
204
  }):Promise<{
205
205
  result: boolean
206
206
  }> {
207
-
207
+ const glitter=(window as any).glitter;
208
208
  if(data.tag==='c_header' && ['pages/','hidden/','shop/'].find((dd)=>{
209
209
  return (window.parent as any).glitter.getUrlParameter('page').startsWith(dd)
210
210
  })){
211
211
  return new Promise(async (resolve,reject)=>{
212
- (data.config as any)[0].is_customer_header=true
212
+ (data.config as any)[0].is_customer_header=true;
213
+ (data.config as any)[0].data.menu_refer=glitter.share.menu_refer;
214
+
213
215
  await ApiUser.setPublicConfig({
214
216
  key: 'c_header_'+(window.parent as any).glitter.getUrlParameter('page'),
215
217
  value: data.config,
@@ -200,9 +200,8 @@ export class MenusSetting {
200
200
  vm.link[a] = (_a = vm.link[a]) !== null && _a !== void 0 ? _a : [];
201
201
  clearNoNeedData(vm.link[a]);
202
202
  }
203
- cf.widget.event('loading', {
204
- title: '儲存中...',
205
- });
203
+ const dialog = new ShareDialog(gvc.glitter);
204
+ dialog.dataLoading({ visible: true });
206
205
  let menu_all = (yield ApiUser.getPublicConfig('menu-setting-list', 'manager')).response.value;
207
206
  menu_all.list = (_b = menu_all.list) !== null && _b !== void 0 ? _b : [];
208
207
  const find_ = menu_all.list.find((d1) => { return d1.tag === cf.key; });
@@ -218,12 +217,8 @@ export class MenusSetting {
218
217
  user_id: 'manager',
219
218
  }).then(data => {
220
219
  setTimeout(() => {
221
- cf.widget.event('loading', {
222
- visible: false,
223
- });
224
- cf.widget.event('success', {
225
- title: '儲存成功',
226
- });
220
+ dialog.dataLoading({ visible: false });
221
+ dialog.successMessage({ text: '儲存成功' });
227
222
  }, 1000);
228
223
  });
229
224
  });
@@ -247,9 +247,8 @@ export class MenusSetting {
247
247
  clearNoNeedData((vm.link as any)[a]);
248
248
  }
249
249
 
250
- cf.widget.event('loading', {
251
- title: '儲存中...',
252
- });
250
+ const dialog=new ShareDialog(gvc.glitter)
251
+ dialog.dataLoading({visible:true})
253
252
  let menu_all=(await ApiUser.getPublicConfig('menu-setting-list','manager')).response.value;
254
253
  menu_all.list=menu_all.list ?? []
255
254
  const find_=menu_all.list.find((d1:any)=>{return d1.tag===cf.key});
@@ -265,12 +264,8 @@ export class MenusSetting {
265
264
  user_id: 'manager',
266
265
  }).then(data => {
267
266
  setTimeout(() => {
268
- cf.widget.event('loading', {
269
- visible: false,
270
- });
271
- cf.widget.event('success', {
272
- title: '儲存成功',
273
- });
267
+ dialog.dataLoading({visible:false})
268
+ dialog.successMessage({text:'儲存成功'})
274
269
  }, 1000);
275
270
  });
276
271
  }
@@ -65,14 +65,14 @@ export class NormalPageEditor {
65
65
  return html ` <div
66
66
  id="norView"
67
67
  class="vw-100 vh-100 position-fixed top-0 d-none"
68
- style="z-index: 99999;background: rgba(0,0,0,0.5);"
68
+ style="z-index: 999999;background: rgba(0,0,0,0.5);"
69
69
  onclick="${gvc.event(() => {
70
70
  NormalPageEditor.toggle({
71
71
  visible: false,
72
72
  });
73
73
  })}"
74
74
  ></div>
75
- <div id="norViewHover" class="position-fixed top-0 h-100 bg-white shadow-lg scroll-out" style="width:350px; z-index: 99999;max-width: 100vw;display: none;">${NormalPageEditor.view(gvc)}</div>`;
75
+ <div id="norViewHover" class="position-fixed top-0 h-100 bg-white shadow-lg scroll-out" style="width:350px; z-index: 999999;max-width: 100vw;display: none;">${NormalPageEditor.view(gvc)}</div>`;
76
76
  }
77
77
  static toggle(cf) {
78
78
  try {
@@ -73,14 +73,14 @@ export class NormalPageEditor {
73
73
  return html` <div
74
74
  id="norView"
75
75
  class="vw-100 vh-100 position-fixed top-0 d-none"
76
- style="z-index: 99999;background: rgba(0,0,0,0.5);"
76
+ style="z-index: 999999;background: rgba(0,0,0,0.5);"
77
77
  onclick="${gvc.event(() => {
78
78
  NormalPageEditor.toggle({
79
79
  visible: false,
80
80
  });
81
81
  })}"
82
82
  ></div>
83
- <div id="norViewHover" class="position-fixed top-0 h-100 bg-white shadow-lg scroll-out" style="width:350px; z-index: 99999;max-width: 100vw;display: none;">${NormalPageEditor.view(gvc)}</div>`;
83
+ <div id="norViewHover" class="position-fixed top-0 h-100 bg-white shadow-lg scroll-out" style="width:350px; z-index: 999999;max-width: 100vw;display: none;">${NormalPageEditor.view(gvc)}</div>`;
84
84
  }
85
85
 
86
86
  public static viewArray: any = [];
@@ -1,4 +1,5 @@
1
1
  import {ApiTrack} from "./api-track.js";
2
+ import { PdClass } from '../../public-components/product/pd-class.js';
2
3
 
3
4
  type Product = {
4
5
  id: number;
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { Storage } from '../helper/storage.js';
11
11
  import { ApiPageConfig } from '../../api/pageConfig.js';
12
+ import { ApiUser } from '../../glitter-base/route/user.js';
12
13
  var ViewType;
13
14
  (function (ViewType) {
14
15
  ViewType["mobile"] = "mobile";
@@ -228,6 +229,9 @@ export class GlobalWidget {
228
229
  const is_sub_page = ['pages/', 'hidden/', 'shop/'].find(dd => {
229
230
  return (obj.gvc.glitter.getUrlParameter('page') || '').startsWith(dd);
230
231
  });
232
+ const is_shop = ['hidden/', 'shop/'].find(dd => {
233
+ return (obj.gvc.glitter.getUrlParameter('page') || '').startsWith(dd);
234
+ });
231
235
  if (!glitter.share.c_header_list) {
232
236
  glitter.share.c_header_list = (yield ApiPageConfig.getPageTemplate({
233
237
  template_from: 'all',
@@ -265,9 +269,81 @@ export class GlobalWidget {
265
269
  window.parent.document.querySelector('.' + outer_id).outerHTML = civ.join('');
266
270
  return;
267
271
  }
268
- else {
272
+ else if (!is_shop) {
273
+ civ.push(`<div class="my-2"></div>`);
274
+ civ.push([
275
+ `<div class="fs-6 mb-2" style="color: black;">選單參照內容</div>`,
276
+ gvc.bindView(() => {
277
+ const bi = gvc.glitter.getUUID();
278
+ return {
279
+ bind: bi,
280
+ view: () => __awaiter(this, void 0, void 0, function* () {
281
+ var _a, _b;
282
+ const vm = {
283
+ tab: 'menu',
284
+ dataList: []
285
+ };
286
+ const tag = vm.tab === 'menu' ? 'menu-setting' : 'footer-setting';
287
+ let menu_all = (yield ApiUser.getPublicConfig('menu-setting-list', 'manager')).response.value;
288
+ menu_all.list = (_a = menu_all.list) !== null && _a !== void 0 ? _a : [];
289
+ vm.dataList = [
290
+ { tag: tag, title: `系統預設
291
+ ` },
292
+ ...menu_all.list.filter((d1) => {
293
+ return d1.tab === tag;
294
+ })
295
+ ];
296
+ return [
297
+ this.select({
298
+ gvc: gvc,
299
+ callback: (text) => {
300
+ obj.widget.data.refer_form_data['menu_refer'] = text;
301
+ glitter.share.refresh_global();
302
+ },
303
+ default: (_b = obj.widget.data.refer_form_data['menu_refer']) !== null && _b !== void 0 ? _b : tag,
304
+ options: vm.dataList.map((dd) => {
305
+ return {
306
+ key: dd.tag,
307
+ value: dd.title
308
+ };
309
+ })
310
+ }),
311
+ this.grayButton('設定', gvc.event(() => {
312
+ gvc.glitter.getModule(`${gvc.glitter.root_path}cms-plugin/menus-setting.js`, menu => {
313
+ gvc.glitter.innerDialog((gvc) => {
314
+ return html `
315
+ <div class="vw-100 vh-100 bg-white">
316
+ <div class="d-flex align-items-center" style="height: 60px;width: 100vw;border-bottom: solid 1px #DDD;font-size: 16px;font-style: normal;font-weight: 700;color: #393939;">
317
+ <div class="d-flex" style="padding:19px 32px;gap:8px;cursor: pointer;border-right: solid 1px #DDD;" onclick="${gvc.event(() => {
318
+ gvc.closeDialog();
319
+ })}">
320
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
321
+ <path d="M13.7859 4.96406L8.02969 10.7203C7.69219 11.0578 7.5 11.5219 7.5 12C7.5 12.4781 7.69219 12.9422 8.02969 13.2797L13.7859 19.0359C14.0859 19.3359 14.4891 19.5 14.9109 19.5C15.7875 19.5 16.5 18.7875 16.5 17.9109V15H22.5C23.3297 15 24 14.3297 24 13.5V10.5C24 9.67031 23.3297 9 22.5 9H16.5V6.08906C16.5 5.2125 15.7875 4.5 14.9109 4.5C14.4891 4.5 14.0859 4.66875 13.7859 4.96406ZM7.5 19.5H4.5C3.67031 19.5 3 18.8297 3 18V6C3 5.17031 3.67031 4.5 4.5 4.5H7.5C8.32969 4.5 9 3.82969 9 3C9 2.17031 8.32969 1.5 7.5 1.5H4.5C2.01562 1.5 0 3.51562 0 6V18C0 20.4844 2.01562 22.5 4.5 22.5H7.5C8.32969 22.5 9 21.8297 9 21C9 20.1703 8.32969 19.5 7.5 19.5Z" fill="#393939"></path>
322
+ </svg>
323
+ 返回
324
+ </div>
325
+ <div class="flex-fill" style="padding: 19px 32px;">編輯選單內容</div>
326
+ </div>
327
+ <div class="w-100">${menu.main(gvc, obj.widget)}</div>
328
+ </div>
329
+ `;
330
+ }, 'menus-setting', {
331
+ dismiss: () => {
332
+ glitter.share.refresh_global();
333
+ }
334
+ });
335
+ });
336
+ }), {})
337
+ ].join('');
338
+ }),
339
+ divCreate: {
340
+ class: `d-flex align-items-center`, style: `gap:5px;`
341
+ }
342
+ };
343
+ })
344
+ ].join(''));
269
345
  }
270
- civ.push(`<div class="mx-n2 border-top my-2"></div>`);
346
+ civ.push(`<div class="mx-n2 border-top mb-2 mt-3"></div>`);
271
347
  }
272
348
  civ.push((() => {
273
349
  GlobalWidget.glitter_view_type = ViewType.desktop;
@@ -1,6 +1,7 @@
1
1
  import { GVC } from '../GVController.js';
2
2
  import { Storage } from '../helper/storage.js';
3
3
  import { ApiPageConfig } from '../../api/pageConfig.js';
4
+ import { ApiUser } from '../../glitter-base/route/user.js';
4
5
 
5
6
  enum ViewType {
6
7
  mobile = 'mobile',
@@ -257,6 +258,9 @@ export class GlobalWidget {
257
258
  const is_sub_page = ['pages/', 'hidden/', 'shop/'].find(dd => {
258
259
  return (obj.gvc.glitter.getUrlParameter('page') || '').startsWith(dd);
259
260
  });
261
+ const is_shop= [ 'hidden/', 'shop/'].find(dd => {
262
+ return (obj.gvc.glitter.getUrlParameter('page') || '').startsWith(dd);
263
+ });
260
264
  if (!glitter.share.c_header_list) {
261
265
  glitter.share.c_header_list = (
262
266
  await ApiPageConfig.getPageTemplate({
@@ -300,23 +304,89 @@ export class GlobalWidget {
300
304
  if (glitter.share.header_refer === 'def') {
301
305
  (window.parent as any).document.querySelector('.' + outer_id).outerHTML = civ.join('');
302
306
  return;
303
- } else {
304
- // civ.push(`<div class="my-2"></div>`);
305
- // civ.push(
306
- // this.grayButton(
307
- // '標頭選單參照',
308
- // gvc.event(() => {
309
- // gvc.glitter.getModule(`${gvc.glitter.root_path}cms-plugin/menus-setting.ts`, menu => {
310
- // gvc.glitter.innerDialog(menu.main(gvc, obj.widget), 'menus-setting');
311
- // });
312
- // }),
313
- // {
314
- // class: 'w-100',
315
- // }
316
- // )
317
- // );
307
+ } else if(!is_shop){
308
+ civ.push(`<div class="my-2"></div>`);
309
+ civ.push(
310
+ [
311
+ `<div class="fs-6 mb-2" style="color: black;">選單參照內容</div>`,
312
+ gvc.bindView(()=>{
313
+ const bi=gvc.glitter.getUUID()
314
+ return {
315
+ bind:bi,
316
+ view:async ()=>{
317
+ const vm:any={
318
+ tab:'menu',
319
+ dataList:[]
320
+ }
321
+ const tag=vm.tab==='menu' ? 'menu-setting':'footer-setting';
322
+ let menu_all= (await ApiUser.getPublicConfig('menu-setting-list','manager')).response.value;
323
+ menu_all.list = menu_all.list ?? [];
324
+ vm.dataList = [
325
+ { tag: tag, title: `系統預設
326
+ ` },
327
+ ...menu_all.list.filter((d1:any)=>{
328
+ return d1.tab===tag
329
+ })
330
+ ];
331
+ return [
332
+ this.select({
333
+ gvc: gvc,
334
+ callback: (text: any) => {
335
+ obj.widget.data.refer_form_data['menu_refer']=text
336
+ glitter.share.refresh_global();
337
+ },
338
+ default: obj.widget.data.refer_form_data['menu_refer'] ?? tag,
339
+ options: vm.dataList.map((dd:any)=>{
340
+ return {
341
+ key:dd.tag,
342
+ value:dd.title
343
+ }
344
+ })
345
+ }),
346
+ this.grayButton(
347
+ '設定',
348
+ gvc.event(() => {
349
+ gvc.glitter.getModule(`${gvc.glitter.root_path}cms-plugin/menus-setting.js`, menu => {
350
+ gvc.glitter.innerDialog((gvc)=>{
351
+ return html`
352
+ <div class="vw-100 vh-100 bg-white">
353
+ <div class="d-flex align-items-center" style="height: 60px;width: 100vw;border-bottom: solid 1px #DDD;font-size: 16px;font-style: normal;font-weight: 700;color: #393939;">
354
+ <div class="d-flex" style="padding:19px 32px;gap:8px;cursor: pointer;border-right: solid 1px #DDD;" onclick="${gvc.event(()=>{
355
+ gvc.closeDialog()
356
+ })}">
357
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
358
+ <path d="M13.7859 4.96406L8.02969 10.7203C7.69219 11.0578 7.5 11.5219 7.5 12C7.5 12.4781 7.69219 12.9422 8.02969 13.2797L13.7859 19.0359C14.0859 19.3359 14.4891 19.5 14.9109 19.5C15.7875 19.5 16.5 18.7875 16.5 17.9109V15H22.5C23.3297 15 24 14.3297 24 13.5V10.5C24 9.67031 23.3297 9 22.5 9H16.5V6.08906C16.5 5.2125 15.7875 4.5 14.9109 4.5C14.4891 4.5 14.0859 4.66875 13.7859 4.96406ZM7.5 19.5H4.5C3.67031 19.5 3 18.8297 3 18V6C3 5.17031 3.67031 4.5 4.5 4.5H7.5C8.32969 4.5 9 3.82969 9 3C9 2.17031 8.32969 1.5 7.5 1.5H4.5C2.01562 1.5 0 3.51562 0 6V18C0 20.4844 2.01562 22.5 4.5 22.5H7.5C8.32969 22.5 9 21.8297 9 21C9 20.1703 8.32969 19.5 7.5 19.5Z" fill="#393939"></path>
359
+ </svg>
360
+ 返回
361
+ </div>
362
+ <div class="flex-fill" style="padding: 19px 32px;">編輯選單內容</div>
363
+ </div>
364
+ <div class="w-100">${
365
+ menu.main(gvc, obj.widget)
366
+ }</div>
367
+ </div>
368
+ `
369
+ }, 'menus-setting',{
370
+ dismiss:()=>{
371
+ glitter.share.refresh_global();
372
+ }
373
+ });
374
+ });
375
+ }),
376
+ {
377
+ }
378
+ )
379
+ ].join('')
380
+ },
381
+ divCreate:{
382
+ class:`d-flex align-items-center`,style:`gap:5px;`
383
+ }
384
+ }
385
+ })
386
+ ].join('')
387
+ );
318
388
  }
319
- civ.push(`<div class="mx-n2 border-top my-2"></div>`);
389
+ civ.push(`<div class="mx-n2 border-top mb-2 mt-3"></div>`);
320
390
  }
321
391
  civ.push(
322
392
  (() => {
@@ -237,6 +237,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
237
237
  content.config = content.language_data[glitter.getUrlParameter('language')].config;
238
238
  }
239
239
  ;
240
+ const header = (yield ApiUser.getPublicConfig('c_header_' + window.parent.glitter.getUrlParameter('page'), 'manager')).response.value;
240
241
  if (!content.config.find((dd) => {
241
242
  return dd.data.tag === 'c_header';
242
243
  })) {
@@ -271,7 +272,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
271
272
  "type": "component",
272
273
  "class": "",
273
274
  "index": 0,
274
- "label": "標頭",
275
+ "label": "標頭1234",
275
276
  "style": "",
276
277
  "global": [],
277
278
  "mobile": { "data": {}, "refer": "custom" },
@@ -295,8 +296,15 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
295
296
  }
296
297
  ].concat(content.config);
297
298
  }
298
- glitter.share.header_refer = 'custom';
299
+ if (header && header.length) {
300
+ glitter.share.header_refer = 'custom';
301
+ }
302
+ else {
303
+ glitter.share.header_refer = 'def';
304
+ }
299
305
  d2.response.result[0].config = content.config;
306
+ const og_path = glitter.getUrlParameter('page_refer') || glitter.getUrlParameter('page');
307
+ window.page_refer = og_path;
300
308
  resolve(d2.response.result[0]);
301
309
  }));
302
310
  }
@@ -266,6 +266,11 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
266
266
  ) {
267
267
  content.config = content.language_data[glitter.getUrlParameter('language')].config;
268
268
  };
269
+ const header=(await ApiUser.getPublicConfig(
270
+ 'c_header_'+(window.parent as any).glitter.getUrlParameter('page'),
271
+ 'manager',
272
+ )).response.value;
273
+
269
274
  if(!content.config.find((dd:any)=>{
270
275
  return dd.data.tag==='c_header'
271
276
  })){
@@ -300,7 +305,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
300
305
  "type": "component",
301
306
  "class": "",
302
307
  "index": 0,
303
- "label": "標頭",
308
+ "label": "標頭1234",
304
309
  "style": "",
305
310
  "global": [],
306
311
  "mobile": {"data": {}, "refer": "custom"},
@@ -324,8 +329,15 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
324
329
  }
325
330
  ].concat(content.config);
326
331
  }
327
- glitter.share.header_refer='custom'
332
+ if(header && header.length){
333
+ glitter.share.header_refer='custom'
334
+ }else{
335
+ glitter.share.header_refer='def'
336
+ }
337
+
328
338
  d2.response.result[0].config = content.config;
339
+ const og_path=glitter.getUrlParameter('page_refer') || glitter.getUrlParameter('page');
340
+ (window as any).page_refer=og_path;
329
341
  resolve(d2.response.result[0]);
330
342
  });
331
343
  } else {
@@ -971,6 +971,10 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
971
971
  subData.editor_updated_callback &&
972
972
  subData.editor_updated_callback(oWidget);
973
973
  }
974
+ glitter.share.refer_form = refer_form;
975
+ glitter.share.refresh_global = (() => {
976
+ refresh(widget, type);
977
+ });
974
978
  function getItemsVisibility(dd) {
975
979
  const descriptor = Object.getOwnPropertyDescriptor(refer_form, dd.key);
976
980
  const custom = !oWidget[`${type}_editable`] ||
@@ -1079,7 +1079,10 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
1079
1079
  subData.editor_updated_callback &&
1080
1080
  subData.editor_updated_callback(oWidget);
1081
1081
  }
1082
-
1082
+ glitter.share.refer_form=refer_form
1083
+ glitter.share.refresh_global=(()=>{
1084
+ refresh(widget,type)
1085
+ })
1083
1086
  //設定顯示編輯與否
1084
1087
  function getItemsVisibility(dd: any) {
1085
1088
  const descriptor = Object.getOwnPropertyDescriptor(
@@ -162,7 +162,9 @@ export class HeaderClass {
162
162
  type="button"
163
163
  onclick="${gvc.event(() => {
164
164
  window.drawer.close();
165
- ApiCart.toCheckOutPage(id);
165
+ setTimeout(() => {
166
+ document.querySelector('.check_out_cart_data').scrollIntoView();
167
+ }, 100);
166
168
  })}"
167
169
  >
168
170
  ${Language.text('proceed_to_checkout')}
@@ -189,7 +189,10 @@ export class HeaderClass {
189
189
  type="button"
190
190
  onclick="${gvc.event(() => {
191
191
  (window as any).drawer.close();
192
- ApiCart.toCheckOutPage(id);
192
+ setTimeout(()=>{
193
+ document.querySelector('.check_out_cart_data')!!.scrollIntoView()
194
+ },100)
195
+ // ApiCart.toCheckOutPage(id);
193
196
  })}"
194
197
  >
195
198
  ${Language.text('proceed_to_checkout')}
@@ -8,6 +8,7 @@ import { LanguageView } from '../public/language-view.js';
8
8
  import { HeaderClass } from './header-class.js';
9
9
  import { HeadInitial } from './head-initial.js';
10
10
  import { HeaderMobile } from './header-mobile.js';
11
+ import { PdClass } from '../product/pd-class.js';
11
12
  const html = String.raw;
12
13
  export class Sy02 {
13
14
  static main(gvc, widget, subData) {
@@ -37,7 +38,7 @@ export class Sy02 {
37
38
  <div class="d-flex align-items-center justify-content-center h-100 w-100 gap-2">
38
39
  <!--手機版選單-->
39
40
  <div
40
- class="d-flex align-items-center justify-content-center"
41
+ class="${PdClass.isShoppingPage() ? `d-none` : `d-flex d-lg-none`} align-items-center justify-content-center"
41
42
  style="width:40px !important;height:40px !important;"
42
43
  onclick="${gvc.event(() => {
43
44
  gvc.glitter.setDrawer(gvc.bindView(() => {
@@ -111,7 +112,7 @@ export class Sy02 {
111
112
  const vm = {
112
113
  data: [],
113
114
  };
114
- ApiUser.getPublicConfig('menu-setting', 'manager', window.appName).then(res => {
115
+ ApiUser.getPublicConfig(widget.formData.menu_refer || 'menu-setting', 'manager', window.appName).then(res => {
115
116
  vm.data = res.response.value[Language.getLanguage()];
116
117
  gvc.notifyDataChange(id);
117
118
  });
@@ -129,6 +130,9 @@ export class Sy02 {
129
130
  loop(vm.data);
130
131
  }
131
132
  function loopItems(data, show_border) {
133
+ if (PdClass.isShoppingPage()) {
134
+ return ``;
135
+ }
132
136
  return data
133
137
  .map((dd) => {
134
138
  var _a, _b, _c, _d, _e;
@@ -245,7 +249,7 @@ background: ${(_a = colors.bgr) !== null && _a !== void 0 ? _a : '#000'};overflo
245
249
  const vm = {
246
250
  data: [],
247
251
  };
248
- ApiUser.getPublicConfig('menu-setting', 'manager', window.appName).then(res => {
252
+ ApiUser.getPublicConfig(widget.formData.menu_refer || 'menu-setting', 'manager', window.appName).then(res => {
249
253
  vm.data = res.response.value[Language.getLanguage()];
250
254
  gvc.notifyDataChange(id);
251
255
  });
@@ -253,6 +257,9 @@ background: ${(_a = colors.bgr) !== null && _a !== void 0 ? _a : '#000'};overflo
253
257
  bind: id,
254
258
  view: () => {
255
259
  function loopItems(data) {
260
+ if (PdClass.isShoppingPage()) {
261
+ return ``;
262
+ }
256
263
  return data
257
264
  .map((dd) => {
258
265
  var _a, _b;
@@ -351,6 +358,9 @@ padding-bottom: 2px;
351
358
  bind: vm.id,
352
359
  view: () => {
353
360
  var _a, _b;
361
+ if (PdClass.isShoppingPage()) {
362
+ return ``;
363
+ }
354
364
  if (!vm.toggle) {
355
365
  return html `<i
356
366
  class="fa-regular fa-magnifying-glass"