summaryrefslogtreecommitdiffstats
path: root/apps/files/js/operationprogressbar.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/js/operationprogressbar.js')
-rw-r--r--apps/files/js/operationprogressbar.js79
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);