order: 20
id: outlook-other-item-apis-session-data-apis
name: Work with session data APIs (Compose)
description: Sets, gets, gets all, removes, and clears session data in Compose mode.
host: OUTLOOK
api_set:
Mailbox: '1.11'
script:
content: |-
document.getElementById("setSessionData").addEventListener("click", setSessionData);
document.getElementById("getSessionData").addEventListener("click", getSessionData);
document.getElementById("getAllSessionData").addEventListener("click", getAllSessionData);
document.getElementById("removeSessionData").addEventListener("click", removeSessionData);
document.getElementById("clearSessionData").addEventListener("click", clearSessionData);
function setSessionData() {
Office.context.mailbox.item.sessionData.setAsync(
"Date",
"7/24/2020",
function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("sessionData.setAsync succeeded");
} else {
console.log("Failed to set sessionData. Error: " + JSON.stringify(asyncResult.error));
}
});
}
function getSessionData() {
Office.context.mailbox.item.sessionData.getAsync(
"Date",
function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("The sessionData value is " + JSON.stringify(asyncResult.value));
} else {
console.log("Failed to get sessionData. Error: " + JSON.stringify(asyncResult.error));
}
});
}
function getAllSessionData() {
Office.context.mailbox.item.sessionData.getAllAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("The sessionData is " + JSON.stringify(asyncResult.value));
} else {
console.log("Failed to get all sessionData. Error: " + JSON.stringify(asyncResult.error));
}
});
}
function removeSessionData() {
Office.context.mailbox.item.sessionData.removeAsync(
"Date",
function callback(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("sessionData.removeAsync succeeded");
} else {
console.log("Failed to remove sessionData. Error: " + JSON.stringify(asyncResult.error));
}
}
);
}
function clearSessionData() {
Office.context.mailbox.item.sessionData.clearAsync(function(asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Succeeded) {
console.log("sessionData.clearAsync succeeded");
} else {
console.log("Failed to clear sessionData. Error: " + JSON.stringify(asyncResult.error));
}
});
}
language: typescript
template:
content: |-
This sample shows how to set, get, get all, remove, and clear session data in compose mode.
Required mode: Compose