@memberjunction/ng-dashboards 5.49.0 → 5.50.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/dist/AI/components/autotagging/tabs/sources-tab.component.js +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +1 -1
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.d.ts +7 -0
- package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-browse-resource.component.js +25 -5
- package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts +7 -0
- package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
- package/dist/Lists/components/lists-my-lists-resource.component.js +66 -37
- package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
- package/package.json +61 -61
|
@@ -116,6 +116,13 @@ export declare class ListsBrowseResource extends BaseResourceComponent implement
|
|
|
116
116
|
shareDialogConfig: ListShareDialogConfig | null;
|
|
117
117
|
contextItemCapabilities: ListCapabilities;
|
|
118
118
|
private capabilityCache;
|
|
119
|
+
/**
|
|
120
|
+
* Whether the current user may DELETE the context-menu's list. This uses the single shared
|
|
121
|
+
* ownership rule ({@link MJListEntityExtended.UserCanDelete}) — the same rule the server enforces
|
|
122
|
+
* in MJListEntityServer.Delete() — rather than the share-level capability, so the button is shown
|
|
123
|
+
* only when the delete would actually succeed: the List's owner, or a Developer/Integration user.
|
|
124
|
+
*/
|
|
125
|
+
get CanDeleteContextItem(): boolean;
|
|
119
126
|
private categoriesDirty;
|
|
120
127
|
showInvitationsDialog: boolean;
|
|
121
128
|
showAuditLogDialog: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists-browse-resource.component.d.ts","sourceRoot":"","sources":["../../../src/Lists/components/lists-browse-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAgB,MAAM,eAAe,CAAC;AAErH,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"lists-browse-resource.component.d.ts","sourceRoot":"","sources":["../../../src/Lists/components/lists-browse-resource.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ var ListsBrowseResource_1;
|
|
|
8
8
|
import { Component, ViewEncapsulation, HostListener } from '@angular/core';
|
|
9
9
|
import { RegisterClass, UUIDsEqual, MJGlobal } from '@memberjunction/global';
|
|
10
10
|
import { BaseResourceComponent } from '@memberjunction/ng-shared';
|
|
11
|
-
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
11
|
+
import { MJListEntityExtended, UserInfoEngine } from '@memberjunction/core-entities';
|
|
12
12
|
import { BaseEntity, RunView } from '@memberjunction/core';
|
|
13
13
|
import { Subject } from 'rxjs';
|
|
14
14
|
import { takeUntil } from 'rxjs/operators';
|
|
@@ -537,9 +537,9 @@ function ListsBrowseResource_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
|
537
537
|
i0.ɵɵadvance();
|
|
538
538
|
i0.ɵɵconditional(ctx_r2.contextItemCapabilities.CanShare ? 2 : -1);
|
|
539
539
|
i0.ɵɵadvance(4);
|
|
540
|
-
i0.ɵɵconditional(ctx_r2.
|
|
540
|
+
i0.ɵɵconditional(ctx_r2.CanDeleteContextItem ? 6 : -1);
|
|
541
541
|
i0.ɵɵadvance();
|
|
542
|
-
i0.ɵɵconditional(!ctx_r2.contextItemCapabilities.CanEdit && !ctx_r2.contextItemCapabilities.CanShare && !ctx_r2.
|
|
542
|
+
i0.ɵɵconditional(!ctx_r2.contextItemCapabilities.CanEdit && !ctx_r2.contextItemCapabilities.CanShare && !ctx_r2.CanDeleteContextItem ? 7 : -1);
|
|
543
543
|
} }
|
|
544
544
|
function ListsBrowseResource_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
545
545
|
const _r27 = i0.ɵɵgetCurrentView();
|
|
@@ -865,6 +865,19 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
865
865
|
// doesn't refetch.
|
|
866
866
|
contextItemCapabilities = CapabilitiesForLevel('Owner');
|
|
867
867
|
capabilityCache = new Map();
|
|
868
|
+
/**
|
|
869
|
+
* Whether the current user may DELETE the context-menu's list. This uses the single shared
|
|
870
|
+
* ownership rule ({@link MJListEntityExtended.UserCanDelete}) — the same rule the server enforces
|
|
871
|
+
* in MJListEntityServer.Delete() — rather than the share-level capability, so the button is shown
|
|
872
|
+
* only when the delete would actually succeed: the List's owner, or a Developer/Integration user.
|
|
873
|
+
*/
|
|
874
|
+
get CanDeleteContextItem() {
|
|
875
|
+
const list = this.selectedContextItem?.list;
|
|
876
|
+
if (!list) {
|
|
877
|
+
return false;
|
|
878
|
+
}
|
|
879
|
+
return MJListEntityExtended.UserCanDelete(list.UserID, this.ProviderToUse.CurrentUser);
|
|
880
|
+
}
|
|
868
881
|
// Tracks whether the in-memory categories list is known-stale
|
|
869
882
|
// relative to the DB. Flipped to true by the BaseEntity event
|
|
870
883
|
// subscription whenever any `MJ: List Categories` row is saved or
|
|
@@ -1926,6 +1939,13 @@ let ListsBrowseResource = class ListsBrowseResource extends BaseResourceComponen
|
|
|
1926
1939
|
return;
|
|
1927
1940
|
const listToDelete = this.listToDelete;
|
|
1928
1941
|
const listName = listToDelete.Name;
|
|
1942
|
+
// Defense-in-depth: re-check the ownership rule before deleting so a stale/forced menu can't
|
|
1943
|
+
// bypass the gate. The server (MJListEntityServer.Delete) is the true enforcement point, but
|
|
1944
|
+
// failing fast here gives a clean message instead of a rejected server round-trip.
|
|
1945
|
+
if (!MJListEntityExtended.UserCanDelete(listToDelete.UserID, this.ProviderToUse.CurrentUser)) {
|
|
1946
|
+
this.notificationService.CreateSimpleNotification(`You don't have permission to delete "${listName}".`, 'error', 6000);
|
|
1947
|
+
return;
|
|
1948
|
+
}
|
|
1929
1949
|
this.isDeleting = true;
|
|
1930
1950
|
this.cdr.detectChanges();
|
|
1931
1951
|
try {
|
|
@@ -2592,14 +2612,14 @@ export { ListsBrowseResource };
|
|
|
2592
2612
|
<i class="fa-solid fa-copy"></i>
|
|
2593
2613
|
Duplicate
|
|
2594
2614
|
</button>
|
|
2595
|
-
@if (
|
|
2615
|
+
@if (CanDeleteContextItem) {
|
|
2596
2616
|
<div class="menu-divider"></div>
|
|
2597
2617
|
<button class="menu-item danger" (click)="confirmDeleteList()">
|
|
2598
2618
|
<i class="fa-solid fa-trash"></i>
|
|
2599
2619
|
Delete
|
|
2600
2620
|
</button>
|
|
2601
2621
|
}
|
|
2602
|
-
@if (!contextItemCapabilities.CanEdit && !contextItemCapabilities.CanShare && !
|
|
2622
|
+
@if (!contextItemCapabilities.CanEdit && !contextItemCapabilities.CanShare && !CanDeleteContextItem) {
|
|
2603
2623
|
<div class="menu-viewer-hint">
|
|
2604
2624
|
<i class="fa-solid fa-eye"></i>
|
|
2605
2625
|
Viewer access — read only
|