@ruc-lib/multi-select 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -3
- package/esm2020/index.mjs +5 -0
- package/esm2020/lib/animations/animations.mjs +30 -0
- package/esm2020/lib/directives/clickOutside.directive.mjs +31 -0
- package/esm2020/lib/interfaces/multiSelectDefault.mjs +2 -0
- package/esm2020/lib/model/ruc-multi-select.model.mjs +11 -0
- package/esm2020/lib/pipes/filter.pipe.mjs +28 -0
- package/esm2020/lib/pipes/sort.pipe.mjs +38 -0
- package/esm2020/lib/ruclib-multi-select/ruclib-multi-select.component.mjs +361 -0
- package/esm2020/lib/ruclib-multi-select.module.mjs +72 -0
- package/esm2020/ruc-lib-multi-select.mjs +5 -0
- package/fesm2015/ruc-lib-multi-select.mjs +557 -0
- package/fesm2015/ruc-lib-multi-select.mjs.map +1 -0
- package/fesm2020/ruc-lib-multi-select.mjs +558 -0
- package/fesm2020/ruc-lib-multi-select.mjs.map +1 -0
- package/index.d.ts +4 -207
- package/lib/animations/animations.d.ts +1 -0
- package/lib/directives/clickOutside.directive.d.ts +10 -0
- package/lib/interfaces/multiSelectDefault.d.ts +64 -0
- package/lib/model/ruc-multi-select.model.d.ts +9 -0
- package/lib/pipes/filter.pipe.d.ts +7 -0
- package/lib/pipes/sort.pipe.d.ts +9 -0
- package/lib/ruclib-multi-select/ruclib-multi-select.component.d.ts +118 -0
- package/lib/ruclib-multi-select.module.d.ts +20 -0
- package/package.json +26 -13
- package/fesm2022/ruc-lib-multi-select.mjs +0 -519
- package/fesm2022/ruc-lib-multi-select.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ruc-lib-multi-select.mjs","sources":["../../src/lib/model/ruc-multi-select.model.ts","../../src/lib/pipes/filter.pipe.ts","../../src/lib/pipes/sort.pipe.ts","../../src/lib/animations/animations.ts","../../src/lib/directives/clickOutside.directive.ts","../../src/lib/ruclib-multi-select/ruclib-multi-select.component.ts","../../src/lib/ruclib-multi-select/ruclib-multi-select.component.html","../../src/lib/ruclib-multi-select.module.ts","../../src/ruc-lib-multi-select.ts"],"sourcesContent":["export class ListItem {\r\n id: string | number;\r\n text: string;\r\n isDisabled?: boolean;\r\n icon? : string;\r\n childItem? : any;\r\n grouped? : any;\r\n public constructor (data: any){\r\n this.id = data.id;\r\n this.text = data.text;\r\n this.isDisabled = data.isDisabled;\r\n this.icon = data.icon;\r\n this.childItem = data.childItem;\r\n this.grouped = data.grouped;\r\n }\r\n }","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string, key?:string): any[] {\r\n if (!items) return [];\r\n if (!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\n return items.filter(it => {\r\n if(!key){\r\n return it.toLowerCase().includes(searchText);\r\n } else {\r\n return it[key].toLowerCase().includes(searchText);\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\r\n\r\nexport type SortOrder = 'asc' | 'desc';\r\n\r\n@Injectable()\r\n@Pipe({\r\n name: 'sort',\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n transform(\r\n value: any[],\r\n sortOrder: SortOrder | string = 'asc',\r\n sortKey = 'text'\r\n ): any {\r\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\r\n\r\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) return value;\r\n\r\n let numberArray = [];\r\n let stringArray = [];\r\n numberArray = value\r\n .filter((item) => typeof item[sortKey] === 'number')\r\n .sort((a, b) => a[sortKey] - b[sortKey]);\r\n stringArray = value\r\n .filter((item) => typeof item[sortKey] === 'string')\r\n .sort((a, b) => {\r\n if (a[sortKey] < b[sortKey]) return -1;\r\n else if (a[sortKey] > b[sortKey]) return 1;\r\n else return 0;\r\n });\r\n\r\n const sorted = numberArray.concat(stringArray);\r\n return sortOrder === 'asc' ? sorted : sorted.reverse();\r\n }\r\n}\r\n","import {\r\n animate,\r\n query,\r\n sequence,\r\n stagger,\r\n style,\r\n transition,\r\n trigger\r\n } from \"@angular/animations\";\r\n \r\n export const DropDownAnimation = trigger(\"dropDownMenu\", [\r\n transition(\":enter\", [\r\n style({ height: 0, overflow: \"hidden\" }),\r\n query(\".option\", [\r\n style({ opacity: 0, transform: \"translateY(-50px)\" })\r\n ]),\r\n sequence([\r\n animate(\"400ms\", style({ height: \"*\" })),\r\n query(\".option\", [\r\n stagger(50, [\r\n animate(\"200ms ease\", style({ opacity: 1, transform: \"none\" }))\r\n ])\r\n ])\r\n ])\r\n ]),\r\n \r\n transition(\":leave\", [\r\n style({ height: \"*\", overflow: \"hidden\" }),\r\n query(\".option\", [style({ opacity: 1, transform: \"none\" })]),\r\n sequence([\r\n query(\".option\", [\r\n stagger(-10, [\r\n animate(\r\n \"400ms ease\",\r\n style({ opacity: 0, transform: \"translateY(-50px)\" })\r\n )\r\n ])\r\n ]),\r\n animate(\"400ms\", style({ height: 0 }))\r\n ])\r\n ])\r\n ]);\r\n ","import {Directive, ElementRef, Output, EventEmitter, HostListener} from '@angular/core';\r\n \r\n@Directive({\r\n selector: '[clickOutside]'\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n\r\n @Output()\r\n public clickOutside = new EventEmitter<MouseEvent>();\r\n\r\n @HostListener('document:click', ['$event', '$event.target'])\r\n public onClick(event: MouseEvent, targetElement: HTMLElement): void {\r\n if (!targetElement) {\r\n return;\r\n }\r\n\r\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(event);\r\n }\r\n }\r\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n OnInit,\r\n OnChanges,\r\n SimpleChanges,\r\n ViewChild,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatTable } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ListItem } from '../model/ruc-multi-select.model';\r\nimport { FilterPipe } from '../pipes/filter.pipe';\r\nimport { SortPipe } from '../pipes/sort.pipe';\r\nimport { DropDownAnimation } from '../animations/animations';\r\nimport { DefaultConfig } from '../interfaces/multiSelectDefault';\r\n\r\n@Component({\r\n selector: 'uxp-ruclib-multi-select',\r\n templateUrl: './ruclib-multi-select.component.html',\r\n styleUrls: ['./ruclib-multi-select.component.scss'],\r\n animations: [DropDownAnimation],\r\n providers: [FilterPipe, SortPipe],\r\n})\r\nexport class RuclibMultiSelectComponent implements OnInit, OnChanges {\r\n public selectedItems!: Array<ListItem>;\r\n public filteredItem!: Array<ListItem>;\r\n readonly separatorKeysCodes = [ENTER, COMMA] as const;\r\n\r\n //local variables\r\n public sortToggle!: boolean;\r\n public multiSelectList!: FormControl;\r\n public addOnBlur!: boolean;\r\n public showdropdown!: boolean;\r\n public searchText!: string;\r\n public theme!: string;\r\n public isAllCheckboxSelected!: boolean;\r\n public isShowSelectedFilter!: boolean;\r\n public showSelectAll!: boolean;\r\n public showSelected!: boolean;\r\n\r\n sortObj: any;\r\n limitSelection: any;\r\n\r\n /* configurable fields */\r\n //public width: number; // width should be in % for responsive design.\r\n public height!: number; // max-height should be in px.\r\n public appearance!: string;\r\n public label!: string;\r\n public singleSelection!: boolean;\r\n public scroll!: boolean;\r\n public disabled!: boolean;\r\n public placeholder!: string;\r\n public maxDropdownHeight!: string;\r\n\r\n constructor(public filterPipe: FilterPipe, private sortPipe: SortPipe) {}\r\n\r\n @Output() rucEvent = new EventEmitter<any>();\r\n\r\n @Input() rucInputData!: DefaultConfig; /** config ruc input */\r\n @Input() customTheme!: string; /** custom theme */\r\n @Input() dataSource: Array<ListItem> = []; /** dropdwon data source */\r\n @ViewChild(MatPaginator) paginator!: MatPaginator;\r\n @ViewChild('matTable') matTable!: MatTable<any>;\r\n @ViewChild('matTable') matTableElementRef!: ElementRef;\r\n @ViewChild(MatSort) sort!: MatSort;\r\n\r\n /** getApperrance method to define appearance */\r\n getApperance(): MatFormFieldAppearance {\r\n if (this.appearance === 'fill') {\r\n return 'fill';\r\n }\r\n return 'outline';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.filteredItem = [];\r\n this.selectedItems = [];\r\n this.sortToggle = false;\r\n this.addOnBlur = true;\r\n this.showdropdown = false;\r\n this.theme = 'primary';\r\n this.isAllCheckboxSelected = false;\r\n this.isShowSelectedFilter = false;\r\n this.limitSelection = null;\r\n this.scroll = false;\r\n this.disabled = false;\r\n this.limitSelection = null;\r\n\r\n this.dataSource = this.dataSource.map(\r\n (item: any) =>\r\n new ListItem({\r\n text: item.text,\r\n id: item.id,\r\n isDisabled: item.isDisable ? item.isDisable : false,\r\n childItem:\r\n item.childItem && item.childItem.length ? item.childItem : [],\r\n grouped: item.grouped ? true : false,\r\n icon: item.icon ? item.icon : '',\r\n })\r\n );\r\n this.filteredItem = this.dataSource;\r\n // this.width = this.rucInputData.width === \"\" || this.rucInputData.width === undefined ? 100: this.rucInputData.width; /** width in % */\r\n this.height =\r\n this.rucInputData.maxHeight === undefined\r\n ? 150\r\n : this.rucInputData.maxHeight; /** width in px */\r\n this.singleSelection =\r\n this.rucInputData.singleSelection === undefined\r\n ? false\r\n : this.rucInputData.singleSelection;\r\n this.label =\r\n this.rucInputData.label === '' || this.rucInputData.label === undefined\r\n ? 'Cities'\r\n : this.rucInputData.label;\r\n this.appearance =\r\n this.rucInputData.appearance === '' ||\r\n this.rucInputData.appearance === undefined\r\n ? 'outline'\r\n : this.rucInputData.appearance;\r\n this.limitSelection =\r\n this.rucInputData.limit === undefined ? null : this.rucInputData.limit;\r\n this.multiSelectList = new FormControl({\r\n value: '',\r\n disabled: !!this.rucInputData.disabled,\r\n });\r\n this.scroll =\r\n this.rucInputData.scroll === undefined ? true : this.rucInputData.scroll;\r\n this.placeholder =\r\n this.rucInputData.placeholder === '' ||\r\n this.rucInputData.placeholder === undefined\r\n ? ''\r\n : this.rucInputData.placeholder;\r\n this.maxDropdownHeight =\r\n this.rucInputData.maxDropdownHeight === undefined\r\n ? ''\r\n : this.rucInputData.maxDropdownHeight;\r\n this.sortObj = {\r\n sortBy:\r\n this.rucInputData.sortBy === undefined ? '' : this.rucInputData.sortBy,\r\n sortOrder:\r\n this.rucInputData.sortOrder === undefined\r\n ? ''\r\n : this.rucInputData.sortOrder,\r\n };\r\n this.showSelectAll =\r\n this.rucInputData.showSelectAll === undefined\r\n ? true\r\n : this.rucInputData.showSelectAll;\r\n this.showSelected =\r\n this.rucInputData.showSelected === undefined\r\n ? true\r\n : this.rucInputData.showSelected;\r\n }\r\n\r\n /**\r\n * Dynamic data change\r\n * @param changes input provide change detection\r\n * @return none\r\n */\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['dataSource'] && changes['dataSource'].currentValue) {\r\n this.dataSource = changes['dataSource'].currentValue.map(\r\n (item: any) =>\r\n new ListItem({\r\n id: item.id,\r\n text: item.text,\r\n isDisabled: item.isDisable,\r\n childItem:\r\n item.childItem && item.childItem.length ? item.childItem : [],\r\n grouped: item.grouped ? true : false,\r\n icon: item.icon ? item.icon : '',\r\n })\r\n );\r\n }\r\n this.filteredItem = this.dataSource;\r\n }\r\n /**\r\n * Select options checkbox\r\n * @param ListItem input provide whole list of data\r\n * @return none\r\n */\r\n onSelection(item: ListItem) {\r\n this.searchText = '';\r\n if (this.singleSelection === true) {\r\n if (this.selectedItems.length >= 0) {\r\n this.selectedItems = [];\r\n this.selectedItems.push(item);\r\n }\r\n } else {\r\n if (this.selectedItems.indexOf(item) > -1) {\r\n this.selectedItems = this.selectedItems.filter(\r\n (data) => data.id != item.id\r\n );\r\n } else {\r\n this.selectedItems.push(item);\r\n }\r\n this.rucEvent.emit({ eventName: 'onSelection', eventOutput: item });\r\n this.isAllSelected();\r\n if (this.selectedItems.length === 0) {\r\n this.isShowSelectedFilter = false;\r\n this.filteredItem = this.dataSource;\r\n }\r\n }\r\n }\r\n\r\n // disable other items as limit selection is there\r\n checkSelectedStatus(obj: any) {\r\n const index = this.selectedItems.findIndex((res) => res.id === obj.id);\r\n if (index === -1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * clear selected Menu\r\n * @return none\r\n */\r\n clearSelectedMenu() {\r\n this.selectedItems = [];\r\n }\r\n\r\n /**\r\n * select all Checkbox options at once\r\n * @param ListItem input provide whole list of data\r\n * @return none\r\n */\r\n onAllSelection() {\r\n this.searchText = '';\r\n if (!this.isAllCheckboxSelected) {\r\n this.selectedItems = this.dataSource.filter((res) => {\r\n if (res.childItem && res.childItem.length > 0) {\r\n return res.childItem.filter((res1: any) => {\r\n return res1.isDisable != true;\r\n });\r\n } else {\r\n return res.isDisabled != true;\r\n }\r\n });\r\n } else {\r\n this.selectedItems = [];\r\n }\r\n this.rucEvent.emit({\r\n eventName: 'onAllSelection',\r\n eventOutput: this.selectedItems,\r\n });\r\n this.isAllCheckboxSelected = !this.isAllCheckboxSelected;\r\n if (\r\n this.isAllCheckboxSelected === false &&\r\n this.isShowSelectedFilter === true\r\n ) {\r\n this.filteredItem = this.dataSource;\r\n this.isShowSelectedFilter = false;\r\n }\r\n if (\r\n this.isAllCheckboxSelected === true &&\r\n this.isShowSelectedFilter === true\r\n ) {\r\n this.filteredItem = this.dataSource;\r\n }\r\n }\r\n\r\n /**\r\n * toggle dropdown\r\n */\r\n toggleDropdown() {\r\n this.showdropdown = !this.showdropdown;\r\n if (this.showdropdown) {\r\n this.rucEvent.emit({ eventName: 'onInputClick', eventOutput: null });\r\n }\r\n }\r\n\r\n /**\r\n * Remove the data based on the select input\r\n * @param ListItem input provide whole list of data\r\n * @return none\r\n */\r\n removeItem(item: ListItem) {\r\n if (this.selectedItems.indexOf(item) > -1) {\r\n this.selectedItems = this.selectedItems.filter(\r\n (data) => data.id != item.id\r\n );\r\n }\r\n this.rucEvent.emit({ eventName: 'onDeSelection', eventOutput: item });\r\n }\r\n\r\n /**\r\n * Filter the data based on the provided input\r\n * @param searchvalue input label provided in search box\r\n * @return none\r\n */\r\n filterData(searchvalue: any): any {\r\n /*Filter the data using filter pipe*/\r\n if (!this.showdropdown) {\r\n this.showdropdown = true;\r\n }\r\n\r\n this.filteredItem = this.filterPipe.transform(\r\n this.dataSource,\r\n searchvalue,\r\n 'text'\r\n );\r\n }\r\n\r\n /**\r\n * add and remove checked item\r\n * @param ListItem input provide whole list of data\r\n * @return boolean\r\n */\r\n isSelected(checkedItem: ListItem) {\r\n let found = false;\r\n this.selectedItems.forEach((item) => {\r\n if (item.childItem && item.childItem.length > 0) {\r\n item.childItem.forEach((item1: any) => {\r\n if (checkedItem.id === item1.id) {\r\n found = true;\r\n }\r\n });\r\n } else {\r\n if (checkedItem.id === item.id) {\r\n found = true;\r\n }\r\n }\r\n });\r\n return found;\r\n }\r\n\r\n /**\r\n * check if all checkbox selected or not\r\n * @return boolean\r\n */\r\n isAllSelected() {\r\n const totalLength = this.dataSource.filter(\r\n (data) => data.isDisabled != true\r\n );\r\n if (this.selectedItems.length === totalLength.length) {\r\n this.isAllCheckboxSelected = true;\r\n } else {\r\n this.isAllCheckboxSelected = false;\r\n }\r\n return this.isAllCheckboxSelected;\r\n }\r\n\r\n /**\r\n * check if show checkbox selected or not\r\n * @return boolean\r\n */\r\n isShowSelected() {\r\n return this.isShowSelectedFilter;\r\n }\r\n\r\n /**\r\n * check if show checkbox selected or not\r\n * @return boolean\r\n */\r\n onShowSelection() {\r\n this.isShowSelectedFilter = !this.isShowSelectedFilter;\r\n if (this.isShowSelectedFilter) {\r\n if (this.sortToggle) {\r\n const sortedArr = this.sortPipe.transform(\r\n this.selectedItems,\r\n this.rucInputData.sortOrder,\r\n this.rucInputData.sortBy\r\n );\r\n this.filteredItem = sortedArr;\r\n } else {\r\n this.filteredItem = this.selectedItems;\r\n }\r\n } else {\r\n this.isShowSelectedFilter = false;\r\n if (this.sortToggle) {\r\n const sortedArr = this.sortPipe.transform(\r\n this.dataSource,\r\n this.rucInputData.sortOrder,\r\n this.rucInputData.sortBy\r\n );\r\n this.filteredItem = sortedArr;\r\n } else {\r\n this.filteredItem = this.dataSource;\r\n }\r\n }\r\n }\r\n\r\n // pipe to toggle sort\r\n onSortToggle() {\r\n this.sortToggle = !this.sortToggle;\r\n if (this.sortToggle) {\r\n const sortedArr = this.sortPipe.transform(\r\n this.filteredItem,\r\n this.rucInputData.sortOrder,\r\n this.rucInputData.sortBy\r\n );\r\n this.filteredItem = sortedArr;\r\n } else {\r\n if (this.isShowSelectedFilter) {\r\n this.filteredItem = this.selectedItems;\r\n } else {\r\n this.filteredItem = this.dataSource;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * close popup when click outside of container\r\n */\r\n close() {\r\n this.showdropdown = false;\r\n }\r\n}\r\n","<div class=\"main\">\r\n<div class=\"{{ customTheme }}\" (clickOutside)=\"close()\">\r\n <mat-form-field\r\n class=\"chip-list\"\r\n [ngStyle]=\"{ 'max-height.px': height, 'width.%': 100 }\"\r\n [appearance]=\"getApperance()\"\r\n >\r\n <mat-label>{{ label }}</mat-label>\r\n <mat-chip-grid\r\n matInput\r\n [formControl]=\"multiSelectList\"\r\n #chipGrid\r\n aria-label=\"Cities\"\r\n >\r\n <mat-chip-row *ngFor=\"let item of selectedItems\" (removed)=\"removeItem(item)\">\r\n {{ item.text }}\r\n <button matChipRemove>\r\n <mat-icon>cancel</mat-icon>\r\n </button>\r\n </mat-chip-row>\r\n <input\r\n (click)=\"toggleDropdown()\"\r\n [placeholder]=\"placeholder\"\r\n [matChipInputFor]=\"chipGrid\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (keyup)=\"filterData(searchText)\"\r\n [(ngModel)]=\"searchText\"\r\n />\r\n </mat-chip-grid>\r\n <mat-icon\r\n *ngIf=\"selectedItems.length\"\r\n (click)=\"clearSelectedMenu()\"\r\n matSuffix\r\n >clear</mat-icon\r\n >\r\n <mat-icon *ngIf=\"!selectedItems.length && !showdropdown\" matSuffix\r\n >expand_more</mat-icon\r\n >\r\n <mat-icon *ngIf=\"!selectedItems.length && showdropdown\" matSuffix\r\n >expand_less</mat-icon\r\n >\r\n </mat-form-field>\r\n\r\n <div\r\n *ngIf=\"searchText && filteredItem.length < 1\"\r\n class=\"margin-2-top-bottom\"\r\n >\r\n <div>No option found</div>\r\n </div>\r\n\r\n <div class=\"box-border-option\">\r\n <div\r\n *ngIf=\"showdropdown\"\r\n class=\"option-header\"\r\n role=\"options\"\r\n tabindex=\"-1\"\r\n [@dropDownMenu]\r\n >\r\n <ng-container *ngIf=\"!singleSelection\">\r\n <div *ngIf=\"showSelectAll\">\r\n <div *ngIf=\"limitSelection === null\">\r\n <mat-checkbox\r\n class=\"option mat-primary\"\r\n role=\"option\"\r\n color=\"{{ theme }}\"\r\n [checked]=\"isAllSelected()\"\r\n (change)=\"onAllSelection()\"\r\n value=\"select-all\"\r\n >Select All\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n <mat-checkbox\r\n *ngIf=\"showSelected\"\r\n class=\"option mat-primary\"\r\n role=\"option\"\r\n color=\"{{ theme }}\"\r\n [checked]=\"isShowSelected()\"\r\n (change)=\"onShowSelection()\"\r\n value=\"select-all\"\r\n >Show Selected\r\n </mat-checkbox>\r\n <mat-slide-toggle\r\n *ngIf=\"sortObj['sortBy']\"\r\n class=\"option mat-primary\"\r\n (click)=\"onSortToggle()\"\r\n >Sort\r\n </mat-slide-toggle>\r\n <mat-divider></mat-divider>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"showdropdown\"\r\n [ngClass]=\"{\r\n 'scroll-option-container': scroll,\r\n 'option-container': '!scroll'\r\n }\"\r\n role=\"options\"\r\n [ngStyle]=\"{ 'max-height.px': maxDropdownHeight, 'width.%': 100 }\"\r\n tabindex=\"-1\"\r\n >\r\n <ng-container>\r\n <div *ngIf=\"!singleSelection\" [@dropDownMenu]>\r\n <!-- for grouped -->\r\n <div *ngFor=\"let item of filteredItem\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (item.childItem && item.childItem.length > 0) || item.grouped\r\n ? multipleGroupedCase\r\n : multipleNonGroupedCase\r\n \"\r\n [ngTemplateOutletContext]=\"{ item: item }\"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- for single selection case -->\r\n <div *ngIf=\"singleSelection\">\r\n <div *ngFor=\"let item of filteredItem\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n item.childItem && item.childItem.length > 0\r\n ? singleGroupedCase\r\n : singleNonGroupedCase\r\n \"\r\n [ngTemplateOutletContext]=\"{ item: item }\"\r\n >\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- for multiple selected group case -->\r\n <ng-template #multipleGroupedCase let-item=\"item\">\r\n <mat-optgroup [label]=\"item.text\" [disabled]=\"item.isDisabled\">\r\n <mat-option\r\n *ngFor=\"let itemObj of item.childItem\"\r\n [value]=\"itemObj.id\"\r\n disabled=\"{{\r\n itemObj.isDisable ||\r\n (limitSelection != null &&\r\n selectedItems.length >= limitSelection &&\r\n checkSelectedStatus(itemObj))\r\n }}\"\r\n >\r\n <mat-checkbox\r\n class=\"mat-primary\"\r\n role=\"option\"\r\n color=\"{{ theme }}\"\r\n [checked]=\"isSelected(itemObj)\"\r\n (change)=\"onSelection(itemObj)\"\r\n value=\"{{ itemObj.id }}\"\r\n disabled=\"{{\r\n itemObj.isDisable ||\r\n (limitSelection != null &&\r\n selectedItems.length >= limitSelection &&\r\n checkSelectedStatus(itemObj))\r\n }}\"\r\n >\r\n </mat-checkbox>\r\n <mat-icon *ngIf=\"itemObj.icon\">{{ itemObj.icon }}</mat-icon>\r\n {{ itemObj.text }}\r\n </mat-option>\r\n </mat-optgroup>\r\n </ng-template>\r\n\r\n <!-- for multiple selected non grouped case -->\r\n <ng-template #multipleNonGroupedCase let-item=\"item\">\r\n <mat-checkbox\r\n class=\"option mat-primary\"\r\n role=\"option\"\r\n color=\"{{ theme }}\"\r\n [checked]=\"isSelected(item)\"\r\n (change)=\"onSelection(item)\"\r\n value=\"{{ item.id }}\"\r\n disabled=\"{{\r\n item.isDisabled ||\r\n (limitSelection != null &&\r\n selectedItems.length >= limitSelection &&\r\n checkSelectedStatus(item))\r\n }}\"\r\n >\r\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\r\n {{ item.text }}\r\n </mat-checkbox>\r\n </ng-template>\r\n\r\n <!-- for single selection group case -->\r\n <ng-template #singleGroupedCase let-item=\"item\">\r\n <mat-optgroup\r\n *ngFor=\"let item of filteredItem\"\r\n [label]=\"item.text\"\r\n [disabled]=\"item.isDisabled\"\r\n >\r\n <mat-option\r\n *ngFor=\"let itemObj of item.childItem\"\r\n [value]=\"itemObj.id\"\r\n disabled=\"{{ itemObj.isDisable }}\"\r\n (click)=\"onSelection(itemObj)\"\r\n >\r\n <mat-icon *ngIf=\"itemObj.icon\">{{ itemObj.icon }}</mat-icon>\r\n {{ itemObj.text }}\r\n </mat-option>\r\n </mat-optgroup>\r\n </ng-template>\r\n\r\n <!-- for single selection non group case -->\r\n <ng-template #singleNonGroupedCase let-item=\"item\">\r\n <span\r\n class=\"option mat-primary\"\r\n (click)=\"onSelection(item)\"\r\n *ngFor=\"let item of filteredItem; let index = index\"\r\n >\r\n <mat-icon *ngIf=\"item.icon\">{{ item.icon }}</mat-icon>\r\n {{ item.text }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n</div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RuclibMultiSelectComponent } from './ruclib-multi-select/ruclib-multi-select.component';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { ClickOutsideDirective } from './directives/clickOutside.directive';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { SortPipe } from './pipes/sort.pipe';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDividerModule,\r\n MatSlideToggleModule\r\n ],\r\n declarations: [\r\n RuclibMultiSelectComponent,\r\n FilterPipe,\r\n SortPipe,\r\n ClickOutsideDirective\r\n ],\r\n exports: [\r\n RuclibMultiSelectComponent\r\n ]\r\n})\r\nexport class RuclibMultiSelectModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FilterPipe","i2.SortPipe","i12.ClickOutsideDirective"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,207 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { MatSort } from '@angular/material/sort';
|
|
6
|
-
import { FormControl } from '@angular/forms';
|
|
7
|
-
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
8
|
-
|
|
9
|
-
declare class ListItem {
|
|
10
|
-
id: string | number;
|
|
11
|
-
text: string;
|
|
12
|
-
isDisabled?: boolean;
|
|
13
|
-
icon?: string;
|
|
14
|
-
childItem?: any;
|
|
15
|
-
grouped?: any;
|
|
16
|
-
constructor(data: any);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
declare class FilterPipe implements PipeTransform {
|
|
20
|
-
transform(items: any[], searchText: string, key?: string): any[];
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FilterPipe, never>;
|
|
22
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<FilterPipe, "filter", true>;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
type SortOrder = 'asc' | 'desc';
|
|
26
|
-
declare class SortPipe implements PipeTransform {
|
|
27
|
-
transform(value: any[], sortOrder?: SortOrder | string, sortKey?: string): any;
|
|
28
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SortPipe, never>;
|
|
29
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<SortPipe, "sort", true>;
|
|
30
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<SortPipe>;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
interface DefaultConfig {
|
|
34
|
-
/**
|
|
35
|
-
* OPtional
|
|
36
|
-
* Values :- true , false
|
|
37
|
-
*/
|
|
38
|
-
singleSelection: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Mandatory,
|
|
41
|
-
* value: any string
|
|
42
|
-
*/
|
|
43
|
-
label?: string;
|
|
44
|
-
/**
|
|
45
|
-
* Optional
|
|
46
|
-
* value :true false
|
|
47
|
-
*/
|
|
48
|
-
showSelectAll?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Optional
|
|
51
|
-
* value :true false
|
|
52
|
-
*/
|
|
53
|
-
showSelected?: boolean;
|
|
54
|
-
/**
|
|
55
|
-
* Optional
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
appearance?: string;
|
|
59
|
-
/**
|
|
60
|
-
* Optional
|
|
61
|
-
*
|
|
62
|
-
*/
|
|
63
|
-
scroll?: boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Optional
|
|
66
|
-
*
|
|
67
|
-
*/
|
|
68
|
-
placeholder?: string;
|
|
69
|
-
/**
|
|
70
|
-
* Optional
|
|
71
|
-
*
|
|
72
|
-
*/
|
|
73
|
-
limit?: string;
|
|
74
|
-
/**
|
|
75
|
-
* Optional
|
|
76
|
-
*
|
|
77
|
-
*/
|
|
78
|
-
maxDropdownHeight?: string;
|
|
79
|
-
/**
|
|
80
|
-
* Optional
|
|
81
|
-
*
|
|
82
|
-
*/
|
|
83
|
-
sortBy?: string;
|
|
84
|
-
/**
|
|
85
|
-
* Optional
|
|
86
|
-
*/
|
|
87
|
-
sortOrder?: string;
|
|
88
|
-
/**
|
|
89
|
-
* Optional
|
|
90
|
-
*/
|
|
91
|
-
maxHeight?: number;
|
|
92
|
-
/**
|
|
93
|
-
* Optional
|
|
94
|
-
*/
|
|
95
|
-
disabled?: boolean;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
declare class RuclibMultiSelectComponent implements OnInit, OnChanges {
|
|
99
|
-
filterPipe: FilterPipe;
|
|
100
|
-
private sortPipe;
|
|
101
|
-
selectedItems: Array<ListItem>;
|
|
102
|
-
filteredItem: Array<ListItem>;
|
|
103
|
-
readonly separatorKeysCodes: readonly [13, 188];
|
|
104
|
-
sortToggle: boolean;
|
|
105
|
-
multiSelectList: FormControl;
|
|
106
|
-
addOnBlur: boolean;
|
|
107
|
-
showdropdown: boolean;
|
|
108
|
-
searchText: string;
|
|
109
|
-
theme: string;
|
|
110
|
-
isAllCheckboxSelected: boolean;
|
|
111
|
-
isShowSelectedFilter: boolean;
|
|
112
|
-
showSelectAll: boolean;
|
|
113
|
-
showSelected: boolean;
|
|
114
|
-
sortObj: any;
|
|
115
|
-
limitSelection: any;
|
|
116
|
-
height: number;
|
|
117
|
-
appearance: string;
|
|
118
|
-
label: string;
|
|
119
|
-
singleSelection: boolean;
|
|
120
|
-
scroll: boolean;
|
|
121
|
-
disabled: boolean;
|
|
122
|
-
placeholder: string;
|
|
123
|
-
maxDropdownHeight: string;
|
|
124
|
-
constructor(filterPipe: FilterPipe, sortPipe: SortPipe);
|
|
125
|
-
rucEvent: EventEmitter<any>;
|
|
126
|
-
rucInputData: DefaultConfig; /** config ruc input */
|
|
127
|
-
customTheme: string; /** custom theme */
|
|
128
|
-
dataSource: Array<ListItem>; /** dropdwon data source */
|
|
129
|
-
paginator: MatPaginator;
|
|
130
|
-
matTable: MatTable<any>;
|
|
131
|
-
matTableElementRef: ElementRef;
|
|
132
|
-
sort: MatSort;
|
|
133
|
-
/** getApperrance method to define appearance */
|
|
134
|
-
getApperance(): MatFormFieldAppearance;
|
|
135
|
-
ngOnInit(): void;
|
|
136
|
-
/**
|
|
137
|
-
* Dynamic data change
|
|
138
|
-
* @param changes input provide change detection
|
|
139
|
-
* @return none
|
|
140
|
-
*/
|
|
141
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
142
|
-
/**
|
|
143
|
-
* Select options checkbox
|
|
144
|
-
* @param ListItem input provide whole list of data
|
|
145
|
-
* @return none
|
|
146
|
-
*/
|
|
147
|
-
onSelection(item: ListItem): void;
|
|
148
|
-
checkSelectedStatus(obj: any): boolean;
|
|
149
|
-
/**
|
|
150
|
-
* clear selected Menu
|
|
151
|
-
* @return none
|
|
152
|
-
*/
|
|
153
|
-
clearSelectedMenu(): void;
|
|
154
|
-
/**
|
|
155
|
-
* select all Checkbox options at once
|
|
156
|
-
* @param ListItem input provide whole list of data
|
|
157
|
-
* @return none
|
|
158
|
-
*/
|
|
159
|
-
onAllSelection(): void;
|
|
160
|
-
/**
|
|
161
|
-
* toggle dropdown
|
|
162
|
-
*/
|
|
163
|
-
toggleDropdown(): void;
|
|
164
|
-
/**
|
|
165
|
-
* Remove the data based on the select input
|
|
166
|
-
* @param ListItem input provide whole list of data
|
|
167
|
-
* @return none
|
|
168
|
-
*/
|
|
169
|
-
removeItem(item: ListItem): void;
|
|
170
|
-
/**
|
|
171
|
-
* Filter the data based on the provided input
|
|
172
|
-
* @param searchvalue input label provided in search box
|
|
173
|
-
* @return none
|
|
174
|
-
*/
|
|
175
|
-
filterData(searchvalue: any): any;
|
|
176
|
-
/**
|
|
177
|
-
* add and remove checked item
|
|
178
|
-
* @param ListItem input provide whole list of data
|
|
179
|
-
* @return boolean
|
|
180
|
-
*/
|
|
181
|
-
isSelected(checkedItem: ListItem): boolean;
|
|
182
|
-
/**
|
|
183
|
-
* check if all checkbox selected or not
|
|
184
|
-
* @return boolean
|
|
185
|
-
*/
|
|
186
|
-
isAllSelected(): boolean;
|
|
187
|
-
/**
|
|
188
|
-
* check if show checkbox selected or not
|
|
189
|
-
* @return boolean
|
|
190
|
-
*/
|
|
191
|
-
isShowSelected(): boolean;
|
|
192
|
-
/**
|
|
193
|
-
* check if show checkbox selected or not
|
|
194
|
-
* @return boolean
|
|
195
|
-
*/
|
|
196
|
-
onShowSelection(): void;
|
|
197
|
-
onSortToggle(): void;
|
|
198
|
-
/**
|
|
199
|
-
* close popup when click outside of container
|
|
200
|
-
*/
|
|
201
|
-
close(): void;
|
|
202
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RuclibMultiSelectComponent, never>;
|
|
203
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RuclibMultiSelectComponent, "uxp-ruclib-multi-select", never, { "rucInputData": { "alias": "rucInputData"; "required": false; }; "customTheme": { "alias": "customTheme"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; }, { "rucEvent": "rucEvent"; }, never, never, true, never>;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export { ListItem, RuclibMultiSelectComponent };
|
|
207
|
-
export type { DefaultConfig };
|
|
1
|
+
export * from './lib/ruclib-multi-select.module';
|
|
2
|
+
export * from './lib/ruclib-multi-select/ruclib-multi-select.component';
|
|
3
|
+
export * from './lib/model/ruc-multi-select.model';
|
|
4
|
+
export * from './lib/interfaces/multiSelectDefault';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DropDownAnimation: import("@angular/animations").AnimationTriggerMetadata;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class ClickOutsideDirective {
|
|
4
|
+
private _elementRef;
|
|
5
|
+
constructor(_elementRef: ElementRef);
|
|
6
|
+
clickOutside: EventEmitter<MouseEvent>;
|
|
7
|
+
onClick(event: MouseEvent, targetElement: HTMLElement): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, {}, { "clickOutside": "clickOutside"; }, never, never, false, never>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface DefaultConfig {
|
|
2
|
+
/**
|
|
3
|
+
* OPtional
|
|
4
|
+
* Values :- true , false
|
|
5
|
+
*/
|
|
6
|
+
singleSelection: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Mandatory,
|
|
9
|
+
* value: any string
|
|
10
|
+
*/
|
|
11
|
+
label?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Optional
|
|
14
|
+
* value :true false
|
|
15
|
+
*/
|
|
16
|
+
showSelectAll?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Optional
|
|
19
|
+
* value :true false
|
|
20
|
+
*/
|
|
21
|
+
showSelected?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Optional
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
appearance?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
scroll?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Optional
|
|
34
|
+
*
|
|
35
|
+
*/
|
|
36
|
+
placeholder?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Optional
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
41
|
+
limit?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Optional
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
46
|
+
maxDropdownHeight?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Optional
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
sortBy?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Optional
|
|
54
|
+
*/
|
|
55
|
+
sortOrder?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Optional
|
|
58
|
+
*/
|
|
59
|
+
maxHeight?: number;
|
|
60
|
+
/**
|
|
61
|
+
* Optional
|
|
62
|
+
*/
|
|
63
|
+
disabled?: boolean;
|
|
64
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FilterPipe implements PipeTransform {
|
|
4
|
+
transform(items: any[], searchText: string, key?: string): any[];
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterPipe, never>;
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FilterPipe, "filter", false>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export type SortOrder = 'asc' | 'desc';
|
|
4
|
+
export declare class SortPipe implements PipeTransform {
|
|
5
|
+
transform(value: any[], sortOrder?: SortOrder | string, sortKey?: string): any;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SortPipe, never>;
|
|
7
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<SortPipe, "sort", false>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SortPipe>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, OnChanges, SimpleChanges, ElementRef } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { MatFormFieldAppearance } from '@angular/material/form-field';
|
|
4
|
+
import { MatPaginator } from '@angular/material/paginator';
|
|
5
|
+
import { MatTable } from '@angular/material/table';
|
|
6
|
+
import { MatSort } from '@angular/material/sort';
|
|
7
|
+
import { ListItem } from '../model/ruc-multi-select.model';
|
|
8
|
+
import { FilterPipe } from '../pipes/filter.pipe';
|
|
9
|
+
import { SortPipe } from '../pipes/sort.pipe';
|
|
10
|
+
import { DefaultConfig } from '../interfaces/multiSelectDefault';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export declare class RuclibMultiSelectComponent implements OnInit, OnChanges {
|
|
13
|
+
filterPipe: FilterPipe;
|
|
14
|
+
private sortPipe;
|
|
15
|
+
selectedItems: Array<ListItem>;
|
|
16
|
+
filteredItem: Array<ListItem>;
|
|
17
|
+
readonly separatorKeysCodes: readonly [13, 188];
|
|
18
|
+
sortToggle: boolean;
|
|
19
|
+
multiSelectList: FormControl;
|
|
20
|
+
addOnBlur: boolean;
|
|
21
|
+
showdropdown: boolean;
|
|
22
|
+
searchText: string;
|
|
23
|
+
theme: string;
|
|
24
|
+
isAllCheckboxSelected: boolean;
|
|
25
|
+
isShowSelectedFilter: boolean;
|
|
26
|
+
showSelectAll: boolean;
|
|
27
|
+
showSelected: boolean;
|
|
28
|
+
sortObj: any;
|
|
29
|
+
limitSelection: any;
|
|
30
|
+
height: number;
|
|
31
|
+
appearance: string;
|
|
32
|
+
label: string;
|
|
33
|
+
singleSelection: boolean;
|
|
34
|
+
scroll: boolean;
|
|
35
|
+
disabled: boolean;
|
|
36
|
+
placeholder: string;
|
|
37
|
+
maxDropdownHeight: string;
|
|
38
|
+
constructor(filterPipe: FilterPipe, sortPipe: SortPipe);
|
|
39
|
+
rucEvent: EventEmitter<any>;
|
|
40
|
+
rucInputData: DefaultConfig; /** config ruc input */
|
|
41
|
+
customTheme: string; /** custom theme */
|
|
42
|
+
dataSource: Array<ListItem>; /** dropdwon data source */
|
|
43
|
+
paginator: MatPaginator;
|
|
44
|
+
matTable: MatTable<any>;
|
|
45
|
+
matTableElementRef: ElementRef;
|
|
46
|
+
sort: MatSort;
|
|
47
|
+
/** getApperrance method to define appearance */
|
|
48
|
+
getApperance(): MatFormFieldAppearance;
|
|
49
|
+
ngOnInit(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Dynamic data change
|
|
52
|
+
* @param changes input provide change detection
|
|
53
|
+
* @return none
|
|
54
|
+
*/
|
|
55
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
56
|
+
/**
|
|
57
|
+
* Select options checkbox
|
|
58
|
+
* @param ListItem input provide whole list of data
|
|
59
|
+
* @return none
|
|
60
|
+
*/
|
|
61
|
+
onSelection(item: ListItem): void;
|
|
62
|
+
checkSelectedStatus(obj: any): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* clear selected Menu
|
|
65
|
+
* @return none
|
|
66
|
+
*/
|
|
67
|
+
clearSelectedMenu(): void;
|
|
68
|
+
/**
|
|
69
|
+
* select all Checkbox options at once
|
|
70
|
+
* @param ListItem input provide whole list of data
|
|
71
|
+
* @return none
|
|
72
|
+
*/
|
|
73
|
+
onAllSelection(): void;
|
|
74
|
+
/**
|
|
75
|
+
* toggle dropdown
|
|
76
|
+
*/
|
|
77
|
+
toggleDropdown(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Remove the data based on the select input
|
|
80
|
+
* @param ListItem input provide whole list of data
|
|
81
|
+
* @return none
|
|
82
|
+
*/
|
|
83
|
+
removeItem(item: ListItem): void;
|
|
84
|
+
/**
|
|
85
|
+
* Filter the data based on the provided input
|
|
86
|
+
* @param searchvalue input label provided in search box
|
|
87
|
+
* @return none
|
|
88
|
+
*/
|
|
89
|
+
filterData(searchvalue: any): any;
|
|
90
|
+
/**
|
|
91
|
+
* add and remove checked item
|
|
92
|
+
* @param ListItem input provide whole list of data
|
|
93
|
+
* @return boolean
|
|
94
|
+
*/
|
|
95
|
+
isSelected(checkedItem: ListItem): boolean;
|
|
96
|
+
/**
|
|
97
|
+
* check if all checkbox selected or not
|
|
98
|
+
* @return boolean
|
|
99
|
+
*/
|
|
100
|
+
isAllSelected(): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* check if show checkbox selected or not
|
|
103
|
+
* @return boolean
|
|
104
|
+
*/
|
|
105
|
+
isShowSelected(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* check if show checkbox selected or not
|
|
108
|
+
* @return boolean
|
|
109
|
+
*/
|
|
110
|
+
onShowSelection(): void;
|
|
111
|
+
onSortToggle(): void;
|
|
112
|
+
/**
|
|
113
|
+
* close popup when click outside of container
|
|
114
|
+
*/
|
|
115
|
+
close(): void;
|
|
116
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuclibMultiSelectComponent, never>;
|
|
117
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RuclibMultiSelectComponent, "uxp-ruclib-multi-select", never, { "rucInputData": "rucInputData"; "customTheme": "customTheme"; "dataSource": "dataSource"; }, { "rucEvent": "rucEvent"; }, never, never, false, never>;
|
|
118
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./ruclib-multi-select/ruclib-multi-select.component";
|
|
3
|
+
import * as i2 from "./pipes/filter.pipe";
|
|
4
|
+
import * as i3 from "./pipes/sort.pipe";
|
|
5
|
+
import * as i4 from "./directives/clickOutside.directive";
|
|
6
|
+
import * as i5 from "@angular/common";
|
|
7
|
+
import * as i6 from "@angular/forms";
|
|
8
|
+
import * as i7 from "@angular/material/icon";
|
|
9
|
+
import * as i8 from "@angular/material/form-field";
|
|
10
|
+
import * as i9 from "@angular/material/input";
|
|
11
|
+
import * as i10 from "@angular/material/select";
|
|
12
|
+
import * as i11 from "@angular/material/checkbox";
|
|
13
|
+
import * as i12 from "@angular/material/chips";
|
|
14
|
+
import * as i13 from "@angular/material/divider";
|
|
15
|
+
import * as i14 from "@angular/material/slide-toggle";
|
|
16
|
+
export declare class RuclibMultiSelectModule {
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuclibMultiSelectModule, never>;
|
|
18
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<RuclibMultiSelectModule, [typeof i1.RuclibMultiSelectComponent, typeof i2.FilterPipe, typeof i3.SortPipe, typeof i4.ClickOutsideDirective], [typeof i5.CommonModule, typeof i6.FormsModule, typeof i6.ReactiveFormsModule, typeof i7.MatIconModule, typeof i8.MatFormFieldModule, typeof i9.MatInputModule, typeof i10.MatSelectModule, typeof i11.MatCheckboxModule, typeof i12.MatChipsModule, typeof i13.MatDividerModule, typeof i14.MatSlideToggleModule], [typeof i1.RuclibMultiSelectComponent]>;
|
|
19
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<RuclibMultiSelectModule>;
|
|
20
|
+
}
|
package/package.json
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruc-lib/multi-select",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.1",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"peerDependencies": {
|
|
5
|
-
"@angular/
|
|
6
|
-
"@angular/
|
|
7
|
-
"@angular/
|
|
8
|
-
"@angular/
|
|
9
|
-
"@angular/
|
|
10
|
-
"@angular/
|
|
11
|
-
"ngx-pagination": "^6.0.
|
|
12
|
-
"rxjs": ">=
|
|
13
|
-
"zone.js": "
|
|
6
|
+
"@angular/material": "^15.2.0",
|
|
7
|
+
"@angular/animations": ">=15.0.0 <18.0.0",
|
|
8
|
+
"@angular/core": ">=15.0.0 <18.0.0",
|
|
9
|
+
"@angular/common": ">=15.0.0 <18.0.0",
|
|
10
|
+
"@angular/forms": ">=15.0.0 <18.0.0",
|
|
11
|
+
"@angular/platform-browser": ">=15.0.0 <18.0.0",
|
|
12
|
+
"ngx-pagination": "^6.0.3",
|
|
13
|
+
"rxjs": ">=6.5.0 <8.0.0",
|
|
14
|
+
"zone.js": ">=0.11.4 <0.14.0",
|
|
15
|
+
"@angular/cdk": "^15.2.9"
|
|
14
16
|
},
|
|
15
17
|
"dependencies": {
|
|
16
18
|
"tslib": "^2.3.0"
|
|
17
19
|
},
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
18
23
|
"sideEffects": false,
|
|
19
|
-
"module": "
|
|
24
|
+
"module": "fesm2015/ruc-lib-multi-select.mjs",
|
|
25
|
+
"es2020": "fesm2020/ruc-lib-multi-select.mjs",
|
|
26
|
+
"esm2020": "esm2020/ruc-lib-multi-select.mjs",
|
|
27
|
+
"fesm2020": "fesm2020/ruc-lib-multi-select.mjs",
|
|
28
|
+
"fesm2015": "fesm2015/ruc-lib-multi-select.mjs",
|
|
20
29
|
"typings": "index.d.ts",
|
|
21
30
|
"exports": {
|
|
22
31
|
"./package.json": {
|
|
@@ -24,7 +33,11 @@
|
|
|
24
33
|
},
|
|
25
34
|
".": {
|
|
26
35
|
"types": "./index.d.ts",
|
|
27
|
-
"
|
|
36
|
+
"esm2020": "./esm2020/ruc-lib-multi-select.mjs",
|
|
37
|
+
"es2020": "./fesm2020/ruc-lib-multi-select.mjs",
|
|
38
|
+
"es2015": "./fesm2015/ruc-lib-multi-select.mjs",
|
|
39
|
+
"node": "./fesm2015/ruc-lib-multi-select.mjs",
|
|
40
|
+
"default": "./fesm2020/ruc-lib-multi-select.mjs"
|
|
28
41
|
}
|
|
29
42
|
}
|
|
30
|
-
}
|
|
43
|
+
}
|