Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Cross-Origin Resource Sharing (CORS) provides a way for a web application runnin

:::note

Chrome Web Browser version 80 and above introduces new changes which may impact embedding. For more information, see [KB484005: Chrome v80 Cookie Behavior and the Impact on Strategy Deployments](https://community.microstrategy.com/s/article/Chrome-v80-Cookie-Behavior-and-the-impact-on-Strategy-Deployments).
Chrome Web Browser version 80 and above introduces new changes which may impact embedding. For more information, see [KB484005: Chrome v80 Cookie Behavior and the Impact on Strategy Deployments](https://community.strategy.com/article/Chrome-v80-Cookie-Behavior-and-the-impact-on-MicroStrategy-Deployments).

:::

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -402,8 +402,9 @@ Use the `dossierConsumption` object to customize the options on the dashboard co

- `enablePageSelection`

- Enable dashoard page selection in the TOC panel.
- Enable dashboard page selection in the TOC panel.
- Default value: `false`.
- **Note:** This property is deprecated. Use `pageSelectionMode` instead for more granular control over page selection behavior.

- `disableGroupSelection`

Expand All @@ -416,6 +417,13 @@ Use the `dossierConsumption` object to customize the options on the dashboard co
- Available values: ["noSelection", "singleSelection", "multipleSelection"]
- Default value: "noSelection".

- `pageSelectionMode`

- Assigns the selection mode of pages on the dashboard consumption page.
- Available values: ["noSelection", "singleSelection", "multipleSelection"]
- Default value: "noSelection".
- **Important:** This is an enhancement to `enablePageSelection`. Do not use this with `enablePageSelection`. If both are provided, `pageSelectionMode` takes precedence.

#### Sample

```js
Expand Down
29 changes: 29 additions & 0 deletions docs/embed-library-main-page/embed-library-properties.md
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,10 @@ Specifies the page on the sidebar entries that you want to embed.
targetGroup: {
id: "string",
name: "string",
},
targetFolder: {
projectId: "string",
folderId: "string",
}
};
```
Expand All @@ -484,13 +488,22 @@ Specifies the page on the sidebar entries that you want to embed.

- `currentPage.targetGroup.name`: The name of the group the user wants to select.

- `currentPage.targetFolder`: This field is only applicable when `currentPage.key` is
'contentDiscovery'. It navigates the embedded Library page directly to the specified folder.

- `currentPage.targetFolder.projectId`: The ID of the project that contains the target folder.

- `currentPage.targetFolder.folderId`: The ID of the folder to navigate to.

#### Required?

- `currentPage`: Not required
- `currentPage.key`: Required if `currentPage` is provided
- `currentPage.targetGroup.id` and `currentPage.targetGroup.name`: The user must at least provide
one of them. When both of them are provided, `currentPage.targetGroup.id` would have higher
priority.
- `currentPage.targetFolder.projectId` and `currentPage.targetFolder.folderId`: Both are required
when `targetFolder` is provided.

#### Default value

Expand All @@ -512,6 +525,22 @@ microstrategy.embeddingContexts.embedLibraryPage({
});
```

To navigate directly to a specific folder on the Content Discovery page:

```js
microstrategy.embeddingContexts.embedLibraryPage({
serverUrl: url,
placeholder: container,
currentPage: {
key: "contentDiscovery",
targetFolder: {
projectId: "B7CA92F04B9FAE8D941C3E9B7E0CD754",
folderId: "8A1831FF494F9B8100C2A0B76041F1F0",
},
},
});
```

### `settings`

Configure global settings for the embedded library page.
Expand Down
86 changes: 84 additions & 2 deletions docs/native-embedding-architecture/apply-filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Filters can be applied both during the execution of an embedded das

<Available since="2021 Update 9 (May 2023)"/>

Filters can be applied both during the execution of an embedded dashboard and after it has been rendered. After using [Native Embedding SDK](embed-multiple-viz.md) to embed multiple visualizations in a client's webpage, you can manipulate the chapter-level filters, on-page selectors, and visualizations used as filters via the Native Embedding SDK available since 2021 Update 9. For chapter-level filters and on-page selectors, Strategy only supports attribute element list selectors.
Filters can be applied both during the execution of an embedded dashboard and after it has been rendered. After using [Native Embedding SDK](embed-multiple-viz.md) to embed multiple visualizations in a client's webpage, you can manipulate the chapter-level filters, on-page selectors, and visualizations used as filters via the Native Embedding SDK available since 2021 Update 9.

Let's say you already have the `MstrEnvironment` and `MstrDossier` objects:

Expand Down Expand Up @@ -125,11 +125,12 @@ The filter has different types below:

- Attribute element filter
- Metric qualification filter
- Attribute qualification filter
- Object replacement selector
- Value parameter filter
- Visualizations as filters

So we have 5 different filter types in together. For all those filters, you can get its filter key(or visualization key for visualization as filters) from the dashboard definition with the `MstrDossier.getDossierDefinition()` function.
So there are 6 different filter types in total. For all those filters, you can get the filter key (or visualization key for visualizations used as filters) from the dashboard definition with the `MstrDossier.getDossierDefinition()` function.

The sections below show the input details for each filter type.

Expand Down Expand Up @@ -282,6 +283,87 @@ Some examples:
}
```

### Attribute qualification filter

To apply selections on an attribute qualification filter, you can use the following input:

```js
try {
await mstrDossier.applyFilter({
key: `${filterKey}`, // Required
currentSelection: {
selectionStatus: "<string>", // optional, values: ['included', 'unfiltered'], default: 'included'
expression: {
operator: "<string>", // The attribute qualification operator/function
operands: "<array>", // The attribute qualification operation nodes
},
},
});
} catch (error) {
// Your own error handling code
}
```

For attribute qualification filters, `currentSelection.expression` is required when `selectionStatus` is not `unfiltered`.

Some examples:

- Apply an attribute qualification

```js
try {
await mstrDossier.applyFilter({
key: "W76", // Required
currentSelection: {
selectionStatus: "included",
expression: {
operator: "Between",
operands: [
{
type: "form",
attribute: {
id: "96ED3EC811D5B117C000E78A4CC5F24F",
name: "Daytime",
},
form: {
id: "45C11FA478E745FEA08D781CEA190FE5",
name: "ID",
},
},
{
type: "constant",
dataType: "TimeStamp",
value: "1/1/2016 12:00:14 AM",
},
{
type: "constant",
dataType: "TimeStamp",
value: "12/31/2016 11:59:59 PM",
},
],
},
},
});
} catch (error) {
// Your own error handling code
}
```

- Unset the selection of the selector

```js
try {
await mstrDossier.applyFilter({
key: "W76",
currentSelection: {
selectionStatus: "unfiltered",
},
});
} catch (error) {
// Your own error handling code
}
```

### Object replacement selector

To apply selections on an object replacement selector inside a page, you can use the following input:
Expand Down
14 changes: 14 additions & 0 deletions docs/whats-new-in-the-embedding-sdk.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,20 @@ description: In each release, changes are made to make the MicroStrategy SDK mor

In each release, changes are made to make the MicroStrategy SDK more powerful and easier to use.

## Strategy September 2026

- [Support `currentPage.targetFolder` for embedded Library page](./embed-library-main-page/embed-library-properties.md#currentpage)
- Navigate directly to a specific folder on the Content Discovery page when embedding the Library home page.

## Strategy August 2026

- Introduce `pageSelectionMode` to enable page selection on a dashboard consumption page.

## Strategy ONE July 2026

- [Support attribute qualification filter](./native-embedding-architecture/apply-filter#attribute-qualification-filter)
- Users can apply an attribute qualification filter in the Native Embedding SDK.

## Strategy ONE June 2026

- [Support native incremental rendering](./native-embedding-architecture/incremental-rendering)
Expand Down
Loading