cheetah-grid
Version:
Cheetah Grid is a high performance grid engine that works on canvas
37 lines (34 loc) • 989 B
text/typescript
import type {
BaseStyleOption,
CheckHeaderStyleOption,
HeaderStyleOption,
SortHeaderStyleOption,
} from "../ts-types";
import { BaseStyle } from "./style/BaseStyle";
import { CheckHeaderStyle } from "./style/CheckHeaderStyle";
import { MultilineTextHeaderStyle } from "./style/MultilineTextHeaderStyle";
import { SortHeaderStyle } from "./style/SortHeaderStyle";
import { Style } from "./style/Style";
export {
BaseStyle,
Style,
SortHeaderStyle,
CheckHeaderStyle,
MultilineTextHeaderStyle,
};
export type { BaseStyleOption, CheckHeaderStyleOption, SortHeaderStyleOption };
export function of(
headerStyle: HeaderStyleOption | null | undefined,
StyleClass: typeof BaseStyle
): BaseStyle {
if (headerStyle) {
if (headerStyle instanceof Style) {
return headerStyle;
} else if (typeof headerStyle === "function") {
return of(headerStyle(), StyleClass);
}
return new StyleClass(headerStyle);
} else {
return StyleClass.DEFAULT;
}
}