Clean the code to be less dependant on 'li'
parent
c6c3e1bbb5
commit
55210f17eb
|
@ -236,6 +236,10 @@ define([
|
|||
}
|
||||
};
|
||||
|
||||
var findDataHolder = function ($el) {
|
||||
return $el.is('.element-row') ? $el : $el.closest('.element-row');
|
||||
};
|
||||
|
||||
var removeSelected = function () {
|
||||
$iframe.find('.selected').removeClass("selected");
|
||||
var $container = $driveToolbar.find('#contextButtonsContainer');
|
||||
|
@ -243,8 +247,6 @@ define([
|
|||
$container.html('');
|
||||
};
|
||||
var removeInput = function () {
|
||||
$iframe.find('li > span:hidden').removeAttr('style');
|
||||
$iframe.find('li > input').remove();
|
||||
$iframe.find('.element-row > input').remove();
|
||||
$iframe.find('.element-row > span:hidden').removeAttr('style');
|
||||
};
|
||||
|
@ -376,7 +378,7 @@ define([
|
|||
var updateContextButton = function () {
|
||||
var $li = $content.find('.selected');
|
||||
if ($li.length !== 1) {
|
||||
$li = $tree.find('.element.active').closest('li');
|
||||
$li = findDataHolder($tree.find('.element.active'));
|
||||
}
|
||||
var $button = $driveToolbar.find('#contextButton');
|
||||
if ($button.length) { // mobile
|
||||
|
@ -437,10 +439,7 @@ define([
|
|||
if (!e || !e.ctrlKey) {
|
||||
removeSelected();
|
||||
}
|
||||
if (!$element.is('li')) {
|
||||
$element = $element.closest('li');
|
||||
}
|
||||
if ($element.find('>.element-row').length) { $element = $element.find('>.element-row'); }
|
||||
$element = findDataHolder($element);
|
||||
if (!$element.length) {
|
||||
log(Messages.fm_selectError);
|
||||
return;
|
||||
|
@ -459,8 +458,7 @@ define([
|
|||
module.hideMenu();
|
||||
e.stopPropagation();
|
||||
|
||||
var $element = $(e.target).closest('li');
|
||||
if ($element.find('>.element-row').length) { $element = $element.find('>.element-row'); }
|
||||
var $element = findDataHolder($(e.target));
|
||||
if (!$element.length) {
|
||||
logError("Unable to locate the .element tag", e.target);
|
||||
$menu.hide();
|
||||
|
@ -514,7 +512,7 @@ define([
|
|||
};
|
||||
|
||||
var openTrashContextMenu = function (e) {
|
||||
var path = $(e.target).closest('li').data('path');
|
||||
var path = findDataHolder($(e.target)).data('path');
|
||||
if (!path) { return; }
|
||||
$trashContextMenu.find('li').show();
|
||||
openContextMenu(e, $trashContextMenu);
|
||||
|
@ -608,8 +606,7 @@ define([
|
|||
// The data transferred is a stringified JSON containing the path of the dragged element
|
||||
var onDrag = function (ev, path) {
|
||||
var paths = [];
|
||||
var $element = $(ev.target).closest('li');
|
||||
if ($element.find('>.element-row').length) { $element = $element.find('>.element-row'); }
|
||||
var $element = findDataHolder($(ev.target));
|
||||
if ($element.hasClass('selected')) {
|
||||
var $selected = $iframe.find('.selected');
|
||||
$selected.each(function (idx, elmt) {
|
||||
|
@ -665,7 +662,8 @@ define([
|
|||
}
|
||||
});
|
||||
|
||||
var newPath = $(ev.target).data('path') || $(ev.target).parent('.element-row').data('path') || $(ev.target).parent('li').data('path');
|
||||
var $el = findDataHolder($(ev.target));
|
||||
var newPath = $el.data('path');
|
||||
if (!newPath) { return; }
|
||||
if (movedPaths && movedPaths.length) {
|
||||
moveElements(movedPaths, newPath, null, refresh);
|
||||
|
@ -796,7 +794,8 @@ define([
|
|||
$icon = filesOp.isFolderEmpty(root[key]) ? $folderEmptyIcon.clone() : $folderIcon.clone();
|
||||
}
|
||||
var $element = $('<li>', {
|
||||
draggable: true
|
||||
draggable: true,
|
||||
'class': 'element-row'
|
||||
});
|
||||
if (isFolder) {
|
||||
addFolderData(element, key, $element);
|
||||
|
@ -1261,7 +1260,7 @@ define([
|
|||
var idx = files[rootName].indexOf(href);
|
||||
var $icon = getFileIcon(href);
|
||||
var $element = $('<li>', {
|
||||
'class': 'file-element element',
|
||||
'class': 'file-element element element-row',
|
||||
draggable: draggable
|
||||
});
|
||||
addFileData(href, file.title, $element, false);
|
||||
|
@ -1293,7 +1292,7 @@ define([
|
|||
var sortedFiles = sortElements(false, [FILES_DATA], keys, Cryptpad.getLSAttribute(SORT_FILE_BY), !getSortFileDesc(), false, true);
|
||||
sortedFiles.forEach(function (file) {
|
||||
var $icon = getFileIcon(file.href);
|
||||
var $element = $('<li>', { 'class': 'file-element element' });
|
||||
var $element = $('<li>', { 'class': 'file-element element element-row' });
|
||||
addFileData(file.href, file.title, $element, false);
|
||||
$element.data('path', [FILES_DATA, allfiles.indexOf(file)]);
|
||||
$element.data('element', file.href);
|
||||
|
@ -1415,7 +1414,7 @@ define([
|
|||
e.stopPropagation();
|
||||
var $li = $content.find('.selected');
|
||||
if ($li.length !== 1) {
|
||||
$li = $tree.find('.element.active').closest('li');
|
||||
$li = findDataHolder($tree.find('.element.active'));
|
||||
}
|
||||
// Close if already opened
|
||||
if ($iframe.find('.contextMenu:visible').length) {
|
||||
|
@ -1474,7 +1473,7 @@ define([
|
|||
};
|
||||
|
||||
var refreshFilesData = function () {
|
||||
$content.find('li').each(function (i, e) {
|
||||
$content.find('.element-row').each(function (i, e) {
|
||||
var $el = $(e);
|
||||
if ($el.data('path')) {
|
||||
var path = $el.data('path');
|
||||
|
|
Loading…
Reference in New Issue