//The build will inline common dependencies into this file. //For any third party dependencies, like jQuery, place them in the lib folder. //Configure loading modules from the lib directory, //except for 'app' ones, which are in a sibling directory. require.config({ // The shim config allows us to configure dependencies for // scripts that do not call define() to register a module shim: { underscore: { exports: '_' }, backbone: { deps: [ 'underscore', 'jquery' ], exports: 'Backbone' }, }, paths: { 'jquery': 'lib/jquery', 'jquery.ui.core': 'lib/jquery.ui.core', 'jquery.ui.widget': 'lib/jquery.ui.widget.1.11.1', 'jquery.ui.progressbar': 'lib/jquery.ui.progressbar', 'tmpl': 'lib/tmpl.min', 'jquery.iframe-transport': 'lib/jquery.iframe-transport.1.4', 'jquery.fileupload': 'lib/jquery.fileupload.5.42.1', 'jquery.fileupload-process': 'lib/jquery.fileupload.file-processing.1.3.0', 'jquery.fileupload-validate': 'lib/jquery.fileupload.validation.1.1.2', 'jquery.fileupload-ui': 'lib/jquery.fileupload.ui.9.6.0', simplemodal: 'lib/jquery.simplemodal.1.4.4.min', jstree: 'lib/jstree.1.0', underscore: 'lib/underscore', backbone: 'lib/backbone', text: 'lib/text' } }); define([ 'jquery', 'underscore', 'text', // Workaround for r.js, otherwise text.js will not be included ], function($, _, text) { return { INFO_TIMEOUT: 10000, // 10 secs for info msg SUCCESS_TIMEOUT: 3000, // 3 secs for success msg ERROR_TIMEOUT: 3000, // 3 secs for error msg getUrl: function(options) { var siteRoot = app.config.siteRoot; switch (options.name) { case 'list_lib_dir': return siteRoot + 'ajax/lib/' + options.repo_id + '/dir/'; case 'star_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/star/'; case 'unstar_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/unstar/'; case 'del_dir': return siteRoot + 'ajax/repo/' + options.repo_id + '/dir/delete/'; case 'del_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/delete/'; case 'rename_dir': return siteRoot + 'ajax/repo/' + options.repo_id + '/dir/rename/'; case 'rename_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/rename/'; case 'mv_dir': return siteRoot + 'ajax/repo/' + options.repo_id + '/dir/mv/'; case 'cp_dir': return siteRoot + 'ajax/repo/' + options.repo_id + '/dir/cp/'; case 'mv_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/mv/'; case 'cp_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/cp/'; case 'new_dir': return siteRoot + 'ajax/repo/' + options.repo_id + '/dir/new/'; case 'new_file': return siteRoot + 'ajax/repo/' + options.repo_id + '/file/new/'; case 'del_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/delete/'; case 'mv_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/move/'; case 'cp_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/copy/'; case 'get_file_op_url': return siteRoot + 'ajax/repo/' + options.repo_id + '/file_op_url/'; case 'get_dirents': return siteRoot + 'ajax/repo/' + options.repo_id + '/dirents/'; case 'thumbnail_create': return siteRoot + 'thumbnail/' + options.repo_id + '/create/'; case 'unenc_rw_repos': return siteRoot + 'ajax/unenc-rw-repos/'; case 'get_cp_progress': return siteRoot + 'ajax/cp_progress/'; case 'cancel_cp': return siteRoot + 'ajax/cancel_cp/'; case 'get_shared_link': return ''; case 'get_shared_upload_link': return ''; } }, showConfirm: function(title, content, yesCallback) { var $popup = $("#confirm-popup"); var $cont = $('#confirm-con'); var $container = $('#simplemodal-container'); var $yesBtn = $('#confirm-yes'); $cont.html('
' + content + '
'); $popup.modal({appendTo: '#main'}); $container.css({'height':'auto'}); $yesBtn.click(yesCallback); }, closeModal: function() { $.modal.close(); }, feedback: function(con, type, time) { var time = time || 5000; if ($('.messages')[0]) { $('.messages').html('' + error + '
'); } else { $('.error', popup).removeClass('hide'); } } } }); } }); _this = this; $(document).click(function(e) { _this.closePopup(e, $('#user-info-popup'), $('#my-info')); }); }, fileSizeFormat: function(bytes, precision) { var kilobyte = 1024; var megabyte = kilobyte * 1024; var gigabyte = megabyte * 1024; var terabyte = gigabyte * 1024; var precision = precision || 0; if ((bytes >= 0) && (bytes < kilobyte)) { return bytes + ' B'; } else if ((bytes >= kilobyte) && (bytes < megabyte)) { return (bytes / kilobyte).toFixed(precision) + ' KB'; } else if ((bytes >= megabyte) && (bytes < gigabyte)) { return (bytes / megabyte).toFixed(precision) + ' MB'; } else if ((bytes >= gigabyte) && (bytes < terabyte)) { return (bytes / gigabyte).toFixed(precision) + ' GB'; } else if (bytes >= terabyte) { return (bytes / terabyte).toFixed(precision) + ' TB'; } else { return bytes + ' B'; } } } });