@sd-angular/core 0.0.882 → 0.0.886

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 (69) hide show
  1. package/api/src/lib/api.model.d.ts +2 -2
  2. package/assets/ckeditor/plugins/notification/plugin.js +1 -1
  3. package/assets/ckeditor/plugins/videoembed/.gitattributes +17 -0
  4. package/assets/ckeditor/plugins/wordcount/lang/ca.js +1 -1
  5. package/assets/ckeditor/plugins/wordcount/lang/cs.js +1 -1
  6. package/assets/ckeditor/plugins/wordcount/lang/de.js +1 -1
  7. package/assets/ckeditor/plugins/wordcount/lang/el.js +1 -1
  8. package/assets/ckeditor/plugins/wordcount/lang/en.js +1 -1
  9. package/assets/ckeditor/plugins/wordcount/lang/es.js +1 -1
  10. package/assets/ckeditor/plugins/wordcount/lang/eu.js +1 -1
  11. package/assets/ckeditor/plugins/wordcount/lang/fa.js +1 -1
  12. package/assets/ckeditor/plugins/wordcount/lang/fr.js +1 -1
  13. package/assets/ckeditor/plugins/wordcount/lang/he.js +1 -1
  14. package/assets/ckeditor/plugins/wordcount/lang/hr.js +1 -1
  15. package/assets/ckeditor/plugins/wordcount/lang/hu.js +1 -1
  16. package/assets/ckeditor/plugins/wordcount/lang/ja.js +1 -1
  17. package/assets/ckeditor/plugins/wordcount/lang/nl.js +1 -1
  18. package/assets/ckeditor/plugins/wordcount/lang/no.js +1 -1
  19. package/assets/ckeditor/plugins/wordcount/lang/pl.js +1 -1
  20. package/assets/ckeditor/plugins/wordcount/lang/pt-br.js +1 -1
  21. package/assets/ckeditor/plugins/wordcount/lang/ro.js +1 -1
  22. package/assets/ckeditor/plugins/wordcount/lang/ru.js +1 -1
  23. package/assets/ckeditor/plugins/wordcount/lang/sk.js +1 -1
  24. package/assets/ckeditor/plugins/wordcount/lang/sv.js +1 -1
  25. package/assets/ckeditor/plugins/wordcount/lang/tr.js +1 -1
  26. package/assets/ckeditor/plugins/wordcount/lang/uk.js +1 -1
  27. package/assets/ckeditor/plugins/wordcount/lang/zh-cn.js +1 -1
  28. package/assets/ckeditor/plugins/wordcount/lang/zh.js +1 -1
  29. package/assets/ckeditor/plugins/wordcount/samples/wordcount.html +1 -1
  30. package/assets/ckeditor/plugins/wordcount/samples/wordcountWithMaxCount.html +1 -1
  31. package/bundles/sd-angular-core-api.umd.js +134 -121
  32. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  33. package/bundles/sd-angular-core-api.umd.min.js +1 -1
  34. package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
  35. package/bundles/sd-angular-core-cache.umd.js +151 -13
  36. package/bundles/sd-angular-core-cache.umd.js.map +1 -1
  37. package/bundles/sd-angular-core-cache.umd.min.js +2 -2
  38. package/bundles/sd-angular-core-cache.umd.min.js.map +1 -1
  39. package/bundles/sd-angular-core-grid-material.umd.js +33 -24
  40. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  41. package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
  42. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  43. package/bundles/sd-angular-core-upload-excel.umd.js +1 -0
  44. package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
  45. package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
  46. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  47. package/cache/sd-angular-core-cache.metadata.json +1 -1
  48. package/cache/src/lib/cache.model.d.ts +27 -4
  49. package/cache/src/lib/cache.service.d.ts +3 -2
  50. package/esm2015/api/src/lib/api.model.js +1 -1
  51. package/esm2015/api/src/lib/http.interceptor.js +13 -6
  52. package/esm2015/cache/src/lib/cache.model.js +1 -1
  53. package/esm2015/cache/src/lib/cache.service.js +115 -11
  54. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +8 -7
  55. package/esm2015/grid-material/src/lib/grid-material.component.js +8 -1
  56. package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
  57. package/esm2015/upload-excel/src/lib/upload-excel.component.js +2 -1
  58. package/fesm2015/sd-angular-core-api.js +12 -6
  59. package/fesm2015/sd-angular-core-api.js.map +1 -1
  60. package/fesm2015/sd-angular-core-cache.js +114 -10
  61. package/fesm2015/sd-angular-core-cache.js.map +1 -1
  62. package/fesm2015/sd-angular-core-grid-material.js +14 -6
  63. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  64. package/fesm2015/sd-angular-core-upload-excel.js +1 -0
  65. package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
  66. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  67. package/grid-material/src/lib/models/grid-column.model.d.ts +1 -0
  68. package/package.json +1 -1
  69. package/{sd-angular-core-0.0.882.tgz → sd-angular-core-0.0.886.tgz} +0 -0
