ngx-techlify-core 14.9.3 → 14.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3960,6 +3960,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
3960
3960
  type: Output
3961
3961
  }] } });
3962
3962
 
3963
+ var UserTypeEnum;
3964
+ (function (UserTypeEnum) {
3965
+ UserTypeEnum[UserTypeEnum["ADMIN"] = 1] = "ADMIN";
3966
+ UserTypeEnum[UserTypeEnum["CLIENT_ADMIN"] = 2] = "CLIENT_ADMIN";
3967
+ UserTypeEnum[UserTypeEnum["CLIENT_USER"] = 3] = "CLIENT_USER";
3968
+ })(UserTypeEnum || (UserTypeEnum = {}));
3969
+
3963
3970
  /* tslint:disable:radix */
3964
3971
  class RequestHelperService {
3965
3972
  constructor(router, activatedRoute) {
@@ -4221,11 +4228,14 @@ let UsersViewAllComponent = class UsersViewAllComponent {
4221
4228
  * @param user User
4222
4229
  */
4223
4230
  getUserType(user) {
4224
- const userClient = user?.user_clients.find((item) => item?.client_id === this.currentUser?.client_id);
4225
- if (userClient) {
4226
- return userClient?.type?.title;
4231
+ let userClient;
4232
+ if (this.currentUserService.getUser()?.user_type_id === UserTypeEnum.ADMIN && !!this.clientId) {
4233
+ userClient = user?.user_clients.find((item) => item?.client_id === this.clientId);
4227
4234
  }
4228
- return '';
4235
+ else {
4236
+ userClient = user?.user_clients.find((item) => item?.client_id === this.currentUser?.client_id);
4237
+ }
4238
+ return userClient?.type?.title || '';
4229
4239
  }
4230
4240
  };
4231
4241
  UsersViewAllComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UsersViewAllComponent, deps: [{ token: HttpService }, { token: AlertService }, { token: CurrentUserService }, { token: UserConfigService }, { token: i1.MatDialog }, { token: UserService }, { token: i1$4.UntypedFormBuilder }, { token: RequestHelperService }], target: i0.ɵɵFactoryTarget.Component });
@@ -12925,6 +12935,94 @@ var restrictors_module = /*#__PURE__*/Object.freeze({
12925
12935
  RestrictorsModule: RestrictorsModule
12926
12936
  });
12927
12937
 
12938
+ class TechlifyCompanySwitcherComponent {
12939
+ constructor(http, credentialsService, alertService, currentUserService) {
12940
+ this.http = http;
12941
+ this.credentialsService = credentialsService;
12942
+ this.alertService = alertService;
12943
+ this.currentUserService = currentUserService;
12944
+ this.userClients = [];
12945
+ this.user = this.credentialsService.credentials?.user;
12946
+ }
12947
+ ngOnInit() {
12948
+ this.loadUserClients();
12949
+ }
12950
+ /**
12951
+ * Load User Clients.
12952
+ */
12953
+ loadUserClients() {
12954
+ this.http.get('api/user-clients').subscribe({
12955
+ next: (response) => {
12956
+ this.userClients = response?.data;
12957
+ }
12958
+ });
12959
+ }
12960
+ /**
12961
+ * Switch the company.
12962
+ *
12963
+ * @param userClient
12964
+ */
12965
+ switchClient(userClient) {
12966
+ // Do nothing is same client selected
12967
+ if (this.user.client_id === userClient.client_id) {
12968
+ return;
12969
+ }
12970
+ // Send request to change the client if client is different
12971
+ this.http.get(`api/switch-company/${userClient?.id}`).subscribe({
12972
+ next: (response) => {
12973
+ const data = {};
12974
+ this.alertService.addAlert(`Company switched to ${userClient?.client?.name}.`, 'success');
12975
+ const tokenInfo = response;
12976
+ tokenInfo.expires_in = Date.now() + (tokenInfo.expires_in * 1000);
12977
+ data.token = tokenInfo;
12978
+ data.user = {};
12979
+ this.credentialsService.setCredentials(data, true);
12980
+ // Update the auth status of the user.
12981
+ this.currentUserService.updateAuthStatus(true);
12982
+ return this.http.get('api/user/current').subscribe((response) => {
12983
+ data.user = response?.user;
12984
+ // set the user and reload the page
12985
+ this.credentialsService.setCredentials(data, true);
12986
+ this.user = data.user;
12987
+ window.location.reload();
12988
+ });
12989
+ }
12990
+ });
12991
+ }
12992
+ }
12993
+ TechlifyCompanySwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TechlifyCompanySwitcherComponent, deps: [{ token: HttpService }, { token: CredentialsService }, { token: AlertService }, { token: CurrentUserService }], target: i0.ɵɵFactoryTarget.Component });
12994
+ TechlifyCompanySwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: TechlifyCompanySwitcherComponent, selector: "app-techlify-company-switcher", ngImport: i0, template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let userClient of userClients\"\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
12995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TechlifyCompanySwitcherComponent, decorators: [{
12996
+ type: Component,
12997
+ args: [{ selector: 'app-techlify-company-switcher', template: "<div\n mat-menu-item\n [matMenuTriggerFor]=\"menu\"\n>\n {{ user.client?.name }}\n</div>\n<mat-menu #menu=\"matMenu\">\n <button\n mat-menu-item\n *ngFor=\"let userClient of userClients\"\n (click)=\"switchClient(userClient)\"\n [disabled]=\"!userClient.is_enabled || userClient.client?.status_id == 3\"\n >\n <div class=\"d-flex justify-content-start align-items-center gap-2\">\n <span>\n {{ userClient?.client?.name }}\n </span>\n <span *ngIf=\"userClient?.client_id === user.client_id\" class=\"active-company\"></span>\n <span *ngIf=\"!userClient.is_enabled\">(disabled)</span>\n <span *ngIf=\"userClient.client?.status_id == 3\">(Inactive)</span>\n </div>\n </button>\n</mat-menu>\n", styles: [".active-company{width:10px;height:10px;background-color:#00ce00;border-radius:50%}\n"] }]
12998
+ }], ctorParameters: function () { return [{ type: HttpService }, { type: CredentialsService }, { type: AlertService }, { type: CurrentUserService }]; } });
12999
+
13000
+ class TechlifyCompanySwitcherModule {
13001
+ }
13002
+ TechlifyCompanySwitcherModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TechlifyCompanySwitcherModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13003
+ TechlifyCompanySwitcherModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: TechlifyCompanySwitcherModule, declarations: [TechlifyCompanySwitcherComponent], imports: [CommonModule,
13004
+ MatMenuModule,
13005
+ MatButtonModule], exports: [TechlifyCompanySwitcherComponent] });
13006
+ TechlifyCompanySwitcherModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TechlifyCompanySwitcherModule, imports: [CommonModule,
13007
+ MatMenuModule,
13008
+ MatButtonModule] });
13009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: TechlifyCompanySwitcherModule, decorators: [{
13010
+ type: NgModule,
13011
+ args: [{
13012
+ declarations: [
13013
+ TechlifyCompanySwitcherComponent
13014
+ ],
13015
+ exports: [
13016
+ TechlifyCompanySwitcherComponent
13017
+ ],
13018
+ imports: [
13019
+ CommonModule,
13020
+ MatMenuModule,
13021
+ MatButtonModule
13022
+ ]
13023
+ }]
13024
+ }] });
13025
+
12928
13026
  /*
12929
13027
  * Public API Surface of ngx-techlify-core
12930
13028
  */
