@memberjunction/ng-file-storage 3.1.0 → 3.2.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.
Files changed (34) hide show
  1. package/dist/lib/file-browser/file-browser-demo.component.d.ts +10 -0
  2. package/dist/lib/file-browser/file-browser-demo.component.d.ts.map +1 -0
  3. package/dist/lib/file-browser/file-browser-demo.component.js +39 -0
  4. package/dist/lib/file-browser/file-browser-demo.component.js.map +1 -0
  5. package/dist/lib/file-browser/file-browser-resource.component.d.ts +30 -0
  6. package/dist/lib/file-browser/file-browser-resource.component.d.ts.map +1 -0
  7. package/dist/lib/file-browser/file-browser-resource.component.js +82 -0
  8. package/dist/lib/file-browser/file-browser-resource.component.js.map +1 -0
  9. package/dist/lib/file-browser/file-browser.component.d.ts +69 -0
  10. package/dist/lib/file-browser/file-browser.component.d.ts.map +1 -0
  11. package/dist/lib/file-browser/file-browser.component.js +132 -0
  12. package/dist/lib/file-browser/file-browser.component.js.map +1 -0
  13. package/dist/lib/file-browser/file-grid.component.d.ts +429 -0
  14. package/dist/lib/file-browser/file-grid.component.d.ts.map +1 -0
  15. package/dist/lib/file-browser/file-grid.component.js +2394 -0
  16. package/dist/lib/file-browser/file-grid.component.js.map +1 -0
  17. package/dist/lib/file-browser/folder-tree.component.d.ts +115 -0
  18. package/dist/lib/file-browser/folder-tree.component.d.ts.map +1 -0
  19. package/dist/lib/file-browser/folder-tree.component.js +364 -0
  20. package/dist/lib/file-browser/folder-tree.component.js.map +1 -0
  21. package/dist/lib/file-browser/storage-providers-list.component.d.ts +59 -0
  22. package/dist/lib/file-browser/storage-providers-list.component.d.ts.map +1 -0
  23. package/dist/lib/file-browser/storage-providers-list.component.js +235 -0
  24. package/dist/lib/file-browser/storage-providers-list.component.js.map +1 -0
  25. package/dist/lib/file-upload/file-upload.d.ts +19 -19
  26. package/dist/lib/module.d.ts +25 -18
  27. package/dist/lib/module.d.ts.map +1 -1
  28. package/dist/lib/module.js +44 -4
  29. package/dist/lib/module.js.map +1 -1
  30. package/dist/public-api.d.ts +3 -0
  31. package/dist/public-api.d.ts.map +1 -1
  32. package/dist/public-api.js +6 -0
  33. package/dist/public-api.js.map +1 -1
  34. package/package.json +9 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-grid.component.js","sourceRoot":"","sources":["../../../src/lib/file-browser/file-grid.component.ts","../../../src/lib/file-browser/file-grid.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import { EventEmitter } from '@angular/core';
