Files
Studio-42-elFinder/main-minimal.default.js
T
Naoki Sawada 48576af671 Prepare elFinder for jQuery 4 sup (#3781)
* Refactor touch event binding in elfinder.js (#3762)

for jquery 4.0

* Refactor name trimming in elFinder.resources.js (#3763)

for jquery 4.0

* Replace jQuery methods with native JavaScript equivalents (#3764)

for jquery 4.0

* Refactor command binding to use bind method (#3765)

for jquery 4.0

* Refactor search input value handling and buttonset (#3766)

for jquery 4.0

* Refactor function calls to use bind instead of proxy (#3767)

for jquery 4.0

* Refactor text trimming method in parseUploadData (#3768)

for jquery 4.0

* Fix mime trimming and whitespace handling (#3769)

for jquery 4.0

* Refactor value trimming to use native trim method (#3772)

for jquery 4.0

* Fix binding of 'make' method in mkfile.js (#3773)

for jquery 4.0

* Fix binding of make function in mkdir command (#3774)

for jquery 4.0

* Fix string trimming for translator names (#3775)

for jquery 4.0

* Fix binding of mixin make function in edit.js (#3776)

For jquery 4

* Refactor permission value trimming method (#3777)

For jquery 4.0

* fix: to support jQuery 4.0.0

* update: use jQuery 4.0.0/jQueyUI 1.14.2

---------

Co-authored-by: Brian Stone <brianstone@hotmail.com.au>
2026-04-20 13:45:00 +09:00

109 lines
3.1 KiB
JavaScript

/**
* elFinder client options and main script for RequireJS
*
* Rename "main.default.js" to "main.js" and edit it if you need configure elFInder options or any things. And use that in elfinder.html.
* e.g. `<script data-main="./main.js" src="./require.js"></script>`
**/
(function(){
"use strict";
var // jQuery and jQueryUI version
jqver = '4.0.0',
uiver = '1.14.2',
// Detect language (optional)
lang = (function() {
var locq = window.location.search,
fullLang, locm, lang;
if (locq && (locm = locq.match(/lang=([a-zA-Z_-]+)/))) {
// detection by url query (?lang=xx)
fullLang = locm[1];
} else {
// detection by browser language
fullLang = (navigator.browserLanguage || navigator.language || navigator.userLanguage);
}
lang = fullLang.substr(0,2);
if (lang === 'pt') lang = 'pt_BR';
else if (lang === 'ug') lang = 'ug_CN';
else if (lang === 'zh') lang = (fullLang.substr(0,5).toLowerCase() === 'zh-tw')? 'zh_TW' : 'zh_CN';
return lang;
})(),
// Start elFinder (REQUIRED)
start = function(elFinder, config) {
// load jQueryUI CSS
elFinder.prototype.loadCss('//code.jquery.com/ui/'+uiver+'/themes/smoothness/jquery-ui.css');
$(function() {
var opts = {};
// Interpretation of "elFinderConfig"
if (config && config.managers) {
$.each(config.managers, function(id, mOpts) {
opts = Object.assign(opts, config.defaultOpts || {});
// Make elFinder
$('#' + id).elfinder(
// 1st Arg - options
$.extend(true, { lang: lang }, opts, mOpts || {}),
// 2nd Arg - before boot up function
function(fm, extraObj) {
}
);
});
} else {
alert('"elFinderConfig" object is wrong.');
}
});
},
// JavaScript loader (REQUIRED)
load = function() {
require(
[
'elfinder'
, 'elFinderConfig'
],
start,
function(error) {
alert(error.message);
}
);
},
// is IE8 or :? for determine the jQuery version to use (optional)
old = (typeof window.addEventListener === 'undefined' && typeof document.getElementsByClassName === 'undefined')
||
(!window.chrome && !document.unqueID && !window.opera && !window.sidebar && 'WebkitAppearance' in document.documentElement.style && document.body.style && typeof document.body.style.webkitFilter === 'undefined');
// config of RequireJS (REQUIRED)
require.config({
baseUrl : 'js',
paths : {
'jquery' : '//code.jquery.com/jquery-'+jqver+'.min',
'jquery-ui': '//code.jquery.com/ui/'+uiver+'/jquery-ui.min.js',
'elfinder' : 'elfinder-minimal.min'
},
waitSeconds : 10 // optional
});
// check elFinderConfig and fallback
// This part don't used if you are using elfinder.html, see elfinder.html
if (! require.defined('elFinderConfig')) {
define('elFinderConfig', {
// elFinder options (REQUIRED)
// Documentation for client options:
// https://github.com/Studio-42/elFinder/wiki/Client-configuration-options
defaultOpts : {
url : 'php/connector.minimal.php' // connector URL (REQUIRED)
},
managers : {
'elfinder': {},
}
});
}
// load JavaScripts (REQUIRED)
load();
})();