@mwater/visualization 5.5.0 → 5.6.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 (222) hide show
  1. package/lib/MWaterContextComponent.d.ts +1 -1
  2. package/lib/MWaterGlobalFiltersComponent.d.ts +2 -2
  3. package/lib/MWaterGlobalFiltersComponent.js +11 -20
  4. package/lib/MWaterLoaderComponent.d.ts +4 -13
  5. package/lib/MWaterLoaderComponent.js +2 -11
  6. package/lib/UndoStack.d.ts +2 -1
  7. package/lib/UndoStack.js +12 -6
  8. package/lib/dashboards/DashboardComponent.js +5 -4
  9. package/lib/dashboards/DashboardDesign.d.ts +1 -1
  10. package/lib/dashboards/ServerDashboardDataSource.js +0 -10
  11. package/lib/dashboards/SettingsModalComponent.js +1 -1
  12. package/lib/datagrids/DatagridComponent.js +22 -2
  13. package/lib/datagrids/DatagridDesignerComponent.d.ts +2 -3
  14. package/lib/datagrids/DatagridDesignerComponent.js +108 -120
  15. package/lib/datagrids/DatagridViewComponent.js +3 -2
  16. package/lib/datagrids/OrderBysDesignerComponent.d.ts +7 -7
  17. package/lib/datagrids/OrderBysDesignerComponent.js +19 -28
  18. package/lib/index.css +45 -2
  19. package/lib/index.d.ts +5 -5
  20. package/lib/index.js +2 -3
  21. package/lib/layouts/blocks/BlocksDisplayComponent.d.ts +8 -1
  22. package/lib/layouts/blocks/BlocksDisplayComponent.js +46 -4
  23. package/lib/maps/BufferLayer.js +12 -0
  24. package/lib/maps/BufferLayerDesign.d.ts +1 -1
  25. package/lib/maps/BufferLayerDesignerComponent.js +2 -2
  26. package/lib/maps/ChoroplethLayer.js +12 -0
  27. package/lib/maps/ChoroplethLayerDesign.d.ts +5 -2
  28. package/lib/maps/ChoroplethLayerDesigner.d.ts +10 -32
  29. package/lib/maps/ChoroplethLayerDesigner.js +58 -89
  30. package/lib/maps/DirectMapDataSource.js +0 -10
  31. package/lib/maps/EditHoverOver.d.ts +4 -3
  32. package/lib/maps/EditHoverOver.js +3 -3
  33. package/lib/maps/HoverContent.js +1 -1
  34. package/lib/maps/LeafletMapComponent.js +10 -19
  35. package/lib/maps/MapComponent.js +0 -1
  36. package/lib/maps/MapUtils.js +10 -1
  37. package/lib/maps/MarkersLayer.js +18 -2
  38. package/lib/maps/MarkersLayerDesign.d.ts +1 -1
  39. package/lib/maps/MarkersLayerDesignerComponent.d.ts +12 -41
  40. package/lib/maps/MarkersLayerDesignerComponent.js +81 -111
  41. package/lib/maps/ServerMapDataSource.js +0 -10
  42. package/lib/maps/VectorMapViewComponent.js +1 -9
  43. package/lib/maps/symbols/font-awesome/asterisk.png +0 -0
  44. package/lib/maps/symbols/font-awesome/ban.png +0 -0
  45. package/lib/maps/symbols/font-awesome/beer.png +0 -0
  46. package/lib/maps/symbols/font-awesome/bell.png +0 -0
  47. package/lib/maps/symbols/font-awesome/bolt.png +0 -0
  48. package/lib/maps/symbols/font-awesome/building.png +0 -0
  49. package/lib/maps/symbols/font-awesome/bullseye.png +0 -0
  50. package/lib/maps/symbols/font-awesome/bus.png +0 -0
  51. package/lib/maps/symbols/font-awesome/caret-up.png +0 -0
  52. package/lib/maps/symbols/font-awesome/certificate.png +0 -0
  53. package/lib/maps/symbols/font-awesome/check-circle.png +0 -0
  54. package/lib/maps/symbols/font-awesome/check.png +0 -0
  55. package/lib/maps/symbols/font-awesome/chevron-circle-down.png +0 -0
  56. package/lib/maps/symbols/font-awesome/chevron-circle-up.png +0 -0
  57. package/lib/maps/symbols/font-awesome/cloud-rain.png +0 -0
  58. package/lib/maps/symbols/font-awesome/cloud.png +0 -0
  59. package/lib/maps/symbols/font-awesome/comment.png +0 -0
  60. package/lib/maps/symbols/font-awesome/crosshairs.png +0 -0
  61. package/lib/maps/symbols/font-awesome/dot-circle-o.png +0 -0
  62. package/lib/maps/symbols/font-awesome/exclamation-circle.png +0 -0
  63. package/lib/maps/symbols/font-awesome/exclamation-triangle.png +0 -0
  64. package/lib/maps/symbols/font-awesome/female.png +0 -0
  65. package/lib/maps/symbols/font-awesome/file.png +0 -0
  66. package/lib/maps/symbols/font-awesome/flag.png +0 -0
  67. package/lib/maps/symbols/font-awesome/flask.png +0 -0
  68. package/lib/maps/symbols/font-awesome/h-square.png +0 -0
  69. package/lib/maps/symbols/font-awesome/home.png +0 -0
  70. package/lib/maps/symbols/font-awesome/info-circle.png +0 -0
  71. package/lib/maps/symbols/font-awesome/male.png +0 -0
  72. package/lib/maps/symbols/font-awesome/medkit.png +0 -0
  73. package/lib/maps/symbols/font-awesome/mobile.png +0 -0
  74. package/lib/maps/symbols/font-awesome/plus-circle.png +0 -0
  75. package/lib/maps/symbols/font-awesome/plus-square.png +0 -0
  76. package/lib/maps/symbols/font-awesome/plus.png +0 -0
  77. package/lib/maps/symbols/font-awesome/square.png +0 -0
  78. package/lib/maps/symbols/font-awesome/star.png +0 -0
  79. package/lib/maps/symbols/font-awesome/thumbs-down.png +0 -0
  80. package/lib/maps/symbols/font-awesome/thumbs-up.png +0 -0
  81. package/lib/maps/symbols/font-awesome/ticket.png +0 -0
  82. package/lib/maps/symbols/font-awesome/times-circle.png +0 -0
  83. package/lib/maps/symbols/font-awesome/times.png +0 -0
  84. package/lib/maps/symbols/font-awesome/tint.png +0 -0
  85. package/lib/maps/symbols/font-awesome/tree.png +0 -0
  86. package/lib/maps/symbols/font-awesome/university.png +0 -0
  87. package/lib/maps/symbols/font-awesome/usd.png +0 -0
  88. package/lib/maps/symbols/font-awesome/user.png +0 -0
  89. package/lib/maps/symbols/font-awesome/users.png +0 -0
  90. package/lib/maps/symbols/font-awesome/wheelchair.png +0 -0
  91. package/lib/maps/symbols/sdf-ize.sh +93 -0
  92. package/lib/maps/vectorMaps.d.ts +1 -0
  93. package/lib/maps/vectorMaps.js +20 -36
  94. package/lib/mwater_table_selection/IndicatorsListComponent.d.ts +4 -2
  95. package/lib/mwater_table_selection/IndicatorsListComponent.js +103 -34
  96. package/lib/mwater_table_selection/MWaterCalculatedDataSourcesListComponent.d.ts +18 -0
  97. package/lib/mwater_table_selection/MWaterCalculatedDataSourcesListComponent.js +80 -0
  98. package/lib/mwater_table_selection/MWaterCompleteTableSelectComponent.d.ts +26 -0
  99. package/lib/mwater_table_selection/MWaterCompleteTableSelectComponent.js +237 -51
  100. package/lib/mwater_table_selection/MWaterTableSelectComponent.d.ts +2 -2
  101. package/lib/mwater_table_selection/MWaterTableSelectComponent.js +9 -4
  102. package/lib/mwater_table_selection/MWaterWorkflowsSelectComponent.d.ts +19 -0
  103. package/lib/mwater_table_selection/MWaterWorkflowsSelectComponent.js +111 -0
  104. package/lib/quickfilter/QuickfiltersComponent.d.ts +3 -102
  105. package/lib/quickfilter/QuickfiltersComponent.js +53 -110
  106. package/lib/quickfilter/TextLiteralComponent.d.ts +23 -47
  107. package/lib/quickfilter/TextLiteralComponent.js +85 -82
  108. package/lib/widgets/MapWidget.js +4 -2
  109. package/lib/widgets/text/ExprItemEditorComponent.d.ts +3 -8
  110. package/lib/widgets/text/ExprItemEditorComponent.js +36 -33
  111. package/lib/widgets/text/ExprUpdateModalComponent.d.ts +1 -0
  112. package/package.json +2 -3
  113. package/src/MWaterContextComponent.tsx +1 -1
  114. package/src/{MWaterGlobalFiltersComponent.ts → MWaterGlobalFiltersComponent.tsx} +32 -33
  115. package/src/{MWaterLoaderComponent.ts → MWaterLoaderComponent.tsx} +17 -18
  116. package/src/UndoStack.ts +14 -6
  117. package/src/dashboards/DashboardComponent.tsx +5 -4
  118. package/src/dashboards/DashboardDesign.ts +1 -1
  119. package/src/dashboards/ServerDashboardDataSource.ts +0 -12
  120. package/src/dashboards/SettingsModalComponent.tsx +1 -1
  121. package/src/datagrids/DatagridComponent.tsx +30 -2
  122. package/src/datagrids/DatagridDesignerComponent.tsx +241 -229
  123. package/src/datagrids/DatagridViewComponent.tsx +3 -2
  124. package/src/datagrids/OrderBysDesignerComponent.tsx +61 -70
  125. package/src/index.css +45 -2
  126. package/src/index.ts +5 -11
  127. package/src/layouts/blocks/BlocksDisplayComponent.tsx +60 -5
  128. package/src/maps/BufferLayer.ts +14 -1
  129. package/src/maps/BufferLayerDesign.ts +1 -1
  130. package/src/maps/BufferLayerDesignerComponent.tsx +2 -1
  131. package/src/maps/ChoroplethLayer.ts +20 -7
  132. package/src/maps/ChoroplethLayerDesign.ts +5 -2
  133. package/src/maps/ChoroplethLayerDesigner.tsx +169 -165
  134. package/src/maps/DirectMapDataSource.ts +0 -12
  135. package/src/maps/EditHoverOver.tsx +9 -5
  136. package/src/maps/HoverContent.tsx +1 -1
  137. package/src/maps/LeafletMapComponent.tsx +10 -19
  138. package/src/maps/MapComponent.ts +0 -1
  139. package/src/maps/MapUtils.ts +13 -1
  140. package/src/maps/MarkersLayer.ts +22 -5
  141. package/src/maps/MarkersLayerDesign.ts +1 -1
  142. package/src/maps/MarkersLayerDesignerComponent.tsx +360 -0
  143. package/src/maps/ServerMapDataSource.ts +0 -12
  144. package/src/maps/VectorMapViewComponent.tsx +2 -13
  145. package/src/maps/symbols/font-awesome/asterisk.png +0 -0
  146. package/src/maps/symbols/font-awesome/ban.png +0 -0
  147. package/src/maps/symbols/font-awesome/beer.png +0 -0
  148. package/src/maps/symbols/font-awesome/bell.png +0 -0
  149. package/src/maps/symbols/font-awesome/bolt.png +0 -0
  150. package/src/maps/symbols/font-awesome/building.png +0 -0
  151. package/src/maps/symbols/font-awesome/bullseye.png +0 -0
  152. package/src/maps/symbols/font-awesome/bus.png +0 -0
  153. package/src/maps/symbols/font-awesome/caret-up.png +0 -0
  154. package/src/maps/symbols/font-awesome/certificate.png +0 -0
  155. package/src/maps/symbols/font-awesome/check-circle.png +0 -0
  156. package/src/maps/symbols/font-awesome/check.png +0 -0
  157. package/src/maps/symbols/font-awesome/chevron-circle-down.png +0 -0
  158. package/src/maps/symbols/font-awesome/chevron-circle-up.png +0 -0
  159. package/src/maps/symbols/font-awesome/cloud-rain.png +0 -0
  160. package/src/maps/symbols/font-awesome/cloud.png +0 -0
  161. package/src/maps/symbols/font-awesome/comment.png +0 -0
  162. package/src/maps/symbols/font-awesome/crosshairs.png +0 -0
  163. package/src/maps/symbols/font-awesome/dot-circle-o.png +0 -0
  164. package/src/maps/symbols/font-awesome/exclamation-circle.png +0 -0
  165. package/src/maps/symbols/font-awesome/exclamation-triangle.png +0 -0
  166. package/src/maps/symbols/font-awesome/female.png +0 -0
  167. package/src/maps/symbols/font-awesome/file.png +0 -0
  168. package/src/maps/symbols/font-awesome/flag.png +0 -0
  169. package/src/maps/symbols/font-awesome/flask.png +0 -0
  170. package/src/maps/symbols/font-awesome/h-square.png +0 -0
  171. package/src/maps/symbols/font-awesome/home.png +0 -0
  172. package/src/maps/symbols/font-awesome/info-circle.png +0 -0
  173. package/src/maps/symbols/font-awesome/male.png +0 -0
  174. package/src/maps/symbols/font-awesome/medkit.png +0 -0
  175. package/src/maps/symbols/font-awesome/mobile.png +0 -0
  176. package/src/maps/symbols/font-awesome/plus-circle.png +0 -0
  177. package/src/maps/symbols/font-awesome/plus-square.png +0 -0
  178. package/src/maps/symbols/font-awesome/plus.png +0 -0
  179. package/src/maps/symbols/font-awesome/square.png +0 -0
  180. package/src/maps/symbols/font-awesome/star.png +0 -0
  181. package/src/maps/symbols/font-awesome/thumbs-down.png +0 -0
  182. package/src/maps/symbols/font-awesome/thumbs-up.png +0 -0
  183. package/src/maps/symbols/font-awesome/ticket.png +0 -0
  184. package/src/maps/symbols/font-awesome/times-circle.png +0 -0
  185. package/src/maps/symbols/font-awesome/times.png +0 -0
  186. package/src/maps/symbols/font-awesome/tint.png +0 -0
  187. package/src/maps/symbols/font-awesome/tree.png +0 -0
  188. package/src/maps/symbols/font-awesome/university.png +0 -0
  189. package/src/maps/symbols/font-awesome/usd.png +0 -0
  190. package/src/maps/symbols/font-awesome/user.png +0 -0
  191. package/src/maps/symbols/font-awesome/users.png +0 -0
  192. package/src/maps/symbols/font-awesome/wheelchair.png +0 -0
  193. package/src/maps/symbols/sdf-ize.sh +93 -0
  194. package/src/maps/vectorMaps.tsx +20 -44
  195. package/src/mwater_table_selection/IndicatorsListComponent.tsx +165 -37
  196. package/src/mwater_table_selection/MWaterCalculatedDataSourcesListComponent.tsx +111 -0
  197. package/src/mwater_table_selection/MWaterCompleteTableSelectComponent.tsx +373 -37
  198. package/src/mwater_table_selection/MWaterTableSelectComponent.tsx +12 -8
  199. package/src/mwater_table_selection/MWaterWorkflowsSelectComponent.tsx +159 -0
  200. package/src/quickfilter/{QuickfiltersComponent.ts → QuickfiltersComponent.tsx} +165 -158
  201. package/src/quickfilter/TextLiteralComponent.tsx +197 -0
  202. package/src/widgets/MapWidget.tsx +9 -1
  203. package/src/widgets/text/ExprItemEditorComponent.tsx +83 -77
  204. package/src/widgets/text/ExprUpdateModalComponent.tsx +1 -0
  205. package/test/UndoStackTests.ts +52 -1
  206. package/.storybook/config.js +0 -7
  207. package/.storybook/head.html +0 -3
  208. package/.storybook/webpack.config.js +0 -15
  209. package/src/maps/BingLayer.ts +0 -146
  210. package/src/maps/MarkersLayerDesignerComponent.ts +0 -374
  211. package/src/quickfilter/TextLiteralComponent.ts +0 -165
  212. package/stories/UpdateableComponent.js +0 -29
  213. package/stories/consoles.js +0 -202
  214. package/stories/dashboards.js +0 -217
  215. package/stories/datagridDesign.js +0 -114
  216. package/stories/datagrids.js +0 -69
  217. package/stories/dates.js +0 -80
  218. package/stories/exprcomponent.js +0 -43
  219. package/stories/index.js +0 -18
  220. package/stories/leaflet.js +0 -59
  221. package/stories/maps.js +0 -24
  222. package/stories/pivotChart.js +0 -235
