@journeyapps-labs/reactor-mod-data-browser 3.0.2 → 3.1.1

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 (263) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/@types/actions/connections/SetConnectionColorAction.d.ts +11 -0
  3. package/dist/@types/actions/saved-queries/OpenSavedQueryAction.d.ts +10 -0
  4. package/dist/@types/actions/saved-queries/RemoveSavedQueryAction.d.ts +9 -0
  5. package/dist/@types/core/AbstractConnection.d.ts +2 -0
  6. package/dist/@types/core/SchemaModelDefinition.d.ts +5 -0
  7. package/dist/@types/core/connection-colors.d.ts +10 -0
  8. package/dist/@types/core/query/AbstractQuery.d.ts +1 -0
  9. package/dist/@types/core/query/StandardModelFields.d.ts +5 -0
  10. package/dist/@types/core/query/filters.d.ts +46 -5
  11. package/dist/@types/core/query/query-changed/ChangedModelQuery.d.ts +1 -0
  12. package/dist/@types/core/query/query-simple/SimplePage.d.ts +2 -0
  13. package/dist/@types/core/query/query-simple/SimpleQuery.d.ts +14 -4
  14. package/dist/@types/core/query/query-simple/SimpleQueryColumns.d.ts +12 -0
  15. package/dist/@types/core/query/query-simple/SimpleQueryFilterState.d.ts +37 -0
  16. package/dist/@types/core/query/query-simple/SimpleQueryPlanner.d.ts +4 -0
  17. package/dist/@types/core/query/query-simple/SimpleQuerySortState.d.ts +23 -0
  18. package/dist/@types/core/query/query-simple/SimpleQueryTypes.d.ts +24 -0
  19. package/dist/@types/core/query/widgets/ColumnDisplayWidget.d.ts +1 -0
  20. package/dist/@types/core/query/widgets/PeekRelationshipButton.d.ts +7 -0
  21. package/dist/@types/core/query/widgets/SmartColumnWidget.d.ts +3 -0
  22. package/dist/@types/core/query/widgets/SmartFilterWidget.d.ts +6 -0
  23. package/dist/@types/entities/ConnectionEntityDefinition.d.ts +2 -0
  24. package/dist/@types/entities/SavedQueryEntityDefinition.d.ts +8 -0
  25. package/dist/@types/entities.d.ts +2 -1
  26. package/dist/@types/forms/APIConnectionForm.d.ts +1 -0
  27. package/dist/@types/forms/TypeEngine.d.ts +3 -21
  28. package/dist/@types/forms/types/attachment-handler.d.ts +2 -0
  29. package/dist/@types/forms/types/boolean-handler.d.ts +2 -0
  30. package/dist/@types/forms/types/date-handler.d.ts +2 -0
  31. package/dist/@types/forms/types/filters/ClearableFilterFormDialogDirective.d.ts +10 -0
  32. package/dist/@types/forms/types/filters/ConditionalFilterForm.d.ts +23 -0
  33. package/dist/@types/forms/types/image-handler.d.ts +2 -0
  34. package/dist/@types/forms/types/location-handler.d.ts +2 -0
  35. package/dist/@types/forms/types/multiple-choice-handler.d.ts +2 -0
  36. package/dist/@types/forms/types/multiple-choice-integer-handler.d.ts +2 -0
  37. package/dist/@types/forms/types/number-handler.d.ts +2 -0
  38. package/dist/@types/forms/types/shared/type-handler.d.ts +37 -0
  39. package/dist/@types/forms/types/shared/ui.d.ts +768 -0
  40. package/dist/@types/forms/types/single-choice-handler.d.ts +2 -0
  41. package/dist/@types/forms/types/single-choice-integer-handler.d.ts +2 -0
  42. package/dist/@types/forms/types/text-handler.d.ts +3 -0
  43. package/dist/@types/index.d.ts +1 -0
  44. package/dist/@types/panels/_shared/SharedConnectionPanelFactory.d.ts +19 -0
  45. package/dist/@types/panels/_shared/SharedModelPanelFactory.d.ts +5 -2
  46. package/dist/@types/panels/query/QueryPanelFactory.d.ts +7 -2
  47. package/dist/@types/panels/query/TableControlsWidget.d.ts +2 -0
  48. package/dist/@types/panels/query/table-controls/ChangesControlsWidget.d.ts +8 -0
  49. package/dist/@types/panels/query/table-controls/FilterControlsWidget.d.ts +7 -0
  50. package/dist/@types/panels/query/table-controls/PageControlsWidget.d.ts +9 -0
  51. package/dist/@types/panels/query/table-controls/QueryControlsWidget.d.ts +11 -0
  52. package/dist/@types/panels/query/table-controls/SortChipWidget.d.ts +10 -0
  53. package/dist/@types/panels/query/table-controls/SortControlsWidget.d.ts +7 -0
  54. package/dist/@types/preferences/QueryControlPreferences.d.ts +7 -0
  55. package/dist/@types/stores/SavedQueryStore.d.ts +34 -0
  56. package/dist/@types/widgets/EmptyValueWidget.d.ts +7 -0
  57. package/dist/DataBrowserModule.js +21 -7
  58. package/dist/DataBrowserModule.js.map +1 -1
  59. package/dist/actions/connections/AddConnectionAction.js +2 -2
  60. package/dist/actions/connections/AddConnectionAction.js.map +1 -1
  61. package/dist/actions/connections/RemoveConnectionAction.js +2 -2
  62. package/dist/actions/connections/RemoveConnectionAction.js.map +1 -1
  63. package/dist/actions/connections/SetConnectionColorAction.js +63 -0
  64. package/dist/actions/connections/SetConnectionColorAction.js.map +1 -0
  65. package/dist/actions/saved-queries/OpenSavedQueryAction.js +58 -0
  66. package/dist/actions/saved-queries/OpenSavedQueryAction.js.map +1 -0
  67. package/dist/actions/saved-queries/RemoveSavedQueryAction.js +43 -0
  68. package/dist/actions/saved-queries/RemoveSavedQueryAction.js.map +1 -0
  69. package/dist/actions/schema-definitions/CreateModelAction.js +2 -2
  70. package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -1
  71. package/dist/actions/schema-definitions/QuerySchemaModelAction.js +2 -2
  72. package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -1
  73. package/dist/actions/schema-model/EditSchemaModelAction.js +2 -2
  74. package/dist/actions/schema-model/EditSchemaModelAction.js.map +1 -1
  75. package/dist/actions/schema-model/ViewSchemaModelAsJsonAction.js +2 -2
  76. package/dist/actions/schema-model/ViewSchemaModelAsJsonAction.js.map +1 -1
  77. package/dist/core/AbstractConnection.js +116 -90
  78. package/dist/core/AbstractConnection.js.map +1 -1
  79. package/dist/core/SchemaModelDefinition.js +14 -0
  80. package/dist/core/SchemaModelDefinition.js.map +1 -1
  81. package/dist/core/connection-colors.js +36 -0
  82. package/dist/core/connection-colors.js.map +1 -0
  83. package/dist/core/query/AbstractQuery.js.map +1 -1
  84. package/dist/core/query/StandardModelFields.js +10 -0
  85. package/dist/core/query/StandardModelFields.js.map +1 -0
  86. package/dist/core/query/filters.js +86 -4
  87. package/dist/core/query/filters.js.map +1 -1
  88. package/dist/core/query/query-changed/ChangedModelQuery.js +7 -0
  89. package/dist/core/query/query-changed/ChangedModelQuery.js.map +1 -1
  90. package/dist/core/query/query-simple/SimplePage.js +2 -4
  91. package/dist/core/query/query-simple/SimplePage.js.map +1 -1
  92. package/dist/core/query/query-simple/SimpleQuery.js +71 -69
  93. package/dist/core/query/query-simple/SimpleQuery.js.map +1 -1
  94. package/dist/core/query/query-simple/SimpleQueryColumns.js +88 -0
  95. package/dist/core/query/query-simple/SimpleQueryColumns.js.map +1 -0
  96. package/dist/core/query/query-simple/SimpleQueryFilterState.js +136 -0
  97. package/dist/core/query/query-simple/SimpleQueryFilterState.js.map +1 -0
  98. package/dist/core/query/query-simple/SimpleQueryPlanner.js +14 -0
  99. package/dist/core/query/query-simple/SimpleQueryPlanner.js.map +1 -0
  100. package/dist/core/query/query-simple/SimpleQuerySortState.js +140 -0
  101. package/dist/core/query/query-simple/SimpleQuerySortState.js.map +1 -0
  102. package/dist/core/query/query-simple/SimpleQueryTypes.js +44 -0
  103. package/dist/core/query/query-simple/SimpleQueryTypes.js.map +1 -0
  104. package/dist/core/query/widgets/BelongsToDisplayWidget.js +14 -7
  105. package/dist/core/query/widgets/BelongsToDisplayWidget.js.map +1 -1
  106. package/dist/core/query/widgets/CellDisplayWidget.js +5 -9
  107. package/dist/core/query/widgets/CellDisplayWidget.js.map +1 -1
  108. package/dist/core/query/widgets/ColumnDisplayWidget.js +13 -12
  109. package/dist/core/query/widgets/ColumnDisplayWidget.js.map +1 -1
  110. package/dist/core/query/widgets/PeekRelationshipButton.js +128 -0
  111. package/dist/core/query/widgets/PeekRelationshipButton.js.map +1 -0
  112. package/dist/core/query/widgets/SmartColumnWidget.js +18 -3
  113. package/dist/core/query/widgets/SmartColumnWidget.js.map +1 -1
  114. package/dist/core/query/widgets/SmartFilterWidget.js +88 -51
  115. package/dist/core/query/widgets/SmartFilterWidget.js.map +1 -1
  116. package/dist/entities/ConnectionEntityDefinition.js +33 -7
  117. package/dist/entities/ConnectionEntityDefinition.js.map +1 -1
  118. package/dist/entities/SavedQueryEntityDefinition.js +68 -0
  119. package/dist/entities/SavedQueryEntityDefinition.js.map +1 -0
  120. package/dist/entities/SchemaModelDefinitionEntityDefinition.js +9 -1
  121. package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -1
  122. package/dist/entities.js +1 -0
  123. package/dist/entities.js.map +1 -1
  124. package/dist/forms/APIConnectionForm.js +11 -2
  125. package/dist/forms/APIConnectionForm.js.map +1 -1
  126. package/dist/forms/TypeEngine.js +30 -306
  127. package/dist/forms/TypeEngine.js.map +1 -1
  128. package/dist/forms/types/attachment-handler.js +29 -0
  129. package/dist/forms/types/attachment-handler.js.map +1 -0
  130. package/dist/forms/types/boolean-handler.js +22 -0
  131. package/dist/forms/types/boolean-handler.js.map +1 -0
  132. package/dist/forms/types/date-handler.js +97 -0
  133. package/dist/forms/types/date-handler.js.map +1 -0
  134. package/dist/forms/types/filters/ClearableFilterFormDialogDirective.js +25 -0
  135. package/dist/forms/types/filters/ClearableFilterFormDialogDirective.js.map +1 -0
  136. package/dist/forms/types/filters/ConditionalFilterForm.js +87 -0
  137. package/dist/forms/types/filters/ConditionalFilterForm.js.map +1 -0
  138. package/dist/forms/types/image-handler.js +82 -0
  139. package/dist/forms/types/image-handler.js.map +1 -0
  140. package/dist/forms/types/location-handler.js +49 -0
  141. package/dist/forms/types/location-handler.js.map +1 -0
  142. package/dist/forms/types/multiple-choice-handler.js +37 -0
  143. package/dist/forms/types/multiple-choice-handler.js.map +1 -0
  144. package/dist/forms/types/multiple-choice-integer-handler.js +37 -0
  145. package/dist/forms/types/multiple-choice-integer-handler.js.map +1 -0
  146. package/dist/forms/types/number-handler.js +79 -0
  147. package/dist/forms/types/number-handler.js.map +1 -0
  148. package/dist/forms/types/shared/type-handler.js +2 -0
  149. package/dist/forms/types/shared/type-handler.js.map +1 -0
  150. package/dist/forms/types/shared/ui.js +33 -0
  151. package/dist/forms/types/shared/ui.js.map +1 -0
  152. package/dist/forms/types/single-choice-handler.js +41 -0
  153. package/dist/forms/types/single-choice-handler.js.map +1 -0
  154. package/dist/forms/types/single-choice-integer-handler.js +41 -0
  155. package/dist/forms/types/single-choice-integer-handler.js.map +1 -0
  156. package/dist/forms/types/text-handler.js +170 -0
  157. package/dist/forms/types/text-handler.js.map +1 -0
  158. package/dist/index.js +1 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/panels/_shared/SharedConnectionPanelFactory.js +48 -0
  161. package/dist/panels/_shared/SharedConnectionPanelFactory.js.map +1 -0
  162. package/dist/panels/_shared/SharedModelPanelFactory.js +7 -2
  163. package/dist/panels/_shared/SharedModelPanelFactory.js.map +1 -1
  164. package/dist/panels/query/PageResultsWidget.js +28 -11
  165. package/dist/panels/query/PageResultsWidget.js.map +1 -1
  166. package/dist/panels/query/QueryPanelFactory.js +20 -2
  167. package/dist/panels/query/QueryPanelFactory.js.map +1 -1
  168. package/dist/panels/query/QueryPanelWidget.js +55 -9
  169. package/dist/panels/query/QueryPanelWidget.js.map +1 -1
  170. package/dist/panels/query/TableControlsWidget.js +29 -67
  171. package/dist/panels/query/TableControlsWidget.js.map +1 -1
  172. package/dist/panels/query/table-controls/ChangesControlsWidget.js +36 -0
  173. package/dist/panels/query/table-controls/ChangesControlsWidget.js.map +1 -0
  174. package/dist/panels/query/table-controls/FilterControlsWidget.js +106 -0
  175. package/dist/panels/query/table-controls/FilterControlsWidget.js.map +1 -0
  176. package/dist/panels/query/table-controls/PageControlsWidget.js +65 -0
  177. package/dist/panels/query/table-controls/PageControlsWidget.js.map +1 -0
  178. package/dist/panels/query/table-controls/QueryControlsWidget.js +85 -0
  179. package/dist/panels/query/table-controls/QueryControlsWidget.js.map +1 -0
  180. package/dist/panels/query/table-controls/SortChipWidget.js +75 -0
  181. package/dist/panels/query/table-controls/SortChipWidget.js.map +1 -0
  182. package/dist/panels/query/table-controls/SortControlsWidget.js +65 -0
  183. package/dist/panels/query/table-controls/SortControlsWidget.js.map +1 -0
  184. package/dist/preferences/QueryControlPreferences.js +28 -0
  185. package/dist/preferences/QueryControlPreferences.js.map +1 -0
  186. package/dist/stores/ConnectionStore.js +2 -0
  187. package/dist/stores/ConnectionStore.js.map +1 -1
  188. package/dist/stores/SavedQueryStore.js +131 -0
  189. package/dist/stores/SavedQueryStore.js.map +1 -0
  190. package/dist/tsconfig.tsbuildinfo +1 -1
  191. package/dist/widgets/EmptyValueWidget.js +15 -0
  192. package/dist/widgets/EmptyValueWidget.js.map +1 -0
  193. package/dist-module/bundle.js +181 -51
  194. package/dist-module/bundle.js.map +1 -1
  195. package/package.json +11 -11
  196. package/src/DataBrowserModule.ts +21 -7
  197. package/src/actions/connections/AddConnectionAction.tsx +2 -2
  198. package/src/actions/connections/RemoveConnectionAction.tsx +2 -2
  199. package/src/actions/connections/SetConnectionColorAction.ts +52 -0
  200. package/src/actions/saved-queries/OpenSavedQueryAction.ts +43 -0
  201. package/src/actions/saved-queries/RemoveSavedQueryAction.ts +27 -0
  202. package/src/actions/schema-definitions/CreateModelAction.ts +9 -2
  203. package/src/actions/schema-definitions/QuerySchemaModelAction.ts +9 -2
  204. package/src/actions/schema-model/EditSchemaModelAction.ts +9 -2
  205. package/src/actions/schema-model/ViewSchemaModelAsJsonAction.ts +9 -2
  206. package/src/core/AbstractConnection.ts +7 -1
  207. package/src/core/SchemaModelDefinition.ts +16 -0
  208. package/src/core/connection-colors.ts +49 -0
  209. package/src/core/query/AbstractQuery.ts +2 -0
  210. package/src/core/query/StandardModelFields.ts +9 -0
  211. package/src/core/query/filters.ts +121 -6
  212. package/src/core/query/query-changed/ChangedModelQuery.ts +8 -0
  213. package/src/core/query/query-simple/SimplePage.ts +4 -5
  214. package/src/core/query/query-simple/SimpleQuery.tsx +91 -87
  215. package/src/core/query/query-simple/SimpleQueryColumns.tsx +126 -0
  216. package/src/core/query/query-simple/SimpleQueryFilterState.ts +160 -0
  217. package/src/core/query/query-simple/SimpleQueryPlanner.ts +18 -0
  218. package/src/core/query/query-simple/SimpleQuerySortState.ts +133 -0
  219. package/src/core/query/query-simple/SimpleQueryTypes.ts +61 -0
  220. package/src/core/query/widgets/BelongsToDisplayWidget.tsx +19 -11
  221. package/src/core/query/widgets/CellDisplayWidget.tsx +5 -10
  222. package/src/core/query/widgets/ColumnDisplayWidget.tsx +24 -20
  223. package/src/core/query/widgets/PeekRelationshipButton.tsx +161 -0
  224. package/src/core/query/widgets/SmartColumnWidget.tsx +26 -4
  225. package/src/core/query/widgets/SmartFilterWidget.tsx +119 -69
  226. package/src/entities/ConnectionEntityDefinition.tsx +35 -4
  227. package/src/entities/SavedQueryEntityDefinition.ts +72 -0
  228. package/src/entities/SchemaModelDefinitionEntityDefinition.ts +11 -2
  229. package/src/entities.ts +2 -1
  230. package/src/forms/APIConnectionForm.tsx +15 -2
  231. package/src/forms/TypeEngine.tsx +35 -421
  232. package/src/forms/types/attachment-handler.tsx +35 -0
  233. package/src/forms/types/boolean-handler.tsx +28 -0
  234. package/src/forms/types/date-handler.tsx +125 -0
  235. package/src/forms/types/filters/ClearableFilterFormDialogDirective.ts +32 -0
  236. package/src/forms/types/filters/ConditionalFilterForm.tsx +109 -0
  237. package/src/forms/types/image-handler.tsx +90 -0
  238. package/src/forms/types/location-handler.tsx +53 -0
  239. package/src/forms/types/multiple-choice-handler.tsx +37 -0
  240. package/src/forms/types/multiple-choice-integer-handler.tsx +37 -0
  241. package/src/forms/types/number-handler.tsx +100 -0
  242. package/src/forms/types/shared/type-handler.ts +36 -0
  243. package/src/forms/types/shared/ui.tsx +40 -0
  244. package/src/forms/types/single-choice-handler.tsx +47 -0
  245. package/src/forms/types/single-choice-integer-handler.tsx +47 -0
  246. package/src/forms/types/text-handler.tsx +247 -0
  247. package/src/index.ts +1 -0
  248. package/src/panels/_shared/SharedConnectionPanelFactory.tsx +55 -0
  249. package/src/panels/_shared/SharedModelPanelFactory.tsx +8 -2
  250. package/src/panels/query/PageResultsWidget.tsx +40 -28
  251. package/src/panels/query/QueryPanelFactory.tsx +23 -2
  252. package/src/panels/query/QueryPanelWidget.tsx +64 -9
  253. package/src/panels/query/TableControlsWidget.tsx +42 -120
  254. package/src/panels/query/table-controls/ChangesControlsWidget.tsx +72 -0
  255. package/src/panels/query/table-controls/FilterControlsWidget.tsx +145 -0
  256. package/src/panels/query/table-controls/PageControlsWidget.tsx +97 -0
  257. package/src/panels/query/table-controls/QueryControlsWidget.tsx +127 -0
  258. package/src/panels/query/table-controls/SortChipWidget.tsx +119 -0
  259. package/src/panels/query/table-controls/SortControlsWidget.tsx +95 -0
  260. package/src/preferences/QueryControlPreferences.ts +34 -0
  261. package/src/stores/ConnectionStore.ts +2 -0
  262. package/src/stores/SavedQueryStore.ts +121 -0
  263. package/src/widgets/EmptyValueWidget.tsx +20 -0
