{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"function","parameters":[],"value":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"}]},"UserModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"tnx-shared","name":"TnxSharedModule","line":13,"character":8}],"declarations":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"}},"exports":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵa"}}}]}],"members":{}},"UserWithRouteModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"UserModule"},{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"UserModule"}]}]}],"members":{}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"tnx-shared","name":"DataListBase","line":17,"character":35},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"user","providers":[{"__symbolic":"reference","module":"tnx-shared","name":"ComponentContextService","line":15,"character":16}],"template":"<div class=\"p-grid p-m-0\" style=\"height: 100%\">\n    <div class=\"p-col-12\">\n        <div class=\"custom-card card card-w-title\">\n            <div class=\"p-col-12 p-md-3 tn-l-left-content\">\n                <div class=\"tn-l-left-content-inner\">\n                    <tn-custom-scrollbar>\n                        <p-tree [style]=\"{'width': '100%'}\"\n                            styleClass=\"tn-tree-beauty tree-organization-picker tn-l-p-tree-table\"\n                            [value]=\"rootTreeNode\" emptyMessage=\"Không tìm thấy kết quả\"\n                            filterPlaceholder=\"Tìm phòng ban\" selectionMode=\"single\" [filter]=\"true\"\n                            [(selection)]=\"selectedTreeNode\" (onNodeExpand)=\"onNodeExpand($event)\"\n                            (onNodeSelect)=\"nodeSelect($event)\">\n                            <ng-template let-node pTemplate=\"default\">\n                                <span id=\"{{node.data}}\" class=\"custom-node\">{{node.label}}</span>\n                            </ng-template>\n                        </p-tree>\n                    </tn-custom-scrollbar>\n                </div>\n            </div>\n            <div class=\"p-col-12 p-md-9\">\n                <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\"\n                    (onCopyLink)=\"_copyLink($event)\" (onCopyLinkMultiple)=\"_copyLinkMultiple()\"\n                    (onCopyLink)=\"_copyLink($event)\" (onCopyLinkMultiple)=\"_copyLinkMultiple()\"\n                    (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\"\n                    (onView)=\"_view($event)\" [widthFunctionColumn]=\"'13rem'\" (onDelete)=\"_delete($event)\"\n                    (onDeleteMultiple)=\"_deleteMultiple($event)\" (onReloaded)=\"_unmarkLoading()\">\n\n                    <ng-template #buttonAfterToolbar>\n                        <button *ngIf=\"model.selectedItems.length > 0\" type=\"button\" pButton pRipple\n                            label=\"Reset mật khẩu\" icon=\"pi pi-undo\" class=\"p-button-text p-button-danger\"\n                            (click)=\"resetPasswordSelected()\"></button>\n                        <button type=\"button\" pButton pRipple label=\"Reset mật khẩu\" icon=\"pi pi-undo\"\n                            class=\"p-button-text p-button-danger\" style=\"display: none\"\n                            (click)=\"resetPasswordAll()\"></button>\n                    </ng-template>\n\n                    <ng-template let-crudList=\"crudList\" #function let-rowData=\"rowData\">\n\n                        <div class=\"p-toolbar-group-center button-group\">\n\n                            <button type=\"button\" pButton pRipple pTooltip=\"{{'FORM.EDIT' | translate}}\"\n                                tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-info link-or-action\" icon=\"pi pi-pencil\"\n                                (click)=\"_edit(rowData)\"></button>\n\n                            <button type=\"button\" pButton pRipple pTooltip=\"{{'Đổi mật khẩu' | translate}}\"\n                                tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-info link-or-action\" icon=\"fas fa-key\"\n                                (click)=\"resetPassword(rowData)\"></button>\n\n                            <button *ngIf=\"rowData.lockoutEnabled == false\" type=\"button\" pButton pRipple\n                                pTooltip=\"{{'Khóa người dùng' | translate}}\" tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-info link-or-action\" icon=\"fas fa-lock\"\n                                (click)=\"deactive(rowData)\"></button>\n\n                            <button *ngIf=\"rowData.lockoutEnabled == true\" type=\"button\" pButton pRipple\n                                pTooltip=\"{{'Mở khóa người dùng' | translate}}\" tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-info link-or-action\"\n                                icon=\"fas fa-lock-open\" (click)=\"active(rowData)\"></button>\n\n                            <button *ngIf=\"rowData.isSuperUser == false\" type=\"button\" pButton pRipple\n                                pTooltip=\"{{'Xét quản trị viên' | translate}}\" tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-info link-or-action\"\n                                icon=\"fas fa-user-cog\" (click)=\"setIsManager(rowData,true)\"></button>\n\n                            <button *ngIf=\"rowData.isSuperUser == true\" type=\"button\" pButton pRipple\n                                pTooltip=\"{{'Xóa quản trị viên' | translate}}\" tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-info link-or-action\"\n                                icon=\"fas fa-user-cog\" (click)=\"setIsManager(rowData,false)\"></button>\n\n                            <button type=\"button\" pButton pRipple pTooltip=\"{{'FORM.DELETE' | translate}}\"\n                                tooltipPosition=\"top\"\n                                class=\"p-button-rounded p-button-text p-button-danger link-or-action\"\n                                icon=\"far fa-trash-alt\" (click)=\"_delete(rowData)\"></button>\n\n                        </div>\n\n                    </ng-template>\n\n                </crud-list>\n            </div>\n        </div>\n    </div>\n\n</div>\n\n\n<tn-dialog *ngIf=\"showDetailForm\" #dialog [styleClass]=\"'address-form'\" [header]=\"setting.popupHeader | translate\"\n    [popupSize]=\"setting.popupSize\" (onHide)=\"showDetailForm = false\">\n    <user-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"formModel\" (onSaved)=\"_handleSaved()\"\n        (onCancel)=\"_handleCancel($event)\"></user-form>\n</tn-dialog>\n\n<tn-dialog *ngIf=\"showResetPasswordForm\" #dialog [styleClass]=\"'address-form'\"\n    [header]=\"'Khôi phục mật khẩu' | translate\" [popupSize]=\"{width: 500, height: 300}\"\n    (onHide)=\"showResetPasswordForm = false\">\n    <app-reset-password #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"formModel\"\n        (onSaved)=\"handleResetPassword()\" (onCancel)=\"handleCancelResetPasswordForm($event)\"></app-reset-password>\n</tn-dialog>\n","styles":[".custom-card{box-shadow:none;display:flex;max-height:calc(100vh - 76px);min-height:calc(100vh - 76px);overflow:auto;padding:0!important}.tn-l-left-content-inner{border:1px solid #ddd;height:100%}::ng-deep user .tn-l-p-tree-table{border:none;padding:0}::ng-deep user .p-tree .p-tree-filter-container{background-color:#fff;margin-bottom:0;padding:.5em;position:-webkit-sticky;position:sticky;top:0;z-index:4}::ng-deep user .p-tree-empty-message{padding:.5rem}::ng-deep user .p-tree .p-tree-filter-container .p-tree-filter-icon{right:1rem}::ng-deep user .p-tree-container{padding:.5rem}::ng-deep user .ps__rail-y{z-index:10}::ng-deep user crud-list>.custom-card{box-shadow:none;min-height:calc(100vh - 90px)!important;padding:0!important}::ng-deep user crud-list .function-topbar .p-button.p-button-text{margin-left:.2em}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":44,"character":29},{"__symbolic":"reference","module":"tnx-shared","name":"UserV5Service","line":45,"character":34},{"__symbolic":"reference","module":"tnx-shared","name":"OrganizationService","line":46,"character":38},{"__symbolic":"reference","module":"tn-custom-primeng/api","name":"ConfirmationService","line":47,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"deactive":[{"__symbolic":"method"}],"active":[{"__symbolic":"method"}],"setIsManager":[{"__symbolic":"method"}],"initTree":[{"__symbolic":"method"}],"onNodeExpand":[{"__symbolic":"method"}],"nodeSelect":[{"__symbolic":"method"}],"resetPassword":[{"__symbolic":"method"}],"handleCancelResetPasswordForm":[{"__symbolic":"method"}],"handleResetPassword":[{"__symbolic":"method"}],"resetPasswordSelected":[{"__symbolic":"method"}],"resetPasswordAll":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"tnx-shared","name":"DataFormBase","line":21,"character":39},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"user-form","providers":[{"__symbolic":"reference","module":"tnx-shared","name":"ComponentContextService","line":19,"character":16}],"template":"<crud-form #crudForm [(data)]=\"model.data\" [setting]=\"setting\" [context]=\"context\" [disableCaching]=\"true\"\n    (onFormReady)=\"_handleFormReady($event)\" >\n</crud-form>\n\n\n<ng-template #buttonTemplate>\n    <button *ngIf=\"!model.data.__disableEdit && !__isFormView\" type=\"button\" pButton icon=\"pi pi-save\" class=\"p-button-text\"\n        [label]=\"'FORM.SAVE' | translate\" (click)=\"_handleSave($event)\"></button>\n    <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\n        [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"_handleCancel($event)\"></button>\n</ng-template>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":24,"character":29},{"__symbolic":"reference","module":"tnx-shared","name":"UserV5Service","line":25,"character":34},{"__symbolic":"reference","module":"tnx-shared","name":"OrganizationService","line":26,"character":38}]}],"ngOnInit":[{"__symbolic":"method"}],"onFormInitialized":[{"__symbolic":"method"}],"modifyDetailData":[{"__symbolic":"method"}],"onBeforeSave":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"tnx-shared","name":"DataFormBase","line":9,"character":44},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"app-reset-password","providers":[{"__symbolic":"reference","module":"tnx-shared","name":"ComponentContextService","line":7,"character":16}],"template":"<crud-form #crudForm [(data)]=\"model.data\" [setting]=\"setting\" [context]=\"context\" [disableCaching]=\"true\"\n    (onFormReady)=\"_handleFormReady($event)\">\n</crud-form>\n\n\n<ng-template #buttonTemplate>\n    <button *ngIf=\"!model.data.__disableEdit && !__isFormView\" type=\"button\" pButton icon=\"pi pi-save\" class=\"p-button-text\"\n        [label]=\"'FORM.SAVE' | translate\" (click)=\"_handleSave($event)\"></button>\n    <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\n        [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"_handleCancel($event)\"></button>\n</ng-template>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":12,"character":29},{"__symbolic":"reference","module":"tnx-shared","name":"UserV5Service","line":13,"character":34},{"__symbolic":"reference","module":"tnx-shared","name":"UserService","line":14,"character":29}]}],"ngOnInit":[{"__symbolic":"method"}],"getPromiseActionInsert":[{"__symbolic":"method"}],"getPromiseActionUpdate":[{"__symbolic":"method"}],"onFormInitialized":[{"__symbolic":"method"}],"modifyDetailData":[{"__symbolic":"method"}],"onAfterGetDetail":[{"__symbolic":"method"}],"onBeforeSave":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":10,"character":26},"member":"forChild"},"arguments":[[{"path":"","component":{"__symbolic":"reference","name":"ɵb"}}]]}},"origins":{"ɵa":"./user.module","UserModule":"./user.module","UserWithRouteModule":"./user.module","ɵb":"./user.component","ɵc":"./user-form/user-form.component","ɵd":"./reset-password/reset-password.component","ɵe":"./user.routing"},"importAs":"tnx-admin-service/user"}