ts-glitter 17.2.1 → 17.2.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.
package/lowcode/Entry.js CHANGED
@@ -89,7 +89,7 @@ export class Entry {
89
89
  }
90
90
  window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : clockF();
91
91
  console.log(`Entry-time:`, window.renderClock.stop());
92
- glitter.share.editerVersion = 'V_17.2.1';
92
+ glitter.share.editerVersion = 'V_17.2.2';
93
93
  glitter.share.start = new Date();
94
94
  const vm = {
95
95
  appConfig: [],
package/lowcode/Entry.ts CHANGED
@@ -90,7 +90,7 @@ export class Entry {
90
90
  }
91
91
  (window as any).renderClock = (window as any).renderClock ?? clockF();
92
92
  console.log(`Entry-time:`, (window as any).renderClock.stop());
93
- glitter.share.editerVersion = 'V_17.2.1';
93
+ glitter.share.editerVersion = 'V_17.2.2';
94
94
  glitter.share.start = new Date();
95
95
  const vm: {
96
96
  appConfig: any;
@@ -29,10 +29,14 @@ export class ImageSelector {
29
29
  widget.bundle.form_data[widget.bundle.form_key] = urlArray[0].data;
30
30
  widget.bundle.refresh && widget.bundle.refresh();
31
31
  gvc.notifyDataChange(id);
32
- }, html ` <div class="d-flex flex-column" style="border-radius: 10px 10px 0px 0px;background: #F2F2F2;">圖片庫</div>`, { mul: false });
32
+ }, html `
33
+ <div class="d-flex flex-column"
34
+ style="border-radius: 10px 10px 0px 0px;background: #F2F2F2;">圖片庫
35
+ </div>`, { mul: false });
33
36
  }
