ts-glitter 13.7.0 → 13.7.1

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
@@ -59,7 +59,7 @@ export class Entry {
59
59
  }
60
60
  window.renderClock = (_a = window.renderClock) !== null && _a !== void 0 ? _a : clockF();
61
61
  console.log(`Entry-time:`, window.renderClock.stop());
62
- glitter.share.editerVersion = "V_13.7.0";
62
+ glitter.share.editerVersion = "V_13.7.1";
63
63
  glitter.share.start = (new Date());
64
64
  const vm = {
65
65
  appConfig: [],
package/lowcode/Entry.ts CHANGED
@@ -60,7 +60,7 @@ export class Entry {
60
60
  }
61
61
  (window as any).renderClock = (window as any).renderClock ?? clockF();
62
62
  console.log(`Entry-time:`, (window as any).renderClock.stop());
63
- glitter.share.editerVersion = "V_13.7.0";
63
+ glitter.share.editerVersion = "V_13.7.1";
64
64
  glitter.share.start = (new Date());
65
65
  const vm: {
66
66
  appConfig: any;
@@ -4,15 +4,14 @@ import { EditorConfig } from '../../editor-config.js';
4
4
  const html = String.raw;
5
5
  export class ColorThemeSelector {
6
6
  static main(cf) {
7
- var _a;
8
- const globalValue = cf.gvc.glitter.share.editorViewModel.appConfig;
9
- globalValue.color_theme = (_a = globalValue.color_theme) !== null && _a !== void 0 ? _a : [];
10
- const select = '0';
11
7
  return cf.gvc.bindView(() => {
12
8
  const id = cf.gvc.glitter.getUUID();
13
9
  return {
14
10
  bind: id,
15
11
  view: () => {
12
+ var _a;
13
+ const globalValue = cf.gvc.glitter.share.editorViewModel.appConfig;
14
+ globalValue.color_theme = (_a = globalValue.color_theme) !== null && _a !== void 0 ? _a : [];
16
15
  try {
17
16
  if (typeof cf.widget.bundle.form_data[cf.widget.bundle.form_key] !== 'object') {
18
17
  cf.widget.bundle.form_data[cf.widget.bundle.form_key] = {};
@@ -38,7 +37,7 @@ export class ColorThemeSelector {
38
37
  .map((dd) => {
39
38
  return html ` <div>
40
39
  ${[
41
- html ` <div
40
+ html `<div
42
41
  class="d-flex cursor_pointer"
43
42
  style="gap:8px;"
44
43
  onclick="${cf.gvc.event(() => {
@@ -109,11 +108,20 @@ export class ColorThemeSelector {
109
108
  cf.gvc.notifyDataChange(id);
110
109
  },
111
110
  filter: (key) => {
112
- if (!cf.widget.bundle.root_widget) {
113
- return true;
111
+ if (cf.widget.bundle.root_widget.find((dd) => {
112
+ return dd.data._color_editor_able !== undefined;
113
+ })) {
114
+ return cf.widget.bundle.root_widget.find((dd) => {
115
+ return dd.data._color_editor_able !== undefined;
116
+ }).data._color_editor_able.includes(key);
117
+ }
118
+ else {
119
+ if (!cf.widget.bundle.root_widget) {
120
+ return true;
121
+ }
122
+ const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
123
+ return inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`);
114
124
  }
115
- const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
116
- return inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`);
117
125
  },
118
126
  name: custom ? `自定義配色` : `配色${parseInt(select.id, 10) + 1}`,
119
127
  data: custom ? select : globalValue.color_theme[parseInt(select.id, 10)],
@@ -121,6 +129,9 @@ export class ColorThemeSelector {
121
129
  }),
122
130
  title: '顏色編輯',
123
131
  });
132
+ NormalPageEditor.closeEvent = () => {
133
+ cf.gvc.notifyDataChange(id);
134
+ };
124
135
  })}">編輯
125
136
  </div>
126
137
  </div>
@@ -162,11 +173,20 @@ export class ColorThemeSelector {
162
173
  cf.gvc.notifyDataChange(id);
163
174
  },
164
175
  filter: (key) => {
165
- if (!cf.widget.bundle.root_widget) {
166
- return true;
176
+ if (cf.widget.bundle.root_widget.find((dd) => {
177
+ return dd.data._color_editor_able !== undefined;
178
+ })) {
179
+ return cf.widget.bundle.root_widget.find((dd) => {
180
+ return dd.data._color_editor_able !== undefined;
181
+ }).data._color_editor_able.includes(key);
182
+ }
183
+ else {
184
+ if (!cf.widget.bundle.root_widget) {
185
+ return true;
186
+ }
187
+ const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
188
+ return (inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`));
167
189
  }
168
- const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
169
- return (inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`));
170
190
  },
171
191
  name: vm.name,
172
192
  data: vm.data,
@@ -192,15 +212,24 @@ export class ColorThemeSelector {
192
212
  cf.gvc.notifyDataChange(id);
193
213
  },
194
214
  filter: (key) => {
195
- if (!cf.widget.bundle.root_widget) {
196
- return true;
215
+ if (cf.widget.bundle.root_widget.find((dd) => {
216
+ return dd.data._color_editor_able !== undefined;
217
+ })) {
218
+ return cf.widget.bundle.root_widget.find((dd) => {
219
+ return dd.data._color_editor_able !== undefined;
220
+ }).data._color_editor_able.includes(key);
221
+ }
222
+ else {
223
+ if (!cf.widget.bundle.root_widget) {
224
+ return true;
225
+ }
226
+ const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
227
+ return (inf.includes(`.${key}`) ||
228
+ inf.includes(`("${key}`) ||
229
+ inf.includes(`('${key}`) ||
230
+ inf.includes(`['${key}']`) ||
231
+ inf.includes(`["${key}"]`));
197
232
  }
198
- const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
199
- return (inf.includes(`.${key}`) ||
200
- inf.includes(`("${key}`) ||
201
- inf.includes(`('${key}`) ||
202
- inf.includes(`['${key}']`) ||
203
- inf.includes(`["${key}"]`));
204
233
  },
205
234
  name: vm.name,
206
235
  data: vm.data,
@@ -8,15 +8,15 @@ const html = String.raw;
8
8
 
9
9
  export class ColorThemeSelector {
10
10
  public static main(cf: { gvc: GVC; formData: any; widget: any; key: string; callback: (data: any) => void }) {
11
- const globalValue = cf.gvc.glitter.share.editorViewModel.appConfig;
12
- globalValue.color_theme = globalValue.color_theme ?? [];
13
- const select = '0';
11
+
14
12
 
15
13
  return cf.gvc.bindView(() => {
16
14
  const id = cf.gvc.glitter.getUUID();
17
15
  return {
18
16
  bind: id,
19
17
  view: () => {
18
+ const globalValue = cf.gvc.glitter.share.editorViewModel.appConfig;
19
+ globalValue.color_theme = globalValue.color_theme ?? [];
20
20
  try {
21
21
  if (typeof cf.widget.bundle.form_data[cf.widget.bundle.form_key] !== 'object') {
22
22
  cf.widget.bundle.form_data[cf.widget.bundle.form_key] = {};
@@ -42,11 +42,10 @@ export class ColorThemeSelector {
42
42
  .map((dd) => {
43
43
  return html` <div>
44
44
  ${[
45
- html` <div
45
+ html`<div
46
46
  class="d-flex cursor_pointer"
47
47
  style="gap:8px;"
48
48
  onclick="${cf.gvc.event(() => {
49
-
50
49
  const key = `${select.id}`.split('-')[0] === 'custom' ? `custom` : `global`;
51
50
  if (key === dd.value) {
52
51
  return;
@@ -111,12 +110,20 @@ export class ColorThemeSelector {
111
110
  cf.gvc.notifyDataChange(id);
112
111
  },
113
112
  filter: (key) => {
114
- if (!cf.widget.bundle.root_widget) {
115
- return true;
116
- }
117
- const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
113
+ if(cf.widget.bundle.root_widget.find((dd:any)=>{
114
+ return dd.data._color_editor_able!==undefined
115
+ })){
116
+ return cf.widget.bundle.root_widget.find((dd:any)=>{
117
+ return dd.data._color_editor_able!==undefined
118
+ }).data._color_editor_able.includes(key)
119
+ }else{
120
+ if (!cf.widget.bundle.root_widget) {
121
+ return true;
122
+ }
123
+ const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
118
124
 
119
- return inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`);
125
+ return inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`);
126
+ }
120
127
  },
121
128
  name: custom ? `自定義配色` : `配色${parseInt(select.id, 10) + 1}`,
122
129
  data: custom ? select : globalValue.color_theme[parseInt(select.id, 10)],
@@ -124,6 +131,9 @@ export class ColorThemeSelector {
124
131
  }),
125
132
  title: '顏色編輯',
126
133
  });
134
+ NormalPageEditor.closeEvent=()=>{
135
+ cf.gvc.notifyDataChange(id);
136
+ }
127
137
  })}">編輯
128
138
  </div>
129
139
  </div>
@@ -165,13 +175,21 @@ export class ColorThemeSelector {
165
175
  cf.gvc.notifyDataChange(id);
166
176
  },
167
177
  filter: (key) => {
168
- if (!cf.widget.bundle.root_widget) {
169
- return true;
178
+ if(cf.widget.bundle.root_widget.find((dd:any)=>{
179
+ return dd.data._color_editor_able!==undefined
180
+ })){
181
+ return cf.widget.bundle.root_widget.find((dd:any)=>{
182
+ return dd.data._color_editor_able!==undefined
183
+ }).data._color_editor_able.includes(key)
184
+ }else{
185
+ if (!cf.widget.bundle.root_widget) {
186
+ return true;
187
+ }
188
+ const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
189
+ return (
190
+ inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`)
191
+ );
170
192
  }
171
- const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
172
- return (
173
- inf.includes(`.${key}`) || inf.includes(`("${key}`) || inf.includes(`('${key}`) || inf.includes(`['${key}']`) || inf.includes(`["${key}"]`)
174
- );
175
193
  },
176
194
  name: vm.name,
177
195
  data: vm.data,
@@ -196,17 +214,25 @@ export class ColorThemeSelector {
196
214
  cf.gvc.notifyDataChange(id);
197
215
  },
198
216
  filter: (key) => {
199
- if (!cf.widget.bundle.root_widget) {
200
- return true;
217
+ if(cf.widget.bundle.root_widget.find((dd:any)=>{
218
+ return dd.data._color_editor_able!==undefined
219
+ })){
220
+ return cf.widget.bundle.root_widget.find((dd:any)=>{
221
+ return dd.data._color_editor_able!==undefined
222
+ }).data._color_editor_able.includes(key)
223
+ }else{
224
+ if (!cf.widget.bundle.root_widget) {
225
+ return true;
226
+ }
227
+ const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
228
+ return (
229
+ inf.includes(`.${key}`) ||
230
+ inf.includes(`("${key}`) ||
231
+ inf.includes(`('${key}`) ||
232
+ inf.includes(`['${key}']`) ||
233
+ inf.includes(`["${key}"]`)
234
+ );
201
235
  }
202
- const inf = JSON.stringify(cf.widget.bundle.root_widget).replace(/\s+/g, '');
203
- return (
204
- inf.includes(`.${key}`) ||
205
- inf.includes(`("${key}`) ||
206
- inf.includes(`('${key}`) ||
207
- inf.includes(`['${key}']`) ||
208
- inf.includes(`["${key}"]`)
209
- );
210
236
  },
211
237
  name: vm.name,
212
238
  data: vm.data,
@@ -743,6 +743,9 @@ export class Main_editor {
743
743
  if (`${vm.index}` === '0') {
744
744
  document.querySelector('#editerCenter iframe').contentWindow.document.querySelector('body').style.background = gvc.glitter.share.globalValue[`theme_color.0.background`];
745
745
  }
746
+ for (const b of document.querySelector('#editerCenter iframe').contentWindow.document.querySelectorAll('._builder_color_refresh')) {
747
+ b.recreateView();
748
+ }
746
749
  gvc.notifyDataChange(vId);
747
750
  },
748
751
  gvc: gvc,
@@ -802,6 +802,9 @@ export class Main_editor {
802
802
  if (`${vm.index}` === '0') {
803
803
  (document.querySelector('#editerCenter iframe') as any).contentWindow.document.querySelector('body')!.style.background = gvc.glitter.share.globalValue[`theme_color.0.background`];
804
804
  }
805
+ for (const b of (document.querySelector('#editerCenter iframe') as any).contentWindow.document.querySelectorAll('._builder_color_refresh')){
806
+ b.recreateView()
807
+ }
805
808
  gvc.notifyDataChange(vId)
806
809
  },
807
810
  gvc: gvc,
@@ -896,31 +896,47 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
896
896
  }
897
897
  return (!glitter.share.only_show_cuatomize || custom);
898
898
  }
899
+ const color_array = yield filterFormat((dd) => {
900
+ if (dd.page === 'color_theme') {
901
+ return getItemsVisibility(dd);
902
+ }
903
+ else {
904
+ return false;
905
+ }
906
+ });
907
+ const style_array = yield filterFormat((dd) => {
908
+ if (dd.page !== 'color_theme' && dd.category === 'style') {
909
+ return getItemsVisibility(dd);
910
+ }
911
+ else {
912
+ return false;
913
+ }
914
+ });
899
915
  const setting_option = [
900
- {
901
- title: "樣式設定",
902
- key: 'style',
903
- array: yield filterFormat((dd) => {
904
- if (dd.page !== 'color_theme' && dd.category === 'style') {
905
- return getItemsVisibility(dd);
906
- }
907
- else {
908
- return false;
909
- }
910
- })
911
- },
912
- {
913
- title: "顏色設定",
914
- key: 'color',
915
- array: yield filterFormat((dd) => {
916
- if (dd.page === 'color_theme') {
917
- return getItemsVisibility(dd);
918
- }
919
- else {
920
- return false;
921
- }
922
- })
923
- },
916
+ ...(() => {
917
+ if (style_array.length) {
918
+ return [{
919
+ title: "樣式設定",
920
+ key: 'style',
921
+ array: style_array
922
+ }];
923
+ }
924
+ else {
925
+ return [];
926
+ }
927
+ })(),
928
+ ...(() => {
929
+ if (color_array.length) {
930
+ return [{
931
+ title: "顏色設定",
932
+ key: 'color',
933
+ array: color_array
934
+ }];
935
+ }
936
+ else {
937
+ return [];
938
+ }
939
+ })(),
924
940
  {
925
941
  title: "字型設定",
926
942
  key: 'fonts',
@@ -920,29 +920,43 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
920
920
  }
921
921
  return (!glitter.share.only_show_cuatomize || custom)
922
922
  }
923
+ const color_array:any=await filterFormat((dd) => {
924
+ if (dd.page === 'color_theme') {
925
+ return getItemsVisibility(dd)
926
+ } else {
927
+ return false
928
+ }
929
+ })
930
+ const style_array:any=await filterFormat((dd) => {
931
+ if (dd.page !== 'color_theme' && dd.category === 'style') {
932
+ return getItemsVisibility(dd)
933
+ } else {
934
+ return false
935
+ }
936
+ })
923
937
  const setting_option = [
924
- {
925
- title: "樣式設定",
926
- key: 'style',
927
- array: await filterFormat((dd) => {
928
- if (dd.page !== 'color_theme' && dd.category === 'style') {
929
- return getItemsVisibility(dd)
930
- } else {
931
- return false
932
- }
933
- })
934
- },
935
- {
936
- title: "顏色設定",
937
- key: 'color',
938
- array: await filterFormat((dd) => {
939
- if (dd.page === 'color_theme') {
940
- return getItemsVisibility(dd)
941
- } else {
942
- return false
938
+ ...(()=>{
939
+ if(style_array.length){
940
+ return [ {
941
+ title: "樣式設定",
942
+ key: 'style',
943
+ array: style_array
944
+ }]
945
+ }else{
946
+ return []
947
+ }
948
+ })(),
949
+ ...(()=>{
950
+ if(color_array.length){
951
+ return [ {
952
+ title: "顏色設定",
953
+ key: 'color',
954
+ array: color_array
955
+ }]
956
+ }else{
957
+ return []
943
958
  }
944
- })
945
- },
959
+ })(),
946
960
  {
947
961
  title: "字型設定",
948
962
  key: 'fonts',
@@ -12,6 +12,7 @@ export class Sy02 {
12
12
  gvc.glitter.getModule(new URL('./official_event/page/change-page.js', gvc.glitter.root_path).href, (cl) => {
13
13
  changePage = cl.changePage
14
14
  })
15
+
15
16
  return html`
16
17
  <div style="height: 76px;"></div>
17
18
  <nav class="navbar navbar-expand-lg vw-100 header header-place shadow position-fixed top-0 left-0 py-0"
@@ -14,7 +14,6 @@ export class Sy04 {
14
14
  <nav class="navbar navbar-expand-lg vw-100 header header-place shadow position-fixed top-0 left-0 py-0"
15
15
  style="background: ${(_a = widget.formData.theme_color['background']) !== null && _a !== void 0 ? _a : '#000'} !important;height: 76px;z-index:9999;">
16
16
  <div class="container header-place h-100">
17
-
18
17
  <!--LOGO顯示區塊-->
19
18
  <div class="d-flex align-items-center justify-content-center h-100"
20
19
  style="gap: 8px;cursor: pointer;">
@@ -17,7 +17,6 @@ export class Sy04 {
17
17
  <nav class="navbar navbar-expand-lg vw-100 header header-place shadow position-fixed top-0 left-0 py-0"
18
18
  style="background: ${widget.formData.theme_color['background'] ?? '#000'} !important;height: 76px;z-index:9999;">
19
19
  <div class="container header-place h-100">
20
-
21
20
  <!--LOGO顯示區塊-->
22
21
  <div class="d-flex align-items-center justify-content-center h-100"
23
22
  style="gap: 8px;cursor: pointer;">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-glitter",
3
- "version": "13.7.0",
3
+ "version": "13.7.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {