From 4721cb312b79518e2f8f4874aa72050f442c91eb Mon Sep 17 00:00:00 2001 From: Hardik Prajapati Date: Fri, 8 May 2026 00:51:17 +0530 Subject: [PATCH 1/2] UA-167: add drag and drop option to media file uploader UI Co-authored-by: Copilot --- app/scripts/app.js | 1 + app/scripts/controllers/Files.js | 18 +++++++++++++++--- app/views/dialogs/upload-addfile.html | 27 ++++++++++++++++++++++++++- bower.json | 1 + gulpfile.js | 2 ++ 5 files changed, 45 insertions(+), 4 deletions(-) diff --git a/app/scripts/app.js b/app/scripts/app.js index 17d321b8..8a03eb9b 100644 --- a/app/scripts/app.js +++ b/app/scripts/app.js @@ -175,6 +175,7 @@ angular 'md.data.table', 'ngIdle', 'ngclipboard', + 'ngFileUpload', ]) .service('JWTHttpInterceptor', function () { return { diff --git a/app/scripts/controllers/Files.js b/app/scripts/controllers/Files.js index d1713c0a..31dc8b70 100644 --- a/app/scripts/controllers/Files.js +++ b/app/scripts/controllers/Files.js @@ -77,10 +77,22 @@ function DialogUploadController($scope, $mdDialog, Backend, $shared, onFinished) $scope.error = false; $scope.errorText = ""; $scope.data = { - file: null + file: null, + files: [] + }; + $scope.onFilesChanged = function(files, invalidFiles) { + if (invalidFiles && invalidFiles.length > 0) { + $scope.errorText = "Some files are invalid. Please use .webp or .mp3 files only."; + return; + } + $scope.errorText = ""; + $scope.data.files = files || []; }; $scope.submit = function($event) { - var files = angular.element("#uploadFile").prop("files"); + var files = $scope.data.files; + if (!files || files.length === 0) { + files = angular.element("#uploadFile").prop("files"); + } if ( files.length === 0 ) { $scope.errorText="Please select atleast 1 file.."; return; @@ -107,7 +119,7 @@ function DialogUploadController($scope, $mdDialog, Backend, $shared, onFinished) } $scope.close = function() { $mdDialog.hide(); - } + }; } diff --git a/app/views/dialogs/upload-addfile.html b/app/views/dialogs/upload-addfile.html index 383b1f64..bf4d7f0d 100644 --- a/app/views/dialogs/upload-addfile.html +++ b/app/views/dialogs/upload-addfile.html @@ -12,8 +12,33 @@

Upload File

+
+ Drag and drop file(s) here +
+
+ Selected: {{data.files[0].name}} +{{data.files.length - 1}} more +
+
{{errorText}}
diff --git a/bower.json b/bower.json index 8f936e93..a9a3840a 100644 --- a/bower.json +++ b/bower.json @@ -20,6 +20,7 @@ "angular-material-data-table": "^0.10.10", "nickel.minStrength": "*", "ng-idle": "^1.3.2", + "ng-file-upload": "^12.2.13", "flag-css": "0.0.11", "flag-icon-css": "^3.4.5", "moment": "^2.24.0", diff --git a/gulpfile.js b/gulpfile.js index 5341bb97..11cc7d5d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -283,6 +283,7 @@ var deps = [ "./bower_components/angular-material-data-table/dist/md-data-table.js", "./bower_components/zxcvbn/dist/zxcvbn.js", "./bower_components/ng-idle/angular-idle.js", +'./bower_components/ng-file-upload/ng-file-upload.js', './bower_components/urijs/src/URI.min.js', ]; var files = [ @@ -319,6 +320,7 @@ gulp.task('compress-js', ['scripts'], function() { './bower_components/angular-material-data-table/dist/md-data-table.js', './bower_components/zxcvbn/dist/zxcvbn.js', './bower_components/ng-idle/angular-idle.js', +'./bower_components/ng-file-upload/ng-file-upload.js', './bower_components/moment/moment.js', './bower_components/clipboard/dist/clipboard.js', './bower_components/ngclipboard/dist/ngclipboard.js', From eced80c5604441592bd75d1c935d2b13b4039ef3 Mon Sep 17 00:00:00 2001 From: Hardik Prajapati Date: Fri, 8 May 2026 01:44:16 +0530 Subject: [PATCH 2/2] added .wav file accept on upload file --- app/views/dialogs/upload-addfile.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/dialogs/upload-addfile.html b/app/views/dialogs/upload-addfile.html index bf4d7f0d..876e8b26 100644 --- a/app/views/dialogs/upload-addfile.html +++ b/app/views/dialogs/upload-addfile.html @@ -15,19 +15,19 @@

Upload File