@@ -1,15 +1,18 @@
1
- import { __classPrivateFieldGet } from 'tslib';
1
+ import { __classPrivateFieldGet, __awaiter } from 'tslib';
2
2
  import { InjectionToken, ɵɵdefineInjectable, ɵɵinject, Injectable, Inject, Optional } from '@angular/core';
3
3
  import hash from 'object-hash';
4
4
  import '@sd-angular/core/typing';
5
+ import { BehaviorSubject } from 'rxjs';
6
+ import { map, switchMap } from 'rxjs/operators';
5
7
 
6
8
  const CACHE_CONFIG = new InjectionToken('cache.configuration');
7
9
 
8
- var _cache, _get, _set, _has, _remove;
10
+ var _cache, _subject, _get, _getServer, _set, _setServer, _has, _hasServer, _remove, _removeServer;
9
11
  class SdCacheService {
10
12
  constructor(configuration) {
11
13
  this.configuration = configuration;
12
14
  _cache.set(this, {});
15
+ _subject.set(this, {});
13
16
  _get.set(this, (key, option) => {
14
17
  return () => {
15
18
  let cache = __classPrivateFieldGet(this, _cache)[key];
@@ -30,26 +33,43 @@ class SdCacheService {
30
33
  }
31
34
  }
32
35
  if (!cache) {
33
- return undefined;
36
+ return option === null || option === void 0 ? void 0 : option.default;
34
37
  }
35
38
  if ((option === null || option === void 0 ? void 0 : option.hours) && Date.addHours(cache.createdOn, option === null || option === void 0 ? void 0 : option.hours) < new Date()) {
36
39
  const remove = __classPrivateFieldGet(this, _remove).call(this, key, option);
37
40
  remove();
38
- return undefined;
41
+ return option === null || option === void 0 ? void 0 : option.default;
39
42
  }
40
43
  return JSON.parse(JSON.stringify(cache.data));
41
44
  };
42
45
  });
46
+ _getServer.set(this, (key, option) => {
47
+ return () => __awaiter(this, void 0, void 0, function* () {
48
+ var _a;
49
+ let cache = __classPrivateFieldGet(this, _cache)[key];
50
+ if ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.get) {
51
+ cache = yield this.configuration.get(key, option).catch(err => {
52
+ console.error(err);
53
+ return undefined;
54
+ });
55
+ }
56
+ if (!cache) {
57
+ return option === null || option === void 0 ? void 0 : option.default;
58
+ }
59
+ if ((option === null || option === void 0 ? void 0 : option.hours) && Date.addHours(cache.createdOn, option === null || option === void 0 ? void 0 : option.hours) < new Date()) {
60
+ const remove = __classPrivateFieldGet(this, _removeServer).call(this, key, option);
61
+ remove();
62
+ return option === null || option === void 0 ? void 0 : option.default;
63
+ }
64
+ return JSON.parse(JSON.stringify(cache.data));
65
+ });
66
+ });
43
67
  _set.set(this, (key, option) => {
44
68
  return (data) => {
45
- var _a;
46
69
  __classPrivateFieldGet(this, _cache)[key] = {
47
70
  data: JSON.parse(JSON.stringify(data)),
48
71
  createdOn: new Date()
49
72
  };
50
- if ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.set) {
51
- this.configuration.set(key, data, option).catch(console.error);
52
- }
53
73
  if ((option === null || option === void 0 ? void 0 : option.type) === 'session') {
54
74
  try {
55
75
  sessionStorage.setItem(key, JSON.stringify(__classPrivateFieldGet(this, _cache)[key]));
@@ -66,8 +86,27 @@ class SdCacheService {
66
86
  console.error(err);
67
87
  }
68
88
  }
89
+ __classPrivateFieldGet(this, _subject)[key].next(__classPrivateFieldGet(this, _cache)[key].data);
69
90
  };
70
91
  });
