@memberjunction/ng-list-management 5.35.0 → 5.36.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 +179 -85
- package/dist/lib/components/audience-source-picker/audience-source-picker.component.d.ts +74 -0
- package/dist/lib/components/audience-source-picker/audience-source-picker.component.d.ts.map +1 -0
- package/dist/lib/components/audience-source-picker/audience-source-picker.component.js +396 -0
- package/dist/lib/components/audience-source-picker/audience-source-picker.component.js.map +1 -0
- package/dist/lib/components/audience-source-summary/audience-source-summary.component.d.ts +34 -0
- package/dist/lib/components/audience-source-summary/audience-source-summary.component.d.ts.map +1 -0
- package/dist/lib/components/audience-source-summary/audience-source-summary.component.js +136 -0
- package/dist/lib/components/audience-source-summary/audience-source-summary.component.js.map +1 -0
- package/dist/lib/components/list-audit-log/list-audit-log.component.d.ts +55 -0
- package/dist/lib/components/list-audit-log/list-audit-log.component.d.ts.map +1 -0
- package/dist/lib/components/list-audit-log/list-audit-log.component.js +280 -0
- package/dist/lib/components/list-audit-log/list-audit-log.component.js.map +1 -0
- package/dist/lib/components/list-delta-confirm/list-delta-confirm.component.d.ts +64 -0
- package/dist/lib/components/list-delta-confirm/list-delta-confirm.component.d.ts.map +1 -0
- package/dist/lib/components/list-delta-confirm/list-delta-confirm.component.js +323 -0
- package/dist/lib/components/list-delta-confirm/list-delta-confirm.component.js.map +1 -0
- package/dist/lib/components/list-invitations/list-invitations.component.d.ts +60 -0
- package/dist/lib/components/list-invitations/list-invitations.component.d.ts.map +1 -0
- package/dist/lib/components/list-invitations/list-invitations.component.js +367 -0
- package/dist/lib/components/list-invitations/list-invitations.component.js.map +1 -0
- package/dist/lib/components/list-management-dialog/list-management-dialog.component.d.ts.map +1 -1
- package/dist/lib/components/list-management-dialog/list-management-dialog.component.js +0 -4
- package/dist/lib/components/list-management-dialog/list-management-dialog.component.js.map +1 -1
- package/dist/lib/components/list-share-dialog/list-share-dialog.component.d.ts +18 -1
- package/dist/lib/components/list-share-dialog/list-share-dialog.component.d.ts.map +1 -1
- package/dist/lib/components/list-share-dialog/list-share-dialog.component.js +115 -66
- package/dist/lib/components/list-share-dialog/list-share-dialog.component.js.map +1 -1
- package/dist/lib/components/list-stats/list-stats.component.d.ts +52 -0
- package/dist/lib/components/list-stats/list-stats.component.d.ts.map +1 -0
- package/dist/lib/components/list-stats/list-stats.component.js +283 -0
- package/dist/lib/components/list-stats/list-stats.component.js.map +1 -0
- package/dist/lib/components/save-view-as-list-dialog/save-view-as-list-dialog.component.d.ts +68 -0
- package/dist/lib/components/save-view-as-list-dialog/save-view-as-list-dialog.component.d.ts.map +1 -0
- package/dist/lib/components/save-view-as-list-dialog/save-view-as-list-dialog.component.js +316 -0
- package/dist/lib/components/save-view-as-list-dialog/save-view-as-list-dialog.component.js.map +1 -0
- package/dist/lib/components/shared-with-me/shared-with-me.component.d.ts +47 -0
- package/dist/lib/components/shared-with-me/shared-with-me.component.d.ts.map +1 -0
- package/dist/lib/components/shared-with-me/shared-with-me.component.js +231 -0
- package/dist/lib/components/shared-with-me/shared-with-me.component.js.map +1 -0
- package/dist/lib/components/tag-chips/tag-chips.component.d.ts +85 -0
- package/dist/lib/components/tag-chips/tag-chips.component.d.ts.map +1 -0
- package/dist/lib/components/tag-chips/tag-chips.component.js +392 -0
- package/dist/lib/components/tag-chips/tag-chips.component.js.map +1 -0
- package/dist/lib/models/list-sharing.models.d.ts +5 -0
- package/dist/lib/models/list-sharing.models.d.ts.map +1 -1
- package/dist/lib/models/list-sharing.models.js.map +1 -1
- package/dist/lib/module.d.ts +17 -8
- package/dist/lib/module.d.ts.map +1 -1
- package/dist/lib/module.js +51 -6
- package/dist/lib/module.js.map +1 -1
- package/dist/lib/services/list-management.service.d.ts.map +1 -1
- package/dist/lib/services/list-management.service.js +0 -9
- package/dist/lib/services/list-management.service.js.map +1 -1
- package/dist/lib/services/list-sharing.service.d.ts +8 -3
- package/dist/lib/services/list-sharing.service.d.ts.map +1 -1
- package/dist/lib/services/list-sharing.service.js +33 -15
- package/dist/lib/services/list-sharing.service.js.map +1 -1
- package/dist/public-api.d.ts +9 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +9 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +13 -11
package/README.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
# @memberjunction/ng-list-management
|
|
2
2
|
|
|
3
|
-
Angular components for
|
|
3
|
+
Angular components for the MemberJunction Lists feature: list-membership
|
|
4
|
+
management, sharing, refresh-from-source preview, audience picking,
|
|
5
|
+
tagging, and lightweight stats. Drop-in pieces that any MJ app can use;
|
|
6
|
+
the components here own the UI shape, and
|
|
7
|
+
[`@memberjunction/lists`](../../../Lists/README.md) owns the underlying
|
|
8
|
+
business logic.
|
|
4
9
|
|
|
5
10
|
## Installation
|
|
6
11
|
|
|
@@ -8,37 +13,7 @@ Angular components for managing entity list membership with a responsive dialog
|
|
|
8
13
|
npm install @memberjunction/ng-list-management
|
|
9
14
|
```
|
|
10
15
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
The List Management package provides a dialog-based UI for managing which lists a set of entity records belong to. It supports search and filtering, visual membership indicators (full/partial/none), inline list creation, batch operations with progress feedback, and list sharing via a separate sharing dialog.
|
|
14
|
-
|
|
15
|
-
```mermaid
|
|
16
|
-
flowchart TD
|
|
17
|
-
subgraph Dialog["List Management Dialog"]
|
|
18
|
-
A["Search & Filter"] --> B["List Items with Membership Indicators"]
|
|
19
|
-
B --> C["Toggle Membership"]
|
|
20
|
-
B --> D["Inline List Creation"]
|
|
21
|
-
end
|
|
22
|
-
subgraph Share["List Sharing Dialog"]
|
|
23
|
-
E["Share with Users/Roles"]
|
|
24
|
-
end
|
|
25
|
-
subgraph Services["Services"]
|
|
26
|
-
F["ListManagementService"]
|
|
27
|
-
G["ListSharingService"]
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
C --> F
|
|
31
|
-
D --> F
|
|
32
|
-
E --> G
|
|
33
|
-
|
|
34
|
-
style Dialog fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
35
|
-
style Share fill:#7c5295,stroke:#563a6b,color:#fff
|
|
36
|
-
style Services fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Usage
|
|
40
|
-
|
|
41
|
-
### Module Import
|
|
16
|
+
## Module import
|
|
42
17
|
|
|
43
18
|
```typescript
|
|
44
19
|
import { ListManagementModule } from '@memberjunction/ng-list-management';
|
|
@@ -49,74 +24,193 @@ import { ListManagementModule } from '@memberjunction/ng-list-management';
|
|
|
49
24
|
export class YourModule {}
|
|
50
25
|
```
|
|
51
26
|
|
|
52
|
-
|
|
27
|
+
All components below are exported via this single module.
|
|
28
|
+
|
|
29
|
+
## Components
|
|
30
|
+
|
|
31
|
+
| Selector | Component | Purpose |
|
|
32
|
+
| ------------------------------ | ------------------------------------ | ------------------------------------------------------------------------------------------- |
|
|
33
|
+
| `mj-list-management-dialog` | `ListManagementDialogComponent` | Dialog for adding/removing records to/from lists |
|
|
34
|
+
| `mj-list-share-dialog` | `ListShareDialogComponent` | Share-with-users-or-roles dialog (audit-log + notification footer links) |
|
|
35
|
+
| `mj-list-delta-confirm` | `ListDeltaConfirmComponent` | Preview-and-confirm dialog for any mutating list op (drop-guard UX) |
|
|
36
|
+
| `mj-save-view-as-list-dialog` | `SaveViewAsListDialogComponent` | Materialize a User View into a new static List (with optional lineage + filter snapshot) |
|
|
37
|
+
| `mj-list-invitations` | `ListInvitationsComponent` | Per-list invitations management — Pending / Accepted / Expired / Revoked tabs + send form |
|
|
38
|
+
| `mj-list-audit-log` | `ListAuditLogComponent` | Per-list audit-log viewer reading the generic `MJ: Audit Logs` table |
|
|
39
|
+
| `mj-lists-shared-with-me` | `ListsSharedWithMeComponent` | Browse-style grid of all lists shared with the current user |
|
|
40
|
+
| `mj-list-stats` | `ListStatsComponent` | Side-panel usage stats (members, monthly growth, active shares, recent-activity feed) |
|
|
41
|
+
| `mj-tag-chips` | `TagChipsComponent` | Compact tag chips for any entity record (read-only + editable variants) |
|
|
42
|
+
| `mj-audience-source-picker` | `AudienceSourcePickerComponent` | Three-tab audience picker — List / View / Ad-hoc Filter — emits typed `AudienceSource` |
|
|
43
|
+
| `mj-audience-source-summary` | `AudienceSourceSummaryComponent` | Compact friendly-name summary of a selected `AudienceSource` |
|
|
44
|
+
|
|
45
|
+
## Component reference
|
|
46
|
+
|
|
47
|
+
### `mj-list-delta-confirm`
|
|
48
|
+
|
|
49
|
+
The **only** UI path that emits a valid `DeltaToken` to apply a list
|
|
50
|
+
mutation. Two visual states — safe (green) and drop-warning (red with a
|
|
51
|
+
required acknowledgement checkbox).
|
|
52
|
+
|
|
53
|
+
```html
|
|
54
|
+
<mj-list-delta-confirm
|
|
55
|
+
[Visible]="confirmVisible && !!delta"
|
|
56
|
+
[Delta]="delta"
|
|
57
|
+
[TargetListName]="listName"
|
|
58
|
+
[SourceLabel]="sourceName"
|
|
59
|
+
(Confirm)="onConfirm($event)"
|
|
60
|
+
(Cancel)="onCancel()">
|
|
61
|
+
</mj-list-delta-confirm>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
`(Confirm)` emits the `DeltaToken` string; pass it back to
|
|
65
|
+
`GraphQLListsClient.ApplyListDelta({ Delta, ConfirmDrops })`.
|
|
66
|
+
|
|
67
|
+
### `mj-save-view-as-list-dialog`
|
|
68
|
+
|
|
69
|
+
Materializes a User View into a new List. Surfaces the lineage
|
|
70
|
+
options (one-time snapshot vs. remember source view) and the
|
|
71
|
+
freeze-filter toggle (`UseSnapshot`).
|
|
53
72
|
|
|
54
73
|
```html
|
|
55
|
-
<mj-list-
|
|
56
|
-
[
|
|
57
|
-
[
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
<mj-save-view-as-list-dialog
|
|
75
|
+
[Provider]="provider"
|
|
76
|
+
[Visible]="dialogVisible"
|
|
77
|
+
[ViewId]="viewId"
|
|
78
|
+
[ViewName]="viewName"
|
|
79
|
+
[RecordCount]="viewRowCount"
|
|
80
|
+
(Save)="onSaveAsList($event)"
|
|
81
|
+
(Cancel)="onCancel()">
|
|
82
|
+
</mj-save-view-as-list-dialog>
|
|
61
83
|
```
|
|
62
84
|
|
|
63
|
-
|
|
85
|
+
`(Save)` emits a `SaveViewAsListResult` — caller invokes
|
|
86
|
+
`GraphQLListsClient.MaterializeFromView(viewId, opts)`.
|
|
87
|
+
|
|
88
|
+
### `mj-list-invitations`
|
|
89
|
+
|
|
90
|
+
Full invitations management for one list. Drives the `Invite` /
|
|
91
|
+
`RevokeInvitation` / "Resend" flows from `ListSharing`.
|
|
64
92
|
|
|
65
93
|
```html
|
|
66
|
-
<mj-list-
|
|
67
|
-
[
|
|
68
|
-
[
|
|
69
|
-
|
|
70
|
-
</mj-list-
|
|
94
|
+
<mj-list-invitations
|
|
95
|
+
[Provider]="provider"
|
|
96
|
+
[ListID]="listId"
|
|
97
|
+
[ListName]="listName">
|
|
98
|
+
</mj-list-invitations>
|
|
71
99
|
```
|
|
72
100
|
|
|
73
|
-
###
|
|
101
|
+
### `mj-list-audit-log`
|
|
74
102
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
103
|
+
Per-list audit log viewer. Reads from `MJ: Audit Logs` filtered to the
|
|
104
|
+
List entity + this list's ID. Joins users + audit-log-types in a single
|
|
105
|
+
batch query so the table renders names, not UUIDs.
|
|
106
|
+
|
|
107
|
+
```html
|
|
108
|
+
<mj-list-audit-log
|
|
109
|
+
[Provider]="provider"
|
|
110
|
+
[ListID]="listId"
|
|
111
|
+
[PageSize]="200">
|
|
112
|
+
</mj-list-audit-log>
|
|
85
113
|
```
|
|
86
114
|
|
|
87
|
-
|
|
115
|
+
### `mj-lists-shared-with-me`
|
|
88
116
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
117
|
+
Browse-style grid for lists shared with the current user. Click events
|
|
118
|
+
bubble up via `OpenList` so the host app can route through its own
|
|
119
|
+
navigation.
|
|
120
|
+
|
|
121
|
+
```html
|
|
122
|
+
<mj-lists-shared-with-me
|
|
123
|
+
[Provider]="provider"
|
|
124
|
+
(OpenList)="onOpenList($event.ListID)">
|
|
125
|
+
</mj-lists-shared-with-me>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### `mj-list-stats`
|
|
129
|
+
|
|
130
|
+
Compact side panel for a list detail view. Surfaces member count,
|
|
131
|
+
this-month growth, active share count, time-since-last-activity, and a
|
|
132
|
+
recent-activity feed pulled from the audit log.
|
|
133
|
+
|
|
134
|
+
```html
|
|
135
|
+
<mj-list-stats [Provider]="provider" [ListID]="listId"></mj-list-stats>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### `mj-tag-chips`
|
|
139
|
+
|
|
140
|
+
Compact, reusable tag chips for any entity record. Backed by
|
|
141
|
+
`MJ: Tagged Items`. Read-only by default; passing `[Editable]="true"`
|
|
142
|
+
shows an inline autocomplete add field and per-chip remove buttons.
|
|
143
|
+
|
|
144
|
+
```html
|
|
145
|
+
<!-- Read-only chips on a card -->
|
|
146
|
+
<mj-tag-chips
|
|
147
|
+
[Provider]="provider"
|
|
148
|
+
EntityName="MJ: Lists"
|
|
149
|
+
[RecordID]="listId"
|
|
150
|
+
[MaxDisplay]="3"
|
|
151
|
+
(TagClicked)="onFilterByTag($event)">
|
|
152
|
+
</mj-tag-chips>
|
|
153
|
+
|
|
154
|
+
<!-- Editable chips on a detail view -->
|
|
155
|
+
<mj-tag-chips
|
|
156
|
+
[Provider]="provider"
|
|
157
|
+
EntityName="MJ: Lists"
|
|
158
|
+
[RecordID]="listId"
|
|
159
|
+
[Editable]="true"
|
|
160
|
+
[MaxDisplay]="20">
|
|
161
|
+
</mj-tag-chips>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### `mj-audience-source-picker` + `mj-audience-source-summary`
|
|
165
|
+
|
|
166
|
+
Reusable audience picker for Communications and any other
|
|
167
|
+
audience-aware feature. Emits a typed `AudienceSource` discriminated
|
|
168
|
+
union (same shape as `ListSource` from `@memberjunction/lists`).
|
|
169
|
+
|
|
170
|
+
```html
|
|
171
|
+
<mj-audience-source-picker
|
|
172
|
+
[Provider]="provider"
|
|
173
|
+
[LockedEntityName]="entityName"
|
|
174
|
+
[Source]="currentSource"
|
|
175
|
+
(SourceChange)="audience = $event">
|
|
176
|
+
</mj-audience-source-picker>
|
|
177
|
+
|
|
178
|
+
<mj-audience-source-summary
|
|
179
|
+
[Provider]="provider"
|
|
180
|
+
[Source]="audience"
|
|
181
|
+
[RecordCount]="resolvedCount">
|
|
182
|
+
</mj-audience-source-summary>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Three tabs: **List** (pick a saved `MJ: List`), **View** (pick a
|
|
186
|
+
`MJ: User View`, marked "live"), **Ad-hoc Filter** (entity + free-form
|
|
187
|
+
`ExtraFilter`).
|
|
93
188
|
|
|
94
189
|
## Services
|
|
95
190
|
|
|
96
|
-
| Service
|
|
97
|
-
|
|
98
|
-
| `ListManagementService` |
|
|
99
|
-
| `ListSharingService`
|
|
100
|
-
|
|
101
|
-
##
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
- `
|
|
106
|
-
|
|
107
|
-
- `
|
|
108
|
-
|
|
109
|
-
- `
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- `ListShareConfig` -- Configuration for list sharing
|
|
113
|
-
- `ListShareResult` -- Result of sharing operations
|
|
191
|
+
| Service | Purpose |
|
|
192
|
+
| --------------------- | -------------------------------------------------------------------- |
|
|
193
|
+
| `ListManagementService` | Add/remove/create list operations from the management dialog |
|
|
194
|
+
| `ListSharingService` | Direct share writes from the share dialog (Phase 1 path; new code prefer the server-side `ListSharing` via `GraphQLListsClient`) |
|
|
195
|
+
|
|
196
|
+
## Companion packages
|
|
197
|
+
|
|
198
|
+
For the underlying business logic and the wire-format client:
|
|
199
|
+
|
|
200
|
+
- [`@memberjunction/lists`](../../../Lists/README.md) — `ListOperations`,
|
|
201
|
+
`ListSharing`, `AudienceResolver`, delta-token contract.
|
|
202
|
+
- [`@memberjunction/graphql-dataprovider`](../../../GraphQLDataProvider/README.md)
|
|
203
|
+
— `GraphQLListsClient` (typed client mirroring the `ListOperationsResolver`).
|
|
204
|
+
- [`@memberjunction/core-actions`](../../../Actions/CoreActions/README.md)
|
|
205
|
+
— `MaterializeListFromView`, `ShareList`, `Compose Lists`, `Move List Members`,
|
|
206
|
+
`Resolve Audience`, etc. — every UI capability also available as an MJ Action.
|
|
114
207
|
|
|
115
208
|
## Dependencies
|
|
116
209
|
|
|
117
|
-
- [@memberjunction/core](../../MJCore/README.md)
|
|
118
|
-
- [@memberjunction/core-entities](../../MJCoreEntities/README.md)
|
|
119
|
-
- [@memberjunction/
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
210
|
+
- [@memberjunction/core](../../MJCore/README.md) — `Metadata`, `RunView`
|
|
211
|
+
- [@memberjunction/core-entities](../../MJCoreEntities/README.md) — generated entity types
|
|
212
|
+
- [@memberjunction/lists](../../../Lists/README.md) — `AudienceSource`, `ListDelta`, `SharePermissionLevel`, etc.
|
|
213
|
+
- [@memberjunction/graphql-dataprovider](../../../GraphQLDataProvider/README.md) — `GraphQLListsClient`
|
|
214
|
+
- [@memberjunction/ng-base-types](../base-types/README.md) — `BaseAngularComponent` for multi-provider support
|
|
215
|
+
- [@memberjunction/ng-shared-generic](../shared/README.md) — loading component
|
|
216
|
+
- [@memberjunction/ng-ui-components](../ui-components/README.md) — `mj-dialog`, `mjButton`, etc.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
3
|
+
import { type EntityInfo } from '@memberjunction/core';
|
|
4
|
+
import type { MJListEntity, MJUserViewEntity } from '@memberjunction/core-entities';
|
|
5
|
+
import type { AudienceSource } from '@memberjunction/lists-base';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Reusable picker for an `AudienceSource` (mockup 20). Three tabs:
|
|
9
|
+
*
|
|
10
|
+
* - **List** — pick from saved `MJ: List`s for the chosen entity.
|
|
11
|
+
* - **View** — pick from saved `MJ: User View`s for the chosen entity.
|
|
12
|
+
* Marked "live" so the user knows the record set is re-resolved at
|
|
13
|
+
* execution time.
|
|
14
|
+
* - **Ad-hoc Filter** — entity + free-form `ExtraFilter`. Skips
|
|
15
|
+
* server-side validation; the consumer can pre-flight via
|
|
16
|
+
* `ResolveAudience` (Action) or `AudienceResolver.Resolve` if desired.
|
|
17
|
+
*
|
|
18
|
+
* Emits the typed `AudienceSource` via `SourceChange` on selection; the
|
|
19
|
+
* sister `AudienceSourceSummaryComponent` renders the friendly summary.
|
|
20
|
+
* Multi-provider safe via `BaseAngularComponent.ProviderToUse`.
|
|
21
|
+
*/
|
|
22
|
+
export type AudienceSourcePickerTab = 'list' | 'view' | 'adhoc';
|
|
23
|
+
export declare class AudienceSourcePickerComponent extends BaseAngularComponent implements OnInit {
|
|
24
|
+
private readonly cdr;
|
|
25
|
+
/**
|
|
26
|
+
* Pre-seed the picker with an existing audience. Useful when editing
|
|
27
|
+
* a previously-configured audience on a saved campaign.
|
|
28
|
+
*/
|
|
29
|
+
set Source(value: AudienceSource | null);
|
|
30
|
+
get Source(): AudienceSource | null;
|
|
31
|
+
private _source;
|
|
32
|
+
/** When set, restrict the entity dropdown to this entity (lock it). */
|
|
33
|
+
LockedEntityName: string | null;
|
|
34
|
+
SourceChange: EventEmitter<import("@memberjunction/lists-base").ListSource | null>;
|
|
35
|
+
activeTab: AudienceSourcePickerTab;
|
|
36
|
+
entityOptions: EntityInfo[];
|
|
37
|
+
selectedEntityName: string | null;
|
|
38
|
+
availableLists: MJListEntity[];
|
|
39
|
+
filteredLists: MJListEntity[];
|
|
40
|
+
listSearch: string;
|
|
41
|
+
selectedListId: string | null;
|
|
42
|
+
availableViews: MJUserViewEntity[];
|
|
43
|
+
filteredViews: MJUserViewEntity[];
|
|
44
|
+
viewSearch: string;
|
|
45
|
+
selectedViewId: string | null;
|
|
46
|
+
adhocEntityName: string | null;
|
|
47
|
+
adhocFilter: string;
|
|
48
|
+
loading: boolean;
|
|
49
|
+
ngOnInit(): Promise<void>;
|
|
50
|
+
setTab(tab: AudienceSourcePickerTab): Promise<void>;
|
|
51
|
+
OnEntityChange(name: string): Promise<void>;
|
|
52
|
+
OnListSearchChange(): void;
|
|
53
|
+
OnViewSearchChange(): void;
|
|
54
|
+
OnSelectList(list: MJListEntity): void;
|
|
55
|
+
OnSelectView(view: MJUserViewEntity): void;
|
|
56
|
+
OnAdhocFilterChange(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Build the currently-selected `AudienceSource` from picker state, or
|
|
59
|
+
* `null` if the picker isn't yet in a complete state.
|
|
60
|
+
*/
|
|
61
|
+
get currentSource(): AudienceSource | null;
|
|
62
|
+
private emitCurrentSource;
|
|
63
|
+
/**
|
|
64
|
+
* Pull lists or views for the current tab from the server. We
|
|
65
|
+
* intentionally batch the (list, view) pair on entity change so
|
|
66
|
+
* switching tabs doesn't re-query.
|
|
67
|
+
*/
|
|
68
|
+
private refreshTabData;
|
|
69
|
+
private recomputeFilteredLists;
|
|
70
|
+
private recomputeFilteredViews;
|
|
71
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AudienceSourcePickerComponent, never>;
|
|
72
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AudienceSourcePickerComponent, "mj-audience-source-picker", never, { "Source": { "alias": "Source"; "required": false; }; "LockedEntityName": { "alias": "LockedEntityName"; "required": false; }; }, { "SourceChange": "SourceChange"; }, never, never, false, never>;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=audience-source-picker.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audience-source-picker.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/audience-source-picker/audience-source-picker.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,YAAY,EAAS,MAAM,EAAkB,MAAM,eAAe,CAAC;AAEnI,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;;AAEjE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEhE,qBAOa,6BAA8B,SAAQ,oBAAqB,YAAW,MAAM;IACvF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjD;;;OAGG;IACH,IACI,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,EActC;IACD,IAAI,MAAM,IAAI,cAAc,GAAG,IAAI,CAElC;IACD,OAAO,CAAC,OAAO,CAA+B;IAE9C,uEAAuE;IAC9D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEtC,YAAY,uEAA6C;IAE5D,SAAS,EAAE,uBAAuB,CAAU;IAC5C,aAAa,EAAE,UAAU,EAAE,CAAM;IAGjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,cAAc,EAAE,YAAY,EAAE,CAAM;IACpC,aAAa,EAAE,YAAY,EAAE,CAAM;IACnC,UAAU,SAAM;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,cAAc,EAAE,gBAAgB,EAAE,CAAM;IACxC,aAAa,EAAE,gBAAgB,EAAE,CAAM;IACvC,UAAU,SAAM;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGrC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,WAAW,SAAM;IAEjB,OAAO,UAAS;IAEjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAclB,MAAM,CAAC,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjD,kBAAkB,IAAI,IAAI;IAI1B,kBAAkB,IAAI,IAAI;IAI1B,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAKtC,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAK1C,mBAAmB,IAAI,IAAI;IAIlC;;;OAGG;IACH,IAAW,aAAa,IAAI,cAAc,GAAG,IAAI,CAYhD;IAED,OAAO,CAAC,iBAAiB;IAMzB;;;;OAIG;YACW,cAAc;IAsC5B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,sBAAsB;yCAtLnB,6BAA6B;2CAA7B,6BAA6B;CA6LzC"}
|