Timeline.d.ts 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import { Dayjs } from 'dayjs';
  2. import { LitElement, TemplateResult } from 'lit-element';
  3. import { Event, IEvent } from './Event';
  4. import { Ressource, IRessource } from './Ressource';
  5. export { HorizontalResizer } from './components/horizontal-resizer';
  6. export interface TimelineOptions {
  7. ressources?: Array<IRessource>;
  8. items?: Array<IEvent>;
  9. }
  10. interface TimelineContent {
  11. ressources: Array<Ressource>;
  12. items: Array<Event>;
  13. }
  14. declare type dayjsUnit = "y" | "M" | "d" | "h" | "m" | 's';
  15. export declare type UnitLegend = {
  16. [k in dayjsUnit]: string;
  17. };
  18. declare class Timeline extends LitElement {
  19. static styles: import("lit-element").CSSResult[];
  20. private rows;
  21. private items;
  22. private selectedList;
  23. ressourceWidth: number;
  24. private _start;
  25. get start(): string;
  26. set start(value: string);
  27. private _end;
  28. get end(): string;
  29. set end(value: string);
  30. private _slotDuration;
  31. get slotDuration(): number;
  32. set slotDuration(value: number);
  33. private _legendSpan;
  34. get legendSpan(): number;
  35. set legendSpan(value: number);
  36. private rowHeight;
  37. slotWidth: number;
  38. private rowsTitle;
  39. private legendUnitFormat;
  40. private legend;
  41. constructor(options?: TimelineOptions);
  42. set defaultBackground(value: string);
  43. get defaultBackground(): string;
  44. setLegendUnitFormatAll(legend: Partial<UnitLegend>): void;
  45. setLegendUnitFormat(unit: dayjsUnit, format: string): void;
  46. addRessources(list: Array<IRessource>): Array<Ressource>;
  47. addRessource(ressource: IRessource): Ressource;
  48. removeRessourceById(id: string): TimelineContent;
  49. _removeRessourceById(id: string, depth?: number): TimelineContent;
  50. getRessources(): Array<Ressource>;
  51. getRessourceFromId(id: string): Ressource | null;
  52. setRowsTitle(title: string): void;
  53. getEventById(id: string): Event | undefined;
  54. addEvents(list: Array<IEvent>): Array<Event | undefined>;
  55. addEvent(event: IEvent): Event | undefined;
  56. removeEventById(id: string): Array<Event>;
  57. updateEventById(id: string): Event | null;
  58. private _updateEventPosition;
  59. getEvents(): Array<Event>;
  60. updateLegend(): void;
  61. _handleResizeX(e: CustomEvent<number>): void;
  62. _grabHeader(e: MouseEvent): void;
  63. _getEventResizerHandler(slot: Event, direction: "end" | "start"): (evt: MouseEvent) => void;
  64. _getEventGrabHandler(slot: Event, editable: boolean, ressourceEditable: boolean, callback: (e: MouseEvent, wasModified: boolean) => void): (evt: MouseEvent) => void;
  65. private _clearSelectedItems;
  66. private _clearSelectionHandler;
  67. private _getEventClickHandler;
  68. firstUpdated(): void;
  69. renderTimeslot(evt: Event): TemplateResult;
  70. _getCollapseRessourceHandler(item: Ressource): (e: MouseEvent) => void;
  71. _onRessourceDragStart(item: Ressource): (event: DragEvent) => void;
  72. _onRessourceDragEnter(event: DragEvent): void;
  73. _onRessourceDragLeave(event: DragEvent): void;
  74. _onRessourceDrop(event: DragEvent): void;
  75. renderRessource(item: Ressource): TemplateResult;
  76. renderGridRow(columns: Array<Dayjs>, rowId?: number, height?: number): TemplateResult;
  77. render(): TemplateResult;
  78. }
  79. export default Timeline;