Commit baeb2802 authored by Joel Hockey's avatar Joel Hockey Committed by Commit Bot

FilesApp: enter check select mode for select-all files

Currently we only enter check select mode if 2 or more files are
selected as part of select-all.  This is now changed so that
we always enter check select mode even if only a single file
is selected.

Bug: 903253
Change-Id: I15d05ea19570d7c83cfd77f20afa1370301b8b2a
Reviewed-on: https://chromium-review.googlesource.com/c/1343586
Commit-Queue: Joel Hockey <joelhockey@chromium.org>
Reviewed-by: default avatarStuart Langley <slangley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609630}
parent 582374a8
......@@ -774,6 +774,7 @@ CommandHandler.COMMANDS_['select-all'] = /** @type {Command} */ ({
* @param {!CommandHandlerDeps} fileManager CommandHandlerDeps to use.
*/
execute: function(event, fileManager) {
fileManager.directoryModel.getFileListSelection().setCheckSelectMode(true);
fileManager.directoryModel.getFileListSelection().selectAll();
},
/**
......
......@@ -460,6 +460,7 @@ filelist.handleKeyDown = function(e) {
// Ctrl/Meta+A
if (sm.multiple && e.keyCode == 65 &&
(cr.isMac && e.metaKey || !cr.isMac && e.ctrlKey)) {
sm.setCheckSelectMode(true);
sm.selectAll();
e.preventDefault();
return;
......
......@@ -48,3 +48,56 @@ checkselect.testCancelCheckSelectModeAfterAction = (done) => {
done();
});
};
checkselect.testCheckSelectModeAfterSelectAllOneFile = (done) => {
const gearMenu = document.querySelector('#gear-menu');
const cancel = document.querySelector('#cancel-selection-button-wrapper');
const selectAll =
'#gear-menu:not([hidden]) #gear-menu-select-all:not([hidden])';
// Load a single file.
test.setupAndWaitUntilReady([test.ENTRIES.hello])
.then(() => {
// Click gear menu, ensure 'Select all' is shown.
assertTrue(test.fakeMouseClick('#gear-button'));
return test.waitForElement(selectAll);
})
.then(result => {
// Click 'Select all', gear menu now replaced with file context menu.
assertTrue(test.fakeMouseClick('#gear-menu-select-all'));
return test.repeatUntil(() => {
return getComputedStyle(gearMenu).opacity == 0 &&
getComputedStyle(cancel).display == 'block' ||
test.pending('waiting for check select mode');
});
})
.then(result => {
// Cancel selection, ensure no items selected.
assertTrue(test.fakeMouseClick('#cancel-selection-button'));
return test.repeatUntil(() => {
return document.querySelectorAll('#file-list li[selected]').length ==
0 ||
test.pending('waiting for no files selected');
});
})
.then(result => {
// 'Ctrl+a' to select all.
assertTrue(test.fakeKeyDown('#file-list', 'a', true, false, false));
return test.repeatUntil(() => {
return getComputedStyle(cancel).display == 'block' ||
test.pending('waiting for check select mode');
});
})
.then(result => {
// Cancel selection, ensure no items selected.
assertTrue(test.fakeMouseClick('#cancel-selection-button'));
return test.repeatUntil(() => {
return document.querySelectorAll('#file-list li[selected]').length ==
0 ||
test.pending('waiting for no files selected');
});
})
.then(result => {
done();
});
};
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment