primeng 14.2.12-lts → 14.2.13-lts
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/api/licensemanager.d.ts +1 -1
- package/calendar/calendar.d.ts +1 -0
- package/carousel/carousel.d.ts +2 -1
- package/esm2020/api/licensemanager.mjs +22 -4
- package/esm2020/autocomplete/autocomplete.mjs +5 -5
- package/esm2020/calendar/calendar.mjs +24 -3
- package/esm2020/carousel/carousel.mjs +10 -3
- package/esm2020/dropdown/dropdown.mjs +2 -1
- package/esm2020/fileupload/fileupload.mjs +2 -1
- package/esm2020/inputnumber/inputnumber.mjs +3 -3
- package/esm2020/picklist/picklist.mjs +8 -4
- package/esm2020/splitter/splitter.mjs +2 -2
- package/fesm2015/primeng-api.mjs +21 -3
- package/fesm2015/primeng-api.mjs.map +1 -1
- package/fesm2015/primeng-autocomplete.mjs +4 -4
- package/fesm2015/primeng-autocomplete.mjs.map +1 -1
- package/fesm2015/primeng-calendar.mjs +23 -2
- package/fesm2015/primeng-calendar.mjs.map +1 -1
- package/fesm2015/primeng-carousel.mjs +9 -2
- package/fesm2015/primeng-carousel.mjs.map +1 -1
- package/fesm2015/primeng-dropdown.mjs +1 -0
- package/fesm2015/primeng-dropdown.mjs.map +1 -1
- package/fesm2015/primeng-fileupload.mjs +1 -0
- package/fesm2015/primeng-fileupload.mjs.map +1 -1
- package/fesm2015/primeng-inputnumber.mjs +2 -2
- package/fesm2015/primeng-inputnumber.mjs.map +1 -1
- package/fesm2015/primeng-picklist.mjs +7 -3
- package/fesm2015/primeng-picklist.mjs.map +1 -1
- package/fesm2015/primeng-splitter.mjs +2 -2
- package/fesm2015/primeng-splitter.mjs.map +1 -1
- package/fesm2020/primeng-api.mjs +21 -3
- package/fesm2020/primeng-api.mjs.map +1 -1
- package/fesm2020/primeng-autocomplete.mjs +4 -4
- package/fesm2020/primeng-autocomplete.mjs.map +1 -1
- package/fesm2020/primeng-calendar.mjs +23 -2
- package/fesm2020/primeng-calendar.mjs.map +1 -1
- package/fesm2020/primeng-carousel.mjs +9 -2
- package/fesm2020/primeng-carousel.mjs.map +1 -1
- package/fesm2020/primeng-dropdown.mjs +1 -0
- package/fesm2020/primeng-dropdown.mjs.map +1 -1
- package/fesm2020/primeng-fileupload.mjs +1 -0
- package/fesm2020/primeng-fileupload.mjs.map +1 -1
- package/fesm2020/primeng-inputnumber.mjs +2 -2
- package/fesm2020/primeng-inputnumber.mjs.map +1 -1
- package/fesm2020/primeng-picklist.mjs +7 -3
- package/fesm2020/primeng-picklist.mjs.map +1 -1
- package/fesm2020/primeng-splitter.mjs +2 -2
- package/fesm2020/primeng-splitter.mjs.map +1 -1
- package/package.json +1 -1
- package/resources/components/splitter/splitter.css +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-picklist.mjs","sources":["../../src/app/components/picklist/picklist.ts","../../src/app/components/picklist/primeng-picklist.ts"],"sourcesContent":["import {\n NgModule,\n Component,\n ElementRef,\n AfterContentInit,\n AfterViewChecked,\n Input,\n Output,\n ContentChildren,\n QueryList,\n TemplateRef,\n EventEmitter,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n AfterViewInit\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { SharedModule, PrimeTemplate, FilterService, LicenseManager } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { RippleModule } from 'primeng/ripple';\nimport { CdkDragDrop, DragDropModule, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { ObjectUtils, UniqueComponentId } from 'primeng/utils';\n\nexport interface PickListFilterOptions {\n filter?: (value?: any) => void;\n reset?: () => void;\n}\n\n@Component({\n selector: 'p-pickList',\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"{ 'p-picklist p-component': true, 'p-picklist-striped': stripedRows }\" cdkDropListGroup>\n <div class=\"p-picklist-buttons p-picklist-source-controls\" *ngIf=\"showSourceControls\">\n <button type=\"button\" [attr.aria-label]=\"upButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-up\" [disabled]=\"sourceMoveDisabled()\" (click)=\"moveUp(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"topButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-up\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveTop(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"downButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-down\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveDown(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"bottomButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-down\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveBottom(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n ></button>\n </div>\n <div class=\"p-picklist-list-wrapper p-picklist-source-wrapper\">\n <div class=\"p-picklist-header\" *ngIf=\"sourceHeader || sourceHeaderTemplate\">\n <div class=\"p-picklist-title\" *ngIf=\"!sourceHeaderTemplate\">{{ sourceHeader }}</div>\n <ng-container *ngTemplateOutlet=\"sourceHeaderTemplate\"></ng-container>\n </div>\n <div class=\"p-picklist-filter-container\" *ngIf=\"filterBy && showSourceFilter !== false\">\n <ng-container *ngIf=\"sourceFilterTemplate; else builtInSourceElement\">\n <ng-container *ngTemplateOutlet=\"sourceFilterTemplate; context: { options: sourceFilterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInSourceElement>\n <div class=\"p-picklist-filter\">\n <input\n #sourceFilter\n type=\"text\"\n role=\"textbox\"\n (keyup)=\"onFilter($event, SOURCE_LIST)\"\n class=\"p-picklist-filter-input p-inputtext p-component\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"sourceFilterPlaceholder\"\n [attr.aria-label]=\"ariaSourceFilterLabel\"\n />\n <span class=\"p-picklist-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n\n <ul #sourcelist class=\"p-picklist-list p-picklist-source\" cdkDropList [cdkDropListData]=\"source\" (cdkDropListDropped)=\"onDrop($event, SOURCE_LIST)\" [ngStyle]=\"sourceStyle\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <ng-template ngFor let-item [ngForOf]=\"source\" [ngForTrackBy]=\"sourceTrackBy || trackBy\" let-i=\"index\" let-l=\"last\">\n <li\n [ngClass]=\"{ 'p-picklist-item': true, 'p-highlight': isSelected(item, selectedItemsSource), 'p-disabled': disabled }\"\n pRipple\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"!dragdrop\"\n (click)=\"onItemClick($event, item, selectedItemsSource, onSourceSelect)\"\n (dblclick)=\"onSourceItemDblClick()\"\n (touchend)=\"onItemTouchEnd()\"\n (keydown)=\"onItemKeydown($event, item, selectedItemsSource, onSourceSelect)\"\n *ngIf=\"isItemVisible(item, SOURCE_LIST)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isSelected(item, selectedItemsSource)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n </ng-template>\n <ng-container *ngIf=\"isEmpty(SOURCE_LIST) && (emptyMessageSourceTemplate || emptyFilterMessageSourceTemplate)\">\n <li class=\"p-picklist-empty-message\" *ngIf=\"!filterValueSource || !emptyFilterMessageSourceTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyMessageSourceTemplate\"></ng-container>\n </li>\n <li class=\"p-picklist-empty-message\" *ngIf=\"filterValueSource\">\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageSourceTemplate\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"p-picklist-buttons p-picklist-transfer-buttons\">\n <button type=\"button\" [attr.aria-label]=\"rightButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-right\" [disabled]=\"moveRightDisabled()\" (click)=\"moveRight()\"></button>\n <button type=\"button\" [attr.aria-label]=\"allRightButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-double-right\" [disabled]=\"moveAllRightDisabled()\" (click)=\"moveAllRight()\"></button>\n <button type=\"button\" [attr.aria-label]=\"leftButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-left\" [disabled]=\"moveLeftDisabled()\" (click)=\"moveLeft()\"></button>\n <button type=\"button\" [attr.aria-label]=\"allLeftButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-double-left\" [disabled]=\"moveAllLeftDisabled()\" (click)=\"moveAllLeft()\"></button>\n </div>\n <div class=\"p-picklist-list-wrapper p-picklist-target-wrapper\">\n <div class=\"p-picklist-header\" *ngIf=\"targetHeader || targetHeaderTemplate\">\n <div class=\"p-picklist-title\" *ngIf=\"!targetHeaderTemplate\">{{ targetHeader }}</div>\n <ng-container *ngTemplateOutlet=\"targetHeaderTemplate\"></ng-container>\n </div>\n <div class=\"p-picklist-filter-container\" *ngIf=\"filterBy && showTargetFilter !== false\">\n <ng-container *ngIf=\"targetFilterTemplate; else builtInTargetElement\">\n <ng-container *ngTemplateOutlet=\"targetFilterTemplate; context: { options: targetFilterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInTargetElement>\n <div class=\"p-picklist-filter\">\n <input\n #targetFilter\n type=\"text\"\n role=\"textbox\"\n (keyup)=\"onFilter($event, TARGET_LIST)\"\n class=\"p-picklist-filter-input p-inputtext p-component\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"targetFilterPlaceholder\"\n [attr.aria-label]=\"ariaTargetFilterLabel\"\n />\n <span class=\"p-picklist-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <ul #targetlist class=\"p-picklist-list p-picklist-target\" cdkDropList [cdkDropListData]=\"target\" (cdkDropListDropped)=\"onDrop($event, TARGET_LIST)\" [ngStyle]=\"targetStyle\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <ng-template ngFor let-item [ngForOf]=\"target\" [ngForTrackBy]=\"targetTrackBy || trackBy\" let-i=\"index\" let-l=\"last\">\n <li\n [ngClass]=\"{ 'p-picklist-item': true, 'p-highlight': isSelected(item, selectedItemsTarget), 'p-disabled': disabled }\"\n pRipple\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"!dragdrop\"\n (click)=\"onItemClick($event, item, selectedItemsTarget, onTargetSelect)\"\n (dblclick)=\"onTargetItemDblClick()\"\n (touchend)=\"onItemTouchEnd()\"\n (keydown)=\"onItemKeydown($event, item, selectedItemsTarget, onTargetSelect)\"\n *ngIf=\"isItemVisible(item, TARGET_LIST)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isSelected(item, selectedItemsTarget)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n </ng-template>\n <ng-container *ngIf=\"isEmpty(TARGET_LIST) && (emptyMessageTargetTemplate || emptyFilterMessageTargetTemplate)\">\n <li class=\"p-picklist-empty-message\" *ngIf=\"!filterValueTarget || !emptyFilterMessageTargetTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyMessageTargetTemplate\"></ng-container>\n </li>\n <li class=\"p-picklist-empty-message\" *ngIf=\"filterValueTarget\">\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageTargetTemplate\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"p-picklist-buttons p-picklist-target-controls\" *ngIf=\"showTargetControls\">\n <button type=\"button\" [attr.aria-label]=\"upButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-up\" [disabled]=\"targetMoveDisabled()\" (click)=\"moveUp(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"topButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-up\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveTop(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"downButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-down\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveDown(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"bottomButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-down\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveBottom(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n ></button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./picklist.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class PickList implements AfterViewChecked, AfterContentInit, AfterViewInit {\n @Input() source: any[];\n\n @Input() target: any[];\n\n @Input() sourceHeader: string;\n\n @Input() rightButtonAriaLabel: string;\n\n @Input() leftButtonAriaLabel: string;\n\n @Input() allRightButtonAriaLabel: string;\n\n @Input() allLeftButtonAriaLabel: string;\n\n @Input() upButtonAriaLabel: string;\n\n @Input() downButtonAriaLabel: string;\n\n @Input() topButtonAriaLabel: string;\n\n @Input() bottomButtonAriaLabel: string;\n\n @Input() targetHeader: string;\n\n @Input() responsive: boolean;\n\n @Input() filterBy: string;\n\n @Input() filterLocale: string;\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Input() sourceTrackBy: Function;\n\n @Input() targetTrackBy: Function;\n\n @Input() showSourceFilter: boolean = true;\n\n @Input() showTargetFilter: boolean = true;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dragdrop: boolean = false;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() sourceStyle: any;\n\n @Input() targetStyle: any;\n\n @Input() showSourceControls: boolean = true;\n\n @Input() showTargetControls: boolean = true;\n\n @Input() sourceFilterPlaceholder: string;\n\n @Input() targetFilterPlaceholder: string;\n\n @Input() disabled: boolean = false;\n\n @Input() ariaSourceFilterLabel: string;\n\n @Input() ariaTargetFilterLabel: string;\n\n @Input() filterMatchMode: string = 'contains';\n\n @Input() breakpoint: string = '960px';\n\n @Input() stripedRows: boolean;\n\n @Input() keepSelection: boolean = false;\n\n @Output() onMoveToSource: EventEmitter<any> = new EventEmitter();\n\n @Output() onMoveAllToSource: EventEmitter<any> = new EventEmitter();\n\n @Output() onMoveAllToTarget: EventEmitter<any> = new EventEmitter();\n\n @Output() onMoveToTarget: EventEmitter<any> = new EventEmitter();\n\n @Output() onSourceReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onTargetReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onSourceSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onTargetSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onSourceFilter: EventEmitter<any> = new EventEmitter();\n\n @Output() onTargetFilter: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('sourcelist') listViewSourceChild: ElementRef;\n\n @ViewChild('targetlist') listViewTargetChild: ElementRef;\n\n @ViewChild('sourceFilter') sourceFilterViewChild: ElementRef;\n\n @ViewChild('targetFilter') targetFilterViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public itemTemplate: TemplateRef<any>;\n\n public visibleOptionsSource: any[];\n\n public visibleOptionsTarget: any[];\n\n selectedItemsSource: any[] = [];\n\n selectedItemsTarget: any[] = [];\n\n reorderedListElement: any;\n\n movedUp: boolean;\n\n movedDown: boolean;\n\n itemTouched: boolean;\n\n styleElement: any;\n\n id: string = UniqueComponentId();\n\n filterValueSource: string;\n\n filterValueTarget: string;\n\n fromListType: number;\n\n emptyMessageSourceTemplate: TemplateRef<any>;\n\n emptyFilterMessageSourceTemplate: TemplateRef<any>;\n\n emptyMessageTargetTemplate: TemplateRef<any>;\n\n emptyFilterMessageTargetTemplate: TemplateRef<any>;\n\n sourceHeaderTemplate: TemplateRef<any>;\n\n targetHeaderTemplate: TemplateRef<any>;\n\n sourceFilterTemplate: TemplateRef<any>;\n\n targetFilterTemplate: TemplateRef<any>;\n\n sourceFilterOptions: PickListFilterOptions;\n\n targetFilterOptions: PickListFilterOptions;\n\n readonly SOURCE_LIST = -1;\n\n readonly TARGET_LIST = 1;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService) {}\n\n ngOnInit() {\n if (this.responsive) {\n this.createStyle();\n }\n\n if (this.filterBy) {\n this.sourceFilterOptions = {\n filter: (value) => this.filterSource(value),\n reset: () => this.resetSourceFilter()\n };\n\n this.targetFilterOptions = {\n filter: (value) => this.filterTarget(value),\n reset: () => this.resetTargetFilter()\n };\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'sourceHeader':\n this.sourceHeaderTemplate = item.template;\n break;\n\n case 'targetHeader':\n this.targetHeaderTemplate = item.template;\n break;\n\n case 'sourceFilter':\n this.sourceFilterTemplate = item.template;\n break;\n\n case 'targetFilter':\n this.targetFilterTemplate = item.template;\n break;\n\n case 'emptymessagesource':\n this.emptyMessageSourceTemplate = item.template;\n break;\n\n case 'emptyfiltermessagesource':\n this.emptyFilterMessageSourceTemplate = item.template;\n break;\n\n case 'emptymessagetarget':\n this.emptyMessageTargetTemplate = item.template;\n break;\n\n case 'emptyfiltermessagetarget':\n this.emptyFilterMessageTargetTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n if (this.movedUp || this.movedDown) {\n let listItems = DomHandler.find(this.reorderedListElement, 'li.p-highlight');\n let listItem;\n\n if (this.movedUp) listItem = listItems[0];\n else listItem = listItems[listItems.length - 1];\n\n DomHandler.scrollInView(this.reorderedListElement, listItem);\n this.movedUp = false;\n this.movedDown = false;\n this.reorderedListElement = null;\n }\n }\n\n ngAfterViewInit() {\n LicenseManager.check();\n }\n\n onItemClick(event, item: any, selectedItems: any[], callback: EventEmitter<any>) {\n if (this.disabled) {\n return;\n }\n\n let index = this.findIndexInSelection(item, selectedItems);\n let selected = index != -1;\n let metaSelection = this.itemTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey || event.shiftKey;\n\n if (selected && metaKey) {\n selectedItems.splice(index, 1);\n } else {\n if (!metaKey) {\n selectedItems.length = 0;\n }\n selectedItems.push(item);\n }\n } else {\n if (selected) selectedItems.splice(index, 1);\n else selectedItems.push(item);\n }\n\n callback.emit({ originalEvent: event, items: selectedItems });\n\n this.itemTouched = false;\n }\n\n onSourceItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveRight();\n }\n\n onTargetItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveLeft();\n }\n\n onFilter(event: KeyboardEvent, listType: number) {\n let query = (<HTMLInputElement>event.target).value;\n if (listType === this.SOURCE_LIST) this.filterSource(query);\n else if (listType === this.TARGET_LIST) this.filterTarget(query);\n }\n\n filterSource(value: any = '') {\n this.filterValueSource = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(this.source, this.SOURCE_LIST);\n }\n\n filterTarget(value: any = '') {\n this.filterValueTarget = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(this.target, this.TARGET_LIST);\n }\n\n filter(data: any[], listType: number) {\n let searchFields = this.filterBy.split(',');\n\n if (listType === this.SOURCE_LIST) {\n this.visibleOptionsSource = this.filterService.filter(data, searchFields, this.filterValueSource, this.filterMatchMode, this.filterLocale);\n this.onSourceFilter.emit({ query: this.filterValueSource, value: this.visibleOptionsSource });\n } else if (listType === this.TARGET_LIST) {\n this.visibleOptionsTarget = this.filterService.filter(data, searchFields, this.filterValueTarget, this.filterMatchMode, this.filterLocale);\n this.onTargetFilter.emit({ query: this.filterValueTarget, value: this.visibleOptionsTarget });\n }\n }\n\n isItemVisible(item: any, listType: number): boolean {\n if (listType == this.SOURCE_LIST) return this.isVisibleInList(this.visibleOptionsSource, item, this.filterValueSource);\n else return this.isVisibleInList(this.visibleOptionsTarget, item, this.filterValueTarget);\n }\n\n isEmpty(listType: number) {\n if (listType == this.SOURCE_LIST) return this.filterValueSource ? !this.visibleOptionsSource || this.visibleOptionsSource.length === 0 : !this.source || this.source.length === 0;\n else return this.filterValueTarget ? !this.visibleOptionsTarget || this.visibleOptionsTarget.length === 0 : !this.target || this.target.length === 0;\n }\n\n isVisibleInList(data: any[], item: any, filterValue: string): boolean {\n if (filterValue && filterValue.trim().length) {\n for (let i = 0; i < data.length; i++) {\n if (item == data[i]) {\n return true;\n }\n }\n } else {\n return true;\n }\n }\n\n onItemTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n this.itemTouched = true;\n }\n\n private sortByIndexInList(items: any[], list: any) {\n return items.sort((item1, item2) => ObjectUtils.findIndexInList(item1, list) - ObjectUtils.findIndexInList(item2, list));\n }\n\n moveUp(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex - 1];\n list[selectedItemIndex - 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedUp = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveTop(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.unshift(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = 0;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveDown(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex + 1];\n list[selectedItemIndex + 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedDown = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveBottom(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.push(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = listElement.scrollHeight;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveRight() {\n if (this.selectedItemsSource && this.selectedItemsSource.length) {\n for (let i = 0; i < this.selectedItemsSource.length; i++) {\n let selectedItem = this.selectedItemsSource[i];\n if (ObjectUtils.findIndexInList(selectedItem, this.target) == -1) {\n this.target.push(this.source.splice(ObjectUtils.findIndexInList(selectedItem, this.source), 1)[0]);\n\n if (this.visibleOptionsSource) this.visibleOptionsSource.splice(ObjectUtils.findIndexInList(selectedItem, this.visibleOptionsSource), 1);\n }\n }\n\n this.onMoveToTarget.emit({\n items: this.selectedItemsSource\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\n }\n\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(this.target, this.TARGET_LIST);\n }\n }\n }\n\n moveAllRight() {\n if (this.source) {\n let movedItems = [];\n\n for (let i = 0; i < this.source.length; i++) {\n if (this.isItemVisible(this.source[i], this.SOURCE_LIST)) {\n let removedItem = this.source.splice(i, 1)[0];\n this.target.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n\n this.onMoveAllToTarget.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\n }\n\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(this.target, this.TARGET_LIST);\n }\n\n this.visibleOptionsSource = [];\n }\n }\n\n moveLeft() {\n if (this.selectedItemsTarget && this.selectedItemsTarget.length) {\n for (let i = 0; i < this.selectedItemsTarget.length; i++) {\n let selectedItem = this.selectedItemsTarget[i];\n if (ObjectUtils.findIndexInList(selectedItem, this.source) == -1) {\n this.source.push(this.target.splice(ObjectUtils.findIndexInList(selectedItem, this.target), 1)[0]);\n\n if (this.visibleOptionsTarget) this.visibleOptionsTarget.splice(ObjectUtils.findIndexInList(selectedItem, this.visibleOptionsTarget), 1)[0];\n }\n }\n\n this.onMoveToSource.emit({\n items: this.selectedItemsTarget\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\n }\n\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(this.source, this.SOURCE_LIST);\n }\n }\n }\n\n moveAllLeft() {\n if (this.target) {\n let movedItems = [];\n\n for (let i = 0; i < this.target.length; i++) {\n if (this.isItemVisible(this.target[i], this.TARGET_LIST)) {\n let removedItem = this.target.splice(i, 1)[0];\n this.source.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n\n this.onMoveAllToSource.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\n }\n\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(this.source, this.SOURCE_LIST);\n }\n\n this.visibleOptionsTarget = [];\n }\n }\n\n isSelected(item: any, selectedItems: any[]) {\n return this.findIndexInSelection(item, selectedItems) != -1;\n }\n\n findIndexInSelection(item: any, selectedItems: any[]): number {\n return ObjectUtils.findIndexInList(item, selectedItems);\n }\n\n onDrop(event: CdkDragDrop<string[]>, listType: number) {\n let isTransfer = event.previousContainer !== event.container;\n let dropIndexes = this.getDropIndexes(event.previousIndex, event.currentIndex, listType, isTransfer, event.item.data);\n\n if (listType === this.SOURCE_LIST) {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n let selectedItemIndex = ObjectUtils.findIndexInList(event.item.data, this.selectedItemsTarget);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsTarget.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsTarget) this.visibleOptionsTarget.splice(event.previousIndex, 1);\n\n this.onMoveToSource.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onSourceReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueSource) {\n this.filter(this.source, this.SOURCE_LIST);\n }\n } else {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n\n let selectedItemIndex = ObjectUtils.findIndexInList(event.item.data, this.selectedItemsSource);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsSource.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsSource) this.visibleOptionsSource.splice(event.previousIndex, 1);\n\n this.onMoveToTarget.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onTargetReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueTarget) {\n this.filter(this.target, this.TARGET_LIST);\n }\n }\n }\n\n getDropIndexes(fromIndex, toIndex, droppedList, isTransfer, data) {\n let previousIndex, currentIndex;\n\n if (droppedList === this.SOURCE_LIST) {\n previousIndex = isTransfer ? (this.filterValueTarget ? ObjectUtils.findIndexInList(data, this.target) : fromIndex) : this.filterValueSource ? ObjectUtils.findIndexInList(data, this.source) : fromIndex;\n currentIndex = this.filterValueSource ? this.findFilteredCurrentIndex(this.visibleOptionsSource, toIndex, this.source) : toIndex;\n } else {\n previousIndex = isTransfer ? (this.filterValueSource ? ObjectUtils.findIndexInList(data, this.source) : fromIndex) : this.filterValueTarget ? ObjectUtils.findIndexInList(data, this.target) : fromIndex;\n currentIndex = this.filterValueTarget ? this.findFilteredCurrentIndex(this.visibleOptionsTarget, toIndex, this.target) : toIndex;\n }\n\n return { previousIndex, currentIndex };\n }\n\n findFilteredCurrentIndex(visibleOptions, index, options) {\n if (visibleOptions.length === index) {\n let toIndex = ObjectUtils.findIndexInList(visibleOptions[index - 1], options);\n\n return toIndex + 1;\n } else {\n return ObjectUtils.findIndexInList(visibleOptions[index], options);\n }\n }\n\n resetSourceFilter() {\n this.visibleOptionsSource = null;\n this.filterValueSource = null;\n this.sourceFilterViewChild && ((<HTMLInputElement>this.sourceFilterViewChild.nativeElement).value = '');\n }\n\n resetTargetFilter() {\n this.visibleOptionsTarget = null;\n this.filterValueTarget = null;\n this.targetFilterViewChild && ((<HTMLInputElement>this.targetFilterViewChild.nativeElement).value = '');\n }\n\n resetFilter() {\n this.resetSourceFilter();\n this.resetTargetFilter();\n }\n\n onItemKeydown(event: KeyboardEvent, item: any, selectedItems: any[], callback: EventEmitter<any>) {\n let listItem = <HTMLLIElement>event.currentTarget;\n\n switch (event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(listItem);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(listItem);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onItemClick(event, item, selectedItems, callback);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem) return !DomHandler.hasClass(nextItem, 'p-picklist-item') || DomHandler.isHidden(nextItem) ? this.findNextItem(nextItem) : nextItem;\n else return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem) return !DomHandler.hasClass(prevItem, 'p-picklist-item') || DomHandler.isHidden(prevItem) ? this.findPrevItem(prevItem) : prevItem;\n else return null;\n }\n\n createStyle() {\n if (!this.styleElement) {\n this.el.nativeElement.children[0].setAttribute(this.id, '');\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n document.head.appendChild(this.styleElement);\n\n let innerHTML = `\n @media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.id}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.id}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.id}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.id}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.id}] .pi-angle-right:before {\n content: \"\\\\e930\"\n }\n\n .p-picklist[${this.id}] .pi-angle-double-right:before {\n content: \"\\\\e92c\"\n }\n\n .p-picklist[${this.id}] .pi-angle-left:before {\n content: \"\\\\e933\"\n }\n\n .p-picklist[${this.id}] .pi-angle-double-left:before {\n content: \"\\\\e92f\"\n }\n }\n `;\n\n this.styleElement.innerHTML = innerHTML;\n }\n }\n\n sourceMoveDisabled() {\n if (this.disabled || !this.selectedItemsSource.length) {\n return true;\n }\n }\n\n targetMoveDisabled() {\n if (this.disabled || !this.selectedItemsTarget.length) {\n return true;\n }\n }\n\n moveRightDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.selectedItemsSource);\n }\n\n moveLeftDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.selectedItemsTarget);\n }\n\n moveAllRightDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.source);\n }\n\n moveAllLeftDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.target);\n }\n\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n ``;\n }\n }\n\n ngOnDestroy() {\n this.destroyStyle();\n }\n}\n\n@NgModule({\n imports: [CommonModule, ButtonModule, SharedModule, RippleModule, DragDropModule],\n exports: [PickList, SharedModule, DragDropModule],\n declarations: [PickList]\n})\nexport class PickListModule {}\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":"primeng-picklist.mjs","sources":["../../src/app/components/picklist/picklist.ts","../../src/app/components/picklist/primeng-picklist.ts"],"sourcesContent":["import {\n NgModule,\n Component,\n ElementRef,\n AfterContentInit,\n AfterViewChecked,\n Input,\n Output,\n ContentChildren,\n QueryList,\n TemplateRef,\n EventEmitter,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n AfterViewInit\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from 'primeng/button';\nimport { SharedModule, PrimeTemplate, FilterService, LicenseManager } from 'primeng/api';\nimport { DomHandler } from 'primeng/dom';\nimport { RippleModule } from 'primeng/ripple';\nimport { CDK_DRAG_CONFIG, CdkDragDrop, DragDropModule, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { ObjectUtils, UniqueComponentId } from 'primeng/utils';\n\nexport interface PickListFilterOptions {\n filter?: (value?: any) => void;\n reset?: () => void;\n}\n\n@Component({\n selector: 'p-pickList',\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"{ 'p-picklist p-component': true, 'p-picklist-striped': stripedRows }\" cdkDropListGroup>\n <div class=\"p-picklist-buttons p-picklist-source-controls\" *ngIf=\"showSourceControls\">\n <button type=\"button\" [attr.aria-label]=\"upButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-up\" [disabled]=\"sourceMoveDisabled()\" (click)=\"moveUp(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"topButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-up\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveTop(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"downButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-down\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveDown(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"bottomButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-down\"\n [disabled]=\"sourceMoveDisabled()\"\n (click)=\"moveBottom(sourcelist, source, selectedItemsSource, onSourceReorder, SOURCE_LIST)\"\n ></button>\n </div>\n <div class=\"p-picklist-list-wrapper p-picklist-source-wrapper\">\n <div class=\"p-picklist-header\" *ngIf=\"sourceHeader || sourceHeaderTemplate\">\n <div class=\"p-picklist-title\" *ngIf=\"!sourceHeaderTemplate\">{{ sourceHeader }}</div>\n <ng-container *ngTemplateOutlet=\"sourceHeaderTemplate\"></ng-container>\n </div>\n <div class=\"p-picklist-filter-container\" *ngIf=\"filterBy && showSourceFilter !== false\">\n <ng-container *ngIf=\"sourceFilterTemplate; else builtInSourceElement\">\n <ng-container *ngTemplateOutlet=\"sourceFilterTemplate; context: { options: sourceFilterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInSourceElement>\n <div class=\"p-picklist-filter\">\n <input\n #sourceFilter\n type=\"text\"\n role=\"textbox\"\n (keyup)=\"onFilter($event, SOURCE_LIST)\"\n class=\"p-picklist-filter-input p-inputtext p-component\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"sourceFilterPlaceholder\"\n [attr.aria-label]=\"ariaSourceFilterLabel\"\n />\n <span class=\"p-picklist-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n\n <ul #sourcelist class=\"p-picklist-list p-picklist-source\" cdkDropList [cdkDropListData]=\"source\" (cdkDropListDropped)=\"onDrop($event, SOURCE_LIST)\" [ngStyle]=\"sourceStyle\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <ng-template ngFor let-item [ngForOf]=\"source\" [ngForTrackBy]=\"sourceTrackBy || trackBy\" let-i=\"index\" let-l=\"last\">\n <li\n [ngClass]=\"{ 'p-picklist-item': true, 'p-highlight': isSelected(item, selectedItemsSource), 'p-disabled': disabled }\"\n pRipple\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"!dragdrop\"\n (click)=\"onItemClick($event, item, selectedItemsSource, onSourceSelect)\"\n (dblclick)=\"onSourceItemDblClick()\"\n (touchend)=\"onItemTouchEnd()\"\n (keydown)=\"onItemKeydown($event, item, selectedItemsSource, onSourceSelect)\"\n *ngIf=\"isItemVisible(item, SOURCE_LIST)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isSelected(item, selectedItemsSource)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n </ng-template>\n <ng-container *ngIf=\"isEmpty(SOURCE_LIST) && (emptyMessageSourceTemplate || emptyFilterMessageSourceTemplate)\">\n <li class=\"p-picklist-empty-message\" *ngIf=\"!filterValueSource || !emptyFilterMessageSourceTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyMessageSourceTemplate\"></ng-container>\n </li>\n <li class=\"p-picklist-empty-message\" *ngIf=\"filterValueSource\">\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageSourceTemplate\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"p-picklist-buttons p-picklist-transfer-buttons\">\n <button type=\"button\" [attr.aria-label]=\"rightButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-right\" [disabled]=\"moveRightDisabled()\" (click)=\"moveRight()\"></button>\n <button type=\"button\" [attr.aria-label]=\"allRightButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-double-right\" [disabled]=\"moveAllRightDisabled()\" (click)=\"moveAllRight()\"></button>\n <button type=\"button\" [attr.aria-label]=\"leftButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-left\" [disabled]=\"moveLeftDisabled()\" (click)=\"moveLeft()\"></button>\n <button type=\"button\" [attr.aria-label]=\"allLeftButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-double-left\" [disabled]=\"moveAllLeftDisabled()\" (click)=\"moveAllLeft()\"></button>\n </div>\n <div class=\"p-picklist-list-wrapper p-picklist-target-wrapper\">\n <div class=\"p-picklist-header\" *ngIf=\"targetHeader || targetHeaderTemplate\">\n <div class=\"p-picklist-title\" *ngIf=\"!targetHeaderTemplate\">{{ targetHeader }}</div>\n <ng-container *ngTemplateOutlet=\"targetHeaderTemplate\"></ng-container>\n </div>\n <div class=\"p-picklist-filter-container\" *ngIf=\"filterBy && showTargetFilter !== false\">\n <ng-container *ngIf=\"targetFilterTemplate; else builtInTargetElement\">\n <ng-container *ngTemplateOutlet=\"targetFilterTemplate; context: { options: targetFilterOptions }\"></ng-container>\n </ng-container>\n <ng-template #builtInTargetElement>\n <div class=\"p-picklist-filter\">\n <input\n #targetFilter\n type=\"text\"\n role=\"textbox\"\n (keyup)=\"onFilter($event, TARGET_LIST)\"\n class=\"p-picklist-filter-input p-inputtext p-component\"\n [disabled]=\"disabled\"\n [attr.placeholder]=\"targetFilterPlaceholder\"\n [attr.aria-label]=\"ariaTargetFilterLabel\"\n />\n <span class=\"p-picklist-filter-icon pi pi-search\"></span>\n </div>\n </ng-template>\n </div>\n <ul #targetlist class=\"p-picklist-list p-picklist-target\" cdkDropList [cdkDropListData]=\"target\" (cdkDropListDropped)=\"onDrop($event, TARGET_LIST)\" [ngStyle]=\"targetStyle\" role=\"listbox\" aria-multiselectable=\"multiple\">\n <ng-template ngFor let-item [ngForOf]=\"target\" [ngForTrackBy]=\"targetTrackBy || trackBy\" let-i=\"index\" let-l=\"last\">\n <li\n [ngClass]=\"{ 'p-picklist-item': true, 'p-highlight': isSelected(item, selectedItemsTarget), 'p-disabled': disabled }\"\n pRipple\n cdkDrag\n [cdkDragData]=\"item\"\n [cdkDragDisabled]=\"!dragdrop\"\n (click)=\"onItemClick($event, item, selectedItemsTarget, onTargetSelect)\"\n (dblclick)=\"onTargetItemDblClick()\"\n (touchend)=\"onItemTouchEnd()\"\n (keydown)=\"onItemKeydown($event, item, selectedItemsTarget, onTargetSelect)\"\n *ngIf=\"isItemVisible(item, TARGET_LIST)\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"isSelected(item, selectedItemsTarget)\"\n >\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, index: i }\"></ng-container>\n </li>\n </ng-template>\n <ng-container *ngIf=\"isEmpty(TARGET_LIST) && (emptyMessageTargetTemplate || emptyFilterMessageTargetTemplate)\">\n <li class=\"p-picklist-empty-message\" *ngIf=\"!filterValueTarget || !emptyFilterMessageTargetTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyMessageTargetTemplate\"></ng-container>\n </li>\n <li class=\"p-picklist-empty-message\" *ngIf=\"filterValueTarget\">\n <ng-container *ngTemplateOutlet=\"emptyFilterMessageTargetTemplate\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"p-picklist-buttons p-picklist-target-controls\" *ngIf=\"showTargetControls\">\n <button type=\"button\" [attr.aria-label]=\"upButtonAriaLabel\" pButton pRipple icon=\"pi pi-angle-up\" [disabled]=\"targetMoveDisabled()\" (click)=\"moveUp(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"topButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-up\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveTop(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"downButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-down\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveDown(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n ></button>\n <button\n type=\"button\"\n [attr.aria-label]=\"bottomButtonAriaLabel\"\n pButton\n pRipple\n icon=\"pi pi-angle-double-down\"\n [disabled]=\"targetMoveDisabled()\"\n (click)=\"moveBottom(targetlist, target, selectedItemsTarget, onTargetReorder, TARGET_LIST)\"\n ></button>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./picklist.css'],\n host: {\n class: 'p-element'\n }\n})\nexport class PickList implements AfterViewChecked, AfterContentInit, AfterViewInit {\n @Input() source: any[];\n\n @Input() target: any[];\n\n @Input() sourceHeader: string;\n\n @Input() rightButtonAriaLabel: string;\n\n @Input() leftButtonAriaLabel: string;\n\n @Input() allRightButtonAriaLabel: string;\n\n @Input() allLeftButtonAriaLabel: string;\n\n @Input() upButtonAriaLabel: string;\n\n @Input() downButtonAriaLabel: string;\n\n @Input() topButtonAriaLabel: string;\n\n @Input() bottomButtonAriaLabel: string;\n\n @Input() targetHeader: string;\n\n @Input() responsive: boolean;\n\n @Input() filterBy: string;\n\n @Input() filterLocale: string;\n\n @Input() trackBy: Function = (index: number, item: any) => item;\n\n @Input() sourceTrackBy: Function;\n\n @Input() targetTrackBy: Function;\n\n @Input() showSourceFilter: boolean = true;\n\n @Input() showTargetFilter: boolean = true;\n\n @Input() metaKeySelection: boolean = true;\n\n @Input() dragdrop: boolean = false;\n\n @Input() style: any;\n\n @Input() styleClass: string;\n\n @Input() sourceStyle: any;\n\n @Input() targetStyle: any;\n\n @Input() showSourceControls: boolean = true;\n\n @Input() showTargetControls: boolean = true;\n\n @Input() sourceFilterPlaceholder: string;\n\n @Input() targetFilterPlaceholder: string;\n\n @Input() disabled: boolean = false;\n\n @Input() ariaSourceFilterLabel: string;\n\n @Input() ariaTargetFilterLabel: string;\n\n @Input() filterMatchMode: string = 'contains';\n\n @Input() breakpoint: string = '960px';\n\n @Input() stripedRows: boolean;\n\n @Input() keepSelection: boolean = false;\n\n @Output() onMoveToSource: EventEmitter<any> = new EventEmitter();\n\n @Output() onMoveAllToSource: EventEmitter<any> = new EventEmitter();\n\n @Output() onMoveAllToTarget: EventEmitter<any> = new EventEmitter();\n\n @Output() onMoveToTarget: EventEmitter<any> = new EventEmitter();\n\n @Output() onSourceReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onTargetReorder: EventEmitter<any> = new EventEmitter();\n\n @Output() onSourceSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onTargetSelect: EventEmitter<any> = new EventEmitter();\n\n @Output() onSourceFilter: EventEmitter<any> = new EventEmitter();\n\n @Output() onTargetFilter: EventEmitter<any> = new EventEmitter();\n\n @ViewChild('sourcelist') listViewSourceChild: ElementRef;\n\n @ViewChild('targetlist') listViewTargetChild: ElementRef;\n\n @ViewChild('sourceFilter') sourceFilterViewChild: ElementRef;\n\n @ViewChild('targetFilter') targetFilterViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n public itemTemplate: TemplateRef<any>;\n\n public visibleOptionsSource: any[];\n\n public visibleOptionsTarget: any[];\n\n selectedItemsSource: any[] = [];\n\n selectedItemsTarget: any[] = [];\n\n reorderedListElement: any;\n\n movedUp: boolean;\n\n movedDown: boolean;\n\n itemTouched: boolean;\n\n styleElement: any;\n\n id: string = UniqueComponentId();\n\n filterValueSource: string;\n\n filterValueTarget: string;\n\n fromListType: number;\n\n emptyMessageSourceTemplate: TemplateRef<any>;\n\n emptyFilterMessageSourceTemplate: TemplateRef<any>;\n\n emptyMessageTargetTemplate: TemplateRef<any>;\n\n emptyFilterMessageTargetTemplate: TemplateRef<any>;\n\n sourceHeaderTemplate: TemplateRef<any>;\n\n targetHeaderTemplate: TemplateRef<any>;\n\n sourceFilterTemplate: TemplateRef<any>;\n\n targetFilterTemplate: TemplateRef<any>;\n\n sourceFilterOptions: PickListFilterOptions;\n\n targetFilterOptions: PickListFilterOptions;\n\n readonly SOURCE_LIST = -1;\n\n readonly TARGET_LIST = 1;\n\n constructor(public el: ElementRef, public cd: ChangeDetectorRef, public filterService: FilterService) {}\n\n ngOnInit() {\n if (this.responsive) {\n this.createStyle();\n }\n\n if (this.filterBy) {\n this.sourceFilterOptions = {\n filter: (value) => this.filterSource(value),\n reset: () => this.resetSourceFilter()\n };\n\n this.targetFilterOptions = {\n filter: (value) => this.filterTarget(value),\n reset: () => this.resetTargetFilter()\n };\n }\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'sourceHeader':\n this.sourceHeaderTemplate = item.template;\n break;\n\n case 'targetHeader':\n this.targetHeaderTemplate = item.template;\n break;\n\n case 'sourceFilter':\n this.sourceFilterTemplate = item.template;\n break;\n\n case 'targetFilter':\n this.targetFilterTemplate = item.template;\n break;\n\n case 'emptymessagesource':\n this.emptyMessageSourceTemplate = item.template;\n break;\n\n case 'emptyfiltermessagesource':\n this.emptyFilterMessageSourceTemplate = item.template;\n break;\n\n case 'emptymessagetarget':\n this.emptyMessageTargetTemplate = item.template;\n break;\n\n case 'emptyfiltermessagetarget':\n this.emptyFilterMessageTargetTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n if (this.movedUp || this.movedDown) {\n let listItems = DomHandler.find(this.reorderedListElement, 'li.p-highlight');\n let listItem;\n\n if (this.movedUp) listItem = listItems[0];\n else listItem = listItems[listItems.length - 1];\n\n DomHandler.scrollInView(this.reorderedListElement, listItem);\n this.movedUp = false;\n this.movedDown = false;\n this.reorderedListElement = null;\n }\n }\n\n ngAfterViewInit() {\n LicenseManager.check();\n }\n\n onItemClick(event, item: any, selectedItems: any[], callback: EventEmitter<any>) {\n if (this.disabled) {\n return;\n }\n\n let index = this.findIndexInSelection(item, selectedItems);\n let selected = index != -1;\n let metaSelection = this.itemTouched ? false : this.metaKeySelection;\n\n if (metaSelection) {\n let metaKey = event.metaKey || event.ctrlKey || event.shiftKey;\n\n if (selected && metaKey) {\n selectedItems.splice(index, 1);\n } else {\n if (!metaKey) {\n selectedItems.length = 0;\n }\n selectedItems.push(item);\n }\n } else {\n if (selected) selectedItems.splice(index, 1);\n else selectedItems.push(item);\n }\n\n callback.emit({ originalEvent: event, items: selectedItems });\n\n this.itemTouched = false;\n }\n\n onSourceItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveRight();\n }\n\n onTargetItemDblClick() {\n if (this.disabled) {\n return;\n }\n\n this.moveLeft();\n }\n\n onFilter(event: KeyboardEvent, listType: number) {\n let query = (<HTMLInputElement>event.target).value;\n if (listType === this.SOURCE_LIST) this.filterSource(query);\n else if (listType === this.TARGET_LIST) this.filterTarget(query);\n }\n\n filterSource(value: any = '') {\n this.filterValueSource = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(this.source, this.SOURCE_LIST);\n }\n\n filterTarget(value: any = '') {\n this.filterValueTarget = value.trim().toLocaleLowerCase(this.filterLocale);\n this.filter(this.target, this.TARGET_LIST);\n }\n\n filter(data: any[], listType: number) {\n let searchFields = this.filterBy.split(',');\n\n if (listType === this.SOURCE_LIST) {\n this.visibleOptionsSource = this.filterService.filter(data, searchFields, this.filterValueSource, this.filterMatchMode, this.filterLocale);\n this.onSourceFilter.emit({ query: this.filterValueSource, value: this.visibleOptionsSource });\n } else if (listType === this.TARGET_LIST) {\n this.visibleOptionsTarget = this.filterService.filter(data, searchFields, this.filterValueTarget, this.filterMatchMode, this.filterLocale);\n this.onTargetFilter.emit({ query: this.filterValueTarget, value: this.visibleOptionsTarget });\n }\n }\n\n isItemVisible(item: any, listType: number): boolean {\n if (listType == this.SOURCE_LIST) return this.isVisibleInList(this.visibleOptionsSource, item, this.filterValueSource);\n else return this.isVisibleInList(this.visibleOptionsTarget, item, this.filterValueTarget);\n }\n\n isEmpty(listType: number) {\n if (listType == this.SOURCE_LIST) return this.filterValueSource ? !this.visibleOptionsSource || this.visibleOptionsSource.length === 0 : !this.source || this.source.length === 0;\n else return this.filterValueTarget ? !this.visibleOptionsTarget || this.visibleOptionsTarget.length === 0 : !this.target || this.target.length === 0;\n }\n\n isVisibleInList(data: any[], item: any, filterValue: string): boolean {\n if (filterValue && filterValue.trim().length) {\n for (let i = 0; i < data.length; i++) {\n if (item == data[i]) {\n return true;\n }\n }\n } else {\n return true;\n }\n }\n\n onItemTouchEnd() {\n if (this.disabled) {\n return;\n }\n\n this.itemTouched = true;\n }\n\n private sortByIndexInList(items: any[], list: any) {\n return items.sort((item1, item2) => ObjectUtils.findIndexInList(item1, list) - ObjectUtils.findIndexInList(item2, list));\n }\n\n moveUp(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex - 1];\n list[selectedItemIndex - 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedUp = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveTop(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = 0; i < selectedItems.length; i++) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != 0) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.unshift(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = 0;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveDown(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list[selectedItemIndex];\n let temp = list[selectedItemIndex + 1];\n list[selectedItemIndex + 1] = movedItem;\n list[selectedItemIndex] = temp;\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n this.movedDown = true;\n this.reorderedListElement = listElement;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveBottom(listElement, list, selectedItems, callback, listType) {\n if (selectedItems && selectedItems.length) {\n selectedItems = this.sortByIndexInList(selectedItems, list);\n for (let i = selectedItems.length - 1; i >= 0; i--) {\n let selectedItem = selectedItems[i];\n let selectedItemIndex: number = ObjectUtils.findIndexInList(selectedItem, list);\n\n if (selectedItemIndex != list.length - 1) {\n let movedItem = list.splice(selectedItemIndex, 1)[0];\n list.push(movedItem);\n } else {\n break;\n }\n }\n\n if (this.dragdrop && ((this.filterValueSource && listType === this.SOURCE_LIST) || (this.filterValueTarget && listType === this.TARGET_LIST))) this.filter(list, listType);\n\n listElement.scrollTop = listElement.scrollHeight;\n callback.emit({ items: selectedItems });\n }\n }\n\n moveRight() {\n if (this.selectedItemsSource && this.selectedItemsSource.length) {\n for (let i = 0; i < this.selectedItemsSource.length; i++) {\n let selectedItem = this.selectedItemsSource[i];\n if (ObjectUtils.findIndexInList(selectedItem, this.target) == -1) {\n this.target.push(this.source.splice(ObjectUtils.findIndexInList(selectedItem, this.source), 1)[0]);\n\n if (this.visibleOptionsSource) this.visibleOptionsSource.splice(ObjectUtils.findIndexInList(selectedItem, this.visibleOptionsSource), 1);\n }\n }\n\n this.onMoveToTarget.emit({\n items: this.selectedItemsSource\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\n }\n\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(this.target, this.TARGET_LIST);\n }\n }\n }\n\n moveAllRight() {\n if (this.source) {\n let movedItems = [];\n\n for (let i = 0; i < this.source.length; i++) {\n if (this.isItemVisible(this.source[i], this.SOURCE_LIST)) {\n let removedItem = this.source.splice(i, 1)[0];\n this.target.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n\n this.onMoveAllToTarget.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsTarget = [...this.selectedItemsTarget, ...this.selectedItemsSource];\n }\n\n this.selectedItemsSource = [];\n\n if (this.filterValueTarget) {\n this.filter(this.target, this.TARGET_LIST);\n }\n\n this.visibleOptionsSource = [];\n }\n }\n\n moveLeft() {\n if (this.selectedItemsTarget && this.selectedItemsTarget.length) {\n for (let i = 0; i < this.selectedItemsTarget.length; i++) {\n let selectedItem = this.selectedItemsTarget[i];\n if (ObjectUtils.findIndexInList(selectedItem, this.source) == -1) {\n this.source.push(this.target.splice(ObjectUtils.findIndexInList(selectedItem, this.target), 1)[0]);\n\n if (this.visibleOptionsTarget) this.visibleOptionsTarget.splice(ObjectUtils.findIndexInList(selectedItem, this.visibleOptionsTarget), 1)[0];\n }\n }\n\n this.onMoveToSource.emit({\n items: this.selectedItemsTarget\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\n }\n\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(this.source, this.SOURCE_LIST);\n }\n }\n }\n\n moveAllLeft() {\n if (this.target) {\n let movedItems = [];\n\n for (let i = 0; i < this.target.length; i++) {\n if (this.isItemVisible(this.target[i], this.TARGET_LIST)) {\n let removedItem = this.target.splice(i, 1)[0];\n this.source.push(removedItem);\n movedItems.push(removedItem);\n i--;\n }\n }\n\n this.onMoveAllToSource.emit({\n items: movedItems\n });\n\n if (this.keepSelection) {\n this.selectedItemsSource = [...this.selectedItemsSource, ...this.selectedItemsTarget];\n }\n\n this.selectedItemsTarget = [];\n\n if (this.filterValueSource) {\n this.filter(this.source, this.SOURCE_LIST);\n }\n\n this.visibleOptionsTarget = [];\n }\n }\n\n isSelected(item: any, selectedItems: any[]) {\n return this.findIndexInSelection(item, selectedItems) != -1;\n }\n\n findIndexInSelection(item: any, selectedItems: any[]): number {\n return ObjectUtils.findIndexInList(item, selectedItems);\n }\n\n onDrop(event: CdkDragDrop<string[]>, listType: number) {\n let isTransfer = event.previousContainer !== event.container;\n let dropIndexes = this.getDropIndexes(event.previousIndex, event.currentIndex, listType, isTransfer, event.item.data);\n\n if (listType === this.SOURCE_LIST) {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n let selectedItemIndex = ObjectUtils.findIndexInList(event.item.data, this.selectedItemsTarget);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsTarget.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsTarget) this.visibleOptionsTarget.splice(event.previousIndex, 1);\n\n this.onMoveToSource.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onSourceReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueSource) {\n this.filter(this.source, this.SOURCE_LIST);\n }\n } else {\n if (isTransfer) {\n transferArrayItem(event.previousContainer.data, event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n\n let selectedItemIndex = ObjectUtils.findIndexInList(event.item.data, this.selectedItemsSource);\n\n if (selectedItemIndex != -1) {\n this.selectedItemsSource.splice(selectedItemIndex, 1);\n\n if (this.keepSelection) {\n this.selectedItemsTarget.push(event.item.data);\n }\n }\n\n if (this.visibleOptionsSource) this.visibleOptionsSource.splice(event.previousIndex, 1);\n\n this.onMoveToTarget.emit({ items: [event.item.data] });\n } else {\n moveItemInArray(event.container.data, dropIndexes.previousIndex, dropIndexes.currentIndex);\n this.onTargetReorder.emit({ items: [event.item.data] });\n }\n\n if (this.filterValueTarget) {\n this.filter(this.target, this.TARGET_LIST);\n }\n }\n }\n\n getDropIndexes(fromIndex, toIndex, droppedList, isTransfer, data) {\n let previousIndex, currentIndex;\n\n if (droppedList === this.SOURCE_LIST) {\n previousIndex = isTransfer ? (this.filterValueTarget ? ObjectUtils.findIndexInList(data, this.target) : fromIndex) : this.filterValueSource ? ObjectUtils.findIndexInList(data, this.source) : fromIndex;\n currentIndex = this.filterValueSource ? this.findFilteredCurrentIndex(this.visibleOptionsSource, toIndex, this.source) : toIndex;\n } else {\n previousIndex = isTransfer ? (this.filterValueSource ? ObjectUtils.findIndexInList(data, this.source) : fromIndex) : this.filterValueTarget ? ObjectUtils.findIndexInList(data, this.target) : fromIndex;\n currentIndex = this.filterValueTarget ? this.findFilteredCurrentIndex(this.visibleOptionsTarget, toIndex, this.target) : toIndex;\n }\n\n return { previousIndex, currentIndex };\n }\n\n findFilteredCurrentIndex(visibleOptions, index, options) {\n if (visibleOptions.length === index) {\n let toIndex = ObjectUtils.findIndexInList(visibleOptions[index - 1], options);\n\n return toIndex + 1;\n } else {\n return ObjectUtils.findIndexInList(visibleOptions[index], options);\n }\n }\n\n resetSourceFilter() {\n this.visibleOptionsSource = null;\n this.filterValueSource = null;\n this.sourceFilterViewChild && ((<HTMLInputElement>this.sourceFilterViewChild.nativeElement).value = '');\n }\n\n resetTargetFilter() {\n this.visibleOptionsTarget = null;\n this.filterValueTarget = null;\n this.targetFilterViewChild && ((<HTMLInputElement>this.targetFilterViewChild.nativeElement).value = '');\n }\n\n resetFilter() {\n this.resetSourceFilter();\n this.resetTargetFilter();\n }\n\n onItemKeydown(event: KeyboardEvent, item: any, selectedItems: any[], callback: EventEmitter<any>) {\n let listItem = <HTMLLIElement>event.currentTarget;\n\n switch (event.which) {\n //down\n case 40:\n var nextItem = this.findNextItem(listItem);\n if (nextItem) {\n nextItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //up\n case 38:\n var prevItem = this.findPrevItem(listItem);\n if (prevItem) {\n prevItem.focus();\n }\n\n event.preventDefault();\n break;\n\n //enter\n case 13:\n this.onItemClick(event, item, selectedItems, callback);\n event.preventDefault();\n break;\n }\n }\n\n findNextItem(item) {\n let nextItem = item.nextElementSibling;\n\n if (nextItem) return !DomHandler.hasClass(nextItem, 'p-picklist-item') || DomHandler.isHidden(nextItem) ? this.findNextItem(nextItem) : nextItem;\n else return null;\n }\n\n findPrevItem(item) {\n let prevItem = item.previousElementSibling;\n\n if (prevItem) return !DomHandler.hasClass(prevItem, 'p-picklist-item') || DomHandler.isHidden(prevItem) ? this.findPrevItem(prevItem) : prevItem;\n else return null;\n }\n\n createStyle() {\n if (!this.styleElement) {\n this.el.nativeElement.children[0].setAttribute(this.id, '');\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n document.head.appendChild(this.styleElement);\n\n let innerHTML = `\n @media screen and (max-width: ${this.breakpoint}) {\n .p-picklist[${this.id}] {\n flex-direction: column;\n }\n\n .p-picklist[${this.id}] .p-picklist-buttons {\n padding: var(--content-padding);\n flex-direction: row;\n }\n\n .p-picklist[${this.id}] .p-picklist-buttons .p-button {\n margin-right: var(--inline-spacing);\n margin-bottom: 0;\n }\n\n .p-picklist[${this.id}] .p-picklist-buttons .p-button:last-child {\n margin-right: 0;\n }\n\n .p-picklist[${this.id}] .pi-angle-right:before {\n content: \"\\\\e930\"\n }\n\n .p-picklist[${this.id}] .pi-angle-double-right:before {\n content: \"\\\\e92c\"\n }\n\n .p-picklist[${this.id}] .pi-angle-left:before {\n content: \"\\\\e933\"\n }\n\n .p-picklist[${this.id}] .pi-angle-double-left:before {\n content: \"\\\\e92f\"\n }\n }\n `;\n\n this.styleElement.innerHTML = innerHTML;\n }\n }\n\n sourceMoveDisabled() {\n if (this.disabled || !this.selectedItemsSource.length) {\n return true;\n }\n }\n\n targetMoveDisabled() {\n if (this.disabled || !this.selectedItemsTarget.length) {\n return true;\n }\n }\n\n moveRightDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.selectedItemsSource);\n }\n\n moveLeftDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.selectedItemsTarget);\n }\n\n moveAllRightDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.source);\n }\n\n moveAllLeftDisabled() {\n return this.disabled || ObjectUtils.isEmpty(this.target);\n }\n\n destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n ``;\n }\n }\n\n ngOnDestroy() {\n this.destroyStyle();\n }\n}\n\nconst DragConfig = {\n zIndex: 1200\n};\n\n@NgModule({\n imports: [CommonModule, ButtonModule, SharedModule, RippleModule, DragDropModule],\n exports: [PickList, SharedModule, DragDropModule],\n declarations: [PickList],\n providers: [{ provide: CDK_DRAG_CONFIG, useValue: DragConfig }]\n})\nexport class PickListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
@@ -281,7 +281,7 @@ Splitter.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.
|
|
281
281
|
</div>
|
282
282
|
</ng-template>
|
283
283
|
</div>
|
284
|
-
`, isInline: true, styles: [".p-splitter{display:flex;flex-wrap:nowrap}.p-splitter-vertical{flex-direction:column}.p-splitter-panel{flex-grow:1}.p-splitter-panel-nested{display:flex}.p-splitter-panel p-splitter{flex-grow:1}.p-splitter-panel .p-splitter{flex-grow:1;border:0 none}.p-splitter-gutter{flex-grow:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize}.p-splitter-horizontal.p-splitter-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.p-splitter-horizontal>.p-splitter-gutter>.p-splitter-gutter-handle{height:24px;width:100%}.p-splitter-horizontal>.p-splitter-gutter{cursor:col-resize}.p-splitter-vertical.p-splitter-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.p-splitter-vertical>.p-splitter-gutter{cursor:row-resize}.p-splitter-vertical>.p-splitter-gutter>.p-splitter-gutter-handle{width:24px;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
284
|
+
`, isInline: true, styles: [".p-splitter{display:flex;flex-wrap:nowrap}.p-splitter-vertical{flex-direction:column}.p-splitter-panel{flex-grow:1}.p-splitter-panel-nested{display:flex;min-width:0}.p-splitter-panel p-splitter{flex-grow:1}.p-splitter-panel .p-splitter{flex-grow:1;border:0 none}.p-splitter-gutter{flex-grow:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize}.p-splitter-horizontal.p-splitter-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.p-splitter-horizontal>.p-splitter-gutter>.p-splitter-gutter-handle{height:24px;width:100%}.p-splitter-horizontal>.p-splitter-gutter{cursor:col-resize}.p-splitter-vertical.p-splitter-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.p-splitter-vertical>.p-splitter-gutter{cursor:row-resize}.p-splitter-vertical>.p-splitter-gutter>.p-splitter-gutter-handle{width:24px;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
285
285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: Splitter, decorators: [{
|
286
286
|
type: Component,
|
287
287
|
args: [{ selector: 'p-splitter', template: `
|
@@ -298,7 +298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
298
298
|
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
299
299
|
class: 'p-element',
|
300
300
|
'[class.p-splitter-panel-nested]': 'nested'
|
301
|
-
}, styles: [".p-splitter{display:flex;flex-wrap:nowrap}.p-splitter-vertical{flex-direction:column}.p-splitter-panel{flex-grow:1}.p-splitter-panel-nested{display:flex}.p-splitter-panel p-splitter{flex-grow:1}.p-splitter-panel .p-splitter{flex-grow:1;border:0 none}.p-splitter-gutter{flex-grow:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize}.p-splitter-horizontal.p-splitter-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.p-splitter-horizontal>.p-splitter-gutter>.p-splitter-gutter-handle{height:24px;width:100%}.p-splitter-horizontal>.p-splitter-gutter{cursor:col-resize}.p-splitter-vertical.p-splitter-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.p-splitter-vertical>.p-splitter-gutter{cursor:row-resize}.p-splitter-vertical>.p-splitter-gutter>.p-splitter-gutter-handle{width:24px;height:100%}\n"] }]
|
301
|
+
}, styles: [".p-splitter{display:flex;flex-wrap:nowrap}.p-splitter-vertical{flex-direction:column}.p-splitter-panel{flex-grow:1}.p-splitter-panel-nested{display:flex;min-width:0}.p-splitter-panel p-splitter{flex-grow:1}.p-splitter-panel .p-splitter{flex-grow:1;border:0 none}.p-splitter-gutter{flex-grow:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:col-resize}.p-splitter-horizontal.p-splitter-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.p-splitter-horizontal>.p-splitter-gutter>.p-splitter-gutter-handle{height:24px;width:100%}.p-splitter-horizontal>.p-splitter-gutter{cursor:col-resize}.p-splitter-vertical.p-splitter-resizing{cursor:row-resize;-webkit-user-select:none;user-select:none}.p-splitter-vertical>.p-splitter-gutter{cursor:row-resize}.p-splitter-vertical>.p-splitter-gutter>.p-splitter-gutter-handle{width:24px;height:100%}\n"] }]
|
302
302
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { styleClass: [{
|
303
303
|
type: Input
|
304
304
|
}], panelStyleClass: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"primeng-splitter.mjs","sources":["../../src/app/components/splitter/splitter.ts","../../src/app/components/splitter/primeng-splitter.ts"],"sourcesContent":["import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChildren, QueryList, ElementRef, ChangeDetectorRef, TemplateRef, ViewChild, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { LicenseManager, PrimeTemplate, SharedModule } from 'primeng/api';\n\n@Component({\n selector: 'p-splitter',\n template: `\n <div #container [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\n <ng-template ngFor let-panel let-i=\"index\" [ngForOf]=\"panels\">\n <div [ngClass]=\"panelContainerClass()\" [class]=\"panelStyleClass\" [ngStyle]=\"panelStyle\">\n <ng-container *ngTemplateOutlet=\"panel\"></ng-container>\n </div>\n <div class=\"p-splitter-gutter\" *ngIf=\"i !== panels.length - 1\" [ngStyle]=\"gutterStyle()\" (mousedown)=\"onGutterMouseDown($event, i)\" (touchstart)=\"onGutterTouchStart($event, i)\">\n <div class=\"p-splitter-gutter-handle\"></div>\n </div>\n </ng-template>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./splitter.css'],\n host: {\n class: 'p-element',\n '[class.p-splitter-panel-nested]': 'nested'\n }\n})\nexport class Splitter {\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() stateStorage: string = 'session';\n\n @Input() stateKey: string = null;\n\n @Input() layout: string = 'horizontal';\n\n @Input() gutterSize: number = 4;\n\n @Input() minSizes: number[] = [];\n\n @Output() onResizeEnd: EventEmitter<any> = new EventEmitter();\n\n @Output() onResizeStart: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('container', { static: false }) containerViewChild: ElementRef;\n\n @Input() get panelSizes(): number[] {\n return this._panelSizes;\n }\n\n set panelSizes(val: number[]) {\n this._panelSizes = val;\n\n if (this.el && this.el.nativeElement && this.panels.length > 0) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n }\n }\n\n nested = false;\n\n panels = [];\n\n dragging = false;\n\n mouseMoveListener = null;\n\n mouseUpListener = null;\n\n touchMoveListener = null;\n\n touchEndListener = null;\n\n size = null;\n\n gutterElement = null;\n\n startPos = null;\n\n prevPanelElement = null;\n\n nextPanelElement = null;\n\n nextPanelSize = null;\n\n prevPanelSize = null;\n\n _panelSizes: number[] = [];\n\n prevPanelIndex = null;\n\n constructor(public cd: ChangeDetectorRef, private el: ElementRef) {}\n\n ngOnInit() {\n this.nested = this.isNested();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'panel':\n this.panels.push(item.template);\n break;\n default:\n this.panels.push(item.template);\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.panels && this.panels.length) {\n let initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n\n if (!initialized) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n\n this._panelSizes = _panelSizes;\n }\n }\n\n LicenseManager.check();\n }\n\n resizeStart(event, index) {\n this.gutterElement = event.currentTarget;\n this.size = this.horizontal() ? DomHandler.getWidth(this.containerViewChild.nativeElement) : DomHandler.getHeight(this.containerViewChild.nativeElement);\n this.dragging = true;\n this.startPos = this.horizontal() ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY;\n this.prevPanelElement = this.gutterElement.previousElementSibling;\n this.nextPanelElement = this.gutterElement.nextElementSibling;\n this.prevPanelSize = (100 * (this.horizontal() ? DomHandler.getOuterWidth(this.prevPanelElement, true) : DomHandler.getOuterHeight(this.prevPanelElement, true))) / this.size;\n this.nextPanelSize = (100 * (this.horizontal() ? DomHandler.getOuterWidth(this.nextPanelElement, true) : DomHandler.getOuterHeight(this.nextPanelElement, true))) / this.size;\n this.prevPanelIndex = index;\n DomHandler.addClass(this.gutterElement, 'p-splitter-gutter-resizing');\n DomHandler.addClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');\n this.onResizeStart.emit({ originalEvent: event, sizes: this._panelSizes });\n }\n\n onResize(event) {\n let newPos;\n if (this.horizontal()) newPos = (event.pageX * 100) / this.size - (this.startPos * 100) / this.size;\n else newPos = (event.pageY * 100) / this.size - (this.startPos * 100) / this.size;\n\n let newPrevPanelSize = this.prevPanelSize + newPos;\n let newNextPanelSize = this.nextPanelSize - newPos;\n\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this._panelSizes[this.prevPanelIndex] = newPrevPanelSize;\n this._panelSizes[this.prevPanelIndex + 1] = newNextPanelSize;\n }\n }\n\n resizeEnd(event) {\n if (this.isStateful()) {\n this.saveState();\n }\n\n this.onResizeEnd.emit({ originalEvent: event, sizes: this._panelSizes });\n DomHandler.removeClass(this.gutterElement, 'p-splitter-gutter-resizing');\n DomHandler.removeClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');\n this.clear();\n }\n\n onGutterMouseDown(event, index) {\n this.resizeStart(event, index);\n this.bindMouseListeners();\n }\n\n onGutterTouchStart(event, index) {\n if (event.cancelable) {\n this.resizeStart(event, index);\n this.bindTouchListeners();\n\n event.preventDefault();\n }\n }\n\n onGutterTouchEnd(event) {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n\n if (event.cancelable) event.preventDefault();\n }\n\n validateResize(newPrevPanelSize, newNextPanelSize) {\n if (this.minSizes.length >= 1 && this.minSizes[0] && this.minSizes[0] > newPrevPanelSize) {\n return false;\n }\n\n if (this.minSizes.length > 1 && this.minSizes[1] && this.minSizes[1] > newNextPanelSize) {\n return false;\n }\n\n return true;\n }\n\n bindMouseListeners() {\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = (event) => this.onResize(event);\n document.addEventListener('mousemove', this.mouseMoveListener);\n }\n\n if (!this.mouseUpListener) {\n this.mouseUpListener = (event) => {\n this.resizeEnd(event);\n this.unbindMouseListeners();\n };\n document.addEventListener('mouseup', this.mouseUpListener);\n }\n }\n\n bindTouchListeners() {\n if (!this.touchMoveListener) {\n this.touchMoveListener = (event) => this.onResize(event.changedTouches[0]);\n document.addEventListener('touchmove', this.touchMoveListener);\n }\n\n if (!this.touchEndListener) {\n this.touchEndListener = (event) => {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n };\n document.addEventListener('touchend', this.touchEndListener);\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseMoveListener) {\n document.removeEventListener('mousemove', this.mouseMoveListener);\n this.mouseMoveListener = null;\n }\n\n if (this.mouseUpListener) {\n document.removeEventListener('mouseup', this.mouseUpListener);\n this.mouseUpListener = null;\n }\n }\n\n unbindTouchListeners() {\n if (this.touchMoveListener) {\n document.removeEventListener('touchmove', this.touchMoveListener);\n this.touchMoveListener = null;\n }\n\n if (this.touchEndListener) {\n document.removeEventListener('touchend', this.touchEndListener);\n this.touchEndListener = null;\n }\n }\n\n clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n }\n\n isNested() {\n if (this.el.nativeElement) {\n let parent = this.el.nativeElement.parentElement;\n while (parent && !DomHandler.hasClass(parent, 'p-splitter')) {\n parent = parent.parentElement;\n }\n\n return parent !== null;\n } else {\n return false;\n }\n }\n\n isStateful() {\n return this.stateKey != null;\n }\n\n getStorage() {\n switch (this.stateStorage) {\n case 'local':\n return window.localStorage;\n\n case 'session':\n return window.sessionStorage;\n\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n }\n\n saveState() {\n this.getStorage().setItem(this.stateKey, JSON.stringify(this._panelSizes));\n }\n\n restoreState() {\n const storage = this.getStorage();\n const stateString = storage.getItem(this.stateKey);\n\n if (stateString) {\n this._panelSizes = JSON.parse(stateString);\n let children = [...this.containerViewChild.nativeElement.children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));\n children.forEach((child, i) => {\n child.style.flexBasis = 'calc(' + this._panelSizes[i] + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n\n return true;\n }\n\n return false;\n }\n\n containerClass() {\n return {\n 'p-splitter p-component': true,\n 'p-splitter-horizontal': this.layout === 'horizontal',\n 'p-splitter-vertical': this.layout === 'vertical'\n };\n }\n\n panelContainerClass() {\n return {\n 'p-splitter-panel': true,\n 'p-splitter-panel-nested': true\n };\n }\n\n gutterStyle() {\n if (this.horizontal()) return { width: this.gutterSize + 'px' };\n else return { height: this.gutterSize + 'px' };\n }\n\n horizontal() {\n return this.layout === 'horizontal';\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Splitter, SharedModule],\n declarations: [Splitter]\n})\nexport class SplitterModule {}\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":"primeng-splitter.mjs","sources":["../../src/app/components/splitter/splitter.ts","../../src/app/components/splitter/primeng-splitter.ts"],"sourcesContent":["import { NgModule, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ContentChildren, QueryList, ElementRef, ChangeDetectorRef, TemplateRef, ViewChild, Output, EventEmitter, AfterViewInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomHandler } from 'primeng/dom';\nimport { LicenseManager, PrimeTemplate, SharedModule } from 'primeng/api';\n\n@Component({\n selector: 'p-splitter',\n template: `\n <div #container [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\n <ng-template ngFor let-panel let-i=\"index\" [ngForOf]=\"panels\">\n <div [ngClass]=\"panelContainerClass()\" [class]=\"panelStyleClass\" [ngStyle]=\"panelStyle\">\n <ng-container *ngTemplateOutlet=\"panel\"></ng-container>\n </div>\n <div class=\"p-splitter-gutter\" *ngIf=\"i !== panels.length - 1\" [ngStyle]=\"gutterStyle()\" (mousedown)=\"onGutterMouseDown($event, i)\" (touchstart)=\"onGutterTouchStart($event, i)\">\n <div class=\"p-splitter-gutter-handle\"></div>\n </div>\n </ng-template>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrls: ['./splitter.css'],\n host: {\n class: 'p-element',\n '[class.p-splitter-panel-nested]': 'nested'\n }\n})\nexport class Splitter {\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() stateStorage: string = 'session';\n\n @Input() stateKey: string = null;\n\n @Input() layout: string = 'horizontal';\n\n @Input() gutterSize: number = 4;\n\n @Input() minSizes: number[] = [];\n\n @Output() onResizeEnd: EventEmitter<any> = new EventEmitter();\n\n @Output() onResizeStart: EventEmitter<any> = new EventEmitter();\n\n @ContentChildren(PrimeTemplate) templates: QueryList<any>;\n\n @ViewChild('container', { static: false }) containerViewChild: ElementRef;\n\n @Input() get panelSizes(): number[] {\n return this._panelSizes;\n }\n\n set panelSizes(val: number[]) {\n this._panelSizes = val;\n\n if (this.el && this.el.nativeElement && this.panels.length > 0) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n }\n }\n\n nested = false;\n\n panels = [];\n\n dragging = false;\n\n mouseMoveListener = null;\n\n mouseUpListener = null;\n\n touchMoveListener = null;\n\n touchEndListener = null;\n\n size = null;\n\n gutterElement = null;\n\n startPos = null;\n\n prevPanelElement = null;\n\n nextPanelElement = null;\n\n nextPanelSize = null;\n\n prevPanelSize = null;\n\n _panelSizes: number[] = [];\n\n prevPanelIndex = null;\n\n constructor(public cd: ChangeDetectorRef, private el: ElementRef) {}\n\n ngOnInit() {\n this.nested = this.isNested();\n }\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch (item.getType()) {\n case 'panel':\n this.panels.push(item.template);\n break;\n default:\n this.panels.push(item.template);\n break;\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.panels && this.panels.length) {\n let initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n\n if (!initialized) {\n let children = [...this.el.nativeElement.children[0].children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));\n let _panelSizes = [];\n\n this.panels.map((panel, i) => {\n let panelInitialSize = this.panelSizes.length - 1 >= i ? this.panelSizes[i] : null;\n let panelSize = panelInitialSize || 100 / this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n\n this._panelSizes = _panelSizes;\n }\n }\n\n LicenseManager.check();\n }\n\n resizeStart(event, index) {\n this.gutterElement = event.currentTarget;\n this.size = this.horizontal() ? DomHandler.getWidth(this.containerViewChild.nativeElement) : DomHandler.getHeight(this.containerViewChild.nativeElement);\n this.dragging = true;\n this.startPos = this.horizontal() ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY;\n this.prevPanelElement = this.gutterElement.previousElementSibling;\n this.nextPanelElement = this.gutterElement.nextElementSibling;\n this.prevPanelSize = (100 * (this.horizontal() ? DomHandler.getOuterWidth(this.prevPanelElement, true) : DomHandler.getOuterHeight(this.prevPanelElement, true))) / this.size;\n this.nextPanelSize = (100 * (this.horizontal() ? DomHandler.getOuterWidth(this.nextPanelElement, true) : DomHandler.getOuterHeight(this.nextPanelElement, true))) / this.size;\n this.prevPanelIndex = index;\n DomHandler.addClass(this.gutterElement, 'p-splitter-gutter-resizing');\n DomHandler.addClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');\n this.onResizeStart.emit({ originalEvent: event, sizes: this._panelSizes });\n }\n\n onResize(event) {\n let newPos;\n if (this.horizontal()) newPos = (event.pageX * 100) / this.size - (this.startPos * 100) / this.size;\n else newPos = (event.pageY * 100) / this.size - (this.startPos * 100) / this.size;\n\n let newPrevPanelSize = this.prevPanelSize + newPos;\n let newNextPanelSize = this.nextPanelSize - newPos;\n\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this._panelSizes[this.prevPanelIndex] = newPrevPanelSize;\n this._panelSizes[this.prevPanelIndex + 1] = newNextPanelSize;\n }\n }\n\n resizeEnd(event) {\n if (this.isStateful()) {\n this.saveState();\n }\n\n this.onResizeEnd.emit({ originalEvent: event, sizes: this._panelSizes });\n DomHandler.removeClass(this.gutterElement, 'p-splitter-gutter-resizing');\n DomHandler.removeClass(this.containerViewChild.nativeElement, 'p-splitter-resizing');\n this.clear();\n }\n\n onGutterMouseDown(event, index) {\n this.resizeStart(event, index);\n this.bindMouseListeners();\n }\n\n onGutterTouchStart(event, index) {\n if (event.cancelable) {\n this.resizeStart(event, index);\n this.bindTouchListeners();\n\n event.preventDefault();\n }\n }\n\n onGutterTouchEnd(event) {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n\n if (event.cancelable) event.preventDefault();\n }\n\n validateResize(newPrevPanelSize, newNextPanelSize) {\n if (this.minSizes.length >= 1 && this.minSizes[0] && this.minSizes[0] > newPrevPanelSize) {\n return false;\n }\n\n if (this.minSizes.length > 1 && this.minSizes[1] && this.minSizes[1] > newNextPanelSize) {\n return false;\n }\n\n return true;\n }\n\n bindMouseListeners() {\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = (event) => this.onResize(event);\n document.addEventListener('mousemove', this.mouseMoveListener);\n }\n\n if (!this.mouseUpListener) {\n this.mouseUpListener = (event) => {\n this.resizeEnd(event);\n this.unbindMouseListeners();\n };\n document.addEventListener('mouseup', this.mouseUpListener);\n }\n }\n\n bindTouchListeners() {\n if (!this.touchMoveListener) {\n this.touchMoveListener = (event) => this.onResize(event.changedTouches[0]);\n document.addEventListener('touchmove', this.touchMoveListener);\n }\n\n if (!this.touchEndListener) {\n this.touchEndListener = (event) => {\n this.resizeEnd(event);\n this.unbindTouchListeners();\n };\n document.addEventListener('touchend', this.touchEndListener);\n }\n }\n\n unbindMouseListeners() {\n if (this.mouseMoveListener) {\n document.removeEventListener('mousemove', this.mouseMoveListener);\n this.mouseMoveListener = null;\n }\n\n if (this.mouseUpListener) {\n document.removeEventListener('mouseup', this.mouseUpListener);\n this.mouseUpListener = null;\n }\n }\n\n unbindTouchListeners() {\n if (this.touchMoveListener) {\n document.removeEventListener('touchmove', this.touchMoveListener);\n this.touchMoveListener = null;\n }\n\n if (this.touchEndListener) {\n document.removeEventListener('touchend', this.touchEndListener);\n this.touchEndListener = null;\n }\n }\n\n clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n }\n\n isNested() {\n if (this.el.nativeElement) {\n let parent = this.el.nativeElement.parentElement;\n while (parent && !DomHandler.hasClass(parent, 'p-splitter')) {\n parent = parent.parentElement;\n }\n\n return parent !== null;\n } else {\n return false;\n }\n }\n\n isStateful() {\n return this.stateKey != null;\n }\n\n getStorage() {\n switch (this.stateStorage) {\n case 'local':\n return window.localStorage;\n\n case 'session':\n return window.sessionStorage;\n\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n }\n\n saveState() {\n this.getStorage().setItem(this.stateKey, JSON.stringify(this._panelSizes));\n }\n\n restoreState() {\n const storage = this.getStorage();\n const stateString = storage.getItem(this.stateKey);\n\n if (stateString) {\n this._panelSizes = JSON.parse(stateString);\n let children = [...this.containerViewChild.nativeElement.children].filter((child) => DomHandler.hasClass(child, 'p-splitter-panel'));\n children.forEach((child, i) => {\n child.style.flexBasis = 'calc(' + this._panelSizes[i] + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n });\n\n return true;\n }\n\n return false;\n }\n\n containerClass() {\n return {\n 'p-splitter p-component': true,\n 'p-splitter-horizontal': this.layout === 'horizontal',\n 'p-splitter-vertical': this.layout === 'vertical'\n };\n }\n\n panelContainerClass() {\n return {\n 'p-splitter-panel': true,\n 'p-splitter-panel-nested': true\n };\n }\n\n gutterStyle() {\n if (this.horizontal()) return { width: this.gutterSize + 'px' };\n else return { height: this.gutterSize + 'px' };\n }\n\n horizontal() {\n return this.layout === 'horizontal';\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Splitter, SharedModule],\n declarations: [Splitter]\n})\nexport class SplitterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/fesm2020/primeng-api.mjs
CHANGED
@@ -305,40 +305,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
305
305
|
const LicenseManagerImp = {
|
306
306
|
licenseKey: undefined,
|
307
307
|
passKey: undefined,
|
308
|
+
debug: false,
|
308
309
|
valid: false,
|
309
310
|
verified: false,
|
310
|
-
verify: function (licenseKey, passKey) {
|
311
|
-
[LicenseManagerImp.licenseKey, LicenseManagerImp.passKey] = [licenseKey, passKey];
|
311
|
+
verify: function (licenseKey, passKey, debug = false) {
|
312
|
+
[LicenseManagerImp.licenseKey, LicenseManagerImp.passKey, LicenseManagerImp.debug] = [licenseKey, passKey, debug];
|
312
313
|
LicenseManagerImp.valid = LicenseManagerImp.verified = false;
|
313
314
|
},
|
314
315
|
check: async function () {
|
315
316
|
if (!LicenseManagerImp.verified) {
|
316
317
|
const isClient = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
317
318
|
LicenseManagerImp.verified = isClient;
|
319
|
+
let debug = LicenseManagerImp.debug;
|
318
320
|
let valid = false;
|
319
321
|
try {
|
320
322
|
const plaintext = await LicenseManagerImp.aesGcmDecrypt(LicenseManagerImp.licenseKey, LicenseManagerImp.passKey);
|
321
323
|
const tokens = plaintext.split('_');
|
322
324
|
const licenseDate = new Date(parseInt(tokens[2]));
|
323
325
|
if (tokens.length !== 8) {
|
326
|
+
if (debug)
|
327
|
+
console.log('Error code: 1333');
|
324
328
|
valid = false;
|
325
329
|
}
|
326
330
|
else if (tokens[0].length !== 2) {
|
331
|
+
if (debug)
|
332
|
+
console.log('Error code: 1334');
|
327
333
|
valid = false;
|
328
334
|
}
|
329
335
|
else if (isNaN(parseInt(tokens[1]))) {
|
336
|
+
if (debug)
|
337
|
+
console.log('Error code: 1335');
|
330
338
|
valid = false;
|
331
339
|
}
|
332
340
|
else if (tokens[3] !== 'PRIMENG') {
|
341
|
+
if (debug)
|
342
|
+
console.log('Error code: 1336');
|
333
343
|
valid = false;
|
334
344
|
}
|
335
345
|
else if (tokens[5] === 'BASIC' && licenseDate <= new Date()) {
|
346
|
+
if (debug)
|
347
|
+
console.log('Error code: 1337');
|
336
348
|
valid = false;
|
337
349
|
}
|
338
|
-
else if (tokens[6] !== '
|
350
|
+
else if (tokens[6] !== '15') {
|
351
|
+
if (debug)
|
352
|
+
console.log('Error code: 1338');
|
339
353
|
valid = false;
|
340
354
|
}
|
341
355
|
else if (tokens[7].length !== 6) {
|
356
|
+
if (debug)
|
357
|
+
console.log('Error code: 1339');
|
342
358
|
valid = false;
|
343
359
|
}
|
344
360
|
else {
|
@@ -346,6 +362,8 @@ const LicenseManagerImp = {
|
|
346
362
|
}
|
347
363
|
}
|
348
364
|
catch (e) {
|
365
|
+
if (debug)
|
366
|
+
console.log('Error code: 1440');
|
349
367
|
valid = false;
|
350
368
|
}
|
351
369
|
if (!valid && isClient) {
|