92
+ _setServer.set(this, (key, option) => {
93
+ return (data) => __awaiter(this, void 0, void 0, function* () {
94
+ var _a;
95
+ __classPrivateFieldGet(this, _cache)[key] = {
96
+ data: JSON.parse(JSON.stringify(data)),
97
+ createdOn: new Date()
98
+ };
99
+ if ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.set) {
100
+ try {
101
+ yield this.configuration.set(key, __classPrivateFieldGet(this, _cache)[key], option);
102
+ }
103
+ catch (err) {
104
+ console.error(err);
105
+ }
106
+ }
107
+ __classPrivateFieldGet(this, _subject)[key].next(__classPrivateFieldGet(this, _cache)[key].data);
108
+ });
109
+ });
71
110
  _has.set(this, (key, option) => {
72
111
  return () => {
73
112
  let cache = __classPrivateFieldGet(this, _cache)[key];
@@ -96,6 +135,25 @@ class SdCacheService {
96
135
  return true;
97
136
  };
98
137
  });
138
+ _hasServer.set(this, (key, option) => {
139
+ return () => __awaiter(this, void 0, void 0, function* () {
140
+ var _a;
141
+ let cache = __classPrivateFieldGet(this, _cache)[key];
142
+ if ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.get) {
143
+ cache = yield this.configuration.get(key, option).catch(err => {
144
+ console.error(err);
145
+ return undefined;
146
+ });
147
+ }
148
+ if (!cache) {
149
+ return false;
150
+ }
151
+ if ((option === null || option === void 0 ? void 0 : option.hours) && Date.addHours(cache.createdOn, option === null || option === void 0 ? void 0 : option.hours) < new Date()) {
152
+ return false;
153
+ }
154
+ return true;
155
+ });
156
+ });
99
157
  _remove.set(this, (key, option) => {
100
158
  return () => {
101
159
  __classPrivateFieldGet(this, _cache)[key] = undefined;
@@ -105,8 +163,21 @@ class SdCacheService {
105
163
  if ((option === null || option === void 0 ? void 0 : option.type) === 'local') {
106
164
  localStorage.removeItem(key);
107
165
  }
166
+ __classPrivateFieldGet(this, _subject)[key].next(undefined);
108
167
  };
109
168
  });
169
+ _removeServer.set(this, (key, option) => {
170
+ return () => __awaiter(this, void 0, void 0, function* () {
171
+ var _a;
172
+ __classPrivateFieldGet(this, _cache)[key] = undefined;
173
+ if ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.remove) {
174
+ yield this.configuration.remove(key, option).catch(err => {
175
+ console.error(err);
176
+ });
177
+ }
178
+ __classPrivateFieldGet(this, _subject)[key].next(undefined);
179
+ });
180
+ });
110
181
  }
