@acorex/core 6.5.70 → 6.5.72
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/README.md +6 -2
- package/esm2022/acorex-core.mjs +5 -0
- package/esm2022/index.mjs +44 -0
- package/esm2022/lib/classes/base-page.class.mjs +26 -0
- package/esm2022/lib/classes/color.class.mjs +49 -0
- package/esm2022/lib/classes/datetime.class.mjs +323 -0
- package/esm2022/lib/classes/menu.class.mjs +35 -0
- package/esm2022/lib/classes/navigator.class.mjs +2 -0
- package/esm2022/lib/classes/popup.class.mjs +2 -0
- package/esm2022/lib/classes/promise.class.mjs +21 -0
- package/esm2022/lib/classes/sectionlist.class.mjs +2 -0
- package/esm2022/lib/classes/select.class.mjs +8 -0
- package/esm2022/lib/core.module.mjs +27 -0
- package/esm2022/lib/error/error.class.mjs +2 -0
- package/esm2022/lib/error/error.module.mjs +19 -0
- package/esm2022/lib/error/error.service.mjs +22 -0
- package/esm2022/lib/events/keyboard.mjs +2 -0
- package/esm2022/lib/http/http-error.class.mjs +2 -0
- package/esm2022/lib/http/http-events.interceptor.mjs +3 -0
- package/esm2022/lib/http/http-request.class.mjs +2 -0
- package/esm2022/lib/http/http-result.class.mjs +25 -0
- package/esm2022/lib/http/http.module.mjs +35 -0
- package/esm2022/lib/http/http.service.mjs +148 -0
- package/{esm2020 → esm2022}/lib/locale/en.json +1 -1
- package/esm2022/lib/pipe/datetime.pipe.mjs +25 -0
- package/esm2022/lib/pipe/htmlToText.pipe.mjs +25 -0
- package/esm2022/lib/platform/index.mjs +2 -0
- package/esm2022/lib/platform/platform.service.mjs +152 -0
- package/esm2022/lib/services/config.mjs +29 -0
- package/esm2022/lib/services/event.service.mjs +34 -0
- package/esm2022/lib/services/navigator.service.mjs +10 -0
- package/esm2022/lib/services/storage.service.mjs +16 -0
- package/esm2022/lib/translator/translator.mjs +26 -0
- package/esm2022/lib/translator/translator.module.mjs +25 -0
- package/esm2022/lib/translator/translator.pipe.mjs +24 -0
- package/esm2022/lib/translator/translator.service.mjs +21 -0
- package/esm2022/lib/utils/array/array-util.mjs +133 -0
- package/esm2022/lib/utils/html/html-util.mjs +200 -0
- package/esm2022/lib/utils/html/html.module.mjs +19 -0
- package/esm2022/lib/utils/math/math-util.mjs +6 -0
- package/esm2022/lib/utils/object/object-util.mjs +83 -0
- package/esm2022/lib/utils/render/on-demand-preload-strategy.service.mjs +21 -0
- package/esm2022/lib/utils/render/render.service.mjs +109 -0
- package/esm2022/lib/utils/render/rendering.module.mjs +35 -0
- package/esm2022/lib/utils/scroll/scroll.directive.mjs +56 -0
- package/esm2022/lib/utils/scroll/scroll.module.mjs +19 -0
- package/esm2022/lib/utils/separator/separator.module.mjs +19 -0
- package/esm2022/lib/utils/separator/separator.pipe.mjs +33 -0
- package/{fesm2020 → fesm2022}/acorex-core.mjs +241 -196
- package/fesm2022/acorex-core.mjs.map +1 -0
- package/lib/classes/datetime.class.d.ts +4 -4
- package/lib/pipe/datetime.pipe.d.ts +1 -1
- package/lib/pipe/htmlToText.pipe.d.ts +1 -1
- package/lib/platform/platform.service.d.ts +4 -4
- package/lib/translator/translator.pipe.d.ts +1 -1
- package/lib/utils/html/html-util.d.ts +1 -1
- package/lib/utils/scroll/scroll.directive.d.ts +2 -2
- package/lib/utils/separator/separator.pipe.d.ts +1 -1
- package/package.json +14 -20
- package/acorex-core.d.ts +0 -5
- package/esm2020/acorex-core.mjs +0 -5
- package/esm2020/lib/classes/base-page.class.mjs +0 -28
- package/esm2020/lib/classes/color.class.mjs +0 -49
- package/esm2020/lib/classes/datetime.class.mjs +0 -314
- package/esm2020/lib/classes/menu.class.mjs +0 -27
- package/esm2020/lib/classes/navigator.class.mjs +0 -2
- package/esm2020/lib/classes/popup.class.mjs +0 -2
- package/esm2020/lib/classes/promise.class.mjs +0 -19
- package/esm2020/lib/classes/sectionlist.class.mjs +0 -2
- package/esm2020/lib/classes/select.class.mjs +0 -3
- package/esm2020/lib/core.module.mjs +0 -27
- package/esm2020/lib/error/error.class.mjs +0 -2
- package/esm2020/lib/error/error.module.mjs +0 -19
- package/esm2020/lib/error/error.service.mjs +0 -21
- package/esm2020/lib/events/keyboard.mjs +0 -2
- package/esm2020/lib/http/http-error.class.mjs +0 -2
- package/esm2020/lib/http/http-events.interceptor.mjs +0 -3
- package/esm2020/lib/http/http-request.class.mjs +0 -2
- package/esm2020/lib/http/http-result.class.mjs +0 -21
- package/esm2020/lib/http/http.module.mjs +0 -37
- package/esm2020/lib/http/http.service.mjs +0 -145
- package/esm2020/lib/pipe/datetime.pipe.mjs +0 -25
- package/esm2020/lib/pipe/htmlToText.pipe.mjs +0 -25
- package/esm2020/lib/platform/index.mjs +0 -2
- package/esm2020/lib/platform/platform.service.mjs +0 -150
- package/esm2020/lib/services/config.mjs +0 -29
- package/esm2020/lib/services/event.service.mjs +0 -36
- package/esm2020/lib/services/navigator.service.mjs +0 -10
- package/esm2020/lib/services/storage.service.mjs +0 -16
- package/esm2020/lib/translator/translator.mjs +0 -26
- package/esm2020/lib/translator/translator.module.mjs +0 -25
- package/esm2020/lib/translator/translator.pipe.mjs +0 -24
- package/esm2020/lib/translator/translator.service.mjs +0 -21
- package/esm2020/lib/utils/array/array-util.mjs +0 -133
- package/esm2020/lib/utils/html/html-util.mjs +0 -192
- package/esm2020/lib/utils/html/html.module.mjs +0 -19
- package/esm2020/lib/utils/math/math-util.mjs +0 -6
- package/esm2020/lib/utils/object/object-util.mjs +0 -83
- package/esm2020/lib/utils/render/on-demand-preload-strategy.service.mjs +0 -20
- package/esm2020/lib/utils/render/render.service.mjs +0 -103
- package/esm2020/lib/utils/render/rendering.module.mjs +0 -35
- package/esm2020/lib/utils/scroll/scroll.directive.mjs +0 -54
- package/esm2020/lib/utils/scroll/scroll.module.mjs +0 -19
- package/esm2020/lib/utils/separator/separator.module.mjs +0 -19
- package/esm2020/lib/utils/separator/separator.pipe.mjs +0 -33
- package/esm2020/public-api.mjs +0 -44
- package/fesm2015/acorex-core.mjs +0 -2274
- package/fesm2015/acorex-core.mjs.map +0 -1
- package/fesm2020/acorex-core.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/locale/fa.json +0 -0
- /package/{public-api.d.ts → index.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2Fjb3JleC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export * from './lib/classes/color.class';
|
|
2
|
+
export * from './lib/classes/datetime.class';
|
|
3
|
+
export * from './lib/classes/menu.class';
|
|
4
|
+
export * from './lib/classes/navigator.class';
|
|
5
|
+
export * from './lib/classes/popup.class';
|
|
6
|
+
export * from './lib/classes/promise.class';
|
|
7
|
+
export * from './lib/classes/sectionlist.class';
|
|
8
|
+
export * from './lib/classes/select.class';
|
|
9
|
+
export * from './lib/classes/base-page.class';
|
|
10
|
+
export * from './lib/error/error.class';
|
|
11
|
+
export * from './lib/error/error.module';
|
|
12
|
+
export * from './lib/error/error.service';
|
|
13
|
+
export * from './lib/events/keyboard';
|
|
14
|
+
export * from './lib/http/http-error.class';
|
|
15
|
+
export * from './lib/http/http-events.interceptor';
|
|
16
|
+
export * from './lib/http/http-request.class';
|
|
17
|
+
export * from './lib/http/http-result.class';
|
|
18
|
+
export * from './lib/http/http.module';
|
|
19
|
+
export * from './lib/http/http.service';
|
|
20
|
+
export * from './lib/platform/index';
|
|
21
|
+
export * from './lib/pipe/datetime.pipe';
|
|
22
|
+
export * from './lib/pipe/htmlToText.pipe';
|
|
23
|
+
export * from './lib/services/event.service';
|
|
24
|
+
export * from './lib/services/navigator.service';
|
|
25
|
+
export * from './lib/services/storage.service';
|
|
26
|
+
export * from './lib/services/config';
|
|
27
|
+
export * from './lib/translator/translator.service';
|
|
28
|
+
export * from './lib/translator/translator.pipe';
|
|
29
|
+
export * from './lib/translator/translator';
|
|
30
|
+
export * from './lib/translator/translator.module';
|
|
31
|
+
export * from './lib/utils/array/array-util';
|
|
32
|
+
export * from './lib/utils/html/html-util';
|
|
33
|
+
export * from './lib/utils/html/html.module';
|
|
34
|
+
export * from './lib/utils/math/math-util';
|
|
35
|
+
export * from './lib/utils/object/object-util';
|
|
36
|
+
export * from './lib/utils/render/render.service';
|
|
37
|
+
export * from './lib/utils/render/on-demand-preload-strategy.service';
|
|
38
|
+
export * from './lib/utils/render/rendering.module';
|
|
39
|
+
export * from './lib/utils/scroll/scroll.directive';
|
|
40
|
+
export * from './lib/utils/scroll/scroll.module';
|
|
41
|
+
export * from './lib/utils/separator/separator.module';
|
|
42
|
+
export * from './lib/utils/separator/separator.pipe';
|
|
43
|
+
export * from './lib/core.module';
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1QkFBdUIsQ0FBQztBQUd0QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2NvbG9yLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvZGF0ZXRpbWUuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9tZW51LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvbmF2aWdhdG9yLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvcG9wdXAuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9wcm9taXNlLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvc2VjdGlvbmxpc3QuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9zZWxlY3QuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9iYXNlLXBhZ2UuY2xhc3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvci9lcnJvci5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lcnJvci9lcnJvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3IvZXJyb3Iuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2V2ZW50cy9rZXlib2FyZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0dHAvaHR0cC1lcnJvci5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9odHRwL2h0dHAtZXZlbnRzLmludGVyY2VwdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0dHAvaHR0cC1yZXF1ZXN0LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0dHAvaHR0cC1yZXN1bHQuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaHR0cC9odHRwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9odHRwL2h0dHAuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BsYXRmb3JtL2luZGV4JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZS9kYXRldGltZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUvaHRtbFRvVGV4dC5waXBlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXZlbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9uYXZpZ2F0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvY29uZmlnJztcblxuXG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3IucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90cmFuc2xhdG9yL3RyYW5zbGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRvci90cmFuc2xhdG9yLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2FycmF5L2FycmF5LXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvaHRtbC9odG1sLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvaHRtbC9odG1sLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9tYXRoL21hdGgtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9vYmplY3Qvb2JqZWN0LXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvcmVuZGVyL3JlbmRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3JlbmRlci9vbi1kZW1hbmQtcHJlbG9hZC1zdHJhdGVneS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3JlbmRlci9yZW5kZXJpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3Njcm9sbC9zY3JvbGwubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3NlcGFyYXRvci9zZXBhcmF0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3NlcGFyYXRvci9zZXBhcmF0b3IucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLm1vZHVsZSc7XG5cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use AXBasePageComponent from @acorex/components
|
|
5
|
+
*/
|
|
6
|
+
// TODO: Add Angular decorator.
|
|
7
|
+
export class AXBasePageComponent {
|
|
8
|
+
onClosed = new EventEmitter();
|
|
9
|
+
close(data) {
|
|
10
|
+
this.onClosed.emit({
|
|
11
|
+
component: this,
|
|
12
|
+
data: data
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
onClosing(e) {
|
|
16
|
+
}
|
|
17
|
+
ngOnDestroy() {
|
|
18
|
+
this.onClosed.unsubscribe();
|
|
19
|
+
}
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXBasePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXBasePageComponent });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AXBasePageComponent, decorators: [{
|
|
24
|
+
type: Injectable
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wYWdlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9iYXNlLXBhZ2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXpEOztHQUVHO0FBQ0gsK0JBQStCO0FBRS9CLE1BQU0sT0FBZ0IsbUJBQW1CO0lBRXJDLFFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUV0RCxLQUFLLENBQUMsSUFBVTtRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2YsU0FBUyxFQUFFLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBTTtJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEMsQ0FBQzt3R0FoQmlCLG1CQUFtQjs0R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIEFYQmFzZVBhZ2VDb21wb25lbnQgZnJvbSBAYWNvcmV4L2NvbXBvbmVudHNcbiAqL1xuLy8gVE9ETzogQWRkIEFuZ3VsYXIgZGVjb3JhdG9yLlxuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgb25DbG9zZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjbG9zZShkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMub25DbG9zZWQuZW1pdCh7XG4gICAgICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgICAgICBkYXRhOiBkYXRhXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ2xvc2luZyhlOiBhbnkpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMub25DbG9zZWQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cblxufVxuXG5cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export class AXColorUtil {
|
|
2
|
+
static hex2Rgb(hexColor) {
|
|
3
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hexColor);
|
|
4
|
+
return result ? {
|
|
5
|
+
r: parseInt(result[1], 16),
|
|
6
|
+
g: parseInt(result[2], 16),
|
|
7
|
+
b: parseInt(result[3], 16)
|
|
8
|
+
} : null;
|
|
9
|
+
}
|
|
10
|
+
static rgb2Hex(r, g, b, a = 255) {
|
|
11
|
+
let alpha;
|
|
12
|
+
let hex = (r | 1 << 8).toString(16).slice(1) +
|
|
13
|
+
(g | 1 << 8).toString(16).slice(1) +
|
|
14
|
+
(b | 1 << 8).toString(16).slice(1);
|
|
15
|
+
if (a !== 255) {
|
|
16
|
+
alpha = a;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
alpha = 1;
|
|
20
|
+
}
|
|
21
|
+
alpha = Math.round(alpha * 100) / 100;
|
|
22
|
+
alpha = Math.round(alpha * 255);
|
|
23
|
+
const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();
|
|
24
|
+
return '#' + hex + (alpha == 255 ? '' : hexAlpha);
|
|
25
|
+
}
|
|
26
|
+
;
|
|
27
|
+
static illuminance(hexColor) {
|
|
28
|
+
const rgbColor = AXColorUtil.hex2Rgb(hexColor);
|
|
29
|
+
if (!rgbColor) {
|
|
30
|
+
return -1;
|
|
31
|
+
}
|
|
32
|
+
const r = rgbColor.r;
|
|
33
|
+
const g = rgbColor.g;
|
|
34
|
+
const b = rgbColor.b;
|
|
35
|
+
const a = [r, g, b].map(v => {
|
|
36
|
+
v /= 255;
|
|
37
|
+
return (v <= 0.03928) ?
|
|
38
|
+
v / 12.92 :
|
|
39
|
+
Math.pow(((v + 0.055) / 1.055), 2.4);
|
|
40
|
+
});
|
|
41
|
+
return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;
|
|
42
|
+
}
|
|
43
|
+
static contrastToWhite(hexColor) {
|
|
44
|
+
const whiteIlluminance = 1;
|
|
45
|
+
const illuminance = AXColorUtil.illuminance(hexColor);
|
|
46
|
+
return whiteIlluminance / illuminance;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL2NvbG9yLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxXQUFXO0lBR3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBZ0I7UUFDM0IsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNaLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQzdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUFFLElBQVksR0FBRztRQUMzRCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFO1lBQ1gsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUNiO2FBQU07WUFDSCxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2I7UUFFRCxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3RDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekUsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQUEsQ0FBQztJQUVGLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBZ0I7UUFDL0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNiO1FBQ0QsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QixDQUFDLElBQUksR0FBRyxDQUFDO1lBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNuQixDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFnQjtRQUNuQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO0lBQzFDLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhDb2xvciB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgY29kZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcbiAgICBhY3RpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgQVhDb2xvclV0aWwge1xuXG5cbiAgICBzdGF0aWMgaGV4MlJnYihoZXhDb2xvcjogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXhDb2xvcik7XG4gICAgICAgIHJldHVybiByZXN1bHQgPyB7XG4gICAgICAgICAgICByOiBwYXJzZUludChyZXN1bHRbMV0sIDE2KSxcbiAgICAgICAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxuICAgICAgICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNilcbiAgICAgICAgfSA6IG51bGw7XG4gICAgfVxuXG4gICAgc3RhdGljIHJnYjJIZXgocjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlciwgYTogbnVtYmVyID0gMjU1KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGFscGhhO1xuICAgICAgICBsZXQgaGV4ID0gKHIgfCAxIDw8IDgpLnRvU3RyaW5nKDE2KS5zbGljZSgxKSArXG4gICAgICAgICAgICAoZyB8IDEgPDwgOCkudG9TdHJpbmcoMTYpLnNsaWNlKDEpICtcbiAgICAgICAgICAgIChiIHwgMSA8PCA4KS50b1N0cmluZygxNikuc2xpY2UoMSk7XG4gICAgICAgIGlmIChhICE9PSAyNTUpIHtcbiAgICAgICAgICAgIGFscGhhID0gYTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFscGhhID0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFscGhhID0gTWF0aC5yb3VuZChhbHBoYSAqIDEwMCkgLyAxMDA7XG4gICAgICAgIGFscGhhID0gTWF0aC5yb3VuZChhbHBoYSAqIDI1NSk7XG4gICAgICAgIGNvbnN0IGhleEFscGhhID0gKGFscGhhICsgMHgxMDAwMCkudG9TdHJpbmcoMTYpLnN1YnN0cigtMikudG9VcHBlckNhc2UoKTtcbiAgICAgICAgcmV0dXJuICcjJyArIGhleCArIChhbHBoYSA9PSAyNTUgPyAnJyA6IGhleEFscGhhKTtcbiAgICB9O1xuXG4gICAgc3RhdGljIGlsbHVtaW5hbmNlKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmdiQ29sb3IgPSBBWENvbG9yVXRpbC5oZXgyUmdiKGhleENvbG9yKTtcbiAgICAgICAgaWYgKCFyZ2JDb2xvcikge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHIgPSByZ2JDb2xvci5yO1xuICAgICAgICBjb25zdCBnID0gcmdiQ29sb3IuZztcbiAgICAgICAgY29uc3QgYiA9IHJnYkNvbG9yLmI7XG4gICAgICAgIGNvbnN0IGEgPSBbciwgZywgYl0ubWFwKHYgPT4ge1xuICAgICAgICAgICAgdiAvPSAyNTU7XG4gICAgICAgICAgICByZXR1cm4gKHYgPD0gMC4wMzkyOCkgP1xuICAgICAgICAgICAgICAgIHYgLyAxMi45MiA6XG4gICAgICAgICAgICAgICAgTWF0aC5wb3coKCh2ICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGFbMF0gKiAwLjIxMjYgKyBhWzFdICogMC43MTUyICsgYVsyXSAqIDAuMDcyMjtcbiAgICB9XG5cbiAgICBzdGF0aWMgY29udHJhc3RUb1doaXRlKGhleENvbG9yOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgd2hpdGVJbGx1bWluYW5jZSA9IDE7XG4gICAgICAgIGNvbnN0IGlsbHVtaW5hbmNlID0gQVhDb2xvclV0aWwuaWxsdW1pbmFuY2UoaGV4Q29sb3IpO1xuICAgICAgICByZXR1cm4gd2hpdGVJbGx1bWluYW5jZSAvIGlsbHVtaW5hbmNlO1xuICAgIH1cblxufVxuIl19
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import moment from 'jalali-moment';
|
|
2
|
+
import { AXConfig } from '../services/config';
|
|
3
|
+
export class AXDateTime {
|
|
4
|
+
type;
|
|
5
|
+
static convert(value, type = AXConfig.get('dateTime.type') || 'gregorian') {
|
|
6
|
+
let date;
|
|
7
|
+
if (typeof value === 'string' || value instanceof String) {
|
|
8
|
+
date = new AXDateTime(value, type);
|
|
9
|
+
}
|
|
10
|
+
else if (value instanceof Date) {
|
|
11
|
+
date = new AXDateTime(value, type);
|
|
12
|
+
}
|
|
13
|
+
else if (value instanceof AXDateTime) {
|
|
14
|
+
date = value;
|
|
15
|
+
}
|
|
16
|
+
return date;
|
|
17
|
+
}
|
|
18
|
+
_date;
|
|
19
|
+
get date() {
|
|
20
|
+
return this._date;
|
|
21
|
+
}
|
|
22
|
+
resolveUnit(unit) {
|
|
23
|
+
return this.type === 'jalali' ? 'j' + unit : unit;
|
|
24
|
+
}
|
|
25
|
+
_moment;
|
|
26
|
+
// private get _moment(): moment_.Moment {
|
|
27
|
+
// const m = moment(this.date);
|
|
28
|
+
// if (this.type === 'jalali') {
|
|
29
|
+
// m.locale('fa');
|
|
30
|
+
// }
|
|
31
|
+
// return m;
|
|
32
|
+
// }
|
|
33
|
+
constructor(value = new Date(), type = AXConfig.get('dateTime.type') || 'gregorian') {
|
|
34
|
+
this.type = type;
|
|
35
|
+
if (value instanceof Date) {
|
|
36
|
+
this._date = value;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this._date = new Date(value);
|
|
40
|
+
}
|
|
41
|
+
this._moment = moment(this.date);
|
|
42
|
+
if (this.type === 'jalali') {
|
|
43
|
+
this._moment.locale('fa');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
clone() {
|
|
47
|
+
return new AXDateTime(this.date, this.type);
|
|
48
|
+
}
|
|
49
|
+
get dayInMonth() {
|
|
50
|
+
return this._moment.date();
|
|
51
|
+
}
|
|
52
|
+
get dayOfYear() {
|
|
53
|
+
return this._moment.dayOfYear();
|
|
54
|
+
}
|
|
55
|
+
get dayInWeek() {
|
|
56
|
+
return this._moment.day();
|
|
57
|
+
}
|
|
58
|
+
get hour() {
|
|
59
|
+
return this._moment.hour();
|
|
60
|
+
}
|
|
61
|
+
get minute() {
|
|
62
|
+
return this._moment.minute();
|
|
63
|
+
}
|
|
64
|
+
get second() {
|
|
65
|
+
return this._moment.second();
|
|
66
|
+
}
|
|
67
|
+
get year() {
|
|
68
|
+
return this._moment.year();
|
|
69
|
+
}
|
|
70
|
+
get monthOfYear() {
|
|
71
|
+
return this._moment.month();
|
|
72
|
+
}
|
|
73
|
+
get month() {
|
|
74
|
+
return new AXCalendarMonth(this);
|
|
75
|
+
}
|
|
76
|
+
get firstDayOfWeek() {
|
|
77
|
+
const a = moment(this.date);
|
|
78
|
+
if (this.type === 'jalali') {
|
|
79
|
+
this._moment.locale('fa');
|
|
80
|
+
}
|
|
81
|
+
return new AXDateTime(a.startOf('w').toDate(), this.type);
|
|
82
|
+
}
|
|
83
|
+
get endDayOfWeek() {
|
|
84
|
+
const a = moment(this.date);
|
|
85
|
+
if (this.type === 'jalali') {
|
|
86
|
+
this._moment.locale('fa');
|
|
87
|
+
}
|
|
88
|
+
return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);
|
|
89
|
+
}
|
|
90
|
+
convertStringToJalali(date, format) {
|
|
91
|
+
return moment(date).locale('fa').format('YYYY/M/D');
|
|
92
|
+
}
|
|
93
|
+
convertStringToGregorian(date, format) {
|
|
94
|
+
return new Date(moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD'));
|
|
95
|
+
}
|
|
96
|
+
add(unit = 'day', amount) {
|
|
97
|
+
return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);
|
|
98
|
+
}
|
|
99
|
+
addDay(amount) {
|
|
100
|
+
return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);
|
|
101
|
+
}
|
|
102
|
+
addMonth(amount) {
|
|
103
|
+
return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);
|
|
104
|
+
}
|
|
105
|
+
addHour(amount) {
|
|
106
|
+
return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);
|
|
107
|
+
}
|
|
108
|
+
set(unit = 'day', value) {
|
|
109
|
+
return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);
|
|
110
|
+
}
|
|
111
|
+
duration(end, unit = 'days') {
|
|
112
|
+
const duration = moment.duration(this._moment.diff(end._moment));
|
|
113
|
+
return Math.round(duration.as(unit));
|
|
114
|
+
}
|
|
115
|
+
startOf(unit = 'day') {
|
|
116
|
+
return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);
|
|
117
|
+
}
|
|
118
|
+
endOf(unit = 'day') {
|
|
119
|
+
return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);
|
|
120
|
+
}
|
|
121
|
+
format(format = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')) {
|
|
122
|
+
if (format === 'P') {
|
|
123
|
+
return this._moment.fromNow();
|
|
124
|
+
}
|
|
125
|
+
return this._moment.format(format);
|
|
126
|
+
}
|
|
127
|
+
toString() {
|
|
128
|
+
return this.format();
|
|
129
|
+
}
|
|
130
|
+
equal(value, unit = 'day') {
|
|
131
|
+
if (!value) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
return this._moment.isSame(moment(value.date), this.resolveUnit(unit));
|
|
135
|
+
}
|
|
136
|
+
convertToJalaliDate(value) {
|
|
137
|
+
const options = {
|
|
138
|
+
numberingSystem: 'latn',
|
|
139
|
+
year: 'numeric',
|
|
140
|
+
month: '2-digit',
|
|
141
|
+
day: '2-digit',
|
|
142
|
+
hour: '2-digit',
|
|
143
|
+
minute: '2-digit',
|
|
144
|
+
second: '2-digit'
|
|
145
|
+
};
|
|
146
|
+
const jDate = new Date(value).toLocaleDateString('fa-IR', options);
|
|
147
|
+
const item = {};
|
|
148
|
+
item.year = jDate.slice(0, 4);
|
|
149
|
+
item.month = jDate.slice(5, 7);
|
|
150
|
+
item.day = jDate.slice(8, 10);
|
|
151
|
+
item.hour = jDate.slice(13, 15);
|
|
152
|
+
item.minutes = jDate.slice(16, 18);
|
|
153
|
+
item.seconds = jDate.slice(19, 21);
|
|
154
|
+
return item;
|
|
155
|
+
}
|
|
156
|
+
toJalaliString(value) {
|
|
157
|
+
const date = this.convertToJalaliDate(value);
|
|
158
|
+
let str = '';
|
|
159
|
+
str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;
|
|
160
|
+
return str;
|
|
161
|
+
}
|
|
162
|
+
convertToGregorianDate(value) {
|
|
163
|
+
// TODO: check this fucking type
|
|
164
|
+
const options = {
|
|
165
|
+
numberingSystem: 'latn',
|
|
166
|
+
year: 'numeric',
|
|
167
|
+
month: '2-digit',
|
|
168
|
+
day: '2-digit',
|
|
169
|
+
hour: '2-digit',
|
|
170
|
+
minute: '2-digit',
|
|
171
|
+
second: '2-digit'
|
|
172
|
+
};
|
|
173
|
+
const date = new Date(value).toLocaleString('en-us', options);
|
|
174
|
+
const item = {};
|
|
175
|
+
item.year = date.slice(6, 10);
|
|
176
|
+
item.month = date.slice(0, 2);
|
|
177
|
+
item.day = date.slice(3, 5);
|
|
178
|
+
item.hour = date.slice(12, 14);
|
|
179
|
+
item.minutes = date.slice(15, 17);
|
|
180
|
+
item.seconds = date.slice(18, 20);
|
|
181
|
+
return item;
|
|
182
|
+
}
|
|
183
|
+
toGregorianString(value) {
|
|
184
|
+
const date = this.convertToGregorianDate(value);
|
|
185
|
+
let str = '';
|
|
186
|
+
str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;
|
|
187
|
+
return str;
|
|
188
|
+
}
|
|
189
|
+
compaireNew(value, unit = 'YMD', type = 'jalali') {
|
|
190
|
+
const range = [0, 0];
|
|
191
|
+
let str1;
|
|
192
|
+
let str2;
|
|
193
|
+
if (type === 'jalali') {
|
|
194
|
+
str1 = this.toJalaliString(this.date);
|
|
195
|
+
str2 = this.toJalaliString(value.date ? value.date : value);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
str1 = this.toGregorianString(this.date);
|
|
199
|
+
str2 = this.toGregorianString(value.date ? value.date : value);
|
|
200
|
+
}
|
|
201
|
+
switch (unit) {
|
|
202
|
+
case 'YMDhms':
|
|
203
|
+
range[0] = 0;
|
|
204
|
+
range[1] = 19;
|
|
205
|
+
break;
|
|
206
|
+
case 'YMDhm':
|
|
207
|
+
range[0] = 0;
|
|
208
|
+
range[1] = 16;
|
|
209
|
+
break;
|
|
210
|
+
case 'YMDh':
|
|
211
|
+
range[0] = 0;
|
|
212
|
+
range[1] = 13;
|
|
213
|
+
break;
|
|
214
|
+
case 'YMD':
|
|
215
|
+
range[0] = 0;
|
|
216
|
+
range[1] = 10;
|
|
217
|
+
break;
|
|
218
|
+
case 'YM':
|
|
219
|
+
range[0] = 0;
|
|
220
|
+
range[1] = 7;
|
|
221
|
+
break;
|
|
222
|
+
case 'h':
|
|
223
|
+
range[0] = 11;
|
|
224
|
+
range[1] = 13;
|
|
225
|
+
break;
|
|
226
|
+
case 'm':
|
|
227
|
+
range[0] = 14;
|
|
228
|
+
range[1] = 16;
|
|
229
|
+
break;
|
|
230
|
+
case 's':
|
|
231
|
+
range[0] = 17;
|
|
232
|
+
range[1] = 19;
|
|
233
|
+
break;
|
|
234
|
+
case 'D':
|
|
235
|
+
range[0] = 8;
|
|
236
|
+
range[1] = 10;
|
|
237
|
+
break;
|
|
238
|
+
case 'M':
|
|
239
|
+
range[0] = 5;
|
|
240
|
+
range[1] = 7;
|
|
241
|
+
break;
|
|
242
|
+
case 'Y':
|
|
243
|
+
range[0] = 0;
|
|
244
|
+
range[1] = 4;
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {
|
|
248
|
+
return 0;
|
|
249
|
+
}
|
|
250
|
+
else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {
|
|
251
|
+
return 1;
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
return -1;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
compaire(value, unit = 'day') {
|
|
258
|
+
if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {
|
|
259
|
+
return 0;
|
|
260
|
+
}
|
|
261
|
+
else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {
|
|
262
|
+
return 1;
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
return -1;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
toISOString() {
|
|
269
|
+
return this._date.toISOString();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
export class AXCalendarMonth {
|
|
273
|
+
_moment;
|
|
274
|
+
_range;
|
|
275
|
+
get range() {
|
|
276
|
+
return this._range;
|
|
277
|
+
}
|
|
278
|
+
set range(v) {
|
|
279
|
+
this._range = v;
|
|
280
|
+
}
|
|
281
|
+
constructor(date) {
|
|
282
|
+
this._moment = moment(date.date);
|
|
283
|
+
this.index = date.date.getMonth();
|
|
284
|
+
this.name = this._moment.format('MMMM');
|
|
285
|
+
this.range = new AXDateTimeRange(new AXDateTime(this._moment.startOf('month').toDate(), date.type), new AXDateTime(this._moment.endOf('month').toDate(), date.type));
|
|
286
|
+
}
|
|
287
|
+
index;
|
|
288
|
+
name;
|
|
289
|
+
}
|
|
290
|
+
export class AXDateTimeRange {
|
|
291
|
+
startTime;
|
|
292
|
+
endTime;
|
|
293
|
+
constructor(startTime, endTime) {
|
|
294
|
+
this.startTime = startTime;
|
|
295
|
+
this.endTime = endTime;
|
|
296
|
+
}
|
|
297
|
+
duration(unit = 'days') {
|
|
298
|
+
const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));
|
|
299
|
+
return duration.as(unit);
|
|
300
|
+
}
|
|
301
|
+
enumurate(unit = 'day', type = AXConfig.get('dateTime.type') || 'jalali') {
|
|
302
|
+
const result = [];
|
|
303
|
+
for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {
|
|
304
|
+
result.push(this.startTime.add(unit, index));
|
|
305
|
+
}
|
|
306
|
+
return result;
|
|
307
|
+
}
|
|
308
|
+
includes(value, unit = 'day', type = 'jalali') {
|
|
309
|
+
return (value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&
|
|
310
|
+
value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0);
|
|
311
|
+
}
|
|
312
|
+
getViewCompaire(view) {
|
|
313
|
+
switch (view) {
|
|
314
|
+
case 'day':
|
|
315
|
+
return 'YMD';
|
|
316
|
+
case 'month':
|
|
317
|
+
return 'YM';
|
|
318
|
+
case 'year':
|
|
319
|
+
return 'Y';
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL2RhdGV0aW1lLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXOUMsTUFBTSxPQUFPLFVBQVU7SUFnQ2lDO0lBL0J0RCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQVUsRUFBRSxPQUF1QixRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLFdBQVc7UUFDNUYsSUFBSSxJQUFnQixDQUFDO1FBQ3JCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDeEQsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLEtBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUM5QzthQUFNLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtZQUNoQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBYSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzVDO2FBQU0sSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQ3RDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLEtBQUssQ0FBTztJQUNwQixJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFjO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwRCxDQUFDO0lBRU8sT0FBTyxDQUFnQjtJQUUvQiwwQ0FBMEM7SUFDMUMsbUNBQW1DO0lB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O2dCQUNSLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBRVIsS0FBSyxJQUFJO2dCQUNQLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1lBRVIsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBRVIsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBRVIsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2QsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBQ1IsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDZCxNQUFNO1lBRVIsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1lBRVIsS0FBSyxHQUFHO2dCQUNOLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2IsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNO1NBQ1Q7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMs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QkFDVCxPQUFPLEdBQUcsQ0FBQztTQUNkO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdqYWxhbGktbW9tZW50JztcbmltcG9ydCB7IEFYQ29uZmlnIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnJztcbi8vIGNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbmV4cG9ydCB0eXBlIFRpbWVVbml0ID0gJ3NlY29uZCcgfCAnbWludXRlJyB8ICdtaW51dGVzJyB8ICdob3VyJyB8ICdob3VycycgfCAnZGF5JyB8ICdkYXlzJyB8ICdtb250aCcgfCAneWVhcicgfCAnd2Vlayc7XG5cbmV4cG9ydCB0eXBlIFRpbWVEdXJhdGlvbiA9ICdzZWNvbmRzJyB8ICdtaW51dGVzJyB8ICdob3VycycgfCAnZGF5cycgfCAnd2Vla3MnIHwgJ21vbnRoJyB8ICd5ZWFycyc7XG5cbmV4cG9ydCB0eXBlIFRpbWVTdGVwID0gJ1knIHwgJ00nIHwgJ0QnIHwgJ1lNJyB8ICdZTUQnIHwgJ1lNRGgnIHwgJ1lNRGhtJyB8ICdZTURobXMnIHwgJ2gnIHwgJ20nIHwgJ3MnO1xuXG5leHBvcnQgdHlwZSBBWENhbGVuZGFyVHlwZSA9ICdqYWxhbGknIHwgJ2dyZWdvcmlhbic7XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lIHtcbiAgc3RhdGljIGNvbnZlcnQodmFsdWU6IGFueSwgdHlwZTogQVhDYWxlbmRhclR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJyk6IEFYRGF0ZVRpbWUge1xuICAgIGxldCBkYXRlOiBBWERhdGVUaW1lO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XG4gICAgICBkYXRlID0gbmV3IEFYRGF0ZVRpbWUodmFsdWUgYXMgc3RyaW5nLCB0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgZGF0ZSA9IG5ldyBBWERhdGVUaW1lKHZhbHVlIGFzIERhdGUsIHR5cGUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBBWERhdGVUaW1lKSB7XG4gICAgICBkYXRlID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBkYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZTogRGF0ZTtcbiAgZ2V0IGRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGU7XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVVbml0KHVuaXQ6IFRpbWVVbml0KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnamFsYWxpJyA/ICdqJyArIHVuaXQgOiB1bml0O1xuICB9XG5cbiAgcHJpdmF0ZSBfbW9tZW50OiBtb21lbnQuTW9tZW50O1xuXG4gIC8vIHByaXZhdGUgZ2V0IF9tb21lbnQoKTogbW9tZW50Xy5Nb21lbnQge1xuICAvLyAgICAgY29uc3QgbSA9IG1vbWVudCh0aGlzLmRhdGUpO1xuICAvLyAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2phbGFsaScpIHtcbiAgLy8gICAgICAgICBtLmxvY2FsZSgnZmEnKTtcbiAgLy8gICAgIH1cbiAgLy8gICAgIHJldHVybiBtO1xuICAvLyB9XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IERhdGUgfCBzdHJpbmcgPSBuZXcgRGF0ZSgpLCBwdWJsaWMgdHlwZTogQVhDYWxlbmRhclR5cGUgPSBBWENvbmZpZy5nZXQoJ2RhdGVUaW1lLnR5cGUnKSB8fCAnZ3JlZ29yaWFuJykge1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuX2RhdGUgPSB2YWx1ZSBhcyBEYXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLl9tb21lbnQgPSBtb21lbnQodGhpcy5kYXRlKTtcbiAgICBpZiAodGhpcy50eXBlID09PSAnamFsYWxpJykge1xuICAgICAgdGhpcy5fbW9tZW50LmxvY2FsZSgnZmEnKTtcbiAgICB9XG4gIH1cblxuICBjbG9uZSgpOiBBWERhdGVUaW1lIHtcbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUodGhpcy5kYXRlLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZ2V0IGRheUluTW9udGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50LmRhdGUoKTtcbiAgfVxuXG4gIGdldCBkYXlPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50LmRheU9mWWVhcigpO1xuICB9XG5cbiAgZ2V0IGRheUluV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQuZGF5KCk7XG4gIH1cblxuICBnZXQgaG91cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQuaG91cigpO1xuICB9XG5cbiAgZ2V0IG1pbnV0ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tb21lbnQubWludXRlKCk7XG4gIH1cblxuICBnZXQgc2Vjb25kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21vbWVudC5zZWNvbmQoKTtcbiAgfVxuXG4gIGdldCB5ZWFyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21vbWVudC55ZWFyKCk7XG4gIH1cblxuICBnZXQgbW9udGhPZlllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbW9tZW50Lm1vbnRoKCk7XG4gIH1cblxuICBnZXQgbW9udGgoKTogQVhDYWxlbmRhck1vbnRoIHtcbiAgICByZXR1cm4gbmV3IEFYQ2FsZW5kYXJNb250aCh0aGlzKTtcbiAgfVxuXG4gIGdldCBmaXJzdERheU9mV2VlaygpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBhID0gbW9tZW50KHRoaXMuZGF0ZSk7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2phbGFsaScpIHtcbiAgICAgIHRoaXMuX21vbWVudC5sb2NhbGUoJ2ZhJyk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShhLnN0YXJ0T2YoJ3cnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIGdldCBlbmREYXlPZldlZWsoKTogQVhEYXRlVGltZSB7XG4gICAgY29uc3QgYSA9IG1vbWVudCh0aGlzLmRhdGUpO1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdqYWxhbGknKSB7XG4gICAgICB0aGlzLl9tb21lbnQubG9jYWxlKCdmYScpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobW9tZW50KHRoaXMuZGF0ZSkuZW5kT2YoJ3cnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIGNvbnZlcnRTdHJpbmdUb0phbGFsaShkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS5sb2NhbGUoJ2ZhJykuZm9ybWF0KCdZWVlZL00vRCcpO1xuICB9XG4gIGNvbnZlcnRTdHJpbmdUb0dyZWdvcmlhbihkYXRlOiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKG1vbWVudC5mcm9tKGRhdGUsICdmYScsICdZWVlZL01NL0REJykuZm9ybWF0KCdZWVlZL01NL0REJykpO1xuICB9XG5cbiAgYWRkKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmFkZChhbW91bnQsIHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgYWRkRGF5KGFtb3VudDogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmFkZChhbW91bnQsICdkJykudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cblxuICBhZGRNb250aChhbW91bnQ6IG51bWJlcik6IEFYRGF0ZVRpbWUge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShtb21lbnQodGhpcy5kYXRlKS5hZGQoYW1vdW50LCAnbW9udGhzJykudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cbiAgYWRkSG91cihhbW91bnQ6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShtb21lbnQodGhpcy5kYXRlKS5hZGQoYW1vdW50LCAnaG91cnMnKS50b0RhdGUoKSwgdGhpcy50eXBlKTtcbiAgfVxuXG4gIHNldCh1bml0OiBUaW1lVW5pdCA9ICdkYXknLCB2YWx1ZTogbnVtYmVyKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKHRoaXMuX21vbWVudC5zZXQodW5pdCwgdmFsdWUpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZHVyYXRpb24oZW5kOiBBWERhdGVUaW1lLCB1bml0OiBUaW1lRHVyYXRpb24gPSAnZGF5cycpOiBudW1iZXIge1xuICAgIGNvbnN0IGR1cmF0aW9uID0gbW9tZW50LmR1cmF0aW9uKHRoaXMuX21vbWVudC5kaWZmKGVuZC5fbW9tZW50KSk7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoZHVyYXRpb24uYXModW5pdCkpO1xuICB9XG5cbiAgc3RhcnRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLnN0YXJ0T2YodGhpcy5yZXNvbHZlVW5pdCh1bml0KSkudG9EYXRlKCksIHRoaXMudHlwZSk7XG4gIH1cblxuICBlbmRPZih1bml0OiBUaW1lVW5pdCA9ICdkYXknKTogQVhEYXRlVGltZSB7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKG1vbWVudCh0aGlzLmRhdGUpLmVuZE9mKHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpLnRvRGF0ZSgpLCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgZm9ybWF0KGZvcm1hdDogc3RyaW5nID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS5zaG9ydERhdGVGb3JtYXQnKSB8fCAodGhpcy50eXBlID09PSAnZ3JlZ29yaWFuJyA/ICdERC1NTS1ZWVlZJyA6ICdZWVlZLU1NLUREJykpOiBzdHJpbmcge1xuICAgIGlmIChmb3JtYXQgPT09ICdQJykge1xuICAgICAgcmV0dXJuIHRoaXMuX21vbWVudC5mcm9tTm93KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tb21lbnQuZm9ybWF0KGZvcm1hdCk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdCgpO1xuICB9XG5cbiAgZXF1YWwodmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9tb21lbnQuaXNTYW1lKG1vbWVudCh2YWx1ZS5kYXRlKSwgdGhpcy5yZXNvbHZlVW5pdCh1bml0KSk7XG4gIH1cblxuICBjb252ZXJ0VG9KYWxhbGlEYXRlKHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczogYW55ID0ge1xuICAgICAgbnVtYmVyaW5nU3lzdGVtOiAnbGF0bicsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgIHNlY29uZDogJzItZGlnaXQnXG4gICAgfTtcbiAgICBjb25zdCBqRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKS50b0xvY2FsZURhdGVTdHJpbmcoJ2ZhLUlSJywgb3B0aW9ucyk7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge307XG4gICAgaXRlbS55ZWFyID0gakRhdGUuc2xpY2UoMCwgNCk7XG4gICAgaXRlbS5tb250aCA9IGpEYXRlLnNsaWNlKDUsIDcpO1xuICAgIGl0ZW0uZGF5ID0gakRhdGUuc2xpY2UoOCwgMTApO1xuICAgIGl0ZW0uaG91ciA9IGpEYXRlLnNsaWNlKDEzLCAxNSk7XG4gICAgaXRlbS5taW51dGVzID0gakRhdGUuc2xpY2UoMTYsIDE4KTtcbiAgICBpdGVtLnNlY29uZHMgPSBqRGF0ZS5zbGljZSgxOSwgMjEpO1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgdG9KYWxhbGlTdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5jb252ZXJ0VG9KYWxhbGlEYXRlKHZhbHVlKTtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyID0gZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb250aCArICctJyArIGRhdGUuZGF5ICsgJ1QnICsgZGF0ZS5ob3VyICsgJzonICsgZGF0ZS5taW51dGVzICsgJzonICsgZGF0ZS5zZWNvbmRzO1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBjb252ZXJ0VG9HcmVnb3JpYW5EYXRlKHZhbHVlKSB7XG4gICAgLy8gVE9ETzogY2hlY2sgdGhpcyBmdWNraW5nIHR5cGVcbiAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XG4gICAgICBudW1iZXJpbmdTeXN0ZW06ICdsYXRuJyxcbiAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgc2Vjb25kOiAnMi1kaWdpdCdcbiAgICB9O1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSkudG9Mb2NhbGVTdHJpbmcoJ2VuLXVzJywgb3B0aW9ucyk7XG4gICAgY29uc3QgaXRlbTogYW55ID0ge307XG4gICAgaXRlbS55ZWFyID0gZGF0ZS5zbGljZSg2LCAxMCk7XG4gICAgaXRlbS5tb250aCA9IGRhdGUuc2xpY2UoMCwgMik7XG4gICAgaXRlbS5kYXkgPSBkYXRlLnNsaWNlKDMsIDUpO1xuICAgIGl0ZW0uaG91ciA9IGRhdGUuc2xpY2UoMTIsIDE0KTtcbiAgICBpdGVtLm1pbnV0ZXMgPSBkYXRlLnNsaWNlKDE1LCAxNyk7XG4gICAgaXRlbS5zZWNvbmRzID0gZGF0ZS5zbGljZSgxOCwgMjApO1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgdG9HcmVnb3JpYW5TdHJpbmcodmFsdWUpIHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5jb252ZXJ0VG9HcmVnb3JpYW5EYXRlKHZhbHVlKTtcbiAgICBsZXQgc3RyID0gJyc7XG4gICAgc3RyID0gZGF0ZS55ZWFyICsgJy0nICsgZGF0ZS5tb250aCArICctJyArIGRhdGUuZGF5ICsgJ1QnICsgZGF0ZS5ob3VyICsgJzonICsgZGF0ZS5taW51dGVzICsgJzonICsgZGF0ZS5zZWNvbmRzO1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBjb21wYWlyZU5ldyh2YWx1ZTogQVhEYXRlVGltZSwgdW5pdDogVGltZVN0ZXAgPSAnWU1EJywgdHlwZSA9ICdqYWxhbGknKSB7XG4gICAgY29uc3QgcmFuZ2UgPSBbMCwgMF07XG4gICAgbGV0IHN0cjE7XG4gICAgbGV0IHN0cjI7XG4gICAgaWYgKHR5cGUgPT09ICdqYWxhbGknKSB7XG4gICAgICBzdHIxID0gdGhpcy50b0phbGFsaVN0cmluZyh0aGlzLmRhdGUpO1xuICAgICAgc3RyMiA9IHRoaXMudG9KYWxhbGlTdHJpbmcodmFsdWUuZGF0ZSA/IHZhbHVlLmRhdGUgOiB2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0cjEgPSB0aGlzLnRvR3JlZ29yaWFuU3RyaW5nKHRoaXMuZGF0ZSk7XG4gICAgICBzdHIyID0gdGhpcy50b0dyZWdvcmlhblN0cmluZyh2YWx1ZS5kYXRlID8gdmFsdWUuZGF0ZSA6IHZhbHVlKTtcbiAgICB9XG4gICAgc3dpdGNoICh1bml0KSB7XG4gICAgICBjYXNlICdZTURobXMnOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnWU1EaG0nOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnWU1EaCc6XG4gICAgICAgIHJhbmdlWzBdID0gMDtcbiAgICAgICAgcmFuZ2VbMV0gPSAxMztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdZTUQnOlxuICAgICAgICByYW5nZVswXSA9IDA7XG4gICAgICAgIHJhbmdlWzFdID0gMTA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdZTSc6XG4gICAgICAgIHJhbmdlWzBdID0gMDtcbiAgICAgICAgcmFuZ2VbMV0gPSA3O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnaCc6XG4gICAgICAgIHJhbmdlWzBdID0gMTE7XG4gICAgICAgIHJhbmdlWzFdID0gMTM7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdtJzpcbiAgICAgICAgcmFuZ2VbMF0gPSAxNDtcbiAgICAgICAgcmFuZ2VbMV0gPSAxNjtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3MnOlxuICAgICAgICByYW5nZVswXSA9IDE3O1xuICAgICAgICByYW5nZVsxXSA9IDE5O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0QnOlxuICAgICAgICByYW5nZVswXSA9IDg7XG4gICAgICAgIHJhbmdlWzFdID0gMTA7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdNJzpcbiAgICAgICAgcmFuZ2VbMF0gPSA1O1xuICAgICAgICByYW5nZVsxXSA9IDc7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdZJzpcbiAgICAgICAgcmFuZ2VbMF0gPSAwO1xuICAgICAgICByYW5nZVsxXSA9IDQ7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChzdHIxLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkgPT09IHN0cjIuc2xpY2UocmFuZ2VbMF0sIHJhbmdlWzFdKSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfSBlbHNlIGlmIChzdHIxLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkgPiBzdHIyLnNsaWNlKHJhbmdlWzBdLCByYW5nZVsxXSkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgY29tcGFpcmUodmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScpIHtcbiAgICBpZiAodGhpcy5fbW9tZW50LmlzU2FtZShtb21lbnQodmFsdWUuZGF0ZSksIHRoaXMucmVzb2x2ZVVuaXQodW5pdCkpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX21vbWVudC5pc0FmdGVyKG1vbWVudCh2YWx1ZS5kYXRlKSwgdGhpcy5yZXNvbHZlVW5pdCh1bml0KSkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG5cbiAgdG9JU09TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGUudG9JU09TdHJpbmcoKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhck1vbnRoIHtcbiAgcHJpdmF0ZSBfbW9tZW50OiBtb21lbnQuTW9tZW50O1xuXG4gIHByaXZhdGUgX3JhbmdlOiBBWERhdGVUaW1lUmFuZ2U7XG4gIHB1YmxpYyBnZXQgcmFuZ2UoKTogQVhEYXRlVGltZVJhbmdlIHtcbiAgICByZXR1cm4gdGhpcy5fcmFuZ2U7XG4gIH1cbiAgcHVibGljIHNldCByYW5nZSh2OiBBWERhdGVUaW1lUmFuZ2UpIHtcbiAgICB0aGlzLl9yYW5nZSA9IHY7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihkYXRlOiBBWERhdGVUaW1lKSB7XG4gICAgdGhpcy5fbW9tZW50ID0gbW9tZW50KGRhdGUuZGF0ZSk7XG4gICAgdGhpcy5pbmRleCA9IGRhdGUuZGF0ZS5nZXRNb250aCgpO1xuICAgIHRoaXMubmFtZSA9IHRoaXMuX21vbWVudC5mb3JtYXQoJ01NTU0nKTtcbiAgICB0aGlzLnJhbmdlID0gbmV3IEFYRGF0ZVRpbWVSYW5nZShcbiAgICAgIG5ldyBBWERhdGVUaW1lKHRoaXMuX21vbWVudC5zdGFydE9mKCdtb250aCcpLnRvRGF0ZSgpLCBkYXRlLnR5cGUpLFxuICAgICAgbmV3IEFYRGF0ZVRpbWUodGhpcy5fbW9tZW50LmVuZE9mKCdtb250aCcpLnRvRGF0ZSgpLCBkYXRlLnR5cGUpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBWERhdGVUaW1lUmFuZ2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RhcnRUaW1lOiBBWERhdGVUaW1lLCBwdWJsaWMgZW5kVGltZTogQVhEYXRlVGltZSkgeyB9XG5cbiAgZHVyYXRpb24odW5pdDogVGltZUR1cmF0aW9uID0gJ2RheXMnKTogbnVtYmVyIHtcbiAgICBjb25zdCBkdXJhdGlvbiA9IG1vbWVudC5kdXJhdGlvbihtb21lbnQodGhpcy5zdGFydFRpbWUuZGF0ZSkuZGlmZihtb21lbnQodGhpcy5lbmRUaW1lLmRhdGUpKSk7XG4gICAgcmV0dXJuIGR1cmF0aW9uLmFzKHVuaXQpO1xuICB9XG5cbiAgZW51bXVyYXRlKHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIHR5cGU6IEFYQ2FsZW5kYXJUeXBlID0gQVhDb25maWcuZ2V0KCdkYXRlVGltZS50eXBlJykgfHwgJ2phbGFsaScpOiBBWERhdGVUaW1lW10ge1xuICAgIGNvbnN0IHJlc3VsdDogQVhEYXRlVGltZVtdID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyB0aGlzLnN0YXJ0VGltZS5hZGQodW5pdCwgaW5kZXgpLmNvbXBhaXJlTmV3KHRoaXMuZW5kVGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpIDw9IDA7IGluZGV4KyspIHtcbiAgICAgIHJlc3VsdC5wdXNoKHRoaXMuc3RhcnRUaW1lLmFkZCh1bml0LCBpbmRleCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgaW5jbHVkZXModmFsdWU6IEFYRGF0ZVRpbWUsIHVuaXQ6IFRpbWVVbml0ID0gJ2RheScsIHR5cGUgPSAnamFsYWxpJyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZS5jb21wYWlyZU5ldyh0aGlzLnN0YXJ0VGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpID49IDAgJiZcbiAgICAgIHZhbHVlLmNvbXBhaXJlTmV3KHRoaXMuZW5kVGltZSwgdGhpcy5nZXRWaWV3Q29tcGFpcmUodW5pdCksIHR5cGUpIDw9IDBcbiAgICApO1xuICB9XG5cbiAgZ2V0Vmlld0NvbXBhaXJlKHZpZXcpIHtcbiAgICBzd2l0Y2ggKHZpZXcpIHtcbiAgICAgIGNhc2UgJ2RheSc6XG4gICAgICAgIHJldHVybiAnWU1EJztcbiAgICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgICAgcmV0dXJuICdZTSc7XG4gICAgICBjYXNlICd5ZWFyJzpcbiAgICAgICAgcmV0dXJuICdZJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class AXBaseMenuItem {
|
|
2
|
+
uid = new Date().getTime().toString();
|
|
3
|
+
id;
|
|
4
|
+
name;
|
|
5
|
+
text;
|
|
6
|
+
tooltip;
|
|
7
|
+
tooltipPlacement;
|
|
8
|
+
icon;
|
|
9
|
+
visible = true;
|
|
10
|
+
disable = false;
|
|
11
|
+
selected = false;
|
|
12
|
+
groupName;
|
|
13
|
+
data;
|
|
14
|
+
style = 'ax light';
|
|
15
|
+
orderIndex = 0;
|
|
16
|
+
endIcon;
|
|
17
|
+
startIcon;
|
|
18
|
+
onClick;
|
|
19
|
+
}
|
|
20
|
+
export class AXMenuItem extends AXBaseMenuItem {
|
|
21
|
+
items;
|
|
22
|
+
parentId;
|
|
23
|
+
divider = false;
|
|
24
|
+
}
|
|
25
|
+
export class AXButtonItem extends AXBaseMenuItem {
|
|
26
|
+
dropdown = false;
|
|
27
|
+
submitBehavior = false;
|
|
28
|
+
cancelBehavior = false;
|
|
29
|
+
}
|
|
30
|
+
export class AXCheckItem {
|
|
31
|
+
text;
|
|
32
|
+
value;
|
|
33
|
+
selected;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NsYXNzZXMvbWVudS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sY0FBYztJQUN6QixHQUFHLEdBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQyxFQUFFLENBQVU7SUFDWixJQUFJLENBQVU7SUFDZCxJQUFJLENBQVU7SUFDZCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQXVDO0lBQ3ZELElBQUksQ0FBVTtJQUNkLE9BQU8sR0FBYSxJQUFJLENBQUM7SUFDekIsT0FBTyxHQUFhLEtBQUssQ0FBQztJQUMxQixRQUFRLEdBQWEsS0FBSyxDQUFDO0lBQzNCLFNBQVMsQ0FBVTtJQUNuQixJQUFJLENBQU87SUFDWCxLQUFLLEdBQVksVUFBVSxDQUFDO0lBQzVCLFVBQVUsR0FBWSxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFVO0lBQ2pCLFNBQVMsQ0FBVTtJQUNuQixPQUFPLENBQXFCO0NBQzdCO0FBRUQsTUFBTSxPQUFPLFVBQVcsU0FBUSxjQUFjO0lBQzVDLEtBQUssQ0FBZ0I7SUFDckIsUUFBUSxDQUFVO0lBQ2xCLE9BQU8sR0FBYSxLQUFLLENBQUM7Q0FDM0I7QUFFRCxNQUFNLE9BQU8sWUFBYSxTQUFRLGNBQWM7SUFDOUMsUUFBUSxHQUFhLEtBQUssQ0FBQztJQUMzQixjQUFjLEdBQWEsS0FBSyxDQUFDO0lBQ2pDLGNBQWMsR0FBYSxLQUFLLENBQUM7Q0FDbEM7QUFFRCxNQUFNLE9BQU8sV0FBVztJQUN0QixJQUFJLENBQVU7SUFDZCxLQUFLLENBQU87SUFDWixRQUFRLENBQVc7Q0FDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQVhCYXNlTWVudUl0ZW0ge1xuICB1aWQ/OiBzdHJpbmcgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKS50b1N0cmluZygpO1xuICBpZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgdG9vbHRpcD86IHN0cmluZztcbiAgdG9vbHRpcFBsYWNlbWVudD86ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nIHwgJ2xlZnQnO1xuICBpY29uPzogc3RyaW5nO1xuICB2aXNpYmxlPzogYm9vbGVhbiA9IHRydWU7XG4gIGRpc2FibGU/OiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBncm91cE5hbWU/OiBzdHJpbmc7XG4gIGRhdGE/OiBhbnk7XG4gIHN0eWxlPzogc3RyaW5nID0gJ2F4IGxpZ2h0JztcbiAgb3JkZXJJbmRleD86IG51bWJlciA9IDA7XG4gIGVuZEljb24/OiBzdHJpbmc7XG4gIHN0YXJ0SWNvbj86IHN0cmluZztcbiAgb25DbGljaz86IChlPzogYW55KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgQVhNZW51SXRlbSBleHRlbmRzIEFYQmFzZU1lbnVJdGVtIHtcbiAgaXRlbXM/OiBBWE1lbnVJdGVtW107XG4gIHBhcmVudElkPzogc3RyaW5nO1xuICBkaXZpZGVyPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgQVhCdXR0b25JdGVtIGV4dGVuZHMgQVhCYXNlTWVudUl0ZW0ge1xuICBkcm9wZG93bj86IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3VibWl0QmVoYXZpb3I/OiBib29sZWFuID0gZmFsc2U7XG4gIGNhbmNlbEJlaGF2aW9yPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuXG5leHBvcnQgY2xhc3MgQVhDaGVja0l0ZW0ge1xuICB0ZXh0Pzogc3RyaW5nO1xuICB2YWx1ZT86IGFueTtcbiAgc2VsZWN0ZWQ/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9uYXZpZ2F0b3IuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhOYXZpZ2F0b3JQYXJhbSB7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRhdGE/OiBhbnk7XG59Il19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL3BvcHVwLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENsb3NpbmdFdmVudEFyZ3Mge1xuICAgIGNhbmNlbD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG9zaW5nQWN0aW9uIHtcbiAgICBjYW5jZWw/OiBib29sZWFuO1xuICAgIGRhdGE/OiBhbnk7XG4gICAgcmVzb2x2ZTogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbG9zZWRFdmVudEFyZ3Mge1xuICAgIGRhdGE/OiBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class AXPromise {
|
|
2
|
+
_executor;
|
|
3
|
+
thenAction;
|
|
4
|
+
static resolve(value) {
|
|
5
|
+
const r = new AXPromise(z => {
|
|
6
|
+
z(value);
|
|
7
|
+
}).then(() => { });
|
|
8
|
+
return r;
|
|
9
|
+
}
|
|
10
|
+
constructor(executor) {
|
|
11
|
+
this._executor = executor;
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
this._executor(this.thenAction);
|
|
14
|
+
}, 50);
|
|
15
|
+
}
|
|
16
|
+
then(action) {
|
|
17
|
+
this.thenAction = action;
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2NsYXNzZXMvcHJvbWlzZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUztJQUVWLFNBQVMsQ0FBbUM7SUFDNUMsVUFBVSxDQUFtQjtJQUVyQyxNQUFNLENBQUMsT0FBTyxDQUFJLEtBQVE7UUFDdEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUksQ0FBQyxDQUFDLEVBQUU7WUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksUUFBMEM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNYLENBQUM7SUFHRCxJQUFJLENBQUMsTUFBd0I7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFYUHJvbWlzZTxUPiB7XG5cbiAgICBwcml2YXRlIF9leGVjdXRvcjogKHRoZW4/OiAoZT86IFQpID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgcHJpdmF0ZSB0aGVuQWN0aW9uPzogKGU/OiBUKSA9PiB2b2lkO1xuXG4gICAgc3RhdGljIHJlc29sdmU8VD4odmFsdWU6IFQpOiBBWFByb21pc2U8VD4ge1xuICAgICAgICBjb25zdCByID0gbmV3IEFYUHJvbWlzZTxUPih6ID0+IHtcbiAgICAgICAgICAgIHoodmFsdWUpO1xuICAgICAgICB9KS50aGVuKCgpID0+IHsgfSk7XG4gICAgICAgIHJldHVybiByO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGV4ZWN1dG9yOiAodGhlbj86IChlPzogVCkgPT4gdm9pZCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLl9leGVjdXRvciA9IGV4ZWN1dG9yO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V4ZWN1dG9yKHRoaXMudGhlbkFjdGlvbik7XG4gICAgICAgIH0sIDUwKTtcbiAgICB9XG5cblxuICAgIHRoZW4oYWN0aW9uPzogKGU/OiBUKSA9PiB2b2lkKTogQVhQcm9taXNlPFQ+IHtcbiAgICAgICAgdGhpcy50aGVuQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbmxpc3QuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9jbGFzc2VzL3NlY3Rpb25saXN0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFYU2VsZWN0aW9uTGlzdCB7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgdmFsdWU6IGJvb2xlYW47XG4gICAgZGlzYWJsZT86IGJvb2xlYW47XG4gICAgcmVhZG9ubHk/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class AXSelectItem {
|
|
2
|
+
id;
|
|
3
|
+
name;
|
|
4
|
+
text;
|
|
5
|
+
visible;
|
|
6
|
+
disable;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvY2xhc3Nlcy9zZWxlY3QuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFlBQVk7SUFDdkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFVO0lBQ2QsSUFBSSxDQUFTO0lBQ2IsT0FBTyxDQUFXO0lBQ2xCLE9BQU8sQ0FBVztDQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFNlbGVjdEl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHZpc2libGU/OiBib29sZWFuO1xuICBkaXNhYmxlPzogYm9vbGVhbjtcbn1cbiJdfQ==
|