barsa-tiles 2.3.157 → 2.3.159

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.
package/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Signal, OnInit, Renderer2, ChangeDetectorRef, ElementRef, SimpleChanges, EventEmitter, OnChanges, OnDestroy, Injector, WritableSignal, TemplateRef, PipeTransform, DestroyRef, ViewContainerRef, InputSignal, EmbeddedViewRef, ComponentFactoryResolver } from '@angular/core';
3
3
  import * as barsa_novin_ray_core from 'barsa-novin-ray-core';
4
- import { MetaobjectDataModel, FilePictureInfoModel, EjrayOlgo, MoForReportModelBase, MoForReportModel, TilePropsComponent, BaseComponent, AbbrevationDeviceSize, BaseController, IViewBase, ViewBase, ContainerReportSetting, SaveScrollPositionService, ShellbarSetting as ShellbarSetting$1, ApplicationCtrlrService, NotificationItem, NotificationAction, SearchInput, BreadCrumbInfo, SortDirection, LogService, LocalStorageService, BreadcrumbService, PortalService, EmptyPageComponent, RoutingService, CardMediaSize, BaseDirective, DynamicRootVariableDirective, BaseDynamicComponent, WorkflowExecuteChoiceStatus, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';
4
+ import { MetaobjectDataModel, FilePictureInfoModel, EjrayOlgo, MoForReportModelBase, MoForReportModel, TilePropsComponent, BaseComponent, AbbrevationDeviceSize, ScrollLayoutContextHolder, BaseController, IViewBase, ViewBase, ContainerReportSetting, SaveScrollPositionService, ShellbarSetting as ShellbarSetting$1, ApplicationCtrlrService, NotificationItem, NotificationAction, SearchInput, BreadCrumbInfo, SortDirection, LogService, LocalStorageService, BreadcrumbService, PortalService, EmptyPageComponent, RoutingService, CardMediaSize, BaseDirective, DynamicRootVariableDirective, BaseDynamicComponent, WorkflowExecuteChoiceStatus, BaseModule, DynamicComponentService } from 'barsa-novin-ray-core';
5
5
  import * as rxjs from 'rxjs';
6
6
  import { Observable } from 'rxjs';
7
7
  import * as i60 from '@angular/cdk/drag-drop';
8
8
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
9
9
  import * as i62 from '@fundamental-ngx/core';
10
- import { ContentDensity, CarouselComponent, CarouselItemComponent, DialogRef, NumericContentState, Nullable, ComboboxComponent, PopoverComponent, ShellbarUser, ShellbarMenuItem, ProductSwitchItem, ObjectStatus, ShellbarComponent as ShellbarComponent$1 } from '@fundamental-ngx/core';
10
+ import { ContentDensity, CarouselComponent, CarouselItemComponent, DialogRef, NumericContentState, Nullable, ComboboxComponent, PopoverComponent, ShellbarUser, ShellbarMenuItem, ProductSwitchItem, IconFont, ObjectStatus, ShellbarComponent as ShellbarComponent$1 } from '@fundamental-ngx/core';
11
11
  import * as i63 from '@fundamental-ngx/platform';
12
12
  import { IconTabBarTabComponent, IconTabBarComponent, TabType, SemanticColor, IconTabBarItem, SuggestionItem } from '@fundamental-ngx/platform';
13
13
  import * as i70 from 'barsa-echarts';
@@ -144,9 +144,8 @@ declare class TilesService {
144
144
  private _rtlService;
145
145
  private _bbbTranslatePipe;
146
146
  private _appTileGroupLoaded;
147
- /** Same signal reference as {@link TilesStore#appTileGroups} (read-only for consumers). */
147
+ /** Same computed signal reference as TilesStore#appTileGroups (read-only for consumers). */
148
148
  get appTileGroupsSig(): Signal<MoForReportModelBase<AppTileGroup> | null>;
149
- /** Inserted by Angular inject() migration for backwards compatibility */
150
149
  constructor();
151
150
  get isDark$(): Observable<boolean | null>;
152
151
  get appTileGroups(): MoForReportModelBase<AppTileGroup> | null;
@@ -154,7 +153,7 @@ declare class TilesService {
154
153
  loadAllAppTileGroups(): void;
155
154
  loadUserProfileImage(repIdProfileImage: string): void;
156
155
  loadAppTileGroups(appTileGroup: MetaobjectDataModel): void;
157
- /** True if tiles for this group were already loaded (canonical tree or in-flight flag). */
156
+ /** True if tiles for this group were already loaded. */
158
157
  isAppTileGroupTilesLoaded(groupId: string): boolean;
159
158
  loadAppTileGroupsById(appTileGroupId: string, forceReload?: boolean): void;
160
159
  saveTilesStackContent(tilesStackContent: boolean): Promise<void>;
@@ -173,48 +172,35 @@ declare class TilesService {
173
172
  addAppGroup(mo: AppTileGroup): void;
174
173
  singlePinTileChanged(appTile: AppTile, callback: any): void;
175
174
  pinTileChanged(appTileGroupsPin: AppTileGroupPin[], app: MetaobjectDataModel, callback: any): void;
176
- _tilePinChange(appTileGroupsPin: any, allApps: any): void;
175
+ _tilePinChange(appTileGroupsPin: AppTileGroupPin[]): void;
177
176
  loadShellbar(): void;
178
177
  _setTileInfo(appTile: any): void;
179
178
  getTileGroups(): MoForReportModel | null;
180
179
  setEditHome(edit: boolean): void;
181
180
  /**
182
- * After {@link TilesStore#replaceAllAppTileGroups} from another entry point (e.g. {@link TilesViewerService}),
181
+ * After TilesStore#replaceAllAppTileGroups from another entry point (e.g. TilesViewerService),
183
182
  * refresh derived home list (store already holds app groups).
184
183
  */
185
184
  syncExternalAppTileGroups(): void;
186
- /** Call when the canonical tree is replaced from outside {@link TilesService} (e.g. viewer API). */
185
+ /** Call when the canonical tree is replaced from outside TilesService (e.g. viewer API). */
187
186
  resetAppTileGroupLoadCache(): void;
188
187
  protected _loadAllAppTileGroupsByReportId(id: string): void;
189
188
  protected _loadAllAppTileGroups(): void;
190
189
  protected _onApplication_GlobalRefreshTile(_sender: any, appTilesTitle: string[]): void;
191
- protected _updateAppTileFromNotification(allApps: MoForReportModelBase<AppTileGroup>, appTiles: MetaobjectDataModel[]): void;
190
+ protected _updateAppTileFromNotification(groupsById: Record<string, AppTileGroup>, appTiles: MetaobjectDataModel[]): void;
192
191
  private _allAppsLoaded;
193
192
  private _loadAppTilesOfAppTileGroup;
194
193
  private _loadAppTilesByAppTileGroup;
195
- private _updateAppTilesOfAppTileGroup;
194
+ private _prepareGroupWithTiles;
196
195
  private _loadAppTilesByAppTileGroupSetting;
197
- /** Report/API load: full tree + {@link prepareNavigator} on all roots (via store). */
196
+ /** Report/API load: full tree + prepareNavigator on all groups (via store). */
198
197
  private _applyLoadedAppTileGroups;
199
- private _findCanonicalAppTileGroup;
200
- private _findAppTileGroupInTree;
201
- /** Removes a group by id from root {@link MoForReportModelBase#MoDataList} or any nested {@link AppTileGroup#$Children}. */
202
- private _removeAppTileGroupFromTree;
203
- private _removeAppTileGroupFromChildren;
204
198
  private _isAppTileGroupTilesLoaded;
205
- /** Replaces the node with the same {@link AppTileGroup#Id} anywhere under {@link $Children}. */
206
- private _replaceAppTileGroupInTreeList;
207
- /**
208
- * Local tree changed: merge optional root replacement, then snapshot store without re-running
209
- * {@link prepareNavigator} on every root (caller must have prepared touched groups).
210
- */
211
- private _nextAllAppTileGroups;
212
199
  private _setHomeAppTileGroups;
213
200
  private _saveUserPortalSettings;
214
201
  private _updateAppGroupSetting;
215
- private findAppTileWithKey;
216
- private findGroupWithAppTileId;
217
- private _findGroupWithAppGroupId;
202
+ private _findAppTileWithKey;
203
+ private _findGroupWithAppTileId;
218
204
  private _updateAppTileGroupSettings;
219
205
  private _prepareNavigator;
220
206
  static ɵfac: i0.ɵɵFactoryDeclaration<TilesService, never>;
@@ -383,7 +369,12 @@ declare abstract class TileGroupBaseComponent<T extends MetaobjectDataModel> ext
383
369
  resetGroup: EventEmitter<AppTileGroup>;
384
370
  deleteGroup: EventEmitter<AppTileGroup>;
385
371
  isJustifyStart: i0.WritableSignal<boolean>;
372
+ protected readonly _scrollLayoutContext: ScrollLayoutContextHolder;
373
+ /**
374
+ *
375
+ */
386
376
  private _cdr;
377
+ constructor();
387
378
  ngOnChanges(changes: SimpleChanges): void;
388
379
  onDrop(appTileGroup: AppTileGroup, event: CdkDragDrop<{
389
380
  isTile: boolean;
@@ -934,9 +925,23 @@ declare class TilesViewerComponent extends BaseComponent implements OnInit {
934
925
  Name: string;
935
926
  Selector: string;
936
927
  };
928
+ protected _firstSelected: boolean;
937
929
  protected _cdr: ChangeDetectorRef;
938
930
  protected _saveScrollPosition: SaveScrollPositionService;
939
- protected _firstSelected: boolean;
931
+ private readonly _tilesStore;
932
+ /** Cache of selectGroup signals keyed by group ID to avoid creating new computeds each render. */
933
+ private readonly _groupSignalCache;
934
+ /** Cache of selectGroupChildren signals keyed by parent group ID. */
935
+ private readonly _childrenSignalCache;
936
+ /**
937
+ * Returns a stable Signal for a single group from the store dictionary.
938
+ * The signal is cached per ID so Angular's signal graph tracks it efficiently.
939
+ */
940
+ groupById(id: string): Signal<AppTileGroup | null>;
941
+ /**
942
+ * Returns a stable Signal for the children of a group from the store dictionary.
943
+ */
944
+ groupChildrenById(parentId: string): Signal<AppTileGroup[]>;
940
945
  ngAfterViewInit(): void;
941
946
  onSelectedTabChange(selectedTab: IconTabBarItem): void;
942
947
  onDropGroup(appTileGroups: MetaobjectDataModel[], event: CdkDragDrop<MetaobjectDataModel[]>): void;
@@ -1000,7 +1005,7 @@ declare class ShellbarComponent extends BaseComponent implements OnInit {
1000
1005
  FileId: string;
1001
1006
  };
1002
1007
  get cssStyles(): string;
1003
- get actions(): Array<MetaobjectDataModel>;
1008
+ get actions(): Array<any>;
1004
1009
  get sidebarSettings(): null | any;
1005
1010
  get userMenu(): UserMenuType[];
1006
1011
  get multiLanguages(): boolean;
@@ -1095,7 +1100,19 @@ declare class BarsaShellbarComponent extends BaseComponent implements OnInit {
1095
1100
  logo: {
1096
1101
  FileId: string;
1097
1102
  };
1098
- actions: Array<MetaobjectDataModel>;
1103
+ actions: Array<{
1104
+ glyph: string;
1105
+ /** Glyph font family */
1106
+ glyphFont: IconFont;
1107
+ /** Callback that hanldles the response to clicks on any of the actions. */
1108
+ callback: Nullable<(event: MouseEvent) => void>;
1109
+ /** The action label. */
1110
+ label: string;
1111
+ /** The notification label. */
1112
+ notificationLabel: string;
1113
+ /** Represents the number of notifications. */
1114
+ notificationCount: number;
1115
+ }>;
1099
1116
  userMenu: UserMenuType[];
1100
1117
  footerButtons: UserMenuType[];
1101
1118
  productSwitcher: ProductSwitchItem[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "barsa-tiles",
3
- "version": "2.3.157",
3
+ "version": "2.3.159",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^20.0.6",
6
6
  "@angular/common": "^20.0.6"