Skip to content

Commit a98891d

Browse files
committed
frontend: component: Add helm secrets filter switch
1 parent 61c1d2d commit a98891d

File tree

14 files changed

+86
-1
lines changed

14 files changed

+86
-1
lines changed

frontend/src/components/secret/List.tsx

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,59 @@
1414
* limitations under the License.
1515
*/
1616

17+
import { FormControlLabel, Switch } from '@mui/material';
18+
import { useState } from 'react';
1719
import { useTranslation } from 'react-i18next';
1820
import Secret from '../../lib/k8s/secret';
21+
import { CreateResourceButton } from '../common';
1922
import ResourceListView from '../common/Resource/ResourceListView';
2023

2124
export default function SecretList() {
25+
const SECRET_LIST_HELM_SECRET_HIDE_STORAGE_KEY = 'SECRET_LIST_HELM_SECRET_HIDE_STORAGE_KEY';
26+
const SECRET_LIST_HELM_SECRET_HIDE_DEFAULT = true;
2227
const { t } = useTranslation(['glossary', 'translation']);
28+
const [hideHelm, setHideHelm] = useState(
29+
Boolean(
30+
localStorage.getItem(SECRET_LIST_HELM_SECRET_HIDE_STORAGE_KEY) ||
31+
SECRET_LIST_HELM_SECRET_HIDE_DEFAULT
32+
)
33+
);
34+
35+
const [secrets, error] = Secret.useList();
36+
37+
const filteredSecrets =
38+
hideHelm && secrets ? secrets.filter(secret => secret.type !== 'helm.sh/release.v1') : secrets;
2339

2440
return (
2541
<ResourceListView
2642
title={t('Secrets')}
27-
resourceClass={Secret}
43+
data={filteredSecrets}
44+
errorMessage={Secret.getErrorMessage(error)}
45+
headerProps={{
46+
noNamespaceFilter: false,
47+
titleSideActions: [
48+
<CreateResourceButton key="create-button" resourceClass={Secret} />,
49+
<FormControlLabel
50+
key="helm-switch"
51+
checked={hideHelm}
52+
control={
53+
<Switch
54+
checked={hideHelm}
55+
onChange={(e, checked) => {
56+
localStorage.setItem(
57+
SECRET_LIST_HELM_SECRET_HIDE_STORAGE_KEY,
58+
checked.toString()
59+
);
60+
setHideHelm(checked);
61+
}}
62+
color="primary"
63+
/>
64+
}
65+
label={t('translation|Hide Helm Secrets')}
66+
sx={{ marginLeft: '0.5rem' }}
67+
/>,
68+
],
69+
}}
2870
columns={[
2971
'name',
3072
'namespace',

frontend/src/components/secret/__snapshots__/List.Items.stories.storyshot

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,37 @@
3131
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
3232
/>
3333
</button>
34+
<label
35+
class="MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-b28cjl-MuiFormControlLabel-root"
36+
>
37+
<span
38+
class="MuiSwitch-root MuiSwitch-sizeMedium css-julti5-MuiSwitch-root"
39+
>
40+
<span
41+
class="MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked Mui-checked css-1emuodk-MuiButtonBase-root-MuiSwitch-switchBase"
42+
>
43+
<input
44+
checked=""
45+
class="PrivateSwitchBase-input MuiSwitch-input css-1m9pwf3"
46+
type="checkbox"
47+
/>
48+
<span
49+
class="MuiSwitch-thumb css-jsexje-MuiSwitch-thumb"
50+
/>
51+
<span
52+
class="MuiTouchRipple-root css-8je8zh-MuiTouchRipple-root"
53+
/>
54+
</span>
55+
<span
56+
class="MuiSwitch-track css-1yjjitx-MuiSwitch-track"
57+
/>
58+
</span>
59+
<span
60+
class="MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1ezega9-MuiTypography-root"
61+
>
62+
Hide Helm Secrets
63+
</span>
64+
</label>
3465
</div>
3566
</div>
3667
</div>

frontend/src/i18n/locales/de/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,7 @@
685685
"Users": "Benutzer",
686686
"Handler": "Handler",
687687
"No data in this secret": "Keine Daten in dieser Secret",
688+
"Hide Helm Secrets": "",
688689
"Shrink sidebar": "Seitenleiste verkleinern",
689690
"Expand sidebar": "Seitenleiste erweitern",
690691
"Main Navigation": "Hauptnavigation",

frontend/src/i18n/locales/en/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,7 @@
685685
"Users": "Users",
686686
"Handler": "Handler",
687687
"No data in this secret": "No data in this secret",
688+
"Hide Helm Secrets": "Hide Helm Secrets",
688689
"Shrink sidebar": "Shrink sidebar",
689690
"Expand sidebar": "Expand sidebar",
690691
"Main Navigation": "Main Navigation",

frontend/src/i18n/locales/es/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,7 @@
689689
"Users": "Usuarios",
690690
"Handler": "Manejador",
691691
"No data in this secret": "Sin datos en este secret",
692+
"Hide Helm Secrets": "",
692693
"Shrink sidebar": "Reducir barra lateral",
693694
"Expand sidebar": "Expandir barra lateral",
694695
"Main Navigation": "Navegación principal",

frontend/src/i18n/locales/fr/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,7 @@
689689
"Users": "Utilisateurs",
690690
"Handler": "Gestionnaire",
691691
"No data in this secret": "Aucune donnée pour cette secret",
692+
"Hide Helm Secrets": "",
692693
"Shrink sidebar": "Réduire la barre latérale",
693694
"Expand sidebar": "Développer la barre latérale",
694695
"Main Navigation": "Navigation principale",

frontend/src/i18n/locales/hi/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,7 @@
685685
"Users": "उपयोगकर्ता",
686686
"Handler": "",
687687
"No data in this secret": "",
688+
"Hide Helm Secrets": "",
688689
"Shrink sidebar": "साइडबार संकुचित करें",
689690
"Expand sidebar": "साइडबार विस्तृत करें",
690691
"Main Navigation": "मुख्य नेविगेशन",

frontend/src/i18n/locales/it/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,7 @@
689689
"Users": "Utenti",
690690
"Handler": "Gestore",
691691
"No data in this secret": "Nessun dato in questo segreto",
692+
"Hide Helm Secrets": "",
692693
"Shrink sidebar": "Comprimi barra laterale",
693694
"Expand sidebar": "Espandi barra laterale",
694695
"Main Navigation": "Navigazione Principale",

frontend/src/i18n/locales/ja/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,7 @@
681681
"Users": "ユーザー",
682682
"Handler": "ハンドラー",
683683
"No data in this secret": "このシークレットにデータがありません",
684+
"Hide Helm Secrets": "",
684685
"Shrink sidebar": "サイドバーを縮小",
685686
"Expand sidebar": "サイドバーを展開",
686687
"Main Navigation": "メインナビゲーション",

frontend/src/i18n/locales/ko/translation.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,7 @@
681681
"Users": "Users",
682682
"Handler": "Handler",
683683
"No data in this secret": "이 비밀에 데이터가 없습니다",
684+
"Hide Helm Secrets": "",
684685
"Shrink sidebar": "사이드바 축소",
685686
"Expand sidebar": "사이드바 확장",
686687
"Main Navigation": "메인 탐색",

0 commit comments

Comments
 (0)