diff options
Diffstat (limited to 'apps/files/js/operationprogressbar.js')
-rw-r--r-- | apps/files/js/operationprogressbar.js | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/apps/files/js/operationprogressbar.js b/apps/files/js/operationprogressbar.js new file mode 100644 index 00000000000..efeea4ad78f --- /dev/null +++ b/apps/files/js/operationprogressbar.js @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2018 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +(function() { + var OperationProgressBar = OC.Backbone.View.extend({ + tagName: 'div', + id: 'uploadprogresswrapper', + events: { + 'click button.stop': '_onClickCancel' + }, + + render: function() { + this.$el.html(OCA.Files.Templates['operationprogressbar']({ + textCancelButton: t('Cancel operation') + })); + this.setProgressBarText(t('Uploading …'), t('…')); + }, + + hideProgressBar: function() { + var self = this; + $('#uploadprogresswrapper .stop').fadeOut(); + $('#uploadprogressbar').fadeOut(function() { + self.$el.trigger(new $.Event('resized')); + }); + }, + + hideCancelButton: function() { + $('#uploadprogresswrapper .stop').fadeOut(function() { + this.$el.trigger(new $.Event('resized')); + }); + }, + + showProgressBar: function(showCancelButton) { + if (showCancelButton) { + showCancelButton = true; + } + $('#uploadprogressbar').progressbar({value: 0}); + if(showCancelButton) { + $('#uploadprogresswrapper .stop').show(); + } else { + $('#uploadprogresswrapper .stop').hide(); + } + $('#uploadprogresswrapper .label').show(); + $('#uploadprogressbar').fadeIn(); + this.$el.trigger(new $.Event('resized')); + }, + + setProgressBarValue: function(value) { + $('#uploadprogressbar').progressbar({value: value}); + }, + + setProgressBarText: function(textDesktop, textMobile, title) { + var labelHtml = OCA.Files.Templates['operationprogressbarlabel']({textDesktop: textDesktop, textMobile: textMobile}); + $('#uploadprogressbar .ui-progressbar-value').html(labelHtml); + $('#uploadprogressbar .ui-progressbar-value>em').addClass('inner'); + $('#uploadprogressbar>em').replaceWith(labelHtml); + $('#uploadprogressbar>em').addClass('outer'); + $('#uploadprogressbar').tooltip({placement: 'bottom'}); + if(title) { + $('#uploadprogressbar').attr('original-title', title); + } + $('#uploadprogresswrapper .stop').show(); + }, + + _onClickCancel: function (event) { + this.trigger('cancel'); + return false; + } + }); + + OCA.Files.OperationProgressBar = OperationProgressBar; +})(OC, OCA); |