@acorex/core 16.18.39 → 16.18.41
Sign up to get free protection for your applications and to get access to all the features.
@@ -242,6 +242,94 @@
|
|
242
242
|
"bubbleTooltip": "حباب",
|
243
243
|
"histogramTooltip": "هیستوگرام",
|
244
244
|
"autosizeThiscolumn": "تنظیم اندازه ستون ",
|
245
|
-
"autosizeAllColumns": "تنظیم اندازه همه ستون ها"
|
245
|
+
"autosizeAllColumns": "تنظیم اندازه همه ستون ها",
|
246
|
+
"timeFormatSlashesDDMMYYYY": "روز/ماه/سال",
|
247
|
+
"timeFormatSlashesMMDDYYYY": "ماه/روز/سال",
|
248
|
+
"timeFormatSlashesDDMMYY": "روز/ماه/سال",
|
249
|
+
"timeFormatSlashesMMDDYY": "ماه/روز/سال",
|
250
|
+
"timeFormatDotsDDMYY": "روز.ماه.سال",
|
251
|
+
"timeFormatDotsMDDYY": "ماه.روز.سال",
|
252
|
+
"timeFormatDashesYYYYMMDD": "سال-ماه-روز",
|
253
|
+
"timeFormatSpacesDDMMMMYYYY": "روز ماه سال",
|
254
|
+
"timeFormatHHMMSS": "ساعت:دقیقه:ثانیه",
|
255
|
+
"timeFormatHHMMSSAmPm": "ساعت:دقیقه:ثانیه قبل/بعد از ظهر",
|
256
|
+
"ariaColumnPanelList": "فهرست ستونها",
|
257
|
+
"ariaFilterPanelList": "فهرست فیلترها",
|
258
|
+
"thousandSeparator": "،",
|
259
|
+
"decimalSeparator": ".",
|
260
|
+
"ariaLabelRichSelectField": "فیلد انتخاب غنی",
|
261
|
+
"ariaLabelRichSelectToggleSelection": "برای تغییر انتخاب SPACE را فشار دهید",
|
262
|
+
"ariaLabelRichSelectDeselectAllItems": "برای لغو انتخاب همه موارد DELETE را فشار دهید",
|
263
|
+
"ariaLabelRichSelectDeleteSelection": "برای لغو انتخاب مورد DELETE را فشار دهید",
|
264
|
+
"ariaLabelTooltip": "ابزارک",
|
265
|
+
"ariaLabelContextMenu": "منوی زمینهای",
|
266
|
+
"ariaLabelSubMenu": "زیرمنو",
|
267
|
+
"ariaLabelAggregationFunction": "تابع تجمع",
|
268
|
+
"ariaLabelAdvancedFilterAutocomplete": "تکمیل خودکار فیلتر پیشرفته",
|
269
|
+
"ariaLabelAdvancedFilterBuilderAddField": "افزودن فیلد جدید به سازنده فیلتر پیشرفته",
|
270
|
+
"ariaLabelAdvancedFilterBuilderColumnSelectField": "فیلد انتخاب ستون سازنده فیلتر پیشرفته",
|
271
|
+
"ariaLabelAdvancedFilterBuilderOptionSelectField": "فیلد انتخاب گزینه سازنده فیلتر پیشرفته",
|
272
|
+
"ariaLabelAdvancedFilterBuilderJoinSelectField": "فیلد انتخاب عملگر پیوستن سازنده فیلتر پیشرفته",
|
273
|
+
"ariaDropZoneColumnComponentAggFuncSeparator": " از ",
|
274
|
+
"ariaDropZoneColumnComponentSortAscending": "صعودی",
|
275
|
+
"ariaDropZoneColumnComponentSortDescending": "نزولی",
|
276
|
+
"ariaLabelDialog": "گفتگو",
|
277
|
+
"ariaLabelColumnMenu": "منوی ستون",
|
278
|
+
"ariaLabelColumnFilter": "فیلتر ستون",
|
279
|
+
"ariaLabelCellEditor": "ویرایشگر سلول",
|
280
|
+
"ariaLabelSelectField": "انتخاب فیلد",
|
281
|
+
"ariaRowGroupDropZonePanelLabel": "گروههای ردیفی",
|
282
|
+
"ariaValuesDropZonePanelLabel": "مقادیر",
|
283
|
+
"ariaPivotDropZonePanelLabel": "برچسبهای ستون",
|
284
|
+
"ariaDropZoneColumnComponentDescription": "برای حذف کلید DELETE را فشار دهید",
|
285
|
+
"ariaDropZoneColumnValueItemDescription": "برای تغییر نوع تجمع کلید ENTER را فشار دهید",
|
286
|
+
"ariaDropZoneColumnGroupItemDescription": "برای مرتبسازی کلید ENTER را فشار دهید",
|
287
|
+
"ariaAdvancedFilterBuilderItem": "${variable}. سطح ${variable}. کلید ENTER را فشار دهید تا ویرایش شود.",
|
288
|
+
"ariaAdvancedFilterBuilderItemValidation": "${variable}. سطح ${variable}. ${variable} کلید ENTER را فشار دهید تا ویرایش شود.",
|
289
|
+
"ariaAdvancedFilterBuilderList": "لیست سازنده فیلتر پیشرفته",
|
290
|
+
"ariaAdvancedFilterBuilderFilterItem": "شرط فیلتر",
|
291
|
+
"ariaAdvancedFilterBuilderGroupItem": "گروه فیلتر",
|
292
|
+
"ariaAdvancedFilterBuilderColumn": "ستون",
|
293
|
+
"ariaAdvancedFilterBuilderOption": "گزینه",
|
294
|
+
"ariaAdvancedFilterBuilderValueP": "ارزش",
|
295
|
+
"ariaAdvancedFilterBuilderJoinOperator": "عملگر اتصال",
|
296
|
+
"ariaAdvancedFilterInput": "ورودی فیلتر پیشرفته",
|
297
|
+
"ariaChecked": "انتخاب شده",
|
298
|
+
"ariaColumn": "ستون",
|
299
|
+
"ariaColumnGroup": "گروه ستون",
|
300
|
+
"ariaColumnFiltered": "ستون فیلتر شده",
|
301
|
+
"ariaColumnSelectAll": "تغییر انتخاب همه ستونها",
|
302
|
+
"ariaDateFilterInput": "ورودی فیلتر تاریخ",
|
303
|
+
"ariaDefaultListName": "لیست",
|
304
|
+
"ariaFilterColumnsInput": "ورودی فیلتر ستونها",
|
305
|
+
"ariaFilterFromValue": "فیلتر از مقدار",
|
306
|
+
"ariaFilterInput": "ورودی فیلتر",
|
307
|
+
"ariaFilterList": "لیست فیلتر",
|
308
|
+
"ariaFilterToValue": "فیلتر تا مقدار",
|
309
|
+
"ariaFilterValue": "مقدار فیلتر",
|
310
|
+
"ariaFilterMenuOpen": "باز کردن منوی فیلتر",
|
311
|
+
"ariaFilteringOperator": "عملگر فیلتر کردن",
|
312
|
+
"ariaHidden": "مخفی",
|
313
|
+
"ariaIndeterminate": "نامشخص",
|
314
|
+
"ariaInputEditor": "ویرایشگر ورودی",
|
315
|
+
"ariaMenuColumn": "ALT+پایین را فشار دهید تا منوی ستون باز شود",
|
316
|
+
"ariaFilterColumn": "CTRL+ENTER را فشار دهید تا فیلتر را باز کنید",
|
317
|
+
"ariaRowDeselect": "SPACE را فشار دهید تا این سطر از انتخاب خارج شود",
|
318
|
+
"ariaRowSelectAll": "SPACE را فشار دهید تا همه سطرها انتخاب/غیرفعال شوند",
|
319
|
+
"ariaRowToggleSelection": "SPACE را فشار دهید تا انتخاب سطر تغییر یابد",
|
320
|
+
"ariaRowSelect": "SPACE را فشار دهید تا این سطر انتخاب شود",
|
321
|
+
"ariaRowSelectionDisabled": "انتخاب سطر برای این سطر غیرفعال است",
|
322
|
+
"ariaSearch": "جستجو",
|
323
|
+
"ariaSortableColumn": "ENTER را فشار دهید تا مرتب شود",
|
324
|
+
"ariaToggleVisibility": "SPACE را فشار دهید تا قابلیت رویت تغییر یابد",
|
325
|
+
"ariaToggleCellValue": "SPACE را فشار دهید تا مقدار سلول تغییر یابد",
|
326
|
+
"ariaUnchecked": "انتخاب نشده",
|
327
|
+
"ariaVisible": "قابل مشاهده",
|
328
|
+
"ariaSearchFilterValues": "مقادیر فیلتر جستجو",
|
329
|
+
"ariaPageSizeSelectorLabel": "اندازه صفحه",
|
330
|
+
"ariaChartMenuClose": "بستن منوی ویرایش نمودار",
|
331
|
+
"ariaChartSelected": "انتخاب شده",
|
332
|
+
"ariaSkeletonCellLoadingFailed": "بارگیری ردیف ناموفق بود",
|
333
|
+
"ariaSkeletonCellLoading": "دادههای ردیف در حال بارگیری است"
|
246
334
|
}
|
247
335
|
}
|
package/fesm2022/acorex-core.mjs
CHANGED
@@ -1636,7 +1636,95 @@ var dataGrid = {
|
|
1636
1636
|
bubbleTooltip: "حباب",
|
1637
1637
|
histogramTooltip: "هیستوگرام",
|
1638
1638
|
autosizeThiscolumn: "تنظیم اندازه ستون ",
|
1639
|
-
autosizeAllColumns: "تنظیم اندازه همه ستون ها"
|
1639
|
+
autosizeAllColumns: "تنظیم اندازه همه ستون ها",
|
1640
|
+
timeFormatSlashesDDMMYYYY: "روز/ماه/سال",
|
1641
|
+
timeFormatSlashesMMDDYYYY: "ماه/روز/سال",
|
1642
|
+
timeFormatSlashesDDMMYY: "روز/ماه/سال",
|
1643
|
+
timeFormatSlashesMMDDYY: "ماه/روز/سال",
|
1644
|
+
timeFormatDotsDDMYY: "روز.ماه.سال",
|
1645
|
+
timeFormatDotsMDDYY: "ماه.روز.سال",
|
1646
|
+
timeFormatDashesYYYYMMDD: "سال-ماه-روز",
|
1647
|
+
timeFormatSpacesDDMMMMYYYY: "روز ماه سال",
|
1648
|
+
timeFormatHHMMSS: "ساعت:دقیقه:ثانیه",
|
1649
|
+
timeFormatHHMMSSAmPm: "ساعت:دقیقه:ثانیه قبل/بعد از ظهر",
|
1650
|
+
ariaColumnPanelList: "فهرست ستونها",
|
1651
|
+
ariaFilterPanelList: "فهرست فیلترها",
|
1652
|
+
thousandSeparator: "،",
|
1653
|
+
decimalSeparator: ".",
|
1654
|
+
ariaLabelRichSelectField: "فیلد انتخاب غنی",
|
1655
|
+
ariaLabelRichSelectToggleSelection: "برای تغییر انتخاب SPACE را فشار دهید",
|
1656
|
+
ariaLabelRichSelectDeselectAllItems: "برای لغو انتخاب همه موارد DELETE را فشار دهید",
|
1657
|
+
ariaLabelRichSelectDeleteSelection: "برای لغو انتخاب مورد DELETE را فشار دهید",
|
1658
|
+
ariaLabelTooltip: "ابزارک",
|
1659
|
+
ariaLabelContextMenu: "منوی زمینهای",
|
1660
|
+
ariaLabelSubMenu: "زیرمنو",
|
1661
|
+
ariaLabelAggregationFunction: "تابع تجمع",
|
1662
|
+
ariaLabelAdvancedFilterAutocomplete: "تکمیل خودکار فیلتر پیشرفته",
|
1663
|
+
ariaLabelAdvancedFilterBuilderAddField: "افزودن فیلد جدید به سازنده فیلتر پیشرفته",
|
1664
|
+
ariaLabelAdvancedFilterBuilderColumnSelectField: "فیلد انتخاب ستون سازنده فیلتر پیشرفته",
|
1665
|
+
ariaLabelAdvancedFilterBuilderOptionSelectField: "فیلد انتخاب گزینه سازنده فیلتر پیشرفته",
|
1666
|
+
ariaLabelAdvancedFilterBuilderJoinSelectField: "فیلد انتخاب عملگر پیوستن سازنده فیلتر پیشرفته",
|
1667
|
+
ariaDropZoneColumnComponentAggFuncSeparator: " از ",
|
1668
|
+
ariaDropZoneColumnComponentSortAscending: "صعودی",
|
1669
|
+
ariaDropZoneColumnComponentSortDescending: "نزولی",
|
1670
|
+
ariaLabelDialog: "گفتگو",
|
1671
|
+
ariaLabelColumnMenu: "منوی ستون",
|
1672
|
+
ariaLabelColumnFilter: "فیلتر ستون",
|
1673
|
+
ariaLabelCellEditor: "ویرایشگر سلول",
|
1674
|
+
ariaLabelSelectField: "انتخاب فیلد",
|
1675
|
+
ariaRowGroupDropZonePanelLabel: "گروههای ردیفی",
|
1676
|
+
ariaValuesDropZonePanelLabel: "مقادیر",
|
1677
|
+
ariaPivotDropZonePanelLabel: "برچسبهای ستون",
|
1678
|
+
ariaDropZoneColumnComponentDescription: "برای حذف کلید DELETE را فشار دهید",
|
1679
|
+
ariaDropZoneColumnValueItemDescription: "برای تغییر نوع تجمع کلید ENTER را فشار دهید",
|
1680
|
+
ariaDropZoneColumnGroupItemDescription: "برای مرتبسازی کلید ENTER را فشار دهید",
|
1681
|
+
ariaAdvancedFilterBuilderItem: "${variable}. سطح ${variable}. کلید ENTER را فشار دهید تا ویرایش شود.",
|
1682
|
+
ariaAdvancedFilterBuilderItemValidation: "${variable}. سطح ${variable}. ${variable} کلید ENTER را فشار دهید تا ویرایش شود.",
|
1683
|
+
ariaAdvancedFilterBuilderList: "لیست سازنده فیلتر پیشرفته",
|
1684
|
+
ariaAdvancedFilterBuilderFilterItem: "شرط فیلتر",
|
1685
|
+
ariaAdvancedFilterBuilderGroupItem: "گروه فیلتر",
|
1686
|
+
ariaAdvancedFilterBuilderColumn: "ستون",
|
1687
|
+
ariaAdvancedFilterBuilderOption: "گزینه",
|
1688
|
+
ariaAdvancedFilterBuilderValueP: "ارزش",
|
1689
|
+
ariaAdvancedFilterBuilderJoinOperator: "عملگر اتصال",
|
1690
|
+
ariaAdvancedFilterInput: "ورودی فیلتر پیشرفته",
|
1691
|
+
ariaChecked: "انتخاب شده",
|
1692
|
+
ariaColumn: "ستون",
|
1693
|
+
ariaColumnGroup: "گروه ستون",
|
1694
|
+
ariaColumnFiltered: "ستون فیلتر شده",
|
1695
|
+
ariaColumnSelectAll: "تغییر انتخاب همه ستونها",
|
1696
|
+
ariaDateFilterInput: "ورودی فیلتر تاریخ",
|
1697
|
+
ariaDefaultListName: "لیست",
|
1698
|
+
ariaFilterColumnsInput: "ورودی فیلتر ستونها",
|
1699
|
+
ariaFilterFromValue: "فیلتر از مقدار",
|
1700
|
+
ariaFilterInput: "ورودی فیلتر",
|
1701
|
+
ariaFilterList: "لیست فیلتر",
|
1702
|
+
ariaFilterToValue: "فیلتر تا مقدار",
|
1703
|
+
ariaFilterValue: "مقدار فیلتر",
|
1704
|
+
ariaFilterMenuOpen: "باز کردن منوی فیلتر",
|
1705
|
+
ariaFilteringOperator: "عملگر فیلتر کردن",
|
1706
|
+
ariaHidden: "مخفی",
|
1707
|
+
ariaIndeterminate: "نامشخص",
|
1708
|
+
ariaInputEditor: "ویرایشگر ورودی",
|
1709
|
+
ariaMenuColumn: "ALT+پایین را فشار دهید تا منوی ستون باز شود",
|
1710
|
+
ariaFilterColumn: "CTRL+ENTER را فشار دهید تا فیلتر را باز کنید",
|
1711
|
+
ariaRowDeselect: "SPACE را فشار دهید تا این سطر از انتخاب خارج شود",
|
1712
|
+
ariaRowSelectAll: "SPACE را فشار دهید تا همه سطرها انتخاب/غیرفعال شوند",
|
1713
|
+
ariaRowToggleSelection: "SPACE را فشار دهید تا انتخاب سطر تغییر یابد",
|
1714
|
+
ariaRowSelect: "SPACE را فشار دهید تا این سطر انتخاب شود",
|
1715
|
+
ariaRowSelectionDisabled: "انتخاب سطر برای این سطر غیرفعال است",
|
1716
|
+
ariaSearch: "جستجو",
|
1717
|
+
ariaSortableColumn: "ENTER را فشار دهید تا مرتب شود",
|
1718
|
+
ariaToggleVisibility: "SPACE را فشار دهید تا قابلیت رویت تغییر یابد",
|
1719
|
+
ariaToggleCellValue: "SPACE را فشار دهید تا مقدار سلول تغییر یابد",
|
1720
|
+
ariaUnchecked: "انتخاب نشده",
|
1721
|
+
ariaVisible: "قابل مشاهده",
|
1722
|
+
ariaSearchFilterValues: "مقادیر فیلتر جستجو",
|
1723
|
+
ariaPageSizeSelectorLabel: "اندازه صفحه",
|
1724
|
+
ariaChartMenuClose: "بستن منوی ویرایش نمودار",
|
1725
|
+
ariaChartSelected: "انتخاب شده",
|
1726
|
+
ariaSkeletonCellLoadingFailed: "بارگیری ردیف ناموفق بود",
|
1727
|
+
ariaSkeletonCellLoading: "دادههای ردیف در حال بارگیری است"
|
1640
1728
|
};
|
1641
1729
|
var fa = {
|
1642
1730
|
common: common,
|
@@ -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/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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"}
|