@reskin/core 0.0.11 → 0.0.12
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/bundles/reskin-core-classes.umd.js.map +1 -1
- package/bundles/reskin-core-directives.umd.js +2 -8
- package/bundles/reskin-core-directives.umd.js.map +1 -1
- package/bundles/reskin-core-guards.umd.js.map +1 -1
- package/bundles/reskin-core-interceptors.umd.js.map +1 -1
- package/bundles/reskin-core-services.umd.js +25 -5
- package/bundles/reskin-core-services.umd.js.map +1 -1
- package/bundles/reskin-core-utils.umd.js.map +1 -1
- package/directives/auth.directive.d.ts +4 -6
- package/esm2015/classes/table.helper.js +1 -1
- package/esm2015/directives/auth.directive.js +3 -9
- package/esm2015/guards/auth.guard.js +1 -1
- package/esm2015/interceptors/blob.interceptor.js +1 -1
- package/esm2015/interceptors/cache.interceptor.js +1 -1
- package/esm2015/interceptors/error.interceptor.js +1 -1
- package/esm2015/interceptors/token.interceptor.js +1 -1
- package/esm2015/services/app.config.js +1 -1
- package/esm2015/services/auth.service.js +1 -1
- package/esm2015/services/cache.http.service.js +1 -1
- package/esm2015/services/destroy.service.js +1 -1
- package/esm2015/services/dictionary.service.js +27 -7
- package/esm2015/services/down.file.service.js +1 -1
- package/esm2015/services/field.scheme.service.js +1 -1
- package/esm2015/services/file.service.js +1 -1
- package/esm2015/services/org.service.js +1 -1
- package/esm2015/services/scheme.service.js +1 -1
- package/esm2015/utils/dom.js +1 -1
- package/fesm2015/reskin-core-classes.js.map +1 -1
- package/fesm2015/reskin-core-directives.js +2 -8
- package/fesm2015/reskin-core-directives.js.map +1 -1
- package/fesm2015/reskin-core-guards.js.map +1 -1
- package/fesm2015/reskin-core-interceptors.js.map +1 -1
- package/fesm2015/reskin-core-services.js +25 -5
- package/fesm2015/reskin-core-services.js.map +1 -1
- package/fesm2015/reskin-core-utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
84
84
|
providedIn: 'root',
|
|
85
85
|
}]
|
|
86
86
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bi5maWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvc2VydmljZXMvZG93bi5maWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUtyQyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFBRyxDQUFDO0lBRXhDOzs7Ozs7O09BT0c7SUFDSCxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQTRCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDWCxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO2FBQy9ELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBSSxDQUFDLEdBQVcsRUFBRSxNQUE0QjtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQzthQUNoRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUE0QixFQUFFLEdBQVc7UUFDNUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQW9CLEVBQUUsR0FBVztRQUNqRCxNQUFNLFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELElBQUksa0JBQWtCLEVBQUU7WUFDcEIsT0FBTyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksV0FBVyxFQUFFO1lBQ2IsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzVELElBQUksYUFBYSxFQUFFO2dCQUNmLE9BQU8sa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0M7U0FDSjtRQUVELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRCxJQUFJLG1CQUFtQixFQUFFO1lBQ3JCLE9BQU8sa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUNsRDtRQUVELE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsT0FBTyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLE1BQU0sQ0FBQyxJQUFVLEVBQUUsUUFBZ0I7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSwwQkFBMEIsRUFBRSxDQUFDLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUM1QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OytHQTlFUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07NEZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSa0Rvd25GaWxlU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDkvb/nlKhIVFRQIEdFVOaWueazleWPkemAgeivt+axgu+8jOS7peiOt+WPlkJsb2LnsbvlnovnmoTlk43lupRcclxuICAgICAqIOatpOaWueazleS4u+imgeeUqOS6juWkhOeQhumcgOimgeS6jOi/m+WItuWTjeW6lOeahOivt+axgu+8jOWmguaWh+S7tuS4i+i9veetiVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB1cmwg6K+35rGC55qEVVJM77yM5b+F6aG75o+Q5L6b77yMdXJs5Y+v5Lul5Lyg6YCS6Ieq5a6a5LmJ5paH5Lu25ZCN5LyY5YWI57qn5pyA6auYO+Wmgu+8mmFwaS9maWxlL2Rvd24/ZmlsZU5hbWU96Lqr5Lu96K+BLmpwZ1xyXG4gICAgICogQHBhcmFtIHBhcmFtcyDlj6/pgInnmoTmn6Xor6Llj4LmlbDvvIzlsIbkvZzkuLpVUkzmn6Xor6LlrZfnrKbkuLLlj5HpgIFcclxuICAgICAqIEByZXR1cm5zIOi/lOWbnuS4gOS4qk9ic2VydmFibGXvvIzlroPlj5Hlh7pIdHRwUmVzcG9uc2Xlr7nosaHvvIzljIXlkKtCbG9i57G75Z6L55qE5ZON5bqU5L2TXHJcbiAgICAgKi9cclxuICAgIGdldCh1cmw6IHN0cmluZywgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEJsb2I+PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0KHVybCwgeyBwYXJhbXMsIHJlc3BvbnNlVHlwZTogJ2Jsb2InLCBvYnNlcnZlOiAncmVzcG9uc2UnIH0pXHJcbiAgICAgICAgICAgIC5waXBlKHRhcCgocmVzcG9uc2UpID0+IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UsIHVybCkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIOWPkei1t1BPU1Tor7fmsYLkuIvovb3mlbDmja5cclxuICAgICAqXHJcbiAgICAgKiDmnKzlh73mlbDnlKjkuo7lkJHmjIflrppVUkzlj5HotbdQT1NU6K+35rGC77yM5bm25pyf5pyb6L+U5Zue5LqM6L+b5Yi25pWw5o2u77yI5aaC5paH5Lu2562J77yJXHJcbiAgICAgKiDkvb/nlKjlnLrmma/ljIXmi6zkvYbkuI3pmZDkuo7mlofku7bkuIvovb3nrYnpnIDopoHojrflj5bljp/lp4vkuozov5vliLbmlbDmja7nmoTmk43kvZxcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdXJsIOivt+axgueahFVSTO+8jOW/hemhu+aPkOS+m++8jHVybOWPr+S7peS8oOmAkuiHquWumuS5ieaWh+S7tuWQjeS8mOWFiOe6p+acgOmrmDvlpoLvvJphcGkvZmlsZS9kb3duP2ZpbGVOYW1lPei6q+S7veivgS5qcGdcclxuICAgICAqIEBwYXJhbSBwYXJhbXMg6K+35rGC55qE5Y+C5pWw77yM5Y+v5Lul5piv5Lu75oSP57G75Z6L55qE5pWw5o2u77yM5Lya5L2c5Li66K+35rGC5L2T5Y+R6YCBXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57kuIDkuKpPYnNlcnZhYmxl77yM5YW257G75Z6L5Y+C5pWw5Li6SHR0cFJlc3BvbnNlPEJsb2I+77yM6KGo56S65pyN5Yqh5Zmo55qE5ZON5bqUXHJcbiAgICAgKi9cclxuICAgIHBvc3QodXJsOiBzdHJpbmcsIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxCbG9iPj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLnBvc3QodXJsLCBwYXJhbXMsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicsIG9ic2VydmU6ICdyZXNwb25zZScgfSlcclxuICAgICAgICAgICAgLnBpcGUodGFwKChyZXNwb25zZSkgPT4gdGhpcy5oYW5kbGVSZXNwb25zZShyZXNwb25zZSwgdXJsKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlUmVzcG9uc2UocmVzcG9uc2U6IEh0dHBSZXNwb25zZTxCbG9iPiwgdXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHRoaXMuZ2V0RmlsZU5hbWUocmVzcG9uc2UuaGVhZGVycywgdXJsKTtcclxuICAgICAgICB0aGlzLnNhdmVBcyhyZXNwb25zZS5ib2R5ISwgZmlsZW5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RmlsZU5hbWUoaGVhZGVyczogSHR0cEhlYWRlcnMsIHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB1cmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHVybC5zcGxpdCgnPycpWzFdKTtcclxuICAgICAgICBjb25zdCBmaWxlTmFtZUZyb21QYXJhbXMgPSB1cmxQYXJhbXMuZ2V0KCdmaWxlTmFtZScpO1xyXG4gICAgICAgIGlmIChmaWxlTmFtZUZyb21QYXJhbXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZUZyb21QYXJhbXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGlzcG9zaXRpb24gPSBoZWFkZXJzLmdldCgnY29udGVudC1kaXNwb3NpdGlvbicpO1xyXG4gICAgICAgIGlmIChkaXNwb3NpdGlvbikge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZU1hdGNoID0gZGlzcG9zaXRpb24ubWF0Y2goL2ZpbGVuYW1lPShbXjtdKykvKTtcclxuICAgICAgICAgICAgaWYgKGZpbGVuYW1lTWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZmlsZW5hbWVNYXRjaFsxXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGVuYW1lRnJvbUhlYWRlcnMgPSBoZWFkZXJzLmdldCgnZmlsZW5hbWUnKTtcclxuICAgICAgICBpZiAoZmlsZW5hbWVGcm9tSGVhZGVycykge1xyXG4gICAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGZpbGVuYW1lRnJvbUhlYWRlcnMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSB1cmwuc3BsaXQoJy8nKTtcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHVybFNlZ21lbnRzW3VybFNlZ21lbnRzLmxlbmd0aCAtIDFdLnNwbGl0KCc/JylbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5paH5Lu25Y+m5a2Y5Li6XHJcbiAgICAgKiBAcGFyYW0gYm9keSDkuozov5vliLblhoXlrrlcclxuICAgICAqIEBwYXJhbSBmaWxlbmFtZSDmlofku7blkI1cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzYXZlQXMoYm9keTogQmxvYiwgZmlsZW5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYm9keV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3gtbXNkb3dubG9hZCcgfSk7XHJcbiAgICAgICAgY29uc3QgYmxvYlVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgICAgICBsaW5rLmhyZWYgPSBibG9iVVJMO1xyXG4gICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcclxuICAgICAgICBsaW5rLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcclxuICAgICAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcclxuICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGJsb2JVUkwpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
47
47
|
providedIn: 'root',
|
|
48
48
|
}]
|
|
49
49
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2NoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvc2VydmljZXMvZmllbGQuc2NoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFPbEQsTUFBTSxPQUFPLG9CQUFvQjtJQUU3QixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBRDVCLGdCQUFXLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNGLENBQUM7SUFFeEM7Ozs7Ozs7O09BUUc7SUFDSCxPQUFPLENBQUMsVUFBa0I7UUFDdEIsc0NBQXNDO1FBQ3RDLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDeEQsVUFBVSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1NBQ3RFO1FBQ0QseUJBQXlCO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLDhFQUE4RSxDQUFDO1FBRTNGLHNDQUFzQztRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLEdBQUcsaUJBQWlCLENBQUEsR0FBRyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJO1FBQ3BFLGlDQUFpQztRQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNULElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEdBQUcsVUFBVSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUNqRTtRQUNMLENBQUMsQ0FBQztRQUNGLHVCQUF1QjtRQUN2QixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGlCQUFpQjtRQUNqQixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDM0IsQ0FBQztJQUNOLENBQUM7O2tIQWxDUSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzRGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSAnLi9hcHAuY29uZmlnJztcclxuaW1wb3J0IHsgQ2FjaGVIdHRwVGVtcGxhdGUgfSBmcm9tICcuL2NhY2hlLmh0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IElGaWVsZFNjaGVtZSB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHkvc2NoZW1lJztcclxuaW1wb3J0IHsgUiB9IGZyb20gJ0ByZXNraW4vY29yZS9lbnRpdHknO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtGaWVsZFNjaGVtZVNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBhcHBTZXR0aW5ncyA9IEFwcENvbmZpZy5zZXR0aW5ncztcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIOagueaNruadg+mZkOagh+ivhuespuiOt+WPluWtl+auteaWueahiFxyXG4gICAgICpcclxuICAgICAqIOatpOaWueazleS4u+imgeeUqOS6juagueaNruaPkOS+m+eahOadg+mZkOagh+ivhuespu+8jOS7juWQjuerr+acjeWKoeS4reiOt+WPluebuOW6lOeahOWtl+auteaWueahiFxyXG4gICAgICog5aaC5p6c5bqU55So6K6+572u5Lit5YyF5ZCr5LqG5Zyw5Yy65Luj56CB77yM5YiZ5Lya5bCG5YW25YmN57yA5re75Yqg5Yiw5p2D6ZmQ5qCH6K+G56ym5LiKXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHBlcm1pc3Npb24g5a2X5q615pa55qGI55qE5p2D6ZmQ5qCH6K+G56ym77yM55So5LqO5a6a5L2N54m55a6a55qE5a2X5q615pa55qGIXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57kuIDkuKpPYnNlcnZhYmxl77yM5YW25Lit5YyF5ZCr5a2X5q615pa55qGI55qE5pWw5o2uXHJcbiAgICAgKi9cclxuICAgIGdldERhdGEocGVybWlzc2lvbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxJRmllbGRTY2hlbWU+IHtcclxuICAgICAgICAvLyDmo4Dmn6XlupTnlKjorr7nva7kuK3mmK/lkKbmj5DkvpvkuoblnLDljLrku6PnoIHvvIzlpoLmnpzmnInvvIzliJnlsIblhbbmt7vliqDliLDmnYPpmZDmoIfor4bnrKbnmoTliY3pnaJcclxuICAgICAgICBpZiAodGhpcy5hcHBTZXR0aW5ncyAmJiB0aGlzLmFwcFNldHRpbmdzLnNlcnZlcnMuQVJFQV9DT0RFKSB7XHJcbiAgICAgICAgICAgIHBlcm1pc3Npb24gPSBgJHt0aGlzLmFwcFNldHRpbmdzLnNlcnZlcnMuQVJFQV9DT0RFfV8ke3Blcm1pc3Npb259YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5a6a5LmJ6K+35rGC55qEVVJM77yM55So5LqO5LuO5ZCO56uv5pyN5Yqh6I635Y+W5a2X5q615pa55qGIXHJcbiAgICAgICAgY29uc3QgdXJsID0gYGFwaS9nbC1zZXJ2aWNlLXN5cy1jb3JlL3YxL2NvcmUvc3lzdGVtL2ZpZWxkL3NjaGVtZS9zZWxlY3RTY2hlbWVCeUlkZW50aWZpZXJgO1xyXG5cclxuICAgICAgICAvLyDlj5HotbdIVFRQIEdFVOivt+axgu+8jOS9v+eUqOe8k+WtmEhUVFDmqKHmnb/vvIzlubblr7nov5Tlm57nmoTnu5Pmnpzov5vooYzlpITnkIZcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxSPiguLi5DYWNoZUh0dHBUZW1wbGF0ZWAke3VybH0vJHtwZXJtaXNzaW9ufWApLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIOWmguaenOi/lOWbnueggeS4jeS4ujDvvIzliJnmipvlh7rplJnor6/vvIzmj5DnpLrojrflj5blrZfmrrXmlrnmoYjlhoXlrrnml7blh7rnjrDplJnor69cclxuICAgICAgICAgICAgdGFwKChqc29uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5jb2RlICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDpgJrov4flrZfmrrXmlrnmoYjmoIfor4bnrKbojrflvpflrZfmrrXmlrnmoYjlhoXlrrkgJHt1cmx9IOWHuueOsOmUmeivrzogJHtqc29uLm1zZ31gKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIC8vIOi/h+a7pOWHuui/lOWbnueggeS4ujDnmoTnu5PmnpzvvIzljbPmk43kvZzmiJDlip/nmoTmlbDmja5cclxuICAgICAgICAgICAgZmlsdGVyKChqc29uKSA9PiBqc29uLmNvZGUgPT09IDApLFxyXG4gICAgICAgICAgICAvLyDmj5Dlj5bnu5PmnpzmlbDmja7kuK3nmoTlrZfmrrXmlrnmoYjlhoXlrrlcclxuICAgICAgICAgICAgbWFwKChqc29uKSA9PiBqc29uLmRhdGEpLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
97
97
|
providedIn: 'root',
|
|
98
98
|
}]
|
|
99
99
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3NlcnZpY2VzL2ZpbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFeEM7Ozs7Ozs7Ozs7T0FVRztJQUNILGNBQWMsQ0FBQyxNQUFjLEVBQUUsUUFBaUI7UUFDNUMsSUFBSSxHQUFHLEdBQUcsb0NBQW9DLE1BQU0sRUFBRSxDQUFDO1FBQ3ZELElBQUksUUFBUSxFQUFFO1lBQ1YsR0FBRyxJQUFJLGFBQWEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDN0M7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFdBQVcsQ0FBQyxJQUFjO1FBQ3RCLE1BQU0sR0FBRyxHQUFHLGtDQUFrQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSCxhQUFhLENBQUMsTUFBYyxFQUFFLFFBQWlCO1FBQzNDLHlCQUF5QjtRQUN6QixJQUFJLEdBQUcsR0FBRyx5Q0FBeUMsTUFBTSxFQUFFLENBQUM7UUFFNUQseUJBQXlCO1FBQ3pCLElBQUksUUFBUSxFQUFFO1lBQ1YsR0FBRyxJQUFJLGFBQWEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDN0M7UUFFRCxjQUFjO1FBQ2QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxVQUFVLENBQUMsSUFBYztRQUNyQixpQkFBaUI7UUFDakIsTUFBTSxHQUFHLEdBQUcsdUNBQXVDLENBQUM7UUFDcEQsc0JBQXNCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxXQUFXLENBQUMsSUFBYztRQUN0QixNQUFNLEdBQUcsR0FBRyw0Q0FBNEMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOzsyR0EzRlEsYUFBYTsrR0FBYixhQUFhLGNBRlYsTUFBTTs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJVXBsb2FkRmlsZURhdGEgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L2ZpbGUnO1xyXG5pbXBvcnQgeyBSIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSa0ZpbGVTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIOaehOW7uumdmeaAgeS6uuWRmOeFp+eJh+eahFVSTFxyXG4gICAgICpcclxuICAgICAqIOivpeaWueazleeUqOS6juagueaNruaWh+S7tklE5p6E5bu66K6/6Zeu6Z2Z5oCB5Zu+54mH55qEVVJM5aaC5p6c5o+Q5L6b5LqG5paH5Lu25ZCN77yMXHJcbiAgICAgKiDliJnlsIblhbbkvZzkuLrmn6Xor6Llj4LmlbDpmYTliqDliLBVUkzkuIrov5nkuKrlh73mlbDkuLvopoHnlKjkuo7liY3nq6/lsZXnpLrpnZnmgIHlm77niYfvvIxcclxuICAgICAqIOmAmui/h+S8oOWFpeaWh+S7tueahOWUr+S4gOagh+ivhuespu+8iGZpbGVJZO+8ieWSjOWPr+mAieeahOaWh+S7tuWQjeadpeehruS/neWbvueJh+eahOato+ehruWKoOi9vVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBmaWxlSWQg5Zu+54mH5paH5Lu255qE5ZSv5LiA5qCH6K+G56ym77yM55So5LqO5a6a5L2N5YW35L2T55qE5Zu+54mH6LWE5rqQXHJcbiAgICAgKiBAcGFyYW0gZmlsZU5hbWUg5Y+v6YCJ5Y+C5pWw77yM5Zu+54mH5paH5Lu255qE5ZCN56ew5aaC5p6c5o+Q5L6b77yM5bCG5L2c5Li65p+l6K+i5Y+C5pWw6ZmE5Yqg5YiwVVJM5LiKXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57mnoTlu7rnmoTpnZnmgIHlm77niYdVUkxcclxuICAgICAqL1xyXG4gICAgc3RhdGljUGhvdG9VcmwoZmlsZUlkOiBzdHJpbmcsIGZpbGVOYW1lPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgdXJsID0gYGFwaS9nbC1maWxlLXNlcnZpY2Uvc3RhdGljL3Bob3RvLyR7ZmlsZUlkfWA7XHJcbiAgICAgICAgaWYgKGZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIHVybCArPSBgP2ZpbGVOYW1lPSR7ZW5jb2RlVVJJKGZpbGVOYW1lKX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdXJsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5LiK5Lyg5Zu+54mHXHJcbiAgICAgKlxyXG4gICAgICog6K+l5pa55rOV55So5LqO5bCG5Zu+54mH5paH5Lu25LiK5Lyg5Yiw5pyN5Yqh5Zmo5a6D5bCB6KOF5LqGSFRUUCBQT1NU6K+35rGC77yM5Y+R6YCBRm9ybURhdGHlr7nosaHliLDmjIflrprnmoRBUEnnq6/ngrlcclxuICAgICAqIOS4u+imgeeUqOS6jueUqOaIt+WktOWDj+eahOS4iuS8oOaTjeS9nFxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBkYXRhIEZvcm1EYXRh5a+56LGh77yM5YyF5ZCr5LqG6ZyA6KaB5LiK5Lyg55qE5paH5Lu25Lul5Y+K5YW25LuW5Y+v6IO955qE6KGo5Y2V5pWw5o2uXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57kuIDkuKpPYnNlcnZhYmxl5a+56LGh77yM5YW257G75Z6L5Y+C5pWw5Li6UjxJVXBsb2FkRmlsZURhdGE+77yM6KGo56S65LiK5Lyg5pON5L2c55qE57uT5p6cXHJcbiAgICAgKi9cclxuICAgIHBob3RvVXBsb2FkKGRhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTxSPElVcGxvYWRGaWxlRGF0YT4+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLWZpbGUtc2VydmljZS9waG90by91cGxvYWQnO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSPih1cmwsIGRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5p6E5bu66Z2Z5oCB5paH5Lu255qEVVJM5Zyw5Z2AXHJcbiAgICAgKlxyXG4gICAgICog5pys5Ye95pWw55So5LqO5qC55o2u5paH5Lu2SUTlkozlj6/pgInnmoTmlofku7blkI3mnoTlu7rorr/pl67pnZnmgIHmlofku7bnmoRVUkzlnLDlnYBcclxuICAgICAqIOWmguaenOaPkOS+m+S6huaWh+S7tuWQje+8jOWwhuS8muWwhuWFtue8lueggeW5tumZhOWKoOWIsFVSTOS4iu+8jOS7peS+v+WcqOiuv+mXruaXtuWPr+S7peebtOaOpeS4i+i9veaWh+S7tlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBmaWxlSWQg5paH5Lu255qE5ZSv5LiA5qCH6K+G56ym77yM55So5LqO5a6a5L2N5YW35L2T5paH5Lu2XHJcbiAgICAgKiBAcGFyYW0gZmlsZU5hbWUg5Y+v6YCJ5Y+C5pWw77yM5paH5Lu255qE5ZCN56ew5aaC5p6c5o+Q5L6b5q2k5Y+C5pWw77yM5bCG5Lya5ZyoVVJM5Lit6L+b6KGM57yW56CB5ZCO6ZmE5YqgXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57mnoTlu7rlpb3nmoTpnZnmgIHmlofku7ZVUkzlnLDlnYBcclxuICAgICAqL1xyXG4gICAgc3RhdGljRmlsZVVybChmaWxlSWQ6IHN0cmluZywgZmlsZU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIC8vIOWIneWni+WMllVSTO+8jOaMh+WQkeaWh+S7tuacjeWKoeeahOmdmeaAgemZhOS7tuiuv+mXrui3r+W+hFxyXG4gICAgICAgIGxldCB1cmwgPSBgYXBpL2dsLWZpbGUtc2VydmljZS9zdGF0aWMvYXR0YWNobWVudC8ke2ZpbGVJZH1gO1xyXG5cclxuICAgICAgICAvLyDlpoLmnpzmj5Dkvpvkuobmlofku7blkI3vvIzliJnov5vooYznvJbnoIHlubbov73liqDliLBVUkzkuK1cclxuICAgICAgICBpZiAoZmlsZU5hbWUpIHtcclxuICAgICAgICAgICAgdXJsICs9IGA/ZmlsZU5hbWU9JHtlbmNvZGVVUkkoZmlsZU5hbWUpfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDov5Tlm57mnIDnu4jmnoTlu7rlpb3nmoRVUkxcclxuICAgICAgICByZXR1cm4gdXJsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5LiK5Lyg5paH5Lu2XHJcbiAgICAgKlxyXG4gICAgICog5q2k5pa55rOV55So5LqO5bCG5paH5Lu25pWw5o2u5LiK5Lyg5Yiw5pyN5Yqh5Zmo5a6D5bCB6KOF5LqGSFRUUCBQT1NU6K+35rGC77yM55So5LqO5paH5Lu25LiK5Lyg5pyN5YqhXHJcbiAgICAgKiDkvb/nlKhGb3JtRGF0YeWvueixoeadpeaehOW7uumcgOimgeS4iuS8oOeahOaWh+S7tuaVsOaNrlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBkYXRhIEZvcm1EYXRh5a+56LGh77yM5YyF5ZCr5LqG6ZyA6KaB5LiK5Lyg55qE5paH5Lu25pWw5o2uXHJcbiAgICAgKiBAcmV0dXJucyDov5Tlm57kuIDkuKpPYnNlcnZhYmxl5a+56LGh77yM5a6D5Y+R5Ye65YyF5ZCr5LiK5Lyg57uT5p6c5pWw5o2u55qE5Yqo5L2cXHJcbiAgICAgKi9cclxuICAgIGZpbGVVcGxvYWQoZGF0YTogRm9ybURhdGEpOiBPYnNlcnZhYmxlPFI8SVVwbG9hZEZpbGVEYXRhPj4ge1xyXG4gICAgICAgIC8vIOWumuS5ieS4iuS8oOaWh+S7tueahEFQSSBVUkxcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLWZpbGUtc2VydmljZS9hdHRhY2htZW50L3VwbG9hZCc7XHJcbiAgICAgICAgLy8g6LCD55SoSFRUUCBQT1NU5pa55rOV6L+b6KGM5paH5Lu25LiK5LygXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDmibnph4/kuIrkvKDmlofku7ZcclxuICAgICAqXHJcbiAgICAgKiDor6Xmlrnms5XotJ/otKPlsIbkuIDnu4Tmlofku7bkvZzkuLpGb3JtRGF0YeWPkemAgeWIsOacjeWKoeWZqOi/m+ihjOaJuemHj+S4iuS8oFxyXG4gICAgICog5Li76KaB55So5LqO5aSE55CG5aSn6YeP5paH5Lu25LiK5Lyg55qE5oOF5Ya177yM5o+Q6auY5pWI546H5ZKM55So5oi35L2T6aqMXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGRhdGEgRm9ybURhdGHlr7nosaHvvIzljIXlkKvkuobpnIDopoHkuIrkvKDnmoTmlofku7bmlbDmja5cclxuICAgICAqICAgICAgICAgICAgICAgIOi/meS4quWvueixoemAmuW4uOeUseWJjeerr+ihqOWNleeUn+aIkO+8jOWMheWQq+S6huWkmuS4quaWh+S7tlxyXG4gICAgICogQHJldHVybnMg6L+U5Zue5LiA5LiqT2JzZXJ2YWJsZeWvueixoe+8jOWug+WPkeWHuuS4gOS4que7k+aenOexu+Wei+S4ulI8SVVwbG9hZEZpbGVEYXRhW10+55qE5ZON5bqUXHJcbiAgICAgKiAgICAgICAgICAgICDov5nkuKrlk43lupTljIXlkKvkuobkuIrkvKDnu5PmnpznmoTor6bnu4bkv6Hmga/vvIzljIXmi6zmiJDlip/kuI7lkKbvvIzmlofku7bkv6Hmga/nrYlcclxuICAgICAqXHJcbiAgICAgKiDms6jmhI/vvJror6Xmlrnms5Xkvp3otZbkuo7lkI7nq6/mj5DkvpvnmoTmlofku7bkuIrkvKDmnI3liqHvvIxVUkzot6/lvoTkuLonYXBpL2dsLWZpbGUtc2VydmljZS9hdHRhY2htZW50L2JhdGNoVXBsb2FkJ1xyXG4gICAgICovXHJcbiAgICBiYXRjaFVwbG9hZChkYXRhOiBGb3JtRGF0YSk6IE9ic2VydmFibGU8UjxJVXBsb2FkRmlsZURhdGFbXT4+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLWZpbGUtc2VydmljZS9hdHRhY2htZW50L2JhdGNoVXBsb2FkJztcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCBkYXRhKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
45
45
|
providedIn: 'root',
|
|
46
46
|
}]
|
|
47
47
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvc2VydmljZXMvb3JnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLGtDQUFrQztBQUlsQyxNQUFNLE9BQU8sWUFBWTtJQUNyQixZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO0lBQUcsQ0FBQztJQUV4Qzs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsT0FBZSxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDdkQsTUFBTSxHQUFHLEdBQUcseURBQXlELENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsT0FBZSxFQUFFLE9BQWU7UUFDL0MsTUFBTSxHQUFHLEdBQUcsd0RBQXdELENBQUM7UUFDckUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsRUFBVTtRQUN4QixNQUFNLEdBQUcsR0FBRyw4REFBOEQsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs7MEdBbENRLFlBQVk7OEdBQVosWUFBWSxjQUZULE1BQU07NEZBRVQsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSU9yZ1RyZWVOb2RlIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eS9vcmcnO1xyXG5pbXBvcnQgeyBSIH0gZnJvbSAnQHJlc2tpbi9jb3JlL2VudGl0eSc7XHJcblxyXG4vLyDnu4Tnu4fmnLrmnoTmnI3liqHvvIzmj5Dkvpvojrflj5bljZXkvY3liJfooajjgIHmkJzntKLmnLrmnoTlkozojrflj5bmiYDmnInniLboioLngrnnmoTlip/og71cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmtPcmdTZXJ2aWNlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIOmAmui/h+eItuiKgueCuee8lueggeiOt+W+l+WNleS9jeWIl+ihqFxyXG4gICAgICogQHBhcmFtIGdyb3VwSWQg5py65p6E5YiG57uEXHJcbiAgICAgKiBAcGFyYW0gcGFyZW50SWQg54i26IqC54K557yW56CB77yb6buY6K6kIC0xXHJcbiAgICAgKiBAcGFyYW0gaXNBbGwg5piv5ZCm5pi+56S65YWo6YOo5Y2V5L2N77yI5LiN5Y+X5p2D6ZmQ5o6n5Yi277yJ77yb6buY6K6kIGZhbHNlXHJcbiAgICAgKiBAcmV0dXJucyDljZXkvY3liJfooahcclxuICAgICAqL1xyXG4gICAgZ2V0Q2hpbGRyZW4oZ3JvdXBJZDogc3RyaW5nLCBwYXJlbnRJZCA9ICctMScsIGlzQWxsID0gZmFsc2UpOiBPYnNlcnZhYmxlPFI8QXJyYXk8SU9yZ1RyZWVOb2RlPj4+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLXNlcnZpY2UtZGF0YS92MS9kYXRhL3VuaXQvb3JnL3NlbGVjdExpc3RCeVBhcmVudCc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgeyBPUkdfR1JPVVBfSUQ6IGdyb3VwSWQsIFNZU19QQVJFTlQ6IHBhcmVudElkLCBJU19BTEw6IGlzQWxsIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5pCc57Si5py65p6EXHJcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCDmnLrmnoTliIbnu4RcclxuICAgICAqIEBwYXJhbSBrZXlOYW1lIOaQnOe0ouWFs+mUruWtl1xyXG4gICAgICogQHJldHVybnMg6L+U5Zue5Yy56YWN6aG56IqC54K55YiX6KGoXHJcbiAgICAgKi9cclxuICAgIHJlcXVlc3RLZXl3b3JkTGlzdChncm91cElkOiBzdHJpbmcsIGtleU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8UjxBcnJheTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pj4+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSAnYXBpL2dsLXNlcnZpY2UtZGF0YS92MS9kYXRhL3VuaXQvb3JnL3NlbGVjdExpc3RCeVF1ZXJ5JztcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Uj4odXJsLCB7IE9SR19HUk9VUF9JRDogZ3JvdXBJZCwgT1JHX05BTUU6IGtleU5hbWUgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiDpgJrov4fljZXkvY3nvJbnoIHojrflvpfmiYDmnInniLboioLngrlcclxuICAgICAqIEBwYXJhbSBpZCDljZXkvY3nvJbnoIFcclxuICAgICAqIEByZXR1cm5zIOeItuiKgueCueWIl+ihqFxyXG4gICAgICovXHJcbiAgICByZXF1ZXN0UGFyZW50TGlzdChpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSPEFycmF5PElPcmdUcmVlTm9kZT4+PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gJ2FwaS9nbC1zZXJ2aWNlLWRhdGEvdjEvZGF0YS91bml0L29yZy9zZWxlY3RMaXN0QWxsUGFyZW50QnlJZCc7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFI+KHVybCwgeyBEQVRBX1VOSVRfT1JHX0lEOiBpZCB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
48
48
|
providedIn: 'root',
|
|
49
49
|
}]
|
|
50
50
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1lLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJyYXJ5L2NvcmUvc2VydmljZXMvc2NoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFPekQsTUFBTSxPQUFPLGVBQWU7SUFFeEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUQ1QixnQkFBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7SUFDRixDQUFDO0lBRXhDOzs7Ozs7Ozs7T0FTRztJQUNILE9BQU8sQ0FBQyxVQUFrQjtRQUN0QixzQ0FBc0M7UUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN4RCxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7U0FDdEU7UUFDRCxXQUFXO1FBQ1gsTUFBTSxHQUFHLEdBQUcsd0VBQXdFLENBQUM7UUFFckYsc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxpQkFBaUIsQ0FBQSxHQUFHLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLElBQUk7UUFDcEUsdUJBQXVCO1FBQ3ZCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsR0FBRyxVQUFVLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ2pFO1FBQ0wsQ0FBQyxDQUFDO1FBQ0YsY0FBYztRQUNkLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDakMsZ0JBQWdCO1FBQ2hCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUMzQixDQUFDO0lBQ04sQ0FBQzs7NkdBbkNRLGVBQWU7aUhBQWYsZUFBZSxjQUZaLE1BQU07NEZBRVQsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4vYXBwLmNvbmZpZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ2FjaGVIdHRwVGVtcGxhdGUgfSBmcm9tICcuL2NhY2hlLmh0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IElTY2hlbWUgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5L3NjaGVtZSc7XHJcbmltcG9ydCB7IFIgfSBmcm9tICdAcmVza2luL2NvcmUvZW50aXR5JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJrU2NoZW1lU2VydmljZSB7XHJcbiAgICBwcml2YXRlIGFwcFNldHRpbmdzID0gQXBwQ29uZmlnLnNldHRpbmdzO1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxyXG5cclxuICAgIC8qKlxyXG4gICAgICog5qC55o2u5p2D6ZmQ5qCH6K+G56ym6I635Y+W55WM6Z2i5pa55qGI5YaF5a65XHJcbiAgICAgKlxyXG4gICAgICog5q2k5pa55rOV5Li76KaB55So5LqO5qC55o2u5o+Q5L6b55qE5p2D6ZmQ5qCH6K+G56ym77yM5LuO5ZCO56uv5pyN5Yqh5Lit6I635Y+W55u45bqU55qE55WM6Z2i5pa55qGI5YaF5a655a6D6aaW5YWI5qOA5p+l5piv5ZCm6K6+572u5LqG5bqU55So6K6+572u5Lit55qE5Yy65Z+f5Luj56CB77yMXHJcbiAgICAgKiDlpoLmnpzorr7nva7kuobvvIzliJnlsIblhbbliY3nvIDliLDmnYPpmZDmoIfor4bnrKbkuIrvvIznhLblkI7mnoTpgKDor7fmsYLnmoRVUkzvvIzlubbosIPnlKhIVFRQ5pyN5Yqh6L+b6KGM6I635Y+W5Zyo5aSE55CGSFRUUOWTjeW6lOaXtu+8jFxyXG4gICAgICog5a6D5Lya5qOA5p+l6L+U5Zue55qE54q25oCB56CB77yM5bm25Zyo54q25oCB56CB5LiN5Li6MO+8iOaIkOWKn++8ieaXtuaKm+WHuumUmeivr++8jOWQpuWImei/lOWbnueVjOmdouaWueahiOaVsOaNrlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBwZXJtaXNzaW9uIOadg+mZkOagh+ivhuespu+8jOeUqOS6juiOt+WPluebuOW6lOeahOeVjOmdouaWueahiFxyXG4gICAgICogQHJldHVybnMg6L+U5Zue5LiA5LiqT2JzZXJ2YWJsZe+8jOWFtuS4reWMheWQq+eVjOmdouaWueahiOaVsOaNrlxyXG4gICAgICovXHJcbiAgICBnZXREYXRhKHBlcm1pc3Npb246IHN0cmluZyk6IE9ic2VydmFibGU8SVNjaGVtZT4ge1xyXG4gICAgICAgIC8vIOajgOafpeW6lOeUqOiuvue9ruS4reaYr+WQpuiuvue9ruS6huWMuuWfn+S7o+egge+8jOWmguaenOiuvue9ruS6hu+8jOWImeWwhuWFtuWJjee8gOWIsOadg+mZkOagh+ivhuespuS4ilxyXG4gICAgICAgIGlmICh0aGlzLmFwcFNldHRpbmdzICYmIHRoaXMuYXBwU2V0dGluZ3Muc2VydmVycy5BUkVBX0NPREUpIHtcclxuICAgICAgICAgICAgcGVybWlzc2lvbiA9IGAke3RoaXMuYXBwU2V0dGluZ3Muc2VydmVycy5BUkVBX0NPREV9XyR7cGVybWlzc2lvbn1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyDmnoTpgKDor7fmsYLnmoRVUkxcclxuICAgICAgICBjb25zdCB1cmwgPSBgYXBpL2dsLXNlcnZpY2Utc3lzLWNvcmUvdjEvY29yZS9zeXN0ZW0vc2NoZW1lL3NlbGVjdFNjaGVtZUJ5UGVybWlzc2lvbmA7XHJcblxyXG4gICAgICAgIC8vIOiwg+eUqEhUVFDmnI3liqHov5vooYxHRVTor7fmsYLvvIzlubblr7nov5Tlm57nmoRPYnNlcnZhYmxl6L+b6KGM5aSE55CGXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8Uj4oLi4uQ2FjaGVIdHRwVGVtcGxhdGVgJHt1cmx9LyR7cGVybWlzc2lvbn1gKS5waXBlKFxyXG4gICAgICAgICAgICAvLyDmo4Dmn6Xov5Tlm57nmoTnirbmgIHnoIHvvIzlpoLmnpzkuI3kuLow77yM5YiZ5oqb5Ye66ZSZ6K+vXHJcbiAgICAgICAgICAgIHRhcCgoanNvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGpzb24uY29kZSAhPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihg6YCa6L+H55WM6Z2i5pa55qGI5qCH6K+G56ym6I635b6X55WM6Z2i5pa55qGI5YaF5a65ICR7dXJsfSDlh7rnjrDplJnor686ICR7anNvbi5tc2d9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAvLyDov4fmu6Tlh7rnirbmgIHnoIHkuLow55qE5ZON5bqUXHJcbiAgICAgICAgICAgIGZpbHRlcigoanNvbikgPT4ganNvbi5jb2RlID09PSAwKSxcclxuICAgICAgICAgICAgLy8g5o+Q5Y+W5bm26L+U5Zue5ZON5bqU5Lit55qE5pWw5o2u6YOo5YiGXHJcbiAgICAgICAgICAgIG1hcCgoanNvbikgPT4ganNvbi5kYXRhKSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/esm2015/utils/dom.js
CHANGED
|
@@ -25,4 +25,4 @@ export function observeResize(element) {
|
|
|
25
25
|
};
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicmFyeS9jb3JlL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFvQjtJQUM5QyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDL0IsNkNBQTZDO1FBQzdDLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEQsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILFlBQVk7UUFDWixjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLDBCQUEwQjtRQUMxQixPQUFPLEdBQUcsRUFBRTtZQUNSLFlBQVk7WUFDWixjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLGVBQWU7WUFDZixjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDaEMsQ0FBQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIOebkeWQrOWFg+e0oOeahOWkp+Wwj+WPmOWMllxyXG4gKlxyXG4gKiDmraTlh73mlbDliJvlu7rkuobkuIDkuKpPYnNlcnZhYmxl77yM55So5LqO6KeC5a+f57uZ5a6aSFRNTEVsZW1lbnTlhYPntKDnmoTlpKflsI/lj5jljJblroPkvb/nlKjkuoZSZXNpemVPYnNlcnZlciBBUEnmnaXlrp7njrBcclxuICog5b2T5YWD57Sg55qE5aSn5bCP5Y+R55Sf5Y+Y5YyW5pe277yM5Lya5Y+R5Ye65LiA5Liq5YyF5ZCr5Y+Y5YyW6K6w5b2V55qE5pWw57uEXHJcbiAqXHJcbiAqIEBwYXJhbSBlbGVtZW50IOmcgOimgeinguWvn+Wkp+Wwj+WPmOWMlueahEhUTUxFbGVtZW505YWD57SgXHJcbiAqIEByZXR1cm5zIOi/lOWbnuS4gOS4qk9ic2VydmFibGXvvIzlhbbkuK3ljIXlkKtSZXNpemVPYnNlcnZlckVudHJ555qE5pWw57uE77yM55So5LqO6K6w5b2V5q+P5qyh5aSn5bCP5Y+Y5YyW55qE5L+h5oGvXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZVJlc2l6ZShlbGVtZW50OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8UmVzaXplT2JzZXJ2ZXJFbnRyeVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9ic2VydmVyKSA9PiB7XHJcbiAgICAgICAgLy8g5Yib5bu6UmVzaXplT2JzZXJ2ZXLlrp7kvovvvIzlvZPop4Llr5/nmoTnm67moIflhYPntKDlpKflsI/lj5HnlJ/lj5jljJbml7bvvIzkvJrosIPnlKjlm57osIPlh73mlbBcclxuICAgICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xyXG4gICAgICAgICAgICBvYnNlcnZlci5uZXh0KGVudHJpZXMpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIOW8gOWni+inguWvn+aMh+WumueahOWFg+e0oFxyXG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XHJcbiAgICAgICAgLy8g6L+U5Zue5LiA5Liq5Ye95pWw77yM55So5LqO5Zyo5YGc5q2i6KeC5a+f5pe26LCD55So77yM5Lul5riF55CG6LWE5rqQXHJcbiAgICAgICAgcmV0dXJuICgpID0+IHtcclxuICAgICAgICAgICAgLy8g5YGc5q2i6KeC5a+f5oyH5a6a55qE5YWD57SgXHJcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KTtcclxuICAgICAgICAgICAgLy8g5pat5byA5LiO5omA5pyJ55uu5qCH55qE6KeC5a+f6L+e5o6lXHJcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcclxuICAgICAgICB9O1xyXG4gICAgfSk7XHJcbn1cclxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reskin-core-classes.js","sources":["../../../library/core/classes/table.helper.ts","../../../library/core/classes/reskin-core-classes.ts"],"sourcesContent":["import { AppConfig } from '@reskin/core/services';\n\n/**\n * 通过短表名构造完整表名;主要用于区分不同项目\n */\nexport class RkTableHelper {\n // 表名\n name!: string;\n // 对应主键\n key!: string;\n // 对应外键\n fKey!: string;\n\n /**\n * 构造完整表名\n * @param shortCode 短表名(A01,B02...)\n */\n constructor(private shortCode: string) {\n const { TABLE_CODE } = AppConfig.settings.servers;\n let type = '';\n\n // 获取短表名首字符\n const firstChar = this.shortCode.charAt(0);\n // 检查短表名是否为空\n const isNotEmpty = Boolean(this.shortCode);\n // 根据首字符判断表类型\n if (isNotEmpty && ['A', 'B'].includes(firstChar)) {\n type = firstChar === 'A' ? 'PERSON' : 'UNIT';\n } else {\n throw 'new TableCode() 参数非A,B开头';\n }\n\n // 构造表名\n this.name = `DATA_${TABLE_CODE}_${type}_${this.shortCode}`;\n\n // 构造主键\n this.key = `${this.name}_ID`;\n\n // 构造外键\n if (isNotEmpty && this.shortCode !== `${firstChar}01`) {\n this.fKey = `${this.name}_${firstChar}01_ID`;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAEA;;AAEG;MACU,aAAa,CAAA;AAQtB;;;AAGG;AACH,IAAA,WAAA,CAAoB,SAAiB,EAAA;QAAjB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QACjC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClD,IAAI,IAAI,GAAG,EAAE,CAAC;;QAGd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;QAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AAE3C,QAAA,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC9C,YAAA,IAAI,GAAG,SAAS,KAAK,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAC;AAChD,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,0BAA0B,CAAC;AACpC,SAAA;;AAGD,QAAA,IAAI,CAAC,IAAI,GAAG,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC;;QAG3D,IAAI,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,KAAK,CAAC;;QAG7B,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,KAAK,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,SAAS,CAAA,KAAA,CAAO,CAAC;AAChD,SAAA;KACJ;AACJ;;AC3CD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"reskin-core-classes.js","sources":["../../../library/core/classes/table.helper.ts","../../../library/core/classes/reskin-core-classes.ts"],"sourcesContent":["import { AppConfig } from '@reskin/core/services';\r\n\r\n/**\r\n * 通过短表名构造完整表名;主要用于区分不同项目\r\n */\r\nexport class RkTableHelper {\r\n // 表名\r\n name!: string;\r\n // 对应主键\r\n key!: string;\r\n // 对应外键\r\n fKey!: string;\r\n\r\n /**\r\n * 构造完整表名\r\n * @param shortCode 短表名(A01,B02...)\r\n */\r\n constructor(private shortCode: string) {\r\n const { TABLE_CODE } = AppConfig.settings.servers;\r\n let type = '';\r\n\r\n // 获取短表名首字符\r\n const firstChar = this.shortCode.charAt(0);\r\n // 检查短表名是否为空\r\n const isNotEmpty = Boolean(this.shortCode);\r\n // 根据首字符判断表类型\r\n if (isNotEmpty && ['A', 'B'].includes(firstChar)) {\r\n type = firstChar === 'A' ? 'PERSON' : 'UNIT';\r\n } else {\r\n throw 'new TableCode() 参数非A,B开头';\r\n }\r\n\r\n // 构造表名\r\n this.name = `DATA_${TABLE_CODE}_${type}_${this.shortCode}`;\r\n\r\n // 构造主键\r\n this.key = `${this.name}_ID`;\r\n\r\n // 构造外键\r\n if (isNotEmpty && this.shortCode !== `${firstChar}01`) {\r\n this.fKey = `${this.name}_${firstChar}01_ID`;\r\n }\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAEA;;AAEG;MACU,aAAa,CAAA;AAQtB;;;AAGG;AACH,IAAA,WAAA,CAAoB,SAAiB,EAAA;QAAjB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;QACjC,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClD,IAAI,IAAI,GAAG,EAAE,CAAC;;QAGd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;QAE3C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;;AAE3C,QAAA,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC9C,YAAA,IAAI,GAAG,SAAS,KAAK,GAAG,GAAG,QAAQ,GAAG,MAAM,CAAC;AAChD,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,0BAA0B,CAAC;AACpC,SAAA;;AAGD,QAAA,IAAI,CAAC,IAAI,GAAG,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,SAAS,CAAA,CAAE,CAAC;;QAG3D,IAAI,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,KAAK,CAAC;;QAG7B,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,KAAK,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,SAAS,CAAA,KAAA,CAAO,CAAC;AAChD,SAAA;KACJ;AACJ;;AC3CD;;AAEG;;;;"}
|
|
@@ -9,10 +9,6 @@ class RkAuthDirective {
|
|
|
9
9
|
this.viewContainerRef = viewContainerRef;
|
|
10
10
|
this.templateRef = templateRef;
|
|
11
11
|
this.condition = '';
|
|
12
|
-
this.thenTemplateRef = null;
|
|
13
|
-
this.elseTemplateRef = null;
|
|
14
|
-
this.thenViewRef = null;
|
|
15
|
-
this.elseViewRef = null;
|
|
16
12
|
this.thenTemplateRef = templateRef;
|
|
17
13
|
}
|
|
18
14
|
/**
|
|
@@ -25,12 +21,10 @@ class RkAuthDirective {
|
|
|
25
21
|
}
|
|
26
22
|
set rkAuthThen(templateRef) {
|
|
27
23
|
this.thenTemplateRef = templateRef;
|
|
28
|
-
this.thenViewRef = null;
|
|
29
24
|
this.updateView();
|
|
30
25
|
}
|
|
31
26
|
set rkAuthElse(templateRef) {
|
|
32
27
|
this.elseTemplateRef = templateRef;
|
|
33
|
-
this.elseViewRef = null;
|
|
34
28
|
this.updateView();
|
|
35
29
|
}
|
|
36
30
|
ngOnDestroy() {
|
|
@@ -44,12 +38,12 @@ class RkAuthDirective {
|
|
|
44
38
|
this.viewContainerRef.clear();
|
|
45
39
|
if (context.status) {
|
|
46
40
|
if (this.thenTemplateRef) {
|
|
47
|
-
this.
|
|
41
|
+
this.viewContainerRef.createEmbeddedView(this.thenTemplateRef, context);
|
|
48
42
|
}
|
|
49
43
|
}
|
|
50
44
|
else {
|
|
51
45
|
if (this.elseTemplateRef) {
|
|
52
|
-
this.
|
|
46
|
+
this.viewContainerRef.createEmbeddedView(this.elseTemplateRef, context);
|
|
53
47
|
}
|
|
54
48
|
}
|
|
55
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reskin-core-directives.js","sources":["../../../library/core/directives/auth.directive.ts","../../../library/core/directives/string.template.outlet.directive.ts","../../../library/core/directives/directives.module.ts","../../../library/core/directives/reskin-core-directives.ts"],"sourcesContent":["import { Directive, EmbeddedViewRef, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { RkMenuService } from '@reskin/core/services';\r\n\r\n@Directive({\r\n selector: '[rkAuth]',\r\n})\r\nexport class RkAuthDirective implements OnDestroy {\r\n /**\r\n * 传递多个标识符时,逗号分隔,匹配按\"或者\"运算\r\n * @param condition\r\n */\r\n @Input()\r\n set rkAuth(condition: string | string[]) {\r\n this.condition = condition;\r\n this.updateView();\r\n }\r\n\r\n @Input()\r\n set rkAuthThen(templateRef: TemplateRef<any> | null) {\r\n this.thenTemplateRef = templateRef;\r\n this.thenViewRef = null;\r\n this.updateView();\r\n }\r\n\r\n @Input()\r\n set rkAuthElse(templateRef: TemplateRef<any> | null) {\r\n this.elseTemplateRef = templateRef;\r\n this.elseViewRef = null;\r\n this.updateView();\r\n }\r\n\r\n constructor(\r\n private menu: RkMenuService,\r\n private viewContainerRef: ViewContainerRef,\r\n public templateRef: TemplateRef<any>,\r\n ) {\r\n this.thenTemplateRef = templateRef;\r\n }\r\n\r\n private condition: string | string[] = '';\r\n private thenTemplateRef: TemplateRef<any> | null = null;\r\n private elseTemplateRef: TemplateRef<any> | null = null;\r\n private thenViewRef: EmbeddedViewRef<any> | null = null;\r\n private elseViewRef: EmbeddedViewRef<any> | null = null;\r\n private authSubscription?: Subscription;\r\n\r\n ngOnDestroy() {\r\n this.authSubscription?.unsubscribe();\r\n }\r\n\r\n private updateView() {\r\n this.authSubscription?.unsubscribe();\r\n this.authSubscription = this.hasAuth(this.condition).subscribe((context) => {\r\n this.viewContainerRef.clear();\r\n if (context.status) {\r\n if (this.thenTemplateRef) {\r\n this.thenViewRef = this.viewContainerRef.createEmbeddedView(this.thenTemplateRef, context);\r\n }\r\n } else {\r\n if (this.elseTemplateRef) {\r\n this.elseViewRef = this.viewContainerRef.createEmbeddedView(this.elseTemplateRef, context);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private hasAuth(tags: string | string[]) {\r\n const tagList: string[] = typeof tags === 'string' ? [tags] : tags;\r\n return this.menu.requestData().pipe(\r\n map((json) => {\r\n const menus = json.data.filter((menu) => tagList.includes(menu.SYSTEM_RESOURCE_GUARD_ID));\r\n if (!menus.length) return { $implicit: [], status: false };\r\n return {\r\n $implicit: typeof tags === 'string' ? menus[0] : menus,\r\n status: !!menus.length,\r\n };\r\n }),\r\n );\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rkStringTemplateOutlet]',\r\n})\r\nexport class RkStringTemplateOutletDirective<_T = unknown> implements OnChanges {\r\n private embeddedViewRef: EmbeddedViewRef<any> | null = null;\r\n private context = new RkStringTemplateOutletContext();\r\n @Input() rkStringTemplateOutletContext: any | null = null;\r\n @Input() rkStringTemplateOutlet: any | TemplateRef<any> = null;\r\n\r\n static rkTemplateContextGuard<T>(_dir: RkStringTemplateOutletDirective<T>, _ctx: any): _ctx is RkStringTemplateOutletContext {\r\n return true;\r\n }\r\n\r\n private recreateView(): void {\r\n this.viewContainer.clear();\r\n const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;\r\n const templateRef = (isTemplateRef ? this.rkStringTemplateOutlet : this.templateRef) as any;\r\n this.embeddedViewRef = this.viewContainer.createEmbeddedView(\r\n templateRef,\r\n isTemplateRef ? this.rkStringTemplateOutletContext : this.context,\r\n );\r\n }\r\n\r\n private updateContext(): void {\r\n const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;\r\n const newCtx = isTemplateRef ? this.rkStringTemplateOutletContext : this.context;\r\n const oldCtx = this.embeddedViewRef!.context as any;\r\n if (newCtx) {\r\n for (const propName of Object.keys(newCtx)) {\r\n oldCtx[propName] = newCtx[propName];\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { rkStringTemplateOutletContext, rkStringTemplateOutlet } = changes;\r\n const shouldRecreateView = (): boolean => {\r\n let shouldOutletRecreate = false;\r\n if (rkStringTemplateOutlet) {\r\n if (rkStringTemplateOutlet.firstChange) {\r\n shouldOutletRecreate = true;\r\n } else {\r\n const isPreviousOutletTemplate = rkStringTemplateOutlet.previousValue instanceof TemplateRef;\r\n const isCurrentOutletTemplate = rkStringTemplateOutlet.currentValue instanceof TemplateRef;\r\n shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;\r\n }\r\n }\r\n const hasContextShapeChanged = (ctxChange: SimpleChange): boolean => {\r\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\r\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\r\n if (prevCtxKeys.length === currCtxKeys.length) {\r\n for (const propName of currCtxKeys) {\r\n if (prevCtxKeys.indexOf(propName) === -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const shouldContextRecreate = rkStringTemplateOutletContext && hasContextShapeChanged(rkStringTemplateOutletContext);\r\n return shouldContextRecreate || shouldOutletRecreate;\r\n };\r\n\r\n if (rkStringTemplateOutlet) {\r\n this.context.$implicit = rkStringTemplateOutlet.currentValue;\r\n }\r\n\r\n const recreateView = shouldRecreateView();\r\n if (recreateView) {\r\n /** recreate view when context shape or outlet change **/\r\n this.recreateView();\r\n } else {\r\n /** update context **/\r\n this.updateContext();\r\n }\r\n }\r\n}\r\n\r\nexport class RkStringTemplateOutletContext {\r\n public $implicit: any;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RkAuthDirective } from './auth.directive';\r\nimport { RkStringTemplateOutletDirective } from './string.template.outlet.directive';\r\n\r\n@NgModule({\r\n declarations: [RkAuthDirective, RkStringTemplateOutletDirective],\r\n exports: [RkAuthDirective, RkStringTemplateOutletDirective],\r\n})\r\nexport class RkDirectivesModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reskin-core-directives.js","sources":["../../../library/core/directives/auth.directive.ts","../../../library/core/directives/string.template.outlet.directive.ts","../../../library/core/directives/directives.module.ts","../../../library/core/directives/reskin-core-directives.ts"],"sourcesContent":["import { Directive, Input, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { RkMenuService } from '@reskin/core/services';\r\n\r\n@Directive({\r\n selector: '[rkAuth]',\r\n})\r\nexport class RkAuthDirective implements OnDestroy {\r\n /**\r\n * 传递多个标识符时,逗号分隔,匹配按\"或者\"运算\r\n * @param condition\r\n */\r\n @Input()\r\n set rkAuth(condition: string | string[]) {\r\n this.condition = condition;\r\n this.updateView();\r\n }\r\n\r\n @Input()\r\n set rkAuthThen(templateRef: TemplateRef<any>) {\r\n this.thenTemplateRef = templateRef;\r\n this.updateView();\r\n }\r\n\r\n @Input()\r\n set rkAuthElse(templateRef: TemplateRef<any>) {\r\n this.elseTemplateRef = templateRef;\r\n this.updateView();\r\n }\r\n\r\n constructor(\r\n private menu: RkMenuService,\r\n private viewContainerRef: ViewContainerRef,\r\n public templateRef: TemplateRef<any>,\r\n ) {\r\n this.thenTemplateRef = templateRef;\r\n }\r\n\r\n private condition: string | string[] = '';\r\n private thenTemplateRef?: TemplateRef<any>;\r\n private elseTemplateRef?: TemplateRef<any>;\r\n private authSubscription?: Subscription;\r\n\r\n ngOnDestroy() {\r\n this.authSubscription?.unsubscribe();\r\n }\r\n\r\n private updateView() {\r\n this.authSubscription?.unsubscribe();\r\n this.authSubscription = this.hasAuth(this.condition).subscribe((context) => {\r\n this.viewContainerRef.clear();\r\n if (context.status) {\r\n if (this.thenTemplateRef) {\r\n this.viewContainerRef.createEmbeddedView(this.thenTemplateRef, context);\r\n }\r\n } else {\r\n if (this.elseTemplateRef) {\r\n this.viewContainerRef.createEmbeddedView(this.elseTemplateRef, context);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private hasAuth(tags: string | string[]) {\r\n const tagList: string[] = typeof tags === 'string' ? [tags] : tags;\r\n return this.menu.requestData().pipe(\r\n map((json) => {\r\n const menus = json.data.filter((menu) => tagList.includes(menu.SYSTEM_RESOURCE_GUARD_ID));\r\n if (!menus.length) return { $implicit: [], status: false };\r\n return {\r\n $implicit: typeof tags === 'string' ? menus[0] : menus,\r\n status: !!menus.length,\r\n };\r\n }),\r\n );\r\n }\r\n}\r\n","import { Directive, EmbeddedViewRef, Input, OnChanges, SimpleChange, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[rkStringTemplateOutlet]',\r\n})\r\nexport class RkStringTemplateOutletDirective<_T = unknown> implements OnChanges {\r\n private embeddedViewRef: EmbeddedViewRef<any> | null = null;\r\n private context = new RkStringTemplateOutletContext();\r\n @Input() rkStringTemplateOutletContext: any | null = null;\r\n @Input() rkStringTemplateOutlet: any | TemplateRef<any> = null;\r\n\r\n static rkTemplateContextGuard<T>(_dir: RkStringTemplateOutletDirective<T>, _ctx: any): _ctx is RkStringTemplateOutletContext {\r\n return true;\r\n }\r\n\r\n private recreateView(): void {\r\n this.viewContainer.clear();\r\n const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;\r\n const templateRef = (isTemplateRef ? this.rkStringTemplateOutlet : this.templateRef) as any;\r\n this.embeddedViewRef = this.viewContainer.createEmbeddedView(\r\n templateRef,\r\n isTemplateRef ? this.rkStringTemplateOutletContext : this.context,\r\n );\r\n }\r\n\r\n private updateContext(): void {\r\n const isTemplateRef = this.rkStringTemplateOutlet instanceof TemplateRef;\r\n const newCtx = isTemplateRef ? this.rkStringTemplateOutletContext : this.context;\r\n const oldCtx = this.embeddedViewRef!.context as any;\r\n if (newCtx) {\r\n for (const propName of Object.keys(newCtx)) {\r\n oldCtx[propName] = newCtx[propName];\r\n }\r\n }\r\n }\r\n\r\n constructor(\r\n private viewContainer: ViewContainerRef,\r\n private templateRef: TemplateRef<any>,\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { rkStringTemplateOutletContext, rkStringTemplateOutlet } = changes;\r\n const shouldRecreateView = (): boolean => {\r\n let shouldOutletRecreate = false;\r\n if (rkStringTemplateOutlet) {\r\n if (rkStringTemplateOutlet.firstChange) {\r\n shouldOutletRecreate = true;\r\n } else {\r\n const isPreviousOutletTemplate = rkStringTemplateOutlet.previousValue instanceof TemplateRef;\r\n const isCurrentOutletTemplate = rkStringTemplateOutlet.currentValue instanceof TemplateRef;\r\n shouldOutletRecreate = isPreviousOutletTemplate || isCurrentOutletTemplate;\r\n }\r\n }\r\n const hasContextShapeChanged = (ctxChange: SimpleChange): boolean => {\r\n const prevCtxKeys = Object.keys(ctxChange.previousValue || {});\r\n const currCtxKeys = Object.keys(ctxChange.currentValue || {});\r\n if (prevCtxKeys.length === currCtxKeys.length) {\r\n for (const propName of currCtxKeys) {\r\n if (prevCtxKeys.indexOf(propName) === -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const shouldContextRecreate = rkStringTemplateOutletContext && hasContextShapeChanged(rkStringTemplateOutletContext);\r\n return shouldContextRecreate || shouldOutletRecreate;\r\n };\r\n\r\n if (rkStringTemplateOutlet) {\r\n this.context.$implicit = rkStringTemplateOutlet.currentValue;\r\n }\r\n\r\n const recreateView = shouldRecreateView();\r\n if (recreateView) {\r\n /** recreate view when context shape or outlet change **/\r\n this.recreateView();\r\n } else {\r\n /** update context **/\r\n this.updateContext();\r\n }\r\n }\r\n}\r\n\r\nexport class RkStringTemplateOutletContext {\r\n public $implicit: any;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RkAuthDirective } from './auth.directive';\r\nimport { RkStringTemplateOutletDirective } from './string.template.outlet.directive';\r\n\r\n@NgModule({\r\n declarations: [RkAuthDirective, RkStringTemplateOutletDirective],\r\n exports: [RkAuthDirective, RkStringTemplateOutletDirective],\r\n})\r\nexport class RkDirectivesModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reskin-core-guards.js","sources":["../../../library/core/guards/auth.guard.ts","../../../library/core/guards/reskin-core-guards.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivateChild, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { filter, map, catchError } from 'rxjs/operators';\nimport { RkMenuService } from '@reskin/core/services';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RkAuthGuard implements CanActivateChild {\n constructor(\n private menu: RkMenuService,\n private router: Router,\n ) {}\n\n canActivateChild(\n childRoute: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n return this.menu.requestData().pipe(\n filter((json) => json.code === 0),\n map((json) => json.data),\n map((menus) => this.checkAccess(menus, childRoute, state.url)),\n catchError(() => {\n this.handleNoAccess(state.url);\n return [false];\n }),\n );\n }\n\n private checkAccess(menus: any[], childRoute: ActivatedRouteSnapshot, url: string): boolean | UrlTree {\n if (!menus.length) {\n throw new Error(`此账号无任何功能权限.`);\n }\n\n const cleanUrl = url.replace(/\\?.*/, '');\n const authRoutes = new Set<string>(menus.map((m) => m.SYSTEM_RESOURCE_URL));\n\n if (authRoutes.has(cleanUrl)) {\n return true;\n }\n\n const { extendAuth, extendRoutes } = childRoute.data;\n if (extendAuth && extendRoutes) {\n const hasWildcardMatch = extendRoutes.some((route: string) =>\n route.includes('**') ? this.match(route, cleanUrl) : route === cleanUrl,\n );\n if (hasWildcardMatch) {\n return true;\n }\n }\n\n this.handleNoAccess(url);\n return false;\n }\n\n private match(pattern: string, path: string): boolean {\n const regexPattern = pattern.replace(/\\*\\*/g, '.*');\n return new RegExp(`^${regexPattern}$`).test(path);\n }\n\n private handleNoAccess(url: string): void {\n console.error(`无权限访问路由地址: ${url}`);\n this.router.navigate(['/errors/401']).then();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reskin-core-guards.js","sources":["../../../library/core/guards/auth.guard.ts","../../../library/core/guards/reskin-core-guards.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivateChild, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, map, catchError } from 'rxjs/operators';\r\nimport { RkMenuService } from '@reskin/core/services';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RkAuthGuard implements CanActivateChild {\r\n constructor(\r\n private menu: RkMenuService,\r\n private router: Router,\r\n ) {}\r\n\r\n canActivateChild(\r\n childRoute: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot,\r\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\r\n return this.menu.requestData().pipe(\r\n filter((json) => json.code === 0),\r\n map((json) => json.data),\r\n map((menus) => this.checkAccess(menus, childRoute, state.url)),\r\n catchError(() => {\r\n this.handleNoAccess(state.url);\r\n return [false];\r\n }),\r\n );\r\n }\r\n\r\n private checkAccess(menus: any[], childRoute: ActivatedRouteSnapshot, url: string): boolean | UrlTree {\r\n if (!menus.length) {\r\n throw new Error(`此账号无任何功能权限.`);\r\n }\r\n\r\n const cleanUrl = url.replace(/\\?.*/, '');\r\n const authRoutes = new Set<string>(menus.map((m) => m.SYSTEM_RESOURCE_URL));\r\n\r\n if (authRoutes.has(cleanUrl)) {\r\n return true;\r\n }\r\n\r\n const { extendAuth, extendRoutes } = childRoute.data;\r\n if (extendAuth && extendRoutes) {\r\n const hasWildcardMatch = extendRoutes.some((route: string) =>\r\n route.includes('**') ? this.match(route, cleanUrl) : route === cleanUrl,\r\n );\r\n if (hasWildcardMatch) {\r\n return true;\r\n }\r\n }\r\n\r\n this.handleNoAccess(url);\r\n return false;\r\n }\r\n\r\n private match(pattern: string, path: string): boolean {\r\n const regexPattern = pattern.replace(/\\*\\*/g, '.*');\r\n return new RegExp(`^${regexPattern}$`).test(path);\r\n }\r\n\r\n private handleNoAccess(url: string): void {\r\n console.error(`无权限访问路由地址: ${url}`);\r\n this.router.navigate(['/errors/401']).then();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reskin-core-interceptors.js","sources":["../../../library/core/interceptors/token.interceptor.ts","../../../library/core/interceptors/error.interceptor.ts","../../../library/core/interceptors/cache.interceptor.ts","../../../library/core/interceptors/blob.interceptor.ts","../../../library/core/interceptors/reskin-core-interceptors.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { RkAuthService } from '@reskin/core/services';\nimport { IAuth } from '@reskin/core/entity/user';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor {\n constructor(private service: RkAuthService) {}\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n const tc = request.headers.get('Token-Control');\n const auth: IAuth = this.service.token;\n // 当 header 中 Token-Control 为 no-token 时不携带 token\n if (tc !== 'no-token' && auth.token) {\n request = request.clone({\n setHeaders: {\n 'Authorization': auth.token,\n 'X-Auth-Id': auth.id,\n },\n });\n }\n return next.handle(request);\n }\n}\n\n/**\n * 请求头增加token验证拦截器\n */\nexport function providerAuthToken() {\n return { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true };\n}\n\n/**\n * 不带token验证信息请求\n * @param urls 地址\n * @param params 参数\n * @constructor\n */\nexport function NoAuthTokenTemplate(urls: TemplateStringsArray, ...params: any[]): [string, { headers: HttpHeaders }] {\n let [url] = urls;\n if (params.length > 0) {\n url = String.raw(urls, ...params);\n }\n return [url, { headers: new HttpHeaders({ 'Token-Control': 'no-token' }) }];\n}\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n constructor(private router: Router) {}\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n return next.handle(request).pipe(\n catchError((result) => {\n if (result.status === 401) {\n this.router.navigate(['/errors/401']).then();\n }\n if (result.error.code) {\n return of(result.error);\n }\n throw result.error.msg ?? result.message;\n }),\n );\n }\n}\n\n/**\n * 请求错误拦截器\n */\nexport function providerHttpError() {\n return { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true };\n}\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { shareReplay } from 'rxjs/operators';\nimport { RkCacheHttpService } from '@reskin/core/services';\n\n@Injectable()\nexport class CacheInterceptor implements HttpInterceptor {\n constructor(private cacheHttp: RkCacheHttpService) {}\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n // 1.判断是GET\n // 2.header中添加 Cache-Map: Storage\n const cacheMap = request.headers.get('Cache-Map');\n if (request.method === 'GET' && cacheMap === 'Storage') {\n let response = this.cacheHttp.get(request.url);\n if (!response) {\n response = next.handle(request).pipe(shareReplay(1));\n this.cacheHttp.set(request.url, response);\n }\n return response;\n }\n return next.handle(request);\n }\n}\n\n/**\n * GET请求缓存拦截器\n */\nexport function providerHttpCache() {\n return { provide: HTTP_INTERCEPTORS, useClass: CacheInterceptor, multi: true };\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpEventType,\n HttpResponse,\n HttpErrorResponse,\n HTTP_INTERCEPTORS,\n} from '@angular/common/http';\nimport { Observable, Subscriber } from 'rxjs';\nimport { catchError, switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class BlobInterceptor implements HttpInterceptor {\n intercept<T>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n if (request.responseType !== 'blob') {\n return next.handle(request);\n }\n return next.handle(request).pipe(\n switchMap((response: HttpEvent<any>) => this.handleBlobResponse(response)),\n catchError((response: HttpErrorResponse) => this.handleBlobError(response)),\n );\n }\n\n private handleBlobResponse<T>(response: HttpEvent<any>): Observable<HttpEvent<any>> {\n if (response.type !== HttpEventType.Response) {\n return new Observable((subscriber) => {\n subscriber.next(response);\n subscriber.complete();\n });\n }\n\n if (response instanceof HttpResponse && response.body && response.body.type === 'application/json') {\n return new Observable((subscriber) => this.blobToJson<T>(response.body, subscriber));\n }\n\n return new Observable((subscriber) => {\n subscriber.next(response);\n subscriber.complete();\n });\n }\n\n private handleBlobError<T>(response: HttpErrorResponse): Observable<HttpEvent<any>> {\n if (response.error && response.error.type === 'application/json') {\n return new Observable((subscriber) => this.blobToJson<T>(response.error, subscriber));\n }\n\n return new Observable((subscriber) => {\n subscriber.error(response);\n subscriber.complete();\n });\n }\n\n private blobToJson<T>(blob: Blob, subscriber: Subscriber<HttpEvent<T>>) {\n const reader = new FileReader();\n reader.addEventListener('loadend', () => {\n try {\n const json: T = JSON.parse(reader.result as string);\n subscriber.error(json);\n } catch (error) {\n subscriber.error(error);\n } finally {\n subscriber.complete();\n }\n });\n reader.readAsText(blob, 'utf-8');\n }\n}\n\n/**\n * 下载文件拦截器\n * blob类型的请求会被处理\n */\nexport function providerDownBlob() {\n return { provide: HTTP_INTERCEPTORS, useClass: BlobInterceptor, multi: true };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reskin-core-interceptors.js","sources":["../../../library/core/interceptors/token.interceptor.ts","../../../library/core/interceptors/error.interceptor.ts","../../../library/core/interceptors/cache.interceptor.ts","../../../library/core/interceptors/blob.interceptor.ts","../../../library/core/interceptors/reskin-core-interceptors.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { RkAuthService } from '@reskin/core/services';\r\nimport { IAuth } from '@reskin/core/entity/user';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(private service: RkAuthService) {}\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n const tc = request.headers.get('Token-Control');\r\n const auth: IAuth = this.service.token;\r\n // 当 header 中 Token-Control 为 no-token 时不携带 token\r\n if (tc !== 'no-token' && auth.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n 'Authorization': auth.token,\r\n 'X-Auth-Id': auth.id,\r\n },\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n\r\n/**\r\n * 请求头增加token验证拦截器\r\n */\r\nexport function providerAuthToken() {\r\n return { provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true };\r\n}\r\n\r\n/**\r\n * 不带token验证信息请求\r\n * @param urls 地址\r\n * @param params 参数\r\n * @constructor\r\n */\r\nexport function NoAuthTokenTemplate(urls: TemplateStringsArray, ...params: any[]): [string, { headers: HttpHeaders }] {\r\n let [url] = urls;\r\n if (params.length > 0) {\r\n url = String.raw(urls, ...params);\r\n }\r\n return [url, { headers: new HttpHeaders({ 'Token-Control': 'no-token' }) }];\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private router: Router) {}\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n return next.handle(request).pipe(\r\n catchError((result) => {\r\n if (result.status === 401) {\r\n this.router.navigate(['/errors/401']).then();\r\n }\r\n if (result.error.code) {\r\n return of(result.error);\r\n }\r\n throw result.error.msg ?? result.message;\r\n }),\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * 请求错误拦截器\r\n */\r\nexport function providerHttpError() {\r\n return { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { shareReplay } from 'rxjs/operators';\r\nimport { RkCacheHttpService } from '@reskin/core/services';\r\n\r\n@Injectable()\r\nexport class CacheInterceptor implements HttpInterceptor {\r\n constructor(private cacheHttp: RkCacheHttpService) {}\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\r\n // 1.判断是GET\r\n // 2.header中添加 Cache-Map: Storage\r\n const cacheMap = request.headers.get('Cache-Map');\r\n if (request.method === 'GET' && cacheMap === 'Storage') {\r\n let response = this.cacheHttp.get(request.url);\r\n if (!response) {\r\n response = next.handle(request).pipe(shareReplay(1));\r\n this.cacheHttp.set(request.url, response);\r\n }\r\n return response;\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n\r\n/**\r\n * GET请求缓存拦截器\r\n */\r\nexport function providerHttpCache() {\r\n return { provide: HTTP_INTERCEPTORS, useClass: CacheInterceptor, multi: true };\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpEventType,\r\n HttpResponse,\r\n HttpErrorResponse,\r\n HTTP_INTERCEPTORS,\r\n} from '@angular/common/http';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { catchError, switchMap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class BlobInterceptor implements HttpInterceptor {\r\n intercept<T>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\r\n if (request.responseType !== 'blob') {\r\n return next.handle(request);\r\n }\r\n return next.handle(request).pipe(\r\n switchMap((response: HttpEvent<any>) => this.handleBlobResponse(response)),\r\n catchError((response: HttpErrorResponse) => this.handleBlobError(response)),\r\n );\r\n }\r\n\r\n private handleBlobResponse<T>(response: HttpEvent<any>): Observable<HttpEvent<any>> {\r\n if (response.type !== HttpEventType.Response) {\r\n return new Observable((subscriber) => {\r\n subscriber.next(response);\r\n subscriber.complete();\r\n });\r\n }\r\n\r\n if (response instanceof HttpResponse && response.body && response.body.type === 'application/json') {\r\n return new Observable((subscriber) => this.blobToJson<T>(response.body, subscriber));\r\n }\r\n\r\n return new Observable((subscriber) => {\r\n subscriber.next(response);\r\n subscriber.complete();\r\n });\r\n }\r\n\r\n private handleBlobError<T>(response: HttpErrorResponse): Observable<HttpEvent<any>> {\r\n if (response.error && response.error.type === 'application/json') {\r\n return new Observable((subscriber) => this.blobToJson<T>(response.error, subscriber));\r\n }\r\n\r\n return new Observable((subscriber) => {\r\n subscriber.error(response);\r\n subscriber.complete();\r\n });\r\n }\r\n\r\n private blobToJson<T>(blob: Blob, subscriber: Subscriber<HttpEvent<T>>) {\r\n const reader = new FileReader();\r\n reader.addEventListener('loadend', () => {\r\n try {\r\n const json: T = JSON.parse(reader.result as string);\r\n subscriber.error(json);\r\n } catch (error) {\r\n subscriber.error(error);\r\n } finally {\r\n subscriber.complete();\r\n }\r\n });\r\n reader.readAsText(blob, 'utf-8');\r\n }\r\n}\r\n\r\n/**\r\n * 下载文件拦截器\r\n * blob类型的请求会被处理\r\n */\r\nexport function providerDownBlob() {\r\n return { provide: HTTP_INTERCEPTORS, useClass: BlobInterceptor, multi: true };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -609,7 +609,11 @@ class RkDictionaryService {
|
|
|
609
609
|
*/
|
|
610
610
|
getBaseInfo(code) {
|
|
611
611
|
const url = `api/gl-service-sys-core/v1/core/system/dictionary/selectOneByDictionaryCode`;
|
|
612
|
-
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(
|
|
612
|
+
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(tap((json) => {
|
|
613
|
+
if (json.code !== 0) {
|
|
614
|
+
throw new Error(`获得字典基本信息失败: ${json.msg}`);
|
|
615
|
+
}
|
|
616
|
+
}), filter((json) => json.code === 0), map((json) => json.data));
|
|
613
617
|
}
|
|
614
618
|
/**
|
|
615
619
|
* 通过字典编码获得字典项列表
|
|
@@ -618,7 +622,11 @@ class RkDictionaryService {
|
|
|
618
622
|
*/
|
|
619
623
|
getData(code) {
|
|
620
624
|
const url = `api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByDictionaryCode`;
|
|
621
|
-
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(
|
|
625
|
+
return this.http.get(...CacheHttpTemplate `${url}/${this.codeReplace(code)}`).pipe(tap((json) => {
|
|
626
|
+
if (json.code !== 0) {
|
|
627
|
+
throw new Error(`获得字典项列表失败: ${json.msg}`);
|
|
628
|
+
}
|
|
629
|
+
}), filter((json) => json.code === 0), map((json) => json.data));
|
|
622
630
|
}
|
|
623
631
|
/**
|
|
624
632
|
* 通过父节点获得字典项列表
|
|
@@ -628,7 +636,11 @@ class RkDictionaryService {
|
|
|
628
636
|
*/
|
|
629
637
|
getChildData(code, parentId = '-1') {
|
|
630
638
|
const url = `api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByDictionaryCode`;
|
|
631
|
-
return this.http.post(url, { DICTIONARY_CODE: code, SYS_PARENT: parentId }).pipe(
|
|
639
|
+
return this.http.post(url, { DICTIONARY_CODE: code, SYS_PARENT: parentId }).pipe(tap((json) => {
|
|
640
|
+
if (json.code !== 0) {
|
|
641
|
+
throw new Error(`获得字典项列表失败: ${json.msg}`);
|
|
642
|
+
}
|
|
643
|
+
}), filter((json) => json.code === 0), map((json) => json.data));
|
|
632
644
|
}
|
|
633
645
|
// 私有方法,用于替换字典编码中的特殊字符
|
|
634
646
|
codeReplace(code) {
|
|
@@ -642,7 +654,11 @@ class RkDictionaryService {
|
|
|
642
654
|
*/
|
|
643
655
|
requestSearchData(code, keyword) {
|
|
644
656
|
const url = 'api/gl-service-sys-core/v1/core/system/dictionary/item/selectListByQuery';
|
|
645
|
-
return this.http.post(url, { DICTIONARY_CODE: code, DICTIONARY_ITEM_NAME: keyword }).pipe(
|
|
657
|
+
return this.http.post(url, { DICTIONARY_CODE: code, DICTIONARY_ITEM_NAME: keyword }).pipe(tap((json) => {
|
|
658
|
+
if (json.code !== 0) {
|
|
659
|
+
throw new Error(`根据关机子搜索字典项列表失败: ${json.msg}`);
|
|
660
|
+
}
|
|
661
|
+
}), filter((json) => json.code === 0), map((json) => json.data
|
|
646
662
|
.filter((item, index) => index < 10)
|
|
647
663
|
.map((item) => ({
|
|
648
664
|
label: item.DICTIONARY_ITEM_NAME,
|
|
@@ -658,7 +674,11 @@ class RkDictionaryService {
|
|
|
658
674
|
*/
|
|
659
675
|
requestParentList(code, id) {
|
|
660
676
|
const url = 'api/gl-service-sys-core/v1/core/system/dictionary/item/selectListInfoAllParentByCode';
|
|
661
|
-
return this.http.post(url, { DICTIONARY_CODE: code, DICTIONARY_ITEM_CODE: id }).pipe(
|
|
677
|
+
return this.http.post(url, { DICTIONARY_CODE: code, DICTIONARY_ITEM_CODE: id }).pipe(tap((json) => {
|
|
678
|
+
if (json.code !== 0) {
|
|
679
|
+
throw new Error(`获取字典项父节点失败: ${json.msg}`);
|
|
680
|
+
}
|
|
681
|
+
}), filter((json) => json.code === 0), map((json) => json.data));
|
|
662
682
|
}
|
|
663
683
|
}
|
|
664
684
|
RkDictionaryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: RkDictionaryService, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|