@indigina/ui-kit 1.1.239 → 1.1.240

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.
@@ -24,7 +24,7 @@ import * as i1$6 from 'ngx-toastr';
24
24
  import { DefaultGlobalConfig, TOAST_CONFIG, ToastrModule } from 'ngx-toastr';
25
25
  import * as i1$7 from '@angular/router';
26
26
  import { RouterModule, NavigationEnd, RouterLink } from '@angular/router';
27
- import { BehaviorSubject, filter, Subject, startWith, pairwise, takeUntil, combineLatest, tap, map, debounceTime, distinctUntilChanged, take, switchMap, of, catchError, forkJoin } from 'rxjs';
27
+ import { BehaviorSubject, filter, Subject, startWith, pairwise, takeUntil, combineLatest, tap, debounceTime, distinctUntilChanged, map, take, switchMap, of, catchError, forkJoin } from 'rxjs';
28
28
  import * as i1$8 from '@progress/kendo-angular-dialog';
29
29
  import { KENDO_DIALOGS, DialogActionsComponent, DialogContentBase, DialogCloseResult, DialogRef } from '@progress/kendo-angular-dialog';
30
30
  export { DialogAction, DialogCloseResult, DialogContentBase, DialogRef } from '@progress/kendo-angular-dialog';
@@ -6794,6 +6794,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
6794
6794
  }]
6795
6795
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }] });
6796
6796
 
