ts-glitter 13.8.53 → 13.8.55

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
@@ -44,23 +44,19 @@ export class Entry {
44
44
  Entry.checkRedirectPage(glitter);
45
45
  glitter.share.logID = glitter.getUUID();
46
46
  glitter.addStyle(`
47
- @media (prefers-reduced-motion: no-preference) {
47
+ @media (prefers-reduced-motion: no-preference) {
48
48
  :root {
49
49
  scroll-behavior: auto !important;
50
50
  }
51
51
  }
52
- <<<<<<< HEAD
53
- .hide-elem {
54
- display: none !important;
55
- }
56
- =======
57
- .hide-elem {
52
+
53
+ .hide-elem {
58
54
  display: none !important;
59
55
  }
56
+
60
57
  .hy-drawer-left {
61
- left:-1000px !important;
58
+ left:-1000px !important;
62
59
  }
63
- >>>>>>> d311c294 (update glitter version)
64
60
  `);
65
61
  if (glitter.getUrlParameter('appName')) {
66
62
  window.appName = glitter.getUrlParameter('appName');
@@ -68,7 +64,7 @@ export class Entry {
68
64
  }
69
65
  window.renderClock = (_a = window.renderClock) !== null && _a !== void 0 ? _a : clockF();
70
66
  console.log(`Entry-time:`, window.renderClock.stop());
71
- glitter.share.editerVersion = 'V_13.8.53';
67
+ glitter.share.editerVersion = 'V_13.8.55';
72
68
  glitter.share.start = new Date();
73
69
  const vm = {
74
70
  appConfig: [],
package/lowcode/Entry.ts CHANGED
@@ -44,23 +44,19 @@ export class Entry {
44
44
  Entry.checkRedirectPage(glitter);
45
45
  glitter.share.logID = glitter.getUUID();
46
46
  glitter.addStyle(`
47
- @media (prefers-reduced-motion: no-preference) {
47
+ @media (prefers-reduced-motion: no-preference) {
48
48
  :root {
49
49
  scroll-behavior: auto !important;
50
50
  }
51
51
  }
52
- <<<<<<< HEAD
53
- .hide-elem {
54
- display: none !important;
55
- }
56
- =======
57
- .hide-elem {
52
+
53
+ .hide-elem {
58
54
  display: none !important;
59
55
  }
56
+
60
57
  .hy-drawer-left {
61
- left:-1000px !important;
58
+ left:-1000px !important;
62
59
  }
63
- >>>>>>> d311c294 (update glitter version)
64
60
  `);
65
61
  if (glitter.getUrlParameter('appName')) {
66
62
  (window as any).appName = glitter.getUrlParameter('appName');
@@ -68,7 +64,7 @@ export class Entry {
68
64
  }
69
65
  (window as any).renderClock = (window as any).renderClock ?? clockF();
70
66
  console.log(`Entry-time:`, (window as any).renderClock.stop());
71
- glitter.share.editerVersion = 'V_13.8.53';
67
+ glitter.share.editerVersion = 'V_13.8.55';
72
68
  glitter.share.start = new Date();
73
69
  const vm: {
74
70
  appConfig: any;
@@ -229,48 +229,53 @@ export class AiMessage {
229
229
  (AiMessage.vm.select_bt === 'page_editor') ? (() => {
230
230
  const html = String.raw;
231
231
  let message = '';
232
- return ` <div class="p-2">
232
+ return ` <div class="p-5">
233
233
  ${[
234
234
  html `
235
- <lottie-player src="lottie/ai.json" class="mx-auto my-n4" speed="1"
236
- style="max-width: 100%;width: 250px;height:300px;" loop
237
- autoplay></lottie-player>`,
238
- EditorElem.editeText({
235
+ <lottie-player src="lottie/ai.json" class="mx-auto my-n4" speed="1"
236
+ style="max-width: 100%;width: 250px;height:250px;" loop
237
+ autoplay></lottie-player>`,
238
+ `<div class="w-100 d-flex align-items-center justify-content-center my-3">${BgWidget.grayNote('點擊想要調整的元件之後,在輸入 AI 語句進行調整', `font-weight: 500;`)}</div>`,
239
+ html `
240
+ <div class="w-100" onclick="${gvc.event(() => {
241
+ if (!gvc.glitter.share.editorViewModel.selectItem) {
242
+ const dialog = new ShareDialog(gvc.glitter);
243
+ dialog.errorMessage({ text: '請先點擊要編輯的元件' });
244
+ }
245
+ })}">
246
+ ${EditorElem.editeText({
239
247
  gvc: gvc,
240
248
  title: '',
241
249
  default: '',
242
- placeHolder: `範例:字體大小20px,距離左邊20px,背景顏色黃色,字體顏色藍色,標題為歡迎來到SHOPNEX開店平台.
243
- `,
250
+ placeHolder: `字體大小20px,距離左邊20px,背景顏色黃色,字體顏色藍色,標題為歡迎來到SHOPNEX開店平台.`,
244
251
  callback: (text) => {
245
252
  message = text;
246
253
  },
247
- min_height: 300
248
- }),
254
+ min_height: 100
255
+ })}
256
+ </div>`,
249
257
  `<div class="w-100 d-flex align-items-center justify-content-end">
250
258
  ${BgWidget.save(gvc.event(() => {
251
259
  const dialog = new ShareDialog(gvc.glitter);
260
+ if (!message) {
261
+ dialog.errorMessage({ text: '請輸入描述語句' });
262
+ return;
263
+ }
252
264
  dialog.dataLoading({ visible: true });
253
- AiChat.generateHtml({
254
- app_name: window.appName,
255
- text: message
256
- }).then((res) => {
257
- if (res.result && res.response.data.usage === 0) {
258
- dialog.dataLoading({ visible: false });
259
- dialog.errorMessage({ text: `很抱歉你的AI代幣不足,請先前往加值` });
260
- }
261
- else if (res.result && (!res.response.data.obj.result)) {
265
+ gvc.glitter.getModule(new URL('./editor/ai-editor.js', gvc.glitter.root_path).href, (AiEditor) => {
266
+ AiEditor.editView(message, gvc.glitter.share.editorViewModel.selectItem, (result) => {
262
267
  dialog.dataLoading({ visible: false });
263
- dialog.errorMessage({ text: `AI無法理解你的需求,請給出具體一點的描述` });
264
- }
265
- else if (!res.result) {
266
- dialog.dataLoading({ visible: false });
267
- dialog.errorMessage({ text: `發生錯誤` });
268
- }
269
- else {
270
- dialog.successMessage({ text: `AI生成完畢,使用了『${res.response.data.usage}』點 AI Points.` });
271
- }
268
+ if (result) {
269
+ dialog.successMessage({ text: `已為你調整元件『${result}』` });
270
+ gvc.glitter.share.editorViewModel.selectItem.refreshComponent();
271
+ gvc.glitter.closeDrawer();
272
+ }
273
+ else {
274
+ dialog.errorMessage({ text: 'AI無法理解你的意思,請輸入更確切的需求' });
275
+ }
276
+ });
272
277
  });
273
- }), "調整元素")}
278
+ }), "調整元素", "w-100 mt-3 py-2")}
274
279
  </div>`
275
280
  ].join('<div class="my-2"></div>')}
276
281
  </div>`;
@@ -6,6 +6,7 @@ import {AiChat} from '../glitter-base/route/ai-chat.js';
6
6
  import {ShareDialog} from '../glitterBundle/dialog/ShareDialog.js';
7
7
  import {AiPointsApi} from "../glitter-base/route/ai-points-api.js";
8
8
  import {EditorElem} from "../glitterBundle/plugins/editor-elem.js";
9
+ import {AiEditor} from "../editor/ai-editor.js";
9
10
 
10
11
  export class AiMessage {
11
12
  public static config: any = {
@@ -74,17 +75,17 @@ export class AiMessage {
74
75
  })}"
75
76
  >
76
77
  ${(() => {
77
- return AiMessage.detail({
78
- gvc: gvc,
79
- user_id: 'manager',
80
- containerHeight: ($('body').height() as any) + 10 + 'px',
81
- document: document,
82
- goBack: () => {
83
- },
84
- close: () => {
85
- gvc.glitter.closeDrawer()
86
- },
87
- })
78
+ return AiMessage.detail({
79
+ gvc: gvc,
80
+ user_id: 'manager',
81
+ containerHeight: ($('body').height() as any) + 10 + 'px',
82
+ document: document,
83
+ goBack: () => {
84
+ },
85
+ close: () => {
86
+ gvc.glitter.closeDrawer()
87
+ },
88
+ })
88
89
  })()}
89
90
  </div>
90
91
  </div>`, () => {
@@ -263,55 +264,82 @@ export class AiMessage {
263
264
  },
264
265
  };
265
266
  }),
266
- (AiMessage.vm.select_bt==='page_editor') ? (()=>{
267
+ (AiMessage.vm.select_bt === 'page_editor') ? (() => {
267
268
  const html = String.raw
268
269
  let message = ''
269
- return ` <div class="p-2">
270
+ return ` <div class="p-5">
270
271
  ${[
271
272
  html`
272
- <lottie-player src="lottie/ai.json" class="mx-auto my-n4" speed="1"
273
- style="max-width: 100%;width: 250px;height:300px;" loop
274
- autoplay></lottie-player>`,
275
- EditorElem.editeText({
276
- gvc: gvc,
277
- title: '',
278
- default: '',
279
- placeHolder: `範例:字體大小20px,距離左邊20px,背景顏色黃色,字體顏色藍色,標題為歡迎來到SHOPNEX開店平台.
280
- `,
281
- callback: (text) => {
282
- message = text
283
-
284
- },
285
- min_height: 300
286
- }),
273
+ <lottie-player src="lottie/ai.json" class="mx-auto my-n4" speed="1"
274
+ style="max-width: 100%;width: 250px;height:250px;" loop
275
+ autoplay></lottie-player>`,
276
+ `<div class="w-100 d-flex align-items-center justify-content-center my-3">${BgWidget.grayNote('點擊想要調整的元件之後,在輸入 AI 語句進行調整', `font-weight: 500;`)}</div>`,
277
+ html`
278
+ <div class="w-100" onclick="${gvc.event(() => {
279
+ if (!gvc.glitter.share.editorViewModel.selectItem) {
280
+ const dialog = new ShareDialog(gvc.glitter)
281
+ dialog.errorMessage({text: '請先點擊要編輯的元件'})
282
+ }
283
+ })}">
284
+ ${EditorElem.editeText({
285
+ gvc: gvc,
286
+ title: '',
287
+ default: '',
288
+ placeHolder: `字體大小20px,距離左邊20px,背景顏色黃色,字體顏色藍色,標題為歡迎來到SHOPNEX開店平台.`,
289
+ callback: (text) => {
290
+ message = text;
291
+ },
292
+ min_height: 100
293
+ })}
294
+ </div>`,
287
295
  `<div class="w-100 d-flex align-items-center justify-content-end">
288
296
  ${BgWidget.save(gvc.event(() => {
289
297
  const dialog = new ShareDialog(gvc.glitter)
298
+ if (!message) {
299
+ dialog.errorMessage({text: '請輸入描述語句'})
300
+ return
301
+ }
302
+
290
303
  dialog.dataLoading({visible: true})
291
- AiChat.generateHtml({
292
- app_name: (window as any).appName,
293
- text: message
294
- }).then((res) => {
295
- if (res.result && res.response.data.usage === 0) {
304
+ gvc.glitter.getModule(new URL('./editor/ai-editor.js', gvc.glitter.root_path).href, (AiEditor) => {
305
+ AiEditor.editView(message, gvc.glitter.share.editorViewModel.selectItem, (result:any) => {
296
306
  dialog.dataLoading({visible: false})
297
- dialog.errorMessage({text: `很抱歉你的AI代幣不足,請先前往加值`})
298
- } else if (res.result && (!res.response.data.obj.result)) {
299
- dialog.dataLoading({visible: false})
300
- dialog.errorMessage({text: `AI無法理解你的需求,請給出具體一點的描述`})
301
- } else if (!res.result) {
302
- dialog.dataLoading({visible: false})
303
- dialog.errorMessage({text: `發生錯誤`})
304
- } else {
307
+ if (result) {
308
+ dialog.successMessage({text: `已為你調整元件『${result}』`})
309
+ gvc.glitter.share.editorViewModel.selectItem.refreshComponent()
310
+ gvc.glitter.closeDrawer()
311
+ } else {
312
+ dialog.errorMessage({text: 'AI無法理解你的意思,請輸入更確切的需求'})
313
+ }
305
314
 
306
- dialog.successMessage({text: `AI生成完畢,使用了『${res.response.data.usage}』點 AI Points.`})
307
-
308
- }
315
+ })
309
316
  })
310
- }), "調整元素")}
317
+ // const dialog = new ShareDialog(gvc.glitter)
318
+ // dialog.dataLoading({visible: true})
319
+ // AiChat.generateHtml({
320
+ // app_name: (window as any).appName,
321
+ // text: message
322
+ // }).then((res) => {
323
+ // if (res.result && res.response.data.usage === 0) {
324
+ // dialog.dataLoading({visible: false})
325
+ // dialog.errorMessage({text: `很抱歉你的AI代幣不足,請先前往加值`})
326
+ // } else if (res.result && (!res.response.data.obj.result)) {
327
+ // dialog.dataLoading({visible: false})
328
+ // dialog.errorMessage({text: `AI無法理解你的需求,請給出具體一點的描述`})
329
+ // } else if (!res.result) {
330
+ // dialog.dataLoading({visible: false})
331
+ // dialog.errorMessage({text: `發生錯誤`})
332
+ // } else {
333
+ //
334
+ // dialog.successMessage({text: `AI生成完畢,使用了『${res.response.data.usage}』點 AI Points.`})
335
+ //
336
+ // }
337
+ // })
338
+ }), "調整元素", "w-100 mt-3 py-2")}
311
339
  </div>`
312
340
  ].join('<div class="my-2"></div>')}
313
341
  </div>`
314
- })():gvc.bindView(() => {
342
+ })() : gvc.bindView(() => {
315
343
  const viewId = gvc.glitter.getUUID();
316
344
  const messageID = gvc.glitter.getUUID();
317
345
  const vm: {