Some ignored filles was missing
This commit is contained in:
parent
7db22245e2
commit
fd5ab6bc0d
268 changed files with 31970 additions and 4 deletions
80
wwwroot/js/managers/SimpleEventOverlapManager.d.ts
vendored
Normal file
80
wwwroot/js/managers/SimpleEventOverlapManager.d.ts
vendored
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
/**
|
||||
* SimpleEventOverlapManager - Clean, focused overlap management
|
||||
* Eliminates complex state tracking in favor of direct DOM manipulation
|
||||
*/
|
||||
import { CalendarEvent } from '../types/CalendarTypes';
|
||||
export declare enum OverlapType {
|
||||
NONE = "none",
|
||||
COLUMN_SHARING = "column_sharing",
|
||||
STACKING = "stacking"
|
||||
}
|
||||
export interface OverlapGroup {
|
||||
type: OverlapType;
|
||||
events: CalendarEvent[];
|
||||
position: {
|
||||
top: number;
|
||||
height: number;
|
||||
};
|
||||
}
|
||||
export interface StackLink {
|
||||
prev?: string;
|
||||
next?: string;
|
||||
stackLevel: number;
|
||||
}
|
||||
export declare class SimpleEventOverlapManager {
|
||||
private static readonly STACKING_WIDTH_REDUCTION_PX;
|
||||
/**
|
||||
* Detect overlap type between two DOM elements - pixel-based logic
|
||||
*/
|
||||
resolveOverlapType(element1: HTMLElement, element2: HTMLElement): OverlapType;
|
||||
/**
|
||||
* Group overlapping elements - pixel-based algorithm
|
||||
*/
|
||||
groupOverlappingElements(elements: HTMLElement[]): HTMLElement[][];
|
||||
/**
|
||||
* Create flexbox container for column sharing - clean and simple
|
||||
*/
|
||||
createEventGroup(events: CalendarEvent[], position: {
|
||||
top: number;
|
||||
height: number;
|
||||
}): HTMLElement;
|
||||
/**
|
||||
* Add event to flexbox group - simple relative positioning
|
||||
*/
|
||||
addToEventGroup(container: HTMLElement, eventElement: HTMLElement): void;
|
||||
/**
|
||||
* Create stacked event with data-attribute tracking
|
||||
*/
|
||||
createStackedEvent(eventElement: HTMLElement, underlyingElement: HTMLElement, stackLevel: number): void;
|
||||
/**
|
||||
* Remove stacked styling with proper stack re-linking
|
||||
*/
|
||||
removeStackedStyling(eventElement: HTMLElement): void;
|
||||
/**
|
||||
* Update stack levels for all events following a given event ID
|
||||
*/
|
||||
private updateSubsequentStackLevels;
|
||||
/**
|
||||
* Check if element is stacked - check both style and data-stack-link
|
||||
*/
|
||||
isStackedEvent(element: HTMLElement): boolean;
|
||||
/**
|
||||
* Remove event from group with proper cleanup
|
||||
*/
|
||||
removeFromEventGroup(container: HTMLElement, eventId: string): boolean;
|
||||
/**
|
||||
* Restack events in container - respects separate stack chains
|
||||
*/
|
||||
restackEventsInContainer(container: HTMLElement): void;
|
||||
/**
|
||||
* Utility methods - simple DOM traversal
|
||||
*/
|
||||
getEventGroup(eventElement: HTMLElement): HTMLElement | null;
|
||||
isInEventGroup(element: HTMLElement): boolean;
|
||||
/**
|
||||
* Helper methods for data-attribute based stack tracking
|
||||
*/
|
||||
getStackLink(element: HTMLElement): StackLink | null;
|
||||
private setStackLink;
|
||||
private findElementById;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue