@acorex/core 16.0.2 → 17.0.1
Sign up to get free protection for your applications and to get access to all the features.
- package/common/README.md +3 -0
- package/common/countries/countries.data.d.ts +2 -0
- package/common/countries/country.d.ts +13 -0
- package/common/index.d.ts +2 -0
- package/config/README.md +3 -0
- package/config/index.d.ts +2 -0
- package/config/lib/configs.d.ts +6 -0
- package/config/lib/configs.service.d.ts +12 -0
- package/date-time/README.md +3 -0
- package/date-time/index.d.ts +10 -0
- package/date-time/lib/calendar.service.d.ts +27 -0
- package/date-time/lib/dateTime.config.d.ts +12 -0
- package/date-time/lib/datetime.class.d.ts +138 -0
- package/date-time/lib/datetime.module.d.ts +8 -0
- package/date-time/lib/datetime.pipe.d.ts +12 -0
- package/date-time/lib/formatters/datetime-formatter.d.ts +19 -0
- package/date-time/lib/formatters/timeleft-formatter.d.ts +16 -0
- package/date-time/lib/georgian.calendar.d.ts +21 -0
- package/date-time/lib/holidays.loader.d.ts +21 -0
- package/date-time/lib/jalali.calendar.d.ts +40 -0
- package/esm2022/common/acorex-core-common.mjs +5 -0
- package/esm2022/common/countries/countries.data.mjs +2625 -0
- package/esm2022/common/countries/country.mjs +2 -0
- package/esm2022/common/index.mjs +3 -0
- package/esm2022/config/acorex-core-config.mjs +5 -0
- package/esm2022/config/index.mjs +3 -0
- package/esm2022/config/lib/configs.mjs +7 -0
- package/esm2022/config/lib/configs.service.mjs +27 -0
- package/esm2022/date-time/acorex-core-date-time.mjs +5 -0
- package/esm2022/date-time/index.mjs +11 -0
- package/esm2022/date-time/lib/calendar.service.mjs +100 -0
- package/esm2022/date-time/lib/dateTime.config.mjs +50 -0
- package/esm2022/date-time/lib/datetime.class.mjs +337 -0
- package/esm2022/date-time/lib/datetime.module.mjs +27 -0
- package/esm2022/date-time/lib/datetime.pipe.mjs +29 -0
- package/esm2022/date-time/lib/formatters/datetime-formatter.mjs +32 -0
- package/esm2022/date-time/lib/formatters/timeleft-formatter.mjs +91 -0
- package/esm2022/date-time/lib/georgian.calendar.mjs +203 -0
- package/esm2022/date-time/lib/holidays.loader.mjs +13 -0
- package/esm2022/date-time/lib/jalali.calendar.mjs +440 -0
- package/esm2022/events/acorex-core-events.mjs +5 -0
- package/esm2022/events/index.mjs +3 -0
- package/esm2022/events/lib/event.service.mjs +43 -0
- package/esm2022/events/lib/event.type.mjs +6 -0
- package/esm2022/file/acorex-core-file.mjs +5 -0
- package/esm2022/file/index.mjs +7 -0
- package/esm2022/file/lib/file-download-ref.class.mjs +12 -0
- package/esm2022/file/lib/file-download-result.class.mjs +45 -0
- package/esm2022/file/lib/file-size-formatter.mjs +24 -0
- package/esm2022/file/lib/file-upload-ref.class.mjs +12 -0
- package/esm2022/file/lib/file.module.mjs +20 -0
- package/esm2022/file/lib/file.service.mjs +103 -0
- package/esm2022/format/acorex-core-format.mjs +5 -0
- package/esm2022/format/index.mjs +8 -0
- package/esm2022/format/lib/format.config.mjs +3 -0
- package/esm2022/format/lib/format.module.mjs +64 -0
- package/esm2022/format/lib/format.pipe.mjs +37 -0
- package/esm2022/format/lib/format.service.mjs +95 -0
- package/esm2022/format/lib/format.types.mjs +2 -0
- package/esm2022/format/lib/formatters/number-formatter.mjs +74 -0
- package/esm2022/format/lib/formatters/string-formatter.mjs +15 -0
- package/esm2022/image/acorex-core-image.mjs +5 -0
- package/esm2022/image/index.mjs +2 -0
- package/esm2022/image/lib/image.service.mjs +43 -0
- package/esm2022/index.mjs +2 -44
- package/esm2022/memorize/acorex-core-memorize.mjs +5 -0
- package/esm2022/memorize/index.mjs +2 -0
- package/esm2022/memorize/lib/memorize.decorator.mjs +19 -0
- package/esm2022/pipes/acorex-core-pipes.mjs +5 -0
- package/esm2022/pipes/index.mjs +2 -0
- package/esm2022/pipes/lib/safe/safe.pipe.mjs +38 -0
- package/esm2022/platform/acorex-core-platform.mjs +5 -0
- package/esm2022/platform/index.mjs +2 -0
- package/esm2022/platform/lib/platform.service.mjs +225 -0
- package/esm2022/storage/acorex-core-storage.mjs +5 -0
- package/esm2022/storage/cookie-storage.service.mjs +202 -0
- package/esm2022/storage/index.mjs +5 -0
- package/esm2022/storage/local-storage.service.mjs +58 -0
- package/esm2022/storage/session-storage.service.mjs +22 -0
- package/esm2022/storage/storage.interface.mjs +2 -0
- package/esm2022/translation/acorex-core-translation.mjs +5 -0
- package/esm2022/translation/index.mjs +9 -0
- package/esm2022/translation/lib/translation-scope.resolver.mjs +11 -0
- package/esm2022/translation/lib/translation.config.mjs +20 -0
- package/esm2022/translation/lib/translation.loader.mjs +14 -0
- package/esm2022/translation/lib/translation.module.mjs +40 -0
- package/esm2022/translation/lib/translation.service.mjs +173 -0
- package/esm2022/translation/lib/translation.types.mjs +2 -0
- package/esm2022/translation/lib/translator.directive.mjs +28 -0
- package/esm2022/translation/lib/translator.pipe.mjs +23 -0
- package/esm2022/types/acorex-core-types.mjs +5 -0
- package/esm2022/types/index.mjs +2 -0
- package/esm2022/utils/acorex-core-utils.mjs +5 -0
- package/esm2022/utils/index.mjs +6 -0
- package/esm2022/utils/lib/auto-unsubscribe.mjs +36 -0
- package/esm2022/utils/lib/color-util.mjs +111 -0
- package/esm2022/utils/lib/drawing-util.mjs +35 -0
- package/esm2022/utils/lib/html-util.mjs +39 -0
- package/esm2022/utils/lib/string-util.mjs +19 -0
- package/esm2022/validation/acorex-core-validation.mjs +5 -0
- package/esm2022/validation/index.mjs +18 -0
- package/esm2022/validation/lib/rules/between-rule.mjs +31 -0
- package/esm2022/validation/lib/rules/callback-rule.mjs +29 -0
- package/esm2022/validation/lib/rules/equal-rule.mjs +26 -0
- package/esm2022/validation/lib/rules/greater-than.mjs +29 -0
- package/esm2022/validation/lib/rules/length-rule.mjs +26 -0
- package/esm2022/validation/lib/rules/less-than-rule.mjs +29 -0
- package/esm2022/validation/lib/rules/maxlength-rule.mjs +27 -0
- package/esm2022/validation/lib/rules/minlength-rule.mjs +26 -0
- package/esm2022/validation/lib/rules/regex-rule.mjs +49 -0
- package/esm2022/validation/lib/rules/required-rule.mjs +36 -0
- package/esm2022/validation/lib/validation.config.mjs +33 -0
- package/esm2022/validation/lib/validation.module.mjs +84 -0
- package/esm2022/validation/lib/validation.service.mjs +98 -0
- package/esm2022/validation/lib/validation.types.mjs +3 -0
- package/events/README.md +3 -0
- package/events/index.d.ts +2 -0
- package/{lib/services → events/lib}/event.service.d.ts +8 -0
- package/events/lib/event.type.d.ts +5 -0
- package/fesm2022/acorex-core-common.mjs +2631 -0
- package/fesm2022/acorex-core-common.mjs.map +1 -0
- package/fesm2022/acorex-core-config.mjs +39 -0
- package/fesm2022/acorex-core-config.mjs.map +1 -0
- package/fesm2022/acorex-core-date-time.mjs +1305 -0
- package/fesm2022/acorex-core-date-time.mjs.map +1 -0
- package/fesm2022/acorex-core-events.mjs +56 -0
- package/fesm2022/acorex-core-events.mjs.map +1 -0
- package/fesm2022/acorex-core-file.mjs +214 -0
- package/fesm2022/acorex-core-file.mjs.map +1 -0
- package/fesm2022/acorex-core-format.mjs +282 -0
- package/fesm2022/acorex-core-format.mjs.map +1 -0
- package/fesm2022/acorex-core-image.mjs +50 -0
- package/fesm2022/acorex-core-image.mjs.map +1 -0
- package/fesm2022/acorex-core-memorize.mjs +26 -0
- package/fesm2022/acorex-core-memorize.mjs.map +1 -0
- package/fesm2022/acorex-core-pipes.mjs +44 -0
- package/fesm2022/acorex-core-pipes.mjs.map +1 -0
- package/fesm2022/acorex-core-platform.mjs +232 -0
- package/fesm2022/acorex-core-platform.mjs.map +1 -0
- package/fesm2022/acorex-core-storage.mjs +285 -0
- package/fesm2022/acorex-core-storage.mjs.map +1 -0
- package/fesm2022/acorex-core-translation.mjs +293 -0
- package/fesm2022/acorex-core-translation.mjs.map +1 -0
- package/fesm2022/acorex-core-types.mjs +6 -0
- package/fesm2022/acorex-core-types.mjs.map +1 -0
- package/fesm2022/acorex-core-utils.mjs +247 -0
- package/fesm2022/acorex-core-utils.mjs.map +1 -0
- package/fesm2022/acorex-core-validation.mjs +488 -0
- package/fesm2022/acorex-core-validation.mjs.map +1 -0
- package/fesm2022/acorex-core.mjs +2 -2309
- package/fesm2022/acorex-core.mjs.map +1 -1
- package/file/README.md +3 -0
- package/file/index.d.ts +6 -0
- package/file/lib/file-download-ref.class.d.ts +6 -0
- package/file/lib/file-download-result.class.d.ts +8 -0
- package/file/lib/file-size-formatter.d.ts +16 -0
- package/file/lib/file-upload-ref.class.d.ts +5 -0
- package/file/lib/file.module.d.ts +7 -0
- package/file/lib/file.service.d.ts +18 -0
- package/format/README.md +3 -0
- package/format/index.d.ts +7 -0
- package/format/lib/format.config.d.ts +5 -0
- package/format/lib/format.module.d.ts +18 -0
- package/format/lib/format.pipe.d.ts +12 -0
- package/format/lib/format.service.d.ts +43 -0
- package/format/lib/format.types.d.ts +4 -0
- package/format/lib/formatters/number-formatter.d.ts +23 -0
- package/format/lib/formatters/string-formatter.d.ts +14 -0
- package/image/README.md +3 -0
- package/image/index.d.ts +1 -0
- package/image/lib/image.service.d.ts +11 -0
- package/index.d.ts +1 -43
- package/memorize/README.md +3 -0
- package/memorize/index.d.ts +1 -0
- package/memorize/lib/memorize.decorator.d.ts +1 -0
- package/package.json +98 -5
- package/pipes/README.md +3 -0
- package/pipes/index.d.ts +1 -0
- package/pipes/lib/safe/safe.pipe.d.ts +10 -0
- package/platform/README.md +3 -0
- package/platform/index.d.ts +1 -0
- package/{lib/platform → platform/lib}/platform.service.d.ts +14 -6
- package/storage/README.md +3 -0
- package/storage/cookie-storage.service.d.ts +104 -0
- package/storage/index.d.ts +4 -0
- package/storage/local-storage.service.d.ts +16 -0
- package/storage/session-storage.service.d.ts +10 -0
- package/storage/storage.interface.d.ts +14 -0
- package/translation/README.md +3 -0
- package/translation/index.d.ts +8 -0
- package/translation/lib/translation-scope.resolver.d.ts +2 -0
- package/translation/lib/translation.config.d.ts +14 -0
- package/translation/lib/translation.loader.d.ts +14 -0
- package/translation/lib/translation.module.d.ts +8 -0
- package/translation/lib/translation.service.d.ts +31 -0
- package/translation/lib/translation.types.d.ts +10 -0
- package/translation/lib/translator.directive.d.ts +12 -0
- package/translation/lib/translator.pipe.d.ts +12 -0
- package/types/README.md +3 -0
- package/types/index.d.ts +2 -0
- package/utils/README.md +3 -0
- package/utils/index.d.ts +5 -0
- package/utils/lib/auto-unsubscribe.d.ts +12 -0
- package/utils/lib/color-util.d.ts +24 -0
- package/utils/lib/drawing-util.d.ts +18 -0
- package/utils/lib/html-util.d.ts +5 -0
- package/utils/lib/string-util.d.ts +6 -0
- package/validation/README.md +3 -0
- package/validation/index.d.ts +14 -0
- package/validation/lib/rules/between-rule.d.ts +18 -0
- package/validation/lib/rules/callback-rule.d.ts +23 -0
- package/validation/lib/rules/equal-rule.d.ts +17 -0
- package/validation/lib/rules/greater-than.d.ts +17 -0
- package/validation/lib/rules/length-rule.d.ts +17 -0
- package/validation/lib/rules/less-than-rule.d.ts +17 -0
- package/validation/lib/rules/maxlength-rule.d.ts +16 -0
- package/validation/lib/rules/minlength-rule.d.ts +16 -0
- package/validation/lib/rules/regex-rule.d.ts +17 -0
- package/validation/lib/rules/required-rule.d.ts +16 -0
- package/validation/lib/validation.config.d.ts +15 -0
- package/validation/lib/validation.module.d.ts +17 -0
- package/validation/lib/validation.service.d.ts +35 -0
- package/validation/lib/validation.types.d.ts +21 -0
- package/esm2022/lib/classes/base-page.class.mjs +0 -26
- package/esm2022/lib/classes/color.class.mjs +0 -49
- package/esm2022/lib/classes/datetime.class.mjs +0 -323
- package/esm2022/lib/classes/menu.class.mjs +0 -35
- package/esm2022/lib/classes/navigator.class.mjs +0 -2
- package/esm2022/lib/classes/popup.class.mjs +0 -2
- package/esm2022/lib/classes/promise.class.mjs +0 -21
- package/esm2022/lib/classes/sectionlist.class.mjs +0 -2
- package/esm2022/lib/classes/select.class.mjs +0 -8
- package/esm2022/lib/core.module.mjs +0 -27
- package/esm2022/lib/error/error.class.mjs +0 -2
- package/esm2022/lib/error/error.module.mjs +0 -19
- package/esm2022/lib/error/error.service.mjs +0 -22
- package/esm2022/lib/events/keyboard.mjs +0 -2
- package/esm2022/lib/http/http-error.class.mjs +0 -2
- package/esm2022/lib/http/http-events.interceptor.mjs +0 -3
- package/esm2022/lib/http/http-request.class.mjs +0 -2
- package/esm2022/lib/http/http-result.class.mjs +0 -25
- package/esm2022/lib/http/http.module.mjs +0 -35
- package/esm2022/lib/http/http.service.mjs +0 -148
- package/esm2022/lib/locale/en.json +0 -255
- package/esm2022/lib/locale/fa.json +0 -245
- package/esm2022/lib/pipe/datetime.pipe.mjs +0 -25
- package/esm2022/lib/pipe/htmlToText.pipe.mjs +0 -25
- package/esm2022/lib/platform/index.mjs +0 -2
- package/esm2022/lib/platform/platform.service.mjs +0 -152
- package/esm2022/lib/services/config.mjs +0 -29
- package/esm2022/lib/services/event.service.mjs +0 -34
- package/esm2022/lib/services/navigator.service.mjs +0 -10
- package/esm2022/lib/services/storage.service.mjs +0 -16
- package/esm2022/lib/translator/translator.mjs +0 -26
- package/esm2022/lib/translator/translator.module.mjs +0 -25
- package/esm2022/lib/translator/translator.pipe.mjs +0 -24
- package/esm2022/lib/translator/translator.service.mjs +0 -21
- package/esm2022/lib/utils/array/array-util.mjs +0 -133
- package/esm2022/lib/utils/html/html-util.mjs +0 -200
- package/esm2022/lib/utils/html/html.module.mjs +0 -19
- package/esm2022/lib/utils/math/math-util.mjs +0 -6
- package/esm2022/lib/utils/object/object-util.mjs +0 -83
- package/esm2022/lib/utils/render/on-demand-preload-strategy.service.mjs +0 -21
- package/esm2022/lib/utils/render/render.service.mjs +0 -109
- package/esm2022/lib/utils/render/rendering.module.mjs +0 -35
- package/esm2022/lib/utils/scroll/scroll.directive.mjs +0 -56
- package/esm2022/lib/utils/scroll/scroll.module.mjs +0 -19
- package/esm2022/lib/utils/separator/separator.module.mjs +0 -19
- package/esm2022/lib/utils/separator/separator.pipe.mjs +0 -33
- package/lib/classes/base-page.class.d.ts +0 -13
- package/lib/classes/color.class.d.ts +0 -17
- package/lib/classes/datetime.class.d.ts +0 -63
- package/lib/classes/menu.class.d.ts +0 -34
- package/lib/classes/navigator.class.d.ts +0 -5
- package/lib/classes/popup.class.d.ts +0 -12
- package/lib/classes/promise.class.d.ts +0 -7
- package/lib/classes/sectionlist.class.d.ts +0 -8
- package/lib/classes/select.class.d.ts +0 -7
- package/lib/core.module.d.ts +0 -9
- package/lib/error/error.class.d.ts +0 -4
- package/lib/error/error.module.d.ts +0 -7
- package/lib/error/error.service.d.ts +0 -13
- package/lib/events/keyboard.d.ts +0 -2
- package/lib/http/http-error.class.d.ts +0 -7
- package/lib/http/http-events.interceptor.d.ts +0 -10
- package/lib/http/http-request.class.d.ts +0 -14
- package/lib/http/http-result.class.d.ts +0 -11
- package/lib/http/http.module.d.ts +0 -10
- package/lib/http/http.service.d.ts +0 -23
- package/lib/pipe/datetime.pipe.d.ts +0 -8
- package/lib/pipe/htmlToText.pipe.d.ts +0 -7
- package/lib/platform/index.d.ts +0 -1
- package/lib/services/config.d.ts +0 -9
- package/lib/services/navigator.service.d.ts +0 -8
- package/lib/services/storage.service.d.ts +0 -7
- package/lib/translator/translator.d.ts +0 -9
- package/lib/translator/translator.module.d.ts +0 -8
- package/lib/translator/translator.pipe.d.ts +0 -8
- package/lib/translator/translator.service.d.ts +0 -8
- package/lib/utils/array/array-util.d.ts +0 -6
- package/lib/utils/html/html-util.d.ts +0 -62
- package/lib/utils/html/html.module.d.ts +0 -8
- package/lib/utils/math/math-util.d.ts +0 -3
- package/lib/utils/object/object-util.d.ts +0 -7
- package/lib/utils/render/on-demand-preload-strategy.service.d.ts +0 -10
- package/lib/utils/render/render.service.d.ts +0 -18
- package/lib/utils/render/rendering.module.d.ts +0 -8
- package/lib/utils/scroll/scroll.directive.d.ts +0 -18
- package/lib/utils/scroll/scroll.module.d.ts +0 -8
- package/lib/utils/separator/separator.module.d.ts +0 -8
- package/lib/utils/separator/separator.pipe.d.ts +0 -8
@@ -0,0 +1,2 @@
|
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9jb21tb24vc3JjL2NvdW50cmllcy9jb3VudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvdW50cnlJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICByZWdpb25zOiBzdHJpbmdbXTtcbiAgaXNvMmNvZGU6IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xuICBmb3JtYXQ6IHN0cmluZztcbiAgb3JkZXJQcmlvcml0eT86IG51bWJlcjtcbiAgYXJlYUNvZGVzPzogc3RyaW5nW107XG4gIGJrUG9zaXRpb24/OiB7IHg6IHN0cmluZzsgeTogc3RyaW5nIH07XG59XG4iXX0=
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './countries/countries.data';
|
2
|
+
export * from './countries/country';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvY29tbW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvdW50cmllcy9jb3VudHJpZXMuZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2NvdW50cmllcy9jb3VudHJ5JztcbiJdfQ==
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2NvbmZpZy9zcmMvYWNvcmV4LWNvcmUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,3 @@
|
|
1
|
+
export * from './lib/configs';
|
2
|
+
export * from './lib/configs.service';
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvY29uZmlnL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlncyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25maWdzLnNlcnZpY2UnO1xuIl19
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const AXGlobalDefaultConfig = {};
|
3
|
+
export const AX_GLOBAL_CONFIG = new InjectionToken('AX_GLOBAL_CONFIG', {
|
4
|
+
providedIn: 'root',
|
5
|
+
factory: () => AXGlobalDefaultConfig,
|
6
|
+
});
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9jb25maWcvc3JjL2xpYi9jb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW1CLEVBQUUsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDaEQsa0JBQWtCLEVBQ2xCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHFCQUFxQjtDQUNyQyxDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBBWEdsb2JhbENvbmZpZyA9IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn07XG5cbmV4cG9ydCBjb25zdCBBWEdsb2JhbERlZmF1bHRDb25maWc6IEFYR2xvYmFsQ29uZmlnID0ge307XG5cbmV4cG9ydCBjb25zdCBBWF9HTE9CQUxfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYR2xvYmFsQ29uZmlnPihcbiAgJ0FYX0dMT0JBTF9DT05GSUcnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IEFYR2xvYmFsRGVmYXVsdENvbmZpZyxcbiAgfVxuKTtcbiJdfQ==
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
2
|
+
import { get } from 'lodash-es';
|
3
|
+
import { AX_GLOBAL_CONFIG } from './configs';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class AXConfigService {
|
6
|
+
/**
|
7
|
+
* @ignore
|
8
|
+
*/
|
9
|
+
constructor(injector) {
|
10
|
+
this.injector = injector;
|
11
|
+
}
|
12
|
+
get(key, defaultValue) {
|
13
|
+
const v1 = this.injector.get(AX_GLOBAL_CONFIG);
|
14
|
+
const parts = key.split('.');
|
15
|
+
const tokenName = parts.slice(0, parts.length - 1).join('.');
|
16
|
+
const providerToken = get(v1, tokenName);
|
17
|
+
const v2 = this.injector.get(providerToken);
|
18
|
+
return get(v2, parts[parts.length - 1], defaultValue);
|
19
|
+
}
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXConfigService, providedIn: 'root' }); }
|
22
|
+
}
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXConfigService, decorators: [{
|
24
|
+
type: Injectable,
|
25
|
+
args: [{ providedIn: 'root' }]
|
26
|
+
}], ctorParameters: () => [{ type: i0.Injector }] });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2NvbmZpZy9zcmMvbGliL2NvbmZpZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO0lBQ0gsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7SUFFbkMsR0FBRyxDQUFhLEdBQVcsRUFBRSxZQUFnQjtRQUNsRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUF3QyxDQUFDLENBQUM7UUFDdkUsT0FBTyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3hELENBQUM7OEdBYlUsZUFBZTtrSEFBZixlQUFlLGNBREYsTUFBTTs7MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhfR0xPQkFMX0NPTkZJRyB9IGZyb20gJy4vY29uZmlncyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhDb25maWdTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gIHB1YmxpYyBnZXQ8VCA9IHN0cmluZz4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpIHtcbiAgICBjb25zdCB2MSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYX0dMT0JBTF9DT05GSUcpO1xuICAgIGNvbnN0IHBhcnRzID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgY29uc3QgdG9rZW5OYW1lID0gcGFydHMuc2xpY2UoMCwgcGFydHMubGVuZ3RoIC0gMSkuam9pbignLicpO1xuICAgIGNvbnN0IHByb3ZpZGVyVG9rZW4gPSBnZXQodjEsIHRva2VuTmFtZSk7XG4gICAgY29uc3QgdjIgPSB0aGlzLmluamVjdG9yLmdldChwcm92aWRlclRva2VuIGFzIEluamVjdGlvblRva2VuPHVua25vd24+KTtcbiAgICByZXR1cm4gZ2V0KHYyLCBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSwgZGVmYXVsdFZhbHVlKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './index';
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtZGF0ZS10aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2RhdGUtdGltZS9zcmMvYWNvcmV4LWNvcmUtZGF0ZS10aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
@@ -0,0 +1,11 @@
|
|
1
|
+
export * from './lib/formatters/datetime-formatter';
|
2
|
+
export * from './lib/formatters/timeleft-formatter';
|
3
|
+
export * from './lib/calendar.service';
|
4
|
+
export * from './lib/dateTime.config';
|
5
|
+
export * from './lib/datetime.class';
|
6
|
+
export * from './lib/datetime.module';
|
7
|
+
export * from './lib/datetime.pipe';
|
8
|
+
export * from './lib/georgian.calendar';
|
9
|
+
export * from './lib/holidays.loader';
|
10
|
+
export * from './lib/jalali.calendar';
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZGF0ZS10aW1lL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0dGVycy9kYXRldGltZS1mb3JtYXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybWF0dGVycy90aW1lbGVmdC1mb3JtYXR0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FsZW5kYXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlVGltZS5jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXRpbWUuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXRpbWUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGV0aW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ2VvcmdpYW4uY2FsZW5kYXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaG9saWRheXMubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2phbGFsaS5jYWxlbmRhcic7XG4iXX0=
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
2
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
3
|
+
import { AX_DATETIME_CONFIG } from './dateTime.config';
|
4
|
+
import { AXDateTime } from './datetime.class';
|
5
|
+
import { AX_DATETIME_HOLIDAYS_LOADER, } from './holidays.loader';
|
6
|
+
import { AXEventService, AXEventTypes } from '@acorex/core/events';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
export class AXCalendarService {
|
9
|
+
get calendar() {
|
10
|
+
return this.getActiveCalendar();
|
11
|
+
}
|
12
|
+
getDefaultCalendar() {
|
13
|
+
return this.config.calendars[this.config.calendar];
|
14
|
+
}
|
15
|
+
getActiveCalendar() {
|
16
|
+
return this.activeCalendar.getValue();
|
17
|
+
}
|
18
|
+
setActiveCalendar(name) {
|
19
|
+
if (name != this.calendar.name()) {
|
20
|
+
const calendar = this.resolveCalendar(name);
|
21
|
+
this.activeCalendar.next(calendar);
|
22
|
+
this.eventService.emitEvent({
|
23
|
+
type: AXEventTypes.AXCalendarChanged,
|
24
|
+
payload: this.getActiveCalendar(),
|
25
|
+
});
|
26
|
+
}
|
27
|
+
}
|
28
|
+
get holidays() {
|
29
|
+
return this._holidays;
|
30
|
+
}
|
31
|
+
constructor() {
|
32
|
+
this.config = inject(AX_DATETIME_CONFIG);
|
33
|
+
this._holidaysLoader = inject(AX_DATETIME_HOLIDAYS_LOADER);
|
34
|
+
this.eventService = inject(AXEventService);
|
35
|
+
this.activeCalendar = new BehaviorSubject(this.getDefaultCalendar());
|
36
|
+
this.calendarChanges$ = this.activeCalendar.asObservable();
|
37
|
+
this.onHolidaysChanged = new Subject();
|
38
|
+
this._holidays = [];
|
39
|
+
this.loadHolidays();
|
40
|
+
}
|
41
|
+
loadHolidays(options) {
|
42
|
+
return this._holidaysLoader.getHolidays(options).then((value) => {
|
43
|
+
this._holidays = value;
|
44
|
+
this.onHolidaysChanged.next(this._holidays);
|
45
|
+
});
|
46
|
+
}
|
47
|
+
create(value, calendarName) {
|
48
|
+
const calendar = calendarName
|
49
|
+
? this.resolveCalendar(calendarName)
|
50
|
+
: this.calendar;
|
51
|
+
if (value instanceof Date) {
|
52
|
+
return new AXDateTime(value, calendar);
|
53
|
+
}
|
54
|
+
else if (value?.year && value?.month) {
|
55
|
+
return calendar.create(value);
|
56
|
+
}
|
57
|
+
return this.now();
|
58
|
+
}
|
59
|
+
now(calendarName) {
|
60
|
+
const calendar = calendarName
|
61
|
+
? this.resolveCalendar(calendarName)
|
62
|
+
: this.calendar;
|
63
|
+
return new AXDateTime(new Date(), calendar);
|
64
|
+
}
|
65
|
+
resolveCalendar(name) {
|
66
|
+
const c = this.config.calendars[name];
|
67
|
+
if (!c) {
|
68
|
+
console.error(`"${name}" is not a valid calendar name!`);
|
69
|
+
return this.calendar;
|
70
|
+
}
|
71
|
+
return c;
|
72
|
+
}
|
73
|
+
convert(value, calendarName) {
|
74
|
+
const isISOString = (str) => {
|
75
|
+
if (!/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d{3}Z)?/.test(str))
|
76
|
+
return false;
|
77
|
+
const d = new Date(str);
|
78
|
+
return d instanceof Date && !isNaN(d.getTime()); // valid date
|
79
|
+
};
|
80
|
+
//
|
81
|
+
const calendar = calendarName
|
82
|
+
? this.resolveCalendar(calendarName)
|
83
|
+
: this.calendar;
|
84
|
+
if (typeof value === 'string') {
|
85
|
+
if (isISOString(value))
|
86
|
+
return new AXDateTime(new Date(value), calendar);
|
87
|
+
else
|
88
|
+
return calendar.parse(value);
|
89
|
+
}
|
90
|
+
const date = value instanceof AXDateTime ? value.date : value;
|
91
|
+
return new AXDateTime(date, calendar);
|
92
|
+
}
|
93
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXCalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
94
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXCalendarService, providedIn: 'root' }); }
|
95
|
+
}
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXCalendarService, decorators: [{
|
97
|
+
type: Injectable,
|
98
|
+
args: [{ providedIn: 'root' }]
|
99
|
+
}], ctorParameters: () => [] });
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlLXRpbWUvc3JjL2xpYi9jYWxlbmRhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RSxPQUFPLEVBQWMsVUFBVSxFQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFDdkUsT0FBTyxFQUdMLDJCQUEyQixHQUM1QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR25FLE1BQU0sT0FBTyxpQkFBaUI7SUFLNUIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQU9NLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGlCQUFpQixDQUFDLElBQVk7UUFDbkMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFD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LElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWE7UUFDaEUsQ0FBQyxDQUFDO1FBQ0YsRUFBRTtRQUNGLE1BQU0sUUFBUSxHQUFHLFlBQVk7WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ2xCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7O2dCQUNwRSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLEtBQWMsQ0FBQztRQUN4RSxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQXRHVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07OzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVDb25maWcsIEFYX0RBVEVUSU1FX0NPTkZJRyB9IGZyb20gJy4vZGF0ZVRpbWUuY29uZmlnJztcbmltcG9ydCB7IEFYQ2FsZW5kYXIsIEFYRGF0ZVRpbWUsIEFYRGF0ZVZhbHVlIH0gZnJvbSAnLi9kYXRldGltZS5jbGFzcyc7XG5pbXBvcnQge1xuICBBWEhvbGlkYXlEYXRlLFxuICBBWEhvbGlkYXlzTG9hZGVyT3B0aW9ucyxcbiAgQVhfREFURVRJTUVfSE9MSURBWVNfTE9BREVSLFxufSBmcm9tICcuL2hvbGlkYXlzLmxvYWRlcic7XG5pbXBvcnQgeyBBWEV2ZW50U2VydmljZSwgQVhFdmVudFR5cGVzIH0gZnJvbSAnQGFjb3JleC9jb3JlL2V2ZW50cyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhDYWxlbmRhclNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZzogQVhEYXRlVGltZUNvbmZpZyA9IGluamVjdChBWF9EQVRFVElNRV9DT05GSUcpO1xuICBwcml2YXRlIF9ob2xpZGF5c0xvYWRlciA9IGluamVjdChBWF9EQVRFVElNRV9IT0xJREFZU19MT0FERVIpO1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWEV2ZW50U2VydmljZSk7XG5cbiAgcHVibGljIGdldCBjYWxlbmRhcigpOiBBWENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmVDYWxlbmRhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhY3RpdmVDYWxlbmRhciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhDYWxlbmRhcj4oXG4gICAgdGhpcy5nZXREZWZhdWx0Q2FsZW5kYXIoKVxuICApO1xuICBjYWxlbmRhckNoYW5nZXMkID0gdGhpcy5hY3RpdmVDYWxlbmRhci5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgZ2V0RGVmYXVsdENhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jYWxlbmRhcnNbdGhpcy5jb25maWcuY2FsZW5kYXJdO1xuICB9XG5cbiAgcHVibGljIGdldEFjdGl2ZUNhbGVuZGFyKCk6IEFYQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmFjdGl2ZUNhbGVuZGFyLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlQ2FsZW5kYXIobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG5hbWUgIT0gdGhpcy5jYWxlbmRhci5uYW1lKCkpIHtcbiAgICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5yZXNvbHZlQ2FsZW5kYXIobmFtZSk7XG4gICAgICB0aGlzLmFjdGl2ZUNhbGVuZGFyLm5leHQoY2FsZW5kYXIpO1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2UuZW1pdEV2ZW50KHtcbiAgICAgICAgdHlwZTogQVhFdmVudFR5cGVzLkFYQ2FsZW5kYXJDaGFuZ2VkLFxuICAgICAgICBwYXlsb2FkOiB0aGlzLmdldEFjdGl2ZUNhbGVuZGFyKCksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Ib2xpZGF5c0NoYW5nZWQ6IFN1YmplY3Q8QVhIb2xpZGF5RGF0ZVtdPiA9IG5ldyBTdWJqZWN0PFxuICAgIEFYSG9saWRheURhdGVbXVxuICA+KCk7XG4gIHByaXZhdGUgX2hvbGlkYXlzOiBBWEhvbGlkYXlEYXRlW10gPSBbXTtcbiAgcHVibGljIGdldCBob2xpZGF5cygpOiBBWEhvbGlkYXlEYXRlW10ge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5cztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9hZEhvbGlkYXlzKCk7XG4gIH1cblxuICBwdWJsaWMgbG9hZEhvbGlkYXlzKG9wdGlvbnM/OiBBWEhvbGlkYXlzTG9hZGVyT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLl9ob2xpZGF5c0xvYWRlci5nZXRIb2xpZGF5cyhvcHRpb25zKS50aGVuKCh2YWx1ZSkgPT4ge1xuICAgICAgdGhpcy5faG9saWRheXMgPSB2YWx1ZTtcbiAgICAgIHRoaXMub25Ib2xpZGF5c0NoYW5nZWQubmV4dCh0aGlzLl9ob2xpZGF5cyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBBWERhdGVWYWx1ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogRGF0ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgcHVibGljIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUgfCBEYXRlLCBjYWxlbmRhck5hbWU/OiBzdHJpbmcpOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZVxuICAgICAgPyB0aGlzLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhck5hbWUpXG4gICAgICA6IHRoaXMuY2FsZW5kYXI7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKHZhbHVlLCBjYWxlbmRhcik7XG4gICAgfSBlbHNlIGlmICh2YWx1ZT8ueWVhciAmJiB2YWx1ZT8ubW9udGgpIHtcbiAgICAgIHJldHVybiBjYWxlbmRhci5jcmVhdGUodmFsdWUgYXMgQVhEYXRlVmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ub3coKTtcbiAgfVxuXG4gIHB1YmxpYyBub3coY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZSB7XG4gICAgY29uc3QgY2FsZW5kYXIgPSBjYWxlbmRhck5hbWVcbiAgICAgID8gdGhpcy5yZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXJOYW1lKVxuICAgICAgOiB0aGlzLmNhbGVuZGFyO1xuICAgIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSgpLCBjYWxlbmRhcik7XG4gIH1cblxuICBwdWJsaWMgcmVzb2x2ZUNhbGVuZGFyKG5hbWU6IHN0cmluZyk6IEFYQ2FsZW5kYXIge1xuICAgIGNvbnN0IGMgPSB0aGlzLmNvbmZpZy5jYWxlbmRhcnNbbmFtZV07XG4gICAgaWYgKCFjKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBcIiR7bmFtZX1cIiBpcyBub3QgYSB2YWxpZCBjYWxlbmRhciBuYW1lIWApO1xuICAgICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gICAgfVxuICAgIHJldHVybiBjO1xuICB9XG5cbiAgcHVibGljIGNvbnZlcnQoXG4gICAgdmFsdWU6IERhdGUgfCBBWERhdGVUaW1lIHwgc3RyaW5nLFxuICAgIGNhbGVuZGFyTmFtZT86IHN0cmluZ1xuICApOiBBWERhdGVUaW1lIHtcbiAgICBjb25zdCBpc0lTT1N0cmluZyA9IChzdHIpID0+IHtcbiAgICAgIGlmICghL1xcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9KC5cXGR7M31aKT8vLnRlc3Qoc3RyKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKHN0cik7XG4gICAgICByZXR1cm4gZCBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGQuZ2V0VGltZSgpKTsgLy8gdmFsaWQgZGF0ZVxuICAgIH07XG4gICAgLy9cbiAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZVxuICAgICAgPyB0aGlzLnJlc29sdmVDYWxlbmRhcihjYWxlbmRhck5hbWUpXG4gICAgICA6IHRoaXMuY2FsZW5kYXI7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpc0lTT1N0cmluZyh2YWx1ZSkpIHJldHVybiBuZXcgQVhEYXRlVGltZShuZXcgRGF0ZSh2YWx1ZSksIGNhbGVuZGFyKTtcbiAgICAgIGVsc2UgcmV0dXJuIGNhbGVuZGFyLnBhcnNlKHZhbHVlKTtcbiAgICB9XG4gICAgY29uc3QgZGF0ZSA9IHZhbHVlIGluc3RhbmNlb2YgQVhEYXRlVGltZSA/IHZhbHVlLmRhdGUgOiAodmFsdWUgYXMgRGF0ZSk7XG4gICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGRhdGUsIGNhbGVuZGFyKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import { AX_GLOBAL_CONFIG } from '@acorex/core/config';
|
2
|
+
import { InjectionToken, inject } from '@angular/core';
|
3
|
+
import { set } from 'lodash-es';
|
4
|
+
import { GeorgianCalendar } from './georgian.calendar';
|
5
|
+
import { JalaliCalendar } from './jalali.calendar';
|
6
|
+
export const AX_DATETIME_CONFIG = new InjectionToken('AX_DATETIME_CONFIG', {
|
7
|
+
providedIn: 'root',
|
8
|
+
factory: () => {
|
9
|
+
const global = inject(AX_GLOBAL_CONFIG);
|
10
|
+
set(global, 'dateTime', AX_DATETIME_CONFIG);
|
11
|
+
return AXDateTimeDefaultConfig;
|
12
|
+
},
|
13
|
+
});
|
14
|
+
export const AXDateTimeDefaultConfig = {
|
15
|
+
calendar: 'georgian',
|
16
|
+
calendars: {
|
17
|
+
georgian: new GeorgianCalendar({
|
18
|
+
weekdays: [0, 1, 2, 3, 4, 5, 6],
|
19
|
+
weekend: [5, 6],
|
20
|
+
formats: {
|
21
|
+
dateInput: 'yyyy/MM/dd',
|
22
|
+
timeInput: 'HH:mm',
|
23
|
+
dateTimeInput: 'yyyy/MM/dd HH:mm',
|
24
|
+
dateDisplay: 'DDDD, d MMM yyyy',
|
25
|
+
timeDisplay: 'HH:mm',
|
26
|
+
dateTimeDisplay: 'DDDD, d MMM yyyy HH:mm',
|
27
|
+
},
|
28
|
+
}),
|
29
|
+
jalali: new JalaliCalendar({
|
30
|
+
weekdays: [6, 0, 1, 2, 3, 4, 5],
|
31
|
+
weekend: [6],
|
32
|
+
formats: {
|
33
|
+
dateInput: 'yyyy/MM/dd',
|
34
|
+
timeInput: 'HH:mm',
|
35
|
+
dateTimeInput: 'yyyy/MM/dd HH:mm',
|
36
|
+
dateDisplay: 'DDDD, d MMM yyyy',
|
37
|
+
timeDisplay: 'HH:mm',
|
38
|
+
dateTimeDisplay: 'DDDD, d MMM yyyy HH:mm',
|
39
|
+
},
|
40
|
+
}),
|
41
|
+
},
|
42
|
+
};
|
43
|
+
export function dateTimeConfig(config = {}) {
|
44
|
+
const result = {
|
45
|
+
...AXDateTimeDefaultConfig,
|
46
|
+
...config,
|
47
|
+
};
|
48
|
+
return result;
|
49
|
+
}
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2RhdGUtdGltZS9zcmMvbGliL2RhdGVUaW1lLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWhDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVNuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsb0JBQW9CLEVBQ3BCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0NBQ0YsQ0FDRixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXFCO0lBQ3ZELFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFNBQVMsRUFBRTtRQUNULFFBQVEsRUFBRSxJQUFJLGdCQUFnQixDQUFDO1lBQzdCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxFQUFFO2dCQUNQLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixTQUFTLEVBQUUsT0FBTztnQkFDbEIsYUFBYSxFQUFFLGtCQUFrQjtnQkFDakMsV0FBVyxFQUFFLGtCQUFrQjtnQkFDL0IsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLGVBQWUsRUFBRSx3QkFBd0I7YUFDMUM7U0FDRixDQUFDO1FBQ0YsTUFBTSxFQUFFLElBQUksY0FBYyxDQUFDO1lBQ3pCLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDWixPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFNBQVMsRUFBRSxPQUFPO2dCQUNsQixhQUFhLEVBQUUsa0JBQWtCO2dCQUNqQyxXQUFXLEVBQUUsa0JBQWtCO2dCQUMvQixXQUFXLEVBQUUsT0FBTztnQkFDcEIsZUFBZSxFQUFFLHdCQUF3QjthQUMxQztTQUNGLENBQUM7S0FDSDtDQUNGLENBQUM7QUFJRixNQUFNLFVBQVUsY0FBYyxDQUM1QixTQUFnQyxFQUFFO0lBRWxDLE1BQU0sTUFBTSxHQUFHO1FBQ2IsR0FBRyx1QkFBdUI7UUFDMUIsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWF9HTE9CQUxfQ09ORklHIH0gZnJvbSAnQGFjb3JleC9jb3JlL2NvbmZpZyc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhDYWxlbmRhciB9IGZyb20gJy4vZGF0ZXRpbWUuY2xhc3MnO1xuaW1wb3J0IHsgR2VvcmdpYW5DYWxlbmRhciB9IGZyb20gJy4vZ2VvcmdpYW4uY2FsZW5kYXInO1xuaW1wb3J0IHsgSmFsYWxpQ2FsZW5kYXIgfSBmcm9tICcuL2phbGFsaS5jYWxlbmRhcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhEYXRlVGltZUNvbmZpZyB7XG4gIGNhbGVuZGFyOiBzdHJpbmc7XG4gIGNhbGVuZGFyczoge1xuICAgIFtrZXk6IHN0cmluZ106IEFYQ2FsZW5kYXI7XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBBWF9EQVRFVElNRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhEYXRlVGltZUNvbmZpZz4oXG4gICdBWF9EQVRFVElNRV9DT05GSUcnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbCA9IGluamVjdChBWF9HTE9CQUxfQ09ORklHKTtcbiAgICAgIHNldChnbG9iYWwsICdkYXRlVGltZScsIEFYX0RBVEVUSU1FX0NPTkZJRyk7XG4gICAgICByZXR1cm4gQVhEYXRlVGltZURlZmF1bHRDb25maWc7XG4gICAgfSxcbiAgfVxuKTtcblxuZXhwb3J0IGNvbnN0IEFYRGF0ZVRpbWVEZWZhdWx0Q29uZmlnOiBBWERhdGVUaW1lQ29uZmlnID0ge1xuICBjYWxlbmRhcjogJ2dlb3JnaWFuJyxcbiAgY2FsZW5kYXJzOiB7XG4gICAgZ2VvcmdpYW46IG5ldyBHZW9yZ2lhbkNhbGVuZGFyKHtcbiAgICAgIHdlZWtkYXlzOiBbMCwgMSwgMiwgMywgNCwgNSwgNl0sXG4gICAgICB3ZWVrZW5kOiBbNSwgNl0sXG4gICAgICBmb3JtYXRzOiB7XG4gICAgICAgIGRhdGVJbnB1dDogJ3l5eXkvTU0vZGQnLFxuICAgICAgICB0aW1lSW5wdXQ6ICdISDptbScsXG4gICAgICAgIGRhdGVUaW1lSW5wdXQ6ICd5eXl5L01NL2RkIEhIOm1tJyxcbiAgICAgICAgZGF0ZURpc3BsYXk6ICdERERELCBkIE1NTSB5eXl5JyxcbiAgICAgICAgdGltZURpc3BsYXk6ICdISDptbScsXG4gICAgICAgIGRhdGVUaW1lRGlzcGxheTogJ0REREQsIGQgTU1NIHl5eXkgSEg6bW0nLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICBqYWxhbGk6IG5ldyBKYWxhbGlDYWxlbmRhcih7XG4gICAgICB3ZWVrZGF5czogWzYsIDAsIDEsIDIsIDMsIDQsIDVdLFxuICAgICAgd2Vla2VuZDogWzZdLFxuICAgICAgZm9ybWF0czoge1xuICAgICAgICBkYXRlSW5wdXQ6ICd5eXl5L01NL2RkJyxcbiAgICAgICAgdGltZUlucHV0OiAnSEg6bW0nLFxuICAgICAgICBkYXRlVGltZUlucHV0OiAneXl5eS9NTS9kZCBISDptbScsXG4gICAgICAgIGRhdGVEaXNwbGF5OiAnRERERCwgZCBNTU0geXl5eScsXG4gICAgICAgIHRpbWVEaXNwbGF5OiAnSEg6bW0nLFxuICAgICAgICBkYXRlVGltZURpc3BsYXk6ICdERERELCBkIE1NTSB5eXl5IEhIOm1tJyxcbiAgICAgIH0sXG4gICAgfSksXG4gIH0sXG59O1xuXG5leHBvcnQgdHlwZSBQYXJ0aWFsRGF0ZVRpbWVDb25maWcgPSBQYXJ0aWFsPEFYRGF0ZVRpbWVDb25maWc+O1xuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVRpbWVDb25maWcoXG4gIGNvbmZpZzogUGFydGlhbERhdGVUaW1lQ29uZmlnID0ge31cbik6IEFYRGF0ZVRpbWVDb25maWcge1xuICBjb25zdCByZXN1bHQgPSB7XG4gICAgLi4uQVhEYXRlVGltZURlZmF1bHRDb25maWcsXG4gICAgLi4uY29uZmlnLFxuICB9O1xuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|