Edit

PowerPoint.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 selectable value of an attribute-based access control (ABAC) attribute that can be applied to a sensitivity label.

Remarks

API set: PowerPointApi BETA (PREVIEW ONLY)

Used by

Examples

// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/manage-sensitivity-labels.yaml

await PowerPoint.run(async (context) => {
  // Get the sensitivity label currently applied to the presentation.
  const presentation: PowerPoint.Presentation = context.presentation;
  const presentationLabel: PowerPoint.SensitivityLabel = presentation.sensitivityLabel;

  const currentLabel: PowerPoint.SensitivityLabelDetails = presentationLabel.getCurrentOrNullObject();
  // Load the properties of the label currently applied to the presentation.
  currentLabel.load(
    "color,id,isAbacAttributesRequired,isAbacEnabled,isEnabled,name,order,protectionType,siteId,tooltip"
  );
  await context.sync();

  if (currentLabel.isNullObject) {
    console.log("The presentation doesn't have a sensitivity label.");
    return;
  }

  // Get ABAC values when enabled for the label.
  let abacAttributeValues: PowerPoint.SensitivityLabelAbacAttributeValue[] = [];
  if (currentLabel.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: PowerPoint.SensitivityLabelAbacAttributeValue) =>
            `${attributeValue.displayName} (ID: ${attributeValue.id}, order: ${attributeValue.displayOrder}, active: ${attributeValue.isActive ? "Yes" : "No"})`
        )
        .join(", ")
    : "None";

  let protectionDescription: string;
  switch (currentLabel.protectionType) {
    case PowerPoint.SensitivityLabelProtectionType.adminDefined:
      protectionDescription = "Defined by an administrator";
      break;
    case PowerPoint.SensitivityLabelProtectionType.userDefined:
      protectionDescription = "Defined by the user";
      break;
    case PowerPoint.SensitivityLabelProtectionType.noProtection:
      protectionDescription = "No protection";
      break;
    default:
      protectionDescription = `Unknown (${currentLabel.protectionType})`;
      break;
  }

  console.log(
    `Current presentation 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

displayName

Gets the display name of the ABAC attribute value. Add-ins are responsible for presenting localized user-facing UI.

displayOrder

Gets the recommended ordering of this ABAC value within its attribute when displayed to a user.

id

Gets the unique identifier of the ABAC attribute value. This identifier is used when applying or updating the label's ABAC attribute selections.

isActive

Gets whether this ABAC attribute value is active. true if the value is active; otherwise, false.

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.

Gets the display name of the ABAC attribute value. Add-ins are responsible for presenting localized user-facing UI.

displayName: string;

Property Value

string

Remarks

API set: PowerPointApi BETA (PREVIEW ONLY)

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.

Gets the recommended ordering of this ABAC value within its attribute when displayed to a user.

displayOrder: number;

Property Value

number

Remarks

API set: PowerPointApi BETA (PREVIEW ONLY)

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.

Gets the unique identifier of the ABAC attribute value. This identifier is used when applying or updating the label's ABAC attribute selections.

id: string;

Property Value

string

Remarks

API set: PowerPointApi BETA (PREVIEW ONLY)

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.

Gets whether this ABAC attribute value is active. true if the value is active; otherwise, false.

isActive: boolean;

Property Value

boolean

Remarks

API set: PowerPointApi BETA (PREVIEW ONLY)