@@ -0,0 +1,75 @@
1
+ import * as React from 'react';
2
+ import { ComboBoxStore2, MetadataWidget, PanelButtonMode, PanelButtonWidget, SimpleComboBoxDirective, ioc, styled, useDraggableRaw, useDroppableRaw } from '@journeyapps-labs/reactor-mod';
3
+ import { getTransparentColor } from '@journeyapps-labs/lib-reactor-utils';
4
+ import { SortDirection } from '../../../core/query/query-simple/SimpleQuery';
5
+ const SORT_DRAG_MIME = 'application/reactor-sort-field';
6
+ export const SortChipWidget = (props) => {
7
+ const ref = React.useRef(null);
8
+ const [hover, setHover] = React.useState(false);
9
+ useDraggableRaw({
10
+ forwardRef: ref,
11
+ encode: () => {
12
+ return {
13
+ data: {
14
+ [SORT_DRAG_MIME]: props.sort.field
15
+ },
16
+ icon: null
17
+ };
18
+ }
19
+ });
20
+ useDroppableRaw({
21
+ forwardRef: ref,
22
+ accepts: (mimes) => mimes.includes(SORT_DRAG_MIME),
23
+ dragover: () => {
24
+ setHover(true);
25
+ },
26
+ dragexit: () => {
27
+ setHover(false);
28
+ },
29
+ dropped: async ({ entities }) => {
30
+ setHover(false);
31
+ const sourceField = entities[SORT_DRAG_MIME];
32
+ if (!sourceField || sourceField === props.sort.field) {
33
+ return;
34
+ }
35
+ await props.onDropBefore(sourceField);
36
+ }
37
+ }, [props.sort.field]);
38
+ return (React.createElement(S.SortItem, { ref: ref, hover: hover, onContextMenu: async (event) => {
39
+ event.preventDefault();
40
+ const directive = await ioc.get(ComboBoxStore2).show(new SimpleComboBoxDirective({
41
+ title: props.label,
42
+ event: event,
43
+ items: [
44
+ {
45
+ key: 'delete',
46
+ title: 'Delete sort',
47
+ icon: 'trash',
48
+ action: async () => {
49
+ await props.onRemove();
50
+ }
51
+ }
52
+ ]
53
+ }));
54
+ directive.getSelectedItem();
55
+ } },
56
+ React.createElement(MetadataWidget, { onClick: props.onToggle, label: props.label, value: props.sort.direction === SortDirection.ASC ? 'ASC' : 'DESC' }),
57
+ React.createElement(S.CloseButton, { mode: PanelButtonMode.LINK, icon: "close", tooltip: `Remove ${props.label} sort`, action: async () => {
58
+ await props.onRemove();
59
+ } })));
60
+ };
61
+ var S;
62
+ (function (S) {
63
+ S.CloseButton = styled(PanelButtonWidget) `
64
+ padding: 2px;
65
+ `;
66
+ S.SortItem = styled.div `
67
+ display: flex;
68
+ flex-direction: row;
69
+ align-items: center;
70
+ border-radius: 4px;
71
+ padding: 2px;
72
+ background: ${(p) => (p.hover ? getTransparentColor(p.theme.dnd.hoverColor, 0.35) : 'transparent')};
73
+ `;
74
+ })(S || (S = {}));
75
+ //# sourceMappingURL=SortChipWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortChipWidget.js","sourceRoot":"","sources":["../../../../src/panels/query/table-controls/SortChipWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import * as React from 'react';
2
+ import { ComboBoxStore2, InputContainerWidget, ioc, PanelButtonWidget, SimpleComboBoxDirective, styled } from '@journeyapps-labs/reactor-mod';
3
+ import { SimpleQuerySort } from '../../../core/query/query-simple/SimpleQuery';
4
+ import { SortChipWidget } from './SortChipWidget';
5
+ export const SortControlsWidget = (props) => {
6
+ const showAddSortMenu = async (event) => {
7
+ const used = new Set(props.simpleQuery.sortState.sorts.map((sort) => sort.field));
8
+ const fields = props.simpleQuery.sortState.getSortableFields().filter((field) => !used.has(field.key));
9
+ if (fields.length === 0) {
10
+ return;
11
+ }
12
+ const directive = await ioc.get(ComboBoxStore2).show(new SimpleComboBoxDirective({
13
+ title: 'Add sort',
14
+ event: event,
15
+ items: fields.map((field) => {
16
+ return {
17
+ key: field.key,
18
+ title: field.label,
19
+ action: async () => {
20
+ var _a;
21
+ props.simpleQuery.sortState.addSort(SimpleQuerySort.create(field.key));
22
+ (_a = props.goToPage) === null || _a === void 0 ? void 0 : _a.call(props, 0);
23
+ }
24
+ };
25
+ })
26
+ }));
27
+ directive.getSelectedItem();
28
+ };
29
+ const getSortLabel = (field) => {
30
+ const resolved = props.simpleQuery.sortState.getSortableFields().find((entry) => entry.key === field);
31
+ return (resolved === null || resolved === void 0 ? void 0 : resolved.label) || field;
32
+ };
33
+ return (React.createElement(InputContainerWidget, { label: "Sort" },
34
+ React.createElement(S.Group, null,
35
+ React.createElement(PanelButtonWidget, { icon: "plus", tooltip: "Add sort", action: async (event) => {
36
+ await showAddSortMenu(event);
37
+ } }),
38
+ props.simpleQuery.sortState.sorts.map((sort) => {
39
+ return (React.createElement(SortChipWidget, { key: sort.field, sort: sort, label: getSortLabel(sort.field), onToggle: async () => {
40
+ var _a;
41
+ sort.toggle();
42
+ (_a = props.goToPage) === null || _a === void 0 ? void 0 : _a.call(props, 0);
43
+ }, onRemove: async () => {
44
+ var _a;
45
+ sort.remove();
46
+ (_a = props.goToPage) === null || _a === void 0 ? void 0 : _a.call(props, 0);
47
+ }, onDropBefore: async (sourceField) => {
48
+ var _a;
49
+ props.simpleQuery.sortState.moveSortBefore(sourceField, sort.field);
50
+ (_a = props.goToPage) === null || _a === void 0 ? void 0 : _a.call(props, 0);
51
+ } }));
52
+ }))));
53
+ };
54
+ var S;
55
+ (function (S) {
56
+ S.Group = styled.div `
57
+ display: flex;
58
+ flex-direction: row;
59
+ align-items: center;
60
+ column-gap: 5px;
61
+ row-gap: 5px;
62
+ flex-wrap: wrap;
63
+ `;
64
+ })(S || (S = {}));
65
+ //# sourceMappingURL=SortControlsWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortControlsWidget.js","sourceRoot":"","sources":["../../../../src/panels/query/table-controls/SortControlsWidget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { BooleanSetting } from '@journeyapps-labs/reactor-mod';
2
+ export var QueryControlPreferences;
3
+ (function (QueryControlPreferences) {
4
+ QueryControlPreferences["SHOW_SORT_CONTROLS"] = "databrowser/query-controls/show-sort-controls";
5
+ QueryControlPreferences["SHOW_FILTER_CONTROLS"] = "databrowser/query-controls/show-filter-controls";
6
+ QueryControlPreferences["FILTER_NULL_FIELDS_IN_RELATIONSHIP_PEEK"] = "databrowser/query-controls/filter-null-fields-in-relationship-peek";
7
+ })(QueryControlPreferences || (QueryControlPreferences = {}));
8
+ export const registerQueryControlPreferences = (prefsStore) => {
9
+ prefsStore.registerPreference(new BooleanSetting({
10
+ key: QueryControlPreferences.SHOW_SORT_CONTROLS,
11
+ checked: true,
12
+ name: 'Show sort controls',
13
+ category: 'Query Controls'
14
+ }));
15
+ prefsStore.registerPreference(new BooleanSetting({
16
+ key: QueryControlPreferences.SHOW_FILTER_CONTROLS,
17
+ checked: true,
18
+ name: 'Show filter controls',
19
+ category: 'Query Controls'
20
+ }));
21
+ prefsStore.registerPreference(new BooleanSetting({
22
+ key: QueryControlPreferences.FILTER_NULL_FIELDS_IN_RELATIONSHIP_PEEK,
23
+ checked: true,
24
+ name: 'Hide null fields in relationship peek',
25
+ category: 'Query Controls'
26
+ }));
27
+ };
28
+ //# sourceMappingURL=QueryControlPreferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryControlPreferences.js","sourceRoot":"","sources":["../../src/preferences/QueryControlPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAc,MAAM,+BAA+B,CAAC;AAE3E,MAAM,CAAN,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,+FAAoE,CAAA;IACpE,mGAAwE,CAAA;IACxE,yIAA8G,CAAA;AAChH,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,UAAsB,EAAE,EAAE;IACxE,UAAU,CAAC,kBAAkB,CAC3B,IAAI,cAAc,CAAC;QACjB,GAAG,EAAE,uBAAuB,CAAC,kBAAkB;QAC/C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CACH,CAAC;IACF,UAAU,CAAC,kBAAkB,CAC3B,IAAI,cAAc,CAAC;QACjB,GAAG,EAAE,uBAAuB,CAAC,oBAAoB;QACjD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CACH,CAAC;IACF,UAAU,CAAC,kBAAkB,CAC3B,IAAI,cAAc,CAAC;QACjB,GAAG,EAAE,uBAAuB,CAAC,uCAAuC;QACpE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,uCAAuC;QAC7C,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
2
2
  import { AbstractStore, LocalStorageSerializer } from '@journeyapps-labs/reactor-mod';
