aboutsummaryrefslogtreecommitdiff
path: root/ui/src/app/app.component.ts
diff options
context:
space:
mode:
authorJames Woglom <j@wogloms.net>2022-08-29 21:52:54 -0400
committerJames Woglom <j@wogloms.net>2022-08-29 21:52:54 -0400
commit8abacc2a3610701e6258d9c79ee0c577ad2b2376 (patch)
treea9222733401f237d5db1e16bd9190567eae51ac7 /ui/src/app/app.component.ts
parentload selectize (diff)
downloadmetube-8abacc2a3610701e6258d9c79ee0c577ad2b2376.tar.gz
metube-8abacc2a3610701e6258d9c79ee0c577ad2b2376.tar.bz2
metube-8abacc2a3610701e6258d9c79ee0c577ad2b2376.zip
almost functional with selectize
Diffstat (limited to 'ui/src/app/app.component.ts')
-rw-r--r--ui/src/app/app.component.ts16
1 files changed, 14 insertions, 2 deletions
diff --git a/ui/src/app/app.component.ts b/ui/src/app/app.component.ts
index f48b934..052e182 100644
--- a/ui/src/app/app.component.ts
+++ b/ui/src/app/app.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core';
+import { Component, ViewChild, ElementRef, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { faTrashAlt, faCheckCircle, faTimesCircle } from '@fortawesome/free-regular-svg-icons';
import { faRedoAlt, faSun, faMoon, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';
import { CookieService } from 'ngx-cookie-service';
@@ -7,10 +7,13 @@ import { DownloadsService, Status } from './downloads.service';
import { MasterCheckboxComponent } from './master-checkbox.component';
import { Formats, Format, Quality } from './formats';
+// jQuery is loaded in angular.json for selectize
+declare var $: any;
+
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
- styleUrls: ['./app.component.sass']
+ styleUrls: ['./app.component.sass'],
})
export class AppComponent implements AfterViewInit {
addUrl: string;
@@ -19,6 +22,7 @@ export class AppComponent implements AfterViewInit {
quality: string;
format: string;
folder: string;
+ customDirs: string[] = [];
addInProgress = false;
darkMode: boolean;
@@ -28,6 +32,7 @@ export class AppComponent implements AfterViewInit {
@ViewChild('doneDelSelected') doneDelSelected: ElementRef;
@ViewChild('doneClearCompleted') doneClearCompleted: ElementRef;
@ViewChild('doneClearFailed') doneClearFailed: ElementRef;
+ @ViewChild('folderSelect') folderSelect: ElementRef;
faTrashAlt = faTrashAlt;
faCheckCircle = faCheckCircle;
@@ -46,6 +51,13 @@ export class AppComponent implements AfterViewInit {
}
ngAfterViewInit() {
+ // Trigger folderSelect to update
+ this.downloads.customDirsChanged.subscribe((dirs: string[]) => {
+ console.log("customDirsChanged:", dirs);
+ $(this.folderSelect.nativeElement).selectize({options: dirs});
+ this.customDirs = dirs;
+ });
+
this.downloads.queueChanged.subscribe(() => {
this.queueMasterCheckbox.selectionChanged();
});
bgstack15