@osovitny/anatoly 3.17.160 → 3.19.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/fesm2022/osovitny-anatoly.mjs +553 -522
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/billing/utils.d.ts +2 -1
- package/lib/core/converts/convert.d.ts +1 -1
- package/lib/core/guid.d.ts +1 -1
- package/lib/core/is.d.ts +5 -5
- package/lib/ui/components/base/components/component.d.ts +1 -1
- package/lib/ui/components/base/components/edit.component.d.ts +1 -1
- package/lib/ui/components/base/components/enum-edit.component.d.ts +1 -1
- package/lib/ui/components/data-grid/control-panel.component.d.ts +6 -5
- package/lib/ui/components/dropdownlists/country/country.dropdownlist.d.ts +1 -3
- package/lib/ui/directives/index.d.ts +1 -1
- package/lib/ui/directives/replacer/replacer.base.directive.d.ts +1 -1
- package/package.json +58 -60
- package/esm2022/lib/anatoly.module.mjs +0 -62
- package/esm2022/lib/billing/billing.module.mjs +0 -81
- package/esm2022/lib/billing/components/buttons/buyaccess-button.component.mjs +0 -104
- package/esm2022/lib/billing/components/buttons/subscribe-plan-button.component.mjs +0 -113
- package/esm2022/lib/billing/components/exports.mjs +0 -28
- package/esm2022/lib/billing/components/index.mjs +0 -31
- package/esm2022/lib/billing/components/order-summary/order-summary.component.mjs +0 -154
- package/esm2022/lib/billing/components/payment-methods/payment-methods.component.mjs +0 -106
- package/esm2022/lib/billing/components/payment-options/payment-options.component.mjs +0 -97
- package/esm2022/lib/billing/components/pm/braintree/braintree.component.mjs +0 -155
- package/esm2022/lib/billing/components/pm/paypal/paypal-button.component.mjs +0 -159
- package/esm2022/lib/billing/components/pm/paypal/paypal-subscribe-button.component.mjs +0 -149
- package/esm2022/lib/billing/components/pm/paypal/paypal.component.mjs +0 -317
- package/esm2022/lib/billing/components/pm/stripe/stripe.component.mjs +0 -109
- package/esm2022/lib/billing/exports.mjs +0 -19
- package/esm2022/lib/billing/models/paypal-models.mjs +0 -16
- package/esm2022/lib/billing/services/payments.service.mjs +0 -170
- package/esm2022/lib/billing/services/paypal-script.service.mjs +0 -90
- package/esm2022/lib/billing/utils.mjs +0 -28
- package/esm2022/lib/core/browser.mjs +0 -24
- package/esm2022/lib/core/consts/app-settings.mjs +0 -55
- package/esm2022/lib/core/consts/core-settings.mjs +0 -29
- package/esm2022/lib/core/consts/formats.mjs +0 -27
- package/esm2022/lib/core/consts/ga.mjs +0 -26
- package/esm2022/lib/core/consts/storageKeys.mjs +0 -23
- package/esm2022/lib/core/converts/convert.mjs +0 -103
- package/esm2022/lib/core/converts/dateConvert.mjs +0 -60
- package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +0 -122
- package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +0 -101
- package/esm2022/lib/core/converts/xmlFormatter.mjs +0 -34
- package/esm2022/lib/core/core.module.mjs +0 -112
- package/esm2022/lib/core/dom.mjs +0 -153
- package/esm2022/lib/core/enums/billing.mjs +0 -56
- package/esm2022/lib/core/enums/enums.mjs +0 -35
- package/esm2022/lib/core/enums/index.mjs +0 -17
- package/esm2022/lib/core/exports.mjs +0 -67
- package/esm2022/lib/core/go/apps-go.service.mjs +0 -88
- package/esm2022/lib/core/go/go.service.mjs +0 -86
- package/esm2022/lib/core/guards/once-import.guard.mjs +0 -21
- package/esm2022/lib/core/guards/starter.guard.mjs +0 -46
- package/esm2022/lib/core/guid.mjs +0 -22
- package/esm2022/lib/core/interceptors/httpInterceptor.mjs +0 -161
- package/esm2022/lib/core/is.mjs +0 -98
- package/esm2022/lib/core/localization/localization.module.mjs +0 -45
- package/esm2022/lib/core/localization/localization.service.mjs +0 -164
- package/esm2022/lib/core/localization/localize.pipe.mjs +0 -83
- package/esm2022/lib/core/localization/settings.module.mjs +0 -103
- package/esm2022/lib/core/localization/utils.mjs +0 -41
- package/esm2022/lib/core/logging/globalErrorHandler.mjs +0 -41
- package/esm2022/lib/core/logging/logging.service.mjs +0 -40
- package/esm2022/lib/core/models/qs.mjs +0 -17
- package/esm2022/lib/core/notifications/alerts.mjs +0 -116
- package/esm2022/lib/core/notifications/interfaces/notification.mjs +0 -17
- package/esm2022/lib/core/notifications/services/notification-service.mjs +0 -83
- package/esm2022/lib/core/performance/stopwatch.mjs +0 -50
- package/esm2022/lib/core/services/appcontext.service.mjs +0 -186
- package/esm2022/lib/core/services/dm.service.mjs +0 -69
- package/esm2022/lib/core/services/google-analytics.service.mjs +0 -75
- package/esm2022/lib/core/services/idle.service.mjs +0 -77
- package/esm2022/lib/core/services/loading.service.mjs +0 -67
- package/esm2022/lib/core/services/script.service.mjs +0 -77
- package/esm2022/lib/core/services/starter.service.mjs +0 -85
- package/esm2022/lib/core/services/web-storage.service.mjs +0 -66
- package/esm2022/lib/core/subs.mjs +0 -31
- package/esm2022/lib/core/utils/qsutils.mjs +0 -84
- package/esm2022/lib/core/utils/utils.mjs +0 -112
- package/esm2022/lib/data/base/api.service.mjs +0 -94
- package/esm2022/lib/data/base/grid/grid-edit.service.mjs +0 -80
- package/esm2022/lib/data/base/grid/grid-read.service.mjs +0 -60
- package/esm2022/lib/data/data.module.mjs +0 -66
- package/esm2022/lib/data/exports.mjs +0 -29
- package/esm2022/lib/data/services/billing/currencies-api.service.mjs +0 -41
- package/esm2022/lib/data/services/billing/currencies-storage.service.mjs +0 -92
- package/esm2022/lib/data/services/billing/discountcodes-api.service.mjs +0 -37
- package/esm2022/lib/data/services/billing/payments-api.service.mjs +0 -64
- package/esm2022/lib/data/services/billing/subscriptions-api.service.mjs +0 -61
- package/esm2022/lib/data/services/billing/transactions-api.service.mjs +0 -43
- package/esm2022/lib/data/services/core-api.service.mjs +0 -44
- package/esm2022/lib/data/services/emails-api.service.mjs +0 -47
- package/esm2022/lib/external/fa.module.mjs +0 -45
- package/esm2022/lib/external/kendo.module.mjs +0 -179
- package/esm2022/lib/iam/b2c/b2c.mjs +0 -40
- package/esm2022/lib/iam/b2c/consts.mjs +0 -25
- package/esm2022/lib/iam/b2c/index.mjs +0 -21
- package/esm2022/lib/iam/configs.mjs +0 -109
- package/esm2022/lib/iam/consts.mjs +0 -22
- package/esm2022/lib/iam/exports.mjs +0 -22
- package/esm2022/lib/iam/guards/admin.guard.mjs +0 -46
- package/esm2022/lib/iam/guards/authentication.guard.mjs +0 -30
- package/esm2022/lib/iam/guards/index.mjs +0 -20
- package/esm2022/lib/iam/iam-pages.module.mjs +0 -57
- package/esm2022/lib/iam/iam-pages.routes.mjs +0 -45
- package/esm2022/lib/iam/iam.module.mjs +0 -84
- package/esm2022/lib/iam/pages/signin.page.mjs +0 -40
- package/esm2022/lib/iam/pages/signout.page.mjs +0 -40
- package/esm2022/lib/iam/pages/signup.page.mjs +0 -40
- package/esm2022/lib/iam/redirect.mjs +0 -29
- package/esm2022/lib/iam/services/auth.service.mjs +0 -436
- package/esm2022/lib/iam/storage.mjs +0 -42
- package/esm2022/lib/iam/utils.mjs +0 -49
- package/esm2022/lib/ui/components/base/components/component.mjs +0 -76
- package/esm2022/lib/ui/components/base/components/edit.component.mjs +0 -146
- package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +0 -92
- package/esm2022/lib/ui/components/base/dialog.mjs +0 -71
- package/esm2022/lib/ui/components/base/list.mjs +0 -100
- package/esm2022/lib/ui/components/base/pages/edit.page.mjs +0 -32
- package/esm2022/lib/ui/components/base/pages/page.mjs +0 -32
- package/esm2022/lib/ui/components/base/pages/paged.page.mjs +0 -68
- package/esm2022/lib/ui/components/card/card-body.component.mjs +0 -37
- package/esm2022/lib/ui/components/card/card-footer.component.mjs +0 -37
- package/esm2022/lib/ui/components/card/card-header.component.mjs +0 -51
- package/esm2022/lib/ui/components/card/card.component.mjs +0 -41
- package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +0 -43
- package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -57
- package/esm2022/lib/ui/components/data-grid/control-panel.component.mjs +0 -201
- package/esm2022/lib/ui/components/datapager/datapager.component.mjs +0 -95
- package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +0 -96
- package/esm2022/lib/ui/components/dropdownlists/moderationstatus/moderationstatus.dropdownlist.mjs +0 -88
- package/esm2022/lib/ui/components/dropdownlists/publishstatus/publishstatus.dropdownlist.mjs +0 -88
- package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -112
- package/esm2022/lib/ui/components/exports.mjs +0 -53
- package/esm2022/lib/ui/components/feature-will-be-ready/feature-will-be-ready.component.mjs +0 -55
- package/esm2022/lib/ui/components/html-editor/base-editor.component.mjs +0 -94
- package/esm2022/lib/ui/components/html-editor/defaultoptions.mjs +0 -87
- package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +0 -114
- package/esm2022/lib/ui/components/identity/signin-button.component.mjs +0 -105
- package/esm2022/lib/ui/components/identity/signout-button.component.mjs +0 -105
- package/esm2022/lib/ui/components/identity/signup-button.component.mjs +0 -105
- package/esm2022/lib/ui/components/index.mjs +0 -57
- package/esm2022/lib/ui/components/no-mobile-support/no-mobile-support.component.mjs +0 -45
- package/esm2022/lib/ui/components/nodata/nodata.component.mjs +0 -76
- package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +0 -53
- package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -85
- package/esm2022/lib/ui/components/spinners/pagespinner/spinkits.mjs +0 -12
- package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +0 -130
- package/esm2022/lib/ui/components/you-agree-to-our-terms/you-agree-to-our-terms.component.mjs +0 -63
- package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
- package/esm2022/lib/ui/dialogs/exports.mjs +0 -16
- package/esm2022/lib/ui/dialogs/index.mjs +0 -19
- package/esm2022/lib/ui/directives/exports.mjs +0 -19
- package/esm2022/lib/ui/directives/hover.directive.mjs +0 -50
- package/esm2022/lib/ui/directives/index.mjs +0 -22
- package/esm2022/lib/ui/directives/native-element.directive.mjs +0 -37
- package/esm2022/lib/ui/directives/replacer/a-replacer.directive.mjs +0 -48
- package/esm2022/lib/ui/directives/replacer/image-replacer.directive.mjs +0 -44
- package/esm2022/lib/ui/directives/replacer/replacer.base.directive.mjs +0 -44
- package/esm2022/lib/ui/exports.mjs +0 -22
- package/esm2022/lib/ui/forms/components/address/address.component.mjs +0 -240
- package/esm2022/lib/ui/forms/components/company/company.component.mjs +0 -138
- package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +0 -213
- package/esm2022/lib/ui/forms/exports.mjs +0 -20
- package/esm2022/lib/ui/forms/index.mjs +0 -21
- package/esm2022/lib/ui/pipes/exports.mjs +0 -19
- package/esm2022/lib/ui/pipes/filesize.pipe.mjs +0 -42
- package/esm2022/lib/ui/pipes/index.mjs +0 -22
- package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +0 -37
- package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
- package/esm2022/lib/ui/ui.module.mjs +0 -122
- package/esm2022/lib/ui/validation/exports.mjs +0 -19
- package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +0 -90
- package/esm2022/lib/ui/validation/index.mjs +0 -21
- package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +0 -53
- package/esm2022/lib/ui/validation/validation-summary.component.mjs +0 -124
- package/esm2022/osovitny-anatoly.mjs +0 -5
- package/esm2022/public-api.mjs +0 -22
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { of, forkJoin, merge } from 'rxjs';
|
|
2
|
-
import { map } from 'rxjs/operators';
|
|
3
|
-
import { Injectable } from '@angular/core';
|
|
4
|
-
//App
|
|
5
|
-
import { ApiUrl } from '../consts/core-settings';
|
|
6
|
-
import { ApiServiceBase } from '../../data/base/api.service';
|
|
7
|
-
import { Stopwatch } from '../performance/stopwatch';
|
|
8
|
-
import { is } from '../is';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/common/http";
|
|
11
|
-
import * as i2 from "../services/appcontext.service";
|
|
12
|
-
import * as i3 from "../logging/logging.service";
|
|
13
|
-
export class StarterService extends ApiServiceBase {
|
|
14
|
-
constructor(http, appContext, logger) {
|
|
15
|
-
super(http);
|
|
16
|
-
this.http = http;
|
|
17
|
-
this.appContext = appContext;
|
|
18
|
-
this.logger = logger;
|
|
19
|
-
}
|
|
20
|
-
applicationStarting() {
|
|
21
|
-
let context = this.appContext.current;
|
|
22
|
-
if (!is.objectNullOrEmpty(context)) {
|
|
23
|
-
//Logging
|
|
24
|
-
this.logger.info('StarterService.applicationStarting: got AppContext from Session Storage');
|
|
25
|
-
this.appContext.init(context);
|
|
26
|
-
return of(context);
|
|
27
|
-
}
|
|
28
|
-
//Logging
|
|
29
|
-
this.logger.info('StarterService.applicationStarting: there is no AppContext in Session Storage');
|
|
30
|
-
//Logging
|
|
31
|
-
let stopwatch = new Stopwatch("StarterService.applicationStarting: getting AppContext");
|
|
32
|
-
stopwatch.start();
|
|
33
|
-
this.baseUrl = `${ApiUrl}/appContext`;
|
|
34
|
-
return this.get('applicationStarting').pipe(map(data => {
|
|
35
|
-
//Logging
|
|
36
|
-
stopwatch.stop();
|
|
37
|
-
stopwatch.printElapsedAsMilliseconds();
|
|
38
|
-
this.appContext.init(data.context);
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
ensureApplicationStarted() {
|
|
42
|
-
//1. Application Starting
|
|
43
|
-
let applicationStarting$ = this.applicationStarting();
|
|
44
|
-
//2. Load json files
|
|
45
|
-
let jsonFiles$ = this.appContext.loadRequiredJsonFiles();
|
|
46
|
-
//3. Load required items, like settings
|
|
47
|
-
let requiredItems$ = this.appContext.loadRequiredItems();
|
|
48
|
-
//Tasks to execute
|
|
49
|
-
let parallelTasks = [];
|
|
50
|
-
let tasks$ = null;
|
|
51
|
-
if (jsonFiles$)
|
|
52
|
-
parallelTasks.push(jsonFiles$);
|
|
53
|
-
if (requiredItems$)
|
|
54
|
-
parallelTasks.push(requiredItems$);
|
|
55
|
-
/*
|
|
56
|
-
VadimOS:
|
|
57
|
-
concat is NOT wokring here, no idea why. Just executing first task
|
|
58
|
-
let tasks$ = concat(applicationStarting$, parallelTasks$);
|
|
59
|
-
|
|
60
|
-
https://github.com/ReactiveX/rxjs/issues/2427
|
|
61
|
-
https://github.com/ReactiveX/rxjs/issues/2188
|
|
62
|
-
*/
|
|
63
|
-
if (parallelTasks.length > 0) {
|
|
64
|
-
let parallelTasks$ = merge(...parallelTasks);
|
|
65
|
-
tasks$ = forkJoin([applicationStarting$, parallelTasks$]);
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
tasks$ = applicationStarting$;
|
|
69
|
-
}
|
|
70
|
-
//Logging
|
|
71
|
-
let stopwatch = new Stopwatch("StarterService.ensureApplicationStarted");
|
|
72
|
-
stopwatch.start();
|
|
73
|
-
return tasks$.pipe(map(() => {
|
|
74
|
-
//Logging
|
|
75
|
-
stopwatch.stop();
|
|
76
|
-
stopwatch.printElapsedAsMilliseconds();
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
79
|
-
static { this.ɵfac = function StarterService_Factory(t) { return new (t || StarterService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AppContextService), i0.ɵɵinject(i3.LoggingService)); }; }
|
|
80
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: StarterService, factory: StarterService.ɵfac }); }
|
|
81
|
-
}
|
|
82
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StarterService, [{
|
|
83
|
-
type: Injectable
|
|
84
|
-
}], () => [{ type: i1.HttpClient }, { type: i2.AppContextService }, { type: i3.LoggingService }], null); })();
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvc2VydmljZXMvc3RhcnRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWtCQSxPQUFPLEVBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsS0FBSztBQUNMLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUM7Ozs7O0FBSzNCLE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztJQUNoRCxZQUFzQixJQUFnQixFQUFZLFVBQTZCLEVBQVksTUFBc0I7UUFDL0csS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRFEsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFZLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQVksV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7SUFFakgsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDbkMsU0FBUztZQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHlFQUF5RSxDQUFDLENBQUM7WUFFNUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELFNBQVM7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrRUFBK0UsQ0FBQyxDQUFDO1FBRWxHLFNBQVM7UUFDVCxJQUFJLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ3hGLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsTUFBTSxhQUFhLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFNLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxTQUFTO1lBQ1QsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLFNBQVMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1lBRXZDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELHdCQUF3QjtRQUN0Qix5QkFBeUI7UUFDekIsSUFBSSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUV0RCxvQkFBb0I7UUFDcEIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXpELHVDQUF1QztRQUN2QyxJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekQsa0JBQWtCO1FBQ2xCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLE1BQU0sR0FBb0IsSUFBSSxDQUFDO1FBRW5DLElBQUksVUFBVTtZQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxjQUFjO1lBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RDs7Ozs7OztVQU9FO1FBQ0YsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUM7YUFDSSxDQUFDO1lBQ0osTUFBTSxHQUFHLG9CQUFvQixDQUFDO1FBQ2hDLENBQUM7UUFFRCxTQUFTO1FBQ1QsSUFBSSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUN6RSxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFbEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsU0FBUztZQUNULFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixTQUFTLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzsrRUEzRVUsY0FBYzt1RUFBZCxjQUFjLFdBQWQsY0FBYzs7aUZBQWQsY0FBYztjQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE1IE5vdiAyMDIzXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmb3JrSm9pbiwgbWVyZ2UgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcGlVcmwgfSBmcm9tICcuLi9jb25zdHMvY29yZS1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEFwaVNlcnZpY2VCYXNlIH0gZnJvbSAnLi4vLi4vZGF0YS9iYXNlL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcHdhdGNoIH0gZnJvbSAnLi4vcGVyZm9ybWFuY2Uvc3RvcHdhdGNoJztcclxuaW1wb3J0IHsgaXMgfSBmcm9tICcuLi9pcyc7XHJcbmltcG9ydCB7IExvZ2dpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9sb2dnaW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBcHBDb250ZXh0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTdGFydGVyU2VydmljZSBleHRlbmRzIEFwaVNlcnZpY2VCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCwgcHJvdGVjdGVkIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLCBwcm90ZWN0ZWQgbG9nZ2VyOiBMb2dnaW5nU2VydmljZSkge1xyXG4gICAgc3VwZXIoaHR0cCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFwcGxpY2F0aW9uU3RhcnRpbmcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBjb250ZXh0ID0gdGhpcy5hcHBDb250ZXh0LmN1cnJlbnQ7XHJcbiAgICBpZiAoIWlzLm9iamVjdE51bGxPckVtcHR5KGNvbnRleHQpKSB7XHJcbiAgICAgIC8vTG9nZ2luZ1xyXG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGVyU2VydmljZS5hcHBsaWNhdGlvblN0YXJ0aW5nOiBnb3QgQXBwQ29udGV4dCBmcm9tIFNlc3Npb24gU3RvcmFnZScpO1xyXG5cclxuICAgICAgdGhpcy5hcHBDb250ZXh0LmluaXQoY29udGV4dCk7XHJcbiAgICAgIHJldHVybiBvZihjb250ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICAvL0xvZ2dpbmdcclxuICAgIHRoaXMubG9nZ2VyLmluZm8oJ1N0YXJ0ZXJTZXJ2aWNlLmFwcGxpY2F0aW9uU3RhcnRpbmc6IHRoZXJlIGlzIG5vIEFwcENvbnRleHQgaW4gU2Vzc2lvbiBTdG9yYWdlJyk7XHJcblxyXG4gICAgLy9Mb2dnaW5nXHJcbiAgICBsZXQgc3RvcHdhdGNoID0gbmV3IFN0b3B3YXRjaChcIlN0YXJ0ZXJTZXJ2aWNlLmFwcGxpY2F0aW9uU3RhcnRpbmc6IGdldHRpbmcgQXBwQ29udGV4dFwiKTtcclxuICAgIHN0b3B3YXRjaC5zdGFydCgpO1xyXG5cclxuICAgIHRoaXMuYmFzZVVybCA9IGAke0FwaVVybH0vYXBwQ29udGV4dGA7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQ8YW55PignYXBwbGljYXRpb25TdGFydGluZycpLnBpcGUobWFwKGRhdGEgPT4ge1xyXG4gICAgICAvL0xvZ2dpbmdcclxuICAgICAgc3RvcHdhdGNoLnN0b3AoKTtcclxuICAgICAgc3RvcHdhdGNoLnByaW50RWxhcHNlZEFzTWlsbGlzZWNvbmRzKCk7XHJcblxyXG4gICAgICB0aGlzLmFwcENvbnRleHQuaW5pdChkYXRhLmNvbnRleHQpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgZW5zdXJlQXBwbGljYXRpb25TdGFydGVkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvLzEuIEFwcGxpY2F0aW9uIFN0YXJ0aW5nXHJcbiAgICBsZXQgYXBwbGljYXRpb25TdGFydGluZyQgPSB0aGlzLmFwcGxpY2F0aW9uU3RhcnRpbmcoKTtcclxuXHJcbiAgICAvLzIuIExvYWQganNvbiBmaWxlc1xyXG4gICAgbGV0IGpzb25GaWxlcyQgPSB0aGlzLmFwcENvbnRleHQubG9hZFJlcXVpcmVkSnNvbkZpbGVzKCk7XHJcblxyXG4gICAgLy8zLiBMb2FkIHJlcXVpcmVkIGl0ZW1zLCBsaWtlIHNldHRpbmdzXHJcbiAgICBsZXQgcmVxdWlyZWRJdGVtcyQgPSB0aGlzLmFwcENvbnRleHQubG9hZFJlcXVpcmVkSXRlbXMoKTtcclxuXHJcbiAgICAvL1Rhc2tzIHRvIGV4ZWN1dGVcclxuICAgIGxldCBwYXJhbGxlbFRhc2tzID0gW107XHJcbiAgICBsZXQgdGFza3MkOiBPYnNlcnZhYmxlPGFueT4gPSBudWxsO1xyXG5cclxuICAgIGlmIChqc29uRmlsZXMkKSBwYXJhbGxlbFRhc2tzLnB1c2goanNvbkZpbGVzJCk7XHJcbiAgICBpZiAocmVxdWlyZWRJdGVtcyQpIHBhcmFsbGVsVGFza3MucHVzaChyZXF1aXJlZEl0ZW1zJCk7XHJcblxyXG4gICAgLypcclxuICAgICAgVmFkaW1PUzpcclxuICAgICAgY29uY2F0IGlzIE5PVCB3b2tyaW5nIGhlcmUsIG5vIGlkZWEgd2h5LiBKdXN0IGV4ZWN1dGluZyBmaXJzdCB0YXNrXHJcbiAgICAgIGxldCB0YXNrcyQgPSBjb25jYXQoYXBwbGljYXRpb25TdGFydGluZyQsIHBhcmFsbGVsVGFza3MkKTtcclxuXHJcbiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9pc3N1ZXMvMjQyN1xyXG4gICAgICBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzIxODhcclxuICAgICovXHJcbiAgICBpZiAocGFyYWxsZWxUYXNrcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBwYXJhbGxlbFRhc2tzJCA9IG1lcmdlKC4uLnBhcmFsbGVsVGFza3MpO1xyXG4gICAgICB0YXNrcyQgPSBmb3JrSm9pbihbYXBwbGljYXRpb25TdGFydGluZyQsIHBhcmFsbGVsVGFza3MkXSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGFza3MkID0gYXBwbGljYXRpb25TdGFydGluZyQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy9Mb2dnaW5nXHJcbiAgICBsZXQgc3RvcHdhdGNoID0gbmV3IFN0b3B3YXRjaChcIlN0YXJ0ZXJTZXJ2aWNlLmVuc3VyZUFwcGxpY2F0aW9uU3RhcnRlZFwiKTtcclxuICAgIHN0b3B3YXRjaC5zdGFydCgpO1xyXG5cclxuICAgIHJldHVybiB0YXNrcyQucGlwZShtYXAoKCkgPT4ge1xyXG4gICAgICAgIC8vTG9nZ2luZ1xyXG4gICAgICAgIHN0b3B3YXRjaC5zdG9wKCk7XHJcbiAgICAgICAgc3RvcHdhdGNoLnByaW50RWxhcHNlZEFzTWlsbGlzZWNvbmRzKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuIl19
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly.osovitny@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
26 Jun 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
//Node
|
|
17
|
-
import { Injectable } from '@angular/core';
|
|
18
|
-
import * as i0 from "@angular/core";
|
|
19
|
-
class WebStorageService {
|
|
20
|
-
constructor(storage) {
|
|
21
|
-
this.storage = storage === 'local' || storage === 'localStorage' ? localStorage : sessionStorage;
|
|
22
|
-
}
|
|
23
|
-
setItem(key, value) {
|
|
24
|
-
this.storage.setItem(key, value);
|
|
25
|
-
}
|
|
26
|
-
setObject(key, value) {
|
|
27
|
-
this.storage.setItem(key, JSON.stringify(value));
|
|
28
|
-
}
|
|
29
|
-
getItem(key) {
|
|
30
|
-
return this.storage.getItem(key);
|
|
31
|
-
}
|
|
32
|
-
getObject(key) {
|
|
33
|
-
let value = this.storage.getItem(key);
|
|
34
|
-
if (!value) {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
return JSON.parse(value);
|
|
38
|
-
}
|
|
39
|
-
remove(key) {
|
|
40
|
-
this.storage.removeItem(key);
|
|
41
|
-
}
|
|
42
|
-
clear() {
|
|
43
|
-
this.storage.clear();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export class LocalStorageService extends WebStorageService {
|
|
47
|
-
constructor() {
|
|
48
|
-
super('localStorage');
|
|
49
|
-
}
|
|
50
|
-
static { this.ɵfac = function LocalStorageService_Factory(t) { return new (t || LocalStorageService)(); }; }
|
|
51
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: LocalStorageService, factory: LocalStorageService.ɵfac }); }
|
|
52
|
-
}
|
|
53
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LocalStorageService, [{
|
|
54
|
-
type: Injectable
|
|
55
|
-
}], () => [], null); })();
|
|
56
|
-
export class SessionStorageService extends WebStorageService {
|
|
57
|
-
constructor() {
|
|
58
|
-
super('sessionStorage');
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = function SessionStorageService_Factory(t) { return new (t || SessionStorageService)(); }; }
|
|
61
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SessionStorageService, factory: SessionStorageService.ɵfac }); }
|
|
62
|
-
}
|
|
63
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SessionStorageService, [{
|
|
64
|
-
type: Injectable
|
|
65
|
-
}], () => [], null); })();
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFekMsTUFBTSxpQkFBaUI7SUFHckIsWUFBWSxPQUFlO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQUc7UUFDWCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHO1FBQ1IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUFDeEQ7UUFDRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEIsQ0FBQztvRkFIVSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVTs7QUFRWCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBQzFEO1FBQ0UsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDMUIsQ0FBQztzRkFIVSxxQkFBcUI7dUVBQXJCLHFCQUFxQixXQUFyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FEakMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAyNiBKdW4gMjAyMFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuY2xhc3MgV2ViU3RvcmFnZVNlcnZpY2Uge1xyXG4gIHN0b3JhZ2U6IFN0b3JhZ2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdG9yYWdlID0gc3RvcmFnZSA9PT0gJ2xvY2FsJyB8fCBzdG9yYWdlID09PSAnbG9jYWxTdG9yYWdlJyA/IGxvY2FsU3RvcmFnZSA6IHNlc3Npb25TdG9yYWdlO1xyXG4gIH1cclxuXHJcbiAgc2V0SXRlbShrZXksIHZhbHVlKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldE9iamVjdChrZXksIHZhbHVlKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtKGtleSkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBnZXRPYmplY3Qoa2V5KSB7XHJcbiAgICBsZXQgdmFsdWUgPSB0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoa2V5KSB7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2UuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBXZWJTdG9yYWdlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignbG9jYWxTdG9yYWdlJyk7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgZXh0ZW5kcyBXZWJTdG9yYWdlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignc2Vzc2lvblN0b3JhZ2UnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly.osovitny@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
26 Jun 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
export class Subs {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.subs = [];
|
|
19
|
-
}
|
|
20
|
-
add(...subscriptions) {
|
|
21
|
-
this.subs = this.subs.concat(subscriptions);
|
|
22
|
-
}
|
|
23
|
-
set sink(subscription) {
|
|
24
|
-
this.subs.push(subscription);
|
|
25
|
-
}
|
|
26
|
-
unsubscribe() {
|
|
27
|
-
this.subs.forEach((sub) => sub && sub.unsubscribe());
|
|
28
|
-
this.subs = [];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3N1YnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFJRixNQUFNLE9BQU8sSUFBSTtJQUdmO1FBRlEsU0FBSSxHQUFtQixFQUFFLENBQUM7SUFFbkIsQ0FBQztJQUVoQixHQUFHLENBQUMsR0FBRyxhQUE2QjtRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxZQUEwQjtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDI2IEp1biAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgU3VicyB7XHJcbiAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIGFkZCguLi5zdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSkge1xyXG4gICAgdGhpcy5zdWJzID0gdGhpcy5zdWJzLmNvbmNhdChzdWJzY3JpcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldCBzaW5rKHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSB7XHJcbiAgICB0aGlzLnN1YnMucHVzaChzdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgdW5zdWJzY3JpYmUoKSB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaCgoc3ViKSA9PiBzdWIgJiYgc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5zdWJzID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly.osovitny@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
14 Feb 2024
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
export class QSUtils {
|
|
17
|
-
static getValue(url, name) {
|
|
18
|
-
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
|
|
19
|
-
const regex = new RegExp('[\\?&]' + name + '=([^&#]*)'), results = regex.exec(url);
|
|
20
|
-
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
|
|
21
|
-
}
|
|
22
|
-
static getValueByName(name) {
|
|
23
|
-
return QSUtils.getValue(location.search, name);
|
|
24
|
-
}
|
|
25
|
-
static exists(name) {
|
|
26
|
-
let value = QSUtils.getValueByName(name);
|
|
27
|
-
if (value)
|
|
28
|
-
return true;
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
static idExists() {
|
|
32
|
-
return QSUtils.exists("id");
|
|
33
|
-
}
|
|
34
|
-
static clear() {
|
|
35
|
-
try {
|
|
36
|
-
let newURL = location.href.split("?")[0];
|
|
37
|
-
window.history.pushState('object', document.title, newURL);
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
static clearKey(name, reload = false, clearStorage = false) {
|
|
43
|
-
try {
|
|
44
|
-
let str = null;
|
|
45
|
-
let newURL = null;
|
|
46
|
-
str = "?" + name;
|
|
47
|
-
if (location.href.indexOf(str) > -1) {
|
|
48
|
-
newURL = location.href.split(str)[0];
|
|
49
|
-
}
|
|
50
|
-
str = "&" + name;
|
|
51
|
-
if (location.href.indexOf(str) > -1) {
|
|
52
|
-
newURL = location.href.split(str)[0];
|
|
53
|
-
}
|
|
54
|
-
if (newURL && reload) {
|
|
55
|
-
if (clearStorage) {
|
|
56
|
-
console.log("Clearing Storage");
|
|
57
|
-
localStorage.clear();
|
|
58
|
-
sessionStorage.clear();
|
|
59
|
-
}
|
|
60
|
-
window.location.href = newURL;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
window.history.pushState('object', document.title, newURL);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
catch (e) {
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
static getUrlSlug() {
|
|
70
|
-
let str = location.href;
|
|
71
|
-
let items = str.split('/');
|
|
72
|
-
let urlSlugWithQS = items[items.length - 1];
|
|
73
|
-
let urlSlug = urlSlugWithQS.split("?")[0];
|
|
74
|
-
return urlSlug;
|
|
75
|
-
}
|
|
76
|
-
//SSO
|
|
77
|
-
static isSSOinProgress() {
|
|
78
|
-
return location.search.indexOf("action=sso") > -1;
|
|
79
|
-
}
|
|
80
|
-
static clearSSO() {
|
|
81
|
-
this.clearKey("action=sso");
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXN1dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9jb3JlL3V0aWxzL3FzdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixNQUFNLE9BQU8sT0FBTztJQUNWLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLElBQUk7UUFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxXQUFXLENBQUMsRUFFdkQsT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsT0FBTyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSTtRQUMvQixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQ3ZCLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVE7UUFDcEIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSztRQUNqQixJQUNBLENBQUM7WUFDQyxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsT0FBTSxDQUFDLEVBQ1AsQ0FBQztRQUNELENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLEtBQUssRUFBRSxZQUFZLEdBQUcsS0FBSztRQUMvRCxJQUNBLENBQUM7WUFDQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDZixJQUFJLE1BQU0sR0FBRSxJQUFJLENBQUM7WUFFakIsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUVELEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFFRCxJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztvQkFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO29CQUNoQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3JCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztnQkFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7WUFDaEMsQ0FBQztpQkFDSSxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTSxDQUFDLEVBQ1AsQ0FBQztRQUNELENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVU7UUFDdEIsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVDLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFMUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7SUFDRSxNQUFNLENBQUMsZUFBZTtRQUMzQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUTtRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBGZWIgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyNSBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbmV4cG9ydCBjbGFzcyBRU1V0aWxzIHtcclxuICBwcml2YXRlIHN0YXRpYyBnZXRWYWx1ZSh1cmwsIG5hbWUpIHtcclxuICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcXFtdLywgJ1xcXFxbJykucmVwbGFjZSgvW1xcXV0vLCAnXFxcXF0nKTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnW1xcXFw/Jl0nICsgbmFtZSArICc9KFteJiNdKiknKSxcclxuXHJcbiAgICByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xyXG4gICAgcmV0dXJuIHJlc3VsdHMgPT09IG51bGwgPyAnJyA6IGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzFdLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZ2V0VmFsdWVCeU5hbWUobmFtZSkge1xyXG4gICAgcmV0dXJuIFFTVXRpbHMuZ2V0VmFsdWUobG9jYXRpb24uc2VhcmNoLCBuYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZXhpc3RzKG5hbWUpIHtcclxuICAgIGxldCB2YWx1ZSA9IFFTVXRpbHMuZ2V0VmFsdWVCeU5hbWUobmFtZSk7XHJcbiAgICBpZiAodmFsdWUpIHJldHVybiB0cnVlO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaWRFeGlzdHMoKSB7XHJcbiAgICByZXR1cm4gUVNVdGlscy5leGlzdHMoXCJpZFwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2xlYXIoKSB7XHJcbiAgICB0cnlcclxuICAgIHtcclxuICAgICAgbGV0IG5ld1VSTCA9IGxvY2F0aW9uLmhyZWYuc3BsaXQoXCI/XCIpWzBdO1xyXG4gICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoJ29iamVjdCcsIGRvY3VtZW50LnRpdGxlLCBuZXdVUkwpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2goZSlcclxuICAgIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgY2xlYXJLZXkobmFtZSwgcmVsb2FkID0gZmFsc2UsIGNsZWFyU3RvcmFnZSA9IGZhbHNlKSB7XHJcbiAgICB0cnlcclxuICAgIHtcclxuICAgICAgbGV0IHN0ciA9IG51bGw7XHJcbiAgICAgIGxldCBuZXdVUkw9IG51bGw7XHJcblxyXG4gICAgICBzdHIgPSBcIj9cIiArIG5hbWU7XHJcbiAgICAgIGlmIChsb2NhdGlvbi5ocmVmLmluZGV4T2Yoc3RyKSA+IC0xKSB7XHJcbiAgICAgICAgbmV3VVJMID0gbG9jYXRpb24uaHJlZi5zcGxpdChzdHIpWzBdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzdHIgPSBcIiZcIiArIG5hbWU7XHJcbiAgICAgIGlmIChsb2NhdGlvbi5ocmVmLmluZGV4T2Yoc3RyKSA+IC0xKSB7XHJcbiAgICAgICAgbmV3VVJMID0gbG9jYXRpb24uaHJlZi5zcGxpdChzdHIpWzBdO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAobmV3VVJMICYmIHJlbG9hZCkge1xyXG4gICAgICAgIGlmIChjbGVhclN0b3JhZ2UpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiQ2xlYXJpbmcgU3RvcmFnZVwiKTtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV3VVJMO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSgnb2JqZWN0JywgZG9jdW1lbnQudGl0bGUsIG5ld1VSTCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNhdGNoKGUpXHJcbiAgICB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldFVybFNsdWcoKTogc3RyaW5nIHtcclxuICAgIGxldCBzdHIgPSBsb2NhdGlvbi5ocmVmO1xyXG4gICAgbGV0IGl0ZW1zID0gc3RyLnNwbGl0KCcvJyk7XHJcbiAgICBsZXQgdXJsU2x1Z1dpdGhRUyA9IGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdO1xyXG4gICAgbGV0IHVybFNsdWcgPSB1cmxTbHVnV2l0aFFTLnNwbGl0KFwiP1wiKVswXTtcclxuXHJcbiAgICByZXR1cm4gdXJsU2x1ZztcclxuICB9XHJcblxyXG4gIC8vU1NPXHJcbiAgcHVibGljIHN0YXRpYyBpc1NTT2luUHJvZ3Jlc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gbG9jYXRpb24uc2VhcmNoLmluZGV4T2YoXCJhY3Rpb249c3NvXCIpID4gLTE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGNsZWFyU1NPKCkge1xyXG4gICAgdGhpcy5jbGVhcktleShcImFjdGlvbj1zc29cIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
-
Anatoly Osovitny anatoly.osovitny@osovitny.com
|
|
9
|
-
|
|
10
|
-
Created:
|
|
11
|
-
19 March 2020
|
|
12
|
-
|
|
13
|
-
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
14
|
-
</file>
|
|
15
|
-
*/
|
|
16
|
-
export class Utils {
|
|
17
|
-
static copyToClipBoard(event, val) {
|
|
18
|
-
event.preventDefault();
|
|
19
|
-
const selBox = document.createElement('textarea');
|
|
20
|
-
selBox.style.position = 'fixed';
|
|
21
|
-
selBox.style.left = '0';
|
|
22
|
-
selBox.style.top = '0';
|
|
23
|
-
selBox.style.opacity = '0';
|
|
24
|
-
selBox.value = val;
|
|
25
|
-
document.body.appendChild(selBox);
|
|
26
|
-
selBox.focus();
|
|
27
|
-
selBox.select();
|
|
28
|
-
document.execCommand('copy');
|
|
29
|
-
document.body.removeChild(selBox);
|
|
30
|
-
}
|
|
31
|
-
static downloadFile(name, url) {
|
|
32
|
-
const link = document.createElement('a');
|
|
33
|
-
link.download = name;
|
|
34
|
-
link.href = url;
|
|
35
|
-
link.click();
|
|
36
|
-
}
|
|
37
|
-
static downloadBlobFile(value, fileName) {
|
|
38
|
-
const nav = window.navigator;
|
|
39
|
-
if (nav.msSaveOrOpenBlob) {
|
|
40
|
-
nav.msSaveOrOpenBlob(value, fileName);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
const downloadURL = window.URL.createObjectURL(value);
|
|
44
|
-
Utils.downloadFile(fileName, downloadURL);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/*
|
|
48
|
-
Author:
|
|
49
|
-
https://medium.com/@mhagemann/the-ultimate-way-to-slugify-a-url-string-in-javascript-b8e4a0d849e1
|
|
50
|
-
*/
|
|
51
|
-
static slugify(text, prefix = '', postfix = '') {
|
|
52
|
-
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;';
|
|
53
|
-
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------';
|
|
54
|
-
const p = new RegExp(a.split('').join('|'), 'g');
|
|
55
|
-
/*
|
|
56
|
-
https://css-tricks.com/snippets/javascript/strip-html-tags-in-javascript/
|
|
57
|
-
https://stackoverflow.com/questions/822452/strip-html-from-text-javascript
|
|
58
|
-
*/
|
|
59
|
-
text = text.replace(/(<([^>]+)>)/gi, '');
|
|
60
|
-
let result = text
|
|
61
|
-
.toString()
|
|
62
|
-
.toLowerCase()
|
|
63
|
-
.replace(/\s+/g, '-') // Replace spaces with -
|
|
64
|
-
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
|
|
65
|
-
.replace(/&/g, '-and-') // Replace & with 'and'
|
|
66
|
-
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
|
|
67
|
-
.replace(/\-\-+/g, '-') // Replace multiple - with single -
|
|
68
|
-
.replace(/^-+/, '') // Trim - from start of text
|
|
69
|
-
.replace(/-+$/, ''); // Trim - from end of text
|
|
70
|
-
return prefix + result + postfix;
|
|
71
|
-
}
|
|
72
|
-
static generateRandom(start, end) {
|
|
73
|
-
return Math.floor(Math.random() * (end - start + 1)) + start;
|
|
74
|
-
}
|
|
75
|
-
static isBrowserMobile() {
|
|
76
|
-
const userAgent = navigator.userAgent || navigator.vendor;
|
|
77
|
-
const mobileRegex = new RegExp("(android|bb\\d+|meego).+mobile|" +
|
|
78
|
-
"avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|" +
|
|
79
|
-
"iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|" +
|
|
80
|
-
"mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|" +
|
|
81
|
-
"p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|" +
|
|
82
|
-
"up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|" +
|
|
83
|
-
"1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|" +
|
|
84
|
-
"ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|" +
|
|
85
|
-
"attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|" +
|
|
86
|
-
"br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|" +
|
|
87
|
-
"craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|" +
|
|
88
|
-
"el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|" +
|
|
89
|
-
"g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|" +
|
|
90
|
-
"hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|" +
|
|
91
|
-
"i230|iac( |-\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|" +
|
|
92
|
-
"keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|" +
|
|
93
|
-
"libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|" +
|
|
94
|
-
"mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|" +
|
|
95
|
-
"ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|" +
|
|
96
|
-
"pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|" +
|
|
97
|
-
"pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|" +
|
|
98
|
-
"s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|" +
|
|
99
|
-
"sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|" +
|
|
100
|
-
"sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|" +
|
|
101
|
-
"ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|" +
|
|
102
|
-
"vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|" +
|
|
103
|
-
"wmlb|wonu|x700|yas-|your|zeto|zte-", "i");
|
|
104
|
-
const isMobileUserAgent = mobileRegex.test(userAgent);
|
|
105
|
-
const isSmallScreen = window.innerWidth <= 800 && window.innerHeight <= 600;
|
|
106
|
-
const isTabletRegex = new RegExp("ipad|android(?!.*mobile)|tablet|kindle|playbook|silk|nexus 7|nexus 10|Macintosh|" +
|
|
107
|
-
"fire|sm-t|tab|gt-p|sch-i|xoom|sch-i|tf101|kftt|kfot|kfjw|kfsowi|a500|rim\\w", "i");
|
|
108
|
-
const isTabletUserAgent = isTabletRegex.test(userAgent);
|
|
109
|
-
return isMobileUserAgent && !isTabletUserAgent || isSmallScreen;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS91dGlscy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU0sT0FBTyxLQUFLO0lBQ1QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNuRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN2QixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDM0IsTUFBTSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDbkIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLEdBQVc7UUFDbEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMs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L0UsaUZBQWlGO1lBQ2pGLG9GQUFvRjtZQUNwRixxRkFBcUY7WUFDckYsbUZBQW1GO1lBQ25GLG9DQUFvQyxFQUNwQyxHQUFHLENBQ0osQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQztRQUM1RSxNQUFNLGFBQWEsR0FBRyxJQUFJLE1BQU0sQ0FDOUIsa0ZBQWtGO1lBQ2xGLDZFQUE2RSxFQUM3RSxHQUFHLENBQ0osQ0FBQztRQUNGLE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4RCxPQUFPLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLElBQUksYUFBYSxDQUFDO0lBQ2xFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcbiAgICBBbmF0b2x5IE9zb3ZpdG55IGFuYXRvbHkub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxOSBNYXJjaCAyMDIwXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuICBwdWJsaWMgc3RhdGljIGNvcHlUb0NsaXBCb2FyZChldmVudDogYW55LCB2YWw6IHN0cmluZykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuXHJcbiAgICBjb25zdCBzZWxCb3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xyXG4gICAgc2VsQm94LnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcclxuICAgIHNlbEJveC5zdHlsZS5sZWZ0ID0gJzAnO1xyXG4gICAgc2VsQm94LnN0eWxlLnRvcCA9ICcwJztcclxuICAgIHNlbEJveC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG4gICAgc2VsQm94LnZhbHVlID0gdmFsO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzZWxCb3gpO1xyXG4gICAgc2VsQm94LmZvY3VzKCk7XHJcbiAgICBzZWxCb3guc2VsZWN0KCk7XHJcbiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzZWxCb3gpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEZpbGUobmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZykge1xyXG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcclxuICAgIGxpbmsuZG93bmxvYWQgPSBuYW1lO1xyXG4gICAgbGluay5ocmVmID0gdXJsO1xyXG4gICAgbGluay5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkb3dubG9hZEJsb2JGaWxlKHZhbHVlOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBuYXYgPSAod2luZG93Lm5hdmlnYXRvciBhcyBhbnkpO1xyXG5cclxuICAgIGlmIChuYXYubXNTYXZlT3JPcGVuQmxvYikge1xyXG4gICAgICBuYXYubXNTYXZlT3JPcGVuQmxvYih2YWx1ZSwgZmlsZU5hbWUpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkVVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwodmFsdWUpO1xyXG4gICAgICBVdGlscy5kb3dubG9hZEZpbGUoZmlsZU5hbWUsIGRvd25sb2FkVVJMKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBBdXRob3I6XHJcbiAgICBodHRwczovL21lZGl1bS5jb20vQG1oYWdlbWFubi90aGUtdWx0aW1hdGUtd2F5LXRvLXNsdWdpZnktYS11cmwtc3RyaW5nLWluLWphdmFzY3JpcHQtYjhlNGEwZDg0OWUxXHJcbiAgKi9cclxuICBwdWJsaWMgc3RhdGljIHNsdWdpZnkodGV4dDogc3RyaW5nLCBwcmVmaXg6IHN0cmluZyA9ICcnLCBwb3N0Zml4OiBzdHJpbmcgPSAnJykge1xyXG4gICAgY29uc3QgYSA9ICfDoMOhw6LDpMOmw6PDpcSBxIPEhcOnxIfEjcSRxI/DqMOpw6rDq8STxJfEmcSbxJ/HteG4p8Ouw6/DrcSrxK/DrMWC4bi/w7HFhMe5xYjDtMO2w7LDs8WTw7jFjcO1xZHhuZXFlcWZw5/Fm8WhxZ/ImcWlyJvDu8O8w7nDusWrx5jFr8WxxbPhuoPhuo3Dv8O9xb7FusW8wrcvXyw6Oyc7XHJcbiAgICBjb25zdCBiID0gJ2FhYWFhYWFhYWFjY2NkZGVlZWVlZWVlZ2doaWlpaWlpbG1ubm5ub29vb29vb29vcHJyc3Nzc3N0dHV1dXV1dXV1dXd4eXl6enotLS0tLS0nO1xyXG4gICAgY29uc3QgcCA9IG5ldyBSZWdFeHAoYS5zcGxpdCgnJykuam9pbignfCcpLCAnZycpO1xyXG5cclxuICAgIC8qXHJcbiAgICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvamF2YXNjcmlwdC9zdHJpcC1odG1sLXRhZ3MtaW4tamF2YXNjcmlwdC9cclxuICAgICAgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvODIyNDUyL3N0cmlwLWh0bWwtZnJvbS10ZXh0LWphdmFzY3JpcHRcclxuICAgICovXHJcbiAgICB0ZXh0ID0gdGV4dC5yZXBsYWNlKC8oPChbXj5dKyk+KS9naSwgJycpO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSB0ZXh0XHJcbiAgICAgIC50b1N0cmluZygpXHJcbiAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgIC5yZXBsYWNlKC9cXHMrL2csICctJykgLy8gUmVwbGFjZSBzcGFjZXMgd2l0aCAtXHJcbiAgICAgIC5yZXBsYWNlKHAsIGMgPT4gYi5jaGFyQXQoYS5pbmRleE9mKGMpKSkgLy8gUmVwbGFjZSBzcGVjaWFsIGNoYXJhY3RlcnNcclxuICAgICAgLnJlcGxhY2UoLyYvZywgJy1hbmQtJykgLy8gUmVwbGFjZSAmIHdpdGggJ2FuZCdcclxuICAgICAgLnJlcGxhY2UoL1teXFx3XFwtXSsvZywgJycpIC8vIFJlbW92ZSBhbGwgbm9uLXdvcmQgY2hhcmFjdGVyc1xyXG4gICAgICAucmVwbGFjZSgvXFwtXFwtKy9nLCAnLScpIC8vIFJlcGxhY2UgbXVsdGlwbGUgLSB3aXRoIHNpbmdsZSAtXHJcbiAgICAgIC5yZXBsYWNlKC9eLSsvLCAnJykgLy8gVHJpbSAtIGZyb20gc3RhcnQgb2YgdGV4dFxyXG4gICAgICAucmVwbGFjZSgvLSskLywgJycpOyAvLyBUcmltIC0gZnJvbSBlbmQgb2YgdGV4dFxyXG5cclxuICAgIHJldHVybiBwcmVmaXggKyByZXN1bHQgKyBwb3N0Zml4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZVJhbmRvbShzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChlbmQgLSBzdGFydCArIDEpKSArIHN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBpc0Jyb3dzZXJNb2JpbGUoKSB7XHJcbiAgICBjb25zdCB1c2VyQWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50IHx8IG5hdmlnYXRvci52ZW5kb3I7XHJcbiAgICBjb25zdCBtb2JpbGVSZWdleCA9IG5ldyBSZWdFeHAoXHJcbiAgICAgIFwiKGFuZHJvaWR8YmJcXFxcZCt8bWVlZ28pLittb2JpbGV8XCIgK1xyXG4gICAgICBcImF2YW50Z298YmFkYVxcXFwvfGJsYWNrYmVycnl8YmxhemVyfGNvbXBhbHxlbGFpbmV8ZmVubmVjfGhpcHRvcHxcIiArXHJcbiAgICAgIFwiaWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxcIiArXHJcbiAgICAgIFwibW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfFwiICtcclxuICAgICAgXCJwKGl4aXxyZSlcXFxcL3xwbHVja2VyfHBvY2tldHxwc3B8c2VyaWVzKDR8NikwfHN5bWJpYW58dHJlb3xcIiArXHJcbiAgICAgIFwidXBcXFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWlub3xcIiArXHJcbiAgICAgIFwiMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298cy0pfFwiICtcclxuICAgICAgXCJhaShrb3xybil8YWwoYXZ8Y2F8Y28pfGFtb2l8YW4oZXh8bnl8eXcpfGFwdHV8YXIoY2h8Z28pfGFzKHRlfHVzKXxcIiArXHJcbiAgICAgIFwiYXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxcIiArXHJcbiAgICAgIFwiYnIoZXx2KXd8YnVtYnxidy0obnx1KXxjNTVcXFxcL3xjYXBpfGNjd2F8Y2RtLXxjZWxsfGNodG18Y2xkY3xjbWQtfGNvKG1wfG5kKXxcIiArXHJcbiAgICAgIFwiY3Jhd3xkYShpdHxsbHxuZyl8ZGJ0ZXxkYy1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfC1kKXxcIiArXHJcbiAgICAgIFwiZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KC18Xyl8ZzEgdXxcIiArXHJcbiAgICAgIFwiZzU2MHxnZW5lfGdmLTV8Zy1tb3xnbyhcXFxcLnd8b2QpfGdyKGFkfHVuKXxoYWllfGhjaXR8aGQtKG18cHx0KXxoZWktfFwiICtcclxuICAgICAgXCJoaShwdHx0YSl8aHAoIGl8aXApfGhzLWN8aHQoYygtfCB8X3xhfGd8cHxzfHQpfHRwKXxodShhd3x0Yyl8aS0oMjB8Z298bWEpfFwiICtcclxuICAgICAgXCJpMjMwfGlhYyggfC1cXFxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8XCIgK1xyXG4gICAgICBcImtlaml8a2d0KCB8XFxcXC8pfGtsb258a3B0IHxrd2MtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXFxcLyhrfGx8dSl8NTB8NTR8LVthLXddKXxcIiArXHJcbiAgICAgIFwibGlid3xseW54fG0xLXd8bTNnYXxtNTBcXFxcL3xtYSh0ZXx1aXx4byl8bWMoMDF8MjF8Y2EpfG0tY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoLXwgfG98dil8enopfFwiICtcclxuICAgICAgXCJtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxcIiArXHJcbiAgICAgIFwibmUoKGN8bSktfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfFwiICtcclxuICAgICAgXCJwYW4oYXxkfHQpfHBkeGd8cGcoMTN8XFxcXC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG4tMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfFwiICtcclxuICAgICAgXCJwdC1nfHFhLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8LVsyLTddfGktKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfFwiICtcclxuICAgICAgXCJzNTVcXFxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aC18b298cC0pfHNka1xcXFwvfHNlKGMoLXwwfDEpfDQ3fG1jfG5kfHJpKXxcIiArXHJcbiAgICAgIFwic2doLXxzaGFyfHNpZSgtfG0pfHNrLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aC18di18diApfFwiICtcclxuICAgICAgXCJzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsLXx0ZGctfHRlbChpfG0pfHRpbS18dC1tb3x0byhwbHxzaCl8XCIgK1xyXG4gICAgICBcInRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcXFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfC12KXxcIiArXHJcbiAgICAgIFwidm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYygtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8XCIgK1xyXG4gICAgICBcIndtbGJ8d29udXx4NzAwfHlhcy18eW91cnx6ZXRvfHp0ZS1cIixcclxuICAgICAgXCJpXCJcclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgaXNNb2JpbGVVc2VyQWdlbnQgPSBtb2JpbGVSZWdleC50ZXN0KHVzZXJBZ2VudCk7XHJcbiAgICBjb25zdCBpc1NtYWxsU2NyZWVuID0gd2luZG93LmlubmVyV2lkdGggPD0gODAwICYmIHdpbmRvdy5pbm5lckhlaWdodCA8PSA2MDA7XHJcbiAgICBjb25zdCBpc1RhYmxldFJlZ2V4ID0gbmV3IFJlZ0V4cChcclxuICAgICAgXCJpcGFkfGFuZHJvaWQoPyEuKm1vYmlsZSl8dGFibGV0fGtpbmRsZXxwbGF5Ym9va3xzaWxrfG5leHVzIDd8bmV4dXMgMTB8TWFjaW50b3NofFwiICtcclxuICAgICAgXCJmaXJlfHNtLXR8dGFifGd0LXB8c2NoLWl8eG9vbXxzY2gtaXx0ZjEwMXxrZnR0fGtmb3R8a2Zqd3xrZnNvd2l8YTUwMHxyaW1cXFxcd1wiLFxyXG4gICAgICBcImlcIlxyXG4gICAgKTtcclxuICAgIGNvbnN0IGlzVGFibGV0VXNlckFnZW50ID0gaXNUYWJsZXRSZWdleC50ZXN0KHVzZXJBZ2VudCk7XHJcblxyXG4gICAgcmV0dXJuIGlzTW9iaWxlVXNlckFnZW50ICYmICFpc1RhYmxldFVzZXJBZ2VudCB8fCBpc1NtYWxsU2NyZWVuO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
-
|
|
9
|
-
Created:
|
|
10
|
-
13 Nov 2017
|
|
11
|
-
|
|
12
|
-
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
13
|
-
</file>
|
|
14
|
-
*/
|
|
15
|
-
//Node
|
|
16
|
-
import { Injectable } from '@angular/core';
|
|
17
|
-
import { map } from 'rxjs/operators';
|
|
18
|
-
//App
|
|
19
|
-
import { AppCoreSettings } from '../../core/consts/core-settings';
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@angular/common/http";
|
|
22
|
-
export class ApiServiceBase {
|
|
23
|
-
constructor(http) {
|
|
24
|
-
this.http = http;
|
|
25
|
-
}
|
|
26
|
-
serializeParams(data) {
|
|
27
|
-
return data ? ('?' + $.param(data)) : "";
|
|
28
|
-
}
|
|
29
|
-
//api
|
|
30
|
-
get(action, data, responseType) {
|
|
31
|
-
if (!responseType) {
|
|
32
|
-
responseType = 'json';
|
|
33
|
-
}
|
|
34
|
-
var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
|
|
35
|
-
return this.http.get(url, { responseType: responseType }).pipe(map(res => res));
|
|
36
|
-
}
|
|
37
|
-
post(action, data, responseType) {
|
|
38
|
-
if (!responseType) {
|
|
39
|
-
responseType = 'text';
|
|
40
|
-
}
|
|
41
|
-
var url = `${this.baseUrl}/${action}`;
|
|
42
|
-
return this.http.post(url, data, { responseType: responseType });
|
|
43
|
-
}
|
|
44
|
-
postQS(action, data, responseType) {
|
|
45
|
-
if (!responseType) {
|
|
46
|
-
responseType = 'text';
|
|
47
|
-
}
|
|
48
|
-
var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
|
|
49
|
-
return this.http.post(url, null, { responseType: responseType });
|
|
50
|
-
}
|
|
51
|
-
delete(action, data, responseType) {
|
|
52
|
-
if (!responseType) {
|
|
53
|
-
responseType = 'text';
|
|
54
|
-
}
|
|
55
|
-
var url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
|
|
56
|
-
return this.http.delete(url, { responseType: responseType });
|
|
57
|
-
}
|
|
58
|
-
//gets
|
|
59
|
-
getExternalTextFile(url) {
|
|
60
|
-
return this.http.get(url);
|
|
61
|
-
}
|
|
62
|
-
//Json Files
|
|
63
|
-
__getJsonFile(url) {
|
|
64
|
-
const version = AppCoreSettings.version;
|
|
65
|
-
const isCDNEnabled = AppCoreSettings.cdn.enabled;
|
|
66
|
-
const cdnUrl = AppCoreSettings.cdn.url;
|
|
67
|
-
//const cdnSasToken = AppCoreSettings.cdn.sasToken;
|
|
68
|
-
if (isCDNEnabled) {
|
|
69
|
-
url = (url[0] == '/') ? cdnUrl + url : cdnUrl + '/' + url;
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
url = url + '?v=' + version;
|
|
73
|
-
}
|
|
74
|
-
return this.http.get(url);
|
|
75
|
-
}
|
|
76
|
-
getLibJsonFile(fileName) {
|
|
77
|
-
const url = AppCoreSettings.assetsLibUrl + '/jsons';
|
|
78
|
-
return this.__getJsonFile(url + "/" + fileName);
|
|
79
|
-
}
|
|
80
|
-
getJsonFile(fileName) {
|
|
81
|
-
const url = AppCoreSettings.assetsUrl + '/jsons';
|
|
82
|
-
return this.__getJsonFile(url + "/" + fileName);
|
|
83
|
-
}
|
|
84
|
-
getExternalJsonFile(libname, fileName) {
|
|
85
|
-
const url = AppCoreSettings.assetsExternalUrl + "/" + libname + "/jsons";
|
|
86
|
-
return this.__getJsonFile(url + "/" + fileName);
|
|
87
|
-
}
|
|
88
|
-
static { this.ɵfac = function ApiServiceBase_Factory(t) { return new (t || ApiServiceBase)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
89
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: ApiServiceBase, factory: ApiServiceBase.ɵfac }); }
|
|
90
|
-
}
|
|
91
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ApiServiceBase, [{
|
|
92
|
-
type: Injectable
|
|
93
|
-
}], () => [{ type: i1.HttpClient }], null); })();
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9iYXNlL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsS0FBSztBQUNMLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBS2xFLE1BQU0sT0FBTyxjQUFjO0lBR3pCLFlBQXNCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDdEMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxJQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsS0FBSztJQUNMLEdBQUcsQ0FBSSxNQUFjLEVBQUUsSUFBVSxFQUFFLFlBQWE7UUFDOUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25FLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBSSxHQUFHLENBQUMsQ0FDbkIsQ0FB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ZSxFQUFFLFFBQWdCO1FBQ25ELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLFFBQVEsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUNsRCxDQUFDOytFQXBGVSxjQUFjO3VFQUFkLGNBQWMsV0FBZCxjQUFjOztpRkFBZCxjQUFjO2NBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgIDEzIE5vdiAyMDE3XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb3JlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnN0cy9jb3JlLXNldHRpbmdzJztcclxuXHJcbmRlY2xhcmUgdmFyICQ6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2VCYXNlIHtcclxuICBwcm90ZWN0ZWQgYmFzZVVybDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXJpYWxpemVQYXJhbXMoZGF0YT86IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZGF0YSA/ICgnPycgKyAkLnBhcmFtKGRhdGEpKSA6IFwiXCI7XHJcbiAgfVxyXG5cclxuICAvL2FwaVxyXG4gIGdldDxUPihhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSwgcmVzcG9uc2VUeXBlPyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgaWYgKCFyZXNwb25zZVR5cGUpIHtcclxuICAgICAgcmVzcG9uc2VUeXBlID0gJ2pzb24nO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9LyR7YWN0aW9ufSR7dGhpcy5zZXJpYWxpemVQYXJhbXMoZGF0YSl9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHVybCwgeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB9KS5waXBlKFxyXG4gICAgICBtYXAocmVzID0+IDxUPnJlcylcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwb3N0KGFjdGlvbjogc3RyaW5nLCBkYXRhPzogYW55LCByZXNwb25zZVR5cGU/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcmVzcG9uc2VUeXBlKSB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZSA9ICd0ZXh0JztcclxuICAgIH1cclxuXHJcbiAgICB2YXIgdXJsID0gYCR7dGhpcy5iYXNlVXJsfS8ke2FjdGlvbn1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSwgeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB9KTtcclxuICB9XHJcblxyXG4gIHBvc3RRUyhhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSwgcmVzcG9uc2VUeXBlPyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlVHlwZSkge1xyXG4gICAgICByZXNwb25zZVR5cGUgPSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgbnVsbCwgeyByZXNwb25zZVR5cGU6IHJlc3BvbnNlVHlwZSB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShhY3Rpb246IHN0cmluZywgZGF0YT86IGFueSwgcmVzcG9uc2VUeXBlPyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIXJlc3BvbnNlVHlwZSkge1xyXG4gICAgICByZXNwb25zZVR5cGUgPSAndGV4dCc7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCB7IHJlc3BvbnNlVHlwZTogcmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9nZXRzXHJcbiAgZ2V0RXh0ZXJuYWxUZXh0RmlsZSh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwpO1xyXG4gIH1cclxuXHJcbiAgLy9Kc29uIEZpbGVzXHJcbiAgcHJpdmF0ZSBfX2dldEpzb25GaWxlKHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHZlcnNpb24gPSBBcHBDb3JlU2V0dGluZ3MudmVyc2lvbjtcclxuICAgIGNvbnN0IGlzQ0RORW5hYmxlZCA9IEFwcENvcmVTZXR0aW5ncy5jZG4uZW5hYmxlZDtcclxuICAgIGNvbnN0IGNkblVybCA9IEFwcENvcmVTZXR0aW5ncy5jZG4udXJsO1xyXG4gICAgLy9jb25zdCBjZG5TYXNUb2tlbiA9IEFwcENvcmVTZXR0aW5ncy5jZG4uc2FzVG9rZW47XHJcblxyXG4gICAgaWYgKGlzQ0RORW5hYmxlZCkge1xyXG4gICAgICB1cmwgPSAodXJsWzBdID09ICcvJykgPyBjZG5VcmwgKyB1cmwgOiBjZG5VcmwgKyAnLycgKyB1cmw7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdXJsID0gdXJsICsgJz92PScgKyB2ZXJzaW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXRMaWJKc29uRmlsZShmaWxlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFwcENvcmVTZXR0aW5ncy5hc3NldHNMaWJVcmwgKyAnL2pzb25zJztcclxuICAgIHJldHVybiB0aGlzLl9fZ2V0SnNvbkZpbGUodXJsICsgXCIvXCIgKyBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXRKc29uRmlsZShmaWxlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFwcENvcmVTZXR0aW5ncy5hc3NldHNVcmwgKyAnL2pzb25zJztcclxuICAgIHJldHVybiB0aGlzLl9fZ2V0SnNvbkZpbGUodXJsICsgXCIvXCIgKyBmaWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXRFeHRlcm5hbEpzb25GaWxlKGxpYm5hbWU6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBBcHBDb3JlU2V0dGluZ3MuYXNzZXRzRXh0ZXJuYWxVcmwgKyBcIi9cIiArIGxpYm5hbWUgKyBcIi9qc29uc1wiO1xyXG4gICAgcmV0dXJuIHRoaXMuX19nZXRKc29uRmlsZSh1cmwgKyBcIi9cIiArIGZpbGVOYW1lKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
<file>
|
|
3
|
-
Project:
|
|
4
|
-
@osovitny/anatoly
|
|
5
|
-
|
|
6
|
-
Authors:
|
|
7
|
-
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
-
|
|
9
|
-
Created:
|
|
10
|
-
29 Apr 2018
|
|
11
|
-
|
|
12
|
-
Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
|
|
13
|
-
</file>
|
|
14
|
-
*/
|
|
15
|
-
//Node
|
|
16
|
-
import { Injectable } from "@angular/core";
|
|
17
|
-
import { map } from "rxjs/operators";
|
|
18
|
-
//App
|
|
19
|
-
import { GridReadServiceBase } from "./grid-read.service";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
import * as i1 from "@angular/common/http";
|
|
22
|
-
export class GridEditServiceBase extends GridReadServiceBase {
|
|
23
|
-
constructor(http) {
|
|
24
|
-
super(http);
|
|
25
|
-
this.http = http;
|
|
26
|
-
}
|
|
27
|
-
reset() {
|
|
28
|
-
this.data = [];
|
|
29
|
-
}
|
|
30
|
-
resetItem(dataItem) {
|
|
31
|
-
if (!dataItem) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
//find orignal data item
|
|
35
|
-
const originalDataItem = this.data.find(item => item.Id === dataItem.Id);
|
|
36
|
-
//revert changes
|
|
37
|
-
Object.assign(originalDataItem, dataItem);
|
|
38
|
-
super.next(this.data);
|
|
39
|
-
}
|
|
40
|
-
save(data, isNew, sucess) {
|
|
41
|
-
const action = isNew ? 'add' : 'update';
|
|
42
|
-
this.reset();
|
|
43
|
-
this.post(action, data).subscribe({
|
|
44
|
-
next: (data) => {
|
|
45
|
-
},
|
|
46
|
-
error: (e) => {
|
|
47
|
-
this.read();
|
|
48
|
-
},
|
|
49
|
-
complete: () => {
|
|
50
|
-
this.read();
|
|
51
|
-
if (sucess)
|
|
52
|
-
sucess();
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
delete(data, sucess) {
|
|
57
|
-
this.reset();
|
|
58
|
-
const url = `${this.baseUrl}/delete${this.serializeParams(data)}`;
|
|
59
|
-
return this.http.delete(url).subscribe({
|
|
60
|
-
next: (data) => {
|
|
61
|
-
this.read();
|
|
62
|
-
if (sucess)
|
|
63
|
-
sucess();
|
|
64
|
-
},
|
|
65
|
-
error: (e) => {
|
|
66
|
-
this.read();
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
post(action, data) {
|
|
71
|
-
const url = `${this.baseUrl}/${action}${this.serializeParams(data)}`;
|
|
72
|
-
return this.http.post(url, data).pipe(map(res => res));
|
|
73
|
-
}
|
|
74
|
-
static { this.ɵfac = function GridEditServiceBase_Factory(t) { return new (t || GridEditServiceBase)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
75
|
-
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: GridEditServiceBase, factory: GridEditServiceBase.ɵfac }); }
|
|
76
|
-
}
|
|
77
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GridEditServiceBase, [{
|
|
78
|
-
type: Injectable
|
|
79
|
-
}], () => [{ type: i1.HttpClient }], null); })();
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1lZGl0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvZGF0YS9iYXNlL2dyaWQvZ3JpZC1lZGl0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxLQUFLO0FBQ0wsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUcxRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsbUJBQW1CO0lBRzFELFlBQXNCLElBQWdCO1FBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURRLFNBQUksR0FBSixJQUFJLENBQVk7SUFFdEMsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsU0FBUyxDQUFDLFFBQWE7UUFDckIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQUMsT0FBTztRQUFDLENBQUM7UUFFMUIsd0JBQXdCO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6RSxnQkFBZ0I7UUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVMsRUFBRSxLQUFjLEVBQUUsTUFBaUI7UUFDL0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUV4QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDZixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNaLElBQUksTUFBTTtvQkFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFTLEVBQUUsTUFBaUI7UUFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxVQUFVLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxNQUFNO29CQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFXLEVBQUUsSUFBVTtRQUMxQixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNyRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFRLEdBQUcsQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztvRkEzRFUsbUJBQW1CO3VFQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1COztpRkFBbkIsbUJBQW1CO2NBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMjkgQXByIDIwMThcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjUgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL05vZGVcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgR3JpZFJlYWRTZXJ2aWNlQmFzZSB9IGZyb20gXCIuL2dyaWQtcmVhZC5zZXJ2aWNlXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHcmlkRWRpdFNlcnZpY2VCYXNlIGV4dGVuZHMgR3JpZFJlYWRTZXJ2aWNlQmFzZSB7XHJcbiAgcHJvdGVjdGVkIGJhc2VVcmw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldCgpIHtcclxuICAgIHRoaXMuZGF0YSA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRJdGVtKGRhdGFJdGVtOiBhbnkpIHtcclxuICAgIGlmICghZGF0YUl0ZW0pIHsgcmV0dXJuOyB9XHJcblxyXG4gICAgLy9maW5kIG9yaWduYWwgZGF0YSBpdGVtXHJcbiAgICBjb25zdCBvcmlnaW5hbERhdGFJdGVtID0gdGhpcy5kYXRhLmZpbmQoaXRlbSA9PiBpdGVtLklkID09PSBkYXRhSXRlbS5JZCk7XHJcblxyXG4gICAgLy9yZXZlcnQgY2hhbmdlc1xyXG4gICAgT2JqZWN0LmFzc2lnbihvcmlnaW5hbERhdGFJdGVtLCBkYXRhSXRlbSk7XHJcbiAgICBzdXBlci5uZXh0KHRoaXMuZGF0YSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKGRhdGE6IGFueSwgaXNOZXc6IGJvb2xlYW4sIHN1Y2Vzcz86IEZ1bmN0aW9uKSB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSBpc05ldyA/ICdhZGQnIDogJ3VwZGF0ZSc7XHJcblxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG4gICAgdGhpcy5wb3N0KGFjdGlvbiwgZGF0YSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWFkKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWFkKCk7XHJcbiAgICAgICAgaWYgKHN1Y2Vzcykgc3VjZXNzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGRhdGE6IGFueSwgc3VjZXNzPzogRnVuY3Rpb24pIHtcclxuICAgIHRoaXMucmVzZXQoKTtcclxuXHJcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L2RlbGV0ZSR7dGhpcy5zZXJpYWxpemVQYXJhbXMoZGF0YSl9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHVybCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICB0aGlzLnJlYWQoKTtcclxuICAgICAgICBpZiAoc3VjZXNzKSBzdWNlc3MoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZWFkKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdChhY3Rpb246IGFueSwgZGF0YT86IGFueSk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuYmFzZVVybH0vJHthY3Rpb259JHt0aGlzLnNlcmlhbGl6ZVBhcmFtcyhkYXRhKX1gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgZGF0YSkucGlwZShcclxuICAgICAgbWFwKHJlcyA9PiA8YW55W10+cmVzKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|