@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.
- package/api/src/lib/api.model.d.ts +2 -2
- package/assets/ckeditor/plugins/notification/plugin.js +1 -1
- package/assets/ckeditor/plugins/videoembed/.gitattributes +17 -0
- package/assets/ckeditor/plugins/wordcount/lang/ca.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/cs.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/de.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/el.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/en.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/es.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/eu.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/fa.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/fr.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/he.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/hr.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/hu.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/ja.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/nl.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/no.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/pl.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/pt-br.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/ro.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/ru.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/sk.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/sv.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/tr.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/uk.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/zh-cn.js +1 -1
- package/assets/ckeditor/plugins/wordcount/lang/zh.js +1 -1
- package/assets/ckeditor/plugins/wordcount/samples/wordcount.html +1 -1
- package/assets/ckeditor/plugins/wordcount/samples/wordcountWithMaxCount.html +1 -1
- package/bundles/sd-angular-core-api.umd.js +134 -121
- package/bundles/sd-angular-core-api.umd.js.map +1 -1
- package/bundles/sd-angular-core-api.umd.min.js +1 -1
- package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.js +151 -13
- package/bundles/sd-angular-core-cache.umd.js.map +1 -1
- package/bundles/sd-angular-core-cache.umd.min.js +2 -2
- package/bundles/sd-angular-core-cache.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.js +33 -24
- package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js +1 -1
- package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.js +1 -0
- package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
- package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
- package/cache/sd-angular-core-cache.metadata.json +1 -1
- package/cache/src/lib/cache.model.d.ts +27 -4
- package/cache/src/lib/cache.service.d.ts +3 -2
- package/esm2015/api/src/lib/api.model.js +1 -1
- package/esm2015/api/src/lib/http.interceptor.js +13 -6
- package/esm2015/cache/src/lib/cache.model.js +1 -1
- package/esm2015/cache/src/lib/cache.service.js +115 -11
- package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +8 -7
- package/esm2015/grid-material/src/lib/grid-material.component.js +8 -1
- package/esm2015/grid-material/src/lib/models/grid-column.model.js +1 -1
- package/esm2015/upload-excel/src/lib/upload-excel.component.js +2 -1
- package/fesm2015/sd-angular-core-api.js +12 -6
- package/fesm2015/sd-angular-core-api.js.map +1 -1
- package/fesm2015/sd-angular-core-cache.js +114 -10
- package/fesm2015/sd-angular-core-cache.js.map +1 -1
- package/fesm2015/sd-angular-core-grid-material.js +14 -6
- package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
- package/fesm2015/sd-angular-core-upload-excel.js +1 -0
- package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
- package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
- package/grid-material/src/lib/models/grid-column.model.d.ts +1 -0
- package/package.json +1 -1
- 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
|
|
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
|
|
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":";;;;;MAwBa,YAAY,GAAG,IAAI,cAAc,CAAsB,qBAAqB;;;MChB5E,cAAc;IAOzB,YAAsD,aAAkC;QAAlC,kBAAa,GAAb,aAAa,CAAqB;QANxF,iBAKI,EAAE,EAAC;QA4BP,eAAO,CAAU,GAAW,EAAE,MAAsB;YAClD,OAAO;gBACL,IAAI,KAAK,GAAG,qCAAY,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;oBAC9B,IAAI;wBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;qBACjD;oBAAC,WAAM;wBACN,KAAK,GAAG,SAAS,CAAC;qBACnB;iBACF;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;oBAC5B,IAAI;wBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC/C;oBAAC,WAAM;wBACN,KAAK,GAAG,SAAS,CAAC;qBACnB;iBACF;gBACD,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,SAAS,CAAC;iBAClB;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;oBAC/E,MAAM,MAAM,GAAG,2CAAA,IAAI,EAAS,GAAG,EAAE,MAAM,CAAC,CAAC;oBACzC,MAAM,EAAE,CAAC;oBACT,OAAO,SAAS,CAAC;iBAClB;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/C,CAAC;SACH,EAAA;QAED,eAAO,CAAU,GAAW,EAAE,MAAsB;YAClD,OAAO,CAAC,IAAO;;gBACb,qCAAY,GAAG,CAAC,GAAG;oBACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACtC,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC;gBACF,UAAI,IAAI,CAAC,aAAa,0CAAE,GAAG,EAAE;oBAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iBAChE;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;oBAC9B,IAAI;wBACF,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,qCAAY,GAAG,CAAC,CAAC,CAAC,CAAC;qBAC/D;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACpB;iBACF;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;oBAC5B,IAAI;wBACF,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,qCAAY,GAAG,CAAC,CAAC,CAAC,CAAC;qBAC7D;oBAAC,OAAO,GAAG,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBACpB;iBACF;aACF,CAAA;SACF,EAAA;QAED,eAAO,CAAC,GAAW,EAAE,MAAsB;YACzC,OAAO;gBACL,IAAI,KAAK,GAAG,qCAAY,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;oBAC9B,IAAI;wBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;qBACjD;oBAAC,WAAM;wBACN,KAAK,GAAG,SAAS,CAAC;qBACnB;iBACF;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;oBAC5B,IAAI;wBACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC/C;oBAAC,WAAM;wBACN,KAAK,GAAG,SAAS,CAAC;qBACnB;iBACF;gBACD,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,KAAK,CAAC;iBACd;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE;oBAC/E,OAAO,KAAK,CAAC;iBACd;gBACD,OAAO,IAAI,CAAC;aACb,CAAA;SACF,EAAA;QAED,kBAAU,CAAC,GAAW,EAAE,MAAsB;YAC5C,OAAO;gBACL,qCAAY,GAAG,CAAC,GAAG,SAAS,CAAC;gBAC7B,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,SAAS,EAAE;oBAC9B,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAChC;gBACD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,OAAO,EAAE;oBAC5B,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBAC9B;aACF,CAAC;SACH,EAAA;KAtHA;IAED,MAAM,CAAU,GAAoB,EAAE,MAAsB;QAC1D,IAAI,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;QACD,IAAI,OAAO,GAAW,IAAI,CAAC;QAC3B,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;YAC7B,OAAO,GAAG,GAAG,CAAC;SACf;aAAM,IAAI,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;YACpC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;SACrB;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;SAChC;QACD,MAAM,GAAG,GAAG,wCAAA,IAAI,EAAS,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,wCAAA,IAAI,EAAS,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,wCAAA,IAAI,EAAM,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,2CAAA,IAAI,EAAS,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO;YACL,GAAG;YACH,GAAG;YACH,GAAG;YACH,MAAM;SACP,CAAC;KACH;;;;;YAnCF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;4CAQc,MAAM,SAAC,YAAY,cAAG,QAAQ;;;ACf7C;;;;;;"}
|
|
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] = (
|
|
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: (
|
|
281
|
-
to: (
|
|
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] = (
|
|
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] = (
|
|
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();
|