@ng-nest/ui 16.0.15 → 16.0.17
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/base-form/base-form.property.d.ts +1 -5
- package/core/config/config.d.ts +1 -0
- package/esm2022/auto-complete/auto-complete.component.mjs +11 -3
- package/esm2022/auto-complete/auto-complete.property.mjs +1 -1
- package/esm2022/base-form/base-form.property.mjs +2 -8
- package/esm2022/cascade/cascade.property.mjs +1 -1
- package/esm2022/checkbox/checkbox.property.mjs +1 -1
- package/esm2022/color-picker/color-picker.property.mjs +1 -1
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/core/config/config.service.mjs +10 -3
- package/esm2022/date-picker/date-picker.property.mjs +1 -1
- package/esm2022/find/find.property.mjs +1 -1
- package/esm2022/icon/icon.component.mjs +5 -6
- package/esm2022/icon/icon.property.mjs +2 -4
- package/esm2022/input/input.property.mjs +1 -1
- package/esm2022/input-number/input-number.component.mjs +3 -3
- package/esm2022/input-number/input-number.property.mjs +8 -2
- package/esm2022/list/list.property.mjs +1 -1
- package/esm2022/radio/radio.property.mjs +1 -1
- package/esm2022/select/select.component.mjs +25 -11
- package/esm2022/select/select.property.mjs +1 -1
- package/esm2022/switch/switch.property.mjs +1 -1
- package/esm2022/table/table-head.component.mjs +3 -3
- package/esm2022/table/table.property.mjs +4 -2
- package/esm2022/textarea/textarea.property.mjs +7 -2
- package/esm2022/time-picker/time-picker.property.mjs +1 -1
- package/esm2022/tree-select/tree-select.component.mjs +3 -3
- package/esm2022/tree-select/tree-select.property.mjs +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +10 -2
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +1 -7
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +9 -2
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +5 -8
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +9 -3
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +24 -10
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +5 -3
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +6 -1
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +2 -2
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/icon/icon.property.d.ts +2 -7
- package/input-number/input-number.property.d.ts +6 -1
- package/package.json +160 -160
- package/table/table.property.d.ts +6 -1
- package/textarea/textarea.property.d.ts +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-core.mjs","sources":["../../../../lib/ng-nest/ui/core/util/option.ts","../../../../lib/ng-nest/ui/core/util/host.ts","../../../../lib/ng-nest/ui/core/util/log.ts","../../../../lib/ng-nest/ui/core/util/computed-style.ts","../../../../lib/ng-nest/ui/core/util/animation.ts","../../../../lib/ng-nest/ui/core/util/html.ts","../../../../lib/ng-nest/ui/core/util/check.ts","../../../../lib/ng-nest/ui/core/animation/consts.ts","../../../../lib/ng-nest/ui/core/animation/fade.ts","../../../../lib/ng-nest/ui/core/animation/slide.ts","../../../../lib/ng-nest/ui/core/animation/drop.ts","../../../../lib/ng-nest/ui/core/animation/move.ts","../../../../lib/ng-nest/ui/core/animation/connect.ts","../../../../lib/ng-nest/ui/core/animation/badge.ts","../../../../lib/ng-nest/ui/core/animation/opacity.ts","../../../../lib/ng-nest/ui/core/interfaces/data.type.ts","../../../../lib/ng-nest/ui/core/interfaces/identify.type.ts","../../../../lib/ng-nest/ui/core/functions/convert.ts","../../../../lib/ng-nest/ui/core/functions/date.ts","../../../../lib/ng-nest/ui/core/functions/flex.ts","../../../../lib/ng-nest/ui/core/functions/drop.ts","../../../../lib/ng-nest/ui/core/functions/remove.ts","../../../../lib/ng-nest/ui/core/functions/order-by.ts","../../../../lib/ng-nest/ui/core/functions/clone-deep.ts","../../../../lib/ng-nest/ui/core/functions/has-in.ts","../../../../lib/ng-nest/ui/core/functions/chunk.ts","../../../../lib/ng-nest/ui/core/functions/guid.ts","../../../../lib/ng-nest/ui/core/functions/group-by.ts","../../../../lib/ng-nest/ui/core/functions/resize.ts","../../../../lib/ng-nest/ui/core/functions/parent-path.ts","../../../../lib/ng-nest/ui/core/functions/property.ts","../../../../lib/ng-nest/ui/core/services/reuse-strategy.service.ts","../../../../lib/ng-nest/ui/core/services/preloading-strategy.service.ts","../../../../lib/ng-nest/ui/core/services/http.service.ts","../../../../lib/ng-nest/ui/core/services/storage.service.ts","../../../../lib/ng-nest/ui/core/services/repository.service.ts","../../../../lib/ng-nest/ui/core/config/config.ts","../../../../lib/ng-nest/ui/core/theme/theme.ts","../../../../lib/ng-nest/ui/core/theme/theme.service.ts","../../../../lib/ng-nest/ui/core/config/config.service.ts","../../../../lib/ng-nest/ui/core/ng-nest-ui-core.ts"],"sourcesContent":["/**\r\n * Fill default values\r\n * @param option option\r\n * @param def default\r\n */\r\nexport function fillDefault(option: { [property: string]: any }, def: { [property: string]: any }) {\r\n if (option && def) {\r\n for (const key in def) {\r\n if (typeof option[key] === 'undefined') {\r\n option[key] = def[key];\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * 删除当前标签,保留内容\r\n */\r\nexport function removeNgTag(nativeElement: HTMLElement): void {\r\n const parentElement = nativeElement.parentElement;\r\n if (!parentElement || !parentElement.insertBefore) return;\r\n while (nativeElement.firstChild) {\r\n parentElement.insertBefore(nativeElement.firstChild, nativeElement);\r\n }\r\n parentElement.removeChild(nativeElement);\r\n}\r\n","export function warnSVGTagNotFound() {\r\n console.warn(`<svg> tag not found.`);\r\n}\r\nexport function warnIconTypeNotFound() {\r\n console.warn(`icon type not found.`);\r\n}\r\n","export function XComputedStyle(element: HTMLElement, style: string) {\r\n let computed = XComputed(element);\r\n let value = computed[style as any];\r\n return value.replace(/px/g, '');\r\n}\r\n\r\nexport function XComputed(element: HTMLElement) {\r\n if (typeof getComputedStyle === 'function') {\r\n return getComputedStyle(element);\r\n }\r\n return element.style;\r\n}\r\n","// tslint:disable:no-any typedef no-invalid-this\r\nconst availablePrefixes = ['moz', 'ms', 'webkit'];\r\n\r\nfunction requestAnimationFramePolyfill(): typeof requestAnimationFrame {\r\n let lastTime = 0;\r\n return function (callback: FrameRequestCallback): any {\r\n const currTime = new Date().getTime();\r\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n const id = setTimeout(() => {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n}\r\n\r\nfunction getRequestAnimationFrame(): typeof requestAnimationFrame {\r\n if (typeof window === 'undefined') {\r\n return () => 0;\r\n }\r\n if (window.requestAnimationFrame) {\r\n return window.requestAnimationFrame.bind(window);\r\n }\r\n\r\n const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0];\r\n\r\n return prefix ? (window as any)[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\r\n}\r\n// export function cancelRequestAnimationFrame(id: number): any {\r\n// if (typeof window === \"undefined\") {\r\n// return null;\r\n// }\r\n// if (window.cancelAnimationFrame) {\r\n// return window.cancelAnimationFrame(id);\r\n// }\r\n// const prefix = availablePrefixes.filter(\r\n// key =>\r\n// `${key}CancelAnimationFrame` in window ||\r\n// `${key}CancelRequestAnimationFrame` in window\r\n// )[0];\r\n\r\n// return prefix\r\n// ? (\r\n// (window as any)[`${prefix}CancelAnimationFrame`] ||\r\n// (window as any)[`${prefix}CancelRequestAnimationFrame`]\r\n// )\r\n// // @ts-ignore\r\n// .call(this, id)\r\n// : clearTimeout(id);\r\n// }\r\n\r\nexport const reqAnimFrame = getRequestAnimationFrame();\r\n","/**\r\n * 去除HTML标签\r\n */\r\n export function stripTags(text: string, ...usefulTags: any[]): string {\r\n if (!text || typeof (text) !== 'string')\r\n return text;\r\n return usefulTags.length > 0\r\n ? text.replace(new RegExp(`<(?!\\/?(${usefulTags.join('|')})\\s*\\/?)[^>]+>`, 'g'), '')\r\n : text.replace(/<(?:.|\\s)*?>/g, '');\r\n}\r\n","export function isNotNil<T>(value: T): value is NonNullable<T> {\r\n return typeof value !== 'undefined' && value !== null;\r\n}\r\n\r\nexport function isNil(value: unknown): value is null | undefined {\r\n return typeof value === 'undefined' || value === null;\r\n}\r\n","export enum XDuration {\r\n Slow = '0.3s',\r\n Base = '0.2s',\r\n Fast = '0.1s'\r\n}\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\n// 进场动画\r\nconst XDURATION_BASE_EASE_IN = `${XDuration.Fast} ease-in`;\r\n// 移除动画\r\nconst XDURATION_BASE_EASE_OUT = `${XDuration.Fast} ease-out`;\r\n\r\nexport const XFadeAnimation: AnimationTriggerMetadata = trigger('x-fade-animation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0.8)' }),\r\n animate(`${XDURATION_BASE_EASE_IN}`, style({ opacity: 1, transform: 'scale(1)' }))\r\n ]),\r\n transition(':leave', [animate(`${XDURATION_BASE_EASE_OUT}`, style({ opacity: 0 }))])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\nexport const XSlideAnimation: AnimationTriggerMetadata = trigger('x-slide-animation', [\r\n transition('void => right', [style({ transform: 'translate(100%,0)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('right => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(100%,0)' }))]),\r\n transition('void => left', [style({ transform: 'translate(-100%,0)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('left => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(-100%,0)' }))]),\r\n transition('void => top', [style({ transform: 'translate(0,-100%)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('top => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(0,-100%)' }))]),\r\n transition('void => bottom', [style({ transform: 'translate(0,100%)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('bottom => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(0,100%)' }))])\r\n]);\r\n\r\nexport const XSliderAnimation: AnimationTriggerMetadata = trigger('x-slider-animation', [\r\n transition('void => left, void => right', [\r\n style({\r\n width: 0,\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n width: '*',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void, right => void', [\r\n style({\r\n width: '*',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n width: 0,\r\n opacity: 0\r\n })\r\n )\r\n ])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\nexport const XDropAnimation: AnimationTriggerMetadata = trigger('x-drop-animation', [\r\n state('*', style({ opacity: 0, height: 0, border: 0, padding: 0, visibility: 'hidden' })),\r\n state('false', style({ opacity: 0, height: 0, border: 0, padding: 0, visibility: 'hidden' })),\r\n state('true', style({ opacity: 1, height: '*', border: '*', padding: '*', visibility: 'inherit' })),\r\n transition('* => *', animate(`${XDuration.Base} ease-out`))\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\nexport const XMoveAnimation: AnimationTriggerMetadata = trigger('x-move-animation', [\r\n transition('void => top-start, void => top, void => top-end, void => center', [\r\n style({\r\n transform: 'translateY(-200%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('top-start => void, top => void, top-end => void, center => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(-200%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => left', [\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => right', [\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('right => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => bottom-start, void => bottom, void => bottom-end', [\r\n style({\r\n transform: 'translateY(200%)',\r\n opacity: 0,\r\n height: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1,\r\n height: '*'\r\n })\r\n )\r\n ]),\r\n transition('bottom-start => void, bottom => void, bottom-end => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(200%)',\r\n opacity: 0\r\n })\r\n )\r\n ])\r\n]);\r\n\r\nexport const XMoveBoxAnimation: AnimationTriggerMetadata = trigger('x-move-box-animation', [\r\n transition('void => top-start, void => top, void => top-end, void => center', [\r\n style({\r\n transform: 'translateY(-2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('top-start => void, top => void, top-end => void, center => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(-2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ]),\r\n transition('void => left', [\r\n style({\r\n transform: 'translateX(-2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(-2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ]),\r\n transition('void => right', [\r\n style({\r\n transform: 'translateX(2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('right => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ]),\r\n transition('void => bottom-start, void => bottom, void => bottom-end', [\r\n style({\r\n transform: 'translateY(2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('bottom-start => void, bottom => void, bottom-end => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\n// 进场动画\r\n// const XDURATION_SLOW_EASE_IN = `${XDuration.Slow} ease-in`;\r\nconst XDURATION_BASE_EASE_IN = `${XDuration.Base} ease-in`;\r\nconst XDURATION_FAST_EASE_IN = `${XDuration.Fast} ease-in`;\r\n// 移除动画\r\n// const XDURATION_SLOW_EASE_OUT = `${XDuration.Slow} ease-out`;\r\nconst XDURATION_BASE_EASE_OUT = `${XDuration.Base} ease-out`;\r\nconst XDURATION_FAST_EASE_OUT = `${XDuration.Fast} ease-out`;\r\n\r\nexport const XConnectAnimation: AnimationTriggerMetadata = trigger('x-connect-animation', [\r\n transition('void => top-start, void => top, void => top-end, void => center', [\r\n style({\r\n opacity: 0\r\n // transform: 'scaleY(0.8)',\r\n // transformOrigin: '0% 100%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_IN,\r\n style({\r\n opacity: 1\r\n // transform: 'scaleY(1)',\r\n // transformOrigin: '0% 100%'\r\n })\r\n )\r\n ]),\r\n transition('top-start => void, top => void, top-end => void, center => void', [\r\n style({\r\n opacity: 1\r\n // transform: 'scaleY(1)',\r\n // transformOrigin: '0% 100%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_OUT,\r\n style({\r\n opacity: 0\r\n // transform: 'scaleY(0.8)',\r\n // transformOrigin: '0% 100%'\r\n })\r\n )\r\n ]),\r\n transition('void => left', [\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => right', [\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('right => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => bottom-start, void => bottom, void => bottom-end', [\r\n style({\r\n opacity: 0\r\n // transform: 'scale(0)',\r\n // transformOrigin: '0% 0%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_IN,\r\n style({\r\n opacity: 1\r\n // transform: 'scale(1)',\r\n // transformOrigin: '30% 30%'\r\n })\r\n )\r\n ]),\r\n transition('bottom-start => void, bottom => void, bottom-end => void', [\r\n style({\r\n opacity: 1\r\n // transform: 'scale(1)',\r\n // transformOrigin: '30% 30%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_OUT,\r\n style({\r\n opacity: 0\r\n // transform: 'scale(0)',\r\n // transformOrigin: '0% 0%'\r\n })\r\n )\r\n ])\r\n]);\r\n\r\nexport const XConnectBaseAnimation: AnimationTriggerMetadata = trigger('x-connect-base-animation', [\r\n transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate(XDURATION_FAST_EASE_IN)]),\r\n transition(':leave', [animate(XDURATION_FAST_EASE_OUT, style({ opacity: 0 }))])\r\n]);\r\n\r\nexport const XBaseAnimation: AnimationTriggerMetadata = trigger('x-base-animation', [\r\n transition(':enter', [style({ opacity: 0, transform: 'scale(0.2)' }), animate(XDURATION_BASE_EASE_IN)]),\r\n transition(':leave', [animate(XDURATION_BASE_EASE_OUT, style({ opacity: 0, transform: 'scale(0.2)' }))])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\n// 进场动画\r\nconst XDURATION_SLOW_EASE_IN = `${XDuration.Slow} ease-in`;\r\n// 移除动画\r\nconst XDURATION_SLOW_EASE_OUT = `${XDuration.Slow} ease-out`;\r\n\r\nexport const XBadgeAnimation: AnimationTriggerMetadata = trigger('x-badge-animation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0) translate(50%, -50%)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_IN,\r\n style({\r\n opacity: 1,\r\n transform: 'scale(1) translate(50%, -50%)'\r\n })\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({ opacity: 1, transform: 'scale(1) translate(50%, -50%)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_OUT,\r\n style({\r\n opacity: 0,\r\n transform: 'scale(0) translate(50%, -50%)'\r\n })\r\n )\r\n ])\r\n]);\r\n\r\nexport const XBadgeStandaloneAnimation: AnimationTriggerMetadata = trigger('x-badge-standalone-animation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_IN,\r\n style({\r\n opacity: 1,\r\n transform: 'scale(1)'\r\n })\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({ opacity: 1, transform: 'scale(1)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_OUT,\r\n style({\r\n opacity: 0,\r\n transform: 'scale(0)'\r\n })\r\n )\r\n ])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\nexport const XOpacityAnimation: AnimationTriggerMetadata = trigger('x-opacity-animation', [\r\n state('*', style({ opacity: 0 })),\r\n state('false', style({ opacity: 0 })),\r\n state('true', style({ opacity: 1 })),\r\n transition('* => *', animate(`${XDuration.Slow} cubic-bezier(0.25, 0.8, 0.25, 1)`))\r\n]);\r\n","import { Observable, isObservable } from 'rxjs';\r\nimport { TemplateRef, SimpleChange } from '@angular/core';\r\n\r\n// 数据类型\r\nexport type XData<T> = T[] | Observable<T[] | any[]> | any[] | Function;\r\n\r\n// Boolean 类型\r\nexport type XBoolean = boolean | string;\r\n\r\n// Number 类型\r\nexport type XNumber = number | string;\r\n\r\n// 模板类型\r\nexport type XTemplate = string | number | Date | TemplateRef<any>;\r\n\r\n// 类型判断\r\nexport const XIsType = (type: string) => (object: any) => Object.prototype.toString.call(object) === `[object ${type}]`;\r\n\r\n// 值改变判断\r\nexport const XIsChange = (...changes: SimpleChange[]) => {\r\n for (let change of changes) {\r\n if (change?.currentValue !== change?.previousValue) return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst IsString = XIsType('String');\r\nconst IsArray = XIsType('Array');\r\nconst IsNumber = XIsType('Number');\r\nconst IsBoolean = XIsType('Boolean');\r\nconst IsObject = XIsType('Object');\r\nconst IsNull = XIsType('Null');\r\nconst IsFunction = XIsType('Function');\r\nconst IsDate = XIsType('Date');\r\nconst IsRegExp = XIsType('RegExp');\r\n\r\nexport function XIsString(value: any): value is string {\r\n return IsString(value);\r\n}\r\nexport function XIsArray(value: any): value is Array<any> {\r\n return IsArray(value);\r\n}\r\nexport function XIsNumber(value: any): value is number {\r\n return IsNumber(value);\r\n}\r\nexport function XIsBoolean(value: any): value is boolean {\r\n return IsBoolean(value);\r\n}\r\nexport function XIsObject<T>(value: any): value is T {\r\n return IsObject(value);\r\n}\r\nexport function XIsNull(value: any): value is null {\r\n return IsNull(value);\r\n}\r\nexport function XIsFunction(value: any): value is Function {\r\n return IsFunction(value);\r\n}\r\nexport function XIsDate(value: any): value is Date {\r\n return IsDate(value);\r\n}\r\nexport function XIsRegExp(value: any): value is RegExp {\r\n return IsRegExp(value);\r\n}\r\nexport function XIsUndefined(value: any): value is undefined {\r\n return typeof value === 'undefined';\r\n}\r\nexport function XIsValue<T>(object: any): object is T {\r\n return XIsString(object) || XIsNumber(object) || XIsBoolean(object) || XIsDate(object);\r\n}\r\nexport function XIsEmpty(object: any) {\r\n return XIsUndefined(object) || XIsNull(object) || object === '' || object.length === 0;\r\n}\r\nexport function XIsValueArray<T>(object: any): object is T {\r\n return XIsArray(object) && object.length > 0 && !XIsObject(object[0]);\r\n}\r\nexport function XIsObjectArray<T>(object: any): object is T {\r\n return XIsArray(object) && object.length > 0 && XIsObject(object[0]);\r\n}\r\nexport function XIsObservable<T>(object: any): object is Observable<T> {\r\n return isObservable(object);\r\n}\r\nexport function XIsTemplateRef<T>(object: any): object is TemplateRef<T> {\r\n if (!XIsEmpty(object) && object.elementRef) return true;\r\n else return false;\r\n}\r\nexport function XIsXTemplate(object: any): object is XTemplate {\r\n return XIsString(object) || XIsNumber(object) || XIsDate(object) || XIsTemplateRef(object);\r\n}\r\n","// 标识对象\r\nexport interface XIdentityProperty {\r\n // 编码\r\n id?: any;\r\n // 标题\r\n label?: any;\r\n}\r\n\r\n// 父节点标识对象\r\nexport interface XParentIdentityProperty<T> extends XIdentityProperty {\r\n // 编码\r\n pid?: any;\r\n // 层级\r\n level?: number;\r\n // 叶子节点\r\n leaf?: boolean;\r\n // 子节点\r\n children?: T[];\r\n // 子节点已加载过\r\n childrenLoaded?: boolean;\r\n // 选中\r\n selected?: boolean;\r\n // 禁用\r\n disabled?: boolean;\r\n // 展开\r\n open?: boolean;\r\n}\r\n\r\n// 标识对象\r\nexport class XIdentity {\r\n // 编码\r\n id?: any;\r\n // 标题\r\n label?: any;\r\n}\r\n","import { coerceBooleanProperty, _isNumberValue } from '@angular/cdk/coercion';\r\nimport {\r\n XData,\r\n XIsNull,\r\n XIsUndefined,\r\n XIsArray,\r\n XIsValue,\r\n XIsObject,\r\n XIsObservable,\r\n XParentIdentityProperty,\r\n XBoolean,\r\n XClassMap,\r\n XIsFunction\r\n} from '../interfaces';\r\nimport { Observable, Subject, Observer } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\nexport function XToBoolean(value: XBoolean): boolean {\r\n // if (XIsString(value)) {\r\n // return ['', 'true'].indexOf(String(value).trim()) !== -1;\r\n // } else {\r\n // return Boolean(value);\r\n // }\r\n return coerceBooleanProperty(value);\r\n}\r\n\r\nfunction XToNumber(value: number | string): number;\r\nfunction XToNumber<D>(value: number | string, fallback: D): number | D;\r\nfunction XToNumber(value: number | string, fallbackValue: number = 0): number {\r\n return _isNumberValue(value) ? Number(value) : fallbackValue;\r\n}\r\n\r\nexport function XToDataConvert<T>(value: XData<T>): XData<T> {\r\n if (XIsArray(value)) {\r\n return (value as []).map((x: any) => {\r\n if (XIsValue(x)) {\r\n return { label: x, id: x };\r\n } else if (XIsObject<{ label: any; id: any }>(x)) {\r\n x.label = XIsUndefined(x.label) || XIsNull(x.label) ? x.id : x.label;\r\n x.id = XIsUndefined(x.id) || XIsNull(x.id) ? x.label : x.id;\r\n return x;\r\n }\r\n return x;\r\n });\r\n }\r\n return value;\r\n}\r\n\r\nexport function XSetData<T>(data: XData<T>, unSubject: Subject<void>, toConvert = true, funcParam: any = null): Observable<T[]> {\r\n return new Observable((x: Observer<T[]>) => {\r\n const result = (res: T[]) => {\r\n x.next(res);\r\n x.complete();\r\n };\r\n if (typeof data === 'undefined') {\r\n result([]);\r\n } else {\r\n if (XIsObservable(data)) {\r\n (data as Observable<T[]>)\r\n .pipe(\r\n map((y) => (toConvert ? XToDataConvert(y) : y)),\r\n takeUntil(unSubject)\r\n )\r\n .subscribe((y) => {\r\n result(y as T[]);\r\n });\r\n } else if (XIsFunction(data)) {\r\n (data as (param: any) => Observable<T[]>)(funcParam)\r\n .pipe(\r\n map((y) => (toConvert ? XToDataConvert(y) : y)),\r\n takeUntil(unSubject)\r\n )\r\n .subscribe((y) => {\r\n result(y as T[]);\r\n });\r\n } else {\r\n result((toConvert ? XToDataConvert(data) : data) as T[]);\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport function XGetChildren<T extends XParentIdentityProperty<T>>(nodes: T[], node: T, level: number) {\r\n node.level = level;\r\n node.children = nodes.filter((y) => y.pid === node.id);\r\n node.leaf = node.children?.length > 0;\r\n if (node.leaf) node.children.map((y) => XGetChildren(nodes, y, level + 1));\r\n return node;\r\n}\r\n\r\nexport function XInvertKeyValues(obj: any): Map<any, any> {\r\n return Object.keys(obj).reduce((nw, key) => {\r\n nw.set(obj[key], key);\r\n return nw;\r\n }, new Map());\r\n}\r\n\r\nexport function XClearClass(...classMaps: XClassMap[]) {\r\n classMaps.forEach((classMap) => {\r\n for (const key in classMap) {\r\n classMap[key] = false;\r\n }\r\n });\r\n}\r\n\r\nfunction propDecoratorFactory<T, D>(name: string, fallback: (v: T) => D): (target: any, propName: string) => void {\r\n function propDecorator(target: any, propName: string, originalDescriptor?: TypedPropertyDescriptor<any>): any {\r\n const privatePropName = `$$__${propName}`;\r\n\r\n if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {\r\n console.warn(`The prop \"${privatePropName}\" is already exist, it will be overrided by ${name} decorator.`);\r\n }\r\n\r\n Object.defineProperty(target, privatePropName, {\r\n configurable: true,\r\n writable: true\r\n });\r\n\r\n return {\r\n get(): string {\r\n return originalDescriptor && originalDescriptor.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\r\n },\r\n set(value: T): void {\r\n if (originalDescriptor && originalDescriptor.set) {\r\n originalDescriptor.set.bind(this)(fallback(value));\r\n }\r\n this[privatePropName] = fallback(value);\r\n }\r\n };\r\n }\r\n\r\n return propDecorator;\r\n}\r\n\r\nexport function XInputBoolean(): any {\r\n return propDecoratorFactory('XInputBoolean', XToBoolean);\r\n}\r\n\r\nexport function XInputNumber(): any {\r\n return propDecoratorFactory('XInputNumber', XToNumber);\r\n}\r\n\r\nexport function XDataConvert(): any {\r\n return propDecoratorFactory('XDataConvert', XToDataConvert);\r\n}\r\n\r\nexport function XClamp(value: number, min: number, max: number) {\r\n return Math.max(min, Math.min(max, value));\r\n}\r\n","import { XIsDate, XIsNumber } from '../interfaces';\r\n\r\nexport type XDate = string | Date | number;\r\n\r\nexport function XToDate(date: XDate): Date {\r\n if (XIsDate(date) || XIsNumber(date)) {\r\n return new Date(date);\r\n } else {\r\n return new Date(Date.parse(date as string));\r\n }\r\n}\r\n\r\nexport function XAddMilliseconds(date: XDate, amount: number): Date {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf()) && amount) {\r\n return new Date(dt.getTime() + amount);\r\n } else {\r\n return date as Date;\r\n }\r\n}\r\n\r\nexport function XAddSeconds(date: XDate, amount: number): Date {\r\n return XAddMilliseconds(date, amount * 1000);\r\n}\r\n\r\nexport function XAddMinutes(date: XDate, amount: number): Date {\r\n return XAddMilliseconds(date, amount * 60000);\r\n}\r\n\r\nexport function XAddHours(date: XDate, amount: number): Date {\r\n return XAddMilliseconds(date, amount * 3600000);\r\n}\r\n\r\nexport function XAddDays(date: XDate, amount: number): Date {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf()) && amount) {\r\n dt.setDate(dt.getDate() + amount);\r\n return dt;\r\n } else {\r\n return date as Date;\r\n }\r\n}\r\n\r\nexport function XAddMonths(date: XDate, amount: number): Date {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf()) && amount) {\r\n const day = dt.getDate();\r\n const month = dt.getMonth();\r\n const endMonth = new Date(dt);\r\n endMonth.setMonth(month + amount + 1, 0);\r\n const endDay = endMonth.getDate();\r\n if (day >= endDay) {\r\n return endMonth;\r\n } else {\r\n dt.setFullYear(endMonth.getFullYear(), endMonth.getMonth(), day);\r\n }\r\n return dt;\r\n } else {\r\n return date as Date;\r\n }\r\n}\r\n\r\nexport function XAddYears(date: XDate, amount: number): Date {\r\n return XAddMonths(date, amount * 12);\r\n}\r\n\r\nexport function XDateWeek(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return getISOWeek(dt);\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateWeekYear(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return getISOWeekYear(dt);\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateYearWeek(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return `${getISOWeekYear(dt)}-${getISOWeek(dt)}`;\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateYearQuarter(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return `${dt.getFullYear()}-${XDateQuarter(dt)}`;\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateQuarter(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return `Q${Math.ceil((dt.getMonth() + 1) / 3)}`;\r\n }\r\n return;\r\n}\r\n\r\nfunction getISOWeek(date: Date): number {\r\n const diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\r\n return Math.round(diff / 604800000) + 1;\r\n}\r\n\r\nfunction startOfISOWeek(date: Date) {\r\n return startOfWeek(date, { weekStartsOn: 1 });\r\n}\r\n\r\nfunction startOfWeek(date: Date, options?: { weekStartsOn: number }) {\r\n const weekStartsOn = options?.weekStartsOn || 0;\r\n const day = date.getDay();\r\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\r\n date.setDate(date.getDate() - diff);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n}\r\n\r\nfunction startOfISOWeekYear(date: Date) {\r\n const year = getISOWeekYear(date);\r\n const fourthOfJanuary = constructFrom(date, 0);\r\n fourthOfJanuary.setFullYear(year, 0, 4);\r\n fourthOfJanuary.setHours(0, 0, 0, 0);\r\n const result = startOfISOWeek(fourthOfJanuary);\r\n return result;\r\n}\r\n\r\nfunction constructFrom<DateType extends Date>(date: DateType | number, value: Date | number): DateType {\r\n if (date instanceof Date) {\r\n return new (date.constructor as any)(value);\r\n } else {\r\n return new Date(value) as DateType;\r\n }\r\n}\r\n\r\nfunction getISOWeekYear(date: Date): number {\r\n const year = date.getFullYear();\r\n\r\n const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\r\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\r\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\r\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\r\n\r\n const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\r\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\r\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\r\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\r\n\r\n if (date.getTime() >= startOfNextYear.getTime()) {\r\n return year + 1;\r\n } else if (date.getTime() >= startOfThisYear.getTime()) {\r\n return year;\r\n } else {\r\n return year - 1;\r\n }\r\n}\r\n","import { Renderer2 } from '@angular/core';\r\nimport { XAlign, XDirection, XIsEmpty, XJustify } from '../interfaces';\r\n\r\nexport function XSetFlex(ele: Element, renderer: Renderer2, justify?: XJustify, align?: XAlign, direction?: XDirection) {\r\n let result: string[] = [];\r\n if (!XIsEmpty(justify)) {\r\n const justifyStr = `x-justify-${justify}`;\r\n result.push(justifyStr)\r\n renderer.addClass(ele, justifyStr);\r\n }\r\n if (!XIsEmpty(align)) {\r\n const alignStr = `x-align-${align}`;\r\n result.push(alignStr)\r\n renderer.addClass(ele, alignStr);\r\n }\r\n if (!XIsEmpty(direction)) {\r\n const directionStr = `x-direction-${direction}`;\r\n result.push(directionStr)\r\n renderer.addClass(ele, directionStr);\r\n }\r\n return result;\r\n}\r\n","export function XDrop<T>(array: Array<T>, n?: number): T[] {\r\n if (!n) return [...array];\r\n if (array.length < 1 || array.length <= Math.abs(n)) return [];\r\n return array.slice(n > 0 ? n : 0, n > 0 ? array.length : n);\r\n}\r\n","export function XRemove<T>(array: Array<T>, predicate?: (value: T) => boolean): T[] {\r\n if (typeof predicate === 'undefined') return [];\r\n let result: T[] = [];\r\n for (let i = 0; i < array.length; i++) {\r\n if (predicate(array[i])) {\r\n result.push(array[i]);\r\n }\r\n }\r\n for (let item of result) {\r\n array.splice(array.indexOf(item), 1);\r\n }\r\n return result;\r\n}\r\n","export function XOrderBy<T>(collection: Array<T>, iteratees: Array<string>, orders?: Array<'asc' | 'desc'>): T[] {\r\n if (!iteratees) return collection;\r\n if (!orders) orders = [];\r\n\r\n function compare(a: any, b: any, prop: any, order: 'asc' | 'desc' | undefined, idex: number): number {\r\n if (a[prop] == b[prop]) {\r\n ++idex;\r\n if (iteratees.length > idex) {\r\n const odr = orders && orders.length > idex ? orders[idex] : 'asc';\r\n return compare(a, b, iteratees[idex], odr, idex);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n let isNumber = !isNaN(a[prop]);\r\n if (order === 'desc') {\r\n if (isNumber) {\r\n return (b[prop] - a[prop]) as number;\r\n } else {\r\n if (b[prop] > a[prop]) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n } else {\r\n if (isNumber) {\r\n return (a[prop] - b[prop]) as number;\r\n } else {\r\n if (a[prop] > b[prop]) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n const iterate = iteratees.shift();\r\n const order = orders.shift() || 'asc';\r\n\r\n if (!iterate) return collection;\r\n\r\n collection.sort((a: any, b: any) => compare(a, b, iterate, order, -1));\r\n\r\n return collection;\r\n}\r\n","export function XCloneDeep(value: any): any {\r\n let result: any = Array.isArray(value) ? [] : {};\r\n if (value && typeof value === 'object') {\r\n for (let key in value) {\r\n if ((value as Object).hasOwnProperty(key)) {\r\n result[key] = value && typeof value[key] === 'object' ? XCloneDeep(value[key]) : value[key];\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n","export function XHasIn(object: Object, key: string) {\r\n return object != null && key in Object(object);\r\n}\r\n","export function XChunk<T>(array: T[], size = 1): T[][] {\r\n const len = array == null ? 0 : array.length;\r\n if (!len || size < 1) {\r\n return [];\r\n }\r\n let index = 0;\r\n let resIndex = 0;\r\n const result = new Array(Math.ceil(len / size));\r\n\r\n while (index < len) {\r\n result[resIndex++] = array.slice(index, (index += size));\r\n }\r\n return result;\r\n}\r\n","/**\r\n * 生成 GUID\r\n */\r\nexport function XGuid() {\r\n let S4 = () => {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n };\r\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\r\n}\r\n","export function XGroupBy<T>(array: T[], name: string): T[][] {\r\n const groups: any = {};\r\n array.forEach((obj: any) => {\r\n const group = JSON.stringify(obj[name]);\r\n groups[group] = groups[group] || [];\r\n groups[group].push(obj);\r\n });\r\n return Object.keys(groups).map((group) => groups[group]);\r\n}\r\n","import { Observable, Subscriber } from 'rxjs';\r\n\r\nexport type XResizeObserver = ResizeObserver | null;\r\nexport type XResizeObserverEntry = ResizeObserverEntry | null;\r\n\r\nexport const XResize = (...element: Element[]): Observable<{ entry: XResizeObserverEntry; resizeObserver: XResizeObserver }> => {\r\n return new Observable(\r\n (\r\n x: Subscriber<{\r\n entry: XResizeObserverEntry;\r\n resizeObserver: XResizeObserver;\r\n }>\r\n ) => {\r\n if (typeof ResizeObserver !== 'function') {\r\n return;\r\n }\r\n const resizeObserver = new ResizeObserver((entries: XResizeObserverEntry[]) => {\r\n for (const entry of entries) {\r\n x.next({ entry: entry, resizeObserver: resizeObserver });\r\n }\r\n });\r\n for (let ele of element) {\r\n if (ele) resizeObserver.observe(ele);\r\n }\r\n\r\n //XResize 取消订阅的时候自动销毁\r\n //resizeObserver.disconnect();\r\n }\r\n );\r\n};\r\n","export function XParentPath(ele: HTMLElement): string[] {\r\n let path: string[] = [];\r\n let nowEle = ele;\r\n while (nowEle.parentNode != null) {\r\n path.push(nowEle.localName);\r\n nowEle = nowEle.parentNode as HTMLElement;\r\n }\r\n return path;\r\n}\r\n\r\nexport function XParents(ele: HTMLElement): HTMLElement[] {\r\n let res: HTMLElement[] = [];\r\n let nowEle = ele;\r\n while (nowEle.parentElement != null) {\r\n res.push(nowEle.parentElement!);\r\n nowEle = nowEle.parentNode as HTMLElement;\r\n }\r\n return res;\r\n}\r\n","import { XClassMap } from '../interfaces';\r\n\r\n/**\r\n * 组件公共属性\r\n */\r\nexport class XProperty {\r\n /**\r\n * 样式映射属性\r\n */\r\n classMap: XClassMap = {};\r\n}\r\n","import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';\r\n\r\nexport interface XRouteReuseStorage {\r\n id: string;\r\n handle: DetachedRouteHandle;\r\n}\r\n\r\n// @dynamic\r\nexport class XReuseStrategyService implements RouteReuseStrategy {\r\n // 存储的复用路由\r\n public static storages: XRouteReuseStorage[] = [];\r\n // 用一个临时变量记录待删除的路由\r\n private static waitDelete: string | null;\r\n\r\n /**\r\n * 表示对所有路由允许复用 如果你有路由不想利用可以在这加一些业务逻辑判断\r\n */\r\n public shouldDetach(_route: ActivatedRouteSnapshot): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * 当路由离开时会触发。按path作为key存储路由快照&组件当前实例对象\r\n */\r\n public store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\r\n if (handle == null) return;\r\n if (XReuseStrategyService.waitDelete && this.getRouteUrl(route).indexOf(XReuseStrategyService.waitDelete) == 0) {\r\n //如果待删除是当前路由则不存储快照\r\n XReuseStrategyService.waitDelete = null;\r\n return;\r\n }\r\n this.add(this.getRouteUrl(route), handle);\r\n }\r\n\r\n /**\r\n * 若 path 在缓存中有的都认为允许还原路由\r\n */\r\n public shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n return !!XReuseStrategyService.storages.find((x) => x.id == this.getRouteUrl(route));\r\n }\r\n\r\n /**\r\n * 从缓存中获取快照,若无则返回nul\r\n */\r\n public retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {\r\n if (!route.routeConfig) {\r\n return {};\r\n }\r\n let stroage = XReuseStrategyService.storages.find((x) => x.id == this.getRouteUrl(route));\r\n return stroage ? stroage.handle : {};\r\n }\r\n\r\n /**\r\n * 进入路由触发,判断是否同一路由\r\n * 解决不同的参数也会认为是同一个路由,导致会将之前的路由拿出来复用\r\n */\r\n public shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n return future.routeConfig === curr.routeConfig && JSON.stringify(future.params) == JSON.stringify(curr.params);\r\n }\r\n\r\n /**\r\n * 解决不同的主路由会存在相同名称的子路由\r\n */\r\n private getRouteUrl(route: ActivatedRouteSnapshot) {\r\n let url = route.url.map((x) => x.path).join('_');\r\n return url;\r\n }\r\n\r\n /**\r\n * 删除复用的路由\r\n */\r\n public static deleteRouteSnapshot(name?: string): void {\r\n if (name) {\r\n let id = name.replace(/\\//g, '_');\r\n XReuseStrategyService.storages.splice(\r\n XReuseStrategyService.storages.findIndex((x) => x.id.indexOf(id) === 0),\r\n 1\r\n );\r\n XReuseStrategyService.waitDelete = id;\r\n } else {\r\n XReuseStrategyService.storages = [];\r\n }\r\n }\r\n\r\n private add(id: string, handle: DetachedRouteHandle) {\r\n XReuseStrategyService.storages.splice(\r\n XReuseStrategyService.storages.findIndex((x) => x.id == id),\r\n 1\r\n );\r\n XReuseStrategyService.storages = [...XReuseStrategyService.storages, { id: id, handle: handle }];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n// @dynamic\r\n@Injectable()\r\nexport class XPreloadingStrategyService implements PreloadingStrategy {\r\n // 需要预加载的模块\r\n preloadedModules: string[] = [];\r\n\r\n preload(route: Route, load: () => Observable<any>): Observable<any> {\r\n if (route.data && route.data['preload']) {\r\n this.preloadedModules.push(route.path as string);\r\n return load();\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n// @dynamic\r\n@Injectable({ providedIn: 'root' })\r\nexport class XHttpService {\r\n api: string = '';\r\n constructor(public http: HttpClient) {}\r\n\r\n /**\r\n * get请求\r\n */\r\n get(url: string, params?: { [property: string]: any }) {\r\n return this.request('GET', url, params);\r\n }\r\n\r\n /**\r\n * get请求\r\n */\r\n post(url: string, params?: { [property: string]: any }): Observable<any> {\r\n return this.request('POST', url, params);\r\n }\r\n\r\n /**\r\n * put请求\r\n */\r\n put(url: string, params?: { [property: string]: any }): Observable<any> {\r\n return this.request('PUT', url, params);\r\n }\r\n\r\n /**\r\n * delete请求\r\n */\r\n delete(url: string, params?: { [property: string]: any }): Observable<any> {\r\n return this.request('DELETE', url, params);\r\n }\r\n\r\n /**\r\n * request通用请求\r\n */\r\n request(method: string, url: string, params?: { [property: string]: any }, option?: { [property: string]: any }): Observable<any> {\r\n if (!option) option = {};\r\n let opt = {};\r\n url = `${this.api}${url}`;\r\n method = method.toUpperCase();\r\n if (['POST', 'PUT', 'DELETE'].indexOf(method) > -1) {\r\n opt = { body: params, observe: 'body', responseType: 'json' };\r\n } else if (['GET'].indexOf(method) > -1) {\r\n opt = { params: params };\r\n }\r\n Object.assign(opt, option);\r\n this.addHeader(opt);\r\n return new Observable((x) => {\r\n this.http.request(method, url, opt).subscribe(\r\n (y: any) => {\r\n x.next(y);\r\n x.complete();\r\n },\r\n (y) => {\r\n x.error(y);\r\n x.complete();\r\n this.handleError(y);\r\n }\r\n );\r\n });\r\n }\r\n\r\n /**\r\n * 错误处理\r\n */\r\n handleError(error: HttpErrorResponse) {\r\n if (error.error) {\r\n }\r\n return throwError(error.error);\r\n }\r\n\r\n /**\r\n * 添加头部信息\r\n */\r\n private addHeader(_option: { [property: string]: any }) {\r\n // let auth = this.setting.getSession(\"Auth\");\r\n // if (auth && auth[\"token\"]) {\r\n // option[\"headers\"] = { Authorization: `Bearer ${auth[\"token\"]}` };\r\n // }\r\n }\r\n}\r\n","import { Platform } from '@angular/cdk/platform';\r\nimport { Injectable } from '@angular/core';\r\nimport { XIsString } from '../interfaces';\r\n\r\n// @dynamic\r\n@Injectable({ providedIn: 'root' })\r\nexport class XStorageService {\r\n constructor(private platform: Platform) {}\r\n\r\n /**\r\n * 获取本地值\r\n */\r\n getLocal(key: string) {\r\n if (this.platform.isBrowser) {\r\n let str = localStorage.getItem(key);\r\n try {\r\n return JSON.parse(localStorage.getItem(key) || 'null') || null;\r\n } catch (_e) {\r\n return str;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * 设置本地值\r\n */\r\n setLocal(key: string, value: any) {\r\n if (this.platform.isBrowser) {\r\n if (XIsString(value)) {\r\n localStorage.setItem(key, value);\r\n } else {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前会话的值\r\n */\r\n getSession(key: string) {\r\n if (this.platform.isBrowser) {\r\n let str = localStorage.getItem(key);\r\n try {\r\n return JSON.parse(sessionStorage.getItem(key) || 'null') || null;\r\n } catch (_e) {\r\n return str;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * 设置当前会话值\r\n */\r\n setSession(key: string, value: any) {\r\n if (this.platform.isBrowser) {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n\r\n /**\r\n * 移除本地值\r\n */\r\n removeLocal(key: string) {\r\n if (this.platform.isBrowser) {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n\r\n /**\r\n * 移除当前会话\r\n */\r\n removeSession(key: string) {\r\n if (this.platform.isBrowser) {\r\n sessionStorage.removeItem(key);\r\n }\r\n }\r\n\r\n /**\r\n * 生成guid\r\n */\r\n guid() {\r\n let S4 = () => {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n };\r\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\r\n }\r\n}\r\n","import { XId, XQuery, XResultList } from '../interfaces';\r\nimport { XHttpService } from './http.service';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface XRepositoryInput {\r\n api?: string;\r\n controller: XController;\r\n}\r\n\r\nexport interface XController {\r\n name: string;\r\n}\r\n\r\nexport abstract class XRepositoryAbstract {\r\n abstract getList(index?: number, size?: number, query?: XQuery): Observable<XResultList<any>>;\r\n abstract get(id: number | string): Observable<any>;\r\n abstract post(entity: any): Observable<any>;\r\n abstract put(entity: any): Observable<any>;\r\n abstract delete(id: number | string): Observable<boolean>;\r\n}\r\n\r\nexport class XRepositoryService<Entity extends XId> extends XRepositoryAbstract {\r\n api = '';\r\n constructor(public http: XHttpService, public input: XRepositoryInput) {\r\n super();\r\n this.api = typeof input.api !== 'undefined' ? input.api : '';\r\n }\r\n\r\n getList(index?: number, size?: number, query?: XQuery): Observable<XResultList<Entity>> {\r\n index = index ? index : 1;\r\n size = size ? size : 10;\r\n return this.http.post(`${this.api}${this.input.controller.name}/${size}/${index}`, query);\r\n }\r\n\r\n get(id: number | string): Observable<Entity> {\r\n return this.http.get(`${this.api}${this.input.controller.name}/${id}`);\r\n }\r\n\r\n post(entity: Entity): Observable<Entity> {\r\n return this.http.post(`${this.api}${this.input.controller.name}`, entity);\r\n }\r\n\r\n put(entity: Entity): Observable<Entity> {\r\n return this.http.put(`${this.api}${this.input.controller.name}`, entity);\r\n }\r\n\r\n delete(id: number | string): Observable<boolean> {\r\n return this.http.delete(`${this.api}${this.input.controller.name}/${id}`);\r\n }\r\n}\r\n","import {\r\n XSize,\r\n XBoolean,\r\n XType,\r\n XEffect,\r\n XNumber,\r\n XPositionLeftRight,\r\n XJustify,\r\n XShape,\r\n XFit,\r\n XShadow,\r\n XTrigger,\r\n XDisplayDirection,\r\n XCorner,\r\n XDirection,\r\n XPlace,\r\n XPosition,\r\n XPlacement,\r\n XPositionTopBottom,\r\n XStatus,\r\n XAlign,\r\n XTemplate\r\n} from '../interfaces';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { XTheme } from '../theme';\r\n\r\nexport interface XConfig {\r\n components?: XComponentConfig;\r\n theme?: XTheme;\r\n}\r\n\r\nexport type XConfigKey = keyof XConfig;\r\n\r\nexport type XComponentConfigKey = keyof XComponentConfig;\r\n\r\nexport const X_CONFIG = new InjectionToken<XConfig>('x-config');\r\n\r\nexport interface XComponentConfig {\r\n affix?: XAffixConfig;\r\n alert?: XAlertConfig;\r\n anchor?: XAnchorConfig;\r\n avatar?: XAvatarConfig;\r\n autoComplete?: XAutoCompleteConfig;\r\n backTop?: XBackTopConfig;\r\n badge?: XBadgeConfgig;\r\n button?: XButtonConfig;\r\n buttons?: XButtonsConfig;\r\n calendar?: XCalendarConfig;\r\n card?: XCardConfig;\r\n carousel?: XCarouselConfig;\r\n cascade?: XCascadeConfig;\r\n checkbox?: XCheckboxConfig;\r\n collapse?: XCollapseConfig;\r\n color?: XColorConfig;\r\n colorPicker?: XColorPickerConfig;\r\n comment?: XCommentConfig;\r\n container?: XContainerConfig;\r\n header?: XHeaderConfig;\r\n aside?: XAsideConfig;\r\n footer?: XFooterConfig;\r\n crumb?: XCrumbComfig;\r\n datePicker?: XDatePickerConfig;\r\n dateRange?: XDateRangeConfig;\r\n dialog?: XDialogConfig;\r\n drawer?: XDrawerConfig;\r\n dropdown?: XDropdownConfig;\r\n description?: XDescriptionConfig;\r\n empty?: XEmptyConfig;\r\n find?: XFindConfig;\r\n form?: XFormConfig;\r\n highlight?: XHighlightConfig;\r\n icon?: XIconConfig;\r\n inner?: XInnerConfig;\r\n input?: XInputConfig;\r\n inputGroup?: XInputGroupConfig;\r\n inputNumber?: XInputNumberConfig;\r\n image?: XImageConfig;\r\n col?: XColConfig;\r\n row?: XRowConfig;\r\n ripple?: XRippleConfig;\r\n link?: XLinkConfig;\r\n list?: XListConfig;\r\n listOption?: XListOptionConfig;\r\n loading?: XLoadingConfig;\r\n menu?: XMenuConfig;\r\n message?: XMessageConfig;\r\n messageBox?: XMessageBoxConfig;\r\n notification?: XNotificationConfig;\r\n outlet?: XOutletConfig;\r\n pageHeader?: XPageHeaderConfig;\r\n pagination?: XPaginationConfig;\r\n pattern?: XPatternConfig;\r\n popconfirm?: XPopconfirmConfig;\r\n popover?: XPopoverConfig;\r\n portal?: XPortalConfig;\r\n progress?: XProgressConfing;\r\n radio?: XRadioConfig;\r\n rate?: XRateConfig;\r\n result?: XResultConfig;\r\n select?: XSelectConfig;\r\n skeleton?: XSkeletonConfig;\r\n slider?: XSliderConfig;\r\n sliderSelect?: XSliderSelectConfig;\r\n statistic?: XStatisticConfig;\r\n countdown?: XCountdownConfig;\r\n steps?: XStepsConfig;\r\n switch?: XSwitchConfig;\r\n table?: XTableConfig;\r\n tabs?: XTabsConfig;\r\n tag?: XTagConfig;\r\n textRetract?: XTextRetractConfig;\r\n theme?: XThemeConfig;\r\n timeAgo?: XTimeAgoConfig;\r\n timePicker?: XTimePickerConfig;\r\n timeRange?: XTimeRangeConfig;\r\n timeline?: XTimelineConfig;\r\n tooltip?: XTooltipConfig;\r\n transfer?: XTransferConfig;\r\n tree?: XTreeConfig;\r\n treeFile?: XTreeFileConfig;\r\n treeSelect?: XTreeSelectConfig;\r\n textarea?: XTextareaConfig;\r\n upload?: XUploadConfig;\r\n keyword?: XKeywordConfig;\r\n}\r\n\r\nexport interface XAffixConfig {\r\n top?: string;\r\n left?: string;\r\n}\r\n\r\nexport interface XAlertConfig {\r\n effect?: XEffect;\r\n hideClose?: XBoolean;\r\n showIcon?: XBoolean;\r\n disabledAnimation?: XBoolean;\r\n draggable?: XBoolean;\r\n resizable?: XBoolean;\r\n dragHandleTitle?: XBoolean;\r\n duration?: XNumber;\r\n}\r\n\r\nexport interface XAnchorConfig {\r\n affixTop?: string;\r\n affixWidth?: string;\r\n layout?: XPositionLeftRight;\r\n justify?: XJustify;\r\n}\r\n\r\nexport interface XAvatarConfig {\r\n size?: XSize;\r\n shape?: XShape;\r\n fit?: XFit;\r\n gap?: number;\r\n backgroundColor?: string;\r\n}\r\n\r\nexport interface XAutoCompleteConfig {\r\n placement?: XPositionTopBottom;\r\n debounceTime?: number;\r\n size?: XSize;\r\n bordered?: boolean;\r\n caseSensitive?: boolean;\r\n onlySelect?: boolean;\r\n}\r\n\r\nexport interface XBackTopConfig {\r\n right?: string;\r\n bottom?: string;\r\n visibilityHeight?: XNumber;\r\n}\r\n\r\nexport interface XBadgeConfgig {\r\n type?: XType;\r\n}\r\n\r\nexport interface XButtonConfig {\r\n size?: XSize;\r\n type?: XType;\r\n plain?: XBoolean;\r\n round?: XBoolean;\r\n circle?: XBoolean;\r\n attrType?: 'submit' | 'button' | 'reset';\r\n}\r\n\r\nexport interface XButtonsConfig {\r\n space?: XNumber;\r\n hiddenBorder?: XBoolean;\r\n}\r\n\r\nexport interface XCalendarConfig {}\r\n\r\nexport interface XCardConfig {\r\n shadow?: XShadow;\r\n}\r\n\r\nexport interface XCarouselConfig {\r\n height?: string;\r\n trigger?: XTrigger;\r\n arrow?: XShadow;\r\n direction?: XDisplayDirection;\r\n}\r\n\r\nexport interface XCascadeConfig {\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: boolean;\r\n nodeTrigger?: XTrigger;\r\n nodeHoverDelay?: XNumber;\r\n}\r\n\r\nexport interface XCheckboxConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XCollapseConfig {\r\n showIcon?: Boolean;\r\n ghost?: Boolean;\r\n iconPosition?: 'left' | 'right';\r\n bordered?: Boolean;\r\n}\r\n\r\nexport interface XColorConfig {\r\n merge?: string;\r\n amounts?: string;\r\n}\r\n\r\nexport interface XColorPickerConfig {\r\n placement?: XCorner;\r\n}\r\n\r\nexport interface XCommentConfig {\r\n contentMax?: number;\r\n}\r\n\r\nexport interface XContainerConfig {\r\n direction?: XDirection;\r\n}\r\n\r\nexport interface XHeaderConfig {\r\n height?: number;\r\n}\r\n\r\nexport interface XAsideConfig {\r\n width?: number;\r\n}\r\n\r\nexport interface XFooterConfig {\r\n height?: number;\r\n}\r\n\r\nexport interface XCrumbComfig {\r\n separator?: string;\r\n}\r\n\r\nexport interface XDatePickerConfig {\r\n format?: string;\r\n clearable?: XBoolean;\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: boolean;\r\n}\r\n\r\nexport interface XDateRangeConfig {\r\n format?: string;\r\n clearable?: XBoolean;\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n}\r\n\r\nexport interface XDialogConfig {\r\n placement?: XPlace;\r\n offset?: string;\r\n width?: string;\r\n minWidth?: string;\r\n minHeight?: string;\r\n effect?: XEffect;\r\n showCancel?: XBoolean;\r\n cancelText?: string;\r\n showConfirm?: XBoolean;\r\n confirmText?: string;\r\n backdropClose?: XBoolean;\r\n draggable?: XBoolean;\r\n resizable?: XBoolean;\r\n maximize?: XBoolean;\r\n hasBackdrop?: XBoolean;\r\n className?: string;\r\n buttonsCenter?: XBoolean;\r\n}\r\n\r\nexport interface XDrawerConfig {\r\n placement?: XPosition;\r\n size?: string;\r\n backdropClose?: XBoolean;\r\n hasBackdrop?: XBoolean;\r\n className?: string;\r\n}\r\n\r\nexport interface XDropdownConfig {\r\n trigger?: XTrigger;\r\n placement?: XPlacement;\r\n}\r\n\r\nexport interface XDescriptionConfig {\r\n bordered?: XBoolean;\r\n size?: XSize;\r\n}\r\n\r\nexport interface XEmptyConfig {\r\n img?: XTemplate;\r\n content?: XTemplate;\r\n}\r\n\r\nexport interface XFindConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n columnLabel?: string;\r\n dialogTitle?: string;\r\n dialogCheckboxLabel?: string;\r\n dialogCheckboxWidth?: number;\r\n dialogEmptyContent?: string;\r\n dialogButtonsCenter?: XBoolean;\r\n tableIndex?: number;\r\n tableSize?: number;\r\n tableLoading?: XBoolean;\r\n tableVirtualScroll?: boolean;\r\n tableRowHeight?: XNumber;\r\n treeExpandedLevel?: XNumber;\r\n}\r\n\r\nexport interface XFormConfig {\r\n space?: XNumber;\r\n labelSuffix?: string;\r\n width?: string;\r\n}\r\n\r\nexport interface XHighlightConfig {}\r\n\r\nexport interface XIconConfig {\r\n href?: string;\r\n}\r\n\r\nexport interface XInnerConfig {\r\n padding?: string;\r\n}\r\n\r\nexport interface XInputConfig {\r\n clearable?: XBoolean;\r\n iconLayout?: XPositionLeftRight;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n inputPadding?: XNumber;\r\n inputIconPadding?: XNumber;\r\n}\r\n\r\nexport interface XInputGroupConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n compact?: XBoolean;\r\n}\r\n\r\nexport interface XInputNumberConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n}\r\n\r\nexport interface XImageConfig {\r\n previewText?: string;\r\n}\r\n\r\nexport interface XColConfig {}\r\n\r\nexport interface XRowConfig {}\r\n\r\nexport interface XRippleConfig {\r\n type?: XType;\r\n}\r\n\r\nexport interface XLinkConfig {\r\n underline?: XBoolean;\r\n iconRight?: XBoolean;\r\n preventDefault?: XBoolean;\r\n}\r\n\r\nexport interface XListConfig {\r\n selectAllText?: string;\r\n loadMoreText?: string;\r\n loadingMoreText?: string;\r\n caseSensitive?: boolean;\r\n}\r\n\r\nexport interface XListOptionConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XLoadingConfig {\r\n size?: XSize;\r\n text?: string;\r\n icon?: string;\r\n color?: string;\r\n background?: string;\r\n zIndex?: number;\r\n}\r\n\r\nexport interface XMenuConfig {\r\n size?: XSize;\r\n width?: string;\r\n trigger?: XTrigger;\r\n}\r\n\r\nexport interface XMessageConfig {\r\n type?: XStatus;\r\n width?: string;\r\n placement?: XPlace;\r\n displayType?: string;\r\n offset?: string | string[];\r\n duration?: number;\r\n hideClose?: boolean;\r\n showIcon?: boolean;\r\n}\r\n\r\nexport interface XMessageBoxConfig {}\r\n\r\nexport interface XNotificationConfig {}\r\n\r\nexport interface XOutletConfig {}\r\n\r\nexport interface XPageHeaderConfig {\r\n backIcon?: string;\r\n backText?: string;\r\n}\r\n\r\nexport interface XPaginationConfig {\r\n index?: XNumber;\r\n size?: XNumber;\r\n space?: XNumber;\r\n pageLinkSize?: XNumber;\r\n hiddenBorder?: boolean;\r\n showEllipsis?: boolean;\r\n showTotal?: boolean;\r\n showSize?: boolean;\r\n sizeWidth?: number;\r\n sizeData?: number[];\r\n showInputSize?: boolean;\r\n inputSizeWidth?: number;\r\n showJump?: boolean;\r\n jumpWidth?: number;\r\n simple?: boolean;\r\n simpleIndexWidth?: number;\r\n}\r\n\r\nexport interface XPatternConfig {}\r\n\r\nexport interface XPopconfirmConfig {\r\n placement?: XPlacement;\r\n trigger?: XTrigger;\r\n width?: string;\r\n icon?: string;\r\n iconColor?: string;\r\n cancelText?: string;\r\n confirmText?: string;\r\n}\r\n\r\nexport interface XPopoverConfig {\r\n placement?: XPlacement;\r\n trigger?: XTrigger;\r\n width?: string;\r\n}\r\n\r\nexport interface XPortalConfig {}\r\n\r\nexport interface XProgressConfing {\r\n height?: string;\r\n stepWidth?: string;\r\n}\r\n\r\nexport interface XRadioConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XRateConfig {\r\n color?: string | { [color: string]: (rate: number) => boolean };\r\n}\r\n\r\nexport interface XResultConfig {}\r\n\r\nexport interface XSelectConfig {\r\n placement?: XPositionTopBottom;\r\n clearable?: XBoolean;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n portalMaxHeight?: string;\r\n selectAllText?: string;\r\n search?: XBoolean;\r\n caseSensitive?: XBoolean;\r\n debounceTime?: number;\r\n maxTagCount?: number;\r\n virtualScroll?: XBoolean;\r\n}\r\n\r\nexport interface XSkeletonConfig {}\r\n\r\nexport interface XSliderConfig {\r\n animated?: XBoolean;\r\n size?: XSize;\r\n showExpand?: XBoolean;\r\n autoShowArrow?: XBoolean;\r\n trigger?: XTrigger;\r\n}\r\n\r\nexport interface XSliderSelectConfig {}\r\n\r\nexport interface XStatisticConfig {}\r\n\r\nexport interface XCountdownConfig {\r\n format?: string;\r\n}\r\n\r\nexport interface XStepsConfig {}\r\n\r\nexport interface XSwitchConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XTableConfig {\r\n index?: number;\r\n size?: number;\r\n loading?: XBoolean;\r\n showHeader?: XBoolean;\r\n virtualScroll?: boolean;\r\n rowHeight?: XNumber;\r\n itemSize?: XNumber;\r\n bordered?: XNumber;\r\n allowSelectRow?: XBoolean;\r\n allowCheckRow?: XBoolean;\r\n rowSize?: XSize;\r\n showPagination?: XBoolean;\r\n treeTable?: XBoolean;\r\n expandedAll?: XBoolean;\r\n expandedLevel?: XNumber;\r\n hiddenPaginationBorder?: XBoolean;\r\n hiddenWrapBorder?: XBoolean;\r\n showEmpty?: XBoolean;\r\n emptyImg?: XTemplate;\r\n emptyContent?: XTemplate;\r\n}\r\n\r\nexport interface XTabsConfig {\r\n size?: XSize;\r\n trigger?: XTrigger;\r\n}\r\n\r\nexport interface XTagConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n closable?: XBoolean;\r\n dark?: XBoolean;\r\n}\r\n\r\nexport interface XTextRetractConfig {\r\n max?: XNumber;\r\n}\r\n\r\nexport interface XThemeConfig {\r\n amounts?: XNumber[];\r\n}\r\n\r\nexport interface XTimeAgoConfig {}\r\n\r\nexport interface XTimePickerConfig {\r\n format?: string;\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n use12Hours?: XBoolean;\r\n defaultNow?: XBoolean;\r\n}\r\n\r\nexport interface XTimeRangeConfig {}\r\n\r\nexport interface XTimelineConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XTooltipConfig {\r\n placement?: XPlacement;\r\n}\r\n\r\nexport interface XTransferConfig {\r\n titles?: string[];\r\n drag?: XBoolean;\r\n virtualScroll?: XBoolean;\r\n}\r\n\r\nexport interface XTreeConfig {\r\n spacing?: XNumber;\r\n nodeHeight?: XNumber;\r\n nodeAlignItems?: XAlign;\r\n virtualScroll?: boolean;\r\n onlyLeaf?: boolean;\r\n showLine?: boolean;\r\n}\r\n\r\nexport interface XTextareaConfig {\r\n clearable?: XBoolean;\r\n iconLayout?: XPositionLeftRight;\r\n}\r\n\r\nexport interface XTreeFileConfig {\r\n maxHeight?: XNumber;\r\n spacing?: XNumber;\r\n}\r\n\r\nexport interface XTreeSelectConfig {\r\n placement?: XPositionTopBottom;\r\n clearable?: XBoolean;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n portalMaxHeight?: string;\r\n selectAllText?: string;\r\n search?: XBoolean;\r\n caseSensitive?: XBoolean;\r\n debounceTime?: number;\r\n maxTagCount?: number;\r\n virtualScroll?: XBoolean;\r\n showPath?: XBoolean;\r\n separator?: string;\r\n onlyLeaf?: boolean;\r\n}\r\n\r\nexport interface XUploadConfig {\r\n download?: XBoolean;\r\n multipleModel?: 'cover' | 'add';\r\n}\r\n\r\nexport interface XKeywordConfig {\r\n type?: XType;\r\n color?: string;\r\n caseSensitive?: boolean;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface XTheme {\r\n colors?: XColorsTheme;\r\n}\r\n\r\nexport interface XColorsTheme {\r\n primary?: string;\r\n success?: string;\r\n warning?: string;\r\n danger?: string;\r\n info?: string;\r\n text?: string;\r\n border?: string;\r\n background?: string;\r\n [property: string]: any;\r\n}\r\n\r\nexport type XThemeKey = keyof XTheme;\r\n\r\nexport type XColors = 'primary' | 'success' | 'warning' | 'danger' | 'info';\r\n\r\nexport const X_THEME = new InjectionToken<XTheme>('x-theme');\r\n\r\nexport const X_THEME_PREFIX = '--x-';\r\n\r\nexport const X_THEME_MERGE = '#ffffff';\r\n\r\nexport const X_THEME_BLACK_MERGE = '#cccccc';\r\n\r\nexport const X_THEME_AMOUNTS = [0, -0.1, -0.2, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9];\r\n\r\nexport const X_THEME_BACKGROUNDS = [-0.2, -0.3, -0.4];\r\n\r\nexport const X_THEME_TEXTS = [\r\n [-0.5, 0],\r\n [-0.6, 0.2],\r\n [-0.7, 0.4]\r\n];\r\n\r\nexport const X_THEME_BORDERS = [\r\n [-0.8, 0],\r\n [-0.9, 0.2]\r\n];\r\n\r\nexport const X_THEME_EXCHANGES = [\r\n [-0.1, -0.1],\r\n [0.1, -0.1],\r\n [0.2, 0.2],\r\n [0.3, 0],\r\n [0.4, -0.4],\r\n [0.5, -0.2],\r\n [0.6, 0],\r\n [0.7, -0.4],\r\n [0.8, -0.4],\r\n [0.9, -0.2]\r\n];\r\n\r\nexport const X_THEME_COLORS: XColorsTheme = {\r\n primary: '#1976d2',\r\n success: '#67c23a',\r\n warning: '#e6a23c',\r\n danger: '#f56c6c',\r\n info: '#909399',\r\n text: '#333333',\r\n border: '#dddddd',\r\n background: '#ffffff'\r\n};\r\n\r\nexport const X_THEME_DARK_COLORS: XColorsTheme = {\r\n text: '#dddddd',\r\n border: '#424242',\r\n background: '#1e1e1f'\r\n};\r\n\r\nexport const X_THEME_COLOR_KEYS = Object.keys(X_THEME_COLORS);\r\n","import { Injectable, RendererFactory2, Renderer2, inject } from '@angular/core';\r\nimport {\r\n XTheme,\r\n XColorsTheme,\r\n X_THEME_COLORS,\r\n X_THEME_COLOR_KEYS,\r\n X_THEME_PREFIX,\r\n X_THEME_AMOUNTS,\r\n X_THEME_MERGE,\r\n X_THEME_BLACK_MERGE,\r\n X_THEME_EXCHANGES,\r\n X_THEME_BACKGROUNDS,\r\n X_THEME_TEXTS,\r\n X_THEME_BORDERS\r\n} from './theme';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XComputed } from '../util';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XThemeService {\r\n private colorsProp: XColorsTheme = {};\r\n private colorsStyleEle!: HTMLStyleElement;\r\n private renderer2: Renderer2;\r\n private declaration: CSSStyleDeclaration;\r\n private doc: Document = inject(DOCUMENT);\r\n\r\n constructor(private factory: RendererFactory2) {\r\n this.renderer2 = this.factory.createRenderer(null, null);\r\n this.declaration = XComputed(this.doc.documentElement);\r\n }\r\n\r\n setInitialTheme(theme?: XTheme) {\r\n this.setColors(theme?.colors);\r\n if (theme?.colors) Object.assign(X_THEME_COLORS, theme.colors);\r\n }\r\n\r\n setTheme(theme?: XTheme) {\r\n this.setColors(theme?.colors);\r\n }\r\n\r\n getTheme(includesAll = false): XTheme {\r\n return {\r\n colors: this.getColors(includesAll)\r\n };\r\n }\r\n\r\n setColors(colors?: XColorsTheme) {\r\n colors = this.getColorsTheme(colors);\r\n for (let key in colors) {\r\n Object.assign(this.colorsProp, this.setRoot(key, colors[key]));\r\n }\r\n this.createColorsStyle();\r\n }\r\n\r\n getColors(includes = false, prefix = X_THEME_PREFIX): XColorsTheme {\r\n let result: XColorsTheme = {};\r\n const keys = includes ? Object.keys(this.colorsProp) : X_THEME_COLOR_KEYS.map((x) => `${prefix}${x}`);\r\n keys.forEach((x) => {\r\n result[x.replace(prefix, '')] = this.declaration.getPropertyValue(`${x}`).trim();\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getColorsInProperty(colors?: XColorsTheme, prefix = X_THEME_PREFIX): XColorsTheme {\r\n let result: XColorsTheme = {};\r\n Object.keys(colors as XColorsTheme).forEach((x) => {\r\n result[x] = this.declaration.getPropertyValue(`${prefix}${x}`).trim();\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getColorsTheme(colors?: XColorsTheme) {\r\n if (typeof colors === 'undefined') colors = X_THEME_COLORS;\r\n else colors = Object.assign({}, X_THEME_COLORS, colors);\r\n return colors;\r\n }\r\n\r\n setRoot(color: string, value: string, prefix = X_THEME_PREFIX) {\r\n let result: XColorsTheme = {};\r\n if (X_THEME_COLOR_KEYS.includes(color)) {\r\n for (let amount of X_THEME_AMOUNTS) {\r\n if (amount === 0) {\r\n result[`${prefix}${color}`] = value;\r\n } else {\r\n result[`${prefix}${color}${this.getSuffix(amount)}`] = toHex(\r\n mixColors(amount > 0 ? X_THEME_MERGE : X_THEME_BLACK_MERGE, value, Math.abs(amount))\r\n );\r\n }\r\n }\r\n } else {\r\n result[`${prefix}${color}`] = value;\r\n }\r\n return result;\r\n }\r\n\r\n setDarkRoot(color: string, value: string, prefix = X_THEME_PREFIX) {\r\n let result: XColorsTheme = {};\r\n const allColors = this.setRoot(color, value, '');\r\n if (X_THEME_COLOR_KEYS.includes(color) && !['background'].includes(color)) {\r\n const allColors = this.setRoot(color, value, prefix);\r\n X_THEME_EXCHANGES.forEach((x) => {\r\n if (x[1] >= -0.1) {\r\n const curr = this.getSuffix(x[0]);\r\n const next = this.getSuffix(x[1]);\r\n result[`${prefix}${color}${curr}`] = allColors[`${prefix}${color}${next}`];\r\n }\r\n });\r\n } else if (['background'].includes(color)) {\r\n result = this.getDefineColors(Object.assign({}, this.getColorsInProperty(X_THEME_COLORS), allColors), '', true);\r\n }\r\n return result;\r\n }\r\n\r\n getDefineColors(colors?: XColorsTheme, prefix = X_THEME_PREFIX, darken = false): XColorsTheme {\r\n let result: XColorsTheme = {};\r\n colors = this.getColorsTheme(colors);\r\n for (let key in colors) {\r\n Object.assign(result, this.setRoot(key, colors[key], prefix));\r\n }\r\n if (darken) {\r\n const colorsFunc = (nums: number[] | number[][], callback: Function) => {\r\n for (let num of nums) {\r\n for (let color in colors) {\r\n if (X_THEME_COLOR_KEYS.includes(color) && !['background'].includes(color)) {\r\n callback(num, color);\r\n }\r\n }\r\n }\r\n };\r\n colorsFunc(X_THEME_BACKGROUNDS, (background: number, color: string) => {\r\n const theme = this.getSuffix(background);\r\n result[`${prefix}${color}${theme}`] = result[`${prefix}background${theme.replace('a', '')}`];\r\n });\r\n colorsFunc(X_THEME_TEXTS, (text: number[], color: string) => {\r\n const curr = this.getSuffix(text[0]);\r\n const next = this.getSuffix(text[1]);\r\n result[`${prefix}${color}${curr}`] = result[`${prefix}text${next}`];\r\n });\r\n colorsFunc(X_THEME_BORDERS, (border: number[], color: string) => {\r\n const curr = this.getSuffix(border[0]);\r\n const next = this.getSuffix(border[1]);\r\n result[`${prefix}${color}${curr}`] = result[`${prefix}border${next}`];\r\n });\r\n colorsFunc(X_THEME_EXCHANGES, (exchange: number[], color: string) => {\r\n const curr = this.getSuffix(exchange[0]);\r\n const next = this.getSuffix(exchange[1]);\r\n result[`${prefix}${color}${curr}`] = result[`${prefix}${color}${next}`];\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n getSuffix(num: number): string {\r\n if (num > 0) {\r\n return `-${Math.abs(num * 1000)}`;\r\n } else if (num < 0) {\r\n return `-a${Math.abs(num * 1000)}`;\r\n }\r\n return '';\r\n }\r\n\r\n createColorsStyle() {\r\n if (this.colorsStyleEle) this.renderer2.removeChild(this.colorsStyleEle.parentNode, this.colorsStyleEle);\r\n const styles = Object.entries(this.colorsProp)\r\n .map((x) => `${x[0]}: ${x[1]};`)\r\n .join('');\r\n this.colorsStyleEle = this.renderer2.createElement('style');\r\n this.colorsStyleEle.innerHTML = `.x-theme-colors{${styles}}`;\r\n this.renderer2.addClass(this.doc.documentElement, 'x-theme-colors');\r\n this.doc.documentElement.getElementsByTagName('head')[0].appendChild(this.colorsStyleEle);\r\n }\r\n}\r\n\r\nexport function mixColors(color1: string, color2: string, weight: number) {\r\n let rgb1 = toRgb(color1);\r\n let rgb2 = toRgb(color2);\r\n let weight1 = weight;\r\n let weight2 = 1 - weight;\r\n let result: { r: number; g: number; b: number };\r\n\r\n const inRange = (num: number) => {\r\n return num > 255 ? 255 : num < 0 ? 0 : num;\r\n };\r\n\r\n result = {\r\n r: inRange(Math.round(rgb1.r * weight1 + rgb2.r * weight2)),\r\n g: inRange(Math.round(rgb1.g * weight1 + rgb2.g * weight2)),\r\n b: inRange(Math.round(rgb1.b * weight1 + rgb2.b * weight2))\r\n };\r\n\r\n return result;\r\n}\r\n\r\nexport function toHex(rgb: { r: number; g: number; b: number }) {\r\n return '#' + ((1 << 24) + (rgb.r << 16) + (rgb.g << 8) + rgb.b).toString(16).slice(1);\r\n}\r\n\r\nexport function toRgb(hex: string) {\r\n if (hex.indexOf('#') == 0) hex = hex.slice(1);\r\n let num = parseInt(hex, 16);\r\n let r = num >> 16;\r\n if (r > 255) r = 255;\r\n else if (r < 0) r = 0;\r\n let g = (num >> 8) & 0x00ff;\r\n if (g > 255) g = 255;\r\n else if (g < 0) g = 0;\r\n let b = num & 0x0000ff;\r\n if (b > 255) b = 255;\r\n else if (b < 0) b = 0;\r\n\r\n return { r: r, g: g, b: b };\r\n}\r\n","// tslint:disable no-any\r\n\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XConfig, X_CONFIG, XComponentConfigKey, XComponentConfig } from './config';\r\nimport { XThemeService, XTheme, X_THEME_COLORS, X_THEME_DARK_COLORS } from '../theme';\r\nimport { filter, mapTo } from 'rxjs/operators';\r\n\r\nconst isDefined = function (value?: any): boolean {\r\n return value !== undefined;\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XConfigService {\r\n private componentConfigUpdated$ = new Subject<keyof XComponentConfig>();\r\n private config: XConfig;\r\n private defaultConfig = inject(X_CONFIG, { optional: true })!;\r\n public themeService = inject(XThemeService, { optional: true })!;\r\n\r\n constructor() {\r\n this.config = this.defaultConfig || {};\r\n this.setInitialTheme(this.config.theme);\r\n }\r\n\r\n getConfigForComponent<T extends XComponentConfigKey>(componentName: T): XComponentConfig[T] {\r\n return this.config?.components ? this.config.components[componentName] : undefined;\r\n }\r\n\r\n getConfigChangeEventForComponent(componentName: XComponentConfigKey): Observable<void> {\r\n return this.componentConfigUpdated$.pipe(\r\n filter((n) => n === componentName),\r\n mapTo(undefined)\r\n );\r\n }\r\n\r\n set<T extends XComponentConfigKey>(componentName: T, value: XComponentConfig[T]): void {\r\n if (this.config?.components) {\r\n this.config.components[componentName] = { ...this.config.components[componentName], ...value };\r\n this.componentConfigUpdated$.next(componentName);\r\n }\r\n }\r\n\r\n setDarkTheme(theme?: XTheme) {\r\n let colors = theme?.colors;\r\n if (!colors) colors = X_THEME_DARK_COLORS;\r\n this.setTheme({\r\n colors: this.themeService.getDefineColors(Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors), '', true)\r\n });\r\n }\r\n\r\n setLightTheme(theme?: XTheme) {\r\n let colors = theme?.colors;\r\n if (!colors) colors = X_THEME_COLORS;\r\n this.setTheme({\r\n colors: this.themeService.getDefineColors(Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors), '', false)\r\n });\r\n }\r\n\r\n setTheme(theme?: XTheme) {\r\n this.themeService.setTheme(theme);\r\n }\r\n\r\n setInitialTheme(theme?: XTheme) {\r\n this.themeService.setInitialTheme(theme);\r\n }\r\n\r\n getTheme(includesAll = false): XTheme {\r\n return this.themeService.getTheme(includesAll);\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:typedef\r\nexport function XWithConfig<T>(componentName: XComponentConfigKey, innerDefaultValue?: T) {\r\n return function ConfigDecorator(target: any, propName: any, originalDescriptor?: TypedPropertyDescriptor<T>): any {\r\n const privatePropName = `$$__assignedValue__${propName}`;\r\n\r\n Object.defineProperty(target, privatePropName, {\r\n configurable: true,\r\n writable: true,\r\n enumerable: false\r\n });\r\n\r\n return {\r\n get(): T | undefined {\r\n const originalValue = originalDescriptor && originalDescriptor.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\r\n\r\n if (isDefined(originalValue)) {\r\n return originalValue;\r\n }\r\n\r\n const componentConfig = this.configService?.getConfigForComponent(componentName) || {};\r\n const configValue = componentConfig[propName];\r\n\r\n return isDefined(configValue) ? configValue : innerDefaultValue;\r\n },\r\n set(value: T): void {\r\n if (originalDescriptor && originalDescriptor.set) {\r\n originalDescriptor.set.bind(this)(value);\r\n } else {\r\n this[privatePropName] = value;\r\n }\r\n },\r\n configurable: true,\r\n enumerable: true\r\n };\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["XDURATION_BASE_EASE_IN","XDURATION_BASE_EASE_OUT","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-core.mjs","sources":["../../../../lib/ng-nest/ui/core/util/option.ts","../../../../lib/ng-nest/ui/core/util/host.ts","../../../../lib/ng-nest/ui/core/util/log.ts","../../../../lib/ng-nest/ui/core/util/computed-style.ts","../../../../lib/ng-nest/ui/core/util/animation.ts","../../../../lib/ng-nest/ui/core/util/html.ts","../../../../lib/ng-nest/ui/core/util/check.ts","../../../../lib/ng-nest/ui/core/animation/consts.ts","../../../../lib/ng-nest/ui/core/animation/fade.ts","../../../../lib/ng-nest/ui/core/animation/slide.ts","../../../../lib/ng-nest/ui/core/animation/drop.ts","../../../../lib/ng-nest/ui/core/animation/move.ts","../../../../lib/ng-nest/ui/core/animation/connect.ts","../../../../lib/ng-nest/ui/core/animation/badge.ts","../../../../lib/ng-nest/ui/core/animation/opacity.ts","../../../../lib/ng-nest/ui/core/interfaces/data.type.ts","../../../../lib/ng-nest/ui/core/interfaces/identify.type.ts","../../../../lib/ng-nest/ui/core/functions/convert.ts","../../../../lib/ng-nest/ui/core/functions/date.ts","../../../../lib/ng-nest/ui/core/functions/flex.ts","../../../../lib/ng-nest/ui/core/functions/drop.ts","../../../../lib/ng-nest/ui/core/functions/remove.ts","../../../../lib/ng-nest/ui/core/functions/order-by.ts","../../../../lib/ng-nest/ui/core/functions/clone-deep.ts","../../../../lib/ng-nest/ui/core/functions/has-in.ts","../../../../lib/ng-nest/ui/core/functions/chunk.ts","../../../../lib/ng-nest/ui/core/functions/guid.ts","../../../../lib/ng-nest/ui/core/functions/group-by.ts","../../../../lib/ng-nest/ui/core/functions/resize.ts","../../../../lib/ng-nest/ui/core/functions/parent-path.ts","../../../../lib/ng-nest/ui/core/functions/property.ts","../../../../lib/ng-nest/ui/core/services/reuse-strategy.service.ts","../../../../lib/ng-nest/ui/core/services/preloading-strategy.service.ts","../../../../lib/ng-nest/ui/core/services/http.service.ts","../../../../lib/ng-nest/ui/core/services/storage.service.ts","../../../../lib/ng-nest/ui/core/services/repository.service.ts","../../../../lib/ng-nest/ui/core/config/config.ts","../../../../lib/ng-nest/ui/core/theme/theme.ts","../../../../lib/ng-nest/ui/core/theme/theme.service.ts","../../../../lib/ng-nest/ui/core/config/config.service.ts","../../../../lib/ng-nest/ui/core/ng-nest-ui-core.ts"],"sourcesContent":["/**\r\n * Fill default values\r\n * @param option option\r\n * @param def default\r\n */\r\nexport function fillDefault(option: { [property: string]: any }, def: { [property: string]: any }) {\r\n if (option && def) {\r\n for (const key in def) {\r\n if (typeof option[key] === 'undefined') {\r\n option[key] = def[key];\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * 删除当前标签,保留内容\r\n */\r\nexport function removeNgTag(nativeElement: HTMLElement): void {\r\n const parentElement = nativeElement.parentElement;\r\n if (!parentElement || !parentElement.insertBefore) return;\r\n while (nativeElement.firstChild) {\r\n parentElement.insertBefore(nativeElement.firstChild, nativeElement);\r\n }\r\n parentElement.removeChild(nativeElement);\r\n}\r\n","export function warnSVGTagNotFound() {\r\n console.warn(`<svg> tag not found.`);\r\n}\r\nexport function warnIconTypeNotFound() {\r\n console.warn(`icon type not found.`);\r\n}\r\n","export function XComputedStyle(element: HTMLElement, style: string) {\r\n let computed = XComputed(element);\r\n let value = computed[style as any];\r\n return value.replace(/px/g, '');\r\n}\r\n\r\nexport function XComputed(element: HTMLElement) {\r\n if (typeof getComputedStyle === 'function') {\r\n return getComputedStyle(element);\r\n }\r\n return element.style;\r\n}\r\n","// tslint:disable:no-any typedef no-invalid-this\r\nconst availablePrefixes = ['moz', 'ms', 'webkit'];\r\n\r\nfunction requestAnimationFramePolyfill(): typeof requestAnimationFrame {\r\n let lastTime = 0;\r\n return function (callback: FrameRequestCallback): any {\r\n const currTime = new Date().getTime();\r\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n const id = setTimeout(() => {\r\n callback(currTime + timeToCall);\r\n }, timeToCall);\r\n lastTime = currTime + timeToCall;\r\n return id;\r\n };\r\n}\r\n\r\nfunction getRequestAnimationFrame(): typeof requestAnimationFrame {\r\n if (typeof window === 'undefined') {\r\n return () => 0;\r\n }\r\n if (window.requestAnimationFrame) {\r\n return window.requestAnimationFrame.bind(window);\r\n }\r\n\r\n const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0];\r\n\r\n return prefix ? (window as any)[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\r\n}\r\n// export function cancelRequestAnimationFrame(id: number): any {\r\n// if (typeof window === \"undefined\") {\r\n// return null;\r\n// }\r\n// if (window.cancelAnimationFrame) {\r\n// return window.cancelAnimationFrame(id);\r\n// }\r\n// const prefix = availablePrefixes.filter(\r\n// key =>\r\n// `${key}CancelAnimationFrame` in window ||\r\n// `${key}CancelRequestAnimationFrame` in window\r\n// )[0];\r\n\r\n// return prefix\r\n// ? (\r\n// (window as any)[`${prefix}CancelAnimationFrame`] ||\r\n// (window as any)[`${prefix}CancelRequestAnimationFrame`]\r\n// )\r\n// // @ts-ignore\r\n// .call(this, id)\r\n// : clearTimeout(id);\r\n// }\r\n\r\nexport const reqAnimFrame = getRequestAnimationFrame();\r\n","/**\r\n * 去除HTML标签\r\n */\r\n export function stripTags(text: string, ...usefulTags: any[]): string {\r\n if (!text || typeof (text) !== 'string')\r\n return text;\r\n return usefulTags.length > 0\r\n ? text.replace(new RegExp(`<(?!\\/?(${usefulTags.join('|')})\\s*\\/?)[^>]+>`, 'g'), '')\r\n : text.replace(/<(?:.|\\s)*?>/g, '');\r\n}\r\n","export function isNotNil<T>(value: T): value is NonNullable<T> {\r\n return typeof value !== 'undefined' && value !== null;\r\n}\r\n\r\nexport function isNil(value: unknown): value is null | undefined {\r\n return typeof value === 'undefined' || value === null;\r\n}\r\n","export enum XDuration {\r\n Slow = '0.3s',\r\n Base = '0.2s',\r\n Fast = '0.1s'\r\n}\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\n// 进场动画\r\nconst XDURATION_BASE_EASE_IN = `${XDuration.Fast} ease-in`;\r\n// 移除动画\r\nconst XDURATION_BASE_EASE_OUT = `${XDuration.Fast} ease-out`;\r\n\r\nexport const XFadeAnimation: AnimationTriggerMetadata = trigger('x-fade-animation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0.8)' }),\r\n animate(`${XDURATION_BASE_EASE_IN}`, style({ opacity: 1, transform: 'scale(1)' }))\r\n ]),\r\n transition(':leave', [animate(`${XDURATION_BASE_EASE_OUT}`, style({ opacity: 0 }))])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\nexport const XSlideAnimation: AnimationTriggerMetadata = trigger('x-slide-animation', [\r\n transition('void => right', [style({ transform: 'translate(100%,0)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('right => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(100%,0)' }))]),\r\n transition('void => left', [style({ transform: 'translate(-100%,0)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('left => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(-100%,0)' }))]),\r\n transition('void => top', [style({ transform: 'translate(0,-100%)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('top => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(0,-100%)' }))]),\r\n transition('void => bottom', [style({ transform: 'translate(0,100%)' }), animate(`${XDuration.Base} ease-in`)]),\r\n transition('bottom => void', [animate(`${XDuration.Base} ease-out`, style({ transform: 'translate(0,100%)' }))])\r\n]);\r\n\r\nexport const XSliderAnimation: AnimationTriggerMetadata = trigger('x-slider-animation', [\r\n transition('void => left, void => right', [\r\n style({\r\n width: 0,\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n width: '*',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void, right => void', [\r\n style({\r\n width: '*',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n width: 0,\r\n opacity: 0\r\n })\r\n )\r\n ])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\nexport const XDropAnimation: AnimationTriggerMetadata = trigger('x-drop-animation', [\r\n state('*', style({ opacity: 0, height: 0, border: 0, padding: 0, visibility: 'hidden' })),\r\n state('false', style({ opacity: 0, height: 0, border: 0, padding: 0, visibility: 'hidden' })),\r\n state('true', style({ opacity: 1, height: '*', border: '*', padding: '*', visibility: 'inherit' })),\r\n transition('* => *', animate(`${XDuration.Base} ease-out`))\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\nexport const XMoveAnimation: AnimationTriggerMetadata = trigger('x-move-animation', [\r\n transition('void => top-start, void => top, void => top-end, void => center', [\r\n style({\r\n transform: 'translateY(-200%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('top-start => void, top => void, top-end => void, center => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(-200%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => left', [\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => right', [\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('right => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => bottom-start, void => bottom, void => bottom-end', [\r\n style({\r\n transform: 'translateY(200%)',\r\n opacity: 0,\r\n height: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1,\r\n height: '*'\r\n })\r\n )\r\n ]),\r\n transition('bottom-start => void, bottom => void, bottom-end => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(200%)',\r\n opacity: 0\r\n })\r\n )\r\n ])\r\n]);\r\n\r\nexport const XMoveBoxAnimation: AnimationTriggerMetadata = trigger('x-move-box-animation', [\r\n transition('void => top-start, void => top, void => top-end, void => center', [\r\n style({\r\n transform: 'translateY(-2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('top-start => void, top => void, top-end => void, center => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(-2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ]),\r\n transition('void => left', [\r\n style({\r\n transform: 'translateX(-2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(-2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ]),\r\n transition('void => right', [\r\n style({\r\n transform: 'translateX(2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('right => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ]),\r\n transition('void => bottom-start, void => bottom, void => bottom-end', [\r\n style({\r\n transform: 'translateY(2rem)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('bottom-start => void, bottom => void, bottom-end => void', [\r\n style({\r\n transform: 'translateY(0%)',\r\n opacity: 1\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateY(2rem)',\r\n opacity: 0\r\n })\r\n )\r\n ])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\n// 进场动画\r\n// const XDURATION_SLOW_EASE_IN = `${XDuration.Slow} ease-in`;\r\nconst XDURATION_BASE_EASE_IN = `${XDuration.Base} ease-in`;\r\nconst XDURATION_FAST_EASE_IN = `${XDuration.Fast} ease-in`;\r\n// 移除动画\r\n// const XDURATION_SLOW_EASE_OUT = `${XDuration.Slow} ease-out`;\r\nconst XDURATION_BASE_EASE_OUT = `${XDuration.Base} ease-out`;\r\nconst XDURATION_FAST_EASE_OUT = `${XDuration.Fast} ease-out`;\r\n\r\nexport const XConnectAnimation: AnimationTriggerMetadata = trigger('x-connect-animation', [\r\n transition('void => top-start, void => top, void => top-end, void => center', [\r\n style({\r\n opacity: 0\r\n // transform: 'scaleY(0.8)',\r\n // transformOrigin: '0% 100%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_IN,\r\n style({\r\n opacity: 1\r\n // transform: 'scaleY(1)',\r\n // transformOrigin: '0% 100%'\r\n })\r\n )\r\n ]),\r\n transition('top-start => void, top => void, top-end => void, center => void', [\r\n style({\r\n opacity: 1\r\n // transform: 'scaleY(1)',\r\n // transformOrigin: '0% 100%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_OUT,\r\n style({\r\n opacity: 0\r\n // transform: 'scaleY(0.8)',\r\n // transformOrigin: '0% 100%'\r\n })\r\n )\r\n ]),\r\n transition('void => left', [\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('left => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(-30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => right', [\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1\r\n })\r\n )\r\n ]),\r\n transition('right => void', [\r\n style({\r\n transform: 'translateX(0%)',\r\n opacity: 1,\r\n height: '*'\r\n }),\r\n animate(\r\n `${XDuration.Base}`,\r\n style({\r\n transform: 'translateX(30%)',\r\n opacity: 0,\r\n height: 0\r\n })\r\n )\r\n ]),\r\n transition('void => bottom-start, void => bottom, void => bottom-end', [\r\n style({\r\n opacity: 0\r\n // transform: 'scale(0)',\r\n // transformOrigin: '0% 0%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_IN,\r\n style({\r\n opacity: 1\r\n // transform: 'scale(1)',\r\n // transformOrigin: '30% 30%'\r\n })\r\n )\r\n ]),\r\n transition('bottom-start => void, bottom => void, bottom-end => void', [\r\n style({\r\n opacity: 1\r\n // transform: 'scale(1)',\r\n // transformOrigin: '30% 30%'\r\n }),\r\n animate(\r\n XDURATION_FAST_EASE_OUT,\r\n style({\r\n opacity: 0\r\n // transform: 'scale(0)',\r\n // transformOrigin: '0% 0%'\r\n })\r\n )\r\n ])\r\n]);\r\n\r\nexport const XConnectBaseAnimation: AnimationTriggerMetadata = trigger('x-connect-base-animation', [\r\n transition(':enter', [style({ opacity: 0, transform: 'scaleY(0.8)' }), animate(XDURATION_FAST_EASE_IN)]),\r\n transition(':leave', [animate(XDURATION_FAST_EASE_OUT, style({ opacity: 0 }))])\r\n]);\r\n\r\nexport const XBaseAnimation: AnimationTriggerMetadata = trigger('x-base-animation', [\r\n transition(':enter', [style({ opacity: 0, transform: 'scale(0.2)' }), animate(XDURATION_BASE_EASE_IN)]),\r\n transition(':leave', [animate(XDURATION_BASE_EASE_OUT, style({ opacity: 0, transform: 'scale(0.2)' }))])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\n// 进场动画\r\nconst XDURATION_SLOW_EASE_IN = `${XDuration.Slow} ease-in`;\r\n// 移除动画\r\nconst XDURATION_SLOW_EASE_OUT = `${XDuration.Slow} ease-out`;\r\n\r\nexport const XBadgeAnimation: AnimationTriggerMetadata = trigger('x-badge-animation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0) translate(50%, -50%)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_IN,\r\n style({\r\n opacity: 1,\r\n transform: 'scale(1) translate(50%, -50%)'\r\n })\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({ opacity: 1, transform: 'scale(1) translate(50%, -50%)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_OUT,\r\n style({\r\n opacity: 0,\r\n transform: 'scale(0) translate(50%, -50%)'\r\n })\r\n )\r\n ])\r\n]);\r\n\r\nexport const XBadgeStandaloneAnimation: AnimationTriggerMetadata = trigger('x-badge-standalone-animation', [\r\n transition(':enter', [\r\n style({ opacity: 0, transform: 'scale(0)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_IN,\r\n style({\r\n opacity: 1,\r\n transform: 'scale(1)'\r\n })\r\n )\r\n ]),\r\n transition(':leave', [\r\n style({ opacity: 1, transform: 'scale(1)' }),\r\n animate(\r\n XDURATION_SLOW_EASE_OUT,\r\n style({\r\n opacity: 0,\r\n transform: 'scale(0)'\r\n })\r\n )\r\n ])\r\n]);\r\n","import { AnimationTriggerMetadata, trigger, state, style, animate, transition } from '@angular/animations';\r\nimport { XDuration } from './consts';\r\n\r\nexport const XOpacityAnimation: AnimationTriggerMetadata = trigger('x-opacity-animation', [\r\n state('*', style({ opacity: 0 })),\r\n state('false', style({ opacity: 0 })),\r\n state('true', style({ opacity: 1 })),\r\n transition('* => *', animate(`${XDuration.Slow} cubic-bezier(0.25, 0.8, 0.25, 1)`))\r\n]);\r\n","import { Observable, isObservable } from 'rxjs';\r\nimport { TemplateRef, SimpleChange } from '@angular/core';\r\n\r\n// 数据类型\r\nexport type XData<T> = T[] | Observable<T[] | any[]> | any[] | Function;\r\n\r\n// Boolean 类型\r\nexport type XBoolean = boolean | string;\r\n\r\n// Number 类型\r\nexport type XNumber = number | string;\r\n\r\n// 模板类型\r\nexport type XTemplate = string | number | Date | TemplateRef<any>;\r\n\r\n// 类型判断\r\nexport const XIsType = (type: string) => (object: any) => Object.prototype.toString.call(object) === `[object ${type}]`;\r\n\r\n// 值改变判断\r\nexport const XIsChange = (...changes: SimpleChange[]) => {\r\n for (let change of changes) {\r\n if (change?.currentValue !== change?.previousValue) return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst IsString = XIsType('String');\r\nconst IsArray = XIsType('Array');\r\nconst IsNumber = XIsType('Number');\r\nconst IsBoolean = XIsType('Boolean');\r\nconst IsObject = XIsType('Object');\r\nconst IsNull = XIsType('Null');\r\nconst IsFunction = XIsType('Function');\r\nconst IsDate = XIsType('Date');\r\nconst IsRegExp = XIsType('RegExp');\r\n\r\nexport function XIsString(value: any): value is string {\r\n return IsString(value);\r\n}\r\nexport function XIsArray(value: any): value is Array<any> {\r\n return IsArray(value);\r\n}\r\nexport function XIsNumber(value: any): value is number {\r\n return IsNumber(value);\r\n}\r\nexport function XIsBoolean(value: any): value is boolean {\r\n return IsBoolean(value);\r\n}\r\nexport function XIsObject<T>(value: any): value is T {\r\n return IsObject(value);\r\n}\r\nexport function XIsNull(value: any): value is null {\r\n return IsNull(value);\r\n}\r\nexport function XIsFunction(value: any): value is Function {\r\n return IsFunction(value);\r\n}\r\nexport function XIsDate(value: any): value is Date {\r\n return IsDate(value);\r\n}\r\nexport function XIsRegExp(value: any): value is RegExp {\r\n return IsRegExp(value);\r\n}\r\nexport function XIsUndefined(value: any): value is undefined {\r\n return typeof value === 'undefined';\r\n}\r\nexport function XIsValue<T>(object: any): object is T {\r\n return XIsString(object) || XIsNumber(object) || XIsBoolean(object) || XIsDate(object);\r\n}\r\nexport function XIsEmpty(object: any) {\r\n return XIsUndefined(object) || XIsNull(object) || object === '' || object.length === 0;\r\n}\r\nexport function XIsValueArray<T>(object: any): object is T {\r\n return XIsArray(object) && object.length > 0 && !XIsObject(object[0]);\r\n}\r\nexport function XIsObjectArray<T>(object: any): object is T {\r\n return XIsArray(object) && object.length > 0 && XIsObject(object[0]);\r\n}\r\nexport function XIsObservable<T>(object: any): object is Observable<T> {\r\n return isObservable(object);\r\n}\r\nexport function XIsTemplateRef<T>(object: any): object is TemplateRef<T> {\r\n if (!XIsEmpty(object) && object.elementRef) return true;\r\n else return false;\r\n}\r\nexport function XIsXTemplate(object: any): object is XTemplate {\r\n return XIsString(object) || XIsNumber(object) || XIsDate(object) || XIsTemplateRef(object);\r\n}\r\n","// 标识对象\r\nexport interface XIdentityProperty {\r\n // 编码\r\n id?: any;\r\n // 标题\r\n label?: any;\r\n}\r\n\r\n// 父节点标识对象\r\nexport interface XParentIdentityProperty<T> extends XIdentityProperty {\r\n // 编码\r\n pid?: any;\r\n // 层级\r\n level?: number;\r\n // 叶子节点\r\n leaf?: boolean;\r\n // 子节点\r\n children?: T[];\r\n // 子节点已加载过\r\n childrenLoaded?: boolean;\r\n // 选中\r\n selected?: boolean;\r\n // 禁用\r\n disabled?: boolean;\r\n // 展开\r\n open?: boolean;\r\n}\r\n\r\n// 标识对象\r\nexport class XIdentity {\r\n // 编码\r\n id?: any;\r\n // 标题\r\n label?: any;\r\n}\r\n","import { coerceBooleanProperty, _isNumberValue } from '@angular/cdk/coercion';\r\nimport {\r\n XData,\r\n XIsNull,\r\n XIsUndefined,\r\n XIsArray,\r\n XIsValue,\r\n XIsObject,\r\n XIsObservable,\r\n XParentIdentityProperty,\r\n XBoolean,\r\n XClassMap,\r\n XIsFunction\r\n} from '../interfaces';\r\nimport { Observable, Subject, Observer } from 'rxjs';\r\nimport { map, takeUntil } from 'rxjs/operators';\r\n\r\nexport function XToBoolean(value: XBoolean): boolean {\r\n // if (XIsString(value)) {\r\n // return ['', 'true'].indexOf(String(value).trim()) !== -1;\r\n // } else {\r\n // return Boolean(value);\r\n // }\r\n return coerceBooleanProperty(value);\r\n}\r\n\r\nfunction XToNumber(value: number | string): number;\r\nfunction XToNumber<D>(value: number | string, fallback: D): number | D;\r\nfunction XToNumber(value: number | string, fallbackValue: number = 0): number {\r\n return _isNumberValue(value) ? Number(value) : fallbackValue;\r\n}\r\n\r\nexport function XToDataConvert<T>(value: XData<T>): XData<T> {\r\n if (XIsArray(value)) {\r\n return (value as []).map((x: any) => {\r\n if (XIsValue(x)) {\r\n return { label: x, id: x };\r\n } else if (XIsObject<{ label: any; id: any }>(x)) {\r\n x.label = XIsUndefined(x.label) || XIsNull(x.label) ? x.id : x.label;\r\n x.id = XIsUndefined(x.id) || XIsNull(x.id) ? x.label : x.id;\r\n return x;\r\n }\r\n return x;\r\n });\r\n }\r\n return value;\r\n}\r\n\r\nexport function XSetData<T>(data: XData<T>, unSubject: Subject<void>, toConvert = true, funcParam: any = null): Observable<T[]> {\r\n return new Observable((x: Observer<T[]>) => {\r\n const result = (res: T[]) => {\r\n x.next(res);\r\n x.complete();\r\n };\r\n if (typeof data === 'undefined') {\r\n result([]);\r\n } else {\r\n if (XIsObservable(data)) {\r\n (data as Observable<T[]>)\r\n .pipe(\r\n map((y) => (toConvert ? XToDataConvert(y) : y)),\r\n takeUntil(unSubject)\r\n )\r\n .subscribe((y) => {\r\n result(y as T[]);\r\n });\r\n } else if (XIsFunction(data)) {\r\n (data as (param: any) => Observable<T[]>)(funcParam)\r\n .pipe(\r\n map((y) => (toConvert ? XToDataConvert(y) : y)),\r\n takeUntil(unSubject)\r\n )\r\n .subscribe((y) => {\r\n result(y as T[]);\r\n });\r\n } else {\r\n result((toConvert ? XToDataConvert(data) : data) as T[]);\r\n }\r\n }\r\n });\r\n}\r\n\r\nexport function XGetChildren<T extends XParentIdentityProperty<T>>(nodes: T[], node: T, level: number) {\r\n node.level = level;\r\n node.children = nodes.filter((y) => y.pid === node.id);\r\n node.leaf = node.children?.length > 0;\r\n if (node.leaf) node.children.map((y) => XGetChildren(nodes, y, level + 1));\r\n return node;\r\n}\r\n\r\nexport function XInvertKeyValues(obj: any): Map<any, any> {\r\n return Object.keys(obj).reduce((nw, key) => {\r\n nw.set(obj[key], key);\r\n return nw;\r\n }, new Map());\r\n}\r\n\r\nexport function XClearClass(...classMaps: XClassMap[]) {\r\n classMaps.forEach((classMap) => {\r\n for (const key in classMap) {\r\n classMap[key] = false;\r\n }\r\n });\r\n}\r\n\r\nfunction propDecoratorFactory<T, D>(name: string, fallback: (v: T) => D): (target: any, propName: string) => void {\r\n function propDecorator(target: any, propName: string, originalDescriptor?: TypedPropertyDescriptor<any>): any {\r\n const privatePropName = `$$__${propName}`;\r\n\r\n if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {\r\n console.warn(`The prop \"${privatePropName}\" is already exist, it will be overrided by ${name} decorator.`);\r\n }\r\n\r\n Object.defineProperty(target, privatePropName, {\r\n configurable: true,\r\n writable: true\r\n });\r\n\r\n return {\r\n get(): string {\r\n return originalDescriptor && originalDescriptor.get ? originalDescriptor.get.bind(this)() : this[privatePropName];\r\n },\r\n set(value: T): void {\r\n if (originalDescriptor && originalDescriptor.set) {\r\n originalDescriptor.set.bind(this)(fallback(value));\r\n }\r\n this[privatePropName] = fallback(value);\r\n }\r\n };\r\n }\r\n\r\n return propDecorator;\r\n}\r\n\r\nexport function XInputBoolean(): any {\r\n return propDecoratorFactory('XInputBoolean', XToBoolean);\r\n}\r\n\r\nexport function XInputNumber(): any {\r\n return propDecoratorFactory('XInputNumber', XToNumber);\r\n}\r\n\r\nexport function XDataConvert(): any {\r\n return propDecoratorFactory('XDataConvert', XToDataConvert);\r\n}\r\n\r\nexport function XClamp(value: number, min: number, max: number) {\r\n return Math.max(min, Math.min(max, value));\r\n}\r\n","import { XIsDate, XIsNumber } from '../interfaces';\r\n\r\nexport type XDate = string | Date | number;\r\n\r\nexport function XToDate(date: XDate): Date {\r\n if (XIsDate(date) || XIsNumber(date)) {\r\n return new Date(date);\r\n } else {\r\n return new Date(Date.parse(date as string));\r\n }\r\n}\r\n\r\nexport function XAddMilliseconds(date: XDate, amount: number): Date {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf()) && amount) {\r\n return new Date(dt.getTime() + amount);\r\n } else {\r\n return date as Date;\r\n }\r\n}\r\n\r\nexport function XAddSeconds(date: XDate, amount: number): Date {\r\n return XAddMilliseconds(date, amount * 1000);\r\n}\r\n\r\nexport function XAddMinutes(date: XDate, amount: number): Date {\r\n return XAddMilliseconds(date, amount * 60000);\r\n}\r\n\r\nexport function XAddHours(date: XDate, amount: number): Date {\r\n return XAddMilliseconds(date, amount * 3600000);\r\n}\r\n\r\nexport function XAddDays(date: XDate, amount: number): Date {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf()) && amount) {\r\n dt.setDate(dt.getDate() + amount);\r\n return dt;\r\n } else {\r\n return date as Date;\r\n }\r\n}\r\n\r\nexport function XAddMonths(date: XDate, amount: number): Date {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf()) && amount) {\r\n const day = dt.getDate();\r\n const month = dt.getMonth();\r\n const endMonth = new Date(dt);\r\n endMonth.setMonth(month + amount + 1, 0);\r\n const endDay = endMonth.getDate();\r\n if (day >= endDay) {\r\n return endMonth;\r\n } else {\r\n dt.setFullYear(endMonth.getFullYear(), endMonth.getMonth(), day);\r\n }\r\n return dt;\r\n } else {\r\n return date as Date;\r\n }\r\n}\r\n\r\nexport function XAddYears(date: XDate, amount: number): Date {\r\n return XAddMonths(date, amount * 12);\r\n}\r\n\r\nexport function XDateWeek(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return getISOWeek(dt);\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateWeekYear(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return getISOWeekYear(dt);\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateYearWeek(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return `${getISOWeekYear(dt)}-${getISOWeek(dt)}`;\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateYearQuarter(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return `${dt.getFullYear()}-${XDateQuarter(dt)}`;\r\n }\r\n return;\r\n}\r\n\r\nexport function XDateQuarter(date: XDate) {\r\n let dt = XToDate(date);\r\n if (!isNaN(dt.valueOf())) {\r\n return `Q${Math.ceil((dt.getMonth() + 1) / 3)}`;\r\n }\r\n return;\r\n}\r\n\r\nfunction getISOWeek(date: Date): number {\r\n const diff = startOfISOWeek(date).getTime() - startOfISOWeekYear(date).getTime();\r\n return Math.round(diff / 604800000) + 1;\r\n}\r\n\r\nfunction startOfISOWeek(date: Date) {\r\n return startOfWeek(date, { weekStartsOn: 1 });\r\n}\r\n\r\nfunction startOfWeek(date: Date, options?: { weekStartsOn: number }) {\r\n const weekStartsOn = options?.weekStartsOn || 0;\r\n const day = date.getDay();\r\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\r\n date.setDate(date.getDate() - diff);\r\n date.setHours(0, 0, 0, 0);\r\n return date;\r\n}\r\n\r\nfunction startOfISOWeekYear(date: Date) {\r\n const year = getISOWeekYear(date);\r\n const fourthOfJanuary = constructFrom(date, 0);\r\n fourthOfJanuary.setFullYear(year, 0, 4);\r\n fourthOfJanuary.setHours(0, 0, 0, 0);\r\n const result = startOfISOWeek(fourthOfJanuary);\r\n return result;\r\n}\r\n\r\nfunction constructFrom<DateType extends Date>(date: DateType | number, value: Date | number): DateType {\r\n if (date instanceof Date) {\r\n return new (date.constructor as any)(value);\r\n } else {\r\n return new Date(value) as DateType;\r\n }\r\n}\r\n\r\nfunction getISOWeekYear(date: Date): number {\r\n const year = date.getFullYear();\r\n\r\n const fourthOfJanuaryOfNextYear = constructFrom(date, 0);\r\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\r\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\r\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\r\n\r\n const fourthOfJanuaryOfThisYear = constructFrom(date, 0);\r\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\r\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\r\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\r\n\r\n if (date.getTime() >= startOfNextYear.getTime()) {\r\n return year + 1;\r\n } else if (date.getTime() >= startOfThisYear.getTime()) {\r\n return year;\r\n } else {\r\n return year - 1;\r\n }\r\n}\r\n","import { Renderer2 } from '@angular/core';\r\nimport { XAlign, XDirection, XIsEmpty, XJustify } from '../interfaces';\r\n\r\nexport function XSetFlex(ele: Element, renderer: Renderer2, justify?: XJustify, align?: XAlign, direction?: XDirection) {\r\n let result: string[] = [];\r\n if (!XIsEmpty(justify)) {\r\n const justifyStr = `x-justify-${justify}`;\r\n result.push(justifyStr)\r\n renderer.addClass(ele, justifyStr);\r\n }\r\n if (!XIsEmpty(align)) {\r\n const alignStr = `x-align-${align}`;\r\n result.push(alignStr)\r\n renderer.addClass(ele, alignStr);\r\n }\r\n if (!XIsEmpty(direction)) {\r\n const directionStr = `x-direction-${direction}`;\r\n result.push(directionStr)\r\n renderer.addClass(ele, directionStr);\r\n }\r\n return result;\r\n}\r\n","export function XDrop<T>(array: Array<T>, n?: number): T[] {\r\n if (!n) return [...array];\r\n if (array.length < 1 || array.length <= Math.abs(n)) return [];\r\n return array.slice(n > 0 ? n : 0, n > 0 ? array.length : n);\r\n}\r\n","export function XRemove<T>(array: Array<T>, predicate?: (value: T) => boolean): T[] {\r\n if (typeof predicate === 'undefined') return [];\r\n let result: T[] = [];\r\n for (let i = 0; i < array.length; i++) {\r\n if (predicate(array[i])) {\r\n result.push(array[i]);\r\n }\r\n }\r\n for (let item of result) {\r\n array.splice(array.indexOf(item), 1);\r\n }\r\n return result;\r\n}\r\n","export function XOrderBy<T>(collection: Array<T>, iteratees: Array<string>, orders?: Array<'asc' | 'desc'>): T[] {\r\n if (!iteratees) return collection;\r\n if (!orders) orders = [];\r\n\r\n function compare(a: any, b: any, prop: any, order: 'asc' | 'desc' | undefined, idex: number): number {\r\n if (a[prop] == b[prop]) {\r\n ++idex;\r\n if (iteratees.length > idex) {\r\n const odr = orders && orders.length > idex ? orders[idex] : 'asc';\r\n return compare(a, b, iteratees[idex], odr, idex);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n let isNumber = !isNaN(a[prop]);\r\n if (order === 'desc') {\r\n if (isNumber) {\r\n return (b[prop] - a[prop]) as number;\r\n } else {\r\n if (b[prop] > a[prop]) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n } else {\r\n if (isNumber) {\r\n return (a[prop] - b[prop]) as number;\r\n } else {\r\n if (a[prop] > b[prop]) {\r\n return 1;\r\n } else {\r\n return -1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n const iterate = iteratees.shift();\r\n const order = orders.shift() || 'asc';\r\n\r\n if (!iterate) return collection;\r\n\r\n collection.sort((a: any, b: any) => compare(a, b, iterate, order, -1));\r\n\r\n return collection;\r\n}\r\n","export function XCloneDeep(value: any): any {\r\n let result: any = Array.isArray(value) ? [] : {};\r\n if (value && typeof value === 'object') {\r\n for (let key in value) {\r\n if ((value as Object).hasOwnProperty(key)) {\r\n result[key] = value && typeof value[key] === 'object' ? XCloneDeep(value[key]) : value[key];\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n","export function XHasIn(object: Object, key: string) {\r\n return object != null && key in Object(object);\r\n}\r\n","export function XChunk<T>(array: T[], size = 1): T[][] {\r\n const len = array == null ? 0 : array.length;\r\n if (!len || size < 1) {\r\n return [];\r\n }\r\n let index = 0;\r\n let resIndex = 0;\r\n const result = new Array(Math.ceil(len / size));\r\n\r\n while (index < len) {\r\n result[resIndex++] = array.slice(index, (index += size));\r\n }\r\n return result;\r\n}\r\n","/**\r\n * 生成 GUID\r\n */\r\nexport function XGuid() {\r\n let S4 = () => {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n };\r\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\r\n}\r\n","export function XGroupBy<T>(array: T[], name: string): T[][] {\r\n const groups: any = {};\r\n array.forEach((obj: any) => {\r\n const group = JSON.stringify(obj[name]);\r\n groups[group] = groups[group] || [];\r\n groups[group].push(obj);\r\n });\r\n return Object.keys(groups).map((group) => groups[group]);\r\n}\r\n","import { Observable, Subscriber } from 'rxjs';\r\n\r\nexport type XResizeObserver = ResizeObserver | null;\r\nexport type XResizeObserverEntry = ResizeObserverEntry | null;\r\n\r\nexport const XResize = (...element: Element[]): Observable<{ entry: XResizeObserverEntry; resizeObserver: XResizeObserver }> => {\r\n return new Observable(\r\n (\r\n x: Subscriber<{\r\n entry: XResizeObserverEntry;\r\n resizeObserver: XResizeObserver;\r\n }>\r\n ) => {\r\n if (typeof ResizeObserver !== 'function') {\r\n return;\r\n }\r\n const resizeObserver = new ResizeObserver((entries: XResizeObserverEntry[]) => {\r\n for (const entry of entries) {\r\n x.next({ entry: entry, resizeObserver: resizeObserver });\r\n }\r\n });\r\n for (let ele of element) {\r\n if (ele) resizeObserver.observe(ele);\r\n }\r\n\r\n //XResize 取消订阅的时候自动销毁\r\n //resizeObserver.disconnect();\r\n }\r\n );\r\n};\r\n","export function XParentPath(ele: HTMLElement): string[] {\r\n let path: string[] = [];\r\n let nowEle = ele;\r\n while (nowEle.parentNode != null) {\r\n path.push(nowEle.localName);\r\n nowEle = nowEle.parentNode as HTMLElement;\r\n }\r\n return path;\r\n}\r\n\r\nexport function XParents(ele: HTMLElement): HTMLElement[] {\r\n let res: HTMLElement[] = [];\r\n let nowEle = ele;\r\n while (nowEle.parentElement != null) {\r\n res.push(nowEle.parentElement!);\r\n nowEle = nowEle.parentNode as HTMLElement;\r\n }\r\n return res;\r\n}\r\n","import { XClassMap } from '../interfaces';\r\n\r\n/**\r\n * 组件公共属性\r\n */\r\nexport class XProperty {\r\n /**\r\n * 样式映射属性\r\n */\r\n classMap: XClassMap = {};\r\n}\r\n","import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';\r\n\r\nexport interface XRouteReuseStorage {\r\n id: string;\r\n handle: DetachedRouteHandle;\r\n}\r\n\r\n// @dynamic\r\nexport class XReuseStrategyService implements RouteReuseStrategy {\r\n // 存储的复用路由\r\n public static storages: XRouteReuseStorage[] = [];\r\n // 用一个临时变量记录待删除的路由\r\n private static waitDelete: string | null;\r\n\r\n /**\r\n * 表示对所有路由允许复用 如果你有路由不想利用可以在这加一些业务逻辑判断\r\n */\r\n public shouldDetach(_route: ActivatedRouteSnapshot): boolean {\r\n return true;\r\n }\r\n\r\n /**\r\n * 当路由离开时会触发。按path作为key存储路由快照&组件当前实例对象\r\n */\r\n public store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {\r\n if (handle == null) return;\r\n if (XReuseStrategyService.waitDelete && this.getRouteUrl(route).indexOf(XReuseStrategyService.waitDelete) == 0) {\r\n //如果待删除是当前路由则不存储快照\r\n XReuseStrategyService.waitDelete = null;\r\n return;\r\n }\r\n this.add(this.getRouteUrl(route), handle);\r\n }\r\n\r\n /**\r\n * 若 path 在缓存中有的都认为允许还原路由\r\n */\r\n public shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n return !!XReuseStrategyService.storages.find((x) => x.id == this.getRouteUrl(route));\r\n }\r\n\r\n /**\r\n * 从缓存中获取快照,若无则返回nul\r\n */\r\n public retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {\r\n if (!route.routeConfig) {\r\n return {};\r\n }\r\n let stroage = XReuseStrategyService.storages.find((x) => x.id == this.getRouteUrl(route));\r\n return stroage ? stroage.handle : {};\r\n }\r\n\r\n /**\r\n * 进入路由触发,判断是否同一路由\r\n * 解决不同的参数也会认为是同一个路由,导致会将之前的路由拿出来复用\r\n */\r\n public shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n return future.routeConfig === curr.routeConfig && JSON.stringify(future.params) == JSON.stringify(curr.params);\r\n }\r\n\r\n /**\r\n * 解决不同的主路由会存在相同名称的子路由\r\n */\r\n private getRouteUrl(route: ActivatedRouteSnapshot) {\r\n let url = route.url.map((x) => x.path).join('_');\r\n return url;\r\n }\r\n\r\n /**\r\n * 删除复用的路由\r\n */\r\n public static deleteRouteSnapshot(name?: string): void {\r\n if (name) {\r\n let id = name.replace(/\\//g, '_');\r\n XReuseStrategyService.storages.splice(\r\n XReuseStrategyService.storages.findIndex((x) => x.id.indexOf(id) === 0),\r\n 1\r\n );\r\n XReuseStrategyService.waitDelete = id;\r\n } else {\r\n XReuseStrategyService.storages = [];\r\n }\r\n }\r\n\r\n private add(id: string, handle: DetachedRouteHandle) {\r\n XReuseStrategyService.storages.splice(\r\n XReuseStrategyService.storages.findIndex((x) => x.id == id),\r\n 1\r\n );\r\n XReuseStrategyService.storages = [...XReuseStrategyService.storages, { id: id, handle: handle }];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { PreloadingStrategy, Route } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n// @dynamic\r\n@Injectable()\r\nexport class XPreloadingStrategyService implements PreloadingStrategy {\r\n // 需要预加载的模块\r\n preloadedModules: string[] = [];\r\n\r\n preload(route: Route, load: () => Observable<any>): Observable<any> {\r\n if (route.data && route.data['preload']) {\r\n this.preloadedModules.push(route.path as string);\r\n return load();\r\n } else {\r\n return of(null);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n// @dynamic\r\n@Injectable({ providedIn: 'root' })\r\nexport class XHttpService {\r\n api: string = '';\r\n constructor(public http: HttpClient) {}\r\n\r\n /**\r\n * get请求\r\n */\r\n get(url: string, params?: { [property: string]: any }) {\r\n return this.request('GET', url, params);\r\n }\r\n\r\n /**\r\n * get请求\r\n */\r\n post(url: string, params?: { [property: string]: any }): Observable<any> {\r\n return this.request('POST', url, params);\r\n }\r\n\r\n /**\r\n * put请求\r\n */\r\n put(url: string, params?: { [property: string]: any }): Observable<any> {\r\n return this.request('PUT', url, params);\r\n }\r\n\r\n /**\r\n * delete请求\r\n */\r\n delete(url: string, params?: { [property: string]: any }): Observable<any> {\r\n return this.request('DELETE', url, params);\r\n }\r\n\r\n /**\r\n * request通用请求\r\n */\r\n request(method: string, url: string, params?: { [property: string]: any }, option?: { [property: string]: any }): Observable<any> {\r\n if (!option) option = {};\r\n let opt = {};\r\n url = `${this.api}${url}`;\r\n method = method.toUpperCase();\r\n if (['POST', 'PUT', 'DELETE'].indexOf(method) > -1) {\r\n opt = { body: params, observe: 'body', responseType: 'json' };\r\n } else if (['GET'].indexOf(method) > -1) {\r\n opt = { params: params };\r\n }\r\n Object.assign(opt, option);\r\n this.addHeader(opt);\r\n return new Observable((x) => {\r\n this.http.request(method, url, opt).subscribe(\r\n (y: any) => {\r\n x.next(y);\r\n x.complete();\r\n },\r\n (y) => {\r\n x.error(y);\r\n x.complete();\r\n this.handleError(y);\r\n }\r\n );\r\n });\r\n }\r\n\r\n /**\r\n * 错误处理\r\n */\r\n handleError(error: HttpErrorResponse) {\r\n if (error.error) {\r\n }\r\n return throwError(error.error);\r\n }\r\n\r\n /**\r\n * 添加头部信息\r\n */\r\n private addHeader(_option: { [property: string]: any }) {\r\n // let auth = this.setting.getSession(\"Auth\");\r\n // if (auth && auth[\"token\"]) {\r\n // option[\"headers\"] = { Authorization: `Bearer ${auth[\"token\"]}` };\r\n // }\r\n }\r\n}\r\n","import { Platform } from '@angular/cdk/platform';\r\nimport { Injectable } from '@angular/core';\r\nimport { XIsString } from '../interfaces';\r\n\r\n// @dynamic\r\n@Injectable({ providedIn: 'root' })\r\nexport class XStorageService {\r\n constructor(private platform: Platform) {}\r\n\r\n /**\r\n * 获取本地值\r\n */\r\n getLocal(key: string) {\r\n if (this.platform.isBrowser) {\r\n let str = localStorage.getItem(key);\r\n try {\r\n return JSON.parse(localStorage.getItem(key) || 'null') || null;\r\n } catch (_e) {\r\n return str;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * 设置本地值\r\n */\r\n setLocal(key: string, value: any) {\r\n if (this.platform.isBrowser) {\r\n if (XIsString(value)) {\r\n localStorage.setItem(key, value);\r\n } else {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 获取当前会话的值\r\n */\r\n getSession(key: string) {\r\n if (this.platform.isBrowser) {\r\n let str = localStorage.getItem(key);\r\n try {\r\n return JSON.parse(sessionStorage.getItem(key) || 'null') || null;\r\n } catch (_e) {\r\n return str;\r\n }\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * 设置当前会话值\r\n */\r\n setSession(key: string, value: any) {\r\n if (this.platform.isBrowser) {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n }\r\n\r\n /**\r\n * 移除本地值\r\n */\r\n removeLocal(key: string) {\r\n if (this.platform.isBrowser) {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n\r\n /**\r\n * 移除当前会话\r\n */\r\n removeSession(key: string) {\r\n if (this.platform.isBrowser) {\r\n sessionStorage.removeItem(key);\r\n }\r\n }\r\n\r\n /**\r\n * 生成guid\r\n */\r\n guid() {\r\n let S4 = () => {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n };\r\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\r\n }\r\n}\r\n","import { XId, XQuery, XResultList } from '../interfaces';\r\nimport { XHttpService } from './http.service';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface XRepositoryInput {\r\n api?: string;\r\n controller: XController;\r\n}\r\n\r\nexport interface XController {\r\n name: string;\r\n}\r\n\r\nexport abstract class XRepositoryAbstract {\r\n abstract getList(index?: number, size?: number, query?: XQuery): Observable<XResultList<any>>;\r\n abstract get(id: number | string): Observable<any>;\r\n abstract post(entity: any): Observable<any>;\r\n abstract put(entity: any): Observable<any>;\r\n abstract delete(id: number | string): Observable<boolean>;\r\n}\r\n\r\nexport class XRepositoryService<Entity extends XId> extends XRepositoryAbstract {\r\n api = '';\r\n constructor(public http: XHttpService, public input: XRepositoryInput) {\r\n super();\r\n this.api = typeof input.api !== 'undefined' ? input.api : '';\r\n }\r\n\r\n getList(index?: number, size?: number, query?: XQuery): Observable<XResultList<Entity>> {\r\n index = index ? index : 1;\r\n size = size ? size : 10;\r\n return this.http.post(`${this.api}${this.input.controller.name}/${size}/${index}`, query);\r\n }\r\n\r\n get(id: number | string): Observable<Entity> {\r\n return this.http.get(`${this.api}${this.input.controller.name}/${id}`);\r\n }\r\n\r\n post(entity: Entity): Observable<Entity> {\r\n return this.http.post(`${this.api}${this.input.controller.name}`, entity);\r\n }\r\n\r\n put(entity: Entity): Observable<Entity> {\r\n return this.http.put(`${this.api}${this.input.controller.name}`, entity);\r\n }\r\n\r\n delete(id: number | string): Observable<boolean> {\r\n return this.http.delete(`${this.api}${this.input.controller.name}/${id}`);\r\n }\r\n}\r\n","import {\r\n XSize,\r\n XBoolean,\r\n XType,\r\n XEffect,\r\n XNumber,\r\n XPositionLeftRight,\r\n XJustify,\r\n XShape,\r\n XFit,\r\n XShadow,\r\n XTrigger,\r\n XDisplayDirection,\r\n XCorner,\r\n XDirection,\r\n XPlace,\r\n XPosition,\r\n XPlacement,\r\n XPositionTopBottom,\r\n XStatus,\r\n XAlign,\r\n XTemplate\r\n} from '../interfaces';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { XTheme } from '../theme';\r\n\r\nexport interface XConfig {\r\n components?: XComponentConfig;\r\n theme?: XTheme;\r\n}\r\n\r\nexport type XConfigKey = keyof XConfig;\r\n\r\nexport type XComponentConfigKey = keyof XComponentConfig;\r\n\r\nexport const X_CONFIG = new InjectionToken<XConfig>('x-config');\r\n\r\nexport interface XComponentConfig {\r\n affix?: XAffixConfig;\r\n alert?: XAlertConfig;\r\n anchor?: XAnchorConfig;\r\n avatar?: XAvatarConfig;\r\n autoComplete?: XAutoCompleteConfig;\r\n backTop?: XBackTopConfig;\r\n badge?: XBadgeConfgig;\r\n button?: XButtonConfig;\r\n buttons?: XButtonsConfig;\r\n calendar?: XCalendarConfig;\r\n card?: XCardConfig;\r\n carousel?: XCarouselConfig;\r\n cascade?: XCascadeConfig;\r\n checkbox?: XCheckboxConfig;\r\n collapse?: XCollapseConfig;\r\n color?: XColorConfig;\r\n colorPicker?: XColorPickerConfig;\r\n comment?: XCommentConfig;\r\n container?: XContainerConfig;\r\n header?: XHeaderConfig;\r\n aside?: XAsideConfig;\r\n footer?: XFooterConfig;\r\n crumb?: XCrumbComfig;\r\n datePicker?: XDatePickerConfig;\r\n dateRange?: XDateRangeConfig;\r\n dialog?: XDialogConfig;\r\n drawer?: XDrawerConfig;\r\n dropdown?: XDropdownConfig;\r\n description?: XDescriptionConfig;\r\n empty?: XEmptyConfig;\r\n find?: XFindConfig;\r\n form?: XFormConfig;\r\n highlight?: XHighlightConfig;\r\n icon?: XIconConfig;\r\n inner?: XInnerConfig;\r\n input?: XInputConfig;\r\n inputGroup?: XInputGroupConfig;\r\n inputNumber?: XInputNumberConfig;\r\n image?: XImageConfig;\r\n col?: XColConfig;\r\n row?: XRowConfig;\r\n ripple?: XRippleConfig;\r\n link?: XLinkConfig;\r\n list?: XListConfig;\r\n listOption?: XListOptionConfig;\r\n loading?: XLoadingConfig;\r\n menu?: XMenuConfig;\r\n message?: XMessageConfig;\r\n messageBox?: XMessageBoxConfig;\r\n notification?: XNotificationConfig;\r\n outlet?: XOutletConfig;\r\n pageHeader?: XPageHeaderConfig;\r\n pagination?: XPaginationConfig;\r\n pattern?: XPatternConfig;\r\n popconfirm?: XPopconfirmConfig;\r\n popover?: XPopoverConfig;\r\n portal?: XPortalConfig;\r\n progress?: XProgressConfing;\r\n radio?: XRadioConfig;\r\n rate?: XRateConfig;\r\n result?: XResultConfig;\r\n select?: XSelectConfig;\r\n skeleton?: XSkeletonConfig;\r\n slider?: XSliderConfig;\r\n sliderSelect?: XSliderSelectConfig;\r\n statistic?: XStatisticConfig;\r\n countdown?: XCountdownConfig;\r\n steps?: XStepsConfig;\r\n switch?: XSwitchConfig;\r\n table?: XTableConfig;\r\n tabs?: XTabsConfig;\r\n tag?: XTagConfig;\r\n textRetract?: XTextRetractConfig;\r\n theme?: XThemeConfig;\r\n timeAgo?: XTimeAgoConfig;\r\n timePicker?: XTimePickerConfig;\r\n timeRange?: XTimeRangeConfig;\r\n timeline?: XTimelineConfig;\r\n tooltip?: XTooltipConfig;\r\n transfer?: XTransferConfig;\r\n tree?: XTreeConfig;\r\n treeFile?: XTreeFileConfig;\r\n treeSelect?: XTreeSelectConfig;\r\n textarea?: XTextareaConfig;\r\n upload?: XUploadConfig;\r\n keyword?: XKeywordConfig;\r\n}\r\n\r\nexport interface XAffixConfig {\r\n top?: string;\r\n left?: string;\r\n}\r\n\r\nexport interface XAlertConfig {\r\n effect?: XEffect;\r\n hideClose?: XBoolean;\r\n showIcon?: XBoolean;\r\n disabledAnimation?: XBoolean;\r\n draggable?: XBoolean;\r\n resizable?: XBoolean;\r\n dragHandleTitle?: XBoolean;\r\n duration?: XNumber;\r\n}\r\n\r\nexport interface XAnchorConfig {\r\n affixTop?: string;\r\n affixWidth?: string;\r\n layout?: XPositionLeftRight;\r\n justify?: XJustify;\r\n}\r\n\r\nexport interface XAvatarConfig {\r\n size?: XSize;\r\n shape?: XShape;\r\n fit?: XFit;\r\n gap?: number;\r\n backgroundColor?: string;\r\n}\r\n\r\nexport interface XAutoCompleteConfig {\r\n placement?: XPositionTopBottom;\r\n debounceTime?: number;\r\n size?: XSize;\r\n bordered?: boolean;\r\n caseSensitive?: boolean;\r\n onlySelect?: boolean;\r\n}\r\n\r\nexport interface XBackTopConfig {\r\n right?: string;\r\n bottom?: string;\r\n visibilityHeight?: XNumber;\r\n}\r\n\r\nexport interface XBadgeConfgig {\r\n type?: XType;\r\n}\r\n\r\nexport interface XButtonConfig {\r\n size?: XSize;\r\n type?: XType;\r\n plain?: XBoolean;\r\n round?: XBoolean;\r\n circle?: XBoolean;\r\n attrType?: 'submit' | 'button' | 'reset';\r\n}\r\n\r\nexport interface XButtonsConfig {\r\n space?: XNumber;\r\n hiddenBorder?: XBoolean;\r\n}\r\n\r\nexport interface XCalendarConfig {}\r\n\r\nexport interface XCardConfig {\r\n shadow?: XShadow;\r\n}\r\n\r\nexport interface XCarouselConfig {\r\n height?: string;\r\n trigger?: XTrigger;\r\n arrow?: XShadow;\r\n direction?: XDisplayDirection;\r\n}\r\n\r\nexport interface XCascadeConfig {\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: boolean;\r\n nodeTrigger?: XTrigger;\r\n nodeHoverDelay?: XNumber;\r\n}\r\n\r\nexport interface XCheckboxConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XCollapseConfig {\r\n showIcon?: Boolean;\r\n ghost?: Boolean;\r\n iconPosition?: 'left' | 'right';\r\n bordered?: Boolean;\r\n}\r\n\r\nexport interface XColorConfig {\r\n merge?: string;\r\n amounts?: string;\r\n}\r\n\r\nexport interface XColorPickerConfig {\r\n placement?: XCorner;\r\n}\r\n\r\nexport interface XCommentConfig {\r\n contentMax?: number;\r\n}\r\n\r\nexport interface XContainerConfig {\r\n direction?: XDirection;\r\n}\r\n\r\nexport interface XHeaderConfig {\r\n height?: number;\r\n}\r\n\r\nexport interface XAsideConfig {\r\n width?: number;\r\n}\r\n\r\nexport interface XFooterConfig {\r\n height?: number;\r\n}\r\n\r\nexport interface XCrumbComfig {\r\n separator?: string;\r\n}\r\n\r\nexport interface XDatePickerConfig {\r\n format?: string;\r\n clearable?: XBoolean;\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: boolean;\r\n}\r\n\r\nexport interface XDateRangeConfig {\r\n format?: string;\r\n clearable?: XBoolean;\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n}\r\n\r\nexport interface XDialogConfig {\r\n placement?: XPlace;\r\n offset?: string;\r\n width?: string;\r\n minWidth?: string;\r\n minHeight?: string;\r\n effect?: XEffect;\r\n showCancel?: XBoolean;\r\n cancelText?: string;\r\n showConfirm?: XBoolean;\r\n confirmText?: string;\r\n backdropClose?: XBoolean;\r\n draggable?: XBoolean;\r\n resizable?: XBoolean;\r\n maximize?: XBoolean;\r\n hasBackdrop?: XBoolean;\r\n className?: string;\r\n buttonsCenter?: XBoolean;\r\n}\r\n\r\nexport interface XDrawerConfig {\r\n placement?: XPosition;\r\n size?: string;\r\n backdropClose?: XBoolean;\r\n hasBackdrop?: XBoolean;\r\n className?: string;\r\n}\r\n\r\nexport interface XDropdownConfig {\r\n trigger?: XTrigger;\r\n placement?: XPlacement;\r\n}\r\n\r\nexport interface XDescriptionConfig {\r\n bordered?: XBoolean;\r\n size?: XSize;\r\n}\r\n\r\nexport interface XEmptyConfig {\r\n img?: XTemplate;\r\n content?: XTemplate;\r\n}\r\n\r\nexport interface XFindConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n columnLabel?: string;\r\n dialogTitle?: string;\r\n dialogCheckboxLabel?: string;\r\n dialogCheckboxWidth?: number;\r\n dialogEmptyContent?: string;\r\n dialogButtonsCenter?: XBoolean;\r\n tableIndex?: number;\r\n tableSize?: number;\r\n tableLoading?: XBoolean;\r\n tableVirtualScroll?: boolean;\r\n tableRowHeight?: XNumber;\r\n treeExpandedLevel?: XNumber;\r\n}\r\n\r\nexport interface XFormConfig {\r\n space?: XNumber;\r\n labelSuffix?: string;\r\n width?: string;\r\n}\r\n\r\nexport interface XHighlightConfig {}\r\n\r\nexport interface XIconConfig {\r\n href?: string;\r\n}\r\n\r\nexport interface XInnerConfig {\r\n padding?: string;\r\n}\r\n\r\nexport interface XInputConfig {\r\n clearable?: XBoolean;\r\n iconLayout?: XPositionLeftRight;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n inputPadding?: XNumber;\r\n inputIconPadding?: XNumber;\r\n}\r\n\r\nexport interface XInputGroupConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n compact?: XBoolean;\r\n}\r\n\r\nexport interface XInputNumberConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n hiddenButton?: XBoolean;\r\n}\r\n\r\nexport interface XImageConfig {\r\n previewText?: string;\r\n}\r\n\r\nexport interface XColConfig {}\r\n\r\nexport interface XRowConfig {}\r\n\r\nexport interface XRippleConfig {\r\n type?: XType;\r\n}\r\n\r\nexport interface XLinkConfig {\r\n underline?: XBoolean;\r\n iconRight?: XBoolean;\r\n preventDefault?: XBoolean;\r\n}\r\n\r\nexport interface XListConfig {\r\n selectAllText?: string;\r\n loadMoreText?: string;\r\n loadingMoreText?: string;\r\n caseSensitive?: boolean;\r\n}\r\n\r\nexport interface XListOptionConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XLoadingConfig {\r\n size?: XSize;\r\n text?: string;\r\n icon?: string;\r\n color?: string;\r\n background?: string;\r\n zIndex?: number;\r\n}\r\n\r\nexport interface XMenuConfig {\r\n size?: XSize;\r\n width?: string;\r\n trigger?: XTrigger;\r\n}\r\n\r\nexport interface XMessageConfig {\r\n type?: XStatus;\r\n width?: string;\r\n placement?: XPlace;\r\n displayType?: string;\r\n offset?: string | string[];\r\n duration?: number;\r\n hideClose?: boolean;\r\n showIcon?: boolean;\r\n}\r\n\r\nexport interface XMessageBoxConfig {}\r\n\r\nexport interface XNotificationConfig {}\r\n\r\nexport interface XOutletConfig {}\r\n\r\nexport interface XPageHeaderConfig {\r\n backIcon?: string;\r\n backText?: string;\r\n}\r\n\r\nexport interface XPaginationConfig {\r\n index?: XNumber;\r\n size?: XNumber;\r\n space?: XNumber;\r\n pageLinkSize?: XNumber;\r\n hiddenBorder?: boolean;\r\n showEllipsis?: boolean;\r\n showTotal?: boolean;\r\n showSize?: boolean;\r\n sizeWidth?: number;\r\n sizeData?: number[];\r\n showInputSize?: boolean;\r\n inputSizeWidth?: number;\r\n showJump?: boolean;\r\n jumpWidth?: number;\r\n simple?: boolean;\r\n simpleIndexWidth?: number;\r\n}\r\n\r\nexport interface XPatternConfig {}\r\n\r\nexport interface XPopconfirmConfig {\r\n placement?: XPlacement;\r\n trigger?: XTrigger;\r\n width?: string;\r\n icon?: string;\r\n iconColor?: string;\r\n cancelText?: string;\r\n confirmText?: string;\r\n}\r\n\r\nexport interface XPopoverConfig {\r\n placement?: XPlacement;\r\n trigger?: XTrigger;\r\n width?: string;\r\n}\r\n\r\nexport interface XPortalConfig {}\r\n\r\nexport interface XProgressConfing {\r\n height?: string;\r\n stepWidth?: string;\r\n}\r\n\r\nexport interface XRadioConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XRateConfig {\r\n color?: string | { [color: string]: (rate: number) => boolean };\r\n}\r\n\r\nexport interface XResultConfig {}\r\n\r\nexport interface XSelectConfig {\r\n placement?: XPositionTopBottom;\r\n clearable?: XBoolean;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n portalMaxHeight?: string;\r\n selectAllText?: string;\r\n search?: XBoolean;\r\n caseSensitive?: XBoolean;\r\n debounceTime?: number;\r\n maxTagCount?: number;\r\n virtualScroll?: XBoolean;\r\n}\r\n\r\nexport interface XSkeletonConfig {}\r\n\r\nexport interface XSliderConfig {\r\n animated?: XBoolean;\r\n size?: XSize;\r\n showExpand?: XBoolean;\r\n autoShowArrow?: XBoolean;\r\n trigger?: XTrigger;\r\n}\r\n\r\nexport interface XSliderSelectConfig {}\r\n\r\nexport interface XStatisticConfig {}\r\n\r\nexport interface XCountdownConfig {\r\n format?: string;\r\n}\r\n\r\nexport interface XStepsConfig {}\r\n\r\nexport interface XSwitchConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XTableConfig {\r\n index?: number;\r\n size?: number;\r\n loading?: XBoolean;\r\n showHeader?: XBoolean;\r\n virtualScroll?: boolean;\r\n rowHeight?: XNumber;\r\n itemSize?: XNumber;\r\n bordered?: XNumber;\r\n allowSelectRow?: XBoolean;\r\n allowCheckRow?: XBoolean;\r\n rowSize?: XSize;\r\n showPagination?: XBoolean;\r\n treeTable?: XBoolean;\r\n expandedAll?: XBoolean;\r\n expandedLevel?: XNumber;\r\n hiddenPaginationBorder?: XBoolean;\r\n hiddenWrapBorder?: XBoolean;\r\n showEmpty?: XBoolean;\r\n emptyImg?: XTemplate;\r\n emptyContent?: XTemplate;\r\n}\r\n\r\nexport interface XTabsConfig {\r\n size?: XSize;\r\n trigger?: XTrigger;\r\n}\r\n\r\nexport interface XTagConfig {\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n closable?: XBoolean;\r\n dark?: XBoolean;\r\n}\r\n\r\nexport interface XTextRetractConfig {\r\n max?: XNumber;\r\n}\r\n\r\nexport interface XThemeConfig {\r\n amounts?: XNumber[];\r\n}\r\n\r\nexport interface XTimeAgoConfig {}\r\n\r\nexport interface XTimePickerConfig {\r\n format?: string;\r\n placement?: XCorner;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n use12Hours?: XBoolean;\r\n defaultNow?: XBoolean;\r\n}\r\n\r\nexport interface XTimeRangeConfig {}\r\n\r\nexport interface XTimelineConfig {\r\n size?: XSize;\r\n}\r\n\r\nexport interface XTooltipConfig {\r\n placement?: XPlacement;\r\n}\r\n\r\nexport interface XTransferConfig {\r\n titles?: string[];\r\n drag?: XBoolean;\r\n virtualScroll?: XBoolean;\r\n}\r\n\r\nexport interface XTreeConfig {\r\n spacing?: XNumber;\r\n nodeHeight?: XNumber;\r\n nodeAlignItems?: XAlign;\r\n virtualScroll?: boolean;\r\n onlyLeaf?: boolean;\r\n showLine?: boolean;\r\n}\r\n\r\nexport interface XTextareaConfig {\r\n clearable?: XBoolean;\r\n iconLayout?: XPositionLeftRight;\r\n}\r\n\r\nexport interface XTreeFileConfig {\r\n maxHeight?: XNumber;\r\n spacing?: XNumber;\r\n}\r\n\r\nexport interface XTreeSelectConfig {\r\n placement?: XPositionTopBottom;\r\n clearable?: XBoolean;\r\n size?: XSize;\r\n bordered?: XBoolean;\r\n portalMaxHeight?: string;\r\n selectAllText?: string;\r\n search?: XBoolean;\r\n caseSensitive?: XBoolean;\r\n debounceTime?: number;\r\n maxTagCount?: number;\r\n virtualScroll?: XBoolean;\r\n showPath?: XBoolean;\r\n separator?: string;\r\n onlyLeaf?: boolean;\r\n}\r\n\r\nexport interface XUploadConfig {\r\n download?: XBoolean;\r\n multipleModel?: 'cover' | 'add';\r\n}\r\n\r\nexport interface XKeywordConfig {\r\n type?: XType;\r\n color?: string;\r\n caseSensitive?: boolean;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface XTheme {\r\n colors?: XColorsTheme;\r\n}\r\n\r\nexport interface XColorsTheme {\r\n primary?: string;\r\n success?: string;\r\n warning?: string;\r\n danger?: string;\r\n info?: string;\r\n text?: string;\r\n border?: string;\r\n background?: string;\r\n [property: string]: any;\r\n}\r\n\r\nexport type XThemeKey = keyof XTheme;\r\n\r\nexport type XColors = 'primary' | 'success' | 'warning' | 'danger' | 'info';\r\n\r\nexport const X_THEME = new InjectionToken<XTheme>('x-theme');\r\n\r\nexport const X_THEME_PREFIX = '--x-';\r\n\r\nexport const X_THEME_MERGE = '#ffffff';\r\n\r\nexport const X_THEME_BLACK_MERGE = '#cccccc';\r\n\r\nexport const X_THEME_AMOUNTS = [0, -0.1, -0.2, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9];\r\n\r\nexport const X_THEME_BACKGROUNDS = [-0.2, -0.3, -0.4];\r\n\r\nexport const X_THEME_TEXTS = [\r\n [-0.5, 0],\r\n [-0.6, 0.2],\r\n [-0.7, 0.4]\r\n];\r\n\r\nexport const X_THEME_BORDERS = [\r\n [-0.8, 0],\r\n [-0.9, 0.2]\r\n];\r\n\r\nexport const X_THEME_EXCHANGES = [\r\n [-0.1, -0.1],\r\n [0.1, -0.1],\r\n [0.2, 0.2],\r\n [0.3, 0],\r\n [0.4, -0.4],\r\n [0.5, -0.2],\r\n [0.6, 0],\r\n [0.7, -0.4],\r\n [0.8, -0.4],\r\n [0.9, -0.2]\r\n];\r\n\r\nexport const X_THEME_COLORS: XColorsTheme = {\r\n primary: '#1976d2',\r\n success: '#67c23a',\r\n warning: '#e6a23c',\r\n danger: '#f56c6c',\r\n info: '#909399',\r\n text: '#333333',\r\n border: '#dddddd',\r\n background: '#ffffff'\r\n};\r\n\r\nexport const X_THEME_DARK_COLORS: XColorsTheme = {\r\n text: '#dddddd',\r\n border: '#424242',\r\n background: '#1e1e1f'\r\n};\r\n\r\nexport const X_THEME_COLOR_KEYS = Object.keys(X_THEME_COLORS);\r\n","import { Injectable, RendererFactory2, Renderer2, inject } from '@angular/core';\r\nimport {\r\n XTheme,\r\n XColorsTheme,\r\n X_THEME_COLORS,\r\n X_THEME_COLOR_KEYS,\r\n X_THEME_PREFIX,\r\n X_THEME_AMOUNTS,\r\n X_THEME_MERGE,\r\n X_THEME_BLACK_MERGE,\r\n X_THEME_EXCHANGES,\r\n X_THEME_BACKGROUNDS,\r\n X_THEME_TEXTS,\r\n X_THEME_BORDERS\r\n} from './theme';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XComputed } from '../util';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XThemeService {\r\n private colorsProp: XColorsTheme = {};\r\n private colorsStyleEle!: HTMLStyleElement;\r\n private renderer2: Renderer2;\r\n private declaration: CSSStyleDeclaration;\r\n private doc: Document = inject(DOCUMENT);\r\n\r\n constructor(private factory: RendererFactory2) {\r\n this.renderer2 = this.factory.createRenderer(null, null);\r\n this.declaration = XComputed(this.doc.documentElement);\r\n }\r\n\r\n setInitialTheme(theme?: XTheme) {\r\n this.setColors(theme?.colors);\r\n if (theme?.colors) Object.assign(X_THEME_COLORS, theme.colors);\r\n }\r\n\r\n setTheme(theme?: XTheme) {\r\n this.setColors(theme?.colors);\r\n }\r\n\r\n getTheme(includesAll = false): XTheme {\r\n return {\r\n colors: this.getColors(includesAll)\r\n };\r\n }\r\n\r\n setColors(colors?: XColorsTheme) {\r\n colors = this.getColorsTheme(colors);\r\n for (let key in colors) {\r\n Object.assign(this.colorsProp, this.setRoot(key, colors[key]));\r\n }\r\n this.createColorsStyle();\r\n }\r\n\r\n getColors(includes = false, prefix = X_THEME_PREFIX): XColorsTheme {\r\n let result: XColorsTheme = {};\r\n const keys = includes ? Object.keys(this.colorsProp) : X_THEME_COLOR_KEYS.map((x) => `${prefix}${x}`);\r\n keys.forEach((x) => {\r\n result[x.replace(prefix, '')] = this.declaration.getPropertyValue(`${x}`).trim();\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getColorsInProperty(colors?: XColorsTheme, prefix = X_THEME_PREFIX): XColorsTheme {\r\n let result: XColorsTheme = {};\r\n Object.keys(colors as XColorsTheme).forEach((x) => {\r\n result[x] = this.declaration.getPropertyValue(`${prefix}${x}`).trim();\r\n });\r\n\r\n return result;\r\n }\r\n\r\n getColorsTheme(colors?: XColorsTheme) {\r\n if (typeof colors === 'undefined') colors = X_THEME_COLORS;\r\n else colors = Object.assign({}, X_THEME_COLORS, colors);\r\n return colors;\r\n }\r\n\r\n setRoot(color: string, value: string, prefix = X_THEME_PREFIX) {\r\n let result: XColorsTheme = {};\r\n if (X_THEME_COLOR_KEYS.includes(color)) {\r\n for (let amount of X_THEME_AMOUNTS) {\r\n if (amount === 0) {\r\n result[`${prefix}${color}`] = value;\r\n } else {\r\n result[`${prefix}${color}${this.getSuffix(amount)}`] = toHex(\r\n mixColors(amount > 0 ? X_THEME_MERGE : X_THEME_BLACK_MERGE, value, Math.abs(amount))\r\n );\r\n }\r\n }\r\n } else {\r\n result[`${prefix}${color}`] = value;\r\n }\r\n return result;\r\n }\r\n\r\n setDarkRoot(color: string, value: string, prefix = X_THEME_PREFIX) {\r\n let result: XColorsTheme = {};\r\n const allColors = this.setRoot(color, value, '');\r\n if (X_THEME_COLOR_KEYS.includes(color) && !['background'].includes(color)) {\r\n const allColors = this.setRoot(color, value, prefix);\r\n X_THEME_EXCHANGES.forEach((x) => {\r\n if (x[1] >= -0.1) {\r\n const curr = this.getSuffix(x[0]);\r\n const next = this.getSuffix(x[1]);\r\n result[`${prefix}${color}${curr}`] = allColors[`${prefix}${color}${next}`];\r\n }\r\n });\r\n } else if (['background'].includes(color)) {\r\n result = this.getDefineColors(Object.assign({}, this.getColorsInProperty(X_THEME_COLORS), allColors), '', true);\r\n }\r\n return result;\r\n }\r\n\r\n getDefineColors(colors?: XColorsTheme, prefix = X_THEME_PREFIX, darken = false): XColorsTheme {\r\n let result: XColorsTheme = {};\r\n colors = this.getColorsTheme(colors);\r\n for (let key in colors) {\r\n Object.assign(result, this.setRoot(key, colors[key], prefix));\r\n }\r\n if (darken) {\r\n const colorsFunc = (nums: number[] | number[][], callback: Function) => {\r\n for (let num of nums) {\r\n for (let color in colors) {\r\n if (X_THEME_COLOR_KEYS.includes(color) && !['background'].includes(color)) {\r\n callback(num, color);\r\n }\r\n }\r\n }\r\n };\r\n colorsFunc(X_THEME_BACKGROUNDS, (background: number, color: string) => {\r\n const theme = this.getSuffix(background);\r\n result[`${prefix}${color}${theme}`] = result[`${prefix}background${theme.replace('a', '')}`];\r\n });\r\n colorsFunc(X_THEME_TEXTS, (text: number[], color: string) => {\r\n const curr = this.getSuffix(text[0]);\r\n const next = this.getSuffix(text[1]);\r\n result[`${prefix}${color}${curr}`] = result[`${prefix}text${next}`];\r\n });\r\n colorsFunc(X_THEME_BORDERS, (border: number[], color: string) => {\r\n const curr = this.getSuffix(border[0]);\r\n const next = this.getSuffix(border[1]);\r\n result[`${prefix}${color}${curr}`] = result[`${prefix}border${next}`];\r\n });\r\n colorsFunc(X_THEME_EXCHANGES, (exchange: number[], color: string) => {\r\n const curr = this.getSuffix(exchange[0]);\r\n const next = this.getSuffix(exchange[1]);\r\n result[`${prefix}${color}${curr}`] = result[`${prefix}${color}${next}`];\r\n });\r\n }\r\n return result;\r\n }\r\n\r\n getSuffix(num: number): string {\r\n if (num > 0) {\r\n return `-${Math.abs(num * 1000)}`;\r\n } else if (num < 0) {\r\n return `-a${Math.abs(num * 1000)}`;\r\n }\r\n return '';\r\n }\r\n\r\n createColorsStyle() {\r\n if (this.colorsStyleEle) this.renderer2.removeChild(this.colorsStyleEle.parentNode, this.colorsStyleEle);\r\n const styles = Object.entries(this.colorsProp)\r\n .map((x) => `${x[0]}: ${x[1]};`)\r\n .join('');\r\n this.colorsStyleEle = this.renderer2.createElement('style');\r\n this.colorsStyleEle.innerHTML = `.x-theme-colors{${styles}}`;\r\n this.renderer2.addClass(this.doc.documentElement, 'x-theme-colors');\r\n this.doc.documentElement.getElementsByTagName('head')[0].appendChild(this.colorsStyleEle);\r\n }\r\n}\r\n\r\nexport function mixColors(color1: string, color2: string, weight: number) {\r\n let rgb1 = toRgb(color1);\r\n let rgb2 = toRgb(color2);\r\n let weight1 = weight;\r\n let weight2 = 1 - weight;\r\n let result: { r: number; g: number; b: number };\r\n\r\n const inRange = (num: number) => {\r\n return num > 255 ? 255 : num < 0 ? 0 : num;\r\n };\r\n\r\n result = {\r\n r: inRange(Math.round(rgb1.r * weight1 + rgb2.r * weight2)),\r\n g: inRange(Math.round(rgb1.g * weight1 + rgb2.g * weight2)),\r\n b: inRange(Math.round(rgb1.b * weight1 + rgb2.b * weight2))\r\n };\r\n\r\n return result;\r\n}\r\n\r\nexport function toHex(rgb: { r: number; g: number; b: number }) {\r\n return '#' + ((1 << 24) + (rgb.r << 16) + (rgb.g << 8) + rgb.b).toString(16).slice(1);\r\n}\r\n\r\nexport function toRgb(hex: string) {\r\n if (hex.indexOf('#') == 0) hex = hex.slice(1);\r\n let num = parseInt(hex, 16);\r\n let r = num >> 16;\r\n if (r > 255) r = 255;\r\n else if (r < 0) r = 0;\r\n let g = (num >> 8) & 0x00ff;\r\n if (g > 255) g = 255;\r\n else if (g < 0) g = 0;\r\n let b = num & 0x0000ff;\r\n if (b > 255) b = 255;\r\n else if (b < 0) b = 0;\r\n\r\n return { r: r, g: g, b: b };\r\n}\r\n","// tslint:disable no-any\r\n\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XConfig, X_CONFIG, XComponentConfigKey, XComponentConfig } from './config';\r\nimport { XThemeService, XTheme, X_THEME_COLORS, X_THEME_DARK_COLORS } from '../theme';\r\nimport { filter, mapTo } from 'rxjs/operators';\r\n\r\nconst isDefined = function (value?: any): boolean {\r\n return value !== undefined;\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class XConfigService {\r\n private componentConfigUpdated$ = new Subject<keyof XComponentConfig>();\r\n private config: XConfig;\r\n private defaultConfig = inject(X_CONFIG, { optional: true })!;\r\n public themeService = inject(XThemeService, { optional: true })!;\r\n\r\n constructor() {\r\n this.config = this.defaultConfig || {};\r\n this.setInitialTheme(this.config.theme);\r\n }\r\n\r\n getConfigForComponent<T extends XComponentConfigKey>(componentName: T): XComponentConfig[T] {\r\n return this.config?.components ? this.config.components[componentName] : undefined;\r\n }\r\n\r\n getConfigChangeEventForComponent(componentName: XComponentConfigKey): Observable<void> {\r\n return this.componentConfigUpdated$.pipe(\r\n filter((n) => n === componentName),\r\n mapTo(undefined)\r\n );\r\n }\r\n\r\n set<T extends XComponentConfigKey>(componentName: T, value: XComponentConfig[T]): void {\r\n if (this.config?.components) {\r\n this.config.components[componentName] = {\r\n ...this.config.components[componentName],\r\n ...value\r\n };\r\n this.componentConfigUpdated$.next(componentName);\r\n }\r\n }\r\n\r\n setDarkTheme(theme?: XTheme) {\r\n let colors = theme?.colors;\r\n if (!colors) colors = X_THEME_DARK_COLORS;\r\n this.setTheme({\r\n colors: this.themeService.getDefineColors(\r\n Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors),\r\n '',\r\n true\r\n )\r\n });\r\n }\r\n\r\n setLightTheme(theme?: XTheme) {\r\n let colors = theme?.colors;\r\n if (!colors) colors = X_THEME_COLORS;\r\n this.setTheme({\r\n colors: this.themeService.getDefineColors(\r\n Object.assign({}, this.themeService.getColorsInProperty(X_THEME_COLORS), colors),\r\n '',\r\n false\r\n )\r\n });\r\n }\r\n\r\n setTheme(theme?: XTheme) {\r\n this.themeService.setTheme(theme);\r\n }\r\n\r\n setInitialTheme(theme?: XTheme) {\r\n this.themeService.setInitialTheme(theme);\r\n }\r\n\r\n getTheme(includesAll = false): XTheme {\r\n return this.themeService.getTheme(includesAll);\r\n }\r\n}\r\n\r\n// tslint:disable-next-line:typedef\r\nexport function XWithConfig<T>(componentName: XComponentConfigKey, innerDefaultValue?: T) {\r\n return function ConfigDecorator(\r\n target: any,\r\n propName: any,\r\n originalDescriptor?: TypedPropertyDescriptor<T>\r\n ): any {\r\n const privatePropName = `$$__assignedValue__${propName}`;\r\n\r\n Object.defineProperty(target, privatePropName, {\r\n configurable: true,\r\n writable: true,\r\n enumerable: false\r\n });\r\n\r\n return {\r\n get(): T | undefined {\r\n const originalValue =\r\n originalDescriptor && originalDescriptor.get\r\n ? originalDescriptor.get.bind(this)()\r\n : this[privatePropName];\r\n\r\n if (isDefined(originalValue)) {\r\n return originalValue;\r\n }\r\n\r\n const componentConfig = this.configService?.getConfigForComponent(componentName) || {};\r\n console.log(componentConfig)\r\n const configValue = componentConfig[propName];\r\n console.log(configValue, propName, )\r\n\r\n return isDefined(configValue) ? configValue : innerDefaultValue;\r\n },\r\n set(value: T): void {\r\n if (originalDescriptor && originalDescriptor.set) {\r\n originalDescriptor.set.bind(this)(value);\r\n } else {\r\n this[privatePropName] = value;\r\n }\r\n },\r\n configurable: true,\r\n enumerable: true\r\n };\r\n };\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["XDURATION_BASE_EASE_IN","XDURATION_BASE_EASE_OUT","i1"],"mappings":"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"}
|