Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove full reload of Preview (v4) #12534

Merged
merged 48 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
454ea60
Invalidate queries of Preview instead of reloading it
mlqn Mar 18, 2024
eaf6c7f
Revert v3 changes
mlqn Mar 19, 2024
f611d76
Refactor invalidate/refetch functions
mlqn Mar 19, 2024
7ab33e2
Move refetch to mutations
mlqn Mar 19, 2024
909d388
Remove store & reducers
mlqn Mar 19, 2024
26bed0f
Remove layout from storage
mlqn Mar 20, 2024
dfc6526
New hook to handle selectedLayoutSetName
mlqn Mar 20, 2024
0ad0261
Cleanup imports
mlqn Mar 20, 2024
d29edcd
Refactoring
mlqn Mar 20, 2024
97b768e
Cleanup useSelectedFormLayoutSetName hook
mlqn Mar 20, 2024
030e608
Remove warning
mlqn Mar 20, 2024
de07d8b
Revert changes of useSelectedFormLayoutSetName
mlqn Mar 21, 2024
6d9cbdd
Merge remote-tracking branch 'origin/main' into 12517-remove-full-rel…
mlqn Mar 21, 2024
0c80fd2
Fix preview when updating layout name
mlqn Mar 21, 2024
967b85f
Remove redux
mlqn Mar 21, 2024
1073033
Refactor preview path
mlqn Mar 21, 2024
a11b1c9
Fix tests
mlqn Mar 21, 2024
ba4a446
Remove applicationMetadataSagas
mlqn Mar 21, 2024
bc21c19
Fix unit tests
mlqn Mar 21, 2024
515a075
Merge branch 'main' into 12517-remove-full-reload-of-preview
mlqn Mar 21, 2024
0822303
Fix tests
mlqn Mar 24, 2024
4ee30d5
Merge branch 'main' into 12517-remove-full-reload-of-preview
mlqn Mar 24, 2024
54686e2
Fix tests
mlqn Mar 24, 2024
9cdc619
Fix warnings
mlqn Mar 24, 2024
6e00648
Move useSelectedFromLayoutName in AppContext
mlqn Mar 25, 2024
af93553
Cleanup
mlqn Mar 25, 2024
464b2f7
Add tests for AppContext
mlqn Mar 25, 2024
f07dda4
Add missing tests
mlqn Mar 25, 2024
9539671
Add missing tests for AppContext
mlqn Mar 25, 2024
e8ac2f3
Merge remote-tracking branch 'origin/main' into 12517-remove-full-rel…
mlqn Mar 25, 2024
e5bda9a
Cleanup tests
mlqn Mar 25, 2024
bb35a5b
Fix Preview for v3
mlqn Mar 25, 2024
c02a306
Fix extra reloads
mlqn Mar 26, 2024
57b40cd
Update landing page to open right layout
mlqn Mar 26, 2024
2ebafe5
Merge branch 'main' into 12517-remove-full-reload-of-preview
mlqn Mar 26, 2024
a66f1f2
Remove extra refetch
mlqn Mar 26, 2024
f2ebb27
Fix refetch/reload of preview when deleting a component
mlqn Mar 27, 2024
eaac17f
Merge branch 'main' into 12517-remove-full-reload-of-preview
mlqn Mar 27, 2024
004e314
Fix comments
mlqn Mar 27, 2024
a21e3c9
Remove removeSelectedFormLayoutSetName
mlqn Apr 1, 2024
3fda3d3
Fix unit tests
mlqn Apr 1, 2024
64a374d
Fix unit tests
mlqn Apr 1, 2024
be27ec6
Changes after cr
mlqn Apr 4, 2024
54c9e5b
Merge remote-tracking branch 'origin/main' into 12517-remove-full-rel…
mlqn Apr 4, 2024
29e0c59
Add missing changes
mlqn Apr 4, 2024
5298aaa
Merge branch 'main' into 12517-remove-full-reload-of-preview
mlqn Apr 4, 2024
d104b54
Add tests for TextResourceValueEditor
mlqn Apr 4, 2024
b79bd23
Merge remote-tracking branch 'origin/main' into 12517-remove-full-rel…
mlqn Apr 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions frontend/app-development/layout/PageHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ import { TopBarMenu } from 'app-shared/enums/TopBarMenu';
import type { User } from 'app-shared/types/Repository';
import { PackagesRouter } from 'app-shared/navigation/PackagesRouter';
import { RepositoryType } from 'app-shared/types/global';
import {
useSelectedFormLayoutSetName,
useSelectedFormLayoutName,
} from '../../packages/ux-editor/src/hooks';

type SubMenuContentProps = {
org: string;
Expand All @@ -30,14 +34,18 @@ export const subMenuContent = ({ org, app }: SubMenuContentProps) => {
);
};

