@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
78 lines • 11.7 kB
JavaScript
import { Component, Inject, Optional } from "@angular/core";
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 AbstractUserDefaultFieldComponent extends AbstractBaseDataFieldComponent {
_dialog;
_snackbar;
_translate;
labelWidth;
cutProperty;
/**
* Inject services.
* @param _dialog Service to open and close [UserAssignDialogComponent]{@link UserAssignDialogComponent} with user data.
* @param _snackbar Service to displaying information to the user.
* @param _translate Service to translate text.
* @param informAboutInvalidData whether the backend should be notified about invalid values.
* Option injected trough `NAE_INFORM_ABOUT_INVALID_DATA` InjectionToken
*/
constructor(_dialog, _snackbar, _translate, dataFieldPortalData) {
super(dataFieldPortalData);
this._dialog = _dialog;
this._snackbar = _snackbar;
this._translate = _translate;
}
/**
* Call after click on user field button.
*
* Open [UserAssignComponent]{@link AbstractUserAssignComponent} 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 = $event.data;
this._snackbar.openGenericSnackBar(this._translate.instant('dataField.snackBar.userAssigned', { userName: this.dataField.value.fullName }), 'how_to_reg');
valueReturned = true;
}
else if (!valueReturned) {
this._snackbar.openWarningSnackBar(this._translate.instant('dataField.snackBar.notSelectedUser'));
}
});
}
deleteUser() {
this.dataField.value = null;
}
getCutProperty(i18nLabel) {
if (this.labelWidth !== i18nLabel.offsetWidth) {
this.labelWidth = i18nLabel.offsetWidth;
const calculatedWidth = 'calc(0.5em + ' + i18nLabel.offsetWidth / 4 * 3 + 'px)';
this.cutProperty = `polygon(0 0, 0 100%, 100% 100%, 100% 0%, ${calculatedWidth} 0, ${calculatedWidth} 6%, 0.5em 6%, 0.5em 0)`;
}
return this.cutProperty;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractUserDefaultFieldComponent, 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: AbstractUserDefaultFieldComponent, selector: "ncc-abstract-user-default-field", usesInheritance: true, ngImport: i0, template: '', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractUserDefaultFieldComponent, decorators: [{
type: Component,
args: [{
selector: 'ncc-abstract-user-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdXNlci1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvZGF0YS1maWVsZHMvdXNlci1maWVsZC91c2VyLWRlZmF1bHQtZmllbGQvYWJzdHJhY3QtdXNlci1kZWZhdWx0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFDLHNCQUFzQixFQUFzQixNQUFNLHFEQUFxRCxDQUFDO0FBSWhILE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDOzs7OztBQU92RyxNQUFNLE9BQWdCLGlDQUFrQyxTQUFRLDhCQUF5QztJQWFyRTtJQUNBO0lBQ0E7SUFieEIsVUFBVSxDQUFTO0lBQ3BCLFdBQVcsQ0FBUztJQUUzQjs7Ozs7OztPQU9HO0lBQ0gsWUFBZ0MsT0FBa0IsRUFDbEIsU0FBMEIsRUFDMUIsVUFBNEIsRUFDTSxtQkFBbUQ7UUFDakgsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFKQyxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQWlCO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQWtCO0lBRzVELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQkFBa0IsQ0FBQyxTQUFTO1FBQy9CLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDM0MsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixJQUFJLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUF5QjtTQUMzRixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3ZDLElBQUksTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBaUIsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFDLENBQUMsRUFDckcsWUFBWSxDQUNmLENBQUM7Z0JBQ0YsYUFBYSxHQUFHLElBQUksQ0FBQzthQUN4QjtpQkFBTSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQzthQUNyRztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxTQUFTO1FBQzNCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsV0FBVyxFQUFFO1lBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQztZQUN4QyxNQUFNLGVBQWUsR0FBRyxlQUFlLEdBQUcsU0FBUyxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNoRixJQUFJLENBQUMsV0FBVyxHQUFHLDRDQUE0QyxlQUFlLE9BQU8sZUFBZSx5QkFBeUIsQ0FBQztTQUNqSTtRQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO3dHQTFEaUIsaUNBQWlDLDBHQWdCVCxzQkFBc0I7NEZBaEI5QyxpQ0FBaUMsOEZBRnpDLEVBQUU7OzRGQUVNLGlDQUFpQztrQkFKdEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxRQUFRLEVBQUUsRUFBRTtpQkFDZjs7MEJBaUIwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbmplY3QsIE9wdGlvbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtTbmFja0JhclNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9zbmFjay1iYXIvc2VydmljZXMvc25hY2stYmFyLnNlcnZpY2VcIjtcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7REFUQV9GSUVMRF9QT1JUQUxfREFUQSwgRGF0YUZpZWxkUG9ydGFsRGF0YX0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRhLWZpZWxkLXBvcnRhbC1kYXRhLWluamVjdGlvbi10b2tlblwiO1xuaW1wb3J0IHtVc2VyTGlzdEluamVjdGVkRGF0YX0gZnJvbSBcIi4uLy4uLy4uL3NpZGUtbWVudS9jb250ZW50LWNvbXBvbmVudHMvdXNlci1hc3NpZ24vbW9kZWwvdXNlci1saXN0LWluamVjdGVkLWRhdGFcIjtcbmltcG9ydCB7VXNlclZhbHVlfSBmcm9tIFwiLi4vbW9kZWxzL3VzZXItdmFsdWVcIjtcbmltcG9ydCB7VXNlckZpZWxkfSBmcm9tIFwiLi4vbW9kZWxzL3VzZXItZmllbGRcIjtcbmltcG9ydCB7QWJzdHJhY3RCYXNlRGF0YUZpZWxkQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnQvYWJzdHJhY3QtYmFzZS1kYXRhLWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmNjLWFic3RyYWN0LXVzZXItZGVmYXVsdC1maWVsZCcsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VXNlckRlZmF1bHRGaWVsZENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0QmFzZURhdGFGaWVsZENvbXBvbmVudDxVc2VyRmllbGQ+e1xuXG4gICAgcHJpdmF0ZSBsYWJlbFdpZHRoOiBudW1iZXI7XG4gICAgcHVibGljIGN1dFByb3BlcnR5OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBJbmplY3Qgc2VydmljZXMuXG4gICAgICogQHBhcmFtIF9kaWFsb2cgU2VydmljZSB0byBvcGVuIGFuZCBjbG9zZSBbVXNlckFzc2lnbkRpYWxvZ0NvbXBvbmVudF17QGxpbmsgVXNlckFzc2lnbkRpYWxvZ0NvbXBvbmVudH0gd2l0aCB1c2VyIGRhdGEuXG4gICAgICogQHBhcmFtIF9zbmFja2JhciBTZXJ2aWNlIHRvIGRpc3BsYXlpbmcgaW5mb3JtYXRpb24gdG8gdGhlIHVzZXIuXG4gICAgICogQHBhcmFtIF90cmFuc2xhdGUgU2VydmljZSB0byB0cmFuc2xhdGUgdGV4dC5cbiAgICAgKiBAcGFyYW0gaW5mb3JtQWJvdXRJbnZhbGlkRGF0YSB3aGV0aGVyIHRoZSBiYWNrZW5kIHNob3VsZCBiZSBub3RpZmllZCBhYm91dCBpbnZhbGlkIHZhbHVlcy5cbiAgICAgKiBPcHRpb24gaW5qZWN0ZWQgdHJvdWdoIGBOQUVfSU5GT1JNX0FCT1VUX0lOVkFMSURfREFUQWAgSW5qZWN0aW9uVG9rZW5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVRBX0ZJRUxEX1BPUlRBTF9EQVRBKSBkYXRhRmllbGRQb3J0YWxEYXRhOiBEYXRhRmllbGRQb3J0YWxEYXRhPFVzZXJGaWVsZD4pIHtcbiAgICAgICAgc3VwZXIoZGF0YUZpZWxkUG9ydGFsRGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbCBhZnRlciBjbGljayBvbiB1c2VyIGZpZWxkIGJ1dHRvbi5cbiAgICAgKlxuICAgICAqIE9wZW4gW1VzZXJBc3NpZ25Db21wb25lbnRde0BsaW5rIEFic3RyYWN0VXNlckFzc2lnbkNvbXBvbmVudH0gaW4gc2lkZSBtZW51IHdpdGggZGF0YSByZXByZXNlbnRzIHByZXNlbGVjdGVkIHVzZXIgZnJvbSBiYWNrZW5kLlxuICAgICAqXG4gICAgICogQWZ0ZXIgY2xvc2Ugc2lkZSBtZW51LCB0aGUgc25hY2tiYXIgaW5mbyB3aWxsIGJlIGRpc3BsYXllZCBlaXRoZXIgZm9yIHRoZSB1bnNlbGVjdGVkIHVzZXIgb3IgdGhlIHNlbGVjdGVkIG9uZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWJzdHJhY3RVc2VyKGNvbXBvbmVudCkge1xuICAgICAgICBsZXQgdmFsdWVSZXR1cm5lZCA9IGZhbHNlO1xuICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLl9kaWFsb2cub3Blbihjb21wb25lbnQsIHtcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFwiZGlhbG9nLXJlc3BvbnNpdmVcIixcbiAgICAgICAgICAgIGRhdGE6IHtyb2xlczogdGhpcy5kYXRhRmllbGQucm9sZXMsIHZhbHVlOiB0aGlzLmRhdGFGaWVsZC52YWx1ZX0gYXMgVXNlckxpc3RJbmplY3RlZERhdGEsXG4gICAgICAgIH0pO1xuICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoJGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICgkZXZlbnQuZGF0YSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUZpZWxkLnZhbHVlID0gJGV2ZW50LmRhdGEgYXMgVXNlclZhbHVlO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5HZW5lcmljU25hY2tCYXIoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5pbnN0YW50KCdkYXRhRmllbGQuc25hY2tCYXIudXNlckFzc2lnbmVkJywge3VzZXJOYW1lOiB0aGlzLmRhdGFGaWVsZC52YWx1ZS5mdWxsTmFtZX0pLFxuICAgICAgICAgICAgICAgICAgICAnaG93X3RvX3JlZydcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHZhbHVlUmV0dXJuZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghdmFsdWVSZXR1cm5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW5XYXJuaW5nU25hY2tCYXIodGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoJ2RhdGFGaWVsZC5zbmFja0Jhci5ub3RTZWxlY3RlZFVzZXInKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGVVc2VyKCkge1xuICAgICAgICB0aGlzLmRhdGFGaWVsZC52YWx1ZSA9IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEN1dFByb3BlcnR5KGkxOG5MYWJlbCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmxhYmVsV2lkdGggIT09IGkxOG5MYWJlbC5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy5sYWJlbFdpZHRoID0gaTE4bkxhYmVsLm9mZnNldFdpZHRoO1xuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRlZFdpZHRoID0gJ2NhbGMoMC41ZW0gKyAnICsgaTE4bkxhYmVsLm9mZnNldFdpZHRoIC8gNCAqIDMgKyAncHgpJztcbiAgICAgICAgICAgIHRoaXMuY3V0UHJvcGVydHkgPSBgcG9seWdvbigwIDAsIDAgMTAwJSwgMTAwJSAxMDAlLCAxMDAlIDAlLCAke2NhbGN1bGF0ZWRXaWR0aH0gMCwgJHtjYWxjdWxhdGVkV2lkdGh9IDYlLCAwLjVlbSA2JSwgMC41ZW0gMClgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmN1dFByb3BlcnR5O1xuICAgIH1cblxufVxuIl19