1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Cleanup of options computed

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2022-06-27 14:34:38 -04:00
parent 6c8220e140
commit 9a62b4a9ae

View File

@ -60,29 +60,33 @@ export function namespaceSelectFilterModelFor(dependencies: Dependencies): Names
equals: comparer.structural, equals: comparer.structural,
}); });
const optionsSortingSelected = observable.set(selectedNames.get()); const optionsSortingSelected = observable.set(selectedNames.get());
const sortNamespacesByIfTheyAreSelected = (left: string, right: string) => {
const isLeftSelected = optionsSortingSelected.has(left);
const isRightSelected = optionsSortingSelected.has(right);
if (isLeftSelected === isRightSelected) {
return 0;
}
return isLeftSelected
? 1
: -1;
};
const options = computed((): readonly NamespaceSelectFilterOption[] => { const options = computed((): readonly NamespaceSelectFilterOption[] => {
const baseOptions = namespaceStore.items.map(ns => ns.getName());
// const namespaces = selectedNames.get();
baseOptions.sort((
(left, right) =>
+optionsSortingSelected.has(right)
- +optionsSortingSelected.has(left)
));
return [ return [
{ {
value: selectAllNamespaces, value: selectAllNamespaces,
label: "All Namespaces", label: "All Namespaces",
id: "all-namespaces",
// isSelected: false,
}, },
...baseOptions.map(namespace => ({ ...namespaceStore
value: namespace, .items
label: namespace, .map(ns => ns.getName())
id: namespace, .sort(sortNamespacesByIfTheyAreSelected)
// isSelected: namespaces.has(namespace), .map(namespace => ({
})), value: namespace,
label: namespace,
})),
]; ];
}); });
const menuIsOpen = computed(() => menuState.get() === SelectMenuState.Open); const menuIsOpen = computed(() => menuState.get() === SelectMenuState.Open);