cheetah-grid
Version:
Cheetah Grid is a high performance grid engine that works on canvas
47 lines (45 loc) • 1.51 kB
text/typescript
import type { CheckHeaderStyleOption, ColorDef } from "../../ts-types";
import { StdTextBaseStyle } from "./StdTextBaseStyle";
import { defaults } from "../../internal/utils";
let defaultStyle: CheckHeaderStyle;
export class CheckHeaderStyle extends StdTextBaseStyle {
private _uncheckBgColor?: ColorDef;
private _checkBgColor?: ColorDef;
private _borderColor?: ColorDef;
static get DEFAULT(): CheckHeaderStyle {
return defaultStyle
? defaultStyle
: (defaultStyle = new CheckHeaderStyle());
}
constructor(style: CheckHeaderStyleOption = {}) {
super(defaults(style, { textAlign: "center" }));
const { uncheckBgColor, checkBgColor, borderColor } = style;
this._uncheckBgColor = uncheckBgColor;
this._checkBgColor = checkBgColor;
this._borderColor = borderColor;
}
get uncheckBgColor(): ColorDef | undefined {
return this._uncheckBgColor;
}
set uncheckBgColor(uncheckBgColor: ColorDef | undefined) {
this._uncheckBgColor = uncheckBgColor;
this.doChangeStyle();
}
get checkBgColor(): ColorDef | undefined {
return this._checkBgColor;
}
set checkBgColor(checkBgColor: ColorDef | undefined) {
this._checkBgColor = checkBgColor;
this.doChangeStyle();
}
get borderColor(): ColorDef | undefined {
return this._borderColor;
}
set borderColor(borderColor: ColorDef | undefined) {
this._borderColor = borderColor;
this.doChangeStyle();
}
clone(): CheckHeaderStyle {
return new CheckHeaderStyle(this);
}
}