ts-glitter 13.3.5 → 13.3.7

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 (99) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/backend-manager/bg-blog.js +2 -7
  4. package/lowcode/backend-manager/bg-blog.ts +8 -13
  5. package/lowcode/backend-manager/bg-graph-api.js +6 -11
  6. package/lowcode/backend-manager/bg-graph-api.ts +14 -20
  7. package/lowcode/backend-manager/bg-line.js +526 -1002
  8. package/lowcode/backend-manager/bg-line.ts +1815 -2354
  9. package/lowcode/backend-manager/bg-notify.js +392 -746
  10. package/lowcode/backend-manager/bg-notify.ts +436 -835
  11. package/lowcode/backend-manager/bg-project.js +176 -293
  12. package/lowcode/backend-manager/bg-project.ts +214 -344
  13. package/lowcode/backend-manager/bg-recommend.js +39 -148
  14. package/lowcode/backend-manager/bg-recommend.ts +43 -162
  15. package/lowcode/backend-manager/bg-sns.js +489 -814
  16. package/lowcode/backend-manager/bg-sns.ts +1876 -2238
  17. package/lowcode/backend-manager/bg-widget.js +301 -171
  18. package/lowcode/backend-manager/bg-widget.ts +324 -193
  19. package/lowcode/cms-plugin/ai-points.js +84 -67
  20. package/lowcode/cms-plugin/ai-points.ts +280 -247
  21. package/lowcode/cms-plugin/auto-reply.js +6 -7
  22. package/lowcode/cms-plugin/auto-reply.ts +6 -7
  23. package/lowcode/cms-plugin/data-analyze.js +5 -6
  24. package/lowcode/cms-plugin/data-analyze.ts +5 -6
  25. package/lowcode/cms-plugin/form-setting.js +122 -220
  26. package/lowcode/cms-plugin/form-setting.ts +124 -240
  27. package/lowcode/cms-plugin/line-auto-reply.js +17 -18
  28. package/lowcode/cms-plugin/line-auto-reply.ts +29 -36
  29. package/lowcode/cms-plugin/member-group-list.js +5 -2
  30. package/lowcode/cms-plugin/member-group-list.ts +5 -2
  31. package/lowcode/cms-plugin/member-type-list.js +36 -84
  32. package/lowcode/cms-plugin/member-type-list.ts +39 -92
  33. package/lowcode/cms-plugin/menus-setting.js +8 -73
  34. package/lowcode/cms-plugin/menus-setting.ts +8 -78
  35. package/lowcode/cms-plugin/permission-setting.js +73 -106
  36. package/lowcode/cms-plugin/permission-setting.ts +236 -278
  37. package/lowcode/cms-plugin/shopping-collections.js +95 -137
  38. package/lowcode/cms-plugin/shopping-collections.ts +103 -147
  39. package/lowcode/cms-plugin/shopping-discount-setting.js +310 -416
  40. package/lowcode/cms-plugin/shopping-discount-setting.ts +1269 -1386
  41. package/lowcode/cms-plugin/shopping-finance-setting.js +1 -0
  42. package/lowcode/cms-plugin/shopping-finance-setting.ts +1 -0
  43. package/lowcode/cms-plugin/shopping-order-manager.js +742 -973
  44. package/lowcode/cms-plugin/shopping-order-manager.ts +1928 -2164
  45. package/lowcode/cms-plugin/shopping-order-return.js +147 -267
  46. package/lowcode/cms-plugin/shopping-order-return.ts +154 -292
  47. package/lowcode/cms-plugin/shopping-product-setting.js +6 -2
  48. package/lowcode/cms-plugin/shopping-product-setting.ts +8 -4
  49. package/lowcode/cms-plugin/shopping-product-stock.js +12 -92
  50. package/lowcode/cms-plugin/shopping-product-stock.ts +14 -94
  51. package/lowcode/cms-plugin/shopping-product-text.js +0 -3
  52. package/lowcode/cms-plugin/shopping-product-text.ts +0 -3
  53. package/lowcode/cms-plugin/shopping-rebate.js +95 -151
  54. package/lowcode/cms-plugin/shopping-rebate.ts +101 -159
  55. package/lowcode/cms-plugin/sms-points.js +83 -67
  56. package/lowcode/cms-plugin/sms-points.ts +281 -241
  57. package/lowcode/cms-plugin/sns-auto-reply.js +18 -18
  58. package/lowcode/cms-plugin/sns-auto-reply.ts +34 -40
  59. package/lowcode/cms-plugin/user-list.js +71 -90
  60. package/lowcode/cms-plugin/user-list.ts +76 -95
  61. package/lowcode/cms-plugin/web-config-setting.js +61 -111
  62. package/lowcode/cms-plugin/web-config-setting.ts +65 -124
  63. package/lowcode/css/editor.css +5 -2
  64. package/lowcode/glitter-base/route/shopping.js +1 -1
  65. package/lowcode/glitter-base/route/shopping.ts +19 -19
  66. package/lowcode/jspage/editor.js +1 -1
  67. package/lowcode/jspage/editor.ts +1 -1
  68. package/lowcode/jspage/main.js +3 -0
  69. package/lowcode/jspage/main.ts +3 -0
  70. package/package.json +1 -2
  71. package/src/api-public/controllers/ai-chat.js.map +5 -1
  72. package/src/api-public/controllers/article.js.map +1 -1
  73. package/src/api-public/controllers/chat.js.map +1 -1
  74. package/src/api-public/controllers/fb-message.js.map +1 -1
  75. package/src/api-public/controllers/index.js.map +1 -1
  76. package/src/api-public/controllers/line-message.js.map +1 -1
  77. package/src/api-public/controllers/rebate.js.map +1 -1
  78. package/src/api-public/controllers/shop.js.map +1 -1
  79. package/src/api-public/controllers/user.js.map +1 -1
  80. package/src/api-public/services/auto-send-email.js.map +1 -1
  81. package/src/api-public/services/chat.js +3 -3
  82. package/src/api-public/services/chat.js.map +1 -1
  83. package/src/api-public/services/chat.ts +2 -3
  84. package/src/api-public/services/fb-message.js.map +5 -1
  85. package/src/api-public/services/filter-protect-data.js.map +1 -1
  86. package/src/api-public/services/line-message.js.map +1 -1
  87. package/src/api-public/services/monitor.js.map +1 -1
  88. package/src/api-public/services/notify.js.map +1 -1
  89. package/src/api-public/services/rebate.js.map +1 -1
  90. package/src/api-public/services/schedule.js.map +1 -1
  91. package/src/api-public/services/share-permission.js.map +1 -1
  92. package/src/api-public/services/shopping.js.map +1 -1
  93. package/src/api-public/services/user.js +67 -66
  94. package/src/api-public/services/user.js.map +1 -1
  95. package/src/api-public/services/user.ts +212 -182
  96. package/src/helper/glitter-util.js.map +1 -1
  97. package/src/modules/firebase.d.ts +1 -0
  98. package/src/modules/firebase.js +1 -1
  99. package/src/modules/firebase.js.map +1 -1