34
37
  return html `
35
- <div class="fw-normal mt-2 fs-6 d-flex align-items-center" style="gap:8px;">${widget.bundle.form_title}
38
+ <div class="fw-normal mt-2 fs-6 d-flex align-items-center" style="gap:8px;">
39
+ ${widget.bundle.form_title}
36
40
  <button
37
41
  class="btn-size-sm btn-gray "
38
42
  style=""
@@ -55,7 +59,7 @@ background-image: url('${src || BgWidget.noImageURL}');background-size: cover;ba
55
59
  class="w-100 h-100 d-flex align-items-center justify-content-center rounded-3 p-hover-image position-relative"
56
60
  style="opacity:0;background: rgba(0,0,0,0.5);gap:20px;color:white;font-size:22px;"
57
61
  >
58
- ${(src && (src !== BgWidget.noImageURL)) ? ` <button
62
+ ${(src && (src !== BgWidget.noImageURL)) ? ` <button
59
63
  class="btn-size-sm btn-gray position-absolute"
60
64
  style="top:5px;right:5px;"
61
65
  type="button"
@@ -14,24 +14,30 @@ export class ImageSelector {
14
14
  return {
15
15
  bind: id,
16
16
  view: () => {
17
- if(typeof widget.bundle.form_data[widget.bundle.form_key]==='object'){
18
- widget.bundle.form_data[widget.bundle.form_key]=widget.bundle.form_data[widget.bundle.form_key].value
17
+ if (typeof widget.bundle.form_data[widget.bundle.form_key] === 'object') {
18
+ widget.bundle.form_data[widget.bundle.form_key] = widget.bundle.form_data[widget.bundle.form_key].value
19
19
  }
20
20
  const src = widget.bundle.form_data[widget.bundle.form_key];
21
- function selectImage(){
22
- imageLibrary.selectImageLibrary(
23
- gvc,
24
- (urlArray) => {
25
- widget.bundle.form_data[widget.bundle.form_key]=urlArray[0].data;
26
- widget.bundle.refresh && widget.bundle.refresh();
27
- gvc.notifyDataChange(id)
28
- },
29
- html` <div class="d-flex flex-column" style="border-radius: 10px 10px 0px 0px;background: #F2F2F2;">圖片庫</div>`,
30
- { mul: false }
31
- )
32
- }
21
+
22
+ function selectImage() {
23
+ imageLibrary.selectImageLibrary(
24
+ gvc,
25
+ (urlArray) => {
26
+ widget.bundle.form_data[widget.bundle.form_key] = urlArray[0].data;
27
+ widget.bundle.refresh && widget.bundle.refresh();
28
+ gvc.notifyDataChange(id)
29
+ },
30
+ html`
31
+ <div class="d-flex flex-column"
32
+ style="border-radius: 10px 10px 0px 0px;background: #F2F2F2;">圖片庫
33
+ </div>`,
34
+ {mul: false}
35
+ )
36
+ }
37
+
33
38
  return html`
34
- <div class="fw-normal mt-2 fs-6 d-flex align-items-center" style="gap:8px;">${widget.bundle.form_title}
39
+ <div class="fw-normal mt-2 fs-6 d-flex align-items-center" style="gap:8px;">
40
+ ${widget.bundle.form_title}
35
41
  <button
36
42
  class="btn-size-sm btn-gray "
37
43
  style=""
@@ -54,81 +60,81 @@ background-image: url('${src || BgWidget.noImageURL}');background-size: cover;ba
54
60
  class="w-100 h-100 d-flex align-items-center justify-content-center rounded-3 p-hover-image position-relative"
55
61
  style="opacity:0;background: rgba(0,0,0,0.5);gap:20px;color:white;font-size:22px;"
56
62
  >
57
- ${(src && (src !== BgWidget.noImageURL)) ? ` <button
63
+ ${(src && (src !== BgWidget.noImageURL)) ? ` <button
58
64
  class="btn-size-sm btn-gray position-absolute"
59
65
  style="top:5px;right:5px;"
60
66
  type="button"
61
67
  onclick="${gvc.event(() => {
62
- (window as any).glitter.getModule(gvc.glitter.root_path + `backend-manager/bg-widget.js`, async (BgWidget: any) => {
63
- const tag = gvc.glitter.generateCheckSum(src, 9);
64
- let alt = (await ApiUser.getPublicConfig(`alt_` + tag, 'manager')).response.value || {alt: ''};
68
+ (window as any).glitter.getModule(gvc.glitter.root_path + `backend-manager/bg-widget.js`, async (BgWidget: any) => {
69
+ const tag = gvc.glitter.generateCheckSum(src, 9);
70
+ let alt = (await ApiUser.getPublicConfig(`alt_` + tag, 'manager')).response.value || {alt: ''};
65
71
 
66
- async function set_alt() {
67
- ApiUser.setPublicConfig({
68
- key: `alt_` + tag,
69
- value: alt,
70
- user_id: 'manager',
71
- });
72
- }
72
+ async function set_alt() {
73
+ ApiUser.setPublicConfig({
74
+ key: `alt_` + tag,
75
+ value: alt,
76
+ user_id: 'manager',
77
+ });
78
+ }
73
79
 
74
- BgWidget.settingDialog({
75
- gvc: gvc,
76
- title: '設定圖片描述',
77
- innerHTML: (gvc: GVC) => {
78
- return `<div>${BgWidget.textArea({
79
- gvc: gvc,
80
- title: `ALT描述`,
81
- default: alt.alt,
82
- placeHolder: `請輸入ALT描述`,
83
- callback: (text: string) => {
84
- alt.alt = text;
85
- },
86
- })}</div>`;
87
- },
88
- footer_html: (gvc: GVC) => {
89
- let array = [
90
- BgWidget.cancel(
91
- gvc.event(() => {
92
- gvc.closeDialog();
93
- })
94
- ),
95
- BgWidget.save(
96
- gvc.event(() => {
97
- set_alt();
98
- gvc.closeDialog();
99
- })
100
- ),
101
- ];
102
- return array.join('');
103
- },
104
- });
105
- });
106
- })}"
80
+ BgWidget.settingDialog({
81
+ gvc: gvc,
82
+ title: '設定圖片描述',
83
+ innerHTML: (gvc: GVC) => {
84
+ return `<div>${BgWidget.textArea({
85
+ gvc: gvc,
86
+ title: `ALT描述`,
87
+ default: alt.alt,
88
+ placeHolder: `請輸入ALT描述`,
89
+ callback: (text: string) => {
90
+ alt.alt = text;
91
+ },
92
+ })}</div>`;
93
+ },
94
+ footer_html: (gvc: GVC) => {
95
+ let array = [
96
+ BgWidget.cancel(
97
+ gvc.event(() => {
98
+ gvc.closeDialog();
99
+ })
100
+ ),
101
+ BgWidget.save(
102
+ gvc.event(() => {
103
+ set_alt();
104
+ gvc.closeDialog();
105
+ })
106
+ ),
107
+ ];
108
+ return array.join('');
109
+ },
110
+ });
111
+ });
112
+ })}"
107
113
  >
