@mwater/visualization 5.0.1 → 5.1.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.
Files changed (98) hide show
  1. package/lib/MWaterAddRelatedFormComponent.d.ts +1 -1
  2. package/lib/MWaterAddRelatedFormComponent.js +10 -17
  3. package/lib/MWaterContextComponent.d.ts +17 -7
  4. package/lib/MWaterContextComponent.js +51 -67
  5. package/lib/MWaterLoaderComponent.d.ts +2 -2
  6. package/lib/MWaterLoaderComponent.js +1 -1
  7. package/lib/MWaterTableSelectComponent.d.ts +0 -1
  8. package/lib/MWaterTableSelectComponent.js +20 -41
  9. package/lib/axes/RangesComponent.d.ts +12 -6
  10. package/lib/axes/RangesComponent.js +21 -10
  11. package/lib/dashboards/DashboardComponent.d.ts +1 -9
  12. package/lib/dashboards/DashboardComponent.js +16 -27
  13. package/lib/dashboards/ServerDashboardDataSource.d.ts +1 -0
  14. package/lib/dashboards/ServerDashboardDataSource.js +3 -0
  15. package/lib/datagrids/DatagridComponent.d.ts +8 -4
  16. package/lib/datagrids/DatagridComponent.js +27 -5
  17. package/lib/datagrids/DatagridDataSource.d.ts +1 -0
  18. package/lib/datagrids/DatagridDataSource.js +3 -0
  19. package/lib/datagrids/DatagridDesign.d.ts +2 -0
  20. package/lib/datagrids/DatagridDesignerComponent.js +3 -2
  21. package/lib/datagrids/DatagridViewComponent.js +1 -1
  22. package/lib/datagrids/DirectDatagridDataSource.d.ts +1 -0
  23. package/lib/datagrids/DirectDatagridDataSource.js +26 -0
  24. package/lib/datagrids/ServerDatagridDataSource.d.ts +1 -0
  25. package/lib/datagrids/ServerDatagridDataSource.js +15 -0
  26. package/lib/index.d.ts +0 -1
  27. package/lib/index.js +2 -4
  28. package/lib/layouts/blocks/BlocksDisplayComponent.js +2 -2
  29. package/lib/layouts/grid/LegoLayoutEngine.d.ts +1 -1
  30. package/lib/maps/BufferLayerDesignerComponent.js +2 -2
  31. package/lib/maps/ChoroplethLayerDesigner.js +2 -2
  32. package/lib/maps/ClusterLayerDesignerComponent.js +2 -2
  33. package/lib/maps/DirectMapDataSource.js +1 -2
  34. package/lib/maps/GridLayerDesigner.js +2 -2
  35. package/lib/maps/MapDesignerComponent.d.ts +1 -12
  36. package/lib/maps/MapDesignerComponent.js +5 -12
  37. package/lib/maps/MarkersLayerDesignerComponent.js +2 -2
  38. package/lib/maps/PopupFilterJoinsUtils.d.ts +6 -1
  39. package/lib/maps/PopupFilterJoinsUtils.js +4 -3
  40. package/lib/maps/UtfGridLayer.js +1 -1
  41. package/lib/widgets/ImageWidgetComponent.js +2 -2
  42. package/lib/widgets/charts/calendar/CalendarChartDesignerComponent.js +2 -2
  43. package/lib/widgets/charts/imagemosaic/ImageMosaicChart.d.ts +1 -1
  44. package/lib/widgets/charts/imagemosaic/ImageMosaicChart.js +1 -1
  45. package/lib/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.js +2 -2
  46. package/lib/widgets/charts/layered/LayeredChartLayerDesignerComponent.js +2 -2
  47. package/lib/widgets/charts/pivot/PivotChartDesignerComponent.js +2 -2
  48. package/lib/widgets/charts/table/TableChartDesignerComponent.js +2 -2
  49. package/lib/widgets/text/ExprItemEditorComponent.js +2 -2
  50. package/package.json +1 -1
  51. package/src/MWaterAddRelatedFormComponent.ts +15 -20
  52. package/src/MWaterContextComponent.tsx +140 -0
  53. package/src/MWaterLoaderComponent.ts +2 -2
  54. package/src/{MWaterTableSelectComponent.ts → MWaterTableSelectComponent.tsx} +61 -66
  55. package/src/axes/AxisBuilder.ts +1 -1
  56. package/src/axes/RangesComponent.ts +27 -16
  57. package/src/dashboards/{DashboardComponent.ts → DashboardComponent.tsx} +37 -40
  58. package/src/dashboards/ServerDashboardDataSource.ts +16 -12
  59. package/src/datagrids/DatagridComponent.ts +45 -14
  60. package/src/datagrids/DatagridDataSource.ts +8 -0
  61. package/src/datagrids/DatagridDesign.ts +3 -0
  62. package/src/datagrids/DatagridDesignerComponent.tsx +9 -1
  63. package/src/datagrids/DatagridViewComponent.ts +1 -1
  64. package/src/datagrids/DirectDatagridDataSource.ts +35 -0
  65. package/src/datagrids/ServerDatagridDataSource.ts +22 -4
  66. package/src/index.ts +0 -2
  67. package/src/layouts/blocks/BlocksDisplayComponent.ts +2 -2
  68. package/src/layouts/grid/LegoLayoutEngine.ts +2 -2
  69. package/src/layouts/grid/WidgetContainerComponent.ts +2 -2
  70. package/src/maps/BingLayer.ts +2 -2
  71. package/src/maps/BufferLayerDesignerComponent.ts +1 -1
  72. package/src/maps/ChoroplethLayerDesigner.tsx +1 -1
  73. package/src/maps/ClusterLayerDesignerComponent.ts +1 -1
  74. package/src/maps/DirectMapDataSource.ts +1 -2
  75. package/src/maps/GridLayerDesigner.tsx +1 -1
  76. package/src/maps/LegendGroup.ts +1 -1
  77. package/src/maps/MWaterServerLayer.ts +2 -2
  78. package/src/maps/{MapDesignerComponent.ts → MapDesignerComponent.tsx} +8 -16
  79. package/src/maps/MarkersLayerDesignerComponent.ts +1 -1
  80. package/src/maps/PopupFilterJoinsUtils.ts +4 -4
  81. package/src/maps/ServerMapDataSource.ts +6 -6
  82. package/src/maps/SwitchableTileUrlLayerDesigner.tsx +1 -13
  83. package/src/maps/UtfGridLayer.ts +4 -4
  84. package/src/maps/mapboxUtils.ts +2 -2
  85. package/src/richtext/ExprItemsHtmlConverter.ts +1 -1
  86. package/src/richtext/FontColorPaletteItem.ts +1 -1
  87. package/src/richtext/FontSizePaletteItem.ts +1 -1
  88. package/src/richtext/ItemsHtmlConverter.ts +2 -2
  89. package/src/widgets/ImageWidgetComponent.ts +1 -1
  90. package/src/widgets/charts/calendar/CalendarChartDesignerComponent.ts +1 -1
  91. package/src/widgets/charts/imagemosaic/ImageMosaicChart.ts +1 -1
  92. package/src/widgets/charts/imagemosaic/ImageMosaicChartDesignerComponent.ts +1 -1
  93. package/src/widgets/charts/layered/LayeredChartLayerDesignerComponent.tsx +1 -1
  94. package/src/widgets/charts/pivot/PivotChartDesignerComponent.tsx +1 -1
  95. package/src/widgets/charts/table/TableChartDesignerComponent.ts +1 -1
  96. package/src/widgets/text/ExprItemEditorComponent.tsx +1 -1
  97. package/src/MWaterContextComponent.ts +0 -141
  98. package/src/TableSelectComponent.ts +0 -60