@@ -121,33 +121,6 @@ export class BgRecommend {
121
121
  var _a, _b, _c;
122
122
  const url = prefixURL + ((_a = dd.content.link) !== null && _a !== void 0 ? _a : '');
123
123
  return [
124
- {
125
- key: EditorElem.checkBoxOnly({
126
- gvc: gvc,
127
- def: !vm.dataList.find((dd) => {
128
- return !dd.checked;
129
- }),
130
- callback: (result) => {
131
- vm.dataList.map((dd) => {
132
- dd.checked = result;
133
- });
134
- vmi.data = getDatalist();
135
- vmi.callback();
136
- gvc.notifyDataChange(vm.filterId);
137
- },
138
- }),
139
- value: EditorElem.checkBoxOnly({
140
- gvc: gvc,
141
- def: dd.checked,
142
- callback: (result) => {
143
- dd.checked = result;
144
- vmi.data = getDatalist();
145
- vmi.callback();
146
- gvc.notifyDataChange(vm.filterId);
147
- },
148
- style: 'height: 37.5px;',
149
- }),
150
- },
151
124
  {
152
125
  key: '連結名稱',
153
126
  value: `<span class="fs-7">${dd.content.title}</span>`,
@@ -249,75 +222,43 @@ export class BgRecommend {
249
222
  ];
250
223
  });
251
224
  }