6797
+ const kitHasPermission = (permission, permissions) => {
6798
+ if (!permission.category) {
6799
+ return true;
6800
+ }
6801
+ const categoryPermissions = permissions[permission.category];
6802
+ if (!categoryPermissions) {
6803
+ return false;
6804
+ }
6805
+ if (permission.type) {
6806
+ if (Array.isArray(permission.type)) {
6807
+ return permission.type.some(type => categoryPermissions.includes(type));
6808
+ }
6809
+ else {
6810
+ return categoryPermissions.includes(permission.type);
6811
+ }
6812
+ }
6813
+ return categoryPermissions.length > 0;
6814
+ };
6815
+ const kitGetPermissionTypesByCategory = (category, permissions) => permissions?.[category] ?? [];
6816
+
6797
6817
  class KitGlobalSearchComponent {
6798
6818
  documentClick(event) {
6799
6819
  if (!this.popup()?.isPopupOpen) {
@@ -6817,7 +6837,6 @@ class KitGlobalSearchComponent {
6817
6837
  this.popup = viewChild('popup', ...(ngDevMode ? [{ debugName: "popup", read: KitPopupComponent }] : [{ read: KitPopupComponent }]));
6818
6838
  this.container = viewChild.required('container', { read: ViewContainerRef });
6819
6839
  this.kitSvgIcon = KitSvgIcon;
6820
- this.kitTextboxSize = KitTextboxSize;
6821
6840
  this.kitSvgIconType = KitSvgIconType;
6822
6841
  this.kitPillTheme = KitPillTheme;
6823
6842
  this.kitButtonType = KitButtonType;
@@ -6828,7 +6847,7 @@ class KitGlobalSearchComponent {
6828
6847
  this.searchResults = signal([], ...(ngDevMode ? [{ debugName: "searchResults" }] : []));
6829
6848
  this.searchValue = '';
6830
6849
  this.showPropmts = signal(true, ...(ngDevMode ? [{ debugName: "showPropmts" }] : []));
6831
- this.userPermissions$ = this.store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(map(data => data.permissions));
6850
+ this.userPermissions$ = this.store.select(KIT_USER_PERMISSIONS_STATE_TOKEN);
6832
6851
  this.selectedFilters$ = new BehaviorSubject([]);
6833
6852
  this.isLoading = signal(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
6834
6853
  this.expandedFilters = new Set();
@@ -6946,8 +6965,7 @@ class KitGlobalSearchComponent {
6946
6965
  return String(value);
6947
6966
  }
6948
6967
  hasPermissionToShowPrompt(userPermissions, promptPermissions) {
6949
- const normalizedUserPermissions = new Set(userPermissions);
6950
- return promptPermissions.some(permission => normalizedUserPermissions.has(permission));
6968
+ return kitHasPermission(promptPermissions, userPermissions);
6951
6969
  }
6952
6970
  findFilter(filterField) {
6953
6971
  return this.selectedFilters.find(selectedFilter => selectedFilter.field === filterField) || null;
@@ -6990,12 +7008,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
6990
7008
  }] } });
6991
7009
 
6992
7010
  const mapGlobalSearchResult = (store, requiredPermission, dataFetcher, categoryName, routeConfig, itemMapper) => {
6993
- return store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(map(state => state.permissions), tap(permissions => {
6994
- if (!permissions) {
7011
+ return store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(tap(permissions => {
7012
+ if (Object.keys(permissions).length) {
6995
7013
  store.dispatch(new FetchUserPermissions());
6996
7014
  }
6997
- }), filter(Boolean), take(1), switchMap(permissions => {
6998
- if (!permissions.includes(requiredPermission)) {
7015
+ }), filter(permissions => !!Object.keys(permissions).length), take(1), switchMap(permissions => {
7016
+ if (kitHasPermission(requiredPermission, permissions)) {
6999
7017
  return of(null);
7000
7018
  }
7001
7019
  return dataFetcher().pipe(map(data => ({
@@ -8073,7 +8091,7 @@ class KitGridViewsComponent {
8073
8091
  this.skipQueryParamsUpdate = signal(false, ...(ngDevMode ? [{ debugName: "skipQueryParamsUpdate" }] : []));
8074
8092
  this.needToResetQueryParams = signal(false, ...(ngDevMode ? [{ debugName: "needToResetQueryParams" }] : []));
8075
8093
  this.userPermissions = this.store.selectSignal(KIT_USER_PERMISSIONS_STATE_TOKEN);
8076
- this.allowedSystemViews = computed(() => this.systemViews().filter(view => !view.permission || this.userPermissions().permissions.includes(view.permission)), ...(ngDevMode ? [{ debugName: "allowedSystemViews" }] : []));
8094
+ this.allowedSystemViews = computed(() => this.systemViews().filter(view => view.permission && kitHasPermission(view.permission, this.userPermissions()) || true), ...(ngDevMode ? [{ debugName: "allowedSystemViews" }] : []));
8077
8095
  }
8078
8096
  ngOnInit() {
8079
8097
  this.fetchViews();
@@ -9721,15 +9739,14 @@ class KitMenuBuilderService {
9721
9739
  }
9722
9740
  filter(items, permissions) {
9723
9741
  return items.reduce((menuItems, item) => {
9724
- if (!item.permission || permissions?.includes(item.permission)) {
9725
- const childItems = item.items && this.filter(item.items, permissions) || [];
9726
- if (!item.items || childItems.length) {
9727
- menuItems.push({
9728
- ...item,
9729
- title: this.translateService.instant(item.title),
9730
- items: childItems.length && childItems || item.items,
9731
- });
9732
- }
9742
+ const hasPermission = item.permission ? kitHasPermission(item.permission, permissions) : false;
9743
+ const childItems = item.items ? this.filter(item.items, permissions) : [];
9744
+ if (hasPermission || childItems.length || !item.permission && !item.items) {
9745
+ menuItems.push({
9746
+ ...item,
9747
+ title: this.translateService.instant(item.title),
9748
+ items: childItems.length && childItems || undefined,
9749
+ });
9733
9750
  }
9734
9751
  return menuItems;
9735
9752
  }, []);
@@ -9749,7 +9766,7 @@ class KitSidebarComponent {
9749
9766
  this.store = store;
9750
9767
  this.kitMenuBuilderService = kitMenuBuilderService;
9751
9768
  this.menuItems = input.required(...(ngDevMode ? [{ debugName: "menuItems" }] : []));
9752
- this.menuItems$ = this.store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(map(({ permissions }) => this.kitMenuBuilderService.build(this.menuItems(), permissions)));
9769
+ this.menuItems$ = this.store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(map(permissions => this.kitMenuBuilderService.build(this.menuItems(), permissions)));
9753
9770
  this.appsMenuItems$ = this.store.select(KIT_USER_APPLICATIONS_STATE_TOKEN).pipe(map(userApplications => userApplications.applications?.map(({ name, url }) => ({
9754
9771
  name,
9755
9772
  url,
@@ -9812,8 +9829,8 @@ class KitTopBarUserComponent {
9812
9829
  this.translateService = translateService;
9813
9830
  this.menuItems = input([], ...(ngDevMode ? [{ debugName: "menuItems" }] : []));
9814
9831
  this.user$ = this.store.select(KIT_USER_STATE_TOKEN);
9815
- this.menuItems$ = this.store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(map(userPermissions => userPermissions.permissions), map(userPermissions => this.menuItems()
9816
- .filter(item => !item.permission || userPermissions?.includes(item.permission))
9832
+ this.menuItems$ = this.store.select(KIT_USER_PERMISSIONS_STATE_TOKEN).pipe(map(userPermissions => this.menuItems()
9833
+ .filter(item => !item.permission || kitHasPermission(item.permission, userPermissions))
9817
9834
  .map(item => ({
9818
9835
  ...item,
9819
9836
  title: this.translateService.instant(item.title),
@@ -10105,5 +10122,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImpor
10105
10122
  * Generated bundle index. Do not edit.
10106
10123
  */
10107
10124
 
10108
- export { AbstractKitCtaPanelConfirmationComponent, AddGridFilter, FetchUser, FetchUserPermissions, FetchUserSettings, HighlightPipe, KIT_BASE_PATH, KIT_DATETIME_FORMAT_LONG, KIT_DATE_FORMAT, KIT_GRID_CELL_DATE_FORMAT_CONFIG, KIT_GRID_STATE_TOKEN, KIT_USER_PATH, KIT_USER_PERMISSIONS_PATH, KIT_USER_PERMISSIONS_STATE_TOKEN, KIT_USER_STATE_TOKEN, KitAutocompleteComponent, KitAutocompleteDirective, KitAutocompleteModule, KitAvatarComponent, KitAvatarModule, KitAvatarSize, KitBadgeDirective, KitBadgeTheme, KitBreadcrumbsComponent, KitBreadcrumbsModule, KitBreadcrumbsService, KitButtonComponent, KitButtonIconPosition, KitButtonKind, KitButtonModule, KitButtonState, KitButtonType, KitCardComponent, KitCardModule, KitCardTheme, KitCheckboxComponent, KitCheckboxModule, KitCheckboxState, KitCollapsedListComponent, KitCollapsedListDropdownAlign, KitCopyTextComponent, KitCopyTextModule, KitCtaPanelAbstractConfirmationComponent, KitCtaPanelAbstractConfirmationModule, KitCtaPanelActionComponent, KitCtaPanelActionModule, KitCtaPanelConfirmationComponent, KitCtaPanelConfirmationModule, KitCtaPanelItemComponent, KitCtaPanelItemModule, KitCtaPanelItemType, KitDataFieldComponent, KitDataFieldState, KitDatepickerComponent, KitDatepickerModule, KitDatepickerSize, KitDaterangeComponent, KitDaterangeModule, KitDaterangeType, KitDatetimepickerComponent, KitDatetimepickerModule, KitDialogActionsComponent, KitDialogComponent, KitDialogService, KitDropdownComponent, KitDropdownItemTemplateDirective, KitDropdownModule, KitDropdownSize, KitEmptySectionComponent, KitEntityGridComponent, KitEntitySectionComponent, KitEntitySectionContainerComponent, KitEntityTitleComponent, KitEntityTitleModule, KitFileCardComponent, KitFileCardMessagesComponent, KitFileCardModule, KitFileUploadComponent, KitFileUploadModule, KitFilterCheckboxComponent, KitFilterLogic, KitFilterOperator, KitFilterType, KitGlobalSearchComponent, KitGridCellComponent, KitGridCellService, KitGridCellTemplateDirective, KitGridColumnComponent, KitGridColumnManagerComponent, KitGridComponent, KitGridDetailTemplateDirective, KitGridDetailsButtonComponent, KitGridExportComponent, KitGridFiltersComponent, KitGridModule, KitGridSearchComponent, KitGridSortSettingsMode, KitGridState, KitGridUrlStateService, KitGridViewType, KitGridViewsComponent, KitGridViewsState, KitInputLabelComponent, KitInputLabelModule, KitInputMessageComponent, KitInputMessageModule, KitLoaderComponent, KitLoaderModule, KitLocationStepperComponent, KitLocationStepperModule, KitMobileHeaderComponent, KitMobileMenuComponent, KitMobileMenuState, KitMultiselectComponent, KitMultiselectModule, KitNavigationMenuComponent, KitNavigationMenuModule, KitNavigationMenuService, KitNavigationMenuSubmenuComponent, KitNavigationTabsComponent, KitNavigationTabsModule, KitNavigationTabsType, KitNoteComponent, KitNoteModule, KitNotificationComponent, KitNotificationService, KitNotificationType, KitNumericTextboxComponent, KitNumericTextboxModule, KitNumericTextboxSize, KitNumericTextboxState, KitOptionToggleComponent, KitPageLayoutComponent, KitPermissionDirective, KitPermissionModule, KitPillComponent, KitPillTheme, KitPillType, KitPopupAlignHorizontal, KitPopupAlignVertical, KitPopupComponent, KitPopupPositionMode, KitProfileMenuComponent, KitQueryParamsName, KitQueryParamsService, KitRadioButtonComponent, KitRadioButtonModule, KitRadioButtonType, KitRoutePathComponent, KitSchedulerComponent, KitSchedulerMonthEventTemplateDirective, KitSchedulerWeekEventTemplateDirective, KitScrollNavigationComponent, KitScrollNavigationSectionComponent, KitSearchBarComponent, KitSearchBarModule, KitSidebarComponent, KitSkeletonAnimation, KitSkeletonComponent, KitSkeletonModule, KitSkeletonShape, KitSortDirection, KitSortableComponent, KitSvgIcon, KitSvgIconComponent, KitSvgIconModule, KitSvgIconType, KitSvgSpriteComponent, KitSvgSpriteModule, KitSwitchComponent, KitSwitchMode, KitSwitchModule, KitSwitchState, KitTabComponent, KitTabContentDirective, KitTabsComponent, KitTabsModule, KitTabsSize, KitTabsType, KitTextLabelComponent, KitTextLabelModule, KitTextLabelState, KitTextareaAutoresizeDirective, KitTextareaComponent, KitTextareaModule, KitTextareaState, KitTextboxComponent, KitTextboxModule, KitTextboxSize, KitTextboxState, KitThemeService, KitThemes, KitTileLayoutComponent, KitTileLayoutItemComponent, KitTileLayoutModule, KitTimelineCardComponent, KitTimelineComponent, KitTimelineTheme, KitTimelineType, KitTimepickerComponent, KitTimepickerModule, KitTitleTemplateDirective, KitToastrModule, KitToastrPosition, KitToastrService, KitToastrType, KitToggleComponent, KitToggleModule, KitTooltipDirective, KitTooltipPosition, KitTopBarComponent, KitTrackingCardComponent, KitTrackingTimelineComponent, KitTranslateLoader, KitTranslateService, KitTruncateTextComponent, KitUnitsTextboxComponent, KitUnitsTextboxDropdownPosition, KitUnitsTextboxModule, KitUnitsTextboxType, KitUserApplicationsState, KitUserPermissionsState, KitUserSettingsComponent, KitUserSettingsKeys, KitUserSettingsState, KitUserState, RemoveGridFilter, SetGridColumns, SetGridFilters, SetGridSearch, SetGridSkip, SetGridSort, SetGridTake, UpdateGridFilter, buildRandomUUID, changeFilterField, createDataFetcherFactory, findMatches, kitBuildFilterBooleanOptions, kitBuildFilterListOptions, kitBuildFilters, kitBuildGridColumn, kitBuildGridDataResults, kitBuildOdataFilter, kitBuildSortString, kitDataStateToODataString, kitEncodeViewNameToUrl, mapGlobalSearchResult };
10125
+ export { AbstractKitCtaPanelConfirmationComponent, AddGridFilter, FetchUser, FetchUserPermissions, FetchUserSettings, HighlightPipe, KIT_BASE_PATH, KIT_DATETIME_FORMAT_LONG, KIT_DATE_FORMAT, KIT_GRID_CELL_DATE_FORMAT_CONFIG, KIT_GRID_STATE_TOKEN, KIT_USER_PATH, KIT_USER_PERMISSIONS_PATH, KIT_USER_PERMISSIONS_STATE_TOKEN, KIT_USER_STATE_TOKEN, KitAutocompleteComponent, KitAutocompleteDirective, KitAutocompleteModule, KitAvatarComponent, KitAvatarModule, KitAvatarSize, KitBadgeDirective, KitBadgeTheme, KitBreadcrumbsComponent, KitBreadcrumbsModule, KitBreadcrumbsService, KitButtonComponent, KitButtonIconPosition, KitButtonKind, KitButtonModule, KitButtonState, KitButtonType, KitCardComponent, KitCardModule, KitCardTheme, KitCheckboxComponent, KitCheckboxModule, KitCheckboxState, KitCollapsedListComponent, KitCollapsedListDropdownAlign, KitCopyTextComponent, KitCopyTextModule, KitCtaPanelAbstractConfirmationComponent, KitCtaPanelAbstractConfirmationModule, KitCtaPanelActionComponent, KitCtaPanelActionModule, KitCtaPanelConfirmationComponent, KitCtaPanelConfirmationModule, KitCtaPanelItemComponent, KitCtaPanelItemModule, KitCtaPanelItemType, KitDataFieldComponent, KitDataFieldState, KitDatepickerComponent, KitDatepickerModule, KitDatepickerSize, KitDaterangeComponent, KitDaterangeModule, KitDaterangeType, KitDatetimepickerComponent, KitDatetimepickerModule, KitDialogActionsComponent, KitDialogComponent, KitDialogService, KitDropdownComponent, KitDropdownItemTemplateDirective, KitDropdownModule, KitDropdownSize, KitEmptySectionComponent, KitEntityGridComponent, KitEntitySectionComponent, KitEntitySectionContainerComponent, KitEntityTitleComponent, KitEntityTitleModule, KitFileCardComponent, KitFileCardMessagesComponent, KitFileCardModule, KitFileUploadComponent, KitFileUploadModule, KitFilterCheckboxComponent, KitFilterLogic, KitFilterOperator, KitFilterType, KitGlobalSearchComponent, KitGridCellComponent, KitGridCellService, KitGridCellTemplateDirective, KitGridColumnComponent, KitGridColumnManagerComponent, KitGridComponent, KitGridDetailTemplateDirective, KitGridDetailsButtonComponent, KitGridExportComponent, KitGridFiltersComponent, KitGridModule, KitGridSearchComponent, KitGridSortSettingsMode, KitGridState, KitGridUrlStateService, KitGridViewType, KitGridViewsComponent, KitGridViewsState, KitInputLabelComponent, KitInputLabelModule, KitInputMessageComponent, KitInputMessageModule, KitLoaderComponent, KitLoaderModule, KitLocationStepperComponent, KitLocationStepperModule, KitMobileHeaderComponent, KitMobileMenuComponent, KitMobileMenuState, KitMultiselectComponent, KitMultiselectModule, KitNavigationMenuComponent, KitNavigationMenuModule, KitNavigationMenuService, KitNavigationMenuSubmenuComponent, KitNavigationTabsComponent, KitNavigationTabsModule, KitNavigationTabsType, KitNoteComponent, KitNoteModule, KitNotificationComponent, KitNotificationService, KitNotificationType, KitNumericTextboxComponent, KitNumericTextboxModule, KitNumericTextboxSize, KitNumericTextboxState, KitOptionToggleComponent, KitPageLayoutComponent, KitPermissionDirective, KitPermissionModule, KitPillComponent, KitPillTheme, KitPillType, KitPopupAlignHorizontal, KitPopupAlignVertical, KitPopupComponent, KitPopupPositionMode, KitProfileMenuComponent, KitQueryParamsName, KitQueryParamsService, KitRadioButtonComponent, KitRadioButtonModule, KitRadioButtonType, KitRoutePathComponent, KitSchedulerComponent, KitSchedulerMonthEventTemplateDirective, KitSchedulerWeekEventTemplateDirective, KitScrollNavigationComponent, KitScrollNavigationSectionComponent, KitSearchBarComponent, KitSearchBarModule, KitSidebarComponent, KitSkeletonAnimation, KitSkeletonComponent, KitSkeletonModule, KitSkeletonShape, KitSortDirection, KitSortableComponent, KitSvgIcon, KitSvgIconComponent, KitSvgIconModule, KitSvgIconType, KitSvgSpriteComponent, KitSvgSpriteModule, KitSwitchComponent, KitSwitchMode, KitSwitchModule, KitSwitchState, KitTabComponent, KitTabContentDirective, KitTabsComponent, KitTabsModule, KitTabsSize, KitTabsType, KitTextLabelComponent, KitTextLabelModule, KitTextLabelState, KitTextareaAutoresizeDirective, KitTextareaComponent, KitTextareaModule, KitTextareaState, KitTextboxComponent, KitTextboxModule, KitTextboxSize, KitTextboxState, KitThemeService, KitThemes, KitTileLayoutComponent, KitTileLayoutItemComponent, KitTileLayoutModule, KitTimelineCardComponent, KitTimelineComponent, KitTimelineTheme, KitTimelineType, KitTimepickerComponent, KitTimepickerModule, KitTitleTemplateDirective, KitToastrModule, KitToastrPosition, KitToastrService, KitToastrType, KitToggleComponent, KitToggleModule, KitTooltipDirective, KitTooltipPosition, KitTopBarComponent, KitTrackingCardComponent, KitTrackingTimelineComponent, KitTranslateLoader, KitTranslateService, KitTruncateTextComponent, KitUnitsTextboxComponent, KitUnitsTextboxDropdownPosition, KitUnitsTextboxModule, KitUnitsTextboxType, KitUserApplicationsState, KitUserPermissionsState, KitUserSettingsComponent, KitUserSettingsKeys, KitUserSettingsState, KitUserState, RemoveGridFilter, SetGridColumns, SetGridFilters, SetGridSearch, SetGridSkip, SetGridSort, SetGridTake, UpdateGridFilter, buildRandomUUID, changeFilterField, createDataFetcherFactory, findMatches, kitBuildFilterBooleanOptions, kitBuildFilterListOptions, kitBuildFilters, kitBuildGridColumn, kitBuildGridDataResults, kitBuildOdataFilter, kitBuildSortString, kitDataStateToODataString, kitEncodeViewNameToUrl, kitGetPermissionTypesByCategory, kitHasPermission, mapGlobalSearchResult };
10109
10126
  //# sourceMappingURL=indigina-ui-kit.mjs.map