@@ -1,43 +0,0 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- import PropTypes from 'prop-types';
4
- import _ from 'lodash';
5
- import React from 'react';
6
- const H = React.DOM;
7
- const R = React.createElement;
8
-
9
- import datagridDesign from './datagridDesign';
10
- import { storiesOf } from '@kadira/storybook';
11
- import { ExprComponent } from "mwater-expressions-ui";
12
- import MWaterLoaderComponent from '../src/MWaterLoaderComponent';
13
- import UpdateableComponent from './UpdateableComponent';
14
-
15
- storiesOf('ExprComponent', module)
16
- .add('blank', () => {
17
- return R(UpdateableComponent,
18
- {value: null},
19
- (state, update) => {
20
- // apiUrl = "https://api.mwater.co/v3/"
21
- const apiUrl = "http://localhost:1234/v3/";
22
- return R(MWaterLoaderComponent, {
23
- apiUrl,
24
- client: null,
25
- user: null,
26
- onExtraTablesChange: update("extraTables"),
27
- extraTables: state.extraTables
28
- }, (error, config) => {
29
- if (error) {
30
- alert("Error: " + error.message);
31
- return null;
32
- }
33
-
34
- return React.createElement(ExprComponent, {
35
- schema: config.schema,
36
- dataSource: config.dataSource,
37
- table: "entities.water_point",
38
- value: state.value,
39
- onChange: update("value")
40
- });
41
- });
42
- });
43
- });
package/stories/index.js DELETED
@@ -1,18 +0,0 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- import _ from 'lodash';
4
- import React from 'react';
5
- const H = React.DOM;
6
- const R = React.createElement;
7
- import { storiesOf } from '@kadira/storybook';
8
- import { action } from '@kadira/storybook';
9
- import './dashboards';
10
- import './pivotChart';
11
-
12
- // require './consoles'
13
- import './maps';
14
-
15
- import './leaflet';
16
- import './datagrids';
17
- import './dates';
18
- import './exprcomponent';
@@ -1,59 +0,0 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- import _ from 'lodash';
4
- import React from 'react';
5
- const H = React.DOM;
6
- const R = React.createElement;
7
-
8
- import { storiesOf } from '@kadira/storybook';
9
- import { action } from '@kadira/storybook';
10
- import LeafletMapComponent from '../src/maps/LeafletMapComponent';
11
-
12
- storiesOf('Leaflet', module)
13
- .add('normal', () => {
14
- return R(LeafletMapComponent, {
15
- baseLayerId: "bing_road",
16
- width: "100%",
17
- height: 600,
18
- layers: []
19
- });
20
- })
21
-
22
- .add('popup', () => {
23
- return R(LeafletMapComponent, {
24
- baseLayerId: "bing_road",
25
- width: "100%",
26
- height: 600,
27
- layers: [],
28
- popup: {
29
- lat: 30,
30
- lng: -20,
31
- contents: H.div(null, "Hello!!!")
32
- }
33
- });
34
- })
35
-
36
- .add('popup2', () => {
37
- return R(LeafletMapComponent, {
38
- baseLayerId: "bing_road",
39
- width: "100%",
40
- height: 600,
41
- layers: [],
42
- popup: {
43
- lat: 35,
44
- lng: -20,
45
- contents: H.div(null, "Hello2!!!")
46
- }
47
- });
48
- });
49
- // R LeafletMapComponent,
50
- // baseLayerId: "bing_road"
51
- // width: "100%"
52
- // height: 600
53
- // layers: [
54
- // {
55
- // tileUrl: "http://localhost:1234/v3/maps/tiles/{z}/{x}/{y}.png?type=cluster"
56
- // visible: true
57
- // }
58
- // ]
59
-
package/stories/maps.js DELETED
@@ -1,24 +0,0 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- import _ from 'lodash';
4
- import React from 'react';
5
- const H = React.DOM;
6
- const R = React.createElement;
7
-
8
- import { storiesOf } from '@kadira/storybook';
9
- import { action } from '@kadira/storybook';
10
- import LeafletMapComponent from '../src/maps/LeafletMapComponent';
11
-
12
- storiesOf('Maps', module);
13
- // .add 'local test', =>
14
- // R LeafletMapComponent,
15
- // baseLayerId: "bing_road"
16
- // width: "100%"
17
- // height: 600
18
- // layers: [
19
- // {
20
- // tileUrl: "http://localhost:1234/v3/maps/tiles/{z}/{x}/{y}.png?type=cluster"
21
- // visible: true
22
- // }
23
- // ]
24
-
@@ -1,235 +0,0 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- import _ from 'lodash';
4
- import React from 'react';
5
- const H = React.DOM;
6
- const R = React.createElement;
7
-
8
- import { storiesOf } from '@kadira/storybook';
9
- import { action } from '@kadira/storybook';
10
- import WidgetFactory from '../src/widgets/WidgetFactory';
11
- import DirectWidgetDataSource from '../src/widgets/DirectWidgetDataSource';
12
- import MWaterLoaderComponent from '../src/MWaterLoaderComponent';
13
- import UpdateableComponent from './UpdateableComponent';
14
-
15
- storiesOf('Pivot Chart', module)
16
- .add('blank', () => {
17
- return R(PivotTest, { design: {
18
- }
19
- });
20
- })
21
-
22
- .add('water point (new)', () => {
23
- return R(PivotTest, { design: {
24
- table: "entities.water_point",
25
- rows: [{ id: "row1" }],
26
- columns: [{ id: "col1" }],
27
- intersections: {}
28
- }
29
- });
30
- })
31
-
32
- .add('water types', () => {
33
- return R(PivotTest, { design: {
34
- table: "entities.water_point",
35
- rows: [
36
- {
37
- id: "row1",
38
- valueAxis: { expr: { type: "field", table: "entities.water_point", column: "type" } }
39
- }
40
- ],
41
- columns: [{ id: "col1", label: "Test" }],
42
- intersections: {
43
- "row1:col1": {
44
- valueAxis: { expr: { type: "op", op: "count", table: "entities.water_point", exprs: [] } }
45
- }
46
- }
47
- }
48
- });
49
- })
50
-
51
- .add('water types with label', () => {
52
- return R(PivotTest, { design: {
53
- table: "entities.water_point",
54
- rows: [
55
- {
56
- id: "row1",
57
- valueAxis: { expr: { type: "field", table: "entities.water_point", column: "type" } },
58
- label: "Type",
59
- italic: true
60
- }
61
- ],
62
- columns: [{ id: "col1", label: "Count" }],
63
- intersections: {
64
- "row1:col1": {
65
- valueAxis: { expr: { type: "op", op: "count", table: "entities.water_point", exprs: [] } }
66
- }
67
- }
68
- }
69
- });
70
- })
71
-
72
- .add('water types by functionality', () => {
73
- return R(PivotTest, { design: {
74
- table: "entities.water_point",
75
- rows: [
76
- {
77
- id: "row1",
78
- valueAxis: { expr: { type: "field", table: "entities.water_point", column: "type" } },
79
- label: "Type"
80
- }
81
- ],
82
- columns: [
83
- {
84
- id: "col1",
85
- valueAxis: {"expr":{"type":"scalar","table":"entities.water_point","joins":["!indicator_values:c0adc9f1c9be4271af9d722b7e50b4c9.Water point"],"expr":{"type":"op","op":"last","table":"indicator_values:c0adc9f1c9be4271af9d722b7e50b4c9","exprs":[{"type":"field","table":"indicator_values:c0adc9f1c9be4271af9d722b7e50b4c9","column":"Functionality"}]}}},
86
- label: "Functionality"
87
- }
88
- ],
89
- intersections: {
90
- "row1:col1": {
91
- valueAxis: { expr: { type: "op", op: "count", table: "entities.water_point", exprs: [] } }
92
- }
93
- }
94
- }
95
- });
96
- })
97
-
98
- .add('water types by functionality all vertical', () => {
99
- return R(PivotTest, { design: {
100
- table: "entities.water_point",
101
- rows: [
102
- {
103
- id: "row1",
104
- valueAxis: { expr: { type: "field", table: "entities.water_point", column: "type" } },
105
- label: "Type",
106
- children: [
107
- {
108
- id: "row2",
109
- valueAxis: {"expr":{"type":"scalar","table":"entities.water_point","joins":["!indicator_values:c0adc9f1c9be4271af9d722b7e50b4c9.Water point"],"expr":{"type":"op","op":"last","table":"indicator_values:c0adc9f1c9be4271af9d722b7e50b4c9","exprs":[{"type":"field","table":"indicator_values:c0adc9f1c9be4271af9d722b7e50b4c9","column":"Functionality"}]}}},
110
- label: "Functionality"
111
- }
112
- ]
113
- }
114
- ],
115
- columns: [{ id: "col1", label: "Count" }],
116
- intersections: {
117
- "row1,row2:col1": {
118
- valueAxis: { expr: { type: "op", op: "count", table: "entities.water_point", exprs: [] } }
119
- }
120
- }
121
- }
122
- });
123
- })
124
-
125
- .add('conditional color', () => {
126
- return R(PivotTest, { design: {
127
- "table": "entities.water_point",
128
- "rows": [
129
- {
130
- "id": "row1",
131
- "valueAxis": {
132
- "expr": {
133
- "type": "field",
134
- "table": "entities.water_point",
135
- "column": "type"
136
- }
137
- }
138
- }
139
- ],
140
- "columns": [
141
- {
142
- "id": "col1",
143
- "label": "Test"
144
- }
145
- ],
146
- "intersections": {
147
- "row1:col1": {
148
- "valueAxis": {
149
- "expr": {
150
- "type": "op",
151
- "op": "count",
152
- "table": "entities.water_point",
153
- "exprs": []
154
- }
155
- },
156
- "backgroundColorConditions": [
157
- {
158
- "condition": {
159
- "type": "op",
160
- "table": "entities.water_point",
161
- "op": ">",
162
- "exprs": [
163
- {
164
- "type": "op",
165
- "op": "count",
166
- "table": "entities.water_point",
167
- "exprs": []
168
- },
169
- {
170
- "type": "literal",
171
- "valueType": "number",
172
- "value": 10000
173
- }
174
- ]
175
- },
176
- "color": "#880e4f"
177
- }
178
- ],
179
- "backgroundColorOpacity": 1
180
- }
181
- },
182
- "version": 1,
183
- "header": {
184
- "style": "footer",
185
- "items": []
186
- },
187
- "footer": {
188
- "style": "footer",
189
- "items": []
190
- },
191
- "filter": null
192
- }
193
- });
194
- });
195
-
196
- class PivotTest extends React.Component {
197
- render() {
198
- return R(UpdateableComponent,
199
- {design: this.props.design},
200
- (state, update) => {
201
- return R(MWaterLoaderComponent, {
202
- apiUrl: "https://api.mwater.co/v3/",
203
- client: null,
204
- user: null
205
- // onExtraTablesChange: (extraTables) => @setState(extraTables: extraTables)
206
- // extraTables: @state.extraTables
207
- }, (error, config) => {
208
- if (error) {
209
- alert("Error: " + error.message);
210
- return null;
211
- }
212
-
213
- const widget = WidgetFactory.createWidget("PivotChart");
214
-
215
- const widgetDataSource = new DirectWidgetDataSource({
216
- widget,
217
- schema: config.schema,
218
- dataSource: config.dataSource
219
- });
220
-
221
- return widget.createViewElement({
222
- schema: config.schema,
223
- dataSource: config.dataSource,
224
- widgetDataSource,
225
- design: state.design,
226
- scope: null,
227
- filters: null,
228
- onScopeChange: null,
229
- onDesignChange: update("design"),
230
- width: 800
231
- });
232
- });
233
- });
234
- }
235
- }