Skip to content

Commit 2f3df7e

Browse files
committed
refactor: edit concept button is dropdown when on archived version
1 parent ace8b0c commit 2f3df7e

3 files changed

Lines changed: 38 additions & 17 deletions

File tree

apps/concept-catalog/app/catalogs/[catalogId]/concepts/[conceptId]/concept-page-client.tsx

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { ChatIcon, EnvelopeClosedIcon, PhoneIcon } from "@navikt/aksel-icons";
88
import {
99
Chip,
1010
Details,
11+
Dropdown,
1112
Link,
1213
Switch,
1314
Tabs,
@@ -193,6 +194,7 @@ export const ConceptPageClient = ({
193194
}: ConceptPageClientProps) => {
194195
const [language, setLanguage] = useState("nb");
195196
const [showConfirmDelete, setShowConfirmDelete] = useState(false);
197+
const [isArchived, setIsArchived] = useState(concept?.isArchived);
196198
const [isPublished, setIsPublished] = useState(concept?.erPublisert);
197199
const [publishedDate, setPublishedDate] = useState(
198200
concept?.publiseringsTidspunkt,
@@ -215,6 +217,7 @@ export const ConceptPageClient = ({
215217
if (window.confirm(localization.publicationState.confirmPublish)) {
216218
publishConcept.mutate(concept?.id as string, {
217219
onSuccess(data) {
220+
setIsArchived(data.isArchived);
218221
setIsPublished(data.erPublisert);
219222
setPublishedDate(data.publiseringsTidspunkt);
220223
},
@@ -970,21 +973,39 @@ export const ConceptPageClient = ({
970973
<div className={classes.actionButtons}>
971974
{hasWritePermission && (
972975
<>
973-
<Button onClick={handleEditConcept}>
974-
{localization.button.edit}
975-
</Button>
976-
{concept?.isArchived ? (
977-
<Button onClick={handleEditArchivedConcept}>
978-
{localization.concept.editArchived}
979-
</Button>
976+
{isArchived ? (
977+
<Dropdown.TriggerContext>
978+
<Dropdown.Trigger>
979+
{localization.button.edit}
980+
</Dropdown.Trigger>
981+
<Dropdown placement="bottom-end">
982+
<Dropdown.List>
983+
<Dropdown.Item>
984+
<Dropdown.Button onClick={handleEditConcept}>
985+
{localization.concept.editAllFields}
986+
</Dropdown.Button>
987+
</Dropdown.Item>
988+
<Dropdown.Item>
989+
<Dropdown.Button onClick={handleEditArchivedConcept}>
990+
{localization.concept.editInternalFields}
991+
</Dropdown.Button>
992+
</Dropdown.Item>
993+
</Dropdown.List>
994+
</Dropdown>
995+
</Dropdown.TriggerContext>
980996
) : (
981-
<Button
982-
data-color="danger"
983-
variant="secondary"
984-
onClick={() => setShowConfirmDelete(true)}
985-
>
986-
{localization.button.delete}
987-
</Button>
997+
<>
998+
<Button onClick={handleEditConcept}>
999+
{localization.button.edit}
1000+
</Button>
1001+
<Button
1002+
data-color="danger"
1003+
variant="secondary"
1004+
onClick={() => setShowConfirmDelete(true)}
1005+
>
1006+
{localization.button.delete}
1007+
</Button>
1008+
</>
9881009
)}
9891010
</>
9901011
)}

apps/concept-catalog/components/concept-form/edit-page-loader.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,7 @@ export async function renderConceptEditPage({
127127
];
128128

129129
const editPathSegment = mode === "archived" ? "edit-archived" : "edit";
130-
const editBreadcrumbLabel =
131-
mode === "archived" ? localization.concept.editArchived : localization.edit;
130+
const editBreadcrumbLabel = localization.edit;
132131

133132
const breadcrumbList = getBreadcrumbList({
134133
catalogId,

libs/utils/src/lib/language/nb.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,8 @@ rettigheter, eller at det har oppstått en feil ved henting av tilganger. Vennli
405405
contactInformation: "Kontaktinformasjon for eksterne",
406406
definition: "Definisjon",
407407
deleteConcept: "Slett begrep",
408-
editArchived: "Rediger arkivert versjon",
408+
editInternalFields: "Rediger interne felter",
409+
editAllFields: "Rediger alle felter",
409410
divisionCriterion: "Inndelingskriterium",
410411
example: "Eksempel",
411412
formFieldLabel: "{fieldType} på {lang}",

0 commit comments

Comments
 (0)