From 212ad3cee056187ca5fd8fac39c8a8fc8f1d68b3 Mon Sep 17 00:00:00 2001 From: j Date: Fri, 24 Jan 2025 17:12:29 +0530 Subject: [PATCH] add confirm dialog while deleting annotations --- static/js/editor.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/static/js/editor.js b/static/js/editor.js index 5d131c56..19a9f99e 100644 --- a/static/js/editor.js +++ b/static/js/editor.js @@ -21,6 +21,7 @@ pandora.ui.editor = function(data) { censoredIcon: pandora.site.cantPlay.icon, censoredTooltip: Ox._(pandora.site.cantPlay.text), clickLink: pandora.clickLink, + confirmDeleteDialog: confirmDeleteDialog, cuts: data.cuts || [], duration: data.duration, enableDownload: pandora.hasCapability('canDownloadVideo') >= data.rightslevel || data.editable, @@ -442,6 +443,44 @@ pandora.ui.editor = function(data) { pandora._dontSelectResult = false; + function confirmDeleteDialog(options, callback) { + const subject = options.items.length == 1 ? Ox._('annotation') : Ox._('annotations') + const $dialog = pandora.ui.iconDialog({ + buttons: [ + Ox.Button({ + id: 'cancel', + title: Ox._('Cancel') + }) + .bindEvent({ + click: function() { + $dialog.close(); + } + }), + Ox.Button({ + id: 'delete', + title: Ox._('Delete') + }) + .bindEvent({ + click: function() { + $dialog.close(); + callback() + } + }) + ], + content: Ox._( + 'Are you sure you want delete {0} {1}', + [options.items.length, subject] + ), + height: 96, + keys: {enter: 'delete', escape: 'cancel'}, + title: Ox._( + 'Delete {0} {1}', [options.items.length, subject] + ) + }); + $dialog.open() + return $dialog + } + function getAnnotationById(id) { var annotation data.annotations.forEach(layer => {