108
114
  <span class="tx_700" style="">ALT</span>
109
115
  </button>
110
116
  <i
111
117
  class="fa-regular fa-eye"
112
118
  onclick="${gvc.event(() => {
113
- (window.parent as any).glitter.openDiaLog(new URL('../../dialog/image-preview.js', import.meta.url).href, 'preview', src);
114
- // gvc.glitter.openDiaLog(new URL('../../dialog/image-preview.js', import.meta.url).href, 'preview', dd);
115
- })}"
119
+ (window.parent as any).glitter.openDiaLog(new URL('../../dialog/image-preview.js', import.meta.url).href, 'preview', src);
120
+ // gvc.glitter.openDiaLog(new URL('../../dialog/image-preview.js', import.meta.url).href, 'preview', dd);
121
+ })}"
116
122
  ></i>
117
123
  <i
118
124
  class="fa-regular fa-trash"
119
125
  onclick="${gvc.event(() => {
120
- widget.bundle.form_data[widget.bundle.form_key] = BgWidget.noImageURL;
121
- widget.bundle.refresh && widget.bundle.refresh();
122
- gvc.notifyDataChange(id);
123
- })}"
124
- ></i>`:`
126
+ widget.bundle.form_data[widget.bundle.form_key] = BgWidget.noImageURL;
127
+ widget.bundle.refresh && widget.bundle.refresh();
128
+ gvc.notifyDataChange(id);
129
+ })}"
130
+ ></i>` : `
125
131
  <button
126
132
  class="btn-size-sm btn-gray "
127
133
  style=""
128
134
  type="button"
129
135
  onclick="${gvc.event(() => {
130
- selectImage()
131
- })}"
136
+ selectImage()
137
+ })}"
132
138
  >
133
139
  <span class="tx_700" style="">選擇圖片</span>
134
140
  </button>
@@ -160,8 +160,8 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
160
160
  function updatePageConfig(formData, type, oWidget) {
161
161
  oWidget && (widget = oWidget);
162
162
  const ref = (widget.data.refer_app) ? (widget.data.refer_form_data || data.page_config.formData) : data.page_config.formData;
163
- viewConfig.formData = getFormData(ref);
164
163
  window.parent.glitter.share.updated_form_data[`${page_request_config.appName}_${tag}`] = ref;
164
+ viewConfig.formData = getFormData(ref);
165
165
  const view = getView();
166
166
  window.parent.glitter.share.loading_dialog.dataLoading({ visible: true });
167
167
  setTimeout(() => {
@@ -840,7 +840,6 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
840
840
  }));
841
841
  });
842
842
  try {
843
- console.log(`getPageData-${parent_array.tag}`, parent_array);
844
843
  window.glitterInitialHelper.share[`getPageData-${window.appName}-${parent_array.tag}`].data.response.result[0].config = parent_array;
845
844
  }
