For meldinger om dokumenter og/eller informasjonsbrev se
- brev og vedtak
diff --git a/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js b/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js
index 3f173257..29f9c2f7 100644
--- a/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js
+++ b/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js
@@ -1,12 +1,13 @@
-import { LightningElement, wire, api, track } from 'lwc';
-
+import { LightningElement, wire, api } from 'lwc';
import getThreads from '@salesforce/apex/stoInboxHelper.getThreads';
import getRecentThreads from '@salesforce/apex/stoInboxHelper.getRecentThreads';
+import { logNavigationEvent } from 'c/inboxAmplitude';
export default class StoMessageInbox extends LightningElement {
@api title;
- @track threads;
- @track recentthreads;
+
+ threads;
+ recentthreads;
wthreads;
wrthreads;
showthreads = false;
@@ -21,12 +22,7 @@ export default class StoMessageInbox extends LightningElement {
this.setThreads();
}
}
- setThreads() {
- if (this.wthreads) {
- this.threads = [...this.wthreads].sort(this.sortByDate);
- this.showthreads = this.wthreads.length > 0;
- }
- }
+
@wire(getRecentThreads, {})
wirerecentthreads(result) {
if (result.error) {
@@ -36,6 +32,18 @@ export default class StoMessageInbox extends LightningElement {
this.setRecentThreads();
}
}
+
+ get noItems() {
+ return this.wthreads && this.wrthreads && !this.showrecentthreads && !this.showthreads;
+ }
+
+ setThreads() {
+ if (this.wthreads) {
+ this.threads = [...this.wthreads].sort(this.sortByDate);
+ this.showthreads = this.wthreads.length > 0;
+ }
+ }
+
setRecentThreads() {
if (this.wrthreads) {
this.recentthreads = [...this.wrthreads].sort(this.sortByDate);
@@ -43,10 +51,6 @@ export default class StoMessageInbox extends LightningElement {
}
}
- get noItems() {
- return this.wthreads && this.wrthreads && !this.showrecentthreads && !this.showthreads;
- }
-
sortByDate(t1, t2) {
let d1 = new Date(t1.latestMessageDate);
let d2 = new Date(t2.latestMessageDate);
@@ -58,4 +62,24 @@ export default class StoMessageInbox extends LightningElement {
}
return 0;
}
+
+ handleDocumentArchiveClick() {
+ logNavigationEvent(
+ 'henvendelser',
+ 'stoMessageInbox',
+ 'brev og vedtak',
+ 'https://www.nav.no/dokumentarkiv',
+ 'brev og vedtak'
+ );
+ }
+
+ handleContactUsClick() {
+ logNavigationEvent(
+ 'henvendelser',
+ 'stoMessageInbox',
+ 'kontakt oss',
+ 'https://www.nav.no/kontaktoss',
+ 'Kontakt oss'
+ );
+ }
}
diff --git a/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js-meta.xml b/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js-meta.xml
index eb7c0568..9654861d 100644
--- a/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js-meta.xml
+++ b/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js-meta.xml
@@ -1,6 +1,6 @@
- 51.0
+ 62.0
Skriv til oss - Innboks
lightning__AppPage
diff --git a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.html b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.html
index 87f30e4d..7f60d5fd 100644
--- a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.html
+++ b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.html
@@ -5,6 +5,7 @@
key={thread.recordId}
id="a"
style="padding-left: 0rem; padding-right: 0rem; border: 1px solid var(--navds-semantic-color-border, #707070)"
+ onclick={handleNavigation}
>
diff --git a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js
index 04b02630..1594945d 100644
--- a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js
+++ b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js
@@ -1,9 +1,11 @@
import { LightningElement, api } from 'lwc';
import navlogos from '@salesforce/resourceUrl/navsvglogos';
import basepath from '@salesforce/community/basePath';
+import { logNavigationEvent } from 'c/inboxAmplitude';
export default class StoMessageInboxItem extends LightningElement {
@api thread;
+
dialog = navlogos + '/send.svg';
latestmessage;
latestText;
@@ -13,9 +15,27 @@ export default class StoMessageInboxItem extends LightningElement {
threadId;
hasunread = false;
unreadmessage = 'lest';
-
className = 'lenkepanel dialog read iconclass overrides';
statuscolor;
+
+ connectedCallback() {
+ this.objectName = this.thread.objectName;
+ if (this.thread.status === 'Åpen') {
+ this.statuscolor = 'greenfont';
+ this.isOpen = true;
+ }
+ if (this.objectName === 'samtalereferat') this.dialog = navlogos + '/FileContent.svg';
+ if (this.objectName === 'chat') this.dialog = navlogos + '/dialog.svg';
+ if (Number(this.thread.numberOfUnreadMessages) > 0) {
+ this.hasunread = true;
+ this.unreadmessage = 'ulest';
+ this.className = 'lenkepanel dialog unread iconclass';
+ }
+ this.latestmessage = this.thread.latestmessage;
+ this.latestText = this.thread.latestmessage.messageText;
+ this.isExternal = this.thread.latestmessage.isExternal;
+ }
+
get itemTitle() {
if (this.objectName === 'samtalereferat') return this.thread.name;
if (this.objectName === 'skriv-til-oss' || this.objectName === 'beskjed-til-oss') {
@@ -35,23 +55,6 @@ export default class StoMessageInboxItem extends LightningElement {
}
return this.thread.name;
}
- connectedCallback() {
- this.objectName = this.thread.objectName;
- if (this.thread.status === 'Åpen') {
- this.statuscolor = 'greenfont';
- this.isOpen = true;
- }
- if (this.objectName === 'samtalereferat') this.dialog = navlogos + '/FileContent.svg';
- if (this.objectName === 'chat') this.dialog = navlogos + '/dialog.svg';
- if (Number(this.thread.numberOfUnreadMessages) > 0) {
- this.hasunread = true;
- this.unreadmessage = 'ulest';
- this.className = 'lenkepanel dialog unread iconclass';
- }
- this.latestmessage = this.thread.latestmessage;
- this.latestText = this.thread.latestmessage.messageText;
- this.isExternal = this.thread.latestmessage.isExternal;
- }
get showStatus() {
return this.objectName !== 'samtalereferat';
@@ -68,4 +71,14 @@ export default class StoMessageInboxItem extends LightningElement {
'/' +
this.thread.recordName.replace(/[ -]+/g, '-');
}
+
+ handleNavigation(event) {
+ logNavigationEvent(
+ 'henvendelser',
+ 'stoMessageInboxItem',
+ 'valgt henvendelse',
+ event.target.href,
+ this.itemTitle
+ );
+ }
}
diff --git a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js-meta.xml b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js-meta.xml
index 0416469f..353961ed 100644
--- a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js-meta.xml
+++ b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js-meta.xml
@@ -1,5 +1,5 @@
- 51.0
+ 62.0
false
\ No newline at end of file
diff --git a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html
index 25da5a97..a3cb1953 100644
--- a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html
+++ b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html
@@ -30,11 +30,12 @@
{selectedTheme}
header={news.header}
body={news.body}
key={news.id}
+ content-type={contentType}
>
-
+
@@ -55,6 +56,7 @@
{selectedTheme}
title="Godtar du at vi kan bruke samtalen din til opplæring av veiledere i Nav?"
options={medskrivOptions}
class="radioFocus"
+ onradiochange={handleRadioChange}
>
Godtar du at vi kan bruke samtalen din til opplæring av veiledere i Nav?
@@ -87,7 +89,6 @@
{selectedTheme}
type="submit"
style="padding: calc(0.475rem - 1px) 2.5rem calc(0.525rem - 1px) 2.5rem"
aria-disabled="false"
- label="Send"
onclick={submitRequest}
>
Send
@@ -101,6 +102,7 @@
{
- //Failed getting sto categories
+ // Failed getting sto categories
});
}
+ renderedCallback() {
+ if (this.showspinner) {
+ let spinner = this.template.querySelector('.spinner');
+ spinner.focus();
+ }
+ }
+
+ @wire(MessageContext)
+ messageContext;
+
/**
* Sets the Selectedtheme based on the URL parameter.
* @param {} currentPageReference
@@ -102,6 +112,7 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
this.setParametersBasedOnUrl();
}
}
+
/**
* Finds if there are any news based on the selected theme.
* @author Lars Petter Johnsen
@@ -125,35 +136,80 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
this.openThreadList = data;
}
+ /** Getters **/
get validparameter() {
let valid = this.acceptedcategories.has(this.selectedTheme);
return valid;
}
- setParametersBasedOnUrl() {
- this.selectedTheme = this.urlStateParameters.category;
+ get termsModal() {
+ return this.template.querySelector('c-community-modal');
}
- renderedCallback() {
- if (this.showspinner) {
- let spinner = this.template.querySelector('.spinner');
- spinner.focus();
+ get termsContentText() {
+ return this.label.SERVICE_TERMS + this.label.SERVICE_TERMS_2;
+ }
+
+ get showOpenThreadWarning() {
+ return this.openThreadList !== null && this.openThreadList !== undefined;
+ }
+
+ get openThreadText() {
+ if (this.openThreadList.length < maxThreadCount) {
+ return (
+ 'Du har allerede åpne samtaler om ' +
+ this.selectedTheme.toLowerCase() +
+ '. Hvis du lurer på noe mer, kan du fortsette dine åpne samtaler. Du kan ikke ha mer enn 3 åpne samtaler samtidig.'
+ );
}
+ return (
+ 'Du har ' +
+ this.openThreadList.length +
+ ' åpne samtaler om ' +
+ this.selectedTheme.toLowerCase() +
+ '. Du kan maksimalt ha 3 åpne samtaler. Hvis du vil opprette en ny samtale, må du derfor avslutte noen av de du allerede har. Du kan også fortsette allerede åpne samtaler ved å klikke på de.'
+ );
}
- /**
- * Handle Terms Modal Start
- */
- togglechecked() {
- this.acceptedTerms = !this.acceptedTerms;
+ get openThreadLink() {
+ return this.threadTypeToMake === 'BTO'
+ ? basepath + this.subpath + 'visning?samtale=' + this.openThreadList[0].recordId
+ : basepath + this.subpath + this.openThreadList[0].recordId;
}
- get termsModal() {
- return this.template.querySelector('c-community-modal');
+ get alertType() {
+ return this.openThreadList.length >= maxThreadCount ? 'advarsel' : 'info';
}
- get termsContentText() {
- return this.label.SERVICE_TERMS + this.label.SERVICE_TERMS_2;
+ get showTextArea() {
+ return (
+ this.openThreadList === null ||
+ this.openThreadList === undefined ||
+ this.openThreadList.length < maxThreadCount
+ );
+ }
+
+ get backdropClass() {
+ return this.hideDeleteModal === true ? 'slds-hide' : 'backdrop';
+ }
+
+ get introLabel() {
+ return this.threadTypeToMake === 'BTO' ? this.label.welcomelabelBTO : this.label.welcomelabel;
+ }
+
+ // Used for Amplitude logging
+ get contentType() {
+ return `${this.subpath.replace(/\//g, '')} / ${this.selectedTheme} `;
+ }
+
+ setParametersBasedOnUrl() {
+ this.selectedTheme = this.urlStateParameters.category;
+ }
+
+ togglechecked() {
+ this.acceptedTerms = !this.acceptedTerms;
}
showTerms() {
@@ -180,10 +236,10 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
this.closeTerms();
this.sendChecked();
}
+
/**
* Handles terms modal end
*/
-
navigateToBTO(thread) {
this[NavigationMixin.Navigate]({
type: 'comm__namedPage',
@@ -230,6 +286,15 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
'_self'
);
}
+
+ logButtonEvent(
+ AnalyticsEvents.FORM_COMPLETED,
+ 'Send',
+ this.contentType,
+ 'stoRegisterThread',
+ this.title,
+ 'ny samtale'
+ );
})
.catch((err) => {
console.error(err);
@@ -316,59 +381,38 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
this.template.querySelector('.lastFocusElement').focus();
}
- get showOpenThreadWarning() {
- return this.openThreadList !== null && this.openThreadList !== undefined;
- }
-
- get openThreadText() {
- if (this.openThreadList.length < maxThreadCount) {
- return (
- 'Du har allerede åpne samtaler om ' +
- this.selectedTheme.toLowerCase() +
- '. Hvis du lurer på noe mer, kan du fortsette dine åpne samtaler. Du kan ikke ha mer enn 3 åpne samtaler samtidig.'
- );
+ handleCloseThread(e) {
+ const selectedThread = this.openThreadList[e.detail];
+ if (selectedThread.recordId) {
+ this.closeSelectedThread(selectedThread.recordId);
}
- return (
- 'Du har ' +
- this.openThreadList.length +
- ' åpne samtaler om ' +
- this.selectedTheme.toLowerCase() +
- '. Du kan maksimalt ha 3 åpne samtaler. Hvis du vil opprette en ny samtale, må du derfor avslutte noen av de du allerede har. Du kan også fortsette allerede åpne samtaler ved å klikke på de.'
- );
- }
-
- get openThreadLink() {
- return this.threadTypeToMake === 'BTO'
- ? basepath + this.subpath + 'visning?samtale=' + this.openThreadList[0].recordId
- : basepath + this.subpath + this.openThreadList[0].recordId;
- }
-
- get alertType() {
- return this.openThreadList.length >= maxThreadCount ? 'advarsel' : 'info';
}
- get showTextArea() {
- return (
- this.openThreadList === null ||
- this.openThreadList === undefined ||
- this.openThreadList.length < maxThreadCount
+ handleRadioChange() {
+ logButtonEvent(
+ AnalyticsEvents.FORM_STEP_COMPLETED,
+ 'Godtar du at vi kan bruke samtalen din til opplæring av veiledere i Nav?',
+ this.contentType,
+ 'stoRegisterThread',
+ this.title
);
}
- get backdropClass() {
- return this.hideDeleteModal === true ? 'slds-hide' : 'backdrop';
- }
-
- get introLabel() {
- return this.threadTypeToMake === 'BTO' ? this.label.welcomelabelBTO : this.label.welcomelabel;
- }
-
- handleCloseThread(e) {
- const selectedThread = this.openThreadList[e.detail];
- if (selectedThread.recordId) {
- this.closeSelectedThread(selectedThread.recordId);
+ handleAlterBoxClick() {
+ const regex = /href="([^"]*)"/;
+ const match = regex.exec(this.openThreadText);
+
+ if (match[1]) {
+ const hrefValue = match[1];
+ logNavigationEvent(
+ this.contentType,
+ 'stoRegisterThread',
+ 'modal',
+ hrefValue,
+ 'fortsette dine åpne samtaler'
+ );
+ } else {
+ console.log('No href found in the openThreadText');
}
}
}
diff --git a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js-meta.xml b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js-meta.xml
index dfcca471..7e3af653 100644
--- a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js-meta.xml
+++ b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js-meta.xml
@@ -1,6 +1,6 @@
- 52.0
+ 62.0
true
Skriv til oss - Register Thread
diff --git a/force-app/main/default/lwc/stoUtils/stoUtils.html b/force-app/main/default/lwc/stoUtils/stoUtils.html
new file mode 100644
index 00000000..aa11ed86
--- /dev/null
+++ b/force-app/main/default/lwc/stoUtils/stoUtils.html
@@ -0,0 +1 @@
+
diff --git a/force-app/main/default/lwc/stoUtils/stoUtils.js b/force-app/main/default/lwc/stoUtils/stoUtils.js
new file mode 100644
index 00000000..3612e63a
--- /dev/null
+++ b/force-app/main/default/lwc/stoUtils/stoUtils.js
@@ -0,0 +1,19 @@
+/**
+ * Function for formating thread external name in format category / themeGroup
+ * @param {string} thread external name
+ * @returns {string} category / themeGroup
+ */
+export function getContentType(threadExternalName) {
+ let parts = threadExternalName.split(' - ');
+
+ if (parts.length < 2) {
+ return threadExternalName;
+ }
+
+ let themeGroup = parts[0].trim();
+ let category = parts[1].split(':')[0].trim();
+
+ category = category.toLowerCase().replace(/\s+/g, '-');
+
+ return `${category} / ${themeGroup}`;
+}
diff --git a/force-app/main/default/lwc/stoUtils/stoUtils.js-meta.xml b/force-app/main/default/lwc/stoUtils/stoUtils.js-meta.xml
new file mode 100644
index 00000000..353961ed
--- /dev/null
+++ b/force-app/main/default/lwc/stoUtils/stoUtils.js-meta.xml
@@ -0,0 +1,5 @@
+
+
+ 62.0
+ false
+
\ No newline at end of file
From 6510946c859817be182d133d3082b2d2e6266f6d Mon Sep 17 00:00:00 2001
From: saramoh2309 <86772218+saramoh2309@users.noreply.github.com>
Date: Thu, 6 Feb 2025 11:42:05 +0100
Subject: [PATCH 2/3] updated package.json
---
sfdx-project.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sfdx-project.json b/sfdx-project.json
index bc60778d..56cb4398 100644
--- a/sfdx-project.json
+++ b/sfdx-project.json
@@ -13,7 +13,7 @@
},
{
"package": "crm-platform-reporting",
- "versionNumber": "0.38.0.LATEST"
+ "versionNumber": "0.40.0.LATEST"
},
{
"package": "crm-shared-flowComponents",
@@ -49,7 +49,7 @@
},
{
"package": "crm-henvendelse",
- "versionNumber": "0.158.0.LATEST"
+ "versionNumber": "0.159.0.LATEST"
},
{
"package": "crm-sf-saf",
From c4e0c82e4ac4450f9b35f1a3d8ca13988df355e7 Mon Sep 17 00:00:00 2001
From: saramoh2309 <86772218+saramoh2309@users.noreply.github.com>
Date: Tue, 11 Feb 2025 16:57:57 +0100
Subject: [PATCH 3/3] updates for sto + amplitude logging
---
.../main/default/classes/stoHelperClass.cls | 7 +-
.../communityBreadCrumb.js | 5 +-
.../communityExpandablePanel.js | 5 +-
force-app/main/default/lwc/dsRadio/dsRadio.js | 6 +-
.../lwc/nksViewThread/nksViewThread.js | 34 +++--
.../stoInboxCloseItem/stoInboxCloseItem.js | 12 +-
.../stoInboxInformation.js | 34 +++--
.../stoMedskrivSamtykke.html | 2 +-
.../stoMedskrivSamtykke.js | 35 +++---
.../lwc/stoMessageInbox/stoMessageInbox.js | 8 +-
.../stoMessageInboxItem.js | 10 +-
.../stoRegisterThread/stoRegisterThread.html | 22 +++-
.../stoRegisterThread/stoRegisterThread.js | 119 ++++++++++++------
.../main/default/lwc/stoUtils/stoUtils.js | 38 +++---
14 files changed, 210 insertions(+), 127 deletions(-)
diff --git a/force-app/main/default/classes/stoHelperClass.cls b/force-app/main/default/classes/stoHelperClass.cls
index 8c2816d6..443fdf2d 100644
--- a/force-app/main/default/classes/stoHelperClass.cls
+++ b/force-app/main/default/classes/stoHelperClass.cls
@@ -242,5 +242,10 @@ public with sharing class stoHelperClass {
}
public class maxThreadLimitReachedException extends Exception {
- }
+ }
+
+ @AuraEnabled(cacheable=true)
+ public static Thread__c getThread(String recordId) {
+ return [SELECT Id, CRM_Thread_Type__c, STO_Category_Formula__c, CRM_Is_Closed__c, CRM_Related_Object__c, STO_Medskriv__c FROM Thread__c WHERE Id = :recordId LIMIT 1];
+ }
}
diff --git a/force-app/main/default/lwc/communityBreadCrumb/communityBreadCrumb.js b/force-app/main/default/lwc/communityBreadCrumb/communityBreadCrumb.js
index e7c23296..c7710bc4 100644
--- a/force-app/main/default/lwc/communityBreadCrumb/communityBreadCrumb.js
+++ b/force-app/main/default/lwc/communityBreadCrumb/communityBreadCrumb.js
@@ -3,7 +3,7 @@ import navlogos from '@salesforce/resourceUrl/homelogo';
import navStyling from '@salesforce/resourceUrl/navStyling';
import index from '@salesforce/resourceUrl/index';
import { loadStyle } from 'lightning/platformResourceLoader';
-import { logNavigationEvent } from 'c/inboxAmplitude';
+import { logNavigationEvent, getComponentName } from 'c/inboxAmplitude';
export default class CommunityBreadCrumb extends LightningElement {
@api firstLevel;
@@ -23,8 +23,7 @@ export default class CommunityBreadCrumb extends LightningElement {
handleClick(event) {
logNavigationEvent(
- 'brødsmuler',
- 'communityBreadCrumb',
+ getComponentName(this.template),
'breadCrumb',
event.currentTarget.href,
event.currentTarget.textContent.trim()
diff --git a/force-app/main/default/lwc/communityExpandablePanel/communityExpandablePanel.js b/force-app/main/default/lwc/communityExpandablePanel/communityExpandablePanel.js
index 2325ebd8..27ef69bc 100644
--- a/force-app/main/default/lwc/communityExpandablePanel/communityExpandablePanel.js
+++ b/force-app/main/default/lwc/communityExpandablePanel/communityExpandablePanel.js
@@ -1,17 +1,16 @@
import { LightningElement, api } from 'lwc';
-import { logAccordionEvent } from 'c/inboxAmplitude';
+import { logAccordionEvent, getComponentName } from 'c/inboxAmplitude';
export default class CommunityExpandablePanel extends LightningElement {
@api header;
@api body;
- @api contentType;
showpanel = false;
togglevisible() {
this.showpanel = !this.showpanel;
this.performAnimation();
- logAccordionEvent(this.showpanel, this.header, this.contentType, 'communityExpandablePanel');
+ logAccordionEvent(this.showpanel, this.header, getComponentName(this.template));
}
get accordianClass() {
diff --git a/force-app/main/default/lwc/dsRadio/dsRadio.js b/force-app/main/default/lwc/dsRadio/dsRadio.js
index c74d58c2..b10b13aa 100644
--- a/force-app/main/default/lwc/dsRadio/dsRadio.js
+++ b/force-app/main/default/lwc/dsRadio/dsRadio.js
@@ -26,6 +26,10 @@ export default class DsRadio extends LightningElement {
test?.focus();
}
+ getText() {
+ return this.getSelectedButton?.text;
+ }
+
checkForError() {
this.updateErrorText();
}
@@ -35,7 +39,7 @@ export default class DsRadio extends LightningElement {
this._options.forEach((option) => (option.checked = option.id === dataId));
this.updateErrorText();
const changeEvent = new CustomEvent('radiochange', {
- detail: this.getValue()
+ detail: { text: this.getText(), value: this.getValue() }
});
this.dispatchEvent(changeEvent);
}
diff --git a/force-app/main/default/lwc/nksViewThread/nksViewThread.js b/force-app/main/default/lwc/nksViewThread/nksViewThread.js
index aea9f665..ca2f205f 100644
--- a/force-app/main/default/lwc/nksViewThread/nksViewThread.js
+++ b/force-app/main/default/lwc/nksViewThread/nksViewThread.js
@@ -1,11 +1,9 @@
import { LightningElement, wire, api } from 'lwc';
import { CurrentPageReference } from 'lightning/navigation';
-import THREAD_TYPE from '@salesforce/schema/Thread__c.CRM_Thread_Type__c';
-import THREAD_EXTERNAL_NAME from '@salesforce/schema/Thread__c.STO_ExternalName__c';
-import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
+import getThread from '@salesforce/apex/stoHelperClass.getThread';
import basepath from '@salesforce/community/basePath';
-import { getContentType } from 'c/stoUtils';
-import { AnalyticsEvents, logButtonEvent } from 'c/inboxAmplitude';
+import { AnalyticsEvents, logButtonEvent, setDecoratorParams, getComponentName } from 'c/inboxAmplitude';
+import { getPageType } from 'c/stoUtils';
const urlMap = {
STO: (recordId) => basepath + '/skriv-til-oss/' + recordId,
@@ -24,7 +22,15 @@ export default class NksViewThread extends LightningElement {
@api maxLength;
_recordId;
- threadExternalName;
+ pageTheme;
+ pageType;
+ pageTitle;
+
+ renderedCallback() {
+ if (this.threadType) {
+ this.pageType = getPageType(this.threadType);
+ }
+ }
@wire(CurrentPageReference)
getStateParameters(currentPageReference) {
@@ -35,14 +41,19 @@ export default class NksViewThread extends LightningElement {
}
}
- @wire(getRecord, { recordId: '$_recordId', fields: [THREAD_TYPE, THREAD_EXTERNAL_NAME] })
+ @wire(getThread, { recordId: '$_recordId' })
wiredThread({ error, data }) {
if (error) {
console.log('Error:', error);
} else if (data) {
- this.threadExternalName = getFieldValue(data, THREAD_EXTERNAL_NAME);
- const actualThreadType = getFieldValue(data, THREAD_TYPE);
+ this.pageTheme = data.STO_Category_Formula__c;
+ const actualThreadType = data.CRM_Thread_Type__c;
if (!allowedThreadTypes[this.threadType].includes(actualThreadType)) this.redirect(actualThreadType);
+
+ if (this.pageType && this.pageTheme) {
+ setDecoratorParams(this.pageType, this.pageTheme);
+ this.pageTitle = this.pageType + ' - ' + this.pageTheme;
+ }
}
}
@@ -57,9 +68,8 @@ export default class NksViewThread extends LightningElement {
logButtonEvent(
AnalyticsEvents.FORM_COMPLETED,
'Send',
- getContentType(this.threadExternalName),
- 'nksViewThread',
- this.threadExternalName,
+ getComponentName(this.template),
+ this.pageTitle,
'ny melding'
);
}
diff --git a/force-app/main/default/lwc/stoInboxCloseItem/stoInboxCloseItem.js b/force-app/main/default/lwc/stoInboxCloseItem/stoInboxCloseItem.js
index 1ea4f821..dca06369 100644
--- a/force-app/main/default/lwc/stoInboxCloseItem/stoInboxCloseItem.js
+++ b/force-app/main/default/lwc/stoInboxCloseItem/stoInboxCloseItem.js
@@ -1,12 +1,11 @@
import { LightningElement, api, wire } from 'lwc';
import { publish, MessageContext } from 'lightning/messageService';
import globalModalOpen from '@salesforce/messageChannel/globalModalOpen__c';
-import { AnalyticsEvents, logButtonEvent, logModalEvent } from 'c/inboxAmplitude';
+import { AnalyticsEvents, logButtonEvent, logModalEvent, getComponentName } from 'c/inboxAmplitude';
export default class StoInboxCloseItem extends LightningElement {
@api thread;
@api index;
- @api contentType;
modalOpen = false;
@@ -33,7 +32,7 @@ export default class StoInboxCloseItem extends LightningElement {
this.modalOpen = true;
this.modal.focusModal();
publish(this.messageContext, globalModalOpen, { status: 'true' });
- logModalEvent(true, 'Avslutt samtale', this.contentType, 'stoInboxCloseItem', 'Dine åpne samtaler');
+ logModalEvent(true, 'Avslutt samtale', getComponentName(this.template), 'Dine åpne samtaler');
}
closeModal() {
@@ -41,7 +40,7 @@ export default class StoInboxCloseItem extends LightningElement {
const btn = this.template.querySelector('.endDialogBtn');
btn.focus();
publish(this.messageContext, globalModalOpen, { status: 'false' });
- logModalEvent(false, 'Avslutt samtale', this.contentType, 'stoInboxCloseItem', 'Dine åpne samtaler');
+ logModalEvent(false, 'Avslutt samtale', getComponentName(this.template), 'Dine åpne samtaler');
}
closeThread() {
@@ -52,8 +51,7 @@ export default class StoInboxCloseItem extends LightningElement {
logButtonEvent(
AnalyticsEvents.FORM_COMPLETED,
'Ja avslutt samtale',
- this.contentType,
- 'stoInboxCloseItem',
+ getComponentName(this.template),
'Dine åpne samtaler'
);
}
@@ -69,6 +67,6 @@ export default class StoInboxCloseItem extends LightningElement {
}
get threadName() {
- return this.thread.name + (this.isExternal === true ? ': Du sendte en melding' : ': Nav sendte en melding');
+ return this.thread.name + (this.isExternal ? ': Du sendte en melding' : ': Nav sendte en melding');
}
}
diff --git a/force-app/main/default/lwc/stoInboxInformation/stoInboxInformation.js b/force-app/main/default/lwc/stoInboxInformation/stoInboxInformation.js
index 4de78030..0a87b6b5 100644
--- a/force-app/main/default/lwc/stoInboxInformation/stoInboxInformation.js
+++ b/force-app/main/default/lwc/stoInboxInformation/stoInboxInformation.js
@@ -1,14 +1,9 @@
import { LightningElement, api, wire } from 'lwc';
-import { getRecord, getFieldValue } from 'lightning/uiRecordApi';
-import THREAD_IS_CLOSED_FIELD from '@salesforce/schema/Thread__c.CRM_Is_Closed__c';
-import THREAD_TYPE_FIELD from '@salesforce/schema/Thread__c.CRM_Type__c';
-import THREAD_RELATED_OBJECT_FIELD from '@salesforce/schema/Thread__c.CRM_Related_Object__c';
-import THREAD_NAME_FIELD from '@salesforce/schema/Thread__c.STO_ExternalName__c';
+import getThread from '@salesforce/apex/stoHelperClass.getThread';
import getSurvey from '@salesforce/apex/STO_SurveyHelper.getSurveyLink';
import getURL from '@salesforce/apex/STO_SurveyHelper.getURL';
import checkResponse from '@salesforce/apex/STO_SurveyHelper.checkResponse';
-import { logNavigationEvent } from 'c/inboxAmplitude';
-import { getContentType } from 'c/stoUtils';
+import { logNavigationEvent, getComponentName, setDecoratorParams } from 'c/inboxAmplitude';
export default class StoInboxInformation extends LightningElement {
@api recordId;
@@ -19,18 +14,22 @@ export default class StoInboxInformation extends LightningElement {
url;
surveyLink;
completed = false;
- threadExternalName;
+ stoPageTheme;
- @wire(getRecord, {
- recordId: '$recordId',
- fields: [THREAD_IS_CLOSED_FIELD, THREAD_TYPE_FIELD, THREAD_RELATED_OBJECT_FIELD, THREAD_NAME_FIELD]
+ @wire(getThread, {
+ recordId: '$recordId'
})
- wiredThread({ data, error }) {
+ wiredThread(result) {
+ const { data, error } = result;
if (data) {
- this.type = getFieldValue(data, THREAD_TYPE_FIELD);
- this.closed = getFieldValue(data, THREAD_IS_CLOSED_FIELD);
- this.caseId = getFieldValue(data, THREAD_RELATED_OBJECT_FIELD);
- this.threadExternalName = getFieldValue(data, THREAD_NAME_FIELD);
+ this.type = data.CRM_Thread_Type__c;
+ this.closed = data.CRM_Is_Closed__c;
+ this.caseId = data.CRM_Related_Object__c;
+ this.stoPageTheme = data.STO_Category_Formula__c;
+
+ if (this.type && this.stoPageTheme) {
+ setDecoratorParams(this.type, this.stoPageTheme);
+ }
} else if (error) {
console.log('Problem getting thread: ' + error);
}
@@ -74,8 +73,7 @@ export default class StoInboxInformation extends LightningElement {
});
logNavigationEvent(
- getContentType(this.threadExternalName),
- 'stoInboxInformation',
+ getComponentName(this.template),
'undersøkelse',
this.completed ? this.url : this.surveyLink,
'Klikk her for å svare'
diff --git a/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.html b/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.html
index 5ab0b502..4c84b004 100644
--- a/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.html
+++ b/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.html
@@ -1,5 +1,5 @@
-
+
{title}
{text}
diff --git a/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.js b/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.js
index 8703cbd1..190894d0 100644
--- a/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.js
+++ b/force-app/main/default/lwc/stoMedskrivSamtykke/stoMedskrivSamtykke.js
@@ -1,11 +1,10 @@
-import { getFieldValue, getRecord, updateRecord } from 'lightning/uiRecordApi';
+import { updateRecord } from 'lightning/uiRecordApi';
import { LightningElement, api, wire } from 'lwc';
import MEDSKRIV_FIELD from '@salesforce/schema/Thread__c.STO_Medskriv__c';
import ID_FIELD from '@salesforce/schema/Thread__c.Id';
-import THREAD_NAME_FIELD from '@salesforce/schema/Thread__c.STO_ExternalName__c';
import LoggerUtility from 'c/loggerUtility';
-import { AnalyticsEvents, logButtonEvent } from 'c/inboxAmplitude';
-import { getContentType } from 'c/stoUtils';
+import { AnalyticsEvents, logButtonEvent, getComponentName, setDecoratorParams } from 'c/inboxAmplitude';
+import getThread from '@salesforce/apex/stoHelperClass.getThread';
const titlesConst = {
false: 'Du har godkjent at denne samtalen kan brukes til opplæring av ansatte i Nav.',
@@ -19,7 +18,10 @@ const textConst = {
export default class StoMedskrivSamtykke extends LightningElement {
@api recordId;
+
buttonPushed = false;
+ pageType;
+ stoPageTheme;
revokeMedskriv() {
const fields = {};
@@ -37,17 +39,26 @@ export default class StoMedskrivSamtykke extends LightningElement {
logButtonEvent(
AnalyticsEvents.FORM_COMPLETED,
'Fjern min godkjenning',
- getContentType(this.threadExternalName),
- 'StoMedskrivSamtykke',
+ getComponentName(this.template),
'medskriv'
);
}
- @wire(getRecord, { recordId: '$recordId', fields: [MEDSKRIV_FIELD, THREAD_NAME_FIELD] })
- thread;
+ @wire(getThread, { recordId: '$recordId' })
+ wiredThread(result) {
+ const { data, error } = result;
+
+ if (data) {
+ this.medskriv = data.STO_Medskriv__c;
+ this.pageType = data.CRM_Thread_Type__c;
+ this.stoPageTheme = data.STO_Category_Formula__c;
- get medskriv() {
- return getFieldValue(this.thread.data, MEDSKRIV_FIELD);
+ if (this.pageType && this.stoPageTheme) {
+ setDecoratorParams(this.pageType, this.pageTheme);
+ }
+ } else if (error) {
+ console.error(error);
+ }
}
get showPanel() {
@@ -65,8 +76,4 @@ export default class StoMedskrivSamtykke extends LightningElement {
get btnClasses() {
return this.buttonPushed ? 'slds-hide' : '';
}
-
- get threadExternalName() {
- return getFieldValue(this.thread.data, THREAD_NAME_FIELD);
- }
}
diff --git a/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js b/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js
index 29f9c2f7..6e912f82 100644
--- a/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js
+++ b/force-app/main/default/lwc/stoMessageInbox/stoMessageInbox.js
@@ -1,7 +1,7 @@
import { LightningElement, wire, api } from 'lwc';
import getThreads from '@salesforce/apex/stoInboxHelper.getThreads';
import getRecentThreads from '@salesforce/apex/stoInboxHelper.getRecentThreads';
-import { logNavigationEvent } from 'c/inboxAmplitude';
+import { logNavigationEvent, getComponentName } from 'c/inboxAmplitude';
export default class StoMessageInbox extends LightningElement {
@api title;
@@ -65,8 +65,7 @@ export default class StoMessageInbox extends LightningElement {
handleDocumentArchiveClick() {
logNavigationEvent(
- 'henvendelser',
- 'stoMessageInbox',
+ getComponentName(this.template),
'brev og vedtak',
'https://www.nav.no/dokumentarkiv',
'brev og vedtak'
@@ -75,8 +74,7 @@ export default class StoMessageInbox extends LightningElement {
handleContactUsClick() {
logNavigationEvent(
- 'henvendelser',
- 'stoMessageInbox',
+ getComponentName(this.template),
'kontakt oss',
'https://www.nav.no/kontaktoss',
'Kontakt oss'
diff --git a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js
index 1594945d..3740662e 100644
--- a/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js
+++ b/force-app/main/default/lwc/stoMessageInboxItem/stoMessageInboxItem.js
@@ -1,7 +1,7 @@
import { LightningElement, api } from 'lwc';
import navlogos from '@salesforce/resourceUrl/navsvglogos';
import basepath from '@salesforce/community/basePath';
-import { logNavigationEvent } from 'c/inboxAmplitude';
+import { logNavigationEvent, getComponentName } from 'c/inboxAmplitude';
export default class StoMessageInboxItem extends LightningElement {
@api thread;
@@ -73,12 +73,6 @@ export default class StoMessageInboxItem extends LightningElement {
}
handleNavigation(event) {
- logNavigationEvent(
- 'henvendelser',
- 'stoMessageInboxItem',
- 'valgt henvendelse',
- event.target.href,
- this.itemTitle
- );
+ logNavigationEvent(getComponentName(this.template), 'valgt henvendelse', event.target.href, this.itemTitle);
}
}
diff --git a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html
index a3cb1953..fd0d0c55 100644
--- a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html
+++ b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.html
@@ -10,7 +10,7 @@
{title}
>
- {selectedTheme}
+ {selectedThemeUI}
{selectedTheme}
header={news.header}
body={news.body}
key={news.id}
- content-type={contentType}
>
@@ -41,6 +40,21 @@ {selectedTheme}
+
+
+
+
+
Gjelder det pleiepenger for sykt barn?
+
+
+
{selectedTheme}
>
-
+
diff --git a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js
index 5b98f477..7dfa9298 100644
--- a/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js
+++ b/force-app/main/default/lwc/stoRegisterThread/stoRegisterThread.js
@@ -8,8 +8,6 @@ import closeThread from '@salesforce/apex/stoHelperClass.closeThread';
import navlogos from '@salesforce/resourceUrl/navsvglogos';
import welcomelabel from '@salesforce/label/c.Skriv_til_oss_intro_text';
import welcomelabelBTO from '@salesforce/label/c.Beskjed_til_oss_intro_text';
-import headline from '@salesforce/label/c.Skriv_til_oss_headline';
-import accepterrmessage from '@salesforce/label/c.Skriv_til_oss_headline';
import acceptermtext from '@salesforce/label/c.Skriv_til_oss_Accept_terms_text';
import showtermstext from '@salesforce/label/c.Skriv_til_oss_Show_terms';
import textareadescription from '@salesforce/label/c.Skriv_til_oss_text_area_description';
@@ -25,7 +23,14 @@ import { refreshApex } from '@salesforce/apex';
import { publish, MessageContext } from 'lightning/messageService';
import globalModalOpen from '@salesforce/messageChannel/globalModalOpen__c';
import basepath from '@salesforce/community/basePath';
-import { AnalyticsEvents, logNavigationEvent, logButtonEvent } from 'c/inboxAmplitude';
+import {
+ AnalyticsEvents,
+ logNavigationEvent,
+ logButtonEvent,
+ getComponentName,
+ logFilterEvent
+} from 'c/inboxAmplitude';
+import { getSelectedThemeUI, getKeyFromValue } from 'c/stoUtils';
const maxThreadCount = 3;
const spinnerReasonTextMap = { send: 'Sender melding. Vennligst vent.', close: 'Avslutter samtale. Vennligst vent.' };
@@ -51,8 +56,6 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
label = {
welcomelabel,
welcomelabelBTO,
- headline,
- accepterrmessage,
acceptermtext,
showtermstext,
textareadescription,
@@ -71,8 +74,15 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
{ text: 'Nei, jeg godtar ikke.', value: false, checked: false }
];
+ pleiepengerOptions = [
+ { text: 'Ja', value: 'true', checked: false },
+ { text: 'Nei', value: 'false', checked: false }
+ ];
+
logopath = navlogos + '/email.svg';
deletepath = navlogos + '/delete.svg';
+ wiredNews;
+ wireThreadData;
connectedCallback() {
getAcceptedThemes({ language: 'no' })
@@ -83,8 +93,8 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
});
this.acceptedcategories = categoryList;
})
- .catch(() => {
- // Failed getting sto categories
+ .catch((error) => {
+ console.error('Error fetching categories: ', error);
});
}
@@ -118,22 +128,27 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
* @author Lars Petter Johnsen
*/
@wire(getNews, { category: '$selectedTheme', threadType: '$threadTypeToMake' })
- wirenews(result) {
- if (result.error) {
- console.log(result.error);
- } else if (result.data) {
+ wirednews(result) {
+ const { data, error } = result;
+ this.wiredNews = result;
+
+ if (data) {
this.newsList = result.data;
+ } else if (error) {
+ console.error(error);
}
}
@wire(getOpenThreads, { category: '$selectedTheme', threadType: '$threadTypeToMake' })
- openThread(wireData) {
- const { error, data } = wireData;
- if (error) {
- console.log(error);
+ openThread(result) {
+ const { error, data } = result;
+ this.wireThreadData = result;
+
+ if (data) {
+ this.openThreadList = data;
+ } else if (error) {
+ console.error(error);
}
- this._wireThreadData = wireData;
- this.openThreadList = data;
}
/** Getters **/
@@ -199,13 +214,36 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
return this.threadTypeToMake === 'BTO' ? this.label.welcomelabelBTO : this.label.welcomelabel;
}
- // Used for Amplitude logging
- get contentType() {
- return `${this.subpath.replace(/\//g, '')} / ${this.selectedTheme} `;
+ get selectedThemeUI() {
+ return getSelectedThemeUI(this.subpath, this.selectedTheme);
+ }
+
+ get showPleiepengerRadioButton() {
+ return (
+ this.subpath === '/skriv-til-oss/' && (this.selectedTheme === 'Helse' || this.selectedTheme === 'Familie')
+ );
}
setParametersBasedOnUrl() {
- this.selectedTheme = this.urlStateParameters.category;
+ if (this.urlStateParameters?.category) {
+ let themeParameter = this.urlStateParameters.category.replace(/\+/g, ' ');
+ this.selectedTheme = getKeyFromValue(themeParameter);
+ }
+ }
+ updateUrlParam(param, value) {
+ let queryString = window.location.search;
+ let newParam = encodeURIComponent(param) + '=' + encodeURIComponent(value);
+ if (!queryString) {
+ window.history.replaceState({}, '', window.location.pathname + '?' + newParam);
+ } else {
+ if (queryString.includes(param)) {
+ const regex = new RegExp('([?&])' + encodeURIComponent(param) + '=[^&]*');
+ queryString = queryString.replace(regex, '$1' + newParam);
+ } else {
+ queryString = queryString + '&' + newParam;
+ }
+ window.history.replaceState({}, '', window.location.pathname + queryString);
+ }
}
togglechecked() {
@@ -257,7 +295,7 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
* @Author Lars Petter Johnsen
*/
submitRequest() {
- const medskriv = this.template.querySelector('c-ds-radio')?.getValue();
+ const medskriv = this.template.querySelector('.medskrive')?.getValue();
if (
this.acceptedTerms === true &&
this.message &&
@@ -290,8 +328,7 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
logButtonEvent(
AnalyticsEvents.FORM_COMPLETED,
'Send',
- this.contentType,
- 'stoRegisterThread',
+ getComponentName(this.template),
this.title,
'ny samtale'
);
@@ -388,12 +425,13 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
}
}
- handleRadioChange() {
- logButtonEvent(
- AnalyticsEvents.FORM_STEP_COMPLETED,
+ handleRadioChange(event) {
+ console.log('text: ', event.detail.text);
+ console.log('value: ', event.detail.value);
+ logFilterEvent(
'Godtar du at vi kan bruke samtalen din til opplæring av veiledere i Nav?',
- this.contentType,
- 'stoRegisterThread',
+ event.detail.text,
+ getComponentName(this.template),
this.title
);
}
@@ -404,15 +442,24 @@ export default class StoRegisterThread extends NavigationMixin(LightningElement)
if (match[1]) {
const hrefValue = match[1];
- logNavigationEvent(
- this.contentType,
- 'stoRegisterThread',
- 'modal',
- hrefValue,
- 'fortsette dine åpne samtaler'
- );
+ logNavigationEvent(getComponentName(this.template), 'modal', hrefValue, 'fortsette dine åpne samtaler');
} else {
console.log('No href found in the openThreadText');
}
}
+
+ handlePleiepengerChange(event) {
+ if (event.detail === 'true') {
+ this.selectedTheme = 'Pleiepenger';
+ this.updateUrlParam('category', 'Pleiepenger+for+sykt+barn');
+ // this.refreshApex(this.wiredNews);
+ }
+
+ logFilterEvent(
+ 'Gjelder det pleiepenger for sykt barn?',
+ event.detail.text,
+ getComponentName(this.template),
+ this.title
+ );
+ }
}
diff --git a/force-app/main/default/lwc/stoUtils/stoUtils.js b/force-app/main/default/lwc/stoUtils/stoUtils.js
index 3612e63a..1215fbc3 100644
--- a/force-app/main/default/lwc/stoUtils/stoUtils.js
+++ b/force-app/main/default/lwc/stoUtils/stoUtils.js
@@ -1,19 +1,29 @@
-/**
- * Function for formating thread external name in format category / themeGroup
- * @param {string} thread external name
- * @returns {string} category / themeGroup
- */
-export function getContentType(threadExternalName) {
- let parts = threadExternalName.split(' - ');
+export const stoThemeMapping = {
+ Arbeid: 'Arbeid',
+ Familie: 'Familie og barn',
+ Helse: 'Helse og sykdom',
+ Internasjonal: 'Bor eller jobber i utlandet',
+ Pensjon: 'Pensjon',
+ Ufør: 'Ufør',
+ Hjelpemidler: 'Hjelpemidler og tilrettelegging',
+ Pleiepenger: 'Pleiepenger for sykt barn'
+};
- if (parts.length < 2) {
- return threadExternalName;
+export function getSelectedThemeUI(subpath, selectedTheme) {
+ if (subpath === '/skriv-til-oss/') {
+ return stoThemeMapping[selectedTheme];
}
+ return selectedTheme;
+}
- let themeGroup = parts[0].trim();
- let category = parts[1].split(':')[0].trim();
-
- category = category.toLowerCase().replace(/\s+/g, '-');
+export function getKeyFromValue(value) {
+ return Object.keys(stoThemeMapping).find((key) => stoThemeMapping[key] === value) || null;
+}
- return `${category} / ${themeGroup}`;
+export function getPageType(threadType) {
+ return threadType === 'STO' || threadType === 'STB'
+ ? 'Srkiv til oss'
+ : threadType === 'BTO'
+ ? 'Beskjed til oss'
+ : '';
}