@deephaven/iris-grid 0.26.2-beta.3 → 0.27.0
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/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +5 -1
- package/dist/IrisGrid.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +16 -14
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +2 -7
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +39 -14
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.d.ts +4 -20
- package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +80 -91
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.d.ts +2 -2
- package/dist/sidebar/InputEditor.d.ts.map +1 -1
- package/dist/sidebar/InputEditor.js +9 -8
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/package.json +15 -15
|
@@ -78,6 +78,9 @@ export default class InputEditor extends Component {
|
|
|
78
78
|
(_this$editor$getModel = this.editor.getModel()) === null || _this$editor$getModel === void 0 ? void 0 : _this$editor$getModel.updateOptions({
|
|
79
79
|
tabSize: 0
|
|
80
80
|
});
|
|
81
|
+
|
|
82
|
+
// monaco does not propagate tab or enter events
|
|
83
|
+
this.editor.onKeyDown(this.handleKeyDown);
|
|
81
84
|
this.editor.onDidChangeModelContent(this.handleContentChanged);
|
|
82
85
|
this.editor.onDidFocusEditorText(this.handleEditorFocus);
|
|
83
86
|
this.editor.onDidBlurEditorText(this.handleEditorBlur);
|
|
@@ -93,7 +96,7 @@ export default class InputEditor extends Component {
|
|
|
93
96
|
onContentChanged
|
|
94
97
|
} = this.props;
|
|
95
98
|
var value = (_this$editor2 = this.editor) === null || _this$editor2 === void 0 ? void 0 : (_this$editor2$getMode = _this$editor2.getModel()) === null || _this$editor2$getMode === void 0 ? void 0 : _this$editor2$getMode.getValue();
|
|
96
|
-
if (value !==
|
|
99
|
+
if (value !== undefined) {
|
|
97
100
|
this.setState({
|
|
98
101
|
isEditorEmpty: value.length === 0
|
|
99
102
|
});
|
|
@@ -106,11 +109,8 @@ export default class InputEditor extends Component {
|
|
|
106
109
|
});
|
|
107
110
|
}
|
|
108
111
|
handleEditorBlur() {
|
|
109
|
-
var _this$editor3, _this$editor3$getMode;
|
|
110
|
-
var value = (_this$editor3 = this.editor) === null || _this$editor3 === void 0 ? void 0 : (_this$editor3$getMode = _this$editor3.getModel()) === null || _this$editor3$getMode === void 0 ? void 0 : _this$editor3$getMode.getValue();
|
|
111
|
-
if (value === undefined || value === '') {
|
|
112
|
-
throw new Error('value is undefined');
|
|
113
|
-
}
|
|
112
|
+
var _this$editor$getModel2, _this$editor3, _this$editor3$getMode;
|
|
113
|
+
var value = (_this$editor$getModel2 = (_this$editor3 = this.editor) === null || _this$editor3 === void 0 ? void 0 : (_this$editor3$getMode = _this$editor3.getModel()) === null || _this$editor3$getMode === void 0 ? void 0 : _this$editor3$getMode.getValue()) !== null && _this$editor$getModel2 !== void 0 ? _this$editor$getModel2 : '';
|
|
114
114
|
this.setState({
|
|
115
115
|
isEditorEmpty: value.length === 0,
|
|
116
116
|
isEditorFocused: false
|
|
@@ -133,7 +133,9 @@ export default class InputEditor extends Component {
|
|
|
133
133
|
onTab,
|
|
134
134
|
editorIndex
|
|
135
135
|
} = this.props;
|
|
136
|
-
if (event.
|
|
136
|
+
if (event.code === 'Tab') {
|
|
137
|
+
event.stopPropagation();
|
|
138
|
+
event.preventDefault();
|
|
137
139
|
onTab(editorIndex, event.shiftKey);
|
|
138
140
|
}
|
|
139
141
|
}
|
|
@@ -151,7 +153,6 @@ export default class InputEditor extends Component {
|
|
|
151
153
|
focused: isEditorFocused,
|
|
152
154
|
invalid
|
|
153
155
|
}),
|
|
154
|
-
onKeyDown: this.handleKeyDown,
|
|
155
156
|
role: "presentation",
|
|
156
157
|
onClick: this.handleContainerClick
|
|
157
158
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputEditor.js","names":["React","Component","monaco","classNames","InputEditor","constructor","props","handleContentChanged","bind","handleEditorFocus","handleEditorBlur","handleContainerClick","handleKeyDown","state","isEditorFocused","isEditorEmpty","editorContainer","componentDidMount","initEditor","componentWillUnmount","destroyEditor","value","editorSettings","inputEditorSettings","copyWithSyntaxHighlighting","fixedOverflowWidgets","folding","fontFamily","glyphMargin","language","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","scrollBeyondLastLine","padding","top","bottom","tabCompletion","useTabStops","wordWrap","automaticLayout","Error","editor","create","layout","getModel","updateOptions","tabSize","onDidChangeModelContent","onDidFocusEditorText","onDidBlurEditorText","dispose","undefined","onContentChanged","getValue","setState","length","focus","event","onTab","editorIndex","key","shiftKey","render","invalid","focused"],"sources":["../../src/sidebar/InputEditor.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport * as monaco from 'monaco-editor';\nimport classNames from 'classnames';\nimport './InputEditor.scss';\n\ninterface InputEditorProps {\n value: string;\n onContentChanged: (value?: string) => void;\n editorSettings: Partial<monaco.editor.IStandaloneEditorConstructionOptions>;\n editorIndex: number;\n onTab: (editorIndex: number, shiftKey: boolean) => void;\n invalid: boolean;\n}\n\ninterface InputEditorState {\n isEditorFocused: boolean;\n isEditorEmpty: boolean;\n}\n/**\n * A monaco editor that looks like an general input\n */\n\nexport default class InputEditor extends Component<\n InputEditorProps,\n InputEditorState\n> {\n static defaultProps = {\n value: '',\n onContentChanged: (): void => undefined,\n editorSettings: {},\n editorIndex: 0,\n onTab: (): void => undefined,\n invalid: false,\n };\n\n constructor(props: InputEditorProps) {\n super(props);\n\n this.handleContentChanged = this.handleContentChanged.bind(this);\n this.handleEditorFocus = this.handleEditorFocus.bind(this);\n this.handleEditorBlur = this.handleEditorBlur.bind(this);\n this.handleContainerClick = this.handleContainerClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.state = {\n isEditorFocused: false,\n isEditorEmpty: true,\n };\n this.editorContainer = null;\n }\n\n componentDidMount(): void {\n this.initEditor();\n }\n\n componentWillUnmount(): void {\n this.destroyEditor();\n }\n\n editorContainer: HTMLDivElement | null;\n\n editor?: monaco.editor.IStandaloneCodeEditor;\n\n initEditor(): void {\n const { value, editorSettings } = this.props;\n const inputEditorSettings = {\n copyWithSyntaxHighlighting: 'false',\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language: 'groovyDB',\n lineDecorationsWidth: 8,\n lineNumbers: 'off',\n minimap: { enabled: false },\n renderLineHighlight: 'none',\n scrollbar: {\n arrowSize: 0,\n horizontal: 'hidden',\n horizontalScrollbarSize: 0,\n },\n scrollBeyondLastLine: false,\n padding: {\n top: 6,\n bottom: 6,\n },\n tabCompletion: 'off',\n useTabStops: true,\n value,\n wordWrap: 'on',\n automaticLayout: true,\n ...editorSettings,\n } as monaco.editor.IStandaloneEditorConstructionOptions;\n if (!this.editorContainer) {\n throw new Error('editorContainer is null');\n }\n this.editor = monaco.editor.create(\n this.editorContainer,\n inputEditorSettings\n );\n this.editor.layout();\n\n // disable tab to spaces in this editor to improve tab navigation\n this.editor.getModel()?.updateOptions({ tabSize: 0 });\n\n this.editor.onDidChangeModelContent(this.handleContentChanged);\n this.editor.onDidFocusEditorText(this.handleEditorFocus);\n this.editor.onDidBlurEditorText(this.handleEditorBlur);\n }\n\n destroyEditor(): void {\n this.editor?.dispose();\n this.editor = undefined;\n }\n\n handleContentChanged(): void {\n const { onContentChanged } = this.props;\n const value = this.editor?.getModel()?.getValue();\n if (value !== '' && value !== undefined) {\n this.setState({ isEditorEmpty: value.length === 0 });\n }\n onContentChanged(value);\n }\n\n handleEditorFocus(): void {\n this.setState({ isEditorFocused: true });\n }\n\n handleEditorBlur(): void {\n const value = this.editor?.getModel()?.getValue();\n if (value === undefined || value === '') {\n throw new Error('value is undefined');\n }\n this.setState({\n isEditorEmpty: value.length === 0,\n isEditorFocused: false,\n });\n }\n\n // force editor to focus if clicked\n handleContainerClick(): void {\n const { isEditorFocused } = this.state;\n if (isEditorFocused) {\n return;\n }\n this.editor?.focus();\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLDivElement>): void {\n const { onTab, editorIndex } = this.props;\n if (event.key === 'Tab') {\n onTab(editorIndex, event.shiftKey);\n }\n }\n\n render(): ReactElement {\n const { value, invalid } = this.props;\n const { isEditorFocused, isEditorEmpty } = this.state;\n return (\n <div\n className={classNames('input-editor-wrapper', {\n focused: isEditorFocused,\n invalid,\n })}\n onKeyDown={this.handleKeyDown}\n role=\"presentation\"\n onClick={this.handleContainerClick}\n >\n <div\n className=\"editor-container\"\n ref={editorContainer => {\n this.editorContainer = editorContainer;\n }}\n />\n {isEditorEmpty && !value && (\n <div className=\"editor-placeholder text-muted\">Column Formula</div>\n )}\n </div>\n );\n }\n}\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAsB,OAAO;AACtD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAOC,UAAU,MAAM,YAAY;AAAC;AAgBpC;AACA;AACA;;AAEA,eAAe,MAAMC,WAAW,SAASH,SAAS,CAGhD;EAUAI,WAAW,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,CAAC;IAAC;IAAA;IAEb,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACC,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACE,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACF,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACG,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACH,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACI,aAAa,GAAG,IAAI,CAACA,aAAa,CAACJ,IAAI,CAAC,IAAI,CAAC;IAElD,IAAI,CAACK,KAAK,GAAG;MACXC,eAAe,EAAE,KAAK;MACtBC,aAAa,EAAE;IACjB,CAAC;IACD,IAAI,CAACC,eAAe,GAAG,IAAI;EAC7B;EAEAC,iBAAiB,GAAS;IACxB,IAAI,CAACC,UAAU,EAAE;EACnB;EAEAC,oBAAoB,GAAS;IAC3B,IAAI,CAACC,aAAa,EAAE;EACtB;EAMAF,UAAU,GAAS;IAAA;IACjB,IAAM;MAAEG,KAAK;MAAEC;IAAe,CAAC,GAAG,IAAI,CAAChB,KAAK;IAC5C,IAAMiB,mBAAmB;MACvBC,0BAA0B,EAAE,OAAO;MACnCC,oBAAoB,EAAE,IAAI;MAC1BC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,WAAW;MACvBC,WAAW,EAAE,KAAK;MAClBC,QAAQ,EAAE,UAAU;MACpBC,oBAAoB,EAAE,CAAC;MACvBC,WAAW,EAAE,KAAK;MAClBC,OAAO,EAAE;QAAEC,OAAO,EAAE;MAAM,CAAC;MAC3BC,mBAAmB,EAAE,MAAM;MAC3BC,SAAS,EAAE;QACTC,SAAS,EAAE,CAAC;QACZC,UAAU,EAAE,QAAQ;QACpBC,uBAAuB,EAAE;MAC3B,CAAC;MACDC,oBAAoB,EAAE,KAAK;MAC3BC,OAAO,EAAE;QACPC,GAAG,EAAE,CAAC;QACNC,MAAM,EAAE;MACV,CAAC;MACDC,aAAa,EAAE,KAAK;MACpBC,WAAW,EAAE,IAAI;MACjBvB,KAAK;MACLwB,QAAQ,EAAE,IAAI;MACdC,eAAe,EAAE;IAAI,GAClBxB,cAAc,CACoC;IACvD,IAAI,CAAC,IAAI,CAACN,eAAe,EAAE;MACzB,MAAM,IAAI+B,KAAK,CAAC,yBAAyB,CAAC;IAC5C;IACA,IAAI,CAACC,MAAM,GAAG9C,MAAM,CAAC8C,MAAM,CAACC,MAAM,CAChC,IAAI,CAACjC,eAAe,EACpBO,mBAAmB,CACpB;IACD,IAAI,CAACyB,MAAM,CAACE,MAAM,EAAE;;IAEpB;IACA,6BAAI,CAACF,MAAM,CAACG,QAAQ,EAAE,0DAAtB,sBAAwBC,aAAa,CAAC;MAAEC,OAAO,EAAE;IAAE,CAAC,CAAC;IAErD,IAAI,CAACL,MAAM,CAACM,uBAAuB,CAAC,IAAI,CAAC/C,oBAAoB,CAAC;IAC9D,IAAI,CAACyC,MAAM,CAACO,oBAAoB,CAAC,IAAI,CAAC9C,iBAAiB,CAAC;IACxD,IAAI,CAACuC,MAAM,CAACQ,mBAAmB,CAAC,IAAI,CAAC9C,gBAAgB,CAAC;EACxD;EAEAU,aAAa,GAAS;IAAA;IACpB,oBAAI,CAAC4B,MAAM,iDAAX,aAAaS,OAAO,EAAE;IACtB,IAAI,CAACT,MAAM,GAAGU,SAAS;EACzB;EAEAnD,oBAAoB,GAAS;IAAA;IAC3B,IAAM;MAAEoD;IAAiB,CAAC,GAAG,IAAI,CAACrD,KAAK;IACvC,IAAMe,KAAK,oBAAG,IAAI,CAAC2B,MAAM,2EAAX,cAAaG,QAAQ,EAAE,0DAAvB,sBAAyBS,QAAQ,EAAE;IACjD,IAAIvC,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAKqC,SAAS,EAAE;MACvC,IAAI,CAACG,QAAQ,CAAC;QAAE9C,aAAa,EAAEM,KAAK,CAACyC,MAAM,KAAK;MAAE,CAAC,CAAC;IACtD;IACAH,gBAAgB,CAACtC,KAAK,CAAC;EACzB;EAEAZ,iBAAiB,GAAS;IACxB,IAAI,CAACoD,QAAQ,CAAC;MAAE/C,eAAe,EAAE;IAAK,CAAC,CAAC;EAC1C;EAEAJ,gBAAgB,GAAS;IAAA;IACvB,IAAMW,KAAK,oBAAG,IAAI,CAAC2B,MAAM,2EAAX,cAAaG,QAAQ,EAAE,0DAAvB,sBAAyBS,QAAQ,EAAE;IACjD,IAAIvC,KAAK,KAAKqC,SAAS,IAAIrC,KAAK,KAAK,EAAE,EAAE;MACvC,MAAM,IAAI0B,KAAK,CAAC,oBAAoB,CAAC;IACvC;IACA,IAAI,CAACc,QAAQ,CAAC;MACZ9C,aAAa,EAAEM,KAAK,CAACyC,MAAM,KAAK,CAAC;MACjChD,eAAe,EAAE;IACnB,CAAC,CAAC;EACJ;;EAEA;EACAH,oBAAoB,GAAS;IAAA;IAC3B,IAAM;MAAEG;IAAgB,CAAC,GAAG,IAAI,CAACD,KAAK;IACtC,IAAIC,eAAe,EAAE;MACnB;IACF;IACA,qBAAI,CAACkC,MAAM,kDAAX,cAAae,KAAK,EAAE;EACtB;EAEAnD,aAAa,CAACoD,KAA0C,EAAQ;IAC9D,IAAM;MAAEC,KAAK;MAAEC;IAAY,CAAC,GAAG,IAAI,CAAC5D,KAAK;IACzC,IAAI0D,KAAK,CAACG,GAAG,KAAK,KAAK,EAAE;MACvBF,KAAK,CAACC,WAAW,EAAEF,KAAK,CAACI,QAAQ,CAAC;IACpC;EACF;EAEAC,MAAM,GAAiB;IACrB,IAAM;MAAEhD,KAAK;MAAEiD;IAAQ,CAAC,GAAG,IAAI,CAAChE,KAAK;IACrC,IAAM;MAAEQ,eAAe;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACF,KAAK;IACrD,oBACE;MACE,SAAS,EAAEV,UAAU,CAAC,sBAAsB,EAAE;QAC5CoE,OAAO,EAAEzD,eAAe;QACxBwD;MACF,CAAC,CAAE;MACH,SAAS,EAAE,IAAI,CAAC1D,aAAc;MAC9B,IAAI,EAAC,cAAc;MACnB,OAAO,EAAE,IAAI,CAACD;IAAqB,gBAEnC;MACE,SAAS,EAAC,kBAAkB;MAC5B,GAAG,EAAEK,eAAe,IAAI;QACtB,IAAI,CAACA,eAAe,GAAGA,eAAe;MACxC;IAAE,EACF,EACDD,aAAa,IAAI,CAACM,KAAK,iBACtB;MAAK,SAAS,EAAC;IAA+B,GAAC,gBAAc,CAC9D,CACG;EAEV;AACF;AAAC,gBA9JoBjB,WAAW,kBAIR;EACpBiB,KAAK,EAAE,EAAE;EACTsC,gBAAgB,EAAE,MAAYD,SAAS;EACvCpC,cAAc,EAAE,CAAC,CAAC;EAClB4C,WAAW,EAAE,CAAC;EACdD,KAAK,EAAE,MAAYP,SAAS;EAC5BY,OAAO,EAAE;AACX,CAAC"}
|
|
1
|
+
{"version":3,"file":"InputEditor.js","names":["React","Component","monaco","classNames","InputEditor","constructor","props","handleContentChanged","bind","handleEditorFocus","handleEditorBlur","handleContainerClick","handleKeyDown","state","isEditorFocused","isEditorEmpty","editorContainer","componentDidMount","initEditor","componentWillUnmount","destroyEditor","value","editorSettings","inputEditorSettings","copyWithSyntaxHighlighting","fixedOverflowWidgets","folding","fontFamily","glyphMargin","language","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","scrollBeyondLastLine","padding","top","bottom","tabCompletion","useTabStops","wordWrap","automaticLayout","Error","editor","create","layout","getModel","updateOptions","tabSize","onKeyDown","onDidChangeModelContent","onDidFocusEditorText","onDidBlurEditorText","dispose","undefined","onContentChanged","getValue","setState","length","focus","event","onTab","editorIndex","code","stopPropagation","preventDefault","shiftKey","render","invalid","focused"],"sources":["../../src/sidebar/InputEditor.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport * as monaco from 'monaco-editor';\nimport classNames from 'classnames';\nimport './InputEditor.scss';\n\ninterface InputEditorProps {\n value: string;\n onContentChanged: (value?: string) => void;\n editorSettings: Partial<monaco.editor.IStandaloneEditorConstructionOptions>;\n editorIndex: number;\n onTab: (editorIndex: number, shiftKey: boolean) => void;\n invalid: boolean;\n}\n\ninterface InputEditorState {\n isEditorFocused: boolean;\n isEditorEmpty: boolean;\n}\n/**\n * A monaco editor that looks like an general input\n */\n\nexport default class InputEditor extends Component<\n InputEditorProps,\n InputEditorState\n> {\n static defaultProps = {\n value: '',\n onContentChanged: (): void => undefined,\n editorSettings: {},\n editorIndex: 0,\n onTab: (): void => undefined,\n invalid: false,\n };\n\n constructor(props: InputEditorProps) {\n super(props);\n\n this.handleContentChanged = this.handleContentChanged.bind(this);\n this.handleEditorFocus = this.handleEditorFocus.bind(this);\n this.handleEditorBlur = this.handleEditorBlur.bind(this);\n this.handleContainerClick = this.handleContainerClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.state = {\n isEditorFocused: false,\n isEditorEmpty: true,\n };\n this.editorContainer = null;\n }\n\n componentDidMount(): void {\n this.initEditor();\n }\n\n componentWillUnmount(): void {\n this.destroyEditor();\n }\n\n editorContainer: HTMLDivElement | null;\n\n editor?: monaco.editor.IStandaloneCodeEditor;\n\n initEditor(): void {\n const { value, editorSettings } = this.props;\n const inputEditorSettings = {\n copyWithSyntaxHighlighting: 'false',\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language: 'groovyDB',\n lineDecorationsWidth: 8,\n lineNumbers: 'off',\n minimap: { enabled: false },\n renderLineHighlight: 'none',\n scrollbar: {\n arrowSize: 0,\n horizontal: 'hidden',\n horizontalScrollbarSize: 0,\n },\n scrollBeyondLastLine: false,\n padding: {\n top: 6,\n bottom: 6,\n },\n tabCompletion: 'off',\n useTabStops: true,\n value,\n wordWrap: 'on',\n automaticLayout: true,\n ...editorSettings,\n } as monaco.editor.IStandaloneEditorConstructionOptions;\n if (!this.editorContainer) {\n throw new Error('editorContainer is null');\n }\n this.editor = monaco.editor.create(\n this.editorContainer,\n inputEditorSettings\n );\n this.editor.layout();\n\n // disable tab to spaces in this editor to improve tab navigation\n this.editor.getModel()?.updateOptions({ tabSize: 0 });\n\n // monaco does not propagate tab or enter events\n this.editor.onKeyDown(this.handleKeyDown);\n\n this.editor.onDidChangeModelContent(this.handleContentChanged);\n this.editor.onDidFocusEditorText(this.handleEditorFocus);\n this.editor.onDidBlurEditorText(this.handleEditorBlur);\n }\n\n destroyEditor(): void {\n this.editor?.dispose();\n this.editor = undefined;\n }\n\n handleContentChanged(): void {\n const { onContentChanged } = this.props;\n const value = this.editor?.getModel()?.getValue();\n if (value !== undefined) {\n this.setState({ isEditorEmpty: value.length === 0 });\n }\n onContentChanged(value);\n }\n\n handleEditorFocus(): void {\n this.setState({ isEditorFocused: true });\n }\n\n handleEditorBlur(): void {\n const value = this.editor?.getModel()?.getValue() ?? '';\n this.setState({\n isEditorEmpty: value.length === 0,\n isEditorFocused: false,\n });\n }\n\n // force editor to focus if clicked\n handleContainerClick(): void {\n const { isEditorFocused } = this.state;\n if (isEditorFocused) {\n return;\n }\n this.editor?.focus();\n }\n\n handleKeyDown(event: monaco.IKeyboardEvent): void {\n const { onTab, editorIndex } = this.props;\n if (event.code === 'Tab') {\n event.stopPropagation();\n event.preventDefault();\n onTab(editorIndex, event.shiftKey);\n }\n }\n\n render(): ReactElement {\n const { value, invalid } = this.props;\n const { isEditorFocused, isEditorEmpty } = this.state;\n return (\n <div\n className={classNames('input-editor-wrapper', {\n focused: isEditorFocused,\n invalid,\n })}\n role=\"presentation\"\n onClick={this.handleContainerClick}\n >\n <div\n className=\"editor-container\"\n ref={editorContainer => {\n this.editorContainer = editorContainer;\n }}\n />\n {isEditorEmpty && !value && (\n <div className=\"editor-placeholder text-muted\">Column Formula</div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/iris-grid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.0",
|
|
4
4
|
"description": "Deephaven Iris Grid",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@deephaven/components": "^0.
|
|
27
|
-
"@deephaven/console": "^0.
|
|
28
|
-
"@deephaven/filters": "^0.
|
|
29
|
-
"@deephaven/grid": "^0.
|
|
30
|
-
"@deephaven/icons": "^0.
|
|
31
|
-
"@deephaven/jsapi-shim": "^0.
|
|
32
|
-
"@deephaven/jsapi-utils": "^0.
|
|
33
|
-
"@deephaven/log": "^0.
|
|
34
|
-
"@deephaven/react-hooks": "^0.
|
|
35
|
-
"@deephaven/storage": "^0.
|
|
36
|
-
"@deephaven/utils": "^0.
|
|
26
|
+
"@deephaven/components": "^0.27.0",
|
|
27
|
+
"@deephaven/console": "^0.27.0",
|
|
28
|
+
"@deephaven/filters": "^0.27.0",
|
|
29
|
+
"@deephaven/grid": "^0.27.0",
|
|
30
|
+
"@deephaven/icons": "^0.27.0",
|
|
31
|
+
"@deephaven/jsapi-shim": "^0.27.0",
|
|
32
|
+
"@deephaven/jsapi-utils": "^0.27.0",
|
|
33
|
+
"@deephaven/log": "^0.27.0",
|
|
34
|
+
"@deephaven/react-hooks": "^0.27.0",
|
|
35
|
+
"@deephaven/storage": "^0.27.0",
|
|
36
|
+
"@deephaven/utils": "^0.27.0",
|
|
37
37
|
"@dnd-kit/core": "^6.0.5",
|
|
38
38
|
"@dnd-kit/sortable": "^7.0.0",
|
|
39
39
|
"@dnd-kit/utilities": "^3.2.0",
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
"react-dom": "^17.x"
|
|
58
58
|
},
|
|
59
59
|
"devDependencies": {
|
|
60
|
-
"@deephaven/mocks": "^0.
|
|
61
|
-
"@deephaven/tsconfig": "^0.
|
|
60
|
+
"@deephaven/mocks": "^0.27.0",
|
|
61
|
+
"@deephaven/tsconfig": "^0.27.0"
|
|
62
62
|
},
|
|
63
63
|
"files": [
|
|
64
64
|
"dist"
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "7f30992e9e99dac261f8d64e8a682a06e6a15c76"
|
|
73
73
|
}
|