@microsoft/mgt
Version:
The Microsoft Graph Toolkit
216 lines (215 loc) • 6.34 kB
TypeScript
/**
* -------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License.
* See License in the project root for license information.
* -------------------------------------------------------------------------------------------
*/
import { PlannerTask } from '@microsoft/microsoft-graph-types';
import { OutlookTask } from '@microsoft/microsoft-graph-types-beta';
import { MgtTemplatedComponent } from '../templatedComponent';
import '../mgt-person/mgt-person';
import '../sub-components/mgt-arrow-options/mgt-arrow-options';
import '../sub-components/mgt-dot-options/mgt-dot-options';
import '../sub-components/mgt-flyout/mgt-flyout';
/**
* Defines how a person card is shown when a user interacts with
* a person component
*
* @export
* @enum {number}
*/
export declare enum TasksSource {
/**
* Use Microsoft Planner
*/
planner = 0,
/**
* Use Microsoft To-Do
*/
todo = 1
}
/**
* component enables the user to view, add, remove, complete, or edit tasks. It works with tasks in Microsoft Planner or Microsoft To-Do.
*
* @export
* @class MgtTasks
* @extends {MgtBaseComponent}
*/
export declare class MgtTasks extends MgtTemplatedComponent {
/**
* determines whether todo, or planner functionality for task component
*
* @readonly
* @memberof MgtTasks
*/
get res(): {
BASE_SELF_ASSIGNED: string;
BUCKETS_SELF_ASSIGNED: string;
BUCKET_NOT_FOUND: string;
PLANS_SELF_ASSIGNED: string;
PLAN_NOT_FOUND: string;
};
/**
* Array of styles to apply to the element. The styles should be defined
* using the `css` tag function.
*/
static get styles(): import("lit-element").CSSResult[];
/**
* Get whether new task view is visible
*
* @memberof MgtTasks
*/
get isNewTaskVisible(): boolean;
/**
* Set whether new task is visible
*
* @memberof MgtTasks
*/
set isNewTaskVisible(value: boolean);
/**
* determines if tasks are un-editable
* @type {boolean}
*/
readOnly: boolean;
/**
* determines which task source is loaded, either planner or todo
* @type {string}
*/
dataSource: TasksSource;
/**
* if set, the component will only show tasks from either this plan or group
* @type {string}
*/
targetId: string;
/**
* if set, the component will only show tasks from this bucket or folder
* @type {string}
*/
targetBucketId: string;
/**
* if set, the component will first show tasks from this plan or group
*
* @type {string}
* @memberof MgtTasks
*/
initialId: string;
/**
* if set, the component will first show tasks from this bucket or folder
*
* @type {string}
* @memberof MgtTasks
*/
initialBucketId: string;
/**
* sets whether the header is rendered
*
* @type {boolean}
* @memberof MgtTasks
*/
hideHeader: boolean;
/**
* allows developer to define specific group id
*/
groupId: string;
/**
* Optional filter function when rendering tasks
*
* @memberof MgtTasks
*/
taskFilter: (task: PlannerTask | OutlookTask) => boolean;
private _isNewTaskVisible;
private _newTaskBeingAdded;
private _newTaskName;
private _newTaskDueDate;
private _newTaskGroupId;
private _newTaskFolderId;
private _groups;
private _folders;
private _tasks;
private _hiddenTasks;
private _loadingTasks;
private _inTaskLoad;
private _hasDoneInitialLoad;
private _todoDefaultSet;
private _currentGroup;
private _currentFolder;
private _currentTask;
private isPeoplePickerVisible;
private _me;
private providerUpdateCallback;
private handleWindowClick;
constructor();
/**
* updates provider state
*
* @memberof MgtTasks
*/
connectedCallback(): void;
/**
* removes updates on provider state
*
* @memberof MgtTasks
*/
disconnectedCallback(): void;
/**
* Synchronizes property values when attributes change.
*
* @param {*} name
* @param {*} oldValue
* @param {*} newValue
* @memberof MgtTasks
*/
attributeChangedCallback(name: string, oldVal: string, newVal: string): void;
/**
* Invoked when the element is first updated. Implement to perform one time
* work on the element after update.
*
* Setting properties inside this method will trigger the element to update
* again after this update cycle completes.
*
* * @param _changedProperties Map of changed properties with old values
*/
protected firstUpdated(): void;
/**
* Invoked on each update to perform rendering tasks. This method must return
* a lit-html TemplateResult. Setting properties inside this method will *not*
* trigger the element to update.
*/
protected render(): import("lit-element").TemplateResult;
/**
* loads tasks from dataSource
*
* @returns
* @memberof MgtTasks
*/
private loadTasks;
private _loadTargetTodoTasks;
private _loadTargetPlannerTasks;
private _loadAllTasks;
private _loadTasksForGroup;
private addTask;
private completeTask;
private uncompleteTask;
private removeTask;
private assignPeople;
private onAddTaskClick;
private renderPlanOptions;
private renderNewTask;
private showPeoplePicker;
private hidePeoplePicker;
private getPeoplePicker;
private getMgtPeople;
private renderTask;
private renderAssignedPeople;
private handleTaskClick;
private renderLoadingTask;
private renderPlannerIcon;
private renderBucketIcon;
private renderCalendarIcon;
private getTaskSource;
private getPlanTitle;
private getFolderName;
private isTaskInSelectedGroupFilter;
private isTaskInSelectedFolderFilter;
private dateToInputValue;
}