diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-01-29 10:15:46 +0100 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2019-01-29 11:07:48 +0100 |
commit | 3ced9cd83db38731a1e82dafc0dcbdfe7db6cc2b (patch) | |
tree | 3da933724684a709f6afa2a8cbaa1fae10baa575 /core/js/jquery.ocdialog.js | |
parent | 2682d672d8076302da61fef3cc15e4d647d50be5 (diff) | |
download | nextcloud-server-3ced9cd83db38731a1e82dafc0dcbdfe7db6cc2b.tar.gz nextcloud-server-3ced9cd83db38731a1e82dafc0dcbdfe7db6cc2b.zip |
Move jQuery plugins into modules and add them to the bundle
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'core/js/jquery.ocdialog.js')
-rw-r--r-- | core/js/jquery.ocdialog.js | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/core/js/jquery.ocdialog.js b/core/js/jquery.ocdialog.js deleted file mode 100644 index 1610d8ac463..00000000000 --- a/core/js/jquery.ocdialog.js +++ /dev/null @@ -1,249 +0,0 @@ -(function($) { - $.widget('oc.ocdialog', { - options: { - width: 'auto', - height: 'auto', - closeButton: true, - closeOnEscape: true, - modal: false - }, - _create: function() { - var self = this; - - this.originalCss = { - display: this.element[0].style.display, - width: this.element[0].style.width, - height: this.element[0].style.height - }; - - this.originalTitle = this.element.attr('title'); - this.options.title = this.options.title || this.originalTitle; - - this.$dialog = $('<div class="oc-dialog" />') - .attr({ - // Setting tabIndex makes the div focusable - tabIndex: -1, - role: 'dialog' - }) - .insertBefore(this.element); - this.$dialog.append(this.element.detach()); - this.element.removeAttr('title').addClass('oc-dialog-content').appendTo(this.$dialog); - - this.$dialog.css({ - display: 'inline-block', - position: 'fixed' - }); - - this.enterCallback = null; - - $(document).on('keydown keyup', function(event) { - if ( - event.target !== self.$dialog.get(0) && - self.$dialog.find($(event.target)).length === 0 - ) { - return; - } - // Escape - if ( - event.keyCode === 27 && - event.type === 'keydown' && - self.options.closeOnEscape - ) { - event.stopImmediatePropagation(); - self.close(); - return false; - } - // Enter - if(event.keyCode === 13) { - event.stopImmediatePropagation(); - if (self.enterCallback !== null) { - self.enterCallback(); - event.preventDefault(); - return false; - } - if(event.type === 'keyup') { - event.preventDefault(); - return false; - } - // If no button is selected we trigger the primary - if ( - self.$buttonrow && - self.$buttonrow.find($(event.target)).length === 0 - ) { - var $button = self.$buttonrow.find('button.primary'); - if($button && !$button.prop('disabled')) { - $button.trigger('click'); - } - } else if(self.$buttonrow) { - $(event.target).trigger('click'); - } - return false; - } - }); - - this._setOptions(this.options); - this._createOverlay(); - }, - _init: function() { - this.$dialog.focus(); - this._trigger('open'); - }, - _setOption: function(key, value) { - var self = this; - switch(key) { - case 'title': - if(this.$title) { - this.$title.text(value); - } else { - var $title = $('<h2 class="oc-dialog-title">' - + value - + '</h2>'); - this.$title = $title.prependTo(this.$dialog); - } - this._setSizes(); - break; - case 'buttons': - if(this.$buttonrow) { - this.$buttonrow.empty(); - } else { - var $buttonrow = $('<div class="oc-dialog-buttonrow" />'); - this.$buttonrow = $buttonrow.appendTo(this.$dialog); - } - if (value.length === 1) { - this.$buttonrow.addClass('onebutton'); - } else if (value.length === 2) { - this.$buttonrow.addClass('twobuttons'); - } else if (value.length === 3) { - this.$buttonrow.addClass('threebuttons'); - } - $.each(value, function(idx, val) { - var $button = $('<button>').text(val.text); - if (val.classes) { - $button.addClass(val.classes); - } - if(val.defaultButton) { - $button.addClass('primary'); - self.$defaultButton = $button; - } - self.$buttonrow.append($button); - $button.click(function() { - val.click.apply(self.element[0], arguments); - }); - }); - this.$buttonrow.find('button') - .on('focus', function(event) { - self.$buttonrow.find('button').removeClass('primary'); - $(this).addClass('primary'); - }); - this._setSizes(); - break; - case 'style': - if (value.buttons !== undefined) { - this.$buttonrow.addClass(value.buttons); - } - break; - case 'closeButton': - if(value) { - var $closeButton = $('<a class="oc-dialog-close"></a>'); - this.$dialog.prepend($closeButton); - $closeButton.on('click', function() { - self.close(); - }); - } else { - this.$dialog.find('.oc-dialog-close').remove(); - } - break; - case 'width': - this.$dialog.css('width', value); - break; - case 'height': - this.$dialog.css('height', value); - break; - case 'close': - this.closeCB = value; - break; - } - //this._super(key, value); - $.Widget.prototype._setOption.apply(this, arguments ); - }, - _setOptions: function(options) { - //this._super(options); - $.Widget.prototype._setOptions.apply(this, arguments); - }, - _setSizes: function() { - var lessHeight = 0; - if(this.$title) { - lessHeight += this.$title.outerHeight(true); - } - if(this.$buttonrow) { - lessHeight += this.$buttonrow.outerHeight(true); - } - this.element.css({ - 'height': 'calc(100% - ' + lessHeight + 'px)' - }); - }, - _createOverlay: function() { - if(!this.options.modal) { - return; - } - - var self = this; - this.overlay = $('<div>') - .addClass('oc-dialog-dim') - .appendTo($('#content')); - this.overlay.on('click keydown keyup', function(event) { - if(event.target !== self.$dialog.get(0) && self.$dialog.find($(event.target)).length === 0) { - event.preventDefault(); - event.stopPropagation(); - return; - } - }); - }, - _destroyOverlay: function() { - if (!this.options.modal) { - return; - } - - if (this.overlay) { - this.overlay.off('click keydown keyup'); - this.overlay.remove(); - this.overlay = null; - } - }, - widget: function() { - return this.$dialog; - }, - setEnterCallback: function(callback) { - this.enterCallback = callback; - }, - unsetEnterCallback: function() { - this.enterCallback = null; - }, - close: function() { - this._destroyOverlay(); - var self = this; - // Ugly hack to catch remaining keyup events. - setTimeout(function() { - self._trigger('close', self); - }, 200); - - self.$dialog.remove(); - this.destroy(); - }, - destroy: function() { - if(this.$title) { - this.$title.remove(); - } - if(this.$buttonrow) { - this.$buttonrow.remove(); - } - - if(this.originalTitle) { - this.element.attr('title', this.originalTitle); - } - this.element.removeClass('oc-dialog-content') - .css(this.originalCss).detach().insertBefore(this.$dialog); - this.$dialog.remove(); - } - }); -}(jQuery)); |