Fix clearing insights filters

pull/9581/head
Albert Ford 2021-08-13 20:27:14 -07:00
parent 44fd283b88
commit 9f9be884b6
No known key found for this signature in database
GPG Key ID: 9C200032321A04A3
1 changed files with 17 additions and 19 deletions

View File

@ -1,4 +1,4 @@
import { h, VNode } from 'snabbdom';
import { h } from 'snabbdom';
import Ctrl from './ctrl';
import { Dimension } from './interfaces';
@ -6,28 +6,26 @@ function select(ctrl: Ctrl) {
return function (dimension: Dimension) {
if (dimension.key === 'date') return;
const single = dimension.key === 'period';
function multipleSelect(vnode: VNode) {
$(vnode.elm).multipleSelect({
placeholder: dimension.name,
width: '100%',
selectAll: false,
filter: dimension.key === 'opening',
single: single,
minimumCountSelected: 10,
onClick: function (view) {
const values = single ? [view.value] : $(vnode.elm).multipleSelect('getSelects');
ctrl.setFilter(dimension.key, values);
},
});
}
return h(
'select',
{
attrs: { multiple: true },
hook: {
insert: multipleSelect,
update: (_oldVnode, vnode) => {
if (!ctrl.vm.filters[dimension.key]) multipleSelect(vnode);
insert: vnode =>
$(vnode.elm).multipleSelect({
placeholder: dimension.name,
width: '100%',
selectAll: false,
filter: dimension.key === 'opening',
single: single,
minimumCountSelected: 10,
onClick: function (view) {
const values = single ? [view.value] : $(vnode.elm).multipleSelect('getSelects');
ctrl.setFilter(dimension.key, values);
},
}),
postpatch: (_oldVnode, vnode) => {
if (Object.keys(ctrl.vm.filters).length === 0) $(vnode.elm).multipleSelect('uncheckAll');
},
},
},
@ -38,7 +36,7 @@ function select(ctrl: Ctrl) {
{
attrs: {
value: value.key,
selected: selected && selected.includes(value.key),
selected: !!selected && selected.includes(value.key),
},
},
value.name