@acorex/core 16.18.37 → 16.18.38
Sign up to get free protection for your applications and to get access to all the features.
@@ -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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"}
|