Events
17 Mar, 21 - 21 Mar, 10
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
The Planner component enables the user to view, add, remove, complete, or edit tasks from Microsoft Planner.
In addition, a user is able to assign a single or multiple Microsoft Graph users to a task. For more information about Microsoft Graph assignments, see plannerAssignments.
Important
With the release of @microsoft/mgt-components
version 4, the planner component replaces the old task component and no longer supports using Outlook Tasks as a data source.
The following example displays the signed-in user's Microsoft Planner tasks using the mgt-planner
component. You can use the code editor to see how properties change the behavior of the component.
Attribute | Property | Description |
---|---|---|
read-only | readOnly | A Boolean to set the task interface to be read only (no adding or removing tasks). Default is false . |
hide-header | hideHeader | A Boolean to show or hide the header of the component. Default is false . |
hide-options | hideOptions | A Boolean to show or hide the options in tasks. Default is false . |
initial-id="planner_id/folder_id" | initialId | A string ID to set the initially displayed plan to the provided ID. |
initial-bucket-id="bucket_id" | initialBucketId | A string ID to set the initially displayed bucket to the provided ID. |
target-id="planner_id/folder_id" | targetId | A string ID to lock the tasks interface to the provided plan ID. |
target-bucket-id="bucket_id" | targetBucketId | A string ID to lock the tasks interface to the provided bucket ID. |
group-id | groupId | A string ID to lock the tasks interface to the group ID. |
- | isNewTaskVisible | Determines whether new task view is visible at render. |
- | taskFilter | An optional function to filter which tasks are shown to the user. |
The following example shows only tasks from Planner with ID 12345 and doesn't allow the user to create new tasks.
<mgt-planner read-only initial-id="12345"></mgt-planner>
The following example shows how to filter tasks that have only category3 set.
let taskView = document.querySelector("mgt-planner");
taskView.taskFilter = (task) => task.appliedCategories.category3 === true;
<mgt-planner class="tasks"></mgt-planner>
.tasks {
--tasks-header-padding: 28px 14px;
--tasks-header-margin: 0 14px;
--tasks-header-font-size: large;
--tasks-header-font-weight: 800;
--tasks-header-text-color: blue;
--tasks-header-text-hover-color: gray;
--tasks-new-button-width: 300px;
--tasks-new-button-height: 50px;
--tasks-new-button-text-color: orange;
--tasks-new-button-text-font-weight: 400;
--tasks-new-button-background: black;
--tasks-new-button-border: 2px dotted golden;
--tasks-new-button-background-hover: gray;
--tasks-new-button-background-active: red;
--task-add-new-button-width: 60px;
--task-add-new-button-height: 35px;
--task-add-new-button-text-color: orange;
--task-add-new-button-text-font-weight: 400;
--task-add-new-button-background: black;
--task-add-new-button-border: 2px dotted white;
--task-add-new-button-background-hover: gray;
--task-add-new-button-background-active: red;
--task-cancel-new-button-width: 60px;
--task-cancel-new-button-height: 35px;
--task-cancel-new-button-text-color: yellow;
--task-cancel-new-button-text-font-weight: 400;
--task-cancel-new-button-background: red;
--task-cancel-new-button-border: 2px dashed white;
--task-cancel-new-button-background-hover: brown;
--task-cancel-new-button-background-active: red;
--task-complete-checkbox-background-color: red;
--task-complete-checkbox-text-color: yellow;
--task-incomplete-checkbox-background-color: orange;
--task-incomplete-checkbox-background-hover-color: yellow;
--task-title-text-font-size: large;
--task-title-text-font-weight: 500;
--task-complete-title-text-color: green;
--task-incomplete-title-text-color: purple;
--task-icons-width: 32px;
--task-icons-height: 32px;
--task-icons-background-color: purple;
--task-icons-text-font-color: black;
--task-icons-text-font-size: 16px;
--task-icons-text-font-weight: 400;
--task-complete-background-color: powderblue;
--task-incomplete-background-color: salmon;
--task-complete-border: 2px dashed green;
--task-incomplete-border: 2px double red;
--task-complete-border-radius: 8px;
--task-incomplete-border-radius: 12px;
--task-complete-padding: 8px;
--task-incomplete-padding: 12px;
--tasks-gap: 8px;
--tasks-background-color: violet;
--tasks-border: 2px dashed green;
--tasks-border-radius: 12px;
--tasks-padding: 16px;
/** affects the date picker and the text-input field **/
--task-new-input-border: 2px solid green;
--task-new-input-border-radius: 8px;
--task-new-input-background-color: yellow;
--task-new-input-hover-background-color: yellowgreen;
--task-new-input-placeholder-color: black;
/** affects the date picker and the text-input field **/
--task-new-dropdown-border: 2px solid green;
--task-new-dropdown-border-radius: 8px;
--task-new-dropdown-background-color: yellow;
--task-new-dropdown-hover-background-color: yellowgreen;
--task-new-dropdown-placeholder-color: red;
--task-new-dropdown-option-text-color: blue;
--task-new-dropdown-list-background-color: yellow;
--task-new-dropdown-option-hover-background-color: yellowgreen;
--task-new-person-icon-text-color: blue;
--task-new-person-icon-color: blue;
/** affects the options menu */
--dot-options-menu-background-color: yellow;
--dot-options-menu-shadow-color: yellow;
--dot-options-menu-item-color: maroon;
--dot-options-menu-item-hover-background-color: white;
}
To learn more, see styling components.
Event | When is it emitted | Custom data | Cancelable | Bubbles | Works with custom template |
---|---|---|---|---|---|
taskAdded |
Fires when a new task is created | Newly created plannerTask | No | No | Yes |
taskChanged |
Fires when task metadata is changed, such as marking completed | Updated a plannerTask | No | No | No |
taskClick |
Fires when the user selects a task | task property with the selected plannerTask |
No | No | No |
taskRemoved |
Fires when an existing task is deleted | task property with the selected plannerTask |
No | No | No |
For more information about handling events, see events.
The planner
component supports several templates that allow you to replace certain parts of the component. To specify a template, include a <template>
element inside a component and set the data-type
property to one of the following values:
Data type | Data context | Description |
---|---|---|
task | task: a planner task object | replaces the whole default task. |
task-details | task: a planner task object | template replaces the details section of the task. |
The following example defines a template for the planner component.
<mgt-planner>
<template data-type="task-details">
<div>Owner: {{task.owner}}</div>
<div>Importance Level: {{task.importance}}</div>
</template>
</mgt-planner>
This control uses the following Microsoft Graph APIs and permissions. For each API called, the user must have at least one of the listed permissions.
Configuration | Permission | API |
---|---|---|
in all configurations | User.Read, User.ReadWrite | /me |
default behavior | Tasks.Read, Group.Read.All, Tasks.ReadWrite, Group.ReadWrite.All | /me/planner/plans, /planner/plans/${planId}/buckets, /planner/buckets/${bucketId}/tasks |
groupId set |
Tasks.Read, Group.Read.All, Tasks.ReadWrite, Group.ReadWrite.All | /groups/${group-id}/planner/plans, /planner/plans/${planId}/buckets, /planner/buckets/${bucketId}/tasks |
targetId set |
Tasks.Read, Group.Read.All, Tasks.ReadWrite, Group.ReadWrite.All | /planner/plans/${planId}, /planner/plans/${planId}/buckets, /planner/buckets/${bucketId}/tasks |
create, update, or delete task | Tasks.ReadWrite, Group.ReadWrite.All | POST /planner/tasks, PATCH /planner/tasks/${taskId}, DELETE /planner/tasks/${taskId} |
The mgt-tasks
component consists of one or more subcomponents that might require other permissions than the ones listed previously. For more information, see the documentation for each subcomponent:
The tasks component uses the global authentication provider described in the authentication documentation.
The mgt-tasks
component doesn't cache any data.
The control exposes the following variables that can be localized. For details about localization, see Localizing components.
String name | Default value |
---|---|
removeTaskSubtitle | Delete Task |
cancelNewTaskSubtitle | Cancel |
newTaskPlaceholder | Adding a task... |
addTaskButtonSubtitle | Add |
due | Due |
addTaskDate | Add the task date |
assign | Assign |
planNotFound | Plan not found |
plansSelfAssigned | All Plans |
bucketNotFound | Bucket not found |
bucketsSelfAssigned | All Tasks |
baseSelfAssigned | Assigned to Me |
Events
17 Mar, 21 - 21 Mar, 10
Join the meetup series to build scalable AI solutions based on real-world use cases with fellow developers and experts.
Register nowTraining
Module
Customize the presentation of Microsoft Graph Toolkit components by using templates - Training
Microsoft Graph Toolkit components are flexible for customization. You can change the presentation of Microsoft Graph Toolkit components by using templates and learn troubleshooting techniques for rendering.