846
845
  catch (error) {
@@ -1311,7 +1310,6 @@ font-weight: 700;" onclick="${gvc.event(() => {
1311
1310
  if (!pageData.template_config || !pageData.template_config.tag || (!pageData.template_config.tag.find((dd) => {
1312
1311
  return dd === "商品卡片";
1313
1312
  }))) {
1314
- console.log(`pageData.template_config.tag`, pageData.template_config.tag);
1315
1313
  if ((gvc.glitter.getUrlParameter('device') === 'mobile') && pageData.template_config.tag.includes('標頭元件')) {
1316
1314
  }
1317
1315
  else if ((gvc.glitter.getUrlParameter('device') !== 'mobile') && pageData.template_config.tag.includes('APP-Header')) {
@@ -152,9 +152,9 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
152
152
 
153
153
  function updatePageConfig(formData: any, type: any, oWidget: any) {
154
154
  oWidget && (widget = oWidget);
155
- const ref=(widget.data.refer_app) ? (widget.data.refer_form_data || data.page_config.formData) : data.page_config.formData
156
- viewConfig.formData = getFormData(ref);
155
+ const ref=(widget.data.refer_app) ? (widget.data.refer_form_data || data.page_config.formData) : data.page_config.formData;
157
156
  (window.parent as any).glitter.share.updated_form_data[`${page_request_config.appName}_${tag}`]=ref;
157
+ viewConfig.formData = getFormData(ref);
158
158
  const view = getView();
159
159
  (window.parent as any).glitter.share.loading_dialog.dataLoading({visible: true})
160
160
  setTimeout(() => {
@@ -859,7 +859,6 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
859
859
  })
860
860
  });
861
861
  try {
862
- console.log(`getPageData-${parent_array.tag}`, parent_array);
863
862
  (window as any).glitterInitialHelper.share[`getPageData-${(window as any).appName}-${parent_array.tag}`].data.response.result[0].config = parent_array;
864
863
  } catch (error) {
865
864
  console.log(`error->`, error)
@@ -903,6 +902,7 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
903
902
 
904
903
  }
905
904
  }
905
+
906
906
  subData.editor_updated_callback && subData.editor_updated_callback(oWidget);
907
907
  }
908
908
 
@@ -1348,7 +1348,6 @@ font-weight: 700;" onclick="${gvc.event(() => {
1348
1348
  if (!pageData.template_config || !pageData.template_config.tag || (!pageData.template_config.tag.find((dd: any) => {
1349
1349
  return dd === "商品卡片"
1350
1350
  }))) {
1351
- console.log(`pageData.template_config.tag`, pageData.template_config.tag)
1352
1351
  if ((gvc.glitter.getUrlParameter('device') === 'mobile') && pageData.template_config.tag.includes('標頭元件')) {
1353
1352
 
1354
1353
  } else if ((gvc.glitter.getUrlParameter('device') !== 'mobile') && pageData.template_config.tag.includes('APP-Header')) {
@@ -151,6 +151,18 @@ export class ProductCard01 {
151
151
  }
152
152
  `);
153
153
  const labelID = glitter.getUUID();
154
+ function getImgSrc(index) {
155
+ const innerText = prod.preview_image[index] || prod.preview_image[0] || ProductCard01.noImageURL;
156
+ let rela_link = innerText;
157
+ if (innerText.includes('size1440_s*px$_')) {
158
+ [150, 600, 1200, 1440].reverse().map((dd) => {
159
+ if (document.body.clientWidth < dd) {
160
+ rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
161
+ }
162
+ });
163
+ }
164
+ return rela_link;
165
+ }
154
166
  return html ` <div
155
167
  class="card mb-7 card-border"
156
168
  onclick="${gvc.event(() => {
@@ -192,18 +204,17 @@ export class ProductCard01 {
192
204
  })}
193
205
  <img
194
206
  class="card-image-fit-center "
195
- src="${(() => {
196
- const innerText = prod.preview_image[0] || this.noImageURL;
197
- let rela_link = innerText;
198
- if (innerText.includes('size1440_s*px$_')) {
199
- [150, 600, 1200, 1440].reverse().map((dd) => {
200
- if (document.body.clientWidth < dd) {
201
- rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
202
- }
203
- });
207
+ src="${getImgSrc(0)}"
208
+ onmouseover="${gvc.event((e, event) => {
209
+ if (widget.formData.show_second === 'true') {
210
+ e.src = getImgSrc(1);
204
211
  }
205
- return rela_link;
206
- })()}"
212
+ })}"
213
+ onmouseleave="${gvc.event((e, event) => {
214
+ if (widget.formData.show_second === 'true') {
215
+ e.src = getImgSrc(0);
216
+ }
217
+ })}"
207
218
  />
