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.
- package/lowcode/Entry.js +18 -1
- package/lowcode/Entry.ts +19 -1
- package/lowcode/api/pageConfig.js +29 -10
- package/lowcode/api/pageConfig.ts +43 -11
- package/lowcode/backend-manager/bg-blog.js +5 -0
- package/lowcode/backend-manager/bg-blog.ts +5 -0
- package/lowcode/cms-plugin/menus-setting.js +15 -6
- package/lowcode/cms-plugin/menus-setting.ts +23 -6
- package/lowcode/cms-plugin/module/user-excel.js +11 -5
- package/lowcode/cms-plugin/module/user-excel.ts +11 -5
- package/lowcode/cms-plugin/shopping-discount-setting.js +236 -234
- package/lowcode/cms-plugin/shopping-discount-setting.ts +137 -134
- package/lowcode/cms-plugin/third-party-line.js +34 -0
- package/lowcode/cms-plugin/third-party-line.ts +34 -0
- package/lowcode/editor-components/global-editor.js +60 -0
- package/lowcode/editor-components/global-editor.ts +65 -0
- package/lowcode/editor-components/global-widget/bridge.js +40 -34
- package/lowcode/editor-components/global-widget/bridge.ts +42 -34
- package/lowcode/glitterBundle/html-component/global-widget.js +265 -170
- package/lowcode/glitterBundle/html-component/global-widget.ts +264 -159
- package/lowcode/index.html +1 -1
- package/lowcode/jspage/function-page/tool-setting.js +9 -1
- package/lowcode/jspage/function-page/tool-setting.ts +9 -1
- package/lowcode/jspage/main.js +78 -16
- package/lowcode/jspage/main.ts +108 -22
- package/lowcode/official_view_component/official/component.js +17 -10
- package/lowcode/official_view_component/official/component.ts +38 -27
- package/lowcode/public-components/blogs/blogs-01.js +200 -140
- package/lowcode/public-components/blogs/blogs-01.ts +232 -145
- package/lowcode/public-components/checkout/index.js +1 -1
- package/lowcode/public-components/checkout/index.ts +1 -1
- package/lowcode/public-components/headers/head-initial.ts +1 -1
- package/lowcode/public-components/headers/sy-02.js +1 -0
- package/lowcode/public-components/headers/sy-02.ts +1 -0
- package/lowcode/public-components/headers/sy-03.js +1 -0
- package/lowcode/public-components/headers/sy-03.ts +1 -0
- package/lowcode/public-components/headers/sy-04.js +1 -0
- package/lowcode/public-components/headers/sy-04.ts +1 -0
- package/lowcode/public-components/headers/sy-05.js +1 -0
- package/lowcode/public-components/headers/sy-05.ts +1 -0
- package/lowcode/public-components/product/product-detail.js +2 -2
- package/lowcode/public-components/product/product-detail.ts +4 -4
- package/lowcode/public-components/terms-related/index.ts +1 -0
- package/lowcode/public-components/user-manager/um-login.js +7 -1
- package/lowcode/public-components/user-manager/um-login.ts +8 -1
- package/package.json +1 -1
- package/src/api-public/models/glitter-finance.js +1 -2
- package/src/api-public/models/glitter-finance.js.map +1 -1
- package/src/api-public/services/checkout-event.js +1 -0
- package/src/api-public/services/checkout-event.js.map +1 -1
- package/src/api-public/services/checkout-event.ts +1 -0
- package/src/api-public/services/ezpay/tool.d.ts +0 -1
- package/src/api-public/services/user.js +7 -3
- package/src/api-public/services/user.js.map +1 -1
- package/src/api-public/services/user.ts +6 -3
- package/src/app-project/serverless/src/modules/database.d.ts +1 -1
- package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
- package/src/controllers/template.js +2 -2
- package/src/controllers/template.js.map +1 -1
- package/src/controllers/template.ts +5 -2
- package/src/firebase/message.js +1 -2
- package/src/firebase/message.js.map +1 -1
- package/src/helper/app_creater.js +1 -2
- package/src/helper/app_creater.js.map +1 -1
- package/src/helper/glitter-util.d.ts +0 -1
- package/src/index.js +1 -1
- package/src/index.js.map +1 -1
- package/src/index.ts +1 -1
- package/src/lambda/interface.js +2 -2
- package/src/lambda/interface.js.map +1 -1
- package/src/modules/database.d.ts +1 -1
- package/src/run.js +1 -2
- package/src/run.js.map +1 -1
- package/src/seo-config.d.ts +1 -1
- package/src/seo-config.js +13 -12
- package/src/seo-config.js.map +1 -1
- package/src/seo-config.ts +18 -12
- package/src/services/app.d.ts +2 -1
- package/src/services/app.js +4 -2
- package/src/services/app.js.map +1 -1
- package/src/services/app.ts +5 -2
- package/src/services/backend-service.js +7 -17
- package/src/services/backend-service.js.map +1 -1
- package/src/services/saas-table-check.js +2 -2
- package/src/services/saas-table-check.js.map +1 -1
- package/src/services/seo.d.ts +2 -1
- package/src/services/seo.js +7 -4
- package/src/services/seo.js.map +1 -1
- package/src/services/seo.ts +7 -4
- package/src/services/ses.js +1 -2
- package/src/services/ses.js.map +1 -1
- package/src/services/template.d.ts +3 -1
- package/src/services/template.js +55 -34
- package/src/services/template.js.map +1 -1
- package/src/services/template.ts +68 -35
- package/nxv0ptv53w.json +0 -1
- package/omr85cp878.json +0 -1
|
@@ -1,11 +1,18 @@
|
|
|
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 { ToolSetting } from '../../jspage/function-page/tool-setting.js';
|
|
4
5
|
enum ViewType {
|
|
5
6
|
mobile = 'mobile',
|
|
6
7
|
desktop = 'desktop',
|
|
7
8
|
def = 'def'
|
|
8
9
|
}
|
|
10
|
+
export interface OptionsItem {
|
|
11
|
+
key: string;
|
|
12
|
+
value: string;
|
|
13
|
+
note?: string;
|
|
14
|
+
image?: string;
|
|
15
|
+
}
|
|
9
16
|
|
|
10
17
|
const html = String.raw
|
|
11
18
|
|
|
@@ -160,7 +167,40 @@ export class GlobalWidget {
|
|
|
160
167
|
})
|
|
161
168
|
|
|
162
169
|
}
|
|
163
|
-
|
|
170
|
+
static select(obj: {
|
|
171
|
+
gvc: GVC;
|
|
172
|
+
callback: (value: any) => void;
|
|
173
|
+
default: string;
|
|
174
|
+
options: OptionsItem[];
|
|
175
|
+
style?: string;
|
|
176
|
+
title?: string;
|
|
177
|
+
readonly?: boolean;
|
|
178
|
+
place_holder?: string;
|
|
179
|
+
}) {
|
|
180
|
+
return html` ${obj.title ? html` <div class="tx_normal fw-normal mb-2">${obj.title}</div>` : ``}
|
|
181
|
+
<select
|
|
182
|
+
class="c_select c_select_w_100"
|
|
183
|
+
style="${obj.style ?? ''}; ${obj.readonly ? 'background: #f7f7f7;' : ''}"
|
|
184
|
+
onchange="${obj.gvc.event(e => {
|
|
185
|
+
obj.callback(e.value);
|
|
186
|
+
})}"
|
|
187
|
+
${obj.readonly ? 'disabled' : ''}
|
|
188
|
+
>
|
|
189
|
+
${obj.gvc.map(
|
|
190
|
+
obj.options.map(
|
|
191
|
+
opt =>
|
|
192
|
+
html` <option class="c_select_option" value="${opt.key}" ${obj.default === opt.key ? 'selected' : ''}>
|
|
193
|
+
${opt.value}
|
|
194
|
+
</option>`
|
|
195
|
+
)
|
|
196
|
+
)}
|
|
197
|
+
${(obj.options as any).find((opt: any) => {
|
|
198
|
+
return obj.default === opt.key;
|
|
199
|
+
})
|
|
200
|
+
? ``
|
|
201
|
+
: `<option class="d-none" selected>${obj.place_holder || `請選擇項目`}</option>`}
|
|
202
|
+
</select>`;
|
|
203
|
+
}
|
|
164
204
|
public static switchButton(gvc: GVC, def: boolean, callback: (value: boolean) => void) {
|
|
165
205
|
return html`
|
|
166
206
|
<div class="form-check form-switch d-flex align-items-center my-0" style=" cursor: pointer;">
|
|
@@ -185,200 +225,265 @@ export class GlobalWidget {
|
|
|
185
225
|
hide_selector?: boolean
|
|
186
226
|
hide_ai?: boolean
|
|
187
227
|
}) {
|
|
188
|
-
|
|
189
|
-
if (Storage.view_type === 'mobile') {
|
|
190
|
-
GlobalWidget.glitter_view_type = ViewType.mobile
|
|
191
|
-
}
|
|
228
|
+
const outer_id=obj.gvc.glitter.getUUID()
|
|
192
229
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
230
|
+
const glitter = obj.gvc.glitter;
|
|
231
|
+
const gvc = obj.gvc;
|
|
232
|
+
return gvc.bindView(()=>{
|
|
233
|
+
return {
|
|
234
|
+
bind:outer_id,
|
|
235
|
+
view:()=>{
|
|
236
|
+
return ``
|
|
237
|
+
},
|
|
238
|
+
divCreate:{
|
|
239
|
+
class:`${outer_id}`
|
|
240
|
+
},
|
|
241
|
+
onCreate:async ()=>{
|
|
242
|
+
let civ:string[]=[]
|
|
243
|
+
const is_sub_page = ['pages/','hidden/','shop/'].find((dd)=>{
|
|
244
|
+
return (obj.gvc.glitter.getUrlParameter('page') || '').startsWith(dd)
|
|
245
|
+
});
|
|
246
|
+
if(!glitter.share.c_header_list){
|
|
247
|
+
glitter.share.c_header_list=(await ApiPageConfig.getPageTemplate({
|
|
248
|
+
template_from: 'all',
|
|
249
|
+
page: '0',
|
|
250
|
+
limit: '3000',
|
|
251
|
+
type: 'module',
|
|
252
|
+
tag: '標頭元件',
|
|
253
|
+
})).response.result.data;
|
|
254
|
+
}
|
|
255
|
+
if(is_sub_page && glitter.share.c_header_list.find((d1:any)=>{
|
|
256
|
+
return d1.tag===obj.widget.data.tag && d1.appName===obj.widget.data.refer_app
|
|
257
|
+
})){
|
|
258
|
+
glitter.share.header_refer= glitter.share.header_refer || 'def'
|
|
259
|
+
civ.push(`<div class="mt-2 fs-6 mb-2" style="color: black;margin-bottom: 5px;"
|
|
260
|
+
>標頭樣式參照</div>`)
|
|
261
|
+
civ.push( GlobalWidget.select({
|
|
262
|
+
gvc: gvc,
|
|
263
|
+
callback: (text: any) => {
|
|
264
|
+
glitter.share.header_refer = text;
|
|
265
|
+
glitter.share.selectEditorItem();
|
|
266
|
+
},
|
|
267
|
+
default: glitter.share.header_refer,
|
|
268
|
+
options: [
|
|
269
|
+
{
|
|
270
|
+
key: 'custom',
|
|
271
|
+
value: '自定義標頭樣式',
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
key: 'def',
|
|
275
|
+
value: '全站預設樣式',
|
|
276
|
+
},
|
|
277
|
+
],
|
|
278
|
+
}))
|
|
279
|
+
if(glitter.share.header_refer==='def'){
|
|
280
|
+
(window.parent as any).document.querySelector('.'+outer_id).outerHTML = civ.join('');
|
|
281
|
+
return
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
civ.push((()=>{
|
|
285
|
+
GlobalWidget.glitter_view_type = ViewType.desktop
|
|
286
|
+
if (Storage.view_type === 'mobile') {
|
|
287
|
+
GlobalWidget.glitter_view_type = ViewType.mobile
|
|
288
|
+
}
|
|
196
289
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
const id = obj.gvc.glitter.getUUID()
|
|
201
|
-
const gvc = obj.gvc;
|
|
202
|
-
GlobalWidget.initialShowCaseData({widget: obj.widget, gvc: obj.gvc})
|
|
203
|
-
let select_bt = 'form_editor'
|
|
290
|
+
if (['mobile', 'desktop'].includes(obj.gvc.glitter.getCookieByName('ViewType')) && GlobalWidget.glitter_view_type !== 'def') {
|
|
291
|
+
GlobalWidget.glitter_view_type = obj.gvc.glitter.getCookieByName('ViewType')
|
|
292
|
+
}
|
|
204
293
|
|
|
205
|
-
|
|
206
|
-
return
|
|
294
|
+
if ((GlobalWidget.glitter_view_type === 'def') || (obj.gvc.glitter.getUrlParameter('device') === 'mobile')) {
|
|
295
|
+
return obj.view(obj.widget, 'def')
|
|
296
|
+
} else {
|
|
297
|
+
const id = obj.gvc.glitter.getUUID()
|
|
298
|
+
const gvc = obj.gvc;
|
|
299
|
+
GlobalWidget.initialShowCaseData({widget: obj.widget, gvc: obj.gvc})
|
|
300
|
+
let select_bt = 'form_editor'
|
|
301
|
+
|
|
302
|
+
function ai_switch() {
|
|
303
|
+
if(is_sub_page){
|
|
304
|
+
return ``
|
|
305
|
+
}
|
|
306
|
+
return `<div class="d-flex align-items-center shadow border-bottom mt-n2"
|
|
207
307
|
style="">
|
|
208
308
|
${(() => {
|
|
209
309
|
const list = [
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
310
|
+
{
|
|
311
|
+
key: 'form_editor',
|
|
312
|
+
label: `元件設計`,
|
|
313
|
+
icon: `fa-regular fa-pencil`
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
key: 'ai_editor',
|
|
317
|
+
label: 'AI 設計',
|
|
318
|
+
icon: `fa-regular fa-wand-magic-sparkles`
|
|
319
|
+
}
|
|
220
320
|
];
|
|
221
321
|
return list
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
322
|
+
.map((dd) => {
|
|
323
|
+
if (select_bt === dd.key) {
|
|
324
|
+
return html`
|
|
225
325
|
<div class="d-flex align-items-center justify-content-center fw-bold px-2 py-2 fw-500 select-label-ai-message_ fs-6"
|
|
226
326
|
style="gap:5px;">
|
|
227
327
|
<i class="${dd.icon} "></i>${dd.label}
|
|
228
328
|
</div>`;
|
|
229
|
-
|
|
230
|
-
|
|
329
|
+
} else {
|
|
330
|
+
return html`
|
|
231
331
|
<div class="d-flex align-items-center justify-content-center fw-bold px-2 py-2 fw-500 select-btn-ai-message_ fs-6"
|
|
232
332
|
style="gap:5px;"
|
|
233
333
|
onclick="${gvc.event(() => {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
334
|
+
select_bt = dd.key
|
|
335
|
+
gvc.notifyDataChange(id)
|
|
336
|
+
})}"
|
|
237
337
|
>
|
|
238
338
|
<i class="${dd.icon}"></i>${dd.label}
|
|
239
339
|
</div>`;
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
340
|
+
}
|
|
341
|
+
})
|
|
342
|
+
.join(`<div class="border-end" style="width:1px;height:39px;"></div>`);
|
|
343
|
+
})()}
|
|
244
344
|
</div>`
|
|
245
|
-
|
|
345
|
+
}
|
|
246
346
|
|
|
247
|
-
|
|
248
|
-
|
|
347
|
+
function selector(widget: any, key: string) {
|
|
348
|
+
if (obj.hide_selector) {
|
|
249
349
|
return ``
|
|
250
|
-
|
|
251
|
-
|
|
350
|
+
}
|
|
351
|
+
return html`
|
|
252
352
|
<div class=" mx-n2"
|
|
253
353
|
style="">${
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
354
|
+
[
|
|
355
|
+
...(() => {
|
|
356
|
+
if (obj.hide_ai) {
|
|
357
|
+
return []
|
|
358
|
+
} else {
|
|
359
|
+
return [ai_switch()]
|
|
360
|
+
}
|
|
361
|
+
})(),
|
|
362
|
+
obj.gvc.bindView(() => {
|
|
363
|
+
const id = gvc.glitter.getUUID()
|
|
364
|
+
return {
|
|
365
|
+
bind: id,
|
|
366
|
+
view: () => {
|
|
367
|
+
return html`
|
|
268
368
|
<div class="my-auto tx_title fw-normal d-flex align-items-center"
|
|
269
369
|
style="white-space: nowrap;font-size: 16px;">在${(() => {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
370
|
+
if (GlobalWidget.glitter_view_type === "mobile") {
|
|
371
|
+
return `手機`
|
|
372
|
+
} else {
|
|
373
|
+
return `電腦`
|
|
374
|
+
}
|
|
375
|
+
})()}版上${(obj.widget[key].refer === 'hide') ? `不` : ``}顯示
|
|
276
376
|
</div>
|
|
277
377
|
${GlobalWidget.switchButton(obj.gvc, obj.widget[key].refer !== 'hide', (bool) => {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
378
|
+
// vm.data.main = bool;
|
|
379
|
+
if (bool) {
|
|
380
|
+
obj.widget[key].refer = 'def'
|
|
381
|
+
} else {
|
|
382
|
+
obj.widget[key].refer = 'hide'
|
|
383
|
+
}
|
|
384
|
+
obj.toggle_visible && obj.toggle_visible(bool);
|
|
385
|
+
gvc.notifyDataChange(id)
|
|
386
|
+
setTimeout(() => {
|
|
387
|
+
obj.widget.refreshComponent()
|
|
388
|
+
}, 250)
|
|
389
|
+
})}`
|
|
390
|
+
},
|
|
391
|
+
divCreate: {
|
|
392
|
+
class: `d-flex align-content-center px-3`,
|
|
393
|
+
style: `gap:10px;margin-bottom:18px;margin-top:13px;`
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
})
|
|
397
|
+
].concat((() => {
|
|
398
|
+
if (obj.widget[key].refer === 'hide') {
|
|
399
|
+
return []
|
|
400
|
+
} else {
|
|
401
|
+
if (obj.custom_edit) {
|
|
402
|
+
return []
|
|
403
|
+
} else {
|
|
404
|
+
return [(obj.gvc.bindView(() => {
|
|
405
|
+
const id = gvc.glitter.getUUID()
|
|
406
|
+
return {
|
|
407
|
+
bind: id,
|
|
408
|
+
view: () => {
|
|
409
|
+
return `<div class="my-auto tx_title fw-normal d-flex align-items-center" style="white-space: nowrap;font-size: 16px;">顯示獨立樣式</div>
|
|
310
410
|
${GlobalWidget.switchButton(obj.gvc, obj.widget[key].refer === 'custom', (bool) => {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
411
|
+
obj.widget[key].refer = (bool) ? `custom` : `def`;
|
|
412
|
+
if (obj.widget.refreshComponent) {
|
|
413
|
+
obj.widget.refreshComponent()
|
|
414
|
+
} else if (obj.widget.refreshAll) {
|
|
415
|
+
obj.widget.refreshAll()
|
|
416
|
+
}
|
|
417
|
+
})}`
|
|
418
|
+
},
|
|
419
|
+
divCreate: {
|
|
420
|
+
class: `d-flex align-content-center px-3`,
|
|
421
|
+
style: `gap:10px;margin-top:13px;`
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}) + `<div class="px-3 pt-2" style="white-space: normal;word-break: break-all;color: #8D8D8D; font-size: 14px; font-weight: 400; ">透過設定獨立樣式在${(() => {
|
|
425
|
+
if (GlobalWidget.glitter_view_type === "mobile") {
|
|
426
|
+
return `手機`
|
|
427
|
+
} else {
|
|
428
|
+
return `電腦`
|
|
429
|
+
}
|
|
430
|
+
})()}版上顯示特定設計效果</div>`), `<div class="mx-n3" style="background: #DDD;height: 1px;"></div>`].join(`<div style="height:18px;"></div>`)
|
|
431
|
+
}
|
|
332
432
|
|
|
333
433
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
434
|
+
}
|
|
435
|
+
})()).join('<div class="my-3"></div>')
|
|
436
|
+
}
|
|
337
437
|
</div>`
|
|
338
|
-
|
|
438
|
+
}
|
|
339
439
|
|
|
340
|
-
|
|
341
|
-
|
|
440
|
+
return obj.gvc.bindView(() => {
|
|
441
|
+
return {
|
|
342
442
|
bind: id,
|
|
343
443
|
view: () => {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}
|
|
368
|
-
return view.join('')
|
|
369
|
-
} else {
|
|
370
|
-
return obj.view(obj.widget, 'def')
|
|
371
|
-
}
|
|
372
|
-
} catch (e) {
|
|
373
|
-
console.log(e)
|
|
374
|
-
return `${e}`
|
|
444
|
+
if (select_bt === 'ai_editor') {
|
|
445
|
+
return new Promise((resolve, reject) => {
|
|
446
|
+
gvc.glitter.getModule(gvc.glitter.root_path+'cms-plugin/ai-generator/editor-ai.js', (EditorAi) => {
|
|
447
|
+
resolve([`<div class="mx-n2">${ai_switch()}</div>`, EditorAi.view(gvc)].join(''))
|
|
448
|
+
})
|
|
449
|
+
})
|
|
450
|
+
}
|
|
451
|
+
const view = (() => {
|
|
452
|
+
try {
|
|
453
|
+
if (GlobalWidget.glitter_view_type === 'mobile') {
|
|
454
|
+
const view = [selector(obj.widget.mobile, 'mobile')]
|
|
455
|
+
if (obj.widget.mobile.refer === 'custom') {
|
|
456
|
+
view.push(obj.view(obj.widget.mobile, 'mobile'))
|
|
457
|
+
} else {
|
|
458
|
+
view.push(obj.view(obj.widget, 'def'))
|
|
459
|
+
}
|
|
460
|
+
return view.join('')
|
|
461
|
+
} else if (GlobalWidget.glitter_view_type === 'desktop') {
|
|
462
|
+
const view = [selector(obj.widget.desktop, 'desktop')]
|
|
463
|
+
if (obj.widget.desktop.refer === 'custom') {
|
|
464
|
+
view.push(obj.view(obj.widget.desktop, 'desktop'))
|
|
465
|
+
} else {
|
|
466
|
+
view.push(obj.view(obj.widget, 'def'))
|
|
375
467
|
}
|
|
376
|
-
|
|
377
|
-
|
|
468
|
+
return view.join('')
|
|
469
|
+
} else {
|
|
470
|
+
return obj.view(obj.widget, 'def')
|
|
471
|
+
}
|
|
472
|
+
} catch (e) {
|
|
473
|
+
console.log(e)
|
|
474
|
+
return `${e}`
|
|
475
|
+
}
|
|
476
|
+
})()
|
|
477
|
+
return [view].join('')
|
|
378
478
|
}
|
|
379
|
-
|
|
380
|
-
|
|
479
|
+
}
|
|
480
|
+
})
|
|
481
|
+
}
|
|
482
|
+
})());
|
|
483
|
+
(window.parent as any).document.querySelector('.'+outer_id).outerHTML = civ.join('')
|
|
484
|
+
}
|
|
381
485
|
}
|
|
486
|
+
})
|
|
382
487
|
}
|
|
383
488
|
|
|
384
489
|
public static showCaseData(obj: {
|
package/lowcode/index.html
CHANGED
|
@@ -2936,7 +2936,7 @@
|
|
|
2936
2936
|
};
|
|
2937
2937
|
|
|
2938
2938
|
function execute() {
|
|
2939
|
-
fetch(window.glitterBackend + `/api/v1/template?appName=${appName}&tag=${encodeURIComponent((typeof cf === 'object') ? cf.tag : tag)}&preload=true`, requestOptions)
|
|
2939
|
+
fetch(window.glitterBackend + `/api/v1/template?appName=${appName}&tag=${encodeURIComponent((typeof cf === 'object') ? cf.tag : tag)}&preload=true&page_refer=${encodeURIComponent(window.page_refer || '')}`, requestOptions)
|
|
2940
2940
|
.then(response => response.json())
|
|
2941
2941
|
.then(response => {
|
|
2942
2942
|
for (const b of response.result) {
|
|
@@ -219,7 +219,14 @@ export class ToolSetting {
|
|
|
219
219
|
<div
|
|
220
220
|
style="align-self: stretch; color: #393939; font-size: 15px; font-weight: 400; word-wrap: break-word"
|
|
221
221
|
>
|
|
222
|
-
${
|
|
222
|
+
${(() => {
|
|
223
|
+
if ((dd.tag === '標頭元件') && gvc.glitter.share.is_blog_editor()) {
|
|
224
|
+
return gvc.glitter.share.editorViewModel.selectItem.label;
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
return refer_widget.template_config.name;
|
|
228
|
+
}
|
|
229
|
+
})()}
|
|
223
230
|
</div>
|
|
224
231
|
</div>
|
|
225
232
|
|
|
@@ -354,3 +361,4 @@ ToolSetting.tool_setting_list = [
|
|
|
354
361
|
hint: `用戶於首頁時會彈跳出來的輪播廣告`,
|
|
355
362
|
},
|
|
356
363
|
];
|
|
364
|
+
window.glitter.setModule(import.meta.url, ToolSetting);
|
|
@@ -190,6 +190,7 @@ export class ToolSetting {
|
|
|
190
190
|
//主元件
|
|
191
191
|
const refer_widget = await (async () => {
|
|
192
192
|
if (['標頭元件', '頁腳元件', '商品卡片', '廣告輪播'].includes(dd.tag)) {
|
|
193
|
+
|
|
193
194
|
return (
|
|
194
195
|
await ApiPageConfig.getPage({
|
|
195
196
|
appName: widget.config[0].data.refer_app,
|
|
@@ -261,7 +262,13 @@ export class ToolSetting {
|
|
|
261
262
|
<div
|
|
262
263
|
style="align-self: stretch; color: #393939; font-size: 15px; font-weight: 400; word-wrap: break-word"
|
|
263
264
|
>
|
|
264
|
-
${
|
|
265
|
+
${(()=>{
|
|
266
|
+
if((dd.tag==='標頭元件') && gvc.glitter.share.is_blog_editor()){
|
|
267
|
+
return gvc.glitter.share.editorViewModel.selectItem.label;
|
|
268
|
+
}else{
|
|
269
|
+
return refer_widget.template_config.name;
|
|
270
|
+
}
|
|
271
|
+
})()}
|
|
265
272
|
</div>
|
|
266
273
|
</div>
|
|
267
274
|
|
|
@@ -371,3 +378,4 @@ export class ToolSetting {
|
|
|
371
378
|
].join('');
|
|
372
379
|
}
|
|
373
380
|
}
|
|
381
|
+
(window as any).glitter.setModule(import.meta.url,ToolSetting)
|