@deephaven/iris-grid 0.11.6-beta.0 → 0.11.6-beta.7
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/AdvancedFilterCreator.css.map +1 -1
- package/dist/ColumnStatistics.css.map +1 -1
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +0 -3
- package/dist/Formatter.js.map +1 -1
- package/dist/IrisGrid.css.map +1 -1
- package/dist/IrisGrid.d.ts +1 -0
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +5 -0
- package/dist/IrisGrid.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +8 -4
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.css.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +12 -20
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.css.map +1 -1
- package/dist/sidebar/InputEditor.css.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.css.map +1 -1
- package/dist/sidebar/TableCsvExporter.css.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +10 -3
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.css.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.css.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridCellOverflowMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,cAAM,gCAAiC,SAAQ,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,EAAE,QAAQ;IAM9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,wBAAwB;IAiChC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAa5C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAM7C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"IrisGridCellOverflowMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,cAAM,gCAAiC,SAAQ,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,EAAE,QAAQ;IAM9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,wBAAwB;IAiChC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAa5C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAM7C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAcjC,aAAa,IAAI,kBAAkB;IAKnC,OAAO,IAAI,kBAAkB;CAI9B;AAED,eAAe,gCAAgC,CAAC"}
|
|
@@ -176,10 +176,14 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
|
|
|
176
176
|
column,
|
|
177
177
|
row
|
|
178
178
|
} = point;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
179
|
+
|
|
180
|
+
if (this.isHoveringOverflowButton(point)) {
|
|
181
|
+
this.irisGrid.setState({
|
|
182
|
+
showOverflowModal: true,
|
|
183
|
+
overflowText: this.irisGrid.getValueForCell(column, row)
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
183
187
|
return false;
|
|
184
188
|
}
|
|
185
189
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"mappings":";;AAAA,SAEEA,gBAFF,QAIO,iBAJP;AAKA,OAAOC,SAAP,MAAsB,YAAtB;;AAGA;AACA;AACA;AACA;AACA,MAAMC,gCAAN,SAA+CF,gBAA/C,CAAgE;AAG9DG,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B,UAAM,GAAN,EAD8B,CAClB;;AADkB;;AAG9B,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAEOC,EAAAA,oBAAoB,GAAS;AACnC,SAAKD,QAAL,CAAcE,QAAd,CAAuB;AAAEC,MAAAA,0BAA0B,EAAE;AAA9B,KAAvB;AACD;;AAEOC,EAAAA,SAAS,CAACC,KAAD,EAAuC;AACtD,QAAI,KAAKC,wBAAL,CAA8BD,KAA9B,CAAJ,EAA0C;AACxC,WAAKE,MAAL,GAAc,SAAd;AACA,aAAO;AAAEC,QAAAA,eAAe,EAAE,KAAnB;AAA0BC,QAAAA,cAAc,EAAE;AAA1C,OAAP;AACD;;AAED,SAAKF,MAAL,GAAc,IAAd;AACA,WAAO,KAAP;AACD;;AAEOG,EAAAA,iBAAiB,OAUhB;AAAA,QAViB;AACxBC,MAAAA,CADwB;AAExBC,MAAAA,CAFwB;AAGxBC,MAAAA,MAHwB;AAIxBC,MAAAA;AAJwB,KAUjB;;AACP,QAAID,MAAM,IAAI,IAAV,IAAkBC,GAAG,IAAI,IAA7B,EAAmC;AACjC,aAAO,IAAP;AACD;;AACD,QAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,IAAZ;AAAkBC,MAAAA,KAAlB;AAAyBC,MAAAA;AAAzB,QAAmC,KAAKlB,QAA9C;;AACA,QAAI,CAACgB,IAAL,EAAW;AACT,aAAO,IAAP;AACD;;AACD,QAAM;AAAEG,MAAAA;AAAF,QAAcF,KAApB;AACA,QAAM;AAAEG,MAAAA;AAAF,QAAYF,KAAlB;AACA,QAAM;AAAEG,MAAAA,aAAa,EAAEC;AAAjB,QAA6BN,IAAI,IAAI,EAA3C;AACA,QAAMO,KAAK,GAAGP,IAAI,CAACQ,QAAL,EAAd;AACA,QAAMC,aAAa,GAAG;AACpBH,MAAAA,OADoB;AAEpBI,MAAAA,MAAM,EAAEf,CAFY;AAGpBgB,MAAAA,MAAM,EAAEf,CAHY;AAIpBO,MAAAA,OAJoB;AAKpBC,MAAAA,KALoB;AAMpBG,MAAAA;AANoB,KAAtB;AASA,QAAM;AAAEK,MAAAA,IAAF;AAAQC,MAAAA,GAAR;AAAaC,MAAAA,KAAb;AAAoBC,MAAAA;AAApB,QAA+BhB,QAAQ,CAACiB,6BAAT,CACnCP,aADmC,CAArC;;AAGA,QAAIG,IAAI,IAAI,IAAR,IAAgBE,KAAK,IAAI,IAAzB,IAAiCD,GAAG,IAAI,IAAxC,IAAgDE,MAAM,IAAI,IAA9D,EAAoE;AAClE,aAAO,IAAP;AACD;;AAED,WAAO;AAAEH,MAAAA,IAAF;AAAQC,MAAAA,GAAR;AAAaC,MAAAA,KAAb;AAAoBC,MAAAA;AAApB,KAAP;AACD;;AAEOzB,EAAAA,wBAAwB,CAACD,KAAD,EAA4B;AAAA;;AAC1D,QAAM;AAAEM,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAWP,KAAjB;AACA,QAAM;AAAEuB,MAAAA,IAAF;AAAQC,MAAAA,GAAR;AAAaC,MAAAA,KAAb;AAAoBC,MAAAA;AAApB,iCAA+B,KAAKrB,iBAAL,CAAuBL,KAAvB,CAA/B,yEAAgE,EAAtE;;AACA,QAAIuB,IAAI,IAAI,IAAR,IAAgBE,KAAK,IAAI,IAAzB,IAAiCD,GAAG,IAAI,IAAxC,IAAgDE,MAAM,IAAI,IAA9D,EAAoE;AAClE,aAAO,KAAP;AACD;;AAED,QAAM;AAAEhB,MAAAA,QAAF;AAAYC,MAAAA,IAAZ;AAAkBC,MAAAA,KAAlB;AAAyBC,MAAAA;AAAzB,QAAmC,KAAKlB,QAA9C;;AACA,QAAI,CAACgB,IAAL,EAAW;AACT,aAAO,KAAP;AACD;;AACD,QAAM;AAAEG,MAAAA;AAAF,QAAcF,KAApB;AACA,QAAM;AAAEG,MAAAA;AAAF,QAAYF,KAAlB;AACA,QAAM;AAAEG,MAAAA,aAAa,EAAEC;AAAjB,QAA6BN,IAAI,IAAI,EAA3C;AACA,QAAMO,KAAK,GAAGP,IAAI,CAACQ,QAAL,EAAd;AACA,QAAMC,aAAa,GAAG;AACpBH,MAAAA,OADoB;AAEpBI,MAAAA,MAAM,EAAEf,CAFY;AAGpBgB,MAAAA,MAAM,EAAEf,CAHY;AAIpBO,MAAAA,OAJoB;AAKpBC,MAAAA,KALoB;AAMpBG,MAAAA;AANoB,KAAtB;AASA,WACER,QAAQ,CAACkB,0BAAT,CAAoCR,aAApC,KACAd,CAAC,IAAIiB,IADL,IAEAjB,CAAC,IAAIiB,IAAI,GAAGE,KAFZ,IAGAlB,CAAC,IAAIiB,GAHL,IAIAjB,CAAC,IAAIiB,GAAG,GAAGE,MALb;AAOD;;AAEDG,EAAAA,MAAM,CAAC7B,KAAD,EAAuC;AAC3C,QAAI,KAAKC,wBAAL,CAA8BD,KAA9B,CAAJ,EAA0C;AACxC,UAAM;AAAEF,QAAAA;AAAF,UAAiC,KAAKH,QAAL,CAAciB,KAArD;AACA,UAAMkB,QAAQ,GAAG,KAAKzB,iBAAL,CAAuBL,KAAvB,CAAjB;;AACA,UAAI,CAACR,SAAS,CAACM,0BAAD,EAA6BgC,QAA7B,CAAd,EAAsD;AACpD,aAAKnC,QAAL,CAAcE,QAAd,CAAuB;AAAEC,UAAAA,0BAA0B,EAAEgC;AAA9B,SAAvB;AACD;AACF,KAND,MAMO;AACL,WAAKlC,oBAAL;AACD;;AACD,WAAO,KAAKG,SAAL,CAAeC,KAAf,CAAP;AACD;;AAED+B,EAAAA,OAAO,CAAC/B,KAAD,EAAuC;AAC5C,SAAKJ,oBAAL;AACA,WAAO,KAAKiC,MAAL,CAAY7B,KAAZ,CAAP;AACD,GAjH6D,CAmH9D;;;AACAgC,EAAAA,MAAM,CAAChC,KAAD,EAA4B;AAChC,SAAKJ,oBAAL;AACA,QAAM;AAAEY,MAAAA,MAAF;AAAUC,MAAAA;AAAV,QAAkBT,KAAxB
|
|
1
|
+
{"version":3,"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"mappings":"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","sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'deep-equal';\nimport type IrisGrid from '../IrisGrid';\n\n/**\n * Handles cursor and click action for cell overflow button\n * The button is rendered via IrisGridRenderer\n */\nclass IrisGridCellOverflowMouseHandler extends GridMouseHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super(850); // Needs to be before GridSelectionMouseHandler\n\n this.irisGrid = irisGrid;\n }\n\n private destroyColumnTooltip(): void {\n this.irisGrid.setState({ overflowButtonTooltipProps: null });\n }\n\n private setCursor(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n this.cursor = 'pointer';\n return { stopPropagation: false, preventDefault: false };\n }\n\n this.cursor = null;\n return false;\n }\n\n private getButtonPosition({\n x,\n y,\n column,\n row,\n }: GridPoint): {\n left: number;\n top: number;\n width: number;\n height: number;\n } | null {\n if (column == null || row == null) {\n return null;\n }\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return null;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid || {};\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n };\n\n const { left, top, width, height } = renderer.getCellOverflowButtonPosition(\n rendererState\n );\n if (left == null || width == null || top == null || height == null) {\n return null;\n }\n\n return { left, top, width, height };\n }\n\n private isHoveringOverflowButton(point: GridPoint): boolean {\n const { x, y } = point;\n const { left, top, width, height } = this.getButtonPosition(point) ?? {};\n if (left == null || width == null || top == null || height == null) {\n return false;\n }\n\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return false;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid || {};\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n };\n\n return (\n renderer.shouldRenderOverflowButton(rendererState) &&\n x >= left &&\n x <= left + width &&\n y >= top &&\n y <= top + height\n );\n }\n\n onMove(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n const { overflowButtonTooltipProps } = this.irisGrid.state;\n const newProps = this.getButtonPosition(point);\n if (!deepEqual(overflowButtonTooltipProps, newProps)) {\n this.irisGrid.setState({ overflowButtonTooltipProps: newProps });\n }\n } else {\n this.destroyColumnTooltip();\n }\n return this.setCursor(point);\n }\n\n onWheel(point: GridPoint): EventHandlerResult {\n this.destroyColumnTooltip();\n return this.onMove(point);\n }\n\n // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown\n onDown(point: GridPoint): boolean {\n this.destroyColumnTooltip();\n const { column, row } = point;\n\n if (this.isHoveringOverflowButton(point)) {\n this.irisGrid.setState({\n showOverflowModal: true,\n overflowText: this.irisGrid.getValueForCell(column, row),\n });\n }\n\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n\n onLeave(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n}\n\nexport default IrisGridCellOverflowMouseHandler;\n"],"file":"IrisGridCellOverflowMouseHandler.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.scss","../../../components/scss/bootstrap_overrides.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AACA;EACE,OCLK;;ADML;EACE;;AAKN;EACE,OCbO;EDcP,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.scss","../../../components/scss/bootstrap_overrides.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AACA;EACE,OCLK;;ADML;EACE;;AAKN;EACE,OCbO;EDcP,WE8R0B;EF7R1B;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA,YCpBO;;ADuBT;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE","file":"ChartBuilder.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,gEAOE;IAEF;;;OAGG;IACH,mCAeC;IAED,kDAeC;IAED,iDASC;IAED,8DASC;IAED,sDAOC;IAED;;;MAEC;IAED;;;QAQC;IAED,qDAMC;IAED,
|
|
1
|
+
{"version":3,"file":"ChartBuilder.d.ts","sourceRoot":"","sources":["../../src/sidebar/ChartBuilder.jsx"],"names":[],"mappings":";AA4BA;;GAEG;AACH;IACE,gEAOE;IAEF;;;OAGG;IACH,mCAeC;IAED,kDAeC;IAED,iDASC;IAED,8DASC;IAED,sDAOC;IAED;;;MAEC;IAED;;;QAQC;IAED,qDAMC;IAED,wBAiCC;IAED,wBAcC;IAED,wCAEC;IAED,oBAUC;IAED,qCAYC;IAED,0CAWC;IAED,+BAOC;IAED,kCAkBC;IAED,oCAKC;IAED,mBAMC;CAmJF"}
|
|
@@ -138,6 +138,7 @@ class ChartBuilder extends PureComponent {
|
|
|
138
138
|
this.handleSubmit = this.handleSubmit.bind(this);
|
|
139
139
|
this.handleTypeClick = this.handleTypeClick.bind(this);
|
|
140
140
|
this.handleXAxisChange = this.handleXAxisChange.bind(this);
|
|
141
|
+
this.sendChange = this.sendChange.bind(this);
|
|
141
142
|
var {
|
|
142
143
|
model
|
|
143
144
|
} = props;
|
|
@@ -181,15 +182,13 @@ class ChartBuilder extends PureComponent {
|
|
|
181
182
|
return {
|
|
182
183
|
seriesItems
|
|
183
184
|
};
|
|
184
|
-
},
|
|
185
|
-
this.sendChange();
|
|
186
|
-
});
|
|
185
|
+
}, this.sendChange);
|
|
187
186
|
}
|
|
188
187
|
|
|
189
188
|
handleLinkStateChange(event) {
|
|
190
189
|
this.setState({
|
|
191
190
|
isLinked: event.target.value === 'true'
|
|
192
|
-
});
|
|
191
|
+
}, this.sendChange);
|
|
193
192
|
}
|
|
194
193
|
|
|
195
194
|
handleReset() {
|
|
@@ -208,9 +207,7 @@ class ChartBuilder extends PureComponent {
|
|
|
208
207
|
seriesItems,
|
|
209
208
|
xAxis,
|
|
210
209
|
isLinked
|
|
211
|
-
},
|
|
212
|
-
this.sendChange();
|
|
213
|
-
});
|
|
210
|
+
}, this.sendChange);
|
|
214
211
|
}
|
|
215
212
|
|
|
216
213
|
handleSeriesChange(event) {
|
|
@@ -227,9 +224,7 @@ class ChartBuilder extends PureComponent {
|
|
|
227
224
|
return {
|
|
228
225
|
seriesItems
|
|
229
226
|
};
|
|
230
|
-
},
|
|
231
|
-
this.sendChange();
|
|
232
|
-
});
|
|
227
|
+
}, this.sendChange);
|
|
233
228
|
}
|
|
234
229
|
|
|
235
230
|
handleSeriesDeleteClick(event) {
|
|
@@ -243,9 +238,7 @@ class ChartBuilder extends PureComponent {
|
|
|
243
238
|
return {
|
|
244
239
|
seriesItems
|
|
245
240
|
};
|
|
246
|
-
},
|
|
247
|
-
this.sendChange();
|
|
248
|
-
});
|
|
241
|
+
}, this.sendChange);
|
|
249
242
|
}
|
|
250
243
|
|
|
251
244
|
handleSubmit(event) {
|
|
@@ -293,9 +286,7 @@ class ChartBuilder extends PureComponent {
|
|
|
293
286
|
type,
|
|
294
287
|
seriesItems
|
|
295
288
|
};
|
|
296
|
-
},
|
|
297
|
-
this.sendChange();
|
|
298
|
-
});
|
|
289
|
+
}, this.sendChange);
|
|
299
290
|
}
|
|
300
291
|
|
|
301
292
|
handleXAxisChange(event) {
|
|
@@ -303,9 +294,7 @@ class ChartBuilder extends PureComponent {
|
|
|
303
294
|
log.debug2('x-axis change', xAxis);
|
|
304
295
|
this.setState({
|
|
305
296
|
xAxis
|
|
306
|
-
},
|
|
307
|
-
this.sendChange();
|
|
308
|
-
});
|
|
297
|
+
}, this.sendChange);
|
|
309
298
|
}
|
|
310
299
|
|
|
311
300
|
sendChange() {
|
|
@@ -376,13 +365,15 @@ class ChartBuilder extends PureComponent {
|
|
|
376
365
|
value: column.name
|
|
377
366
|
}, column.name)))), isSeriesVisible && /*#__PURE__*/React.createElement("hr", null), seriesItems.map((seriesItem, i) => /*#__PURE__*/React.createElement("div", {
|
|
378
367
|
className: "form-row form-inline form-series-item",
|
|
379
|
-
key: seriesItem.id
|
|
368
|
+
key: seriesItem.id,
|
|
369
|
+
"data-testid": "form-series-item-".concat(i)
|
|
380
370
|
}, /*#__PURE__*/React.createElement("label", {
|
|
381
371
|
className: "col-2 label-left"
|
|
382
372
|
}, i === 0 ? seriesLabel : ''), /*#__PURE__*/React.createElement("select", {
|
|
383
373
|
className: "form-control custom-select select-series col",
|
|
384
374
|
value: seriesItem.value,
|
|
385
375
|
onChange: this.handleSeriesChange,
|
|
376
|
+
"data-testid": "select-series-item-".concat(i),
|
|
386
377
|
"data-index": i
|
|
387
378
|
}, columns.map(column => /*#__PURE__*/React.createElement("option", {
|
|
388
379
|
key: column.name,
|
|
@@ -392,6 +383,7 @@ class ChartBuilder extends PureComponent {
|
|
|
392
383
|
type: "button",
|
|
393
384
|
className: "btn btn-link btn-link-icon btn-delete-series ml-2 px-2",
|
|
394
385
|
"data-index": i,
|
|
386
|
+
"data-testid": "delete-series-".concat(i),
|
|
395
387
|
onClick: this.handleSeriesDeleteClick
|
|
396
388
|
}, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
|
|
397
389
|
icon: vsTrash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sidebar/ChartBuilder.jsx"],"names":["React","PureComponent","PropTypes","classNames","FontAwesomeIcon","RadioGroup","RadioItem","vsLink","dhUnlink","dhTable","dhNewCircleLargeFilled","vsCircleLargeFilled","vsTrash","dh","Log","shortid","BarIcon","HistogramIcon","LineIcon","PieIcon","ScatterIcon","IrisGridModel","log","module","ChartBuilder","getTypeName","type","plot","SeriesPlotStyle","LINE","BAR","SCATTER","PIE","HISTOGRAM","getTypeIcon","getMaxSeriesCount","getXAxisLabel","getSeriesLabel","makeSeriesItem","value","id","generate","makeDefaultSeriesItems","columns","maxSeriesCount","length","name","getDefaultXAxis","constructor","props","handleAddSeries","bind","handleLinkStateChange","handleReset","handleSeriesChange","handleSeriesDeleteClick","handleSubmit","handleTypeClick","handleXAxisChange","model","types","xAxis","seriesItems","state","isLinked","setState","concat","push","sendChange","event","target","index","getAttribute","splice","preventDefault","onSubmit","series","map","item","debug2","slice","onChange","render","xAxisLabel","seriesLabel","isSeriesVisible","isAddSeriesVisible","chartType","active","column","seriesItem","i","propTypes","instanceOf","isRequired","func"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { RadioGroup, RadioItem } from '@deephaven/components';\nimport {\n vsLink,\n dhUnlink,\n dhTable,\n dhNewCircleLargeFilled,\n vsCircleLargeFilled,\n vsTrash,\n} from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport shortid from 'shortid';\nimport {\n BarIcon,\n HistogramIcon,\n LineIcon,\n PieIcon,\n ScatterIcon,\n} from './icons';\nimport './ChartBuilder.scss';\nimport IrisGridModel from '../IrisGridModel';\n\nconst log = Log.module('ChartBuilder');\n\n/**\n * Form for configuring all the settings when creating a console.\n */\nclass ChartBuilder extends PureComponent {\n static types = [\n dh.plot.SeriesPlotStyle.LINE,\n dh.plot.SeriesPlotStyle.BAR,\n dh.plot.SeriesPlotStyle.SCATTER,\n dh.plot.SeriesPlotStyle.PIE,\n // IDS-6808: Disable Histogram in Chart Builder until we pipe histogram creation through the API\n // dh.plot.SeriesPlotStyle.HISTOGRAM,\n ];\n\n /**\n * Converts the provided chart type into a readable type.\n * Just replaces underscores with spaces and capitals the first letter of each word.\n */\n static getTypeName(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return 'Line';\n case dh.plot.SeriesPlotStyle.BAR:\n return 'Bar';\n case dh.plot.SeriesPlotStyle.SCATTER:\n return 'Scatter';\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Pie';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Histogram';\n default:\n return type;\n }\n }\n\n static getTypeIcon(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return <LineIcon />;\n case dh.plot.SeriesPlotStyle.BAR:\n return <BarIcon />;\n case dh.plot.SeriesPlotStyle.SCATTER:\n return <ScatterIcon />;\n case dh.plot.SeriesPlotStyle.PIE:\n return <PieIcon />;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return <HistogramIcon />;\n default:\n return null;\n }\n }\n\n static getMaxSeriesCount(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 1;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 0;\n default:\n return 100;\n }\n }\n\n static getXAxisLabel(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Labels';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Data';\n default:\n return 'X-Axis';\n }\n }\n\n static getSeriesLabel(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Values';\n default:\n return 'Series';\n }\n }\n\n static makeSeriesItem(value) {\n return { id: shortid.generate(), value };\n }\n\n static makeDefaultSeriesItems(type, columns) {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n if (maxSeriesCount === 0 || columns == null || columns.length === 0) {\n return [];\n }\n\n const value = columns.length > 1 ? columns[1].name : columns[0].name;\n return [ChartBuilder.makeSeriesItem(value)];\n }\n\n static getDefaultXAxis(type, columns) {\n if (columns != null && columns.length > 0) {\n return columns[0].name;\n }\n\n return null;\n }\n\n constructor(props) {\n super(props);\n\n this.handleAddSeries = this.handleAddSeries.bind(this);\n this.handleLinkStateChange = this.handleLinkStateChange.bind(this);\n this.handleReset = this.handleReset.bind(this);\n this.handleSeriesChange = this.handleSeriesChange.bind(this);\n this.handleSeriesDeleteClick = this.handleSeriesDeleteClick.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleTypeClick = this.handleTypeClick.bind(this);\n this.handleXAxisChange = this.handleXAxisChange.bind(this);\n\n const { model } = props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns);\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n\n this.state = {\n /** The selected chart type */\n type,\n\n /** Array of column names of the series to display */\n seriesItems,\n\n /** The column name to use as the x-axis */\n xAxis,\n\n /** Whether the newly created chart should be linked with the table (update when filters update) */\n isLinked: true,\n };\n }\n\n handleAddSeries() {\n this.setState(\n state => {\n let { seriesItems } = state;\n seriesItems = [].concat(seriesItems);\n\n const { model } = this.props;\n const { columns } = model;\n seriesItems.push({\n id: shortid.generate(),\n value: columns[0].name,\n });\n\n return { seriesItems };\n },\n () => {\n this.sendChange();\n }\n );\n }\n\n handleLinkStateChange(event) {\n this.setState({ isLinked: event.target.value === 'true' });\n }\n\n handleReset() {\n const { model } = this.props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns);\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n const isLinked = true;\n\n this.setState({ type, seriesItems, xAxis, isLinked }, () => {\n this.sendChange();\n });\n }\n\n handleSeriesChange(event) {\n const { value } = event.target;\n const index = event.target.getAttribute('data-index');\n\n this.setState(\n state => {\n let { seriesItems } = state;\n\n seriesItems = [].concat(seriesItems);\n seriesItems[index].value = value;\n\n return { seriesItems };\n },\n () => {\n this.sendChange();\n }\n );\n }\n\n handleSeriesDeleteClick(event) {\n const index = event.target.getAttribute('data-index');\n\n this.setState(\n state => {\n let { seriesItems } = state;\n\n seriesItems = [].concat(seriesItems);\n seriesItems.splice(index, 1);\n\n return { seriesItems };\n },\n () => {\n this.sendChange();\n }\n );\n }\n\n handleSubmit(event) {\n event.preventDefault();\n\n const { onSubmit } = this.props;\n const { type, seriesItems, xAxis, isLinked } = this.state;\n const series = seriesItems.map(item => item.value);\n onSubmit({ type: `${type}`, series, xAxis, isLinked });\n }\n\n handleTypeClick(event) {\n const index = event.target.getAttribute('data-index');\n const type = ChartBuilder.types[index];\n\n log.debug2('handleTypeSelect', type);\n\n this.setState(\n state => {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n let { seriesItems } = state;\n seriesItems = seriesItems.slice(0, maxSeriesCount);\n if (seriesItems.length === 0 && maxSeriesCount > 0) {\n const { model } = this.props;\n const { columns } = model;\n seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n }\n\n return { type, seriesItems };\n },\n () => {\n this.sendChange();\n }\n );\n }\n\n handleXAxisChange(event) {\n const xAxis = event.target.value;\n log.debug2('x-axis change', xAxis);\n\n this.setState({ xAxis }, () => {\n this.sendChange();\n });\n }\n\n sendChange() {\n const { onChange } = this.props;\n const { isLinked, type, seriesItems, xAxis } = this.state;\n const series = seriesItems.map(item => item.value);\n\n onChange({ type, series, xAxis, isLinked });\n }\n\n render() {\n const { model } = this.props;\n const { columns } = model;\n const { seriesItems, type, xAxis, isLinked } = this.state;\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n const xAxisLabel = ChartBuilder.getXAxisLabel(type);\n const seriesLabel = ChartBuilder.getSeriesLabel(type);\n const isSeriesVisible = seriesItems.length > 0;\n const isAddSeriesVisible = seriesItems.length < maxSeriesCount;\n\n return (\n <div className=\"chart-builder\">\n <form onSubmit={this.handleSubmit}>\n <div className=\"form-row\">\n <label>Select Chart Type</label>\n <div className=\"form-row\">\n {ChartBuilder.types.map((chartType, index) => (\n <div key={chartType} className=\"col col-chart-type\">\n <button\n type=\"button\"\n className={classNames('btn', 'btn-icon', 'btn-chart-type', {\n active: chartType === type,\n })}\n data-index={index}\n onClick={this.handleTypeClick}\n >\n {ChartBuilder.getTypeIcon(chartType)}\n {ChartBuilder.getTypeName(chartType)}\n </button>\n </div>\n ))}\n </div>\n </div>\n <hr />\n <div className=\"form-row form-inline\">\n <label className=\"col-2 label-left\">{xAxisLabel}</label>\n <select\n className=\"form-control custom-select select-x-axis col\"\n value={xAxis}\n onChange={this.handleXAxisChange}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </select>\n </div>\n {isSeriesVisible && <hr />}\n {seriesItems.map((seriesItem, i) => (\n <div\n className=\"form-row form-inline form-series-item\"\n key={seriesItem.id}\n >\n <label className=\"col-2 label-left\">\n {i === 0 ? seriesLabel : ''}\n </label>\n <select\n className=\"form-control custom-select select-series col\"\n value={seriesItem.value}\n onChange={this.handleSeriesChange}\n data-index={i}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name} data-index={i}>\n {column.name}\n </option>\n ))}\n </select>\n {seriesItems.length > 1 && (\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-delete-series ml-2 px-2\"\n data-index={i}\n onClick={this.handleSeriesDeleteClick}\n >\n <FontAwesomeIcon icon={vsTrash} />\n </button>\n )}\n </div>\n ))}\n {isAddSeriesVisible && (\n <div className=\"form-row\">\n <div className=\"col-2\" />\n <button\n type=\"button\"\n className=\"btn btn-link btn-add-series mt-1\"\n onClick={this.handleAddSeries}\n >\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n Add Series\n </button>\n </div>\n )}\n <div className=\"form-row chart-builder-link\">\n <label className=\"col-2 label-right\">\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n mask={dhTable}\n icon={vsCircleLargeFilled}\n transform=\"right-5 down-5\"\n />\n <FontAwesomeIcon\n icon={isLinked ? vsLink : dhUnlink}\n transform=\"grow-2 right-8 down-6\"\n />\n </div>\n </label>\n <RadioGroup\n onChange={this.handleLinkStateChange}\n value={`${isLinked}`}\n >\n <RadioItem value=\"true\">Sync State</RadioItem>\n <RadioItem value=\"false\">Freeze State</RadioItem>\n </RadioGroup>\n </div>\n <div className=\"form-row\">\n <div className=\"col-2 label-right\" />\n <div className=\"col chart-builder-link-info\">\n {isLinked\n ? 'Charts with synced state will update to match any filters or user modifications applied to the parent table.'\n : 'Freeze State disconnects the chart state from the parent table. New filters or user modifications on the parent table will not be applied.'}\n </div>\n </div>\n <div\n className={classNames('form-row', 'justify-content-end', 'my-3')}\n >\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-reset\"\n onClick={this.handleReset}\n >\n Reset\n </button>\n <button type=\"submit\" className=\"btn btn-primary btn-submit\">\n Create\n </button>\n </div>\n </form>\n </div>\n );\n }\n}\n\nChartBuilder.propTypes = {\n model: PropTypes.instanceOf(IrisGridModel).isRequired,\n onSubmit: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default ChartBuilder;\n"],"file":"ChartBuilder.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/sidebar/ChartBuilder.jsx"],"names":["React","PureComponent","PropTypes","classNames","FontAwesomeIcon","RadioGroup","RadioItem","vsLink","dhUnlink","dhTable","dhNewCircleLargeFilled","vsCircleLargeFilled","vsTrash","dh","Log","shortid","BarIcon","HistogramIcon","LineIcon","PieIcon","ScatterIcon","IrisGridModel","log","module","ChartBuilder","getTypeName","type","plot","SeriesPlotStyle","LINE","BAR","SCATTER","PIE","HISTOGRAM","getTypeIcon","getMaxSeriesCount","getXAxisLabel","getSeriesLabel","makeSeriesItem","value","id","generate","makeDefaultSeriesItems","columns","maxSeriesCount","length","name","getDefaultXAxis","constructor","props","handleAddSeries","bind","handleLinkStateChange","handleReset","handleSeriesChange","handleSeriesDeleteClick","handleSubmit","handleTypeClick","handleXAxisChange","sendChange","model","types","xAxis","seriesItems","state","isLinked","setState","concat","push","event","target","index","getAttribute","splice","preventDefault","onSubmit","series","map","item","debug2","slice","onChange","render","xAxisLabel","seriesLabel","isSeriesVisible","isAddSeriesVisible","chartType","active","column","seriesItem","i","propTypes","instanceOf","isRequired","func"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { RadioGroup, RadioItem } from '@deephaven/components';\nimport {\n vsLink,\n dhUnlink,\n dhTable,\n dhNewCircleLargeFilled,\n vsCircleLargeFilled,\n vsTrash,\n} from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport shortid from 'shortid';\nimport {\n BarIcon,\n HistogramIcon,\n LineIcon,\n PieIcon,\n ScatterIcon,\n} from './icons';\nimport './ChartBuilder.scss';\nimport IrisGridModel from '../IrisGridModel';\n\nconst log = Log.module('ChartBuilder');\n\n/**\n * Form for configuring all the settings when creating a console.\n */\nclass ChartBuilder extends PureComponent {\n static types = [\n dh.plot.SeriesPlotStyle.LINE,\n dh.plot.SeriesPlotStyle.BAR,\n dh.plot.SeriesPlotStyle.SCATTER,\n dh.plot.SeriesPlotStyle.PIE,\n // IDS-6808: Disable Histogram in Chart Builder until we pipe histogram creation through the API\n // dh.plot.SeriesPlotStyle.HISTOGRAM,\n ];\n\n /**\n * Converts the provided chart type into a readable type.\n * Just replaces underscores with spaces and capitals the first letter of each word.\n */\n static getTypeName(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return 'Line';\n case dh.plot.SeriesPlotStyle.BAR:\n return 'Bar';\n case dh.plot.SeriesPlotStyle.SCATTER:\n return 'Scatter';\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Pie';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Histogram';\n default:\n return type;\n }\n }\n\n static getTypeIcon(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.LINE:\n return <LineIcon />;\n case dh.plot.SeriesPlotStyle.BAR:\n return <BarIcon />;\n case dh.plot.SeriesPlotStyle.SCATTER:\n return <ScatterIcon />;\n case dh.plot.SeriesPlotStyle.PIE:\n return <PieIcon />;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return <HistogramIcon />;\n default:\n return null;\n }\n }\n\n static getMaxSeriesCount(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 1;\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 0;\n default:\n return 100;\n }\n }\n\n static getXAxisLabel(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Labels';\n case dh.plot.SeriesPlotStyle.HISTOGRAM:\n return 'Data';\n default:\n return 'X-Axis';\n }\n }\n\n static getSeriesLabel(type) {\n switch (type) {\n case dh.plot.SeriesPlotStyle.PIE:\n return 'Values';\n default:\n return 'Series';\n }\n }\n\n static makeSeriesItem(value) {\n return { id: shortid.generate(), value };\n }\n\n static makeDefaultSeriesItems(type, columns) {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n if (maxSeriesCount === 0 || columns == null || columns.length === 0) {\n return [];\n }\n\n const value = columns.length > 1 ? columns[1].name : columns[0].name;\n return [ChartBuilder.makeSeriesItem(value)];\n }\n\n static getDefaultXAxis(type, columns) {\n if (columns != null && columns.length > 0) {\n return columns[0].name;\n }\n\n return null;\n }\n\n constructor(props) {\n super(props);\n\n this.handleAddSeries = this.handleAddSeries.bind(this);\n this.handleLinkStateChange = this.handleLinkStateChange.bind(this);\n this.handleReset = this.handleReset.bind(this);\n this.handleSeriesChange = this.handleSeriesChange.bind(this);\n this.handleSeriesDeleteClick = this.handleSeriesDeleteClick.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleTypeClick = this.handleTypeClick.bind(this);\n this.handleXAxisChange = this.handleXAxisChange.bind(this);\n this.sendChange = this.sendChange.bind(this);\n\n const { model } = props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns);\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n\n this.state = {\n /** The selected chart type */\n type,\n\n /** Array of column names of the series to display */\n seriesItems,\n\n /** The column name to use as the x-axis */\n xAxis,\n\n /** Whether the newly created chart should be linked with the table (update when filters update) */\n isLinked: true,\n };\n }\n\n handleAddSeries() {\n this.setState(state => {\n let { seriesItems } = state;\n seriesItems = [].concat(seriesItems);\n\n const { model } = this.props;\n const { columns } = model;\n seriesItems.push({\n id: shortid.generate(),\n value: columns[0].name,\n });\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleLinkStateChange(event) {\n this.setState({ isLinked: event.target.value === 'true' }, this.sendChange);\n }\n\n handleReset() {\n const { model } = this.props;\n const { columns } = model;\n\n const type = ChartBuilder.types[0];\n const xAxis = ChartBuilder.getDefaultXAxis(type, columns);\n const seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n const isLinked = true;\n\n this.setState({ type, seriesItems, xAxis, isLinked }, this.sendChange);\n }\n\n handleSeriesChange(event) {\n const { value } = event.target;\n const index = event.target.getAttribute('data-index');\n\n this.setState(state => {\n let { seriesItems } = state;\n\n seriesItems = [].concat(seriesItems);\n seriesItems[index].value = value;\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleSeriesDeleteClick(event) {\n const index = event.target.getAttribute('data-index');\n\n this.setState(state => {\n let { seriesItems } = state;\n\n seriesItems = [].concat(seriesItems);\n seriesItems.splice(index, 1);\n\n return { seriesItems };\n }, this.sendChange);\n }\n\n handleSubmit(event) {\n event.preventDefault();\n\n const { onSubmit } = this.props;\n const { type, seriesItems, xAxis, isLinked } = this.state;\n const series = seriesItems.map(item => item.value);\n onSubmit({ type: `${type}`, series, xAxis, isLinked });\n }\n\n handleTypeClick(event) {\n const index = event.target.getAttribute('data-index');\n const type = ChartBuilder.types[index];\n\n log.debug2('handleTypeSelect', type);\n\n this.setState(state => {\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n let { seriesItems } = state;\n seriesItems = seriesItems.slice(0, maxSeriesCount);\n if (seriesItems.length === 0 && maxSeriesCount > 0) {\n const { model } = this.props;\n const { columns } = model;\n seriesItems = ChartBuilder.makeDefaultSeriesItems(type, columns);\n }\n\n return { type, seriesItems };\n }, this.sendChange);\n }\n\n handleXAxisChange(event) {\n const xAxis = event.target.value;\n log.debug2('x-axis change', xAxis);\n\n this.setState({ xAxis }, this.sendChange);\n }\n\n sendChange() {\n const { onChange } = this.props;\n const { isLinked, type, seriesItems, xAxis } = this.state;\n const series = seriesItems.map(item => item.value);\n\n onChange({ type, series, xAxis, isLinked });\n }\n\n render() {\n const { model } = this.props;\n const { columns } = model;\n const { seriesItems, type, xAxis, isLinked } = this.state;\n const maxSeriesCount = ChartBuilder.getMaxSeriesCount(type);\n const xAxisLabel = ChartBuilder.getXAxisLabel(type);\n const seriesLabel = ChartBuilder.getSeriesLabel(type);\n const isSeriesVisible = seriesItems.length > 0;\n const isAddSeriesVisible = seriesItems.length < maxSeriesCount;\n\n return (\n <div className=\"chart-builder\">\n <form onSubmit={this.handleSubmit}>\n <div className=\"form-row\">\n <label>Select Chart Type</label>\n <div className=\"form-row\">\n {ChartBuilder.types.map((chartType, index) => (\n <div key={chartType} className=\"col col-chart-type\">\n <button\n type=\"button\"\n className={classNames('btn', 'btn-icon', 'btn-chart-type', {\n active: chartType === type,\n })}\n data-index={index}\n onClick={this.handleTypeClick}\n >\n {ChartBuilder.getTypeIcon(chartType)}\n {ChartBuilder.getTypeName(chartType)}\n </button>\n </div>\n ))}\n </div>\n </div>\n <hr />\n <div className=\"form-row form-inline\">\n <label className=\"col-2 label-left\">{xAxisLabel}</label>\n <select\n className=\"form-control custom-select select-x-axis col\"\n value={xAxis}\n onChange={this.handleXAxisChange}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </select>\n </div>\n {isSeriesVisible && <hr />}\n {seriesItems.map((seriesItem, i) => (\n <div\n className=\"form-row form-inline form-series-item\"\n key={seriesItem.id}\n data-testid={`form-series-item-${i}`}\n >\n <label className=\"col-2 label-left\">\n {i === 0 ? seriesLabel : ''}\n </label>\n <select\n className=\"form-control custom-select select-series col\"\n value={seriesItem.value}\n onChange={this.handleSeriesChange}\n data-testid={`select-series-item-${i}`}\n data-index={i}\n >\n {columns.map(column => (\n <option key={column.name} value={column.name} data-index={i}>\n {column.name}\n </option>\n ))}\n </select>\n {seriesItems.length > 1 && (\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-delete-series ml-2 px-2\"\n data-index={i}\n data-testid={`delete-series-${i}`}\n onClick={this.handleSeriesDeleteClick}\n >\n <FontAwesomeIcon icon={vsTrash} />\n </button>\n )}\n </div>\n ))}\n {isAddSeriesVisible && (\n <div className=\"form-row\">\n <div className=\"col-2\" />\n <button\n type=\"button\"\n className=\"btn btn-link btn-add-series mt-1\"\n onClick={this.handleAddSeries}\n >\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n Add Series\n </button>\n </div>\n )}\n <div className=\"form-row chart-builder-link\">\n <label className=\"col-2 label-right\">\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n mask={dhTable}\n icon={vsCircleLargeFilled}\n transform=\"right-5 down-5\"\n />\n <FontAwesomeIcon\n icon={isLinked ? vsLink : dhUnlink}\n transform=\"grow-2 right-8 down-6\"\n />\n </div>\n </label>\n <RadioGroup\n onChange={this.handleLinkStateChange}\n value={`${isLinked}`}\n >\n <RadioItem value=\"true\">Sync State</RadioItem>\n <RadioItem value=\"false\">Freeze State</RadioItem>\n </RadioGroup>\n </div>\n <div className=\"form-row\">\n <div className=\"col-2 label-right\" />\n <div className=\"col chart-builder-link-info\">\n {isLinked\n ? 'Charts with synced state will update to match any filters or user modifications applied to the parent table.'\n : 'Freeze State disconnects the chart state from the parent table. New filters or user modifications on the parent table will not be applied.'}\n </div>\n </div>\n <div\n className={classNames('form-row', 'justify-content-end', 'my-3')}\n >\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-reset\"\n onClick={this.handleReset}\n >\n Reset\n </button>\n <button type=\"submit\" className=\"btn btn-primary btn-submit\">\n Create\n </button>\n </div>\n </form>\n </div>\n );\n }\n}\n\nChartBuilder.propTypes = {\n model: PropTypes.instanceOf(IrisGridModel).isRequired,\n onSubmit: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default ChartBuilder;\n"],"file":"ChartBuilder.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/CustomColumnBuilder.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../components/scss/new_variables.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAKE;EACE,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/CustomColumnBuilder.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../components/scss/new_variables.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAKE;EACE,SCiIK;;AD9HP;EACE;;AACA;EEOF;EAIA;EAEA;EACA;EACA;EACA;EACA;;AFZA;EACE,YGOO;;AHLP;EACE;;AAGF;EACE,YGgCS;EH/BT,YGiGO;;AH7FX;EACE,SCyGK;;ADtGP;EACE,OG/BE;EHgCF;EACA,eE/BO;EFgCP;;AACA;EACE,eErCK;;AFuCP;EACE,SExCK;EFyCL,eG8EU;EH7EV;;AAIJ;EACE,QCsFK;EDrFL;EACA;;AAEA;EACE;;AAIJ;EACE,YGlCO;EHmCP;EACA","file":"CustomColumnBuilder.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/InputEditor.scss","../../../components/scss/bootstrap_overrides.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAKA;EACE;EACA;EACA,YCeS;EDdT,eCgHc;;AD9Gd;EACE,cC8HuB;ED7HvB,YCiIyB;;AD9H3B;EACE,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/InputEditor.scss","../../../components/scss/bootstrap_overrides.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAKA;EACE;EACA;EACA,YCeS;EDdT,eCgHc;;AD9Gd;EACE,cC8HuB;ED7HvB,YCiIyB;;AD9H3B;EACE,cEgoBgC;;AF7nBlC;EACE;;AAEA;EACE,kBCDK;;ADIP;AAAA;AAAA;EAGE,kBCPK;;ADWT;EACE;EACA;EACA;EACA;EACA,OC1Ba;ED2Bb","file":"InputEditor.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/SelectDistinctBuilder.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/SelectDistinctBuilder.scss","../../../../node_modules/bootstrap/scss/_variables.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,SC2HK;ED1HL;EACA;;AAGF;EACE,SCqHK;;ADlHP;EACE,QCiHK;EDhHL;EACA;EACA;EACA,gBC6GK;;AD1GP;EACE,OETO;EFUP;;AACA;EACE;EACA,OE7BG;EF8BH,aEgEkB;;AF5DtB;EACE,YEfO;EFgBP;EACA","file":"SelectDistinctBuilder.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/TableCsvExporter.scss","../../../components/scss/new_variables.scss","../../../components/scss/bootstrap_overrides.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE;;AAEA;EACE,eCHO;;ADMT;EACE;EACA;;AAEA;EACE;;AAGF;EACE,cChBK;;ADqBP;EACE,OErBA;;AFwBF;EACE,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/TableCsvExporter.scss","../../../components/scss/new_variables.scss","../../../components/scss/bootstrap_overrides.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE;;AAEA;EACE,eCHO;;ADMT;EACE;EACA;;AAEA;EACE;;AAGF;EACE,cChBK;;ADqBP;EACE,OErBA;;AFwBF;EACE,eG2GG;;AHxGL;EACE;EACA","file":"TableCsvExporter.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableCsvExporter.d.ts","sourceRoot":"","sources":["../../src/sidebar/TableCsvExporter.jsx"],"names":[],"mappings":";AAaA;IACE,oCAAkD;IAElD;;;;;MAKE;IAEF;;;;MAIE;IAEF;;;MAGE;IAEF,qCAAmC;IAEnC,+BAKC;IAED,wBAyBC;IAwDD,4BA2BC;IAED,8CAEC;IAED,wDAEC;IAED,sDAEC;IA7FD,2BAgDC;IAED,2BAEC;IA2CD,+BAkCC;
|
|
1
|
+
{"version":3,"file":"TableCsvExporter.d.ts","sourceRoot":"","sources":["../../src/sidebar/TableCsvExporter.jsx"],"names":[],"mappings":";AAaA;IACE,oCAAkD;IAElD;;;;;MAKE;IAEF;;;;MAIE;IAEF;;;MAGE;IAEF,qCAAmC;IAEnC,+BAKC;IAED,wBAyBC;IAwDD,4BA2BC;IAED,8CAEC;IAED,wDAEC;IAED,sDAEC;IA7FD,2BAgDC;IAED,2BAEC;IA2CD,+BAkCC;CA8LF;;;;;;;;;;;;;;;QAgBkB,0CAAQ"}
|
|
@@ -200,15 +200,18 @@ class TableCsvExporter extends Component {
|
|
|
200
200
|
value: downloadOption,
|
|
201
201
|
disabled: isDownloading
|
|
202
202
|
}, /*#__PURE__*/React.createElement(RadioItem, {
|
|
203
|
-
value: TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS
|
|
203
|
+
value: TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS,
|
|
204
|
+
"data-testid": "radio-csv-exporter-download-all"
|
|
204
205
|
}, "All Rows", /*#__PURE__*/React.createElement("span", {
|
|
205
206
|
className: "text-muted ml-2"
|
|
206
207
|
}, "(".concat(rowCount.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,'), " rows)"))), /*#__PURE__*/React.createElement(RadioItem, {
|
|
207
|
-
value: TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS
|
|
208
|
+
value: TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS,
|
|
209
|
+
"data-testid": "radio-csv-exporter-only-selected"
|
|
208
210
|
}, "Only Selected Rows", /*#__PURE__*/React.createElement("span", {
|
|
209
211
|
className: "text-muted ml-2"
|
|
210
212
|
}, selectedRanges.length > 0 ? "(".concat(GridRange.rowCount(selectedRanges).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,'), " rows)") : null)), /*#__PURE__*/React.createElement(RadioItem, {
|
|
211
|
-
value: TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS
|
|
213
|
+
value: TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS,
|
|
214
|
+
"data-testid": "radio-csv-exporter-customized-rows"
|
|
212
215
|
}, /*#__PURE__*/React.createElement("div", {
|
|
213
216
|
className: "radio-input-row",
|
|
214
217
|
role: "presentation",
|
|
@@ -220,6 +223,7 @@ class TableCsvExporter extends Component {
|
|
|
220
223
|
}, /*#__PURE__*/React.createElement("select", {
|
|
221
224
|
defaultValue: TableCsvExporter.DOWNLOAD_OPTIONS.FIRST,
|
|
222
225
|
value: customizedDownloadOption,
|
|
226
|
+
"data-testid": "select-csv-exporter-customized-rows",
|
|
223
227
|
className: "custom-select",
|
|
224
228
|
disabled: isDownloading,
|
|
225
229
|
onChange: this.handleCustomizedDownloadOptionChanged
|
|
@@ -231,6 +235,7 @@ class TableCsvExporter extends Component {
|
|
|
231
235
|
type: "number",
|
|
232
236
|
className: "form-control",
|
|
233
237
|
id: "customizedRows-".concat(id),
|
|
238
|
+
"data-testid": "input-csv-exporter-customized-rows",
|
|
234
239
|
name: "customizedRows-".concat(id),
|
|
235
240
|
placeholder: "100",
|
|
236
241
|
value: customizedDownloadRows,
|
|
@@ -244,6 +249,7 @@ class TableCsvExporter extends Component {
|
|
|
244
249
|
type: "text",
|
|
245
250
|
className: "form-control",
|
|
246
251
|
id: "filename-".concat(id),
|
|
252
|
+
"data-testid": "input-csv-exporter-file-name",
|
|
247
253
|
name: "filename-".concat(id),
|
|
248
254
|
value: fileName,
|
|
249
255
|
onChange: event => {
|
|
@@ -282,6 +288,7 @@ class TableCsvExporter extends Component {
|
|
|
282
288
|
}
|
|
283
289
|
}))), /*#__PURE__*/React.createElement("button", {
|
|
284
290
|
type: "button",
|
|
291
|
+
"data-testid": "btn-csv-exporter-download",
|
|
285
292
|
className: ClassNames('btn btn-primary btn-downloading', {
|
|
286
293
|
'btn-spinner btn-cancelable': isDownloading
|
|
287
294
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sidebar/TableCsvExporter.jsx"],"names":["React","Component","PropTypes","ClassNames","FontAwesomeIcon","LoadingSpinner","RadioGroup","RadioItem","GridRange","vsIssues","dh","TimeUtils","shortid","IrisGridModel","TableCsvExporter","getDateString","i18n","DateTimeFormat","format","FILENAME_DATE_FORMAT","Date","constructor","props","handleDownloadClick","bind","handleDownloadOptionChanged","handleCustomizedDownloadOptionChanged","handleCustomizedDownloadRowsChanged","name","state","fileName","downloadOption","DOWNLOAD_OPTIONS","ALL_ROWS","customizedDownloadOption","CUSTOMIZED_ROWS_OPTIONS","FIRST","customizedDownloadRows","DEFAULT_DOWNLOAD_ROWS","errorMessage","id","generate","getSnapshotRanges","model","selectedRanges","rowCount","snapshotRanges","push","SELECTED_ROWS","sort","rangeA","rangeB","startRow","CUSTOMIZED_ROWS","Math","min","LAST","max","resetDownloadState","setState","isDownloading","onDownloadStart","onDownload","onCancel","validateOptionInput","export","then","frozenTable","tableSubscription","setViewport","getViewportData","event","target","value","length","render","tableDownloadProgress","tableDownloadEstimatedTime","tableDownloadStatus","toString","replace","DOWNLOAD_STATUS","DOWNLOADING","INITIATING","formatElapsedTime","FINISHED","CANCELED","width","propTypes","instanceOf","isRequired","string","bool","number","func","arrayOf","defaultProps"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ClassNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { LoadingSpinner, RadioGroup, RadioItem } from '@deephaven/components';\nimport { GridRange } from '@deephaven/grid';\nimport { vsIssues } from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\nimport { TimeUtils } from '@deephaven/utils';\nimport shortid from 'shortid';\nimport IrisGridModel from '../IrisGridModel';\nimport './TableCsvExporter.scss';\n\nclass TableCsvExporter extends Component {\n static FILENAME_DATE_FORMAT = 'yyyy-MM-dd-HHmmss';\n\n static DOWNLOAD_STATUS = {\n INITIATING: 'INITIATING',\n DOWNLOADING: 'DOWNLOADING',\n FINISHED: 'FINISHED',\n CANCELED: 'CANCELED',\n };\n\n static DOWNLOAD_OPTIONS = {\n ALL_ROWS: 'ALL_ROWS',\n SELECTED_ROWS: 'SELECTED_ROWS',\n CUSTOMIZED_ROWS: 'CUSTOMIZED_ROWS',\n };\n\n static CUSTOMIZED_ROWS_OPTIONS = {\n FIRST: 'FIRST',\n LAST: 'LAST',\n };\n\n static DEFAULT_DOWNLOAD_ROWS = 100;\n\n static getDateString() {\n return dh.i18n.DateTimeFormat.format(\n TableCsvExporter.FILENAME_DATE_FORMAT,\n new Date()\n );\n }\n\n constructor(props) {\n super(props);\n\n this.handleDownloadClick = this.handleDownloadClick.bind(this);\n this.handleDownloadOptionChanged = this.handleDownloadOptionChanged.bind(\n this\n );\n this.handleCustomizedDownloadOptionChanged = this.handleCustomizedDownloadOptionChanged.bind(\n this\n );\n this.handleCustomizedDownloadRowsChanged = this.handleCustomizedDownloadRowsChanged.bind(\n this\n );\n\n const { name } = props;\n this.state = {\n fileName: `${name}-${TableCsvExporter.getDateString()}.csv`,\n\n downloadOption: TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS,\n customizedDownloadOption: TableCsvExporter.CUSTOMIZED_ROWS_OPTIONS.FIRST,\n customizedDownloadRows: TableCsvExporter.DEFAULT_DOWNLOAD_ROWS,\n\n errorMessage: null,\n id: shortid.generate(),\n };\n }\n\n getSnapshotRanges() {\n const { model, selectedRanges } = this.props;\n const {\n downloadOption,\n customizedDownloadOption,\n customizedDownloadRows,\n } = this.state;\n const { rowCount } = model;\n let snapshotRanges = [];\n switch (downloadOption) {\n case TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS:\n snapshotRanges.push(new GridRange(null, 0, null, rowCount - 1));\n break;\n case TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS:\n snapshotRanges = [...selectedRanges].sort(\n (rangeA, rangeB) => rangeA.startRow - rangeB.startRow\n );\n break;\n case TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS:\n switch (customizedDownloadOption) {\n case TableCsvExporter.CUSTOMIZED_ROWS_OPTIONS.FIRST:\n snapshotRanges.push(\n new GridRange(\n null,\n 0,\n null,\n Math.min(customizedDownloadRows - 1, rowCount - 1)\n )\n );\n break;\n case TableCsvExporter.CUSTOMIZED_ROWS_OPTIONS.LAST:\n snapshotRanges.push(\n new GridRange(\n null,\n Math.max(0, rowCount - customizedDownloadRows),\n null,\n rowCount - 1\n )\n );\n break;\n default:\n break;\n }\n break;\n default:\n break;\n }\n return snapshotRanges;\n }\n\n resetDownloadState() {\n this.setState({ errorMessage: null });\n }\n\n handleDownloadClick() {\n const {\n model,\n isDownloading,\n onDownloadStart,\n onDownload,\n onCancel,\n } = this.props;\n const { fileName } = this.state;\n\n if (isDownloading) {\n onCancel();\n return;\n }\n\n this.resetDownloadState();\n\n const snapshotRanges = this.getSnapshotRanges();\n if (this.validateOptionInput()) {\n onDownloadStart();\n model.export().then(frozenTable => {\n const tableSubscription = frozenTable.setViewport(0, 0);\n tableSubscription.getViewportData().then(() => {\n onDownload(fileName, frozenTable, tableSubscription, snapshotRanges);\n });\n });\n }\n }\n\n handleDownloadOptionChanged(event) {\n this.setState({ downloadOption: event.target.value });\n }\n\n handleCustomizedDownloadOptionChanged(event) {\n this.setState({ customizedDownloadOption: event.target.value });\n }\n\n handleCustomizedDownloadRowsChanged(event) {\n this.setState({ customizedDownloadRows: event.target.value });\n }\n\n validateOptionInput() {\n const { selectedRanges } = this.props;\n const { downloadOption, customizedDownloadRows } = this.state;\n\n if (\n downloadOption === TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS &&\n selectedRanges.length === 0\n ) {\n this.setState({\n errorMessage: (\n <p>\n <FontAwesomeIcon icon={vsIssues} /> No rows selected. Please select\n some rows in the table.\n </p>\n ),\n });\n return false;\n }\n\n if (\n downloadOption === TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS &&\n customizedDownloadRows <= 0\n ) {\n this.setState({\n errorMessage: (\n <p>\n <FontAwesomeIcon icon={vsIssues} /> Number of rows to output must be\n greater than 0\n </p>\n ),\n });\n return false;\n }\n return true;\n }\n\n render() {\n const {\n model,\n isDownloading,\n tableDownloadProgress,\n tableDownloadEstimatedTime,\n selectedRanges,\n tableDownloadStatus,\n } = this.props;\n const {\n fileName,\n downloadOption,\n customizedDownloadOption,\n customizedDownloadRows,\n errorMessage,\n id,\n } = this.state;\n const { rowCount } = model;\n return (\n <div className=\"table-csv-exporter\">\n <div className=\"section-title\">Download Rows</div>\n <div className=\"form-group\">\n <RadioGroup\n onChange={this.handleDownloadOptionChanged}\n value={downloadOption}\n disabled={isDownloading}\n >\n <RadioItem value={TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS}>\n All Rows\n <span className=\"text-muted ml-2\">\n {`(${rowCount\n .toString()\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} rows)`}\n </span>\n </RadioItem>\n <RadioItem value={TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS}>\n Only Selected Rows\n <span className=\"text-muted ml-2\">\n {selectedRanges.length > 0\n ? `(${GridRange.rowCount(selectedRanges)\n .toString()\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} rows)`\n : null}\n </span>\n </RadioItem>\n <RadioItem\n value={TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS}\n >\n <div\n className=\"radio-input-row\"\n role=\"presentation\"\n onClick={() => {\n this.setState({\n downloadOption:\n TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS,\n });\n }}\n >\n <select\n defaultValue={TableCsvExporter.DOWNLOAD_OPTIONS.FIRST}\n value={customizedDownloadOption}\n className=\"custom-select\"\n disabled={isDownloading}\n onChange={this.handleCustomizedDownloadOptionChanged}\n >\n <option value=\"FIRST\">First</option>\n <option value=\"LAST\">Last</option>\n </select>\n <input\n type=\"number\"\n className=\"form-control\"\n id={`customizedRows-${id}`}\n name={`customizedRows-${id}`}\n placeholder=\"100\"\n value={customizedDownloadRows}\n disabled={isDownloading}\n onChange={this.handleCustomizedDownloadRowsChanged}\n />\n <div>Rows</div>\n </div>\n </RadioItem>\n </RadioGroup>\n </div>\n <div className=\"form-group\">\n <label htmlFor={`customizedRows-${id}`}>File Name</label>\n <input\n type=\"text\"\n className=\"form-control\"\n id={`filename-${id}`}\n name={`filename-${id}`}\n value={fileName}\n onChange={event => {\n this.setState({ fileName: event.target.value });\n }}\n disabled={isDownloading}\n />\n </div>\n <div className=\"section-footer flex-column\">\n {errorMessage && <div className=\"error-message\">{errorMessage}</div>}\n {tableDownloadStatus && (\n <div className=\"download-status\">\n {(tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING ||\n tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.INITIATING) && (\n <>\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.INITIATING && (\n <div className=\"text-muted\">Starting Download...</div>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING && (\n <div className=\"text-muted d-flex justify-content-between\">\n <span>\n {tableDownloadEstimatedTime ||\n tableDownloadEstimatedTime === 0\n ? `Estimated time: ${TimeUtils.formatElapsedTime(\n tableDownloadEstimatedTime\n )}`\n : null}\n </span>\n <span>{`${tableDownloadProgress}%`}</span>\n </div>\n )}\n </>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.FINISHED && (\n <div className=\"text-muted text-right\">Download Completed</div>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.CANCELED && (\n <div className=\"text-muted\">Download Canceled</div>\n )}\n\n {(tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING ||\n tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.INITIATING) && (\n <div className=\"progress\">\n <div\n className=\"progress-bar progress-bar-striped progress-bar-animated\"\n style={{ width: `${tableDownloadProgress}%` }}\n />\n </div>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.FINISHED && (\n <div className=\"progress\">\n <div\n className=\"progress-bar bg-success\"\n style={{ width: `${tableDownloadProgress}%` }}\n />\n </div>\n )}\n </div>\n )}\n <button\n type=\"button\"\n className={ClassNames('btn btn-primary btn-downloading', {\n 'btn-spinner btn-cancelable': isDownloading,\n })}\n onClick={this.handleDownloadClick}\n >\n {isDownloading && (\n <span>\n <LoadingSpinner />\n <span className=\"btn-normal-content\">Downloading</span>\n <span className=\"btn-hover-content\">Cancel</span>\n </span>\n )}\n {!isDownloading && 'Download'}\n </button>\n </div>\n </div>\n );\n }\n}\n\nTableCsvExporter.propTypes = {\n model: PropTypes.instanceOf(IrisGridModel).isRequired,\n name: PropTypes.string.isRequired,\n isDownloading: PropTypes.bool,\n tableDownloadStatus: PropTypes.string,\n tableDownloadProgress: PropTypes.number,\n tableDownloadEstimatedTime: PropTypes.number,\n onDownloadStart: PropTypes.func,\n onDownload: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n selectedRanges: PropTypes.arrayOf(PropTypes.instanceOf(GridRange)),\n};\n\nTableCsvExporter.defaultProps = {\n onDownloadStart: () => {},\n isDownloading: false,\n tableDownloadStatus: '',\n tableDownloadProgress: 0,\n tableDownloadEstimatedTime: null,\n selectedRanges: [],\n};\nexport default TableCsvExporter;\n"],"file":"TableCsvExporter.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/sidebar/TableCsvExporter.jsx"],"names":["React","Component","PropTypes","ClassNames","FontAwesomeIcon","LoadingSpinner","RadioGroup","RadioItem","GridRange","vsIssues","dh","TimeUtils","shortid","IrisGridModel","TableCsvExporter","getDateString","i18n","DateTimeFormat","format","FILENAME_DATE_FORMAT","Date","constructor","props","handleDownloadClick","bind","handleDownloadOptionChanged","handleCustomizedDownloadOptionChanged","handleCustomizedDownloadRowsChanged","name","state","fileName","downloadOption","DOWNLOAD_OPTIONS","ALL_ROWS","customizedDownloadOption","CUSTOMIZED_ROWS_OPTIONS","FIRST","customizedDownloadRows","DEFAULT_DOWNLOAD_ROWS","errorMessage","id","generate","getSnapshotRanges","model","selectedRanges","rowCount","snapshotRanges","push","SELECTED_ROWS","sort","rangeA","rangeB","startRow","CUSTOMIZED_ROWS","Math","min","LAST","max","resetDownloadState","setState","isDownloading","onDownloadStart","onDownload","onCancel","validateOptionInput","export","then","frozenTable","tableSubscription","setViewport","getViewportData","event","target","value","length","render","tableDownloadProgress","tableDownloadEstimatedTime","tableDownloadStatus","toString","replace","DOWNLOAD_STATUS","DOWNLOADING","INITIATING","formatElapsedTime","FINISHED","CANCELED","width","propTypes","instanceOf","isRequired","string","bool","number","func","arrayOf","defaultProps"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ClassNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { LoadingSpinner, RadioGroup, RadioItem } from '@deephaven/components';\nimport { GridRange } from '@deephaven/grid';\nimport { vsIssues } from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\nimport { TimeUtils } from '@deephaven/utils';\nimport shortid from 'shortid';\nimport IrisGridModel from '../IrisGridModel';\nimport './TableCsvExporter.scss';\n\nclass TableCsvExporter extends Component {\n static FILENAME_DATE_FORMAT = 'yyyy-MM-dd-HHmmss';\n\n static DOWNLOAD_STATUS = {\n INITIATING: 'INITIATING',\n DOWNLOADING: 'DOWNLOADING',\n FINISHED: 'FINISHED',\n CANCELED: 'CANCELED',\n };\n\n static DOWNLOAD_OPTIONS = {\n ALL_ROWS: 'ALL_ROWS',\n SELECTED_ROWS: 'SELECTED_ROWS',\n CUSTOMIZED_ROWS: 'CUSTOMIZED_ROWS',\n };\n\n static CUSTOMIZED_ROWS_OPTIONS = {\n FIRST: 'FIRST',\n LAST: 'LAST',\n };\n\n static DEFAULT_DOWNLOAD_ROWS = 100;\n\n static getDateString() {\n return dh.i18n.DateTimeFormat.format(\n TableCsvExporter.FILENAME_DATE_FORMAT,\n new Date()\n );\n }\n\n constructor(props) {\n super(props);\n\n this.handleDownloadClick = this.handleDownloadClick.bind(this);\n this.handleDownloadOptionChanged = this.handleDownloadOptionChanged.bind(\n this\n );\n this.handleCustomizedDownloadOptionChanged = this.handleCustomizedDownloadOptionChanged.bind(\n this\n );\n this.handleCustomizedDownloadRowsChanged = this.handleCustomizedDownloadRowsChanged.bind(\n this\n );\n\n const { name } = props;\n this.state = {\n fileName: `${name}-${TableCsvExporter.getDateString()}.csv`,\n\n downloadOption: TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS,\n customizedDownloadOption: TableCsvExporter.CUSTOMIZED_ROWS_OPTIONS.FIRST,\n customizedDownloadRows: TableCsvExporter.DEFAULT_DOWNLOAD_ROWS,\n\n errorMessage: null,\n id: shortid.generate(),\n };\n }\n\n getSnapshotRanges() {\n const { model, selectedRanges } = this.props;\n const {\n downloadOption,\n customizedDownloadOption,\n customizedDownloadRows,\n } = this.state;\n const { rowCount } = model;\n let snapshotRanges = [];\n switch (downloadOption) {\n case TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS:\n snapshotRanges.push(new GridRange(null, 0, null, rowCount - 1));\n break;\n case TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS:\n snapshotRanges = [...selectedRanges].sort(\n (rangeA, rangeB) => rangeA.startRow - rangeB.startRow\n );\n break;\n case TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS:\n switch (customizedDownloadOption) {\n case TableCsvExporter.CUSTOMIZED_ROWS_OPTIONS.FIRST:\n snapshotRanges.push(\n new GridRange(\n null,\n 0,\n null,\n Math.min(customizedDownloadRows - 1, rowCount - 1)\n )\n );\n break;\n case TableCsvExporter.CUSTOMIZED_ROWS_OPTIONS.LAST:\n snapshotRanges.push(\n new GridRange(\n null,\n Math.max(0, rowCount - customizedDownloadRows),\n null,\n rowCount - 1\n )\n );\n break;\n default:\n break;\n }\n break;\n default:\n break;\n }\n return snapshotRanges;\n }\n\n resetDownloadState() {\n this.setState({ errorMessage: null });\n }\n\n handleDownloadClick() {\n const {\n model,\n isDownloading,\n onDownloadStart,\n onDownload,\n onCancel,\n } = this.props;\n const { fileName } = this.state;\n\n if (isDownloading) {\n onCancel();\n return;\n }\n\n this.resetDownloadState();\n\n const snapshotRanges = this.getSnapshotRanges();\n if (this.validateOptionInput()) {\n onDownloadStart();\n model.export().then(frozenTable => {\n const tableSubscription = frozenTable.setViewport(0, 0);\n tableSubscription.getViewportData().then(() => {\n onDownload(fileName, frozenTable, tableSubscription, snapshotRanges);\n });\n });\n }\n }\n\n handleDownloadOptionChanged(event) {\n this.setState({ downloadOption: event.target.value });\n }\n\n handleCustomizedDownloadOptionChanged(event) {\n this.setState({ customizedDownloadOption: event.target.value });\n }\n\n handleCustomizedDownloadRowsChanged(event) {\n this.setState({ customizedDownloadRows: event.target.value });\n }\n\n validateOptionInput() {\n const { selectedRanges } = this.props;\n const { downloadOption, customizedDownloadRows } = this.state;\n\n if (\n downloadOption === TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS &&\n selectedRanges.length === 0\n ) {\n this.setState({\n errorMessage: (\n <p>\n <FontAwesomeIcon icon={vsIssues} /> No rows selected. Please select\n some rows in the table.\n </p>\n ),\n });\n return false;\n }\n\n if (\n downloadOption === TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS &&\n customizedDownloadRows <= 0\n ) {\n this.setState({\n errorMessage: (\n <p>\n <FontAwesomeIcon icon={vsIssues} /> Number of rows to output must be\n greater than 0\n </p>\n ),\n });\n return false;\n }\n return true;\n }\n\n render() {\n const {\n model,\n isDownloading,\n tableDownloadProgress,\n tableDownloadEstimatedTime,\n selectedRanges,\n tableDownloadStatus,\n } = this.props;\n const {\n fileName,\n downloadOption,\n customizedDownloadOption,\n customizedDownloadRows,\n errorMessage,\n id,\n } = this.state;\n const { rowCount } = model;\n return (\n <div className=\"table-csv-exporter\">\n <div className=\"section-title\">Download Rows</div>\n <div className=\"form-group\">\n <RadioGroup\n onChange={this.handleDownloadOptionChanged}\n value={downloadOption}\n disabled={isDownloading}\n >\n <RadioItem\n value={TableCsvExporter.DOWNLOAD_OPTIONS.ALL_ROWS}\n data-testid=\"radio-csv-exporter-download-all\"\n >\n All Rows\n <span className=\"text-muted ml-2\">\n {`(${rowCount\n .toString()\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} rows)`}\n </span>\n </RadioItem>\n <RadioItem\n value={TableCsvExporter.DOWNLOAD_OPTIONS.SELECTED_ROWS}\n data-testid=\"radio-csv-exporter-only-selected\"\n >\n Only Selected Rows\n <span className=\"text-muted ml-2\">\n {selectedRanges.length > 0\n ? `(${GridRange.rowCount(selectedRanges)\n .toString()\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')} rows)`\n : null}\n </span>\n </RadioItem>\n <RadioItem\n value={TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS}\n data-testid=\"radio-csv-exporter-customized-rows\"\n >\n <div\n className=\"radio-input-row\"\n role=\"presentation\"\n onClick={() => {\n this.setState({\n downloadOption:\n TableCsvExporter.DOWNLOAD_OPTIONS.CUSTOMIZED_ROWS,\n });\n }}\n >\n <select\n defaultValue={TableCsvExporter.DOWNLOAD_OPTIONS.FIRST}\n value={customizedDownloadOption}\n data-testid=\"select-csv-exporter-customized-rows\"\n className=\"custom-select\"\n disabled={isDownloading}\n onChange={this.handleCustomizedDownloadOptionChanged}\n >\n <option value=\"FIRST\">First</option>\n <option value=\"LAST\">Last</option>\n </select>\n <input\n type=\"number\"\n className=\"form-control\"\n id={`customizedRows-${id}`}\n data-testid=\"input-csv-exporter-customized-rows\"\n name={`customizedRows-${id}`}\n placeholder=\"100\"\n value={customizedDownloadRows}\n disabled={isDownloading}\n onChange={this.handleCustomizedDownloadRowsChanged}\n />\n <div>Rows</div>\n </div>\n </RadioItem>\n </RadioGroup>\n </div>\n <div className=\"form-group\">\n <label htmlFor={`customizedRows-${id}`}>File Name</label>\n <input\n type=\"text\"\n className=\"form-control\"\n id={`filename-${id}`}\n data-testid=\"input-csv-exporter-file-name\"\n name={`filename-${id}`}\n value={fileName}\n onChange={event => {\n this.setState({ fileName: event.target.value });\n }}\n disabled={isDownloading}\n />\n </div>\n <div className=\"section-footer flex-column\">\n {errorMessage && <div className=\"error-message\">{errorMessage}</div>}\n {tableDownloadStatus && (\n <div className=\"download-status\">\n {(tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING ||\n tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.INITIATING) && (\n <>\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.INITIATING && (\n <div className=\"text-muted\">Starting Download...</div>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING && (\n <div className=\"text-muted d-flex justify-content-between\">\n <span>\n {tableDownloadEstimatedTime ||\n tableDownloadEstimatedTime === 0\n ? `Estimated time: ${TimeUtils.formatElapsedTime(\n tableDownloadEstimatedTime\n )}`\n : null}\n </span>\n <span>{`${tableDownloadProgress}%`}</span>\n </div>\n )}\n </>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.FINISHED && (\n <div className=\"text-muted text-right\">Download Completed</div>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.CANCELED && (\n <div className=\"text-muted\">Download Canceled</div>\n )}\n\n {(tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING ||\n tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.INITIATING) && (\n <div className=\"progress\">\n <div\n className=\"progress-bar progress-bar-striped progress-bar-animated\"\n style={{ width: `${tableDownloadProgress}%` }}\n />\n </div>\n )}\n {tableDownloadStatus ===\n TableCsvExporter.DOWNLOAD_STATUS.FINISHED && (\n <div className=\"progress\">\n <div\n className=\"progress-bar bg-success\"\n style={{ width: `${tableDownloadProgress}%` }}\n />\n </div>\n )}\n </div>\n )}\n <button\n type=\"button\"\n data-testid=\"btn-csv-exporter-download\"\n className={ClassNames('btn btn-primary btn-downloading', {\n 'btn-spinner btn-cancelable': isDownloading,\n })}\n onClick={this.handleDownloadClick}\n >\n {isDownloading && (\n <span>\n <LoadingSpinner />\n <span className=\"btn-normal-content\">Downloading</span>\n <span className=\"btn-hover-content\">Cancel</span>\n </span>\n )}\n {!isDownloading && 'Download'}\n </button>\n </div>\n </div>\n );\n }\n}\n\nTableCsvExporter.propTypes = {\n model: PropTypes.instanceOf(IrisGridModel).isRequired,\n name: PropTypes.string.isRequired,\n isDownloading: PropTypes.bool,\n tableDownloadStatus: PropTypes.string,\n tableDownloadProgress: PropTypes.number,\n tableDownloadEstimatedTime: PropTypes.number,\n onDownloadStart: PropTypes.func,\n onDownload: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n selectedRanges: PropTypes.arrayOf(PropTypes.instanceOf(GridRange)),\n};\n\nTableCsvExporter.defaultProps = {\n onDownloadStart: () => {},\n isDownloading: false,\n tableDownloadStatus: '',\n tableDownloadProgress: 0,\n tableDownloadEstimatedTime: null,\n selectedRanges: [],\n};\nexport default TableCsvExporter;\n"],"file":"TableCsvExporter.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/VisibilityOrderingBuilder.scss","../../../components/scss/bootstrap_overrides.scss","../../../components/scss/new_variables.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA,kBCFY;EDGZ,SEZO;EFaP;;AAGF;EACE;EACA;;AAEA;EEJF;EAIA;EAEA;EACA;EACA;EACA;EACA;;AFFE;EACE;EACA,kBCjBU;;ADqBd;EACE;EACA;EACA;EACA,cElCO;;AFoCP;EACE,aErCK;;AFwCP;EACE,eC8EU;ED7EV;EACA;EACA;EACA;EACA;EACA;EACA,YC8EW;ED7EX;EACA,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/sidebar/VisibilityOrderingBuilder.scss","../../../components/scss/bootstrap_overrides.scss","../../../components/scss/new_variables.scss","../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA,kBCFY;EDGZ,SEZO;EFaP;;AAGF;EACE;EACA;;AAEA;EEJF;EAIA;EAEA;EACA;EACA;EACA;EACA;;AFFE;EACE;EACA,kBCjBU;;ADqBd;EACE;EACA;EACA;EACA,cElCO;;AFoCP;EACE,aErCK;;AFwCP;EACE,eC8EU;ED7EV;EACA;EACA;EACA;EACA;EACA;EACA,YC8EW;ED7EX;EACA,aGgPwB;EH/OxB;;AACA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA,YC+EqB;;AD5EvB;EACE,OC9CG;;ADiDL;EACE,YCjDG;;ADkDH;EACE,OC5DO;;ADkEX;EACE,OC3DG;ED4DH;;AACA;EACE;;AAKN;EACE;;AAEA;EACE,kBChFQ;;ADkFV;EACE;;AAEA;EACE;EACA,OCtFO;EDuFP,kBCxFM;EDyFN;EACA,YCoBG;;ADlBH;EACE,OC5FK;;ACmBf;EACE;EACA,YDtBY;ECuBZ,YDuFS;ECtFT,eDqFY;ECpFZ;EACA;EACA;EFuEU;EACA;EACA;EACA;;AEjFZ;EACE;EACA,YDtBY;ECuBZ,YDuFS;ECtFT,eDqFY;ECpFZ;EACA;EACA;EF+EU;EACA;EACA;EACA;;AEzFZ;EACE;EACA,YDtBY;ECuBZ,YDuFS;ECtFT,eDqFY;ECpFZ;EACA;EACA;EFqFU;EACA;EACA;EACA;;AAMV;EACE;EACA;EACA;EACA,cEvIK;;AF2IT;EACE;EACA,eE7IO;EF8IP,aE9IO;EF+IP;;AAGF;EACE","file":"VisibilityOrderingBuilder.css"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ConditionalFormattingMenu.scss","../../../../components/scss/new_variables.scss","../../../../components/scss/bootstrap_overrides.scss","../../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE,SCDS;;;ADIX;EACE;EACA;EACA;EACA;;AAEA;EACE,aCXO;;ADcT;EACE,eEwGY;EFvGZ;EACA,SCjBO;EDkBP;EACA;EACA;EACA,YEyGa;EFxGb;EACA,
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ConditionalFormattingMenu.scss","../../../../components/scss/new_variables.scss","../../../../components/scss/bootstrap_overrides.scss","../../../../../node_modules/bootstrap/scss/_variables.scss"],"names":[],"mappings":"AAEA;EACE,SCDS;;;ADIX;EACE;EACA;EACA;EACA;;AAEA;EACE,aCXO;;ADcT;EACE,eEwGY;EFvGZ;EACA,SCjBO;EDkBP;EACA;EACA;EACA,YEyGa;EFxGb;EACA,aG2Q0B;EH1Q1B;;AAEA;EACE;;AAGF;EACE,eC9BK;;ADiCP;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,YEsFuB;;AFnFzB;EACE,YEtCK","file":"ConditionalFormattingMenu.css"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/iris-grid",
|
|
3
|
-
"version": "0.11.6-beta.
|
|
3
|
+
"version": "0.11.6-beta.7+3235a77",
|
|
4
4
|
"description": "Deephaven Iris Grid",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"start": "cross-env NODE_ENV=development npm run watch"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@deephaven/console": "^0.11.6-beta.
|
|
34
|
-
"@deephaven/grid": "^0.11.6-beta.
|
|
35
|
-
"@deephaven/icons": "^0.11.6-beta.
|
|
36
|
-
"@deephaven/jsapi-shim": "^0.11.6-beta.
|
|
37
|
-
"@deephaven/react-hooks": "^0.11.6-beta.
|
|
38
|
-
"@deephaven/storage": "^0.11.6-beta.
|
|
39
|
-
"@deephaven/utils": "^0.11.6-beta.
|
|
33
|
+
"@deephaven/console": "^0.11.6-beta.7+3235a77",
|
|
34
|
+
"@deephaven/grid": "^0.11.6-beta.7+3235a77",
|
|
35
|
+
"@deephaven/icons": "^0.11.6-beta.7+3235a77",
|
|
36
|
+
"@deephaven/jsapi-shim": "^0.11.6-beta.7+3235a77",
|
|
37
|
+
"@deephaven/react-hooks": "^0.11.6-beta.7+3235a77",
|
|
38
|
+
"@deephaven/storage": "^0.11.6-beta.7+3235a77",
|
|
39
|
+
"@deephaven/utils": "^0.11.6-beta.7+3235a77",
|
|
40
40
|
"@fortawesome/react-fontawesome": "^0.1.15",
|
|
41
41
|
"classnames": "^2.3.1",
|
|
42
42
|
"deep-equal": "^2.0.5",
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"react": "^17.x"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@deephaven/log": "^0.11.6-beta.
|
|
63
|
-
"@deephaven/mocks": "^0.11.6-beta.
|
|
64
|
-
"@deephaven/tsconfig": "^0.11.6-beta.
|
|
62
|
+
"@deephaven/log": "^0.11.6-beta.7+3235a77",
|
|
63
|
+
"@deephaven/mocks": "^0.11.6-beta.7+3235a77",
|
|
64
|
+
"@deephaven/tsconfig": "^0.11.6-beta.7+3235a77"
|
|
65
65
|
},
|
|
66
66
|
"files": [
|
|
67
67
|
"dist"
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "3235a77044394cbc5d2db70a97dfd4609925c28d"
|
|
76
76
|
}
|