UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

65 lines 7.9 kB
import { Directive, Input } from '@angular/core'; import { AbstractSortableListComponent } from '../sortable-list/abstract-sortable-list.component'; import * as i0 from "@angular/core"; export class AbstractAddRemoveList extends AbstractSortableListComponent { constructor() { super(); this.elementsList = []; this.buttonsOnBottom = false; this.isDisabled = false; this.showChecks = false; this.showSelectedRowsInRemoveButton = false; this.checkId = (Math.floor(Math.random() * (999999999999 - 1))).toString(); } ngOnInit() { } add() { } remove() { } getDescription(element) { return element[this.getDescriptionField(element)]; } preventDefault(event) { event.mouseEvent.preventDefault(); return false; } getSelectedElements() { if (this.showSelectedRowsInRemoveButton) { const selectedElements = this.elementsList.filter(element => element[this.getSelectionField(element)]).length; return selectedElements > 0 ? `(${selectedElements})` : ''; } else { return ''; } } selectElement(element, ev) { if (!this.showChecks) { if (!ev.ctrlKey) { this.elementsList.forEach(elementInList => { elementInList[this.getSelectionField(element)] = false; }); } element[this.getSelectionField(element)] = !element[this.getSelectionField(element)]; } } selectCheckbox(element) { element[this.getSelectionField(element)] = !element[this.getSelectionField(element)]; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AbstractAddRemoveList, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: AbstractAddRemoveList, inputs: { elementsList: "elementsList", buttonsOnBottom: "buttonsOnBottom", isDisabled: "isDisabled", showChecks: "showChecks", showSelectedRowsInRemoveButton: "showSelectedRowsInRemoveButton" }, usesInheritance: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: AbstractAddRemoveList, decorators: [{ type: Directive }], ctorParameters: () => [], propDecorators: { elementsList: [{ type: Input }], buttonsOnBottom: [{ type: Input }], isDisabled: [{ type: Input }], showChecks: [{ type: Input }], showSelectedRowsInRemoveButton: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtYWRkLXJlbW92ZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9hZGQtcmVtb3ZlLWxpc3QvYWJzdHJhY3QtYWRkLXJlbW92ZS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQzs7QUFHaEcsTUFBTSxPQUFnQixxQkFBeUIsU0FBUSw2QkFBZ0M7SUFTdEY7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQVJnQixpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUNyQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsbUNBQThCLEdBQUcsS0FBSyxDQUFDO1FBQ2hELFlBQU8sR0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUlyRixDQUFDO0lBRU0sUUFBUTtJQUNmLENBQUM7SUFFTSxHQUFHO0lBQ1YsQ0FBQztJQUVNLE1BQU07SUFDYixDQUFDO0lBRWUsY0FBYyxDQUFDLE9BQVU7UUFDeEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFLO1FBQzFCLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbEMsT0FBTyxLQUFLLENBQUM7SUFDZCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLDhCQUE4QixFQUFFO1lBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFBLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDN0csT0FBTyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzNEO2FBQU07WUFDTixPQUFPLEVBQUUsQ0FBQztTQUNWO0lBQ0YsQ0FBQztJQUVlLGFBQWEsQ0FBQyxPQUFVLEVBQUUsRUFBaUI7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUN6QyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUN4RCxDQUFDLENBQUMsQ0FBQzthQUNIO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3JGO0lBQ0YsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFVO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDOzhHQXJEb0IscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRDFDLFNBQVM7d0RBR2dCLFlBQVk7c0JBQXBDLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsOEJBQThCO3NCQUE3QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0U29ydGFibGVMaXN0Q29tcG9uZW50fSBmcm9tICcuLi9zb3J0YWJsZS1saXN0L2Fic3RyYWN0LXNvcnRhYmxlLWxpc3QuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RBZGRSZW1vdmVMaXN0PFQ+IGV4dGVuZHMgQWJzdHJhY3RTb3J0YWJsZUxpc3RDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG5cdEBJbnB1dCgpIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50c0xpc3Q6IEFycmF5PFQ+ID0gW107XG5cdEBJbnB1dCgpIHB1YmxpYyBidXR0b25zT25Cb3R0b20gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQgPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIHNob3dDaGVja3MgPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIHNob3dTZWxlY3RlZFJvd3NJblJlbW92ZUJ1dHRvbiA9IGZhbHNlO1xuXHRwdWJsaWMgY2hlY2tJZDogc3RyaW5nID0gKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICg5OTk5OTk5OTk5OTkgLSAxKSkpLnRvU3RyaW5nKCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcblx0fVxuXG5cdHB1YmxpYyBhZGQoKTogdm9pZCB7XG5cdH1cblxuXHRwdWJsaWMgcmVtb3ZlKCk6IHZvaWQge1xuXHR9XG5cblx0cHVibGljIG92ZXJyaWRlIGdldERlc2NyaXB0aW9uKGVsZW1lbnQ6IFQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBlbGVtZW50W3RoaXMuZ2V0RGVzY3JpcHRpb25GaWVsZChlbGVtZW50KV07XG5cdH1cblxuXHRwdWJsaWMgcHJldmVudERlZmF1bHQoZXZlbnQpIHtcblx0XHRldmVudC5tb3VzZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0cHVibGljIGdldFNlbGVjdGVkRWxlbWVudHMoKTogc3RyaW5nIHtcblx0XHRpZiAodGhpcy5zaG93U2VsZWN0ZWRSb3dzSW5SZW1vdmVCdXR0b24pIHtcblx0XHRcdGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSB0aGlzLmVsZW1lbnRzTGlzdC5maWx0ZXIoZWxlbWVudD0+IGVsZW1lbnRbdGhpcy5nZXRTZWxlY3Rpb25GaWVsZChlbGVtZW50KV0pLmxlbmd0aDtcblx0XHRcdHJldHVybiBzZWxlY3RlZEVsZW1lbnRzID4gMCA/IGAoJHtzZWxlY3RlZEVsZW1lbnRzfSlgIDogJyc7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAnJztcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgb3ZlcnJpZGUgc2VsZWN0RWxlbWVudChlbGVtZW50OiBULCBldjogS2V5Ym9hcmRFdmVudCkge1xuXHRcdGlmICghdGhpcy5zaG93Q2hlY2tzKSB7XG5cdFx0XHRpZiAoIWV2LmN0cmxLZXkpIHtcblx0XHRcdFx0dGhpcy5lbGVtZW50c0xpc3QuZm9yRWFjaChlbGVtZW50SW5MaXN0ID0+IHtcblx0XHRcdFx0XHRlbGVtZW50SW5MaXN0W3RoaXMuZ2V0U2VsZWN0aW9uRmllbGQoZWxlbWVudCldID0gZmFsc2U7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdFx0ZWxlbWVudFt0aGlzLmdldFNlbGVjdGlvbkZpZWxkKGVsZW1lbnQpXSA9ICFlbGVtZW50W3RoaXMuZ2V0U2VsZWN0aW9uRmllbGQoZWxlbWVudCldO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzZWxlY3RDaGVja2JveChlbGVtZW50OiBUKSB7XG5cdFx0ZWxlbWVudFt0aGlzLmdldFNlbGVjdGlvbkZpZWxkKGVsZW1lbnQpXSA9ICFlbGVtZW50W3RoaXMuZ2V0U2VsZWN0aW9uRmllbGQoZWxlbWVudCldO1xuXHR9XG5cblx0cHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGdldERlc2NyaXB0aW9uRmllbGQoZWxlbWVudDogVCk6IHN0cmluZztcbn1cbiJdfQ==