@acorex/core 3.0.32 → 3.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/acorex-core.metadata.json +1 -1
- package/bundles/acorex-core.umd.js +60 -43
- package/bundles/acorex-core.umd.js.map +1 -1
- package/bundles/acorex-core.umd.min.js +1 -1
- package/bundles/acorex-core.umd.min.js.map +1 -1
- package/esm2015/lib/classes/datetime.class.js +2 -2
- package/esm2015/lib/utils/render/render.service.js +38 -31
- package/esm5/lib/classes/datetime.class.js +2 -2
- package/esm5/lib/utils/render/render.service.js +62 -45
- package/fesm2015/acorex-core.js +38 -31
- package/fesm2015/acorex-core.js.map +1 -1
- package/fesm5/acorex-core.js +62 -45
- package/fesm5/acorex-core.js.map +1 -1
- package/lib/utils/render/render.service.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/core/lib/classes/color.class.ts","ng://@acorex/core/lib/utils/object/object-util.ts","ng://@acorex/core/lib/services/config.ts","ng://@acorex/core/lib/classes/datetime.class.ts","ng://@acorex/core/lib/classes/menu.class.ts","ng://@acorex/core/lib/classes/promise.class.ts","ng://@acorex/core/lib/classes/select.class.ts","ng://@acorex/core/lib/classes/base-page.class.ts","ng://@acorex/core/lib/error/error.service.ts","ng://@acorex/core/lib/error/error.module.ts","ng://@acorex/core/lib/http/http-events.interceptor.ts","ng://@acorex/core/lib/http/http-result.class.ts","ng://@acorex/core/lib/http/http.service.ts","ng://@acorex/core/lib/http/http.module.ts","ng://@acorex/core/lib/pipe/datetime.pipe.ts","ng://@acorex/core/lib/pipe/htmlToText.pipe.ts","ng://@acorex/core/lib/services/event.service.ts","ng://@acorex/core/lib/services/navigator.service.ts","ng://@acorex/core/lib/services/storage.service.ts","ng://@acorex/core/lib/translator/translator.ts","ng://@acorex/core/lib/translator/translator.service.ts","ng://@acorex/core/lib/translator/translator.pipe.ts","ng://@acorex/core/lib/translator/translator.module.ts","ng://@acorex/core/lib/utils/array/array-util.ts","ng://@acorex/core/lib/utils/math/math-util.ts","ng://@acorex/core/lib/utils/html/html-util.ts","ng://@acorex/core/lib/utils/html/html.module.ts","ng://@acorex/core/lib/utils/render/on-demand-preload-strategy.service.ts","ng://@acorex/core/lib/utils/render/render.service.ts","ng://@acorex/core/lib/utils/render/rendering.module.ts","ng://@acorex/core/lib/utils/scroll/scroll.directive.ts","ng://@acorex/core/lib/utils/scroll/scroll.module.ts","ng://@acorex/core/lib/utils/separator/separator.pipe.ts","ng://@acorex/core/lib/utils/separator/separator.module.ts","ng://@acorex/core/lib/core.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","__spread","concat","AXColorUtil","hex2Rgb","hexColor","result","exec","parseInt","g","rgb2Hex","a","alpha","hex","toString","slice","Math","round","hexAlpha","substr","toUpperCase","illuminance","rgbColor","map","v","pow","contrastToWhite","AXObjectUtil","deepJSONClone","obj","JSON","parse","stringify","deepCopy","copy","Date","setTime","getTime","len","attr","Error","AXFetchProp","prop","index","indexOf","substring","getPropByPath","path","defaultVal","replace","split","forEach","level","undefined","setPropByPath","isArray","match","reduce","abs","AXConfig","dataChangeSubject","asObservable","set","arg1","arg2","dataModel","assign","get","Subject","moment","moment_","AXDateTime","type","_date","_moment","date","locale","convert","String","resolveUnit","unit","clone","dayOfYear","day","hour","minute","second","year","month","AXCalendarMonth","startOf","toDate","endOf","convertStringToJalali","format","convertStringToGregorian","from","add","amount","addDay","addMonth","addHour","duration","end","diff","as","fromNow","equal","isSame","convertToJalaliDate","jDate","toLocaleDateString","numberingSystem","item","minutes","seconds","toJalaliString","convertToGregorianDate","toLocaleString","toGregorianString","compaireNew","str1","str2","range","compaire","isAfter","toISOString","getMonth","name","AXDateTimeRange","_range","startTime","endTime","enumurate","getViewCompaire","includes","view","uid","visible","disable","selected","style","orderIndex","AXMenuItem","_this","_super","apply","divider","AXBaseMenuItem","AXButtonItem","dropdown","submitBehavior","cancelBehavior","AXPromise","executor","_executor","setTimeout","thenAction","resolve","z","then","action","AXBasePageComponent","onClosed","EventEmitter","close","data","emit","component","onClosing","ngOnDestroy","unsubscribe","AX_ERROR_DISPLAY_INTERCEPTOR","InjectionToken","AXErrorService","injector","handle","message","instance","show","Injector","Injectable","providedIn","AXErrorModule","NgModule","declarations","imports","CommonModule","exports","providers","AX_HTTP_EVENT_INTERCEPTOR","HttpResult","resultAction","errorAction","completeAction","complete","AXHttpService","http","interceptor","url","config","method","request","post","delete","put","handleBegin","mapOptions","subscribe","handleResult","handleError","success","handleComplete","Promise","headers","params","begin","status","code","_a","handled","options","HttpHeaders","HttpParams","body","responseType","HttpClient","AXHttpModule","forRoot","ngModule","AXHttpModule_1","HttpClientModule","AXDateTimePipe","transform","Pipe","AXHtmlToTextPipe","AXEventService","list","broadcast","find","events","on","callback","destroy","AXNavigator","AXStorageService","localStorage","getItem","setItem","AXTranslator","load","lang","merge","use","AXTranslatorService","AXTranslatorPipe","pure","AXTranslatorModule","en","fa","AXArrayUtil","pickRandom","array","floor","random","insert","rest","_i","splice","min","max","fill","filter","filters","f","vals","mt","field","p1","p2_1","j","v1","v2","dataType","condition","toLowerCase","startsWith","endsWith","console","Number","AXMathUtil","randomRange","x","y","AXClientRec","rec","_left","left","_top","top","_width","width","_height","height","_right","_bottom","intersect","AXHtmlUtil","getBoundingRectPoint","el","placement","getBoundingClientRect","offsetWidth","offsetHeight","AXPoint","isInRecPoint","pos","isInElementBound","element","elBound","getDimensions","winW","winH","document","compatMode","documentElement","window","innerWidth","innerHeight","getOffsetRight","elem","right","offsetParent","offsetLeft","getUID","getRelatedPosition","source","alignment","sourcePos","collision","ac","bc","AXHtmlModule","AXOnDemandPreloadService","subject","tmp","startPreload","routePath","AXRenderService","appRef","router","componentFactoryResolver","modulePreloadService","appendComponent","componentClass","location","componentRef","resolveComponentFactory","attachView","hostView","domElem","rootNodes","onDestroy","detachView","appendChild","changeDetectorRef","detectChanges","findLoadedComponentByRoute","timeoutTime","loop","reject","found","preload","theLoop","_findLoadedComponentByRoute","search","route","pp","_loadedConfig","routes","ApplicationRef","Router","ComponentFactoryResolver","getOnDemandPreloadServiceFactory","AXRenderingModule","provide","useFactory","AXHorizontalScrollDirective","scrollValue","onMouseWheel","delta","wheelDelta","detail","nativeElement","scrollLeft","ElementRef","Input","HostListener","Directive","selector","AXVerticalScrollDirective","scrollTop","AXScrollModule","AXSeparatorPipe","currency","decimal","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","AXSeparatorModule","PIPES","MODULES","SERVICES","AXCoreModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export interface AXColor {\r\n id?: string;\r\n color?: string;\r\n code: string;\r\n selected?: boolean;\r\n active?: boolean;\r\n}\r\n\r\nexport class AXColorUtil {\r\n\r\n\r\n static hex2Rgb(hexColor: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexColor);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n\r\n static rgb2Hex(r: number, g: number, b: number, a: number = 255): string {\r\n let alpha;\r\n let hex = (r | 1 << 8).toString(16).slice(1) +\r\n (g | 1 << 8).toString(16).slice(1) +\r\n (b | 1 << 8).toString(16).slice(1);\r\n if (a !== 255) {\r\n alpha = a;\r\n } else {\r\n alpha = 1;\r\n }\r\n\r\n alpha = Math.round(alpha * 100) / 100;\r\n alpha = Math.round(alpha * 255);\r\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\r\n return '#' + hex + (alpha == 255 ? '' : hexAlpha);\r\n };\r\n\r\n static illuminance(hexColor: string) {\r\n const rgbColor = AXColorUtil.hex2Rgb(hexColor);\r\n if (!rgbColor) {\r\n return -1;\r\n }\r\n const r = rgbColor.r;\r\n const g = rgbColor.g;\r\n const b = rgbColor.b;\r\n const a = [r, g, b].map(v => {\r\n v /= 255;\r\n return (v <= 0.03928) ?\r\n v / 12.92 :\r\n Math.pow(((v + 0.055) / 1.055), 2.4);\r\n });\r\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\r\n }\r\n\r\n static contrastToWhite(hexColor: string) {\r\n const whiteIlluminance = 1;\r\n const illuminance = AXColorUtil.illuminance(hexColor);\r\n return whiteIlluminance / illuminance;\r\n }\r\n\r\n}\r\n","// @dynamic\r\nexport class AXObjectUtil {\r\n static deepJSONClone(obj: any): any {\r\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\r\n }\r\n\r\n static deepCopy(obj) {\r\n let copy;\r\n // Handle the 3 simple types, and null or undefined\r\n if (null == obj || 'object' !== typeof obj) { return obj; }\r\n // Handle Date\r\n if (obj instanceof Date) {\r\n copy = new Date();\r\n copy.setTime(obj.getTime());\r\n return copy;\r\n }\r\n // Handle Array\r\n if (obj instanceof Array) {\r\n copy = [];\r\n for (let i = 0, len = obj.length; i < len; i++) {\r\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\r\n }\r\n return copy;\r\n }\r\n // Handle Object\r\n if (obj instanceof Object) {\r\n copy = {};\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) { copy[attr] = AXObjectUtil.deepCopy(obj[attr]); }\r\n }\r\n return copy;\r\n }\r\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\r\n }\r\n}\r\n\r\nexport function AXFetchProp(obj, prop: string) {\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n const index = prop.indexOf('.');\r\n\r\n if (index > -1) {\r\n return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\r\n }\r\n\r\n return obj[prop];\r\n}\r\n\r\n\r\n\r\n\r\nexport function getPropByPath(obj, path, defaultVal?) {\r\n path = path\r\n .replace(/\\[/g, '.')\r\n .replace(/]/g, '')\r\n .split('.');\r\n\r\n path.forEach((level) => {\r\n if (obj) {\r\n obj = obj[level];\r\n }\r\n });\r\n\r\n if (obj === undefined) {\r\n return defaultVal;\r\n }\r\n return obj;\r\n}\r\n\r\nexport function setPropByPath(obj, path, value) {\r\n if (Object(obj) !== obj) { return obj; } // When obj is not an object\r\n // If not yet an array, get the keys from the string-path\r\n if (!Array.isArray(path)) { path = path.toString().match(/[^.[\\]]+/g) || []; }\r\n path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\r\n Object(a[c]) === a[c] // Does the key exist and is its value an object?\r\n // Yes: then follow that path\r\n ? a[c]\r\n // No: create the key. Is the next key a potential array-index?\r\n : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\r\n ? [] // Yes: assign a new array object\r\n : {}, // No: assign a new plain object\r\n obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\r\n return obj; // Return the top-level object to allow chaining\r\n}\r\n\r\n\r\n","import { Subject, Observable } from 'rxjs';\r\nimport { getPropByPath, setPropByPath } from '../utils/object/object-util';\r\n\r\n// @dynamic\r\nexport class AXConfig {\r\n private static dataModel: any = {};\r\n private static dataChangeSubject = new Subject<any>();\r\n\r\n\r\n static get onChange(): Observable<any> {\r\n return AXConfig.dataChangeSubject.asObservable();\r\n }\r\n\r\n static set(config: any): any;\r\n static set(path: string, value?: any): void;\r\n static set(arg1?: any, arg2?: any) {\r\n\r\n if (arg1 && typeof arg1 == 'string') {\r\n setPropByPath(AXConfig.dataModel, arg1, arg2);\r\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\r\n return;\r\n }\r\n if (arg1 && typeof arg1 == 'object') {\r\n Object.assign(AXConfig.dataModel, arg1);\r\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\r\n return;\r\n }\r\n if (!arg1 && !arg2) {\r\n return AXConfig.dataChangeSubject.asObservable();\r\n }\r\n }\r\n\r\n static get(path: string): any {\r\n return getPropByPath(AXConfig.dataModel, path);\r\n }\r\n}","import * as moment_ from 'jalali-moment';\r\nimport { AXConfig } from '../services/config';\r\nconst moment = moment_;\r\n\r\nexport type TimeUnit = 'second' | 'minute' | 'minutes' | 'hour' | 'hours' | 'day' | 'days' | 'month' | 'year' | 'week';\r\n\r\nexport type TimeDuration = 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'month' | 'years';\r\n\r\nexport type TimeStep = 'Y' | 'M' | 'D' | 'YM' | 'YMD' | 'YMDh' | 'YMDhm' | 'YMDhms' | 'h' | 'm' | 's';\r\n\r\nexport type AXCalendarType = 'jalali' | 'gregorian';\r\n\r\nexport class AXDateTime {\r\n static convert(value: any, type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian'): AXDateTime {\r\n let date: AXDateTime;\r\n if (typeof value === 'string' || value instanceof String) {\r\n date = new AXDateTime(value as string, type);\r\n } else if (value instanceof Date) {\r\n date = new AXDateTime(value as Date, type);\r\n } else if (value instanceof AXDateTime) {\r\n date = value;\r\n }\r\n return date;\r\n }\r\n\r\n private _date: Date;\r\n get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private resolveUnit(unit: TimeUnit): any {\r\n return this.type === 'jalali' ? 'j' + unit : unit;\r\n }\r\n\r\n private _moment: moment_.Moment;\r\n\r\n // private get _moment(): moment_.Moment {\r\n // const m = moment(this.date);\r\n // if (this.type === 'jalali') {\r\n // m.locale('fa');\r\n // }\r\n // return m;\r\n // }\r\n\r\n constructor(value: Date | string = new Date(), public type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian') {\r\n if (value instanceof Date) {\r\n this._date = value as Date;\r\n } else {\r\n this._date = new Date(value);\r\n }\r\n this._moment = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n }\r\n\r\n clone(): AXDateTime {\r\n return new AXDateTime(this.date, this.type);\r\n }\r\n\r\n get dayInMonth(): number {\r\n return this._moment.date();\r\n }\r\n\r\n get dayOfYear(): number {\r\n return this._moment.dayOfYear();\r\n }\r\n\r\n get dayInWeek(): number {\r\n return this._moment.day();\r\n }\r\n\r\n get hour(): number {\r\n return this._moment.hour();\r\n }\r\n\r\n get minute(): number {\r\n return this._moment.minute();\r\n }\r\n\r\n get second(): number {\r\n return this._moment.second();\r\n }\r\n\r\n get year(): number {\r\n return this._moment.year();\r\n }\r\n\r\n get monthOfYear(): number {\r\n return this._moment.month();\r\n }\r\n\r\n get month(): AXCalendarMonth {\r\n return new AXCalendarMonth(this);\r\n }\r\n\r\n get firstDayOfWeek(): AXDateTime {\r\n const a = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n return new AXDateTime(a.startOf('w').toDate(), this.type);\r\n }\r\n\r\n get endDayOfWeek(): AXDateTime {\r\n const a = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);\r\n }\r\n\r\n convertStringToJalali(date: string, format: string) {\r\n return moment(date).locale('fa').format('YYYY/M/D');\r\n\r\n\r\n }\r\n convertStringToGregorian(date: string, format: string) {\r\n return new Date((moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD')));\r\n }\r\n\r\n add(unit: TimeUnit = 'day', amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n addDay(amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);\r\n }\r\n\r\n addMonth(amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);\r\n }\r\n addHour(amount: number) {\r\n return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);\r\n }\r\n\r\n set(unit: TimeUnit = 'day', value: number): AXDateTime {\r\n return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);\r\n }\r\n\r\n duration(end: AXDateTime, unit: TimeDuration = 'days'): number {\r\n const duration = moment.duration(this._moment.diff(end._moment));\r\n return Math.round(duration.as(unit));\r\n }\r\n\r\n startOf(unit: TimeUnit = 'day'): AXDateTime {\r\n return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n endOf(unit: TimeUnit = 'day'): AXDateTime {\r\n return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n format(format: string = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')): string {\r\n if (format === 'P') {\r\n return this._moment.fromNow();\r\n }\r\n return this._moment.format(format);\r\n }\r\n\r\n toString(): string {\r\n return this.format();\r\n }\r\n\r\n equal(value: AXDateTime, unit: TimeUnit = 'day') {\r\n if (!value) {\r\n return false;\r\n }\r\n return this._moment.isSame(moment(value.date), this.resolveUnit(unit));\r\n }\r\n\r\n convertToJalaliDate(value) {\r\n const options = {\r\n numberingSystem: 'latn',\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n };\r\n const jDate = new Date(value).toLocaleDateString('fa-IR', options);\r\n const item: any = {};\r\n item.year = jDate.slice(0, 4);\r\n item.month = jDate.slice(5, 7);\r\n item.day = jDate.slice(8, 10);\r\n item.hour = jDate.slice(13, 15);\r\n item.minutes = jDate.slice(16, 18);\r\n item.seconds = jDate.slice(19, 21);\r\n return item;\r\n }\r\n\r\n toJalaliString(value) {\r\n const date = this.convertToJalaliDate(value);\r\n let str = '';\r\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\r\n return str;\r\n }\r\n\r\n convertToGregorianDate(value) {\r\n const options = {\r\n numberingSystem: 'latn',\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n };\r\n const date = new Date(value).toLocaleString('en-us', options);\r\n const item: any = {};\r\n item.year = date.slice(6, 10);\r\n item.month = date.slice(0, 2);\r\n item.day = date.slice(3, 5);\r\n item.hour = date.slice(12, 14);\r\n item.minutes = date.slice(15, 17);\r\n item.seconds = date.slice(18, 20);\r\n return item;\r\n }\r\n\r\n toGregorianString(value) {\r\n const date = this.convertToGregorianDate(value);\r\n let str = '';\r\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\r\n return str;\r\n }\r\n\r\n compaireNew(value: AXDateTime, unit: TimeStep = 'YMD', type = 'jalali') {\r\n const range = [0, 0];\r\n let str1;\r\n let str2;\r\n if (type === 'jalali') {\r\n str1 = this.toJalaliString(this.date);\r\n str2 = this.toJalaliString(value.date ? value.date : value);\r\n } else {\r\n str1 = this.toGregorianString(this.date);\r\n str2 = this.toGregorianString(value.date ? value.date : value);\r\n }\r\n switch (unit) {\r\n case 'YMDhms':\r\n range[0] = 0;\r\n range[1] = 19;\r\n break;\r\n case 'YMDhm':\r\n range[0] = 0;\r\n range[1] = 16;\r\n break;\r\n case 'YMDh':\r\n range[0] = 0;\r\n range[1] = 13;\r\n break;\r\n case 'YMD':\r\n range[0] = 0;\r\n range[1] = 10;\r\n break;\r\n\r\n case 'YM':\r\n range[0] = 0;\r\n range[1] = 7;\r\n break;\r\n\r\n case 'h':\r\n range[0] = 11;\r\n range[1] = 13;\r\n break;\r\n\r\n case 'm':\r\n range[0] = 14;\r\n range[1] = 16;\r\n break;\r\n\r\n case 's':\r\n range[0] = 17;\r\n range[1] = 19;\r\n break;\r\n case 'D':\r\n range[0] = 8;\r\n range[1] = 10;\r\n break;\r\n\r\n case 'M':\r\n range[0] = 5;\r\n range[1] = 7;\r\n break;\r\n\r\n case 'Y':\r\n range[0] = 0;\r\n range[1] = 4;\r\n break;\r\n }\r\n\r\n if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {\r\n return 0;\r\n } else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n compaire(value: AXDateTime, unit: TimeUnit = 'day') {\r\n if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {\r\n return 0;\r\n } else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n toISOString() {\r\n return this._date.toISOString();\r\n }\r\n}\r\n\r\nexport class AXCalendarMonth {\r\n private _moment: moment_.Moment;\r\n\r\n private _range: AXDateTimeRange;\r\n public get range(): AXDateTimeRange {\r\n return this._range;\r\n }\r\n public set range(v: AXDateTimeRange) {\r\n this._range = v;\r\n }\r\n\r\n constructor(date: AXDateTime) {\r\n this._moment = moment(date.date);\r\n this.index = date.date.getMonth();\r\n this.name = this._moment.format('MMMM');\r\n this.range = new AXDateTimeRange(\r\n new AXDateTime(this._moment.startOf('month').toDate(), date.type),\r\n new AXDateTime(this._moment.endOf('month').toDate(), date.type)\r\n );\r\n }\r\n\r\n private readonly index: number;\r\n private readonly name: string;\r\n}\r\n\r\nexport class AXDateTimeRange {\r\n constructor(public startTime: AXDateTime, public endTime: AXDateTime) { }\r\n\r\n duration(unit: TimeDuration = 'days'): number {\r\n const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));\r\n return duration.as(unit);\r\n }\r\n\r\n enumurate(unit: TimeUnit = 'day', type: AXCalendarType = AXConfig.get('dateTime.type') || 'jalali'): AXDateTime[] {\r\n const result: AXDateTime[] = [];\r\n for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {\r\n result.push(this.startTime.add(unit, index));\r\n }\r\n return result;\r\n }\r\n\r\n includes(value: AXDateTime, unit: TimeUnit = 'day', type = 'jalali'): boolean {\r\n return (\r\n value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&\r\n value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0\r\n );\r\n }\r\n\r\n getViewCompaire(view) {\r\n switch (view) {\r\n case 'day':\r\n return 'YMD';\r\n case 'month':\r\n return 'YM';\r\n case 'year':\r\n return 'Y';\r\n }\r\n }\r\n}\r\n","export class AXBaseMenuItem {\r\n uid?: string = new Date().getTime().toString();\r\n id?: string;\r\n name?: string;\r\n text?: string;\r\n tooltip?: string;\r\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\r\n icon?: string;\r\n visible?: boolean = true;\r\n disable?: boolean = false;\r\n selected?: boolean = false;\r\n groupName?: string;\r\n data?: any;\r\n style?: string = 'ax light';\r\n orderIndex?: number = 0;\r\n endIcon?: string;\r\n startIcon?: string;\r\n onClick?: (e?: any) => void;\r\n}\r\n\r\nexport class AXMenuItem extends AXBaseMenuItem {\r\n items?: AXMenuItem[];\r\n parentId?: string;\r\n divider?: boolean = false;\r\n}\r\n\r\nexport class AXButtonItem extends AXBaseMenuItem {\r\n dropdown?: boolean = false;\r\n submitBehavior?: boolean = false;\r\n cancelBehavior?: boolean = false;\r\n}\r\n\r\nexport class AXCheckItem {\r\n text?: string;\r\n value?: any;\r\n selected?: boolean;\r\n}\r\n","export class AXPromise<T> {\r\n\r\n private _executor: (then?: (e?: T) => void) => void;\r\n private thenAction?: (e?: T) => void;\r\n\r\n static resolve<T>(value: T): AXPromise<T> {\r\n const r = new AXPromise<T>(z => {\r\n z(value);\r\n }).then(() => { });\r\n return r;\r\n }\r\n\r\n constructor(executor: (then?: (e?: T) => void) => void) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.thenAction);\r\n }, 50);\r\n }\r\n\r\n\r\n then(action?: (e?: T) => void): AXPromise<T> {\r\n this.thenAction = action;\r\n return this;\r\n }\r\n}\r\n","export class AXSelectItem {\r\n id: string;\r\n name?: string;\r\n text: string;\r\n visible?: boolean;\r\n disable?: boolean;\r\n}\r\n","import { EventEmitter } from '@angular/core';\r\n\r\n/**\r\n * @deprecated Use AXBasePageComponent from @acorex/components\r\n */\r\nexport abstract class AXBasePageComponent {\r\n\r\n onClosed: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n close(data?: any) {\r\n this.onClosed.emit({\r\n component: this,\r\n data: data\r\n });\r\n }\r\n\r\n onClosing(e: any): void | Promise<void> {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onClosed.unsubscribe();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { InjectionToken, Injectable, Injector } from '@angular/core';\r\n\r\nexport const AX_ERROR_DISPLAY_INTERCEPTOR = new InjectionToken<AXErrorDisplayInterceptor>('ax.error');\r\n\r\nexport interface AXErrorDisplayInterceptor {\r\n show(message: string);\r\n}\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class AXErrorService {\r\n\r\n constructor(private injector: Injector) {\r\n\r\n }\r\n\r\n handle(message: string) {\r\n const instance = this.injector.get(AX_ERROR_DISPLAY_INTERCEPTOR);\r\n if (instance) {\r\n instance.show(message);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXErrorService } from './error.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [AXErrorService],\r\n})\r\nexport class AXErrorModule {\r\n\r\n}\r\n","import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AXHttpModule,\r\n providers: [AXHttpService]\r\n };\r\n }\r\n}","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { AXDateTime } from '../classes/datetime.class';\r\n\r\n@Pipe({ name: 'dt' })\r\nexport class AXDateTimePipe implements PipeTransform {\r\n constructor() { }\r\n\r\n transform(value: any, format?: string): string {\r\n const date: AXDateTime = AXDateTime.convert(value);\r\n if (value == null) {\r\n return '';\r\n }\r\n if (!format) {\r\n return date.toString();\r\n }\r\n else {\r\n return date.format(format);\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'html2text' })\r\nexport class AXHtmlToTextPipe implements PipeTransform {\r\n transform(value: string) {\r\n if (value) {\r\n const regexHtml = /<\\/?[^>]+>/gi;\r\n const regexNbsp = / /gi;\r\n const regexAmp = /&/gi;\r\n return value\r\n .replace(regexHtml, '')\r\n .replace(regexNbsp, '')\r\n .replace(regexAmp, '');\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXEventService {\r\n private list: any[] = [];\r\n\r\n public broadcast(key: string, options?: any): void {\r\n const d = this.list.find(c => c.key === key);\r\n if (d) {\r\n d.events.forEach(c => {\r\n c(options);\r\n });\r\n }\r\n }\r\n\r\n public on(key: string, callback: (options?: any) => void) {\r\n let d = this.list.find(c => c.key === key);\r\n if (!d) {\r\n d = { key, events: [] };\r\n this.list.push(d);\r\n }\r\n d.events.push(callback);\r\n }\r\n\r\n public destroy(key: string, callback: (options?: any) => void): void {\r\n const d = this.list.find(c => c.key === key);\r\n if (d) {\r\n d.events = [];\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AXNavigatorParam } from '../classes/navigator.class';\r\n\r\n@Injectable()\r\nexport abstract class AXNavigator {\r\n abstract navigate(params: AXNavigatorParam);\r\n abstract popup(params: AXNavigatorParam);\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AXStorageService {\r\n get(key: string): any {\r\n return localStorage.getItem(key) as any;\r\n }\r\n set(key: string, value: any): void {\r\n localStorage.setItem(key, value as string);\r\n }\r\n}\r\n","import { Subject, Observable } from 'rxjs';\r\nimport { getPropByPath} from '../utils/object/object-util';\r\nimport merge from 'lodash-es/merge';\r\n\r\n// @dynamic\r\nexport class AXTranslator {\r\n private static lang: string = 'en';\r\n private static dataChangeSubject = new Subject<any>();\r\n\r\n\r\n static get onChange(): Observable<any> {\r\n return AXTranslator.dataChangeSubject.asObservable();\r\n }\r\n\r\n public static load(lang: string, value: any) {\r\n if (typeof value === 'object') {\r\n if (!AXTranslator[`__data__${lang}`]) {\r\n AXTranslator[`__data__${lang}`] = {};\r\n }\r\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\r\n }\r\n }\r\n\r\n public static use(lang: string) {\r\n AXTranslator.lang = lang;\r\n }\r\n\r\n public static get(key: string, lang?: string): string {\r\n return getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { AXTranslator } from './translator';\r\n\r\n@Injectable({ providedIn: 'platform' })\r\nexport class AXTranslatorService {\r\n\r\n public load(lang: string, value: any) {\r\n AXTranslator.load(lang, value);\r\n }\r\n\r\n public use(lang: string) {\r\n AXTranslator.use(lang);\r\n }\r\n\r\n public get(key: string, lang?: string): string {\r\n return AXTranslator.get(lang, lang);\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AXTranslator } from './translator';\r\n\r\n@Pipe({ name: 'trans', pure: true })\r\nexport class AXTranslatorPipe implements PipeTransform {\r\n\r\n constructor() { }\r\n\r\n // transform(value: string, lang?: string): Promise<string> {\r\n // return new Promise<string>((resolve, reject) => {\r\n // if (!value) {\r\n // resolve(value);\r\n // }\r\n // resolve(this.translate.get(value, lang));\r\n // });\r\n\r\n // }\r\n\r\n transform(value: string, lang?: string): string {\r\n return AXTranslator.get(value, lang);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXTranslatorPipe } from './translator.pipe';\r\nimport * as en from '../locale/en.json';\r\nimport * as fa from '../locale/fa.json';\r\nimport { AXTranslator } from './translator';\r\n\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [AXTranslatorPipe],\r\n declarations: [AXTranslatorPipe],\r\n providers: [],\r\n})\r\nexport class AXTranslatorModule {\r\n constructor() {\r\n AXTranslator.load('en', en);\r\n AXTranslator.load('fa', fa);\r\n }\r\n}\r\n","import { AXFetchProp } from '../object/object-util';\r\n\r\n// @dynamic\r\nexport class AXArrayUtil {\r\n\r\n\r\n static pickRandom(array: any[]): any {\r\n return array[Math.floor(Math.random() * array.length)];\r\n }\r\n\r\n\r\n static insert(array: any[], index, ...rest) {\r\n array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));\r\n return array;\r\n }\r\n\r\n static range(min: number, max: number): number[] {\r\n return new Array(max - min).fill(1).map((d, i) => i);\r\n }\r\n\r\n static filter(array: any[], filters: any[]): any[] {\r\n if (filters == null || filters.length === 0) {\r\n return array;\r\n }\r\n const lamda = (item) => {\r\n let result = true;\r\n for (const key in filters) {\r\n if (filters.hasOwnProperty(key)) {\r\n const f = filters[key];\r\n if (f !== 'AND') {\r\n const vals = [];\r\n const mt = f.field.match(/\\[\\:(.*?)\\]/);\r\n if (mt && mt.length > 1) {\r\n const p1 = f.field.replace(mt[0], '');\r\n const p2 = mt[1];\r\n const prop = AXFetchProp(item, p1);\r\n if (prop instanceof Array && prop.length) {\r\n vals.push(...prop.map(m => (AXFetchProp(m, p2))));\r\n } else {\r\n result = false;\r\n }\r\n } else {\r\n vals.push(AXFetchProp(item, f.field));\r\n }\r\n for (const j in vals) {\r\n if (vals.hasOwnProperty(j)) {\r\n let v1 = vals[j];\r\n const v2 = f.value;\r\n if (f.dataType === 'string') {\r\n v1 = v1.toString();\r\n switch (f.condition) {\r\n case 'equal':\r\n result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();\r\n break;\r\n case 'not-equal':\r\n result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());\r\n break;\r\n case 'contains':\r\n result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\r\n break;\r\n case 'not-contains':\r\n result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\r\n break;\r\n case 'start-with':\r\n result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));\r\n break;\r\n case 'end-with':\r\n result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));\r\n break;\r\n case 'is-empty':\r\n result = v1 == null || v1 === undefined;\r\n break;\r\n case 'is-not-empty':\r\n result = !(v1 == null || v1 === undefined);\r\n break;\r\n default:\r\n console.error('The condition is not defined');\r\n result = false;\r\n }\r\n } else if (f.dataType === 'date') {\r\n } else if (f.dataType === 'number') {\r\n v1 = Number(v1);\r\n switch (f.condition) {\r\n case 'equal':\r\n result = v1 === v2;\r\n break;\r\n case 'not-equal':\r\n result = v1 !== v2;\r\n break;\r\n case 'contains':\r\n result = v2 && v2 instanceof Array && v2.includes(v1);\r\n break;\r\n case 'less-than':\r\n result = v1 < v2;\r\n break;\r\n case 'less-than-equal':\r\n result = v1 <= v2;\r\n break;\r\n case 'greater-than':\r\n result = v1 > v2;\r\n break;\r\n case 'greater-than-equal':\r\n result = v1 >= v2;\r\n break;\r\n case 'is-empty':\r\n result = v1 == null || v1 === undefined;\r\n break;\r\n case 'is-not-empty':\r\n result = !(v1 == null || v1 === undefined);\r\n break;\r\n default:\r\n console.error('The condition is not defined');\r\n result = false;\r\n }\r\n } else {\r\n console.error('The datatype is not supported');\r\n result = false;\r\n }\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!result) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n return array.filter(lamda);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","export class AXMathUtil {\r\n static randomRange(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n}\r\n","import { AXMathUtil } from '../math/math-util';\r\n\r\nexport type AXPlacement =\r\n | 'top-start'\r\n | 'top-middle'\r\n | 'top-end'\r\n | 'center-start'\r\n | 'center-end'\r\n | 'bottom-start'\r\n | 'bottom-middle'\r\n | 'bottom-end';\r\n\r\nexport interface AXIPoint {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface AXConnectedPosition {\r\n originX: 'start' | 'center' | 'end';\r\n originY: 'top' | 'center' | 'bottom';\r\n overlayX: 'start' | 'center' | 'end';\r\n overlayY: 'top' | 'center' | 'bottom';\r\n weight?: number;\r\n offsetX?: number;\r\n offsetY?: number;\r\n}\r\n\r\nexport class AXPoint implements AXIPoint {\r\n constructor(public x: number, public y: number) {\r\n }\r\n}\r\n\r\nexport interface AXClientRecCtor {\r\n left?: number;\r\n top?: number;\r\n width?: number;\r\n height?: number;\r\n bottom?: number;\r\n right?: number;\r\n}\r\nexport class AXClientRec implements AXClientRecCtor {\r\n\r\n\r\n private _left: number;\r\n public get left(): number {\r\n return this._left;\r\n }\r\n public set left(v: number) {\r\n this._left = v;\r\n }\r\n\r\n\r\n private _top: number;\r\n public get top(): number {\r\n return this._top;\r\n }\r\n public set top(v: number) {\r\n this._top = v;\r\n }\r\n\r\n\r\n private _right: number;\r\n public get right(): number {\r\n return this._right;\r\n }\r\n public set right(v: number) {\r\n this._right = v;\r\n }\r\n\r\n\r\n private _bottom: number;\r\n public get bottom(): number {\r\n return this._bottom;\r\n }\r\n public set bottom(v: number) {\r\n this._bottom = v;\r\n }\r\n\r\n\r\n\r\n private _width: number;\r\n public get width(): number {\r\n return this._width;\r\n }\r\n public set width(v: number) {\r\n this._width = v;\r\n }\r\n\r\n\r\n private _height: number;\r\n public get height(): number {\r\n return this._height;\r\n }\r\n public set height(v: number) {\r\n this._height = v;\r\n }\r\n\r\n\r\n constructor(rec: AXClientRecCtor) {\r\n this._left = rec.left;\r\n this._top = rec.top;\r\n this._width = rec.width;\r\n this._height = rec.height;\r\n this._right = this._left + this._width;\r\n this._bottom = this._top + this._height;\r\n }\r\n\r\n public intersect(rec: AXClientRecCtor): boolean {\r\n return (this.left < rec.left + rec.width &&\r\n this.left + this.width > rec.left &&\r\n this.top < rec.top + rec.height &&\r\n this.top + this.height > rec.top);\r\n }\r\n\r\n\r\n}\r\n// @dynamic\r\nexport class AXHtmlUtil {\r\n static getBoundingRectPoint(el: HTMLElement, placement: AXPlacement): AXPoint {\r\n const rec = el.getBoundingClientRect();\r\n const width = el.offsetWidth;\r\n const height = el.offsetHeight;\r\n switch (placement) {\r\n case 'top-start':\r\n return new AXPoint(rec.left, rec.top);\r\n case 'top-middle':\r\n return new AXPoint(rec.left + (width / 2), rec.top);\r\n case 'top-end':\r\n return new AXPoint(rec.left + (width), rec.top);\r\n case 'center-end':\r\n return new AXPoint(rec.left + (width), rec.top + (height / 2));\r\n case 'bottom-end':\r\n return new AXPoint(rec.left + (width), rec.top + (height));\r\n case 'bottom-middle':\r\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\r\n case 'bottom-start':\r\n return new AXPoint(rec.left, rec.top + (height));\r\n case 'center-start':\r\n return new AXPoint(rec.left, rec.top + (height / 2));\r\n default:\r\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\r\n }\r\n }\r\n\r\n static isInRecPoint(pos: AXIPoint, rec: AXClientRecCtor): boolean {\r\n return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));\r\n }\r\n\r\n // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {\r\n // const r1: AXClientRec = new AXClientRec(rec1);\r\n // const r2: AXClientRec = new AXClientRec(rec2);\r\n\r\n // return ;\r\n // }\r\n\r\n static isInElementBound(pos: AXIPoint, element: HTMLElement): boolean {\r\n const elBound = element.getBoundingClientRect();\r\n return AXHtmlUtil.isInRecPoint(pos, {\r\n left: elBound.left,\r\n width: elBound.width,\r\n top: elBound.top,\r\n height: elBound.height\r\n });\r\n }\r\n\r\n static getDimensions(): { width: number, height: number } {\r\n let winW = 630;\r\n let winH = 460;\r\n if (document.body && document.body.offsetWidth) {\r\n winW = document.body.offsetWidth;\r\n winH = document.body.offsetHeight;\r\n }\r\n if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {\r\n winW = document.documentElement.offsetWidth;\r\n winH = document.documentElement.offsetHeight;\r\n }\r\n if (window.innerWidth && window.innerHeight) {\r\n winW = window.innerWidth;\r\n winH = window.innerHeight;\r\n }\r\n return { width: winW, height: winH };\r\n }\r\n\r\n static getOffsetRight(elem: HTMLElement): number {\r\n let element = elem;\r\n const width = element.offsetWidth;\r\n let right = 0;\r\n while (element.offsetParent) {\r\n right += element.offsetLeft;\r\n element = element.offsetParent as HTMLElement;\r\n }\r\n right += element.offsetLeft;\r\n right = AXHtmlUtil.getDimensions().width - right;\r\n right -= width;\r\n return right;\r\n }\r\n\r\n static getUID(): string {\r\n return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();\r\n }\r\n\r\n\r\n static getRelatedPosition(source: HTMLElement, placement: AXPlacement, target: HTMLElement, alignment: AXPlacement): AXIPoint {\r\n const result: AXIPoint = { x: 0, y: 0 };\r\n\r\n const sourcePos: AXPoint = AXHtmlUtil.getBoundingRectPoint(source, placement);\r\n\r\n\r\n let top: number = 0;\r\n let left: number = 0;\r\n switch (alignment) {\r\n case 'top-start':\r\n top = sourcePos.y;\r\n left = sourcePos.x;\r\n break;\r\n case 'top-middle':\r\n top = sourcePos.y;\r\n left = sourcePos.x - target.offsetWidth / 2;\r\n break;\r\n case 'top-end':\r\n top = sourcePos.y;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'center-end':\r\n top = sourcePos.y - target.offsetHeight / 2;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'bottom-end':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'bottom-middle':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x - target.offsetWidth / 2;\r\n break;\r\n case 'bottom-start':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x;\r\n break;\r\n case 'center-start':\r\n top = sourcePos.y - target.offsetHeight / 2;\r\n left = sourcePos.x;\r\n break;\r\n }\r\n result.y = top;\r\n result.x = left;\r\n return result;\r\n }\r\n\r\n\r\n static collision(a: HTMLElement, b: HTMLElement): boolean {\r\n const ac = a.getBoundingClientRect();\r\n const bc = b.getBoundingClientRect();\r\n\r\n if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&\r\n ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';\r\n\r\n@NgModule({\r\n declarations: [AXHtmlToTextPipe],\r\n imports: [CommonModule],\r\n exports: [AXHtmlToTextPipe],\r\n providers: []\r\n})\r\nexport class AXHtmlModule { }\r\n","import { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject, Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { AXHtmlUtil } from '../html/html-util';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AXOnDemandPreloadService {\r\n subject = new Subject<string>();\r\n tmp: string;\r\n\r\n constructor() {\r\n this.tmp = AXHtmlUtil.getUID();\r\n }\r\n\r\n startPreload(routePath: string) {\r\n const slices: string[] = [];\r\n \r\n\r\n this.subject.next(routePath);\r\n //console.log('ss', this.tmp);\r\n }\r\n}\r\n","import {\r\n ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable,\r\n Injector, EmbeddedViewRef, Type\r\n} from '@angular/core';\r\nimport { Router, Route } from '@angular/router';\r\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\r\n\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXRenderService {\r\n constructor(\r\n private appRef: ApplicationRef,\r\n private router: Router,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private modulePreloadService: AXOnDemandPreloadService,\r\n private injector: Injector) {\r\n }\r\n\r\n\r\n\r\n appendComponent<T>(\r\n componentClass: Type<T>,\r\n options: any = {},\r\n location?: Element): ComponentRef<any> {\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\r\n const componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(componentRef.hostView);\r\n Object.assign(componentRef.instance, options);\r\n //\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n if (location) {\r\n location.appendChild(domElem);\r\n } else {\r\n document.body.appendChild(domElem);\r\n }\r\n setTimeout(() => {\r\n componentRef.changeDetectorRef.detectChanges();\r\n }, 0);\r\n return componentRef;\r\n }\r\n\r\n findLoadedComponentByRoute(path: string, timeoutTime: number = 10): Promise<Route> {\r\n const delay = 200;\r\n const loop = timeoutTime * 1000 / delay;\r\n return new Promise((resolve, reject) => {\r\n let found: Route = null;\r\n let preload: boolean = false;\r\n const theLoop = (i) => {\r\n setTimeout(() => {\r\n found = this._findLoadedComponentByRoute(path);\r\n if (--i && found == null) {\r\n if (!preload) {\r\n this.modulePreloadService.startPreload(path);\r\n preload = true;\r\n }\r\n theLoop(i);\r\n }\r\n else if (found) {\r\n resolve(found);\r\n }\r\n else {\r\n reject();\r\n }\r\n }, delay);\r\n };\r\n theLoop(loop);\r\n });\r\n }\r\n\r\n private _findLoadedComponentByRoute(search) {\r\n let found: Route = null;\r\n const f = (list, path) => {\r\n for (const p in list) {\r\n if (list.hasOwnProperty(p)) {\r\n const route = list[p];\r\n const pp = (route.path != '' && route.path != null) ? path + '/' + route.path : path;\r\n if (pp == search && !route._loadedConfig && route.component) {\r\n found = route;\r\n break;\r\n } else if (route._loadedConfig) {\r\n f(route._loadedConfig.routes, pp);\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (const p in this.router.config) {\r\n if (this.router.config.hasOwnProperty(p)) {\r\n const route = this.router.config[p];\r\n if (route.path === search && route.component) {\r\n found = route;\r\n }\r\n else if (route['_loadedConfig']) {\r\n f(route['_loadedConfig'].routes, route.path);\r\n }\r\n\r\n }\r\n }\r\n return found;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXRenderService } from './render.service';\r\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\r\n\r\n\r\n// @dynamic\r\nexport function getOnDemandPreloadServiceFactory() {\r\n return new AXOnDemandPreloadService();\r\n}\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [],\r\n declarations: [],\r\n providers: [\r\n {\r\n provide: AXOnDemandPreloadService,\r\n useFactory: getOnDemandPreloadServiceFactory\r\n },\r\n AXRenderService\r\n ],\r\n})\r\nexport class AXRenderingModule {\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[horizontalScroll]'\r\n})\r\nexport class AXHorizontalScrollDirective {\r\n constructor(private el: ElementRef<HTMLElement>) { }\r\n\r\n @Input('horizontalScroll')\r\n scrollValue = 40;\r\n\r\n @HostListener('wheel', ['$event'])\r\n onMouseWheel(e) {\r\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\r\n this.el.nativeElement.scrollLeft -= delta * this.scrollValue;\r\n }\r\n}\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[verticalScroll]'\r\n})\r\nexport class AXVerticalScrollDirective {\r\n constructor(private el: ElementRef<HTMLElement>) { }\r\n\r\n @Input('verticalScroll')\r\n scrollValue = 40;\r\n\r\n @HostListener('wheel', ['$event'])\r\n onMouseWheel(e) {\r\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\r\n this.el.nativeElement.scrollTop -= delta * this.scrollValue;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';\r\n\r\n@NgModule({\r\n declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\r\n imports: [CommonModule],\r\n exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\r\n providers: []\r\n})\r\nexport class AXScrollModule { }\r\n","import { Pipe, PipeTransform, Injectable } from '@angular/core';\r\nimport { AXConfig } from '../../services/config';\r\n\r\n@Pipe({ name: 'separator' })\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n// export class AXSeparatorPipe2 implements PipeTransform {\r\n// transform(value: any) {\r\n// if (value) {\r\n// return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n// } else {\r\n// return '0';\r\n// }\r\n// }\r\n// }\r\nexport class AXSeparatorPipe implements PipeTransform {\r\n transform(value: number | string, currency: string = '', decimal: number = 0, locale: string = AXConfig.get('layout.rtl') ? 'fa' : 'en'): string {\r\n return (\r\n new Intl.NumberFormat(locale, {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: decimal\r\n }).format(Number(value)) + (currency != '' ? ' ' + currency : '')\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXSeparatorPipe } from './separator.pipe';\r\n\r\n@NgModule({\r\n declarations: [AXSeparatorPipe],\r\n imports: [CommonModule],\r\n exports: [AXSeparatorPipe],\r\n providers: []\r\n})\r\nexport class AXSeparatorModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { AXDateTimePipe } from './pipe/datetime.pipe';\r\nimport { AXEventService } from './services/event.service';\r\nimport { AXStorageService } from './services/storage.service';\r\nimport { AXScrollModule } from './utils/scroll/scroll.module';\r\nimport { AXTranslatorModule } from './translator/translator.module';\r\n\r\nconst PIPES = [AXDateTimePipe];\r\nconst MODULES = [AXScrollModule, AXTranslatorModule];\r\nconst SERVICES = [AXEventService,\r\n AXStorageService\r\n];\r\n\r\n\r\n@NgModule({\r\n declarations: [...PIPES],\r\n imports: [...MODULES],\r\n exports: [...PIPES],\r\n providers: [...SERVICES]\r\n})\r\nexport class AXCoreModule { }\r\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://@acorex/core/lib/classes/color.class.ts","ng://@acorex/core/lib/utils/object/object-util.ts","ng://@acorex/core/lib/services/config.ts","ng://@acorex/core/lib/classes/datetime.class.ts","ng://@acorex/core/lib/classes/menu.class.ts","ng://@acorex/core/lib/classes/promise.class.ts","ng://@acorex/core/lib/classes/select.class.ts","ng://@acorex/core/lib/classes/base-page.class.ts","ng://@acorex/core/lib/error/error.service.ts","ng://@acorex/core/lib/error/error.module.ts","ng://@acorex/core/lib/http/http-events.interceptor.ts","ng://@acorex/core/lib/http/http-result.class.ts","ng://@acorex/core/lib/http/http.service.ts","ng://@acorex/core/lib/http/http.module.ts","ng://@acorex/core/lib/pipe/datetime.pipe.ts","ng://@acorex/core/lib/pipe/htmlToText.pipe.ts","ng://@acorex/core/lib/services/event.service.ts","ng://@acorex/core/lib/services/navigator.service.ts","ng://@acorex/core/lib/services/storage.service.ts","ng://@acorex/core/lib/translator/translator.ts","ng://@acorex/core/lib/translator/translator.service.ts","ng://@acorex/core/lib/translator/translator.pipe.ts","ng://@acorex/core/lib/translator/translator.module.ts","ng://@acorex/core/lib/utils/array/array-util.ts","ng://@acorex/core/lib/utils/math/math-util.ts","ng://@acorex/core/lib/utils/html/html-util.ts","ng://@acorex/core/lib/utils/html/html.module.ts","ng://@acorex/core/lib/utils/render/on-demand-preload-strategy.service.ts","ng://@acorex/core/lib/utils/render/render.service.ts","ng://@acorex/core/lib/utils/render/rendering.module.ts","ng://@acorex/core/lib/utils/scroll/scroll.directive.ts","ng://@acorex/core/lib/utils/scroll/scroll.module.ts","ng://@acorex/core/lib/utils/separator/separator.pipe.ts","ng://@acorex/core/lib/utils/separator/separator.module.ts","ng://@acorex/core/lib/core.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","TypeError","call","pop","push","__read","o","m","ar","error","__spread","concat","AXColorUtil","hex2Rgb","hexColor","exec","parseInt","rgb2Hex","a","alpha","hex","toString","slice","Math","round","hexAlpha","substr","toUpperCase","illuminance","rgbColor","map","pow","contrastToWhite","AXObjectUtil","deepJSONClone","obj","JSON","parse","stringify","deepCopy","copy","Date","setTime","getTime","len","attr","Error","AXFetchProp","prop","index","indexOf","substring","getPropByPath","path","defaultVal","replace","split","forEach","level","undefined","setPropByPath","isArray","match","reduce","abs","AXConfig","dataChangeSubject","asObservable","set","arg1","arg2","dataModel","assign","get","Subject","moment","moment_","AXDateTime","type","_date","_moment","date","locale","convert","String","resolveUnit","unit","clone","dayOfYear","day","hour","minute","second","year","month","AXCalendarMonth","startOf","toDate","endOf","convertStringToJalali","format","convertStringToGregorian","from","add","amount","addDay","addMonth","addHour","duration","end","diff","as","fromNow","equal","isSame","convertToJalaliDate","jDate","toLocaleDateString","numberingSystem","item","minutes","seconds","toJalaliString","convertToGregorianDate","toLocaleString","toGregorianString","compaireNew","str1","str2","range","compaire","isAfter","toISOString","getMonth","name","AXDateTimeRange","_range","startTime","endTime","enumurate","getViewCompaire","includes","view","uid","visible","disable","selected","style","orderIndex","AXMenuItem","_this","_super","divider","AXBaseMenuItem","AXButtonItem","dropdown","submitBehavior","cancelBehavior","AXPromise","executor","_executor","setTimeout","thenAction","z","action","AXBasePageComponent","onClosed","EventEmitter","close","data","emit","component","onClosing","ngOnDestroy","unsubscribe","AX_ERROR_DISPLAY_INTERCEPTOR","InjectionToken","AXErrorService","injector","handle","message","instance","show","Injector","Injectable","providedIn","AXErrorModule","NgModule","declarations","imports","CommonModule","exports","providers","AX_HTTP_EVENT_INTERCEPTOR","HttpResult","resultAction","errorAction","completeAction","complete","AXHttpService","http","interceptor","url","config","method","request","post","delete","put","handleBegin","mapOptions","subscribe","handleResult","handleError","success","handleComplete","headers","params","begin","status","code","_a","handled","options","HttpHeaders","HttpParams","responseType","HttpClient","AXHttpModule","forRoot","ngModule","AXHttpModule_1","HttpClientModule","AXDateTimePipe","transform","Pipe","AXHtmlToTextPipe","AXEventService","list","broadcast","find","events","on","callback","destroy","AXNavigator","AXStorageService","localStorage","getItem","setItem","AXTranslator","load","lang","merge","use","AXTranslatorService","AXTranslatorPipe","pure","AXTranslatorModule","en","fa","AXArrayUtil","pickRandom","array","floor","random","insert","rest","_i","splice","min","max","fill","filter","filters","vals","mt","field","p1","p2_1","j","v1","v2","dataType","condition","toLowerCase","startsWith","endsWith","console","Number","AXMathUtil","randomRange","x","AXClientRec","rec","_left","left","_top","top","_width","width","_height","height","_right","_bottom","intersect","AXHtmlUtil","getBoundingRectPoint","el","placement","getBoundingClientRect","offsetWidth","offsetHeight","AXPoint","isInRecPoint","pos","isInElementBound","element","elBound","getDimensions","winW","winH","document","compatMode","documentElement","window","innerWidth","innerHeight","getOffsetRight","elem","right","offsetParent","offsetLeft","getUID","getRelatedPosition","source","alignment","sourcePos","collision","ac","bc","AXHtmlModule","AXOnDemandPreloadService","subject","tmp","startPreload","routePath","AXRenderService","appRef","router","componentFactoryResolver","compiler","modulePreloadService","appendComponent","componentClass","location","componentRef","resolveComponentFactory","attachView","hostView","domElem","rootNodes","onDestroy","detachView","appendChild","changeDetectorRef","detectChanges","findLoadedComponentByRoute","timeoutTime","loop","found","preload","theLoop","_findLoadedComponentByRoute","search","children","parentPath","route","pp","_loadedConfig","routes","ApplicationRef","Router","ComponentFactoryResolver","Compiler","getOnDemandPreloadServiceFactory","AXRenderingModule","provide","useFactory","AXHorizontalScrollDirective","scrollValue","onMouseWheel","delta","wheelDelta","detail","nativeElement","scrollLeft","ElementRef","Input","HostListener","Directive","selector","AXVerticalScrollDirective","scrollTop","AXScrollModule","AXSeparatorPipe","currency","decimal","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","AXSeparatorModule","PIPES","MODULES","SERVICES","AXCoreModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export interface AXColor {\r\n id?: string;\r\n color?: string;\r\n code: string;\r\n selected?: boolean;\r\n active?: boolean;\r\n}\r\n\r\nexport class AXColorUtil {\r\n\r\n\r\n static hex2Rgb(hexColor: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hexColor);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n\r\n static rgb2Hex(r: number, g: number, b: number, a: number = 255): string {\r\n let alpha;\r\n let hex = (r | 1 << 8).toString(16).slice(1) +\r\n (g | 1 << 8).toString(16).slice(1) +\r\n (b | 1 << 8).toString(16).slice(1);\r\n if (a !== 255) {\r\n alpha = a;\r\n } else {\r\n alpha = 1;\r\n }\r\n\r\n alpha = Math.round(alpha * 100) / 100;\r\n alpha = Math.round(alpha * 255);\r\n const hexAlpha = (alpha + 0x10000).toString(16).substr(-2).toUpperCase();\r\n return '#' + hex + (alpha == 255 ? '' : hexAlpha);\r\n };\r\n\r\n static illuminance(hexColor: string) {\r\n const rgbColor = AXColorUtil.hex2Rgb(hexColor);\r\n if (!rgbColor) {\r\n return -1;\r\n }\r\n const r = rgbColor.r;\r\n const g = rgbColor.g;\r\n const b = rgbColor.b;\r\n const a = [r, g, b].map(v => {\r\n v /= 255;\r\n return (v <= 0.03928) ?\r\n v / 12.92 :\r\n Math.pow(((v + 0.055) / 1.055), 2.4);\r\n });\r\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\r\n }\r\n\r\n static contrastToWhite(hexColor: string) {\r\n const whiteIlluminance = 1;\r\n const illuminance = AXColorUtil.illuminance(hexColor);\r\n return whiteIlluminance / illuminance;\r\n }\r\n\r\n}\r\n","// @dynamic\r\nexport class AXObjectUtil {\r\n static deepJSONClone(obj: any): any {\r\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\r\n }\r\n\r\n static deepCopy(obj) {\r\n let copy;\r\n // Handle the 3 simple types, and null or undefined\r\n if (null == obj || 'object' !== typeof obj) { return obj; }\r\n // Handle Date\r\n if (obj instanceof Date) {\r\n copy = new Date();\r\n copy.setTime(obj.getTime());\r\n return copy;\r\n }\r\n // Handle Array\r\n if (obj instanceof Array) {\r\n copy = [];\r\n for (let i = 0, len = obj.length; i < len; i++) {\r\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\r\n }\r\n return copy;\r\n }\r\n // Handle Object\r\n if (obj instanceof Object) {\r\n copy = {};\r\n for (const attr in obj) {\r\n if (obj.hasOwnProperty(attr)) { copy[attr] = AXObjectUtil.deepCopy(obj[attr]); }\r\n }\r\n return copy;\r\n }\r\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\r\n }\r\n}\r\n\r\nexport function AXFetchProp(obj, prop: string) {\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n const index = prop.indexOf('.');\r\n\r\n if (index > -1) {\r\n return AXFetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\r\n }\r\n\r\n return obj[prop];\r\n}\r\n\r\n\r\n\r\n\r\nexport function getPropByPath(obj, path, defaultVal?) {\r\n path = path\r\n .replace(/\\[/g, '.')\r\n .replace(/]/g, '')\r\n .split('.');\r\n\r\n path.forEach((level) => {\r\n if (obj) {\r\n obj = obj[level];\r\n }\r\n });\r\n\r\n if (obj === undefined) {\r\n return defaultVal;\r\n }\r\n return obj;\r\n}\r\n\r\nexport function setPropByPath(obj, path, value) {\r\n if (Object(obj) !== obj) { return obj; } // When obj is not an object\r\n // If not yet an array, get the keys from the string-path\r\n if (!Array.isArray(path)) { path = path.toString().match(/[^.[\\]]+/g) || []; }\r\n path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\r\n Object(a[c]) === a[c] // Does the key exist and is its value an object?\r\n // Yes: then follow that path\r\n ? a[c]\r\n // No: create the key. Is the next key a potential array-index?\r\n : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\r\n ? [] // Yes: assign a new array object\r\n : {}, // No: assign a new plain object\r\n obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\r\n return obj; // Return the top-level object to allow chaining\r\n}\r\n\r\n\r\n","import { Subject, Observable } from 'rxjs';\r\nimport { getPropByPath, setPropByPath } from '../utils/object/object-util';\r\n\r\n// @dynamic\r\nexport class AXConfig {\r\n private static dataModel: any = {};\r\n private static dataChangeSubject = new Subject<any>();\r\n\r\n\r\n static get onChange(): Observable<any> {\r\n return AXConfig.dataChangeSubject.asObservable();\r\n }\r\n\r\n static set(config: any): any;\r\n static set(path: string, value?: any): void;\r\n static set(arg1?: any, arg2?: any) {\r\n\r\n if (arg1 && typeof arg1 == 'string') {\r\n setPropByPath(AXConfig.dataModel, arg1, arg2);\r\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\r\n return;\r\n }\r\n if (arg1 && typeof arg1 == 'object') {\r\n Object.assign(AXConfig.dataModel, arg1);\r\n AXConfig.dataChangeSubject.next(AXConfig.dataModel);\r\n return;\r\n }\r\n if (!arg1 && !arg2) {\r\n return AXConfig.dataChangeSubject.asObservable();\r\n }\r\n }\r\n\r\n static get(path: string): any {\r\n return getPropByPath(AXConfig.dataModel, path);\r\n }\r\n}","import * as moment_ from 'jalali-moment';\r\nimport { AXConfig } from '../services/config';\r\nconst moment = moment_;\r\n\r\nexport type TimeUnit = 'second' | 'minute' | 'minutes' | 'hour' | 'hours' | 'day' | 'days' | 'month' | 'year' | 'week';\r\n\r\nexport type TimeDuration = 'seconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'month' | 'years';\r\n\r\nexport type TimeStep = 'Y' | 'M' | 'D' | 'YM' | 'YMD' | 'YMDh' | 'YMDhm' | 'YMDhms' | 'h' | 'm' | 's';\r\n\r\nexport type AXCalendarType = 'jalali' | 'gregorian';\r\n\r\nexport class AXDateTime {\r\n static convert(value: any, type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian'): AXDateTime {\r\n let date: AXDateTime;\r\n if (typeof value === 'string' || value instanceof String) {\r\n date = new AXDateTime(value as string, type);\r\n } else if (value instanceof Date) {\r\n date = new AXDateTime(value as Date, type);\r\n } else if (value instanceof AXDateTime) {\r\n date = value;\r\n }\r\n return date;\r\n }\r\n\r\n private _date: Date;\r\n get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private resolveUnit(unit: TimeUnit): any {\r\n return this.type === 'jalali' ? 'j' + unit : unit;\r\n }\r\n\r\n private _moment: moment_.Moment;\r\n\r\n // private get _moment(): moment_.Moment {\r\n // const m = moment(this.date);\r\n // if (this.type === 'jalali') {\r\n // m.locale('fa');\r\n // }\r\n // return m;\r\n // }\r\n\r\n constructor(value: Date | string = new Date(), public type: AXCalendarType = AXConfig.get('dateTime.type') || 'gregorian') {\r\n if (value instanceof Date) {\r\n this._date = value as Date;\r\n } else {\r\n this._date = new Date(value);\r\n }\r\n this._moment = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n }\r\n\r\n clone(): AXDateTime {\r\n return new AXDateTime(this.date, this.type);\r\n }\r\n\r\n get dayInMonth(): number {\r\n return this._moment.date();\r\n }\r\n\r\n get dayOfYear(): number {\r\n return this._moment.dayOfYear();\r\n }\r\n\r\n get dayInWeek(): number {\r\n return this._moment.day();\r\n }\r\n\r\n get hour(): number {\r\n return this._moment.hour();\r\n }\r\n\r\n get minute(): number {\r\n return this._moment.minute();\r\n }\r\n\r\n get second(): number {\r\n return this._moment.second();\r\n }\r\n\r\n get year(): number {\r\n return this._moment.year();\r\n }\r\n\r\n get monthOfYear(): number {\r\n return this._moment.month();\r\n }\r\n\r\n get month(): AXCalendarMonth {\r\n return new AXCalendarMonth(this);\r\n }\r\n\r\n get firstDayOfWeek(): AXDateTime {\r\n const a = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n return new AXDateTime(a.startOf('w').toDate(), this.type);\r\n }\r\n\r\n get endDayOfWeek(): AXDateTime {\r\n const a = moment(this.date);\r\n if (this.type === 'jalali') {\r\n this._moment.locale('fa');\r\n }\r\n return new AXDateTime(moment(this.date).endOf('w').toDate(), this.type);\r\n }\r\n\r\n convertStringToJalali(date: string, format: string) {\r\n return moment(date).locale('fa').format('YYYY/M/D');\r\n }\r\n convertStringToGregorian(date: string, format: string) {\r\n return new Date(moment.from(date, 'fa', 'YYYY/MM/DD').format('YYYY/MM/DD'));\r\n }\r\n\r\n add(unit: TimeUnit = 'day', amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n addDay(amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, 'd').toDate(), this.type);\r\n }\r\n\r\n addMonth(amount: number): AXDateTime {\r\n return new AXDateTime(moment(this.date).add(amount, 'months').toDate(), this.type);\r\n }\r\n addHour(amount: number) {\r\n return new AXDateTime(moment(this.date).add(amount, 'hours').toDate(), this.type);\r\n }\r\n\r\n set(unit: TimeUnit = 'day', value: number): AXDateTime {\r\n return new AXDateTime(this._moment.set(unit, value).toDate(), this.type);\r\n }\r\n\r\n duration(end: AXDateTime, unit: TimeDuration = 'days'): number {\r\n const duration = moment.duration(this._moment.diff(end._moment));\r\n return Math.round(duration.as(unit));\r\n }\r\n\r\n startOf(unit: TimeUnit = 'day'): AXDateTime {\r\n return new AXDateTime(moment(this.date).startOf(this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n endOf(unit: TimeUnit = 'day'): AXDateTime {\r\n return new AXDateTime(moment(this.date).endOf(this.resolveUnit(unit)).toDate(), this.type);\r\n }\r\n\r\n format(format: string = AXConfig.get('dateTime.shortDateFormat') || (this.type === 'gregorian' ? 'DD-MM-YYYY' : 'YYYY-MM-DD')): string {\r\n if (format === 'P') {\r\n return this._moment.fromNow();\r\n }\r\n return this._moment.format(format);\r\n }\r\n\r\n toString(): string {\r\n return this.format();\r\n }\r\n\r\n equal(value: AXDateTime, unit: TimeUnit = 'day') {\r\n if (!value) {\r\n return false;\r\n }\r\n return this._moment.isSame(moment(value.date), this.resolveUnit(unit));\r\n }\r\n\r\n convertToJalaliDate(value) {\r\n const options = {\r\n numberingSystem: 'latn',\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n };\r\n const jDate = new Date(value).toLocaleDateString('fa-IR', options);\r\n const item: any = {};\r\n item.year = jDate.slice(0, 4);\r\n item.month = jDate.slice(5, 7);\r\n item.day = jDate.slice(8, 10);\r\n item.hour = jDate.slice(13, 15);\r\n item.minutes = jDate.slice(16, 18);\r\n item.seconds = jDate.slice(19, 21);\r\n return item;\r\n }\r\n\r\n toJalaliString(value) {\r\n const date = this.convertToJalaliDate(value);\r\n let str = '';\r\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\r\n return str;\r\n }\r\n\r\n convertToGregorianDate(value) {\r\n const options = {\r\n numberingSystem: 'latn',\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n second: '2-digit'\r\n };\r\n const date = new Date(value).toLocaleString('en-us', options);\r\n const item: any = {};\r\n item.year = date.slice(6, 10);\r\n item.month = date.slice(0, 2);\r\n item.day = date.slice(3, 5);\r\n item.hour = date.slice(12, 14);\r\n item.minutes = date.slice(15, 17);\r\n item.seconds = date.slice(18, 20);\r\n return item;\r\n }\r\n\r\n toGregorianString(value) {\r\n const date = this.convertToGregorianDate(value);\r\n let str = '';\r\n str = date.year + '-' + date.month + '-' + date.day + 'T' + date.hour + ':' + date.minutes + ':' + date.seconds;\r\n return str;\r\n }\r\n\r\n compaireNew(value: AXDateTime, unit: TimeStep = 'YMD', type = 'jalali') {\r\n const range = [0, 0];\r\n let str1;\r\n let str2;\r\n if (type === 'jalali') {\r\n str1 = this.toJalaliString(this.date);\r\n str2 = this.toJalaliString(value.date ? value.date : value);\r\n } else {\r\n str1 = this.toGregorianString(this.date);\r\n str2 = this.toGregorianString(value.date ? value.date : value);\r\n }\r\n switch (unit) {\r\n case 'YMDhms':\r\n range[0] = 0;\r\n range[1] = 19;\r\n break;\r\n case 'YMDhm':\r\n range[0] = 0;\r\n range[1] = 16;\r\n break;\r\n case 'YMDh':\r\n range[0] = 0;\r\n range[1] = 13;\r\n break;\r\n case 'YMD':\r\n range[0] = 0;\r\n range[1] = 10;\r\n break;\r\n\r\n case 'YM':\r\n range[0] = 0;\r\n range[1] = 7;\r\n break;\r\n\r\n case 'h':\r\n range[0] = 11;\r\n range[1] = 13;\r\n break;\r\n\r\n case 'm':\r\n range[0] = 14;\r\n range[1] = 16;\r\n break;\r\n\r\n case 's':\r\n range[0] = 17;\r\n range[1] = 19;\r\n break;\r\n case 'D':\r\n range[0] = 8;\r\n range[1] = 10;\r\n break;\r\n\r\n case 'M':\r\n range[0] = 5;\r\n range[1] = 7;\r\n break;\r\n\r\n case 'Y':\r\n range[0] = 0;\r\n range[1] = 4;\r\n break;\r\n }\r\n\r\n if (str1.slice(range[0], range[1]) === str2.slice(range[0], range[1])) {\r\n return 0;\r\n } else if (str1.slice(range[0], range[1]) > str2.slice(range[0], range[1])) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n compaire(value: AXDateTime, unit: TimeUnit = 'day') {\r\n if (this._moment.isSame(moment(value.date), this.resolveUnit(unit))) {\r\n return 0;\r\n } else if (this._moment.isAfter(moment(value.date), this.resolveUnit(unit))) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n toISOString() {\r\n return this._date.toISOString();\r\n }\r\n}\r\n\r\nexport class AXCalendarMonth {\r\n private _moment: moment_.Moment;\r\n\r\n private _range: AXDateTimeRange;\r\n public get range(): AXDateTimeRange {\r\n return this._range;\r\n }\r\n public set range(v: AXDateTimeRange) {\r\n this._range = v;\r\n }\r\n\r\n constructor(date: AXDateTime) {\r\n this._moment = moment(date.date);\r\n this.index = date.date.getMonth();\r\n this.name = this._moment.format('MMMM');\r\n this.range = new AXDateTimeRange(\r\n new AXDateTime(this._moment.startOf('month').toDate(), date.type),\r\n new AXDateTime(this._moment.endOf('month').toDate(), date.type)\r\n );\r\n }\r\n\r\n private readonly index: number;\r\n private readonly name: string;\r\n}\r\n\r\nexport class AXDateTimeRange {\r\n constructor(public startTime: AXDateTime, public endTime: AXDateTime) {}\r\n\r\n duration(unit: TimeDuration = 'days'): number {\r\n const duration = moment.duration(moment(this.startTime.date).diff(moment(this.endTime.date)));\r\n return duration.as(unit);\r\n }\r\n\r\n enumurate(unit: TimeUnit = 'day', type: AXCalendarType = AXConfig.get('dateTime.type') || 'jalali'): AXDateTime[] {\r\n const result: AXDateTime[] = [];\r\n for (let index = 0; this.startTime.add(unit, index).compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0; index++) {\r\n result.push(this.startTime.add(unit, index));\r\n }\r\n return result;\r\n }\r\n\r\n includes(value: AXDateTime, unit: TimeUnit = 'day', type = 'jalali'): boolean {\r\n return (\r\n value.compaireNew(this.startTime, this.getViewCompaire(unit), type) >= 0 &&\r\n value.compaireNew(this.endTime, this.getViewCompaire(unit), type) <= 0\r\n );\r\n }\r\n\r\n getViewCompaire(view) {\r\n switch (view) {\r\n case 'day':\r\n return 'YMD';\r\n case 'month':\r\n return 'YM';\r\n case 'year':\r\n return 'Y';\r\n }\r\n }\r\n}\r\n","export class AXBaseMenuItem {\r\n uid?: string = new Date().getTime().toString();\r\n id?: string;\r\n name?: string;\r\n text?: string;\r\n tooltip?: string;\r\n tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';\r\n icon?: string;\r\n visible?: boolean = true;\r\n disable?: boolean = false;\r\n selected?: boolean = false;\r\n groupName?: string;\r\n data?: any;\r\n style?: string = 'ax light';\r\n orderIndex?: number = 0;\r\n endIcon?: string;\r\n startIcon?: string;\r\n onClick?: (e?: any) => void;\r\n}\r\n\r\nexport class AXMenuItem extends AXBaseMenuItem {\r\n items?: AXMenuItem[];\r\n parentId?: string;\r\n divider?: boolean = false;\r\n}\r\n\r\nexport class AXButtonItem extends AXBaseMenuItem {\r\n dropdown?: boolean = false;\r\n submitBehavior?: boolean = false;\r\n cancelBehavior?: boolean = false;\r\n}\r\n\r\nexport class AXCheckItem {\r\n text?: string;\r\n value?: any;\r\n selected?: boolean;\r\n}\r\n","export class AXPromise<T> {\r\n\r\n private _executor: (then?: (e?: T) => void) => void;\r\n private thenAction?: (e?: T) => void;\r\n\r\n static resolve<T>(value: T): AXPromise<T> {\r\n const r = new AXPromise<T>(z => {\r\n z(value);\r\n }).then(() => { });\r\n return r;\r\n }\r\n\r\n constructor(executor: (then?: (e?: T) => void) => void) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.thenAction);\r\n }, 50);\r\n }\r\n\r\n\r\n then(action?: (e?: T) => void): AXPromise<T> {\r\n this.thenAction = action;\r\n return this;\r\n }\r\n}\r\n","export class AXSelectItem {\r\n id: string;\r\n name?: string;\r\n text: string;\r\n visible?: boolean;\r\n disable?: boolean;\r\n}\r\n","import { EventEmitter } from '@angular/core';\r\n\r\n/**\r\n * @deprecated Use AXBasePageComponent from @acorex/components\r\n */\r\nexport abstract class AXBasePageComponent {\r\n\r\n onClosed: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n close(data?: any) {\r\n this.onClosed.emit({\r\n component: this,\r\n data: data\r\n });\r\n }\r\n\r\n onClosing(e: any): void | Promise<void> {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.onClosed.unsubscribe();\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n","import { InjectionToken, Injectable, Injector } from '@angular/core';\r\n\r\nexport const AX_ERROR_DISPLAY_INTERCEPTOR = new InjectionToken<AXErrorDisplayInterceptor>('ax.error');\r\n\r\nexport interface AXErrorDisplayInterceptor {\r\n show(message: string);\r\n}\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class AXErrorService {\r\n\r\n constructor(private injector: Injector) {\r\n\r\n }\r\n\r\n handle(message: string) {\r\n const instance = this.injector.get(AX_ERROR_DISPLAY_INTERCEPTOR);\r\n if (instance) {\r\n instance.show(message);\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXErrorService } from './error.service';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n exports: [],\r\n providers: [AXErrorService],\r\n})\r\nexport class AXErrorModule {\r\n\r\n}\r\n","import { IHttpError } from './http-error.class';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\n\r\nexport const AX_HTTP_EVENT_INTERCEPTOR = new InjectionToken<AXHttpEventInterceptor>('ax.http.events');\r\n\r\nexport interface AXHttpEventInterceptor {\r\n begin(request: AXHttpRequestOptions): Promise<AXHttpRequestOptions>;\r\n success(request: AXHttpRequestOptions, result: any): Promise<any>;\r\n complete(request: AXHttpRequestOptions);\r\n error(request: AXHttpRequestOptions, error: IHttpError);\r\n}\r\n\r\n\r\n","import { IHttpError } from './http-error.class';\r\n\r\nexport class HttpResult<T> {\r\n private _executor: (result: (e?: T) => void, error: (e?: IHttpError) => void, complete: () => void) => void;\r\n constructor(\r\n executor: (\r\n result: (e?: T) => void,\r\n error: (e?: IHttpError) => void,\r\n complete: () => void\r\n ) => void\r\n ) {\r\n this._executor = executor;\r\n setTimeout(() => {\r\n this._executor(this.resultAction, this.errorAction, this.completeAction);\r\n }, 50);\r\n }\r\n\r\n private resultAction: (e?: T) => void;\r\n private errorAction: (e?: IHttpError) => void;\r\n private completeAction: () => void;\r\n\r\n result(action: (e?: T) => void): HttpResult<T> { \r\n this.resultAction = action;\r\n return this;\r\n }\r\n error(action: (e?: IHttpError) => void): HttpResult<T> {\r\n this.errorAction = action;\r\n return this;\r\n }\r\n complete(action: () => void): HttpResult<T> {\r\n this.completeAction = action;\r\n return this;\r\n }\r\n}","import { Injectable, Injector, InjectFlags } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';\r\nimport { HttpResult } from './http-result.class';\r\nimport { IHttpError } from './http-error.class';\r\nimport { AXHttpRequestOptions } from './http-request.class';\r\nimport {\r\n AX_HTTP_EVENT_INTERCEPTOR, AXHttpEventInterceptor\r\n} from './http-events.interceptor';\r\n// import { catchError, retry, retryWhen, mergeMap, delay, switchMap, scan, takeWhile, flatMap } from 'rxjs/operators';\r\n// import { of, concat, throwError } from 'rxjs';\r\n\r\n\r\n@Injectable()\r\nexport class AXHttpService {\r\n\r\n private interceptor: AXHttpEventInterceptor;\r\n constructor(private http: HttpClient, private injector: Injector) {\r\n this.interceptor = this.injector.get(AX_HTTP_EVENT_INTERCEPTOR);\r\n }\r\n\r\n\r\n get<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"get\";\r\n return this.request(config);\r\n }\r\n\r\n post<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"post\";\r\n return this.request(config);\r\n }\r\n\r\n delete<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"delete\";\r\n return this.request(config);\r\n }\r\n\r\n put<T>(url: string, config: AXHttpRequestOptions = {}): HttpResult<T> {\r\n config.url = url;\r\n config.method = \"put\";\r\n return this.request(config);\r\n }\r\n\r\n\r\n request<T>(config: AXHttpRequestOptions): HttpResult<T> {\r\n return new HttpResult<T>((result?, error?, complete?) => {\r\n this.handleBegin(config).then(c => {\r\n this.http\r\n .request<T>(config.method, config.url, this.mapOptions(config))\r\n //.pipe(this.retry)\r\n .subscribe(data => {\r\n this.handleResult(data, result, complete, config);\r\n }, c => {\r\n this.handleError(c, error, complete, config);\r\n });\r\n });\r\n })\r\n }\r\n\r\n\r\n private handleResult(data, result, complete, config: AXHttpRequestOptions) {\r\n if (this.interceptor) {\r\n this.interceptor.success(config, data).then(c => {\r\n if (result)\r\n result(c);\r\n this.handleComplete(complete, config);\r\n });\r\n }\r\n else {\r\n //\r\n if (result)\r\n result(data);\r\n this.handleComplete(complete, config);\r\n }\r\n }\r\n\r\n private handleBegin(config: AXHttpRequestOptions): Promise<AXHttpRequestOptions> {\r\n return new Promise((resolve) => {\r\n if (!config.headers)\r\n config.headers = {};\r\n if (!config.params)\r\n config.params = {};\r\n //\r\n if (this.interceptor) {\r\n this.interceptor.begin(config).then(c => {\r\n resolve(c);\r\n });\r\n }\r\n else {\r\n resolve(config)\r\n }\r\n })\r\n }\r\n\r\n private handleComplete(complete: Function, config: AXHttpRequestOptions) {\r\n if (complete)\r\n complete();\r\n if (this.interceptor)\r\n this.interceptor.complete(config);\r\n }\r\n\r\n private handleError(c: HttpErrorResponse, error: Function, complete: Function, config: AXHttpRequestOptions) {\r\n let r: IHttpError = {\r\n message: c.message,\r\n status: c.status,\r\n code: c.status?.toString(),\r\n handled: false,\r\n error: c.error\r\n }\r\n if (error) {\r\n error(r);\r\n }\r\n if (!r.handled) {\r\n if (this.interceptor)\r\n this.interceptor.error(config, r);\r\n }\r\n this.handleComplete(complete, config);\r\n }\r\n\r\n private mapOptions(options: AXHttpRequestOptions) {\r\n let headers = new HttpHeaders();\r\n\r\n for (const key in options.headers) {\r\n if (options.headers.hasOwnProperty(key)) {\r\n const value = options.headers[key];\r\n headers = headers.set(key, value)\r\n }\r\n }\r\n let params = new HttpParams();\r\n for (const key in options.params) {\r\n if (options.params.hasOwnProperty(key)) {\r\n const value = options.params[key];\r\n params = params.set(key, value);\r\n }\r\n }\r\n return {\r\n headers: headers,\r\n params: params,\r\n body: options.body,\r\n responseType: options.responseType || 'json'\r\n };\r\n // if (options.method == \"get\") {\r\n // return {\r\n // headers: headers,\r\n // params: params\r\n // };\r\n // }\r\n // else {\r\n // return {\r\n // headers: headers,\r\n // params: params,\r\n // body: options.body\r\n // };\r\n // }\r\n }\r\n\r\n}","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AXHttpService } from './http.service';\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: [HttpClientModule],\r\n providers: [\r\n AXHttpService\r\n ]\r\n})\r\nexport class AXHttpModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: AXHttpModule,\r\n providers: [AXHttpService]\r\n };\r\n }\r\n}","import { PipeTransform, Pipe } from '@angular/core';\r\nimport { AXDateTime } from '../classes/datetime.class';\r\n\r\n@Pipe({ name: 'dt' })\r\nexport class AXDateTimePipe implements PipeTransform {\r\n constructor() { }\r\n\r\n transform(value: any, format?: string): string {\r\n const date: AXDateTime = AXDateTime.convert(value);\r\n if (value == null) {\r\n return '';\r\n }\r\n if (!format) {\r\n return date.toString();\r\n }\r\n else {\r\n return date.format(format);\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'html2text' })\r\nexport class AXHtmlToTextPipe implements PipeTransform {\r\n transform(value: string) {\r\n if (value) {\r\n const regexHtml = /<\\/?[^>]+>/gi;\r\n const regexNbsp = / /gi;\r\n const regexAmp = /&/gi;\r\n return value\r\n .replace(regexHtml, '')\r\n .replace(regexNbsp, '')\r\n .replace(regexAmp, '');\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXEventService {\r\n private list: any[] = [];\r\n\r\n public broadcast(key: string, options?: any): void {\r\n const d = this.list.find(c => c.key === key);\r\n if (d) {\r\n d.events.forEach(c => {\r\n c(options);\r\n });\r\n }\r\n }\r\n\r\n public on(key: string, callback: (options?: any) => void) {\r\n let d = this.list.find(c => c.key === key);\r\n if (!d) {\r\n d = { key, events: [] };\r\n this.list.push(d);\r\n }\r\n d.events.push(callback);\r\n }\r\n\r\n public destroy(key: string, callback: (options?: any) => void): void {\r\n const d = this.list.find(c => c.key === key);\r\n if (d) {\r\n d.events = [];\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AXNavigatorParam } from '../classes/navigator.class';\r\n\r\n@Injectable()\r\nexport abstract class AXNavigator {\r\n abstract navigate(params: AXNavigatorParam);\r\n abstract popup(params: AXNavigatorParam);\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AXStorageService {\r\n get(key: string): any {\r\n return localStorage.getItem(key) as any;\r\n }\r\n set(key: string, value: any): void {\r\n localStorage.setItem(key, value as string);\r\n }\r\n}\r\n","import { Subject, Observable } from 'rxjs';\r\nimport { getPropByPath} from '../utils/object/object-util';\r\nimport merge from 'lodash-es/merge';\r\n\r\n// @dynamic\r\nexport class AXTranslator {\r\n private static lang: string = 'en';\r\n private static dataChangeSubject = new Subject<any>();\r\n\r\n\r\n static get onChange(): Observable<any> {\r\n return AXTranslator.dataChangeSubject.asObservable();\r\n }\r\n\r\n public static load(lang: string, value: any) {\r\n if (typeof value === 'object') {\r\n if (!AXTranslator[`__data__${lang}`]) {\r\n AXTranslator[`__data__${lang}`] = {};\r\n }\r\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\r\n }\r\n }\r\n\r\n public static use(lang: string) {\r\n AXTranslator.lang = lang;\r\n }\r\n\r\n public static get(key: string, lang?: string): string {\r\n return getPropByPath(AXTranslator[`__data__${lang || AXTranslator.lang}`], key) || key;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { AXTranslator } from './translator';\r\n\r\n@Injectable({ providedIn: 'platform' })\r\nexport class AXTranslatorService {\r\n\r\n public load(lang: string, value: any) {\r\n AXTranslator.load(lang, value);\r\n }\r\n\r\n public use(lang: string) {\r\n AXTranslator.use(lang);\r\n }\r\n\r\n public get(key: string, lang?: string): string {\r\n return AXTranslator.get(lang, lang);\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { AXTranslator } from './translator';\r\n\r\n@Pipe({ name: 'trans', pure: true })\r\nexport class AXTranslatorPipe implements PipeTransform {\r\n\r\n constructor() { }\r\n\r\n // transform(value: string, lang?: string): Promise<string> {\r\n // return new Promise<string>((resolve, reject) => {\r\n // if (!value) {\r\n // resolve(value);\r\n // }\r\n // resolve(this.translate.get(value, lang));\r\n // });\r\n\r\n // }\r\n\r\n transform(value: string, lang?: string): string {\r\n return AXTranslator.get(value, lang);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXTranslatorPipe } from './translator.pipe';\r\nimport * as en from '../locale/en.json';\r\nimport * as fa from '../locale/fa.json';\r\nimport { AXTranslator } from './translator';\r\n\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [AXTranslatorPipe],\r\n declarations: [AXTranslatorPipe],\r\n providers: [],\r\n})\r\nexport class AXTranslatorModule {\r\n constructor() {\r\n AXTranslator.load('en', en);\r\n AXTranslator.load('fa', fa);\r\n }\r\n}\r\n","import { AXFetchProp } from '../object/object-util';\r\n\r\n// @dynamic\r\nexport class AXArrayUtil {\r\n\r\n\r\n static pickRandom(array: any[]): any {\r\n return array[Math.floor(Math.random() * array.length)];\r\n }\r\n\r\n\r\n static insert(array: any[], index, ...rest) {\r\n array.splice.apply(array, [index, 0].concat(Array.prototype.slice.call(rest, 1)));\r\n return array;\r\n }\r\n\r\n static range(min: number, max: number): number[] {\r\n return new Array(max - min).fill(1).map((d, i) => i);\r\n }\r\n\r\n static filter(array: any[], filters: any[]): any[] {\r\n if (filters == null || filters.length === 0) {\r\n return array;\r\n }\r\n const lamda = (item) => {\r\n let result = true;\r\n for (const key in filters) {\r\n if (filters.hasOwnProperty(key)) {\r\n const f = filters[key];\r\n if (f !== 'AND') {\r\n const vals = [];\r\n const mt = f.field.match(/\\[\\:(.*?)\\]/);\r\n if (mt && mt.length > 1) {\r\n const p1 = f.field.replace(mt[0], '');\r\n const p2 = mt[1];\r\n const prop = AXFetchProp(item, p1);\r\n if (prop instanceof Array && prop.length) {\r\n vals.push(...prop.map(m => (AXFetchProp(m, p2))));\r\n } else {\r\n result = false;\r\n }\r\n } else {\r\n vals.push(AXFetchProp(item, f.field));\r\n }\r\n for (const j in vals) {\r\n if (vals.hasOwnProperty(j)) {\r\n let v1 = vals[j];\r\n const v2 = f.value;\r\n if (f.dataType === 'string') {\r\n v1 = v1.toString();\r\n switch (f.condition) {\r\n case 'equal':\r\n result = (v1 && v2) && v1.toLowerCase() === v2.toLowerCase();\r\n break;\r\n case 'not-equal':\r\n result = !((v1 && v2) && v1.toLowerCase() === v2.toLowerCase());\r\n break;\r\n case 'contains':\r\n result = ((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\r\n break;\r\n case 'not-contains':\r\n result = !((v1 && v2) && (v1.toLowerCase().includes(v2.toLowerCase())));\r\n break;\r\n case 'start-with':\r\n result = ((v1 && v2) && (v1.toLowerCase().startsWith(v2.toLowerCase())));\r\n break;\r\n case 'end-with':\r\n result = ((v1 && v2) && (v1.toLowerCase().endsWith(v2.toLowerCase())));\r\n break;\r\n case 'is-empty':\r\n result = v1 == null || v1 === undefined;\r\n break;\r\n case 'is-not-empty':\r\n result = !(v1 == null || v1 === undefined);\r\n break;\r\n default:\r\n console.error('The condition is not defined');\r\n result = false;\r\n }\r\n } else if (f.dataType === 'date') {\r\n } else if (f.dataType === 'number') {\r\n v1 = Number(v1);\r\n switch (f.condition) {\r\n case 'equal':\r\n result = v1 === v2;\r\n break;\r\n case 'not-equal':\r\n result = v1 !== v2;\r\n break;\r\n case 'contains':\r\n result = v2 && v2 instanceof Array && v2.includes(v1);\r\n break;\r\n case 'less-than':\r\n result = v1 < v2;\r\n break;\r\n case 'less-than-equal':\r\n result = v1 <= v2;\r\n break;\r\n case 'greater-than':\r\n result = v1 > v2;\r\n break;\r\n case 'greater-than-equal':\r\n result = v1 >= v2;\r\n break;\r\n case 'is-empty':\r\n result = v1 == null || v1 === undefined;\r\n break;\r\n case 'is-not-empty':\r\n result = !(v1 == null || v1 === undefined);\r\n break;\r\n default:\r\n console.error('The condition is not defined');\r\n result = false;\r\n }\r\n } else {\r\n console.error('The datatype is not supported');\r\n result = false;\r\n }\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!result) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n return array.filter(lamda);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","export class AXMathUtil {\r\n static randomRange(min: number, max: number): number {\r\n return Math.floor(Math.random() * (max - min + 1) + min);\r\n }\r\n}\r\n","import { AXMathUtil } from '../math/math-util';\r\n\r\nexport type AXPlacement =\r\n | 'top-start'\r\n | 'top-middle'\r\n | 'top-end'\r\n | 'center-start'\r\n | 'center-end'\r\n | 'bottom-start'\r\n | 'bottom-middle'\r\n | 'bottom-end';\r\n\r\nexport interface AXIPoint {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport interface AXConnectedPosition {\r\n originX: 'start' | 'center' | 'end';\r\n originY: 'top' | 'center' | 'bottom';\r\n overlayX: 'start' | 'center' | 'end';\r\n overlayY: 'top' | 'center' | 'bottom';\r\n weight?: number;\r\n offsetX?: number;\r\n offsetY?: number;\r\n}\r\n\r\nexport class AXPoint implements AXIPoint {\r\n constructor(public x: number, public y: number) {\r\n }\r\n}\r\n\r\nexport interface AXClientRecCtor {\r\n left?: number;\r\n top?: number;\r\n width?: number;\r\n height?: number;\r\n bottom?: number;\r\n right?: number;\r\n}\r\nexport class AXClientRec implements AXClientRecCtor {\r\n\r\n\r\n private _left: number;\r\n public get left(): number {\r\n return this._left;\r\n }\r\n public set left(v: number) {\r\n this._left = v;\r\n }\r\n\r\n\r\n private _top: number;\r\n public get top(): number {\r\n return this._top;\r\n }\r\n public set top(v: number) {\r\n this._top = v;\r\n }\r\n\r\n\r\n private _right: number;\r\n public get right(): number {\r\n return this._right;\r\n }\r\n public set right(v: number) {\r\n this._right = v;\r\n }\r\n\r\n\r\n private _bottom: number;\r\n public get bottom(): number {\r\n return this._bottom;\r\n }\r\n public set bottom(v: number) {\r\n this._bottom = v;\r\n }\r\n\r\n\r\n\r\n private _width: number;\r\n public get width(): number {\r\n return this._width;\r\n }\r\n public set width(v: number) {\r\n this._width = v;\r\n }\r\n\r\n\r\n private _height: number;\r\n public get height(): number {\r\n return this._height;\r\n }\r\n public set height(v: number) {\r\n this._height = v;\r\n }\r\n\r\n\r\n constructor(rec: AXClientRecCtor) {\r\n this._left = rec.left;\r\n this._top = rec.top;\r\n this._width = rec.width;\r\n this._height = rec.height;\r\n this._right = this._left + this._width;\r\n this._bottom = this._top + this._height;\r\n }\r\n\r\n public intersect(rec: AXClientRecCtor): boolean {\r\n return (this.left < rec.left + rec.width &&\r\n this.left + this.width > rec.left &&\r\n this.top < rec.top + rec.height &&\r\n this.top + this.height > rec.top);\r\n }\r\n\r\n\r\n}\r\n// @dynamic\r\nexport class AXHtmlUtil {\r\n static getBoundingRectPoint(el: HTMLElement, placement: AXPlacement): AXPoint {\r\n const rec = el.getBoundingClientRect();\r\n const width = el.offsetWidth;\r\n const height = el.offsetHeight;\r\n switch (placement) {\r\n case 'top-start':\r\n return new AXPoint(rec.left, rec.top);\r\n case 'top-middle':\r\n return new AXPoint(rec.left + (width / 2), rec.top);\r\n case 'top-end':\r\n return new AXPoint(rec.left + (width), rec.top);\r\n case 'center-end':\r\n return new AXPoint(rec.left + (width), rec.top + (height / 2));\r\n case 'bottom-end':\r\n return new AXPoint(rec.left + (width), rec.top + (height));\r\n case 'bottom-middle':\r\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\r\n case 'bottom-start':\r\n return new AXPoint(rec.left, rec.top + (height));\r\n case 'center-start':\r\n return new AXPoint(rec.left, rec.top + (height / 2));\r\n default:\r\n return new AXPoint(rec.left + (width / 2), rec.top + (height));\r\n }\r\n }\r\n\r\n static isInRecPoint(pos: AXIPoint, rec: AXClientRecCtor): boolean {\r\n return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));\r\n }\r\n\r\n // static isOverLap(rec1: AXClientRecCtor, rec2: AXClientRecCtor): boolean {\r\n // const r1: AXClientRec = new AXClientRec(rec1);\r\n // const r2: AXClientRec = new AXClientRec(rec2);\r\n\r\n // return ;\r\n // }\r\n\r\n static isInElementBound(pos: AXIPoint, element: HTMLElement): boolean {\r\n const elBound = element.getBoundingClientRect();\r\n return AXHtmlUtil.isInRecPoint(pos, {\r\n left: elBound.left,\r\n width: elBound.width,\r\n top: elBound.top,\r\n height: elBound.height\r\n });\r\n }\r\n\r\n static getDimensions(): { width: number, height: number } {\r\n let winW = 630;\r\n let winH = 460;\r\n if (document.body && document.body.offsetWidth) {\r\n winW = document.body.offsetWidth;\r\n winH = document.body.offsetHeight;\r\n }\r\n if (document.compatMode === 'CSS1Compat' && document.documentElement && document.documentElement.offsetWidth) {\r\n winW = document.documentElement.offsetWidth;\r\n winH = document.documentElement.offsetHeight;\r\n }\r\n if (window.innerWidth && window.innerHeight) {\r\n winW = window.innerWidth;\r\n winH = window.innerHeight;\r\n }\r\n return { width: winW, height: winH };\r\n }\r\n\r\n static getOffsetRight(elem: HTMLElement): number {\r\n let element = elem;\r\n const width = element.offsetWidth;\r\n let right = 0;\r\n while (element.offsetParent) {\r\n right += element.offsetLeft;\r\n element = element.offsetParent as HTMLElement;\r\n }\r\n right += element.offsetLeft;\r\n right = AXHtmlUtil.getDimensions().width - right;\r\n right -= width;\r\n return right;\r\n }\r\n\r\n static getUID(): string {\r\n return 'el-' + AXMathUtil.randomRange(1000000000, 9999999999).toString();\r\n }\r\n\r\n\r\n static getRelatedPosition(source: HTMLElement, placement: AXPlacement, target: HTMLElement, alignment: AXPlacement): AXIPoint {\r\n const result: AXIPoint = { x: 0, y: 0 };\r\n\r\n const sourcePos: AXPoint = AXHtmlUtil.getBoundingRectPoint(source, placement);\r\n\r\n\r\n let top: number = 0;\r\n let left: number = 0;\r\n switch (alignment) {\r\n case 'top-start':\r\n top = sourcePos.y;\r\n left = sourcePos.x;\r\n break;\r\n case 'top-middle':\r\n top = sourcePos.y;\r\n left = sourcePos.x - target.offsetWidth / 2;\r\n break;\r\n case 'top-end':\r\n top = sourcePos.y;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'center-end':\r\n top = sourcePos.y - target.offsetHeight / 2;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'bottom-end':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x - target.offsetWidth;\r\n break;\r\n case 'bottom-middle':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x - target.offsetWidth / 2;\r\n break;\r\n case 'bottom-start':\r\n top = sourcePos.y - target.offsetHeight;\r\n left = sourcePos.x;\r\n break;\r\n case 'center-start':\r\n top = sourcePos.y - target.offsetHeight / 2;\r\n left = sourcePos.x;\r\n break;\r\n }\r\n result.y = top;\r\n result.x = left;\r\n return result;\r\n }\r\n\r\n\r\n static collision(a: HTMLElement, b: HTMLElement): boolean {\r\n const ac = a.getBoundingClientRect();\r\n const bc = b.getBoundingClientRect();\r\n\r\n if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&\r\n ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXHtmlToTextPipe } from '../../pipe/htmlToText.pipe';\r\n\r\n@NgModule({\r\n declarations: [AXHtmlToTextPipe],\r\n imports: [CommonModule],\r\n exports: [AXHtmlToTextPipe],\r\n providers: []\r\n})\r\nexport class AXHtmlModule { }\r\n","import { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject, Observable, of } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { AXHtmlUtil } from '../html/html-util';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AXOnDemandPreloadService {\r\n subject = new Subject<string>();\r\n tmp: string;\r\n\r\n constructor() {\r\n this.tmp = AXHtmlUtil.getUID();\r\n }\r\n\r\n startPreload(routePath: string) {\r\n const slices: string[] = [];\r\n \r\n\r\n this.subject.next(routePath);\r\n //console.log('ss', this.tmp);\r\n }\r\n}\r\n","import {\r\n ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable,\r\n Injector, EmbeddedViewRef, Type, Compiler, NgModuleFactory\r\n} from '@angular/core';\r\nimport { Router, Route } from '@angular/router';\r\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\r\n\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AXRenderService {\r\n constructor(\r\n private appRef: ApplicationRef,\r\n private router: Router,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private compiler: Compiler,\r\n private modulePreloadService: AXOnDemandPreloadService,\r\n private injector: Injector) {\r\n }\r\n\r\n\r\n\r\n appendComponent<T>(\r\n componentClass: Type<T>,\r\n options: any = {},\r\n location?: Element): ComponentRef<any> {\r\n\r\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\r\n const componentRef = componentFactory.create(this.injector);\r\n this.appRef.attachView(componentRef.hostView);\r\n Object.assign(componentRef.instance, options);\r\n //\r\n const domElem = (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n componentRef.onDestroy(() => {\r\n this.appRef.detachView(componentRef.hostView);\r\n });\r\n if (location) {\r\n location.appendChild(domElem);\r\n } else {\r\n document.body.appendChild(domElem);\r\n }\r\n setTimeout(() => {\r\n componentRef.changeDetectorRef.detectChanges();\r\n }, 0);\r\n return componentRef;\r\n }\r\n\r\n findLoadedComponentByRoute(path: string, timeoutTime: number = 10): Promise<Route> {\r\n const delay = 200;\r\n const loop = timeoutTime * 1000 / delay;\r\n return new Promise((resolve, reject) => {\r\n let found: Route = null;\r\n let preload: boolean = false;\r\n const theLoop = (i) => {\r\n setTimeout(async () => {\r\n found = await this._findLoadedComponentByRoute(path);\r\n if (--i && found == null) {\r\n if (!preload) {\r\n this.modulePreloadService.startPreload(path);\r\n preload = true;\r\n }\r\n theLoop(i);\r\n }\r\n else if (found) {\r\n resolve(found);\r\n }\r\n else {\r\n reject();\r\n }\r\n }, delay);\r\n };\r\n theLoop(loop);\r\n });\r\n }\r\n\r\n private async _findLoadedComponentByRoute(search) {\r\n\r\n let found: Route = null;\r\n const f = (children, parentPath) => {\r\n for (const p in children) {\r\n if (children.hasOwnProperty(p)) {\r\n const route = children[p];\r\n const pp = (route.path != '' && route.path != null) ? parentPath + '/' + route.path : parentPath;\r\n if (pp == search && !route._loadedConfig && route.component) {\r\n found = route;\r\n return;\r\n } else if (route._loadedConfig || route.children) {\r\n f(route.children || route._loadedConfig.routes, pp);\r\n }\r\n }\r\n }\r\n };\r\n\r\n for (const p in this.router.config) {\r\n if (this.router.config.hasOwnProperty(p)) {\r\n const route = this.router.config[p];\r\n if (route.path === search && route.component) {\r\n found = route;\r\n }\r\n else if (route['_loadedConfig'] || route.children) {\r\n f(route.children || route['_loadedConfig'].routes, route.path);\r\n }\r\n if (found)\r\n break;\r\n }\r\n }\r\n return found;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { AXRenderService } from './render.service';\r\nimport { AXOnDemandPreloadService } from './on-demand-preload-strategy.service';\r\n\r\n\r\n// @dynamic\r\nexport function getOnDemandPreloadServiceFactory() {\r\n return new AXOnDemandPreloadService();\r\n}\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [],\r\n declarations: [],\r\n providers: [\r\n {\r\n provide: AXOnDemandPreloadService,\r\n useFactory: getOnDemandPreloadServiceFactory\r\n },\r\n AXRenderService\r\n ],\r\n})\r\nexport class AXRenderingModule {\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[horizontalScroll]'\r\n})\r\nexport class AXHorizontalScrollDirective {\r\n constructor(private el: ElementRef<HTMLElement>) { }\r\n\r\n @Input('horizontalScroll')\r\n scrollValue = 40;\r\n\r\n @HostListener('wheel', ['$event'])\r\n onMouseWheel(e) {\r\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\r\n this.el.nativeElement.scrollLeft -= delta * this.scrollValue;\r\n }\r\n}\r\n@Directive({\r\n // tslint:disable-next-line: directive-selector\r\n selector: '[verticalScroll]'\r\n})\r\nexport class AXVerticalScrollDirective {\r\n constructor(private el: ElementRef<HTMLElement>) { }\r\n\r\n @Input('verticalScroll')\r\n scrollValue = 40;\r\n\r\n @HostListener('wheel', ['$event'])\r\n onMouseWheel(e) {\r\n const delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));\r\n this.el.nativeElement.scrollTop -= delta * this.scrollValue;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXHorizontalScrollDirective, AXVerticalScrollDirective } from './scroll.directive';\r\n\r\n@NgModule({\r\n declarations: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\r\n imports: [CommonModule],\r\n exports: [AXHorizontalScrollDirective, AXVerticalScrollDirective],\r\n providers: []\r\n})\r\nexport class AXScrollModule { }\r\n","import { Pipe, PipeTransform, Injectable } from '@angular/core';\r\nimport { AXConfig } from '../../services/config';\r\n\r\n@Pipe({ name: 'separator' })\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n// export class AXSeparatorPipe2 implements PipeTransform {\r\n// transform(value: any) {\r\n// if (value) {\r\n// return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n// } else {\r\n// return '0';\r\n// }\r\n// }\r\n// }\r\nexport class AXSeparatorPipe implements PipeTransform {\r\n transform(value: number | string, currency: string = '', decimal: number = 0, locale: string = AXConfig.get('layout.rtl') ? 'fa' : 'en'): string {\r\n return (\r\n new Intl.NumberFormat(locale, {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: decimal\r\n }).format(Number(value)) + (currency != '' ? ' ' + currency : '')\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXSeparatorPipe } from './separator.pipe';\r\n\r\n@NgModule({\r\n declarations: [AXSeparatorPipe],\r\n imports: [CommonModule],\r\n exports: [AXSeparatorPipe],\r\n providers: []\r\n})\r\nexport class AXSeparatorModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { AXDateTimePipe } from './pipe/datetime.pipe';\r\nimport { AXEventService } from './services/event.service';\r\nimport { AXStorageService } from './services/storage.service';\r\nimport { AXScrollModule } from './utils/scroll/scroll.module';\r\nimport { AXTranslatorModule } from './translator/translator.module';\r\n\r\nconst PIPES = [AXDateTimePipe];\r\nconst MODULES = [AXScrollModule, AXTranslatorModule];\r\nconst SERVICES = [AXEventService,\r\n AXStorageService\r\n];\r\n\r\n\r\n@NgModule({\r\n declarations: [...PIPES],\r\n imports: [...MODULES],\r\n exports: [...PIPES],\r\n providers: [...SERVICES]\r\n})\r\nexport class AXCoreModule { }\r\n"]}
|