2
+ import { StorageAccountWithProvider } from '@memberjunction/core-entities';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Represents a breadcrumb item in the path
6
+ */
7
+ export interface BreadcrumbItem {
8
+ label: string;
9
+ path: string;
10
+ }
11
+ /**
12
+ * Represents a folder in the tree
13
+ */
14
+ export interface FolderItem {
15
+ name: string;
16
+ fullPath: string;
17
+ }
18
+ /**
19
+ * Folder tree navigation component with breadcrumbs and history navigation.
20
+ * Provides Mac Finder-style navigation with back/forward buttons and breadcrumb path.
21
+ * Loads actual folder structure from storage accounts via GraphQL.
22
+ */
23
+ export declare class FolderTreeComponent {
24
+ /**
25
+ * GraphQL client for file storage operations
26
+ */
27
+ private storageClient;
28
+ /**
29
+ * Currently selected storage account with provider details
30
+ */
31
+ private _account;
32
+ constructor();
33
+ set account(value: StorageAccountWithProvider | null);
34
+ get account(): StorageAccountWithProvider | null;
35
+ /**
36
+ * Emits when a folder is selected in the tree
37
+ */
38
+ folderSelected: EventEmitter<string>;
39
+ /**
40
+ * Current folder path
41
+ */
42
+ currentPath: string;
43
+ /**
44
+ * Navigation history (for back button)
45
+ */
46
+ history: string[];
47
+ /**
48
+ * Current position in history
49
+ */
50
+ historyIndex: number;
51
+ /**
52
+ * Breadcrumb items for current path
53
+ */
54
+ breadcrumbs: BreadcrumbItem[];
55
+ /**
56
+ * Folders in current path
57
+ */
58
+ folders: FolderItem[];
59
+ /**
60
+ * Loading state
61
+ */
62
+ isLoading: boolean;
63
+ /**
64
+ * Error message
65
+ */
66
+ errorMessage: string | null;
67
+ /**
68
+ * Resets navigation when provider changes
69
+ */
70
+ private resetNavigation;
71
+ /**
72
+ * Navigates to a specific folder path
73
+ */
74
+ navigateToPath(path: string): void;
75
+ /**
76
+ * Refreshes the current folder view without changing navigation
77
+ * Used when folder structure changes (e.g., folder deleted) but we're staying in the same location
78
+ */
79
+ refresh(): void;
80
+ /**
81
+ * Navigates back in history
82
+ */
83
+ navigateBack(): void;
84
+ /**
85
+ * Navigates forward in history
86
+ */
87
+ navigateForward(): void;
88
+ /**
89
+ * Checks if can navigate back
90
+ */
91
+ canGoBack(): boolean;
92
+ /**
93
+ * Checks if can navigate forward
94
+ */
95
+ canGoForward(): boolean;
96
+ /**
97
+ * Updates breadcrumbs based on current path
98
+ */
99
+ private updateBreadcrumbs;
100
+ /**
101
+ * Handles breadcrumb click
102
+ */
103
+ onBreadcrumbClick(item: BreadcrumbItem): void;
104
+ /**
105
+ * Loads folders from the storage account for the current path
106
+ */
107
+ private loadFolders;
108
+ /**
109
+ * Handles folder click for navigation
110
+ */
111
+ onFolderClick(folder: FolderItem): void;
112
+ static ɵfac: i0.ɵɵFactoryDeclaration<FolderTreeComponent, never>;
113
+ static ɵcmp: i0.ɵɵComponentDeclaration<FolderTreeComponent, "mj-folder-tree", never, { "account": { "alias": "account"; "required": false; }; }, { "folderSelected": "folderSelected"; }, never, never, false, never>;
114
+ }
115
+ //# sourceMappingURL=folder-tree.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-tree.component.d.ts","sourceRoot":"","sources":["../../../src/lib/file-browser/folder-tree.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,YAAY,EAAiB,MAAM,eAAe,CAAC;AAEvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;;AAE3E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAKa,mBAAmB;IAC9B;;OAEG;IACH,OAAO,CAAC,aAAa,CAA2B;IAEhD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAA2C;;IAM3D,IACI,OAAO,CAAC,KAAK,EAAE,0BAA0B,GAAG,IAAI,EAQnD;IACD,IAAI,OAAO,IAAI,0BAA0B,GAAG,IAAI,CAE/C;IAED;;OAEG;IACO,cAAc,uBAA8B;IAEtD;;OAEG;IACI,WAAW,EAAE,MAAM,CAAO;IAEjC;;OAEG;IACI,OAAO,EAAE,MAAM,EAAE,CAAM;IAE9B;;OAEG;IACI,YAAY,EAAE,MAAM,CAAM;IAEjC;;OAEG;IACI,WAAW,EAAE,cAAc,EAAE,CAAM;IAE1C;;OAEG;IACI,OAAO,EAAE,UAAU,EAAE,CAAM;IAElC;;OAEG;IACI,SAAS,EAAE,OAAO,CAAS;IAElC;;OAEG;IACI,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1C;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACI,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAuBzC;;;OAGG;IACI,OAAO,IAAI,IAAI;IAItB;;OAEG;IACI,YAAY,IAAI,IAAI;IAY3B;;OAEG;IACI,eAAe,IAAI,IAAI;IAY9B;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,YAAY,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACI,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAKpD;;OAEG;YACW,WAAW;IA4CzB;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;yCAzPnC,mBAAmB;2CAAnB,mBAAmB;CA6P/B"}
@@ -0,0 +1,364 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { GraphQLDataProvider, GraphQLFileStorageClient } from '@memberjunction/graphql-dataprovider';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@memberjunction/ng-shared-generic";
6
+ import * as i3 from "@progress/kendo-angular-buttons";
7
+ function FolderTreeComponent_div_1_ng_container_7_i_3_Template(rf, ctx) { if (rf & 1) {
8
+ i0.ɵɵelement(0, "i", 16);
9
+ } }
10
+ function FolderTreeComponent_div_1_ng_container_7_Template(rf, ctx) { if (rf & 1) {
11
+ const _r3 = i0.ɵɵgetCurrentView();
12
+ i0.ɵɵelementContainerStart(0);
13
+ i0.ɵɵelementStart(1, "button", 14);
14
+ i0.ɵɵlistener("click", function FolderTreeComponent_div_1_ng_container_7_Template_button_click_1_listener() { const item_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onBreadcrumbClick(item_r4)); });
15
+ i0.ɵɵtext(2);
16
+ i0.ɵɵelementEnd();
17
+ i0.ɵɵtemplate(3, FolderTreeComponent_div_1_ng_container_7_i_3_Template, 1, 0, "i", 15);
18
+ i0.ɵɵelementContainerEnd();
19
+ } if (rf & 2) {
20
+ const item_r4 = ctx.$implicit;
21
+ const last_r5 = ctx.last;
22
+ i0.ɵɵadvance();
23
+ i0.ɵɵclassProp("current", last_r5);
24
+ i0.ɵɵadvance();
25
+ i0.ɵɵtextInterpolate1(" ", item_r4.label, " ");
26
+ i0.ɵɵadvance();
27
+ i0.ɵɵproperty("ngIf", !last_r5);
28
+ } }
29
+ function FolderTreeComponent_div_1_Template(rf, ctx) { if (rf & 1) {
30
+ const _r1 = i0.ɵɵgetCurrentView();
31
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "button", 8);
32
+ i0.ɵɵlistener("click", function FolderTreeComponent_div_1_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateBack()); });
33
+ i0.ɵɵelement(3, "i", 9);
34
+ i0.ɵɵelementEnd();
35
+ i0.ɵɵelementStart(4, "button", 10);
36
+ i0.ɵɵlistener("click", function FolderTreeComponent_div_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.navigateForward()); });
37
+ i0.ɵɵelement(5, "i", 11);
38
+ i0.ɵɵelementEnd()();
39
+ i0.ɵɵelementStart(6, "div", 12);
40
+ i0.ɵɵtemplate(7, FolderTreeComponent_div_1_ng_container_7_Template, 4, 4, "ng-container", 13);
41
+ i0.ɵɵelementEnd()();
42
+ } if (rf & 2) {
43
+ const ctx_r1 = i0.ɵɵnextContext();
44
+ i0.ɵɵadvance(2);
45
+ i0.ɵɵproperty("disabled", !ctx_r1.canGoBack());
46
+ i0.ɵɵadvance(2);
47
+ i0.ɵɵproperty("disabled", !ctx_r1.canGoForward());
48
+ i0.ɵɵadvance(3);
49
+ i0.ɵɵproperty("ngForOf", ctx_r1.breadcrumbs);
50
+ } }
51
+ function FolderTreeComponent_mj_loading_3_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelement(0, "mj-loading", 17);
53
+ } }
54
+ function FolderTreeComponent_div_4_Template(rf, ctx) { if (rf & 1) {
55
+ i0.ɵɵelementStart(0, "div", 18)(1, "div", 19);
56
+ i0.ɵɵelement(2, "i", 20);
57
+ i0.ɵɵelementEnd();
58
+ i0.ɵɵelementStart(3, "p", 21);
59
+ i0.ɵɵtext(4);
60
+ i0.ɵɵelementEnd()();
61
+ } if (rf & 2) {
62
+ const ctx_r1 = i0.ɵɵnextContext();
63
+ i0.ɵɵadvance(4);
64
+ i0.ɵɵtextInterpolate(ctx_r1.errorMessage);
65
+ } }
66
+ function FolderTreeComponent_div_5_div_1_Template(rf, ctx) { if (rf & 1) {
67
+ const _r6 = i0.ɵɵgetCurrentView();
68
+ i0.ɵɵelementStart(0, "div", 25);
69
+ i0.ɵɵlistener("click", function FolderTreeComponent_div_5_div_1_Template_div_click_0_listener() { const folder_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onFolderClick(folder_r7)); });
70
+ i0.ɵɵelement(1, "i", 26);
71
+ i0.ɵɵelementStart(2, "span", 27);
72
+ i0.ɵɵtext(3);
73
+ i0.ɵɵelementEnd()();
74
+ } if (rf & 2) {
75
+ const folder_r7 = ctx.$implicit;
76
+ i0.ɵɵadvance(3);
77
+ i0.ɵɵtextInterpolate(folder_r7.name);
78
+ } }
79
+ function FolderTreeComponent_div_5_div_2_p_5_Template(rf, ctx) { if (rf & 1) {
80
+ i0.ɵɵelementStart(0, "p", 33);
81
+ i0.ɵɵtext(1);
82
+ i0.ɵɵelementEnd();
83
+ } if (rf & 2) {
84
+ const ctx_r1 = i0.ɵɵnextContext(3);
85
+ i0.ɵɵadvance();
86
+ i0.ɵɵtextInterpolate1(" Account: ", ctx_r1.account.account.Name, " ");
87
+ } }
88
+ function FolderTreeComponent_div_5_div_2_Template(rf, ctx) { if (rf & 1) {
89
+ i0.ɵɵelementStart(0, "div", 28)(1, "div", 29);
90
+ i0.ɵɵelement(2, "i", 30);
91
+ i0.ɵɵelementEnd();
92
+ i0.ɵɵelementStart(3, "p", 31);
93
+ i0.ɵɵtext(4, "No folders in this location");
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵtemplate(5, FolderTreeComponent_div_5_div_2_p_5_Template, 2, 1, "p", 32);
96
+ i0.ɵɵelementStart(6, "p", 33);
97
+ i0.ɵɵtext(7);
98
+ i0.ɵɵelementEnd()();
99
+ } if (rf & 2) {
100
+ const ctx_r1 = i0.ɵɵnextContext(2);
101
+ i0.ɵɵadvance(5);
102
+ i0.ɵɵproperty("ngIf", ctx_r1.account);
103
+ i0.ɵɵadvance(2);
104
+ i0.ɵɵtextInterpolate1(" Path: ", ctx_r1.currentPath, " ");
105
+ } }
106
+ function FolderTreeComponent_div_5_Template(rf, ctx) { if (rf & 1) {
107
+ i0.ɵɵelementStart(0, "div", 22);
108
+ i0.ɵɵtemplate(1, FolderTreeComponent_div_5_div_1_Template, 4, 1, "div", 23)(2, FolderTreeComponent_div_5_div_2_Template, 8, 2, "div", 24);
109
+ i0.ɵɵelementEnd();
110
+ } if (rf & 2) {
111
+ const ctx_r1 = i0.ɵɵnextContext();
112
+ i0.ɵɵadvance();
113
+ i0.ɵɵproperty("ngForOf", ctx_r1.folders);
114
+ i0.ɵɵadvance();
115
+ i0.ɵɵproperty("ngIf", ctx_r1.folders.length === 0);
116
+ } }
117
+ /**
118
+ * Folder tree navigation component with breadcrumbs and history navigation.
119
+ * Provides Mac Finder-style navigation with back/forward buttons and breadcrumb path.
120
+ * Loads actual folder structure from storage accounts via GraphQL.
121
+ */
122
+ export class FolderTreeComponent {
123
+ /**
124
+ * GraphQL client for file storage operations
125
+ */
126
+ storageClient;
127
+ /**
128
+ * Currently selected storage account with provider details
129
+ */
130
+ _account = null;
131
+ constructor() {
132
+ this.storageClient = new GraphQLFileStorageClient(GraphQLDataProvider.Instance);
133
+ }
134
+ set account(value) {
135
+ const previousAccount = this._account;
136
+ this._account = value;
137
+ if (value && value.account.ID !== previousAccount?.account.ID) {
138
+ this.resetNavigation();
139
+ this.loadFolders();
140
+ }
141
+ }
142
+ get account() {
143
+ return this._account;
144
+ }
145
+ /**
146
+ * Emits when a folder is selected in the tree
147
+ */
148
+ folderSelected = new EventEmitter();
149
+ /**
150
+ * Current folder path
151
+ */
152
+ currentPath = '/';
153
+ /**
154
+ * Navigation history (for back button)
155
+ */
156
+ history = [];
157
+ /**
158
+ * Current position in history
159
+ */
160
+ historyIndex = -1;
161
+ /**
162
+ * Breadcrumb items for current path
163
+ */
164
+ breadcrumbs = [];
165
+ /**
166
+ * Folders in current path
167
+ */
168
+ folders = [];
169
+ /**
170
+ * Loading state
171
+ */
172
+ isLoading = false;
173
+ /**
174
+ * Error message
175
+ */
176
+ errorMessage = null;
177
+ /**
178
+ * Resets navigation when provider changes
179
+ */
180
+ resetNavigation() {
181
+ this.currentPath = '/';
182
+ this.history = ['/'];
183
+ this.historyIndex = 0;
184
+ this.updateBreadcrumbs();
185
+ }
186
+ /**
187
+ * Navigates to a specific folder path
188
+ */
189
+ navigateToPath(path) {
190
+ // Don't navigate if already at this path
191
+ if (path === this.currentPath) {
192
+ return;
193
+ }
194
+ // Add to history if navigating from user action (not back/forward)
195
+ if (this.historyIndex === this.history.length - 1) {
196
+ this.history.push(path);
197
+ this.historyIndex = this.history.length - 1;
198
+ }
199
+ else {
200
+ // Navigating from middle of history - truncate forward history
201
+ this.history = this.history.slice(0, this.historyIndex + 1);
202
+ this.history.push(path);
203
+ this.historyIndex = this.history.length - 1;
204
+ }
205
+ this.currentPath = path;
206
+ this.updateBreadcrumbs();
207
+ this.loadFolders();
208
+ this.folderSelected.emit(path);
209
+ }
210
+ /**
211
+ * Refreshes the current folder view without changing navigation
212
+ * Used when folder structure changes (e.g., folder deleted) but we're staying in the same location
213
+ */
214
+ refresh() {
215
+ this.loadFolders();
216
+ }
217
+ /**
218
+ * Navigates back in history
219
+ */
220
+ navigateBack() {
221
+ if (!this.canGoBack()) {
222
+ return;
223
+ }
224
+ this.historyIndex--;
225
+ this.currentPath = this.history[this.historyIndex];
226
+ this.updateBreadcrumbs();
227
+ this.folderSelected.emit(this.currentPath);
228
+ this.loadFolders();
229
+ }
230
+ /**
231
+ * Navigates forward in history
232
+ */
233
+ navigateForward() {
234
+ if (!this.canGoForward()) {
235
+ return;
236
+ }
237
+ this.historyIndex++;
238
+ this.currentPath = this.history[this.historyIndex];
239
+ this.updateBreadcrumbs();
240
+ this.folderSelected.emit(this.currentPath);
241
+ this.loadFolders();
242
+ }
243
+ /**
244
+ * Checks if can navigate back
245
+ */
246
+ canGoBack() {
247
+ return this.historyIndex > 0;
248
+ }
249
+ /**
250
+ * Checks if can navigate forward
251
+ */
252
+ canGoForward() {
253
+ return this.historyIndex < this.history.length - 1;
254
+ }
255
+ /**
256
+ * Updates breadcrumbs based on current path
257
+ */
258
+ updateBreadcrumbs() {
259
+ if (!this.account) {
260
+ this.breadcrumbs = [];
261
+ return;
262
+ }
263
+ // Start with account root (show account name)
264
+ const items = [
265
+ {
266
+ label: this.account.account.Name,
267
+ path: '/'
268
+ }
269
+ ];
270
+ // Add path segments if not at root
271
+ if (this.currentPath !== '/') {
272
+ const segments = this.currentPath.split('/').filter(s => s.length > 0);
273
+ let builtPath = '';
274
+ for (const segment of segments) {
275
+ builtPath += '/' + segment;
276
+ items.push({
277
+ label: segment,
278
+ path: builtPath
279
+ });
280
+ }
281
+ }
282
+ this.breadcrumbs = items;
283
+ }
284
+ /**
285
+ * Handles breadcrumb click
286
+ */
287
+ onBreadcrumbClick(item) {
288
+ this.navigateToPath(item.path);
289
+ this.loadFolders();
290
+ }
291
+ /**
292
+ * Loads folders from the storage account for the current path
293
+ */
294
+ async loadFolders() {
295
+ if (!this.account) {
296
+ this.folders = [];
297
+ return;
298
+ }
299
+ this.isLoading = true;
300
+ this.errorMessage = null;
301
+ try {
302
+ const listResult = await this.storageClient.ListObjects(this.account.account.ID, this.currentPath === '/' ? '' : this.currentPath, '/');
303
+ console.log('[FolderTree] ListObjects result:', {
304
+ prefixesCount: listResult.prefixes?.length || 0,
305
+ prefixes: listResult.prefixes,
306
+ objectsCount: listResult.objects?.length || 0
307
+ });
308
+ // Convert prefixes to FolderItems
309
+ const prefixes = listResult.prefixes || [];
310
+ console.log('[FolderTree] Processing prefixes:', prefixes);
311
+ this.folders = prefixes.map((prefix) => {
312
+ // Remove trailing slash and get just the folder name
313
+ const cleanPath = prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
314
+ const name = cleanPath.split('/').pop() || cleanPath;
315
+ return {
316
+ name,
317
+ fullPath: prefix
318
+ };
319
+ });
320
+ }
321
+ catch (error) {
322
+ console.error('Error loading folders:', error);
323
+ this.errorMessage = error instanceof Error ? error.message : 'Failed to load folders';
324
+ this.folders = [];
325
+ }
326
+ finally {
327
+ this.isLoading = false;
328
+ }
329
+ }
330
+ /**
331
+ * Handles folder click for navigation
332
+ */
333
+ onFolderClick(folder) {
334
+ this.navigateToPath(folder.fullPath);
335
+ this.loadFolders();
336
+ }
337
+ static ɵfac = function FolderTreeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || FolderTreeComponent)(); };
338
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FolderTreeComponent, selectors: [["mj-folder-tree"]], inputs: { account: "account" }, outputs: { folderSelected: "folderSelected" }, decls: 6, vars: 4, consts: [[1, "folder-tree"], ["class", "navigation-bar", 4, "ngIf"], [1, "tree-content"], ["text", "Loading folders...", 4, "ngIf"], ["class", "tree-error", 4, "ngIf"], ["class", "folder-list", 4, "ngIf"], [1, "navigation-bar"], [1, "nav-buttons"], ["kendoButton", "", "fillMode", "flat", "size", "small", "title", "Go back", 1, "nav-button", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-left"], ["kendoButton", "", "fillMode", "flat", "size", "small", "title", "Go forward", 1, "nav-button", 3, "click", "disabled"], [1, "fa-solid", "fa-chevron-right"], [1, "breadcrumbs"], [4, "ngFor", "ngForOf"], ["kendoButton", "", "fillMode", "flat", "size", "small", 1, "breadcrumb-item", 3, "click"], ["class", "fa-solid fa-chevron-right breadcrumb-separator", 4, "ngIf"], [1, "fa-solid", "fa-chevron-right", "breadcrumb-separator"], ["text", "Loading folders..."], [1, "tree-error"], [1, "error-icon"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "error-text"], [1, "folder-list"], ["class", "folder-item", 3, "click", 4, "ngFor", "ngForOf"], ["class", "tree-placeholder", 4, "ngIf"], [1, "folder-item", 3, "click"], [1, "fa-solid", "fa-folder", "folder-icon"], [1, "folder-name"], [1, "tree-placeholder"], [1, "placeholder-icon"], [1, "fa-solid", "fa-folder-open"], [1, "placeholder-text"], ["class", "placeholder-hint", 4, "ngIf"], [1, "placeholder-hint"]], template: function FolderTreeComponent_Template(rf, ctx) { if (rf & 1) {
339
+ i0.ɵɵelementStart(0, "div", 0);
340
+ i0.ɵɵtemplate(1, FolderTreeComponent_div_1_Template, 8, 3, "div", 1);
341
+ i0.ɵɵelementStart(2, "div", 2);
342
+ i0.ɵɵtemplate(3, FolderTreeComponent_mj_loading_3_Template, 1, 0, "mj-loading", 3)(4, FolderTreeComponent_div_4_Template, 5, 1, "div", 4)(5, FolderTreeComponent_div_5_Template, 3, 2, "div", 5);
343
+ i0.ɵɵelementEnd()();
344
+ } if (rf & 2) {
345
+ i0.ɵɵadvance();
346
+ i0.ɵɵproperty("ngIf", ctx.account);
347
+ i0.ɵɵadvance(2);
348
+ i0.ɵɵproperty("ngIf", ctx.isLoading);
349
+ i0.ɵɵadvance();
350
+ i0.ɵɵproperty("ngIf", ctx.errorMessage && !ctx.isLoading);
351
+ i0.ɵɵadvance();
352
+ i0.ɵɵproperty("ngIf", !ctx.isLoading && !ctx.errorMessage);
353
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.LoadingComponent, i3.ButtonComponent], styles: [".folder-tree[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n\n\n.navigation-bar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background-color: #f8f8f8;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n\n\n.nav-buttons[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.nav-button[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n min-width: 28px;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n transition: all 0.15s ease;\n}\n\n.nav-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #424242;\n}\n\n.nav-button[_ngcontent-%COMP%]:hover:not([disabled]) {\n background-color: #e8e8e8;\n}\n\n.nav-button[disabled][_ngcontent-%COMP%] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nav-button[disabled][_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #999;\n}\n\n\n\n.breadcrumbs[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: thin;\n}\n\n.breadcrumb-item[_ngcontent-%COMP%] {\n flex-shrink: 0;\n height: 28px;\n padding: 0 10px;\n font-size: 13px;\n font-weight: 500;\n color: #424242;\n border-radius: 4px;\n transition: all 0.15s ease;\n white-space: nowrap;\n}\n\n.breadcrumb-item[_ngcontent-%COMP%]:hover {\n background-color: #e8e8e8;\n}\n\n.breadcrumb-item.current[_ngcontent-%COMP%] {\n color: #007aff;\n font-weight: 600;\n cursor: default;\n}\n\n.breadcrumb-item.current[_ngcontent-%COMP%]:hover {\n background-color: transparent;\n}\n\n.breadcrumb-separator[_ngcontent-%COMP%] {\n font-size: 10px;\n color: #999;\n flex-shrink: 0;\n}\n\n\n\n.breadcrumbs[_ngcontent-%COMP%]::-webkit-scrollbar {\n height: 4px;\n}\n\n.breadcrumbs[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.breadcrumbs[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 2px;\n}\n\n.breadcrumbs[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: #a0a0a0;\n}\n\n\n\n.tree-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n\n\n\n.tree-placeholder[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px 20px;\n text-align: center;\n color: #999;\n}\n\n.placeholder-icon[_ngcontent-%COMP%] {\n font-size: 64px;\n margin-bottom: 16px;\n opacity: 0.5;\n color: #ffa500;\n}\n\n.placeholder-text[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n font-size: 15px;\n font-weight: 500;\n color: #666;\n}\n\n.placeholder-hint[_ngcontent-%COMP%] {\n margin: 4px 0 0 0;\n font-size: 13px;\n color: #999;\n}\n\n\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 4px;\n}\n\n.tree-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: #a0a0a0;\n}\n\n\n\n.folder-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.folder-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 6px;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.folder-item[_ngcontent-%COMP%]:hover {\n background-color: #f0f0f0;\n}\n\n.folder-icon[_ngcontent-%COMP%] {\n font-size: 16px;\n color: #ffa500;\n flex-shrink: 0;\n}\n\n.folder-name[_ngcontent-%COMP%] {\n font-size: 14px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n\n\n.tree-error[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n}\n\n.error-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n color: #d32f2f;\n}\n\n.error-text[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n color: #d32f2f;\n font-weight: 500;\n}\n\n\n\n@media screen and (max-width: 768px) {\n .navigation-bar[_ngcontent-%COMP%] {\n padding: 6px 8px;\n }\n\n .nav-button[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n min-width: 24px;\n }\n\n .nav-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n }\n\n .breadcrumb-item[_ngcontent-%COMP%] {\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n }\n\n .breadcrumb-separator[_ngcontent-%COMP%] {\n font-size: 9px;\n }\n\n .folder-item[_ngcontent-%COMP%] {\n padding: 8px 10px;\n }\n\n .folder-name[_ngcontent-%COMP%] {\n font-size: 13px;\n }\n}"] });
354
+ }
355
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FolderTreeComponent, [{
356
+ type: Component,
357
+ args: [{ selector: 'mj-folder-tree', template: "<div class=\"folder-tree\">\n <!-- Navigation bar with back/forward buttons and breadcrumbs -->\n <div class=\"navigation-bar\" *ngIf=\"account\">\n <!-- Back/Forward buttons -->\n <div class=\"nav-buttons\">\n <button\n kendoButton\n fillMode=\"flat\"\n size=\"small\"\n [disabled]=\"!canGoBack()\"\n (click)=\"navigateBack()\"\n title=\"Go back\"\n class=\"nav-button\"\n >\n <i class=\"fa-solid fa-chevron-left\"></i>\n </button>\n <button\n kendoButton\n fillMode=\"flat\"\n size=\"small\"\n [disabled]=\"!canGoForward()\"\n (click)=\"navigateForward()\"\n title=\"Go forward\"\n class=\"nav-button\"\n >\n <i class=\"fa-solid fa-chevron-right\"></i>\n </button>\n </div>\n\n <!-- Breadcrumb path -->\n <div class=\"breadcrumbs\">\n <ng-container *ngFor=\"let item of breadcrumbs; let last = last\">\n <button\n kendoButton\n fillMode=\"flat\"\n size=\"small\"\n (click)=\"onBreadcrumbClick(item)\"\n [class.current]=\"last\"\n class=\"breadcrumb-item\"\n >\n {{ item.label }}\n </button>\n <i *ngIf=\"!last\" class=\"fa-solid fa-chevron-right breadcrumb-separator\"></i>\n </ng-container>\n </div>\n </div>\n\n <!-- Folder tree content -->\n <div class=\"tree-content\">\n <!-- Loading state -->\n <mj-loading *ngIf=\"isLoading\" text=\"Loading folders...\"></mj-loading>\n\n <!-- Error state -->\n <div class=\"tree-error\" *ngIf=\"errorMessage && !isLoading\">\n <div class=\"error-icon\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n </div>\n <p class=\"error-text\">{{ errorMessage }}</p>\n </div>\n\n <!-- Folder list -->\n <div class=\"folder-list\" *ngIf=\"!isLoading && !errorMessage\">\n <div\n *ngFor=\"let folder of folders\"\n class=\"folder-item\"\n (click)=\"onFolderClick(folder)\"\n >\n <i class=\"fa-solid fa-folder folder-icon\"></i>\n <span class=\"folder-name\">{{ folder.name }}</span>\n </div>\n\n <!-- Empty state -->\n <div class=\"tree-placeholder\" *ngIf=\"folders.length === 0\">\n <div class=\"placeholder-icon\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <p class=\"placeholder-text\">No folders in this location</p>\n <p class=\"placeholder-hint\" *ngIf=\"account\">\n Account: {{ account.account.Name }}\n </p>\n <p class=\"placeholder-hint\">\n Path: {{ currentPath }}\n </p>\n </div>\n </div>\n </div>\n</div>\n", styles: [".folder-tree {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Navigation Bar */\n.navigation-bar {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background-color: #f8f8f8;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n/* Back/Forward buttons */\n.nav-buttons {\n display: flex;\n gap: 4px;\n flex-shrink: 0;\n}\n\n.nav-button {\n width: 28px;\n height: 28px;\n min-width: 28px;\n padding: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n transition: all 0.15s ease;\n}\n\n.nav-button i {\n font-size: 12px;\n color: #424242;\n}\n\n.nav-button:hover:not([disabled]) {\n background-color: #e8e8e8;\n}\n\n.nav-button[disabled] {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.nav-button[disabled] i {\n color: #999;\n}\n\n/* Breadcrumbs */\n.breadcrumbs {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n overflow-x: auto;\n overflow-y: hidden;\n scrollbar-width: thin;\n}\n\n.breadcrumb-item {\n flex-shrink: 0;\n height: 28px;\n padding: 0 10px;\n font-size: 13px;\n font-weight: 500;\n color: #424242;\n border-radius: 4px;\n transition: all 0.15s ease;\n white-space: nowrap;\n}\n\n.breadcrumb-item:hover {\n background-color: #e8e8e8;\n}\n\n.breadcrumb-item.current {\n color: #007aff;\n font-weight: 600;\n cursor: default;\n}\n\n.breadcrumb-item.current:hover {\n background-color: transparent;\n}\n\n.breadcrumb-separator {\n font-size: 10px;\n color: #999;\n flex-shrink: 0;\n}\n\n/* Breadcrumbs scrollbar */\n.breadcrumbs::-webkit-scrollbar {\n height: 4px;\n}\n\n.breadcrumbs::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.breadcrumbs::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 2px;\n}\n\n.breadcrumbs::-webkit-scrollbar-thumb:hover {\n background: #a0a0a0;\n}\n\n/* Tree content area */\n.tree-content {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n}\n\n/* Placeholder styling */\n.tree-placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px 20px;\n text-align: center;\n color: #999;\n}\n\n.placeholder-icon {\n font-size: 64px;\n margin-bottom: 16px;\n opacity: 0.5;\n color: #ffa500;\n}\n\n.placeholder-text {\n margin: 0 0 8px 0;\n font-size: 15px;\n font-weight: 500;\n color: #666;\n}\n\n.placeholder-hint {\n margin: 4px 0 0 0;\n font-size: 13px;\n color: #999;\n}\n\n/* Scrollbar styling for tree content */\n.tree-content::-webkit-scrollbar {\n width: 8px;\n}\n\n.tree-content::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.tree-content::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 4px;\n}\n\n.tree-content::-webkit-scrollbar-thumb:hover {\n background: #a0a0a0;\n}\n\n/* Folder list */\n.folder-list {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.folder-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 10px 12px;\n border-radius: 6px;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.folder-item:hover {\n background-color: #f0f0f0;\n}\n\n.folder-icon {\n font-size: 16px;\n color: #ffa500;\n flex-shrink: 0;\n}\n\n.folder-name {\n font-size: 14px;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Error state */\n.tree-error {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n text-align: center;\n}\n\n.error-icon {\n font-size: 48px;\n margin-bottom: 16px;\n color: #d32f2f;\n}\n\n.error-text {\n margin: 0;\n font-size: 14px;\n color: #d32f2f;\n font-weight: 500;\n}\n\n/* Responsive adjustments */\n@media screen and (max-width: 768px) {\n .navigation-bar {\n padding: 6px 8px;\n }\n\n .nav-button {\n width: 24px;\n height: 24px;\n min-width: 24px;\n }\n\n .nav-button i {\n font-size: 11px;\n }\n\n .breadcrumb-item {\n height: 24px;\n padding: 0 8px;\n font-size: 12px;\n }\n\n .breadcrumb-separator {\n font-size: 9px;\n }\n\n .folder-item {\n padding: 8px 10px;\n }\n\n .folder-name {\n font-size: 13px;\n }\n}\n"] }]
358
+ }], () => [], { account: [{
359
+ type: Input
360
+ }], folderSelected: [{
361
+ type: Output
362
+ }] }); })();
363
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(FolderTreeComponent, { className: "FolderTreeComponent", filePath: "src/lib/file-browser/folder-tree.component.ts", lineNumber: 31 }); })();
364
+ //# sourceMappingURL=folder-tree.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-tree.component.js","sourceRoot":"","sources":["../../../src/lib/file-browser/folder-tree.component.ts","../../../src/lib/file-browser/folder-tree.component.html"],"names":[],"mappings":"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"}