@@ -12933,5 +13031,5 @@ var restrictors_module = /*#__PURE__*/Object.freeze({
12933
13031
  * Generated bundle index. Do not edit.
12934
13032
  */
12935
13033
 
12936
- export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, CommentFormComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, MultiUserConfig, NgxTechlifyNotifierComponent, NgxTechlifyNotifierModule, NgxTechlifyNotifierRoutingModule, NgxTechlifyUsersModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberSelector, PageEvent, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyNotficationSubscriberDashboardComponent, TechlifyNotficationSubscriberDashboardModule, TechlifyNotficationSubscriberDashboardRoutingModule, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyNotificationSubscriberFormComponent, TechlifyNotificationSubscriberFormModule, TechlifyNotificationSubscriberListComponent, TechlifyNotificationSubscriberListFilterComponent, TechlifyNotificationSubscriberListFilterModule, TechlifyNotificationSubscriberListModule, TechlifyNotificationSubscriberListRoutingModule, TechlifyNotificationSubscriberModule, TechlifyNotificationSubscriberRoutingModule, TechlifyNotificationSubscriptionEntity, TechlifyNotificationTypeFormComponent, TechlifyNotificationTypeFormModule, TechlifyNotificationTypeListComponent, TechlifyNotificationTypeListModule, TechlifyNotificationTypeListRoutingModule, TechlifyNotificationTypeModule, TechlifyNotificationTypeRoutingModule, TechlifyNotificationUserStatus, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserConfig, UserConfigService, UserDataService, UserExploreComponent, UserFormComponent, UserListPageConfig, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UsersViewAllComponent, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr };
13034
+ export { AccessControlConfigModule, ActionPopup, ActionPopupComponent, ActionPopupModule, AlertService, ApiPrefixInterceptor, AuditLogForModelComponent, AuditLogForModelModule, AuditLogForModelRoutingModule, AuditLogListComponent, AuditLogListFilterComponent, AuditLogListFilterModule, AuditLogListFilterRoutingModule, AuditLogListModule, AuditLogListRoutingModule, AuditLogModule, AuditLogRoutingModule, AuditLogViewComponent, AuditLogViewModelComponent, AuditLogViewModelModule, AuditLogViewModelRoutingModule, AuditLogViewModule, AuditLogViewRoutingModule, AuditLogsViewModelComponent, AuditLogsViewModelModule, AuditLogsViewModelRoutingModule, AuthenticationGuard, AuthenticationService, CacheInterceptor, ChangePasswordModule, CommentFormComponent, ConfigService, CoreModule, CredentialsService, CurrentUserService, DataManager, DataTable, DataTableComponent, DataTableModule, DateUtils, DateValidator, DocumentViewerComponent, DocumentViewerModule, EmailSubscriptionForUserComponent, EmailSubscriptionForUserModule, EmailSubscriptionForUserRoutingModule, EmailSubscriptionModule, EmailSubscriptionRoutingModule, EmailSubscriptionTypeFormComponent, EmailSubscriptionTypeFormModule, EmailSubscriptionTypeFormRoutingModule, EmailSubscriptionTypeListComponent, EmailSubscriptionTypeListModule, EmailSubscriptionTypeListRoutingModule, EmailSubscriptionTypeModule, EmailSubscriptionTypeRoutingModule, EmailSubscriptionUserFormComponent, EmailSubscriptionUserFormModule, EmailSubscriptionUserFormRoutingModule, EmailSubscriptionUserListComponent, EmailSubscriptionUserListFilterComponent, EmailSubscriptionUserListFilterModule, EmailSubscriptionUserListFilterRoutingModule, EmailSubscriptionUserListModule, EmailSubscriptionUserListRoutingModule, EmailSubscriptionUserModule, EmailSubscriptionUserRoutingModule, EntityFileFormComponent, EntityFileService, EntityFilesViewAllComponent, EntityFilesViewAllModule, ErrorHandlerInterceptor, ErrorHandlerService, ErrorSnackComponent, ExportExcelButtonComponent, ExportExcelModule, FileDropperComponent, FileDropperConfig, FileDropperModule, FilterService, ForgotPasswordComponent, ForgotPasswordModule, ForgotPasswordRoutingModule, FormValidatorService, HTTP_DYNAMIC_INTERCEPTORS, HttpCacheService, HttpService, ImportCsvComponent, ImportCsvModule, LoaderComponent, LoaderModule, LogLevel, Logger, LoginComponent, LoginHistoryForUserComponent, LoginHistoryForUserModule, LoginHistoryForUserRoutingModule, LoginModule, LoginRoutingModule, MatSelectInfiniteScrollDirective, MaterialModule, MultiUserConfig, NgxTechlifyNotifierComponent, NgxTechlifyNotifierModule, NgxTechlifyNotifierRoutingModule, NgxTechlifyUsersModule, NoteFormComponent, NoteListComponent, NoteModule, NumItemsSelector, NumberSelector, PageEvent, Permission, PermissionModule, PermissionRoutingProvider, PermissionsManagementComponent, ProfileEditComponent, ProfileModule, ProfileRoutingModule, ReadMoreComponent, ReadMoreModule, RequestHelperService, RestrictorTypeSelectorComponent, RestrictorTypeSelectorModule, RestrictorsModule, Role, RoleFormComponent, RoleModule, RoleRoutingProvider, RoleService, RolesViewAllComponent, RouteReusableStrategy, SearchableSelectorComponent, SearchableSelectorModule, SignUpComponent, SignupModule, SignupRoutingModule, SnackModule, StorageService, SuccessSnackComponent, TechlifyCompanySwitcherComponent, TechlifyCompanySwitcherModule, TechlifyConfig, TechlifyFeatureEnabledDirective, TechlifyFeatureListingComponent, TechlifyFeatureModule, TechlifyFeatureRoutes, TechlifyFormComponentInterface, TechlifyListingControllerInterface, TechlifyNotficationSubscriberDashboardComponent, TechlifyNotficationSubscriberDashboardModule, TechlifyNotficationSubscriberDashboardRoutingModule, TechlifyNotificationForUserComponent, TechlifyNotificationForUserModule, TechlifyNotificationForUserRoutingModule, TechlifyNotificationModule, TechlifyNotificationRoutingModule, TechlifyNotificationSubscriberFormComponent, TechlifyNotificationSubscriberFormModule, TechlifyNotificationSubscriberListComponent, TechlifyNotificationSubscriberListFilterComponent, TechlifyNotificationSubscriberListFilterModule, TechlifyNotificationSubscriberListModule, TechlifyNotificationSubscriberListRoutingModule, TechlifyNotificationSubscriberModule, TechlifyNotificationSubscriberRoutingModule, TechlifyNotificationSubscriptionEntity, TechlifyNotificationTypeFormComponent, TechlifyNotificationTypeFormModule, TechlifyNotificationTypeListComponent, TechlifyNotificationTypeListModule, TechlifyNotificationTypeListRoutingModule, TechlifyNotificationTypeModule, TechlifyNotificationTypeRoutingModule, TechlifyNotificationUserStatus, TechlifyServiceBaseClass, TechlifyTaggerTagFormConfigModel, TechlifyTaggerTagFormFieldComponent, TechlifyTaggerTagFormFieldModule, TechlifyTaggerTagSelectorComponent, TechlifyTaggerTagSelectorModule, TechlifyUpdateHistoryModule, TechlifyUpdateModule, TechlifyUpdateService, TechlifyUpdatesTeaserComponent, TechlifyUpdatesTeaserModule, Timeline, TimelineFilterComponent, TimelineFilterModule, TokenInterceptor, UpdateNotifierComponent, UpdateNotifierModule, User, UserConfig, UserConfigService, UserDataService, UserExploreComponent, UserFormComponent, UserListPageConfig, UserModule, UserRoutingProvider, UserSelectorComponent, UserSelectorModule, UserService, UsersViewAllComponent, UtilityModule, ViewerConfig, calculateTimeline, esfur, estlr, esulr };
12937
13035
  //# sourceMappingURL=ngx-techlify-core.mjs.map