export const buttonActions = (org: string, app: string): AltinnButtonActionItem[] => {
export const buttonActions = (
org: string,
app: string,
selectedFormLayoutName: string,
): AltinnButtonActionItem[] => {
const packagesRouter = new PackagesRouter({ org, app });

const actions: AltinnButtonActionItem[] = [
{
title: 'top_menu.preview',
menuKey: TopBarMenu.Preview,
to: packagesRouter.getPackageNavigationUrl('preview'),
to: `${packagesRouter.getPackageNavigationUrl('preview')}${selectedFormLayoutName ? `?layout=${selectedFormLayoutName}` : ''}`,
isInverted: true,
},
{
Expand Down Expand Up @@ -69,6 +77,8 @@ export const PageHeader = ({
const repoType = getRepositoryType(org, app);
const repository = useAppSelector((state) => state.serviceInformation.repositoryInfo);
const menuItems = getFilteredTopBarMenu(repoType);
const { selectedFormLayoutSetName } = useSelectedFormLayoutSetName();
const { selectedFormLayoutName } = useSelectedFormLayoutName(selectedFormLayoutSetName);

return (
<AltinnHeader
Expand All @@ -80,7 +90,7 @@ export const PageHeader = ({
user={user}
repository={repository}
repoOwnerIsOrg={repoOwnerIsOrg}
buttonActions={!isRepoError && buttonActions(org, app)}
buttonActions={!isRepoError && buttonActions(org, app, selectedFormLayoutName)}
/>
);
};
2 changes: 0 additions & 2 deletions frontend/app-development/reducers/index.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import handleServiceInformationReducer from '../features/overview/handleServiceInformationSlice';
import applicationMetadataReducer from '../sharedResources/applicationMetadata/applicationMetadataSlice';
import userReducer from '../sharedResources/user/userSlice';

export const rootReducer = {
serviceInformation: handleServiceInformationReducer,
applicationMetadataState: applicationMetadataReducer,
userState: userReducer,
};
2 changes: 0 additions & 2 deletions frontend/app-development/sagas/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import {
watchHandleSaveServiceConfigSaga,
watchHandleSaveServiceNameSaga,
} from '../features/overview/handleServiceInformationSagas';
import { applicationMetadataSagas } from '../sharedResources/applicationMetadata/applicationMetadataSagas';
import userSagas from '../sharedResources/user/userSagas';

function* root(): SagaIterator {
Expand All @@ -19,7 +18,6 @@ function* root(): SagaIterator {
yield fork(watchHandleFetchInitialCommitSaga);
yield fork(watchHandleFetchServiceConfigSaga);
yield fork(watchHandleSaveServiceConfigSaga);
yield fork(applicationMetadataSagas);
yield fork(userSagas);
}

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

59 changes: 0 additions & 59 deletions frontend/app-development/test/applicationMetadataMock.ts

This file was deleted.

5 changes: 0 additions & 5 deletions frontend/app-development/test/rootStateMock.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
import type { RootState } from '../store';
import { applicationMetadataMock } from './applicationMetadataMock';
import { repository } from 'app-shared/mocks/mocks';

export const rootStateMock: RootState = {
applicationMetadataState: {
applicationMetadata: applicationMetadataMock,
error: null,
},
serviceInformation: {
repositoryInfo: repository,
error: null,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { queryClientMock } from 'app-shared/mocks/queryClientMock';
import { renderWithMockStore } from '../../../../frontend/packages/ux-editor/src/testing/mocks';
import { renderWithProviders } from '../../../../frontend/packages/ux-editor/src/testing/mocks';
import { layoutSetsMock } from '../../../../frontend/packages/ux-editor/src/testing/layoutMock';
import type { AppPreviewSubMenuProps } from './AppPreviewSubMenu';
import { AppPreviewSubMenu } from './AppPreviewSubMenu';
Expand Down Expand Up @@ -33,7 +33,7 @@ describe('AppPreviewSubMenu', () => {

it('renders the component with desktop viewSize', () => {
setQueryData(null);
renderWithMockStore()(<AppPreviewSubMenu {...props} />);
renderWithProviders(<AppPreviewSubMenu {...props} />);
const desktopButton = screen.getByRole('button', { name: 'preview.view_size_desktop' });
const mobileButton = screen.getByRole('button', { name: 'preview.view_size_mobile' });
expect(desktopButton).toHaveAttribute('aria-pressed', 'true');
Expand All @@ -42,7 +42,7 @@ describe('AppPreviewSubMenu', () => {

it('renders the component with mobile viewSize', () => {
setQueryData(null);
renderWithMockStore()(<AppPreviewSubMenu {...props} viewSize='mobile' />);
renderWithProviders(<AppPreviewSubMenu {...props} viewSize='mobile' />);
const desktopButton = screen.getByRole('button', { name: 'preview.view_size_desktop' });
const mobileButton = screen.getByRole('button', { name: 'preview.view_size_mobile' });
expect(desktopButton).toHaveAttribute('aria-pressed', 'false');
Expand All @@ -51,7 +51,7 @@ describe('AppPreviewSubMenu', () => {

it('renders the component with layout sets in select list', async () => {
setQueryData(layoutSetsMock);
renderWithMockStore()(<AppPreviewSubMenu {...props} />);
renderWithProviders(<AppPreviewSubMenu {...props} />);
const layoutSetSelector = screen.getByRole('combobox');
await act(() => user.click(layoutSetSelector));
const options = screen.getAllByRole('option');
Expand Down
Loading
Loading