@lovebowls/leagueelements
Version:
League Elements package for LoveBowls
126 lines • 3.77 kB
TypeScript
export default LeagueMatch;
declare class LeagueMatch extends HTMLElement {
static get observedAttributes(): string[];
shadow: ShadowRoot;
_match: any;
_teams: any[];
_open: boolean;
_isMobile: boolean;
_mode: string;
_error: string;
_attentionReason: any;
_boundOnKeydown: (e: any) => void;
_firstFocusableElement: any;
_lastFocusableElement: any;
_rinkResults: any[];
_leagueSettings: {};
/**
* @param {Object} value
*/
set match(value: Object);
get match(): Object;
_initializeRinkResults(): void;
_generateDefaultRinkResults(): {
rinkNumber: number;
homeShots: number;
awayShots: number;
}[];
/**
* @param {Object} value - The league settings object
*/
set leagueSettings(value: Object);
get leagueSettings(): Object;
get rinkPointsEnabled(): boolean;
get defaultRinks(): any;
get pointsPerRinkWin(): any;
get pointsPerRinkDraw(): any;
get pointsForMatchWin(): any;
get pointsForMatchDraw(): any;
get pointsForMatchLoss(): any;
/**
* @param {Array<string>} value
*/
set teams(value: Array<string>);
get teams(): Array<string>;
/**
* @param {boolean} value
*/
set open(value: boolean);
get open(): boolean;
/**
* @param {boolean} value
*/
set isMobile(value: boolean);
get isMobile(): boolean;
/**
* @param {'edit'|'new'} value
*/
set mode(value: "edit" | "new");
get mode(): "edit" | "new";
/**
* @param {string | null} value
*/
set attentionReason(value: string | null);
get attentionReason(): string | null;
attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
connectedCallback(): void;
/**
* Show an error message in the modal.
* @param {string} msg
*/
showError(msg: string): void;
/**
* Clear the error message.
*/
clearError(): void;
/**
* Handle OK button click: validate and emit 'match-save' event.
* @private
*/
private _onOk;
/**
* Handle Cancel button click: emit 'match-cancel' event.
* @private
*/
private _onCancel;
render(): void;
/**
* Handles input changes for rink results
* @param {number} rinkIndex - Index of the rink in the _rinkResults array
* @param {string} field - Field to update ('homeShots' or 'awayShots')
* @param {string|number} value - New value for the field
*/
_onRinkInput(rinkIndex: number, field: string, value: string | number): void;
/**
* Renders the rink results rows
* @returns {string} HTML string for the rink results
*/
_renderRinkResults(): string;
/**
* Formats a number for display, removing trailing `.0`.
* @param {number} num The number to format.
* @returns {string} The formatted number as a string.
*/
_formatNumber(num: number): string;
/**
* Updates the total shots and points based on rink results
*/
_updateRinkTotals(): void;
/**
* Calculates the total shots for a team
* @param {'home'|'away'} team - The team to calculate shots for
* @returns {number} Total shots
*/
_calculateTotalShots(team: "home" | "away"): number;
/**
* Calculates the total points for a team based on rink results
* @param {'home'|'away'} team - The team to calculate points for
* @returns {number} Total points
*/
_calculateTotalPoints(team: "home" | "away"): number;
_onKeydown(e: any): void;
_escapeHtml(str: any): string;
_focusFirstElement(): void;
_updateDisabledOptions(changedSelect: any, otherSelect: any): void;
}
//# sourceMappingURL=leagueMatch.d.ts.map