@@ -17,6 +17,7 @@ const DatagridUtils_1 = __importDefault(require("./DatagridUtils"));
17
17
  const QuickfiltersComponent_1 = __importDefault(require("../quickfilter/QuickfiltersComponent"));
18
18
  const QuickfilterCompiler_1 = __importDefault(require("../quickfilter/QuickfilterCompiler"));
19
19
  const FindReplaceModalComponent_1 = __importDefault(require("./FindReplaceModalComponent"));
20
+ const d3_format_1 = require("d3-format");
20
21
  // Datagrid with decorations
21
22
  // See README.md for description of datagrid format
22
23
  // Design should be cleaned already before being passed in (see DatagridUtils)
@@ -35,13 +36,34 @@ class DatagridComponent extends react_1.default.Component {
35
36
  };
36
37
  }
37
38
  reload() {
38
- return this.datagridView?.reload();
39
+ this.datagridView?.reload();
39
40
  }
40
41
  componentDidMount() {
41
- return this.updateHeight();
42
+ this.loadRowCount();
43
+ this.updateHeight();
42
44
  }
43
- componentDidUpdate() {
44
- return this.updateHeight();
45
+ componentDidUpdate(prevProps, prevState) {
46
+ if (!lodash_1.default.isEqual(prevProps.design, this.props.design) || !lodash_1.default.isEqual(prevState.quickfiltersValues, this.state.quickfiltersValues) || prevState.refreshKey !== this.state.refreshKey) {
47
+ this.loadRowCount();
48
+ }
49
+ this.updateHeight();
50
+ }
51
+ loadRowCount() {
52
+ if (!this.props.design.showNumRows) {
53
+ return;
54
+ }
55
+ let filters = this.props.filters || [];
56
+ // Compile quickfilters
57
+ filters = filters.concat(this.getQuickfilterFilters());
58
+ this.props.datagridDataSource.countRows(this.props.design, filters, (error, numRows) => {
59
+ if (error) {
60
+ console.error(error);
61
+ alert(T("Error loading data"));
62
+ return;
63
+ }
64
+ console.log(numRows);
65
+ this.setState({ numRows });
66
+ });
45
67
  }
46
68
  handleRefreshData = () => {
47
69
  this.props.dataSource.clearCache?.();
@@ -164,7 +186,7 @@ class DatagridComponent extends react_1.default.Component {
164
186
  }, T("Find/Replace"));
165
187
  }
