mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 18:55:26 +00:00
52 lines
1.2 KiB
JavaScript
52 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
/* global DOM */
|
|
|
|
let SelectType = '*.*';
|
|
const TITLE = 'Cloud Commander';
|
|
|
|
const {getRegExp} = require('../../common/util');
|
|
|
|
module.exports = (msg, files) => {
|
|
const allMsg = `Specify file type for ${msg} selection`;
|
|
const cancel = false;
|
|
const {Dialog} = DOM;
|
|
|
|
Dialog.prompt(TITLE, allMsg, SelectType, {cancel}).then((type) => {
|
|
SelectType = type;
|
|
|
|
const regExp = getRegExp(type);
|
|
|
|
if (!files)
|
|
return;
|
|
|
|
let matches = 0;
|
|
|
|
files.forEach((current) => {
|
|
const name = DOM.getCurrentName(current);
|
|
|
|
if (name === '..')
|
|
return;
|
|
|
|
const isMatch = regExp.test(name);
|
|
|
|
if (!isMatch)
|
|
return;
|
|
|
|
++matches;
|
|
|
|
let isSelected = DOM.isSelected(current);
|
|
const shouldSel = msg === 'expand';
|
|
|
|
if (shouldSel)
|
|
isSelected = !isSelected;
|
|
|
|
if (isSelected)
|
|
DOM.toggleSelectedFile(current);
|
|
});
|
|
|
|
if (!matches)
|
|
Dialog.alert('Select Files', 'No matches found!');
|
|
});
|
|
};
|
|
|