@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
81 lines • 9.46 kB
JavaScript
import { FormControl } from '@angular/forms';
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../../models/side-menu-control";
/**
* Is the main - parent component of the entire user assignment in the side menu.
*
* Holds logic link of the [UserAssignListComponent]{@link AbstractUserAssignListComponent}
* along with searching, selecting, and then assigning to the user field.
*/
export class AbstractUserAssignComponent {
_sideMenuControl;
/**
* Form control for user search value.
*/
searchUserControl = new FormControl();
/**
* Data about preselected user send from [UserFieldComponent]{@link AbstractUserFieldComponent}.
*/
injectedData;
/**
* Value of the current selected user.
*/
_currentUser;
/**
* Inject and set data send from [UserFieldComponent]{@link AbstractUserFieldComponent} if the user is preselected.
* @param _sideMenuControl Contains [Roles]{@link ProcessRole} and [UserValue]{@link UserValue}.
*/
constructor(_sideMenuControl) {
this._sideMenuControl = _sideMenuControl;
if (this._sideMenuControl.data) {
this.injectedData = this._sideMenuControl.data;
}
}
/**
* The user that is initially selected, or `undefined` if none is
*/
get initiallySelectedUser() {
return this.injectedData ? this.injectedData.value : undefined;
}
get roles() {
return this.injectedData ? this.injectedData.roles : [];
}
get negativeRoles() {
return this.injectedData ? this.injectedData.negativeRoles : [];
}
/**
* On select user from users assign list publish side menu with selected user as data and message about selection.
* @param user Select current user as [UserValue]{@link UserValue}
*/
userWasSelected(user) {
this._currentUser = user;
this._sideMenuControl.publish({
opened: true,
message: 'New selected user',
data: this._currentUser
});
}
/**
* On assign button close side menu with selected user as data and message about confirm.
*/
assign() {
if (this._currentUser !== undefined) {
this._sideMenuControl.close({
opened: false,
message: 'Selected user was confirmed',
data: this._currentUser
});
}
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractUserAssignComponent, deps: [{ token: i1.SideMenuControl }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AbstractUserAssignComponent, selector: "ncc-abstract-user-assign", ngImport: i0, template: '', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AbstractUserAssignComponent, decorators: [{
type: Component,
args: [{
selector: 'ncc-abstract-user-assign',
template: ''
}]
}], ctorParameters: () => [{ type: i1.SideMenuControl }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtdXNlci1hc3NpZ24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL3VzZXItYXNzaWduL2Fic3RyYWN0LXVzZXItYXNzaWduLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBRXhDOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFnQiwyQkFBMkI7SUFvQmI7SUFuQmhDOztPQUVHO0lBQ0ksaUJBQWlCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUU3Qzs7T0FFRztJQUNJLFlBQVksQ0FBdUI7SUFFMUM7O09BRUc7SUFDTyxZQUFZLENBQVk7SUFFbEM7OztPQUdHO0lBQ0gsWUFBZ0MsZ0JBQWlDO1FBQWpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDN0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQTRCLENBQUM7U0FDMUU7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLHFCQUFxQjtRQUM1QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWUsQ0FBQyxJQUFlO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7WUFDMUIsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsbUJBQW1CO1lBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUMxQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO2dCQUN4QixNQUFNLEVBQUUsS0FBSztnQkFDYixPQUFPLEVBQUUsNkJBQTZCO2dCQUN0QyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7YUFDMUIsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO3dHQWpFaUIsMkJBQTJCOzRGQUEzQiwyQkFBMkIsZ0VBRm5DLEVBQUU7OzRGQUVNLDJCQUEyQjtrQkFKaEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsRUFBRTtpQkFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VXNlclZhbHVlfSBmcm9tICcuLi8uLi8uLi9kYXRhLWZpZWxkcy91c2VyLWZpZWxkL21vZGVscy91c2VyLXZhbHVlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7U2lkZU1lbnVDb250cm9sfSBmcm9tICcuLi8uLi9tb2RlbHMvc2lkZS1tZW51LWNvbnRyb2wnO1xuaW1wb3J0IHtVc2VyTGlzdEluamVjdGVkRGF0YX0gZnJvbSAnLi9tb2RlbC91c2VyLWxpc3QtaW5qZWN0ZWQtZGF0YSc7XG5pbXBvcnQge1Byb2Nlc3NSb2xlfSBmcm9tICcuLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3Byb2Nlc3Mtcm9sZSc7XG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogSXMgdGhlIG1haW4gLSBwYXJlbnQgY29tcG9uZW50IG9mIHRoZSBlbnRpcmUgdXNlciBhc3NpZ25tZW50IGluIHRoZSBzaWRlIG1lbnUuXG4gKlxuICogSG9sZHMgbG9naWMgbGluayBvZiB0aGUgW1VzZXJBc3NpZ25MaXN0Q29tcG9uZW50XXtAbGluayBBYnN0cmFjdFVzZXJBc3NpZ25MaXN0Q29tcG9uZW50fVxuICogYWxvbmcgd2l0aCBzZWFyY2hpbmcsIHNlbGVjdGluZywgYW5kIHRoZW4gYXNzaWduaW5nIHRvIHRoZSB1c2VyIGZpZWxkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25jYy1hYnN0cmFjdC11c2VyLWFzc2lnbicsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VXNlckFzc2lnbkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogRm9ybSBjb250cm9sIGZvciB1c2VyIHNlYXJjaCB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2VhcmNoVXNlckNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcblxuICAgIC8qKlxuICAgICAqIERhdGEgYWJvdXQgcHJlc2VsZWN0ZWQgdXNlciBzZW5kIGZyb20gW1VzZXJGaWVsZENvbXBvbmVudF17QGxpbmsgQWJzdHJhY3RVc2VyRmllbGRDb21wb25lbnR9LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmplY3RlZERhdGE6IFVzZXJMaXN0SW5qZWN0ZWREYXRhO1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgb2YgdGhlIGN1cnJlbnQgc2VsZWN0ZWQgdXNlci5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgX2N1cnJlbnRVc2VyOiBVc2VyVmFsdWU7XG5cbiAgICAvKipcbiAgICAgKiBJbmplY3QgYW5kIHNldCBkYXRhIHNlbmQgZnJvbSBbVXNlckZpZWxkQ29tcG9uZW50XXtAbGluayBBYnN0cmFjdFVzZXJGaWVsZENvbXBvbmVudH0gaWYgdGhlIHVzZXIgaXMgcHJlc2VsZWN0ZWQuXG4gICAgICogQHBhcmFtIF9zaWRlTWVudUNvbnRyb2wgQ29udGFpbnMgW1JvbGVzXXtAbGluayBQcm9jZXNzUm9sZX0gYW5kIFtVc2VyVmFsdWVde0BsaW5rIFVzZXJWYWx1ZX0uXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfc2lkZU1lbnVDb250cm9sOiBTaWRlTWVudUNvbnRyb2wpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NpZGVNZW51Q29udHJvbC5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmluamVjdGVkRGF0YSA9IHRoaXMuX3NpZGVNZW51Q29udHJvbC5kYXRhIGFzIFVzZXJMaXN0SW5qZWN0ZWREYXRhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHVzZXIgdGhhdCBpcyBpbml0aWFsbHkgc2VsZWN0ZWQsIG9yIGB1bmRlZmluZWRgIGlmIG5vbmUgaXNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGluaXRpYWxseVNlbGVjdGVkVXNlcigpOiBVc2VyVmFsdWUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5pbmplY3RlZERhdGEgPyB0aGlzLmluamVjdGVkRGF0YS52YWx1ZSBhcyBVc2VyVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCByb2xlcygpOiBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UHJvY2Vzc1JvbGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5qZWN0ZWREYXRhID8gdGhpcy5pbmplY3RlZERhdGEucm9sZXMgOiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG5lZ2F0aXZlUm9sZXMoKTogQXJyYXk8c3RyaW5nPiB8IEFycmF5PFByb2Nlc3NSb2xlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdGVkRGF0YSA/IHRoaXMuaW5qZWN0ZWREYXRhLm5lZ2F0aXZlUm9sZXMgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBzZWxlY3QgdXNlciBmcm9tIHVzZXJzIGFzc2lnbiBsaXN0IHB1Ymxpc2ggc2lkZSBtZW51IHdpdGggc2VsZWN0ZWQgdXNlciBhcyBkYXRhIGFuZCBtZXNzYWdlIGFib3V0IHNlbGVjdGlvbi5cbiAgICAgKiBAcGFyYW0gdXNlciBTZWxlY3QgY3VycmVudCB1c2VyIGFzIFtVc2VyVmFsdWVde0BsaW5rIFVzZXJWYWx1ZX1cbiAgICAgKi9cbiAgICBwdWJsaWMgdXNlcldhc1NlbGVjdGVkKHVzZXI6IFVzZXJWYWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jdXJyZW50VXNlciA9IHVzZXI7XG4gICAgICAgIHRoaXMuX3NpZGVNZW51Q29udHJvbC5wdWJsaXNoKHtcbiAgICAgICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdOZXcgc2VsZWN0ZWQgdXNlcicsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLl9jdXJyZW50VXNlclxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBhc3NpZ24gYnV0dG9uIGNsb3NlIHNpZGUgbWVudSB3aXRoIHNlbGVjdGVkIHVzZXIgYXMgZGF0YSBhbmQgbWVzc2FnZSBhYm91dCBjb25maXJtLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3NpZ24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jdXJyZW50VXNlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWRlTWVudUNvbnRyb2wuY2xvc2Uoe1xuICAgICAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ1NlbGVjdGVkIHVzZXIgd2FzIGNvbmZpcm1lZCcsXG4gICAgICAgICAgICAgICAgZGF0YTogdGhpcy5fY3VycmVudFVzZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19