208
219
  <div class="child add-cart-child">
209
220
  <div
@@ -154,7 +154,20 @@ export class ProductCard01 {
154
154
  letter-spacing: -0.98px;
155
155
  }
156
156
  `);
157
+
157
158
  const labelID = glitter.getUUID();
159
+ function getImgSrc(index:number){
160
+ const innerText = prod.preview_image[index] || prod.preview_image[0] || ProductCard01.noImageURL;
161
+ let rela_link = innerText;
162
+ if (innerText.includes('size1440_s*px$_')) {
163
+ [150, 600, 1200, 1440].reverse().map((dd) => {
164
+ if (document.body.clientWidth < dd) {
165
+ rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
166
+ }
167
+ });
168
+ }
169
+ return rela_link;
170
+ }
158
171
  return html` <div
159
172
  class="card mb-7 card-border"
160
173
  onclick="${gvc.event(() => {
@@ -196,18 +209,17 @@ export class ProductCard01 {
196
209
  })}
197
210
  <img
198
211
  class="card-image-fit-center "
199
- src="${(() => {
200
- const innerText = prod.preview_image[0] || this.noImageURL;
201
- let rela_link = innerText;
202
- if (innerText.includes('size1440_s*px$_')) {
203
- [150, 600, 1200, 1440].reverse().map((dd) => {
204
- if (document.body.clientWidth < dd) {
205
- rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
206
- }
207
- });
212
+ src="${getImgSrc(0)}"
213
+ onmouseover="${gvc.event((e,event)=>{
214
+ if(widget.formData.show_second==='true'){
215
+ e.src=getImgSrc(1)
216
+ }
217
+ })}"
218
+ onmouseleave="${gvc.event((e,event)=>{
219
+ if(widget.formData.show_second==='true'){
220
+ e.src=getImgSrc(0)
208
221
  }
209
- return rela_link;
210
- })()}"
222
+ })}"
211
223
  />
212
224
  <div class="child add-cart-child">
213
225
  <div
@@ -141,6 +141,18 @@ export class ProductCard02 {
141
141
  }
142
142
  `);
143
143
  const labelID = glitter.getUUID();
144
+ function getImgSrc(index) {
145
+ const innerText = prod.preview_image[index] || prod.preview_image[0] || ProductCard02.noImageURL;
146
+ let rela_link = innerText;
147
+ if (innerText.includes('size1440_s*px$_')) {
148
+ [150, 600, 1200, 1440].reverse().map((dd) => {
149
+ if (document.body.clientWidth < dd) {
150
+ rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
151
+ }
152
+ });
153
+ }
154
+ return rela_link;
155
+ }
144
156
  return html `<div
145
157
  class="card mb-7 card-border"
146
158
  style="cursor: pointer"
@@ -183,18 +195,17 @@ export class ProductCard02 {
183
195
  })}
184
196
  <img
185
197
  class="card-image-fit-center"