166
188
  renderTitleBar() {
167
- return R("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: 40, padding: 4 } }, R("div", { style: { float: "right" } }, this.renderFindReplace(), this.renderCellEdit(), this.renderEditButton(), R("a", { key: "refresh", className: "btn btn-link btn-sm", onClick: this.handleRefreshData }, R("span", { className: "fas fa-sync" }), R("span", { className: "hide-600px" }, " Refresh")), this.props.extraTitleButtonsElem), this.props.titleElem);
189
+ return R("div", { style: { position: "absolute", top: 0, left: 0, right: 0, height: 40, padding: 4 } }, R("div", { style: { float: "right" } }, this.props.design.showNumRows && this.state.numRows ? R("small", { className: 'text-muted text-sm' }, `${(0, d3_format_1.format)(',')(this.state.numRows)} rows`) : undefined, this.renderFindReplace(), this.renderCellEdit(), this.renderEditButton(), R("a", { key: "refresh", className: "btn btn-link btn-sm", onClick: this.handleRefreshData }, R("span", { className: "fas fa-sync" }), R("span", { className: "hide-600px" }, " Refresh")), this.props.extraTitleButtonsElem), this.props.titleElem);
168
190
  }
169
191
  renderQuickfilter() {
170
192
  return R("div", {
@@ -4,6 +4,7 @@ import { QuickfiltersDataSource } from "../quickfilter/QuickfiltersDataSource";
4
4
  export default class DatagridDataSource {
5
5
  /** Gets the rows specified */
6
6
  getRows(design: DatagridDesign, offset: number, limit: number, filters: JsonQLFilter[] | undefined, callback: (error: any, rows: Row[]) => void): void;
7
+ countRows(design: DatagridDesign, filters: JsonQLFilter[] | undefined, callback: (error: any, numRows: number) => void): void;
7
8
  /** Gets the quickfilters data source */
8
9
  getQuickfiltersDataSource(): QuickfiltersDataSource;
9
10
  }
@@ -5,6 +5,9 @@ class DatagridDataSource {
5
5
  getRows(design, offset, limit, filters, callback) {
6
6
  throw new Error("Not implemented");
7
7
  }
8
+ countRows(design, filters, callback) {
9
+ throw new Error("Not implemented");
10
+ }
8
11
  /** Gets the quickfilters data source */
9
12
  getQuickfiltersDataSource() {
10
13
  throw new Error("Not implemented");
@@ -23,6 +23,8 @@ export interface DatagridDesign {
23
23
  showRowNumbers?: boolean;
24
24
  /** array of global filters. See below. */
25
25
  globalFilters?: DatagridDesignGlobalFilter[];
26
+ /** true to show number of rows */
27
+ showNumRows?: boolean;
26
28
  }
27
29
  export interface DatagridDesignColumn {
28
30
  /** unique id of the column */
@@ -41,7 +41,7 @@ const OrderBysDesignerComponent_1 = __importDefault(require("./OrderBysDesignerC
41
41
  const ReorderableListComponent_1 = __importDefault(require("@mwater/react-library/lib/reorderable/ReorderableListComponent"));
42
42
  const QuickfiltersDesignComponent_1 = __importDefault(require("../quickfilter/QuickfiltersDesignComponent"));
43
43
  const LabeledExprGenerator_1 = __importDefault(require("./LabeledExprGenerator"));
44
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
44
+ const expressions_ui_3 = require("@mwater/expressions-ui");
45
45
  const uuid_1 = __importDefault(require("uuid"));
46
46
  const update_object_1 = __importDefault(require("update-object"));
47
47
  const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
@@ -140,7 +140,7 @@ class DatagridDesignerComponent extends react_1.default.Component {
140
140
  });
141
141
  }
142
142
  render() {
143
- return R("div", null, R("label", null, T("Data Source:")), R(TableSelectComponent_1.default, {
143
+ return R("div", null, R("label", null, T("Data Source:")), R(expressions_ui_3.TableSelectComponent, {
144
144
  schema: this.props.schema,
145
145
  value: this.props.design.table,
146
146
  onChange: this.handleTableChange
@@ -158,6 +158,7 @@ function DatagridOptionsComponent(props) {
158
158
  }, []);
159
159
  return react_1.default.createElement("div", null,
160
160
  react_1.default.createElement(ui.Checkbox, { value: props.design.showRowNumbers, onChange: (showRowNumbers) => props.onDesignChange({ ...props.design, showRowNumbers }) }, T("Show row numbers")),
161
+ react_1.default.createElement(ui.Checkbox, { value: props.design.showNumRows, onChange: (showNumRows) => props.onDesignChange({ ...props.design, showNumRows }) }, T("Show number of rows")),
161
162
  react_1.default.createElement(ui.FormGroup, { label: T("Language"), hint: T("Preferred language of the datagrid") },
162
163
  react_1.default.createElement(react_select_1.default, { value: localeOptions.find(opt => opt.value == (props.design.locale || "en")) || null, options: localeOptions, onChange: (locale) => props.onDesignChange({ ...props.design, locale: locale.value }) })));
163
164
  }
@@ -32,7 +32,7 @@ class DatagridViewComponent extends react_1.default.Component {
32
32
  // If design or filters changed, delete all rows
33
33
  // TODO won't this reload on column resize?
34
34
  if (!lodash_1.default.isEqual(nextProps.design, this.props.design) || !lodash_1.default.isEqual(nextProps.filters, this.props.filters) || nextProps.refreshKey !== this.props.refreshKey) {
35
- return this.setState({ rows: [], entirelyLoaded: false });
35
+ this.setState({ rows: [], entirelyLoaded: false });
36
36
  }
37
37
  }
38
38
  // Loads more rows because the placeholder last row has been rendered
@@ -14,6 +14,7 @@ export default class DirectDatagridDataSource implements DatagridDataSource {
14
14
  });
15
15
  /** Gets the rows specified */
16
16
  getRows(design: DatagridDesign, offset: number, limit: number, filters: JsonQLFilter[] | undefined, callback: (error: any, rows: Row[]) => void): void;
17
+ countRows(design: DatagridDesign, filters: JsonQLFilter[] | undefined, callback: (error: any, numRows: number) => void): void;
17
18
  getQuickfiltersDataSource(): {
18
19
  getValues: (index: any, expr: any, filters: any, offset: any, limit: any, callback: any) => void;
19
20
  };
@@ -28,6 +28,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const DatagridQueryBuilder_1 = __importDefault(require("./DatagridQueryBuilder"));
30
30
  const QuickfilterUtils = __importStar(require("../quickfilter/QuickfilterUtils"));
31
+ const lodash_1 = __importDefault(require("lodash"));
31
32
  /** Uses direct DataSource queries */
32
33
  class DirectDatagridDataSource {
33
34
  options;
@@ -49,6 +50,31 @@ class DirectDatagridDataSource {
49
50
  });
50
51
  return this.options.dataSource.performQuery(query, callback);
51
52
  }
53
+ countRows(design, filters, callback) {
54
+ const queryBuilder = new DatagridQueryBuilder_1.default(this.options.schema);
55
+ // Create query to get the page of rows at the specific offset
56
+ const query = queryBuilder.createQuery(design, {
57
+ extraFilters: filters
58
+ });
59
+ const countQuery = {
60
+ ...lodash_1.default.omit(query, 'orderBy'),
61
+ selects: [
62
+ {
63
+ type: 'select',
64
+ expr: {
65
+ type: 'op',
66
+ op: 'count',
67
+ exprs: []
68
+ },
69
+ alias: 'cnt'
70
+ }
71
+ ]
72
+ };
73
+ console.log(countQuery);
74
+ return this.options.dataSource.performQuery(countQuery, (error, rows) => {
75
+ callback(error, rows?.[0]?.cnt);
76
+ });
77
+ }
52
78
  // Gets the quickfilters data source
53
79
  getQuickfiltersDataSource() {
54
80
  return {
@@ -18,6 +18,7 @@ export default class ServerDatagridDataSource extends DatagridDataSource {
18
18
  options: ServerDatagridDataSourceOptions;
19
19
  constructor(options: ServerDatagridDataSourceOptions);
20
20
  getRows(design: DatagridDesign, offset: any, limit: any, filters: any, callback: any): JQuery.jqXHR<any>;
21
+ countRows(design: DatagridDesign, filters: any, callback: any): JQuery.jqXHR<any>;
21
22
  getQuickfiltersDataSource(): ServerQuickfilterDataSource;
22
23
  }
23
24
  interface ServerQuickfilterDataSourceOptions {
@@ -40,6 +40,21 @@ class ServerDatagridDataSource extends DatagridDataSource_1.default {
40
40
  return callback(new Error(xhr.responseText));
41
41
  });
42
42
  }
43
+ countRows(design, filters, callback) {
44
+ const query = {
45
+ client: this.options.client,
46
+ share: this.options.share,
47
+ filters: (0, compressJson_1.default)(filters),
48
+ rev: this.options.rev,
49
+ };
50
+ const url = this.options.apiUrl + `datagrids/${this.options.datagridId}/summary?` + querystring_1.default.stringify(query);
51
+ return jquery_1.default.getJSON(url, (data) => {
52
+ return callback(null, data?.[0]?.cnt);
53
+ }).fail((xhr) => {
54
+ console.log(xhr.responseText);
55
+ return callback(new Error(xhr.responseText));
56
+ });
57
+ }
43
58
  getQuickfiltersDataSource() {
44
59
  return new ServerQuickfilterDataSource(this.options);
45
60
  }
package/lib/index.d.ts CHANGED
@@ -2,7 +2,6 @@ export { default as LeafletMapComponent, MapBounds, TileLayer, GeoJsonLayer, Map
2
2
  export { default as DateRangeComponent } from "./DateRangeComponent";
3
3
  export { default as RegionSelectComponent } from "./maps/RegionSelectComponent";
4
4
  export * from "./datagrids/DatagridDesign";
5
- export { default as TableSelectComponent } from "./TableSelectComponent";
6
5
  export * from "./JsonQLFilter";
7
6
  export { default as DashboardComponent } from "./dashboards/DashboardComponent";
8
7
  export { default as DashboardDataSource } from "./dashboards/DashboardDataSource";
package/lib/index.js CHANGED
@@ -17,8 +17,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.RichTextComponent = exports.AxisColorEditorComponent = exports.MarkerSymbolSelectComponent = exports.DetailLevelSelectComponent = exports.LayoutManager = exports.LabeledExprGenerator = exports.DirectDatagridDataSource = exports.ServerDatagridDataSource = exports.DirectMapDataSource = exports.ServerMapDataSource = exports.ServerDashboardDataSource = exports.DatagridViewComponent = exports.DatagridComponent = exports.ColorSchemeFactory = exports.AxisBuilder = exports.WidgetScopesViewComponent = exports.WidgetScoper = exports.ChartViewComponent = exports.ImageMosaicChart = exports.CalendarChart = exports.TableChart = exports.LayeredChart = exports.CheckboxComponent = exports.RadioButtonComponent = exports.VerticalLayoutComponent = exports.MapComponent = exports.MapDesignerComponent = exports.LayerFactory = exports.UtfGridLayer = exports.BingLayer = exports.DashboardViewComponent = exports.UndoStack = exports.setMapTilerApiKey = exports.DirectWidgetDataSource = exports.mWaterLoader = exports.MWaterContextComponent = exports.MWaterLoaderComponent = exports.languages = exports.DatagridUtils = exports.Widget = exports.WidgetFactory = exports.LocaleContextInjector = exports.compressJson = exports.DirectDashboardDataSource = exports.DashboardDataSource = exports.DashboardComponent = exports.TableSelectComponent = exports.RegionSelectComponent = exports.DateRangeComponent = exports.LeafletMapComponent = void 0;
21
- exports.OptionListComponent = exports.ToggleEditComponent = exports.QuickfilterCompiler = exports.DropdownWidgetComponent = exports.ItemsHtmlConverter = void 0;
20
+ exports.ItemsHtmlConverter = exports.RichTextComponent = exports.AxisColorEditorComponent = exports.MarkerSymbolSelectComponent = exports.DetailLevelSelectComponent = exports.LayoutManager = exports.LabeledExprGenerator = exports.DirectDatagridDataSource = exports.ServerDatagridDataSource = exports.DirectMapDataSource = exports.ServerMapDataSource = exports.ServerDashboardDataSource = exports.DatagridViewComponent = exports.DatagridComponent = exports.ColorSchemeFactory = exports.AxisBuilder = exports.WidgetScopesViewComponent = exports.WidgetScoper = exports.ChartViewComponent = exports.ImageMosaicChart = exports.CalendarChart = exports.TableChart = exports.LayeredChart = exports.CheckboxComponent = exports.RadioButtonComponent = exports.VerticalLayoutComponent = exports.MapComponent = exports.MapDesignerComponent = exports.LayerFactory = exports.UtfGridLayer = exports.BingLayer = exports.DashboardViewComponent = exports.UndoStack = exports.setMapTilerApiKey = exports.DirectWidgetDataSource = exports.mWaterLoader = exports.MWaterContextComponent = exports.MWaterLoaderComponent = exports.languages = exports.DatagridUtils = exports.Widget = exports.WidgetFactory = exports.LocaleContextInjector = exports.compressJson = exports.DirectDashboardDataSource = exports.DashboardDataSource = exports.DashboardComponent = exports.RegionSelectComponent = exports.DateRangeComponent = exports.LeafletMapComponent = void 0;
21
+ exports.OptionListComponent = exports.ToggleEditComponent = exports.QuickfilterCompiler = exports.DropdownWidgetComponent = void 0;
22
22
  var LeafletMapComponent_1 = require("./maps/LeafletMapComponent");
23
23
  Object.defineProperty(exports, "LeafletMapComponent", { enumerable: true, get: function () { return __importDefault(LeafletMapComponent_1).default; } });
24
24
  var DateRangeComponent_1 = require("./DateRangeComponent");
@@ -26,8 +26,6 @@ Object.defineProperty(exports, "DateRangeComponent", { enumerable: true, get: fu
26
26
  var RegionSelectComponent_1 = require("./maps/RegionSelectComponent");
27
27
  Object.defineProperty(exports, "RegionSelectComponent", { enumerable: true, get: function () { return __importDefault(RegionSelectComponent_1).default; } });
28
28
  __exportStar(require("./datagrids/DatagridDesign"), exports);
29
- var TableSelectComponent_1 = require("./TableSelectComponent");
30
- Object.defineProperty(exports, "TableSelectComponent", { enumerable: true, get: function () { return __importDefault(TableSelectComponent_1).default; } });
31
29
  __exportStar(require("./JsonQLFilter"), exports);
32
30
  var DashboardComponent_1 = require("./dashboards/DashboardComponent");
33
31
  Object.defineProperty(exports, "DashboardComponent", { enumerable: true, get: function () { return __importDefault(DashboardComponent_1).default; } });
@@ -265,7 +265,7 @@ class BlocksDisplayComponent extends react_1.default.Component {
265
265
  innerParentStyle = {};
266
266
  innerParentStyle.maxWidth = layoutOptions.maximumWidth || undefined;
267
267
  return R("div", { style: { width: "100%", height: "100%", overflow: "hidden", position: "relative" } }, this.renderPalette(), R("div", {
268
- style: { position: "absolute", left: 141, top: 0, bottom: 0, right: 0, overflow: "auto" },
268
+ style: { position: "absolute", left: 141, top: 0, bottom: 0, right: 0, overflowX: "auto", overflowY: "scroll" },
269
269
  className: `mwater-visualization-block-parent-outer mwater-visualization-block-parent-outer-${this.props.style || "default"} mwater-visualization-block-editing`
270
270
  }, R("div", {
271
271
  key: "inner",
@@ -275,7 +275,7 @@ class BlocksDisplayComponent extends react_1.default.Component {
275
275
  }
276
276
  else {
277
277
  return R(AutoSizeComponent_1.default, { injectWidth: true, injectHeight: true }, (size) => {
278
- const outerParentStyle = { width: "100%", height: "100%", overflowX: "auto" };
278
+ const outerParentStyle = { width: "100%", height: "100%", overflowX: "auto", overflowY: "scroll" };
279
279
  innerParentStyle = {};
280
280
  // Remove padding if small
281
281
  if (size.width < 600) {
@@ -16,7 +16,7 @@ export default class LegoLayoutEngine {
16
16
  w: number;
17
17
  h: number;
18
18
  };
19
- performLayout(layouts: any, priority: any): {};
19
+ performLayout(layouts: any, priority: any): any;
20
20
  appendLayout(layouts: any, w: any, h: any): {
21
21
  x: number;
22
22
  y: number;
@@ -34,7 +34,7 @@ const expressions_1 = require("@mwater/expressions");
34
34
  const NumberInputComponent_1 = __importDefault(require("@mwater/react-library/lib/NumberInputComponent"));
35
35
  const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
36
36
  const ColorComponent_1 = __importDefault(require("../ColorComponent"));
37
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
37
+ const expressions_ui_2 = require("@mwater/expressions-ui");
38
38
  const rc_slider_1 = __importDefault(require("rc-slider"));
39
39
  const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
40
40
  const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
@@ -77,7 +77,7 @@ class BufferLayerDesignerComponent extends react_1.default.Component {
77
77
  this.props.onDesignChange({ ...this.props.design, unionShapes });
78
78
  };
79
79
  renderTable() {
80
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(TableSelectComponent_1.default, {
80
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(expressions_ui_2.TableSelectComponent, {
81
81
  schema: this.props.schema,
82
82
  value: this.props.design.table,
83
83
  onChange: this.handleTableChange,
@@ -33,7 +33,7 @@ const immer_1 = require("immer");
33
33
  const expressions_ui_1 = require("@mwater/expressions-ui");
34
34
  const expressions_1 = require("@mwater/expressions");
35
35
  const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
36
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
36
+ const expressions_ui_2 = require("@mwater/expressions-ui");
37
37
  const ColorComponent_1 = __importDefault(require("../ColorComponent"));
38
38
  const rc_slider_1 = __importDefault(require("rc-slider"));
39
39
  const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
@@ -147,7 +147,7 @@ class ChoroplethLayerDesigner extends react_1.default.Component {
147
147
  react_1.default.createElement("label", { className: "text-muted" },
148
148
  react_1.default.createElement("i", { className: "fa fa-database" }),
149
149
  " Data Source"),
150
- react_1.default.createElement(TableSelectComponent_1.default, { schema: this.props.schema, value: this.props.design.table, onChange: this.handleTableChange, filter: this.props.design.filter, onFilterChange: this.handleFilterChange })));
150
+ react_1.default.createElement(expressions_ui_2.TableSelectComponent, { schema: this.props.schema, value: this.props.design.table, onChange: this.handleTableChange, filter: this.props.design.filter, onFilterChange: this.handleFilterChange })));
151
151
  }
152
152
  renderRegionsTable() {
153
153
  let options = lodash_1.default.map(lodash_1.default.filter(this.props.schema.getTables(), table => table.id.startsWith("regions.")), table => ({ value: table.id, label: table.name.en }));
@@ -10,7 +10,7 @@ const expressions_ui_1 = require("@mwater/expressions-ui");
10
10
  const expressions_1 = require("@mwater/expressions");
11
11
  const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
12
12
  const ColorComponent_1 = __importDefault(require("../ColorComponent"));
13
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
13
+ const expressions_ui_2 = require("@mwater/expressions-ui");
14
14
  const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
15
15
  class ClusterLayerDesignerComponent extends react_1.default.Component {
16
16
  // Apply updates to design
@@ -38,7 +38,7 @@ class ClusterLayerDesignerComponent extends react_1.default.Component {
38
38
  return this.update({ fillColor: color });
39
39
  };
40
40
  renderTable() {
41
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(TableSelectComponent_1.default, {
41
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(expressions_ui_2.TableSelectComponent, {
42
42
  schema: this.props.schema,
43
43
  value: this.props.design.table,
44
44
  onChange: this.handleTableChange,
@@ -157,8 +157,7 @@ class DirectLayerDataSource {
157
157
  const { url, expires } = await getVectorTileFromDirectRequest({
158
158
  apiUrl: this.options.apiUrl,
159
159
  client: this.options.client,
160
- directTokenRequest,
161
- createdAfter
160
+ directTokenRequest
162
161
  });
163
162
  return { url, expires };
164
163
  }
@@ -33,7 +33,7 @@ const immer_1 = require("immer");
33
33
  const expressions_ui_1 = require("@mwater/expressions-ui");
34
34
  const expressions_1 = require("@mwater/expressions");
35
35
  const AxisComponent_1 = __importDefault(require("../axes/AxisComponent"));
36
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
36
+ const expressions_ui_2 = require("@mwater/expressions-ui");
37
37
  const rc_slider_1 = __importDefault(require("rc-slider"));
38
38
  const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
39
39
  const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
@@ -127,7 +127,7 @@ class GridLayerDesigner extends react_1.default.Component {
127
127
  react_1.default.createElement("label", { className: "text-muted" },
128
128
  react_1.default.createElement("i", { className: "fa fa-database" }),
129
129
  " Data Source"),
130
- react_1.default.createElement(TableSelectComponent_1.default, { schema: this.props.schema, value: this.props.design.table, onChange: this.handleTableChange, filter: this.props.design.filter, onFilterChange: this.handleFilterChange })));
130
+ react_1.default.createElement(expressions_ui_2.TableSelectComponent, { schema: this.props.schema, value: this.props.design.table, onChange: this.handleTableChange, filter: this.props.design.filter, onFilterChange: this.handleFilterChange })));
131
131
  }
132
132
  renderGeometryExpr() {
133
133
  // If no data, hide
@@ -1,4 +1,3 @@
1
- import PropTypes from "prop-types";
2
1
  import React from "react";
3
2
  import { DataSource, Schema } from "@mwater/expressions";
4
3
  import { MapDesign } from "./MapDesign";
@@ -18,12 +17,6 @@ export interface MapDesignerComponentProps {
18
17
  enableQuickfilters?: boolean;
19
18
  }
20
19
  export default class MapDesignerComponent extends React.Component<MapDesignerComponentProps> {
21
- static childContextTypes: {
22
- activeTables: PropTypes.Requireable<string[]>;
23
- };
24
- getChildContext(): {
25
- activeTables: string[];
26
- };
27
20
  handleAttributionChange: (text: any) => void;
28
21
  handleAutoBoundsChange: (value: any) => void;
29
22
  handleShowLayerSwitcherChange: (value: any) => void;
@@ -31,9 +24,5 @@ export default class MapDesignerComponent extends React.Component<MapDesignerCom
31
24
  handleConvertToMarkersMap: () => void;
32
25
  handleInitialLegendDisplayChange: (value: any) => void;
33
26
  renderOptionsTab(): React.DetailedReactHTMLElement<React.HTMLAttributes<HTMLElement>, HTMLElement>;
34
- render(): React.DetailedReactHTMLElement<{
35
- style: {
36
- padding: number;
37
- };
38
- }, HTMLElement>;
27
+ render(): React.JSX.Element;
39
28
  }
@@ -27,7 +27,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const lodash_1 = __importDefault(require("lodash"));
30
- const prop_types_1 = __importDefault(require("prop-types"));
31
30
  const react_1 = __importDefault(require("react"));
32
31
  const R = react_1.default.createElement;
33
32
  const TabbedComponent_1 = __importDefault(require("@mwater/react-library/lib/TabbedComponent"));
@@ -42,14 +41,8 @@ const MapUtils = __importStar(require("./MapUtils"));
42
41
  const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
43
42
  const QuickfiltersDesignComponent_1 = __importDefault(require("../quickfilter/QuickfiltersDesignComponent"));
44
43
  const immer_1 = __importDefault(require("immer"));
44
+ const expressions_ui_1 = require("@mwater/expressions-ui");
45
45
  class MapDesignerComponent extends react_1.default.Component {
46
- static childContextTypes = { activeTables: prop_types_1.default.arrayOf(prop_types_1.default.string.isRequired) };
47
- getChildContext() {
48
- return {
49
- // Pass active tables down to table select components so they can present a shorter list
50
- activeTables: MapUtils.getFilterableTables(this.props.design, this.props.schema)
51
- };
52
- }
53
46
  handleAttributionChange = (text) => {
54
47
  const design = { ...this.props.design, attribution: text };
55
48
  return this.props.onDesignChange(design);
@@ -152,10 +145,10 @@ class MapDesignerComponent extends react_1.default.Component {
152
145
  }))
153
146
  });
154
147
  }
155
- return R("div", { style: { padding: 5 } }, R(TabbedComponent_1.default, {
156
- initialTabId: "layers",
157
- tabs
158
- }));
148
+ const activeTables = MapUtils.getFilterableTables(this.props.design, this.props.schema);
149
+ return (react_1.default.createElement(expressions_ui_1.ActiveTablesContext.Provider, { value: activeTables },
150
+ react_1.default.createElement("div", { style: { padding: 5 } },
151
+ react_1.default.createElement(TabbedComponent_1.default, { initialTabId: "layers", tabs: tabs }))));
159
152
  }
160
153
  }
161
154
  exports.default = MapDesignerComponent;
@@ -33,7 +33,7 @@ const expressions_ui_1 = require("@mwater/expressions-ui");
33
33
  const expressions_1 = require("@mwater/expressions");
34
34
  const AxisComponent_1 = __importDefault(require("./../axes/AxisComponent"));
35
35
  const ColorComponent_1 = __importDefault(require("../ColorComponent"));
36
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
36
+ const expressions_ui_2 = require("@mwater/expressions-ui");
37
37
  const EditPopupComponent_1 = __importDefault(require("./EditPopupComponent"));
38
38
  const ZoomLevelsComponent_1 = __importDefault(require("./ZoomLevelsComponent"));
39
39
  const MarkerSymbolSelectComponent_1 = __importDefault(require("./MarkerSymbolSelectComponent"));
@@ -86,7 +86,7 @@ class MarkersLayerDesignerComponent extends react_1.default.Component {
86
86
  return this.update({ lineWidth });
87
87
  };
88
88
  renderTable() {
89
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(TableSelectComponent_1.default, {
89
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), R("div", { style: { marginLeft: 10 } }, R(expressions_ui_2.TableSelectComponent, {
90
90
  schema: this.props.schema,
91
91
  value: this.props.design.table,
92
92
  onChange: this.handleTableChange,
@@ -12,4 +12,9 @@ import { JsonQLFilter } from "..";
12
12
  export declare function createPopupFilters(popupFilterJoins: {
13
13
  [tableId: string]: Expr;
14
14
  }, schema: Schema, layerTable: any, rowId: any, useWithin?: boolean): JsonQLFilter[];
15
- export declare function createDefaultPopupFilterJoins(table: any): {};
15
+ export declare function createDefaultPopupFilterJoins(table: any): {
16
+ [x: number]: {
17
+ table: any;
18
+ type: string;
19
+ };
20
+ };
@@ -30,7 +30,7 @@ function createPopupFilters(popupFilterJoins, schema, layerTable, rowId, useWith
30
30
  type: "op",
31
31
  op: "within",
32
32
  table,
33
- exprs: [expr, { type: "literal", idTable: exprUtils.getExprIdTable(expr), valueType: "id", value: rowId }]
33
+ exprs: [expr, { type: "literal", idTable: exprUtils.getExprIdTable(expr) ?? undefined, valueType: "id", value: rowId }]
34
34
  };
35
35
  filters.push({ table, jsonql: exprCompiler.compileExpr({ expr: filterExpr, tableAlias: "{alias}" }) });
36
36
  }
@@ -83,9 +83,10 @@ function createPopupFilters(popupFilterJoins, schema, layerTable, rowId, useWith
83
83
  exports.createPopupFilters = createPopupFilters;
84
84
  // Create default popup filter joins where the join is just the id (not used for choropleth since that needs to join to admin_regions)
85
85
  function createDefaultPopupFilterJoins(table) {
86
- const popupFilterJoins = {};
87
86
  // Return id of row for a simple match
88
- popupFilterJoins[table] = { table, type: "id" };
87
+ const popupFilterJoins = {
88
+ [table]: { table, type: "id" }
89
+ };
89
90
  return popupFilterJoins;
90
91
  }
91
92
  exports.createDefaultPopupFilterJoins = createDefaultPopupFilterJoins;
@@ -59,7 +59,7 @@ module.exports = leaflet_1.default.Layer.extend({
59
59
  this._cache = {};
60
60
  //Find a unique id in window we can use for our callbacks
61
61
  //Required for jsonP
62
- var i = 0;
62
+ let i = 0;
63
63
  while (window["lu" + i]) {
64
64
  i++;
65
65
  }
@@ -37,7 +37,7 @@ const DropdownWidgetComponent_1 = __importDefault(require("./DropdownWidgetCompo
37
37
  const ModalPopupComponent_1 = __importDefault(require("@mwater/react-library/lib/ModalPopupComponent"));
38
38
  const TabbedComponent_1 = __importDefault(require("@mwater/react-library/lib/TabbedComponent"));
39
39
  const expressions_ui_1 = require("@mwater/expressions-ui");
40
- const TableSelectComponent_1 = __importDefault(require("../TableSelectComponent"));
40
+ const expressions_ui_2 = require("@mwater/expressions-ui");
41
41
  const ImageUploaderComponent_1 = __importDefault(require("./ImageUploaderComponent"));
42
42
  const ImagelistCarouselComponent_1 = __importDefault(require("./ImagelistCarouselComponent"));
43
43
  class ImageWidgetComponent extends AsyncLoadComponent_1.default {
@@ -257,7 +257,7 @@ class ImageWidgetDesignComponent extends react_1.default.Component {
257
257
  });
258
258
  };
259
259
  renderExpressionEditor() {
260
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(TableSelectComponent_1.default, { schema: this.props.schema, value: this.state.table, onChange: this.handleTableChange }), R("br"), this.state.table
260
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(expressions_ui_2.TableSelectComponent, { schema: this.props.schema, value: this.state.table, onChange: this.handleTableChange }), R("br"), this.state.table
261
261
  ? R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, "Field"), ": ", R(expressions_ui_1.ExprComponent, {
262
262
  schema: this.props.schema,
263
263
  dataSource: this.props.dataSource,
@@ -32,7 +32,7 @@ const R = react_1.default.createElement;
32
32
  const ui = __importStar(require("../../../UIComponents"));
33
33
  const AxisComponent_1 = __importDefault(require("../../../axes/AxisComponent"));
34
34
  const expressions_ui_1 = require("@mwater/expressions-ui");
35
- const TableSelectComponent_1 = __importDefault(require("../../../TableSelectComponent"));
35
+ const expressions_ui_2 = require("@mwater/expressions-ui");
36
36
  const ColorComponent_1 = __importDefault(require("../../../ColorComponent"));
37
37
  class CalendarChartDesignerComponent extends react_1.default.Component {
38
38
  // Updates design with the specified changes
@@ -67,7 +67,7 @@ class CalendarChartDesignerComponent extends react_1.default.Component {
67
67
  this.updateDesign({ cellColor });
68
68
  };
69
69
  renderTable() {
70
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(TableSelectComponent_1.default, {
70
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(expressions_ui_2.TableSelectComponent, {
71
71
  schema: this.props.schema,
72
72
  value: this.props.design.table,
73
73
  onChange: this.handleTableChange,
@@ -15,7 +15,7 @@ export default class ImageMosaicChart extends Chart {
15
15
  }>;
16
16
  getData(design: any, schema: Schema, dataSource: DataSource, filters: JsonQLFilter[] | null, callback: any): void;
17
17
  createViewElement(options: ChartCreateViewElementOptions): React.DetailedReactHTMLElement<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
18
- createDataTable(design: any, schema: Schema, dataSource: DataSource, data: any): null;
18
+ createDataTable(design: any, schema: Schema, dataSource: DataSource, data: any): never[];
19
19
  getFilterableTables(design: any, schema: Schema): any[];
20
20
  getPlaceholderIcon(): string;
21
21
  }
@@ -157,7 +157,7 @@ class ImageMosaicChart extends Chart_1.default {
157
157
  }
158
158
  createDataTable(design, schema, dataSource, data) {
159
159
  alert("Not available for Image Mosaics");
160
- return null;
160
+ return [];
161
161
  }
162
162
  // TODO
163
163
  // renderHeaderCell = (column) =>
@@ -32,7 +32,7 @@ const R = react_1.default.createElement;
32
32
  const ui = __importStar(require("../../../UIComponents"));
33
33
  const AxisComponent_1 = __importDefault(require("../../../axes/AxisComponent"));
34
34
  const expressions_ui_1 = require("@mwater/expressions-ui");
35
- const TableSelectComponent_1 = __importDefault(require("../../../TableSelectComponent"));
35
+ const expressions_ui_2 = require("@mwater/expressions-ui");
36
36
  class ImageMosaicChartDesignerComponent extends react_1.default.Component {
37
37
  // Updates design with the specified changes
38
38
  updateDesign(changes) {
@@ -52,7 +52,7 @@ class ImageMosaicChartDesignerComponent extends react_1.default.Component {
52
52
  return this.updateDesign({ imageAxis });
53
53
  };
54
54
  renderTable() {
55
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(TableSelectComponent_1.default, {
55
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(expressions_ui_2.TableSelectComponent, {
56
56
  schema: this.props.schema,
57
57
  value: this.props.design.table,
58
58
  onChange: this.handleTableChange,
@@ -37,7 +37,7 @@ const ColorComponent_1 = __importDefault(require("../../../ColorComponent"));
37
37
  const LayeredChartUtils = __importStar(require("./LayeredChartUtils"));
38
38
  const LayeredChartCompiler_1 = __importDefault(require("./LayeredChartCompiler"));
39
39
  const uiComponents = __importStar(require("../../../UIComponents"));
40
- const TableSelectComponent_1 = __importDefault(require("../../../TableSelectComponent"));
40
+ const expressions_ui_2 = require("@mwater/expressions-ui");
41
41
  const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
42
42
  const bootstrap_1 = require("@mwater/react-library/lib/bootstrap");
43
43
  const PopoverHelpComponent_1 = __importDefault(require("@mwater/react-library/lib/PopoverHelpComponent"));
@@ -165,7 +165,7 @@ class LayeredChartLayerDesignerComponent extends react_1.default.Component {
165
165
  }
166
166
  renderTable() {
167
167
  const layer = this.props.design.layers[this.props.index];
168
- return R(uiComponents.SectionComponent, { icon: "fa-database", label: "Data Source" }, R(TableSelectComponent_1.default, {
168
+ return R(uiComponents.SectionComponent, { icon: "fa-database", label: "Data Source" }, R(expressions_ui_2.TableSelectComponent, {
169
169
  schema: this.props.schema,
170
170
  value: layer.table,
171
171
  onChange: this.handleTableChange,
@@ -32,7 +32,7 @@ const R = react_1.default.createElement;
32
32
  const uuid_1 = __importDefault(require("uuid"));
33
33
  const ui = __importStar(require("@mwater/react-library/lib/bootstrap"));
34
34
  const expressions_ui_1 = require("@mwater/expressions-ui");
35
- const TableSelectComponent_1 = __importDefault(require("../../../TableSelectComponent"));
35
+ const expressions_ui_2 = require("@mwater/expressions-ui");
36
36
  const AxisComponent_1 = __importDefault(require("../../../axes/AxisComponent"));
37
37
  // Designer for overall chart. Has a special setup mode first time it is run
38
38
  class PivotChartDesignerComponent extends react_1.default.Component {
@@ -76,7 +76,7 @@ class PivotChartDesignerComponent extends react_1.default.Component {
76
76
  return this.updateDesign({ intersections });
77
77
  };
78
78
  renderTable() {
79
- return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(TableSelectComponent_1.default, {
79
+ return R("div", { className: "mb-3" }, R("label", { className: "text-muted" }, R("i", { className: "fa fa-database" }), " ", "Data Source"), ": ", R(expressions_ui_2.TableSelectComponent, {
80
80
  schema: this.props.schema,
81
81
  value: this.props.design.table,
82
82
  onChange: this.handleTableChange,