@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
66 lines • 10.6 kB
JavaScript
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=