UNPKG

@microsoft/mgt

Version:
216 lines (215 loc) • 6.34 kB
/** * ------------------------------------------------------------------------------------------- * 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; }