@osovitny/anatoly 2.1.13 → 2.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/alerts.less +182 -0
- package/assets/styles/spinner.less +64 -0
- package/assets/styles/toastr.less +192 -0
- package/esm2020/lib/core/convert.mjs +62 -0
- package/esm2020/lib/core/core.module.mjs +72 -0
- package/esm2020/lib/core/go/base-go.service.mjs +41 -0
- package/esm2020/lib/core/guid.mjs +22 -0
- package/esm2020/lib/core/interceptors/httpInterceptor.mjs +108 -0
- package/esm2020/lib/core/localization/localization.module.mjs +47 -0
- package/esm2020/lib/core/localization/localization.service.mjs +185 -0
- package/esm2020/lib/core/localization/localizationSettings.module.mjs +88 -0
- package/esm2020/lib/core/localization/localize.pipe.mjs +78 -0
- package/esm2020/lib/core/logging/globalErrorHandler.mjs +44 -0
- package/esm2020/lib/core/logging/logging.service.mjs +39 -0
- package/esm2020/lib/core/notifications/services/notification-service.mjs +228 -0
- package/esm2020/lib/core/services/appcontext.service.mjs +118 -0
- package/esm2020/lib/core/services/dm.service.mjs +72 -0
- package/esm2020/lib/core/services/google-analytics.service.mjs +54 -0
- package/{esm2015/lib/core/services/idle.service.js → esm2020/lib/core/services/idle.service.mjs} +9 -7
- package/{esm2015/lib/core/services/loading.service.js → esm2020/lib/core/services/loading.service.mjs} +9 -8
- package/esm2020/lib/core/services/web-storage.service.mjs +69 -0
- package/esm2020/lib/core/subs.mjs +31 -0
- package/esm2020/lib/core/utils.mjs +82 -0
- package/esm2020/lib/data/base/base-api.service.mjs +89 -0
- package/esm2020/lib/data/base/grid/base-grid-edit.service.mjs +77 -0
- package/esm2020/lib/data/base/grid/base-grid-read.service.mjs +62 -0
- package/esm2020/lib/data/data.module.mjs +51 -0
- package/esm2020/lib/data/services/billing-api.service.mjs +65 -0
- package/esm2020/lib/data/services/notifications/notifications-api-service.mjs +43 -0
- package/esm2020/lib/ui/components/base-edit.component.mjs +143 -0
- package/esm2020/lib/ui/components/base.component.mjs +47 -0
- package/esm2020/lib/ui/components/base.dialog.mjs +49 -0
- package/esm2020/lib/ui/components/billing/buyaccess-button.component.mjs +69 -0
- package/esm2020/lib/ui/components/billing/subscribe-plan-button.component.mjs +63 -0
- package/esm2020/lib/ui/components/billing/upgrade-plan-button.component.mjs +53 -0
- package/esm2020/lib/ui/components/content-header/content-header.component.mjs +37 -0
- package/esm2020/lib/ui/components/html-editor/base-html-editor.component.mjs +111 -0
- package/esm2020/lib/ui/components/html-editor/forms-html-editor.component.mjs +48 -0
- package/esm2020/lib/ui/components/html-editor/html-editor.component.mjs +52 -0
- package/esm2020/lib/ui/components/identity/signin-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signout-button.component.mjs +32 -0
- package/esm2020/lib/ui/components/identity/signup-button.component.mjs +31 -0
- package/esm2020/lib/ui/components/loading/loading.component.mjs +48 -0
- package/esm2020/lib/ui/components/spinner/spinner.component.mjs +74 -0
- package/esm2020/lib/ui/directives/native-element.directive.mjs +41 -0
- package/esm2020/lib/ui/pipes/filesize.pipe.mjs +45 -0
- package/esm2020/lib/ui/pipes/replace-text.pipe.mjs +40 -0
- package/esm2020/lib/ui/pipes/safeHtml.pipe.mjs +37 -0
- package/esm2020/lib/ui/ui.module.mjs +155 -0
- package/esm2020/lib/ui/validation/form-validation-summary.component.mjs +66 -0
- package/esm2020/lib/ui/validation/item-validation-summary.component.mjs +39 -0
- package/esm2020/lib/ui/validation/validation-summary.component.mjs +128 -0
- package/fesm2015/{osovitny-anatoly.js → osovitny-anatoly.mjs} +823 -765
- package/fesm2015/osovitny-anatoly.mjs.map +1 -0
- package/fesm2020/osovitny-anatoly.mjs +3496 -0
- package/fesm2020/osovitny-anatoly.mjs.map +1 -0
- package/{osovitny-anatoly.d.ts → index.d.ts} +1 -0
- package/lib/core/core.module.d.ts +5 -0
- package/lib/core/go/base-go.service.d.ts +3 -0
- package/lib/core/interceptors/httpInterceptor.d.ts +3 -0
- package/lib/core/localization/localization.module.d.ts +6 -0
- package/lib/core/localization/localization.service.d.ts +3 -0
- package/lib/core/localization/localizationSettings.module.d.ts +5 -0
- package/lib/core/localization/localize.pipe.d.ts +3 -0
- package/lib/core/logging/globalErrorHandler.d.ts +3 -0
- package/lib/core/logging/logging.service.d.ts +3 -0
- package/lib/core/notifications/services/notification-service.d.ts +3 -0
- package/lib/core/services/appcontext.service.d.ts +5 -2
- package/lib/core/services/dm.service.d.ts +3 -0
- package/lib/core/services/google-analytics.service.d.ts +3 -0
- package/lib/core/services/idle.service.d.ts +3 -0
- package/lib/core/services/loading.service.d.ts +3 -0
- package/lib/core/services/web-storage.service.d.ts +5 -0
- package/lib/data/base/base-api.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-edit.service.d.ts +3 -0
- package/lib/data/base/grid/base-grid-read.service.d.ts +3 -0
- package/lib/data/data.module.d.ts +5 -0
- package/lib/data/services/billing-api.service.d.ts +3 -0
- package/lib/data/services/notifications/notifications-api-service.d.ts +3 -0
- package/lib/ui/components/base-edit.component.d.ts +5 -2
- package/lib/ui/components/base.component.d.ts +3 -0
- package/lib/ui/components/base.dialog.d.ts +3 -0
- package/lib/ui/components/billing/buyaccess-button.component.d.ts +3 -0
- package/lib/ui/components/billing/subscribe-plan-button.component.d.ts +3 -0
- package/lib/ui/components/billing/upgrade-plan-button.component.d.ts +3 -0
- package/lib/ui/components/content-header/content-header.component.d.ts +3 -0
- package/lib/ui/components/html-editor/base-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/forms-html-editor.component.d.ts +3 -0
- package/lib/ui/components/html-editor/html-editor.component.d.ts +3 -0
- package/lib/ui/components/identity/signin-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signout-button.component.d.ts +3 -0
- package/lib/ui/components/identity/signup-button.component.d.ts +3 -0
- package/lib/ui/components/loading/loading.component.d.ts +3 -0
- package/lib/ui/components/spinner/spinner.component.d.ts +3 -0
- package/lib/ui/directives/native-element.directive.d.ts +3 -0
- package/lib/ui/pipes/filesize.pipe.d.ts +3 -0
- package/lib/ui/pipes/replace-text.pipe.d.ts +3 -0
- package/lib/ui/pipes/safeHtml.pipe.d.ts +3 -0
- package/lib/ui/ui.module.d.ts +24 -0
- package/lib/ui/validation/form-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/item-validation-summary.component.d.ts +3 -0
- package/lib/ui/validation/validation-summary.component.d.ts +3 -0
- package/package.json +23 -11
- package/bundles/osovitny-anatoly.umd.js +0 -3696
- package/bundles/osovitny-anatoly.umd.js.map +0 -1
- package/esm2015/lib/core/convert.js +0 -65
- package/esm2015/lib/core/core.module.js +0 -43
- package/esm2015/lib/core/go/base-go.service.js +0 -42
- package/esm2015/lib/core/guid.js +0 -25
- package/esm2015/lib/core/interceptors/httpInterceptor.js +0 -109
- package/esm2015/lib/core/localization/localization.module.js +0 -41
- package/esm2015/lib/core/localization/localization.service.js +0 -187
- package/esm2015/lib/core/localization/localizationSettings.module.js +0 -78
- package/esm2015/lib/core/localization/localize.pipe.js +0 -78
- package/esm2015/lib/core/logging/globalErrorHandler.js +0 -44
- package/esm2015/lib/core/logging/logging.service.js +0 -38
- package/esm2015/lib/core/notifications/services/notification-service.js +0 -230
- package/esm2015/lib/core/services/appcontext.service.js +0 -118
- package/esm2015/lib/core/services/dm.service.js +0 -74
- package/esm2015/lib/core/services/google-analytics.service.js +0 -53
- package/esm2015/lib/core/services/web-storage.service.js +0 -66
- package/esm2015/lib/core/subs.js +0 -34
- package/esm2015/lib/core/utils.js +0 -84
- package/esm2015/lib/data/base/base-api.service.js +0 -89
- package/esm2015/lib/data/base/grid/base-grid-edit.service.js +0 -77
- package/esm2015/lib/data/base/grid/base-grid-read.service.js +0 -62
- package/esm2015/lib/data/data.module.js +0 -43
- package/esm2015/lib/data/services/billing-api.service.js +0 -65
- package/esm2015/lib/data/services/notifications/notifications-api-service.js +0 -45
- package/esm2015/lib/ui/components/base-edit.component.js +0 -142
- package/esm2015/lib/ui/components/base.component.js +0 -43
- package/esm2015/lib/ui/components/base.dialog.js +0 -47
- package/esm2015/lib/ui/components/billing/buyaccess-button.component.js +0 -71
- package/esm2015/lib/ui/components/billing/subscribe-plan-button.component.js +0 -63
- package/esm2015/lib/ui/components/billing/upgrade-plan-button.component.js +0 -54
- package/esm2015/lib/ui/components/content-header/content-header.component.js +0 -37
- package/esm2015/lib/ui/components/html-editor/base-html-editor.component.js +0 -108
- package/esm2015/lib/ui/components/html-editor/forms-html-editor.component.js +0 -44
- package/esm2015/lib/ui/components/html-editor/html-editor.component.js +0 -51
- package/esm2015/lib/ui/components/identity/signin-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signout-button.component.js +0 -33
- package/esm2015/lib/ui/components/identity/signup-button.component.js +0 -31
- package/esm2015/lib/ui/components/loading/loading.component.js +0 -49
- package/esm2015/lib/ui/components/spinner/spinner.component.js +0 -73
- package/esm2015/lib/ui/directives/native-element.directive.js +0 -41
- package/esm2015/lib/ui/pipes/filesize.pipe.js +0 -41
- package/esm2015/lib/ui/pipes/replace-text.pipe.js +0 -36
- package/esm2015/lib/ui/pipes/safeHtml.pipe.js +0 -36
- package/esm2015/lib/ui/ui.module.js +0 -105
- package/esm2015/lib/ui/validation/form-validation-summary.component.js +0 -64
- package/esm2015/lib/ui/validation/item-validation-summary.component.js +0 -38
- package/esm2015/lib/ui/validation/validation-summary.component.js +0 -126
- package/fesm2015/osovitny-anatoly.js.map +0 -1
- package/osovitny-anatoly.metadata.json +0 -1
- /package/{esm2015/lib/core/consts/settings.js → esm2020/lib/core/consts/settings.mjs} +0 -0
- /package/{esm2015/lib/core/consts/urls.js → esm2020/lib/core/consts/urls.mjs} +0 -0
- /package/{esm2015/lib/core/guards/once-import.guard.js → esm2020/lib/core/guards/once-import.guard.mjs} +0 -0
- /package/{esm2015/lib/core/localization/utils.js → esm2020/lib/core/localization/utils.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/alerts.js → esm2020/lib/core/notifications/alerts.mjs} +0 -0
- /package/{esm2015/lib/core/notifications/interfaces/notification.js → esm2020/lib/core/notifications/interfaces/notification.mjs} +0 -0
- /package/{esm2015/lib/data/consts.js → esm2020/lib/data/consts.mjs} +0 -0
- /package/{esm2015/lib/ui/components/html-editor/html-editor.defaultoptions.js → esm2020/lib/ui/components/html-editor/html-editor.defaultoptions.mjs} +0 -0
- /package/{esm2015/osovitny-anatoly.js → esm2020/osovitny-anatoly.mjs} +0 -0
- /package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
17 Jun 2018
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
import { Injectable } from '@angular/core';
|
|
20
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
21
|
-
export class BaseGoService {
|
|
22
|
-
constructor(route, router) {
|
|
23
|
-
this.route = route;
|
|
24
|
-
this.router = router;
|
|
25
|
-
this.route = route;
|
|
26
|
-
this.router = router;
|
|
27
|
-
}
|
|
28
|
-
locationReload() {
|
|
29
|
-
window.location.reload();
|
|
30
|
-
}
|
|
31
|
-
homeReload() {
|
|
32
|
-
window.location.href = "/";
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
BaseGoService.decorators = [
|
|
36
|
-
{ type: Injectable }
|
|
37
|
-
];
|
|
38
|
-
BaseGoService.ctorParameters = () => [
|
|
39
|
-
{ type: ActivatedRoute },
|
|
40
|
-
{ type: Router }
|
|
41
|
-
];
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1nby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvZ28vYmFzZS1nby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFzQixLQUFxQixFQUFZLE1BQWM7UUFBL0MsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ25FLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxjQUFjO1FBQ1gsTUFBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNQLE1BQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUN0QyxDQUFDOzs7WUFiRixVQUFVOzs7WUFGSCxjQUFjO1lBQUUsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE3IEp1biAyMDE4XHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlR29TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgIHRoaXMucm91dGUgPSByb3V0ZTtcclxuICAgIHRoaXMucm91dGVyID0gcm91dGVyO1xyXG4gIH1cclxuXHJcbiAgbG9jYXRpb25SZWxvYWQoKSB7XHJcbiAgICAod2luZG93IGFzIGFueSkubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgfVxyXG5cclxuICBob21lUmVsb2FkKCkge1xyXG4gICAgKHdpbmRvdyBhcyBhbnkpLmxvY2F0aW9uLmhyZWYgPSBcIi9cIjtcclxuICB9XHJcbn1cclxuIl19
|
package/esm2015/lib/core/guid.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
26 Jun 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
20
|
-
export class Guid {
|
|
21
|
-
static newGuid() {
|
|
22
|
-
return uuidv4();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2d1aWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsTUFBTSxPQUFPLElBQUk7SUFDUixNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcclxuXHJcbmV4cG9ydCBjbGFzcyBHdWlkIHtcclxuICBwdWJsaWMgc3RhdGljIG5ld0d1aWQoKSB7XHJcbiAgICByZXR1cm4gdXVpZHY0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
25 March 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
// Node
|
|
20
|
-
import { HttpResponse } from '@angular/common/http';
|
|
21
|
-
import { Injectable } from '@angular/core';
|
|
22
|
-
// RxJS
|
|
23
|
-
import { tap } from 'rxjs/operators';
|
|
24
|
-
// App
|
|
25
|
-
import { AppCoreSettings } from '../consts/settings';
|
|
26
|
-
import { LoadingService } from '../services/loading.service';
|
|
27
|
-
import { LoggingService } from '../logging/logging.service';
|
|
28
|
-
export class AnatolyHttpInterceptor {
|
|
29
|
-
constructor(loadingService, loggingService) {
|
|
30
|
-
this.loadingService = loadingService;
|
|
31
|
-
this.loggingService = loggingService;
|
|
32
|
-
this.longRunningExceptionsList = [];
|
|
33
|
-
this.autoCDNSASTokenUrls = ['chunks', 'resources'];
|
|
34
|
-
this.externalSiteUrls = ['azurewebsites.net'];
|
|
35
|
-
}
|
|
36
|
-
intercept(req, next) {
|
|
37
|
-
const isCDNEnabled = AppCoreSettings.IsCDNEnabled;
|
|
38
|
-
const cdnSasToken = AppCoreSettings.CDNSASToken;
|
|
39
|
-
const isLoadingFreezed = this.loadingService.isFreezed;
|
|
40
|
-
const authorizationTokenRequired = true;
|
|
41
|
-
const url = req.url.toLowerCase();
|
|
42
|
-
const originalUrl = req.url;
|
|
43
|
-
let isExternalSite = false;
|
|
44
|
-
let loadingRequired = !isLoadingFreezed;
|
|
45
|
-
if (!isLoadingFreezed) {
|
|
46
|
-
for (const i of this.longRunningExceptionsList) {
|
|
47
|
-
if (url.indexOf(this.longRunningExceptionsList[i]) >= 0) {
|
|
48
|
-
loadingRequired = false;
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (isCDNEnabled) {
|
|
54
|
-
for (const i of this.autoCDNSASTokenUrls) {
|
|
55
|
-
if (url.indexOf(this.autoCDNSASTokenUrls[i]) >= 0) {
|
|
56
|
-
req = req.clone({ url: originalUrl + cdnSasToken });
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
for (const i of this.externalSiteUrls) {
|
|
62
|
-
if (url.indexOf(this.externalSiteUrls[i]) >= 0) {
|
|
63
|
-
isExternalSite = true;
|
|
64
|
-
break;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// VadimOS: IE11-fix
|
|
68
|
-
if (url.indexOf('/api/') > -1) {
|
|
69
|
-
let newUrl = '';
|
|
70
|
-
const t = new Date().getTime().toString();
|
|
71
|
-
if (url.indexOf('?') > -1) {
|
|
72
|
-
newUrl = originalUrl + '&t=' + t;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
newUrl = originalUrl + '?t=' + t;
|
|
76
|
-
}
|
|
77
|
-
req = req.clone({ url: newUrl });
|
|
78
|
-
}
|
|
79
|
-
req = req.clone({ headers: req.headers.set('Accept', 'application/json') });
|
|
80
|
-
req = req.clone({ headers: req.headers.set('Accept', 'application/text') });
|
|
81
|
-
this.onRequestStart(loadingRequired);
|
|
82
|
-
return next.handle(req).pipe(tap((event) => {
|
|
83
|
-
if (event instanceof HttpResponse) {
|
|
84
|
-
this.onRequestEnd(loadingRequired);
|
|
85
|
-
}
|
|
86
|
-
}, (err) => {
|
|
87
|
-
this.onRequestEnd(loadingRequired);
|
|
88
|
-
this.loggingService.logError(err);
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
onRequestStart(loadingRequired) {
|
|
92
|
-
if (loadingRequired) {
|
|
93
|
-
this.loadingService.show();
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
onRequestEnd(loadingRequired) {
|
|
97
|
-
if (loadingRequired) {
|
|
98
|
-
this.loadingService.hide();
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
AnatolyHttpInterceptor.decorators = [
|
|
103
|
-
{ type: Injectable }
|
|
104
|
-
];
|
|
105
|
-
AnatolyHttpInterceptor.ctorParameters = () => [
|
|
106
|
-
{ type: LoadingService },
|
|
107
|
-
{ type: LoggingService }
|
|
108
|
-
];
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cEludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvaW50ZXJjZXB0b3JzL2h0dHBJbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixPQUFPO0FBQ1AsT0FBTyxFQUF1RCxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU87QUFDUCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkMsTUFBTTtBQUNOLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRzFELE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsWUFBc0IsY0FBOEIsRUFBWSxjQUE4QjtRQUF4RSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBWSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFKcEYsOEJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQy9CLHdCQUFtQixHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLHFCQUFnQixHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUduRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDaEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBRWhELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUM7UUFDdkQsTUFBTSww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Y0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxlQUF3QjtRQUNyQyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxlQUF3QjtRQUNuQyxJQUFJLGVBQWUsRUFBRTtZQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7O1lBekZGLFVBQVU7OztZQUhILGNBQWM7WUFDZCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueVxyXG4gICAgQW5hdG9seSBPc292aXRueVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjUgTWFyY2ggMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy8gTm9kZVxyXG5pbXBvcnQge0h0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLy8gUnhKU1xyXG5pbXBvcnQge3RhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5cclxuLy8gQXBwXHJcbmltcG9ydCB7QXBwQ29yZVNldHRpbmdzfSBmcm9tICcuLi9jb25zdHMvc2V0dGluZ3MnO1xyXG5pbXBvcnQge0xvYWRpbmdTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9sb2FkaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQge0xvZ2dpbmdTZXJ2aWNlfSBmcm9tICcuLi9sb2dnaW5nL2xvZ2dpbmcuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBbmF0b2x5SHR0cEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBwcm90ZWN0ZWQgbG9uZ1J1bm5pbmdFeGNlcHRpb25zTGlzdCA9IFtdO1xyXG4gIHByb3RlY3RlZCBhdXRvQ0ROU0FTVG9rZW5VcmxzID0gWydjaHVua3MnLCAncmVzb3VyY2VzJ107XHJcbiAgcHJvdGVjdGVkIGV4dGVybmFsU2l0ZVVybHMgPSBbJ2F6dXJld2Vic2l0ZXMubmV0J107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBsb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsIHByb3RlY3RlZCBsb2dnaW5nU2VydmljZTogTG9nZ2luZ1NlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgaXNDRE5FbmFibGVkID0gQXBwQ29yZVNldHRpbmdzLklzQ0RORW5hYmxlZDtcclxuICAgIGNvbnN0IGNkblNhc1Rva2VuID0gQXBwQ29yZVNldHRpbmdzLkNETlNBU1Rva2VuO1xyXG5cclxuICAgIGNvbnN0IGlzTG9hZGluZ0ZyZWV6ZWQgPSB0aGlzLmxvYWRpbmdTZXJ2aWNlLmlzRnJlZXplZDsgICBcclxuICAgIGNvbnN0IGF1dGhvcml6YXRpb25Ub2tlblJlcXVpcmVkID0gdHJ1ZTtcclxuICAgIGNvbnN0IHVybCA9IHJlcS51cmwudG9Mb3dlckNhc2UoKTtcclxuICAgIGNvbnN0IG9yaWdpbmFsVXJsID0gcmVxLnVybDtcclxuICAgIGxldCBpc0V4dGVybmFsU2l0ZSA9IGZhbHNlO1xyXG4gICAgbGV0IGxvYWRpbmdSZXF1aXJlZCA9ICFpc0xvYWRpbmdGcmVlemVkO1xyXG5cclxuICAgIGlmICghaXNMb2FkaW5nRnJlZXplZCkge1xyXG4gICAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5sb25nUnVubmluZ0V4Y2VwdGlvbnNMaXN0KSB7XHJcbiAgICAgICAgaWYgKHVybC5pbmRleE9mKHRoaXMubG9uZ1J1bm5pbmdFeGNlcHRpb25zTGlzdFtpXSkgPj0gMCkge1xyXG4gICAgICAgICAgbG9hZGluZ1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXNDRE5FbmFibGVkKSB7XHJcbiAgICAgIGZvciAoY29uc3QgaSBvZiB0aGlzLmF1dG9DRE5TQVNUb2tlblVybHMpIHtcclxuICAgICAgICBpZiAodXJsLmluZGV4T2YodGhpcy5hdXRvQ0ROU0FTVG9rZW5VcmxzW2ldKSA+PSAwKSB7XHJcbiAgICAgICAgICByZXEgPSByZXEuY2xvbmUoeyB1cmw6IG9yaWdpbmFsVXJsICsgY2RuU2FzVG9rZW4gfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5leHRlcm5hbFNpdGVVcmxzKSB7XHJcbiAgICAgIGlmICh1cmwuaW5kZXhPZih0aGlzLmV4dGVybmFsU2l0ZVVybHNbaV0pID49IDApIHtcclxuICAgICAgICBpc0V4dGVybmFsU2l0ZSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBWYWRpbU9TOiBJRTExLWZpeFxyXG4gICAgaWYgKHVybC5pbmRleE9mKCcvYXBpLycpID4gLTEpIHtcclxuICAgICAgbGV0IG5ld1VybCA9ICcnO1xyXG4gICAgICBjb25zdCB0ID0gbmV3IERhdGUoKS5nZXRUaW1lKCkudG9TdHJpbmcoKTtcclxuXHJcbiAgICAgIGlmICh1cmwuaW5kZXhPZignPycpID4gLTEpIHtcclxuICAgICAgICBuZXdVcmwgPSBvcmlnaW5hbFVybCArICcmdD0nICsgdDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdVcmwgPSBvcmlnaW5hbFVybCArICc/dD0nICsgdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmVxID0gcmVxLmNsb25lKHsgdXJsOiBuZXdVcmwgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxID0gcmVxLmNsb25lKHsgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KCdBY2NlcHQnLCAnYXBwbGljYXRpb24vanNvbicpIH0pO1xyXG4gICAgcmVxID0gcmVxLmNsb25lKHsgaGVhZGVyczogcmVxLmhlYWRlcnMuc2V0KCdBY2NlcHQnLCAnYXBwbGljYXRpb24vdGV4dCcpIH0pO1xyXG5cclxuICAgIHRoaXMub25SZXF1ZXN0U3RhcnQobG9hZGluZ1JlcXVpcmVkKTtcclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxyXG4gICAgICB0YXAoXHJcbiAgICAgICAgKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMub25SZXF1ZXN0RW5kKGxvYWRpbmdSZXF1aXJlZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMub25SZXF1ZXN0RW5kKGxvYWRpbmdSZXF1aXJlZCk7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dpbmdTZXJ2aWNlLmxvZ0Vycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25SZXF1ZXN0U3RhcnQobG9hZGluZ1JlcXVpcmVkOiBib29sZWFuKSB7XHJcbiAgICBpZiAobG9hZGluZ1JlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2Uuc2hvdygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25SZXF1ZXN0RW5kKGxvYWRpbmdSZXF1aXJlZDogYm9vbGVhbikge1xyXG4gICAgaWYgKGxvYWRpbmdSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmhpZGUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
12 May 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
// Node
|
|
20
|
-
import { NgModule } from '@angular/core';
|
|
21
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
22
|
-
// Pipes
|
|
23
|
-
import { LocalizePipe } from './localize.pipe';
|
|
24
|
-
export class LocalizationModule {
|
|
25
|
-
}
|
|
26
|
-
LocalizationModule.decorators = [
|
|
27
|
-
{ type: NgModule, args: [{
|
|
28
|
-
imports: [
|
|
29
|
-
TranslateModule
|
|
30
|
-
],
|
|
31
|
-
exports: [
|
|
32
|
-
TranslateModule,
|
|
33
|
-
LocalizePipe
|
|
34
|
-
],
|
|
35
|
-
declarations: [
|
|
36
|
-
LocalizePipe
|
|
37
|
-
],
|
|
38
|
-
providers: []
|
|
39
|
-
},] }
|
|
40
|
-
];
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE9BQU87QUFDUCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBZ0IvQyxNQUFNLE9BQU8sa0JBQWtCOzs7WUFkOUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZUFBZTtvQkFDZixZQUFZO2lCQUNiO2dCQUNELFlBQVksRUFBRTtvQkFDWixZQUFZO2lCQUNiO2dCQUNELFNBQVMsRUFBRSxFQUNWO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55XHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55XHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAgMTIgTWF5IDIwMjBcclxuXHJcbiAgVmVyc2lvbjpcclxuICAgIDEuMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vIE5vZGVcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vLyBQaXBlc1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVBpcGUgfSBmcm9tICcuL2xvY2FsaXplLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIExvY2FsaXplUGlwZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBMb2NhbGl6ZVBpcGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvbk1vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
05 May 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
//Node
|
|
20
|
-
import { Injectable } from '@angular/core';
|
|
21
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
22
|
-
//Date fns
|
|
23
|
-
import { format, isValid, formatDistanceToNow, formatDistance } from 'date-fns';
|
|
24
|
-
import { utcToZonedTime } from 'date-fns-tz';
|
|
25
|
-
// VadimOS: IE11-fix. DON'T change next imports!
|
|
26
|
-
// Reason: https://github.com/date-fns/date-fns/issues/666
|
|
27
|
-
import enUS from 'date-fns/locale/en-US';
|
|
28
|
-
import { Convert } from '../convert';
|
|
29
|
-
import * as i0 from "@angular/core";
|
|
30
|
-
import * as i1 from "@ngx-translate/core";
|
|
31
|
-
export class LocalizationService {
|
|
32
|
-
constructor(translate) {
|
|
33
|
-
this.translate = translate;
|
|
34
|
-
this.setSupportedLanguages(['en']);
|
|
35
|
-
}
|
|
36
|
-
format(str, args) {
|
|
37
|
-
return str.replace(/{(\d+)}/g, function (match, number) {
|
|
38
|
-
return typeof args[number] != 'undefined'
|
|
39
|
-
? args[number]
|
|
40
|
-
: match;
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
;
|
|
44
|
-
configureTranslationSettings(translate) {
|
|
45
|
-
const languageToSet = 'en';
|
|
46
|
-
this.dateFnsLocale = { locale: enUS };
|
|
47
|
-
translate.setDefaultLang(languageToSet);
|
|
48
|
-
return languageToSet;
|
|
49
|
-
}
|
|
50
|
-
getBrowserLanguage() {
|
|
51
|
-
return this.translate.getBrowserLang();
|
|
52
|
-
}
|
|
53
|
-
getDatefnsLocale() {
|
|
54
|
-
let dfnLocale;
|
|
55
|
-
switch (this.getBrowserLanguage()) {
|
|
56
|
-
case 'en':
|
|
57
|
-
dfnLocale = { locale: enUS };
|
|
58
|
-
break;
|
|
59
|
-
default:
|
|
60
|
-
dfnLocale = { locale: enUS };
|
|
61
|
-
}
|
|
62
|
-
return dfnLocale;
|
|
63
|
-
}
|
|
64
|
-
setDefaultLanguage(lang) {
|
|
65
|
-
this.translate.setDefaultLang(lang);
|
|
66
|
-
}
|
|
67
|
-
setSupportedLanguages(languages) {
|
|
68
|
-
this.translate.addLangs(languages);
|
|
69
|
-
}
|
|
70
|
-
updateLanguage(language) {
|
|
71
|
-
this.translate.use(language);
|
|
72
|
-
}
|
|
73
|
-
getLocalizedValue(key, params) {
|
|
74
|
-
const value = this.translate.instant(key);
|
|
75
|
-
if (!params || params.length === 0) {
|
|
76
|
-
return value;
|
|
77
|
-
}
|
|
78
|
-
return this.format(value, params);
|
|
79
|
-
}
|
|
80
|
-
getLocalizedDate(key) {
|
|
81
|
-
if (isValid(new Date(key))) {
|
|
82
|
-
return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);
|
|
83
|
-
}
|
|
84
|
-
return "Invalid Date";
|
|
85
|
-
}
|
|
86
|
-
getLocalizedDateTime(key) {
|
|
87
|
-
let dateValue = new Date(key);
|
|
88
|
-
if (isValid(dateValue)) {
|
|
89
|
-
let localDate = Convert.toLocalizedDateTime(dateValue);
|
|
90
|
-
return format(localDate, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);
|
|
91
|
-
}
|
|
92
|
-
return "Invalid Date";
|
|
93
|
-
}
|
|
94
|
-
getLocalizedDistanceInWords(endedDate, startedDate) {
|
|
95
|
-
if (isValid(new Date(endedDate)) && isValid(new Date(startedDate))) {
|
|
96
|
-
return formatDistance(new Date(endedDate), new Date(startedDate), this.dateFnsLocale);
|
|
97
|
-
}
|
|
98
|
-
return "Invalid Date";
|
|
99
|
-
}
|
|
100
|
-
getLocalizedDistanceToNowInWords(date) {
|
|
101
|
-
if (isValid(new Date(date))) {
|
|
102
|
-
return formatDistanceToNow(new Date(date), this.dateFnsLocale);
|
|
103
|
-
}
|
|
104
|
-
return "Invalid Date";
|
|
105
|
-
}
|
|
106
|
-
//UTC Operations --------------------------------------------------------------
|
|
107
|
-
getUTCToLocalizedDate(key) {
|
|
108
|
-
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
109
|
-
if (key) {
|
|
110
|
-
if (key.indexOf("T") == -1) {
|
|
111
|
-
key = key.replace(" ", "T");
|
|
112
|
-
}
|
|
113
|
-
if (key.indexOf("Z") == -1) {
|
|
114
|
-
key = key + "Z";
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
if (browserTimeZone) {
|
|
118
|
-
let localDateTime = utcToZonedTime(key, browserTimeZone);
|
|
119
|
-
return format(localDateTime, 'dd.MM.yyyy', this.dateFnsLocale);
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
return format(new Date(key), 'dd.MM.yyyy', this.dateFnsLocale);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
getUTCToLocalizedDateTime(key) {
|
|
126
|
-
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
127
|
-
if (key) {
|
|
128
|
-
if (key.indexOf("T") == -1) {
|
|
129
|
-
key = key.replace(" ", "T");
|
|
130
|
-
}
|
|
131
|
-
if (key.indexOf("Z") == -1) {
|
|
132
|
-
key = key + "Z";
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (browserTimeZone) {
|
|
136
|
-
let localDateTime = utcToZonedTime(key, browserTimeZone);
|
|
137
|
-
return format(localDateTime, 'dd.MM.yyyy HH:mm', this.dateFnsLocale);
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
return format(new Date(key), 'dd.MM.yyyy HH:mm', this.dateFnsLocale);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
//https://date-fns.org/v1.30.1/docs/distanceInWords
|
|
144
|
-
getUTCToLocalizedDistanceToNowInWords(date) {
|
|
145
|
-
date = this.safeUtcToZonedTime(date);
|
|
146
|
-
if (isValid(new Date(date))) {
|
|
147
|
-
return formatDistanceToNow(new Date(date), this.dateFnsLocale);
|
|
148
|
-
}
|
|
149
|
-
return "Invalid Date";
|
|
150
|
-
}
|
|
151
|
-
safeUtcToZonedTime(date) {
|
|
152
|
-
let result = date;
|
|
153
|
-
try {
|
|
154
|
-
if (date) {
|
|
155
|
-
if (date.indexOf("T") == -1) {
|
|
156
|
-
date = date.replace(" ", "T");
|
|
157
|
-
}
|
|
158
|
-
if (date.indexOf("Z") == -1) {
|
|
159
|
-
date = date + "Z";
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
let browserTimeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
163
|
-
if (browserTimeZone) {
|
|
164
|
-
result = utcToZonedTime(date, browserTimeZone).toString();
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
result = new Date(date).toString();
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
catch (_a) {
|
|
171
|
-
if (date) {
|
|
172
|
-
console.log("UTC to Local conversion failed for :" + date.toString());
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return result;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
LocalizationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalizationService_Factory() { return new LocalizationService(i0.ɵɵinject(i1.TranslateService)); }, token: LocalizationService, providedIn: "root" });
|
|
179
|
-
LocalizationService.decorators = [
|
|
180
|
-
{ type: Injectable, args: [{
|
|
181
|
-
providedIn: 'root'
|
|
182
|
-
},] }
|
|
183
|
-
];
|
|
184
|
-
LocalizationService.ctorParameters = () => [
|
|
185
|
-
{ type: TranslateService }
|
|
186
|
-
];
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJFO0FBRUYsTUFBTTtBQUNOLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsVUFBVTtBQUNWLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLGdEQUFnRDtBQUNoRCwwREFBMEQ7QUFDMUQsT0FBTyxJQUFJLE1BQU0sdUJBQXVCLENBQUM7QUFJekMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQzs7O0FBS25DLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDN0MsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU8sTUFBTSxDQUFDLEdBQVcsRUFBRSxJQUFJO1FBQzlCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxLQUFLLEVBQUUsTUFBTTtZQUNwRCxPQUFPLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVc7Z0JBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxLQUFLLENBQ047UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQSxD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LEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQy9CO2dCQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtvQkFDM0IsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7aUJBQ25CO2FBQ0Y7WUFFRCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3ZFLElBQUksZUFBZSxFQUFFO2dCQUNuQixNQUFNLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUMzRDtpQkFDSTtnQkFDSCxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDcEM7U0FDRjtRQUNELFdBQ0E7WUFDRSxJQUFJLElBQUksRUFBRTtnQkFDUixPQUFPLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO2FBQ3RFO1NBQ0Y7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzs7O1lBNUxGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBaEJRLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDA1IE1heSAyMDIwXHJcblxyXG4gIFZlcnNpb246XHJcbiAgICAxLjBcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjEgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vL0RhdGUgZm5zXHJcbmltcG9ydCB7IGZvcm1hdCwgaXNWYWxpZCwgZm9ybWF0RGlzdGFuY2VUb05vdywgZm9ybWF0RGlzdGFuY2UgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7IHV0Y1RvWm9uZWRUaW1lIH0gZnJvbSAnZGF0ZS1mbnMtdHonO1xyXG5cclxuLy8gVmFkaW1PUzogSUUxMS1maXguIERPTidUIGNoYW5nZSBuZXh0IGltcG9ydHMhXHJcbi8vIFJlYXNvbjogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2lzc3Vlcy82NjZcclxuaW1wb3J0IGVuVVMgZnJvbSAnZGF0ZS1mbnMvbG9jYWxlL2VuLVVTJztcclxuXHJcbi8vIEFwcFxyXG5pbXBvcnQge0FwcENvcmVTZXR0aW5nc30gZnJvbSAnLi4vY29uc3RzL3NldHRpbmdzJztcclxuaW1wb3J0IHtDb252ZXJ0fSBmcm9tICcuLi9jb252ZXJ0JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG4gIGRhdGVGbnNMb2NhbGU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuc2V0U3VwcG9ydGVkTGFuZ3VhZ2VzKFsnZW4nXSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdChzdHI6IHN0cmluZywgYXJncykge1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC97KFxcZCspfS9nLCBmdW5jdGlvbiAobWF0Y2gsIG51bWJlcikge1xyXG4gICAgICByZXR1cm4gdHlwZW9mIGFyZ3NbbnVtYmVyXSAhPSAndW5kZWZpbmVkJ1xyXG4gICAgICAgID8gYXJnc1tudW1iZXJdXHJcbiAgICAgICAgOiBtYXRjaFxyXG4gICAgICAgIDtcclxuICAgIH0pO1xyXG4gIH07XHJcblxyXG4gIGNvbmZpZ3VyZVRyYW5zbGF0aW9uU2V0dGluZ3ModHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGxhbmd1YWdlVG9TZXQgPSAnZW4nO1xyXG4gICAgdGhpcy5kYXRlRm5zTG9jYWxlID0geyBsb2NhbGU6IGVuVVMgfTtcclxuXHJcbiAgICB0cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcobGFuZ3VhZ2VUb1NldCk7XHJcbiAgICByZXR1cm4gbGFuZ3VhZ2VUb1NldDtcclxuICB9XHJcblxyXG4gIGdldEJyb3dzZXJMYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldEJyb3dzZXJMYW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXREYXRlZm5zTG9jYWxlKCk6IGFueSB7XHJcbiAgICBsZXQgZGZuTG9jYWxlOiBhbnk7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLmdldEJyb3dzZXJMYW5ndWFnZSgpKSB7XHJcbiAgICAgIGNhc2UgJ2VuJzpcclxuICAgICAgICBkZm5Mb2NhbGUgPSB7IGxvY2FsZTogZW5VUyB9O1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBkZm5Mb2NhbGUgPSB7IGxvY2FsZTogZW5VUyB9O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZm5Mb2NhbGU7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0TGFuZ3VhZ2UobGFuZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZyhsYW5nKTtcclxuICB9XHJcblxyXG4gIHNldFN1cHBvcnRlZExhbmd1YWdlcyhsYW5ndWFnZXM6IHN0cmluZ1tdKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5hZGRMYW5ncyhsYW5ndWFnZXMpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlTGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIGdldExvY2FsaXplZFZhbHVlKGtleTogc3RyaW5nLCBwYXJhbXM/OiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoa2V5KTtcclxuXHJcbiAgICBpZiAoIXBhcmFtcyB8fCBwYXJhbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5mb3JtYXQodmFsdWUsIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGl6ZWREYXRlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGtleSkpKSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobmV3IERhdGUoa2V5KSwgJ2RkLk1NLnl5eXknLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9jYWxpemVkRGF0ZVRpbWUoa2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBkYXRlVmFsdWUgPSBuZXcgRGF0ZShrZXkpO1xyXG4gICAgaWYgKGlzVmFsaWQoZGF0ZVZhbHVlKSkge1xyXG4gICAgICBsZXQgbG9jYWxEYXRlID0gQ29udmVydC50b0xvY2FsaXplZERhdGVUaW1lKGRhdGVWYWx1ZSk7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobG9jYWxEYXRlLCAnZGQuTU0ueXl5eSBISDptbScsIHRoaXMuZGF0ZUZuc0xvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiSW52YWxpZCBEYXRlXCI7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGl6ZWREaXN0YW5jZUluV29yZHMoZW5kZWREYXRlOiBzdHJpbmcsIHN0YXJ0ZWREYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGlzVmFsaWQobmV3IERhdGUoZW5kZWREYXRlKSkgJiYgaXNWYWxpZChuZXcgRGF0ZShzdGFydGVkRGF0ZSkpKSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXREaXN0YW5jZShuZXcgRGF0ZShlbmRlZERhdGUpLCBuZXcgRGF0ZShzdGFydGVkRGF0ZSksIHRoaXMuZGF0ZUZuc0xvY2FsZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFwiSW52YWxpZCBEYXRlXCI7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGl6ZWREaXN0YW5jZVRvTm93SW5Xb3JkcyhkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGlzVmFsaWQobmV3IERhdGUoZGF0ZSkpKSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXREaXN0YW5jZVRvTm93KG5ldyBEYXRlKGRhdGUpLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBcIkludmFsaWQgRGF0ZVwiO1xyXG4gIH1cclxuXHJcbiAgLy9VVEMgT3BlcmF0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIGdldFVUQ1RvTG9jYWxpemVkRGF0ZShrZXk6IHN0cmluZykge1xyXG4gICAgbGV0IGJyb3dzZXJUaW1lWm9uZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtcclxuXHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGlmIChrZXkuaW5kZXhPZihcIlRcIikgPT0gLTEpIHtcclxuICAgICAgICBrZXkgPSBrZXkucmVwbGFjZShcIiBcIiwgXCJUXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChrZXkuaW5kZXhPZihcIlpcIikgPT0gLTEpIHtcclxuICAgICAgICBrZXkgPSBrZXkgKyBcIlpcIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChicm93c2VyVGltZVpvbmUpIHtcclxuICAgICAgbGV0IGxvY2FsRGF0ZVRpbWUgPSB1dGNUb1pvbmVkVGltZShrZXksIGJyb3dzZXJUaW1lWm9uZSk7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobG9jYWxEYXRlVGltZSwgJ2RkLk1NLnl5eXknLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobmV3IERhdGUoa2V5KSwgJ2RkLk1NLnl5eXknLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VVRDVG9Mb2NhbGl6ZWREYXRlVGltZShrZXk6IHN0cmluZykge1xyXG4gICAgbGV0IGJyb3dzZXJUaW1lWm9uZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTtcclxuXHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGlmIChrZXkuaW5kZXhPZihcIlRcIikgPT0gLTEpIHtcclxuICAgICAgICBrZXkgPSBrZXkucmVwbGFjZShcIiBcIiwgXCJUXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChrZXkuaW5kZXhPZihcIlpcIikgPT0gLTEpIHtcclxuICAgICAgICBrZXkgPSBrZXkgKyBcIlpcIjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChicm93c2VyVGltZVpvbmUpIHtcclxuICAgICAgbGV0IGxvY2FsRGF0ZVRpbWUgPSB1dGNUb1pvbmVkVGltZShrZXksIGJyb3dzZXJUaW1lWm9uZSk7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobG9jYWxEYXRlVGltZSwgJ2RkLk1NLnl5eXkgSEg6bW0nLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBmb3JtYXQobmV3IERhdGUoa2V5KSwgJ2RkLk1NLnl5eXkgSEg6bW0nLCB0aGlzLmRhdGVGbnNMb2NhbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9odHRwczovL2RhdGUtZm5zLm9yZy92MS4zMC4xL2RvY3MvZGlzdGFuY2VJbldvcmRzXHJcbiAgZ2V0VVRDVG9Mb2NhbGl6ZWREaXN0YW5jZVRvTm93SW5Xb3JkcyhkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgZGF0ZSA9IHRoaXMuc2FmZVV0Y1RvWm9uZWRUaW1lKGRhdGUpO1xyXG5cclxuICAgIGlmIChpc1ZhbGlkKG5ldyBEYXRlKGRhdGUpKSkge1xyXG4gICAgICByZXR1cm4gZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShkYXRlKSwgdGhpcy5kYXRlRm5zTG9jYWxlKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gXCJJbnZhbGlkIERhdGVcIjtcclxuICB9XHJcbiAgXHJcblxyXG4gIHNhZmVVdGNUb1pvbmVkVGltZShkYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQgPSBkYXRlO1xyXG5cclxuICAgIHRyeVxyXG4gICAge1xyXG4gICAgICBpZiAoZGF0ZSkge1xyXG4gICAgICAgIGlmIChkYXRlLmluZGV4T2YoXCJUXCIpID09IC0xKSB7XHJcbiAgICAgICAgICBkYXRlID0gZGF0ZS5yZXBsYWNlKFwiIFwiLCBcIlRcIik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGF0ZS5pbmRleE9mKFwiWlwiKSA9PSAtMSkge1xyXG4gICAgICAgICAgZGF0ZSA9IGRhdGUgKyBcIlpcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBicm93c2VyVGltZVpvbmUgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7XHJcbiAgICAgIGlmIChicm93c2VyVGltZVpvbmUpIHtcclxuICAgICAgICByZXN1bHQgPSB1dGNUb1pvbmVkVGltZShkYXRlLCBicm93c2VyVGltZVpvbmUpLnRvU3RyaW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSkudG9TdHJpbmcoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY2F0Y2hcclxuICAgIHtcclxuICAgICAgaWYgKGRhdGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIlVUQyB0byBMb2NhbCBjb252ZXJzaW9uIGZhaWxlZCBmb3IgOlwiICsgZGF0ZS50b1N0cmluZygpKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
05 May 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
//Node
|
|
20
|
-
import { NgModule, Injector, APP_INITIALIZER } from '@angular/core';
|
|
21
|
-
import { LOCATION_INITIALIZED } from '@angular/common';
|
|
22
|
-
import { HttpClient } from '@angular/common/http';
|
|
23
|
-
import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
24
|
-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
25
|
-
//App
|
|
26
|
-
import { LocalizationService } from './localization.service';
|
|
27
|
-
import { AppCoreSettings } from '../consts/settings';
|
|
28
|
-
export function customTranslateLoaderFactory(http) {
|
|
29
|
-
return new TranslateHttpLoader(http, AppCoreSettings.resourcesUrl + "/", '.json');
|
|
30
|
-
}
|
|
31
|
-
export function localizationInitializerFactory(translate, localizationService, injector) {
|
|
32
|
-
return () => new Promise((resolve) => {
|
|
33
|
-
let locationInitialized = injector.get(LOCATION_INITIALIZED, Promise.resolve(null));
|
|
34
|
-
locationInitialized.then(() => {
|
|
35
|
-
let languageToSet = localizationService.configureTranslationSettings(translate);
|
|
36
|
-
translate.use(languageToSet).subscribe(() => {
|
|
37
|
-
}, () => {
|
|
38
|
-
resolve(null);
|
|
39
|
-
}, () => {
|
|
40
|
-
resolve(null);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
export const TranslateModuleAtRoot = TranslateModule.forRoot({
|
|
46
|
-
loader: {
|
|
47
|
-
provide: TranslateLoader,
|
|
48
|
-
useFactory: customTranslateLoaderFactory,
|
|
49
|
-
deps: [HttpClient]
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
export let LocalizationInjectorInstance;
|
|
53
|
-
export class LocalizationSettingsModule {
|
|
54
|
-
constructor(injector) {
|
|
55
|
-
this.injector = injector;
|
|
56
|
-
LocalizationInjectorInstance = this.injector;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
LocalizationSettingsModule.decorators = [
|
|
60
|
-
{ type: NgModule, args: [{
|
|
61
|
-
imports: [
|
|
62
|
-
TranslateModuleAtRoot
|
|
63
|
-
],
|
|
64
|
-
providers: [
|
|
65
|
-
{
|
|
66
|
-
provide: APP_INITIALIZER,
|
|
67
|
-
useFactory: localizationInitializerFactory,
|
|
68
|
-
deps: [TranslateService, LocalizationService, Injector],
|
|
69
|
-
multi: true
|
|
70
|
-
}
|
|
71
|
-
],
|
|
72
|
-
exports: []
|
|
73
|
-
},] }
|
|
74
|
-
];
|
|
75
|
-
LocalizationSettingsModule.ctorParameters = () => [
|
|
76
|
-
{ type: Injector }
|
|
77
|
-
];
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uU2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvblNldHRpbmdzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWpFLEtBQUs7QUFDTCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLElBQWdCO0lBQzNELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDcEYsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxTQUEyQixFQUFFLG1CQUF3QyxFQUFFLFFBQWtCO0lBQ3RJLE9BQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQU0sQ0FBQyxPQUFZLEVBQUUsRUFBRTtRQUM3QyxJQUFJLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEYsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzVDLENBQUMsRUFDQyxHQUFHLEVBQUU7Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO0lBQzNELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFVBQVUsRUFBRSw0QkFBNEI7UUFDeEMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0tBQ25CO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLElBQUksNEJBQXNDLENBQUM7QUFpQmxELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyw0QkFBNEIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQy9DLENBQUM7OztZQWxCRixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLHFCQUFxQjtpQkFDdEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxlQUFlO3dCQUN4QixVQUFVLEVBQUUsOEJBQThCO3dCQUMxQyxJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxRQUFRLENBQUM7d0JBQ3ZELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxFQUNSO2FBQ0Y7OztZQXZEa0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgICAwNSBNYXkgMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3RvciwgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExPQ0FUSU9OX0lOSVRJQUxJWkVEIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlSHR0cExvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2h0dHAtbG9hZGVyJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwQ29yZVNldHRpbmdzIH0gZnJvbSAnLi4vY29uc3RzL3NldHRpbmdzJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21UcmFuc2xhdGVMb2FkZXJGYWN0b3J5KGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICByZXR1cm4gbmV3IFRyYW5zbGF0ZUh0dHBMb2FkZXIoaHR0cCwgQXBwQ29yZVNldHRpbmdzLnJlc291cmNlc1VybCArIFwiL1wiLCAnLmpzb24nKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsaXphdGlvbkluaXRpYWxpemVyRmFjdG9yeSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGxvY2FsaXphdGlvblNlcnZpY2U6IExvY2FsaXphdGlvblNlcnZpY2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gIHJldHVybiAoKSA9PiBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlOiBhbnkpID0+IHtcclxuICAgIGxldCBsb2NhdGlvbkluaXRpYWxpemVkID0gaW5qZWN0b3IuZ2V0KExPQ0FUSU9OX0lOSVRJQUxJWkVELCBQcm9taXNlLnJlc29sdmUobnVsbCkpO1xyXG4gICAgbG9jYXRpb25Jbml0aWFsaXplZC50aGVuKCgpID0+IHtcclxuICAgICAgbGV0IGxhbmd1YWdlVG9TZXQgPSBsb2NhbGl6YXRpb25TZXJ2aWNlLmNvbmZpZ3VyZVRyYW5zbGF0aW9uU2V0dGluZ3ModHJhbnNsYXRlKTtcclxuICAgICAgdHJhbnNsYXRlLnVzZShsYW5ndWFnZVRvU2V0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKG51bGwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBUcmFuc2xhdGVNb2R1bGVBdFJvb3QgPSBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XHJcbiAgbG9hZGVyOiB7XHJcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXHJcbiAgICB1c2VGYWN0b3J5OiBjdXN0b21UcmFuc2xhdGVMb2FkZXJGYWN0b3J5LFxyXG4gICAgZGVwczogW0h0dHBDbGllbnRdXHJcbiAgfVxyXG59KTtcclxuXHJcbmV4cG9ydCBsZXQgTG9jYWxpemF0aW9uSW5qZWN0b3JJbnN0YW5jZTogSW5qZWN0b3I7IFxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBUcmFuc2xhdGVNb2R1bGVBdFJvb3RcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsaXphdGlvbkluaXRpYWxpemVyRmFjdG9yeSxcclxuICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2UsIExvY2FsaXphdGlvblNlcnZpY2UsIEluamVjdG9yXSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25TZXR0aW5nc01vZHVsZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIExvY2FsaXphdGlvbkluamVjdG9ySW5zdGFuY2UgPSB0aGlzLmluamVjdG9yO1xyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny
|
|
8
|
-
Anatoly Osovitny
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
10 May 2020
|
|
12
|
-
|
|
13
|
-
Version:
|
|
14
|
-
1.0
|
|
15
|
-
|
|
16
|
-
Copyright (c) 2016-2021 Osovitny Inc. All rights reserved.
|
|
17
|
-
</file>
|
|
18
|
-
*/
|
|
19
|
-
//Node
|
|
20
|
-
import { Pipe } from '@angular/core';
|
|
21
|
-
//App
|
|
22
|
-
import { LocalizationService } from './localization.service';
|
|
23
|
-
export class LocalizePipe {
|
|
24
|
-
constructor(localizeService) {
|
|
25
|
-
this.localizeService = localizeService;
|
|
26
|
-
}
|
|
27
|
-
transform(inputData, type, param2) {
|
|
28
|
-
if (!inputData) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
if (!type) {
|
|
32
|
-
type = 'tr';
|
|
33
|
-
}
|
|
34
|
-
//Translate
|
|
35
|
-
if (type === 'tr') {
|
|
36
|
-
return this.localizeService.getLocalizedValue(inputData);
|
|
37
|
-
}
|
|
38
|
-
//Date
|
|
39
|
-
if (type === 'd') {
|
|
40
|
-
return this.localizeService.getLocalizedDate(inputData);
|
|
41
|
-
}
|
|
42
|
-
//DateTime
|
|
43
|
-
if (type === 'dt') {
|
|
44
|
-
return this.localizeService.getLocalizedDateTime(inputData);
|
|
45
|
-
}
|
|
46
|
-
//DistanceInWords
|
|
47
|
-
if (type === 'dis') {
|
|
48
|
-
return this.localizeService.getLocalizedDistanceInWords(inputData, param2);
|
|
49
|
-
}
|
|
50
|
-
//DistanceToNowInWords
|
|
51
|
-
if (type === 'dis2now') {
|
|
52
|
-
return this.localizeService.getLocalizedDistanceToNowInWords(inputData);
|
|
53
|
-
}
|
|
54
|
-
//UTC Operations --------------------------------------------------------------
|
|
55
|
-
//UTC Date
|
|
56
|
-
if (type === 'u2d') {
|
|
57
|
-
return this.localizeService.getUTCToLocalizedDate(inputData);
|
|
58
|
-
}
|
|
59
|
-
//UTC DateTime
|
|
60
|
-
if (type === 'u2dt') {
|
|
61
|
-
return this.localizeService.getUTCToLocalizedDateTime(inputData);
|
|
62
|
-
}
|
|
63
|
-
//UTC DistanceToNowInWords
|
|
64
|
-
if (type === 'u2dis2now') {
|
|
65
|
-
return this.localizeService.getUTCToLocalizedDistanceToNowInWords(inputData);
|
|
66
|
-
}
|
|
67
|
-
return inputData;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
LocalizePipe.decorators = [
|
|
71
|
-
{ type: Pipe, args: [{
|
|
72
|
-
name: 'localize'
|
|
73
|
-
},] }
|
|
74
|
-
];
|
|
75
|
-
LocalizePipe.ctorParameters = () => [
|
|
76
|
-
{ type: LocalizationService }
|
|
77
|
-
];
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL2xvY2FsaXphdGlvbi9sb2NhbGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztFQWlCRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLN0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBb0IsZUFBb0M7UUFBcEMsb0JBQWUsR0FBZixlQUFlLENBQXFCO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsU0FBaUIsRUFBRSxJQUFZLEVBQUUsTUFBZTtRQUN4RCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULElBQUksR0FBRyxJQUFJLENBQUM7U0FDYjtRQUVELFdBQVc7UUFDWCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsTUFBTTtRQUNOLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDekQ7UUFFRCxVQUFVO1FBQ1YsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5RDtRQUVELGlCQUFpQjtRQUNqQixJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1RTtRQUVELHNCQUFzQjtRQUN0QixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pFO1FBRUQsK0VBQStFO1FBQy9FLFVBQVU7UUFDVixJQUFJLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsY0FBYztRQUNkLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDbEU7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQ0FBcUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5RTtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OztZQTFERixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLFVBQVU7YUFDakI7OztZQUpRLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnlcclxuICAgIEFuYXRvbHkgT3Nvdml0bnlcclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgICAxMCBNYXkgMjAyMFxyXG5cclxuICBWZXJzaW9uOlxyXG4gICAgMS4wXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIxIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbG9jYWxpemUnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsaXplU2VydmljZTogTG9jYWxpemF0aW9uU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKGlucHV0RGF0YTogc3RyaW5nLCB0eXBlOiBzdHJpbmcsIHBhcmFtMj86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWlucHV0RGF0YSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0eXBlKSB7XHJcbiAgICAgIHR5cGUgPSAndHInO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVHJhbnNsYXRlXHJcbiAgICBpZiAodHlwZSA9PT0gJ3RyJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6ZVNlcnZpY2UuZ2V0TG9jYWxpemVkVmFsdWUoaW5wdXREYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0RhdGVcclxuICAgIGlmICh0eXBlID09PSAnZCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERhdGUoaW5wdXREYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0RhdGVUaW1lXHJcbiAgICBpZiAodHlwZSA9PT0gJ2R0Jykge1xyXG4gICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldExvY2FsaXplZERhdGVUaW1lKGlucHV0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9EaXN0YW5jZUluV29yZHNcclxuICAgIGlmICh0eXBlID09PSAnZGlzJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6ZVNlcnZpY2UuZ2V0TG9jYWxpemVkRGlzdGFuY2VJbldvcmRzKGlucHV0RGF0YSwgcGFyYW0yKTtcclxuICAgIH1cclxuXHJcbiAgICAvL0Rpc3RhbmNlVG9Ob3dJbldvcmRzXHJcbiAgICBpZiAodHlwZSA9PT0gJ2RpczJub3cnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsaXplU2VydmljZS5nZXRMb2NhbGl6ZWREaXN0YW5jZVRvTm93SW5Xb3JkcyhpbnB1dERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vVVRDIE9wZXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vVVRDIERhdGVcclxuICAgIGlmICh0eXBlID09PSAndTJkJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5sb2NhbGl6ZVNlcnZpY2UuZ2V0VVRDVG9Mb2NhbGl6ZWREYXRlKGlucHV0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9VVEMgRGF0ZVRpbWVcclxuICAgIGlmICh0eXBlID09PSAndTJkdCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubG9jYWxpemVTZXJ2aWNlLmdldFVUQ1RvTG9jYWxpemVkRGF0ZVRpbWUoaW5wdXREYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICAvL1VUQyBEaXN0YW5jZVRvTm93SW5Xb3Jkc1xyXG4gICAgaWYgKHR5cGUgPT09ICd1MmRpczJub3cnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsaXplU2VydmljZS5nZXRVVENUb0xvY2FsaXplZERpc3RhbmNlVG9Ob3dJbldvcmRzKGlucHV0RGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlucHV0RGF0YTtcclxuICB9XHJcbn1cclxuIl19
|