@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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-core.mjs","sources":["../../../../libs/core/src/lib/classes/color.class.ts","../../../../libs/core/src/lib/utils/object/object-util.ts","../../../../libs/core/src/lib/services/config.ts","../../../../libs/core/src/lib/classes/datetime.class.ts","../../../../libs/core/src/lib/classes/menu.class.ts","../../../../libs/core/src/lib/classes/promise.class.ts","../../../../libs/core/src/lib/classes/select.class.ts","../../../../libs/core/src/lib/classes/base-page.class.ts","../../../../libs/core/src/lib/error/error.service.ts","../../../../libs/core/src/lib/error/error.module.ts","../../../../libs/core/src/lib/http/http-events.interceptor.ts","../../../../libs/core/src/lib/http/http-result.class.ts","../../../../libs/core/src/lib/http/http.service.ts","../../../../libs/core/src/lib/http/http.module.ts","../../../../libs/core/src/lib/platform/platform.service.ts","../../../../libs/core/src/lib/pipe/datetime.pipe.ts","../../../../libs/core/src/lib/pipe/htmlToText.pipe.ts","../../../../libs/core/src/lib/services/event.service.ts","../../../../libs/core/src/lib/services/navigator.service.ts","../../../../libs/core/src/lib/services/storage.service.ts","../../../../libs/core/src/lib/translator/translator.ts","../../../../libs/core/src/lib/translator/translator.service.ts","../../../../libs/core/src/lib/translator/translator.pipe.ts","../../../../libs/core/src/lib/translator/translator.module.ts","../../../../libs/core/src/lib/utils/array/array-util.ts","../../../../libs/core/src/lib/utils/math/math-util.ts","../../../../libs/core/src/lib/utils/html/html-util.ts","../../../../libs/core/src/lib/utils/html/html.module.ts","../../../../libs/core/src/lib/utils/render/on-demand-preload-strategy.service.ts","../../../../libs/core/src/lib/utils/render/render.service.ts","../../../../libs/core/src/lib/utils/render/rendering.module.ts","../../../../libs/core/src/lib/utils/scroll/scroll.directive.ts","../../../../libs/core/src/lib/utils/scroll/scroll.module.ts","../../../../libs/core/src/lib/utils/separator/separator.pipe.ts","../../../../libs/core/src/lib/utils/separator/separator.module.ts","../../../../libs/core/src/lib/core.module.ts","../../../../libs/core/src/acorex-core.ts"],"sourcesContent":["export interface AXColor {\n id?: string;\n color?: string;\n code: string;\n selected?: boolean;\n active?: boolean;\n}\n\nexport class AXColorUtil {\n\n\n static hex2Rgb(hexColor: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexColor);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n\n static rgb2Hex(r: number, g: number, b: number, a: number = 255): string {\n let alpha;\n let hex = (r | 1 << 8).toString(16).slice(1) +\n (g | 1 << 8).toString(16).slice(1) +\n (b | 1 << 8).toString(16).slice(1);\n if (a !== 255) {\n alpha = a;\n } else {\n alpha = 1;\n }\n\n alpha = Math.round(alpha * 100) / 100;\n alpha = Math.round(alpha * 255);\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\n return '#' + hex + (alpha == 255 ? '' : hexAlpha);\n };\n\n static illuminance(hexColor: string) {\n const rgbColor = AXColorUtil.hex2Rgb(hexColor);\n if (!rgbColor) {\n return -1;\n }\n const r = rgbColor.r;\n const g = rgbColor.g;\n const b = rgbColor.b;\n const a = [r, g, b].map(v => {\n v /= 255;\n return (v <= 0.03928) ?\n v / 12.92 :\n Math.pow(((v + 0.055) / 1.055), 2.4);\n });\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n }\n\n static contrastToWhite(hexColor: string) {\n const whiteIlluminance = 1;\n const illuminance = AXColorUtil.illuminance(hexColor);\n return whiteIlluminance / illuminance;\n }\n\n}\n","// @dynamic\nexport class AXObjectUtil {\n static deepJSONClone(obj: any): any {\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\n }\n\n static deepCopy(obj) {\n let copy;\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' !== typeof obj) { return obj; }\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\n }\n return copy;\n }\n // Handle Object\n if (obj instanceof Object) {\n copy = {};\n for (const attr in obj) {\n if (obj.hasOwnProperty(attr)) { copy[attr] = AXObjectUtil.deepCopy(obj[attr]); }\n }\n return copy;\n }\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\n }\n}\n\nexport function AXFetchProp(obj, prop: string) {\n if (typeof obj === 'undefined') {\n return false;\n }\n const index = prop.indexOf('.');\n\n if (index > -1) {\n return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\n }\n\n return obj[prop];\n}\n\n\n\n\nexport function getPropByPath(obj, path, defaultVal?) {\n path = path\n .replace(/\\[/g, '.')\n .replace(/]/g, '')\n .split('.');\n\n path.forEach((level) => {\n if (obj) {\n obj = obj[level];\n }\n });\n\n if (obj === undefined) {\n return defaultVal;\n }\n return obj;\n}\n\nexport function setPropByPath(obj, path, value) {\n if (Object(obj) !== obj) { return obj; } // When obj is not an object\n // If not yet an array, get the keys from the string-path\n if (!Array.isArray(path)) { path = path.toString().match(/[^.[\\]]+/g) || []; }\n path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\n Object(a[c]) === a[c] // Does the key exist and is its value an object?\n // Yes: then follow that path\n ? a[c]\n // No: create the key. Is the next key a potential array-index?\n : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\n ? [] // Yes: assign a new array object\n : {}, // No: assign a new plain object\n obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\n return obj[path[0]]; // Return the top-level object to allow chaining\n}\n\n\n","import { Subject, Observable } from 'rxjs';\nimport { getPropByPath, setPropByPath } from '../utils/object/object-util';\n\n// @dynamic\nexport class AXConfig {\n private static dataModel: any = {};\n private static dataChangeSubject = new Subject<any>();\n\n\n static get onChange(): Observable<any> {\n return AXConfig.dataChangeSubject.asObservable();\n }\n\n static set(config: any): any;\n static set(path: string, value?: any): void;\n static set(arg1?: any, arg2?: any) {\n\n if (arg1 && typeof arg1 == 'string') {\n setPropByPath(AXConfig.dataModel, arg1, arg2);\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\n return;\n }\n if (arg1 && typeof arg1 == 'object') {\n Object.assign(AXConfig.dataModel, arg1);\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\n return;\n }\n if (!arg1 && !arg2) {\n return AXConfig.dataChangeSubject.asObservable();\n }\n }\n\n static get(path: string): any {\n return getPropByPath(AXConfig.dataModel, path);\n }\n}","import moment from 'jalali-moment';\nimport { AXConfig } from '../services/config';\n// const moment = moment_;\n\nexport type TimeUnit = 'second' | 'minute' | 'minutes' | 'hour' | 'hours' | 'day' | 'days' | 'month' | 'year' | 'week';\n\nexport type TimeDuration = 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'month' | 'years';\n\nexport type TimeStep = 'Y' | 'M' | 'D' | 'YM' | 'YMD' | 'YMDh' | 'YMDhm' | 'YMDhms' | 'h' | 'm' | 's';\n\nexport type AXCalendarType = 'jalali' | 'gregorian';\n\nexport class AXDateTime {\n static convert(value: any, type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian'): AXDateTime {\n let date: AXDateTime;\n if (typeof value === 'string' || value instanceof String) {\n date = new AXDateTime(value as string, type);\n } else if (value instanceof Date) {\n date = new AXDateTime(value as Date, type);\n } else if (value instanceof AXDateTime) {\n date = value;\n }\n return date;\n }\n\n private _date: Date;\n get date(): Date {\n return this._date;\n }\n\n private resolveUnit(unit: TimeUnit): any {\n return this.type === 'jalali' ? 'j' + unit : unit;\n }\n\n private _moment: moment.Moment;\n\n // private get _moment(): moment_.Moment {\n // const m = moment(this.date);\n // if (this.type === 'jalali') {\n // m.locale('fa');\n // }\n // return m;\n // }\n\n constructor(value: Date | string = new Date(), public type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian') {\n if (value instanceof Date) {\n this._date = value as Date;\n } else {\n this._date = new Date(value);\n }\n this._moment = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n }\n\n clone(): AXDateTime {\n return new AXDateTime(this.date, this.type);\n }\n\n get dayInMonth(): number {\n return this._moment.date();\n }\n\n get dayOfYear(): number {\n return this._moment.dayOfYear();\n }\n\n get dayInWeek(): number {\n return this._moment.day();\n }\n\n get hour(): number {\n return this._moment.hour();\n }\n\n get minute(): number {\n return this._moment.minute();\n }\n\n get second(): number {\n return this._moment.second();\n }\n\n get year(): number {\n return this._moment.year();\n }\n\n get monthOfYear(): number {\n return this._moment.month();\n }\n\n get month(): AXCalendarMonth {\n return new AXCalendarMonth(this);\n }\n\n get firstDayOfWeek(): AXDateTime {\n const a = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n return new AXDateTime(a.startOf('w').toDate(), this.type);\n }\n\n get endDayOfWeek(): AXDateTime {\n const a = moment(this.date);\n if (this.type === 'jalali') {\n this._moment.locale('fa');\n }\n return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);\n }\n\n convertStringToJalali(date: string, format: string) {\n return moment(date).locale('fa').format('YYYY/M/D');\n }\n convertStringToGregorian(date: string, format: string) {\n return new Date(moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD'));\n }\n\n add(unit: TimeUnit = 'day', amount: number): AXDateTime {\n return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);\n }\n\n addDay(amount: number): AXDateTime {\n return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);\n }\n\n addMonth(amount: number): AXDateTime {\n return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);\n }\n addHour(amount: number) {\n return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);\n }\n\n set(unit: TimeUnit = 'day', value: number): AXDateTime {\n return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);\n }\n\n duration(end: AXDateTime, unit: TimeDuration = 'days'): number {\n const duration = moment.duration(this._moment.diff(end._moment));\n return Math.round(duration.as(unit));\n }\n\n startOf(unit: TimeUnit = 'day'): AXDateTime {\n return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);\n }\n\n endOf(unit: TimeUnit = 'day'): AXDateTime {\n return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);\n }\n\n format(format: string = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')): string {\n if (format === 'P') {\n return this._moment.fromNow();\n }\n return this._moment.format(format);\n }\n\n toString(): string {\n return this.format();\n }\n\n equal(value: AXDateTime, unit: TimeUnit = 'day') {\n if (!value) {\n return false;\n }\n return this._moment.isSame(moment(value.date), this.resolveUnit(unit));\n }\n\n convertToJalaliDate(value) {\n const options: any = {\n numberingSystem: 'latn',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n };\n const jDate = new Date(value).toLocaleDateString('fa-IR', options);\n const item: any = {};\n item.year = jDate.slice(0, 4);\n item.month = jDate.slice(5, 7);\n item.day = jDate.slice(8, 10);\n item.hour = jDate.slice(13, 15);\n item.minutes = jDate.slice(16, 18);\n item.seconds = jDate.slice(19, 21);\n return item;\n }\n\n toJalaliString(value) {\n const date = this.convertToJalaliDate(value);\n let str = '';\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\n return str;\n }\n\n convertToGregorianDate(value) {\n // TODO: check this fucking type\n const options: any = {\n numberingSystem: 'latn',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit'\n };\n const date = new Date(value).toLocaleString('en-us', options);\n const item: any = {};\n item.year = date.slice(6, 10);\n item.month = date.slice(0, 2);\n item.day = date.slice(3, 5);\n item.hour = date.slice(12, 14);\n item.minutes = date.slice(15, 17);\n item.seconds = date.slice(18, 20);\n return item;\n }\n\n toGregorianString(value) {\n const date = this.convertToGregorianDate(value);\n let str = '';\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\n return str;\n }\n\n compaireNew(value: AXDateTime, unit: TimeStep = 'YMD', type = 'jalali') {\n const range = [0, 0];\n let str1;\n let str2;\n if (type === 'jalali') {\n str1 = this.toJalaliString(this.date);\n str2 = this.toJalaliString(value.date ? value.date : value);\n } else {\n str1 = this.toGregorianString(this.date);\n str2 = this.toGregorianString(value.date ? value.date : value);\n }\n switch (unit) {\n case 'YMDhms':\n range[0] = 0;\n range[1] = 19;\n break;\n case 'YMDhm':\n range[0] = 0;\n range[1] = 16;\n break;\n case 'YMDh':\n range[0] = 0;\n range[1] = 13;\n break;\n case 'YMD':\n range[0] = 0;\n range[1] = 10;\n break;\n\n case 'YM':\n range[0] = 0;\n range[1] = 7;\n break;\n\n case 'h':\n range[0] = 11;\n range[1] = 13;\n break;\n\n case 'm':\n range[0] = 14;\n range[1] = 16;\n break;\n\n case 's':\n range[0] = 17;\n range[1] = 19;\n break;\n case 'D':\n range[0] = 8;\n range[1] = 10;\n break;\n\n case 'M':\n range[0] = 5;\n range[1] = 7;\n break;\n\n case 'Y':\n range[0] = 0;\n range[1] = 4;\n break;\n }\n\n if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {\n return 0;\n } else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {\n return 1;\n } else {\n return -1;\n }\n }\n\n compaire(value: AXDateTime, unit: TimeUnit = 'day') {\n if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {\n return 0;\n } else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {\n return 1;\n } else {\n return -1;\n }\n }\n\n toISOString() {\n return this._date.toISOString();\n }\n}\n\nexport class AXCalendarMonth {\n private _moment: moment.Moment;\n\n private _range: AXDateTimeRange;\n public get range(): AXDateTimeRange {\n return this._range;\n }\n public set range(v: AXDateTimeRange) {\n this._range = v;\n }\n\n constructor(date: AXDateTime) {\n this._moment = moment(date.date);\n this.index = date.date.getMonth();\n this.name = this._moment.format('MMMM');\n this.range = new AXDateTimeRange(\n new AXDateTime(this._moment.startOf('month').toDate(), date.type),\n new AXDateTime(this._moment.endOf('month').toDate(), date.type)\n );\n }\n\n private readonly index: number;\n private readonly name: string;\n}\n\nexport class AXDateTimeRange {\n constructor(public startTime: AXDateTime, public endTime: AXDateTime) { }\n\n duration(unit: TimeDuration = 'days'): number {\n const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));\n return duration.as(unit);\n }\n\n enumurate(unit: TimeUnit = 'day', type: AXCalendarType = AXConfig.get('dateTime.type') || 'jalali'): AXDateTime[] {\n const result: AXDateTime[] = [];\n for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {\n result.push(this.startTime.add(unit, index));\n }\n return result;\n }\n\n includes(value: AXDateTime, unit: TimeUnit = 'day', type = 'jalali'): boolean {\n return (\n value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&\n value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0\n );\n }\n\n getViewCompaire(view) {\n switch (view) {\n case 'day':\n return 'YMD';\n case 'month':\n return 'YM';\n case 'year':\n return 'Y';\n }\n }\n}\n","export class AXBaseMenuItem {\n uid?: string = new Date().getTime().toString();\n id?: string;\n name?: string;\n text?: string;\n tooltip?: string;\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\n icon?: string;\n visible?: boolean = true;\n disable?: boolean = false;\n selected?: boolean = false;\n groupName?: string;\n data?: any;\n style?: string = 'ax light';\n orderIndex?: number = 0;\n endIcon?: string;\n startIcon?: string;\n onClick?: (e?: any) => void;\n}\n\nexport class AXMenuItem extends AXBaseMenuItem {\n items?: AXMenuItem[];\n parentId?: string;\n divider?: boolean = false;\n}\n\nexport class AXButtonItem extends AXBaseMenuItem {\n dropdown?: boolean = false;\n submitBehavior?: boolean = false;\n cancelBehavior?: boolean = false;\n}\n\nexport class AXCheckItem {\n text?: string;\n value?: any;\n selected?: boolean;\n}\n","export class AXPromise<T> {\n\n private _executor: (then?: (e?: T) => void) => void;\n private thenAction?: (e?: T) => void;\n\n static resolve<T>(value: T): AXPromise<T> {\n const r = new AXPromise<T>(z => {\n z(value);\n }).then(() => { });\n return r;\n }\n\n constructor(executor: (then?: (e?: T) => void) => void) {\n this._executor = executor;\n setTimeout(() => {\n this._executor(this.thenAction);\n }, 50);\n }\n\n\n then(action?: (e?: T) => void): AXPromise<T> {\n this.thenAction = action;\n return this;\n }\n}\n","export class AXSelectItem {\n id: string;\n name?: string;\n text: string;\n visible?: boolean;\n disable?: boolean;\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\n/**\n * @deprecated Use AXBasePageComponent from @acorex/components\n */\n// TODO: Add Angular decorator.\n@Injectable()\nexport abstract class AXBasePageComponent {\n\n onClosed: EventEmitter<any> = new EventEmitter<any>();\n\n close(data?: any) {\n this.onClosed.emit({\n component: this,\n data: data\n });\n }\n\n onClosing(e: any): void | Promise<void> {\n }\n\n ngOnDestroy() {\n this.onClosed.unsubscribe();\n }\n\n\n}\n\n\n","import { InjectionToken, Injectable, Injector } from '@angular/core';\n\nexport const AX_ERROR_DISPLAY_INTERCEPTOR = new InjectionToken<AXErrorDisplayInterceptor>('ax.error');\n\nexport interface AXErrorDisplayInterceptor {\n show(message: string);\n}\n\n@Injectable({providedIn: 'root'})\nexport class AXErrorService {\n\n constructor(private injector: Injector) {\n\n }\n\n handle(message: string) {\n const instance = this.injector.get(AX_ERROR_DISPLAY_INTERCEPTOR);\n if (instance) {\n instance.show(message);\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXErrorService } from './error.service';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule],\n exports: [],\n providers: [AXErrorService],\n})\nexport class AXErrorModule {\n\n}\n","import { IHttpError } from './http-error.class';\nimport { InjectionToken } from '@angular/core';\nimport { AXHttpRequestOptions } from './http-request.class';\n\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\n\nexport interface AXHttpEventInterceptor {\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\n complete(request: AXHttpRequestOptions);\n error(request: AXHttpRequestOptions, error: IHttpError);\n}\n\n\n","import { IHttpError } from './http-error.class';\n\nexport class HttpResult<T> {\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\n constructor(\n executor: (\n result: (e?: T) => void,\n error: (e?: IHttpError) => void,\n complete: () => void\n ) => void\n ) {\n this._executor = executor;\n setTimeout(() => {\n this._executor(this.resultAction, this.errorAction, this.completeAction);\n }, 50);\n }\n\n private resultAction: (e?: T) => void;\n private errorAction: (e?: IHttpError) => void;\n private completeAction: () => void;\n\n result(action: (e?: T) => void): HttpResult<T> { \n this.resultAction = action;\n return this;\n }\n error(action: (e?: IHttpError) => void): HttpResult<T> {\n this.errorAction = action;\n return this;\n }\n complete(action: () => void): HttpResult<T> {\n this.completeAction = action;\n return this;\n }\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\nimport { HttpResult } from './http-result.class';\nimport { IHttpError } from './http-error.class';\nimport { AXHttpRequestOptions } from './http-request.class';\nimport {\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\n} from './http-events.interceptor';\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\n// import { of, concat, throwError } from 'rxjs';\n\n\n@Injectable()\nexport class AXHttpService {\n\n private interceptor: AXHttpEventInterceptor;\n constructor(private http: HttpClient, private injector: Injector) {\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\n }\n\n\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\n config.url = url;\n config.method = \"get\";\n return this.request(config);\n }\n\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\n config.url = url;\n config.method = \"post\";\n return this.request(config);\n }\n\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\n config.url = url;\n config.method = \"delete\";\n return this.request(config);\n }\n\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\n config.url = url;\n config.method = \"put\";\n return this.request(config);\n }\n\n\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\n return new HttpResult<T>((result?, error?, complete?) => {\n this.handleBegin(config).then(c => {\n this.http\n .request<T>(config.method, config.url, this.mapOptions(config))\n //.pipe(this.retry)\n .subscribe(data => {\n this.handleResult(data, result, complete, config);\n }, c => {\n this.handleError(c, error, complete, config);\n });\n });\n })\n }\n\n\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\n if (this.interceptor) {\n this.interceptor.success(config, data).then(c => {\n if (result)\n result(c);\n this.handleComplete(complete, config);\n });\n }\n else {\n //\n if (result)\n result(data);\n this.handleComplete(complete, config);\n }\n }\n\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\n return new Promise((resolve) => {\n if (!config.headers)\n config.headers = {};\n if (!config.params)\n config.params = {};\n //\n if (this.interceptor) {\n this.interceptor.begin(config).then(c => {\n resolve(c);\n });\n }\n else {\n resolve(config)\n }\n })\n }\n\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\n if (complete)\n complete();\n if (this.interceptor)\n this.interceptor.complete(config);\n }\n\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\n let r: IHttpError = {\n message: c.message,\n status: c.status,\n code: c.status?.toString(),\n handled: false,\n error: c.error\n }\n if (error) {\n error(r);\n }\n if (!r.handled) {\n if (this.interceptor)\n this.interceptor.error(config, r);\n }\n this.handleComplete(complete, config);\n }\n\n private mapOptions(options: AXHttpRequestOptions) {\n let headers = new HttpHeaders();\n\n for (const key in options.headers) {\n if (options.headers.hasOwnProperty(key)) {\n const value = options.headers[key];\n headers = headers.set(key, value)\n }\n }\n let params = new HttpParams();\n for (const key in options.params) {\n if (options.params.hasOwnProperty(key)) {\n const value = options.params[key];\n params = params.set(key, value);\n }\n }\n return {\n headers: headers,\n params: params,\n body: options.body,\n responseType: options.responseType || 'json'\n };\n // if (options.method == \"get\") {\n // return {\n // headers: headers,\n // params: params\n // };\n // }\n // else {\n // return {\n // headers: headers,\n // params: params,\n // body: options.body\n // };\n // }\n }\n\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { AXHttpService } from './http.service';\n\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule,\n HttpClientModule\n ],\n exports: [HttpClientModule],\n providers: [\n AXHttpService\n ]\n})\nexport class AXHttpModule {\n static forRoot(): ModuleWithProviders<AXHttpModule> {\n return {\n ngModule: AXHttpModule,\n providers: [AXHttpService]\n };\n }\n}","import { Injectable } from \"@angular/core\";\nimport { from, fromEvent, Subject } from \"rxjs\";\nimport { debounceTime, distinctUntilChanged } from \"rxjs/operators\";\n\n\nexport type AXPlatforms = 'Android' | 'Desktop' | 'iOS' | 'Mobile' | '';\nexport type AXBrowsers = 'Chrome' | 'Safari' | 'Edge' | 'Firefox' | 'Opera' | 'MSIE';\nexport type AXTechnologies = 'PWA' | 'Hybrid' | 'Electron';\nexport type AXScreenSizes = 'SM' | 'MD' | 'LG' | 'XL' | '2XL';\n\n\n\nconst isChrome = (win: Window): boolean =>\n testUserAgent(win, /Chrome/i);\n\nconst isFirefox = (win: Window): boolean =>\n testUserAgent(win, /Firefox/i);\n\nconst isEdge = (win: Window): boolean =>\n testUserAgent(win, /Edge/i);\n\nconst isSafari = (win: Window): boolean =>\n testUserAgent(win, /Safari/i);\n\nconst isOpera = (win: Window): boolean =>\n testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);\n\nconst isMSIE = (win: Window): boolean =>\n testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);\n\n\nconst isMobileWeb = (win: Window): boolean =>\n isMobile(win) && !isHybrid(win);\n\nconst isIpad = (win: Window) => {\n // iOS 12 and below\n if (testUserAgent(win, /iPad/i)) {\n return true;\n }\n\n // iOS 13+\n if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {\n return true;\n }\n\n return false;\n};\n\nconst isIphone = (win: Window) =>\n testUserAgent(win, /iPhone/i);\n\nconst isIOS = (win: Window) =>\n testUserAgent(win, /iPhone|iPod/i) || isIpad(win);\n\nconst isAndroid = (win: Window) =>\n testUserAgent(win, /android|sink/i);\n\nconst isAndroidTablet = (win: Window) => {\n return isAndroid(win) && !testUserAgent(win, /mobile/i);\n};\n\nconst isPhablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return (smallest > 390 && smallest < 520) &&\n (largest > 620 && largest < 800);\n};\n\nconst isTablet = (win: Window) => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const smallest = Math.min(width, height);\n const largest = Math.max(width, height);\n\n return (\n isIpad(win) ||\n isAndroidTablet(win) ||\n (\n (smallest > 460 && smallest < 820) &&\n (largest > 780 && largest < 1400)\n )\n );\n};\n\nconst isMobile = (win: Window) =>\n matchMedia(win, '(any-pointer:coarse)');\n\nconst isTouch = (win: Window) => matchMedia(win, '(any-pointer:coarse)');\n\nconst isDesktop = (win: Window) =>\n !isMobile(win);\n\nconst isHybrid = (win: Window) =>\n isCordova(win) || isCapacitorNative(win);\n\nconst isCordova = (win: any): boolean =>\n !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);\n\nconst isCapacitorNative = (win: any): boolean => {\n const capacitor = win['Capacitor'];\n return !!(capacitor && capacitor.isNative);\n};\n\nconst isElectron = (win: Window): boolean =>\n testUserAgent(win, /electron/i);\n\nconst isPWA = (win: Window): boolean =>\n !!(win.matchMedia('(display-mode: standalone)').matches || (win.navigator as any).standalone);\n\nexport const testUserAgent = (win: Window, expr: RegExp) =>\n expr.test(win.navigator.userAgent);\n\nconst matchMedia = (win: Window, query: string): boolean =>\n win.matchMedia(query).matches;\n\nconst isSMScreen = (win: Window) => matchMedia(win, '(max-width: 640px)');\nconst isMDScreen = (win: Window) => matchMedia(win, '(max-width: 768px)');\nconst isLGScreen = (win: Window) => matchMedia(win, '(max-width: 1024px)');\nconst isXLScreen = (win: Window) => matchMedia(win, '(max-width: 1280px)');\nconst is2XLScreen = (win: Window) => matchMedia(win, '(max-width: 1536px)');\n\nconst PLATFORMS_MAP = {\n 'Android': isAndroid,\n 'iOS': isIOS,\n 'Desktop': isDesktop,\n 'Mobile': isMobile,\n 'Touch': isTouch,\n 'Chrome': isChrome,\n 'Firefox': isFirefox,\n 'Safari': isSafari,\n 'Edge': isEdge,\n 'Opera': isOpera,\n 'Hybrid': isHybrid,\n 'PWA': isPWA,\n 'Electron': isElectron,\n SM: isSMScreen,\n MD: isMDScreen,\n LG: isLGScreen,\n XL: isXLScreen,\n \"2XL\": is2XLScreen,\n};\n\n\nexport class AXPlatformEvent {\n nativeEvent: UIEvent | Event;\n source: AXPlatform\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPlatform {\n resize: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>();\n click: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>()\n scroll: Subject<AXPlatformEvent> = new Subject<AXPlatformEvent>()\n\n isRtl(): boolean {\n return document.dir == 'rtl' || document.body.dir == 'rtl' || document.body.style.direction == 'rtl';\n }\n\n\n isLandscape(): boolean {\n return window.innerHeight < window.innerWidth;\n }\n\n isPortrate(): boolean {\n return !this.isLandscape()\n }\n\n is(name: AXPlatforms | AXBrowsers | AXTechnologies | AXScreenSizes): boolean {\n return PLATFORMS_MAP[name](window) || false;\n }\n\n switchDarkMode() {\n const _html = document.getElementsByTagName(\"html\")[0];\n _html.classList.add('ax-dark')\n\n }\n\n switchLightMode() {\n const _html = document.getElementsByTagName(\"html\")[0];\n _html.classList.remove('ax-dark')\n }\n\n private _setFullHeightRatio() {\n document.querySelector<HTMLElement>(':root').style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');\n }\n\n constructor() {\n\n fromEvent<UIEvent>(window, 'resize')\n .pipe(debounceTime(100))\n .pipe(distinctUntilChanged())\n .subscribe((e) => {\n this.resize.next({\n nativeEvent: e,\n source: this\n });\n //\n this._setFullHeightRatio();\n });\n\n\n document.addEventListener('click', (e) => {\n this.click.next({\n nativeEvent: e,\n source: this\n });\n }, true)\n\n document.addEventListener('scroll', (e) => {\n this.scroll.next({\n nativeEvent: e,\n source: this\n });\n }, true);\n // init functions\n this._setFullHeightRatio();\n }\n}","import { PipeTransform, Pipe } from '@angular/core';\nimport { AXDateTime } from '../classes/datetime.class';\n\n@Pipe({ name: 'dt' })\nexport class AXDateTimePipe implements PipeTransform {\n constructor() { }\n\n transform(value: any, format?: string): string {\n const date: AXDateTime = AXDateTime.convert(value);\n if (value == null) {\n return '';\n }\n if (!format) {\n return date.toString();\n }\n else {\n return date.format(format);\n }\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'html2text' })\nexport class AXHtmlToTextPipe implements PipeTransform {\n transform(value: string) {\n if (value) {\n const regexHtml = /<\\/?[^>]+>/gi;\n const regexNbsp = / /gi;\n const regexAmp = /&/gi;\n return value\n .replace(regexHtml, '')\n .replace(regexNbsp, '')\n .replace(regexAmp, '');\n } else {\n return '';\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({ providedIn: 'root' })\nexport class AXEventService {\n private list: any[] = [];\n\n public broadcast(key: string, options?: any): void {\n const d = this.list.find(c => c.key === key);\n if (d) {\n d.events.forEach(c => {\n c(options);\n });\n }\n }\n\n public on(key: string, callback: (options?: any) => void) {\n let d = this.list.find(c => c.key === key);\n if (!d) {\n d = { key, events: [] };\n this.list.push(d);\n }\n d.events.push(callback);\n }\n\n public destroy(key: string, callback: (options?: any) => void): void {\n const d = this.list.find(c => c.key === key);\n if (d) {\n d.events = [];\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AXNavigatorParam } from '../classes/navigator.class';\n\n@Injectable()\nexport abstract class AXNavigator {\n abstract navigate(params: AXNavigatorParam);\n abstract popup(params: AXNavigatorParam);\n}","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class AXStorageService {\n get(key: string): any {\n return localStorage.getItem(key) as any;\n }\n set(key: string, value: any): void {\n localStorage.setItem(key, value as string);\n }\n}\n","import { Subject, Observable } from 'rxjs';\nimport { getPropByPath} from '../utils/object/object-util';\nimport merge from 'lodash-es/merge';\n\n// @dynamic\nexport class AXTranslator {\n private static lang: string = 'en';\n private static dataChangeSubject = new Subject<any>();\n\n\n static get onChange(): Observable<any> {\n return AXTranslator.dataChangeSubject.asObservable();\n }\n\n public static load(lang: string, value: any) {\n if (typeof value === 'object') {\n if (!AXTranslator[`__data__${lang}`]) {\n AXTranslator[`__data__${lang}`] = {};\n }\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\n }\n }\n\n public static use(lang: string) {\n AXTranslator.lang = lang;\n }\n\n public static get(key: string, lang?: string): string {\n return getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;\n }\n}","import { Injectable } from '@angular/core';\nimport { AXTranslator } from './translator';\n\n@Injectable({ providedIn: 'platform' })\nexport class AXTranslatorService {\n\n public load(lang: string, value: any) {\n AXTranslator.load(lang, value);\n }\n\n public use(lang: string) {\n AXTranslator.use(lang);\n }\n\n public get(key: string, lang?: string): string {\n return AXTranslator.get(lang, lang);\n }\n}\n\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AXTranslator } from './translator';\n\n@Pipe({ name: 'trans', pure: true })\nexport class AXTranslatorPipe implements PipeTransform {\n\n constructor() { }\n\n // transform(value: string, lang?: string): Promise<string> {\n // return new Promise<string>((resolve, reject) => {\n // if (!value) {\n // resolve(value);\n // }\n // resolve(this.translate.get(value, lang));\n // });\n\n // }\n\n transform(value: string, lang?: string): string {\n return AXTranslator.get(value, lang);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXTranslatorPipe } from './translator.pipe';\nimport * as en from '../locale/en.json';\nimport * as fa from '../locale/fa.json';\nimport { AXTranslator } from './translator';\n\n\n@NgModule({\n imports: [],\n exports: [AXTranslatorPipe],\n declarations: [AXTranslatorPipe],\n providers: [],\n})\nexport class AXTranslatorModule {\n constructor() {\n AXTranslator.load('en', en);\n AXTranslator.load('fa', fa);\n }\n}\n","import { AXFetchProp } from '../object/object-util';\n\n// @dynamic\nexport class AXArrayUtil {\n\n\n static pickRandom(array: any[]): any {\n return array[Math.floor(Math.random() * array.length)];\n }\n\n\n static insert(array: any[], index, ...rest) {\n array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));\n return array;\n }\n\n static range(min: number, max: number): number[] {\n return new Array(max - min).fill(1).map((d, i) => i);\n }\n\n static filter(array: any[], filters: any[]): any[] {\n if (filters == null || filters.length === 0) {\n return array;\n }\n const lamda = (item) => {\n let result = true;\n for (const key in filters) {\n if (filters.hasOwnProperty(key)) {\n const f = filters[key];\n if (f !== 'AND') {\n const vals = [];\n const mt = f.field.match(/\\[\\:(.*?)\\]/);\n if (mt && mt.length > 1) {\n const p1 = f.field.replace(mt[0], '');\n const p2 = mt[1];\n const prop = AXFetchProp(item, p1);\n if (prop instanceof Array && prop.length) {\n vals.push(...prop.map(m => (AXFetchProp(m, p2))));\n } else {\n result = false;\n }\n } else {\n vals.push(AXFetchProp(item, f.field));\n }\n for (const j in vals) {\n if (vals.hasOwnProperty(j)) {\n let v1 = vals[j];\n const v2 = f.value;\n if (f.dataType === 'string') {\n v1 = v1.toString();\n switch (f.condition) {\n case 'equal':\n result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();\n break;\n case 'not-equal':\n result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());\n break;\n case 'contains':\n result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\n break;\n case 'not-contains':\n result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\n break;\n case 'start-with':\n result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));\n break;\n case 'end-with':\n result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));\n break;\n case 'is-empty':\n result = v1 == null || v1 === undefined;\n break;\n case 'is-not-empty':\n result = !(v1 == null || v1 === undefined);\n break;\n default:\n console.error('The condition is not defined');\n result = false;\n }\n } else if (f.dataType === 'date') {\n } else if (f.dataType === 'number') {\n v1 = Number(v1);\n switch (f.condition) {\n case 'equal':\n result = v1 === v2;\n break;\n case 'not-equal':\n result = v1 !== v2;\n break;\n case 'contains':\n result = v2 && v2 instanceof Array && v2.includes(v1);\n break;\n case 'less-than':\n result = v1 < v2;\n break;\n case 'less-than-equal':\n result = v1 <= v2;\n break;\n case 'greater-than':\n result = v1 > v2;\n break;\n case 'greater-than-equal':\n result = v1 >= v2;\n break;\n case 'is-empty':\n result = v1 == null || v1 === undefined;\n break;\n case 'is-not-empty':\n result = !(v1 == null || v1 === undefined);\n break;\n default:\n console.error('The condition is not defined');\n result = false;\n }\n } else {\n console.error('The datatype is not supported');\n result = false;\n }\n if (result) {\n break;\n }\n }\n }\n }\n if (!result) {\n return false;\n }\n }\n }\n return true;\n };\n return array.filter(lamda);\n }\n\n}\n\n\n\n\n\n","export class AXMathUtil {\n static randomRange(min: number, max: number): number {\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n}\n","import { AXMathUtil } from '../math/math-util';\n\nexport type AXPlacement =\n | 'top-start'\n | 'top-middle'\n | 'top-end'\n | 'center-start'\n | 'center-end'\n | 'bottom-start'\n | 'bottom-middle'\n | 'bottom-end';\n\nexport interface AXIPoint {\n x: number;\n y: number;\n}\n\nexport interface AXConnectedPosition {\n originX: 'start' | 'center' | 'end';\n originY: 'top' | 'center' | 'bottom';\n overlayX: 'start' | 'center' | 'end';\n overlayY: 'top' | 'center' | 'bottom';\n weight?: number;\n offsetX?: number;\n offsetY?: number;\n}\n\nexport class AXPoint implements AXIPoint {\n constructor(public x: number, public y: number) {\n }\n}\n\nexport interface AXClientRecCtor {\n left?: number;\n top?: number;\n width?: number;\n height?: number;\n bottom?: number;\n right?: number;\n}\nexport class AXClientRec implements AXClientRecCtor {\n\n\n private _left: number;\n public get left(): number {\n return this._left;\n }\n public set left(v: number) {\n this._left = v;\n }\n\n\n private _top: number;\n public get top(): number {\n return this._top;\n }\n public set top(v: number) {\n this._top = v;\n }\n\n\n private _right: number;\n public get right(): number {\n return this._right;\n }\n public set right(v: number) {\n this._right = v;\n }\n\n\n private _bottom: number;\n public get bottom(): number {\n return this._bottom;\n }\n public set bottom(v: number) {\n this._bottom = v;\n }\n\n\n\n private _width: number;\n public get width(): number {\n return this._width;\n }\n public set width(v: number) {\n this._width = v;\n }\n\n\n private _height: number;\n public get height(): number {\n return this._height;\n }\n public set height(v: number) {\n this._height = v;\n }\n\n\n constructor(rec: AXClientRecCtor) {\n this._left = rec.left;\n this._top = rec.top;\n this._width = rec.width;\n this._height = rec.height;\n this._right = this._left + this._width;\n this._bottom = this._top + this._height;\n }\n\n public intersect(rec: AXClientRecCtor): boolean {\n return (this.left < rec.left + rec.width &&\n this.left + this.width > rec.left &&\n this.top < rec.top + rec.height &&\n this.top + this.height > rec.top);\n }\n\n\n}\n// @dynamic\nexport class AXHtmlUtil {\n static getBoundingRectPoint(el: HTMLElement, placement: AXPlacement): AXPoint {\n const rec = el.getBoundingClientRect();\n const width = el.offsetWidth;\n const height = el.offsetHeight;\n switch (placement) {\n case 'top-start':\n return new AXPoint(rec.left, rec.top);\n case 'top-middle':\n return new AXPoint(rec.left + (width / 2), rec.top);\n case 'top-end':\n return new AXPoint(rec.left + (width), rec.top);\n case 'center-end':\n return new AXPoint(rec.left + (width), rec.top + (height / 2));\n case 'bottom-end':\n return new AXPoint(rec.left + (width), rec.top + (height));\n case 'bottom-middle':\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\n case 'bottom-start':\n return new AXPoint(rec.left, rec.top + (height));\n case 'center-start':\n return new AXPoint(rec.left, rec.top + (height / 2));\n default:\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\n }\n }\n\n static isInRecPoint(pos: AXIPoint, rec: AXClientRecCtor): boolean {\n return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));\n }\n\n // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {\n // const r1: AXClientRec = new AXClientRec(rec1);\n // const r2: AXClientRec = new AXClientRec(rec2);\n\n // return ;\n // }\n\n static isInElementBound(pos: AXIPoint, element: HTMLElement): boolean {\n const elBound = element.getBoundingClientRect();\n return AXHtmlUtil.isInRecPoint(pos, {\n left: elBound.left,\n width: elBound.width,\n top: elBound.top,\n height: elBound.height\n });\n }\n\n static getDimensions(): { width: number, height: number } {\n let winW = 630;\n let winH = 460;\n if (document.body && document.body.offsetWidth) {\n winW = document.body.offsetWidth;\n winH = document.body.offsetHeight;\n }\n if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {\n winW = document.documentElement.offsetWidth;\n winH = document.documentElement.offsetHeight;\n }\n if (window.innerWidth && window.innerHeight) {\n winW = window.innerWidth;\n winH = window.innerHeight;\n }\n return { width: winW, height: winH };\n }\n\n static getOffsetRight(elem: HTMLElement): number {\n let element = elem;\n const width = element.offsetWidth;\n let right = 0;\n while (element.offsetParent) {\n right += element.offsetLeft;\n element = element.offsetParent as HTMLElement;\n }\n right += element.offsetLeft;\n right = AXHtmlUtil.getDimensions().width - right;\n right -= width;\n return right;\n }\n\n static getUID(): string {\n return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();\n }\n\n\n static getRelatedPosition(source: HTMLElement, placement: AXPlacement, target: HTMLElement, alignment: AXPlacement): AXIPoint {\n const result: AXIPoint = { x: 0, y: 0 };\n\n const sourcePos: AXPoint = AXHtmlUtil.getBoundingRectPoint(source, placement);\n\n\n let top: number = 0;\n let left: number = 0;\n switch (alignment) {\n case 'top-start':\n top = sourcePos.y;\n left = sourcePos.x;\n break;\n case 'top-middle':\n top = sourcePos.y;\n left = sourcePos.x - target.offsetWidth / 2;\n break;\n case 'top-end':\n top = sourcePos.y;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'center-end':\n top = sourcePos.y - target.offsetHeight / 2;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'bottom-end':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x - target.offsetWidth;\n break;\n case 'bottom-middle':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x - target.offsetWidth / 2;\n break;\n case 'bottom-start':\n top = sourcePos.y - target.offsetHeight;\n left = sourcePos.x;\n break;\n case 'center-start':\n top = sourcePos.y - target.offsetHeight / 2;\n left = sourcePos.x;\n break;\n }\n result.y = top;\n result.x = left;\n return result;\n }\n\n\n static collision(a: HTMLElement, b: HTMLElement): boolean {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n\n if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&\n ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {\n return true;\n }\n else {\n return false;\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';\n\n@NgModule({\n declarations: [AXHtmlToTextPipe],\n imports: [CommonModule],\n exports: [AXHtmlToTextPipe],\n providers: []\n})\nexport class AXHtmlModule { }\n","import { PreloadingStrategy, Route } from '@angular/router';\nimport { Injectable } from '@angular/core';\nimport { Subject, Observable, of } from 'rxjs';\nimport { mergeMap } from 'rxjs/operators';\nimport { AXHtmlUtil } from '../html/html-util';\n\n\n\n\n@Injectable()\nexport class AXOnDemandPreloadService {\n subject = new Subject<string>();\n tmp: string;\n\n constructor() {\n this.tmp = AXHtmlUtil.getUID();\n }\n\n startPreload(routePath: string) {\n const slices: string[] = [];\n \n\n this.subject.next(routePath);\n }\n}\n","import {\n ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable,\n Injector, EmbeddedViewRef, Type, Compiler, NgModuleFactory\n} from '@angular/core';\nimport { Router, Route } from '@angular/router';\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\n\n\n\n@Injectable({ providedIn: 'root' })\nexport class AXRenderService {\n constructor(\n private appRef: ApplicationRef,\n private router: Router,\n private componentFactoryResolver: ComponentFactoryResolver,\n private compiler: Compiler,\n private modulePreloadService: AXOnDemandPreloadService,\n private injector: Injector) {\n }\n\n\n\n appendComponent<T>(\n componentClass: Type<T>,\n options: any = {},\n location?: Element): ComponentRef<any> {\n\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\n const componentRef = componentFactory.create(this.injector);\n this.appRef.attachView(componentRef.hostView);\n Object.assign(componentRef.instance, options);\n //\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n componentRef.onDestroy(() => {\n this.appRef.detachView(componentRef.hostView);\n });\n if (location) {\n location.appendChild(domElem);\n } else {\n document.body.appendChild(domElem);\n }\n setTimeout(() => {\n componentRef.changeDetectorRef.detectChanges();\n }, 0);\n return componentRef;\n }\n\n findLoadedComponentByRoute(path: string, timeoutTime: number = 10): Promise<Route> {\n const delay = 200;\n const loop = timeoutTime * 1000 / delay;\n return new Promise((resolve, reject) => {\n let found: Route = null;\n let preload: boolean = false;\n const theLoop = (i) => {\n setTimeout(async () => {\n found = await this._findLoadedComponentByRoute(path);\n if (--i && found == null) {\n if (!preload) {\n this.modulePreloadService.startPreload(path);\n preload = true;\n }\n theLoop(i);\n }\n else if (found) {\n resolve(found);\n }\n else {\n reject();\n }\n }, delay);\n };\n theLoop(loop);\n });\n }\n\n private async _findLoadedComponentByRoute(search) {\n\n let found: Route = null;\n const f = (children, parentPath) => {\n for (const p in children) {\n if (children.hasOwnProperty(p)) {\n const route = children[p];\n const pp = (route.path != '' && route.path != null) ? parentPath + '/' + route.path : parentPath;\n if (pp == search && !route._loadedConfig && !route['_loadedRoutes'] && route.component) {\n found = route;\n return;\n } else if (route._loadedConfig || route['_loadedRoutes'] || route.children) {\n f(route.children || route['_loadedRoutes'] || route._loadedConfig.routes, pp);\n }\n }\n }\n };\n\n for (const p in this.router.config) {\n if (this.router.config.hasOwnProperty(p)) {\n const route = this.router.config[p];\n if (route.path === search && route.component) {\n found = route;\n }\n else if (route['_loadedConfig'] || route['_loadedRoutes'] || route.children) {\n f(route.children || route['_loadedRoutes'] || route['_loadedConfig'].routes, route.path);\n }\n if (found)\n break;\n }\n }\n return found;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { AXRenderService } from './render.service';\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\n\n\n// @dynamic\nexport function getOnDemandPreloadServiceFactory() {\n return new AXOnDemandPreloadService();\n}\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXOnDemandPreloadService,\n useFactory: getOnDemandPreloadServiceFactory\n },\n AXRenderService\n ],\n})\nexport class AXRenderingModule {\n\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { ElementRef } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[horizontalScroll]'\n})\nexport class AXHorizontalScrollDirective {\n constructor(private el: ElementRef<HTMLElement>) { }\n\n @Input('horizontalScroll')\n scrollValue = 40;\n\n @HostListener('wheel', ['$event'])\n onMouseWheel(e) {\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n this.el.nativeElement.scrollLeft -= delta * this.scrollValue;\n }\n}\n@Directive({\n // tslint:disable-next-line: directive-selector\n selector: '[verticalScroll]'\n})\nexport class AXVerticalScrollDirective {\n constructor(private el: ElementRef<HTMLElement>) { }\n\n @Input('verticalScroll')\n scrollValue = 40;\n\n @HostListener('wheel', ['$event'])\n onMouseWheel(e) {\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\n this.el.nativeElement.scrollTop -= delta * this.scrollValue;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';\n\n@NgModule({\n declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\n imports: [CommonModule],\n exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\n providers: []\n})\nexport class AXScrollModule { }\n","import { Pipe, PipeTransform, Injectable } from '@angular/core';\nimport { AXConfig } from '../../services/config';\n\n@Pipe({ name: 'separator' })\n@Injectable({\n providedIn: 'root'\n})\n\n// export class AXSeparatorPipe2 implements PipeTransform {\n// transform(value: any) {\n// if (value) {\n// return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n// } else {\n// return '0';\n// }\n// }\n// }\nexport class AXSeparatorPipe implements PipeTransform {\n transform(value: number | string, currency: string = '', decimal: number = 0, locale: string = AXConfig.get('layout.rtl') ? 'fa' : 'en'): string {\n return (\n new Intl.NumberFormat(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: decimal\n }).format(Number(value)) + (currency != '' ? ' ' + currency : '')\n );\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXSeparatorPipe } from './separator.pipe';\n\n@NgModule({\n declarations: [AXSeparatorPipe],\n imports: [CommonModule],\n exports: [AXSeparatorPipe],\n providers: []\n})\nexport class AXSeparatorModule { }\n","import { NgModule } from '@angular/core';\nimport { AXDateTimePipe } from './pipe/datetime.pipe';\nimport { AXEventService } from './services/event.service';\nimport { AXStorageService } from './services/storage.service';\nimport { AXScrollModule } from './utils/scroll/scroll.module';\nimport { AXTranslatorModule } from './translator/translator.module';\n\nconst PIPES = [AXDateTimePipe];\nconst MODULES = [AXScrollModule, AXTranslatorModule];\nconst SERVICES = [AXEventService,\n AXStorageService\n];\n\n\n@NgModule({\n declarations: [...PIPES],\n imports: [...MODULES],\n exports: [...PIPES],\n providers: [...SERVICES]\n})\nexport class AXCoreModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["en","fa","i1","i2.AXOnDemandPreloadService"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-core.mjs","sources":["../../../../libs/core/src/index.ts","../../../../libs/core/src/acorex-core.ts"],"sourcesContent":["export const AX_CORE = 'ACOREX_CORE';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,OAAO,GAAG;;ACAvB;;AAEG;;;;"}
|
package/file/README.md
ADDED
package/file/index.d.ts
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
import { AXFileDownloadResult } from './file-download-result.class';
|
2
|
+
export declare class AXFileDownloadRef extends Promise<AXFileDownloadResult> {
|
3
|
+
abortMethod: () => void;
|
4
|
+
constructor(executor: (resolve: (value?: PromiseLike<AXFileDownloadResult>) => void, reject: (reason?: any) => void) => void);
|
5
|
+
abort(): void;
|
6
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { AXFormatOptions, AXFormatter } from '@acorex/core/format';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export interface AXFileSizeFormatterOptions extends AXFormatOptions {
|
4
|
+
format: string;
|
5
|
+
}
|
6
|
+
declare module '@acorex/core/format' {
|
7
|
+
interface AXFormatOptionsMap {
|
8
|
+
filesize: AXFileSizeFormatterOptions;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
export declare class AXFileSizeFormatter implements AXFormatter {
|
12
|
+
get name(): string;
|
13
|
+
format(value: number): string;
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFileSizeFormatter, never>;
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXFileSizeFormatter>;
|
16
|
+
}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "@acorex/core/format";
|
3
|
+
export declare class AXFileModule {
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFileModule, never>;
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXFileModule, never, [typeof i1.AXFormatModule], never>;
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXFileModule>;
|
7
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { AXFileDownloadRef } from './file-download-ref.class';
|
4
|
+
import { AXFileUploadRef } from './file-upload-ref.class';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
export declare class AXFileService {
|
7
|
+
private _httpClient;
|
8
|
+
constructor(_httpClient: HttpClient);
|
9
|
+
download(request: string | Observable<Blob>): AXFileDownloadRef;
|
10
|
+
upload<T = any>(url: string, files: File[]): AXFileUploadRef<T>;
|
11
|
+
choose(options?: {
|
12
|
+
accept?: string;
|
13
|
+
multiple?: boolean;
|
14
|
+
}): Promise<File[]>;
|
15
|
+
blobToBase64: (blob: Blob) => Promise<string>;
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFileService, never>;
|
17
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXFileService>;
|
18
|
+
}
|
package/format/README.md
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
export * from './lib/format.types';
|
2
|
+
export * from './lib/format.config';
|
3
|
+
export * from './lib/format.module';
|
4
|
+
export * from './lib/format.pipe';
|
5
|
+
export * from './lib/format.service';
|
6
|
+
export * from './lib/formatters/number-formatter';
|
7
|
+
export * from './lib/formatters/string-formatter';
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
2
|
+
import { AXFormatter } from './format.config';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "./format.pipe";
|
5
|
+
export interface AXFormatModuleConfigs {
|
6
|
+
formatters: (new () => AXFormatter)[];
|
7
|
+
}
|
8
|
+
export declare class AXFormatModule {
|
9
|
+
static forRoot(configs?: AXFormatModuleConfigs): ModuleWithProviders<AXFormatModule>;
|
10
|
+
static forChild(configs?: AXFormatModuleConfigs): ModuleWithProviders<AXFormatModule>;
|
11
|
+
/**
|
12
|
+
* @ignore
|
13
|
+
*/
|
14
|
+
constructor(instances: any[]);
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatModule, never>;
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXFormatModule, [typeof i1.AXFormatPipe], never, [typeof i1.AXFormatPipe]>;
|
17
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXFormatModule>;
|
18
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import { AXFormatOptions } from './format.types';
|
3
|
+
import { Observable } from 'rxjs';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class AXFormatPipe implements PipeTransform {
|
6
|
+
private formatService;
|
7
|
+
private eventService;
|
8
|
+
private triggers;
|
9
|
+
transform(value: unknown, name: string, options?: AXFormatOptions | string): Observable<string>;
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatPipe, never>;
|
11
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<AXFormatPipe, "format", false>;
|
12
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Injector } from '@angular/core';
|
2
|
+
import { AXFormatter } from './format.config';
|
3
|
+
import { AXFormatOptionsMap } from './format.types';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare class AXFormatterRegistryService {
|
6
|
+
private plugins;
|
7
|
+
private injector;
|
8
|
+
constructor(injector: Injector);
|
9
|
+
register(...plugins: (new () => AXFormatter)[]): void;
|
10
|
+
get formatters(): AXFormatter[];
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatterRegistryService, never>;
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXFormatterRegistryService>;
|
13
|
+
}
|
14
|
+
export declare class AXFormatService {
|
15
|
+
private pluginRegistry;
|
16
|
+
constructor(pluginRegistry: AXFormatterRegistryService);
|
17
|
+
private renderSubject;
|
18
|
+
onRender: import("rxjs").Observable<void>;
|
19
|
+
render(): void;
|
20
|
+
/**
|
21
|
+
* Resolves a formatter by its name.
|
22
|
+
* @param name The name of the formatter.
|
23
|
+
* @returns The formatter if found, otherwise throws an error.
|
24
|
+
*/
|
25
|
+
resolveFormatter(name: string): AXFormatter;
|
26
|
+
format<K extends keyof AXFormatOptionsMap>(value: unknown, name: K, options?: AXFormatOptionsMap[K]): string;
|
27
|
+
format(value: unknown): AXFormatFluent;
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXFormatService, never>;
|
29
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXFormatService>;
|
30
|
+
}
|
31
|
+
declare class AXFormatFluent {
|
32
|
+
private formatService;
|
33
|
+
private initialValue;
|
34
|
+
constructor(formatService: AXFormatService, initialValue: unknown);
|
35
|
+
/**
|
36
|
+
* Formats the value using the specified formatter and options.
|
37
|
+
* @param formatter The name of the formatter to use.
|
38
|
+
* @param options The options to pass to the formatter.
|
39
|
+
* @returns The formatted string.
|
40
|
+
*/
|
41
|
+
to<K extends keyof AXFormatOptionsMap>(formatter: K, options?: AXFormatOptionsMap[K]): string;
|
42
|
+
}
|
43
|
+
export {};
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { AXFormatter } from '../format.config';
|
2
|
+
import { AXFormatOptions } from '../format.types';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export interface AXNumberFormatterOptions extends AXFormatOptions {
|
5
|
+
decimalPlaces?: number;
|
6
|
+
thousandSeparator?: string;
|
7
|
+
decimalSeparator?: string;
|
8
|
+
zeroPadLength?: number;
|
9
|
+
locale?: string;
|
10
|
+
}
|
11
|
+
declare module '../format.types' {
|
12
|
+
interface AXFormatOptionsMap {
|
13
|
+
number: AXNumberFormatterOptions;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
export declare class AXNumberFormatter implements AXFormatter {
|
17
|
+
private separatorsCache;
|
18
|
+
get name(): string;
|
19
|
+
format(value: number, options: AXNumberFormatterOptions): string;
|
20
|
+
private getLocaleSeparators;
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXNumberFormatter, never>;
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXNumberFormatter>;
|
23
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { AXFormatter } from '../format.config';
|
2
|
+
import { AXFormatOptions } from '../format.types';
|
3
|
+
export interface AXStringFormatterOptions extends AXFormatOptions {
|
4
|
+
[key: string]: any;
|
5
|
+
}
|
6
|
+
declare module '../format.types' {
|
7
|
+
interface AXFormatOptionsMap {
|
8
|
+
string: AXStringFormatterOptions;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
export declare class AXStringFormatter implements AXFormatter {
|
12
|
+
get name(): string;
|
13
|
+
format(value: unknown, options: AXStringFormatterOptions): string;
|
14
|
+
}
|
package/image/README.md
ADDED
package/image/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export * from './lib/image.service';
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
export declare class AXImageService {
|
3
|
+
resize(options: {
|
4
|
+
maxSize: number;
|
5
|
+
source: HTMLImageElement | File;
|
6
|
+
type?: 'image/png' | 'image/jpeg' | 'image/webp';
|
7
|
+
quality?: number;
|
8
|
+
}): Promise<Blob>;
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXImageService, never>;
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXImageService>;
|
11
|
+
}
|
package/index.d.ts
CHANGED
@@ -1,43 +1 @@
|
|
1
|
-
export
|
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';
|
1
|
+
export declare const AX_CORE = "ACOREX_CORE";
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './lib/memorize.decorator';
|