@acorex/core 3.0.4 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +23 -2
  2. package/acorex-core.d.ts +1 -0
  3. package/bundles/acorex-core.umd.js +609 -2248
  4. package/bundles/acorex-core.umd.js.map +1 -1
  5. package/esm2015/acorex-core.js +1 -1
  6. package/esm2015/lib/config/configs.js +29 -0
  7. package/esm2015/lib/core.module.js +18 -24
  8. package/esm2015/lib/dateTime/datetime.class.js +236 -0
  9. package/esm2015/lib/dateTime/datetime.module.js +18 -0
  10. package/esm2015/lib/dateTime/datetime.pipe.js +25 -0
  11. package/esm2015/lib/dateTime/georgian.calendar.js +145 -0
  12. package/esm2015/lib/dateTime/index.js +5 -0
  13. package/esm2015/lib/platform/index.js +2 -0
  14. package/esm2015/lib/platform/platform.service.js +119 -0
  15. package/esm2015/lib/translation/index.js +4 -0
  16. package/esm2015/lib/translation/translation.module.js +18 -0
  17. package/esm2015/lib/translation/translator.js +26 -0
  18. package/esm2015/lib/translation/translator.pipe.js +15 -0
  19. package/esm2015/lib/utils/index.js +3 -0
  20. package/esm2015/lib/utils/object-util.js +83 -0
  21. package/esm2015/lib/utils/safe.pipe.js +30 -0
  22. package/esm2015/public-api.js +10 -35
  23. package/fesm2015/acorex-core.js +533 -1839
  24. package/fesm2015/acorex-core.js.map +1 -1
  25. package/lib/{services/config.d.ts → config/configs.d.ts} +1 -1
  26. package/lib/core.module.d.ts +5 -0
  27. package/lib/dateTime/datetime.class.d.ts +96 -0
  28. package/lib/dateTime/datetime.module.d.ts +7 -0
  29. package/lib/dateTime/datetime.pipe.d.ts +8 -0
  30. package/lib/dateTime/georgian.calendar.d.ts +17 -0
  31. package/lib/dateTime/index.d.ts +4 -0
  32. package/lib/platform/index.d.ts +1 -0
  33. package/lib/platform/platform.service.d.ts +22 -0
  34. package/lib/translation/index.d.ts +3 -0
  35. package/lib/translation/translation.module.d.ts +7 -0
  36. package/lib/{translator → translation}/translator.d.ts +0 -0
  37. package/lib/translation/translator.pipe.d.ts +7 -0
  38. package/lib/utils/index.d.ts +2 -0
  39. package/lib/utils/object-util.d.ts +7 -0
  40. package/lib/utils/safe.pipe.d.ts +10 -0
  41. package/package.json +7 -11
  42. package/public-api.d.ts +9 -41
  43. package/acorex-core.metadata.json +0 -1
  44. package/bundles/acorex-core.umd.min.js +0 -17
  45. package/bundles/acorex-core.umd.min.js.map +0 -1
  46. package/esm2015/lib/classes/base-page.class.js +0 -21
  47. package/esm2015/lib/classes/color.class.js +0 -49
  48. package/esm2015/lib/classes/datetime.class.js +0 -314
  49. package/esm2015/lib/classes/menu.class.js +0 -27
  50. package/esm2015/lib/classes/navigator.class.js +0 -1
  51. package/esm2015/lib/classes/popup.class.js +0 -1
  52. package/esm2015/lib/classes/promise.class.js +0 -19
  53. package/esm2015/lib/classes/sectionlist.class.js +0 -1
  54. package/esm2015/lib/classes/select.class.js +0 -3
  55. package/esm2015/lib/error/error.class.js +0 -1
  56. package/esm2015/lib/error/error.module.js +0 -16
  57. package/esm2015/lib/error/error.service.js +0 -25
  58. package/esm2015/lib/events/keyboard.js +0 -1
  59. package/esm2015/lib/http/http-error.class.js +0 -1
  60. package/esm2015/lib/http/http-events.interceptor.js +0 -3
  61. package/esm2015/lib/http/http-request.class.js +0 -1
  62. package/esm2015/lib/http/http-result.class.js +0 -21
  63. package/esm2015/lib/http/http.module.js +0 -29
  64. package/esm2015/lib/http/http.service.js +0 -149
  65. package/esm2015/lib/locale/en.json +0 -249
  66. package/esm2015/lib/locale/fa.json +0 -238
  67. package/esm2015/lib/pipe/datetime.pipe.js +0 -24
  68. package/esm2015/lib/pipe/htmlToText.pipe.js +0 -23
  69. package/esm2015/lib/services/config.js +0 -29
  70. package/esm2015/lib/services/event.service.js +0 -36
  71. package/esm2015/lib/services/navigator.service.js +0 -9
  72. package/esm2015/lib/services/storage.service.js +0 -15
  73. package/esm2015/lib/translator/translator.js +0 -26
  74. package/esm2015/lib/translator/translator.module.js +0 -23
  75. package/esm2015/lib/translator/translator.pipe.js +0 -23
  76. package/esm2015/lib/translator/translator.service.js +0 -21
  77. package/esm2015/lib/utils/array/array-util.js +0 -133
  78. package/esm2015/lib/utils/html/html-util.js +0 -192
  79. package/esm2015/lib/utils/html/html.module.js +0 -16
  80. package/esm2015/lib/utils/math/math-util.js +0 -6
  81. package/esm2015/lib/utils/object/object-util.js +0 -83
  82. package/esm2015/lib/utils/render/on-demand-preload-strategy.service.js +0 -21
  83. package/esm2015/lib/utils/render/render.service.js +0 -112
  84. package/esm2015/lib/utils/render/rendering.module.js +0 -26
  85. package/esm2015/lib/utils/scroll/scroll.directive.js +0 -66
  86. package/esm2015/lib/utils/scroll/scroll.module.js +0 -16
  87. package/esm2015/lib/utils/separator/separator.module.js +0 -16
  88. package/esm2015/lib/utils/separator/separator.pipe.js +0 -22
  89. package/esm5/acorex-core.js +0 -5
  90. package/esm5/lib/classes/base-page.class.js +0 -23
  91. package/esm5/lib/classes/color.class.js +0 -54
  92. package/esm5/lib/classes/datetime.class.js +0 -390
  93. package/esm5/lib/classes/menu.class.js +0 -42
  94. package/esm5/lib/classes/navigator.class.js +0 -1
  95. package/esm5/lib/classes/popup.class.js +0 -1
  96. package/esm5/lib/classes/promise.class.js +0 -22
  97. package/esm5/lib/classes/sectionlist.class.js +0 -1
  98. package/esm5/lib/classes/select.class.js +0 -7
  99. package/esm5/lib/core.module.js +0 -27
  100. package/esm5/lib/error/error.class.js +0 -1
  101. package/esm5/lib/error/error.module.js +0 -19
  102. package/esm5/lib/error/error.service.js +0 -26
  103. package/esm5/lib/events/keyboard.js +0 -1
  104. package/esm5/lib/http/http-error.class.js +0 -1
  105. package/esm5/lib/http/http-events.interceptor.js +0 -3
  106. package/esm5/lib/http/http-request.class.js +0 -1
  107. package/esm5/lib/http/http-result.class.js +0 -24
  108. package/esm5/lib/http/http.module.js +0 -33
  109. package/esm5/lib/http/http.service.js +0 -157
  110. package/esm5/lib/locale/en.json +0 -249
  111. package/esm5/lib/locale/fa.json +0 -238
  112. package/esm5/lib/pipe/datetime.pipe.js +0 -26
  113. package/esm5/lib/pipe/htmlToText.pipe.js +0 -26
  114. package/esm5/lib/services/config.js +0 -37
  115. package/esm5/lib/services/event.service.js +0 -37
  116. package/esm5/lib/services/navigator.service.js +0 -12
  117. package/esm5/lib/services/storage.service.js +0 -18
  118. package/esm5/lib/translator/translator.js +0 -34
  119. package/esm5/lib/translator/translator.module.js +0 -24
  120. package/esm5/lib/translator/translator.pipe.js +0 -25
  121. package/esm5/lib/translator/translator.service.js +0 -24
  122. package/esm5/lib/utils/array/array-util.js +0 -147
  123. package/esm5/lib/utils/html/html-util.js +0 -224
  124. package/esm5/lib/utils/html/html.module.js +0 -19
  125. package/esm5/lib/utils/math/math-util.js +0 -10
  126. package/esm5/lib/utils/object/object-util.js +0 -88
  127. package/esm5/lib/utils/render/on-demand-preload-strategy.service.js +0 -22
  128. package/esm5/lib/utils/render/render.service.js +0 -117
  129. package/esm5/lib/utils/render/rendering.module.js +0 -29
  130. package/esm5/lib/utils/scroll/scroll.directive.js +0 -68
  131. package/esm5/lib/utils/scroll/scroll.module.js +0 -19
  132. package/esm5/lib/utils/separator/separator.module.js +0 -19
  133. package/esm5/lib/utils/separator/separator.pipe.js +0 -25
  134. package/esm5/public-api.js +0 -36
  135. package/fesm5/acorex-core.js +0 -2274
  136. package/fesm5/acorex-core.js.map +0 -1
  137. package/lib/classes/base-page.class.d.ts +0 -10
  138. package/lib/classes/color.class.d.ts +0 -17
  139. package/lib/classes/datetime.class.d.ts +0 -63
  140. package/lib/classes/menu.class.d.ts +0 -33
  141. package/lib/classes/navigator.class.d.ts +0 -5
  142. package/lib/classes/popup.class.d.ts +0 -12
  143. package/lib/classes/promise.class.d.ts +0 -7
  144. package/lib/classes/sectionlist.class.d.ts +0 -8
  145. package/lib/classes/select.class.d.ts +0 -7
  146. package/lib/error/error.class.d.ts +0 -4
  147. package/lib/error/error.module.d.ts +0 -2
  148. package/lib/error/error.service.d.ts +0 -10
  149. package/lib/events/keyboard.d.ts +0 -2
  150. package/lib/http/http-error.class.d.ts +0 -7
  151. package/lib/http/http-events.interceptor.d.ts +0 -10
  152. package/lib/http/http-request.class.d.ts +0 -14
  153. package/lib/http/http-result.class.d.ts +0 -11
  154. package/lib/http/http.module.d.ts +0 -4
  155. package/lib/http/http.service.d.ts +0 -20
  156. package/lib/pipe/datetime.pipe.d.ts +0 -5
  157. package/lib/pipe/htmlToText.pipe.d.ts +0 -4
  158. package/lib/services/event.service.d.ts +0 -6
  159. package/lib/services/navigator.service.d.ts +0 -5
  160. package/lib/services/storage.service.d.ts +0 -4
  161. package/lib/translator/translator.module.d.ts +0 -3
  162. package/lib/translator/translator.pipe.d.ts +0 -5
  163. package/lib/translator/translator.service.d.ts +0 -5
  164. package/lib/utils/array/array-util.d.ts +0 -6
  165. package/lib/utils/html/html-util.d.ts +0 -62
  166. package/lib/utils/html/html.module.d.ts +0 -2
  167. package/lib/utils/math/math-util.d.ts +0 -3
  168. package/lib/utils/object/object-util.d.ts +0 -7
  169. package/lib/utils/render/on-demand-preload-strategy.service.d.ts +0 -7
  170. package/lib/utils/render/render.service.d.ts +0 -14
  171. package/lib/utils/render/rendering.module.d.ts +0 -4
  172. package/lib/utils/scroll/scroll.directive.d.ts +0 -13
  173. package/lib/utils/scroll/scroll.module.d.ts +0 -2
  174. package/lib/utils/separator/separator.module.d.ts +0 -2
  175. package/lib/utils/separator/separator.pipe.d.ts +0 -4
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-core.js","sources":["ng://@acorex/core/lib/classes/color.class.ts","ng://@acorex/core/lib/utils/object/object-util.ts","ng://@acorex/core/lib/services/config.ts","ng://@acorex/core/lib/classes/datetime.class.ts","ng://@acorex/core/lib/classes/menu.class.ts","ng://@acorex/core/lib/classes/promise.class.ts","ng://@acorex/core/lib/classes/select.class.ts","ng://@acorex/core/lib/classes/base-page.class.ts","ng://@acorex/core/lib/error/error.service.ts","ng://@acorex/core/lib/error/error.module.ts","ng://@acorex/core/lib/http/http-events.interceptor.ts","ng://@acorex/core/lib/http/http-result.class.ts","ng://@acorex/core/lib/http/http.service.ts","ng://@acorex/core/lib/http/http.module.ts","ng://@acorex/core/lib/pipe/datetime.pipe.ts","ng://@acorex/core/lib/pipe/htmlToText.pipe.ts","ng://@acorex/core/lib/services/event.service.ts","ng://@acorex/core/lib/services/navigator.service.ts","ng://@acorex/core/lib/services/storage.service.ts","ng://@acorex/core/lib/translator/translator.ts","ng://@acorex/core/lib/translator/translator.service.ts","ng://@acorex/core/lib/translator/translator.pipe.ts","ng://@acorex/core/lib/translator/translator.module.ts","ng://@acorex/core/lib/utils/array/array-util.ts","ng://@acorex/core/lib/utils/math/math-util.ts","ng://@acorex/core/lib/utils/html/html-util.ts","ng://@acorex/core/lib/utils/html/html.module.ts","ng://@acorex/core/lib/utils/render/on-demand-preload-strategy.service.ts","ng://@acorex/core/lib/utils/render/render.service.ts","ng://@acorex/core/lib/utils/render/rendering.module.ts","ng://@acorex/core/lib/utils/scroll/scroll.directive.ts","ng://@acorex/core/lib/utils/scroll/scroll.module.ts","ng://@acorex/core/lib/utils/separator/separator.pipe.ts","ng://@acorex/core/lib/utils/separator/separator.module.ts","ng://@acorex/core/lib/core.module.ts","ng://@acorex/core/acorex-core.ts"],"sourcesContent":["export interface AXColor {\r\n id?: string;\r\n color?: string;\r\n code: string;\r\n selected?: boolean;\r\n active?: boolean;\r\n}\r\n\r\nexport class AXColorUtil {\r\n\r\n\r\n static hex2Rgb(hexColor: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexColor);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n\r\n static rgb2Hex(r: number, g: number, b: number, a: number = 255): string {\r\n let alpha;\r\n let hex = (r | 1 << 8).toString(16).slice(1) +\r\n (g | 1 << 8).toString(16).slice(1) +\r\n (b | 1 << 8).toString(16).slice(1);\r\n if (a !== 255) {\r\n alpha = a;\r\n } else {\r\n alpha = 1;\r\n }\r\n\r\n alpha = Math.round(alpha * 100) / 100;\r\n alpha = Math.round(alpha * 255);\r\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\r\n return '#' + hex + (alpha == 255 ? '' : hexAlpha);\r\n };\r\n\r\n static illuminance(hexColor: string) {\r\n const rgbColor = AXColorUtil.hex2Rgb(hexColor);\r\n if (!rgbColor) {\r\n return -1;\r\n }\r\n const r = rgbColor.r;\r\n const g = rgbColor.g;\r\n const b = rgbColor.b;\r\n const a = [r, g, b].map(v => {\r\n v /= 255;\r\n return (v <= 0.03928) ?\r\n v / 12.92 :\r\n Math.pow(((v + 0.055) / 1.055), 2.4);\r\n });\r\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\r\n }\r\n\r\n static contrastToWhite(hexColor: string) {\r\n const whiteIlluminance = 1;\r\n const illuminance = AXColorUtil.illuminance(hexColor);\r\n return whiteIlluminance / illuminance;\r\n }\r\n\r\n}\r\n","// @dynamic\r\nexport class AXObjectUtil {\r\n static deepJSONClone(obj: any): any {\r\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\r\n }\r\n\r\n static deepCopy(obj) {\r\n let copy;\r\n // Handle the 3 simple types, and null or undefined\r\n if (null == obj || 'object' !== typeof obj) { return obj; }\r\n // Handle Date\r\n if (obj instanceof Date) {\r\n copy = new Date();\r\n copy.setTime(obj.getTime());\r\n return copy;\r\n }\r\n // Handle Array\r\n if (obj instanceof Array) {\r\n copy = [];\r\n for (let i = 0, len = obj.length; i < len; i++) {\r\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\r\n }\r\n return copy;\r\n }\r\n // Handle Object\r\n if (obj instanceof Object) {\r\n copy = {};\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) { copy[attr] = AXObjectUtil.deepCopy(obj[attr]); }\r\n }\r\n return copy;\r\n }\r\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\r\n }\r\n}\r\n\r\nexport function AXFetchProp(obj, prop: string) {\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n const index = prop.indexOf('.');\r\n\r\n if (index > -1) {\r\n return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\r\n }\r\n\r\n return obj[prop];\r\n}\r\n\r\n\r\n\r\n\r\nexport function getPropByPath(obj, path, defaultVal?) {\r\n path = path\r\n .replace(/\\[/g, '.')\r\n .replace(/]/g, '')\r\n .split('.');\r\n\r\n path.forEach((level) => {\r\n if (obj) {\r\n obj = obj[level];\r\n }\r\n });\r\n\r\n if (obj === undefined) {\r\n return defaultVal;\r\n }\r\n return obj;\r\n}\r\n\r\nexport function setPropByPath(obj, path, value) {\r\n if (Object(obj) !== obj) { return obj; } // When obj is not an object\r\n // If not yet an array, get the keys from the string-path\r\n if (!Array.isArray(path)) { path = path.toString().match(/[^.[\\]]+/g) || []; }\r\n path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\r\n Object(a[c]) === a[c] // Does the key exist and is its value an object?\r\n // Yes: then follow that path\r\n ? a[c]\r\n // No: create the key. Is the next key a potential array-index?\r\n : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\r\n ? [] // Yes: assign a new array object\r\n : {}, // No: assign a new plain object\r\n obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\r\n return obj; // Return the top-level object to allow chaining\r\n}\r\n\r\n\r\n","import { Subject, Observable } from 'rxjs';\r\nimport { getPropByPath, setPropByPath } from '../utils/object/object-util';\r\n\r\n// @dynamic\r\nexport class AXConfig {\r\n private static dataModel: any = {};\r\n private static dataChangeSubject = new Subject<any>();\r\n\r\n\r\n static get onChange(): Observable<any> {\r\n return AXConfig.dataChangeSubject.asObservable();\r\n }\r\n\r\n static set(config: any): any;\r\n static set(path: string, value?: any): void;\r\n static set(arg1?: any, arg2?: any) {\r\n\r\n if (arg1 && typeof arg1 == 'string') {\r\n setPropByPath(AXConfig.dataModel, arg1, arg2);\r\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\r\n return;\r\n }\r\n if (arg1 && typeof arg1 == 'object') {\r\n Object.assign(AXConfig.dataModel, arg1);\r\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\r\n return;\r\n }\r\n if (!arg1 && !arg2) {\r\n return AXConfig.dataChangeSubject.asObservable();\r\n }\r\n }\r\n\r\n static get(path: string): any {\r\n return getPropByPath(AXConfig.dataModel, path);\r\n }\r\n}","import * as moment_ from 'jalali-moment';\r\nimport { AXConfig } from '../services/config';\r\nconst moment = moment_;\r\n\r\nexport type TimeUnit = 'second' | 'minute' | 'minutes' | 'hour' | 'hours' | 'day' | 'days' | 'month' | 'year' | 'week';\r\n\r\nexport type TimeDuration = 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'month' | 'years';\r\n\r\nexport type TimeStep = 'Y' | 'M' | 'D' | 'YM' | 'YMD' | 'YMDh' | 'YMDhm' | 'YMDhms' | 'h' | 'm' | 's';\r\n\r\nexport type AXCalendarType = 'jalali' | 'gregorian';\r\n\r\nexport class AXDateTime {\r\n static convert(value: any, type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian'): AXDateTime {\r\n let date: AXDateTime;\r\n if (typeof value === 'string' || value instanceof String) {\r\n date = new AXDateTime(value as string, type);\r\n } else if (value instanceof Date) {\r\n date = new AXDateTime(value as Date, type);\r\n } else if (value instanceof AXDateTime) {\r\n date = value;\r\n }\r\n return date;\r\n }\r\n\r\n private _date: Date;\r\n get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private resolveUnit(unit: TimeUnit): any {\r\n return this.type === 'jalali' ? 'j' + unit : unit;\r\n }\r\n\r\n private _moment: moment_.Moment;\r\n\r\n // private get _moment(): moment_.Moment {\r\n // const m = moment(this.date);\r\n // if (this.type === 'jalali') {\r\n // m.locale('fa');\r\n // }\r\n // return m;\r\n // }\r\n\r\n constructor(value: Date | string = new Date(), public type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian') {\r\n if (value instanceof Date) {\r\n this._date = value as Date;\r\n } else {\r\n this._date = new Date(value);\r\n }\r\n this._moment = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n }\r\n\r\n clone(): AXDateTime {\r\n return new AXDateTime(this.date, this.type);\r\n }\r\n\r\n get dayInMonth(): number {\r\n return this._moment.date();\r\n }\r\n\r\n get dayOfYear(): number {\r\n return this._moment.dayOfYear();\r\n }\r\n\r\n get dayInWeek(): number {\r\n return this._moment.day();\r\n }\r\n\r\n get hour(): number {\r\n return this._moment.hour();\r\n }\r\n\r\n get minute(): number {\r\n return this._moment.minute();\r\n }\r\n\r\n get second(): number {\r\n return this._moment.second();\r\n }\r\n\r\n get year(): number {\r\n return this._moment.year();\r\n }\r\n\r\n get monthOfYear(): number {\r\n return this._moment.month();\r\n }\r\n\r\n get month(): AXCalendarMonth {\r\n return new AXCalendarMonth(this);\r\n }\r\n\r\n get firstDayOfWeek(): AXDateTime {\r\n const a = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n return new AXDateTime(a.startOf('w').toDate(), this.type);\r\n }\r\n\r\n get endDayOfWeek(): AXDateTime {\r\n const a = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);\r\n }\r\n\r\n convertStringToJalali(date: string, format: string) {\r\n return moment(date).locale('fa').format('YYYY/M/D');\r\n\r\n\r\n }\r\n convertStringToGregorian(date: string, format: string) {\r\n return new Date((moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD')));\r\n }\r\n\r\n add(unit: TimeUnit = 'day', amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n addDay(amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);\r\n }\r\n\r\n addMonth(amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);\r\n }\r\n addHour(amount: number) {\r\n return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);\r\n }\r\n\r\n set(unit: TimeUnit = 'day', value: number): AXDateTime {\r\n return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);\r\n }\r\n\r\n duration(end: AXDateTime, unit: TimeDuration = 'days'): number {\r\n const duration = moment.duration(this._moment.diff(end._moment));\r\n return Math.round(duration.as(unit));\r\n }\r\n\r\n startOf(unit: TimeUnit = 'day'): AXDateTime {\r\n return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n endOf(unit: TimeUnit = 'day'): AXDateTime {\r\n return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n format(format: string = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')): string {\r\n if (format === 'P') {\r\n return this._moment.fromNow();\r\n }\r\n return this._moment.format(format);\r\n }\r\n\r\n toString(): string {\r\n return this.format();\r\n }\r\n\r\n equal(value: AXDateTime, unit: TimeUnit = 'day') {\r\n if (!value) {\r\n return false;\r\n }\r\n return this._moment.isSame(moment(value.date), this.resolveUnit(unit));\r\n }\r\n\r\n convertToJalaliDate(value) {\r\n const options = {\r\n numberingSystem: 'latn',\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n };\r\n const jDate = new Date(value).toLocaleDateString('fa-IR', options);\r\n const item: any = {};\r\n item.year = jDate.slice(0, 4);\r\n item.month = jDate.slice(5, 7);\r\n item.day = jDate.slice(8, 10);\r\n item.hour = jDate.slice(13, 15);\r\n item.minutes = jDate.slice(16, 18);\r\n item.seconds = jDate.slice(19, 21);\r\n return item;\r\n }\r\n\r\n toJalaliString(value) {\r\n const date = this.convertToJalaliDate(value);\r\n let str = '';\r\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\r\n return str;\r\n }\r\n\r\n convertToGregorianDate(value) {\r\n const options = {\r\n numberingSystem: 'latn',\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n };\r\n const date = new Date(value).toLocaleString('en-us', options);\r\n const item: any = {};\r\n item.year = date.slice(6, 10);\r\n item.month = date.slice(0, 2);\r\n item.day = date.slice(3, 5);\r\n item.hour = date.slice(12, 14);\r\n item.minutes = date.slice(15, 17);\r\n item.seconds = date.slice(18, 20);\r\n return item;\r\n }\r\n\r\n toGregorianString(value) {\r\n const date = this.convertToGregorianDate(value);\r\n let str = '';\r\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\r\n return str;\r\n }\r\n\r\n compaireNew(value: AXDateTime, unit: TimeStep = 'YMD', type = 'jalali') {\r\n const range = [0, 0];\r\n let str1;\r\n let str2;\r\n if (type === 'jalali') {\r\n str1 = this.toJalaliString(this.date);\r\n str2 = this.toJalaliString(value.date ? value.date : value);\r\n } else {\r\n str1 = this.toGregorianString(this.date);\r\n str2 = this.toGregorianString(value.date ? value.date : value);\r\n }\r\n switch (unit) {\r\n case 'YMDhms':\r\n range[0] = 0;\r\n range[1] = 19;\r\n break;\r\n case 'YMDhm':\r\n range[0] = 0;\r\n range[1] = 16;\r\n break;\r\n case 'YMDh':\r\n range[0] = 0;\r\n range[1] = 13;\r\n break;\r\n case 'YMD':\r\n range[0] = 0;\r\n range[1] = 10;\r\n break;\r\n\r\n case 'YM':\r\n range[0] = 0;\r\n range[1] = 7;\r\n break;\r\n\r\n case 'h':\r\n range[0] = 11;\r\n range[1] = 13;\r\n break;\r\n\r\n case 'm':\r\n range[0] = 14;\r\n range[1] = 16;\r\n break;\r\n\r\n case 's':\r\n range[0] = 17;\r\n range[1] = 19;\r\n break;\r\n case 'D':\r\n range[0] = 8;\r\n range[1] = 10;\r\n break;\r\n\r\n case 'M':\r\n range[0] = 5;\r\n range[1] = 7;\r\n break;\r\n\r\n case 'Y':\r\n range[0] = 0;\r\n range[1] = 4;\r\n break;\r\n }\r\n\r\n if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {\r\n return 0;\r\n } else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n compaire(value: AXDateTime, unit: TimeUnit = 'day') {\r\n if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {\r\n return 0;\r\n } else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n toISOString() {\r\n return this._date.toISOString();\r\n }\r\n}\r\n\r\nexport class AXCalendarMonth {\r\n private _moment: moment_.Moment;\r\n\r\n private _range: AXDateTimeRange;\r\n public get range(): AXDateTimeRange {\r\n return this._range;\r\n }\r\n public set range(v: AXDateTimeRange) {\r\n this._range = v;\r\n }\r\n\r\n constructor(date: AXDateTime) {\r\n this._moment = moment(date.date);\r\n this.index = date.date.getMonth();\r\n this.name = this._moment.format('MMMM');\r\n this.range = new AXDateTimeRange(\r\n new AXDateTime(this._moment.startOf('month').toDate(), date.type),\r\n new AXDateTime(this._moment.endOf('month').toDate(), date.type)\r\n );\r\n }\r\n\r\n private readonly index: number;\r\n private readonly name: string;\r\n}\r\n\r\nexport class AXDateTimeRange {\r\n constructor(public startTime: AXDateTime, public endTime: AXDateTime) { }\r\n\r\n duration(unit: TimeDuration = 'days'): number {\r\n const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));\r\n return duration.as(unit);\r\n }\r\n\r\n enumurate(unit: TimeUnit = 'day', type: AXCalendarType = AXConfig.get('dateTime.type') || 'jalali'): AXDateTime[] {\r\n const result: AXDateTime[] = [];\r\n for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {\r\n result.push(this.startTime.add(unit, index));\r\n }\r\n return result;\r\n }\r\n\r\n includes(value: AXDateTime, unit: TimeUnit = 'day', type = 'jalali'): boolean {\r\n return (\r\n value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&\r\n value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0\r\n );\r\n }\r\n\r\n getViewCompaire(view) {\r\n switch (view) {\r\n case 'day':\r\n return 'YMD';\r\n case 'month':\r\n return 'YM';\r\n case 'year':\r\n return 'Y';\r\n }\r\n }\r\n}\r\n","export class AXBaseMenuItem {\r\n uid?: string = new Date().getTime().toString();\r\n id?: string;\r\n name?: string;\r\n text?: string;\r\n tooltip?: string;\r\n icon?: string;\r\n visible?: boolean = true;\r\n disable?: boolean = false;\r\n selected?: boolean = false;\r\n groupName?: string;\r\n data?: any;\r\n style?: string = 'ax light';\r\n orderIndex?: number = 0;\r\n endIcon?: string;\r\n startIcon?: string;\r\n onClick?: (e?: any) => void;\r\n}\r\n\r\nexport class AXMenuItem extends AXBaseMenuItem {\r\n items?: AXMenuItem[];\r\n parentId?: string;\r\n divider?: boolean = false\r\n}\r\n\r\nexport class AXButtonItem extends AXBaseMenuItem {\r\n dropdown?: boolean = false;\r\n submitBehavior?: boolean = false;\r\n cancelBehavior?: boolean = false;\r\n}\r\n\r\nexport class AXCheckItem {\r\n text?: string;\r\n value?: any;\r\n selected?: boolean;\r\n}\r\n","export class AXPromise<T> {\r\n\r\n private _executor: (then?: (e?: T) => void) => void;\r\n private thenAction?: (e?: T) => void;\r\n\r\n static resolve<T>(value: T): AXPromise<T> {\r\n const r = new AXPromise<T>(z => {\r\n z(value);\r\n }).then(() => { });\r\n return r;\r\n }\r\n\r\n constructor(executor: (then?: (e?: T) => void) => void) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.thenAction);\r\n }, 50);\r\n }\r\n\r\n\r\n then(action?: (e?: T) => void): AXPromise<T> {\r\n this.thenAction = action;\r\n return this;\r\n }\r\n}\r\n","export class AXSelectItem {\r\n id: string;\r\n name?: string;\r\n text: string;\r\n visible?: boolean;\r\n disable?: boolean;\r\n}\r\n","import { EventEmitter } from '@angular/core';\r\n\r\n/**\r\n * @deprecated Use AXBasePageComponent from @acorex/components\r\n */\r\nexport abstract class AXBasePageComponent {\r\n\r\n onClosed: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n close(data?: any) {\r\n this.onClosed.emit({\r\n component: this,\r\n data: data\r\n });\r\n }\r\n\r\n onClosing(e: any): void | Promise<void> {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onClosed.unsubscribe();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { InjectionToken, Injectable, Injector } from '@angular/core';\r\n\r\nexport const AX_ERROR_DISPLAY_INTERCEPTOR = new InjectionToken<AXErrorDisplayInterceptor>('ax.error');\r\n\r\nexport interface AXErrorDisplayInterceptor {\r\n show(message: string);\r\n}\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class AXErrorService {\r\n\r\n constructor(private injector: Injector) {\r\n\r\n }\r\n\r\n handle(message: string) {\r\n const instance = this.injector.get(AX_ERROR_DISPLAY_INTERCEPTOR);\r\n if (instance) {\r\n instance.show(message);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXErrorService } from './error.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [AXErrorService],\r\n})\r\nexport class AXErrorModule {\r\n\r\n}\r\n","import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AXHttpModule,\r\n providers: [AXHttpService]\r\n };\r\n }\r\n}","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { AXDateTime } from '../classes/datetime.class';\r\n\r\n@Pipe({ name: 'dt' })\r\nexport class AXDateTimePipe implements PipeTransform {\r\n constructor() { }\r\n\r\n transform(value: any, format?: string): string {\r\n const date: AXDateTime = AXDateTime.convert(value);\r\n if (value == null) {\r\n return '';\r\n }\r\n if (!format) {\r\n return date.toString();\r\n }\r\n else {\r\n return date.format(format);\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'html2text' })\r\nexport class AXHtmlToTextPipe implements PipeTransform {\r\n transform(value: string) {\r\n if (value) {\r\n const regexHtml = /<\\/?[^>]+>/gi;\r\n const regexNbsp = /&nbsp;/gi;\r\n const regexAmp = /&amp;/gi;\r\n return value\r\n .replace(regexHtml, '')\r\n .replace(regexNbsp, '')\r\n .replace(regexAmp, '');\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXEventService {\r\n private list: any[] = [];\r\n\r\n public broadcast(key: string, options?: any): void {\r\n const d = this.list.find(c => c.key === key);\r\n if (d) {\r\n d.events.forEach(c => {\r\n c(options);\r\n });\r\n }\r\n }\r\n\r\n public on(key: string, callback: (options?: any) => void) {\r\n let d = this.list.find(c => c.key === key);\r\n if (!d) {\r\n d = { key, events: [] };\r\n this.list.push(d);\r\n }\r\n d.events.push(callback);\r\n }\r\n\r\n public destroy(key: string, callback: (options?: any) => void): void {\r\n const d = this.list.find(c => c.key === key);\r\n if (d) {\r\n d.events = [];\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AXNavigatorParam } from '../classes/navigator.class';\r\n\r\n@Injectable()\r\nexport abstract class AXNavigator {\r\n abstract navigate(params: AXNavigatorParam);\r\n abstract popup(params: AXNavigatorParam);\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AXStorageService {\r\n get(key: string): any {\r\n return localStorage.getItem(key) as any;\r\n }\r\n set(key: string, value: any): void {\r\n localStorage.setItem(key, value as string);\r\n }\r\n}\r\n","import { Subject, Observable } from 'rxjs';\r\nimport { getPropByPath} from '../utils/object/object-util';\r\nimport merge from 'lodash-es/merge';\r\n\r\n// @dynamic\r\nexport class AXTranslator {\r\n private static lang: string = 'en';\r\n private static dataChangeSubject = new Subject<any>();\r\n\r\n\r\n static get onChange(): Observable<any> {\r\n return AXTranslator.dataChangeSubject.asObservable();\r\n }\r\n\r\n public static load(lang: string, value: any) {\r\n if (typeof value === 'object') {\r\n if (!AXTranslator[`__data__${lang}`]) {\r\n AXTranslator[`__data__${lang}`] = {};\r\n }\r\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\r\n }\r\n }\r\n\r\n public static use(lang: string) {\r\n AXTranslator.lang = lang;\r\n }\r\n\r\n public static get(key: string, lang?: string): string {\r\n return getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { AXTranslator } from './translator';\r\n\r\n@Injectable({ providedIn: 'platform' })\r\nexport class AXTranslatorService {\r\n\r\n public load(lang: string, value: any) {\r\n AXTranslator.load(lang, value);\r\n }\r\n\r\n public use(lang: string) {\r\n AXTranslator.use(lang);\r\n }\r\n\r\n public get(key: string, lang?: string): string {\r\n return AXTranslator.get(lang, lang);\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AXTranslator } from './translator';\r\n\r\n@Pipe({ name: 'trans', pure: true })\r\nexport class AXTranslatorPipe implements PipeTransform {\r\n\r\n constructor() { }\r\n\r\n // transform(value: string, lang?: string): Promise<string> {\r\n // return new Promise<string>((resolve, reject) => {\r\n // if (!value) {\r\n // resolve(value);\r\n // }\r\n // resolve(this.translate.get(value, lang));\r\n // });\r\n\r\n // }\r\n\r\n transform(value: string, lang?: string): string {\r\n return AXTranslator.get(value, lang);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXTranslatorPipe } from './translator.pipe';\r\nimport * as en from '../locale/en.json';\r\nimport * as fa from '../locale/fa.json';\r\nimport { AXTranslator } from './translator';\r\n\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [AXTranslatorPipe],\r\n declarations: [AXTranslatorPipe],\r\n providers: [],\r\n})\r\nexport class AXTranslatorModule {\r\n constructor() {\r\n AXTranslator.load('en', en);\r\n AXTranslator.load('fa', fa);\r\n }\r\n}\r\n","import { AXFetchProp } from '../object/object-util';\r\n\r\n// @dynamic\r\nexport class AXArrayUtil {\r\n\r\n\r\n static pickRandom(array: any[]): any {\r\n return array[Math.floor(Math.random() * array.length)];\r\n }\r\n\r\n\r\n static insert(array: any[], index, ...rest) {\r\n array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));\r\n return array;\r\n }\r\n\r\n static range(min: number, max: number): number[] {\r\n return new Array(max - min).fill(1).map((d, i) => i);\r\n }\r\n\r\n static filter(array: any[], filters: any[]): any[] {\r\n if (filters == null || filters.length === 0) {\r\n return array;\r\n }\r\n const lamda = (item) => {\r\n let result = true;\r\n for (const key in filters) {\r\n if (filters.hasOwnProperty(key)) {\r\n const f = filters[key];\r\n if (f !== 'AND') {\r\n const vals = [];\r\n const mt = f.field.match(/\\[\\:(.*?)\\]/);\r\n if (mt && mt.length > 1) {\r\n const p1 = f.field.replace(mt[0], '');\r\n const p2 = mt[1];\r\n const prop = AXFetchProp(item, p1);\r\n if (prop instanceof Array && prop.length) {\r\n vals.push(...prop.map(m => (AXFetchProp(m, p2))));\r\n } else {\r\n result = false;\r\n }\r\n } else {\r\n vals.push(AXFetchProp(item, f.field));\r\n }\r\n for (const j in vals) {\r\n if (vals.hasOwnProperty(j)) {\r\n let v1 = vals[j];\r\n const v2 = f.value;\r\n if (f.dataType === 'string') {\r\n v1 = v1.toString();\r\n switch (f.condition) {\r\n case 'equal':\r\n result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();\r\n break;\r\n case 'not-equal':\r\n result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());\r\n break;\r\n case 'contains':\r\n result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\r\n break;\r\n case 'not-contains':\r\n result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\r\n break;\r\n case 'start-with':\r\n result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));\r\n break;\r\n case 'end-with':\r\n result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));\r\n break;\r\n case 'is-empty':\r\n result = v1 == null || v1 === undefined;\r\n break;\r\n case 'is-not-empty':\r\n result = !(v1 == null || v1 === undefined);\r\n break;\r\n default:\r\n console.error('The condition is not defined');\r\n result = false;\r\n }\r\n } else if (f.dataType === 'date') {\r\n } else if (f.dataType === 'number') {\r\n v1 = Number(v1);\r\n switch (f.condition) {\r\n case 'equal':\r\n result = v1 === v2;\r\n break;\r\n case 'not-equal':\r\n result = v1 !== v2;\r\n break;\r\n case 'contains':\r\n result = v2 && v2 instanceof Array && v2.includes(v1);\r\n break;\r\n case 'less-than':\r\n result = v1 < v2;\r\n break;\r\n case 'less-than-equal':\r\n result = v1 <= v2;\r\n break;\r\n case 'greater-than':\r\n result = v1 > v2;\r\n break;\r\n case 'greater-than-equal':\r\n result = v1 >= v2;\r\n break;\r\n case 'is-empty':\r\n result = v1 == null || v1 === undefined;\r\n break;\r\n case 'is-not-empty':\r\n result = !(v1 == null || v1 === undefined);\r\n break;\r\n default:\r\n console.error('The condition is not defined');\r\n result = false;\r\n }\r\n } else {\r\n console.error('The datatype is not supported');\r\n result = false;\r\n }\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!result) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n return array.filter(lamda);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","export class AXMathUtil {\r\n static randomRange(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n}\r\n","import { AXMathUtil } from '../math/math-util';\r\n\r\nexport type AXPlacement =\r\n | 'top-start'\r\n | 'top-middle'\r\n | 'top-end'\r\n | 'center-start'\r\n | 'center-end'\r\n | 'bottom-start'\r\n | 'bottom-middle'\r\n | 'bottom-end';\r\n\r\nexport interface AXIPoint {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface AXConnectedPosition {\r\n originX: 'start' | 'center' | 'end';\r\n originY: 'top' | 'center' | 'bottom';\r\n overlayX: 'start' | 'center' | 'end';\r\n overlayY: 'top' | 'center' | 'bottom';\r\n weight?: number;\r\n offsetX?: number;\r\n offsetY?: number;\r\n}\r\n\r\nexport class AXPoint implements AXIPoint {\r\n constructor(public x: number, public y: number) {\r\n }\r\n}\r\n\r\nexport interface AXClientRecCtor {\r\n left?: number;\r\n top?: number;\r\n width?: number;\r\n height?: number;\r\n bottom?: number;\r\n right?: number;\r\n}\r\nexport class AXClientRec implements AXClientRecCtor {\r\n\r\n\r\n private _left: number;\r\n public get left(): number {\r\n return this._left;\r\n }\r\n public set left(v: number) {\r\n this._left = v;\r\n }\r\n\r\n\r\n private _top: number;\r\n public get top(): number {\r\n return this._top;\r\n }\r\n public set top(v: number) {\r\n this._top = v;\r\n }\r\n\r\n\r\n private _right: number;\r\n public get right(): number {\r\n return this._right;\r\n }\r\n public set right(v: number) {\r\n this._right = v;\r\n }\r\n\r\n\r\n private _bottom: number;\r\n public get bottom(): number {\r\n return this._bottom;\r\n }\r\n public set bottom(v: number) {\r\n this._bottom = v;\r\n }\r\n\r\n\r\n\r\n private _width: number;\r\n public get width(): number {\r\n return this._width;\r\n }\r\n public set width(v: number) {\r\n this._width = v;\r\n }\r\n\r\n\r\n private _height: number;\r\n public get height(): number {\r\n return this._height;\r\n }\r\n public set height(v: number) {\r\n this._height = v;\r\n }\r\n\r\n\r\n constructor(rec: AXClientRecCtor) {\r\n this._left = rec.left;\r\n this._top = rec.top;\r\n this._width = rec.width;\r\n this._height = rec.height;\r\n this._right = this._left + this._width;\r\n this._bottom = this._top + this._height;\r\n }\r\n\r\n public intersect(rec: AXClientRecCtor): boolean {\r\n return (this.left < rec.left + rec.width &&\r\n this.left + this.width > rec.left &&\r\n this.top < rec.top + rec.height &&\r\n this.top + this.height > rec.top);\r\n }\r\n\r\n\r\n}\r\n// @dynamic\r\nexport class AXHtmlUtil {\r\n static getBoundingRectPoint(el: HTMLElement, placement: AXPlacement): AXPoint {\r\n const rec = el.getBoundingClientRect();\r\n const width = el.offsetWidth;\r\n const height = el.offsetHeight;\r\n switch (placement) {\r\n case 'top-start':\r\n return new AXPoint(rec.left, rec.top);\r\n case 'top-middle':\r\n return new AXPoint(rec.left + (width / 2), rec.top);\r\n case 'top-end':\r\n return new AXPoint(rec.left + (width), rec.top);\r\n case 'center-end':\r\n return new AXPoint(rec.left + (width), rec.top + (height / 2));\r\n case 'bottom-end':\r\n return new AXPoint(rec.left + (width), rec.top + (height));\r\n case 'bottom-middle':\r\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\r\n case 'bottom-start':\r\n return new AXPoint(rec.left, rec.top + (height));\r\n case 'center-start':\r\n return new AXPoint(rec.left, rec.top + (height / 2));\r\n default:\r\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\r\n }\r\n }\r\n\r\n static isInRecPoint(pos: AXIPoint, rec: AXClientRecCtor): boolean {\r\n return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));\r\n }\r\n\r\n // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {\r\n // const r1: AXClientRec = new AXClientRec(rec1);\r\n // const r2: AXClientRec = new AXClientRec(rec2);\r\n\r\n // return ;\r\n // }\r\n\r\n static isInElementBound(pos: AXIPoint, element: HTMLElement): boolean {\r\n const elBound = element.getBoundingClientRect();\r\n return AXHtmlUtil.isInRecPoint(pos, {\r\n left: elBound.left,\r\n width: elBound.width,\r\n top: elBound.top,\r\n height: elBound.height\r\n });\r\n }\r\n\r\n static getDimensions(): { width: number, height: number } {\r\n let winW = 630;\r\n let winH = 460;\r\n if (document.body && document.body.offsetWidth) {\r\n winW = document.body.offsetWidth;\r\n winH = document.body.offsetHeight;\r\n }\r\n if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {\r\n winW = document.documentElement.offsetWidth;\r\n winH = document.documentElement.offsetHeight;\r\n }\r\n if (window.innerWidth && window.innerHeight) {\r\n winW = window.innerWidth;\r\n winH = window.innerHeight;\r\n }\r\n return { width: winW, height: winH };\r\n }\r\n\r\n static getOffsetRight(elem: HTMLElement): number {\r\n let element = elem;\r\n const width = element.offsetWidth;\r\n let right = 0;\r\n while (element.offsetParent) {\r\n right += element.offsetLeft;\r\n element = element.offsetParent as HTMLElement;\r\n }\r\n right += element.offsetLeft;\r\n right = AXHtmlUtil.getDimensions().width - right;\r\n right -= width;\r\n return right;\r\n }\r\n\r\n static getUID(): string {\r\n return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();\r\n }\r\n\r\n\r\n static getRelatedPosition(source: HTMLElement, placement: AXPlacement, target: HTMLElement, alignment: AXPlacement): AXIPoint {\r\n const result: AXIPoint = { x: 0, y: 0 };\r\n\r\n const sourcePos: AXPoint = AXHtmlUtil.getBoundingRectPoint(source, placement);\r\n\r\n\r\n let top: number = 0;\r\n let left: number = 0;\r\n switch (alignment) {\r\n case 'top-start':\r\n top = sourcePos.y;\r\n left = sourcePos.x;\r\n break;\r\n case 'top-middle':\r\n top = sourcePos.y;\r\n left = sourcePos.x - target.offsetWidth / 2;\r\n break;\r\n case 'top-end':\r\n top = sourcePos.y;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'center-end':\r\n top = sourcePos.y - target.offsetHeight / 2;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'bottom-end':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'bottom-middle':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x - target.offsetWidth / 2;\r\n break;\r\n case 'bottom-start':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x;\r\n break;\r\n case 'center-start':\r\n top = sourcePos.y - target.offsetHeight / 2;\r\n left = sourcePos.x;\r\n break;\r\n }\r\n result.y = top;\r\n result.x = left;\r\n return result;\r\n }\r\n\r\n\r\n static collision(a: HTMLElement, b: HTMLElement): boolean {\r\n const ac = a.getBoundingClientRect();\r\n const bc = b.getBoundingClientRect();\r\n\r\n if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&\r\n ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';\r\n\r\n@NgModule({\r\n declarations: [AXHtmlToTextPipe],\r\n imports: [CommonModule],\r\n exports: [AXHtmlToTextPipe],\r\n providers: []\r\n})\r\nexport class AXHtmlModule { }\r\n","import { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject, Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { AXHtmlUtil } from '../html/html-util';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AXOnDemandPreloadService {\r\n subject = new Subject<string>();\r\n tmp: string;\r\n\r\n constructor() {\r\n this.tmp = AXHtmlUtil.getUID();\r\n }\r\n\r\n startPreload(routePath: string) {\r\n const slices: string[] = [];\r\n \r\n\r\n this.subject.next(routePath);\r\n //console.log('ss', this.tmp);\r\n }\r\n}\r\n","import {\r\n ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable,\r\n Injector, EmbeddedViewRef, Type\r\n} from '@angular/core';\r\nimport { Router, Route } from '@angular/router';\r\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\r\n\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXRenderService {\r\n constructor(\r\n private appRef: ApplicationRef,\r\n private router: Router,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private modulePreloadService: AXOnDemandPreloadService,\r\n private injector: Injector) {\r\n }\r\n\r\n\r\n\r\n appendComponent<T>(\r\n componentClass: Type<T>,\r\n options: any = {},\r\n location?: Element): ComponentRef<any> {\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\r\n const componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(componentRef.hostView);\r\n Object.assign(componentRef.instance, options);\r\n //\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n if (location) {\r\n location.appendChild(domElem);\r\n } else {\r\n document.body.appendChild(domElem);\r\n }\r\n setTimeout(() => {\r\n componentRef.changeDetectorRef.detectChanges();\r\n }, 0);\r\n return componentRef;\r\n }\r\n\r\n findLoadedComponentByRoute(path: string, timeoutTime: number = 10): Promise<Route> {\r\n const delay = 200;\r\n const loop = timeoutTime * 1000 / delay;\r\n return new Promise((resolve, reject) => {\r\n let found: Route = null;\r\n let preload: boolean = false;\r\n const theLoop = (i) => {\r\n setTimeout(() => {\r\n found = this._findLoadedComponentByRoute(path);\r\n if (--i && found == null) {\r\n if (!preload) {\r\n this.modulePreloadService.startPreload(path);\r\n preload = true;\r\n }\r\n theLoop(i);\r\n }\r\n else if (found) {\r\n resolve(found);\r\n }\r\n else {\r\n reject();\r\n }\r\n }, delay);\r\n };\r\n theLoop(loop);\r\n });\r\n }\r\n\r\n private _findLoadedComponentByRoute(search) {\r\n let found: Route = null;\r\n const f = (list, path) => {\r\n for (const p in list) {\r\n if (list.hasOwnProperty(p)) {\r\n const route = list[p];\r\n const pp = (route.path != '' && route.path != null) ? path + '/' + route.path : path;\r\n if (pp == search && !route._loadedConfig && route.component) {\r\n found = route;\r\n break;\r\n } else if (route._loadedConfig) {\r\n f(route._loadedConfig.routes, pp);\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (const p in this.router.config) {\r\n if (this.router.config.hasOwnProperty(p)) {\r\n const route = this.router.config[p];\r\n if (route.path === search && route.component) {\r\n found = route;\r\n }\r\n else if (route['_loadedConfig']) {\r\n f(route['_loadedConfig'].routes, route.path);\r\n }\r\n\r\n }\r\n }\r\n return found;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXRenderService } from './render.service';\r\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\r\n\r\n\r\n// @dynamic\r\nexport function getOnDemandPreloadServiceFactory() {\r\n return new AXOnDemandPreloadService();\r\n}\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [],\r\n declarations: [],\r\n providers: [\r\n {\r\n provide: AXOnDemandPreloadService,\r\n useFactory: getOnDemandPreloadServiceFactory\r\n },\r\n AXRenderService\r\n ],\r\n})\r\nexport class AXRenderingModule {\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[horizontalScroll]'\r\n})\r\nexport class AXHorizontalScrollDirective {\r\n constructor(private el: ElementRef<HTMLElement>) { }\r\n\r\n @Input('horizontalScroll')\r\n scrollValue = 40;\r\n\r\n @HostListener('wheel', ['$event'])\r\n onMouseWheel(e) {\r\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\r\n this.el.nativeElement.scrollLeft -= delta * this.scrollValue;\r\n }\r\n}\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[verticalScroll]'\r\n})\r\nexport class AXVerticalScrollDirective {\r\n constructor(private el: ElementRef<HTMLElement>) { }\r\n\r\n @Input('verticalScroll')\r\n scrollValue = 40;\r\n\r\n @HostListener('wheel', ['$event'])\r\n onMouseWheel(e) {\r\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\r\n this.el.nativeElement.scrollTop -= delta * this.scrollValue;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';\r\n\r\n@NgModule({\r\n declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\r\n imports: [CommonModule],\r\n exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\r\n providers: []\r\n})\r\nexport class AXScrollModule { }\r\n","import { Pipe, PipeTransform, Injectable } from '@angular/core';\r\n\r\n@Pipe({ name: 'separator' })\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AXSeparatorPipe implements PipeTransform {\r\n transform(value: any) {\r\n if (value) {\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n } else {\r\n return '0';\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXSeparatorPipe } from './separator.pipe';\r\n\r\n@NgModule({\r\n declarations: [AXSeparatorPipe],\r\n imports: [CommonModule],\r\n exports: [AXSeparatorPipe],\r\n providers: []\r\n})\r\nexport class AXSeparatorModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { AXDateTimePipe } from './pipe/datetime.pipe';\r\nimport { AXEventService } from './services/event.service';\r\nimport { AXStorageService } from './services/storage.service';\r\nimport { AXScrollModule } from './utils/scroll/scroll.module';\r\nimport { AXTranslatorModule } from './translator/translator.module';\r\n\r\nconst PIPES = [AXDateTimePipe];\r\nconst MODULES = [AXScrollModule, AXTranslatorModule];\r\nconst SERVICES = [AXEventService,\r\n AXStorageService\r\n];\r\n\r\n\r\n@NgModule({\r\n declarations: [...PIPES],\r\n imports: [...MODULES],\r\n exports: [...PIPES],\r\n providers: [...SERVICES]\r\n})\r\nexport class AXCoreModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["en","fa"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- /**
3
- * @deprecated Use AXBasePageComponent from @acorex/components
4
- */
5
- export declare abstract class AXBasePageComponent {
6
- onClosed: EventEmitter<any>;
7
- close(data?: any): void;
8
- onClosing(e: any): void | Promise<void>;
9
- ngOnDestroy(): void;
10
- }
@@ -1,17 +0,0 @@
1
- export interface AXColor {
2
- id?: string;
3
- color?: string;
4
- code: string;
5
- selected?: boolean;
6
- active?: boolean;
7
- }
8
- export declare class AXColorUtil {
9
- static hex2Rgb(hexColor: string): {
10
- r: number;
11
- g: number;
12
- b: number;
13
- };
14
- static rgb2Hex(r: number, g: number, b: number, a?: number): string;
15
- static illuminance(hexColor: string): number;
16
- static contrastToWhite(hexColor: string): number;
17
- }
@@ -1,63 +0,0 @@
1
- export declare type TimeUnit = 'second' | 'minute' | 'minutes' | 'hour' | 'hours' | 'day' | 'days' | 'month' | 'year' | 'week';
2
- export declare type TimeDuration = 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'month' | 'years';
3
- export declare type TimeStep = 'Y' | 'M' | 'D' | 'YM' | 'YMD' | 'YMDh' | 'YMDhm' | 'YMDhms' | 'h' | 'm' | 's';
4
- export declare type AXCalendarType = 'jalali' | 'gregorian';
5
- export declare class AXDateTime {
6
- type: AXCalendarType;
7
- static convert(value: any, type?: AXCalendarType): AXDateTime;
8
- private _date;
9
- get date(): Date;
10
- private resolveUnit;
11
- private _moment;
12
- constructor(value?: Date | string, type?: AXCalendarType);
13
- clone(): AXDateTime;
14
- get dayInMonth(): number;
15
- get dayOfYear(): number;
16
- get dayInWeek(): number;
17
- get hour(): number;
18
- get minute(): number;
19
- get second(): number;
20
- get year(): number;
21
- get monthOfYear(): number;
22
- get month(): AXCalendarMonth;
23
- get firstDayOfWeek(): AXDateTime;
24
- get endDayOfWeek(): AXDateTime;
25
- convertStringToJalali(date: string, format: string): string;
26
- convertStringToGregorian(date: string, format: string): Date;
27
- add(unit: TimeUnit, amount: number): AXDateTime;
28
- addDay(amount: number): AXDateTime;
29
- addMonth(amount: number): AXDateTime;
30
- addHour(amount: number): AXDateTime;
31
- set(unit: TimeUnit, value: number): AXDateTime;
32
- duration(end: AXDateTime, unit?: TimeDuration): number;
33
- startOf(unit?: TimeUnit): AXDateTime;
34
- endOf(unit?: TimeUnit): AXDateTime;
35
- format(format?: string): string;
36
- toString(): string;
37
- equal(value: AXDateTime, unit?: TimeUnit): boolean;
38
- convertToJalaliDate(value: any): any;
39
- toJalaliString(value: any): string;
40
- convertToGregorianDate(value: any): any;
41
- toGregorianString(value: any): string;
42
- compaireNew(value: AXDateTime, unit?: TimeStep, type?: string): 1 | -1 | 0;
43
- compaire(value: AXDateTime, unit?: TimeUnit): 1 | -1 | 0;
44
- toISOString(): string;
45
- }
46
- export declare class AXCalendarMonth {
47
- private _moment;
48
- private _range;
49
- get range(): AXDateTimeRange;
50
- set range(v: AXDateTimeRange);
51
- constructor(date: AXDateTime);
52
- private readonly index;
53
- private readonly name;
54
- }
55
- export declare class AXDateTimeRange {
56
- startTime: AXDateTime;
57
- endTime: AXDateTime;
58
- constructor(startTime: AXDateTime, endTime: AXDateTime);
59
- duration(unit?: TimeDuration): number;
60
- enumurate(unit?: TimeUnit, type?: AXCalendarType): AXDateTime[];
61
- includes(value: AXDateTime, unit?: TimeUnit, type?: string): boolean;
62
- getViewCompaire(view: any): "Y" | "YM" | "YMD";
63
- }
@@ -1,33 +0,0 @@
1
- export declare class AXBaseMenuItem {
2
- uid?: string;
3
- id?: string;
4
- name?: string;
5
- text?: string;
6
- tooltip?: string;
7
- icon?: string;
8
- visible?: boolean;
9
- disable?: boolean;
10
- selected?: boolean;
11
- groupName?: string;
12
- data?: any;
13
- style?: string;
14
- orderIndex?: number;
15
- endIcon?: string;
16
- startIcon?: string;
17
- onClick?: (e?: any) => void;
18
- }
19
- export declare class AXMenuItem extends AXBaseMenuItem {
20
- items?: AXMenuItem[];
21
- parentId?: string;
22
- divider?: boolean;
23
- }
24
- export declare class AXButtonItem extends AXBaseMenuItem {
25
- dropdown?: boolean;
26
- submitBehavior?: boolean;
27
- cancelBehavior?: boolean;
28
- }
29
- export declare class AXCheckItem {
30
- text?: string;
31
- value?: any;
32
- selected?: boolean;
33
- }
@@ -1,5 +0,0 @@
1
- export interface AXNavigatorParam {
2
- path: string;
3
- title?: string;
4
- data?: any;
5
- }
@@ -1,12 +0,0 @@
1
- export interface ClosingEventArgs {
2
- cancel?: boolean;
3
- data?: any;
4
- }
5
- export interface ClosingAction {
6
- cancel?: boolean;
7
- data?: any;
8
- resolve: () => void;
9
- }
10
- export interface ClosedEventArgs {
11
- data?: any;
12
- }
@@ -1,7 +0,0 @@
1
- export declare class AXPromise<T> {
2
- private _executor;
3
- private thenAction?;
4
- static resolve<T>(value: T): AXPromise<T>;
5
- constructor(executor: (then?: (e?: T) => void) => void);
6
- then(action?: (e?: T) => void): AXPromise<T>;
7
- }
@@ -1,8 +0,0 @@
1
- export interface AXSelectionList {
2
- id?: string;
3
- name?: string;
4
- text: string;
5
- value: boolean;
6
- disable?: boolean;
7
- readonly?: boolean;
8
- }
@@ -1,7 +0,0 @@
1
- export declare class AXSelectItem {
2
- id: string;
3
- name?: string;
4
- text: string;
5
- visible?: boolean;
6
- disable?: boolean;
7
- }
@@ -1,4 +0,0 @@
1
- export interface AXError {
2
- message: string;
3
- code: string;
4
- }
@@ -1,2 +0,0 @@
1
- export declare class AXErrorModule {
2
- }
@@ -1,10 +0,0 @@
1
- import { InjectionToken, Injector } from '@angular/core';
2
- export declare const AX_ERROR_DISPLAY_INTERCEPTOR: InjectionToken<AXErrorDisplayInterceptor>;
3
- export interface AXErrorDisplayInterceptor {
4
- show(message: string): any;
5
- }
6
- export declare class AXErrorService {
7
- private injector;
8
- constructor(injector: Injector);
9
- handle(message: string): void;
10
- }
@@ -1,2 +0,0 @@
1
- export interface AXKeyboardEvent extends KeyboardEvent {
2
- }
@@ -1,7 +0,0 @@
1
- export interface IHttpError {
2
- message?: string;
3
- status?: number;
4
- code?: string;
5
- handled: boolean;
6
- error: any | null;
7
- }
@@ -1,10 +0,0 @@
1
- import { IHttpError } from './http-error.class';
2
- import { InjectionToken } from '@angular/core';
3
- import { AXHttpRequestOptions } from './http-request.class';
4
- export declare const AX_HTTP_EVENT_INTERCEPTOR: InjectionToken<AXHttpEventInterceptor>;
5
- export interface AXHttpEventInterceptor {
6
- begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;
7
- success(request: AXHttpRequestOptions, result: any): Promise<any>;
8
- complete(request: AXHttpRequestOptions): any;
9
- error(request: AXHttpRequestOptions, error: IHttpError): any;
10
- }
@@ -1,14 +0,0 @@
1
- export interface AXHttpRequestOptions {
2
- url?: any;
3
- params?: {
4
- [param: string]: any;
5
- };
6
- body?: {
7
- [param: string]: any;
8
- };
9
- headers?: {
10
- [header: string]: any;
11
- };
12
- method?: 'get' | 'post' | 'put' | 'delete';
13
- responseType?: any;
14
- }
@@ -1,11 +0,0 @@
1
- import { IHttpError } from './http-error.class';
2
- export declare class HttpResult<T> {
3
- private _executor;
4
- constructor(executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void);
5
- private resultAction;
6
- private errorAction;
7
- private completeAction;
8
- result(action: (e?: T) => void): HttpResult<T>;
9
- error(action: (e?: IHttpError) => void): HttpResult<T>;
10
- complete(action: () => void): HttpResult<T>;
11
- }
@@ -1,4 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- export declare class AXHttpModule {
3
- static forRoot(): ModuleWithProviders;
4
- }
@@ -1,20 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
- import { HttpResult } from './http-result.class';
4
- import { AXHttpRequestOptions } from './http-request.class';
5
- export declare class AXHttpService {
6
- private http;
7
- private injector;
8
- private interceptor;
9
- constructor(http: HttpClient, injector: Injector);
10
- get<T>(url: string, config?: AXHttpRequestOptions): HttpResult<T>;
11
- post<T>(url: string, config?: AXHttpRequestOptions): HttpResult<T>;
12
- delete<T>(url: string, config?: AXHttpRequestOptions): HttpResult<T>;
13
- put<T>(url: string, config?: AXHttpRequestOptions): HttpResult<T>;
14
- request<T>(config: AXHttpRequestOptions): HttpResult<T>;
15
- private handleResult;
16
- private handleBegin;
17
- private handleComplete;
18
- private handleError;
19
- private mapOptions;
20
- }
@@ -1,5 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- export declare class AXDateTimePipe implements PipeTransform {
3
- constructor();
4
- transform(value: any, format?: string): string;
5
- }
@@ -1,4 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- export declare class AXHtmlToTextPipe implements PipeTransform {
3
- transform(value: string): string;
4
- }
@@ -1,6 +0,0 @@
1
- export declare class AXEventService {
2
- private list;
3
- broadcast(key: string, options?: any): void;
4
- on(key: string, callback: (options?: any) => void): void;
5
- destroy(key: string, callback: (options?: any) => void): void;
6
- }
@@ -1,5 +0,0 @@
1
- import { AXNavigatorParam } from '../classes/navigator.class';
2
- export declare abstract class AXNavigator {
3
- abstract navigate(params: AXNavigatorParam): any;
4
- abstract popup(params: AXNavigatorParam): any;
5
- }
@@ -1,4 +0,0 @@
1
- export declare class AXStorageService {
2
- get(key: string): any;
3
- set(key: string, value: any): void;
4
- }
@@ -1,3 +0,0 @@
1
- export declare class AXTranslatorModule {
2
- constructor();
3
- }
@@ -1,5 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- export declare class AXTranslatorPipe implements PipeTransform {
3
- constructor();
4
- transform(value: string, lang?: string): string;
5
- }
@@ -1,5 +0,0 @@
1
- export declare class AXTranslatorService {
2
- load(lang: string, value: any): void;
3
- use(lang: string): void;
4
- get(key: string, lang?: string): string;
5
- }
@@ -1,6 +0,0 @@
1
- export declare class AXArrayUtil {
2
- static pickRandom(array: any[]): any;
3
- static insert(array: any[], index: any, ...rest: any[]): any[];
4
- static range(min: number, max: number): number[];
5
- static filter(array: any[], filters: any[]): any[];
6
- }