3
3
  import { computed, observable, runInAction, when } from 'mobx';
4
+ import { getDefaultConnectionColor } from '../core/connection-colors';
4
5
  let ConnectionStore = (() => {
5
6
  var _a, _ConnectionStore__connections_accessor_storage;
6
7
  let _classSuper = AbstractStore;
@@ -48,6 +49,7 @@ let ConnectionStore = (() => {
48
49
  let conn = this._connectionFactories.get(data.factory).generateConnection();
49
50
  conn.id = data.id;
50
51
  await conn._deSerialize(data.payload);
52
+ conn.color = data.color || getDefaultConnectionColor(conn.id);
51
53
  return conn;
52
54
  }
53
55
  async deserialize(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionStore.js","sourceRoot":"","sources":["../../src/stores/ConnectionStore.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,OAAO,EAAU,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;IAO1D,eAAe;;sBAAS,aAAa;;;;;;sBAArC,eAAgB,SAAQ,WAAwC;YAE3E,IAAmB,YAAY,gGAA0B;YAAzD,IAAmB,YAAY,qGAA0B;YAIzD;gBACE,KAAK,CAAC;oBACJ,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,IAAI,sBAAsB,CAAC;wBACrC,GAAG,EAAE,kBAAkB;qBACxB,CAAC;iBACH,CAAC,CAAC;gBAVc,0DAFR,mDAAe,gEAE+B;gBAE/C,yBAAoB,4DAAyC;gBASrE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;gBAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAqC,CAAC;YAC3E,CAAC;YAES,IAAI,WAAW;gBACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,mBAAmB;gBACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,CAAC;YAES,SAAS;gBACjB,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;iBACxD,CAAC;YACJ,CAAC;YAED,iBAAiB,CAAC,EAAU;gBAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,KAAK,CAAC,yBAAyB,CAAC,EAAU;gBACxC,MAAM,IAAI,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;YAED,KAAK,CAAC,qBAAqB,CAAC,IAAkC;gBAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAC5E,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;YAES,KAAK,CAAC,WAAW,CAAC,IAA+B;gBACzD,MAAM,WAAW,CAAC,KAAK,IAAI,EAAE;oBAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;oBAC1B,IAAI,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;oBAC7C,CAAC,CAAC,CACH,CAAC;oBACF,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACxB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAED,yBAAyB,CAAC,OAAkC;gBAC1D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;YAED,aAAa,CAAC,UAA8B;gBAC1C,IAAI,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC;oBACnC,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;wBACrC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACZ,EAAE,EAAE,CAAC;oBACP,CAAC;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,UAAU,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;;;;;;wCA7EA,UAAU;2CAgBV,QAAQ;YAfT,uLAAmB,YAAY,6BAAZ,YAAY,mGAA0B;YAe/C,sLAAI,WAAW,6DAExB;;;;;SAnBU,eAAe"}
1
+ {"version":3,"file":"ConnectionStore.js","sourceRoot":"","sources":["../../src/stores/ConnectionStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "tslib";
2
+ import { AbstractStore, inject, LocalStorageSerializer } from '@journeyapps-labs/reactor-mod';
3
+ import { action, computed, observable } from 'mobx';
4
+ import { v4 } from 'uuid';
5
+ import { SimpleQuery } from '../core/query/query-simple/SimpleQuery';
6
+ import { ConnectionStore } from './ConnectionStore';
7
+ export class SavedQueryEntity {
8
+ constructor(saved) {
9
+ this.saved = saved;
10
+ }
11
+ get id() {
12
+ return this.saved.id;
13
+ }
14
+ get name() {
15
+ return this.saved.name;
16
+ }
17
+ }
18
+ let SavedQueryStore = (() => {
19
+ var _a, _SavedQueryStore_connectionStore_accessor_storage, _SavedQueryStore__queries_accessor_storage;
20
+ let _classSuper = AbstractStore;
21
+ let _instanceExtraInitializers = [];
22
+ let _connectionStore_decorators;
23
+ let _connectionStore_initializers = [];
24
+ let _connectionStore_extraInitializers = [];
25
+ let __queries_decorators;
26
+ let __queries_initializers = [];
27
+ let __queries_extraInitializers = [];
28
+ let _get_queries_decorators;
29
+ let _saveQuery_decorators;
30
+ let _removeSavedQuery_decorators;
31
+ return _a = class SavedQueryStore extends _classSuper {
32
+ get connectionStore() { return __classPrivateFieldGet(this, _SavedQueryStore_connectionStore_accessor_storage, "f"); }
33
+ set connectionStore(value) { __classPrivateFieldSet(this, _SavedQueryStore_connectionStore_accessor_storage, value, "f"); }
34
+ get _queries() { return __classPrivateFieldGet(this, _SavedQueryStore__queries_accessor_storage, "f"); }
35
+ set _queries(value) { __classPrivateFieldSet(this, _SavedQueryStore__queries_accessor_storage, value, "f"); }
36
+ constructor() {
37
+ super({
38
+ name: 'SAVED_QUERY_STORE',
39
+ serializer: new LocalStorageSerializer({
40
+ key: 'SAVED_QUERY_STORE'
41
+ })
42
+ });
43
+ _SavedQueryStore_connectionStore_accessor_storage.set(this, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _connectionStore_initializers, void 0)));
44
+ _SavedQueryStore__queries_accessor_storage.set(this, (__runInitializers(this, _connectionStore_extraInitializers), __runInitializers(this, __queries_initializers, void 0)));
45
+ __runInitializers(this, __queries_extraInitializers);
46
+ this._queries = [];
47
+ }
48
+ get queries() {
49
+ return [...this._queries].sort((a, b) => b.updated_at.localeCompare(a.updated_at));
50
+ }
51
+ serialize() {
52
+ return {
53
+ queries: this._queries
54
+ };
55
+ }
56
+ async deserialize(data) {
57
+ this._queries = (data === null || data === void 0 ? void 0 : data.queries) || [];
58
+ }
59
+ getSavedForQuery(query) {
60
+ var _b, _c, _d;
61
+ const definition = (_c = (_b = query.options.definition) === null || _b === void 0 ? void 0 : _b.definition) === null || _c === void 0 ? void 0 : _c.name;
62
+ const connectionID = (_d = query.connection) === null || _d === void 0 ? void 0 : _d.id;
63
+ return this.queries.filter((saved) => {
64
+ return saved.query.definition === definition && saved.query.connection_id === connectionID;
65
+ });
66
+ }
67
+ getSavedEntitiesForConnection(connectionID) {
68
+ return this.queries
69
+ .filter((saved) => saved.query.connection_id === connectionID)
70
+ .map((saved) => new SavedQueryEntity(saved));
71
+ }
72
+ async saveQuery(name, query) {
73
+ const now = new Date().toISOString();
74
+ const saved = {
75
+ id: v4(),
76
+ name,
77
+ created_at: now,
78
+ updated_at: now,
79
+ query: query.serialize()
80
+ };
81
+ this._queries.push(saved);
82
+ await this.save();
83
+ return saved;
84
+ }
85
+ getByID(id) {
86
+ return this._queries.find((query) => query.id === id) || null;
87
+ }
88
+ getSavedEntityByID(id) {
89
+ const saved = this.getByID(id);
90
+ if (!saved) {
91
+ return null;
92
+ }
93
+ return new SavedQueryEntity(saved);
94
+ }
95
+ async loadSavedQuery(id) {
96
+ const saved = this.getByID(id);
97
+ if (!saved) {
98
+ return null;
99
+ }
100
+ const query = new SimpleQuery({
101
+ limit: saved.query.limit
102
+ });
103
+ await query.deserialize(this.connectionStore, saved.query);
104
+ return query;
105
+ }
106
+ async removeSavedQuery(id) {
107
+ this._queries = this._queries.filter((query) => query.id !== id);
108
+ await this.save();
109
+ }
110
+ },
111
+ _SavedQueryStore_connectionStore_accessor_storage = new WeakMap(),
112
+ _SavedQueryStore__queries_accessor_storage = new WeakMap(),
113
+ (() => {
114
+ var _b;
115
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create((_b = _classSuper[Symbol.metadata]) !== null && _b !== void 0 ? _b : null) : void 0;
116
+ _connectionStore_decorators = [inject(ConnectionStore)];
117
+ __queries_decorators = [observable];
118
+ _get_queries_decorators = [computed];
119
+ _saveQuery_decorators = [action];
120
+ _removeSavedQuery_decorators = [action];
121
+ __esDecorate(_a, null, _connectionStore_decorators, { kind: "accessor", name: "connectionStore", static: false, private: false, access: { has: obj => "connectionStore" in obj, get: obj => obj.connectionStore, set: (obj, value) => { obj.connectionStore = value; } }, metadata: _metadata }, _connectionStore_initializers, _connectionStore_extraInitializers);
122
+ __esDecorate(_a, null, __queries_decorators, { kind: "accessor", name: "_queries", static: false, private: false, access: { has: obj => "_queries" in obj, get: obj => obj._queries, set: (obj, value) => { obj._queries = value; } }, metadata: _metadata }, __queries_initializers, __queries_extraInitializers);
123
+ __esDecorate(_a, null, _get_queries_decorators, { kind: "getter", name: "queries", static: false, private: false, access: { has: obj => "queries" in obj, get: obj => obj.queries }, metadata: _metadata }, null, _instanceExtraInitializers);
124
+ __esDecorate(_a, null, _saveQuery_decorators, { kind: "method", name: "saveQuery", static: false, private: false, access: { has: obj => "saveQuery" in obj, get: obj => obj.saveQuery }, metadata: _metadata }, null, _instanceExtraInitializers);
125
+ __esDecorate(_a, null, _removeSavedQuery_decorators, { kind: "method", name: "removeSavedQuery", static: false, private: false, access: { has: obj => "removeSavedQuery" in obj, get: obj => obj.removeSavedQuery }, metadata: _metadata }, null, _instanceExtraInitializers);
126
+ if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
127
+ })(),
128
+ _a;
129
+ })();
130
+ export { SavedQueryStore };
131
+ //# sourceMappingURL=SavedQueryStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SavedQueryStore.js","sourceRoot":"","sources":["../../src/stores/SavedQueryStore.ts"],"names":[],"mappings":"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"}