Word.SensitivityLabelAbacAttributeValue interface
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Represents a single attribute-based access control (ABAC) attribute value for a sensitivity label.
Remarks
API set: WordApi BETA (PREVIEW ONLY)
Used by
Examples
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/word/99-preview-apis/manage-sensitivity-labels.yaml
await Word.run(async (context) => {
// Get the sensitivity label currently applied to the document.
const wordDocument: Word.Document = context.document;
const documentLabel: Word.SensitivityLabel = wordDocument.sensitivityLabel;
const currentLabel: Word.SensitivityLabelDetails = documentLabel.getCurrentOrNullObject();
// Load the properties of the label currently applied to the document.
currentLabel.load(
"color,id,isAbacAttributesRequired,isAbacEnabled,isEnabled,name,order,protectionType,siteId,tooltip"
);
await context.sync();
if (currentLabel.isNullObject) {
console.log("The document doesn't have a sensitivity label.");
return;
}
// Load ABAC values when supported.
let abacAttributeValues: Word.SensitivityLabelAbacAttributeValue[] = [];
const isAbacEnabled = currentLabel.isAbacEnabled;
if (isAbacEnabled) {
currentLabel.load("abacAttributeValues");
await context.sync();
abacAttributeValues = currentLabel.abacAttributeValues;
}
// Display the loaded properties of the current label.
const attributeValues = abacAttributeValues.length
? abacAttributeValues
.map(
(attributeValue: Word.SensitivityLabelAbacAttributeValue) =>
`${attributeValue.displayName} (ID: ${attributeValue.id}, order: ${attributeValue.displayOrder}, active: ${attributeValue.isActive ? "Yes" : "No"})`
)
.join(", ")
: "None";
let protectionDescription: string;
switch (currentLabel.protectionType) {
case Word.SensitivityLabelProtectionType.adminDefined:
protectionDescription = "Defined by an administrator";
break;
case Word.SensitivityLabelProtectionType.userDefined:
protectionDescription = "Defined by the user";
break;
case Word.SensitivityLabelProtectionType.noProtection:
protectionDescription = "No protection";
break;
default:
protectionDescription = `Unknown (${currentLabel.protectionType})`;
break;
}
console.log(
`Current document sensitivity label:\n\n${currentLabel.name}\n` +
` ID: ${currentLabel.id}\n` +
` Site ID: ${currentLabel.siteId}\n` +
` Tooltip: ${currentLabel.tooltip}\n` +
` Color: ${currentLabel.color}\n` +
` Enabled: ${currentLabel.isEnabled ? "Yes" : "No"}\n` +
` Display order: ${currentLabel.order}\n` +
` ABAC enabled: ${currentLabel.isAbacEnabled ? "Yes" : "No"}\n` +
` ABAC attributes required: ${currentLabel.isAbacAttributesRequired ? "Yes" : "No"}\n` +
` ABAC attribute values: ${attributeValues}\n` +
` Protection type: ${protectionDescription}`
);
});
Properties
| display |
The display name of the ABAC attribute value. |
| display |
The display order of the ABAC attribute value. |
| id | The unique identifier of the ABAC attribute value. |
| is |
Indicates whether the ABAC attribute value is active. |
Property Details
displayName
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
The display name of the ABAC attribute value.
displayName: string;
Property Value
string
Remarks
displayOrder
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
The display order of the ABAC attribute value.
displayOrder: number;
Property Value
number
Remarks
id
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
The unique identifier of the ABAC attribute value.
id: string;
Property Value
string
Remarks
isActive
Note
This API is provided as a preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Indicates whether the ABAC attribute value is active.
isActive: boolean;
Property Value
boolean