stone-kit
Version:
uikit for redesign
47 lines (46 loc) • 1.35 kB
JavaScript
const d = ({
option: e,
setSelectedOptions: y,
selectedOptions: f,
disabledOptions: s,
onChange: c,
mode: S,
optionsParentArr: r
}) => {
if (!Array.isArray(e)) {
if (s.includes(e))
return;
let i = f.some((l) => l.value === e.value) ? f.filter((l) => l.value !== e.value) : [...f, e];
if (S === "double") {
"options" in e && (f.map((t) => JSON.stringify(t)).includes(JSON.stringify(e)) ? i = i.filter((t) => !e.options.map((a) => JSON.stringify(a)).includes(JSON.stringify(t))) : Array.isArray(e.options) && (i = [...i, ...e.options]));
const l = r == null ? void 0 : r.filter((u) => "options" in u && u.options.includes(e))[0];
!(l && f.map((u) => JSON.stringify(u)).includes(JSON.stringify(l))) && l && i.push(l);
}
y(i), c && c(i);
}
}, m = ({
option: e,
setSelectedOptions: y,
selectedOptions: f,
disabledOptions: s,
onChange: c
}) => {
if (Array.isArray(e)) {
const S = e.filter((r) => !(s != null && s.includes(r)));
if (S.every((r) => f.map((i) => i).includes(r))) {
const r = f.filter(
(i) => !e.includes(i)
);
y(r), c && c(r);
} else {
const r = S.filter(
(l) => !f.includes(l)
), i = [...f, ...r];
y(i), c && c(i);
}
}
};
export {
m as handleClickModeCategory,
d as handleClickModeOption
};