UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

66 lines 10.6 kB
import { Component, Inject, Optional } from "@angular/core"; import { UserListValue } from "../models/user-list-value"; import { DATA_FIELD_PORTAL_DATA } from "../../models/data-field-portal-data-injection-token"; import { AbstractBaseDataFieldComponent } from "../../base-component/abstract-base-data-field.component"; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/dialog"; import * as i2 from "../../../snack-bar/services/snack-bar.service"; import * as i3 from "@ngx-translate/core"; export class AbstractUserListDefaultFieldComponent extends AbstractBaseDataFieldComponent { _dialog; _snackbar; _translate; constructor(_dialog, _snackbar, _translate, dataFieldPortalData) { super(dataFieldPortalData); this._dialog = _dialog; this._snackbar = _snackbar; this._translate = _translate; } /** * Call after click on user field button. * * Open [MultiUserAssignDialogComponent]{@link MultiUserAssignDialogComponent} in side menu with data represents preselected user from backend. * * After close side menu, the snackbar info will be displayed either for the unselected user or the selected one. */ selectAbstractUser(component) { let valueReturned = false; const dialogRef = this._dialog.open(component, { panelClass: "dialog-responsive", data: { roles: this.dataField.roles, value: this.dataField.value }, }); dialogRef.afterClosed().subscribe($event => { if ($event?.data) { this.dataField.value = new UserListValue(new Map($event.data.map(v => [v.id, v]))); this._snackbar.openGenericSnackBar(this._translate.instant('dataField.snackBar.userListAssigned', { userNames: this.dataField.value.toString() }), 'how_to_reg'); valueReturned = true; } else if (!valueReturned) { this._snackbar.openWarningSnackBar(this._translate.instant('dataField.snackBar.notSelectedUser')); } }); } removeAbstractUser(userId) { const existingUsers = new UserListValue(new Map(this.dataField.value.userValues)); existingUsers.removeUserValue(userId); this.dataField.value = existingUsers; } removeAll() { this.dataField.value = new UserListValue(new Map()); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractUserListDefaultFieldComponent, deps: [{ token: i1.MatDialog }, { token: i2.SnackBarService }, { token: i3.TranslateService }, { token: DATA_FIELD_PORTAL_DATA, optional: true }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractUserListDefaultFieldComponent, selector: "ncc-abstract-user-list-default-field", usesInheritance: true, ngImport: i0, template: '', isInline: true }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractUserListDefaultFieldComponent, decorators: [{ type: Component, args: [{ selector: 'ncc-abstract-user-list-default-field', template: '', }] }], ctorParameters: () => [{ type: i1.MatDialog }, { type: i2.SnackBarService }, { type: i3.TranslateService }, { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DATA_FIELD_PORTAL_DATA] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdXNlci1saXN0LWRlZmF1bHQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9kYXRhLWZpZWxkcy91c2VyLWxpc3QtZmllbGQvdXNlci1saXN0LWRlZmF1bHQtZmllbGQvYWJzdHJhY3QtdXNlci1saXN0LWRlZmF1bHQtZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUsxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFeEQsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLHFEQUFxRCxDQUFDO0FBQ2hILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDOzs7OztBQU92RyxNQUFNLE9BQWdCLHFDQUFzQyxTQUFRLDhCQUE2QztJQUU3RTtJQUNBO0lBQ0E7SUFGaEMsWUFBZ0MsT0FBa0IsRUFDbEIsU0FBMEIsRUFDMUIsVUFBNEIsRUFDTSxtQkFBdUQ7UUFDckgsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFKQyxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQWtCO0lBRzVELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxTQUFTO1FBQy9CLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0MsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUF5QjtTQUMzRixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZDLElBQUksTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBcUIsTUFBTSxDQUFDLElBQXlCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1SCxJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsRUFDekQsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUMsQ0FBQyxFQUNqRCxZQUFZLENBQ2YsQ0FBQztnQkFDRixhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQ3hCO2lCQUFNLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDO2FBQ3JHO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEdBQUcsQ0FBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNyRyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRU0sU0FBUztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksR0FBRyxFQUFxQixDQUFDLENBQUE7SUFDMUUsQ0FBQzt3R0E3Q2lCLHFDQUFxQywwR0FLYixzQkFBc0I7NEZBTDlDLHFDQUFxQyxtR0FGN0MsRUFBRTs7NEZBRU0scUNBQXFDO2tCQUoxRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFFBQVEsRUFBRSxFQUFFO2lCQUNmOzswQkFNMEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7VXNlckxpc3RGaWVsZH0gZnJvbSBcIi4uL21vZGVscy91c2VyLWxpc3QtZmllbGRcIjtcbmltcG9ydCB7U25hY2tCYXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc25hY2stYmFyL3NlcnZpY2VzL3NuYWNrLWJhci5zZXJ2aWNlXCI7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQge1VzZXJMaXN0SW5qZWN0ZWREYXRhfSBmcm9tIFwiLi4vLi4vLi4vc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy91c2VyLWFzc2lnbi9tb2RlbC91c2VyLWxpc3QtaW5qZWN0ZWQtZGF0YVwiO1xuaW1wb3J0IHtVc2VyTGlzdFZhbHVlfSBmcm9tIFwiLi4vbW9kZWxzL3VzZXItbGlzdC12YWx1ZVwiO1xuaW1wb3J0IHtVc2VyVmFsdWV9IGZyb20gXCIuLi8uLi91c2VyLWZpZWxkL21vZGVscy91c2VyLXZhbHVlXCI7XG5pbXBvcnQge0RBVEFfRklFTERfUE9SVEFMX0RBVEEsIERhdGFGaWVsZFBvcnRhbERhdGF9IGZyb20gXCIuLi8uLi9tb2RlbHMvZGF0YS1maWVsZC1wb3J0YWwtZGF0YS1pbmplY3Rpb24tdG9rZW5cIjtcbmltcG9ydCB7QWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnQvYWJzdHJhY3QtYmFzZS1kYXRhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXVzZXItbGlzdC1kZWZhdWx0LWZpZWxkJyxcbiAgICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VXNlckxpc3REZWZhdWx0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEJhc2VEYXRhRmllbGRDb21wb25lbnQ8VXNlckxpc3RGaWVsZD57XG5cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPFVzZXJMaXN0RmllbGQ+KSB7XG4gICAgICAgIHN1cGVyKGRhdGFGaWVsZFBvcnRhbERhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGwgYWZ0ZXIgY2xpY2sgb24gdXNlciBmaWVsZCBidXR0b24uXG4gICAgICpcbiAgICAgKiBPcGVuIFtNdWx0aVVzZXJBc3NpZ25EaWFsb2dDb21wb25lbnRde0BsaW5rIE11bHRpVXNlckFzc2lnbkRpYWxvZ0NvbXBvbmVudH0gaW4gc2lkZSBtZW51IHdpdGggZGF0YSByZXByZXNlbnRzIHByZXNlbGVjdGVkIHVzZXIgZnJvbSBiYWNrZW5kLlxuICAgICAqXG4gICAgICogQWZ0ZXIgY2xvc2Ugc2lkZSBtZW51LCB0aGUgc25hY2tiYXIgaW5mbyB3aWxsIGJlIGRpc3BsYXllZCBlaXRoZXIgZm9yIHRoZSB1bnNlbGVjdGVkIHVzZXIgb3IgdGhlIHNlbGVjdGVkIG9uZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWJzdHJhY3RVc2VyKGNvbXBvbmVudCkge1xuICAgICAgICBsZXQgdmFsdWVSZXR1cm5lZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3Blbihjb21wb25lbnQsIHtcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFwiZGlhbG9nLXJlc3BvbnNpdmVcIixcbiAgICAgICAgICAgIGRhdGE6IHtyb2xlczogdGhpcy5kYXRhRmllbGQucm9sZXMsIHZhbHVlOiB0aGlzLmRhdGFGaWVsZC52YWx1ZX0gYXMgVXNlckxpc3RJbmplY3RlZERhdGEsXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoJGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICgkZXZlbnQ/LmRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFGaWVsZC52YWx1ZSA9IG5ldyBVc2VyTGlzdFZhbHVlKG5ldyBNYXA8c3RyaW5nLCBVc2VyVmFsdWU+KCgkZXZlbnQuZGF0YSBhcyBBcnJheTxVc2VyVmFsdWU+KS5tYXAodiA9PiBbdi5pZCwgdl0pKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlbkdlbmVyaWNTbmFja0JhcihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC5zbmFja0Jhci51c2VyTGlzdEFzc2lnbmVkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHt1c2VyTmFtZXM6IHRoaXMuZGF0YUZpZWxkLnZhbHVlLnRvU3RyaW5nKCl9KSxcbiAgICAgICAgICAgICAgICAgICAgJ2hvd190b19yZWcnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB2YWx1ZVJldHVybmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlUmV0dXJuZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuV2FybmluZ1NuYWNrQmFyKHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQuc25hY2tCYXIubm90U2VsZWN0ZWRVc2VyJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWJzdHJhY3RVc2VyKHVzZXJJZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nVXNlcnMgPSBuZXcgVXNlckxpc3RWYWx1ZShuZXcgTWFwPHN0cmluZywgVXNlclZhbHVlPih0aGlzLmRhdGFGaWVsZC52YWx1ZS51c2VyVmFsdWVzKSk7XG4gICAgICAgIGV4aXN0aW5nVXNlcnMucmVtb3ZlVXNlclZhbHVlKHVzZXJJZCk7XG4gICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlID0gZXhpc3RpbmdVc2VycztcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlQWxsKCkge1xuICAgICAgICB0aGlzLmRhdGFGaWVsZC52YWx1ZSA9IG5ldyBVc2VyTGlzdFZhbHVlKG5ldyBNYXA8c3RyaW5nLCBVc2VyVmFsdWU+KCkpXG4gICAgfVxuXG59XG4iXX0=