diff --git a/www/common/cryptpad-common.js b/www/common/cryptpad-common.js index 65c7a7fa1..cc9ef37c7 100644 --- a/www/common/cryptpad-common.js +++ b/www/common/cryptpad-common.js @@ -197,6 +197,16 @@ define([ return hexArray.join(""); }; + var deduplicate = common.deduplicateString = function (array) { + var a = array.slice(); + for(var i=0; i').text(JSON.stringify(r)).appendTo($list); + }); + }; + // Display the selected directory into the content part (rightside) // NOTE: Elements in the trash are not using the same storage structure as the others // _WORKGROUP_ : do not change the lastOpenedFolder value in localStorage @@ -1443,9 +1451,10 @@ define([ var isUnsorted = filesOp.comparePath(path, [UNSORTED]); var isTemplate = filesOp.comparePath(path, [TEMPLATE]); var isAllFiles = filesOp.comparePath(path, [FILES_DATA]); + var isSearch = path[0] === SEARCH; - var root = filesOp.findElement(files, path); - if (typeof(root) === "undefined") { + var root = isSearch ? undefined : filesOp.findElement(files, path); + if (!isSearch && typeof(root) === "undefined") { log(Messages.fm_unknownFolderError); debug("Unable to locate the selected directory: ", path); var parentPath = path.slice(); @@ -1518,6 +1527,8 @@ define([ displayAllFiles($list); } else if (isTrashRoot) { displayTrashRoot($list, $folderHeader, $fileHeader); + } else if (isSearch) { + displaySearch($list, path[1]); } else { $dirContent.contextmenu(openContentContextMenu); if (filesOp.hasSubfolder(root)) { $list.append($folderHeader); } @@ -1682,8 +1693,22 @@ define([ $container.append($trashList); }; + var createSearch = function ($container) { + var $input = $('', { + type: 'text', + placeholder: 'Search...' + }).keyup(function (e) { + if (e.which === 13) { + var val = $(this).val(); + displayDirectory([SEARCH, val]); + } + }); + $container.append($input); + }; + var resetTree = module.resetTree = function () { $tree.html(''); + if (displayedCategories.indexOf(SEARCH) !== -1) { createSearch($tree); } if (displayedCategories.indexOf(ROOT) !== -1) { createTree($tree, [ROOT]); } if (displayedCategories.indexOf(UNSORTED) !== -1) { createUnsorted($tree, [UNSORTED]); } if (displayedCategories.indexOf(TEMPLATE) !== -1) { createTemplate($tree, [TEMPLATE]); }