namespace.getName(),
- [columnId.labels]: namespace => namespace.getLabels(),
- [columnId.age]: namespace => -namespace.getCreationTimestamp(),
- [columnId.status]: namespace => namespace.getStatus(),
- }}
- searchFilters={[
- namespace => namespace.getSearchFields(),
- namespace => namespace.getStatus(),
- ]}
- renderHeaderTitle="Namespaces"
- renderTableHeader={[
- { title: "Name", className: "name", sortBy: columnId.name, id: columnId.name },
- { className: "warning", showWithColumn: columnId.name },
- { title: "Labels", className: "labels scrollable", sortBy: columnId.labels, id: columnId.labels },
- { title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
- { title: "Status", className: "status", sortBy: columnId.status, id: columnId.status },
- ]}
- renderTableContents={namespace => [
+const NonInjectedNamespacesRoute = ({ namespaceStore, openAddNamespaceDialog, openConfirmDialog }: Dependencies) => {
+ function onConfirm() {
+ namespaceStore.removeSelectedItems();
+ }
+
+ function openRemoveNamespaceDialog() {
+ const namespaces = namespaceStore.selectedItems;
+ const message = (
+
<>
- {namespace.getName()}
- {namespace.isSubnamespace() && (
-
- )}
- >,
- ,
- namespace.getLabels().map(label => (
-
+ {namespaces.map(namespace => (
+ {namespace.getName()}
+ ))}
+
+ >
+
+ );
+
+ openConfirmDialog({
+ ok: onConfirm,
+ labelOk: "Remove",
+ message,
+ });
+ }
+
+ return (
+
+ namespace.getName(),
+ [columnId.labels]: namespace => namespace.getLabels(),
+ [columnId.age]: namespace => -namespace.getCreationTimestamp(),
+ [columnId.status]: namespace => namespace.getStatus(),
+ }}
+ searchFilters={[
+ namespace => namespace.getSearchFields(),
+ namespace => namespace.getStatus(),
+ ]}
+ renderHeaderTitle="Namespaces"
+ renderTableHeader={[
+ { title: "Name", className: "name", sortBy: columnId.name, id: columnId.name },
+ { className: "warning", showWithColumn: columnId.name },
+ { title: "Labels", className: "labels scrollable", sortBy: columnId.labels, id: columnId.labels },
+ { title: "Age", className: "age", sortBy: columnId.age, id: columnId.age },
+ { title: "Status", className: "status", sortBy: columnId.status, id: columnId.status },
+ ]}
+ renderTableContents={namespace => [
+ <>
+ {namespace.getName()}
+ {namespace.isSubnamespace() && (
+
+ )}
+ >,
+ ,
+ namespace.getLabels().map(label => (
+
+ )),
+ ,
+ { title: namespace.getStatus(), className: namespace.getStatus().toLowerCase() },
+ ]}
+ addRemoveButtons={{
+ addTooltip: "Add Namespace",
+ onAdd: openAddNamespaceDialog,
+ onRemove: openRemoveNamespaceDialog,
+ }}
+ renderItemMenu={namespace => (
+
- )),
- ,
- { title: namespace.getStatus(), className: namespace.getStatus().toLowerCase() },
- ]}
- addRemoveButtons={{
- addTooltip: "Add Namespace",
- onAdd: openAddNamespaceDialog,
- onRemove: () => {
- namespaceStore.selectedItems.forEach(namespace => namespaceStore.remove(namespace));
- },
- }}
- renderItemMenu={namespace => (
-
- )}
- />
-
-
-);
+ )}
+ />
+
+