This commit is contained in:
Lars Jung 2016-06-26 14:08:18 +02:00
parent 7320592dc2
commit cfbae4c5d5
3 changed files with 12 additions and 17 deletions

View file

@ -1,4 +1,4 @@
const {each, debounce} = require('../lo'); const {filter, debounce} = require('../lo');
const {dom} = require('../dom'); const {dom} = require('../dom');
const event = require('../core/event'); const event = require('../core/event');
const location = require('../core/location'); const location = require('../core/location');
@ -25,8 +25,7 @@ let $filter;
let $input; let $input;
const filter = pattern => { const filterItems = (pattern = '') => {
pattern = pattern || '';
if (pattern === prevPattern) { if (pattern === prevPattern) {
return; return;
} }
@ -40,26 +39,20 @@ const filter = pattern => {
$filter.addCls('pending'); $filter.addCls('pending');
const re = new RegExp(pattern, settings.ignorecase ? 'i' : ''); const re = new RegExp(pattern, settings.ignorecase ? 'i' : '');
const matchedItems = []; const items = filter(location.getItem().content, item => re.test(item.label));
each(location.getItem().content, item => {
if (re.test(item.label)) {
matchedItems.push(item);
}
});
$filter.rmCls('pending'); $filter.rmCls('pending');
view.setHint('noMatch'); view.setHint('noMatch');
view.setItems(matchedItems); view.setItems(items);
}; };
const update = () => { const update = () => {
if (inputIsVisible) { if (inputIsVisible) {
$filter.addCls('active'); $filter.addCls('active');
$input[0].focus(); $input[0].focus();
filter(util.parsePattern($input.val(), settings.advanced)); filterItems(util.parsePattern($input.val(), settings.advanced));
} else { } else {
filter(); filterItems();
$filter.rmCls('active'); $filter.rmCls('active');
} }
}; };

View file

@ -27,8 +27,7 @@ let $search;
let $input; let $input;
const search = pattern => { const search = (pattern = '') => {
pattern = pattern || '';
if (pattern === prevPattern) { if (pattern === prevPattern) {
return; return;
} }

View file

@ -11,7 +11,10 @@ const settings = Object.assign({
clickndrag: false, clickndrag: false,
checkboxes: false checkboxes: false
}, allsettings.select); }, allsettings.select);
const template = '<span class="selector"><img src="' + resource.image('selected') + '" alt="selected"/></span>'; const selectorTpl =
`<span class="selector">
<img src="${resource.image('selected')}" alt="selected"/>
</span>`;
let x = 0; let x = 0;
let y = 0; let y = 0;
let l = 0; let l = 0;
@ -148,7 +151,7 @@ function onSelectorClick(ev) {
function addCheckbox(item) { function addCheckbox(item) {
if (item.$view && !item.isCurrentParentFolder()) { if (item.$view && !item.isCurrentParentFolder()) {
jq(template) jq(selectorTpl)
.on('click', onSelectorClick) .on('click', onSelectorClick)
.appendTo(item.$view.find('a')); .appendTo(item.$view.find('a'));
} }