@memberjunction/ng-explorer-core 3.2.0 → 3.4.0
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/README.md +335 -0
- package/dist/lib/resource-wrappers/view-resource.component.d.ts +2 -2
- package/dist/lib/resource-wrappers/view-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
- package/dist/lib/shell/shell.component.d.ts +47 -2
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +239 -64
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.d.ts +2 -5
- package/dist/lib/single-search-result/single-search-result.component.d.ts.map +1 -1
- package/dist/lib/single-search-result/single-search-result.component.js +8 -24
- package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
- package/dist/lib/user-menu/base-user-menu.d.ts +141 -0
- package/dist/lib/user-menu/base-user-menu.d.ts.map +1 -0
- package/dist/lib/user-menu/base-user-menu.js +384 -0
- package/dist/lib/user-menu/base-user-menu.js.map +1 -0
- package/dist/lib/user-menu/index.d.ts +3 -0
- package/dist/lib/user-menu/index.d.ts.map +1 -0
- package/dist/lib/user-menu/index.js +3 -0
- package/dist/lib/user-menu/index.js.map +1 -0
- package/dist/lib/user-menu/user-menu.types.d.ts +121 -0
- package/dist/lib/user-menu/user-menu.types.d.ts.map +1 -0
- package/dist/lib/user-menu/user-menu.types.js +13 -0
- package/dist/lib/user-menu/user-menu.types.js.map +1 -0
- package/dist/lib/user-notifications/user-notifications.component.js +163 -146
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/lib/user-profile/user-profile.component.d.ts +39 -2
- package/dist/lib/user-profile/user-profile.component.d.ts.map +1 -1
- package/dist/lib/user-profile/user-profile.component.js +298 -23
- package/dist/lib/user-profile/user-profile.component.js.map +1 -1
- package/dist/module.d.ts +22 -24
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +0 -8
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +1 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +2 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +35 -37
package/README.md
CHANGED
|
@@ -377,6 +377,336 @@ this.navigation.openTab({
|
|
|
377
377
|
export class MyPanelComponent { }
|
|
378
378
|
```
|
|
379
379
|
|
|
380
|
+
## User Menu Plugin System
|
|
381
|
+
|
|
382
|
+
The Explorer shell includes a fully extensible user menu system that appears when clicking the user avatar in the header. This plugin architecture allows you to customize, add, or replace menu items without modifying core Explorer code.
|
|
383
|
+
|
|
384
|
+
### Architecture Overview
|
|
385
|
+
|
|
386
|
+
The user menu system consists of several components:
|
|
387
|
+
|
|
388
|
+
- **`BaseUserMenu`**: The base class with default menu implementation, registered via `@RegisterClass`
|
|
389
|
+
- **`UserMenuItem`**: Interface defining menu item properties (id, label, icon, group, etc.)
|
|
390
|
+
- **`UserMenuContext`**: Context passed to menu handlers with user info, shell reference, and services
|
|
391
|
+
- **`DeveloperModeService`**: Service managing developer mode state, persisted via MJ: User Settings entity
|
|
392
|
+
|
|
393
|
+
### Default Menu Items
|
|
394
|
+
|
|
395
|
+
The default `BaseUserMenu` implementation provides these menu items:
|
|
396
|
+
|
|
397
|
+
| ID | Label | Group | Developer Only |
|
|
398
|
+
|----|-------|-------|----------------|
|
|
399
|
+
| `profile` | Profile | primary | No |
|
|
400
|
+
| `toggle-dev-mode` | Toggle Developer Mode | developer | Yes |
|
|
401
|
+
| `log-layout` | Log Layout to Console | developer | Yes |
|
|
402
|
+
| `inspect-state` | Inspect Workspace State | developer | Yes |
|
|
403
|
+
| `reset-layout` | Reset Layout | system | No |
|
|
404
|
+
| `logout` | Logout | danger | No |
|
|
405
|
+
|
|
406
|
+
Menu items are organized into groups with dividers automatically inserted between groups.
|
|
407
|
+
|
|
408
|
+
### Creating a Custom User Menu
|
|
409
|
+
|
|
410
|
+
To customize the user menu, create a subclass of `BaseUserMenu` and register it with `@RegisterClass`. Because your subclass is compiled after the base class (due to the import dependency), it automatically gets higher priority in the ClassFactory.
|
|
411
|
+
|
|
412
|
+
```typescript
|
|
413
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
414
|
+
import {
|
|
415
|
+
BaseUserMenu,
|
|
416
|
+
UserMenuItem,
|
|
417
|
+
UserMenuActionResult,
|
|
418
|
+
UserMenuContext
|
|
419
|
+
} from '@memberjunction/ng-explorer-core';
|
|
420
|
+
|
|
421
|
+
@RegisterClass(BaseUserMenu)
|
|
422
|
+
export class CustomUserMenu extends BaseUserMenu {
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Override to customize menu items.
|
|
426
|
+
* Call super.GetMenuItems() to include default items, or return entirely new items.
|
|
427
|
+
*/
|
|
428
|
+
public GetMenuItems(): UserMenuItem[] {
|
|
429
|
+
// Get default items
|
|
430
|
+
const items = super.GetMenuItems();
|
|
431
|
+
|
|
432
|
+
// Add a custom item
|
|
433
|
+
items.push({
|
|
434
|
+
id: 'my-custom-action',
|
|
435
|
+
label: 'My Custom Action',
|
|
436
|
+
icon: 'fa-solid fa-star',
|
|
437
|
+
group: 'primary',
|
|
438
|
+
order: 50,
|
|
439
|
+
developerOnly: false,
|
|
440
|
+
visible: true,
|
|
441
|
+
enabled: true,
|
|
442
|
+
tooltip: 'Perform my custom action',
|
|
443
|
+
shortcut: '⌘K'
|
|
444
|
+
});
|
|
445
|
+
|
|
446
|
+
// Remove an item by filtering
|
|
447
|
+
const filteredItems = items.filter(item => item.id !== 'reset-layout');
|
|
448
|
+
|
|
449
|
+
return filteredItems;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
/**
|
|
453
|
+
* Handle custom menu item clicks.
|
|
454
|
+
* Method naming convention: Handle_<item-id-with-hyphens-replaced-by-underscores>
|
|
455
|
+
*/
|
|
456
|
+
protected async Handle_my_custom_action(): Promise<UserMenuActionResult> {
|
|
457
|
+
// Access context for user info, shell, services, etc.
|
|
458
|
+
const user = this._context?.user;
|
|
459
|
+
console.log(`Custom action triggered by user: ${user?.Name}`);
|
|
460
|
+
|
|
461
|
+
// Perform your custom logic here
|
|
462
|
+
// ...
|
|
463
|
+
|
|
464
|
+
return {
|
|
465
|
+
success: true,
|
|
466
|
+
closeMenu: true, // Close the menu after action
|
|
467
|
+
message: 'Action completed!'
|
|
468
|
+
};
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### UserMenuItem Interface
|
|
474
|
+
|
|
475
|
+
Each menu item has the following properties:
|
|
476
|
+
|
|
477
|
+
```typescript
|
|
478
|
+
interface UserMenuItem {
|
|
479
|
+
/** Unique identifier for the menu item */
|
|
480
|
+
id: string;
|
|
481
|
+
|
|
482
|
+
/** Display text for the menu item */
|
|
483
|
+
label: string;
|
|
484
|
+
|
|
485
|
+
/** Font Awesome icon class (e.g., 'fa-solid fa-gear') */
|
|
486
|
+
icon: string;
|
|
487
|
+
|
|
488
|
+
/** Optional icon/text color (CSS color value) */
|
|
489
|
+
color?: string;
|
|
490
|
+
|
|
491
|
+
/** Optional CSS class for custom styling (e.g., 'danger' for red styling) */
|
|
492
|
+
cssClass?: string;
|
|
493
|
+
|
|
494
|
+
/** Group ID for organizing items. Items with same group are grouped together. */
|
|
495
|
+
group: 'primary' | 'developer' | 'system' | 'danger' | string;
|
|
496
|
+
|
|
497
|
+
/** Sort order within group (lower = higher in menu) */
|
|
498
|
+
order: number;
|
|
499
|
+
|
|
500
|
+
/** Whether item requires Developer role to be visible */
|
|
501
|
+
developerOnly: boolean;
|
|
502
|
+
|
|
503
|
+
/** Whether the item is currently visible (dynamic control) */
|
|
504
|
+
visible: boolean;
|
|
505
|
+
|
|
506
|
+
/** Whether the item is currently enabled/clickable */
|
|
507
|
+
enabled: boolean;
|
|
508
|
+
|
|
509
|
+
/** Optional tooltip text */
|
|
510
|
+
tooltip?: string;
|
|
511
|
+
|
|
512
|
+
/** Optional keyboard shortcut hint displayed on the right */
|
|
513
|
+
shortcut?: string;
|
|
514
|
+
}
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
### UserMenuContext
|
|
518
|
+
|
|
519
|
+
The context provides access to user information and shell services:
|
|
520
|
+
|
|
521
|
+
```typescript
|
|
522
|
+
interface UserMenuContext {
|
|
523
|
+
/** Current authenticated user info */
|
|
524
|
+
user: UserInfo;
|
|
525
|
+
|
|
526
|
+
/** Full user entity with all fields */
|
|
527
|
+
userEntity: UserEntity;
|
|
528
|
+
|
|
529
|
+
/** Reference to shell component for advanced operations */
|
|
530
|
+
shell: Record<string, unknown>;
|
|
531
|
+
|
|
532
|
+
/** View container for opening dialogs/modals */
|
|
533
|
+
viewContainerRef: ViewContainerRef;
|
|
534
|
+
|
|
535
|
+
/** Whether user has Developer role */
|
|
536
|
+
isDeveloper: boolean;
|
|
537
|
+
|
|
538
|
+
/** Whether developer mode is currently enabled */
|
|
539
|
+
developerModeEnabled: boolean;
|
|
540
|
+
|
|
541
|
+
/** Current application context */
|
|
542
|
+
currentApplication: ApplicationInfoRef | null;
|
|
543
|
+
|
|
544
|
+
/** Workspace manager for layout operations */
|
|
545
|
+
workspaceManager: WorkspaceManagerRef;
|
|
546
|
+
|
|
547
|
+
/** Auth service for logout operations */
|
|
548
|
+
authService: AuthServiceRef;
|
|
549
|
+
|
|
550
|
+
/** Function to open settings dialog */
|
|
551
|
+
openSettings: () => void;
|
|
552
|
+
}
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
### Menu Options
|
|
556
|
+
|
|
557
|
+
Customize menu display options by overriding `GetOptions()`:
|
|
558
|
+
|
|
559
|
+
```typescript
|
|
560
|
+
@RegisterClass(BaseUserMenu)
|
|
561
|
+
export class CustomUserMenu extends BaseUserMenu {
|
|
562
|
+
|
|
563
|
+
public GetOptions(): UserMenuOptions {
|
|
564
|
+
return {
|
|
565
|
+
showUserName: true, // Show user name in menu header
|
|
566
|
+
showUserEmail: true, // Show user email below name
|
|
567
|
+
menuPosition: 'below-left', // Position relative to avatar
|
|
568
|
+
animationStyle: 'fade' // 'fade', 'slide', or 'none'
|
|
569
|
+
};
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
### Developer Mode
|
|
575
|
+
|
|
576
|
+
The Developer Mode feature allows users with developer privileges to toggle additional debugging tools in the UI.
|
|
577
|
+
|
|
578
|
+
#### Checking Developer Status
|
|
579
|
+
|
|
580
|
+
```typescript
|
|
581
|
+
import { DeveloperModeService } from '@memberjunction/ng-shared';
|
|
582
|
+
|
|
583
|
+
@Component({...})
|
|
584
|
+
export class MyComponent implements OnInit {
|
|
585
|
+
|
|
586
|
+
constructor(private devMode: DeveloperModeService) {}
|
|
587
|
+
|
|
588
|
+
ngOnInit() {
|
|
589
|
+
// Subscribe to developer mode changes
|
|
590
|
+
this.devMode.IsEnabled$.subscribe(enabled => {
|
|
591
|
+
this.showDevTools = enabled;
|
|
592
|
+
});
|
|
593
|
+
|
|
594
|
+
// Check if user has developer role (can enable dev mode)
|
|
595
|
+
if (this.devMode.IsDeveloper) {
|
|
596
|
+
console.log('User can toggle developer mode');
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
// Check current state synchronously
|
|
600
|
+
if (this.devMode.IsEnabled) {
|
|
601
|
+
console.log('Developer mode is currently ON');
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
#### Developer Roles
|
|
608
|
+
|
|
609
|
+
Users with any of these roles can toggle developer mode:
|
|
610
|
+
- Developer
|
|
611
|
+
- Admin
|
|
612
|
+
- System Administrator
|
|
613
|
+
- Integration
|
|
614
|
+
|
|
615
|
+
The setting is persisted per-user in the `MJ: User Settings` entity with the key `Explorer.DeveloperMode`.
|
|
616
|
+
|
|
617
|
+
### Example: Adding Organization-Specific Menu Items
|
|
618
|
+
|
|
619
|
+
```typescript
|
|
620
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
621
|
+
import { BaseUserMenu, UserMenuItem, UserMenuActionResult } from '@memberjunction/ng-explorer-core';
|
|
622
|
+
import { WindowService } from '@progress/kendo-angular-dialog';
|
|
623
|
+
|
|
624
|
+
@RegisterClass(BaseUserMenu)
|
|
625
|
+
export class AcmeUserMenu extends BaseUserMenu {
|
|
626
|
+
|
|
627
|
+
public GetMenuItems(): UserMenuItem[] {
|
|
628
|
+
const items = super.GetMenuItems();
|
|
629
|
+
|
|
630
|
+
// Add company-specific items
|
|
631
|
+
items.push(
|
|
632
|
+
{
|
|
633
|
+
id: 'help-center',
|
|
634
|
+
label: 'ACME Help Center',
|
|
635
|
+
icon: 'fa-solid fa-circle-question',
|
|
636
|
+
group: 'primary',
|
|
637
|
+
order: 25,
|
|
638
|
+
developerOnly: false,
|
|
639
|
+
visible: true,
|
|
640
|
+
enabled: true
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
id: 'submit-feedback',
|
|
644
|
+
label: 'Submit Feedback',
|
|
645
|
+
icon: 'fa-solid fa-comment',
|
|
646
|
+
group: 'primary',
|
|
647
|
+
order: 30,
|
|
648
|
+
developerOnly: false,
|
|
649
|
+
visible: true,
|
|
650
|
+
enabled: true
|
|
651
|
+
},
|
|
652
|
+
{
|
|
653
|
+
id: 'admin-console',
|
|
654
|
+
label: 'Admin Console',
|
|
655
|
+
icon: 'fa-solid fa-screwdriver-wrench',
|
|
656
|
+
color: '#6366f1',
|
|
657
|
+
group: 'system',
|
|
658
|
+
order: 10,
|
|
659
|
+
developerOnly: true, // Only visible to developers
|
|
660
|
+
visible: true,
|
|
661
|
+
enabled: this._context?.isDeveloper ?? false
|
|
662
|
+
}
|
|
663
|
+
);
|
|
664
|
+
|
|
665
|
+
return items;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
protected async Handle_help_center(): Promise<UserMenuActionResult> {
|
|
669
|
+
window.open('https://help.acme.com', '_blank');
|
|
670
|
+
return { success: true, closeMenu: true };
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
protected async Handle_submit_feedback(): Promise<UserMenuActionResult> {
|
|
674
|
+
// Open feedback dialog
|
|
675
|
+
// You could inject WindowService and open a Kendo dialog here
|
|
676
|
+
return { success: true, closeMenu: true };
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
protected async Handle_admin_console(): Promise<UserMenuActionResult> {
|
|
680
|
+
// Navigate to admin console
|
|
681
|
+
window.location.href = '/admin';
|
|
682
|
+
return { success: true, closeMenu: false };
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
### Ensuring Your Custom Menu is Loaded
|
|
688
|
+
|
|
689
|
+
To ensure your custom menu class is included in the bundle and not tree-shaken:
|
|
690
|
+
|
|
691
|
+
1. **Create a loader function** in your module:
|
|
692
|
+
|
|
693
|
+
```typescript
|
|
694
|
+
// custom-user-menu.ts
|
|
695
|
+
export function LoadCustomUserMenu() {
|
|
696
|
+
// This function exists to prevent tree-shaking
|
|
697
|
+
}
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
2. **Call the loader** from your module's public API or app initialization:
|
|
701
|
+
|
|
702
|
+
```typescript
|
|
703
|
+
// In your app.module.ts or public-api.ts
|
|
704
|
+
import { LoadCustomUserMenu } from './custom-user-menu';
|
|
705
|
+
LoadCustomUserMenu();
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
This pattern ensures the `@RegisterClass` decorator executes and registers your custom implementation.
|
|
709
|
+
|
|
380
710
|
## Build Scripts
|
|
381
711
|
|
|
382
712
|
```json
|
|
@@ -415,9 +745,14 @@ explorer-core/
|
|
|
415
745
|
│ │ ├── home-component/
|
|
416
746
|
│ │ ├── navigation/
|
|
417
747
|
│ │ ├── resource-wrappers/
|
|
748
|
+
│ │ ├── shell/ # Main shell component
|
|
418
749
|
│ │ ├── single-dashboard/
|
|
419
750
|
│ │ ├── single-entity/
|
|
420
751
|
│ │ ├── single-record/
|
|
752
|
+
│ │ ├── user-menu/ # User menu plugin system
|
|
753
|
+
│ │ │ ├── base-user-menu.ts # Base class with default implementation
|
|
754
|
+
│ │ │ ├── user-menu.types.ts # Type definitions
|
|
755
|
+
│ │ │ └── index.ts # Module exports
|
|
421
756
|
│ │ └── ...
|
|
422
757
|
│ ├── generic/
|
|
423
758
|
│ ├── shared/
|
|
@@ -2,7 +2,7 @@ import { ElementRef, ChangeDetectorRef } from '@angular/core';
|
|
|
2
2
|
import { BaseResourceComponent, NavigationService } from '@memberjunction/ng-shared';
|
|
3
3
|
import { ResourceData, UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
4
4
|
import { EntityInfo } from '@memberjunction/core';
|
|
5
|
-
import { RecordOpenedEvent,
|
|
5
|
+
import { RecordOpenedEvent, ViewGridState, EntityViewerComponent } from '@memberjunction/ng-entity-viewer';
|
|
6
6
|
import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export declare function LoadViewResource(): void;
|
|
@@ -28,7 +28,7 @@ export declare class UserViewResource extends BaseResourceComponent {
|
|
|
28
28
|
errorMessage: string | null;
|
|
29
29
|
entityInfo: EntityInfo | null;
|
|
30
30
|
viewEntity: UserViewEntityExtended | null;
|
|
31
|
-
gridState:
|
|
31
|
+
gridState: ViewGridState | null;
|
|
32
32
|
isExporting: boolean;
|
|
33
33
|
exportData: any[];
|
|
34
34
|
exportColumns: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAY,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAA0B,UAAU,EAAW,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"view-resource.component.d.ts","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAY,MAAM,+BAA+B,CAAC;AAE/F,OAAO,EAA0B,UAAU,EAAW,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC3G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;;AAE5E,wBAAgB,gBAAgB,SAE/B;AAED;;;;;;;;;;;GAWG;AACH,qBAqHa,gBAAiB,SAAQ,qBAAqB;IAqBnD,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IArB2B,gBAAgB,EAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACzC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IAEzD,SAAS,EAAE,OAAO,CAAS;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IACnC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAQ;IACrC,UAAU,EAAE,sBAAsB,GAAG,IAAI,CAAQ;IACjD,SAAS,EAAE,aAAa,GAAG,IAAI,CAAQ;IAGvC,WAAW,EAAE,OAAO,CAAS;IAC7B,UAAU,EAAE,GAAG,EAAE,CAAM;IACvB,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAM;IAC5D,cAAc,EAAE,MAAM,CAAiB;IAE9C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAkB;gBAGtB,iBAAiB,EAAE,iBAAiB,EACpC,GAAG,EAAE,iBAAiB;IAKlC,IAAa,IAAI,CAAC,KAAK,EAAE,YAAY,EAMpC;IAED,IAAa,IAAI,IAAI,YAAY,CAEhC;IAED;;OAEG;YACW,QAAQ;IA2CtB;;OAEG;YACW,YAAY;IAmC1B;;OAEG;YACW,eAAe;IAiB7B;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAMrD;;OAEG;IACI,YAAY,IAAI,IAAI;IAI3B;;OAEG;IACY,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAc1E;;OAEG;IACY,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzE;;OAEG;IACI,iBAAiB,IAAI,IAAI;IAOhC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA4DtC;;OAEG;YACW,aAAa;IA2B3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;yCAjSf,gBAAgB;2CAAhB,gBAAgB;CA6S5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts","../../../src/lib/resource-wrappers/view-resource.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAiC,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAqB,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAwC,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,OAAO,EAAE,MAAM,sBAAsB,CAAC;;;;;;;;;;;ICF3E,8BAAgC;IAC5B,gCAA6D;IACjE,iBAAM;;;IAEN,8BAA8B;IAC1B,uBAA2C;IAC3C,yBAAG;IAAA,YAAkB;IACzB,AADyB,iBAAI,EACvB;;;IADC,eAAkB;IAAlB,yCAAkB;;;IAQb,6BAA4B;IAAA,YAA6B;IAAA,iBAAI;;;IAAjC,cAA6B;IAA7B,mDAA6B;;;IAoBrD,wBAA2C;;;IAE3C,wBAAsC;;;IAuB9C,+CAG2B;;;IADvB,AADA,sCAAqB,gCACO;;;;IAjDhC,AADJ,AADJ,8BAAyB,aACI,aACE;IAAA,YAAyC;IAAA,iBAAK;IACrE,sFAA+B;IAGnC,iBAAM;IAGF,AAFJ,+BAA0B,iBAK8B;IADhD,oLAAS,0BAAmB,KAAC;IAE7B,wBAAgC;IAChC,4BAAM;IAAA,0BAAU;IACpB,AADoB,iBAAO,EAClB;IAGT,mCAI4B;IAFxB,qLAAS,iBAAU,KAAC;IAKlB,AAFF,wFAAmB,2EAEV;IAGT,6BAAM;IAAA,aAA6C;IAG/D,AADI,AADI,AADuD,iBAAO,EACrD,EACP,EACJ;IAGN,gDAMkC;IAA9B,AADA,mNAAgB,6BAA4B,KAAC,4LAC/B,qBAAc,KAAC;IACjC,iBAAmB;IAGnB,iDAGgC;IAC5B,yHAKC;IACL,iBAAoB;;;IApDW,eAAyC;IAAzC,2GAAyC;IAChE,cAEC;IAFD,6FAEC;IAOG,eAA+C;IAA/C,oFAA+C;IAS/C,eAAwB;IAAxB,6CAAwB;IAExB,cAIC;IAJD,8CAIC;IACK,eAA6C;IAA7C,oEAA6C;IAQ3D,cAAqB;IAErB,AADA,AADA,0CAAqB,iCACI,+BACF;IAQvB,eAAmB;IACnB,AADA,wCAAmB,mCACQ;IAC3B,eAKC;IALD,mCAKC;;ADzDb,MAAM,UAAU,gBAAgB;IAC5B,4EAA4E;AAChF,CAAC;AAED;;;;;;;;;;;GAWG;AAsHI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,qBAAqB;IAqB3C;IACA;IArB8B,gBAAgB,CAA8B;IAC7D,eAAe,CAAyB;IACzC,cAAc,CAAwB;IAEzD,SAAS,GAAY,KAAK,CAAC;IAC3B,YAAY,GAAkB,IAAI,CAAC;IACnC,UAAU,GAAsB,IAAI,CAAC;IACrC,UAAU,GAAkC,IAAI,CAAC;IACjD,SAAS,
|
|
1
|
+
{"version":3,"file":"view-resource.component.js","sourceRoot":"","sources":["../../../src/lib/resource-wrappers/view-resource.component.ts","../../../src/lib/resource-wrappers/view-resource.component.html"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,14 @@ import { OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef, ViewContainerRef,
|
|
|
2
2
|
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
3
|
import { ApplicationManager, WorkspaceStateManager, GoldenLayoutManager, BaseApplication, TabService } from '@memberjunction/ng-base-application';
|
|
4
4
|
import { EntityInfo } from '@memberjunction/core';
|
|
5
|
-
import { NavigationService, TitleService } from '@memberjunction/ng-shared';
|
|
5
|
+
import { NavigationService, TitleService, DeveloperModeService } from '@memberjunction/ng-shared';
|
|
6
6
|
import { LogoGradient } from '@memberjunction/ng-shared-generic';
|
|
7
7
|
import { NavItemClickEvent } from './components/header/app-nav.component';
|
|
8
8
|
import { MJAuthBase } from '@memberjunction/ng-auth-services';
|
|
9
9
|
import { UserAvatarService } from '@memberjunction/ng-user-avatar';
|
|
10
10
|
import { SettingsDialogService } from './services/settings-dialog.service';
|
|
11
11
|
import { AppAccessDialogComponent, AppAccessDialogResult } from './components/dialogs/app-access-dialog.component';
|
|
12
|
+
import { UserMenuElement, UserMenuItem } from '../user-menu';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
/**
|
|
14
15
|
* Main shell component for the new Explorer UX.
|
|
@@ -32,6 +33,7 @@ export declare class ShellComponent implements OnInit, OnDestroy, AfterViewInit
|
|
|
32
33
|
private settingsDialogService;
|
|
33
34
|
private viewContainerRef;
|
|
34
35
|
private titleService;
|
|
36
|
+
developerModeService: DeveloperModeService;
|
|
35
37
|
private subscriptions;
|
|
36
38
|
private urlBasedNavigation;
|
|
37
39
|
private initialNavigationComplete;
|
|
@@ -66,6 +68,11 @@ export declare class ShellComponent implements OnInit, OnDestroy, AfterViewInit
|
|
|
66
68
|
userImageURL: string;
|
|
67
69
|
userIconClass: string | null;
|
|
68
70
|
userName: string;
|
|
71
|
+
userEmail: string;
|
|
72
|
+
private userEntity;
|
|
73
|
+
private userMenu;
|
|
74
|
+
userMenuElements: UserMenuElement[];
|
|
75
|
+
private destroy$;
|
|
69
76
|
isSearchOpen: boolean;
|
|
70
77
|
searchableEntities: EntityInfo[];
|
|
71
78
|
selectedEntity: EntityInfo | null;
|
|
@@ -82,7 +89,7 @@ export declare class ShellComponent implements OnInit, OnDestroy, AfterViewInit
|
|
|
82
89
|
* Filters out apps that have HideNavBarIconWhenActive=true and are currently active
|
|
83
90
|
*/
|
|
84
91
|
get leftOfUserMenuApps(): BaseApplication[];
|
|
85
|
-
constructor(appManager: ApplicationManager, workspaceManager: WorkspaceStateManager, layoutManager: GoldenLayoutManager, tabService: TabService, navigationService: NavigationService, route: ActivatedRoute, router: Router, authBase: MJAuthBase, cdr: ChangeDetectorRef, userAvatarService: UserAvatarService, settingsDialogService: SettingsDialogService, viewContainerRef: ViewContainerRef, titleService: TitleService);
|
|
92
|
+
constructor(appManager: ApplicationManager, workspaceManager: WorkspaceStateManager, layoutManager: GoldenLayoutManager, tabService: TabService, navigationService: NavigationService, route: ActivatedRoute, router: Router, authBase: MJAuthBase, cdr: ChangeDetectorRef, userAvatarService: UserAvatarService, settingsDialogService: SettingsDialogService, viewContainerRef: ViewContainerRef, titleService: TitleService, developerModeService: DeveloperModeService);
|
|
86
93
|
ngOnInit(): Promise<void>;
|
|
87
94
|
initializeShell(): Promise<void>;
|
|
88
95
|
/**
|
|
@@ -217,6 +224,44 @@ export declare class ShellComponent implements OnInit, OnDestroy, AfterViewInit
|
|
|
217
224
|
* Toggle user menu visibility
|
|
218
225
|
*/
|
|
219
226
|
toggleUserMenu(event: Event): void;
|
|
227
|
+
/**
|
|
228
|
+
* Initialize the user menu plugin system
|
|
229
|
+
*/
|
|
230
|
+
private initializeUserMenu;
|
|
231
|
+
/**
|
|
232
|
+
* Refresh the user menu elements from the menu instance
|
|
233
|
+
*/
|
|
234
|
+
private refreshMenuElements;
|
|
235
|
+
/**
|
|
236
|
+
* Handle user menu item click
|
|
237
|
+
*/
|
|
238
|
+
onUserMenuItemClick(itemId: string): Promise<void>;
|
|
239
|
+
/**
|
|
240
|
+
* Get user menu options for template
|
|
241
|
+
*/
|
|
242
|
+
getUserMenuOptions(): import("../user-menu").UserMenuOptions | undefined;
|
|
243
|
+
/**
|
|
244
|
+
* Get user display info for template
|
|
245
|
+
*/
|
|
246
|
+
getUserDisplayInfo(): {
|
|
247
|
+
name: string;
|
|
248
|
+
email: string;
|
|
249
|
+
avatarUrl: string | null;
|
|
250
|
+
initials: string;
|
|
251
|
+
} | undefined;
|
|
252
|
+
/**
|
|
253
|
+
* Check if an element is a divider (for template)
|
|
254
|
+
*/
|
|
255
|
+
isMenuDivider(element: UserMenuElement): boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Cast element to UserMenuItem (for template type safety)
|
|
258
|
+
* Call this only after checking !isMenuDivider(element)
|
|
259
|
+
*/
|
|
260
|
+
asMenuItem(element: UserMenuElement): UserMenuItem;
|
|
261
|
+
/**
|
|
262
|
+
* Open the settings dialog
|
|
263
|
+
*/
|
|
264
|
+
private openSettingsDialog;
|
|
220
265
|
/**
|
|
221
266
|
* Open Settings in a full-screen modal dialog
|
|
222
267
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.component.d.ts","sourceRoot":"","sources":["../../../src/lib/shell/shell.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAa,UAAU,EAAE,MAAM,eAAe,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAGxE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,UAAU,EAKX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAY,UAAU,EAA2C,MAAM,sBAAsB,CAAC;AAErG,OAAO,EAAc,iBAAiB,EAAiB,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"shell.component.d.ts","sourceRoot":"","sources":["../../../src/lib/shell/shell.component.ts"],"names":[],"mappings":"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"}
|