ts-glitter 13.8.821 → 13.8.822
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 +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/cms-plugin/shopping-product-setting.js +4 -0
- package/lowcode/cms-plugin/shopping-product-setting.ts +4 -3
- package/lowcode/jspage/function-page/setting_editor.js +131 -79
- package/lowcode/jspage/function-page/setting_editor.ts +238 -197
- package/package.json +1 -1
package/lowcode/Entry.js
CHANGED
|
@@ -70,7 +70,7 @@ export class Entry {
|
|
|
70
70
|
}
|
|
71
71
|
window.renderClock = (_a = window.renderClock) !== null && _a !== void 0 ? _a : clockF();
|
|
72
72
|
console.log(`Entry-time:`, window.renderClock.stop());
|
|
73
|
-
glitter.share.editerVersion = 'V_13.8.
|
|
73
|
+
glitter.share.editerVersion = 'V_13.8.822';
|
|
74
74
|
glitter.share.start = new Date();
|
|
75
75
|
const vm = {
|
|
76
76
|
appConfig: [],
|
package/lowcode/Entry.ts
CHANGED
|
@@ -71,7 +71,7 @@ export class Entry {
|
|
|
71
71
|
}
|
|
72
72
|
(window as any).renderClock = (window as any).renderClock ?? clockF();
|
|
73
73
|
console.log(`Entry-time:`, (window as any).renderClock.stop());
|
|
74
|
-
glitter.share.editerVersion = 'V_13.8.
|
|
74
|
+
glitter.share.editerVersion = 'V_13.8.822';
|
|
75
75
|
glitter.share.start = new Date();
|
|
76
76
|
const vm: {
|
|
77
77
|
appConfig: any;
|
|
@@ -1880,6 +1880,10 @@ export class ShoppingProductSetting {
|
|
|
1880
1880
|
else {
|
|
1881
1881
|
obj.vm.replaceData = postMD;
|
|
1882
1882
|
}
|
|
1883
|
+
const origin_data = JSON.stringify(postMD);
|
|
1884
|
+
window.parent.glitter.share.checkData = () => {
|
|
1885
|
+
return origin_data === JSON.stringify(postMD);
|
|
1886
|
+
};
|
|
1883
1887
|
const html = String.raw;
|
|
1884
1888
|
const gvc = obj.gvc;
|
|
1885
1889
|
const seoID = gvc.glitter.getUUID();
|
|
@@ -1572,7 +1572,6 @@ export class ShoppingProductSetting {
|
|
|
1572
1572
|
}) {
|
|
1573
1573
|
const html = String.raw;
|
|
1574
1574
|
let postMD: any = obj.defData;
|
|
1575
|
-
|
|
1576
1575
|
let variant: any = {};
|
|
1577
1576
|
let orignData: any = {};
|
|
1578
1577
|
let index: number = 0;
|
|
@@ -1584,7 +1583,6 @@ export class ShoppingProductSetting {
|
|
|
1584
1583
|
orignData = data;
|
|
1585
1584
|
}
|
|
1586
1585
|
});
|
|
1587
|
-
|
|
1588
1586
|
function checkStore(next: () => void) {
|
|
1589
1587
|
const dialog = new ShareDialog(gvc.glitter);
|
|
1590
1588
|
if (JSON.stringify(orignData) !== JSON.stringify(variant)) {
|
|
@@ -1601,7 +1599,6 @@ export class ShoppingProductSetting {
|
|
|
1601
1599
|
next();
|
|
1602
1600
|
}
|
|
1603
1601
|
}
|
|
1604
|
-
|
|
1605
1602
|
document.querySelector('.pd-w-c')!.scrollTop = 0;
|
|
1606
1603
|
return html` <div class="d-flex" style="font-size: 16px;color:#393939;font-weight: 400;position: relative;padding:0;padding-bottom: ${obj.single ? `0px` : `80px`};">
|
|
1607
1604
|
${BgWidget.container(
|
|
@@ -2213,6 +2210,10 @@ export class ShoppingProductSetting {
|
|
|
2213
2210
|
} else {
|
|
2214
2211
|
obj.vm.replaceData = postMD;
|
|
2215
2212
|
}
|
|
2213
|
+
const origin_data=JSON.stringify(postMD);
|
|
2214
|
+
(window.parent as any).glitter.share.checkData=()=>{
|
|
2215
|
+
return origin_data===JSON.stringify(postMD)
|
|
2216
|
+
}
|
|
2216
2217
|
const html = String.raw;
|
|
2217
2218
|
const gvc = obj.gvc;
|
|
2218
2219
|
const seoID = gvc.glitter.getUUID();
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
1
10
|
import { ShareDialog } from '../../glitterBundle/dialog/ShareDialog.js';
|
|
2
11
|
import { EditorElem } from '../../glitterBundle/plugins/editor-elem.js';
|
|
3
12
|
import { Storage } from '../../glitterBundle/helper/storage.js';
|
|
@@ -72,13 +81,15 @@ export class Setting_editor {
|
|
|
72
81
|
Storage.select_bg_btn = 'custom';
|
|
73
82
|
return html `
|
|
74
83
|
<div
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
class="d-flex p-3 bg-white border-bottom align-items-end d-lg-none"
|
|
85
|
+
style="${parseInt(glitter.share.top_inset, 10) ? `padding-top:${glitter.share.top_inset}px !important;` : ``}"
|
|
77
86
|
>
|
|
78
|
-
<img src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718986163099-logo.svg"
|
|
79
|
-
<span class="ms-1"
|
|
87
|
+
<img src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718986163099-logo.svg"/>
|
|
88
|
+
<span class="ms-1"
|
|
89
|
+
style="font-size: 12px;color: orange;">${glitter.share.editerVersion}</span>
|
|
80
90
|
</div>
|
|
81
|
-
<div class="w-100 bg-white"
|
|
91
|
+
<div class="w-100 bg-white"
|
|
92
|
+
style="overflow-y:auto; ${document.body.offsetWidth > 768 ? `padding-top: ${EditorConfig.getPaddingTop(gvc)}px;` : ''}">
|
|
82
93
|
${(() => {
|
|
83
94
|
if (loading) {
|
|
84
95
|
return BgWidget.spinner({ text: { visible: false } });
|
|
@@ -87,30 +98,48 @@ export class Setting_editor {
|
|
|
87
98
|
const authConfig = permissionData.config.auth;
|
|
88
99
|
let list = [];
|
|
89
100
|
function click_item(index) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
if (glitter.share.checkData && (!glitter.share.checkData())) {
|
|
103
|
+
const dialog = new ShareDialog(glitter);
|
|
104
|
+
const result = yield new Promise((resolve, reject) => {
|
|
105
|
+
dialog.checkYesOrNot({
|
|
106
|
+
text: '尚未儲存內容,是否確認跳轉?', callback: (response) => {
|
|
107
|
+
resolve(response);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
if (!result) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
glitter.share.checkData = () => { return true; };
|
|
116
|
+
const itemPage = items[parseInt(index)].page;
|
|
117
|
+
const page = permissionTitle === 'employee' && !getCRUD(itemPage).read ? 'noPermission' : itemPage;
|
|
118
|
+
if (['page_layout', 'dev_mode'].indexOf(page) !== -1) {
|
|
119
|
+
const url = new URL(location.href);
|
|
120
|
+
if (page === 'page_layout') {
|
|
121
|
+
url.searchParams.set('function', 'user-editor');
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
Storage.view_type = 'col3';
|
|
125
|
+
url.searchParams.set('function', 'page-editor');
|
|
126
|
+
}
|
|
127
|
+
location.href = url.href;
|
|
96
128
|
}
|
|
97
129
|
else {
|
|
98
|
-
Storage.
|
|
99
|
-
|
|
130
|
+
Storage.select_item = index;
|
|
131
|
+
window.editerData = undefined;
|
|
132
|
+
glitter.setUrlParameter('tab', page);
|
|
133
|
+
const url = new URL('./' + page, glitter.root_path);
|
|
134
|
+
url.searchParams.set('appName', items[parseInt(index)].appName);
|
|
135
|
+
url.searchParams.set('cms', 'true');
|
|
136
|
+
url.searchParams.set('page', page);
|
|
137
|
+
$('#editerCenter').html(html `
|
|
138
|
+
<iframe src="${url.href}"
|
|
139
|
+
style="border: none;height: calc(100%);"></iframe>`);
|
|
100
140
|
}
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
Storage.select_item = index;
|
|
105
|
-
window.editerData = undefined;
|
|
106
|
-
glitter.setUrlParameter('tab', page);
|
|
107
|
-
const url = new URL('./' + page, glitter.root_path);
|
|
108
|
-
url.searchParams.set('appName', items[parseInt(index)].appName);
|
|
109
|
-
url.searchParams.set('cms', 'true');
|
|
110
|
-
url.searchParams.set('page', page);
|
|
111
|
-
$('#editerCenter').html(html ` <iframe src="${url.href}" style="border: none;height: calc(100%);"></iframe>`);
|
|
112
|
-
}
|
|
113
|
-
return true;
|
|
141
|
+
return true;
|
|
142
|
+
});
|
|
114
143
|
}
|
|
115
144
|
items
|
|
116
145
|
.filter((dd) => {
|
|
@@ -206,9 +235,9 @@ export class Setting_editor {
|
|
|
206
235
|
}
|
|
207
236
|
}
|
|
208
237
|
return html `
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
238
|
+
${dd.title === '品牌官網' ? `<div class="my-4 border-top"></div>` : ``}
|
|
239
|
+
<li>
|
|
240
|
+
<div
|
|
212
241
|
class="w-100 fw-500 d-flex align-items-center fs-6 hoverBtn h_item rounded px-2 tx_700
|
|
213
242
|
${(_b = (_a = dd === null || dd === void 0 ? void 0 : dd.info) === null || _a === void 0 ? void 0 : _a.guideClass) !== null && _b !== void 0 ? _b : ''} ${dd.type === 'container' ? ` mainRow${index}` : ''}"
|
|
214
243
|
style="gap:7px;color:#393939;${dd.toggle ? `border-radius: 5px;background: #F2F2F2;` : ``}"
|
|
@@ -234,21 +263,29 @@ export class Setting_editor {
|
|
|
234
263
|
glitter.closeDrawer();
|
|
235
264
|
}
|
|
236
265
|
})}"
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
266
|
+
>
|
|
267
|
+
${dd.icon ? html `<img src="${dd.icon}"
|
|
268
|
+
style="width:18px;height:18px;"/>` : ``}
|
|
269
|
+
<span>${dd.title}</span>
|
|
270
|
+
<div class="flex-fill"></div>
|
|
271
|
+
${dd.type === 'container'
|
|
242
272
|
? !dd.toggle
|
|
243
|
-
? html ` <i
|
|
244
|
-
|
|
273
|
+
? html ` <i
|
|
274
|
+
class="fa-regular fa-angle-right hoverBtn me-1"
|
|
275
|
+
aria-hidden="true"></i> `
|
|
276
|
+
: html ` <i
|
|
277
|
+
class="fa-regular fa-angle-down hoverBtn me-1"
|
|
278
|
+
aria-hidden="true"></i>`
|
|
245
279
|
: html ` ${dd.info && dd.info.icon ? `<img src="${dd.info.icon}" style="width:18px;height:18px;">` : ``} `}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
? html `
|
|
280
|
+
</div>
|
|
281
|
+
${dd.type === 'container'
|
|
282
|
+
? html `
|
|
283
|
+
<div class="ps-4 pt-2 pb-2 ${dd.toggle ? `` : `d-none`}">
|
|
284
|
+
${renderItem(dd.child)}
|
|
285
|
+
</div>`
|
|
249
286
|
: ``}
|
|
250
|
-
|
|
251
|
-
|
|
287
|
+
</li>
|
|
288
|
+
`;
|
|
252
289
|
})
|
|
253
290
|
.join('<div class="my-1"></div>');
|
|
254
291
|
},
|
|
@@ -262,23 +299,25 @@ export class Setting_editor {
|
|
|
262
299
|
},
|
|
263
300
|
],
|
|
264
301
|
},
|
|
265
|
-
onCreate: () => {
|
|
302
|
+
onCreate: () => {
|
|
303
|
+
},
|
|
266
304
|
};
|
|
267
305
|
});
|
|
268
306
|
}
|
|
269
|
-
return html `
|
|
307
|
+
return html `
|
|
308
|
+
<div class="p-2">${renderItem(list)}</div>`;
|
|
270
309
|
}
|
|
271
310
|
return renderHTML(items);
|
|
272
311
|
})()}
|
|
273
312
|
</div>
|
|
274
313
|
<div
|
|
275
|
-
|
|
276
|
-
|
|
314
|
+
class="bg-white w-100 align-items-center d-flex editor_item_title start-0 z-index-9 ps-2 border-bottom border-top position-absolute bottom-0 border-end d-none"
|
|
315
|
+
style="z-index: 999;border:none;"
|
|
277
316
|
>
|
|
278
317
|
<div
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
318
|
+
class="hoverBtn d-flex align-items-center justify-content-center border me-2"
|
|
319
|
+
style="height:30px;width:30px;border-radius:5px;cursor:pointer;color:#151515;"
|
|
320
|
+
onclick="${gvc.event(() => {
|
|
282
321
|
Setting_editor.addPlugin(gvc, () => {
|
|
283
322
|
gvc.notifyDataChange(id);
|
|
284
323
|
});
|
|
@@ -293,7 +332,8 @@ export class Setting_editor {
|
|
|
293
332
|
};
|
|
294
333
|
});
|
|
295
334
|
}
|
|
296
|
-
static center(gvc, viewModel, createID) {
|
|
335
|
+
static center(gvc, viewModel, createID) {
|
|
336
|
+
}
|
|
297
337
|
static addPlugin(gvc, callback) {
|
|
298
338
|
const saasConfig = window.saasConfig;
|
|
299
339
|
const html = String.raw;
|
|
@@ -316,12 +356,13 @@ export class Setting_editor {
|
|
|
316
356
|
view: () => {
|
|
317
357
|
return html `
|
|
318
358
|
<div class="position-relative bgf6 d-flex align-items-center p-2 border-bottom shadow">
|
|
319
|
-
<span class="fs-6 fw-bold "
|
|
359
|
+
<span class="fs-6 fw-bold "
|
|
360
|
+
style="color:black;">${updateModel ? `插件設定` : '新增插件'}</span>
|
|
320
361
|
<div class="flex-fill"></div>
|
|
321
362
|
<button
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
363
|
+
class="btn btn-primary-c ${updateModel ? `d-none` : ``}"
|
|
364
|
+
style="height: 28px;width:40px;font-size:14px;"
|
|
365
|
+
onclick="${gvc.event(() => {
|
|
325
366
|
items.push(postMd);
|
|
326
367
|
NormalPageEditor.back();
|
|
327
368
|
})}"
|
|
@@ -343,9 +384,10 @@ export class Setting_editor {
|
|
|
343
384
|
EditorElem.searchInput({
|
|
344
385
|
gvc: gvc,
|
|
345
386
|
title: html `群組分類
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
387
|
+
<div class="alert alert-info p-2 mt-2 fs-base fw-500 mb-0"
|
|
388
|
+
style="word-break: break-all;white-space:normal">
|
|
389
|
+
加入 / 進行分類:<br/>例如:頁面/登入/註冊設定
|
|
390
|
+
</div>`,
|
|
349
391
|
def: postMd.group,
|
|
350
392
|
array: (() => {
|
|
351
393
|
let array = [];
|
|
@@ -416,10 +458,12 @@ export class Setting_editor {
|
|
|
416
458
|
view: (() => {
|
|
417
459
|
const viewComponent = {
|
|
418
460
|
add_plus: (title, event) => {
|
|
419
|
-
return html `
|
|
420
|
-
<
|
|
421
|
-
|
|
422
|
-
|
|
461
|
+
return html `
|
|
462
|
+
<div class="w-100 fw-500 d-flex align-items-center justify-content-center fs-6 hoverBtn h_item border rounded"
|
|
463
|
+
style="gap:5px;color:#3366BB;" onclick="${event}">
|
|
464
|
+
<i class="fa-solid fa-plus"></i>
|
|
465
|
+
<span>${title}</span>
|
|
466
|
+
</div>`;
|
|
423
467
|
},
|
|
424
468
|
};
|
|
425
469
|
return gvc.bindView(() => {
|
|
@@ -482,9 +526,9 @@ export class Setting_editor {
|
|
|
482
526
|
return html `
|
|
483
527
|
<li>
|
|
484
528
|
<div
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
529
|
+
class="w-100 fw-500 d-flex align-items-center fs-6 hoverBtn h_item rounded px-2"
|
|
530
|
+
style="gap:5px;color:#393939;"
|
|
531
|
+
onclick="${gvc.event(() => {
|
|
488
532
|
if (dd.type === 'container') {
|
|
489
533
|
dd.toggle = !dd.toggle;
|
|
490
534
|
gvc.notifyDataChange(id);
|
|
@@ -493,8 +537,12 @@ export class Setting_editor {
|
|
|
493
537
|
>
|
|
494
538
|
${dd.type === 'container'
|
|
495
539
|
? !dd.toggle
|
|
496
|
-
? html ` <i
|
|
497
|
-
|
|
540
|
+
? html ` <i
|
|
541
|
+
class="fa-regular fa-angle-right hoverBtn me-1"
|
|
542
|
+
aria-hidden="true"></i> `
|
|
543
|
+
: html `<i
|
|
544
|
+
class="fa-regular fa-angle-down hoverBtn me-1"
|
|
545
|
+
aria-hidden="true"></i>`
|
|
498
546
|
: html ` ${dd.info && dd.info.icon ? `<img src="${dd.info.icon}" style="width:18px;height:18px;">` : ``} `}
|
|
499
547
|
${dd.icon ? `<img src="${dd.icon}" style="width:18px;height:18px;">` : ``}
|
|
500
548
|
<span>${dd.title}</span>
|
|
@@ -502,9 +550,9 @@ export class Setting_editor {
|
|
|
502
550
|
${dd.type === 'container'
|
|
503
551
|
? ``
|
|
504
552
|
: html `
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
553
|
+
<i
|
|
554
|
+
class="fa-solid fa-pencil text-black hoverBtn me-2 child"
|
|
555
|
+
onclick="${gvc.event(() => {
|
|
508
556
|
select = dd.info;
|
|
509
557
|
NormalPageEditor.toggle({
|
|
510
558
|
visible: true,
|
|
@@ -512,10 +560,10 @@ export class Setting_editor {
|
|
|
512
560
|
title: dd.title,
|
|
513
561
|
});
|
|
514
562
|
})}"
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
563
|
+
></i>
|
|
564
|
+
<i
|
|
565
|
+
class="fa-sharp fa-solid fa-trash-can text-black hoverBtn me-2 child"
|
|
566
|
+
onclick="${gvc.event(() => {
|
|
519
567
|
const dialog = new ShareDialog(gvc.glitter);
|
|
520
568
|
dialog.checkYesOrNot({
|
|
521
569
|
callback: (response) => {
|
|
@@ -535,11 +583,14 @@ export class Setting_editor {
|
|
|
535
583
|
text: '是否確認刪除插件?',
|
|
536
584
|
});
|
|
537
585
|
})}"
|
|
538
|
-
|
|
539
|
-
|
|
586
|
+
></i>
|
|
587
|
+
`}
|
|
540
588
|
<i class="fa-solid fa-grip-dots-vertical"></i>
|
|
541
589
|
</div>
|
|
542
|
-
${dd.type === 'container' ? html `
|
|
590
|
+
${dd.type === 'container' ? html `
|
|
591
|
+
<div class="ps-2 ${dd.toggle ? `` : `d-none`}">
|
|
592
|
+
${renderItems(dd.child)}
|
|
593
|
+
</div>` : ``}
|
|
543
594
|
</li>
|
|
544
595
|
`;
|
|
545
596
|
})
|
|
@@ -564,7 +615,8 @@ export class Setting_editor {
|
|
|
564
615
|
Sortable.create(document.getElementById(id), {
|
|
565
616
|
group: gvc.glitter.getUUID(),
|
|
566
617
|
animation: 100,
|
|
567
|
-
onChange: function (evt) {
|
|
618
|
+
onChange: function (evt) {
|
|
619
|
+
},
|
|
568
620
|
onEnd: (evt) => {
|
|
569
621
|
let changeItemStart = 0;
|
|
570
622
|
let changeItemEnd = 0;
|
|
@@ -602,9 +654,9 @@ export class Setting_editor {
|
|
|
602
654
|
<span class="fs-6 fw-bold " style="color:black;">插件設定</span>
|
|
603
655
|
<div class="flex-fill"></div>
|
|
604
656
|
<button
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
657
|
+
class="btn btn-primary-c"
|
|
658
|
+
style="height: 28px;width:40px;font-size:14px;"
|
|
659
|
+
onclick="${gvc.event(() => {
|
|
608
660
|
dialog.dataLoading({ visible: true });
|
|
609
661
|
ApiPageConfig.setPrivateConfigV2({
|
|
610
662
|
key: 'backend_list',
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import {GVC} from '../../glitterBundle/GVController.js';
|
|
2
|
+
import {ShareDialog} from '../../glitterBundle/dialog/ShareDialog.js';
|
|
3
|
+
import {EditorElem} from '../../glitterBundle/plugins/editor-elem.js';
|
|
4
|
+
import {Storage} from '../../glitterBundle/helper/storage.js';
|
|
5
|
+
import {ApiPageConfig} from '../../api/pageConfig.js';
|
|
6
|
+
import {NormalPageEditor} from '../../editor/normal-page-editor.js';
|
|
7
|
+
import {AddComponent} from '../../editor/add-component.js';
|
|
8
|
+
import {EditorConfig} from '../../editor-config.js';
|
|
9
|
+
import {ApiUser} from '../../glitter-base/route/user.js';
|
|
10
|
+
import {BgWidget} from '../../backend-manager/bg-widget.js';
|
|
11
11
|
|
|
12
12
|
export class Setting_editor {
|
|
13
13
|
static pluginUrl = '';
|
|
@@ -643,7 +643,7 @@ export class Setting_editor {
|
|
|
643
643
|
static left(gvc: GVC, viewModel: any, createID: string, gBundle: any) {
|
|
644
644
|
const html = String.raw;
|
|
645
645
|
const glitter = gvc.glitter;
|
|
646
|
-
glitter.share.checkData=()=>{
|
|
646
|
+
glitter.share.checkData = () => {
|
|
647
647
|
return true
|
|
648
648
|
}
|
|
649
649
|
return gvc.bindView(() => {
|
|
@@ -687,7 +687,7 @@ export class Setting_editor {
|
|
|
687
687
|
}).then((data) => {
|
|
688
688
|
if (data.result) {
|
|
689
689
|
permissionTitle = data.response.store_permission_title;
|
|
690
|
-
permissionData = data.response.data[0] ?? {
|
|
690
|
+
permissionData = data.response.data[0] ?? {config: {auth: []}};
|
|
691
691
|
resolve();
|
|
692
692
|
} else {
|
|
693
693
|
reject();
|
|
@@ -704,23 +704,39 @@ export class Setting_editor {
|
|
|
704
704
|
Storage.select_bg_btn = 'custom';
|
|
705
705
|
return html`
|
|
706
706
|
<div
|
|
707
|
-
|
|
708
|
-
|
|
707
|
+
class="d-flex p-3 bg-white border-bottom align-items-end d-lg-none"
|
|
708
|
+
style="${parseInt(glitter.share.top_inset, 10) ? `padding-top:${glitter.share.top_inset}px !important;` : ``}"
|
|
709
709
|
>
|
|
710
|
-
<img src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718986163099-logo.svg"
|
|
711
|
-
<span class="ms-1"
|
|
710
|
+
<img src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718986163099-logo.svg"/>
|
|
711
|
+
<span class="ms-1"
|
|
712
|
+
style="font-size: 12px;color: orange;">${glitter.share.editerVersion}</span>
|
|
712
713
|
</div>
|
|
713
|
-
<div class="w-100 bg-white"
|
|
714
|
-
|
|
714
|
+
<div class="w-100 bg-white"
|
|
715
|
+
style="overflow-y:auto; ${document.body.offsetWidth > 768 ? `padding-top: ${EditorConfig.getPaddingTop(gvc)}px;` : ''}">
|
|
716
|
+
${(() => {
|
|
715
717
|
if (loading) {
|
|
716
|
-
return BgWidget.spinner({
|
|
718
|
+
return BgWidget.spinner({text: {visible: false}});
|
|
717
719
|
}
|
|
718
720
|
|
|
719
721
|
function renderHTML(items: any) {
|
|
720
722
|
const authConfig = permissionData.config.auth;
|
|
721
723
|
let list: any = [];
|
|
722
724
|
|
|
723
|
-
function click_item(index: any) {
|
|
725
|
+
async function click_item(index: any) {
|
|
726
|
+
if (glitter.share.checkData && (!glitter.share.checkData())) {
|
|
727
|
+
const dialog = new ShareDialog(glitter)
|
|
728
|
+
const result = await new Promise((resolve, reject)=>{
|
|
729
|
+
dialog.checkYesOrNot({
|
|
730
|
+
text: '尚未儲存內容,是否確認跳轉?', callback: (response) => {
|
|
731
|
+
resolve(response)
|
|
732
|
+
}
|
|
733
|
+
})
|
|
734
|
+
})
|
|
735
|
+
if(!result){
|
|
736
|
+
return
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
glitter.share.checkData=()=>{return true}
|
|
724
740
|
const itemPage = items[parseInt(index)].page;
|
|
725
741
|
const page = permissionTitle === 'employee' && !getCRUD(itemPage).read ? 'noPermission' : itemPage;
|
|
726
742
|
if (['page_layout', 'dev_mode'].indexOf(page) !== -1) {
|
|
@@ -758,7 +774,9 @@ export class Setting_editor {
|
|
|
758
774
|
// // resolve(d2.response.result[0])
|
|
759
775
|
// })
|
|
760
776
|
|
|
761
|
-
$('#editerCenter').html(html`
|
|
777
|
+
$('#editerCenter').html(html`
|
|
778
|
+
<iframe src="${url.href}"
|
|
779
|
+
style="border: none;height: calc(100%);"></iframe>`);
|
|
762
780
|
|
|
763
781
|
}
|
|
764
782
|
return true;
|
|
@@ -835,7 +853,7 @@ export class Setting_editor {
|
|
|
835
853
|
|
|
836
854
|
function getCRUD(page: string): { read: boolean } {
|
|
837
855
|
const data = authConfig.find((item: any) => item.key === page);
|
|
838
|
-
return data ? data.value : {
|
|
856
|
+
return data ? data.value : {read: false};
|
|
839
857
|
}
|
|
840
858
|
|
|
841
859
|
function renderItem(list: any) {
|
|
@@ -860,49 +878,57 @@ export class Setting_editor {
|
|
|
860
878
|
}
|
|
861
879
|
|
|
862
880
|
return html`
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
881
|
+
${dd.title === '品牌官網' ? `<div class="my-4 border-top"></div>` : ``}
|
|
882
|
+
<li>
|
|
883
|
+
<div
|
|
866
884
|
class="w-100 fw-500 d-flex align-items-center fs-6 hoverBtn h_item rounded px-2 tx_700
|
|
867
885
|
${dd?.info?.guideClass ?? ''} ${dd.type === 'container' ? ` mainRow${index}` : ''}"
|
|
868
886
|
style="gap:7px;color:#393939;${dd.toggle ? `border-radius: 5px;background: #F2F2F2;` : ``}"
|
|
869
887
|
onclick="${gvc.event(() => {
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
? !dd.toggle
|
|
897
|
-
? html` <i class="fa-regular fa-angle-right hoverBtn me-1" aria-hidden="true"></i> `
|
|
898
|
-
: html` <i class="fa-regular fa-angle-down hoverBtn me-1" aria-hidden="true"></i>`
|
|
899
|
-
: html` ${dd.info && dd.info.icon ? `<img src="${dd.info.icon}" style="width:18px;height:18px;">` : ``} `}
|
|
900
|
-
</div>
|
|
888
|
+
if (dd.type === 'container') {
|
|
889
|
+
list.map((d1: any) => {
|
|
890
|
+
d1.toggle = false;
|
|
891
|
+
});
|
|
892
|
+
dd.toggle = !dd.toggle;
|
|
893
|
+
gvc.notifyDataChange(id);
|
|
894
|
+
} else {
|
|
895
|
+
if (items[parseInt(dd.index)].page === 'app-design') {
|
|
896
|
+
localStorage.setItem('lastSelect', '');
|
|
897
|
+
localStorage.setItem('ViewType', 'mobile');
|
|
898
|
+
glitter.share.switch_to_web_builder('index-mobile', 'mobile')
|
|
899
|
+
return;
|
|
900
|
+
}
|
|
901
|
+
// app-design
|
|
902
|
+
if (click_item(dd.index) && ['page_layout', 'dev_mode'].indexOf(items[parseInt(dd.index)].page) === -1) {
|
|
903
|
+
dd.toggle = true;
|
|
904
|
+
refreshContainer();
|
|
905
|
+
}
|
|
906
|
+
glitter.closeDrawer();
|
|
907
|
+
}
|
|
908
|
+
})}"
|
|
909
|
+
>
|
|
910
|
+
${dd.icon ? html`<img src="${dd.icon}"
|
|
911
|
+
style="width:18px;height:18px;"/>` : ``}
|
|
912
|
+
<span>${dd.title}</span>
|
|
913
|
+
<div class="flex-fill"></div>
|
|
901
914
|
${dd.type === 'container'
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
915
|
+
? !dd.toggle
|
|
916
|
+
? html` <i
|
|
917
|
+
class="fa-regular fa-angle-right hoverBtn me-1"
|
|
918
|
+
aria-hidden="true"></i> `
|
|
919
|
+
: html` <i
|
|
920
|
+
class="fa-regular fa-angle-down hoverBtn me-1"
|
|
921
|
+
aria-hidden="true"></i>`
|
|
922
|
+
: html` ${dd.info && dd.info.icon ? `<img src="${dd.info.icon}" style="width:18px;height:18px;">` : ``} `}
|
|
923
|
+
</div>
|
|
924
|
+
${dd.type === 'container'
|
|
925
|
+
? html`
|
|
926
|
+
<div class="ps-4 pt-2 pb-2 ${dd.toggle ? `` : `d-none`}">
|
|
927
|
+
${renderItem(dd.child)}
|
|
928
|
+
</div>`
|
|
929
|
+
: ``}
|
|
930
|
+
</li>
|
|
931
|
+
`;
|
|
906
932
|
})
|
|
907
933
|
.join('<div class="my-1"></div>');
|
|
908
934
|
},
|
|
@@ -916,41 +942,44 @@ export class Setting_editor {
|
|
|
916
942
|
},
|
|
917
943
|
],
|
|
918
944
|
},
|
|
919
|
-
onCreate: () => {
|
|
945
|
+
onCreate: () => {
|
|
946
|
+
},
|
|
920
947
|
};
|
|
921
948
|
});
|
|
922
949
|
}
|
|
923
950
|
|
|
924
|
-
return html`
|
|
951
|
+
return html`
|
|
952
|
+
<div class="p-2">${renderItem(list)}</div>`;
|
|
925
953
|
}
|
|
926
954
|
|
|
927
955
|
return renderHTML(items);
|
|
928
956
|
})()}
|
|
929
957
|
</div>
|
|
930
958
|
<div
|
|
931
|
-
|
|
932
|
-
|
|
959
|
+
class="bg-white w-100 align-items-center d-flex editor_item_title start-0 z-index-9 ps-2 border-bottom border-top position-absolute bottom-0 border-end d-none"
|
|
960
|
+
style="z-index: 999;border:none;"
|
|
933
961
|
>
|
|
934
962
|
<div
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
963
|
+
class="hoverBtn d-flex align-items-center justify-content-center border me-2"
|
|
964
|
+
style="height:30px;width:30px;border-radius:5px;cursor:pointer;color:#151515;"
|
|
965
|
+
onclick="${gvc.event(() => {
|
|
966
|
+
Setting_editor.addPlugin(gvc, () => {
|
|
967
|
+
gvc.notifyDataChange(id);
|
|
968
|
+
});
|
|
969
|
+
})}"
|
|
942
970
|
>
|
|
943
971
|
<i class="fa-solid fa-puzzle-piece-simple" aria-hidden="true"></i>
|
|
944
972
|
</div>
|
|
945
973
|
</div>
|
|
946
974
|
`;
|
|
947
975
|
},
|
|
948
|
-
divCreate: {
|
|
976
|
+
divCreate: {style: ``}
|
|
949
977
|
};
|
|
950
978
|
});
|
|
951
979
|
}
|
|
952
980
|
|
|
953
|
-
public static center(gvc: GVC, viewModel: any, createID: string) {
|
|
981
|
+
public static center(gvc: GVC, viewModel: any, createID: string) {
|
|
982
|
+
}
|
|
954
983
|
|
|
955
984
|
public static addPlugin(gvc: GVC, callback: () => void) {
|
|
956
985
|
const saasConfig: { config: any; api: any } = (window as any).saasConfig;
|
|
@@ -976,15 +1005,16 @@ export class Setting_editor {
|
|
|
976
1005
|
view: () => {
|
|
977
1006
|
return html`
|
|
978
1007
|
<div class="position-relative bgf6 d-flex align-items-center p-2 border-bottom shadow">
|
|
979
|
-
<span class="fs-6 fw-bold "
|
|
1008
|
+
<span class="fs-6 fw-bold "
|
|
1009
|
+
style="color:black;">${updateModel ? `插件設定` : '新增插件'}</span>
|
|
980
1010
|
<div class="flex-fill"></div>
|
|
981
1011
|
<button
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
1012
|
+
class="btn btn-primary-c ${updateModel ? `d-none` : ``}"
|
|
1013
|
+
style="height: 28px;width:40px;font-size:14px;"
|
|
1014
|
+
onclick="${gvc.event(() => {
|
|
1015
|
+
items.push(postMd);
|
|
1016
|
+
NormalPageEditor.back();
|
|
1017
|
+
})}"
|
|
988
1018
|
>
|
|
989
1019
|
儲存
|
|
990
1020
|
</button>
|
|
@@ -1003,17 +1033,18 @@ export class Setting_editor {
|
|
|
1003
1033
|
EditorElem.searchInput({
|
|
1004
1034
|
gvc: gvc,
|
|
1005
1035
|
title: html`群組分類
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1036
|
+
<div class="alert alert-info p-2 mt-2 fs-base fw-500 mb-0"
|
|
1037
|
+
style="word-break: break-all;white-space:normal">
|
|
1038
|
+
加入 / 進行分類:<br/>例如:頁面/登入/註冊設定
|
|
1039
|
+
</div>`,
|
|
1009
1040
|
def: postMd.group,
|
|
1010
1041
|
array: (() => {
|
|
1011
1042
|
let array: any = [];
|
|
1012
1043
|
items.map((dd: any) => {
|
|
1013
1044
|
if (
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1045
|
+
!array.find((d1: any) => {
|
|
1046
|
+
return d1 === dd.group;
|
|
1047
|
+
})
|
|
1017
1048
|
) {
|
|
1018
1049
|
array.push(dd.group);
|
|
1019
1050
|
}
|
|
@@ -1024,9 +1055,9 @@ export class Setting_editor {
|
|
|
1024
1055
|
callback: (text) => {
|
|
1025
1056
|
postMd.group = text;
|
|
1026
1057
|
if (
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1058
|
+
items.find((dd: any) => {
|
|
1059
|
+
return dd.group === text && dd.groupIcon;
|
|
1060
|
+
})
|
|
1030
1061
|
) {
|
|
1031
1062
|
postMd.groupIcon = items.find((dd: any) => {
|
|
1032
1063
|
return dd.group === text && dd.groupIcon;
|
|
@@ -1044,36 +1075,36 @@ export class Setting_editor {
|
|
|
1044
1075
|
},
|
|
1045
1076
|
}),
|
|
1046
1077
|
EditorElem.buttonPrimary(
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1078
|
+
postMd.moduleName || '選擇模塊',
|
|
1079
|
+
gvc.event(() => {
|
|
1080
|
+
NormalPageEditor.toggle({
|
|
1081
|
+
visible: true,
|
|
1082
|
+
view: gvc.bindView(() => {
|
|
1083
|
+
return {
|
|
1084
|
+
bind: gvc.glitter.getUUID(),
|
|
1085
|
+
view: () => {
|
|
1086
|
+
return new Promise((resolve, reject) => {
|
|
1087
|
+
resolve(
|
|
1088
|
+
AddComponent.addModuleView(
|
|
1089
|
+
gvc,
|
|
1090
|
+
'backend',
|
|
1091
|
+
(tData: any) => {
|
|
1092
|
+
postMd.appName = tData.copyApp;
|
|
1093
|
+
postMd.page = tData.copy;
|
|
1094
|
+
postMd.moduleName = tData.title;
|
|
1095
|
+
NormalPageEditor.back();
|
|
1096
|
+
},
|
|
1097
|
+
false,
|
|
1098
|
+
true
|
|
1099
|
+
)
|
|
1100
|
+
);
|
|
1101
|
+
});
|
|
1102
|
+
},
|
|
1103
|
+
};
|
|
1104
|
+
}),
|
|
1105
|
+
title: '選擇插件',
|
|
1106
|
+
});
|
|
1107
|
+
})
|
|
1077
1108
|
),
|
|
1078
1109
|
].join('')}
|
|
1079
1110
|
</div>
|
|
@@ -1093,10 +1124,12 @@ export class Setting_editor {
|
|
|
1093
1124
|
view: (() => {
|
|
1094
1125
|
const viewComponent = {
|
|
1095
1126
|
add_plus: (title: string, event: string) => {
|
|
1096
|
-
return html`
|
|
1097
|
-
<
|
|
1098
|
-
|
|
1099
|
-
|
|
1127
|
+
return html`
|
|
1128
|
+
<div class="w-100 fw-500 d-flex align-items-center justify-content-center fs-6 hoverBtn h_item border rounded"
|
|
1129
|
+
style="gap:5px;color:#3366BB;" onclick="${event}">
|
|
1130
|
+
<i class="fa-solid fa-plus"></i>
|
|
1131
|
+
<span>${title}</span>
|
|
1132
|
+
</div>`;
|
|
1100
1133
|
},
|
|
1101
1134
|
};
|
|
1102
1135
|
return gvc.bindView(() => {
|
|
@@ -1161,63 +1194,70 @@ export class Setting_editor {
|
|
|
1161
1194
|
return html`
|
|
1162
1195
|
<li>
|
|
1163
1196
|
<div
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1197
|
+
class="w-100 fw-500 d-flex align-items-center fs-6 hoverBtn h_item rounded px-2"
|
|
1198
|
+
style="gap:5px;color:#393939;"
|
|
1199
|
+
onclick="${gvc.event(() => {
|
|
1200
|
+
if (dd.type === 'container') {
|
|
1201
|
+
dd.toggle = !dd.toggle;
|
|
1202
|
+
gvc.notifyDataChange(id);
|
|
1203
|
+
}
|
|
1204
|
+
})}"
|
|
1172
1205
|
>
|
|
1173
1206
|
${dd.type === 'container'
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1207
|
+
? !dd.toggle
|
|
1208
|
+
? html` <i
|
|
1209
|
+
class="fa-regular fa-angle-right hoverBtn me-1"
|
|
1210
|
+
aria-hidden="true"></i> `
|
|
1211
|
+
: html`<i
|
|
1212
|
+
class="fa-regular fa-angle-down hoverBtn me-1"
|
|
1213
|
+
aria-hidden="true"></i>`
|
|
1214
|
+
: html` ${dd.info && dd.info.icon ? `<img src="${dd.info.icon}" style="width:18px;height:18px;">` : ``} `}
|
|
1178
1215
|
${dd.icon ? `<img src="${dd.icon}" style="width:18px;height:18px;">` : ``}
|
|
1179
1216
|
<span>${dd.title}</span>
|
|
1180
1217
|
<div class="flex-fill"></div>
|
|
1181
1218
|
${dd.type === 'container'
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1219
|
+
? ``
|
|
1220
|
+
: html`
|
|
1221
|
+
<i
|
|
1222
|
+
class="fa-solid fa-pencil text-black hoverBtn me-2 child"
|
|
1223
|
+
onclick="${gvc.event(() => {
|
|
1224
|
+
select = dd.info;
|
|
1225
|
+
NormalPageEditor.toggle({
|
|
1226
|
+
visible: true,
|
|
1227
|
+
view: addPlugin(select),
|
|
1228
|
+
title: dd.title,
|
|
1229
|
+
});
|
|
1230
|
+
})}"
|
|
1231
|
+
></i>
|
|
1232
|
+
<i
|
|
1233
|
+
class="fa-sharp fa-solid fa-trash-can text-black hoverBtn me-2 child"
|
|
1234
|
+
onclick="${gvc.event(() => {
|
|
1235
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
1236
|
+
dialog.checkYesOrNot({
|
|
1237
|
+
callback: (response) => {
|
|
1238
|
+
if (response) {
|
|
1239
|
+
items = items.filter((d2: any, index: any) => {
|
|
1240
|
+
return index !== dd.index;
|
|
1241
|
+
});
|
|
1242
|
+
list.splice(index, 1);
|
|
1243
|
+
if (list.length === 0) {
|
|
1244
|
+
refreshContainer();
|
|
1245
|
+
} else {
|
|
1246
|
+
gvc.notifyDataChange(id);
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
},
|
|
1250
|
+
text: '是否確認刪除插件?',
|
|
1251
|
+
});
|
|
1252
|
+
})}"
|
|
1253
|
+
></i>
|
|
1254
|
+
`}
|
|
1218
1255
|
<i class="fa-solid fa-grip-dots-vertical"></i>
|
|
1219
1256
|
</div>
|
|
1220
|
-
${dd.type === 'container' ? html`
|
|
1257
|
+
${dd.type === 'container' ? html`
|
|
1258
|
+
<div class="ps-2 ${dd.toggle ? `` : `d-none`}">
|
|
1259
|
+
${renderItems(dd.child)}
|
|
1260
|
+
</div>` : ``}
|
|
1221
1261
|
</li>
|
|
1222
1262
|
`;
|
|
1223
1263
|
})
|
|
@@ -1244,7 +1284,8 @@ export class Setting_editor {
|
|
|
1244
1284
|
Sortable.create(document.getElementById(id), {
|
|
1245
1285
|
group: gvc.glitter.getUUID(),
|
|
1246
1286
|
animation: 100,
|
|
1247
|
-
onChange: function (evt: any) {
|
|
1287
|
+
onChange: function (evt: any) {
|
|
1288
|
+
},
|
|
1248
1289
|
onEnd: (evt: any) => {
|
|
1249
1290
|
let changeItemStart = 0;
|
|
1250
1291
|
let changeItemEnd = 0;
|
|
@@ -1285,22 +1326,22 @@ export class Setting_editor {
|
|
|
1285
1326
|
<span class="fs-6 fw-bold " style="color:black;">插件設定</span>
|
|
1286
1327
|
<div class="flex-fill"></div>
|
|
1287
1328
|
<button
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1329
|
+
class="btn btn-primary-c"
|
|
1330
|
+
style="height: 28px;width:40px;font-size:14px;"
|
|
1331
|
+
onclick="${gvc.event(() => {
|
|
1332
|
+
dialog.dataLoading({visible: true});
|
|
1333
|
+
ApiPageConfig.setPrivateConfigV2({
|
|
1334
|
+
key: 'backend_list',
|
|
1335
|
+
value: JSON.stringify(items),
|
|
1336
|
+
}).then((res) => {
|
|
1337
|
+
dialog.dataLoading({visible: false});
|
|
1338
|
+
if (res.result) {
|
|
1339
|
+
dialog.successMessage({text: '儲存成功'});
|
|
1340
|
+
} else {
|
|
1341
|
+
dialog.errorMessage({text: '伺服器異常'});
|
|
1342
|
+
}
|
|
1343
|
+
});
|
|
1344
|
+
})}"
|
|
1304
1345
|
>
|
|
1305
1346
|
儲存
|
|
1306
1347
|
</button>
|
|
@@ -1310,14 +1351,14 @@ export class Setting_editor {
|
|
|
1310
1351
|
<div class="my-1"></div>
|
|
1311
1352
|
${[
|
|
1312
1353
|
viewComponent.add_plus(
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1354
|
+
'新增插件',
|
|
1355
|
+
gvc.event(() => {
|
|
1356
|
+
NormalPageEditor.toggle({
|
|
1357
|
+
visible: true,
|
|
1358
|
+
view: addPlugin(),
|
|
1359
|
+
title: '新增插件',
|
|
1360
|
+
});
|
|
1361
|
+
})
|
|
1321
1362
|
),
|
|
1322
1363
|
].join(``)}
|
|
1323
1364
|
</div>
|