/** * @class de_epages.mediagallery.filemanager * */ /* * @copyright © Copyright 2006-2012, epages GmbH, All Rights Reserved. * * @module de_epages.mediagallery.ui.filemanager * * @revision $Revision: 1.18 $ */ /*global define*/ define("de_epages/mediagallery/filemanager", [ "jquery", "de_epages/mediagallery/filemanager/main-view" ], function ($, MainView) { "use strict"; // defaults var defaults = { //syncLogo element: $("#fileManager"), // element which contains the file manager accept: "*/*", // a string of MIME types and/or MIME type groups which will be accepted by the uploader selectable: "image/", // a string of MIME types and/or MIME type groups which can be selected currentFolder: "MediaGallery", // root node of the opened folder maxRender: 10, // number of list elements that will be initially rendered and added by scrolling downwards multiSelect: false, // allow to select one or several files showMediaGallery: 1, // show or hide the MediaGallery directory showHeaderImages: 1, // show or hide the HeaderImages directory showBackgroundImages: 1, // show or hide the BackgroundImages directory showImageDB: 1 // show or hide the ImageDB directory }, module = { /** * Create an user interface to manage your files. * * The `.de_epages.mediagallery.filemanager.init()` method creates an user interface which manages the organisation of your files. * In addition to that you can choose images from the image database or add, rename and delete files or directories. The file manager is a backbone app. * For embbeding it into a page please use the `.mediagalleryUiFilemanager()` method because it offers you the advantages of a widget. * * ### Examples * Apply .de_epages.mediagallery.filemanager() method to an element and open the header images tab by default. * * JavaScript: * * de_epages.mediagallery.filemanager.init({ * element: $("#filemanager"), * selectable: "image/", * currentFolder: "HeaderImages" * }); * * HTML: * * <div id="filemanager"></div> * * * ### Dependencies * * + `backbone` * + `jQuery.ui.widget` * + `jQuery.tmpl` * + `jQuery.lazyload` * + `jQuery.ui.selectable` * + `jQuery.jstree` * + `jQuery.jstree.themes` * + `jQuery.jstree.json_data` * + `ep.dict` * + `ep.ui.tooltip` * + `de_epages` * + `de_epages.mediagallery.ui.memoryusage de_epages.presentation.ui.uploader` * * @param {Object} [options] A map of additional options pass to the method. * @param {String} [options.accept] A string of MIME types and/or MIME type groups which will be accepted by the uploader. * @param {String} [options.currentFolder] A string containing the navigation element which will be opened by default. Possibilities: MediaGallery, HeaderImages, BackgroundImages, ImageDB * @param {jQuery} [options.element] A jQuery Object containing the DOM node which will contain the file manager. * @param {String} [options.selectable] A string of MIME types and/or MIME type groups which can be selected. * @param {Number} [options.maxRender] A number of list elements that will be initially rendered and added by scrolling downwards. * @param {Number} [options.showMediaGallery] Show or hide the MediaGallery directory. * @param {Number} [options.showHeaderImages] Show or hide the HeaderImages directory. * @param {Number} [options.showBackgroundImages] Show or hide the BackgroundImages directory. * @param {Number} [options.showImageDB] Show or hide the ImageDB directory. * @param {Boolean} [options.multiSelect] Allow to select one or several files. * * @method init * @static * @member de_epages.mediagallery.filemanager * * @since 6.15.0 */ init: function (options) { var myOptions = $.extend(true, {}, defaults, options), filemanager = new MainView(myOptions); return filemanager; } }; return module; });