111
182
  create(key, option) {
112
183
  if (!key) {
@@ -122,6 +193,9 @@ class SdCacheService {
122
193
  else {
123
194
  throw new Error('Invalid key');
124
195
  }
196
+ if (!__classPrivateFieldGet(this, _subject)[hashKey]) {
197
+ __classPrivateFieldGet(this, _subject)[hashKey] = new BehaviorSubject(option === null || option === void 0 ? void 0 : option.default);
198
+ }
125
199
  const get = __classPrivateFieldGet(this, _get).call(this, hashKey, option);
126
200
  const set = __classPrivateFieldGet(this, _set).call(this, hashKey, option);
127
201
  const has = __classPrivateFieldGet(this, _has).call(this, hashKey, option);
@@ -130,11 +204,41 @@ class SdCacheService {
130
204
  get,
131
205
  set,
132
206
  has,
133
- remove
207
+ remove,
208
+ observer: __classPrivateFieldGet(this, _subject)[hashKey].pipe(map(get))
209
+ };
210
+ }
211
+ createServer(key, option) {
212
+ if (!key) {
213
+ throw new Error('Key is required');
214
+ }
215
+ let hashKey = null;
216
+ if (typeof (key) === 'string') {
217
+ hashKey = key;
218
+ }
219
+ else if (typeof (key) === 'object') {
220
+ hashKey = hash(key);
221
+ }
222
+ else {
223
+ throw new Error('Invalid key');
224
+ }
225
+ if (!__classPrivateFieldGet(this, _subject)[hashKey]) {
226
+ __classPrivateFieldGet(this, _subject)[hashKey] = new BehaviorSubject(option === null || option === void 0 ? void 0 : option.default);
227
+ }
228
+ const get = __classPrivateFieldGet(this, _getServer).call(this, hashKey, option);
229
+ const set = __classPrivateFieldGet(this, _setServer).call(this, hashKey, option);
230
+ const has = __classPrivateFieldGet(this, _hasServer).call(this, hashKey, option);
231
+ const remove = __classPrivateFieldGet(this, _removeServer).call(this, hashKey, option);
232
+ return {
233
+ get,
234
+ set,
235
+ has,
236
+ remove,
237
+ observer: __classPrivateFieldGet(this, _subject)[hashKey].pipe(switchMap(get))
134
238
  };
135
239
  }
136
240
  }
137
- _cache = new WeakMap(), _get = new WeakMap(), _set = new WeakMap(), _has = new WeakMap(), _remove = new WeakMap();
241
+ _cache = new WeakMap(), _subject = new WeakMap(), _get = new WeakMap(), _getServer = new WeakMap(), _set = new WeakMap(), _setServer = new WeakMap(), _has = new WeakMap(), _hasServer = new WeakMap(), _remove = new WeakMap(), _removeServer = new WeakMap();
138
242
  SdCacheService.ɵprov = ɵɵdefineInjectable({ factory: function SdCacheService_Factory() { return new SdCacheService(ɵɵinject(CACHE_CONFIG, 8)); }, token: SdCacheService, providedIn: "root" });
139
243
  SdCacheService.decorators = [
140
244
  { type: Injectable, args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"sd-angular-core-cache.js","sources":["../../../../projects/sd-core/cache/src/lib/cache.model.ts","../../../../projects/sd-core/cache/src/lib/cache.service.ts","../../../../projects/sd-core/cache/sd-angular-core-cache.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SdCacheOption {\r\n type?: 'default' | 'session' | 'local';\r\n hours?: number;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCache<T = any> {\r\n get: () => T;\r\n set: (data: T) => void;\r\n has: () => boolean;\r\n remove: () => void;\r\n}\r\n\r\nexport interface ICacheConfiguration {\r\n convertKey?: (key: string) => string;\r\n set?: (key: string, value: any, option?: SdCacheOption) => Promise<any>;\r\n get?: (key: string, option?: SdCacheOption) => Promise<any>;\r\n remove?: (key: string, option?: SdCacheOption) => Promise<any>;\r\n}\r\n\r\nexport const CACHE_CONFIG = new InjectionToken<ICacheConfiguration>('cache.configuration');","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport hash from 'object-hash';\r\nimport '@sd-angular/core/typing';\r\nimport { CACHE_CONFIG, ICacheConfiguration, SdCache, SdCacheOption } from './cache.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdCacheService {\r\n #cache: {\r\n [key: string]: {\r\n data: any,\r\n createdOn: Date\r\n }\r\n } = {};\r\n constructor(@Inject(CACHE_CONFIG) @Optional() private configuration: ICacheConfiguration) {\r\n }\r\n\r\n create<T = any>(key: string | object, option?: SdCacheOption): SdCache<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n const get = this.#get<T>(hashKey, option);\r\n const set = this.#set<T>(hashKey, option);\r\n const has = this.#has(hashKey, option);\r\n const remove = this.#remove(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove\r\n };\r\n }\r\n\r\n #get = <T = any>(key: string, option?: SdCacheOption): (() => T) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return undefined;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#remove(key, option);\r\n remove();\r\n return undefined;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #set = <T = any>(key: string, option?: SdCacheOption): ((data: T) => void) => {\r\n return (data: T) => {\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (this.configuration?.set) {\r\n this.configuration.set(key, data, option).catch(console.error);\r\n }\r\n if (option?.type === 'session') {\r\n try {\r\n sessionStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n }\r\n }\r\n\r\n #has = (key: string, option?: SdCacheOption): (() => boolean) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n #remove = (key: string, option?: SdCacheOption): (() => void) => {\r\n return () => {\r\n this.#cache[key] = undefined;\r\n if (option?.type === 'session') {\r\n sessionStorage.removeItem(key);\r\n }\r\n if (option?.type === 'local') {\r\n localStorage.removeItem(key);\r\n }\r\n };\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-angular-core-cache.js","sources":["../../../../projects/sd-core/cache/src/lib/cache.model.ts","../../../../projects/sd-core/cache/src/lib/cache.service.ts","../../../../projects/sd-core/cache/sd-angular-core-cache.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface SdCacheOption<T = any> {\r\n type?: 'default' | 'session' | 'local';\r\n hours?: number;\r\n default?: T;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCacheServerOption<T = any> {\r\n hours?: number;\r\n default?: T;\r\n args?: {\r\n [key: string]: any\r\n };\r\n}\r\n\r\nexport interface SdCache<T = any> {\r\n get: () => T;\r\n set: (data: T) => void;\r\n has: () => boolean;\r\n remove: () => void;\r\n observer: Observable<T>;\r\n}\r\n\r\nexport interface SdCacheServer<T = any> {\r\n get: () => Promise<T>;\r\n set: (data: T) => Promise<void>;\r\n has: () => Promise<boolean>;\r\n remove: () => Promise<void>;\r\n observer: Observable<T>;\r\n}\r\n\r\nexport interface ICacheConfiguration {\r\n convertKey?: (key: string) => string;\r\n set?: (key: string, value: { data: any, createdOn: Date }, option?: SdCacheServerOption) => Promise<void>;\r\n get?: (key: string, option?: SdCacheServerOption) => Promise<{ data: any, createdOn: Date }>;\r\n remove?: (key: string, option?: SdCacheServerOption) => Promise<void>;\r\n}\r\n\r\nexport const CACHE_CONFIG = new InjectionToken<ICacheConfiguration>('cache.configuration');\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport hash from 'object-hash';\r\nimport '@sd-angular/core/typing';\r\nimport { CACHE_CONFIG, ICacheConfiguration, SdCache, SdCacheOption, SdCacheServer, SdCacheServerOption } from './cache.model';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SdCacheService {\r\n #cache: {\r\n [key: string]: {\r\n data: any,\r\n createdOn: Date\r\n }\r\n } = {};\r\n #subject: {\r\n [key: string]: BehaviorSubject<any>;\r\n } = {};\r\n constructor(@Inject(CACHE_CONFIG) @Optional() private configuration: ICacheConfiguration) {\r\n }\r\n\r\n create<T = any>(key: string | object, option?: SdCacheOption<T>): SdCache<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n if (!this.#subject[hashKey]) {\r\n this.#subject[hashKey] = new BehaviorSubject<any>(option?.default);\r\n }\r\n const get = this.#get<T>(hashKey, option);\r\n const set = this.#set<T>(hashKey, option);\r\n const has = this.#has(hashKey, option);\r\n const remove = this.#remove(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove,\r\n observer: this.#subject[hashKey].pipe(map(get))\r\n };\r\n }\r\n\r\n createServer<T = any>(key: string | object, option?: SdCacheOption<T>): SdCacheServer<T> {\r\n if (!key) {\r\n throw new Error('Key is required');\r\n }\r\n let hashKey: string = null;\r\n if (typeof (key) === 'string') {\r\n hashKey = key;\r\n } else if (typeof (key) === 'object') {\r\n hashKey = hash(key);\r\n } else {\r\n throw new Error('Invalid key');\r\n }\r\n if (!this.#subject[hashKey]) {\r\n this.#subject[hashKey] = new BehaviorSubject<any>(option?.default);\r\n }\r\n const get = this.#getServer<T>(hashKey, option);\r\n const set = this.#setServer<T>(hashKey, option);\r\n const has = this.#hasServer(hashKey, option);\r\n const remove = this.#removeServer(hashKey, option);\r\n return {\r\n get,\r\n set,\r\n has,\r\n remove,\r\n observer: this.#subject[hashKey].pipe(switchMap(get))\r\n };\r\n }\r\n\r\n #get = <T = any>(key: string, option?: SdCacheOption): (() => T) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return option?.default;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#remove(key, option);\r\n remove();\r\n return option?.default;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #getServer = <T = any>(key: string, option?: SdCacheServerOption): (() => Promise<T>) => {\r\n return async () => {\r\n let cache = this.#cache[key];\r\n if (this.configuration?.get) {\r\n cache = await this.configuration.get(key, option).catch(err => {\r\n console.error(err);\r\n return undefined;\r\n });\r\n }\r\n if (!cache) {\r\n return option?.default;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n const remove = this.#removeServer(key, option);\r\n remove();\r\n return option?.default;\r\n }\r\n return JSON.parse(JSON.stringify(cache.data));\r\n };\r\n }\r\n\r\n #set = <T = any>(key: string, option?: SdCacheOption): ((data: T) => void) => {\r\n return (data: T) => {\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (option?.type === 'session') {\r\n try {\r\n sessionStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(this.#cache[key]));\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n this.#subject[key].next(this.#cache[key].data);\r\n };\r\n }\r\n\r\n #setServer = <T = any>(key: string, option?: SdCacheServerOption): ((data: T) => Promise<void>) => {\r\n return async (data: T) => {\r\n this.#cache[key] = {\r\n data: JSON.parse(JSON.stringify(data)),\r\n createdOn: new Date()\r\n };\r\n if (this.configuration?.set) {\r\n try {\r\n await this.configuration.set(key, this.#cache[key], option);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n }\r\n this.#subject[key].next(this.#cache[key].data);\r\n };\r\n }\r\n\r\n #has = (key: string, option?: SdCacheOption): (() => boolean) => {\r\n return () => {\r\n let cache = this.#cache[key];\r\n\r\n if (option?.type === 'session') {\r\n try {\r\n cache = JSON.parse(sessionStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (option?.type === 'local') {\r\n try {\r\n cache = JSON.parse(localStorage.getItem(key));\r\n } catch {\r\n cache = undefined;\r\n }\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n #hasServer = (key: string, option?: SdCacheServerOption): (() => Promise<boolean>) => {\r\n return async () => {\r\n let cache = this.#cache[key];\r\n if (this.configuration?.get) {\r\n cache = await this.configuration.get(key, option).catch(err => {\r\n console.error(err);\r\n return undefined;\r\n });\r\n }\r\n if (!cache) {\r\n return false;\r\n }\r\n if (option?.hours && Date.addHours(cache.createdOn, option?.hours) < new Date()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n }\r\n\r\n #remove = (key: string, option?: SdCacheOption): (() => void) => {\r\n return () => {\r\n this.#cache[key] = undefined;\r\n if (option?.type === 'session') {\r\n sessionStorage.removeItem(key);\r\n }\r\n if (option?.type === 'local') {\r\n localStorage.removeItem(key);\r\n }\r\n this.#subject[key].next(undefined);\r\n };\r\n }\r\n\r\n #removeServer = (key: string, option?: SdCacheServerOption): (() => Promise<void>) => {\r\n return async () => {\r\n this.#cache[key] = undefined;\r\n if (this.configuration?.remove) {\r\n await this.configuration.remove(key, option).catch(err => {\r\n console.error(err);\r\n });\r\n }\r\n this.#subject[key].next(undefined);\r\n };\r\n }\r\n}\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -269,24 +269,25 @@ class SdGridFilter {
269
269
  this.externalFilter = {};
270
270
  this.inlineExternal = {};
271
271
  _loadDefault.set(this, () => {
272
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
272
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
273
273
  for (const column of this.columns) {
274
274
  this.inlineColumn[column.field] = (_a = this.inlineColumn[column.field]) !== null && _a !== void 0 ? _a : (_b = column === null || column === void 0 ? void 0 : column.filter) === null || _b === void 0 ? void 0 : _b.defaultShowing;
275
+ this.columnFilter[column.field] = (_c = this.columnFilter[column.field]) !== null && _c !== void 0 ? _c : (_d = column === null || column === void 0 ? void 0 : column.filter) === null || _d === void 0 ? void 0 : _d.default;
275
276
  }
276
277
  for (const externalFilter of this.externalFilters) {
277
- this.inlineExternal[externalFilter.field] = (_c = this.inlineExternal[externalFilter.field]) !== null && _c !== void 0 ? _c : externalFilter === null || externalFilter === void 0 ? void 0 : externalFilter.defaultShowing;
278
+ this.inlineExternal[externalFilter.field] = (_e = this.inlineExternal[externalFilter.field]) !== null && _e !== void 0 ? _e : externalFilter === null || externalFilter === void 0 ? void 0 : externalFilter.defaultShowing;
278
279
  if (externalFilter.type === 'daterange') {
279
280
  this.externalFilter[externalFilter.field] = {
280
- from: (_g = (_e = (_d = this.externalFilter[externalFilter.field]) === null || _d === void 0 ? void 0 : _d.from) !== null && _e !== void 0 ? _e : (_f = externalFilter.default) === null || _f === void 0 ? void 0 : _f.from) !== null && _g !== void 0 ? _g : undefined,
281
- to: (_l = (_j = (_h = this.externalFilter[externalFilter.field]) === null || _h === void 0 ? void 0 : _h.to) !== null && _j !== void 0 ? _j : (_k = externalFilter.default) === null || _k === void 0 ? void 0 : _k.to) !== null && _l !== void 0 ? _l : undefined
281
+ from: (_j = (_g = (_f = this.externalFilter[externalFilter.field]) === null || _f === void 0 ? void 0 : _f.from) !== null && _g !== void 0 ? _g : (_h = externalFilter.default) === null || _h === void 0 ? void 0 : _h.from) !== null && _j !== void 0 ? _j : undefined,
282
+ to: (_o = (_l = (_k = this.externalFilter[externalFilter.field]) === null || _k === void 0 ? void 0 : _k.to) !== null && _l !== void 0 ? _l : (_m = externalFilter.default) === null || _m === void 0 ? void 0 : _m.to) !== null && _o !== void 0 ? _o : undefined
282
283
  };
283
284
  }
284
285
  else {
285
- this.externalFilter[externalFilter.field] = (_m = this.externalFilter[externalFilter.field]) !== null && _m !== void 0 ? _m : externalFilter.default;
286
+ this.externalFilter[externalFilter.field] = (_p = this.externalFilter[externalFilter.field]) !== null && _p !== void 0 ? _p : externalFilter.default;
286
287
  }
287
288
  }
288
289
  for (const filterDef of this.filterDefs) {
289
- this.inlineFilterDef[filterDef.sdMaterialFilterDef] = (_o = this.inlineFilterDef[filterDef.sdMaterialFilterDef]) !== null && _o !== void 0 ? _o : filterDef === null || filterDef === void 0 ? void 0 : filterDef.defaultShowing;
290
+ this.inlineFilterDef[filterDef.sdMaterialFilterDef] = (_q = this.inlineFilterDef[filterDef.sdMaterialFilterDef]) !== null && _q !== void 0 ? _q : filterDef === null || filterDef === void 0 ? void 0 : filterDef.defaultShowing;
290
291
  }
291
292
  });
292
293
  _clearFilter.set(this, () => {
@@ -1674,10 +1675,17 @@ class SdGridMaterial {
1674
1675
  }
1675
1676
  }
1676
1677
  set option(option) {
1678
+ var _a;
1677
1679
  if (option) {
1678
1680
  option = __classPrivateFieldGet(this, _initConfiguration).call(this, option);
1679
1681
  this.gridOption = option;
1680
1682
  __classPrivateFieldGet(this, _optionChanges).emit();
1683
+ (_a = option === null || option === void 0 ? void 0 : option.columns) === null || _a === void 0 ? void 0 : _a.forEach(col => {
1684
+ var _a;
1685
+ if ((_a = col.filter) === null || _a === void 0 ? void 0 : _a.default) {
1686
+ this.columnFilter[col.field] = col.filter.default;
1687
+ }
1688
+ });
1681
1689
  const configuration = this.gridConfigurationService.init(this.key, this.gridOption);
1682
1690
  this.gridConfigurationObserver = configuration.observer;
1683
1691
  configuration.load();