252
- return BgWidget.tableV2({
225
+ return BgWidget.tableV3({
253
226
  gvc: gvc,
254
227
  getData: (vd) => __awaiter(this, void 0, void 0, function* () {
255
228
  vmi = vd;
229
+ const limit = 10;
256
230
  ApiRecommend.getList({
257
231
  data: {},
258
- limit: 10,
232
+ limit: limit,
259
233
  page: vmi.page - 1,
260
234
  user_id: obj.user_id,
261
235
  token: window.parent.config.token,
262
236
  }).then((data) => {
263
- vmi.pageSize = Math.ceil(data.response.total / 10);
264
237
  vm.dataList = data.result ? data.response.data : [];
265
- vmi.data = getDatalist();
238
+ vmi.pageSize = Math.ceil(data.response.total / limit);
239
+ vmi.originalData = vm.dataList;
240
+ vmi.tableData = getDatalist();
266
241
  vmi.loading = false;
267
242
  vmi.callback();
268
243
  });
269
244
  }),
270
- style: [
271
- '',
272
- 'min-width: 150px; max-width: 200px; white-space: normal !important;',
273
- 'min-width: 220px; max-width: 250px; white-space: normal !important; overflow-wrap: break-word;',
274
- ...new Array(5).fill('min-width: 70px;'),
275
- ...new Array(3).fill('min-width: 100px;'),
276
- ],
277
245
  rowClick: (data, index) => {
278
246
  obj.rowCallback(data, index);
279
247
  },
280
- filter: html `
281
- ${gvc.bindView(() => {
282
- return {
283
- bind: vm.filterId,
284
- view: () => {
285
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
286
- return BgWidget.selNavbar({
287
- count: selCount,
288
- buttonList: [
289
- BgWidget.selEventButton('批量移除', gvc.event(() => {
290
- this.deleteLink({
291
- gvc: gvc,
292
- ids: vm.dataList
293
- .filter((dd) => {
294
- return dd.checked;
295
- })
296
- .map((dd) => {
297
- return dd.id;
298
- }),
299
- callback: () => {
300
- gvc.notifyDataChange(vm.id);
301
- },
302
- });
303
- })),
304
- ],
248
+ filter: [
249
+ {
250
+ name: '批量移除',
251
+ event: (checkedData) => {
252
+ this.deleteLink({
253
+ gvc: gvc,
254
+ ids: checkedData.map((dd) => dd.id),
255
+ callback: () => {
256
+ gvc.notifyDataChange(vm.id);
257
+ },
305
258
  });
306
259
  },
307
- divCreate: () => {
308
- return {
309
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
310
- !vm.dataList.find((dd) => {
311
- return dd.checked;
312
- })
313
- ? `d-none`
314
- : ``}`,
315
- style: ``,
316
- };
317
- },
318
- };
319
- })}
320
- `,
260
+ },
261
+ ],
321
262
  });
322
263
  }
323
264
  static userList(gvc, widget) {
@@ -343,33 +284,6 @@ export class BgRecommend {
343
284
  return vm.dataList.map((dd) => {
344
285
  var _a;
345
286
  return [
346
- {
347
- key: EditorElem.checkBoxOnly({
348
- gvc: gvc,
349
- def: !vm.dataList.find((dd) => {
350
- return !dd.checked;
351
- }),
352
- callback: (result) => {
353
- vm.dataList.map((dd) => {
354
- dd.checked = result;
355
- });
356
- vmi.data = getDatalist();
357
- vmi.callback();
358
- gvc.notifyDataChange(vm.filterId);
359
- },
360
- }),
361
- value: EditorElem.checkBoxOnly({
362
- gvc: gvc,
363
- def: dd.checked,
364
- callback: (result) => {
365
- dd.checked = result;
366
- vmi.data = getDatalist();
367
- vmi.callback();
368
- gvc.notifyDataChange(vm.filterId);
369
- },
370
- style: 'height: 37.5px;',
371
- }),
372
- },
373
287
  {
374
288
  key: '推薦人名稱',
375
289
  value: `<span class="fs-7">${dd.content.name}</span>`,
@@ -461,6 +375,9 @@ export class BgRecommend {
461
375
  return html ` <div style="display: flex; align-items: center; gap: 10px;">${filterList.join('')}</div>`;
462
376
  }
463
377
  },
378
+ divCreate: {
379
+ class: 'mb-3',
380
+ },
464
381
  onCreate: () => {
465
382
  if (fvm.loading) {
466
383
  setTimeout(() => {
@@ -474,22 +391,24 @@ export class BgRecommend {
474
391
  gvc.bindView({
475
392
  bind: vm.tableId,
476
393
  view: () => {
477
- return BgWidget.tableV2({
394
+ return BgWidget.tableV3({
478
395
  gvc: gvc,
479
396
  getData: (vd) => __awaiter(this, void 0, void 0, function* () {
480
397
  vmi = vd;
398
+ const limit = 15;
481
399
  ApiRecommend.getUsers({
482
400
  data: {},
483
- limit: 15,
401
+ limit: limit,
484
402
  page: vmi.page - 1,
485
403
  token: window.parent.config.token,
486
404
  search: vm.query,
487
405
  searchType: vm.queryType,
488
406
  orderBy: vm.orderString,
489
407
  }).then((data) => {
490
- vmi.pageSize = Math.ceil(data.response.total / 15);
491
408
  vm.dataList = data.response.data;
492
- vmi.data = getDatalist();
409
+ vmi.pageSize = Math.ceil(data.response.total / limit);
410
+ vmi.originalData = vm.dataList;
411
+ vmi.tableData = getDatalist();
493
412
  vmi.loading = false;
494
413
  vmi.callback();
495
414
  });
@@ -498,48 +417,20 @@ export class BgRecommend {
498
417
  vm.editData = vm.dataList[index];
499
418
  vm.type = 'replace';
500
419
  },
501
- filter: html `
502
- ${gvc.bindView(() => {
503
- return {
504
- bind: vm.filterId,
505
- view: () => {
506
- const dialog = new ShareDialog(glitter);
507
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
508
- return BgWidget.selNavbar({
509
- count: selCount,
510
- buttonList: [
511
- BgWidget.selEventButton('批量移除', gvc.event(() => {
512
- this.deleteUser({
513
- gvc: gvc,
514
- ids: vm.dataList
515
- .filter((dd) => {
516
- return dd.checked;
517
- })
518
- .map((dd) => {
519
- return dd.id;
520
- }),
521
- callback: () => {
522
- gvc.notifyDataChange(vm.id);
523
- },
524
- });
525
- })),
526
- ],
420
+ filter: [
421
+ {
422
+ name: '批量移除',
423
+ event: (checkedData) => {
424
+ this.deleteUser({
425
+ gvc: gvc,
426
+ ids: checkedData.map((dd) => dd.id),
427
+ callback: () => {
428
+ gvc.notifyDataChange(vm.id);
429
+ },
527
430
  });
528
431
  },
529
- divCreate: () => {
530
- return {
531
- class: `d-flex align-items-center p-2 py-3 ${!vm.dataList ||
532
- !vm.dataList.find((dd) => {
533
- return dd.checked;
534
- })
535
- ? `d-none`
536
- : ``}`,
537
- style: ``,
538
- };
539
- },
540
- };
541
- })}
542
- `,
432
+ },
433
+ ],
543
434
  });
544
435
  },
545
436
  }),
@@ -176,33 +176,6 @@ export class BgRecommend {
176
176
  return vm.dataList.map((dd: any) => {
177
177
  const url = prefixURL + (dd.content.link ?? '');
178
178
  return [
179
- {
180
- key: EditorElem.checkBoxOnly({
181
- gvc: gvc,
182
- def: !vm.dataList.find((dd: any) => {
183
- return !dd.checked;
184
- }),
185
- callback: (result) => {
186
- vm.dataList.map((dd: any) => {
187
- dd.checked = result;
188
- });
189
- vmi.data = getDatalist();
190
- vmi.callback();
191
- gvc.notifyDataChange(vm.filterId);
192
- },
193
- }),
194
- value: EditorElem.checkBoxOnly({
195
- gvc: gvc,
196
- def: dd.checked,
197
- callback: (result) => {
198
- dd.checked = result;
199
- vmi.data = getDatalist();
200
- vmi.callback();
201
- gvc.notifyDataChange(vm.filterId);
202
- },
203
- style: 'height: 37.5px;',
204
- }),
205
- },
206
179
  {
207
180
  key: '連結名稱',
208
181
  value: `<span class="fs-7">${dd.content.title}</span>`,
@@ -313,80 +286,43 @@ export class BgRecommend {
313
286
  });
314
287
  }
315
288
 
316
- return BgWidget.tableV2({
289
+ return BgWidget.tableV3({
317
290
  gvc: gvc,
318
291
  getData: async (vd) => {
319
292
  vmi = vd;
293
+ const limit = 10;
320
294
  ApiRecommend.getList({
321
295
  data: {},
322
- limit: 10,
296
+ limit: limit,
323
297
  page: vmi.page - 1,
324
298
  user_id: obj.user_id,
325
299
  token: (window.parent as any).config.token,
326
300
  }).then((data) => {
327
- vmi.pageSize = Math.ceil(data.response.total / 10);
328
301
  vm.dataList = data.result ? data.response.data : [];
329
- vmi.data = getDatalist();
302
+ vmi.pageSize = Math.ceil(data.response.total / limit);
303
+ vmi.originalData = vm.dataList;
304
+ vmi.tableData = getDatalist();
330
305
  vmi.loading = false;
331
306
  vmi.callback();
332
307
  });
333
308
  },
334
- style: [
335
- '',
336
- 'min-width: 150px; max-width: 200px; white-space: normal !important;',
337
- 'min-width: 220px; max-width: 250px; white-space: normal !important; overflow-wrap: break-word;',
338
- ...new Array(5).fill('min-width: 70px;'),
339
- ...new Array(3).fill('min-width: 100px;'),
340
- ],
341
309
  rowClick: (data, index) => {
342
310
  obj.rowCallback(data, index);
343
311
  },
344
- filter: html`
345
- ${gvc.bindView(() => {
346
- return {
347
- bind: vm.filterId,
348
- view: () => {
349
- const selCount = vm.dataList.filter((dd: any) => dd.checked).length;
350
- return BgWidget.selNavbar({
351
- count: selCount,
352
- buttonList: [
353
- BgWidget.selEventButton(
354
- '批量移除',
355
- gvc.event(() => {
356
- this.deleteLink({
357
- gvc: gvc,
358
- ids: vm.dataList
359
- .filter((dd: any) => {
360
- return dd.checked;
361
- })
362
- .map((dd: any) => {
363
- return dd.id;
364
- }),
365
- callback: () => {
366
- gvc.notifyDataChange(vm.id);
367
- },
368
- });
369
- })
370
- ),
371
- ],
372
- });
373
- },
374
- divCreate: () => {
375
- return {
376
- class: `d-flex align-items-center p-2 py-3 ${
377
- !vm.dataList ||
378
- !vm.dataList.find((dd: any) => {
379
- return dd.checked;
380
- })
381
- ? `d-none`
382
- : ``
383
- }`,
384
- style: ``,
385
- };
386
- },
387
- };
388
- })}
389
- `,
312
+ filter: [
313
+ {
314
+ name: '批量移除',
315
+ event: (checkedData) => {
316
+ this.deleteLink({
317
+ gvc: gvc,
318
+ ids: checkedData.map((dd: any) => dd.id),
319
+ callback: () => {
320
+ gvc.notifyDataChange(vm.id);
321
+ },
322
+ });
323
+ },
324
+ },
325
+ ],
390
326
  });
391
327
  }
392
328
 
@@ -426,33 +362,6 @@ export class BgRecommend {
426
362
  function getDatalist() {
427
363
  return vm.dataList.map((dd: any) => {
428
364
  return [
429
- {
430
- key: EditorElem.checkBoxOnly({
431
- gvc: gvc,
432
- def: !vm.dataList.find((dd: any) => {
433
- return !dd.checked;
434
- }),
435
- callback: (result) => {
436
- vm.dataList.map((dd: any) => {
437
- dd.checked = result;
438
- });
439
- vmi.data = getDatalist();
440
- vmi.callback();
441
- gvc.notifyDataChange(vm.filterId);
442
- },
443
- }),
444
- value: EditorElem.checkBoxOnly({
445
- gvc: gvc,
446
- def: dd.checked,
447
- callback: (result) => {
448
- dd.checked = result;
449
- vmi.data = getDatalist();
450
- vmi.callback();
451
- gvc.notifyDataChange(vm.filterId);
452
- },
453
- style: 'height: 37.5px;',
454
- }),
455
- },
456
365
  {
457
366
  key: '推薦人名稱',
458
367
  value: `<span class="fs-7">${dd.content.name}</span>`,
@@ -561,6 +470,9 @@ export class BgRecommend {
561
470
  return html` <div style="display: flex; align-items: center; gap: 10px;">${filterList.join('')}</div>`;
562
471
  }
563
472
  },
473
+ divCreate: {
474
+ class: 'mb-3',
475
+ },
564
476
  onCreate: () => {
565
477
  if (fvm.loading) {
566
478
  setTimeout(() => {
@@ -574,22 +486,24 @@ export class BgRecommend {
574
486
  gvc.bindView({
575
487
  bind: vm.tableId,
576
488
  view: () => {
577
- return BgWidget.tableV2({
489
+ return BgWidget.tableV3({
578
490
  gvc: gvc,
579
491
  getData: async (vd) => {
580
492
  vmi = vd;
493
+ const limit = 15;
581
494
  ApiRecommend.getUsers({
582
495
  data: {},
583
- limit: 15,
496
+ limit: limit,
584
497
  page: vmi.page - 1,
585
498
  token: (window.parent as any).config.token,
586
499
  search: vm.query,
587
500
  searchType: vm.queryType,
588
501
  orderBy: vm.orderString,
589
502
  }).then((data) => {
590
- vmi.pageSize = Math.ceil(data.response.total / 15);
591
503
  vm.dataList = data.response.data;
592
- vmi.data = getDatalist();
504
+ vmi.pageSize = Math.ceil(data.response.total / limit);
505
+ vmi.originalData = vm.dataList;
506
+ vmi.tableData = getDatalist();
593
507
  vmi.loading = false;
594
508
  vmi.callback();
595
509
  });
@@ -598,53 +512,20 @@ export class BgRecommend {
598
512
  vm.editData = vm.dataList[index];
599
513
  vm.type = 'replace';
600
514
  },
601
- filter: html`
602
- ${gvc.bindView(() => {
603
- return {
604
- bind: vm.filterId,
605
- view: () => {
606
- const dialog = new ShareDialog(glitter);
607
- const selCount = vm.dataList.filter((dd: any) => dd.checked).length;
608
- return BgWidget.selNavbar({
609
- count: selCount,
610
- buttonList: [
611
- BgWidget.selEventButton(
612
- '批量移除',
613
- gvc.event(() => {
614
- this.deleteUser({
615
- gvc: gvc,
616
- ids: vm.dataList
617
- .filter((dd: any) => {
618
- return dd.checked;
619
- })
620
- .map((dd: any) => {
621
- return dd.id;
622
- }),
623
- callback: () => {
624
- gvc.notifyDataChange(vm.id);
625
- },
626
- });
627
- })
628
- ),
629
- ],
630
- });
631
- },
632
- divCreate: () => {
633
- return {
634
- class: `d-flex align-items-center p-2 py-3 ${
635
- !vm.dataList ||
636
- !vm.dataList.find((dd: any) => {
637
- return dd.checked;
638
- })
639
- ? `d-none`
640
- : ``
641
- }`,
642
- style: ``,
643
- };
644
- },
645
- };
646
- })}
647
- `,
515
+ filter: [
516
+ {
517
+ name: '批量移除',
518
+ event: (checkedData) => {
519
+ this.deleteUser({
520
+ gvc: gvc,
521
+ ids: checkedData.map((dd: any) => dd.id),
522
+ callback: () => {
523
+ gvc.notifyDataChange(vm.id);
524
+ },
525
+ });
526
+ },
527
+ },
528
+ ],
648
529
  });
649
530
  },
650
531
  }),