186
- src="${(() => {
187
- const innerText = prod.preview_image[0] || this.noImageURL;
188
- let rela_link = innerText;
189
- if (innerText.includes('size1440_s*px$_')) {
190
- [150, 600, 1200, 1440].reverse().map((dd) => {
191
- if (document.body.clientWidth < dd) {
192
- rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
193
- }
194
- });
198
+ src="${getImgSrc(0)}"
199
+ onmouseover="${gvc.event((e, event) => {
200
+ if (widget.formData.show_second === 'true') {
201
+ e.src = getImgSrc(1);
195
202
  }
196
- return rela_link;
197
- })()}"
203
+ })}"
204
+ onmouseleave="${gvc.event((e, event) => {
205
+ if (widget.formData.show_second === 'true') {
206
+ e.src = getImgSrc(0);
207
+ }
208
+ })}"
198
209
  />
199
210
  </div>
200
211
  <div
@@ -144,6 +144,18 @@ export class ProductCard02 {
144
144
  }
145
145
  `);
146
146
  const labelID = glitter.getUUID();
147
+ function getImgSrc(index:number){
148
+ const innerText = prod.preview_image[index] || prod.preview_image[0] || ProductCard02.noImageURL;
149
+ let rela_link = innerText;
150
+ if (innerText.includes('size1440_s*px$_')) {
151
+ [150, 600, 1200, 1440].reverse().map((dd) => {
152
+ if (document.body.clientWidth < dd) {
153
+ rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
154
+ }
155
+ });
156
+ }
157
+ return rela_link;
158
+ }
147
159
  return html`<div
148
160
  class="card mb-7 card-border"
149
161
  style="cursor: pointer"
@@ -187,18 +199,17 @@ export class ProductCard02 {
187
199
  })}
188
200
  <img
189
201
  class="card-image-fit-center"
190
- src="${(() => {
191
- const innerText = prod.preview_image[0] || this.noImageURL;
192
- let rela_link = innerText;
193
- if (innerText.includes('size1440_s*px$_')) {
194
- [150, 600, 1200, 1440].reverse().map((dd) => {
195
- if (document.body.clientWidth < dd) {
196
- rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
197
- }
198
- });
202
+ src="${getImgSrc(0)}"
203
+ onmouseover="${gvc.event((e,event)=>{
204
+ if(widget.formData.show_second==='true'){
205
+ e.src=getImgSrc(1)
206
+ }
207
+ })}"
208
+ onmouseleave="${gvc.event((e,event)=>{
209
+ if(widget.formData.show_second==='true'){
210
+ e.src=getImgSrc(0)
199
211
  }
200
- return rela_link;
201
- })()}"
212
+ })}"
202
213
  />
203
214
  </div>
204
215
  <div
@@ -145,6 +145,18 @@ export class ProductCard03 {
145
145
  }
146
146
  `);
147
147
  const labelID = glitter.getUUID();
148
+ function getImgSrc(index) {
149
+ const innerText = prod.preview_image[index] || prod.preview_image[0] || ProductCard03.noImageURL;
150
+ let rela_link = innerText;
151
+ if (innerText.includes('size1440_s*px$_')) {
152
+ [150, 600, 1200, 1440].reverse().map((dd) => {
153
+ if (document.body.clientWidth < dd) {
154
+ rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
155
+ }
156
+ });
157
+ }
158
+ return rela_link;
159
+ }
148
160
  return html `
149
161
  <div
150
162
  class="card mb-7 card-border"
@@ -190,18 +202,17 @@ export class ProductCard03 {
190
202
  })}
191
203
  <img
192
204
  class="card-image-fit-center"
193
- src="${(() => {
194
- const innerText = prod.preview_image[0] || this.noImageURL;
195
- let rela_link = innerText;
196
- if (innerText.includes('size1440_s*px$_')) {
197
- [150, 600, 1200, 1440].reverse().map((dd) => {
198
- if (document.body.clientWidth < dd) {
199
- rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
200
- }
201
- });
205
+ src="${getImgSrc(0)}"
206
+ onmouseover="${gvc.event((e, event) => {
207
+ if (widget.formData.show_second === 'true') {
208
+ e.src = getImgSrc(1);
202
209
  }
203
- return rela_link;
204
- })()}"
210
+ })}"
211
+ onmouseleave="${gvc.event((e, event) => {
212
+ if (widget.formData.show_second === 'true') {
213
+ e.src = getImgSrc(0);
214
+ }
215
+ })}"
205
216
  />
