Skip to content

Commit

Permalink
feat: new drawer for preview configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
devcatalin committed Feb 17, 2022
1 parent 8e8bbed commit fe897ec
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 3 deletions.
21 changes: 20 additions & 1 deletion src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ import {useAppSelector} from '@redux/hooks';
import {setAlert} from '@redux/reducers/alert';
import {setCreateProject, setLoadingProject, setOpenProject} from '@redux/reducers/appConfig';
import {closePluginsDrawer} from '@redux/reducers/extension';
import {closeFolderExplorer, toggleNotifications, toggleSettings} from '@redux/reducers/ui';
import {
closeFolderExplorer,
closePreviewConfigurationEditor,
toggleNotifications,
toggleSettings,
} from '@redux/reducers/ui';
import {isInClusterModeSelector, kubeConfigContextSelector, kubeConfigPathSelector} from '@redux/selectors';
import {loadContexts} from '@redux/thunks/loadKubeConfig';

Expand Down Expand Up @@ -53,6 +58,7 @@ const SaveResourceToFileFolderModal = React.lazy(() => import('@molecules/SaveRe
const SettingsManager = React.lazy(() => import('@organisms/SettingsManager'));
const StartupModal = React.lazy(() => import('@organisms/StartupModal'));
const UpdateModal = React.lazy(() => import('@organisms/UpdateModal'));
const PreviewConfigurationEditor = React.lazy(() => import('@components/organisms/PreviewConfigurationEditor'));

const AppContainer = styled.div`
height: 100%;
Expand All @@ -72,6 +78,7 @@ const App = () => {
const dispatch = useDispatch();
const isChangeFiltersConfirmModalVisible = useAppSelector(state => state.main.filtersToBeChanged);
const isClusterDiffModalVisible = useAppSelector(state => state.ui.isClusterDiffVisible);
const isPreviewConfigurationEditorOpen = useAppSelector(state => state.ui.isPreviewConfigurationEditorOpen);
const isClusterSelectorVisible = useAppSelector(state => state.config.isClusterSelectorVisible);
const isCreateFolderModalVisible = useAppSelector(state => state.ui.createFolderModal.isOpen);
const isCreateProjectModalVisible = useAppSelector(state => state.ui.createProjectModal.isOpen);
Expand Down Expand Up @@ -239,6 +246,10 @@ const App = () => {
dispatch(toggleSettings());
};

const previewConfigurationDrawerOnClose = () => {
dispatch(closePreviewConfigurationEditor());
};

return (
<AppContext.Provider value={{windowSize: size}}>
<AppContainer>
Expand Down Expand Up @@ -268,6 +279,14 @@ const App = () => {
<SettingsManager />
</LazyDrawer>

<LazyDrawer
onClose={previewConfigurationDrawerOnClose}
title="Preview Configuration"
visible={isPreviewConfigurationEditorOpen}
>
<PreviewConfigurationEditor />
</LazyDrawer>

<Suspense fallback={null}>
{isChangeFiltersConfirmModalVisible && <ChangeFiltersConfirmModal />}
{isClusterDiffModalVisible && <ClusterDiffModal />}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const PreviewConfigurationEditor = () => {
return <div />;
};

export default PreviewConfigurationEditor;
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default} from './PreviewConfigurationEditor';
1 change: 1 addition & 0 deletions src/models/ui.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ export type UiState = {
isSettingsOpen: boolean;
isClusterDiffVisible: boolean;
isNotificationsOpen: boolean;
isPreviewConfigurationEditorOpen: boolean;
newResourceWizard: {
isOpen: boolean;
defaultInput?: NewResourceWizardInput;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import styled from 'styled-components';

import {SectionCustomComponentProps} from '@models/navigator';

import {useAppSelector} from '@redux/hooks';
import {useAppDispatch, useAppSelector} from '@redux/hooks';
import {openPreviewConfigurationEditor} from '@redux/reducers/ui';

import Colors from '@styles/Colors';

Expand All @@ -31,14 +32,20 @@ const PreviewConfigurationNameSuffix: React.FC<SectionCustomComponentProps> = pr
const {sectionInstance} = props;
const isSectionCollapsed = useAppSelector(state => state.navigator.collapsedSectionIds.includes(sectionInstance.id));

const dispatch = useAppDispatch();

const onClick = () => {
dispatch(openPreviewConfigurationEditor());
};

return (
<SuffixContainer>
<ButtonContainer>
<Tooltip title="Create a new Preview Configuration">
<Button
icon={<PlusOutlined />}
type="link"
onClick={() => {}}
onClick={onClick}
size="small"
style={{color: sectionInstance.isSelected && isSectionCollapsed ? Colors.blackPure : undefined}}
/>
Expand Down
1 change: 1 addition & 0 deletions src/redux/initialState.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ const initialUiState: UiState = {
isClusterDiffVisible: false,
isNotificationsOpen: false,
isFolderLoading: false,
isPreviewConfigurationEditorOpen: false,
quickSearchActionsPopup: {
isOpen: false,
},
Expand Down
8 changes: 8 additions & 0 deletions src/redux/reducers/ui.ts
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,12 @@ export const uiSlice = createSlice({
state.highlightedItems.browseTemplates = action.payload === HighlightItems.BROWSE_TEMPLATES;
state.highlightedItems.connectToCluster = action.payload === HighlightItems.CONNECT_TO_CLUSTER;
},
openPreviewConfigurationEditor: (state: Draft<UiState>) => {
state.isPreviewConfigurationEditorOpen = true;
},
closePreviewConfigurationEditor: (state: Draft<UiState>) => {
state.isPreviewConfigurationEditorOpen = false;
},
},
extraReducers: builder => {
builder
Expand Down Expand Up @@ -288,5 +294,7 @@ export const {
closeSaveResourcesToFileFolderModal,
zoomIn,
zoomOut,
openPreviewConfigurationEditor,
closePreviewConfigurationEditor,
} = uiSlice.actions;
export default uiSlice.reducer;

0 comments on commit fe897ec

Please sign in to comment.