UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

81 lines 9.46 kB
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