206
217
  </div>
207
218
  <div
@@ -150,6 +150,19 @@ export class ProductCard03 {
150
150
  `);
151
151
 
152
152
  const labelID = glitter.getUUID();
153
+
154
+ function getImgSrc(index:number){
155
+ const innerText = prod.preview_image[index] || prod.preview_image[0] || ProductCard03.noImageURL;
156
+ let rela_link = innerText;
157
+ if (innerText.includes('size1440_s*px$_')) {
158
+ [150, 600, 1200, 1440].reverse().map((dd) => {
159
+ if (document.body.clientWidth < dd) {
160
+ rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
161
+ }
162
+ });
163
+ }
164
+ return rela_link;
165
+ }
153
166
  return html`
154
167
  <div
155
168
  class="card mb-7 card-border"
@@ -197,18 +210,17 @@ export class ProductCard03 {
197
210
  })}
198
211
  <img
199
212
  class="card-image-fit-center"
200
- src="${(() => {
201
- const innerText = prod.preview_image[0] || this.noImageURL;
202
- let rela_link = innerText;
203
- if (innerText.includes('size1440_s*px$_')) {
204
- [150, 600, 1200, 1440].reverse().map((dd) => {
205
- if (document.body.clientWidth < dd) {
206
- rela_link = innerText.replace('size1440_s*px$_', `size${dd}_s*px$_`);
207
- }
208
- });
213
+ src="${getImgSrc(0)}"
214
+ onmouseover="${gvc.event((e,event)=>{
215
+ if(widget.formData.show_second==='true'){
216
+ e.src=getImgSrc(1)
217
+ }
218
+ })}"
219
+ onmouseleave="${gvc.event((e,event)=>{
220
+ if(widget.formData.show_second==='true'){
221
+ e.src=getImgSrc(0)
209
222
  }
210
- return rela_link;
211
- })()}"
223
+ })}"
212
224
  />
213
225
  </div>
214
226
  <div
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-glitter",
3
- "version": "17.2.1",
3
+ "version": "17.2.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -465,9 +465,6 @@ export class Shopping {
465
465
  query.min_price && querySql.push(`(id in (select product_id from \`${this.app}\`.t_variants where content->>'$.sale_price'>=${query.min_price})) `);
466
466
  query.max_price && querySql.push(`(id in (select product_id from \`${this.app}\`.t_variants where content->>'$.sale_price'<=${query.max_price})) `);
467
467
  const products = await this.querySql(querySql, query);
468
- querySql.map((dd)=>{
469
- console.log(`querySql=>${dd}`)
470
- })
471
468
 
472
469
  // 產品清單
473
470
  const productList = (Array.isArray(products.data) ? products.data : [products.data]).filter((product) => product);
@@ -585,7 +582,6 @@ export class Shopping {
585
582
  FROM \`${this.app}\`.t_manager_post
586
583
  WHERE ${querySql.join(' and ')} ${query.order_by || `order by id desc`}
587
584
  `;
588
- console.log(`query.order_by=>`,query.order_by)
589
585
  if (query.id) {
590
586
  const data = (
591
587
  await db.query(
@@ -82,7 +82,6 @@ export class Page {
82
82
  return db.escape(dd)
83
83
  }).join(',')}))`);
84
84
  query.search && sql.push(`JSON_EXTRACT(template_config, '$.name') like '%${query.search}%' or id in (SELECT bind FROM \`${saasConfig.SAAS_NAME}\`.t_template_tag where type='page' and tag like '%${query.search}%')`);
85
- console.log(`sql->`,sql)
86
85
  return await new UtDatabase(saasConfig.SAAS_NAME as string, `page_config`).querySql(sql, query as any, `
87
86
  id,userID,tag,\`group\`,name, page_type, preview_image,appName,template_type,template_config
88
87
  `)