@memberjunction/ng-file-storage 3.2.0 → 3.3.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.
|
@@ -339,7 +339,7 @@ function FileGridComponent_div_5_tr_19_Template(rf, ctx) { if (rf & 1) {
|
|
|
339
339
|
function FileGridComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
340
340
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
341
341
|
i0.ɵɵelementStart(0, "div", 93)(1, "table", 94)(2, "thead")(3, "tr")(4, "th", 95);
|
|
342
|
-
i0.ɵɵlistener("click", function FileGridComponent_div_5_Template_th_click_4_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSortChange([{ field: "name", dir:
|
|
342
|
+
i0.ɵɵlistener("click", function FileGridComponent_div_5_Template_th_click_4_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSortChange([{ field: "name", dir: ctx_r1.sort[0].field === "name" && ctx_r1.sort[0].dir === "asc" ? "desc" : "asc" }])); });
|
|
343
343
|
i0.ɵɵelementStart(5, "span");
|
|
344
344
|
i0.ɵɵtext(6, "Name");
|
|
345
345
|
i0.ɵɵelementEnd();
|
|
@@ -349,14 +349,14 @@ function FileGridComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
349
349
|
i0.ɵɵtext(9, "Type");
|
|
350
350
|
i0.ɵɵelementEnd();
|
|
351
351
|
i0.ɵɵelementStart(10, "th", 98);
|
|
352
|
-
i0.ɵɵlistener("click", function FileGridComponent_div_5_Template_th_click_10_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSortChange([{ field: "size", dir:
|
|
352
|
+
i0.ɵɵlistener("click", function FileGridComponent_div_5_Template_th_click_10_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSortChange([{ field: "size", dir: ctx_r1.sort[0].field === "size" && ctx_r1.sort[0].dir === "asc" ? "desc" : "asc" }])); });
|
|
353
353
|
i0.ɵɵelementStart(11, "span");
|
|
354
354
|
i0.ɵɵtext(12, "Size");
|
|
355
355
|
i0.ɵɵelementEnd();
|
|
356
356
|
i0.ɵɵelement(13, "i", 96);
|
|
357
357
|
i0.ɵɵelementEnd();
|
|
358
358
|
i0.ɵɵelementStart(14, "th", 99);
|
|
359
|
-
i0.ɵɵlistener("click", function FileGridComponent_div_5_Template_th_click_14_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSortChange([{ field: "lastModified", dir:
|
|
359
|
+
i0.ɵɵlistener("click", function FileGridComponent_div_5_Template_th_click_14_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSortChange([{ field: "lastModified", dir: ctx_r1.sort[0].field === "lastModified" && ctx_r1.sort[0].dir === "asc" ? "desc" : "asc" }])); });
|
|
360
360
|
i0.ɵɵelementStart(15, "span");
|
|
361
361
|
i0.ɵɵtext(16, "Modified");
|
|
362
362
|
i0.ɵɵelementEnd();
|
|
@@ -368,11 +368,11 @@ function FileGridComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
368
368
|
} if (rf & 2) {
|
|
369
369
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
370
370
|
i0.ɵɵadvance(7);
|
|
371
|
-
i0.ɵɵclassProp("fa-caret-up",
|
|
371
|
+
i0.ɵɵclassProp("fa-caret-up", ctx_r1.sort[0].field === "name" && ctx_r1.sort[0].dir === "asc")("fa-caret-down", ctx_r1.sort[0].field === "name" && ctx_r1.sort[0].dir === "desc")("fa-sort", ctx_r1.sort[0].field !== "name");
|
|
372
372
|
i0.ɵɵadvance(6);
|
|
373
|
-
i0.ɵɵclassProp("fa-caret-up",
|
|
373
|
+
i0.ɵɵclassProp("fa-caret-up", ctx_r1.sort[0].field === "size" && ctx_r1.sort[0].dir === "asc")("fa-caret-down", ctx_r1.sort[0].field === "size" && ctx_r1.sort[0].dir === "desc")("fa-sort", ctx_r1.sort[0].field !== "size");
|
|
374
374
|
i0.ɵɵadvance(4);
|
|
375
|
-
i0.ɵɵclassProp("fa-caret-up",
|
|
375
|
+
i0.ɵɵclassProp("fa-caret-up", ctx_r1.sort[0].field === "lastModified" && ctx_r1.sort[0].dir === "asc")("fa-caret-down", ctx_r1.sort[0].field === "lastModified" && ctx_r1.sort[0].dir === "desc")("fa-sort", ctx_r1.sort[0].field !== "lastModified");
|
|
376
376
|
i0.ɵɵadvance(2);
|
|
377
377
|
i0.ɵɵproperty("ngForOf", ctx_r1.filteredItems);
|
|
378
378
|
} }
|
|
@@ -2380,7 +2380,7 @@ export class FileGridComponent {
|
|
|
2380
2380
|
}
|
|
2381
2381
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FileGridComponent, [{
|
|
2382
2382
|
type: Component,
|
|
2383
|
-
args: [{ selector: 'mj-file-grid', template: "<div class=\"file-grid-container\"\n (dragenter)=\"onDragEnter($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\">\n <!-- Breadcrumb Navigation Bar -->\n <div class=\"breadcrumb-bar\" *ngIf=\"!isLoading && !errorMessage\">\n <div class=\"nav-buttons\">\n <button class=\"nav-btn\"\n [disabled]=\"!canNavigateUp()\"\n (click)=\"navigateUp()\"\n title=\"Go up to parent folder\">\n <i class=\"fa-solid fa-arrow-up\"></i>\n </button>\n <button class=\"nav-btn\" (click)=\"refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </div>\n <div class=\"breadcrumb-path\">\n <i class=\"fa-solid fa-folder\"></i>\n <span class=\"path-text\">{{ folderPath || 'Root' }} /</span>\n </div>\n <div class=\"search-bar\">\n <input type=\"text\"\n class=\"search-input\"\n [(ngModel)]=\"searchQuery\"\n (ngModelChange)=\"onSearchChange($event)\"\n placeholder=\"Search files and folders...\"\n [disabled]=\"isLoading || isMultiProviderSearchMode\">\n <button class=\"search-clear-btn\"\n *ngIf=\"searchQuery && !isMultiProviderSearchMode\"\n (click)=\"clearSearch()\"\n title=\"Clear search\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n <select class=\"file-type-filter\"\n [(ngModel)]=\"fileTypeFilter\"\n (ngModelChange)=\"onFileTypeFilterChange($event)\"\n [disabled]=\"isLoading || isMultiProviderSearchMode\">\n <option value=\"all\">All</option>\n <option value=\"files\">Files</option>\n <option value=\"folders\">Folders</option>\n </select>\n <button class=\"multi-search-btn\"\n [class.active]=\"isMultiProviderSearchMode\"\n (click)=\"toggleMultiAccountSearchMode()\"\n title=\"Search across all storage providers\">\n <i class=\"fa-solid fa-magnifying-glass-plus\"></i>\n </button>\n </div>\n </div>\n\n <!-- Multi-Provider Search Panel -->\n <div class=\"multi-provider-search-panel\" *ngIf=\"isMultiProviderSearchMode\">\n <div class=\"search-panel-header\">\n <h3><i class=\"fa-solid fa-magnifying-glass\"></i> Search Across Providers</h3>\n <button class=\"close-panel-btn\" (click)=\"toggleMultiAccountSearchMode()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <div class=\"search-panel-body\">\n <div class=\"search-input-row\">\n <input type=\"text\"\n class=\"multi-search-input\"\n [(ngModel)]=\"multiProviderSearchQuery\"\n placeholder=\"Enter search term...\"\n (keydown.enter)=\"executeMultiAccountSearch()\"\n [disabled]=\"isSearching\">\n <button class=\"search-execute-btn\"\n (click)=\"executeMultiAccountSearch()\"\n [disabled]=\"isSearching || !multiProviderSearchQuery.trim() || selectedSearchProviders.size === 0\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isSearching\"></i>\n <i class=\"fa-solid fa-search\" *ngIf=\"!isSearching\"></i>\n {{ isSearching ? 'Searching...' : 'Search' }}\n </button>\n </div>\n\n <div class=\"provider-selection\">\n <label class=\"provider-selection-label\">Select accounts to search:</label>\n <div class=\"provider-checkboxes\">\n <label *ngFor=\"let a of availableAccounts\"\n class=\"provider-checkbox\"\n [class.disabled]=\"!accountSupportsSearch(a)\"\n [title]=\"accountSupportsSearch(a) ? '' : 'This account does not support search'\">\n <input type=\"checkbox\"\n [checked]=\"isAccountSelectedForSearch(a.account.ID)\"\n (change)=\"toggleSearchAccount(a.account.ID)\"\n [disabled]=\"!accountSupportsSearch(a)\">\n <span class=\"provider-name\">{{ a.account.Name }}</span>\n <span class=\"provider-type\">({{ a.provider.Name }})</span>\n <span class=\"no-search-badge\" *ngIf=\"!accountSupportsSearch(a)\">(no search)</span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Search Results -->\n <div class=\"search-results-container\" *ngIf=\"multiProviderSearchResults\">\n <div class=\"search-results-summary\">\n <span class=\"result-count\">{{ multiProviderSearchResults.totalResultsReturned }} result(s) found</span>\n <span class=\"provider-stats\">\n ({{ multiProviderSearchResults.successfulAccounts }} account(s) searched\n <span *ngIf=\"multiProviderSearchResults.failedAccounts > 0\" class=\"failed-count\">\n , {{ multiProviderSearchResults.failedAccounts }} failed\n </span>)\n </span>\n <button class=\"clear-results-btn\" (click)=\"clearMultiProviderSearch()\">\n <i class=\"fa-solid fa-xmark\"></i> Clear\n </button>\n </div>\n\n <div class=\"provider-results-list\">\n <div *ngFor=\"let accountResult of multiProviderSearchResults.accountResults\"\n class=\"provider-result-group\"\n [class.failed]=\"!accountResult.success\">\n <div class=\"provider-result-header\">\n <i class=\"fa-solid fa-cloud\"></i>\n <span class=\"provider-name\">{{ accountResult.accountName }}</span>\n <span class=\"result-count\" *ngIf=\"accountResult.success\">\n ({{ accountResult.results.length }} result(s))\n </span>\n <span class=\"error-badge\" *ngIf=\"!accountResult.success\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ accountResult.errorMessage }}\n </span>\n </div>\n\n <div class=\"provider-result-files\" *ngIf=\"accountResult.success && accountResult.results.length > 0\">\n <div *ngFor=\"let file of accountResult.results\" class=\"search-result-item\">\n <i [class]=\"getSearchResultIcon(file)\" class=\"file-icon\"></i>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ file.name }}</span>\n <span class=\"file-path\">{{ file.path }}</span>\n </div>\n <span class=\"file-size\">{{ formatSearchResultSize(file.size) }}</span>\n <span class=\"file-date\">{{ formatSearchResultDate(file.lastModified) }}</span>\n </div>\n </div>\n\n <div class=\"no-results-message\" *ngIf=\"accountResult.success && accountResult.results.length === 0\">\n No matching files found\n </div>\n </div>\n </div>\n </div>\n\n <!-- Searching State -->\n <div class=\"searching-state\" *ngIf=\"isSearching\">\n <mj-loading text=\"Searching across providers...\"></mj-loading>\n </div>\n </div>\n\n <!-- Loading State -->\n <div class=\"loading-state\" *ngIf=\"isLoading && !isMultiProviderSearchMode\">\n <mj-loading text=\"Loading files...\"></mj-loading>\n </div>\n\n <!-- Error State -->\n <div class=\"error-state\" *ngIf=\"errorMessage && !isLoading\">\n <div class=\"error-icon\">\n <i class=\"fa-solid fa-circle-exclamation\"></i>\n </div>\n <p class=\"error-message\">{{ errorMessage }}</p>\n <button class=\"retry-btn\" (click)=\"refresh()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n Retry\n </button>\n </div>\n\n <!-- List View -->\n <div class=\"file-table-wrapper\" *ngIf=\"!isLoading && !errorMessage && filteredItems.length > 0 && viewMode === 'list'\">\n <table class=\"file-table\">\n <thead>\n <tr>\n <th class=\"col-name\" (click)=\"onSortChange([{ field: 'name', dir: sort[0]?.field === 'name' && sort[0]?.dir === 'asc' ? 'desc' : 'asc' }])\">\n <span>Name</span>\n <i class=\"fa-solid sort-icon\"\n [class.fa-caret-up]=\"sort[0]?.field === 'name' && sort[0]?.dir === 'asc'\"\n [class.fa-caret-down]=\"sort[0]?.field === 'name' && sort[0]?.dir === 'desc'\"\n [class.fa-sort]=\"sort[0]?.field !== 'name'\"></i>\n </th>\n <th class=\"col-type\">Type</th>\n <th class=\"col-size\" (click)=\"onSortChange([{ field: 'size', dir: sort[0]?.field === 'size' && sort[0]?.dir === 'asc' ? 'desc' : 'asc' }])\">\n <span>Size</span>\n <i class=\"fa-solid sort-icon\"\n [class.fa-caret-up]=\"sort[0]?.field === 'size' && sort[0]?.dir === 'asc'\"\n [class.fa-caret-down]=\"sort[0]?.field === 'size' && sort[0]?.dir === 'desc'\"\n [class.fa-sort]=\"sort[0]?.field !== 'size'\"></i>\n </th>\n <th class=\"col-modified\" (click)=\"onSortChange([{ field: 'lastModified', dir: sort[0]?.field === 'lastModified' && sort[0]?.dir === 'asc' ? 'desc' : 'asc' }])\">\n <span>Modified</span>\n <i class=\"fa-solid sort-icon\"\n [class.fa-caret-up]=\"sort[0]?.field === 'lastModified' && sort[0]?.dir === 'asc'\"\n [class.fa-caret-down]=\"sort[0]?.field === 'lastModified' && sort[0]?.dir === 'desc'\"\n [class.fa-sort]=\"sort[0]?.field !== 'lastModified'\"></i>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of filteredItems\"\n class=\"file-row\"\n [class.selected]=\"selectedItems.includes(item.key)\"\n (click)=\"onTileClick(item, $event)\"\n (dblclick)=\"onItemDoubleClick(item)\">\n <td class=\"col-name\">\n <i [class]=\"getItemIcon(item)\" class=\"item-icon\"></i>\n <span class=\"item-name\">{{ item.name }}</span>\n </td>\n <td class=\"col-type\">\n <span class=\"item-type\">{{ getFileType(item) }}</span>\n </td>\n <td class=\"col-size\">\n <span class=\"item-size\">{{ item.type === 'folder' ? '\u2014' : formatFileSize(item.size) }}</span>\n </td>\n <td class=\"col-modified\">\n <span class=\"item-date\">{{ formatDate(item.lastModified) }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- Grid View -->\n <div class=\"file-grid-wrapper\" *ngIf=\"!isLoading && !errorMessage && filteredItems.length > 0 && viewMode === 'grid'\">\n <div class=\"file-grid\">\n <div *ngFor=\"let item of filteredItems\"\n class=\"grid-item\"\n [class.selected]=\"selectedItems.includes(item.key)\"\n (click)=\"onTileClick(item, $event)\"\n (dblclick)=\"onItemDoubleClick(item)\">\n <div class=\"grid-icon\">\n <i [class]=\"getItemIcon(item)\"></i>\n </div>\n <div class=\"grid-name\">{{ item.name }}</div>\n <div class=\"grid-meta\" *ngIf=\"item.type === 'file'\">{{ formatFileSize(item.size) }}</div>\n <div class=\"grid-meta\" *ngIf=\"item.type === 'folder'\">Folder</div>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <div class=\"empty-state\" *ngIf=\"!isLoading && !errorMessage && filteredItems.length === 0\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <p class=\"empty-message\">This folder is empty</p>\n <button class=\"upload-btn\" (click)=\"onUploadClick()\">\n <i class=\"fa-solid fa-upload\"></i>\n Upload Files\n </button>\n </div>\n\n <!-- Bottom Toolbar -->\n <div class=\"bottom-toolbar\" *ngIf=\"!isLoading && !errorMessage\">\n <div class=\"toolbar-left\">\n <button class=\"toolbar-btn\" (click)=\"onUploadClick()\">\n <i class=\"fa-solid fa-upload\"></i>\n Upload\n </button>\n <button class=\"toolbar-btn\" (click)=\"onNewFolderClick()\">\n <i class=\"fa-solid fa-folder-plus\"></i>\n New Folder\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onDownloadClick()\">\n <i class=\"fa-solid fa-download\"></i>\n Download\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onRenameClick()\">\n <i class=\"fa-solid fa-pen\"></i>\n Rename\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onCopyClick()\">\n <i class=\"fa-solid fa-copy\"></i>\n Copy\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1 || getSelectedItem()?.type === 'folder'\"\n (click)=\"onCopyToAccountClick()\"\n title=\"Copy file to another storage account\">\n <i class=\"fa-solid fa-cloud-arrow-up\"></i>\n Copy to...\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onMoveClick()\">\n <i class=\"fa-solid fa-arrows-up-down-left-right\"></i>\n Move\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length === 0\"\n (click)=\"onDeleteClick()\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n </div>\n <div class=\"toolbar-right\">\n <!-- View Toggle -->\n <div class=\"view-toggle\">\n <button class=\"view-btn\"\n [class.active]=\"viewMode === 'list'\"\n (click)=\"viewMode = 'list'\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n <button class=\"view-btn\"\n [class.active]=\"viewMode === 'grid'\"\n (click)=\"viewMode = 'grid'\"\n title=\"Grid View\">\n <i class=\"fa-solid fa-th\"></i>\n </button>\n </div>\n <span class=\"item-count\">\n {{ filteredItems.length }} {{ filteredItems.length === 1 ? 'item' : 'filteredItems' }}\n </span>\n </div>\n </div>\n\n <!-- Drag & Drop Overlay -->\n <div class=\"drag-overlay\" *ngIf=\"isDragging\">\n <div class=\"drag-content\">\n <div class=\"drag-icon\">\n <i class=\"fa-solid fa-cloud-arrow-up\"></i>\n </div>\n <h2 class=\"drag-title\">Drop files to upload</h2>\n </div>\n </div>\n\n <!-- Upload Progress -->\n <div class=\"upload-progress\" *ngIf=\"isUploading\">\n <div class=\"progress-content\">\n <div class=\"progress-info\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Uploading {{ uploadingFileName }}...</span>\n </div>\n <div class=\"progress-bar-wrap\">\n <div class=\"progress-bar\" [style.width.%]=\"uploadProgress\"></div>\n </div>\n <span class=\"progress-percent\">{{ uploadProgress }}%</span>\n </div>\n </div>\n</div>\n\n<!-- New Folder Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showNewFolderDialog\" (click)=\"onCancelNewFolder()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Create New Folder</h3>\n <button class=\"modal-close\" (click)=\"onCancelNewFolder()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <label>Folder name:</label>\n <input type=\"text\"\n [(ngModel)]=\"newFolderName\"\n [disabled]=\"isCreatingFolder\"\n placeholder=\"Enter folder name\"\n (keydown.enter)=\"onCreateFolder()\">\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelNewFolder()\" [disabled]=\"isCreatingFolder\">Cancel</button>\n <button (click)=\"onCreateFolder()\" [disabled]=\"!newFolderName.trim() || isCreatingFolder\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isCreatingFolder\"></i>\n {{ isCreatingFolder ? 'Creating...' : 'Create' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Delete Confirmation Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showDeleteDialog && itemToDelete\" (click)=\"onCancelDelete()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Delete {{ itemToDelete.type === 'folder' ? 'Folder' : 'File' }}?</h3>\n <button class=\"modal-close\" (click)=\"onCancelDelete()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Are you sure you want to delete <strong>{{ itemToDelete.name }}</strong>?</p>\n <p *ngIf=\"itemToDelete.type === 'folder'\" class=\"warning\">This will delete the folder and all its contents.</p>\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelDelete()\" [disabled]=\"isDeleting\">Cancel</button>\n <button (click)=\"onConfirmDelete()\" [disabled]=\"isDeleting\" class=\"danger\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isDeleting\"></i>\n {{ isDeleting ? 'Deleting...' : 'Delete' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Rename Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showRenameDialog && itemToRename\" (click)=\"onCancelRename()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Rename {{ itemToRename.type === 'folder' ? 'Folder' : 'File' }}</h3>\n <button class=\"modal-close\" (click)=\"onCancelRename()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <label>New name:</label>\n <input type=\"text\"\n [(ngModel)]=\"newItemName\"\n [disabled]=\"isRenaming\"\n placeholder=\"Enter new name\"\n (keydown.enter)=\"onConfirmRename()\">\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelRename()\" [disabled]=\"isRenaming\">Cancel</button>\n <button (click)=\"onConfirmRename()\" [disabled]=\"isRenaming || !newItemName.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isRenaming\"></i>\n {{ isRenaming ? 'Renaming...' : 'Rename' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Copy Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showCopyDialog && itemToCopy\" (click)=\"onCancelCopy()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Copy {{ itemToCopy.type === 'folder' ? 'Folder' : 'File' }}</h3>\n <button class=\"modal-close\" (click)=\"onCancelCopy()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Copying: <strong>{{ itemToCopy.name }}</strong></p>\n <label>Destination path:</label>\n <input type=\"text\"\n [(ngModel)]=\"copyDestinationPath\"\n [disabled]=\"isCopying\"\n placeholder=\"Enter destination path\"\n (keydown.enter)=\"onConfirmCopy()\">\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelCopy()\" [disabled]=\"isCopying\">Cancel</button>\n <button (click)=\"onConfirmCopy()\" [disabled]=\"isCopying || !copyDestinationPath.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isCopying\"></i>\n {{ isCopying ? 'Copying...' : 'Copy' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Move Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showMoveDialog && itemToMove\" (click)=\"onCancelMove()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Move {{ itemToMove.type === 'folder' ? 'Folder' : 'File' }}</h3>\n <button class=\"modal-close\" (click)=\"onCancelMove()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Moving: <strong>{{ itemToMove.name }}</strong></p>\n <label>Destination folder path:</label>\n <input type=\"text\"\n [(ngModel)]=\"moveDestinationPath\"\n [disabled]=\"isMoving\"\n placeholder=\"Enter destination folder (e.g., folder1/folder2/)\"\n (keydown.enter)=\"onConfirmMove()\">\n <p style=\"font-size: 11px; color: #666; margin-top: 8px;\">\n File will be moved to: {{ moveDestinationPath }}{{ itemToMove.name }}\n </p>\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelMove()\" [disabled]=\"isMoving\">Cancel</button>\n <button (click)=\"onConfirmMove()\" [disabled]=\"isMoving || !moveDestinationPath.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isMoving\"></i>\n {{ isMoving ? 'Moving...' : 'Move' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Copy to Account Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showCopyToProviderDialog && itemToCopyToProvider\" (click)=\"onCancelCopyToAccount()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Copy to Another Account</h3>\n <button class=\"modal-close\" (click)=\"onCancelCopyToAccount()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Copying: <strong>{{ itemToCopyToProvider.name }}</strong></p>\n <p style=\"font-size: 12px; color: #666; margin-bottom: 16px;\">\n From: <strong>{{ account?.account?.Name }}</strong>\n </p>\n\n <label>Select destination account(s):</label>\n <div class=\"account-checkbox-list\">\n <div *ngFor=\"let a of availableAccounts\" class=\"account-checkbox-item\">\n <input type=\"checkbox\"\n [id]=\"'dest-account-' + a.account.ID\"\n [checked]=\"isDestinationAccountSelected(a.account.ID)\"\n [disabled]=\"isCopyingToAccount\"\n (change)=\"toggleDestinationAccount(a.account.ID)\">\n <label [for]=\"'dest-account-' + a.account.ID\">\n {{ a.account.Name }} <span class=\"provider-badge\">{{ a.provider.Name }}</span>\n </label>\n </div>\n </div>\n\n <label style=\"margin-top: 16px;\">Destination filename:</label>\n <input type=\"text\"\n [(ngModel)]=\"copyToAccountDestinationPath\"\n [disabled]=\"isCopyingToAccount\"\n placeholder=\"Enter destination filename\"\n (keydown.enter)=\"onConfirmCopyToAccount()\">\n <div *ngIf=\"copyToAccountProgress\" class=\"copy-progress\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Copying to {{ copyToAccountProgress.currentAccount }} ({{ copyToAccountProgress.current }}/{{ copyToAccountProgress.total }})...\n </div>\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelCopyToAccount()\" [disabled]=\"isCopyingToAccount\">Cancel</button>\n <button (click)=\"onConfirmCopyToAccount()\"\n [disabled]=\"isCopyingToAccount || selectedDestinationAccounts.size === 0 || !copyToAccountDestinationPath.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isCopyingToAccount\"></i>\n {{ isCopyingToAccount ? 'Copying...' : 'Copy to ' + selectedDestinationAccounts.size + ' account' + (selectedDestinationAccounts.size !== 1 ? 's' : '') }}\n </button>\n </div>\n </div>\n</div>\n", styles: ["/* ===========================\n File Grid - Traditional File Manager Style\n =========================== */\n\n:host {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n background-color: #fff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n\n.file-grid-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n/* ===========================\n Breadcrumb Navigation Bar\n =========================== */\n\n.breadcrumb-bar {\n display: flex;\n align-items: center;\n padding: 6px 10px;\n background-color: #f8f8f8;\n border-bottom: 1px solid #ccc;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.nav-buttons {\n display: flex;\n gap: 4px;\n}\n\n.nav-btn {\n background: #fff;\n border: 1px solid #ccc;\n padding: 4px 8px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n color: #333;\n transition: background-color 0.15s;\n}\n\n.nav-btn:hover:not(:disabled) {\n background-color: #e8e8e8;\n}\n\n.nav-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.breadcrumb-path {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #333;\n}\n\n.breadcrumb-path i {\n color: #666;\n}\n\n.path-text {\n font-weight: 500;\n}\n\n.search-bar {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-left: auto;\n position: relative;\n}\n\n.search-input {\n padding: 4px 30px 4px 8px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 12px;\n font-family: inherit;\n min-width: 200px;\n}\n\n.search-input:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.search-clear-btn {\n position: absolute;\n right: 142px;\n background: none;\n border: none;\n cursor: pointer;\n color: #999;\n padding: 4px;\n font-size: 12px;\n}\n\n.search-clear-btn:hover {\n color: #333;\n}\n\n.file-type-filter {\n padding: 4px 8px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 12px;\n font-family: inherit;\n background: #fff;\n cursor: pointer;\n}\n\n.file-type-filter:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n/* ===========================\n File Table\n =========================== */\n\n.file-table-wrapper {\n flex: 1;\n overflow: auto;\n border-bottom: 1px solid #ccc;\n}\n\n.file-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 12px;\n}\n\n.file-table thead {\n position: sticky;\n top: 0;\n background-color: #f0f0f0;\n z-index: 10;\n}\n\n.file-table th {\n text-align: left;\n padding: 6px 10px;\n border-bottom: 1px solid #ccc;\n font-weight: 600;\n color: #333;\n cursor: pointer;\n user-select: none;\n}\n\n.file-table th:hover {\n background-color: #e8e8e8;\n}\n\n.file-table th span {\n margin-right: 4px;\n}\n\n.sort-icon {\n font-size: 10px;\n color: #666;\n}\n\n.file-table tbody tr {\n border-bottom: 1px solid #e8e8e8;\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.file-table tbody tr:hover {\n background-color: #f8f8f8;\n}\n\n.file-table tbody tr.selected {\n background-color: #cce8ff;\n}\n\n.file-table tbody tr.selected:hover {\n background-color: #b3d9ff;\n}\n\n.file-table td {\n padding: 6px 10px;\n color: #333;\n}\n\n/* Column Widths */\n.col-name {\n width: 50%;\n}\n\n.col-type {\n width: 15%;\n}\n\n.col-size {\n width: 15%;\n}\n\n.col-modified {\n width: 20%;\n}\n\n/* Name Column with Icon */\n.col-name {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.item-icon {\n font-size: 14px;\n color: #666;\n flex-shrink: 0;\n}\n\n.item-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Folder Icons */\n.fa-folder {\n color: #FFB84D;\n}\n\n/* File Type Icons */\n.fa-file-pdf {\n color: #D32F2F;\n}\n\n.fa-file-word {\n color: #2B579A;\n}\n\n.fa-file-excel {\n color: #217346;\n}\n\n.fa-file-image {\n color: #673AB7;\n}\n\n.fa-file-video {\n color: #F57C00;\n}\n\n.fa-file-audio {\n color: #D32F2F;\n}\n\n.fa-file-archive {\n color: #795548;\n}\n\n.fa-file-code {\n color: #388E3C;\n}\n\n/* ===========================\n Grid View\n =========================== */\n\n.file-grid-wrapper {\n flex: 1;\n overflow: auto;\n padding: 10px;\n border-bottom: 1px solid #ccc;\n}\n\n.file-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n gap: 12px;\n}\n\n.grid-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 12px 8px;\n border: 1px solid #e8e8e8;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.15s;\n background: #fff;\n}\n\n.grid-item:hover {\n background-color: #f8f8f8;\n border-color: #ccc;\n}\n\n.grid-item.selected {\n background-color: #cce8ff;\n border-color: #007AFF;\n}\n\n.grid-icon {\n font-size: 48px;\n margin-bottom: 8px;\n color: #666;\n}\n\n.grid-icon i {\n display: block;\n}\n\n.grid-name {\n font-size: 12px;\n color: #333;\n text-align: center;\n word-break: break-word;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n max-width: 100%;\n}\n\n.grid-meta {\n font-size: 11px;\n color: #666;\n margin-top: 4px;\n}\n\n/* ===========================\n Bottom Toolbar\n =========================== */\n\n.bottom-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n background-color: #f8f8f8;\n border-top: 1px solid #ccc;\n min-height: 36px;\n}\n\n.toolbar-left {\n display: flex;\n gap: 6px;\n}\n\n.toolbar-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n background: #fff;\n border: 1px solid #ccc;\n padding: 5px 12px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n color: #333;\n transition: background-color 0.15s;\n}\n\n.toolbar-btn:hover:not(:disabled) {\n background-color: #e8e8e8;\n}\n\n.toolbar-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.toolbar-btn i {\n font-size: 12px;\n}\n\n.toolbar-right {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-toggle {\n display: flex;\n border: 1px solid #ccc;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.view-btn {\n background: #fff;\n border: none;\n border-right: 1px solid #ccc;\n padding: 4px 10px;\n cursor: pointer;\n font-size: 12px;\n color: #666;\n transition: all 0.15s;\n}\n\n.view-btn:last-child {\n border-right: none;\n}\n\n.view-btn:hover {\n background-color: #f0f0f0;\n color: #333;\n}\n\n.view-btn.active {\n background-color: #007AFF;\n color: #fff;\n}\n\n.item-count {\n font-size: 11px;\n color: #666;\n}\n\n/* ===========================\n Loading / Error / Empty States\n =========================== */\n\n.loading-state,\n.error-state,\n.empty-state {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n}\n\n.error-icon,\n.empty-icon {\n font-size: 48px;\n color: #999;\n margin-bottom: 16px;\n}\n\n.error-message,\n.empty-message {\n font-size: 14px;\n color: #666;\n margin-bottom: 16px;\n}\n\n.retry-btn,\n.upload-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #fff;\n border: 1px solid #ccc;\n padding: 8px 16px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 13px;\n color: #333;\n transition: background-color 0.15s;\n}\n\n.retry-btn:hover,\n.upload-btn:hover {\n background-color: #f0f0f0;\n}\n\n/* ===========================\n Drag & Drop Overlay\n =========================== */\n\n.drag-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(255, 255, 255, 0.95);\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 3px dashed #007AFF;\n}\n\n.drag-content {\n text-align: center;\n}\n\n.drag-icon {\n font-size: 64px;\n color: #007AFF;\n margin-bottom: 16px;\n}\n\n.drag-title {\n font-size: 20px;\n font-weight: 600;\n color: #007AFF;\n margin: 0;\n}\n\n/* ===========================\n Upload Progress\n =========================== */\n\n.upload-progress {\n position: absolute;\n bottom: 40px;\n right: 20px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 12px 16px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n min-width: 300px;\n z-index: 100;\n}\n\n.progress-content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.progress-info {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: #333;\n}\n\n.progress-bar-wrap {\n width: 100%;\n height: 6px;\n background-color: #e0e0e0;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-bar {\n height: 100%;\n background-color: #007AFF;\n transition: width 0.3s ease;\n}\n\n.progress-percent {\n font-size: 12px;\n color: #666;\n text-align: right;\n}\n\n/* ===========================\n Modal Dialogs\n =========================== */\n\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2000;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.modal-dialog {\n background: #fff;\n border: 1px solid #999;\n border-radius: 4px;\n min-width: 400px;\n max-width: 90%;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background-color: #f8f8f8;\n border-bottom: 1px solid #ccc;\n}\n\n.modal-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n}\n\n.modal-close {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 16px;\n color: #666;\n padding: 4px;\n}\n\n.modal-close:hover {\n color: #333;\n}\n\n.modal-body {\n padding: 16px;\n}\n\n.modal-body label {\n display: block;\n margin-bottom: 6px;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n}\n\n.modal-body input[type=\"text\"] {\n width: 100%;\n padding: 6px 10px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 13px;\n font-family: inherit;\n}\n\n.modal-body input[type=\"text\"]:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.modal-body select,\n.modal-body .provider-select {\n width: 100%;\n padding: 6px 10px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 13px;\n font-family: inherit;\n background-color: #fff;\n cursor: pointer;\n}\n\n.modal-body select:focus,\n.modal-body .provider-select:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.modal-body select:disabled,\n.modal-body .provider-select:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n\n.modal-body p {\n margin: 0 0 12px 0;\n font-size: 13px;\n color: #333;\n}\n\n.modal-body .warning {\n color: #D32F2F;\n font-size: 12px;\n}\n\n/* Checkbox list for multi-account selection */\n.account-checkbox-list {\n max-height: 200px;\n overflow-y: auto;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 8px;\n background: #fafafa;\n}\n\n.account-checkbox-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 4px;\n border-radius: 3px;\n cursor: pointer;\n}\n\n.account-checkbox-item:hover {\n background-color: #e8f4fd;\n}\n\n.account-checkbox-item input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: #007AFF;\n}\n\n.account-checkbox-item label {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: normal;\n margin: 0;\n}\n\n.provider-badge {\n font-size: 11px;\n color: #666;\n background: #e0e0e0;\n padding: 2px 6px;\n border-radius: 10px;\n}\n\n.copy-progress {\n margin-top: 12px;\n padding: 8px 12px;\n background: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #0066cc;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 16px;\n background-color: #f8f8f8;\n border-top: 1px solid #ccc;\n}\n\n.modal-footer button {\n padding: 6px 16px;\n border: 1px solid #ccc;\n background: #fff;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n font-weight: 500;\n transition: background-color 0.15s;\n}\n\n.modal-footer button:hover:not(:disabled) {\n background-color: #f0f0f0;\n}\n\n.modal-footer button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.modal-footer button.danger {\n background-color: #D32F2F;\n color: #fff;\n border-color: #D32F2F;\n}\n\n.modal-footer button.danger:hover:not(:disabled) {\n background-color: #B71C1C;\n}\n\n/* ===========================\n Scrollbars\n =========================== */\n\n.file-table-wrapper::-webkit-scrollbar {\n width: 12px;\n height: 12px;\n}\n\n.file-table-wrapper::-webkit-scrollbar-track {\n background: #f0f0f0;\n}\n\n.file-table-wrapper::-webkit-scrollbar-thumb {\n background: #c0c0c0;\n border: 2px solid #f0f0f0;\n}\n\n.file-table-wrapper::-webkit-scrollbar-thumb:hover {\n background: #a0a0a0;\n}\n\n/* ===========================\n Responsive Design\n =========================== */\n\n@media screen and (max-width: 768px) {\n .file-table {\n font-size: 11px;\n }\n\n .file-table th,\n .file-table td {\n padding: 4px 6px;\n }\n\n .col-type,\n .col-size {\n display: none;\n }\n\n .col-name {\n width: 60%;\n }\n\n .col-modified {\n width: 40%;\n }\n\n .toolbar-btn span {\n display: none;\n }\n\n .modal-dialog {\n min-width: 90%;\n }\n}\n\n/* ===========================\n Multi-Provider Search\n =========================== */\n\n.multi-search-btn {\n background: #fff;\n border: 1px solid #ccc;\n padding: 4px 8px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n color: #666;\n transition: all 0.15s;\n}\n\n.multi-search-btn:hover {\n background-color: #e8e8e8;\n color: #333;\n}\n\n.multi-search-btn.active {\n background-color: #007AFF;\n color: #fff;\n border-color: #007AFF;\n}\n\n.multi-provider-search-panel {\n background: #fff;\n border-bottom: 1px solid #ccc;\n display: flex;\n flex-direction: column;\n max-height: 70vh;\n overflow: hidden;\n}\n\n.search-panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n background-color: #f0f7ff;\n border-bottom: 1px solid #cce8ff;\n}\n\n.search-panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #007AFF;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.close-panel-btn {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 16px;\n color: #666;\n padding: 4px;\n}\n\n.close-panel-btn:hover {\n color: #333;\n}\n\n.search-panel-body {\n padding: 16px;\n}\n\n.search-input-row {\n display: flex;\n gap: 8px;\n margin-bottom: 16px;\n}\n\n.multi-search-input {\n flex: 1;\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n}\n\n.multi-search-input:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.search-execute-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n background: #007AFF;\n color: #fff;\n border: none;\n padding: 8px 16px;\n cursor: pointer;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n transition: background-color 0.15s;\n}\n\n.search-execute-btn:hover:not(:disabled) {\n background-color: #0056b3;\n}\n\n.search-execute-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.provider-selection {\n margin-bottom: 8px;\n}\n\n.provider-selection-label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n margin-bottom: 8px;\n}\n\n.provider-checkboxes {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.provider-checkbox {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n padding: 4px 8px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n background: #fafafa;\n transition: all 0.15s;\n}\n\n.provider-checkbox:hover:not(.disabled) {\n border-color: #007AFF;\n background: #f0f7ff;\n}\n\n.provider-checkbox.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n background: #f5f5f5;\n}\n\n.provider-checkbox input[type=\"checkbox\"] {\n cursor: pointer;\n}\n\n.provider-checkbox .provider-name {\n font-weight: 500;\n}\n\n.no-search-badge {\n font-size: 10px;\n color: #999;\n font-style: italic;\n}\n\n/* Search Results */\n.search-results-container {\n flex: 1;\n overflow: auto;\n border-top: 1px solid #e0e0e0;\n}\n\n.search-results-summary {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: #f8f8f8;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.search-results-summary .result-count {\n font-weight: 600;\n font-size: 13px;\n color: #333;\n}\n\n.search-results-summary .provider-stats {\n font-size: 12px;\n color: #666;\n}\n\n.search-results-summary .failed-count {\n color: #D32F2F;\n}\n\n.clear-results-btn {\n margin-left: auto;\n background: none;\n border: 1px solid #ccc;\n padding: 4px 10px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 11px;\n color: #666;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.clear-results-btn:hover {\n background: #f0f0f0;\n color: #333;\n}\n\n.provider-results-list {\n padding: 8px 0;\n}\n\n.provider-result-group {\n margin-bottom: 16px;\n}\n\n.provider-result-group:last-child {\n margin-bottom: 0;\n}\n\n.provider-result-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #f5f5f5;\n font-size: 13px;\n font-weight: 600;\n color: #333;\n}\n\n.provider-result-header i {\n color: #007AFF;\n}\n\n.provider-result-header .result-count {\n font-weight: normal;\n color: #666;\n}\n\n.provider-result-group.failed .provider-result-header {\n background: #fff5f5;\n}\n\n.provider-result-group.failed .provider-result-header i {\n color: #D32F2F;\n}\n\n.error-badge {\n color: #D32F2F;\n font-weight: normal;\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.provider-result-files {\n padding: 0;\n}\n\n.search-result-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px 8px 40px;\n border-bottom: 1px solid #f0f0f0;\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.search-result-item:hover {\n background-color: #f8f8f8;\n}\n\n.search-result-item:last-child {\n border-bottom: none;\n}\n\n.search-result-item .file-icon {\n font-size: 16px;\n color: #666;\n flex-shrink: 0;\n}\n\n.search-result-item .file-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.search-result-item .file-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.search-result-item .file-path {\n font-size: 11px;\n color: #999;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.search-result-item .file-size {\n font-size: 12px;\n color: #666;\n flex-shrink: 0;\n min-width: 60px;\n text-align: right;\n}\n\n.search-result-item .file-date {\n font-size: 12px;\n color: #666;\n flex-shrink: 0;\n min-width: 140px;\n text-align: right;\n}\n\n.no-results-message {\n padding: 16px 40px;\n font-size: 12px;\n color: #999;\n font-style: italic;\n}\n\n.searching-state {\n padding: 40px 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n"] }]
|
|
2383
|
+
args: [{ selector: 'mj-file-grid', template: "<div class=\"file-grid-container\"\n (dragenter)=\"onDragEnter($event)\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\">\n <!-- Breadcrumb Navigation Bar -->\n <div class=\"breadcrumb-bar\" *ngIf=\"!isLoading && !errorMessage\">\n <div class=\"nav-buttons\">\n <button class=\"nav-btn\"\n [disabled]=\"!canNavigateUp()\"\n (click)=\"navigateUp()\"\n title=\"Go up to parent folder\">\n <i class=\"fa-solid fa-arrow-up\"></i>\n </button>\n <button class=\"nav-btn\" (click)=\"refresh()\" title=\"Refresh\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n </button>\n </div>\n <div class=\"breadcrumb-path\">\n <i class=\"fa-solid fa-folder\"></i>\n <span class=\"path-text\">{{ folderPath || 'Root' }} /</span>\n </div>\n <div class=\"search-bar\">\n <input type=\"text\"\n class=\"search-input\"\n [(ngModel)]=\"searchQuery\"\n (ngModelChange)=\"onSearchChange($event)\"\n placeholder=\"Search files and folders...\"\n [disabled]=\"isLoading || isMultiProviderSearchMode\">\n <button class=\"search-clear-btn\"\n *ngIf=\"searchQuery && !isMultiProviderSearchMode\"\n (click)=\"clearSearch()\"\n title=\"Clear search\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n <select class=\"file-type-filter\"\n [(ngModel)]=\"fileTypeFilter\"\n (ngModelChange)=\"onFileTypeFilterChange($event)\"\n [disabled]=\"isLoading || isMultiProviderSearchMode\">\n <option value=\"all\">All</option>\n <option value=\"files\">Files</option>\n <option value=\"folders\">Folders</option>\n </select>\n <button class=\"multi-search-btn\"\n [class.active]=\"isMultiProviderSearchMode\"\n (click)=\"toggleMultiAccountSearchMode()\"\n title=\"Search across all storage providers\">\n <i class=\"fa-solid fa-magnifying-glass-plus\"></i>\n </button>\n </div>\n </div>\n\n <!-- Multi-Provider Search Panel -->\n <div class=\"multi-provider-search-panel\" *ngIf=\"isMultiProviderSearchMode\">\n <div class=\"search-panel-header\">\n <h3><i class=\"fa-solid fa-magnifying-glass\"></i> Search Across Providers</h3>\n <button class=\"close-panel-btn\" (click)=\"toggleMultiAccountSearchMode()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <div class=\"search-panel-body\">\n <div class=\"search-input-row\">\n <input type=\"text\"\n class=\"multi-search-input\"\n [(ngModel)]=\"multiProviderSearchQuery\"\n placeholder=\"Enter search term...\"\n (keydown.enter)=\"executeMultiAccountSearch()\"\n [disabled]=\"isSearching\">\n <button class=\"search-execute-btn\"\n (click)=\"executeMultiAccountSearch()\"\n [disabled]=\"isSearching || !multiProviderSearchQuery.trim() || selectedSearchProviders.size === 0\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isSearching\"></i>\n <i class=\"fa-solid fa-search\" *ngIf=\"!isSearching\"></i>\n {{ isSearching ? 'Searching...' : 'Search' }}\n </button>\n </div>\n\n <div class=\"provider-selection\">\n <label class=\"provider-selection-label\">Select accounts to search:</label>\n <div class=\"provider-checkboxes\">\n <label *ngFor=\"let a of availableAccounts\"\n class=\"provider-checkbox\"\n [class.disabled]=\"!accountSupportsSearch(a)\"\n [title]=\"accountSupportsSearch(a) ? '' : 'This account does not support search'\">\n <input type=\"checkbox\"\n [checked]=\"isAccountSelectedForSearch(a.account.ID)\"\n (change)=\"toggleSearchAccount(a.account.ID)\"\n [disabled]=\"!accountSupportsSearch(a)\">\n <span class=\"provider-name\">{{ a.account.Name }}</span>\n <span class=\"provider-type\">({{ a.provider.Name }})</span>\n <span class=\"no-search-badge\" *ngIf=\"!accountSupportsSearch(a)\">(no search)</span>\n </label>\n </div>\n </div>\n </div>\n\n <!-- Search Results -->\n <div class=\"search-results-container\" *ngIf=\"multiProviderSearchResults\">\n <div class=\"search-results-summary\">\n <span class=\"result-count\">{{ multiProviderSearchResults.totalResultsReturned }} result(s) found</span>\n <span class=\"provider-stats\">\n ({{ multiProviderSearchResults.successfulAccounts }} account(s) searched\n <span *ngIf=\"multiProviderSearchResults.failedAccounts > 0\" class=\"failed-count\">\n , {{ multiProviderSearchResults.failedAccounts }} failed\n </span>)\n </span>\n <button class=\"clear-results-btn\" (click)=\"clearMultiProviderSearch()\">\n <i class=\"fa-solid fa-xmark\"></i> Clear\n </button>\n </div>\n\n <div class=\"provider-results-list\">\n <div *ngFor=\"let accountResult of multiProviderSearchResults.accountResults\"\n class=\"provider-result-group\"\n [class.failed]=\"!accountResult.success\">\n <div class=\"provider-result-header\">\n <i class=\"fa-solid fa-cloud\"></i>\n <span class=\"provider-name\">{{ accountResult.accountName }}</span>\n <span class=\"result-count\" *ngIf=\"accountResult.success\">\n ({{ accountResult.results.length }} result(s))\n </span>\n <span class=\"error-badge\" *ngIf=\"!accountResult.success\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n {{ accountResult.errorMessage }}\n </span>\n </div>\n\n <div class=\"provider-result-files\" *ngIf=\"accountResult.success && accountResult.results.length > 0\">\n <div *ngFor=\"let file of accountResult.results\" class=\"search-result-item\">\n <i [class]=\"getSearchResultIcon(file)\" class=\"file-icon\"></i>\n <div class=\"file-info\">\n <span class=\"file-name\">{{ file.name }}</span>\n <span class=\"file-path\">{{ file.path }}</span>\n </div>\n <span class=\"file-size\">{{ formatSearchResultSize(file.size) }}</span>\n <span class=\"file-date\">{{ formatSearchResultDate(file.lastModified) }}</span>\n </div>\n </div>\n\n <div class=\"no-results-message\" *ngIf=\"accountResult.success && accountResult.results.length === 0\">\n No matching files found\n </div>\n </div>\n </div>\n </div>\n\n <!-- Searching State -->\n <div class=\"searching-state\" *ngIf=\"isSearching\">\n <mj-loading text=\"Searching across providers...\"></mj-loading>\n </div>\n </div>\n\n <!-- Loading State -->\n <div class=\"loading-state\" *ngIf=\"isLoading && !isMultiProviderSearchMode\">\n <mj-loading text=\"Loading files...\"></mj-loading>\n </div>\n\n <!-- Error State -->\n <div class=\"error-state\" *ngIf=\"errorMessage && !isLoading\">\n <div class=\"error-icon\">\n <i class=\"fa-solid fa-circle-exclamation\"></i>\n </div>\n <p class=\"error-message\">{{ errorMessage }}</p>\n <button class=\"retry-btn\" (click)=\"refresh()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i>\n Retry\n </button>\n </div>\n\n <!-- List View -->\n <div class=\"file-table-wrapper\" *ngIf=\"!isLoading && !errorMessage && filteredItems.length > 0 && viewMode === 'list'\">\n <table class=\"file-table\">\n <thead>\n <tr>\n <th class=\"col-name\" (click)=\"onSortChange([{ field: 'name', dir: sort[0].field === 'name' && sort[0].dir === 'asc' ? 'desc' : 'asc' }])\">\n <span>Name</span>\n <i class=\"fa-solid sort-icon\"\n [class.fa-caret-up]=\"sort[0].field === 'name' && sort[0].dir === 'asc'\"\n [class.fa-caret-down]=\"sort[0].field === 'name' && sort[0].dir === 'desc'\"\n [class.fa-sort]=\"sort[0].field !== 'name'\"></i>\n </th>\n <th class=\"col-type\">Type</th>\n <th class=\"col-size\" (click)=\"onSortChange([{ field: 'size', dir: sort[0].field === 'size' && sort[0].dir === 'asc' ? 'desc' : 'asc' }])\">\n <span>Size</span>\n <i class=\"fa-solid sort-icon\"\n [class.fa-caret-up]=\"sort[0].field === 'size' && sort[0].dir === 'asc'\"\n [class.fa-caret-down]=\"sort[0].field === 'size' && sort[0].dir === 'desc'\"\n [class.fa-sort]=\"sort[0].field !== 'size'\"></i>\n </th>\n <th class=\"col-modified\" (click)=\"onSortChange([{ field: 'lastModified', dir: sort[0].field === 'lastModified' && sort[0].dir === 'asc' ? 'desc' : 'asc' }])\">\n <span>Modified</span>\n <i class=\"fa-solid sort-icon\"\n [class.fa-caret-up]=\"sort[0].field === 'lastModified' && sort[0].dir === 'asc'\"\n [class.fa-caret-down]=\"sort[0].field === 'lastModified' && sort[0].dir === 'desc'\"\n [class.fa-sort]=\"sort[0].field !== 'lastModified'\"></i>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let item of filteredItems\"\n class=\"file-row\"\n [class.selected]=\"selectedItems.includes(item.key)\"\n (click)=\"onTileClick(item, $event)\"\n (dblclick)=\"onItemDoubleClick(item)\">\n <td class=\"col-name\">\n <i [class]=\"getItemIcon(item)\" class=\"item-icon\"></i>\n <span class=\"item-name\">{{ item.name }}</span>\n </td>\n <td class=\"col-type\">\n <span class=\"item-type\">{{ getFileType(item) }}</span>\n </td>\n <td class=\"col-size\">\n <span class=\"item-size\">{{ item.type === 'folder' ? '\u2014' : formatFileSize(item.size) }}</span>\n </td>\n <td class=\"col-modified\">\n <span class=\"item-date\">{{ formatDate(item.lastModified) }}</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n <!-- Grid View -->\n <div class=\"file-grid-wrapper\" *ngIf=\"!isLoading && !errorMessage && filteredItems.length > 0 && viewMode === 'grid'\">\n <div class=\"file-grid\">\n <div *ngFor=\"let item of filteredItems\"\n class=\"grid-item\"\n [class.selected]=\"selectedItems.includes(item.key)\"\n (click)=\"onTileClick(item, $event)\"\n (dblclick)=\"onItemDoubleClick(item)\">\n <div class=\"grid-icon\">\n <i [class]=\"getItemIcon(item)\"></i>\n </div>\n <div class=\"grid-name\">{{ item.name }}</div>\n <div class=\"grid-meta\" *ngIf=\"item.type === 'file'\">{{ formatFileSize(item.size) }}</div>\n <div class=\"grid-meta\" *ngIf=\"item.type === 'folder'\">Folder</div>\n </div>\n </div>\n </div>\n\n <!-- Empty State -->\n <div class=\"empty-state\" *ngIf=\"!isLoading && !errorMessage && filteredItems.length === 0\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-folder-open\"></i>\n </div>\n <p class=\"empty-message\">This folder is empty</p>\n <button class=\"upload-btn\" (click)=\"onUploadClick()\">\n <i class=\"fa-solid fa-upload\"></i>\n Upload Files\n </button>\n </div>\n\n <!-- Bottom Toolbar -->\n <div class=\"bottom-toolbar\" *ngIf=\"!isLoading && !errorMessage\">\n <div class=\"toolbar-left\">\n <button class=\"toolbar-btn\" (click)=\"onUploadClick()\">\n <i class=\"fa-solid fa-upload\"></i>\n Upload\n </button>\n <button class=\"toolbar-btn\" (click)=\"onNewFolderClick()\">\n <i class=\"fa-solid fa-folder-plus\"></i>\n New Folder\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onDownloadClick()\">\n <i class=\"fa-solid fa-download\"></i>\n Download\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onRenameClick()\">\n <i class=\"fa-solid fa-pen\"></i>\n Rename\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onCopyClick()\">\n <i class=\"fa-solid fa-copy\"></i>\n Copy\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1 || getSelectedItem()?.type === 'folder'\"\n (click)=\"onCopyToAccountClick()\"\n title=\"Copy file to another storage account\">\n <i class=\"fa-solid fa-cloud-arrow-up\"></i>\n Copy to...\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length !== 1\"\n (click)=\"onMoveClick()\">\n <i class=\"fa-solid fa-arrows-up-down-left-right\"></i>\n Move\n </button>\n <button class=\"toolbar-btn\"\n [disabled]=\"selectedItems.length === 0\"\n (click)=\"onDeleteClick()\">\n <i class=\"fa-solid fa-trash\"></i>\n Delete\n </button>\n </div>\n <div class=\"toolbar-right\">\n <!-- View Toggle -->\n <div class=\"view-toggle\">\n <button class=\"view-btn\"\n [class.active]=\"viewMode === 'list'\"\n (click)=\"viewMode = 'list'\"\n title=\"List View\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n <button class=\"view-btn\"\n [class.active]=\"viewMode === 'grid'\"\n (click)=\"viewMode = 'grid'\"\n title=\"Grid View\">\n <i class=\"fa-solid fa-th\"></i>\n </button>\n </div>\n <span class=\"item-count\">\n {{ filteredItems.length }} {{ filteredItems.length === 1 ? 'item' : 'filteredItems' }}\n </span>\n </div>\n </div>\n\n <!-- Drag & Drop Overlay -->\n <div class=\"drag-overlay\" *ngIf=\"isDragging\">\n <div class=\"drag-content\">\n <div class=\"drag-icon\">\n <i class=\"fa-solid fa-cloud-arrow-up\"></i>\n </div>\n <h2 class=\"drag-title\">Drop files to upload</h2>\n </div>\n </div>\n\n <!-- Upload Progress -->\n <div class=\"upload-progress\" *ngIf=\"isUploading\">\n <div class=\"progress-content\">\n <div class=\"progress-info\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Uploading {{ uploadingFileName }}...</span>\n </div>\n <div class=\"progress-bar-wrap\">\n <div class=\"progress-bar\" [style.width.%]=\"uploadProgress\"></div>\n </div>\n <span class=\"progress-percent\">{{ uploadProgress }}%</span>\n </div>\n </div>\n</div>\n\n<!-- New Folder Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showNewFolderDialog\" (click)=\"onCancelNewFolder()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Create New Folder</h3>\n <button class=\"modal-close\" (click)=\"onCancelNewFolder()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <label>Folder name:</label>\n <input type=\"text\"\n [(ngModel)]=\"newFolderName\"\n [disabled]=\"isCreatingFolder\"\n placeholder=\"Enter folder name\"\n (keydown.enter)=\"onCreateFolder()\">\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelNewFolder()\" [disabled]=\"isCreatingFolder\">Cancel</button>\n <button (click)=\"onCreateFolder()\" [disabled]=\"!newFolderName.trim() || isCreatingFolder\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isCreatingFolder\"></i>\n {{ isCreatingFolder ? 'Creating...' : 'Create' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Delete Confirmation Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showDeleteDialog && itemToDelete\" (click)=\"onCancelDelete()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Delete {{ itemToDelete.type === 'folder' ? 'Folder' : 'File' }}?</h3>\n <button class=\"modal-close\" (click)=\"onCancelDelete()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Are you sure you want to delete <strong>{{ itemToDelete.name }}</strong>?</p>\n <p *ngIf=\"itemToDelete.type === 'folder'\" class=\"warning\">This will delete the folder and all its contents.</p>\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelDelete()\" [disabled]=\"isDeleting\">Cancel</button>\n <button (click)=\"onConfirmDelete()\" [disabled]=\"isDeleting\" class=\"danger\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isDeleting\"></i>\n {{ isDeleting ? 'Deleting...' : 'Delete' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Rename Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showRenameDialog && itemToRename\" (click)=\"onCancelRename()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Rename {{ itemToRename.type === 'folder' ? 'Folder' : 'File' }}</h3>\n <button class=\"modal-close\" (click)=\"onCancelRename()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <label>New name:</label>\n <input type=\"text\"\n [(ngModel)]=\"newItemName\"\n [disabled]=\"isRenaming\"\n placeholder=\"Enter new name\"\n (keydown.enter)=\"onConfirmRename()\">\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelRename()\" [disabled]=\"isRenaming\">Cancel</button>\n <button (click)=\"onConfirmRename()\" [disabled]=\"isRenaming || !newItemName.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isRenaming\"></i>\n {{ isRenaming ? 'Renaming...' : 'Rename' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Copy Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showCopyDialog && itemToCopy\" (click)=\"onCancelCopy()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Copy {{ itemToCopy.type === 'folder' ? 'Folder' : 'File' }}</h3>\n <button class=\"modal-close\" (click)=\"onCancelCopy()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Copying: <strong>{{ itemToCopy.name }}</strong></p>\n <label>Destination path:</label>\n <input type=\"text\"\n [(ngModel)]=\"copyDestinationPath\"\n [disabled]=\"isCopying\"\n placeholder=\"Enter destination path\"\n (keydown.enter)=\"onConfirmCopy()\">\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelCopy()\" [disabled]=\"isCopying\">Cancel</button>\n <button (click)=\"onConfirmCopy()\" [disabled]=\"isCopying || !copyDestinationPath.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isCopying\"></i>\n {{ isCopying ? 'Copying...' : 'Copy' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Move Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showMoveDialog && itemToMove\" (click)=\"onCancelMove()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Move {{ itemToMove.type === 'folder' ? 'Folder' : 'File' }}</h3>\n <button class=\"modal-close\" (click)=\"onCancelMove()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Moving: <strong>{{ itemToMove.name }}</strong></p>\n <label>Destination folder path:</label>\n <input type=\"text\"\n [(ngModel)]=\"moveDestinationPath\"\n [disabled]=\"isMoving\"\n placeholder=\"Enter destination folder (e.g., folder1/folder2/)\"\n (keydown.enter)=\"onConfirmMove()\">\n <p style=\"font-size: 11px; color: #666; margin-top: 8px;\">\n File will be moved to: {{ moveDestinationPath }}{{ itemToMove.name }}\n </p>\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelMove()\" [disabled]=\"isMoving\">Cancel</button>\n <button (click)=\"onConfirmMove()\" [disabled]=\"isMoving || !moveDestinationPath.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isMoving\"></i>\n {{ isMoving ? 'Moving...' : 'Move' }}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Copy to Account Modal -->\n<div class=\"modal-overlay\" *ngIf=\"showCopyToProviderDialog && itemToCopyToProvider\" (click)=\"onCancelCopyToAccount()\">\n <div class=\"modal-dialog\" (click)=\"$event.stopPropagation()\">\n <div class=\"modal-header\">\n <h3>Copy to Another Account</h3>\n <button class=\"modal-close\" (click)=\"onCancelCopyToAccount()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <div class=\"modal-body\">\n <p>Copying: <strong>{{ itemToCopyToProvider.name }}</strong></p>\n <p style=\"font-size: 12px; color: #666; margin-bottom: 16px;\">\n From: <strong>{{ account?.account?.Name }}</strong>\n </p>\n\n <label>Select destination account(s):</label>\n <div class=\"account-checkbox-list\">\n <div *ngFor=\"let a of availableAccounts\" class=\"account-checkbox-item\">\n <input type=\"checkbox\"\n [id]=\"'dest-account-' + a.account.ID\"\n [checked]=\"isDestinationAccountSelected(a.account.ID)\"\n [disabled]=\"isCopyingToAccount\"\n (change)=\"toggleDestinationAccount(a.account.ID)\">\n <label [for]=\"'dest-account-' + a.account.ID\">\n {{ a.account.Name }} <span class=\"provider-badge\">{{ a.provider.Name }}</span>\n </label>\n </div>\n </div>\n\n <label style=\"margin-top: 16px;\">Destination filename:</label>\n <input type=\"text\"\n [(ngModel)]=\"copyToAccountDestinationPath\"\n [disabled]=\"isCopyingToAccount\"\n placeholder=\"Enter destination filename\"\n (keydown.enter)=\"onConfirmCopyToAccount()\">\n <div *ngIf=\"copyToAccountProgress\" class=\"copy-progress\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Copying to {{ copyToAccountProgress.currentAccount }} ({{ copyToAccountProgress.current }}/{{ copyToAccountProgress.total }})...\n </div>\n </div>\n <div class=\"modal-footer\">\n <button (click)=\"onCancelCopyToAccount()\" [disabled]=\"isCopyingToAccount\">Cancel</button>\n <button (click)=\"onConfirmCopyToAccount()\"\n [disabled]=\"isCopyingToAccount || selectedDestinationAccounts.size === 0 || !copyToAccountDestinationPath.trim()\">\n <i class=\"fa-solid fa-spinner fa-spin\" *ngIf=\"isCopyingToAccount\"></i>\n {{ isCopyingToAccount ? 'Copying...' : 'Copy to ' + selectedDestinationAccounts.size + ' account' + (selectedDestinationAccounts.size !== 1 ? 's' : '') }}\n </button>\n </div>\n </div>\n</div>\n", styles: ["/* ===========================\n File Grid - Traditional File Manager Style\n =========================== */\n\n:host {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n background-color: #fff;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n\n.file-grid-container {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n position: relative;\n}\n\n/* ===========================\n Breadcrumb Navigation Bar\n =========================== */\n\n.breadcrumb-bar {\n display: flex;\n align-items: center;\n padding: 6px 10px;\n background-color: #f8f8f8;\n border-bottom: 1px solid #ccc;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n.nav-buttons {\n display: flex;\n gap: 4px;\n}\n\n.nav-btn {\n background: #fff;\n border: 1px solid #ccc;\n padding: 4px 8px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n color: #333;\n transition: background-color 0.15s;\n}\n\n.nav-btn:hover:not(:disabled) {\n background-color: #e8e8e8;\n}\n\n.nav-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.breadcrumb-path {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #333;\n}\n\n.breadcrumb-path i {\n color: #666;\n}\n\n.path-text {\n font-weight: 500;\n}\n\n.search-bar {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-left: auto;\n position: relative;\n}\n\n.search-input {\n padding: 4px 30px 4px 8px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 12px;\n font-family: inherit;\n min-width: 200px;\n}\n\n.search-input:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.search-clear-btn {\n position: absolute;\n right: 142px;\n background: none;\n border: none;\n cursor: pointer;\n color: #999;\n padding: 4px;\n font-size: 12px;\n}\n\n.search-clear-btn:hover {\n color: #333;\n}\n\n.file-type-filter {\n padding: 4px 8px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 12px;\n font-family: inherit;\n background: #fff;\n cursor: pointer;\n}\n\n.file-type-filter:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n/* ===========================\n File Table\n =========================== */\n\n.file-table-wrapper {\n flex: 1;\n overflow: auto;\n border-bottom: 1px solid #ccc;\n}\n\n.file-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 12px;\n}\n\n.file-table thead {\n position: sticky;\n top: 0;\n background-color: #f0f0f0;\n z-index: 10;\n}\n\n.file-table th {\n text-align: left;\n padding: 6px 10px;\n border-bottom: 1px solid #ccc;\n font-weight: 600;\n color: #333;\n cursor: pointer;\n user-select: none;\n}\n\n.file-table th:hover {\n background-color: #e8e8e8;\n}\n\n.file-table th span {\n margin-right: 4px;\n}\n\n.sort-icon {\n font-size: 10px;\n color: #666;\n}\n\n.file-table tbody tr {\n border-bottom: 1px solid #e8e8e8;\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.file-table tbody tr:hover {\n background-color: #f8f8f8;\n}\n\n.file-table tbody tr.selected {\n background-color: #cce8ff;\n}\n\n.file-table tbody tr.selected:hover {\n background-color: #b3d9ff;\n}\n\n.file-table td {\n padding: 6px 10px;\n color: #333;\n}\n\n/* Column Widths */\n.col-name {\n width: 50%;\n}\n\n.col-type {\n width: 15%;\n}\n\n.col-size {\n width: 15%;\n}\n\n.col-modified {\n width: 20%;\n}\n\n/* Name Column with Icon */\n.col-name {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.item-icon {\n font-size: 14px;\n color: #666;\n flex-shrink: 0;\n}\n\n.item-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* Folder Icons */\n.fa-folder {\n color: #FFB84D;\n}\n\n/* File Type Icons */\n.fa-file-pdf {\n color: #D32F2F;\n}\n\n.fa-file-word {\n color: #2B579A;\n}\n\n.fa-file-excel {\n color: #217346;\n}\n\n.fa-file-image {\n color: #673AB7;\n}\n\n.fa-file-video {\n color: #F57C00;\n}\n\n.fa-file-audio {\n color: #D32F2F;\n}\n\n.fa-file-archive {\n color: #795548;\n}\n\n.fa-file-code {\n color: #388E3C;\n}\n\n/* ===========================\n Grid View\n =========================== */\n\n.file-grid-wrapper {\n flex: 1;\n overflow: auto;\n padding: 10px;\n border-bottom: 1px solid #ccc;\n}\n\n.file-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));\n gap: 12px;\n}\n\n.grid-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 12px 8px;\n border: 1px solid #e8e8e8;\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.15s;\n background: #fff;\n}\n\n.grid-item:hover {\n background-color: #f8f8f8;\n border-color: #ccc;\n}\n\n.grid-item.selected {\n background-color: #cce8ff;\n border-color: #007AFF;\n}\n\n.grid-icon {\n font-size: 48px;\n margin-bottom: 8px;\n color: #666;\n}\n\n.grid-icon i {\n display: block;\n}\n\n.grid-name {\n font-size: 12px;\n color: #333;\n text-align: center;\n word-break: break-word;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n max-width: 100%;\n}\n\n.grid-meta {\n font-size: 11px;\n color: #666;\n margin-top: 4px;\n}\n\n/* ===========================\n Bottom Toolbar\n =========================== */\n\n.bottom-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 6px 10px;\n background-color: #f8f8f8;\n border-top: 1px solid #ccc;\n min-height: 36px;\n}\n\n.toolbar-left {\n display: flex;\n gap: 6px;\n}\n\n.toolbar-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n background: #fff;\n border: 1px solid #ccc;\n padding: 5px 12px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n color: #333;\n transition: background-color 0.15s;\n}\n\n.toolbar-btn:hover:not(:disabled) {\n background-color: #e8e8e8;\n}\n\n.toolbar-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.toolbar-btn i {\n font-size: 12px;\n}\n\n.toolbar-right {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-toggle {\n display: flex;\n border: 1px solid #ccc;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.view-btn {\n background: #fff;\n border: none;\n border-right: 1px solid #ccc;\n padding: 4px 10px;\n cursor: pointer;\n font-size: 12px;\n color: #666;\n transition: all 0.15s;\n}\n\n.view-btn:last-child {\n border-right: none;\n}\n\n.view-btn:hover {\n background-color: #f0f0f0;\n color: #333;\n}\n\n.view-btn.active {\n background-color: #007AFF;\n color: #fff;\n}\n\n.item-count {\n font-size: 11px;\n color: #666;\n}\n\n/* ===========================\n Loading / Error / Empty States\n =========================== */\n\n.loading-state,\n.error-state,\n.empty-state {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px 20px;\n}\n\n.error-icon,\n.empty-icon {\n font-size: 48px;\n color: #999;\n margin-bottom: 16px;\n}\n\n.error-message,\n.empty-message {\n font-size: 14px;\n color: #666;\n margin-bottom: 16px;\n}\n\n.retry-btn,\n.upload-btn {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #fff;\n border: 1px solid #ccc;\n padding: 8px 16px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 13px;\n color: #333;\n transition: background-color 0.15s;\n}\n\n.retry-btn:hover,\n.upload-btn:hover {\n background-color: #f0f0f0;\n}\n\n/* ===========================\n Drag & Drop Overlay\n =========================== */\n\n.drag-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(255, 255, 255, 0.95);\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n border: 3px dashed #007AFF;\n}\n\n.drag-content {\n text-align: center;\n}\n\n.drag-icon {\n font-size: 64px;\n color: #007AFF;\n margin-bottom: 16px;\n}\n\n.drag-title {\n font-size: 20px;\n font-weight: 600;\n color: #007AFF;\n margin: 0;\n}\n\n/* ===========================\n Upload Progress\n =========================== */\n\n.upload-progress {\n position: absolute;\n bottom: 40px;\n right: 20px;\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 12px 16px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);\n min-width: 300px;\n z-index: 100;\n}\n\n.progress-content {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.progress-info {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 13px;\n color: #333;\n}\n\n.progress-bar-wrap {\n width: 100%;\n height: 6px;\n background-color: #e0e0e0;\n border-radius: 3px;\n overflow: hidden;\n}\n\n.progress-bar {\n height: 100%;\n background-color: #007AFF;\n transition: width 0.3s ease;\n}\n\n.progress-percent {\n font-size: 12px;\n color: #666;\n text-align: right;\n}\n\n/* ===========================\n Modal Dialogs\n =========================== */\n\n.modal-overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 2000;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.modal-dialog {\n background: #fff;\n border: 1px solid #999;\n border-radius: 4px;\n min-width: 400px;\n max-width: 90%;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);\n}\n\n.modal-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background-color: #f8f8f8;\n border-bottom: 1px solid #ccc;\n}\n\n.modal-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #333;\n}\n\n.modal-close {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 16px;\n color: #666;\n padding: 4px;\n}\n\n.modal-close:hover {\n color: #333;\n}\n\n.modal-body {\n padding: 16px;\n}\n\n.modal-body label {\n display: block;\n margin-bottom: 6px;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n}\n\n.modal-body input[type=\"text\"] {\n width: 100%;\n padding: 6px 10px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 13px;\n font-family: inherit;\n}\n\n.modal-body input[type=\"text\"]:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.modal-body select,\n.modal-body .provider-select {\n width: 100%;\n padding: 6px 10px;\n border: 1px solid #ccc;\n border-radius: 3px;\n font-size: 13px;\n font-family: inherit;\n background-color: #fff;\n cursor: pointer;\n}\n\n.modal-body select:focus,\n.modal-body .provider-select:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.modal-body select:disabled,\n.modal-body .provider-select:disabled {\n background-color: #f5f5f5;\n cursor: not-allowed;\n}\n\n.modal-body p {\n margin: 0 0 12px 0;\n font-size: 13px;\n color: #333;\n}\n\n.modal-body .warning {\n color: #D32F2F;\n font-size: 12px;\n}\n\n/* Checkbox list for multi-account selection */\n.account-checkbox-list {\n max-height: 200px;\n overflow-y: auto;\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 8px;\n background: #fafafa;\n}\n\n.account-checkbox-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 4px;\n border-radius: 3px;\n cursor: pointer;\n}\n\n.account-checkbox-item:hover {\n background-color: #e8f4fd;\n}\n\n.account-checkbox-item input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: #007AFF;\n}\n\n.account-checkbox-item label {\n display: flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: normal;\n margin: 0;\n}\n\n.provider-badge {\n font-size: 11px;\n color: #666;\n background: #e0e0e0;\n padding: 2px 6px;\n border-radius: 10px;\n}\n\n.copy-progress {\n margin-top: 12px;\n padding: 8px 12px;\n background: #e8f4fd;\n border-radius: 4px;\n font-size: 12px;\n color: #0066cc;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.modal-footer {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n padding: 12px 16px;\n background-color: #f8f8f8;\n border-top: 1px solid #ccc;\n}\n\n.modal-footer button {\n padding: 6px 16px;\n border: 1px solid #ccc;\n background: #fff;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n font-weight: 500;\n transition: background-color 0.15s;\n}\n\n.modal-footer button:hover:not(:disabled) {\n background-color: #f0f0f0;\n}\n\n.modal-footer button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.modal-footer button.danger {\n background-color: #D32F2F;\n color: #fff;\n border-color: #D32F2F;\n}\n\n.modal-footer button.danger:hover:not(:disabled) {\n background-color: #B71C1C;\n}\n\n/* ===========================\n Scrollbars\n =========================== */\n\n.file-table-wrapper::-webkit-scrollbar {\n width: 12px;\n height: 12px;\n}\n\n.file-table-wrapper::-webkit-scrollbar-track {\n background: #f0f0f0;\n}\n\n.file-table-wrapper::-webkit-scrollbar-thumb {\n background: #c0c0c0;\n border: 2px solid #f0f0f0;\n}\n\n.file-table-wrapper::-webkit-scrollbar-thumb:hover {\n background: #a0a0a0;\n}\n\n/* ===========================\n Responsive Design\n =========================== */\n\n@media screen and (max-width: 768px) {\n .file-table {\n font-size: 11px;\n }\n\n .file-table th,\n .file-table td {\n padding: 4px 6px;\n }\n\n .col-type,\n .col-size {\n display: none;\n }\n\n .col-name {\n width: 60%;\n }\n\n .col-modified {\n width: 40%;\n }\n\n .toolbar-btn span {\n display: none;\n }\n\n .modal-dialog {\n min-width: 90%;\n }\n}\n\n/* ===========================\n Multi-Provider Search\n =========================== */\n\n.multi-search-btn {\n background: #fff;\n border: 1px solid #ccc;\n padding: 4px 8px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 12px;\n color: #666;\n transition: all 0.15s;\n}\n\n.multi-search-btn:hover {\n background-color: #e8e8e8;\n color: #333;\n}\n\n.multi-search-btn.active {\n background-color: #007AFF;\n color: #fff;\n border-color: #007AFF;\n}\n\n.multi-provider-search-panel {\n background: #fff;\n border-bottom: 1px solid #ccc;\n display: flex;\n flex-direction: column;\n max-height: 70vh;\n overflow: hidden;\n}\n\n.search-panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 16px;\n background-color: #f0f7ff;\n border-bottom: 1px solid #cce8ff;\n}\n\n.search-panel-header h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: #007AFF;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.close-panel-btn {\n background: none;\n border: none;\n cursor: pointer;\n font-size: 16px;\n color: #666;\n padding: 4px;\n}\n\n.close-panel-btn:hover {\n color: #333;\n}\n\n.search-panel-body {\n padding: 16px;\n}\n\n.search-input-row {\n display: flex;\n gap: 8px;\n margin-bottom: 16px;\n}\n\n.multi-search-input {\n flex: 1;\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 13px;\n font-family: inherit;\n}\n\n.multi-search-input:focus {\n outline: none;\n border-color: #007AFF;\n}\n\n.search-execute-btn {\n display: flex;\n align-items: center;\n gap: 6px;\n background: #007AFF;\n color: #fff;\n border: none;\n padding: 8px 16px;\n cursor: pointer;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n transition: background-color 0.15s;\n}\n\n.search-execute-btn:hover:not(:disabled) {\n background-color: #0056b3;\n}\n\n.search-execute-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.provider-selection {\n margin-bottom: 8px;\n}\n\n.provider-selection-label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: #333;\n margin-bottom: 8px;\n}\n\n.provider-checkboxes {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n\n.provider-checkbox {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: #333;\n cursor: pointer;\n padding: 4px 8px;\n border: 1px solid #e0e0e0;\n border-radius: 4px;\n background: #fafafa;\n transition: all 0.15s;\n}\n\n.provider-checkbox:hover:not(.disabled) {\n border-color: #007AFF;\n background: #f0f7ff;\n}\n\n.provider-checkbox.disabled {\n opacity: 0.6;\n cursor: not-allowed;\n background: #f5f5f5;\n}\n\n.provider-checkbox input[type=\"checkbox\"] {\n cursor: pointer;\n}\n\n.provider-checkbox .provider-name {\n font-weight: 500;\n}\n\n.no-search-badge {\n font-size: 10px;\n color: #999;\n font-style: italic;\n}\n\n/* Search Results */\n.search-results-container {\n flex: 1;\n overflow: auto;\n border-top: 1px solid #e0e0e0;\n}\n\n.search-results-summary {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: #f8f8f8;\n border-bottom: 1px solid #e0e0e0;\n}\n\n.search-results-summary .result-count {\n font-weight: 600;\n font-size: 13px;\n color: #333;\n}\n\n.search-results-summary .provider-stats {\n font-size: 12px;\n color: #666;\n}\n\n.search-results-summary .failed-count {\n color: #D32F2F;\n}\n\n.clear-results-btn {\n margin-left: auto;\n background: none;\n border: 1px solid #ccc;\n padding: 4px 10px;\n cursor: pointer;\n border-radius: 3px;\n font-size: 11px;\n color: #666;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.clear-results-btn:hover {\n background: #f0f0f0;\n color: #333;\n}\n\n.provider-results-list {\n padding: 8px 0;\n}\n\n.provider-result-group {\n margin-bottom: 16px;\n}\n\n.provider-result-group:last-child {\n margin-bottom: 0;\n}\n\n.provider-result-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: #f5f5f5;\n font-size: 13px;\n font-weight: 600;\n color: #333;\n}\n\n.provider-result-header i {\n color: #007AFF;\n}\n\n.provider-result-header .result-count {\n font-weight: normal;\n color: #666;\n}\n\n.provider-result-group.failed .provider-result-header {\n background: #fff5f5;\n}\n\n.provider-result-group.failed .provider-result-header i {\n color: #D32F2F;\n}\n\n.error-badge {\n color: #D32F2F;\n font-weight: normal;\n font-size: 12px;\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.provider-result-files {\n padding: 0;\n}\n\n.search-result-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 8px 16px 8px 40px;\n border-bottom: 1px solid #f0f0f0;\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.search-result-item:hover {\n background-color: #f8f8f8;\n}\n\n.search-result-item:last-child {\n border-bottom: none;\n}\n\n.search-result-item .file-icon {\n font-size: 16px;\n color: #666;\n flex-shrink: 0;\n}\n\n.search-result-item .file-info {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.search-result-item .file-name {\n font-size: 13px;\n font-weight: 500;\n color: #333;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.search-result-item .file-path {\n font-size: 11px;\n color: #999;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.search-result-item .file-size {\n font-size: 12px;\n color: #666;\n flex-shrink: 0;\n min-width: 60px;\n text-align: right;\n}\n\n.search-result-item .file-date {\n font-size: 12px;\n color: #666;\n flex-shrink: 0;\n min-width: 140px;\n text-align: right;\n}\n\n.no-results-message {\n padding: 16px 40px;\n font-size: 12px;\n color: #999;\n font-style: italic;\n}\n\n.searching-state {\n padding: 40px 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n"] }]
|
|
2384
2384
|
}], () => [], { account: [{
|
|
2385
2385
|
type: Input
|
|
2386
2386
|
}], folderPath: [{
|
|
@@ -1 +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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"}
|
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-file-storage",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "MemberJunction: Angular components for managing files, and related components.",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@angular/platform-browser": "18.2.14",
|
|
30
|
-
"@memberjunction/core": "3.
|
|
31
|
-
"@memberjunction/core-entities": "3.
|
|
32
|
-
"@memberjunction/global": "3.
|
|
33
|
-
"@memberjunction/graphql-dataprovider": "3.
|
|
34
|
-
"@memberjunction/ng-compare-records": "3.
|
|
35
|
-
"@memberjunction/ng-container-directives": "3.
|
|
36
|
-
"@memberjunction/ng-shared": "3.
|
|
37
|
-
"@memberjunction/ng-shared-generic": "3.
|
|
30
|
+
"@memberjunction/core": "3.3.0",
|
|
31
|
+
"@memberjunction/core-entities": "3.3.0",
|
|
32
|
+
"@memberjunction/global": "3.3.0",
|
|
33
|
+
"@memberjunction/graphql-dataprovider": "3.3.0",
|
|
34
|
+
"@memberjunction/ng-compare-records": "3.3.0",
|
|
35
|
+
"@memberjunction/ng-container-directives": "3.3.0",
|
|
36
|
+
"@memberjunction/ng-shared": "3.3.0",
|
|
37
|
+
"@memberjunction/ng-shared-generic": "3.3.0",
|
|
38
38
|
"@progress/kendo-angular-buttons": "16.2.0",
|
|
39
39
|
"@progress/kendo-angular-dialog": "16.2.0",
|
|
40
40
|
"@progress/kendo-angular-dropdowns": "16.2.0",
|