@memberjunction/ng-list-management 0.0.1 → 2.133.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.
@@ -0,0 +1,170 @@
1
+ import { EventEmitter, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
+ import { ListEntity, ListCategoryEntity } from '@memberjunction/core-entities';
3
+ import { ListManagementService } from '../../services/list-management.service';
4
+ import { ListManagementDialogConfig, ListManagementResult, ListItemViewModel, ListFilterTab, ListSortOption } from '../../models/list-management.models';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * A gorgeous, responsive dialog for managing list membership.
8
+ * Supports adding/removing records from multiple lists with membership indicators.
9
+ *
10
+ * Features:
11
+ * - Search and filter lists
12
+ * - Visual membership indicators (full/partial/none)
13
+ * - Inline list creation
14
+ * - Mobile-responsive bottom sheet on small screens
15
+ * - Batch operations with progress feedback
16
+ */
17
+ export declare class ListManagementDialogComponent implements OnInit, OnDestroy {
18
+ private listService;
19
+ private cdr;
20
+ /**
21
+ * Configuration for the dialog
22
+ */
23
+ config: ListManagementDialogConfig;
24
+ /**
25
+ * Controls dialog visibility
26
+ */
27
+ get visible(): boolean;
28
+ set visible(value: boolean);
29
+ private _visible;
30
+ /**
31
+ * Emitted when dialog is closed with results
32
+ */
33
+ complete: EventEmitter<ListManagementResult>;
34
+ /**
35
+ * Emitted when dialog is cancelled
36
+ */
37
+ cancel: EventEmitter<void>;
38
+ loading: boolean;
39
+ saving: boolean;
40
+ searchText: string;
41
+ activeTab: ListFilterTab;
42
+ sortOption: ListSortOption;
43
+ showCreateForm: boolean;
44
+ allLists: ListItemViewModel[];
45
+ filteredLists: ListItemViewModel[];
46
+ categories: ListCategoryEntity[];
47
+ newListName: string;
48
+ newListDescription: string;
49
+ newListCategoryId: string | null;
50
+ private originalMembership;
51
+ addedToLists: Set<string>;
52
+ removedFromLists: Set<string>;
53
+ newlyCreatedLists: ListEntity[];
54
+ private destroy$;
55
+ private searchSubject;
56
+ constructor(listService: ListManagementService, cdr: ChangeDetectorRef);
57
+ ngOnInit(): void;
58
+ ngOnDestroy(): void;
59
+ /**
60
+ * Get dialog title based on config
61
+ */
62
+ get dialogTitle(): string;
63
+ /**
64
+ * Get subtitle showing context
65
+ */
66
+ get dialogSubtitle(): string;
67
+ /**
68
+ * Check if there are pending changes
69
+ */
70
+ get hasChanges(): boolean;
71
+ /**
72
+ * Get count of lists to add to
73
+ */
74
+ get addCount(): number;
75
+ /**
76
+ * Get count of lists to remove from
77
+ */
78
+ get removeCount(): number;
79
+ /**
80
+ * Setup search with debounce
81
+ */
82
+ private setupSearchDebounce;
83
+ /**
84
+ * Initialize dialog when opened
85
+ */
86
+ private initializeDialog;
87
+ /**
88
+ * Reset all state
89
+ */
90
+ private resetState;
91
+ /**
92
+ * Load lists and membership data
93
+ */
94
+ private loadData;
95
+ /**
96
+ * Handle search input
97
+ */
98
+ onSearchInput(event: Event): void;
99
+ /**
100
+ * Clear search
101
+ */
102
+ clearSearch(): void;
103
+ /**
104
+ * Change active tab
105
+ */
106
+ setActiveTab(tab: ListFilterTab): void;
107
+ /**
108
+ * Change sort option
109
+ */
110
+ setSortOption(option: ListSortOption): void;
111
+ /**
112
+ * Apply all filters and sorting
113
+ */
114
+ private applyFilters;
115
+ /**
116
+ * Toggle list selection for adding
117
+ */
118
+ toggleListForAdd(vm: ListItemViewModel): void;
119
+ /**
120
+ * Toggle list selection for removal
121
+ */
122
+ toggleListForRemove(vm: ListItemViewModel): void;
123
+ /**
124
+ * Get membership indicator class
125
+ */
126
+ getMembershipClass(vm: ListItemViewModel): string;
127
+ /**
128
+ * Get membership indicator text
129
+ */
130
+ getMembershipText(vm: ListItemViewModel): string;
131
+ /**
132
+ * Get membership icon
133
+ */
134
+ getMembershipIcon(vm: ListItemViewModel): string;
135
+ /**
136
+ * Show create list form
137
+ */
138
+ showCreateListForm(): void;
139
+ /**
140
+ * Cancel create list form
141
+ */
142
+ cancelCreateList(): void;
143
+ /**
144
+ * Create a new list
145
+ */
146
+ createList(): Promise<void>;
147
+ /**
148
+ * Apply changes and close dialog
149
+ */
150
+ applyChanges(): Promise<void>;
151
+ /**
152
+ * Cancel and close dialog
153
+ */
154
+ onCancel(): void;
155
+ /**
156
+ * Format date for display
157
+ */
158
+ formatDate(date: Date): string;
159
+ /**
160
+ * Check if we should show the add button for a list
161
+ */
162
+ showAddButton(vm: ListItemViewModel): boolean;
163
+ /**
164
+ * Check if we should show the remove button for a list
165
+ */
166
+ showRemoveButton(vm: ListItemViewModel): boolean;
167
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListManagementDialogComponent, never>;
168
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListManagementDialogComponent, "mj-list-management-dialog", never, { "config": { "alias": "config"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "complete": "complete"; "cancel": "cancel"; }, never, never, false, never>;
169
+ }
170
+ //# sourceMappingURL=list-management-dialog.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-management-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/list-management-dialog/list-management-dialog.component.ts"],"names":[],"mappings":"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"}