d2coreui 21.0.32 → 21.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/color/colorPicker.js +1 -1
- package/components/color/colorPicker.js.map +1 -1
- package/components/date/dateRangeInputConfirm.js +1 -1
- package/components/date/dateRangeInputConfirm.js.map +1 -1
- package/components/date/dateTimeInput.js +1 -1
- package/components/date/dateTimeInput.js.map +1 -1
- package/components/grid/config/dataGridEditor.js +1 -1
- package/components/grid/config/dataGridEditor.js.map +1 -1
- package/components/grid/dataGrid.js +1 -1
- package/components/grid/dataGrid.js.map +1 -1
- package/components/grid/panel/tablePagination.js +1 -1
- package/components/grid/panel/tablePagination.js.map +1 -1
- package/components/modal/impl/draggableModalInner.d.ts +1 -1
- package/components/modal/impl/draggableModalInner.js +6 -6
- package/components/modal/impl/draggableModalInner.js.map +1 -1
- package/components/scrollTo/scrollTo.js +1 -1
- package/components/scrollTo/scrollTo.js.map +1 -1
- package/package.json +1 -1
|
@@ -31,7 +31,7 @@ export default class ColorPicker extends React.Component {
|
|
|
31
31
|
}
|
|
32
32
|
render() {
|
|
33
33
|
var _a;
|
|
34
|
-
return (React.createElement(Popover, { placement: this.props.placement, trigger: this.props.disabled ? "" : "click",
|
|
34
|
+
return (React.createElement(Popover, { placement: this.props.placement, trigger: this.props.disabled ? "" : "click", open: this.state.popupVisible, onOpenChange: (visible) => {
|
|
35
35
|
this.setState({ popupVisible: visible });
|
|
36
36
|
}, title: React.createElement("div", null,
|
|
37
37
|
this.props.title,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorPicker.js","sourceRoot":"","sources":["../../../../components/color/colorPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAW,YAAY,EAAC,MAAM,aAAa,CAAC;AAInD,MAAM,0BAA0B,GAAG,6LAA6L,CAAA;AAChO,MAAM,YAAY,GAAG;IACjB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5G,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAC/G,CAAC;AAgBF,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,KAAK,CAAC,SAA6C;IACxF,YAAY,KAAiC;QACzC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,YAAY,EAAE,KAAK;SACtB,CAAA;IACL,CAAC;IAEO,cAAc,CAAC,KAAoC;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC;SAC9D;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED,MAAM;;QACF,OAAO,CACH,oBAAC,OAAO,IACJ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAC3C,
|
|
1
|
+
{"version":3,"file":"colorPicker.js","sourceRoot":"","sources":["../../../../components/color/colorPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport i18n from \"d2core/i18n/i18n\";\nimport {Badge, Button, Popover} from \"antd\";\nimport {CloseOutlined, StopOutlined} from \"@ant-design/icons\";\nimport {RGBColor, SketchPicker} from \"react-color\";\nimport {SketchPickerProps} from \"react-color/lib/components/sketch/Sketch\";\nimport {TooltipPlacement} from \"antd/lib/tooltip\";\n\nconst transparentBackgroundStyle = \"url(\\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==\\\") left center\"\nconst presetColors = [\n \"#fff1f0\", \"#ffccc7\", \"#ffa39e\", \"#ff7875\", \"#ff4d4f\", \"#f5222d\", \"#cf1322\", \"#a8071a\", \"#820014\", \"#5c0011\",\n \"#fff2e8\", \"#ffd8bf\", \"#ffbb96\", \"#ff9c6e\", \"#ff7a45\", \"#fa541c\", \"#d4380d\", \"#ad2102\", \"#871400\", \"#610b00\",\n \"#fff7e6\", \"#ffe7ba\", \"#ffd591\", \"#ffc069\", \"#ffa940\", \"#fa8c16\", \"#d46b08\", \"#ad4e00\", \"#873800\", \"#612500\",\n \"#feffe6\", \"#ffffb8\", \"#fffb8f\", \"#fff566\", \"#ffec3d\", \"#fadb14\", \"#d4b106\", \"#ad8b00\", \"#876800\", \"#614700\",\n \"#f6ffed\", \"#d9f7be\", \"#b7eb8f\", \"#95de64\", \"#73d13d\", \"#52c41a\", \"#389e0d\", \"#237804\", \"#135200\", \"#092b00\",\n \"#e6fffb\", \"#b5f5ec\", \"#87e8de\", \"#5cdbd3\", \"#36cfc9\", \"#13c2c2\", \"#08979c\", \"#006d75\", \"#00474f\", \"#002329\",\n \"#e6f7ff\", \"#bae7ff\", \"#91d5ff\", \"#69c0ff\", \"#40a9ff\", \"#1890ff\", \"#096dd9\", \"#0050b3\", \"#003a8c\", \"#002766\",\n \"#ffffff\", \"#fafafa\", \"#f5f5f5\", \"#e8e8e8\", \"#d9d9d9\", \"#bfbfbf\", \"#8c8c8c\", \"#595959\", \"#262626\", \"#000000\",\n];\n\ninterface ColorPickerProps extends SketchPickerProps {\n badgeIcon?: React.ReactNode\n title: string\n placement?: TooltipPlacement\n disabled?: boolean\n transparentColorAllowed?: boolean\n\n onResetColor(): void\n}\n\ninterface ColorPickerState {\n popupVisible: boolean\n}\n\nexport default class ColorPicker extends React.Component<ColorPickerProps, ColorPickerState> {\n constructor(props: Readonly<ColorPickerProps>) {\n super(props);\n\n this.state = {\n popupVisible: false,\n }\n }\n\n private getColorString(color: RGBColor | string | undefined): string | undefined {\n if (typeof color === \"object\") {\n return `rgba(${color.r},${color.g},${color.b},${color.a})`;\n } else {\n return color;\n }\n }\n\n render() {\n return (\n <Popover\n placement={this.props.placement}\n trigger={this.props.disabled ? \"\" : \"click\"}\n open={this.state.popupVisible}\n onOpenChange={(visible) => {\n this.setState({popupVisible: visible});\n }}\n title={\n <div>\n {this.props.title}\n <Button\n style={{float: \"right\", paddingLeft: 8, border: \"none\"}}\n size=\"small\"\n title={i18n(\"Close\")}\n onClick={() => {\n this.setState({popupVisible: false});\n }}\n >\n <CloseOutlined/>\n </Button>\n <Button\n style={{background: transparentBackgroundStyle, float: \"right\"}}\n size=\"small\"\n title={i18n(\"Set No Color\")}\n onClick={() => {\n this.props.onResetColor();\n this.setState({popupVisible: false});\n }}\n >\n <StopOutlined style={{color: \"rgba(0,0,0,0.85)\"}}/>\n </Button>\n </div>\n }\n content={\n <SketchPicker\n color={this.props.color}\n width={\"250px\"}\n presetColors={this.props.transparentColorAllowed ? [...presetColors, \"transparent\"] : presetColors}\n onChange={this.props.onChange}\n onChangeComplete={this.props.onChangeComplete}\n />\n }\n >\n <Badge\n className={this.props.className}\n count={this.props.badgeIcon ?\n <span\n className=\"ant-badge-count\"\n style={{color: \"#1890ff\", background: \"#e6f7ff\", borderColor: \"#91d5ff\"}}\n >\n {this.props.badgeIcon}\n </span>\n : undefined\n }\n >\n <Button\n style={{background: this.getColorString(this.props.color as RGBColor | string | undefined) ?? transparentBackgroundStyle}}\n disabled={this.props.disabled}\n title={this.props.title}\n >\n <span role=\"img\" className=\"anticon\"/>\n </Button>\n </Badge>\n </Popover>\n );\n }\n\n}"]}
|
|
@@ -98,7 +98,7 @@ export default class DateRangeInputConfirm extends React.Component {
|
|
|
98
98
|
align = { points: ["tr", "br"], offset: [0, -8] };
|
|
99
99
|
}
|
|
100
100
|
return (React.createElement("span", { onKeyDown: this.onKeyDown },
|
|
101
|
-
React.createElement(Tooltip, { color: "transparent", overlayInnerStyle: { boxShadow: "none", padding: 0 }, key: "date-range-input-" + this.state.inputKeyIndex,
|
|
101
|
+
React.createElement(Tooltip, { color: "transparent", overlayInnerStyle: { boxShadow: "none", padding: 0 }, key: "date-range-input-" + this.state.inputKeyIndex, open: this.confirmButtonsVisible() && !this.state.popupVisible, align: align, title: this.renderConfirmButtons() },
|
|
102
102
|
React.createElement(DateRangeInput, Object.assign({ ref: component => this.dateRangeInput = component, fromValue: this.state.currentFromValue, toValue: this.state.currentToValue, allowClear: allowClear, onInvalidValue: (_) => {
|
|
103
103
|
this.setState({ invalidDatesPresent: true });
|
|
104
104
|
}, onChange: (fromValue, toValue) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateRangeInputConfirm.js","sourceRoot":"","sources":["../../../../components/date/dateRangeInputConfirm.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {Moment} from \"moment\";\nimport {Button, Tooltip} from \"antd\";\nimport {DateTimeUtils} from \"d2core/utils/dateTimeUtils\";\nimport {CheckOutlined} from \"@ant-design/icons\";\nimport i18n from \"d2core/i18n/i18n\";\nimport DateRangeInput, {DateRangeInputMode, DateRangeInputProps} from \"./dateRangeInput\";\nimport {TooltipPlacement} from \"antd/es/tooltip\";\nimport {AlignType} from \"rc-trigger/lib/interface\";\nimport {UndoIcon} from \"../icons/undoIcon\";\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\nimport {Key} from \"ts-key-enum\";\n\ninterface DateRangeInputConfirmProps extends DateRangeInputProps {\n requireConfirmationAtStart?: boolean\n confirmPlacement?: TooltipPlacement\n}\n\ninterface DateRangeInputConfirmState {\n currentFromValue: Moment | null\n currentToValue: Moment | null\n invalidDatesPresent: boolean\n inputKeyIndex: number,\n requireConfirmation: boolean\n\n popupVisible: boolean\n mode: DateRangeInputMode\n}\n\nexport default class DateRangeInputConfirm extends React.Component<DateRangeInputConfirmProps, DateRangeInputConfirmState> {\n private dateRangeInput: DateRangeInput | null = null;\n\n constructor(props: Readonly<DateRangeInputConfirmProps>) {\n super(props);\n this.state = {\n currentFromValue: props.fromValue?.clone() ?? null,\n currentToValue: props.toValue?.clone() ?? null,\n invalidDatesPresent: false,\n inputKeyIndex: 0,\n requireConfirmation: !!props.requireConfirmationAtStart,\n\n popupVisible: false,\n mode: props.defaultMode ?? DateRangeInputMode.SIMPLE,\n };\n\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onConfirm = this.onConfirm.bind(this);\n this.onRevert = this.onRevert.bind(this);\n }\n\n onKeyDown(event: React.KeyboardEvent) {\n if (event.key === Key.Enter) {\n this.onConfirm();\n } else if (event.key === Key.Escape) {\n this.onRevert();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<DateRangeInputProps>) {\n if (DateTimeUtils.toUnixTime(prevProps.fromValue) !== DateTimeUtils.toUnixTime(this.props.fromValue) ||\n DateTimeUtils.toUnixTime(prevProps.toValue) !== DateTimeUtils.toUnixTime(this.props.toValue)) {\n this.setState({\n currentFromValue: this.props.fromValue?.clone() ?? null,\n currentToValue: this.props.toValue?.clone() ?? null\n })\n }\n }\n\n private onConfirm() {\n this.setState({requireConfirmation: false, inputKeyIndex: this.state.inputKeyIndex + 1});\n this.props.onChange?.(this.state.currentFromValue, this.state.currentToValue);\n this.dateRangeInput?.closePopup();\n }\n\n private onRevert() {\n this.setState({\n currentFromValue: this.props.fromValue?.clone() ?? null,\n currentToValue: this.props.toValue?.clone() ?? null,\n invalidDatesPresent: false,\n inputKeyIndex: this.state.inputKeyIndex + 1,\n });\n this.dateRangeInput?.closePopup();\n }\n\n private renderConfirmButtons(size?: SizeType, buttonWidth?: number) {\n const validInterval = this.props.allowClear ?\n (!this.state.currentFromValue || this.state.currentFromValue.isValid()) && (!this.state.currentToValue || this.state.currentToValue.isValid()) :\n this.state.currentFromValue && this.state.currentFromValue.isValid() && this.state.currentToValue && this.state.currentToValue.isValid();\n\n return (\n <Button.Group style={{background: \"white\"}}>\n <Button\n style={{borderRightWidth: 2, background: \"white\", width: buttonWidth}}\n size={size}\n title={i18n(\"Revert\")}\n key=\"revert\"\n danger\n ghost\n onClick={this.onRevert}\n >\n <UndoIcon/>\n </Button>\n <Button\n style={{width: buttonWidth}}\n title={i18n(\"Apply\")} key=\"apply-button\"\n size={size}\n type=\"primary\"\n disabled={!validInterval || this.state.invalidDatesPresent}\n onClick={this.onConfirm}\n >\n <CheckOutlined/>\n </Button>\n </Button.Group>\n );\n }\n\n private confirmButtonsVisible() {\n const {currentFromValue, currentToValue} = this.state;\n const valueChanged = DateTimeUtils.toUnixTime(currentFromValue) !== DateTimeUtils.toUnixTime(this.props.fromValue) ||\n DateTimeUtils.toUnixTime(currentToValue) !== DateTimeUtils.toUnixTime(this.props.toValue);\n\n return valueChanged || this.state.invalidDatesPresent || this.state.requireConfirmation;\n }\n\n render(): any {\n const {\n fromValue,\n toValue,\n onChange,\n allowClear,\n requireConfirmationAtStart,\n confirmPlacement,\n ...rest\n } = this.props;\n let align: AlignType;\n if (confirmPlacement === \"right\") {\n align = {points: [\"tl\", \"tr\"], offset: [-8, 0]};\n } else if (confirmPlacement === \"topRight\") {\n align = {points: [\"br\", \"tr\"], offset: [0, 8]};\n } else {\n // default bottomRight\n align = {points: [\"tr\", \"br\"], offset: [0, -8]};\n }\n return (\n <span onKeyDown={this.onKeyDown}>\n <Tooltip\n color={\"transparent\"}\n overlayInnerStyle={{boxShadow: \"none\", padding: 0}}\n key={\"date-range-input-\" + this.state.inputKeyIndex}\n visible={this.confirmButtonsVisible() && !this.state.popupVisible}\n align={align}\n title={this.renderConfirmButtons()}\n >\n <DateRangeInput\n ref={component => this.dateRangeInput = component}\n fromValue={this.state.currentFromValue}\n toValue={this.state.currentToValue}\n allowClear={allowClear}\n onInvalidValue={(_) => {\n this.setState({invalidDatesPresent: true});\n }}\n onChange={(fromValue: Moment | null, toValue: Moment | null) => {\n this.setState({\n currentFromValue: fromValue,\n currentToValue: toValue,\n invalidDatesPresent: false,\n })\n }}\n confirmButtonsRenderer={() => {\n if (this.confirmButtonsVisible()) {\n return this.renderConfirmButtons(\"small\", 48);\n }\n return undefined;\n }}\n onPopupVisibleChange={visible => {\n this.setState({popupVisible: visible});\n }}\n defaultMode={this.state.mode}\n onModeChange={mode => {\n this.setState({mode: mode});\n }}\n {...rest}\n />\n </Tooltip>\n </span>\n );\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"dateRangeInputConfirm.js","sourceRoot":"","sources":["../../../../components/date/dateRangeInputConfirm.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {Moment} from \"moment\";\nimport {Button, Tooltip} from \"antd\";\nimport {DateTimeUtils} from \"d2core/utils/dateTimeUtils\";\nimport {CheckOutlined} from \"@ant-design/icons\";\nimport i18n from \"d2core/i18n/i18n\";\nimport DateRangeInput, {DateRangeInputMode, DateRangeInputProps} from \"./dateRangeInput\";\nimport {TooltipPlacement} from \"antd/es/tooltip\";\nimport {AlignType} from \"rc-trigger/lib/interface\";\nimport {UndoIcon} from \"../icons/undoIcon\";\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\nimport {Key} from \"ts-key-enum\";\n\ninterface DateRangeInputConfirmProps extends DateRangeInputProps {\n requireConfirmationAtStart?: boolean\n confirmPlacement?: TooltipPlacement\n}\n\ninterface DateRangeInputConfirmState {\n currentFromValue: Moment | null\n currentToValue: Moment | null\n invalidDatesPresent: boolean\n inputKeyIndex: number,\n requireConfirmation: boolean\n\n popupVisible: boolean\n mode: DateRangeInputMode\n}\n\nexport default class DateRangeInputConfirm extends React.Component<DateRangeInputConfirmProps, DateRangeInputConfirmState> {\n private dateRangeInput: DateRangeInput | null = null;\n\n constructor(props: Readonly<DateRangeInputConfirmProps>) {\n super(props);\n this.state = {\n currentFromValue: props.fromValue?.clone() ?? null,\n currentToValue: props.toValue?.clone() ?? null,\n invalidDatesPresent: false,\n inputKeyIndex: 0,\n requireConfirmation: !!props.requireConfirmationAtStart,\n\n popupVisible: false,\n mode: props.defaultMode ?? DateRangeInputMode.SIMPLE,\n };\n\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onConfirm = this.onConfirm.bind(this);\n this.onRevert = this.onRevert.bind(this);\n }\n\n onKeyDown(event: React.KeyboardEvent) {\n if (event.key === Key.Enter) {\n this.onConfirm();\n } else if (event.key === Key.Escape) {\n this.onRevert();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<DateRangeInputProps>) {\n if (DateTimeUtils.toUnixTime(prevProps.fromValue) !== DateTimeUtils.toUnixTime(this.props.fromValue) ||\n DateTimeUtils.toUnixTime(prevProps.toValue) !== DateTimeUtils.toUnixTime(this.props.toValue)) {\n this.setState({\n currentFromValue: this.props.fromValue?.clone() ?? null,\n currentToValue: this.props.toValue?.clone() ?? null\n })\n }\n }\n\n private onConfirm() {\n this.setState({requireConfirmation: false, inputKeyIndex: this.state.inputKeyIndex + 1});\n this.props.onChange?.(this.state.currentFromValue, this.state.currentToValue);\n this.dateRangeInput?.closePopup();\n }\n\n private onRevert() {\n this.setState({\n currentFromValue: this.props.fromValue?.clone() ?? null,\n currentToValue: this.props.toValue?.clone() ?? null,\n invalidDatesPresent: false,\n inputKeyIndex: this.state.inputKeyIndex + 1,\n });\n this.dateRangeInput?.closePopup();\n }\n\n private renderConfirmButtons(size?: SizeType, buttonWidth?: number) {\n const validInterval = this.props.allowClear ?\n (!this.state.currentFromValue || this.state.currentFromValue.isValid()) && (!this.state.currentToValue || this.state.currentToValue.isValid()) :\n this.state.currentFromValue && this.state.currentFromValue.isValid() && this.state.currentToValue && this.state.currentToValue.isValid();\n\n return (\n <Button.Group style={{background: \"white\"}}>\n <Button\n style={{borderRightWidth: 2, background: \"white\", width: buttonWidth}}\n size={size}\n title={i18n(\"Revert\")}\n key=\"revert\"\n danger\n ghost\n onClick={this.onRevert}\n >\n <UndoIcon/>\n </Button>\n <Button\n style={{width: buttonWidth}}\n title={i18n(\"Apply\")} key=\"apply-button\"\n size={size}\n type=\"primary\"\n disabled={!validInterval || this.state.invalidDatesPresent}\n onClick={this.onConfirm}\n >\n <CheckOutlined/>\n </Button>\n </Button.Group>\n );\n }\n\n private confirmButtonsVisible() {\n const {currentFromValue, currentToValue} = this.state;\n const valueChanged = DateTimeUtils.toUnixTime(currentFromValue) !== DateTimeUtils.toUnixTime(this.props.fromValue) ||\n DateTimeUtils.toUnixTime(currentToValue) !== DateTimeUtils.toUnixTime(this.props.toValue);\n\n return valueChanged || this.state.invalidDatesPresent || this.state.requireConfirmation;\n }\n\n render(): any {\n const {\n fromValue,\n toValue,\n onChange,\n allowClear,\n requireConfirmationAtStart,\n confirmPlacement,\n ...rest\n } = this.props;\n let align: AlignType;\n if (confirmPlacement === \"right\") {\n align = {points: [\"tl\", \"tr\"], offset: [-8, 0]};\n } else if (confirmPlacement === \"topRight\") {\n align = {points: [\"br\", \"tr\"], offset: [0, 8]};\n } else {\n // default bottomRight\n align = {points: [\"tr\", \"br\"], offset: [0, -8]};\n }\n return (\n <span onKeyDown={this.onKeyDown}>\n <Tooltip\n color={\"transparent\"}\n overlayInnerStyle={{boxShadow: \"none\", padding: 0}}\n key={\"date-range-input-\" + this.state.inputKeyIndex}\n open={this.confirmButtonsVisible() && !this.state.popupVisible}\n align={align}\n title={this.renderConfirmButtons()}\n >\n <DateRangeInput\n ref={component => this.dateRangeInput = component}\n fromValue={this.state.currentFromValue}\n toValue={this.state.currentToValue}\n allowClear={allowClear}\n onInvalidValue={(_) => {\n this.setState({invalidDatesPresent: true});\n }}\n onChange={(fromValue: Moment | null, toValue: Moment | null) => {\n this.setState({\n currentFromValue: fromValue,\n currentToValue: toValue,\n invalidDatesPresent: false,\n })\n }}\n confirmButtonsRenderer={() => {\n if (this.confirmButtonsVisible()) {\n return this.renderConfirmButtons(\"small\", 48);\n }\n return undefined;\n }}\n onPopupVisibleChange={visible => {\n this.setState({popupVisible: visible});\n }}\n defaultMode={this.state.mode}\n onModeChange={mode => {\n this.setState({mode: mode});\n }}\n {...rest}\n />\n </Tooltip>\n </span>\n );\n }\n}"]}
|
|
@@ -333,7 +333,7 @@ export default class DateTimeInput extends React.Component {
|
|
|
333
333
|
return this.renderInput();
|
|
334
334
|
}
|
|
335
335
|
else {
|
|
336
|
-
return (React.createElement(Tooltip, { color: "white", trigger: this.props.disabled ? [] : ["contextMenu"], getPopupContainer: this.props.getPopupContainer, overlayInnerStyle: { maxHeight: "100vh", overflowY: "auto", overflowX: "hidden", width: 266 },
|
|
336
|
+
return (React.createElement(Tooltip, { color: "white", trigger: this.props.disabled ? [] : ["contextMenu"], getPopupContainer: this.props.getPopupContainer, overlayInnerStyle: { maxHeight: "100vh", overflowY: "auto", overflowX: "hidden", width: 266 }, open: this.state.popupCalendarVisible, onOpenChange: (visible) => {
|
|
337
337
|
var _a, _b, _c, _d;
|
|
338
338
|
this.setState({ popupCalendarVisible: visible });
|
|
339
339
|
if (visible) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateTimeInput.js","sourceRoot":"","sources":["../../../../components/date/dateTimeInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {HTMLAttributes, RefObject} from \"react\";\nimport MaskedInput from \"../input/maskedInput\";\nimport padStart from 'lodash/padStart';\nimport isEqual from 'lodash/isEqual';\nimport debounce from 'lodash/debounce';\nimport moment, {Moment} from \"moment\";\nimport {CalendarOutlined} from \"@ant-design/icons\";\nimport {Button, Calendar, Select, Tooltip} from \"antd\";\nimport {Key} from \"ts-key-enum\";\nimport {D2000UnixTimeNullValue} from \"d2core/types/unixTimeUtils\";\nimport {TooltipPlacement} from \"antd/lib/tooltip\";\n\n\ninterface DateTimeInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n mask: string\n value: Moment | null\n onChange?: (time: Moment | null) => void\n onInvalidValue?: (inputString: string) => void\n // allows to set no (null) date by datepicker\n allowClear?: boolean\n disabled?: boolean\n // disable only input component - useful when calendar popup is opened\n inputDisabled?: boolean\n minDateTime?: Moment\n maxDateTime?: Moment\n\n bordered?: boolean\n hidePopup?: boolean\n renderAsCalendar?: boolean\n autoFocus?: boolean\n placement?: TooltipPlacement;\n\n // special methods for rendering date range\n defaultSelectedDate?: Moment\n markedDateInterval?: [Moment, Moment]\n onDateItemMouseDown?: (date: Moment) => void\n onDateItemMouseUp?: (date: Moment) => void\n onDateItemMouseOver?: (date: Moment) => void\n\n inputStyle?: React.CSSProperties\n getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;\n\n ignoreKeyStrokes?: boolean\n}\n\ninterface DateTimeInputState {\n valid: boolean\n currentPos: number | null\n currentInfo: MaskResult\n popupCalendarVisible: boolean\n\n calendarSelectedDate: Moment\n focused: boolean\n}\n\ninterface MaskResult {\n time: Moment | undefined\n info: InfoEntry | undefined\n length: number\n}\n\ninterface InfoEntry {\n key: string | string[]\n min: number | number[]\n max: number | number[]\n unit: moment.unitOfTime.Base\n}\n\nconst DATE_TIME_DATA_MAP: InfoEntry[] = [\n {key: \"SSS\", min: 0, max: 999, unit: \"ms\"},\n {key: \"ss\", min: 0, max: 59, unit: \"s\"},\n {key: \"mm\", min: 0, max: 59, unit: \"m\"},\n {key: \"HH\", min: 0, max: 23, unit: \"h\"},\n {key: [\"YYYY\", \"YY\"], min: [1900, 0], max: [9999, 99], unit: \"y\"},\n {key: \"MM\", min: 1, max: 12, unit: \"M\"},\n {key: \"DD\", min: 1, max: 31, unit: \"d\"},\n];\n\nconst MIN_TIME = moment.unix(0);\nconst MAX_TIME = moment().add(1000, \"year\");\n\nexport function allowDatesBeforeEpoch() {\n DATE_TIME_DATA_MAP[4].min = 1902;\n}\n\nexport default class DateTimeInput extends React.Component<DateTimeInputProps, DateTimeInputState> {\n private inputRef: RefObject<MaskedInput> = React.createRef();\n private today: Moment = moment();\n\n constructor(props: Readonly<DateTimeInputProps>) {\n super(props);\n this.state = {\n valid: (!!props.value && props.value.isValid()) || (!!props.allowClear && props.value === null),\n currentPos: null,\n currentInfo: {\n info: undefined,\n time: undefined,\n length: 0\n },\n popupCalendarVisible: false,\n calendarSelectedDate: props.defaultSelectedDate?.clone() ?? props.value?.clone() ?? moment().startOf('day'),\n focused: false,\n };\n\n this.recalc = this.recalc.bind(this);\n this.increment = this.increment.bind(this);\n this.decrement = this.decrement.bind(this);\n this.onItemMouseOver = debounce(this.onItemMouseOver.bind(this), 100, {maxWait: 100});\n }\n\n componentDidUpdate(prevProps: Readonly<DateTimeInputProps>, _prevState: Readonly<DateTimeInputState>, _snapshot?: any): void {\n if (!isEqual(prevProps, this.props) && this.inputRef.current !== null) {\n this.inputRef.current.input.selectionStart = this.state.currentPos;\n this.inputRef.current.input.selectionEnd = this.state.currentPos;\n if (prevProps.value !== this.props.value) {\n this.setState({valid: (!!this.props.value && this.props.value.isValid()) || (!!this.props.allowClear && this.props.value === null)});\n }\n }\n }\n\n get input() {\n return this.inputRef.current?.input;\n }\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n recalc(): void {\n if (this.inputRef.current !== null) {\n this.setState({\n currentInfo: DateTimeInput.parseDateTimeFormat(this.props.value, this.inputRef.current.input.value, this.props.mask, this.inputRef.current.input.selectionStart),\n currentPos: this.inputRef.current.input.selectionStart,\n });\n }\n }\n\n private increment(): void {\n if (this.state.currentInfo.info !== undefined && !!this.props.value && DateTimeInput.isValid(this.state.currentInfo, this.props.value, 1)) {\n const unit = this.state.currentInfo.info.unit;\n this.incrementDate(unit);\n }\n\n this.inputRef.current?.focus();\n }\n\n private incrementDate(unit: moment.unitOfTime.Base) {\n if (!!this.props.value) {\n this.props.value.add(1, unit);\n if (!!this.props.maxDateTime && this.props.value.isAfter(this.props.maxDateTime)) {\n this.props.onChange?.(this.props.maxDateTime?.clone());\n } else {\n this.props.onChange?.(this.props.value.clone());\n }\n }\n }\n\n private decrement(): void {\n if (this.state.currentInfo.info !== undefined && !!this.props.value && DateTimeInput.isValid(this.state.currentInfo, this.props.value, -1)) {\n const unit = this.state.currentInfo.info.unit;\n this.decrementDate(unit);\n }\n\n this.inputRef.current?.focus();\n }\n\n private decrementDate(unit: moment.unitOfTime.Base) {\n if (!!this.props.value) {\n this.props.value.subtract(1, unit);\n if (!!this.props.minDateTime && this.props.value.isBefore(this.props.minDateTime)) {\n this.props.onChange?.(this.props.minDateTime?.clone());\n } else {\n this.props.onChange?.(this.props.value.clone());\n }\n }\n }\n\n onItemMouseOver(itemDate: Moment) {\n this.props.onDateItemMouseOver?.(itemDate);\n }\n\n private renderCalendarNavigation(value: Moment) {\n const start = 0;\n const end = 12;\n const monthOptions = [];\n\n const current = value.clone();\n const localeData = value.localeData();\n const months = [];\n for (let i = 0; i < 12; i++) {\n current.month(i);\n months.push(localeData.months(current));\n }\n\n for (let index = start; index < end; index++) {\n monthOptions.push(\n <Select.Option className=\"month-item\" key={`${index}`} value={`${index}`}>\n {months[index]}\n </Select.Option>,\n );\n }\n const month = value.month();\n\n const year = value.year();\n const options = [];\n for (let i = year - 4; i <= year + 2; i += 1) {\n options.push(\n <Select.Option key={i} value={i} className=\"year-item\">\n {i}\n </Select.Option>,\n );\n }\n return (\n <div style={{paddingBottom: 8}}>\n <div style={{float: \"left\", paddingBottom: 8, width: 140, display: \"flex\"}}>\n <Button style={{width: 10, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n disabled={!DateTimeInput.checkDateValueValidity(this.state.calendarSelectedDate, -1, \"month\")}\n onClick={() => {\n this.state.calendarSelectedDate.subtract(1, \"month\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}\n className=\"ant-picker-header-prev-btn\"><span\n className=\"ant-picker-prev-icon\"/></Button>\n <Select\n style={{flex: \"1 1 auto\"}}\n size=\"small\"\n dropdownMatchSelectWidth={false}\n dropdownStyle={{zIndex: 2070}}\n getPopupContainer={this.props.getPopupContainer}\n value={String(month)}\n onChange={selectedMonth => {\n const newValue = this.state.calendarSelectedDate.clone();\n newValue.month(parseInt(selectedMonth, 10));\n this.setState({calendarSelectedDate: newValue});\n }}\n >\n {monthOptions}\n </Select>\n <Button style={{width: 10, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n className=\"ant-picker-header-next-btn\"\n onClick={() => {\n this.state.calendarSelectedDate.add(1, \"month\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}>\n <span className=\"ant-picker-next-icon\"/>\n </Button>\n </div>\n <div style={{float: \"right\", paddingBottom: 8, width: 110}}>\n <Button style={{width: 12, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n className=\"ant-picker-header-prev-btn\"\n onClick={() => {\n this.state.calendarSelectedDate.subtract(1, \"year\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}>\n <span className=\"ant-picker-prev-icon\"/>\n </Button>\n <Select\n size=\"small\"\n style={{width: 84}}\n dropdownMatchSelectWidth={false}\n dropdownStyle={{zIndex: 2070}}\n getPopupContainer={this.props.getPopupContainer}\n onChange={newYear => {\n const newValue = this.state.calendarSelectedDate.clone().year(parseInt(newYear, 10));\n this.setState({calendarSelectedDate: newValue});\n }}\n value={String(year)}\n >\n {options}\n </Select>\n <Button style={{width: 12, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n className=\"ant-picker-header-next-btn\"\n onClick={() => {\n this.state.calendarSelectedDate.add(1, \"year\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}>\n <span className=\"ant-picker-next-icon\"/>\n </Button>\n </div>\n </div>\n );\n }\n\n renderCalendar(): React.ReactElement {\n return (<div\n onKeyDown={!this.props.ignoreKeyStrokes ? (e) => {\n if (e.key === Key.Enter) {\n var tagName = (e.target as any)?.tagName?.toLowerCase();\n if (tagName !== \"input\") {\n this.props.onChange?.(this.state.calendarSelectedDate);\n }\n }\n } : undefined}\n onMouseOver={(e) => {\n if (e.target instanceof HTMLTableCellElement) {\n const date = moment(e.target.title, \"YYYY-MM-DD\");\n this.onItemMouseOver(date);\n }\n }}>\n <Calendar\n fullscreen={false}\n style={this.props.renderAsCalendar ? this.props.style : undefined}\n dateFullCellRender={((date: Moment) => {\n let className = date.isSame(this.today, \"date\") ? 'ant-picker-cell-inner ant-picker-calendar-date ant-picker-calendar-date-today' : 'ant-picker-cell-inner ant-picker-calendar-date';\n const markedDateInterval = this.props.markedDateInterval;\n if (markedDateInterval && (markedDateInterval[0].isBefore(date) || markedDateInterval[0].isSame(date, \"millisecond\")) &&\n (markedDateInterval[1].isAfter(date) || markedDateInterval[1].isSame(date, \"millisecond\"))) {\n className += \" date-picker-item-marked\";\n } else if (date.isSame(this.props.value, \"date\")) {\n className += \" date-picker-item-marked\";\n }\n return (\n <div className={className} style={{userSelect: \"none\"}}\n onKeyDown={(e) => {\n if (e.key === Key.Enter) {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\n this.props.onChange?.(date);\n }\n }}\n onMouseDown={() => {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\n this.props.onDateItemMouseDown?.(newValue);\n }}\n onMouseUp={() => {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\n this.props.onDateItemMouseUp?.(newValue);\n }}\n >\n <div className={`ant-picker-calendar-date-value`}>\n {padStart(\"\" + date.date(), 2, '0')}\n </div>\n <div className={`ant-picker-calendar-date-content`}>\n </div>\n </div>\n );\n })}\n headerRender={({value}) => {\n return this.renderCalendarNavigation(value);\n }}\n value={this.state.calendarSelectedDate}\n validRange={[this.props.minDateTime ?? MIN_TIME, this.props.maxDateTime ?? MAX_TIME]}\n onSelect={(value) => {\n if (window.event instanceof MouseEvent) {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(value.year()).month(value.month()).date(value.date());\n this.props.onChange?.(newValue);\n }\n this.setState({calendarSelectedDate: value, popupCalendarVisible: false});\n }}\n />\n </div>\n );\n }\n\n renderInput() {\n const {\n mask,\n value,\n onChange,\n onInvalidValue,\n style,\n disabled,\n inputDisabled,\n bordered,\n hidePopup,\n renderAsCalendar,\n allowClear,\n minDateTime,\n maxDateTime,\n onDateItemMouseDown,\n onDateItemMouseOver,\n onDateItemMouseUp,\n markedDateInterval,\n inputStyle,\n getPopupContainer,\n autoFocus,\n className,\n ...props\n } = this.props;\n\n const isUpDisabled = disabled || this.state.currentInfo.info === undefined || !DateTimeInput.isValid(this.state.currentInfo, this.props.value, 1);\n const isDownDisabled = disabled || this.state.currentInfo.info === undefined || !DateTimeInput.isValid(this.state.currentInfo, this.props.value, -1);\n const unix: number | undefined = value?.valueOf();\n let divClassName = \"custom-date-time-picker\";\n if (disabled || inputDisabled) {\n divClassName += \" ant-input-number disabled ant-input-disabled readonly\";\n } else {\n divClassName += \" ant-input-number\";\n }\n if (bordered === false) {\n divClassName += \" ant-input-borderless\";\n }\n\n const maskedInputStyle = {color: this.state.valid ? \"inherit\" : \"red\", border: \"none\"};\n if (inputStyle) {\n Object.assign(maskedInputStyle, inputStyle);\n }\n\n return (\n <div style={bordered === false ? {...style, border: 0} : style} {...props} className={(className ? className + \" \" : \"\") + divClassName}>\n <div className=\"ant-input-number-input-wrap\"\n onKeyDown={(event) => {\n if (event.keyCode === 38) { // up\n this.increment();\n event.preventDefault();\n event.stopPropagation();\n } else if (event.keyCode === 40) { // down\n this.decrement();\n event.preventDefault();\n event.stopPropagation();\n }\n }}>\n <MaskedInput mask={this.props.mask.replace(/[a-zA-Z]/g, '1')}\n bordered={bordered}\n ref={this.inputRef}\n style={maskedInputStyle}\n value={(this.state.focused || unix !== D2000UnixTimeNullValue * 1000) ? (value?.locale(\"locale.d2000\").format(this.props.mask) ?? \"\") : \"\"}\n placeholder={(!this.state.focused && unix === D2000UnixTimeNullValue * 1000) ? \"Null Time\" : undefined}\n onFocus={(event => {\n event.target.selectionStart = event.target.selectionEnd = this.state.currentPos;\n this.setState({focused: true});\n })}\n onBlur={() => {\n this.setState({focused: false});\n }}\n autoFocus={autoFocus}\n disabled={disabled || inputDisabled}\n onWheel={(event) => {\n if (event.deltaY > 0) {\n if (!isDownDisabled) {\n this.decrement();\n }\n }\n if (event.deltaY < 0) {\n if (!isUpDisabled) {\n this.increment();\n }\n }\n }}\n onMouseUp={this.recalc}\n onKeyUp={this.recalc}\n onChange={(event) => {\n const inputString = event.target.value;\n const value: MaskResult = DateTimeInput.parseDateTimeFormat(this.props.value, inputString, this.props.mask, event.target.selectionStart);\n if (value.time !== undefined) {\n if (this.props.minDateTime !== undefined && value.time.isBefore(this.props.minDateTime)) {\n value.time = this.props.minDateTime.clone();\n }\n\n if (this.props.maxDateTime !== undefined && value.time.isAfter(this.props.maxDateTime)) {\n value.time = this.props.maxDateTime.clone();\n }\n onChange?.(value.time.clone());\n } else if (!!this.props.allowClear && !inputString) {\n onChange?.(null);\n } else {\n onInvalidValue?.(inputString);\n }\n this.setState({\n valid: (value.time !== undefined && value.time.isValid()) || (!!this.props.allowClear && !inputString),\n currentInfo: value\n })\n }}/>\n </div>\n {!hidePopup && !renderAsCalendar && <div className={\"ant-input-number-handler-wrap\"}\n style={{\n width: 28,\n opacity: 1,\n height: \"100%\",\n textAlign: \"center\",\n cursor: \"pointer\",\n background: \"transparent\",\n border: bordered === false ? 0 : undefined\n }}\n onClick={(event) => {\n if (document.createEvent) {\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent('contextmenu', true, false);\n event.target.dispatchEvent(ev);\n }\n }}\n >\n <CalendarOutlined style={{color: \"rgba(0,0,0,0.65)\", verticalAlign: \"middle\", marginTop: 2}}/>\n </div>}\n </div>\n );\n }\n\n render(): any {\n if (this.props.renderAsCalendar) {\n return this.renderCalendar();\n } else if (this.props.hidePopup) {\n return this.renderInput();\n } else {\n return (\n <Tooltip color={\"white\"} trigger={this.props.disabled ? [] : [\"contextMenu\"]}\n getPopupContainer={this.props.getPopupContainer}\n overlayInnerStyle={{maxHeight: \"100vh\", overflowY: \"auto\", overflowX: \"hidden\", width: 266}}\n visible={this.state.popupCalendarVisible}\n onVisibleChange={(visible) => {\n this.setState({popupCalendarVisible: visible});\n if (visible) {\n this.setState({calendarSelectedDate: this.props.defaultSelectedDate?.clone() ?? this.props.value?.clone() ?? moment().startOf(\"day\")})\n }\n }}\n title={this.renderCalendar()}\n placement={this.props.placement}\n >\n {this.renderInput()}\n </Tooltip>\n );\n }\n }\n\n private static isValid(info: MaskResult, value: Moment | null, offset: number): boolean {\n const unit = info.info?.unit;\n return this.checkDateValueValidity(value, offset, unit);\n }\n\n private static checkDateValueValidity(value: moment.Moment | null, offset: number, unit: moment.unitOfTime.Base | undefined) {\n if (value === null) {\n return false;\n }\n let v = value.clone().add(offset, unit);\n return v.isValid() && v.isSameOrAfter(moment(0));\n }\n\n private static parseDateTimeFormat(previousTime: moment.Moment | null, value: string, mask: string, cursorPos: number | null): MaskResult {\n let result: MaskResult = {\n time: moment(0).startOf(\"day\"),\n info: undefined,\n length: 0,\n };\n\n for (let v of DATE_TIME_DATA_MAP) {\n let index: number = -1;\n let length: number = 0;\n let min: number = 0;\n let max: number = 0;\n\n if (Array.isArray(v.key) || Array.isArray(v.min) || Array.isArray(v.max)) {\n for (let i = 0; i < v.key.length; i++) {\n const x = v.key[i];\n index = mask.indexOf(x);\n\n if (index !== -1) {\n length = x.length;\n min = (v.min as number[])[i];\n max = (v.max as number[])[i];\n break;\n }\n }\n } else {\n index = mask.indexOf(v.key);\n length = v.key.length;\n min = v.min;\n max = v.max;\n }\n\n if (index !== -1) {\n let val: number = Number(value.substring(index, index + length));\n\n if (!isNaN(val) && val >= min && val <= max) {\n if (v.unit === \"M\") {\n val--; // 0-11\n }\n\n if (v.unit === \"d\") {\n result.time?.set('D', val);\n } else if (v.unit === \"y\" && length === 2) {\n const century: number = (previousTime != null && previousTime.isValid()) ? Math.floor(previousTime.year() / 100) * 100 : (val > 70 ? 1900 : 2000); // if short year\n result.time?.set(v.unit, century + val)\n } else {\n result.time?.set(v.unit, val);\n }\n } else {\n result.time = undefined;\n result.info = undefined;\n result.length = 0;\n break;\n }\n\n if (cursorPos !== null && cursorPos >= index && cursorPos <= index + length) {\n result.info = v;\n result.length = length;\n }\n }\n }\n\n return result;\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"dateTimeInput.js","sourceRoot":"","sources":["../../../../components/date/dateTimeInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AACvD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,MAAgB,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,MAAM,CAAC;AACvD,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAChC,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AA2DlE,MAAM,kBAAkB,GAAgB;IACpC,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAC;IAC1C,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC;IACvC,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC;IACvC,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC;IACvC,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAC;IACjE,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC;IACvC,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAC;CAC1C,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,UAAU,qBAAqB;IACjC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK,CAAC,SAAiD;IAI9F,YAAY,KAAmC;;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC;QAJT,aAAQ,GAA2B,KAAK,CAAC,SAAS,EAAE,CAAC;QACrD,UAAK,GAAW,MAAM,EAAE,CAAC;QAI7B,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;YAC/F,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE;gBACT,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,CAAC;aACZ;YACD,oBAAoB,EAAE,KAAK;YAC3B,oBAAoB,EAAE,MAAA,MAAA,MAAA,KAAK,CAAC,mBAAmB,0CAAE,KAAK,EAAE,mCAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE,mCAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3G,OAAO,EAAE,KAAK;SACjB,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,kBAAkB,CAAC,SAAuC,EAAE,UAAwC,EAAE,SAAe;QACjH,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE;YACnE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACjE,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACtC,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAC,CAAC,CAAC;aACxI;SACJ;IACL,CAAC;IAED,IAAI,KAAK;;QACL,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,CAAC;IACxC,CAAC;IAED,KAAK;;QACD,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC;gBACV,WAAW,EAAE,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;gBAChK,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc;aACzD,CAAC,CAAC;SACN;IACL,CAAC;IAEO,SAAS;;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;YACvI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,aAAa,CAAC,IAA4B;;QAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAC9E,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC,CAAC;aAC1D;iBAAM;gBACH,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAEO,SAAS;;QACb,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;YACxI,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC5B;QAED,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,aAAa,CAAC,IAA4B;;QAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAC/E,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC,CAAC;aAC1D;iBAAM;gBACH,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;aACnD;SACJ;IACL,CAAC;IAED,eAAe,CAAC,QAAgB;;QAC5B,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,mBAAmB,mDAAG,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAEO,wBAAwB,CAAC,KAAa;QAC1C,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3C;QAED,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE;YAC1C,YAAY,CAAC,IAAI,CACb,oBAAC,MAAM,CAAC,MAAM,IAAC,SAAS,EAAC,YAAY,EAAC,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,IACnE,MAAM,CAAC,KAAK,CAAC,CACF,CACnB,CAAC;SACL;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAE5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,OAAO,CAAC,IAAI,CACR,oBAAC,MAAM,CAAC,MAAM,IAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAC,WAAW,IACjD,CAAC,CACU,CACnB,CAAC;SACL;QACD,OAAO,CACH,6BAAK,KAAK,EAAE,EAAC,aAAa,EAAE,CAAC,EAAC;YAC1B,6BAAK,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAC;gBACtE,oBAAC,MAAM,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EACrE,QAAQ,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAC7F,OAAO,EAAE,GAAG,EAAE;wBACV,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACrD,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAC,CAAC,CAAC;oBAC3E,CAAC,EACD,SAAS,EAAC,4BAA4B;oBAAC,8BAC3C,SAAS,EAAC,sBAAsB,GAAE,CAAS;gBAC/C,oBAAC,MAAM,IACH,KAAK,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,EACzB,IAAI,EAAC,OAAO,EACZ,wBAAwB,EAAE,KAAK,EAC/B,aAAa,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,EAC7B,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC/C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EACpB,QAAQ,EAAE,aAAa,CAAC,EAAE;wBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;wBACzD,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC5C,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,QAAQ,EAAC,CAAC,CAAC;oBACpD,CAAC,IAEA,YAAY,CACR;gBACT,oBAAC,MAAM,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EACrE,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,GAAG,EAAE;wBACV,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAChD,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAC,CAAC,CAAC;oBAC3E,CAAC;oBACL,8BAAM,SAAS,EAAC,sBAAsB,GAAE,CACnC,CACP;YACN,6BAAK,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAC;gBACtD,oBAAC,MAAM,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EACrE,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,GAAG,EAAE;wBACV,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBACpD,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAC,CAAC,CAAC;oBAC3E,CAAC;oBACL,8BAAM,SAAS,EAAC,sBAAsB,GAAE,CACnC;gBACT,oBAAC,MAAM,IACH,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,EAAC,KAAK,EAAE,EAAE,EAAC,EAClB,wBAAwB,EAAE,KAAK,EAC/B,aAAa,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,EAC7B,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC/C,QAAQ,EAAE,OAAO,CAAC,EAAE;wBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;wBACrF,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,QAAQ,EAAC,CAAC,CAAC;oBACpD,CAAC,EACD,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAElB,OAAO,CACH;gBACT,oBAAC,MAAM,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,EACrE,SAAS,EAAC,4BAA4B,EACtC,OAAO,EAAE,GAAG,EAAE;wBACV,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBAC/C,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAC,CAAC,CAAC;oBAC3E,CAAC;oBACL,8BAAM,SAAS,EAAC,sBAAsB,GAAE,CACnC,CACP,CACJ,CACT,CAAC;IACN,CAAC;IAED,cAAc;;QACV,OAAO,CAAC,6BACA,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;;gBAC5C,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE;oBACrB,IAAI,OAAO,GAAG,MAAA,MAAC,CAAC,CAAC,MAAc,0CAAE,OAAO,0CAAE,WAAW,EAAE,CAAC;oBACxD,IAAI,OAAO,KAAK,OAAO,EAAE;wBACrB,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;qBAC1D;iBACJ;YACL,CAAC,CAAC,CAAC,CAAC,SAAS,EACb,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;gBACf,IAAI,CAAC,CAAC,MAAM,YAAY,oBAAoB,EAAE;oBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;oBAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;iBAC9B;YACL,CAAC;YACD,oBAAC,QAAQ,IACL,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACjE,kBAAkB,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;oBAClC,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,+EAA+E,CAAC,CAAC,CAAC,gDAAgD,CAAC;oBACrL,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;oBACzD,IAAI,kBAAkB,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;wBACjH,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,EAAE;wBAC5F,SAAS,IAAI,0BAA0B,CAAC;qBAC3C;yBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;wBAC9C,SAAS,IAAI,0BAA0B,CAAC;qBAC3C;oBACD,OAAO,CACH,6BAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,EAAC,UAAU,EAAE,MAAM,EAAC,EACjD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;;4BACb,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE;gCACrB,IAAI,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE,mCAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCACpE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gCAC5E,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,IAAI,CAAC,CAAC;6BAC/B;wBACL,CAAC,EACD,WAAW,EAAE,GAAG,EAAE;;4BACd,IAAI,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE,mCAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BACpE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;4BAC5E,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,mBAAmB,mDAAG,QAAQ,CAAC,CAAC;wBAC/C,CAAC,EACD,SAAS,EAAE,GAAG,EAAE;;4BACZ,IAAI,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE,mCAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BACpE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;4BAC5E,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,iBAAiB,mDAAG,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAEF,6BAAK,SAAS,EAAE,gCAAgC,IAC3C,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CACjC;wBACN,6BAAK,SAAS,EAAE,kCAAkC,GAC5C,CACJ,CACT,CAAC;gBACN,CAAC,CAAC,EACF,YAAY,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;oBACtB,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC,EACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACtC,UAAU,EAAE,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,QAAQ,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,QAAQ,CAAC,EACpF,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;;oBAChB,IAAI,MAAM,CAAC,KAAK,YAAY,UAAU,EAAE;wBACpC,IAAI,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE,mCAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACpE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC/E,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,QAAQ,CAAC,CAAC;qBACnC;oBACD,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAC,CAAC,CAAC;gBAC9E,CAAC,GACH,CACA,CACT,CAAC;IACN,CAAC;IAED,WAAW;;QACP,MAAM,KAuBF,IAAI,CAAC,KAAK,EAvBR,EACF,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,cAAc,EACd,KAAK,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,SAAS,OAEC,EADP,KAAK,cAtBN,oUAuBL,CAAa,CAAC;QAEf,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClJ,MAAM,cAAc,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACrJ,MAAM,IAAI,GAAuB,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,CAAC;QAClD,IAAI,YAAY,GAAG,yBAAyB,CAAC;QAC7C,IAAI,QAAQ,IAAI,aAAa,EAAE;YAC3B,YAAY,IAAI,wDAAwD,CAAC;SAC5E;aAAM;YACH,YAAY,IAAI,mBAAmB,CAAC;SACvC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE;YACpB,YAAY,IAAI,uBAAuB,CAAC;SAC3C;QAED,MAAM,gBAAgB,GAAG,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC;QACvF,IAAI,UAAU,EAAE;YACZ,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;SAC/C;QAED,OAAO,CACH,2CAAK,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,iCAAK,KAAK,KAAE,MAAM,EAAE,CAAC,IAAE,CAAC,CAAC,KAAK,IAAM,KAAK,IAAE,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY;YACnI,6BAAK,SAAS,EAAC,6BAA6B,EACvC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;wBACtB,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;qBAC3B;yBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,EAAE,EAAE;wBAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;qBAC3B;gBACL,CAAC;gBACF,oBAAC,WAAW,IAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAC/C,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAE,gBAAgB,EACvB,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,KAAK,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAC1I,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,KAAK,sBAAsB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACtG,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;wBACd,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;wBAChF,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;oBACnC,CAAC,CAAC,EACF,MAAM,EAAE,GAAG,EAAE;wBACT,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;oBACpC,CAAC,EACD,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,IAAI,aAAa,EACnC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBACf,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;4BAClB,IAAI,CAAC,cAAc,EAAE;gCACjB,IAAI,CAAC,SAAS,EAAE,CAAC;6BACpB;yBACJ;wBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;4BAClB,IAAI,CAAC,YAAY,EAAE;gCACf,IAAI,CAAC,SAAS,EAAE,CAAC;6BACpB;yBACJ;oBACL,CAAC,EACD,SAAS,EAAE,IAAI,CAAC,MAAM,EACtB,OAAO,EAAE,IAAI,CAAC,MAAM,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAChB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;wBACvC,MAAM,KAAK,GAAe,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBACzI,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;4BAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gCACrF,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;6BAC/C;4BAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gCACpF,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;6BAC/C;4BACD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;yBAClC;6BAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;4BAChD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,CAAC;yBACpB;6BAAM;4BACH,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,WAAW,CAAC,CAAC;yBACjC;wBACD,IAAI,CAAC,QAAQ,CAAC;4BACV,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC;4BACtG,WAAW,EAAE,KAAK;yBACrB,CAAC,CAAA;oBACN,CAAC,GAAG,CACf;YACL,CAAC,SAAS,IAAI,CAAC,gBAAgB,IAAI,6BAAK,SAAS,EAAE,+BAA+B,EAC1C,KAAK,EAAE;oBACH,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE,CAAC;oBACV,MAAM,EAAE,MAAM;oBACd,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,aAAa;oBACzB,MAAM,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC7C,EACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACf,IAAI,QAAQ,CAAC,WAAW,EAAE;wBACtB,IAAI,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;wBAC5C,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;wBACzC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;qBAClC;gBACL,CAAC;gBAEtC,oBAAC,gBAAgB,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAC,GAAG,CAC5F,CACJ,CACT,CAAC;IACN,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;SAChC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;SAC7B;aAAM;YACH,OAAO,CACH,oBAAC,OAAO,IAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EACnE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC/C,iBAAiB,EAAE,EAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAC,EAC3F,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EACrC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;;oBACtB,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,OAAO,EAAC,CAAC,CAAC;oBAC/C,IAAI,OAAO,EAAE;wBACT,IAAI,CAAC,QAAQ,CAAC,EAAC,oBAAoB,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,mBAAmB,0CAAE,KAAK,EAAE,mCAAI,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE,mCAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC,CAAC,CAAA;qBACzI;gBACL,CAAC,EACD,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,EAC5B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,IAEnC,IAAI,CAAC,WAAW,EAAE,CACb,CACb,CAAC;SACL;IACL,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,IAAgB,EAAE,KAAoB,EAAE,MAAc;;QACzE,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,KAA2B,EAAE,MAAc,EAAE,IAAwC;QACvH,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAC,YAAkC,EAAE,KAAa,EAAE,IAAY,EAAE,SAAwB;;QACxH,IAAI,MAAM,GAAe;YACrB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACZ,CAAC;QAEF,KAAK,IAAI,CAAC,IAAI,kBAAkB,EAAE;YAC9B,IAAI,KAAK,GAAW,CAAC,CAAC,CAAC;YACvB,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,IAAI,GAAG,GAAW,CAAC,CAAC;YACpB,IAAI,GAAG,GAAW,CAAC,CAAC;YAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAExB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;wBACd,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;wBAClB,GAAG,GAAI,CAAC,CAAC,GAAgB,CAAC,CAAC,CAAC,CAAC;wBAC7B,GAAG,GAAI,CAAC,CAAC,GAAgB,CAAC,CAAC,CAAC,CAAC;wBAC7B,MAAM;qBACT;iBACJ;aACJ;iBAAM;gBACH,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5B,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBACtB,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;gBACZ,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;aACf;YAED,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBACd,IAAI,GAAG,GAAW,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;gBAEjE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE;oBACzC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE;wBAChB,GAAG,EAAE,CAAC;qBACT;oBAED,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE;wBAChB,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;qBAC9B;yBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,MAAM,KAAK,CAAC,EAAE;wBACvC,MAAM,OAAO,GAAW,CAAC,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAClJ,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,CAAA;qBAC1C;yBAAM;wBACH,MAAA,MAAM,CAAC,IAAI,0CAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;qBACjC;iBACJ;qBAAM;oBACH,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;oBACxB,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;oBACxB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;oBAClB,MAAM;iBACT;gBAED,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,GAAG,MAAM,EAAE;oBACzE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;oBAChB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;iBAC1B;aACJ;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ","sourcesContent":["import React, {HTMLAttributes, RefObject} from \"react\";\nimport MaskedInput from \"../input/maskedInput\";\nimport padStart from 'lodash/padStart';\nimport isEqual from 'lodash/isEqual';\nimport debounce from 'lodash/debounce';\nimport moment, {Moment} from \"moment\";\nimport {CalendarOutlined} from \"@ant-design/icons\";\nimport {Button, Calendar, Select, Tooltip} from \"antd\";\nimport {Key} from \"ts-key-enum\";\nimport {D2000UnixTimeNullValue} from \"d2core/types/unixTimeUtils\";\nimport {TooltipPlacement} from \"antd/lib/tooltip\";\n\n\ninterface DateTimeInputProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n mask: string\n value: Moment | null\n onChange?: (time: Moment | null) => void\n onInvalidValue?: (inputString: string) => void\n // allows to set no (null) date by datepicker\n allowClear?: boolean\n disabled?: boolean\n // disable only input component - useful when calendar popup is opened\n inputDisabled?: boolean\n minDateTime?: Moment\n maxDateTime?: Moment\n\n bordered?: boolean\n hidePopup?: boolean\n renderAsCalendar?: boolean\n autoFocus?: boolean\n placement?: TooltipPlacement;\n\n // special methods for rendering date range\n defaultSelectedDate?: Moment\n markedDateInterval?: [Moment, Moment]\n onDateItemMouseDown?: (date: Moment) => void\n onDateItemMouseUp?: (date: Moment) => void\n onDateItemMouseOver?: (date: Moment) => void\n\n inputStyle?: React.CSSProperties\n getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;\n\n ignoreKeyStrokes?: boolean\n}\n\ninterface DateTimeInputState {\n valid: boolean\n currentPos: number | null\n currentInfo: MaskResult\n popupCalendarVisible: boolean\n\n calendarSelectedDate: Moment\n focused: boolean\n}\n\ninterface MaskResult {\n time: Moment | undefined\n info: InfoEntry | undefined\n length: number\n}\n\ninterface InfoEntry {\n key: string | string[]\n min: number | number[]\n max: number | number[]\n unit: moment.unitOfTime.Base\n}\n\nconst DATE_TIME_DATA_MAP: InfoEntry[] = [\n {key: \"SSS\", min: 0, max: 999, unit: \"ms\"},\n {key: \"ss\", min: 0, max: 59, unit: \"s\"},\n {key: \"mm\", min: 0, max: 59, unit: \"m\"},\n {key: \"HH\", min: 0, max: 23, unit: \"h\"},\n {key: [\"YYYY\", \"YY\"], min: [1900, 0], max: [9999, 99], unit: \"y\"},\n {key: \"MM\", min: 1, max: 12, unit: \"M\"},\n {key: \"DD\", min: 1, max: 31, unit: \"d\"},\n];\n\nconst MIN_TIME = moment.unix(0);\nconst MAX_TIME = moment().add(1000, \"year\");\n\nexport function allowDatesBeforeEpoch() {\n DATE_TIME_DATA_MAP[4].min = 1902;\n}\n\nexport default class DateTimeInput extends React.Component<DateTimeInputProps, DateTimeInputState> {\n private inputRef: RefObject<MaskedInput> = React.createRef();\n private today: Moment = moment();\n\n constructor(props: Readonly<DateTimeInputProps>) {\n super(props);\n this.state = {\n valid: (!!props.value && props.value.isValid()) || (!!props.allowClear && props.value === null),\n currentPos: null,\n currentInfo: {\n info: undefined,\n time: undefined,\n length: 0\n },\n popupCalendarVisible: false,\n calendarSelectedDate: props.defaultSelectedDate?.clone() ?? props.value?.clone() ?? moment().startOf('day'),\n focused: false,\n };\n\n this.recalc = this.recalc.bind(this);\n this.increment = this.increment.bind(this);\n this.decrement = this.decrement.bind(this);\n this.onItemMouseOver = debounce(this.onItemMouseOver.bind(this), 100, {maxWait: 100});\n }\n\n componentDidUpdate(prevProps: Readonly<DateTimeInputProps>, _prevState: Readonly<DateTimeInputState>, _snapshot?: any): void {\n if (!isEqual(prevProps, this.props) && this.inputRef.current !== null) {\n this.inputRef.current.input.selectionStart = this.state.currentPos;\n this.inputRef.current.input.selectionEnd = this.state.currentPos;\n if (prevProps.value !== this.props.value) {\n this.setState({valid: (!!this.props.value && this.props.value.isValid()) || (!!this.props.allowClear && this.props.value === null)});\n }\n }\n }\n\n get input() {\n return this.inputRef.current?.input;\n }\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n recalc(): void {\n if (this.inputRef.current !== null) {\n this.setState({\n currentInfo: DateTimeInput.parseDateTimeFormat(this.props.value, this.inputRef.current.input.value, this.props.mask, this.inputRef.current.input.selectionStart),\n currentPos: this.inputRef.current.input.selectionStart,\n });\n }\n }\n\n private increment(): void {\n if (this.state.currentInfo.info !== undefined && !!this.props.value && DateTimeInput.isValid(this.state.currentInfo, this.props.value, 1)) {\n const unit = this.state.currentInfo.info.unit;\n this.incrementDate(unit);\n }\n\n this.inputRef.current?.focus();\n }\n\n private incrementDate(unit: moment.unitOfTime.Base) {\n if (!!this.props.value) {\n this.props.value.add(1, unit);\n if (!!this.props.maxDateTime && this.props.value.isAfter(this.props.maxDateTime)) {\n this.props.onChange?.(this.props.maxDateTime?.clone());\n } else {\n this.props.onChange?.(this.props.value.clone());\n }\n }\n }\n\n private decrement(): void {\n if (this.state.currentInfo.info !== undefined && !!this.props.value && DateTimeInput.isValid(this.state.currentInfo, this.props.value, -1)) {\n const unit = this.state.currentInfo.info.unit;\n this.decrementDate(unit);\n }\n\n this.inputRef.current?.focus();\n }\n\n private decrementDate(unit: moment.unitOfTime.Base) {\n if (!!this.props.value) {\n this.props.value.subtract(1, unit);\n if (!!this.props.minDateTime && this.props.value.isBefore(this.props.minDateTime)) {\n this.props.onChange?.(this.props.minDateTime?.clone());\n } else {\n this.props.onChange?.(this.props.value.clone());\n }\n }\n }\n\n onItemMouseOver(itemDate: Moment) {\n this.props.onDateItemMouseOver?.(itemDate);\n }\n\n private renderCalendarNavigation(value: Moment) {\n const start = 0;\n const end = 12;\n const monthOptions = [];\n\n const current = value.clone();\n const localeData = value.localeData();\n const months = [];\n for (let i = 0; i < 12; i++) {\n current.month(i);\n months.push(localeData.months(current));\n }\n\n for (let index = start; index < end; index++) {\n monthOptions.push(\n <Select.Option className=\"month-item\" key={`${index}`} value={`${index}`}>\n {months[index]}\n </Select.Option>,\n );\n }\n const month = value.month();\n\n const year = value.year();\n const options = [];\n for (let i = year - 4; i <= year + 2; i += 1) {\n options.push(\n <Select.Option key={i} value={i} className=\"year-item\">\n {i}\n </Select.Option>,\n );\n }\n return (\n <div style={{paddingBottom: 8}}>\n <div style={{float: \"left\", paddingBottom: 8, width: 140, display: \"flex\"}}>\n <Button style={{width: 10, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n disabled={!DateTimeInput.checkDateValueValidity(this.state.calendarSelectedDate, -1, \"month\")}\n onClick={() => {\n this.state.calendarSelectedDate.subtract(1, \"month\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}\n className=\"ant-picker-header-prev-btn\"><span\n className=\"ant-picker-prev-icon\"/></Button>\n <Select\n style={{flex: \"1 1 auto\"}}\n size=\"small\"\n dropdownMatchSelectWidth={false}\n dropdownStyle={{zIndex: 2070}}\n getPopupContainer={this.props.getPopupContainer}\n value={String(month)}\n onChange={selectedMonth => {\n const newValue = this.state.calendarSelectedDate.clone();\n newValue.month(parseInt(selectedMonth, 10));\n this.setState({calendarSelectedDate: newValue});\n }}\n >\n {monthOptions}\n </Select>\n <Button style={{width: 10, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n className=\"ant-picker-header-next-btn\"\n onClick={() => {\n this.state.calendarSelectedDate.add(1, \"month\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}>\n <span className=\"ant-picker-next-icon\"/>\n </Button>\n </div>\n <div style={{float: \"right\", paddingBottom: 8, width: 110}}>\n <Button style={{width: 12, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n className=\"ant-picker-header-prev-btn\"\n onClick={() => {\n this.state.calendarSelectedDate.subtract(1, \"year\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}>\n <span className=\"ant-picker-prev-icon\"/>\n </Button>\n <Select\n size=\"small\"\n style={{width: 84}}\n dropdownMatchSelectWidth={false}\n dropdownStyle={{zIndex: 2070}}\n getPopupContainer={this.props.getPopupContainer}\n onChange={newYear => {\n const newValue = this.state.calendarSelectedDate.clone().year(parseInt(newYear, 10));\n this.setState({calendarSelectedDate: newValue});\n }}\n value={String(year)}\n >\n {options}\n </Select>\n <Button style={{width: 12, padding: 0}} size=\"small\" type=\"text\" tabIndex={-1}\n className=\"ant-picker-header-next-btn\"\n onClick={() => {\n this.state.calendarSelectedDate.add(1, \"year\");\n this.setState({calendarSelectedDate: this.state.calendarSelectedDate});\n }}>\n <span className=\"ant-picker-next-icon\"/>\n </Button>\n </div>\n </div>\n );\n }\n\n renderCalendar(): React.ReactElement {\n return (<div\n onKeyDown={!this.props.ignoreKeyStrokes ? (e) => {\n if (e.key === Key.Enter) {\n var tagName = (e.target as any)?.tagName?.toLowerCase();\n if (tagName !== \"input\") {\n this.props.onChange?.(this.state.calendarSelectedDate);\n }\n }\n } : undefined}\n onMouseOver={(e) => {\n if (e.target instanceof HTMLTableCellElement) {\n const date = moment(e.target.title, \"YYYY-MM-DD\");\n this.onItemMouseOver(date);\n }\n }}>\n <Calendar\n fullscreen={false}\n style={this.props.renderAsCalendar ? this.props.style : undefined}\n dateFullCellRender={((date: Moment) => {\n let className = date.isSame(this.today, \"date\") ? 'ant-picker-cell-inner ant-picker-calendar-date ant-picker-calendar-date-today' : 'ant-picker-cell-inner ant-picker-calendar-date';\n const markedDateInterval = this.props.markedDateInterval;\n if (markedDateInterval && (markedDateInterval[0].isBefore(date) || markedDateInterval[0].isSame(date, \"millisecond\")) &&\n (markedDateInterval[1].isAfter(date) || markedDateInterval[1].isSame(date, \"millisecond\"))) {\n className += \" date-picker-item-marked\";\n } else if (date.isSame(this.props.value, \"date\")) {\n className += \" date-picker-item-marked\";\n }\n return (\n <div className={className} style={{userSelect: \"none\"}}\n onKeyDown={(e) => {\n if (e.key === Key.Enter) {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\n this.props.onChange?.(date);\n }\n }}\n onMouseDown={() => {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\n this.props.onDateItemMouseDown?.(newValue);\n }}\n onMouseUp={() => {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(date.year()).month(date.month()).date(date.date());\n this.props.onDateItemMouseUp?.(newValue);\n }}\n >\n <div className={`ant-picker-calendar-date-value`}>\n {padStart(\"\" + date.date(), 2, '0')}\n </div>\n <div className={`ant-picker-calendar-date-content`}>\n </div>\n </div>\n );\n })}\n headerRender={({value}) => {\n return this.renderCalendarNavigation(value);\n }}\n value={this.state.calendarSelectedDate}\n validRange={[this.props.minDateTime ?? MIN_TIME, this.props.maxDateTime ?? MAX_TIME]}\n onSelect={(value) => {\n if (window.event instanceof MouseEvent) {\n let newValue = this.props.value?.clone() ?? moment().startOf(\"day\");\n newValue = newValue.year(value.year()).month(value.month()).date(value.date());\n this.props.onChange?.(newValue);\n }\n this.setState({calendarSelectedDate: value, popupCalendarVisible: false});\n }}\n />\n </div>\n );\n }\n\n renderInput() {\n const {\n mask,\n value,\n onChange,\n onInvalidValue,\n style,\n disabled,\n inputDisabled,\n bordered,\n hidePopup,\n renderAsCalendar,\n allowClear,\n minDateTime,\n maxDateTime,\n onDateItemMouseDown,\n onDateItemMouseOver,\n onDateItemMouseUp,\n markedDateInterval,\n inputStyle,\n getPopupContainer,\n autoFocus,\n className,\n ...props\n } = this.props;\n\n const isUpDisabled = disabled || this.state.currentInfo.info === undefined || !DateTimeInput.isValid(this.state.currentInfo, this.props.value, 1);\n const isDownDisabled = disabled || this.state.currentInfo.info === undefined || !DateTimeInput.isValid(this.state.currentInfo, this.props.value, -1);\n const unix: number | undefined = value?.valueOf();\n let divClassName = \"custom-date-time-picker\";\n if (disabled || inputDisabled) {\n divClassName += \" ant-input-number disabled ant-input-disabled readonly\";\n } else {\n divClassName += \" ant-input-number\";\n }\n if (bordered === false) {\n divClassName += \" ant-input-borderless\";\n }\n\n const maskedInputStyle = {color: this.state.valid ? \"inherit\" : \"red\", border: \"none\"};\n if (inputStyle) {\n Object.assign(maskedInputStyle, inputStyle);\n }\n\n return (\n <div style={bordered === false ? {...style, border: 0} : style} {...props} className={(className ? className + \" \" : \"\") + divClassName}>\n <div className=\"ant-input-number-input-wrap\"\n onKeyDown={(event) => {\n if (event.keyCode === 38) { // up\n this.increment();\n event.preventDefault();\n event.stopPropagation();\n } else if (event.keyCode === 40) { // down\n this.decrement();\n event.preventDefault();\n event.stopPropagation();\n }\n }}>\n <MaskedInput mask={this.props.mask.replace(/[a-zA-Z]/g, '1')}\n bordered={bordered}\n ref={this.inputRef}\n style={maskedInputStyle}\n value={(this.state.focused || unix !== D2000UnixTimeNullValue * 1000) ? (value?.locale(\"locale.d2000\").format(this.props.mask) ?? \"\") : \"\"}\n placeholder={(!this.state.focused && unix === D2000UnixTimeNullValue * 1000) ? \"Null Time\" : undefined}\n onFocus={(event => {\n event.target.selectionStart = event.target.selectionEnd = this.state.currentPos;\n this.setState({focused: true});\n })}\n onBlur={() => {\n this.setState({focused: false});\n }}\n autoFocus={autoFocus}\n disabled={disabled || inputDisabled}\n onWheel={(event) => {\n if (event.deltaY > 0) {\n if (!isDownDisabled) {\n this.decrement();\n }\n }\n if (event.deltaY < 0) {\n if (!isUpDisabled) {\n this.increment();\n }\n }\n }}\n onMouseUp={this.recalc}\n onKeyUp={this.recalc}\n onChange={(event) => {\n const inputString = event.target.value;\n const value: MaskResult = DateTimeInput.parseDateTimeFormat(this.props.value, inputString, this.props.mask, event.target.selectionStart);\n if (value.time !== undefined) {\n if (this.props.minDateTime !== undefined && value.time.isBefore(this.props.minDateTime)) {\n value.time = this.props.minDateTime.clone();\n }\n\n if (this.props.maxDateTime !== undefined && value.time.isAfter(this.props.maxDateTime)) {\n value.time = this.props.maxDateTime.clone();\n }\n onChange?.(value.time.clone());\n } else if (!!this.props.allowClear && !inputString) {\n onChange?.(null);\n } else {\n onInvalidValue?.(inputString);\n }\n this.setState({\n valid: (value.time !== undefined && value.time.isValid()) || (!!this.props.allowClear && !inputString),\n currentInfo: value\n })\n }}/>\n </div>\n {!hidePopup && !renderAsCalendar && <div className={\"ant-input-number-handler-wrap\"}\n style={{\n width: 28,\n opacity: 1,\n height: \"100%\",\n textAlign: \"center\",\n cursor: \"pointer\",\n background: \"transparent\",\n border: bordered === false ? 0 : undefined\n }}\n onClick={(event) => {\n if (document.createEvent) {\n var ev = document.createEvent('HTMLEvents');\n ev.initEvent('contextmenu', true, false);\n event.target.dispatchEvent(ev);\n }\n }}\n >\n <CalendarOutlined style={{color: \"rgba(0,0,0,0.65)\", verticalAlign: \"middle\", marginTop: 2}}/>\n </div>}\n </div>\n );\n }\n\n render(): any {\n if (this.props.renderAsCalendar) {\n return this.renderCalendar();\n } else if (this.props.hidePopup) {\n return this.renderInput();\n } else {\n return (\n <Tooltip color={\"white\"} trigger={this.props.disabled ? [] : [\"contextMenu\"]}\n getPopupContainer={this.props.getPopupContainer}\n overlayInnerStyle={{maxHeight: \"100vh\", overflowY: \"auto\", overflowX: \"hidden\", width: 266}}\n open={this.state.popupCalendarVisible}\n onOpenChange={(visible) => {\n this.setState({popupCalendarVisible: visible});\n if (visible) {\n this.setState({calendarSelectedDate: this.props.defaultSelectedDate?.clone() ?? this.props.value?.clone() ?? moment().startOf(\"day\")})\n }\n }}\n title={this.renderCalendar()}\n placement={this.props.placement}\n >\n {this.renderInput()}\n </Tooltip>\n );\n }\n }\n\n private static isValid(info: MaskResult, value: Moment | null, offset: number): boolean {\n const unit = info.info?.unit;\n return this.checkDateValueValidity(value, offset, unit);\n }\n\n private static checkDateValueValidity(value: moment.Moment | null, offset: number, unit: moment.unitOfTime.Base | undefined) {\n if (value === null) {\n return false;\n }\n let v = value.clone().add(offset, unit);\n return v.isValid() && v.isSameOrAfter(moment(0));\n }\n\n private static parseDateTimeFormat(previousTime: moment.Moment | null, value: string, mask: string, cursorPos: number | null): MaskResult {\n let result: MaskResult = {\n time: moment(0).startOf(\"day\"),\n info: undefined,\n length: 0,\n };\n\n for (let v of DATE_TIME_DATA_MAP) {\n let index: number = -1;\n let length: number = 0;\n let min: number = 0;\n let max: number = 0;\n\n if (Array.isArray(v.key) || Array.isArray(v.min) || Array.isArray(v.max)) {\n for (let i = 0; i < v.key.length; i++) {\n const x = v.key[i];\n index = mask.indexOf(x);\n\n if (index !== -1) {\n length = x.length;\n min = (v.min as number[])[i];\n max = (v.max as number[])[i];\n break;\n }\n }\n } else {\n index = mask.indexOf(v.key);\n length = v.key.length;\n min = v.min;\n max = v.max;\n }\n\n if (index !== -1) {\n let val: number = Number(value.substring(index, index + length));\n\n if (!isNaN(val) && val >= min && val <= max) {\n if (v.unit === \"M\") {\n val--; // 0-11\n }\n\n if (v.unit === \"d\") {\n result.time?.set('D', val);\n } else if (v.unit === \"y\" && length === 2) {\n const century: number = (previousTime != null && previousTime.isValid()) ? Math.floor(previousTime.year() / 100) * 100 : (val > 70 ? 1900 : 2000); // if short year\n result.time?.set(v.unit, century + val)\n } else {\n result.time?.set(v.unit, val);\n }\n } else {\n result.time = undefined;\n result.info = undefined;\n result.length = 0;\n break;\n }\n\n if (cursorPos !== null && cursorPos >= index && cursorPos <= index + length) {\n result.info = v;\n result.length = length;\n }\n }\n }\n\n return result;\n }\n}"]}
|
|
@@ -36,7 +36,7 @@ export default class DataGridEditor extends React.Component {
|
|
|
36
36
|
" ",
|
|
37
37
|
i18n("Advanced Settings")), placement: "right", closable: true, mask: true, maskStyle: { background: "transparent" }, width: 340, onClose: () => {
|
|
38
38
|
this.props.onTableConfigVisible(false);
|
|
39
|
-
},
|
|
39
|
+
}, open: this.props.visible, style: { borderTop: "1px solid #ddd" }, bodyStyle: { padding: 0 } },
|
|
40
40
|
React.createElement(Collapse, { defaultActiveKey: [], bordered: false },
|
|
41
41
|
this.renderWindowSettingsPanel(),
|
|
42
42
|
this.renderTableGeneralSettingsPanel(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataGridEditor.js","sourceRoot":"","sources":["../../../../../components/grid/config/dataGridEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {DownloadOutlined, SaveOutlined, SettingOutlined} from \"@ant-design/icons\";\nimport {Button, Collapse, Drawer, InputNumber, notification, Space, Switch} from 'antd';\nimport i18n from \"d2core/i18n/i18n\"\nimport ColumnTransfer, {ColumnTransferType} from \"./columnTransfer\";\nimport RowStylePicker from \"./rowStylePicker\";\nimport cloneDeep from \"lodash/cloneDeep\"\nimport {RowStyleRule} from \"d2coreui/components/grid/cell/tableDefaultRowStyleRules\";\nimport {ColDef, ColumnApi, ColumnState, GridApi} from \"ag-grid-community\";\nimport {DataGridColDef} from \"../dataGrid\";\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\nimport {UndoIcon} from \"d2coreui/components/icons/undoIcon\";\nimport PlatformSpecific from \"d2coreui/components/platformSpecific\";\n\nconst REVERT_BUTTON_STYLE = {marginTop: -5};\n\ninterface DataGridEditorProps {\n dataGrid: any\n gridApi: GridApi\n gridColumnApi: ColumnApi\n columnDefinitions: DataGridColDef[]\n columnModel: ColumnState[]\n\n currentPageSize: number\n paginationPageSize: number\n paginationDefaultPageSize?: number\n showMilliseconds: boolean\n defaultShowMilliseconds: boolean\n showYear: boolean\n defaultShowYear: boolean\n\n defaultRowStyleRules?: RowStyleRule[]\n rowStyleRules: RowStyleRule[]\n\n onChangeRowStyleRules?(rowStyleRules: RowStyleRule[]): void\n\n visible: boolean\n\n onTableConfigVisible(visible: boolean): void\n}\n\ninterface DataGridEditorState {\n targetKeys: string[]\n initialPageSize: number\n windowName: string\n configurationChangesDisabled: boolean\n}\n\nexport default class DataGridEditor extends React.Component<DataGridEditorProps, DataGridEditorState> {\n constructor(props: Readonly<DataGridEditorProps>) {\n super(props);\n this.state = {\n targetKeys: [],\n initialPageSize: props.currentPageSize,\n windowName: \"\",\n configurationChangesDisabled: PlatformSpecific.INSTANCE.configurationChangesDisabled()\n };\n this.onChange = this.onChange.bind(this);\n }\n\n componentDidMount() {\n this.setState({\n initialPageSize: this.props.currentPageSize,\n windowName: PlatformSpecific.INSTANCE.getCurrentWindowName()\n });\n }\n\n onChange(targetKeys: string[]) {\n this.setState({targetKeys});\n };\n\n render() {\n return (\n <Drawer\n title={<div style={{width: \"100%\", paddingRight: 24}}>\n <SettingOutlined/> {i18n(\"Advanced Settings\")}\n </div>}\n placement=\"right\"\n closable={true}\n mask={true}\n maskStyle={{background: \"transparent\"}}\n width={340}\n onClose={() => {\n this.props.onTableConfigVisible(false);\n }}\n visible={this.props.visible}\n style={{borderTop: \"1px solid #ddd\"}}\n bodyStyle={{padding: 0}}\n >\n <Collapse defaultActiveKey={[]} bordered={false}>\n {this.renderWindowSettingsPanel()}\n {this.renderTableGeneralSettingsPanel()}\n {this.renderTableColumnSettingsPanel()}\n {this.props.rowStyleRules && this.renderRowsPanel()}\n </Collapse>\n </Drawer>\n );\n }\n\n renderWindowSettingsPanel() {\n return (\n <Collapse.Panel\n header={<span style={{fontWeight: 500}}>{i18n(\"Window\") + \" \\\"\" + this.state.windowName + \" \\\"\"}</span>}\n key=\"window-settings\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>} key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n PlatformSpecific.INSTANCE.reloadPageInPredefinedState();\n }}/>\n }>\n <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>\n <Button type=\"primary\" style={{width: \"100%\"}}\n disabled={this.state.configurationChangesDisabled}\n title={i18n(\"Save current window configuration for current user\")}\n onClick={() => {\n ModalDialog.confirm({\n mode: ModalDialogMode.YES_NO,\n title: <span\n style={{whiteSpace: \"nowrap\"}}>{i18n(\"Save Window Configuration\") + \"?\"}</span>,\n width: 400,\n onOk: () => {\n PlatformSpecific.INSTANCE.saveWindowConfiguration();\n notification['success']({\n message: i18n(\"Window configuration saved successfully\"),\n })\n },\n });\n\n }}>\n <SaveOutlined/>{i18n(\"Save Window Configuration\")}\n </Button>\n </div>\n <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>\n <Button style={{width: \"100%\"}}\n title={i18n(\"Export current window configuration to file\")}\n onClick={() => {\n PlatformSpecific.INSTANCE.exportWindowConfiguration();\n }}>\n <DownloadOutlined/>{i18n(\"Export Window Configuration\")}\n </Button>\n </div>\n <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>\n <Button danger ghost\n style={{width: \"100%\"}}\n onClick={() => {\n PlatformSpecific.INSTANCE.reloadPageInFactoryState();\n }}>\n <UndoIcon/>{i18n(\"Revert to factory configuration\")}\n </Button>\n </div>\n </Collapse.Panel>\n );\n }\n\n renderTableGeneralSettingsPanel() {\n const paginationEnabled = this.props.paginationPageSize >= 0;\n const automaticPagination = this.props.paginationPageSize === 0;\n return (\n <Collapse.Panel header={<span style={{fontWeight: 500}}>{i18n(\"Table - General Settings\")}</span>}\n key=\"general\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>}\n key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (this.props.paginationDefaultPageSize !== undefined) {\n this.props.dataGrid.changePagination(this.props.paginationDefaultPageSize);\n } else {\n this.props.dataGrid.changePagination(0);\n }\n this.props.dataGrid.showMilliseconds(this.props.defaultShowMilliseconds);\n this.props.dataGrid.showYear(this.props.defaultShowYear);\n }}/>\n }>\n <Space direction=\"vertical\" style={{width: \"100%\"}}>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Pagination\")}</span>\n <span style={{float: \"right\"}}>\n <Switch checkedChildren={i18n(\"Enabled\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"Disabled\"))}\n checked={paginationEnabled}\n onChange={(checked) => {\n this.props.dataGrid.changePagination(checked ? 0 : -1);\n }}/>\n </span>\n </div>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Page Size\")}</span>\n <span style={{float: \"right\"}}>\n <InputNumber\n size=\"small\"\n style={{\n width: 70,\n display: !paginationEnabled || automaticPagination ? \"none\" : \"\",\n marginLeft: 8\n }}\n placeholder=\"size\"\n className=\"custom\"\n value={this.props.currentPageSize}\n onChange={(pageSize) => {\n if (pageSize) {\n this.props.dataGrid.changePagination(pageSize);\n }\n }}\n />\n <Switch disabled={!paginationEnabled}\n style={{minWidth: 100}}\n checkedChildren={i18n(\"Automatic\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"Fixed\"))}\n checked={!paginationEnabled || automaticPagination}\n onChange={(checked) => {\n this.props.dataGrid.changePagination(checked ? 0 : (this.state.initialPageSize > 1 ? this.state.initialPageSize : 20));\n }}/>\n </span>\n </div>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Show time with year\")}</span>\n <span style={{float: \"right\"}}>\n <Switch checkedChildren={i18n(\"Yes\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"No\"))}\n checked={this.props.showYear}\n onChange={(checked) => {\n this.props.dataGrid.showYear(checked);\n }}/>\n </span>\n </div>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Show time with milliseconds\")}</span>\n <span style={{float: \"right\"}}>\n <Switch checkedChildren={i18n(\"Yes\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"No\"))}\n checked={this.props.showMilliseconds}\n onChange={(checked) => {\n this.props.dataGrid.showMilliseconds(checked);\n }}/>\n </span>\n </div>\n </Space>\n </Collapse.Panel>\n );\n }\n\n renderTableColumnSettingsPanel() {\n return (\n <Collapse.Panel header={<span style={{fontWeight: 500}}>{i18n(\"Table - Columns\")}</span>} key=\"columns\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>}\n key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n this.props.gridColumnApi.resetColumnState();\n }}/>\n }>\n <ColumnTransfer\n columnDefinitions={this.props.columnDefinitions as ColDef[]}\n columnModel={this.props.columnModel}\n type={ColumnTransferType.SIMPLE}\n gridApi={this.props.gridApi}\n gridColumnApi={this.props.gridColumnApi}\n />\n </Collapse.Panel>\n );\n }\n\n renderRowsPanel() {\n return (\n <Collapse.Panel header={<span style={{fontWeight: 500}}>{i18n(\"Table - Rows Styling\")}</span>} key=\"rows\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>}\n key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (this.props.defaultRowStyleRules) {\n const rowStyleRules = cloneDeep(this.props.defaultRowStyleRules);\n if (this.props.onChangeRowStyleRules) {\n this.props.onChangeRowStyleRules(rowStyleRules);\n }\n }\n }}/>\n }>\n <div>\n {this.props.rowStyleRules.map((rowStyleRule, index) => this.renderRowStyleRule(rowStyleRule, index))}\n </div>\n </Collapse.Panel>\n );\n }\n\n renderRowStyleRule(rowStyleRule: RowStyleRule, index: number) {\n return (\n <RowStylePicker key={\"row-style-picker-\" + index} rowStyleRule={rowStyleRule} onChange={(rowStyleRule) => {\n this.props.rowStyleRules[index] = rowStyleRule;\n if (this.props.onChangeRowStyleRules) {\n this.props.onChangeRowStyleRules(this.props.rowStyleRules);\n }\n }}/>\n );\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"dataGridEditor.js","sourceRoot":"","sources":["../../../../../components/grid/config/dataGridEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport {DownloadOutlined, SaveOutlined, SettingOutlined} from \"@ant-design/icons\";\nimport {Button, Collapse, Drawer, InputNumber, notification, Space, Switch} from 'antd';\nimport i18n from \"d2core/i18n/i18n\"\nimport ColumnTransfer, {ColumnTransferType} from \"./columnTransfer\";\nimport RowStylePicker from \"./rowStylePicker\";\nimport cloneDeep from \"lodash/cloneDeep\"\nimport {RowStyleRule} from \"d2coreui/components/grid/cell/tableDefaultRowStyleRules\";\nimport {ColDef, ColumnApi, ColumnState, GridApi} from \"ag-grid-community\";\nimport {DataGridColDef} from \"../dataGrid\";\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\nimport {UndoIcon} from \"d2coreui/components/icons/undoIcon\";\nimport PlatformSpecific from \"d2coreui/components/platformSpecific\";\n\nconst REVERT_BUTTON_STYLE = {marginTop: -5};\n\ninterface DataGridEditorProps {\n dataGrid: any\n gridApi: GridApi\n gridColumnApi: ColumnApi\n columnDefinitions: DataGridColDef[]\n columnModel: ColumnState[]\n\n currentPageSize: number\n paginationPageSize: number\n paginationDefaultPageSize?: number\n showMilliseconds: boolean\n defaultShowMilliseconds: boolean\n showYear: boolean\n defaultShowYear: boolean\n\n defaultRowStyleRules?: RowStyleRule[]\n rowStyleRules: RowStyleRule[]\n\n onChangeRowStyleRules?(rowStyleRules: RowStyleRule[]): void\n\n visible: boolean\n\n onTableConfigVisible(visible: boolean): void\n}\n\ninterface DataGridEditorState {\n targetKeys: string[]\n initialPageSize: number\n windowName: string\n configurationChangesDisabled: boolean\n}\n\nexport default class DataGridEditor extends React.Component<DataGridEditorProps, DataGridEditorState> {\n constructor(props: Readonly<DataGridEditorProps>) {\n super(props);\n this.state = {\n targetKeys: [],\n initialPageSize: props.currentPageSize,\n windowName: \"\",\n configurationChangesDisabled: PlatformSpecific.INSTANCE.configurationChangesDisabled()\n };\n this.onChange = this.onChange.bind(this);\n }\n\n componentDidMount() {\n this.setState({\n initialPageSize: this.props.currentPageSize,\n windowName: PlatformSpecific.INSTANCE.getCurrentWindowName()\n });\n }\n\n onChange(targetKeys: string[]) {\n this.setState({targetKeys});\n };\n\n render() {\n return (\n <Drawer\n title={<div style={{width: \"100%\", paddingRight: 24}}>\n <SettingOutlined/> {i18n(\"Advanced Settings\")}\n </div>}\n placement=\"right\"\n closable={true}\n mask={true}\n maskStyle={{background: \"transparent\"}}\n width={340}\n onClose={() => {\n this.props.onTableConfigVisible(false);\n }}\n open={this.props.visible}\n style={{borderTop: \"1px solid #ddd\"}}\n bodyStyle={{padding: 0}}\n >\n <Collapse defaultActiveKey={[]} bordered={false}>\n {this.renderWindowSettingsPanel()}\n {this.renderTableGeneralSettingsPanel()}\n {this.renderTableColumnSettingsPanel()}\n {this.props.rowStyleRules && this.renderRowsPanel()}\n </Collapse>\n </Drawer>\n );\n }\n\n renderWindowSettingsPanel() {\n return (\n <Collapse.Panel\n header={<span style={{fontWeight: 500}}>{i18n(\"Window\") + \" \\\"\" + this.state.windowName + \" \\\"\"}</span>}\n key=\"window-settings\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>} key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n PlatformSpecific.INSTANCE.reloadPageInPredefinedState();\n }}/>\n }>\n <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>\n <Button type=\"primary\" style={{width: \"100%\"}}\n disabled={this.state.configurationChangesDisabled}\n title={i18n(\"Save current window configuration for current user\")}\n onClick={() => {\n ModalDialog.confirm({\n mode: ModalDialogMode.YES_NO,\n title: <span\n style={{whiteSpace: \"nowrap\"}}>{i18n(\"Save Window Configuration\") + \"?\"}</span>,\n width: 400,\n onOk: () => {\n PlatformSpecific.INSTANCE.saveWindowConfiguration();\n notification['success']({\n message: i18n(\"Window configuration saved successfully\"),\n })\n },\n });\n\n }}>\n <SaveOutlined/>{i18n(\"Save Window Configuration\")}\n </Button>\n </div>\n <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>\n <Button style={{width: \"100%\"}}\n title={i18n(\"Export current window configuration to file\")}\n onClick={() => {\n PlatformSpecific.INSTANCE.exportWindowConfiguration();\n }}>\n <DownloadOutlined/>{i18n(\"Export Window Configuration\")}\n </Button>\n </div>\n <div style={{paddingRight: 16, paddingLeft: 16, paddingBottom: 8}}>\n <Button danger ghost\n style={{width: \"100%\"}}\n onClick={() => {\n PlatformSpecific.INSTANCE.reloadPageInFactoryState();\n }}>\n <UndoIcon/>{i18n(\"Revert to factory configuration\")}\n </Button>\n </div>\n </Collapse.Panel>\n );\n }\n\n renderTableGeneralSettingsPanel() {\n const paginationEnabled = this.props.paginationPageSize >= 0;\n const automaticPagination = this.props.paginationPageSize === 0;\n return (\n <Collapse.Panel header={<span style={{fontWeight: 500}}>{i18n(\"Table - General Settings\")}</span>}\n key=\"general\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>}\n key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (this.props.paginationDefaultPageSize !== undefined) {\n this.props.dataGrid.changePagination(this.props.paginationDefaultPageSize);\n } else {\n this.props.dataGrid.changePagination(0);\n }\n this.props.dataGrid.showMilliseconds(this.props.defaultShowMilliseconds);\n this.props.dataGrid.showYear(this.props.defaultShowYear);\n }}/>\n }>\n <Space direction=\"vertical\" style={{width: \"100%\"}}>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Pagination\")}</span>\n <span style={{float: \"right\"}}>\n <Switch checkedChildren={i18n(\"Enabled\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"Disabled\"))}\n checked={paginationEnabled}\n onChange={(checked) => {\n this.props.dataGrid.changePagination(checked ? 0 : -1);\n }}/>\n </span>\n </div>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Page Size\")}</span>\n <span style={{float: \"right\"}}>\n <InputNumber\n size=\"small\"\n style={{\n width: 70,\n display: !paginationEnabled || automaticPagination ? \"none\" : \"\",\n marginLeft: 8\n }}\n placeholder=\"size\"\n className=\"custom\"\n value={this.props.currentPageSize}\n onChange={(pageSize) => {\n if (pageSize) {\n this.props.dataGrid.changePagination(pageSize);\n }\n }}\n />\n <Switch disabled={!paginationEnabled}\n style={{minWidth: 100}}\n checkedChildren={i18n(\"Automatic\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"Fixed\"))}\n checked={!paginationEnabled || automaticPagination}\n onChange={(checked) => {\n this.props.dataGrid.changePagination(checked ? 0 : (this.state.initialPageSize > 1 ? this.state.initialPageSize : 20));\n }}/>\n </span>\n </div>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Show time with year\")}</span>\n <span style={{float: \"right\"}}>\n <Switch checkedChildren={i18n(\"Yes\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"No\"))}\n checked={this.props.showYear}\n onChange={(checked) => {\n this.props.dataGrid.showYear(checked);\n }}/>\n </span>\n </div>\n <div style={{width: \"100%\"}}>\n <span>{i18n(\"Show time with milliseconds\")}</span>\n <span style={{float: \"right\"}}>\n <Switch checkedChildren={i18n(\"Yes\") + \" \"}\n unCheckedChildren={i18n(\" \" + i18n(\"No\"))}\n checked={this.props.showMilliseconds}\n onChange={(checked) => {\n this.props.dataGrid.showMilliseconds(checked);\n }}/>\n </span>\n </div>\n </Space>\n </Collapse.Panel>\n );\n }\n\n renderTableColumnSettingsPanel() {\n return (\n <Collapse.Panel header={<span style={{fontWeight: 500}}>{i18n(\"Table - Columns\")}</span>} key=\"columns\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>}\n key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n this.props.gridColumnApi.resetColumnState();\n }}/>\n }>\n <ColumnTransfer\n columnDefinitions={this.props.columnDefinitions as ColDef[]}\n columnModel={this.props.columnModel}\n type={ColumnTransferType.SIMPLE}\n gridApi={this.props.gridApi}\n gridColumnApi={this.props.gridColumnApi}\n />\n </Collapse.Panel>\n );\n }\n\n renderRowsPanel() {\n return (\n <Collapse.Panel header={<span style={{fontWeight: 500}}>{i18n(\"Table - Rows Styling\")}</span>} key=\"rows\"\n extra={\n <Button\n title={i18n(\"Revert configuration to predefined state\")} icon={<UndoIcon/>}\n key=\"revert\"\n style={REVERT_BUTTON_STYLE}\n danger\n ghost\n onClick={(e) => {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (this.props.defaultRowStyleRules) {\n const rowStyleRules = cloneDeep(this.props.defaultRowStyleRules);\n if (this.props.onChangeRowStyleRules) {\n this.props.onChangeRowStyleRules(rowStyleRules);\n }\n }\n }}/>\n }>\n <div>\n {this.props.rowStyleRules.map((rowStyleRule, index) => this.renderRowStyleRule(rowStyleRule, index))}\n </div>\n </Collapse.Panel>\n );\n }\n\n renderRowStyleRule(rowStyleRule: RowStyleRule, index: number) {\n return (\n <RowStylePicker key={\"row-style-picker-\" + index} rowStyleRule={rowStyleRule} onChange={(rowStyleRule) => {\n this.props.rowStyleRules[index] = rowStyleRule;\n if (this.props.onChangeRowStyleRules) {\n this.props.onChangeRowStyleRules(this.props.rowStyleRules);\n }\n }}/>\n );\n }\n}"]}
|
|
@@ -1507,7 +1507,7 @@ export default class DataGrid extends React.Component {
|
|
|
1507
1507
|
_d.call(_c))),
|
|
1508
1508
|
!!this.gridApi && !!this.gridColumnApi && this.state.pageSize !== null &&
|
|
1509
1509
|
React.createElement(DataGridEditor, { dataGrid: this, gridApi: this.gridApi, gridColumnApi: this.gridColumnApi, columnDefinitions: columnDefs, columnModel: this.state.columnModel, visible: !!this.props.tableConfigVisible, onTableConfigVisible: this.showTableConfiguration, paginationPageSize: paging.pageSize, paginationDefaultPageSize: paging.defaultPageSize, currentPageSize: this.state.pageSize, showMilliseconds: !!this.props.showMilliseconds, defaultShowMilliseconds: !!this.props.defaultShowMilliseconds, showYear: !this.props.hideYear, defaultShowYear: !this.props.defaultHideYear, rowStyleRules: this.props.rowStyleRules, defaultRowStyleRules: this.props.defaultRowStyleRules, onChangeRowStyleRules: onChangeRowStyleRules }),
|
|
1510
|
-
!!this.gridApi && !!this.gridColumnApi && React.createElement(ModalDialog, { mode: "OK_CANCEL",
|
|
1510
|
+
!!this.gridApi && !!this.gridColumnApi && React.createElement(ModalDialog, { mode: "OK_CANCEL", open: this.state.columnsConfigVisible, initialWidth: 700, initialHeight: this.state.columnTransferHeight, title: React.createElement("span", null,
|
|
1511
1511
|
React.createElement(ControlOutlined, { style: {
|
|
1512
1512
|
color: "#faad14",
|
|
1513
1513
|
fontSize: 22,
|