@ng-nest/ui 16.0.16 → 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.
Files changed (46) hide show
  1. package/base-form/base-form.property.d.ts +1 -5
  2. package/esm2022/auto-complete/auto-complete.component.mjs +11 -3
  3. package/esm2022/auto-complete/auto-complete.property.mjs +1 -1
  4. package/esm2022/base-form/base-form.property.mjs +2 -8
  5. package/esm2022/cascade/cascade.property.mjs +1 -1
  6. package/esm2022/checkbox/checkbox.property.mjs +1 -1
  7. package/esm2022/color-picker/color-picker.property.mjs +1 -1
  8. package/esm2022/core/config/config.service.mjs +10 -3
  9. package/esm2022/date-picker/date-picker.property.mjs +1 -1
  10. package/esm2022/find/find.property.mjs +1 -1
  11. package/esm2022/input/input.property.mjs +1 -1
  12. package/esm2022/input-number/input-number.property.mjs +1 -1
  13. package/esm2022/list/list.property.mjs +1 -1
  14. package/esm2022/radio/radio.property.mjs +1 -1
  15. package/esm2022/select/select.component.mjs +25 -11
  16. package/esm2022/select/select.property.mjs +1 -1
  17. package/esm2022/switch/switch.property.mjs +1 -1
  18. package/esm2022/textarea/textarea.property.mjs +7 -2
  19. package/esm2022/time-picker/time-picker.property.mjs +1 -1
  20. package/esm2022/tree-select/tree-select.component.mjs +3 -3
  21. package/esm2022/tree-select/tree-select.property.mjs +1 -1
  22. package/fesm2022/ng-nest-ui-auto-complete.mjs +10 -2
  23. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  24. package/fesm2022/ng-nest-ui-base-form.mjs +1 -7
  25. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  26. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  27. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  28. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  29. package/fesm2022/ng-nest-ui-core.mjs +9 -2
  30. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  31. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  32. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  33. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  34. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  35. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  36. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  37. package/fesm2022/ng-nest-ui-select.mjs +24 -10
  38. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  39. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  40. package/fesm2022/ng-nest-ui-textarea.mjs +6 -1
  41. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  42. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  43. package/fesm2022/ng-nest-ui-tree-select.mjs +2 -2
  44. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  45. package/package.json +124 -124
  46. package/textarea/textarea.property.d.ts +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-find.mjs","sources":["../../../../lib/ng-nest/ui/find/find.property.ts","../../../../lib/ng-nest/ui/find/find.component.ts","../../../../lib/ng-nest/ui/find/find.component.html","../../../../lib/ng-nest/ui/find/find.module.ts","../../../../lib/ng-nest/ui/find/ng-nest-ui-find.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XBoolean,\r\n XDataConvert,\r\n XData,\r\n XInputNumber,\r\n XNumber,\r\n XSort,\r\n XQuery,\r\n XWithConfig,\r\n XFilter,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XTableColumn, XTableRow } from '@ng-nest/ui/table';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Find\r\n * @selector x-find\r\n * @decorator component\r\n */\r\nexport const XFindPrefix = 'x-find';\r\nconst X_CONFIG_NAME = 'find';\r\n\r\nexport interface XFindSearchOption extends XFilter {\r\n label?: string;\r\n button?: string;\r\n}\r\n\r\n/**\r\n * Find Property\r\n */\r\n@Component({ selector: `${XFindPrefix}-property`, template: '' })\r\nexport class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputBoolean() multiple: XBoolean = false;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'label') columnLabel!: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '查找选择') dialogTitle!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列头名称\r\n * @en_US Ball Form Select List Name\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '选择') dialogCheckboxLabel!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列宽\r\n * @en_US Ball Form Select List width\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 60) @XInputNumber() dialogCheckboxWidth!: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示信息\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '请选择数据') dialogEmptyContent!: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n @Input() dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n @Input() dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Input() @XInputBoolean() dialogVisible: boolean = false;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Output() dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button centered\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n @Input() tableData: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n @Output() tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n @Output() tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n @Input() tableColumns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Output() tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Input() tableCheckedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() tableLoading!: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n @Input() @XWithConfig<boolean>(X_CONFIG_NAME, false) @XInputBoolean() tableVirtualScroll!: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n @Input() @XInputNumber() tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMinBufferPx: number = 100;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMaxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() tableDocPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() tableRowHeight!: number;\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n @Input() @XDataConvert() treeData: XData<XTreeNode> = [];\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n @Output() treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n @Input() treeActivatedId: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() treeExpandedLevel!: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n @Input() treeChecked: any[] = [];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n @Input() @XInputBoolean() treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n @Input() treeTableConnect: any;\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n @Input() search!: XFindSearchOption;\r\n}\r\n\r\n/**\r\n * Find Option\r\n * @undocument true\r\n */\r\nexport interface XFindOption extends XFormOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple select\r\n */\r\n multiple?: XBoolean;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n columnLabel?: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n dialogTitle?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头名称\r\n * @en_US Ball Form Select Box List Name\r\n */\r\n dialogCheckboxLabel?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头宽度\r\n * @en_US Ball Form Select Box List width\r\n */\r\n dialogCheckboxWidth?: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示内容\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n dialogEmptyContent?: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n dialogVisible?: boolean;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n // dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n tableData?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n tableIndex?: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n tableSize?: number;\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n tableTotal?: number;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n // tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n // tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n // tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n // tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n tableCheckedRow?: { [property: string]: any[] };\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n tableLoading?: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n tableVirtualScroll?: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n tableMinBufferPx?: number;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n tableMaxBufferPx?: number;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n tableDocPercent?: XNumber;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n tableRowHeight?: XNumber;\r\n\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n treeData?: XData<XTreeNode>;\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n // treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n treeActivatedId?: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n treeExpandedLevel?: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n treeChecked?: any[];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n treeTableConnect?: any;\r\n\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n search?: XFindSearchOption;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XFindProperty, XFindPrefix } from './find.property';\r\nimport { XClearClass, XResize, XIsUndefined, XIsChange, XConfigService, XIsEmpty, XResizeObserver } from '@ng-nest/ui/core';\r\nimport { XTableComponent, XTableRow } from '@ng-nest/ui/table';\r\nimport { XDialogComponent } from '@ng-nest/ui/dialog';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XTreeNode, XTreeComponent } from '@ng-nest/ui/tree';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XFindPrefix}`,\r\n templateUrl: './find.component.html',\r\n styleUrls: ['./find.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XFindComponent)]\r\n})\r\nexport class XFindComponent extends XFindProperty implements OnInit {\r\n @ViewChild('find', { static: true }) find!: ElementRef<HTMLElement>;\r\n @ViewChild('dialogCom') dialogCom!: XDialogComponent;\r\n @ViewChild('tableCom') tableCom!: XTableComponent;\r\n @ViewChild('treeCom') treeCom!: XTreeComponent;\r\n @ViewChild('buttonCom') buttonCom!: XButtonComponent;\r\n\r\n private _tableRef!: ElementRef<HTMLElement>;\r\n public get tableRef(): ElementRef {\r\n return this._tableRef;\r\n }\r\n @ViewChild('tableRef')\r\n public set tableRef(value: ElementRef) {\r\n this._tableRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n private _treeRef!: ElementRef<HTMLElement>;\r\n public get treeRef(): ElementRef {\r\n return this._treeRef;\r\n }\r\n @ViewChild('treeRef')\r\n public set treeRef(value: ElementRef) {\r\n this._treeRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n get getEmpty() {\r\n return !this.temp || this.temp.length === 0;\r\n }\r\n\r\n get hasTable() {\r\n return this.tableColumns?.length > 0;\r\n }\r\n\r\n get hasTree() {\r\n return (\r\n (Array.isArray(this.treeData) && this.treeData.length > 0) || this.treeData instanceof Function || this.treeData instanceof Observable\r\n );\r\n }\r\n\r\n get hasTreeTable() {\r\n return this.hasTable && this.hasTree;\r\n }\r\n\r\n get hasTreeMultiple() {\r\n return this.hasTree && !this.hasTreeTable && this.multiple;\r\n }\r\n\r\n get hasSearch() {\r\n return this.search && this.hasTable;\r\n }\r\n\r\n temp: any;\r\n height = 100;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(public renderer: Renderer2, public override cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { tableData, labelAlign, size } = simples;\r\n XIsChange(tableData) && this.setTableCheckedRow();\r\n XIsChange(labelAlign, size) && this.setClassMap();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setMultiple();\r\n this.setWidth();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.value) this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap, this.classMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n this.classMap[`x-find-${this.size}`] = !XIsEmpty(this.size);\r\n }\r\n\r\n setSubscribe() {\r\n let resizeRef: Element[] = [];\r\n if (this.hasTable) {\r\n resizeRef = [this.tableRef?.nativeElement];\r\n }\r\n if (this.hasTree && !this.hasTreeTable) {\r\n resizeRef.push(this.treeRef?.nativeElement);\r\n }\r\n this._unSubject.next();\r\n XResize(...resizeRef)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n if (this.tableRef) {\r\n this.height = this.tableRef.nativeElement.clientHeight;\r\n } else if (this.hasTree) {\r\n this.height = this.treeRef?.nativeElement.clientHeight;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n setMultiple() {\r\n if (!this.multiple) return;\r\n if (this.hasTable) {\r\n if (!this.tableColumns.find((x) => x.rowChecked)) {\r\n this.tableColumns = [\r\n {\r\n id: '$checked',\r\n label: this.dialogCheckboxLabel,\r\n rowChecked: true,\r\n type: 'checkbox',\r\n width: this.dialogCheckboxWidth\r\n },\r\n ...this.tableColumns\r\n ];\r\n }\r\n }\r\n }\r\n\r\n setWidth() {\r\n if (XIsUndefined(this.dialogWidth)) {\r\n if ((this.hasTable && this.hasTree) || this.hasTable) {\r\n this.dialogWidth = '50rem';\r\n } else if (this.hasTree && this.multiple) {\r\n this.dialogWidth = '30rem';\r\n } else if (this.hasTree) {\r\n this.dialogWidth = '20rem';\r\n }\r\n }\r\n }\r\n\r\n showModal() {\r\n if (this.disabled) return;\r\n this.dialogVisible = true;\r\n this.dialogVisibleChange.emit(this.dialogVisible);\r\n if (this.value) {\r\n if (this.multiple) {\r\n this.temp = (this.value as Array<any>).map((x) => Object.assign({}, x));\r\n this.setTableCheckedRow();\r\n this.setTreeChecked();\r\n } else {\r\n this.tableActivatedRow = this.value;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = this.value.id;\r\n }\r\n }\r\n } else {\r\n this.temp = this.multiple ? [] : null;\r\n }\r\n if (this.hasTable) {\r\n this.tableCom.virtualBody?.scrollToIndex(0);\r\n this.tableCom.virtualBody?.checkViewportSize();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setTableCheckedRow() {\r\n if (!this.multiple || XIsUndefined(this.temp)) return;\r\n const ids = (this.temp as Array<any>).map((x) => x.id);\r\n this.tableCheckedRow = {\r\n ...this.tableCheckedRow,\r\n $checked: ids\r\n };\r\n }\r\n\r\n setTreeChecked() {\r\n if (this.hasTreeMultiple) this.treeChecked = this.temp.map((x: any) => x.id);\r\n }\r\n\r\n sure() {\r\n this.value = this.temp;\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n closeModal() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dialogCloseDone() {\r\n if (this.hasTree) {\r\n this.treeActivatedId = null;\r\n this.temp = null;\r\n }\r\n }\r\n\r\n tempClose(index: number, item: any) {\r\n this.temp.splice(index, 1);\r\n if (this.hasTable) {\r\n let it = this.tableCom?.tableData.find((x) => item.id === x.id);\r\n if (it) {\r\n it['$checked'] = false;\r\n this.tableCom?.bodyChange();\r\n }\r\n } else if (this.hasTree) {\r\n let it = this.treeCom?.treeData.find((x) => item.id === x.id);\r\n if (it) {\r\n it.checked = false;\r\n it.change && it.change();\r\n this.treeCom?.cdr.detectChanges();\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tagClose(index: number = -1) {\r\n if (index >= 0) {\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value = null;\r\n this.tableActivatedRow = null;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = null;\r\n }\r\n }\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tableActivatedRowChange(data: XTableRow) {\r\n if (this.multiple) {\r\n this.rowMultiple(data);\r\n } else {\r\n this.temp = data;\r\n this.dialogVisible = false;\r\n this.sure();\r\n }\r\n }\r\n\r\n rowMultiple(data: XTableRow) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // data['$checked'] = !data['$checked'];\r\n if (data['$checked']) {\r\n this.temp = [...this.temp, data];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === data.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeMultiple(node: XTreeNode) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // node.$checked = !node.$checked;\r\n if (node.checked) {\r\n this.temp = [...this.temp, node];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === node.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeActivatedClick(node: XTreeNode) {\r\n if (!this.hasTreeTable && this.hasTree) {\r\n if (this.multiple) {\r\n // this.treeMultiple(node);\r\n } else {\r\n this.temp = node;\r\n }\r\n } else if (this.hasTreeTable && this.treeTableConnect) {\r\n if (!this.tableQuery) this.tableQuery = {};\r\n if (!this.tableQuery.filter) this.tableQuery.filter = [];\r\n let field = this.tableQuery.filter.find((x) => x.field === this.treeTableConnect);\r\n if (field) {\r\n field.value = node.id;\r\n field.operation = '=';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery.filter, { field: this.treeTableConnect, value: node.id, operation: '=' }];\r\n }\r\n this.tableCom.change(1);\r\n this.treeActivatedId = node.id;\r\n }\r\n this.treeActivatedChange.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeCheckboxChange(node: XTreeNode) {\r\n this.treeMultiple(node);\r\n }\r\n\r\n trackByItem(_index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.ngAfterViewInit();\r\n this.treeCom?.setData();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchKeyDown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter') {\r\n this.searchClick();\r\n } else if (event.key === 'Delete') {\r\n this.search.value = '';\r\n }\r\n }\r\n\r\n searchClick(): void {\r\n if (!this.hasSearch) {\r\n return;\r\n }\r\n\r\n this.tableQuery = this.tableQuery || [];\r\n this.tableQuery.filter = this.tableQuery.filter || [];\r\n const field = this.tableQuery.filter.find((x) => x.field === this.search.field);\r\n\r\n if (field) {\r\n field.value = this.search.value || '';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery?.filter, this.search];\r\n }\r\n\r\n this.tableCom.change(1);\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '查询' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XFindComponent } from './find.component';\r\nimport { XFindProperty } from './find.property';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XDialogModule } from '@ng-nest/ui/dialog';\r\nimport { XTableModule } from '@ng-nest/ui/table';\r\nimport { XTagModule } from '@ng-nest/ui/tag';\r\nimport { XEmptyModule } from '@ng-nest/ui/empty';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XFindComponent, XFindProperty],\r\n exports: [XFindComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XTagModule,\r\n XButtonModule,\r\n XDialogModule,\r\n XTableModule,\r\n XTreeModule,\r\n XIconModule,\r\n XEmptyModule,\r\n XInputModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XFindModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-find.mjs","sources":["../../../../lib/ng-nest/ui/find/find.property.ts","../../../../lib/ng-nest/ui/find/find.component.ts","../../../../lib/ng-nest/ui/find/find.component.html","../../../../lib/ng-nest/ui/find/find.module.ts","../../../../lib/ng-nest/ui/find/ng-nest-ui-find.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XBoolean,\r\n XDataConvert,\r\n XData,\r\n XInputNumber,\r\n XNumber,\r\n XSort,\r\n XQuery,\r\n XWithConfig,\r\n XFilter,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XTableColumn, XTableRow } from '@ng-nest/ui/table';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Find\r\n * @selector x-find\r\n * @decorator component\r\n */\r\nexport const XFindPrefix = 'x-find';\r\nconst X_CONFIG_NAME = 'find';\r\n\r\nexport interface XFindSearchOption extends XFilter {\r\n label?: string;\r\n button?: string;\r\n}\r\n\r\n/**\r\n * Find Property\r\n */\r\n@Component({ selector: `${XFindPrefix}-property`, template: '' })\r\nexport class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputBoolean() multiple: XBoolean = false;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'label') columnLabel!: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '查找选择') dialogTitle!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列头名称\r\n * @en_US Ball Form Select List Name\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '选择') dialogCheckboxLabel!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列宽\r\n * @en_US Ball Form Select List width\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 60) @XInputNumber() dialogCheckboxWidth!: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示信息\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '请选择数据') dialogEmptyContent!: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n @Input() dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n @Input() dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Input() @XInputBoolean() dialogVisible: boolean = false;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Output() dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button centered\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n @Input() tableData: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n @Output() tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n @Output() tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n @Input() tableColumns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Output() tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Input() tableCheckedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() tableLoading!: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n @Input() @XWithConfig<boolean>(X_CONFIG_NAME, false) @XInputBoolean() tableVirtualScroll!: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n @Input() @XInputNumber() tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMinBufferPx: number = 100;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMaxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() tableDocPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() tableRowHeight!: number;\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n @Input() @XDataConvert() treeData: XData<XTreeNode> = [];\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n @Output() treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n @Input() treeActivatedId: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() treeExpandedLevel!: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n @Input() treeChecked: any[] = [];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n @Input() @XInputBoolean() treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n @Input() treeTableConnect: any;\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n @Input() search!: XFindSearchOption;\r\n}\r\n\r\n/**\r\n * Find Option\r\n * @undocument true\r\n */\r\nexport interface XFindOption extends XFormOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple select\r\n */\r\n multiple?: XBoolean;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n columnLabel?: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n dialogTitle?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头名称\r\n * @en_US Ball Form Select Box List Name\r\n */\r\n dialogCheckboxLabel?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头宽度\r\n * @en_US Ball Form Select Box List width\r\n */\r\n dialogCheckboxWidth?: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示内容\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n dialogEmptyContent?: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n dialogVisible?: boolean;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n // dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n tableData?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n tableIndex?: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n tableSize?: number;\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n tableTotal?: number;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n // tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n // tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n // tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n // tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n tableCheckedRow?: { [property: string]: any[] };\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n tableLoading?: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n tableVirtualScroll?: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n tableMinBufferPx?: number;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n tableMaxBufferPx?: number;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n tableDocPercent?: XNumber;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n tableRowHeight?: XNumber;\r\n\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n treeData?: XData<XTreeNode>;\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n // treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n treeActivatedId?: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n treeExpandedLevel?: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n treeChecked?: any[];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n treeTableConnect?: any;\r\n\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n search?: XFindSearchOption;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XFindProperty, XFindPrefix } from './find.property';\r\nimport { XClearClass, XResize, XIsUndefined, XIsChange, XConfigService, XIsEmpty, XResizeObserver } from '@ng-nest/ui/core';\r\nimport { XTableComponent, XTableRow } from '@ng-nest/ui/table';\r\nimport { XDialogComponent } from '@ng-nest/ui/dialog';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XTreeNode, XTreeComponent } from '@ng-nest/ui/tree';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XFindPrefix}`,\r\n templateUrl: './find.component.html',\r\n styleUrls: ['./find.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XFindComponent)]\r\n})\r\nexport class XFindComponent extends XFindProperty implements OnInit {\r\n @ViewChild('find', { static: true }) find!: ElementRef<HTMLElement>;\r\n @ViewChild('dialogCom') dialogCom!: XDialogComponent;\r\n @ViewChild('tableCom') tableCom!: XTableComponent;\r\n @ViewChild('treeCom') treeCom!: XTreeComponent;\r\n @ViewChild('buttonCom') buttonCom!: XButtonComponent;\r\n\r\n private _tableRef!: ElementRef<HTMLElement>;\r\n public get tableRef(): ElementRef {\r\n return this._tableRef;\r\n }\r\n @ViewChild('tableRef')\r\n public set tableRef(value: ElementRef) {\r\n this._tableRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n private _treeRef!: ElementRef<HTMLElement>;\r\n public get treeRef(): ElementRef {\r\n return this._treeRef;\r\n }\r\n @ViewChild('treeRef')\r\n public set treeRef(value: ElementRef) {\r\n this._treeRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n get getEmpty() {\r\n return !this.temp || this.temp.length === 0;\r\n }\r\n\r\n get hasTable() {\r\n return this.tableColumns?.length > 0;\r\n }\r\n\r\n get hasTree() {\r\n return (\r\n (Array.isArray(this.treeData) && this.treeData.length > 0) || this.treeData instanceof Function || this.treeData instanceof Observable\r\n );\r\n }\r\n\r\n get hasTreeTable() {\r\n return this.hasTable && this.hasTree;\r\n }\r\n\r\n get hasTreeMultiple() {\r\n return this.hasTree && !this.hasTreeTable && this.multiple;\r\n }\r\n\r\n get hasSearch() {\r\n return this.search && this.hasTable;\r\n }\r\n\r\n temp: any;\r\n height = 100;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: XResizeObserver;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(public renderer: Renderer2, public override cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { tableData, labelAlign, size } = simples;\r\n XIsChange(tableData) && this.setTableCheckedRow();\r\n XIsChange(labelAlign, size) && this.setClassMap();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setMultiple();\r\n this.setWidth();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.value) this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap, this.classMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n this.classMap[`x-find-${this.size}`] = !XIsEmpty(this.size);\r\n }\r\n\r\n setSubscribe() {\r\n let resizeRef: Element[] = [];\r\n if (this.hasTable) {\r\n resizeRef = [this.tableRef?.nativeElement];\r\n }\r\n if (this.hasTree && !this.hasTreeTable) {\r\n resizeRef.push(this.treeRef?.nativeElement);\r\n }\r\n this._unSubject.next();\r\n XResize(...resizeRef)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n if (this.tableRef) {\r\n this.height = this.tableRef.nativeElement.clientHeight;\r\n } else if (this.hasTree) {\r\n this.height = this.treeRef?.nativeElement.clientHeight;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n setMultiple() {\r\n if (!this.multiple) return;\r\n if (this.hasTable) {\r\n if (!this.tableColumns.find((x) => x.rowChecked)) {\r\n this.tableColumns = [\r\n {\r\n id: '$checked',\r\n label: this.dialogCheckboxLabel,\r\n rowChecked: true,\r\n type: 'checkbox',\r\n width: this.dialogCheckboxWidth\r\n },\r\n ...this.tableColumns\r\n ];\r\n }\r\n }\r\n }\r\n\r\n setWidth() {\r\n if (XIsUndefined(this.dialogWidth)) {\r\n if ((this.hasTable && this.hasTree) || this.hasTable) {\r\n this.dialogWidth = '50rem';\r\n } else if (this.hasTree && this.multiple) {\r\n this.dialogWidth = '30rem';\r\n } else if (this.hasTree) {\r\n this.dialogWidth = '20rem';\r\n }\r\n }\r\n }\r\n\r\n showModal() {\r\n if (this.disabled) return;\r\n this.dialogVisible = true;\r\n this.dialogVisibleChange.emit(this.dialogVisible);\r\n if (this.value) {\r\n if (this.multiple) {\r\n this.temp = (this.value as Array<any>).map((x) => Object.assign({}, x));\r\n this.setTableCheckedRow();\r\n this.setTreeChecked();\r\n } else {\r\n this.tableActivatedRow = this.value;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = this.value.id;\r\n }\r\n }\r\n } else {\r\n this.temp = this.multiple ? [] : null;\r\n }\r\n if (this.hasTable) {\r\n this.tableCom.virtualBody?.scrollToIndex(0);\r\n this.tableCom.virtualBody?.checkViewportSize();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setTableCheckedRow() {\r\n if (!this.multiple || XIsUndefined(this.temp)) return;\r\n const ids = (this.temp as Array<any>).map((x) => x.id);\r\n this.tableCheckedRow = {\r\n ...this.tableCheckedRow,\r\n $checked: ids\r\n };\r\n }\r\n\r\n setTreeChecked() {\r\n if (this.hasTreeMultiple) this.treeChecked = this.temp.map((x: any) => x.id);\r\n }\r\n\r\n sure() {\r\n this.value = this.temp;\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n closeModal() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dialogCloseDone() {\r\n if (this.hasTree) {\r\n this.treeActivatedId = null;\r\n this.temp = null;\r\n }\r\n }\r\n\r\n tempClose(index: number, item: any) {\r\n this.temp.splice(index, 1);\r\n if (this.hasTable) {\r\n let it = this.tableCom?.tableData.find((x) => item.id === x.id);\r\n if (it) {\r\n it['$checked'] = false;\r\n this.tableCom?.bodyChange();\r\n }\r\n } else if (this.hasTree) {\r\n let it = this.treeCom?.treeData.find((x) => item.id === x.id);\r\n if (it) {\r\n it.checked = false;\r\n it.change && it.change();\r\n this.treeCom?.cdr.detectChanges();\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tagClose(index: number = -1) {\r\n if (index >= 0) {\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value = null;\r\n this.tableActivatedRow = null;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = null;\r\n }\r\n }\r\n this.onChange(this.value);\r\n this.formControlValidator();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tableActivatedRowChange(data: XTableRow) {\r\n if (this.multiple) {\r\n this.rowMultiple(data);\r\n } else {\r\n this.temp = data;\r\n this.dialogVisible = false;\r\n this.sure();\r\n }\r\n }\r\n\r\n rowMultiple(data: XTableRow) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // data['$checked'] = !data['$checked'];\r\n if (data['$checked']) {\r\n this.temp = [...this.temp, data];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === data.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeMultiple(node: XTreeNode) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // node.$checked = !node.$checked;\r\n if (node.checked) {\r\n this.temp = [...this.temp, node];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === node.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeActivatedClick(node: XTreeNode) {\r\n if (!this.hasTreeTable && this.hasTree) {\r\n if (this.multiple) {\r\n // this.treeMultiple(node);\r\n } else {\r\n this.temp = node;\r\n }\r\n } else if (this.hasTreeTable && this.treeTableConnect) {\r\n if (!this.tableQuery) this.tableQuery = {};\r\n if (!this.tableQuery.filter) this.tableQuery.filter = [];\r\n let field = this.tableQuery.filter.find((x) => x.field === this.treeTableConnect);\r\n if (field) {\r\n field.value = node.id;\r\n field.operation = '=';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery.filter, { field: this.treeTableConnect, value: node.id, operation: '=' }];\r\n }\r\n this.tableCom.change(1);\r\n this.treeActivatedId = node.id;\r\n }\r\n this.treeActivatedChange.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeCheckboxChange(node: XTreeNode) {\r\n this.treeMultiple(node);\r\n }\r\n\r\n trackByItem(_index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.ngAfterViewInit();\r\n this.treeCom?.setData();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchKeyDown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter') {\r\n this.searchClick();\r\n } else if (event.key === 'Delete') {\r\n this.search.value = '';\r\n }\r\n }\r\n\r\n searchClick(): void {\r\n if (!this.hasSearch) {\r\n return;\r\n }\r\n\r\n this.tableQuery = this.tableQuery || [];\r\n this.tableQuery.filter = this.tableQuery.filter || [];\r\n const field = this.tableQuery.filter.find((x) => x.field === this.search.field);\r\n\r\n if (field) {\r\n field.value = this.search.value || '';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery?.filter, this.search];\r\n }\r\n\r\n this.tableCom.change(1);\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '查询' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XFindComponent } from './find.component';\r\nimport { XFindProperty } from './find.property';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XDialogModule } from '@ng-nest/ui/dialog';\r\nimport { XTableModule } from '@ng-nest/ui/table';\r\nimport { XTagModule } from '@ng-nest/ui/tag';\r\nimport { XEmptyModule } from '@ng-nest/ui/empty';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XFindComponent, XFindProperty],\r\n exports: [XFindComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XTagModule,\r\n XButtonModule,\r\n XDialogModule,\r\n XTableModule,\r\n XTreeModule,\r\n XIconModule,\r\n XEmptyModule,\r\n XInputModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XFindModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-input-number.mjs","sources":["../../../../lib/ng-nest/ui/input-number/input-number.property.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.html","../../../../lib/ng-nest/ui/input-number/input-number.module.ts","../../../../lib/ng-nest/ui/input-number/ng-nest-ui-input-number.ts"],"sourcesContent":["import { XBoolean, XInputBoolean, XInputNumber, XNumber, XSize, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * InputNumber\r\n * @selector x-input-number\r\n * @decorator component\r\n */\r\nexport const XInputNumberPrefix = 'x-input-number';\r\n\r\nconst X_CONFIG_NAME = 'inputNumber';\r\n\r\n/**\r\n * InputNumber Property\r\n */\r\n@Component({ selector: `${XInputNumberPrefix}-property`, template: '' })\r\nexport class XInputNumberProperty extends XControlValueAccessor<any> implements XInputNumberOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n @Input() @XInputNumber() min: XNumber = Number.MIN_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max: XNumber = Number.MAX_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n @Input() @XInputNumber() step: XNumber = 1;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n @Input() @XInputNumber() debounce: XNumber = 40;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n @Input() @XInputNumber() precision: XNumber = 0;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n @Input() formatter!: (value: number) => XNumber;\r\n /**\r\n * @zh_CN 隐藏步进按钮\r\n * @en_US Hide step button\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) hiddenButton!: XBoolean;\r\n}\r\n\r\n/**\r\n * InputNumber Option\r\n * @undocument true\r\n */\r\nexport interface XInputNumberOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: XNumber;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: XNumber;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: XNumber;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n debounce?: XNumber;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n precision?: XNumber;\r\n\r\n /**\r\n *\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formate\r\n */\r\n xFormatter?: (value: number) => XNumber;\r\n}\r\n","import { Subject, Subscription, distinctUntilChanged, fromEvent, interval } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n inject\r\n} from '@angular/core';\r\nimport {\r\n XIsEmpty,\r\n XNumber,\r\n XClearClass,\r\n XConfigService,\r\n isNotNil,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { XInputNumberPrefix, XInputNumberProperty } from './input-number.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\n\r\n@Component({\r\n selector: `${XInputNumberPrefix}`,\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputNumberComponent)]\r\n})\r\nexport class XInputNumberComponent extends XInputNumberProperty implements OnInit {\r\n @ViewChild('inputNumber', { static: true }) inputNumber!: ElementRef<HTMLElement>;\r\n\r\n @ViewChild(XInputComponent, { static: true }) inputEleRef!: XInputComponent;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.setDisplayValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n displayValue: any = '';\r\n minDisabled: boolean = false;\r\n maxDisabled: boolean = false;\r\n mousedown$!: Subscription;\r\n mouseup$!: Subscription;\r\n timer: any;\r\n icon: string = '';\r\n iconSpin = false;\r\n clearable = false;\r\n isDown = false;\r\n valueChange = new Subject<any>();\r\n\r\n document = inject(DOCUMENT);\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(\r\n this.inputNumber.nativeElement,\r\n this.renderer,\r\n this.justify,\r\n this.align,\r\n this.direction\r\n );\r\n this.setClassMap();\r\n this.valueChange.pipe(distinctUntilChanged()).subscribe((x) => {\r\n this.onChange && this.onChange(x);\r\n });\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setDisplayValue() {\r\n if (!XIsEmpty(this.value) && !this.formatter) {\r\n this.displayValue = Number(this.value).toFixed(Number(this.precision));\r\n } else if (this.formatter) {\r\n const displayValue = isNotNil(this.formatter(Number(this.value)))\r\n ? this.formatter(Number(this.value))\r\n : '';\r\n if (isNotNil(displayValue)) {\r\n this.displayValue = displayValue;\r\n }\r\n }\r\n }\r\n\r\n change(value: any) {\r\n this.verify(value);\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onBlur() {\r\n this.displayValue = this.displayValue;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n down(event: Event, limit: XNumber, increase: boolean = true): void {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = true;\r\n this.timer = setTimeout(() => {\r\n this.mousedown$ = interval(Number(this.debounce)).subscribe(() => {\r\n this.plus(event, limit, increase);\r\n });\r\n this.mouseup$ = fromEvent(this.document.documentElement, 'mouseup').subscribe(\r\n (event: Event) => {\r\n this.up(event);\r\n }\r\n );\r\n }, 150);\r\n }\r\n\r\n up(event: Event) {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = false;\r\n if (this.mousedown$) this.mousedown$.unsubscribe();\r\n if (this.mouseup$) this.mouseup$.unsubscribe();\r\n }\r\n\r\n plus(event: Event, limit: XNumber, increase: boolean = true) {\r\n if (this.disabled) return;\r\n limit = Number(limit);\r\n if (!increase) limit = -limit;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.timer) clearTimeout(this.timer);\r\n if (Number.isNaN(+this.value)) this.value = 0;\r\n let value = Number(this.value) + limit;\r\n this.verify(value);\r\n this.cdr.detectChanges();\r\n this.valueChange.next(this.value);\r\n }\r\n\r\n verify(value: any) {\r\n const oldValue: number = this.value;\r\n this.value = value;\r\n if (Number.isNaN(+this.value)) {\r\n this.value = oldValue;\r\n this.setDisplayValue();\r\n return;\r\n }\r\n this.maxDisabled = value >= this.max;\r\n this.minDisabled = value <= this.min;\r\n this.value = this.maxDisabled ? this.max : this.minDisabled ? this.min : value;\r\n this.setDisplayValue();\r\n }\r\n\r\n onInput(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n if (XIsFunction(this.formatter)) {\r\n value = value.replace(/[^0-9]/g, '');\r\n }\r\n this.verify(value);\r\n this.inputEleRef.inputRef.nativeElement.value = this.displayValue;\r\n this.cdr.detectChanges();\r\n this.valueChange.next(this.value);\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #inputNumber class=\"x-input-number\" [class.x-input-number-hidden-button]=\"hiddenButton\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"hiddenButton ? '' : beforeButtonTpl\"\r\n [after]=\"hiddenButton ? '' : afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputNumberComponent } from './input-number.component';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XInputNumberProperty } from './input-number.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XInputNumberComponent, XInputNumberProperty],\r\n exports: [XInputNumberComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule]\r\n})\r\nexport class XInputNumberModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIA;;;;AAIG;AACI,MAAM,kBAAkB,GAAG,iBAAiB;AAEnD,MAAM,aAAa,GAAG,aAAa,CAAC;AAEpC;;AAEG;AACH,MACa,oBAAqB,SAAQ,qBAA0B,CAAA;AADpE,IAAA,WAAA,GAAA;;AAEE;;;AAGG;AACsB,QAAA,IAAA,CAAA,GAAG,GAAY,MAAM,CAAC,gBAAgB,CAAC;AAChE;;;AAGG;AACsB,QAAA,IAAA,CAAA,GAAG,GAAY,MAAM,CAAC,gBAAgB,CAAC;AAChE;;;AAGG;QACsB,IAAI,CAAA,IAAA,GAAY,CAAC,CAAC;AAC3C;;;AAGG;QACsB,IAAQ,CAAA,QAAA,GAAY,EAAE,CAAC;AAChD;;;AAGG;QACsB,IAAS,CAAA,SAAA,GAAY,CAAC,CAAC;AAqBjD,KAAA;kIA9CY,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,gRADkC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;AAM1C,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAwC,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKvC,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAwC,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,KAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKvC,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAmB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKlB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAwB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKvB,UAAA,CAAA;AAAf,IAAA,YAAY,EAAE;AAAwB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKe,UAAA,CAAA;AAArD,IAAA,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;AAAuB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKN,UAAA,CAAA;AAA5D,IAAA,aAAa,EAAE;AAAE,IAAA,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;AAAqB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAUnB,UAAA,CAAA;AAA7D,IAAA,aAAa,EAAE;AAAE,IAAA,WAAW,CAAW,aAAa,EAAE,KAAK,CAAC;AAAyB,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FA7CpF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,SAAS;mBAAC,EAAE,QAAQ,EAAE,CAAG,EAAA,kBAAkB,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;8BAM5C,GAAG,EAAA,CAAA;sBAA3B,KAAK;gBAKmB,GAAG,EAAA,CAAA;sBAA3B,KAAK;gBAKmB,IAAI,EAAA,CAAA;sBAA5B,KAAK;gBAKmB,QAAQ,EAAA,CAAA;sBAAhC,KAAK;gBAKmB,SAAS,EAAA,CAAA;sBAAjC,KAAK;gBAKyD,IAAI,EAAA,CAAA;sBAAlE,KAAK;gBAKgE,QAAQ,EAAA,CAAA;sBAA7E,KAAK;gBAKG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAKiE,YAAY,EAAA,CAAA;sBAAlF,KAAK;;;ACrCR,MAQa,qBAAsB,SAAQ,oBAAoB,CAAA;AAKpD,IAAA,UAAU,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAgBD,IAAA,WAAA,CACS,QAAmB,EACV,GAAsB,EAC/B,aAA6B,EAAA;AAEpC,QAAA,KAAK,EAAE,CAAC;QAJD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACV,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QAC/B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAgB;QAjBtC,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;QACvB,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;QAC7B,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;QAI7B,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;QACjB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAClB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAO,CAAC;AAEjC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;KAQ3B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,CACf,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;YAC5D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,CAAA,aAAA,EAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;KACnF;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AAC5C,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACxE,SAAA;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AACzB,YAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;kBAC7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;kBAClC,EAAE,CAAC;AACP,YAAA,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AAClC,aAAA;AACF,SAAA;KACF;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;AACf,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACtC,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;AAED,IAAA,IAAI,CAAC,KAAY,EAAE,KAAc,EAAE,WAAoB,IAAI,EAAA;QACzD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,MAAK;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;gBAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACpC,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,SAAS,CAC3E,CAAC,KAAY,KAAI;AACf,gBAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACjB,aAAC,CACF,CAAC;SACH,EAAE,GAAG,CAAC,CAAC;KACT;AAED,IAAA,EAAE,CAAC,KAAY,EAAA;QACb,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,UAAU;AAAE,YAAA,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ;AAAE,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KAChD;AAED,IAAA,IAAI,CAAC,KAAY,EAAE,KAAc,EAAE,WAAoB,IAAI,EAAA;QACzD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;AAC1B,QAAA,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ;YAAE,KAAK,GAAG,CAAC,KAAK,CAAC;QAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACvC,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;AACf,QAAA,MAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;AACR,SAAA;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;AACrC,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QAC/E,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAED,IAAA,OAAO,CAAC,CAAQ,EAAA;AACd,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;AAC3C,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YAC/B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;AAClE,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;kIAjJU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;sHAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,SAAA,EAFrB,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKvC,eAAe,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpC5B,q7EAiEA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FDhCa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAG,kBAAkB,CAAA,CAAE,EAGlB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,cAAc,uBAAuB,CAAC,EAAA,QAAA,EAAA,q7EAAA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,CAAA;6JAGN,WAAW,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAEI,WAAW,EAAA,CAAA;sBAAxD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AE3B9C,MAKa,kBAAkB,CAAA;kIAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,iBAJd,qBAAqB,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEhD,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,aAD5F,qBAAqB,CAAA,EAAA,CAAA,CAAA,EAAA;mIAGpB,kBAAkB,EAAA,OAAA,EAAA,CAFnB,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAE3F,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;oBAC3D,OAAO,EAAE,CAAC,qBAAqB,CAAC;AAChC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,CAAC;AACxG,iBAAA,CAAA;;;ACbD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-nest-ui-input-number.mjs","sources":["../../../../lib/ng-nest/ui/input-number/input-number.property.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.ts","../../../../lib/ng-nest/ui/input-number/input-number.component.html","../../../../lib/ng-nest/ui/input-number/input-number.module.ts","../../../../lib/ng-nest/ui/input-number/ng-nest-ui-input-number.ts"],"sourcesContent":["import { XBoolean, XInputBoolean, XInputNumber, XNumber, XSize, XWithConfig } from '@ng-nest/ui/core';\r\nimport { Input, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * InputNumber\r\n * @selector x-input-number\r\n * @decorator component\r\n */\r\nexport const XInputNumberPrefix = 'x-input-number';\r\n\r\nconst X_CONFIG_NAME = 'inputNumber';\r\n\r\n/**\r\n * InputNumber Property\r\n */\r\n@Component({ selector: `${XInputNumberPrefix}-property`, template: '' })\r\nexport class XInputNumberProperty extends XControlValueAccessor<any> implements XInputNumberOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n @Input() @XInputNumber() min: XNumber = Number.MIN_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n @Input() @XInputNumber() max: XNumber = Number.MAX_SAFE_INTEGER;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n @Input() @XInputNumber() step: XNumber = 1;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n @Input() @XInputNumber() debounce: XNumber = 40;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n @Input() @XInputNumber() precision: XNumber = 0;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formatter\r\n */\r\n @Input() formatter!: (value: number) => XNumber;\r\n /**\r\n * @zh_CN 隐藏步进按钮\r\n * @en_US Hide step button\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) hiddenButton!: XBoolean;\r\n}\r\n\r\n/**\r\n * InputNumber Option\r\n * @undocument true\r\n */\r\nexport interface XInputNumberOption extends XFormOption {\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Minimum\r\n */\r\n min?: XNumber;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Max\r\n */\r\n max?: XNumber;\r\n /**\r\n * @zh_CN 步数\r\n * @en_US Step count\r\n */\r\n step?: XNumber;\r\n /**\r\n * @zh_CN 按住后步进速度\r\n * @en_US Stepping speed after pressing\r\n */\r\n debounce?: XNumber;\r\n /**\r\n * @zh_CN 精度\r\n * @en_US Precision\r\n */\r\n precision?: XNumber;\r\n\r\n /**\r\n *\r\n * @zh_CN 数字格式化\r\n * @en_US Display Formate\r\n */\r\n xFormatter?: (value: number) => XNumber;\r\n}\r\n","import { Subject, Subscription, distinctUntilChanged, fromEvent, interval } from 'rxjs';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n inject\r\n} from '@angular/core';\r\nimport {\r\n XIsEmpty,\r\n XNumber,\r\n XClearClass,\r\n XConfigService,\r\n isNotNil,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { XInputNumberPrefix, XInputNumberProperty } from './input-number.property';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\n\r\n@Component({\r\n selector: `${XInputNumberPrefix}`,\r\n templateUrl: './input-number.component.html',\r\n styleUrls: ['./style/index.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputNumberComponent)]\r\n})\r\nexport class XInputNumberComponent extends XInputNumberProperty implements OnInit {\r\n @ViewChild('inputNumber', { static: true }) inputNumber!: ElementRef<HTMLElement>;\r\n\r\n @ViewChild(XInputComponent, { static: true }) inputEleRef!: XInputComponent;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.setDisplayValue();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n displayValue: any = '';\r\n minDisabled: boolean = false;\r\n maxDisabled: boolean = false;\r\n mousedown$!: Subscription;\r\n mouseup$!: Subscription;\r\n timer: any;\r\n icon: string = '';\r\n iconSpin = false;\r\n clearable = false;\r\n isDown = false;\r\n valueChange = new Subject<any>();\r\n\r\n document = inject(DOCUMENT);\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(\r\n this.inputNumber.nativeElement,\r\n this.renderer,\r\n this.justify,\r\n this.align,\r\n this.direction\r\n );\r\n this.setClassMap();\r\n this.valueChange.pipe(distinctUntilChanged()).subscribe((x) => {\r\n this.onChange && this.onChange(x);\r\n });\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n setDisplayValue() {\r\n if (!XIsEmpty(this.value) && !this.formatter) {\r\n this.displayValue = Number(this.value).toFixed(Number(this.precision));\r\n } else if (this.formatter) {\r\n const displayValue = isNotNil(this.formatter(Number(this.value)))\r\n ? this.formatter(Number(this.value))\r\n : '';\r\n if (isNotNil(displayValue)) {\r\n this.displayValue = displayValue;\r\n }\r\n }\r\n }\r\n\r\n change(value: any) {\r\n this.verify(value);\r\n this.valueChange.next(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onBlur() {\r\n this.displayValue = this.displayValue;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n down(event: Event, limit: XNumber, increase: boolean = true): void {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = true;\r\n this.timer = setTimeout(() => {\r\n this.mousedown$ = interval(Number(this.debounce)).subscribe(() => {\r\n this.plus(event, limit, increase);\r\n });\r\n this.mouseup$ = fromEvent(this.document.documentElement, 'mouseup').subscribe(\r\n (event: Event) => {\r\n this.up(event);\r\n }\r\n );\r\n }, 150);\r\n }\r\n\r\n up(event: Event) {\r\n if (this.disabled) return;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.isDown = false;\r\n if (this.mousedown$) this.mousedown$.unsubscribe();\r\n if (this.mouseup$) this.mouseup$.unsubscribe();\r\n }\r\n\r\n plus(event: Event, limit: XNumber, increase: boolean = true) {\r\n if (this.disabled) return;\r\n limit = Number(limit);\r\n if (!increase) limit = -limit;\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.timer) clearTimeout(this.timer);\r\n if (Number.isNaN(+this.value)) this.value = 0;\r\n let value = Number(this.value) + limit;\r\n this.verify(value);\r\n this.cdr.detectChanges();\r\n this.valueChange.next(this.value);\r\n }\r\n\r\n verify(value: any) {\r\n const oldValue: number = this.value;\r\n this.value = value;\r\n if (Number.isNaN(+this.value)) {\r\n this.value = oldValue;\r\n this.setDisplayValue();\r\n return;\r\n }\r\n this.maxDisabled = value >= this.max;\r\n this.minDisabled = value <= this.min;\r\n this.value = this.maxDisabled ? this.max : this.minDisabled ? this.min : value;\r\n this.setDisplayValue();\r\n }\r\n\r\n onInput(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n if (XIsFunction(this.formatter)) {\r\n value = value.replace(/[^0-9]/g, '');\r\n }\r\n this.verify(value);\r\n this.inputEleRef.inputRef.nativeElement.value = this.displayValue;\r\n this.cdr.detectChanges();\r\n this.valueChange.next(this.value);\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div #inputNumber class=\"x-input-number\" [class.x-input-number-hidden-button]=\"hiddenButton\">\r\n <div class=\"x-input-number-row\">\r\n <ng-template #beforeButtonTpl>\r\n <x-button\r\n class=\"x-input-number-reduce\"\r\n icon=\"fto-minus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || minDisabled\"\r\n (click)=\"!minDisabled && plus($event, step, false); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!minDisabled && down($event, step, false)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <x-input\r\n #inputEleRef\r\n class=\"x-input-number-input\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [iconSpin]=\"iconSpin\"\r\n [placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable\"\r\n [(ngModel)]=\"displayValue\"\r\n (ngModelChange)=\"change($event)\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"hiddenButton ? '' : beforeButtonTpl\"\r\n [after]=\"hiddenButton ? '' : afterButtonTpl\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n (xInput)=\"onInput($event); formControlValidator()\"\r\n ></x-input>\r\n <ng-template #afterButtonTpl>\r\n <x-button\r\n class=\"x-input-number-plus\"\r\n icon=\"fto-plus\"\r\n [size]=\"size\"\r\n [onlyIcon]=\"!bordered\"\r\n [disabled]=\"disabled || maxDisabled\"\r\n (click)=\"!maxDisabled && plus($event, step); formControlValidator()\"\r\n attrType=\"button\"\r\n (mousedown)=\"!maxDisabled && down($event, step)\"\r\n (mouseup)=\"up($event)\"\r\n ></x-button>\r\n </ng-template>\r\n <ng-container *ngIf=\"invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputNumberComponent } from './input-number.component';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XInputNumberProperty } from './input-number.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XInputNumberComponent, XInputNumberProperty],\r\n exports: [XInputNumberComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XInputModule, XButtonModule, XBaseFormModule]\r\n})\r\nexport class XInputNumberModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-input.mjs","sources":["../../../../lib/ng-nest/ui/input/input.property.ts","../../../../lib/ng-nest/ui/input/input-group.component.ts","../../../../lib/ng-nest/ui/input/input-group.component.html","../../../../lib/ng-nest/ui/input/input.component.ts","../../../../lib/ng-nest/ui/input/input.component.html","../../../../lib/ng-nest/ui/input/input.module.ts","../../../../lib/ng-nest/ui/input/ng-nest-ui-input.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XInputNumber,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig,\r\n XPositionLeftRight,\r\n XProperty,\r\n XTemplate\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Input\r\n * @selector x-input\r\n * @decorator component\r\n */\r\nexport const XInputPrefix = 'x-input';\r\nconst X_CONFIG_NAME = 'input';\r\n\r\n/**\r\n * Input Property\r\n */\r\n@Component({ selector: `${XInputPrefix}-property`, template: '' })\r\nexport class XInputProperty extends XControlValueAccessor<any> implements XInputOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n @Input() type?: XInputType = 'text';\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() clearable?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n @Input()\r\n @XWithConfig<XInputIconLayoutType>(X_CONFIG_NAME, 'right')\r\n iconLayout: XInputIconLayoutType = 'right';\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n @Input() @XInputBoolean() iconSpin: XBoolean = false;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n @Input() @XInputNumber() maxlength!: XNumber;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Enter the max\r\n */\r\n @Input() @XInputNumber() max!: XNumber;\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Enter the min\r\n */\r\n @Input() @XInputNumber() min!: XNumber;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n @Input() @XInputNumber() width!: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 输入框样式\r\n * @en_US Input Style\r\n */\r\n @Input() inputStyle!: { [style: string]: any };\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n @Input() @XInputBoolean() override pointer!: XBoolean;\r\n /**\r\n * @zh_CN 初始启用验证,在输入值都自动开启\r\n * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n */\r\n @Input() @XInputBoolean() override validator!: XBoolean;\r\n /**\r\n * @zh_CN 输入框内边距,rem。主要指输入框中的左右内边距\r\n * @en_US Enter the border of the input box, rem.\r\n */\r\n @Input() @XInputNumber() @XWithConfig<XNumber>(X_CONFIG_NAME, 0.4) inputPadding!: XNumber;\r\n /**\r\n * @zh_CN 输入框内边距(包含图标),rem。主要指输入框中的有图标的时候左右内边距\r\n * @en_US Enter the border between the input box (including icon), rem.\r\n */\r\n @Input() @XInputNumber() @XWithConfig<XNumber>(X_CONFIG_NAME, 1.8) inputIconPadding!: XNumber;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n @Input() override before!: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n @Input() override after!: XTemplate;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n @Output() clearEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 获取焦点的事件\r\n * @en_US Focus event\r\n */\r\n @Output() xFocus = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 失去焦点的事件\r\n * @en_US Blur event\r\n */\r\n @Output() xBlur = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Input\r\n * @en_US Input event\r\n */\r\n @Output() xInput = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Keydown\r\n * @en_US Keydown event\r\n */\r\n @Output() xKeydown = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Click\r\n * @en_US Click event\r\n */\r\n @Output() xClick = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseenter\r\n * @en_US Mouseenter event\r\n */\r\n @Output() xMouseenter = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseleave\r\n * @en_US Mouseleave event\r\n */\r\n @Output() xMouseleave = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Composition\r\n * @en_US Composition event\r\n */\r\n @Output() xComposition = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * Input Option\r\n * @undocument true\r\n */\r\nexport interface XInputOption extends XFormOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n type?: XInputType;\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n iconLayout?: XInputIconLayoutType;\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n iconSpin?: XBoolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: XNumber;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n width?: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearClick?: (value: any) => void;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Input validation function\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 输入框类型\r\n * @en_US Input box type\r\n * @value \"text\" 文本\r\n * @value \"password\" 密码\r\n * @value \"number\" 数字\r\n */\r\nexport type XInputType = 'text' | 'password' | 'number';\r\n\r\n/**\r\n * @zh_CN 图标布局方式,指在输入框中的位置\r\n * @en_US Icon layout, refers to the position in the input box\r\n * @value \"left\" 靠左\r\n * @value \"right\" 靠右\r\n */\r\nexport type XInputIconLayoutType = XPositionLeftRight;\r\n\r\n/**\r\n * Input Group\r\n * @selector x-input-group\r\n * @decorator component\r\n */\r\nexport const XInputGroupPrefix = 'x-input-group';\r\nconst X_CONFIG_GROUP_NAME = 'inputGroup';\r\n\r\n/**\r\n * Input Group Property\r\n */\r\n@Component({ selector: `${XInputGroupPrefix}-property`, template: '' })\r\nexport class XInputGroupProperty extends XProperty {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_GROUP_NAME) size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 是否使用紧凑模式\r\n * @en_US Whether to use a compact mode\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) compact!: XBoolean;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\nimport { XInputGroupPrefix, XInputGroupProperty } from './input.property';\r\n\r\n@Component({\r\n selector: `${XInputGroupPrefix}`,\r\n templateUrl: './input-group.component.html',\r\n styleUrls: ['./input-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInputGroupComponent extends XInputGroupProperty {\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n}\r\n","<div class=\"x-input-group\" [class.x-input-group-compact]=\"compact\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n Optional,\r\n TemplateRef,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XInputPrefix, XInputProperty } from './input.property';\r\nimport {\r\n XIsEmpty,\r\n XIsChange,\r\n XClearClass,\r\n XConfigService,\r\n XIsUndefined,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\n\r\n@Component({\r\n selector: `${XInputPrefix}`,\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputComponent)]\r\n})\r\nexport class XInputComponent extends XInputProperty implements OnInit, OnChanges {\r\n @ViewChild('inputElement', { static: true }) inputElement!: ElementRef<HTMLElement>;\r\n @ViewChild('inputRef', { static: true }) inputRef!: ElementRef<HTMLInputElement>;\r\n @ViewChild('inputValueRef') inputValueRef!: ElementRef<HTMLElement>;\r\n\r\n @HostBinding('style.width.px') get getWidth() {\r\n return this.width;\r\n }\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.isWriteValue = true;\r\n this.valueChange.next(value);\r\n this.isWriteValue = false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n valueLength: number = 0;\r\n lengthTotal: string = '';\r\n paddingLeft: number = 0.4;\r\n paddingRight: number = 0.4;\r\n clearShow: boolean = false;\r\n flexClass: string[] = [];\r\n valueChange = new Subject<any>();\r\n isComposition = false;\r\n isWriteValue = false;\r\n private _required: boolean = false;\r\n private _unSubject = new Subject<void>();\r\n\r\n get getIcon() {\r\n return !XIsEmpty(this.icon);\r\n }\r\n\r\n get getIconLayoutLeft() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'left';\r\n }\r\n\r\n get getIconLayoutRight() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'right';\r\n }\r\n\r\n get beforeIsTemplate() {\r\n return this.before instanceof TemplateRef;\r\n }\r\n\r\n get afterIsTemplate() {\r\n return this.after instanceof TemplateRef;\r\n }\r\n\r\n get getTemplateWidth() {\r\n return `calc(100% - ${this.paddingLeft + this.paddingRight}rem)`;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n @Optional() public inputGroup: XInputGroupComponent\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setPadding();\r\n this.setFlexClass();\r\n this.setInheritedValue();\r\n this.setClassMap();\r\n this.setEvent();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { clearable, size, labelAlign, justify, align, direction, icon, iconSpin, clearShow } =\r\n changes;\r\n XIsChange(clearable) && this.setClearable();\r\n XIsChange(size, labelAlign) && this.setClassMap();\r\n XIsChange(justify, align, direction) && this.setFlexClass();\r\n XIsChange(icon, iconSpin, clearShow) && this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setEvent() {\r\n fromEvent(this.inputRef.nativeElement, 'compositionstart').subscribe(() => {\r\n this.isComposition = true;\r\n });\r\n fromEvent(this.inputRef.nativeElement, 'compositionend').subscribe((x: Event) => {\r\n this.isComposition = false;\r\n this.inputCheckValue(x);\r\n });\r\n fromEvent<InputEvent>(this.inputRef.nativeElement, 'input').subscribe((x: InputEvent) => {\r\n if (!this.isComposition) {\r\n this.inputCheckValue(x);\r\n }\r\n });\r\n this.valueChange\r\n .pipe(\r\n distinctUntilChanged(\r\n (a, b) => a === b || (!!this.maxlength && `${b}`.length > Number(this.maxlength))\r\n ),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.change(x);\r\n });\r\n }\r\n\r\n inputCheckValue(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n if (this.type === 'number') {\r\n const len = XIsEmpty(value) ? 0 : `${value}`.length;\r\n if (len > Number(this.maxlength)) {\r\n input.value = value.slice(0, Number(this.maxlength));\r\n }\r\n }\r\n this.xInput.emit(x);\r\n this.valueChange.next(input.value);\r\n }\r\n\r\n change(value: any) {\r\n if (this._required && !this.disabled) {\r\n this.required = XIsEmpty(value);\r\n }\r\n this.setClearable();\r\n if (this.maxlength) {\r\n this.valueLength = XIsEmpty(value) ? 0 : `${value}`.length;\r\n this.lengthTotal = `${this.valueLength}/${this.maxlength}`;\r\n }\r\n this.setPadding();\r\n if (this.onChange && !this.isWriteValue) {\r\n if (this.type === 'number') {\r\n if (['', undefined, null].includes(value)) {\r\n value = null;\r\n } else {\r\n value = Number(value);\r\n }\r\n }\r\n this.onChange(value);\r\n }\r\n if (this.validator && XIsFunction(this.inputValidator)) {\r\n this.invalidInputValidator = !this.inputValidator(value);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value;\r\n this.value = '';\r\n this.valueChange.next(this.value);\r\n this.inputRef.nativeElement.focus();\r\n this.clearEmit.emit(clearValue);\r\n }\r\n\r\n setFlexClass() {\r\n if (this.flexClass.length > 0) {\r\n for (let cls of this.flexClass) {\r\n this.renderer.removeClass(this.inputElement.nativeElement, cls);\r\n }\r\n }\r\n this.flexClass = this.setFlex(\r\n this.inputElement.nativeElement,\r\n this.renderer,\r\n this.justify,\r\n this.align,\r\n this.direction\r\n );\r\n }\r\n\r\n setClearable() {\r\n if (this.clearable && !this.disabled) {\r\n this.clearShow = !XIsEmpty(this.value);\r\n } else {\r\n this.clearShow = false;\r\n }\r\n this.setPadding();\r\n }\r\n\r\n setInheritedValue() {\r\n if (!this.inputGroup) return;\r\n if (!XIsUndefined(this.inputGroup.size)) {\r\n this.size = this.inputGroup.size;\r\n }\r\n if (!XIsUndefined(this.inputGroup.bordered)) {\r\n this.bordered = this.inputGroup.bordered;\r\n }\r\n }\r\n\r\n setPadding() {\r\n this.paddingLeft =\r\n this.maxlength && this.icon && this.iconLayout === 'right'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : this.icon && this.iconLayout === 'left'\r\n ? Number(this.inputIconPadding)\r\n : Number(this.inputPadding);\r\n this.paddingRight =\r\n this.maxlength && this.icon && this.iconLayout === 'left'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : (this.icon || this.clearShow) && this.iconLayout === 'right'\r\n ? Number(this.inputIconPadding)\r\n : this.maxlength && !this.icon\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : Number(this.inputPadding);\r\n }\r\n\r\n inputFocus(type: 'focus' | 'select' | 'before' | 'after' = 'after') {\r\n this.inputRef.nativeElement.focus();\r\n if (!this.value) return;\r\n if (type === 'after') {\r\n this.inputRef.nativeElement.setSelectionRange(this.value.length, this.value.length);\r\n } else if (type === 'before') {\r\n this.inputRef.nativeElement.setSelectionRange(0, 0);\r\n } else if (type === 'select') {\r\n this.inputRef.nativeElement.setSelectionRange(0, this.value.length);\r\n }\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap, this.labelMap);\r\n this.classMap[`${XInputPrefix}-${this.size}`] = this.size ? true : false;\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n formControlChanges() {\r\n this.valueChange.next(this.value);\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [class.x-input-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-input-row\">\r\n <div class=\"x-input-row-before\" *ngIf=\"before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left.rem]=\"paddingLeft\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth\"\r\n (click)=\"xClick.emit($event)\"\r\n *ngIf=\"valueTpl\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"></ng-container>\r\n </div>\r\n <input\r\n #inputRef\r\n [class.x-input-has-value-template]=\"valueTpl\"\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [min]=\"min\"\r\n [min]=\"max\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.next(true)\"\r\n (compositionend)=\"xComposition.next(false)\"\r\n />\r\n <x-icon *ngIf=\"clearShow && !iconSpin\" class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon\r\n *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft || iconSpin)\"\r\n [type]=\"icon\"\r\n [spin]=\"iconSpin\"\r\n (click)=\"xClick.emit($event)\"\r\n ></x-icon>\r\n <span class=\"x-input-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-input-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-input-row-after\" *ngIf=\"after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputComponent } from './input.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XInputGroupProperty, XInputProperty } from './input.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\n\r\n@NgModule({\r\n declarations: [XInputComponent, XInputProperty, XInputGroupComponent, XInputGroupProperty],\r\n exports: [XInputComponent, XInputGroupComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule, XOutletModule]\r\n})\r\nexport class XInputModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.XInputGroupComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-input.mjs","sources":["../../../../lib/ng-nest/ui/input/input.property.ts","../../../../lib/ng-nest/ui/input/input-group.component.ts","../../../../lib/ng-nest/ui/input/input-group.component.html","../../../../lib/ng-nest/ui/input/input.component.ts","../../../../lib/ng-nest/ui/input/input.component.html","../../../../lib/ng-nest/ui/input/input.module.ts","../../../../lib/ng-nest/ui/input/ng-nest-ui-input.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XInputNumber,\r\n XSize,\r\n XNumber,\r\n XBoolean,\r\n XWithConfig,\r\n XPositionLeftRight,\r\n XProperty,\r\n XTemplate\r\n} from '@ng-nest/ui/core';\r\nimport { Input, Output, EventEmitter, Component } from '@angular/core';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Input\r\n * @selector x-input\r\n * @decorator component\r\n */\r\nexport const XInputPrefix = 'x-input';\r\nconst X_CONFIG_NAME = 'input';\r\n\r\n/**\r\n * Input Property\r\n */\r\n@Component({ selector: `${XInputPrefix}-property`, template: '' })\r\nexport class XInputProperty extends XControlValueAccessor<any> implements XInputOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n @Input() type?: XInputType = 'text';\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() clearable?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n @Input() icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n @Input()\r\n @XWithConfig<XInputIconLayoutType>(X_CONFIG_NAME, 'right')\r\n iconLayout: XInputIconLayoutType = 'right';\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n @Input() @XInputBoolean() iconSpin: XBoolean = false;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n @Input() @XInputNumber() maxlength!: XNumber;\r\n /**\r\n * @zh_CN 最大值\r\n * @en_US Enter the max\r\n */\r\n @Input() @XInputNumber() max!: XNumber;\r\n /**\r\n * @zh_CN 最小值\r\n * @en_US Enter the min\r\n */\r\n @Input() @XInputNumber() min!: XNumber;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n @Input() @XInputNumber() width!: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 输入框样式\r\n * @en_US Input Style\r\n */\r\n @Input() inputStyle!: { [style: string]: any };\r\n /**\r\n * @zh_CN 输入框点击样式\r\n * @en_US Input pointer\r\n */\r\n @Input() @XInputBoolean() override pointer!: XBoolean;\r\n /**\r\n * @zh_CN 初始启用验证,在输入值都自动开启\r\n * @en_US Initial enable validation, which is automatically enabled when the input value is\r\n */\r\n @Input() @XInputBoolean() override validator!: XBoolean;\r\n /**\r\n * @zh_CN 输入框内边距,rem。主要指输入框中的左右内边距\r\n * @en_US Enter the border of the input box, rem.\r\n */\r\n @Input() @XInputNumber() @XWithConfig<XNumber>(X_CONFIG_NAME, 0.4) inputPadding!: XNumber;\r\n /**\r\n * @zh_CN 输入框内边距(包含图标),rem。主要指输入框中的有图标的时候左右内边距\r\n * @en_US Enter the border between the input box (including icon), rem.\r\n */\r\n @Input() @XInputNumber() @XWithConfig<XNumber>(X_CONFIG_NAME, 1.8) inputIconPadding!: XNumber;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n @Input() override before!: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n @Input() override after!: XTemplate;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n @Output() clearEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 获取焦点的事件\r\n * @en_US Focus event\r\n */\r\n @Output() xFocus = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 失去焦点的事件\r\n * @en_US Blur event\r\n */\r\n @Output() xBlur = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Input\r\n * @en_US Input event\r\n */\r\n @Output() xInput = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Keydown\r\n * @en_US Keydown event\r\n */\r\n @Output() xKeydown = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Click\r\n * @en_US Click event\r\n */\r\n @Output() xClick = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseenter\r\n * @en_US Mouseenter event\r\n */\r\n @Output() xMouseenter = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Mouseleave\r\n * @en_US Mouseleave event\r\n */\r\n @Output() xMouseleave = new EventEmitter<any>();\r\n /**\r\n * @zh_CN Composition\r\n * @en_US Composition event\r\n */\r\n @Output() xComposition = new EventEmitter<any>();\r\n}\r\n\r\n/**\r\n * Input Option\r\n * @undocument true\r\n */\r\nexport interface XInputOption extends XFormOption {\r\n /**\r\n * @zh_CN 输入类型\r\n * @en_US Input type\r\n */\r\n type?: XInputType;\r\n /**\r\n * @zh_CN 清除按钮\r\n * @en_US Clear button\r\n */\r\n clearable?: XBoolean;\r\n /**\r\n * @zh_CN 只读\r\n * @en_US Read only\r\n */\r\n readonly?: XBoolean;\r\n /**\r\n * @zh_CN 图标\r\n * @en_US Icon\r\n */\r\n icon?: string;\r\n /**\r\n * @zh_CN 图标布局方式\r\n * @en_US Icon layout\r\n */\r\n iconLayout?: XInputIconLayoutType;\r\n /**\r\n * @zh_CN 图标动画\r\n * @en_US Icon animation\r\n */\r\n iconSpin?: XBoolean;\r\n /**\r\n * @zh_CN 输入最大长度\r\n * @en_US Enter the maximum length\r\n */\r\n maxlength?: XNumber;\r\n /**\r\n * @zh_CN 宽度\r\n * @en_US width\r\n */\r\n width?: XNumber;\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 前置标签\r\n * @en_US Before label\r\n */\r\n before?: XTemplate;\r\n /**\r\n * @zh_CN 后置标签\r\n * @en_US After label\r\n */\r\n after?: XTemplate;\r\n /**\r\n * @zh_CN 清除按钮的事件\r\n * @en_US Clear button event\r\n */\r\n clearClick?: (value: any) => void;\r\n /**\r\n * @zh_CN 输入验证函数\r\n * @en_US Input validation function\r\n */\r\n inputValidator?: (value: any) => boolean;\r\n}\r\n\r\n/**\r\n * @zh_CN 输入框类型\r\n * @en_US Input box type\r\n * @value \"text\" 文本\r\n * @value \"password\" 密码\r\n * @value \"number\" 数字\r\n */\r\nexport type XInputType = 'text' | 'password' | 'number';\r\n\r\n/**\r\n * @zh_CN 图标布局方式,指在输入框中的位置\r\n * @en_US Icon layout, refers to the position in the input box\r\n * @value \"left\" 靠左\r\n * @value \"right\" 靠右\r\n */\r\nexport type XInputIconLayoutType = XPositionLeftRight;\r\n\r\n/**\r\n * Input Group\r\n * @selector x-input-group\r\n * @decorator component\r\n */\r\nexport const XInputGroupPrefix = 'x-input-group';\r\nconst X_CONFIG_GROUP_NAME = 'inputGroup';\r\n\r\n/**\r\n * Input Group Property\r\n */\r\n@Component({ selector: `${XInputGroupPrefix}-property`, template: '' })\r\nexport class XInputGroupProperty extends XProperty {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_GROUP_NAME) size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 是否使用紧凑模式\r\n * @en_US Whether to use a compact mode\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_GROUP_NAME) compact!: XBoolean;\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { XConfigService } from '@ng-nest/ui/core';\r\nimport { XInputGroupPrefix, XInputGroupProperty } from './input.property';\r\n\r\n@Component({\r\n selector: `${XInputGroupPrefix}`,\r\n templateUrl: './input-group.component.html',\r\n styleUrls: ['./input-group.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class XInputGroupComponent extends XInputGroupProperty {\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public cdr: ChangeDetectorRef,\r\n public configService: XConfigService\r\n ) {\r\n super();\r\n }\r\n}\r\n","<div class=\"x-input-group\" [class.x-input-group-compact]=\"compact\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n OnChanges,\r\n SimpleChanges,\r\n Optional,\r\n TemplateRef,\r\n HostBinding\r\n} from '@angular/core';\r\nimport { XInputPrefix, XInputProperty } from './input.property';\r\nimport {\r\n XIsEmpty,\r\n XIsChange,\r\n XClearClass,\r\n XConfigService,\r\n XIsUndefined,\r\n XIsFunction\r\n} from '@ng-nest/ui/core';\r\nimport { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\n\r\n@Component({\r\n selector: `${XInputPrefix}`,\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XInputComponent)]\r\n})\r\nexport class XInputComponent extends XInputProperty implements OnInit, OnChanges {\r\n @ViewChild('inputElement', { static: true }) inputElement!: ElementRef<HTMLElement>;\r\n @ViewChild('inputRef', { static: true }) inputRef!: ElementRef<HTMLInputElement>;\r\n @ViewChild('inputValueRef') inputValueRef!: ElementRef<HTMLElement>;\r\n\r\n @HostBinding('style.width.px') get getWidth() {\r\n return this.width;\r\n }\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.isWriteValue = true;\r\n this.valueChange.next(value);\r\n this.isWriteValue = false;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n valueLength: number = 0;\r\n lengthTotal: string = '';\r\n paddingLeft: number = 0.4;\r\n paddingRight: number = 0.4;\r\n clearShow: boolean = false;\r\n flexClass: string[] = [];\r\n valueChange = new Subject<any>();\r\n isComposition = false;\r\n isWriteValue = false;\r\n private _required: boolean = false;\r\n private _unSubject = new Subject<void>();\r\n\r\n get getIcon() {\r\n return !XIsEmpty(this.icon);\r\n }\r\n\r\n get getIconLayoutLeft() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'left';\r\n }\r\n\r\n get getIconLayoutRight() {\r\n return !XIsEmpty(this.icon) && this.iconLayout === 'right';\r\n }\r\n\r\n get beforeIsTemplate() {\r\n return this.before instanceof TemplateRef;\r\n }\r\n\r\n get afterIsTemplate() {\r\n return this.after instanceof TemplateRef;\r\n }\r\n\r\n get getTemplateWidth() {\r\n return `calc(100% - ${this.paddingLeft + this.paddingRight}rem)`;\r\n }\r\n\r\n constructor(\r\n public renderer: Renderer2,\r\n public elementRef: ElementRef<HTMLElement>,\r\n public override cdr: ChangeDetectorRef,\r\n public configService: XConfigService,\r\n @Optional() public inputGroup: XInputGroupComponent\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit() {\r\n this.setPadding();\r\n this.setFlexClass();\r\n this.setInheritedValue();\r\n this.setClassMap();\r\n this.setEvent();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n const { clearable, size, labelAlign, justify, align, direction, icon, iconSpin, clearShow } =\r\n changes;\r\n XIsChange(clearable) && this.setClearable();\r\n XIsChange(size, labelAlign) && this.setClassMap();\r\n XIsChange(justify, align, direction) && this.setFlexClass();\r\n XIsChange(icon, iconSpin, clearShow) && this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._unSubject.next();\r\n this._unSubject.unsubscribe();\r\n }\r\n\r\n setEvent() {\r\n fromEvent(this.inputRef.nativeElement, 'compositionstart').subscribe(() => {\r\n this.isComposition = true;\r\n });\r\n fromEvent(this.inputRef.nativeElement, 'compositionend').subscribe((x: Event) => {\r\n this.isComposition = false;\r\n this.inputCheckValue(x);\r\n });\r\n fromEvent<InputEvent>(this.inputRef.nativeElement, 'input').subscribe((x: InputEvent) => {\r\n if (!this.isComposition) {\r\n this.inputCheckValue(x);\r\n }\r\n });\r\n this.valueChange\r\n .pipe(\r\n distinctUntilChanged(\r\n (a, b) => a === b || (!!this.maxlength && `${b}`.length > Number(this.maxlength))\r\n ),\r\n takeUntil(this._unSubject)\r\n )\r\n .subscribe((x) => {\r\n this.change(x);\r\n });\r\n }\r\n\r\n inputCheckValue(x: Event) {\r\n const input = x.target as HTMLInputElement;\r\n let value = input.value;\r\n if (this.type === 'number') {\r\n const len = XIsEmpty(value) ? 0 : `${value}`.length;\r\n if (len > Number(this.maxlength)) {\r\n input.value = value.slice(0, Number(this.maxlength));\r\n }\r\n }\r\n this.xInput.emit(x);\r\n this.valueChange.next(input.value);\r\n }\r\n\r\n change(value: any) {\r\n if (this._required && !this.disabled) {\r\n this.required = XIsEmpty(value);\r\n }\r\n this.setClearable();\r\n if (this.maxlength) {\r\n this.valueLength = XIsEmpty(value) ? 0 : `${value}`.length;\r\n this.lengthTotal = `${this.valueLength}/${this.maxlength}`;\r\n }\r\n this.setPadding();\r\n if (this.onChange && !this.isWriteValue) {\r\n if (this.type === 'number') {\r\n if (['', undefined, null].includes(value)) {\r\n value = null;\r\n } else {\r\n value = Number(value);\r\n }\r\n }\r\n this.onChange(value);\r\n }\r\n if (this.validator && XIsFunction(this.inputValidator)) {\r\n this.invalidInputValidator = !this.inputValidator(value);\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n onClear() {\r\n const clearValue = this.value;\r\n this.value = '';\r\n this.valueChange.next(this.value);\r\n this.inputRef.nativeElement.focus();\r\n this.clearEmit.emit(clearValue);\r\n }\r\n\r\n setFlexClass() {\r\n if (this.flexClass.length > 0) {\r\n for (let cls of this.flexClass) {\r\n this.renderer.removeClass(this.inputElement.nativeElement, cls);\r\n }\r\n }\r\n this.flexClass = this.setFlex(\r\n this.inputElement.nativeElement,\r\n this.renderer,\r\n this.justify,\r\n this.align,\r\n this.direction\r\n );\r\n }\r\n\r\n setClearable() {\r\n if (this.clearable && !this.disabled) {\r\n this.clearShow = !XIsEmpty(this.value);\r\n } else {\r\n this.clearShow = false;\r\n }\r\n this.setPadding();\r\n }\r\n\r\n setInheritedValue() {\r\n if (!this.inputGroup) return;\r\n if (!XIsUndefined(this.inputGroup.size)) {\r\n this.size = this.inputGroup.size;\r\n }\r\n if (!XIsUndefined(this.inputGroup.bordered)) {\r\n this.bordered = this.inputGroup.bordered;\r\n }\r\n }\r\n\r\n setPadding() {\r\n this.paddingLeft =\r\n this.maxlength && this.icon && this.iconLayout === 'right'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : this.icon && this.iconLayout === 'left'\r\n ? Number(this.inputIconPadding)\r\n : Number(this.inputPadding);\r\n this.paddingRight =\r\n this.maxlength && this.icon && this.iconLayout === 'left'\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : (this.icon || this.clearShow) && this.iconLayout === 'right'\r\n ? Number(this.inputIconPadding)\r\n : this.maxlength && !this.icon\r\n ? (this.lengthTotal.length + 2) * 0.385\r\n : Number(this.inputPadding);\r\n }\r\n\r\n inputFocus(type: 'focus' | 'select' | 'before' | 'after' = 'after') {\r\n this.inputRef.nativeElement.focus();\r\n if (!this.value) return;\r\n if (type === 'after') {\r\n this.inputRef.nativeElement.setSelectionRange(this.value.length, this.value.length);\r\n } else if (type === 'before') {\r\n this.inputRef.nativeElement.setSelectionRange(0, 0);\r\n } else if (type === 'select') {\r\n this.inputRef.nativeElement.setSelectionRange(0, this.value.length);\r\n }\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.classMap, this.labelMap);\r\n this.classMap[`${XInputPrefix}-${this.size}`] = this.size ? true : false;\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n }\r\n\r\n formControlChanges() {\r\n this.valueChange.next(this.value);\r\n this.ngOnInit();\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [class.x-input-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-input-row\">\r\n <div class=\"x-input-row-before\" *ngIf=\"before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left.rem]=\"paddingLeft\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth\"\r\n (click)=\"xClick.emit($event)\"\r\n *ngIf=\"valueTpl\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"></ng-container>\r\n </div>\r\n <input\r\n #inputRef\r\n [class.x-input-has-value-template]=\"valueTpl\"\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [min]=\"min\"\r\n [min]=\"max\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.next(true)\"\r\n (compositionend)=\"xComposition.next(false)\"\r\n />\r\n <x-icon *ngIf=\"clearShow && !iconSpin\" class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n <x-icon\r\n *ngIf=\"icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft || iconSpin)\"\r\n [type]=\"icon\"\r\n [spin]=\"iconSpin\"\r\n (click)=\"xClick.emit($event)\"\r\n ></x-icon>\r\n <span class=\"x-input-max-length\" *ngIf=\"maxlength\">{{ lengthTotal }}</span>\r\n <span class=\"x-input-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"x-input-row-after\" *ngIf=\"after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XInputComponent } from './input.component';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XInputGroupProperty, XInputProperty } from './input.property';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputGroupComponent } from './input-group.component';\r\nimport { XOutletModule } from '@ng-nest/ui/outlet';\r\n\r\n@NgModule({\r\n declarations: [XInputComponent, XInputProperty, XInputGroupComponent, XInputGroupProperty],\r\n exports: [XInputComponent, XInputGroupComponent],\r\n imports: [CommonModule, FormsModule, ReactiveFormsModule, XIconModule, XBaseFormModule, XOutletModule]\r\n})\r\nexport class XInputModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.XInputGroupComponent"],"mappings":"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"}