@osovitny/anatoly 2.15.7 → 2.15.8
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/esm2020/lib/core/index.mjs +11 -3
- package/esm2020/lib/core/performance/stopwatch.mjs +50 -0
- package/fesm2015/osovitny-anatoly.mjs +189 -139
- package/fesm2015/osovitny-anatoly.mjs.map +1 -1
- package/fesm2020/osovitny-anatoly.mjs +189 -139
- package/fesm2020/osovitny-anatoly.mjs.map +1 -1
- package/lib/core/index.d.ts +3 -2
- package/lib/core/performance/stopwatch.d.ts +14 -0
- package/package.json +1 -1
|
@@ -13,30 +13,38 @@
|
|
|
13
13
|
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
14
|
</file>
|
|
15
15
|
*/
|
|
16
|
+
//consts
|
|
16
17
|
export * from './consts/settings';
|
|
17
18
|
export * from './consts/urls';
|
|
19
|
+
//converts
|
|
20
|
+
export * from './converts/convert';
|
|
21
|
+
export * from './converts/xmlFormatter';
|
|
18
22
|
export * from './go/base-go.service';
|
|
19
23
|
export * from './guards/once-import.guard';
|
|
20
24
|
export * from './interceptors/httpInterceptor';
|
|
25
|
+
//localization
|
|
21
26
|
export * from './localization/localize.pipe';
|
|
22
27
|
export * from './localization/localization.service';
|
|
23
28
|
export * from './localization/localizationSettings.module';
|
|
24
29
|
export * from './localization/localization.module';
|
|
30
|
+
//logging
|
|
25
31
|
export * from './logging/globalErrorHandler';
|
|
26
32
|
export * from './logging/logging.service';
|
|
33
|
+
//notifications
|
|
27
34
|
export * from './notifications/alerts';
|
|
28
35
|
export * from './notifications/interfaces/notification';
|
|
29
36
|
export * from './notifications/services/notification-service';
|
|
37
|
+
//performance
|
|
38
|
+
export * from './performance/stopwatch';
|
|
39
|
+
//services
|
|
30
40
|
export * from './services/appcontext.service';
|
|
31
41
|
export * from './services/idle.service';
|
|
32
42
|
export * from './services/loading.service';
|
|
33
43
|
export * from './services/web-storage.service';
|
|
34
44
|
export * from './services/dm.service';
|
|
35
45
|
export * from './services/google-analytics.service';
|
|
36
|
-
export * from './converts/convert';
|
|
37
|
-
export * from './converts/xmlFormatter';
|
|
38
46
|
export * from './dom';
|
|
39
47
|
export * from './guid';
|
|
40
48
|
export * from './subs';
|
|
41
49
|
export * from './utils';
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLFFBQVE7QUFDUixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLFVBQVU7QUFDVixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYztBQUNkLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsb0NBQW9DLENBQUM7QUFFbkQsU0FBUztBQUNULGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxlQUFlO0FBQ2YsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsK0NBQStDLENBQUM7QUFFOUQsYUFBYTtBQUNiLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsVUFBVTtBQUNWLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0NBQWdDLENBQUE7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLHFDQUFxQyxDQUFBO0FBRW5ELGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDIgQXVnIDIwMjJcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG4vL2NvbnN0c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnN0cy9zZXR0aW5ncyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RzL3VybHMnO1xyXG5cclxuLy9jb252ZXJ0c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRzL2NvbnZlcnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnRzL3htbEZvcm1hdHRlcic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2dvL2Jhc2UtZ28uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VhcmRzL29uY2UtaW1wb3J0Lmd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmNlcHRvcnMvaHR0cEludGVyY2VwdG9yJztcclxuXHJcbi8vbG9jYWxpemF0aW9uXHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvblNldHRpbmdzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5tb2R1bGUnO1xyXG5cclxuLy9sb2dnaW5nXHJcbmV4cG9ydCAqIGZyb20gJy4vbG9nZ2luZy9nbG9iYWxFcnJvckhhbmRsZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZ2dpbmcvbG9nZ2luZy5zZXJ2aWNlJztcclxuXHJcbi8vbm90aWZpY2F0aW9uc1xyXG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMvYWxlcnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbi8vcGVyZm9ybWFuY2VcclxuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZS9zdG9wd2F0Y2gnO1xyXG5cclxuLy9zZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2FwcGNvbnRleHQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaWRsZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9sb2FkaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3dlYi1zdG9yYWdlLnNlcnZpY2UnXHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZG0uc2VydmljZSdcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ3VpZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3Vicyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xyXG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim@osovitny.com
|
|
8
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
9
|
+
|
|
10
|
+
Created:
|
|
11
|
+
17 Apr 2023
|
|
12
|
+
|
|
13
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
14
|
+
</file>
|
|
15
|
+
*/
|
|
16
|
+
export class Stopwatch {
|
|
17
|
+
constructor(name) {
|
|
18
|
+
this.name = name;
|
|
19
|
+
this.startTime = 0;
|
|
20
|
+
this.stopTime = 0;
|
|
21
|
+
this.running = false;
|
|
22
|
+
this.performance = !!window.performance;
|
|
23
|
+
console.log(this.name + ' started.');
|
|
24
|
+
}
|
|
25
|
+
currentTime() {
|
|
26
|
+
return this.performance ? window.performance.now() : new Date().getTime();
|
|
27
|
+
}
|
|
28
|
+
start() {
|
|
29
|
+
this.startTime = this.currentTime();
|
|
30
|
+
this.running = true;
|
|
31
|
+
}
|
|
32
|
+
stop() {
|
|
33
|
+
this.stopTime = this.currentTime();
|
|
34
|
+
this.running = false;
|
|
35
|
+
}
|
|
36
|
+
getElapsedMilliseconds() {
|
|
37
|
+
if (this.running) {
|
|
38
|
+
this.stopTime = this.currentTime();
|
|
39
|
+
}
|
|
40
|
+
return this.stopTime - this.startTime;
|
|
41
|
+
}
|
|
42
|
+
getElapsedSeconds() {
|
|
43
|
+
return this.getElapsedMilliseconds() / 1000;
|
|
44
|
+
}
|
|
45
|
+
printElapsedAsMilliseconds() {
|
|
46
|
+
let elapsed = this.getElapsedMilliseconds();
|
|
47
|
+
console.log(`${this.name} stopped. Execution time: ${elapsed} ms`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcHdhdGNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2NvcmUvcGVyZm9ybWFuY2Uvc3RvcHdhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsTUFBTSxPQUFPLFNBQVM7SUFPcEIsWUFBWSxJQUFJO1FBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUV4QyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVPLFdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVFLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQztRQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSw2QkFBNkIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQG9zb3ZpdG55L2FuYXRvbHlcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltQG9zb3ZpdG55LmNvbVxyXG4gICAgQW5hdG9seSBPc292aXRueSBhbmF0b2x5QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTcgQXByIDIwMjNcclxuIFxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuZXhwb3J0IGNsYXNzIFN0b3B3YXRjaCB7XHJcbiAgcHJpdmF0ZSBuYW1lO1xyXG4gIHByaXZhdGUgc3RhcnRUaW1lO1xyXG4gIHByaXZhdGUgc3RvcFRpbWU7XHJcbiAgcHJpdmF0ZSBydW5uaW5nO1xyXG4gIHByaXZhdGUgcGVyZm9ybWFuY2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLnN0YXJ0VGltZSA9IDA7XHJcbiAgICB0aGlzLnN0b3BUaW1lID0gMDtcclxuICAgIHRoaXMucnVubmluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5wZXJmb3JtYW5jZSA9ICEhd2luZG93LnBlcmZvcm1hbmNlO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKHRoaXMubmFtZSArICcgc3RhcnRlZC4nKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3VycmVudFRpbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJmb3JtYW5jZSA/IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSA6IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnQoKSB7XHJcbiAgICB0aGlzLnN0YXJ0VGltZSA9IHRoaXMuY3VycmVudFRpbWUoKTtcclxuICAgIHRoaXMucnVubmluZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzdG9wKCkge1xyXG4gICAgdGhpcy5zdG9wVGltZSA9IHRoaXMuY3VycmVudFRpbWUoKTtcclxuICAgIHRoaXMucnVubmluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWxhcHNlZE1pbGxpc2Vjb25kcygpIHtcclxuICAgIGlmICh0aGlzLnJ1bm5pbmcpIHtcclxuICAgICAgdGhpcy5zdG9wVGltZSA9IHRoaXMuY3VycmVudFRpbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5zdG9wVGltZSAtIHRoaXMuc3RhcnRUaW1lO1xyXG4gIH1cclxuXHJcbiAgZ2V0RWxhcHNlZFNlY29uZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRFbGFwc2VkTWlsbGlzZWNvbmRzKCkgLyAxMDAwO1xyXG4gIH1cclxuXHJcbiAgcHJpbnRFbGFwc2VkQXNNaWxsaXNlY29uZHMoKSB7XHJcbiAgICBsZXQgZWxhcHNlZCA9IHRoaXMuZ2V0RWxhcHNlZE1pbGxpc2Vjb25kcygpO1xyXG4gICAgY29uc29sZS5sb2coYCR7dGhpcy5uYW1lfSBzdG9wcGVkLiBFeGVjdXRpb24gdGltZTogJHtlbGFwc2VkfSBtc2ApO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import js_beautify from 'js-beautify';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
import { Injectable, Pipe, APP_INITIALIZER, Injector, NgModule, Inject, Component, Input, EventEmitter, Output, ViewEncapsulation, Directive, ViewChild, HostBinding, HostListener, Optional, SkipSelf } from '@angular/core';
|
|
3
4
|
import * as i1 from '@angular/router';
|
|
@@ -19,7 +20,6 @@ import { v4 } from 'uuid';
|
|
|
19
20
|
import * as i1$2 from 'ngx-toastr';
|
|
20
21
|
import { ToastrModule } from 'ngx-toastr';
|
|
21
22
|
import * as i1$4 from '@angular/platform-browser';
|
|
22
|
-
import js_beautify from 'js-beautify';
|
|
23
23
|
import * as i1$6 from '@fortawesome/angular-fontawesome';
|
|
24
24
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
25
25
|
import * as i1$7 from '@progress/kendo-angular-pager';
|
|
@@ -76,6 +76,143 @@ const Urls = {
|
|
|
76
76
|
notificationsSocketUrl: '/hubs/notifications'
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
+
/*
|
|
80
|
+
<file>
|
|
81
|
+
Project:
|
|
82
|
+
@osovitny/anatoly
|
|
83
|
+
|
|
84
|
+
Authors:
|
|
85
|
+
Vadim Osovitny vadim@osovitny.com
|
|
86
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
87
|
+
|
|
88
|
+
Created:
|
|
89
|
+
29 June 2020
|
|
90
|
+
|
|
91
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
92
|
+
</file>
|
|
93
|
+
*/
|
|
94
|
+
class Convert {
|
|
95
|
+
static pad(number) {
|
|
96
|
+
if (number < 10) {
|
|
97
|
+
return '0' + number;
|
|
98
|
+
}
|
|
99
|
+
return number;
|
|
100
|
+
}
|
|
101
|
+
static toLocalizedDateTime(value) {
|
|
102
|
+
if (value) {
|
|
103
|
+
return new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(), value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds()));
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
static enumToString(enumeration, value) {
|
|
108
|
+
for (let k in enumeration)
|
|
109
|
+
if (enumeration[k] == value)
|
|
110
|
+
return k;
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
static enumToArray(enumeration, notIncludes) {
|
|
114
|
+
const notIncludeFiler = (value) => {
|
|
115
|
+
if (isNaN(Number(value))) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
if (notIncludes) {
|
|
119
|
+
for (let i in notIncludes) {
|
|
120
|
+
if (notIncludes[i] == value)
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return true;
|
|
125
|
+
};
|
|
126
|
+
return Object.keys(enumeration)
|
|
127
|
+
.filter(notIncludeFiler)
|
|
128
|
+
.map(key => ({
|
|
129
|
+
value: key,
|
|
130
|
+
text: enumeration[key]
|
|
131
|
+
}));
|
|
132
|
+
}
|
|
133
|
+
static stringToArray(str, separator = ',') {
|
|
134
|
+
if (str) {
|
|
135
|
+
return str.split(separator).filter(element => element);
|
|
136
|
+
}
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
static stringToIntArray(str, separator = ',') {
|
|
140
|
+
if (str) {
|
|
141
|
+
return str.split(separator).filter(element => element).map(value => parseInt(value));
|
|
142
|
+
}
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
static company2String(comp) {
|
|
146
|
+
let company = JSON.parse(comp);
|
|
147
|
+
if (company) {
|
|
148
|
+
return `${company.name} ${company.phone} ${company.email} ${company.websiteUrl}`;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
static address2String(adr) {
|
|
152
|
+
let address = JSON.parse(adr);
|
|
153
|
+
return `${address.street} ${address.street2} ${address.city} ${address.stateOrRegion} ${address.zipcode} ${address.country}`;
|
|
154
|
+
}
|
|
155
|
+
static dateToString(date) {
|
|
156
|
+
return date.getFullYear() +
|
|
157
|
+
'-' + this.pad(date.getMonth() + 1) +
|
|
158
|
+
'-' + this.pad(date.getDate()) +
|
|
159
|
+
' ' + this.pad(date.getHours()) +
|
|
160
|
+
':' + this.pad(date.getMinutes()) +
|
|
161
|
+
':' + this.pad(date.getSeconds());
|
|
162
|
+
}
|
|
163
|
+
static utcDateToLocalDate(d) {
|
|
164
|
+
let date = new Date(d);
|
|
165
|
+
return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));
|
|
166
|
+
}
|
|
167
|
+
static stringToBoolean(value) {
|
|
168
|
+
switch (value.toLowerCase().trim()) {
|
|
169
|
+
case "true":
|
|
170
|
+
case "yes":
|
|
171
|
+
case "1":
|
|
172
|
+
return true;
|
|
173
|
+
case "false":
|
|
174
|
+
case "no":
|
|
175
|
+
case "0":
|
|
176
|
+
case null:
|
|
177
|
+
return false;
|
|
178
|
+
default:
|
|
179
|
+
return Boolean(value);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
/*
|
|
185
|
+
<file>
|
|
186
|
+
Project:
|
|
187
|
+
@osovitny/anatoly
|
|
188
|
+
|
|
189
|
+
Authors:
|
|
190
|
+
Vadim Osovitny vadim@osovitny.com
|
|
191
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
192
|
+
|
|
193
|
+
Created:
|
|
194
|
+
10 Sep 2022
|
|
195
|
+
|
|
196
|
+
Code:
|
|
197
|
+
https://www.npmjs.com/package/js-beautify
|
|
198
|
+
https://beautifier.io
|
|
199
|
+
|
|
200
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
201
|
+
</file>
|
|
202
|
+
*/
|
|
203
|
+
class XmlFormatter {
|
|
204
|
+
static toPrettyXML(s, options) {
|
|
205
|
+
if (!options) {
|
|
206
|
+
options = {
|
|
207
|
+
indent_size: 2,
|
|
208
|
+
indent_char: " ",
|
|
209
|
+
wrap_line_length: 110
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
return js_beautify.html(s, options);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
79
216
|
/*
|
|
80
217
|
<file>
|
|
81
218
|
Project:
|
|
@@ -341,111 +478,6 @@ AnatolyHttpInterceptor.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: A
|
|
|
341
478
|
}], function () { return [{ type: LoadingService }, { type: LoggingService }]; }, null);
|
|
342
479
|
})();
|
|
343
480
|
|
|
344
|
-
/*
|
|
345
|
-
<file>
|
|
346
|
-
Project:
|
|
347
|
-
@osovitny/anatoly
|
|
348
|
-
|
|
349
|
-
Authors:
|
|
350
|
-
Vadim Osovitny vadim@osovitny.com
|
|
351
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
352
|
-
|
|
353
|
-
Created:
|
|
354
|
-
29 June 2020
|
|
355
|
-
|
|
356
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
357
|
-
</file>
|
|
358
|
-
*/
|
|
359
|
-
class Convert {
|
|
360
|
-
static pad(number) {
|
|
361
|
-
if (number < 10) {
|
|
362
|
-
return '0' + number;
|
|
363
|
-
}
|
|
364
|
-
return number;
|
|
365
|
-
}
|
|
366
|
-
static toLocalizedDateTime(value) {
|
|
367
|
-
if (value) {
|
|
368
|
-
return new Date(Date.UTC(value.getFullYear(), value.getMonth(), value.getDate(), value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds()));
|
|
369
|
-
}
|
|
370
|
-
return null;
|
|
371
|
-
}
|
|
372
|
-
static enumToString(enumeration, value) {
|
|
373
|
-
for (let k in enumeration)
|
|
374
|
-
if (enumeration[k] == value)
|
|
375
|
-
return k;
|
|
376
|
-
return null;
|
|
377
|
-
}
|
|
378
|
-
static enumToArray(enumeration, notIncludes) {
|
|
379
|
-
const notIncludeFiler = (value) => {
|
|
380
|
-
if (isNaN(Number(value))) {
|
|
381
|
-
return false;
|
|
382
|
-
}
|
|
383
|
-
if (notIncludes) {
|
|
384
|
-
for (let i in notIncludes) {
|
|
385
|
-
if (notIncludes[i] == value)
|
|
386
|
-
return false;
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
return true;
|
|
390
|
-
};
|
|
391
|
-
return Object.keys(enumeration)
|
|
392
|
-
.filter(notIncludeFiler)
|
|
393
|
-
.map(key => ({
|
|
394
|
-
value: key,
|
|
395
|
-
text: enumeration[key]
|
|
396
|
-
}));
|
|
397
|
-
}
|
|
398
|
-
static stringToArray(str, separator = ',') {
|
|
399
|
-
if (str) {
|
|
400
|
-
return str.split(separator).filter(element => element);
|
|
401
|
-
}
|
|
402
|
-
return [];
|
|
403
|
-
}
|
|
404
|
-
static stringToIntArray(str, separator = ',') {
|
|
405
|
-
if (str) {
|
|
406
|
-
return str.split(separator).filter(element => element).map(value => parseInt(value));
|
|
407
|
-
}
|
|
408
|
-
return [];
|
|
409
|
-
}
|
|
410
|
-
static company2String(comp) {
|
|
411
|
-
let company = JSON.parse(comp);
|
|
412
|
-
if (company) {
|
|
413
|
-
return `${company.name} ${company.phone} ${company.email} ${company.websiteUrl}`;
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
static address2String(adr) {
|
|
417
|
-
let address = JSON.parse(adr);
|
|
418
|
-
return `${address.street} ${address.street2} ${address.city} ${address.stateOrRegion} ${address.zipcode} ${address.country}`;
|
|
419
|
-
}
|
|
420
|
-
static dateToString(date) {
|
|
421
|
-
return date.getFullYear() +
|
|
422
|
-
'-' + this.pad(date.getMonth() + 1) +
|
|
423
|
-
'-' + this.pad(date.getDate()) +
|
|
424
|
-
' ' + this.pad(date.getHours()) +
|
|
425
|
-
':' + this.pad(date.getMinutes()) +
|
|
426
|
-
':' + this.pad(date.getSeconds());
|
|
427
|
-
}
|
|
428
|
-
static utcDateToLocalDate(d) {
|
|
429
|
-
let date = new Date(d);
|
|
430
|
-
return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));
|
|
431
|
-
}
|
|
432
|
-
static stringToBoolean(value) {
|
|
433
|
-
switch (value.toLowerCase().trim()) {
|
|
434
|
-
case "true":
|
|
435
|
-
case "yes":
|
|
436
|
-
case "1":
|
|
437
|
-
return true;
|
|
438
|
-
case "false":
|
|
439
|
-
case "no":
|
|
440
|
-
case "0":
|
|
441
|
-
case null:
|
|
442
|
-
return false;
|
|
443
|
-
default:
|
|
444
|
-
return Boolean(value);
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
481
|
/*
|
|
450
482
|
<file>
|
|
451
483
|
Project:
|
|
@@ -1232,6 +1264,56 @@ NotificationService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Noti
|
|
|
1232
1264
|
}], function () { return [{ type: i1$2.ToastrService }]; }, null);
|
|
1233
1265
|
})();
|
|
1234
1266
|
|
|
1267
|
+
/*
|
|
1268
|
+
<file>
|
|
1269
|
+
Project:
|
|
1270
|
+
@osovitny/anatoly
|
|
1271
|
+
|
|
1272
|
+
Authors:
|
|
1273
|
+
Vadim Osovitny vadim@osovitny.com
|
|
1274
|
+
Anatoly Osovitny anatoly@osovitny.com
|
|
1275
|
+
|
|
1276
|
+
Created:
|
|
1277
|
+
17 Apr 2023
|
|
1278
|
+
|
|
1279
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
1280
|
+
</file>
|
|
1281
|
+
*/
|
|
1282
|
+
class Stopwatch {
|
|
1283
|
+
constructor(name) {
|
|
1284
|
+
this.name = name;
|
|
1285
|
+
this.startTime = 0;
|
|
1286
|
+
this.stopTime = 0;
|
|
1287
|
+
this.running = false;
|
|
1288
|
+
this.performance = !!window.performance;
|
|
1289
|
+
console.log(this.name + ' started.');
|
|
1290
|
+
}
|
|
1291
|
+
currentTime() {
|
|
1292
|
+
return this.performance ? window.performance.now() : new Date().getTime();
|
|
1293
|
+
}
|
|
1294
|
+
start() {
|
|
1295
|
+
this.startTime = this.currentTime();
|
|
1296
|
+
this.running = true;
|
|
1297
|
+
}
|
|
1298
|
+
stop() {
|
|
1299
|
+
this.stopTime = this.currentTime();
|
|
1300
|
+
this.running = false;
|
|
1301
|
+
}
|
|
1302
|
+
getElapsedMilliseconds() {
|
|
1303
|
+
if (this.running) {
|
|
1304
|
+
this.stopTime = this.currentTime();
|
|
1305
|
+
}
|
|
1306
|
+
return this.stopTime - this.startTime;
|
|
1307
|
+
}
|
|
1308
|
+
getElapsedSeconds() {
|
|
1309
|
+
return this.getElapsedMilliseconds() / 1000;
|
|
1310
|
+
}
|
|
1311
|
+
printElapsedAsMilliseconds() {
|
|
1312
|
+
let elapsed = this.getElapsedMilliseconds();
|
|
1313
|
+
console.log(`${this.name} stopped. Execution time: ${elapsed} ms`);
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
|
|
1235
1317
|
/*
|
|
1236
1318
|
<file>
|
|
1237
1319
|
Project:
|
|
@@ -1714,38 +1796,6 @@ GoogleAnalyticsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: G
|
|
|
1714
1796
|
}], function () { return [{ type: i1.Router }]; }, null);
|
|
1715
1797
|
})();
|
|
1716
1798
|
|
|
1717
|
-
/*
|
|
1718
|
-
<file>
|
|
1719
|
-
Project:
|
|
1720
|
-
@osovitny/anatoly
|
|
1721
|
-
|
|
1722
|
-
Authors:
|
|
1723
|
-
Vadim Osovitny vadim@osovitny.com
|
|
1724
|
-
Anatoly Osovitny anatoly@osovitny.com
|
|
1725
|
-
|
|
1726
|
-
Created:
|
|
1727
|
-
10 Sep 2022
|
|
1728
|
-
|
|
1729
|
-
Code:
|
|
1730
|
-
https://www.npmjs.com/package/js-beautify
|
|
1731
|
-
https://beautifier.io
|
|
1732
|
-
|
|
1733
|
-
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
1734
|
-
</file>
|
|
1735
|
-
*/
|
|
1736
|
-
class XmlFormatter {
|
|
1737
|
-
static toPrettyXML(s, options) {
|
|
1738
|
-
if (!options) {
|
|
1739
|
-
options = {
|
|
1740
|
-
indent_size: 2,
|
|
1741
|
-
indent_char: " ",
|
|
1742
|
-
wrap_line_length: 110
|
|
1743
|
-
};
|
|
1744
|
-
}
|
|
1745
|
-
return js_beautify.html(s, options);
|
|
1746
|
-
}
|
|
1747
|
-
}
|
|
1748
|
-
|
|
1749
1799
|
/*
|
|
1750
1800
|
<file>
|
|
1751
1801
|
Project:
|
|
@@ -5973,5 +6023,5 @@ AnatolyModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModu
|
|
|
5973
6023
|
* Generated bundle index. Do not edit.
|
|
5974
6024
|
*/
|
|
5975
6025
|
|
|
5976
|
-
export { AddressComponent, Alerts, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyModule, AnatolyUIModule, AppContextService, AppCoreSettings, BaseApiService, BaseComponent, BaseDialog, BaseEditComponent, BaseGoService, BaseGridEditService, BaseGridReadService, BaseHtmlEditorComponent, BaseList, BasePage, BasePagedPage, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, CompanyComponent, ContactUsDialog, ContactUsForm, Convert, Copy2ClipboardComponent, CoreApiService, DOM, DatapagerComponent, DefaultEditorOptions, DigitalMarketingService, EmailsApiService, FileSizePipe, FormValidationSummaryComponent, FormsHtmlEditorComponent, FroalaEditorModuleWithProviders, FroalaViewModuleWithProviders, GlobalErrorHandler, GoogleAnalyticsService, Guid, HoveringDirective, HtmlEditorComponent, IdleService, InjectorInstance, ItemValidationSummaryComponent, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, NativeElementDirective, NodataComponent, NotificationService, NotificationsApiService, PageSpinnerComponent, ReplaceTextPipe, SafeHtmlPipe, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, Subs, SubscribePlanButtonComponent, TimezoneDropdownlist, TranslateModuleAtRoot, UrlSlugComponent, Urls, Utils, ValidationSummaryComponent, XmlFormatter, customTranslateLoaderFactory, localizationInitializerFactory, throwIfAlreadyLoaded };
|
|
6026
|
+
export { AddressComponent, Alerts, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyModule, AnatolyUIModule, AppContextService, AppCoreSettings, BaseApiService, BaseComponent, BaseDialog, BaseEditComponent, BaseGoService, BaseGridEditService, BaseGridReadService, BaseHtmlEditorComponent, BaseList, BasePage, BasePagedPage, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, CompanyComponent, ContactUsDialog, ContactUsForm, Convert, Copy2ClipboardComponent, CoreApiService, DOM, DatapagerComponent, DefaultEditorOptions, DigitalMarketingService, EmailsApiService, FileSizePipe, FormValidationSummaryComponent, FormsHtmlEditorComponent, FroalaEditorModuleWithProviders, FroalaViewModuleWithProviders, GlobalErrorHandler, GoogleAnalyticsService, Guid, HoveringDirective, HtmlEditorComponent, IdleService, InjectorInstance, ItemValidationSummaryComponent, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, NativeElementDirective, NodataComponent, NotificationService, NotificationsApiService, PageSpinnerComponent, ReplaceTextPipe, SafeHtmlPipe, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, Stopwatch, Subs, SubscribePlanButtonComponent, TimezoneDropdownlist, TranslateModuleAtRoot, UrlSlugComponent, Urls, Utils, ValidationSummaryComponent, XmlFormatter, customTranslateLoaderFactory, localizationInitializerFactory, throwIfAlreadyLoaded };
|
|
5977
6027
|
//# sourceMappingURL=osovitny-anatoly.mjs.map
|