@journeyapps-labs/reactor-mod-data-browser 2.2.0 → 2.4.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 (138) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/@types/actions/schema-model/ViewSchemaModelAsJsonAction.d.ts +9 -0
  3. package/dist/@types/core/AbstractConnection.d.ts +2 -0
  4. package/dist/@types/core/SchemaModelDefinition.d.ts +4 -1
  5. package/dist/@types/core/SchemaModelObject.d.ts +15 -8
  6. package/dist/@types/core/query/AbstractQuery.d.ts +5 -10
  7. package/dist/@types/core/query/AbstractSerializableQuery.d.ts +11 -0
  8. package/dist/@types/core/query/Page.d.ts +2 -7
  9. package/dist/@types/core/query/query-changed/ChangedModelQuery.d.ts +15 -0
  10. package/dist/@types/core/query/query-simple/SimplePage.d.ts +12 -0
  11. package/dist/@types/core/query/{SimpleQuery.d.ts → query-simple/SimpleQuery.d.ts} +8 -8
  12. package/dist/@types/core/query/widgets/BelongsToDisplayWidget.d.ts +1 -3
  13. package/dist/@types/core/query/widgets/CellDisplayWidget.d.ts +1 -2
  14. package/dist/@types/core/query/widgets/ColumnDisplayWidget.d.ts +1 -0
  15. package/dist/@types/core/query/widgets/SmartBelongsToDisplayWidget.d.ts +10 -0
  16. package/dist/@types/core/query/widgets/SmartCellDisplayWidget.d.ts +7 -0
  17. package/dist/@types/core/query/widgets/SmartColumnWidget.d.ts +2 -1
  18. package/dist/@types/entities/QueryEntityDefinition.d.ts +3 -3
  19. package/dist/@types/forms/SchemaModelForm.d.ts +32 -1
  20. package/dist/@types/forms/TypeEngine.d.ts +31 -0
  21. package/dist/@types/forms/inputs/DirtyWrapperInput.d.ts +16 -0
  22. package/dist/@types/index.d.ts +3 -1
  23. package/dist/@types/panels/_shared/SharedModelPanelFactory.d.ts +22 -0
  24. package/dist/@types/panels/model/ModelPanelFactory.d.ts +4 -20
  25. package/dist/@types/panels/model-json/ModelJsonPanelFactory.d.ts +27 -0
  26. package/dist/@types/panels/model-json/ModelJsonPanelWidget.d.ts +6 -0
  27. package/dist/@types/panels/query/QueryPanelFactory.d.ts +2 -1
  28. package/dist/DataBrowserModule.js +6 -0
  29. package/dist/DataBrowserModule.js.map +1 -1
  30. package/dist/actions/schema-definitions/CreateModelAction.js +2 -1
  31. package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -1
  32. package/dist/actions/schema-definitions/QuerySchemaModelAction.js +1 -1
  33. package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -1
  34. package/dist/actions/schema-model/ViewSchemaModelAsJsonAction.js +46 -0
  35. package/dist/actions/schema-model/ViewSchemaModelAsJsonAction.js.map +1 -0
  36. package/dist/core/AbstractConnection.js +15 -0
  37. package/dist/core/AbstractConnection.js.map +1 -1
  38. package/dist/core/SchemaModelDefinition.js +52 -13
  39. package/dist/core/SchemaModelDefinition.js.map +1 -1
  40. package/dist/core/SchemaModelObject.js +90 -50
  41. package/dist/core/SchemaModelObject.js.map +1 -1
  42. package/dist/core/query/AbstractQuery.js +2 -8
  43. package/dist/core/query/AbstractQuery.js.map +1 -1
  44. package/dist/core/query/AbstractSerializableQuery.js +13 -0
  45. package/dist/core/query/AbstractSerializableQuery.js.map +1 -0
  46. package/dist/core/query/Page.js +6 -15
  47. package/dist/core/query/Page.js.map +1 -1
  48. package/dist/core/query/query-changed/ChangedModelQuery.js +31 -0
  49. package/dist/core/query/query-changed/ChangedModelQuery.js.map +1 -0
  50. package/dist/core/query/query-simple/SimplePage.js +18 -0
  51. package/dist/core/query/query-simple/SimplePage.js.map +1 -0
  52. package/dist/core/query/{SimpleQuery.js → query-simple/SimpleQuery.js} +26 -25
  53. package/dist/core/query/query-simple/SimpleQuery.js.map +1 -0
  54. package/dist/core/query/widgets/BelongsToDisplayWidget.js +5 -16
  55. package/dist/core/query/widgets/BelongsToDisplayWidget.js.map +1 -1
  56. package/dist/core/query/widgets/CellDisplayWidget.js +16 -76
  57. package/dist/core/query/widgets/CellDisplayWidget.js.map +1 -1
  58. package/dist/core/query/widgets/ColumnDisplayWidget.js +3 -3
  59. package/dist/core/query/widgets/ColumnDisplayWidget.js.map +1 -1
  60. package/dist/core/query/widgets/SmartBelongsToDisplayWidget.js +29 -0
  61. package/dist/core/query/widgets/SmartBelongsToDisplayWidget.js.map +1 -0
  62. package/dist/core/query/widgets/SmartCellDisplayWidget.js +20 -0
  63. package/dist/core/query/widgets/SmartCellDisplayWidget.js.map +1 -0
  64. package/dist/core/query/widgets/SmartColumnWidget.js +11 -1
  65. package/dist/core/query/widgets/SmartColumnWidget.js.map +1 -1
  66. package/dist/entities/ConnectionEntityDefinition.js +5 -0
  67. package/dist/entities/ConnectionEntityDefinition.js.map +1 -1
  68. package/dist/entities/QueryEntityDefinition.js +3 -3
  69. package/dist/entities/QueryEntityDefinition.js.map +1 -1
  70. package/dist/entities/SchemaModelDefinitionEntityDefinition.js +3 -1
  71. package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -1
  72. package/dist/entities/SchemaModelObjectEntityDefinition.js +28 -8
  73. package/dist/entities/SchemaModelObjectEntityDefinition.js.map +1 -1
  74. package/dist/forms/SchemaModelForm.js +153 -74
  75. package/dist/forms/SchemaModelForm.js.map +1 -1
  76. package/dist/forms/TypeEngine.js +353 -0
  77. package/dist/forms/TypeEngine.js.map +1 -0
  78. package/dist/forms/inputs/DirtyWrapperInput.js +86 -0
  79. package/dist/forms/inputs/DirtyWrapperInput.js.map +1 -0
  80. package/dist/forms/inputs/LocationInput.js +13 -7
  81. package/dist/forms/inputs/LocationInput.js.map +1 -1
  82. package/dist/index.js +3 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/panels/_shared/SharedModelPanelFactory.js +77 -0
  85. package/dist/panels/_shared/SharedModelPanelFactory.js.map +1 -0
  86. package/dist/panels/model/ModelPanelFactory.js +7 -71
  87. package/dist/panels/model/ModelPanelFactory.js.map +1 -1
  88. package/dist/panels/model/ModelPanelWidget.js +21 -4
  89. package/dist/panels/model/ModelPanelWidget.js.map +1 -1
  90. package/dist/panels/model-json/ModelJsonPanelFactory.js +62 -0
  91. package/dist/panels/model-json/ModelJsonPanelFactory.js.map +1 -0
  92. package/dist/panels/model-json/ModelJsonPanelWidget.js +70 -0
  93. package/dist/panels/model-json/ModelJsonPanelWidget.js.map +1 -0
  94. package/dist/panels/query/QueryPanelFactory.js +4 -0
  95. package/dist/panels/query/QueryPanelFactory.js.map +1 -1
  96. package/dist/panels/query/TableControlsWidget.js +42 -9
  97. package/dist/panels/query/TableControlsWidget.js.map +1 -1
  98. package/dist/tsconfig.tsbuildinfo +1 -1
  99. package/dist-module/bundle.js +91 -41
  100. package/dist-module/bundle.js.map +1 -1
  101. package/package.json +13 -10
  102. package/src/DataBrowserModule.ts +6 -0
  103. package/src/actions/schema-definitions/CreateModelAction.ts +2 -1
  104. package/src/actions/schema-definitions/QuerySchemaModelAction.ts +1 -1
  105. package/src/actions/schema-model/ViewSchemaModelAsJsonAction.ts +33 -0
  106. package/src/core/AbstractConnection.ts +18 -1
  107. package/src/core/SchemaModelDefinition.ts +57 -14
  108. package/src/core/SchemaModelObject.ts +62 -46
  109. package/src/core/query/AbstractQuery.ts +10 -21
  110. package/src/core/query/AbstractSerializableQuery.ts +23 -0
  111. package/src/core/query/Page.ts +6 -21
  112. package/src/core/query/query-changed/ChangedModelQuery.ts +35 -0
  113. package/src/core/query/query-simple/SimplePage.ts +29 -0
  114. package/src/core/query/{SimpleQuery.tsx → query-simple/SimpleQuery.tsx} +41 -39
  115. package/src/core/query/widgets/BelongsToDisplayWidget.tsx +6 -19
  116. package/src/core/query/widgets/CellDisplayWidget.tsx +17 -97
  117. package/src/core/query/widgets/ColumnDisplayWidget.tsx +12 -3
  118. package/src/core/query/widgets/SmartBelongsToDisplayWidget.tsx +46 -0
  119. package/src/core/query/widgets/SmartCellDisplayWidget.tsx +29 -0
  120. package/src/core/query/widgets/SmartColumnWidget.tsx +18 -2
  121. package/src/entities/ConnectionEntityDefinition.tsx +5 -0
  122. package/src/entities/QueryEntityDefinition.ts +6 -6
  123. package/src/entities/SchemaModelDefinitionEntityDefinition.ts +4 -0
  124. package/src/entities/SchemaModelObjectEntityDefinition.ts +34 -8
  125. package/src/forms/SchemaModelForm.tsx +145 -96
  126. package/src/forms/TypeEngine.tsx +451 -0
  127. package/src/forms/inputs/DirtyWrapperInput.tsx +95 -0
  128. package/src/forms/inputs/LocationInput.tsx +14 -7
  129. package/src/index.ts +7 -1
  130. package/src/panels/_shared/SharedModelPanelFactory.tsx +54 -0
  131. package/src/panels/model/ModelPanelFactory.tsx +10 -49
  132. package/src/panels/model/ModelPanelWidget.tsx +45 -9
  133. package/src/panels/model-json/ModelJsonPanelFactory.tsx +61 -0
  134. package/src/panels/model-json/ModelJsonPanelWidget.tsx +92 -0
  135. package/src/panels/query/QueryPanelFactory.tsx +5 -0
  136. package/src/panels/query/TableControlsWidget.tsx +85 -17
  137. package/webpack.config.js +9 -2
  138. package/dist/core/query/SimpleQuery.js.map +0 -1
@@ -1,9 +1,25 @@
1
1
  import * as React from 'react';
2
- import { ComboBoxItem, PanelButtonWidget, PanelDropdownWidget, styled } from '@journeyapps-labs/reactor-mod';
2
+ import {
3
+ ComboBoxItem,
4
+ ioc,
5
+ PanelButtonWidget,
6
+ PanelDropdownWidget,
7
+ setupTooltipProps,
8
+ styled,
9
+ theme,
10
+ ThemeStore,
11
+ TooltipPosition,
12
+ WorkspaceStore
13
+ } from '@journeyapps-labs/reactor-mod';
3
14
  import { AbstractQuery } from '../../core/query/AbstractQuery';
4
15
  import { observer } from 'mobx-react';
5
16
  import * as _ from 'lodash';
6
17
  import { Page } from '../../core/query/Page';
18
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
19
+ import { SimplePage } from '../../core/query/query-simple/SimplePage';
20
+ import { QueryPanelModel } from './QueryPanelFactory';
21
+ import { ChangedModelQuery } from '../../core/query/query-changed/ChangedModelQuery';
22
+ import { SimpleQuery } from '../../core/query/query-simple/SimpleQuery';
7
23
 
8
24
  export interface TableControlsWidgetProps {
9
25
  current_page: Page;
@@ -13,6 +29,8 @@ export interface TableControlsWidgetProps {
13
29
  }
14
30
 
15
31
  export const TableControlsWidget: React.FC<TableControlsWidgetProps> = observer((props) => {
32
+ const _theme = ioc.get(ThemeStore).getCurrentTheme(theme);
33
+ const dirtyObjects = props.query.getDirtyObjects();
16
34
  return (
17
35
  <S.Container className={props.className}>
18
36
  <PanelButtonWidget
@@ -22,6 +40,13 @@ export const TableControlsWidget: React.FC<TableControlsWidgetProps> = observer(
22
40
  props.goToPage(props.current_page.index - 1);
23
41
  }}
24
42
  />
43
+ <PanelButtonWidget
44
+ disabled={props.query.totalPages == props.current_page.index + 1}
45
+ label="Next"
46
+ action={() => {
47
+ props.goToPage(props.current_page.index + 1);
48
+ }}
49
+ />
25
50
  <S.PageSelector>
26
51
  <PanelDropdownWidget
27
52
  onChange={({ key }) => {
@@ -37,29 +62,65 @@ export const TableControlsWidget: React.FC<TableControlsWidgetProps> = observer(
37
62
  />
38
63
  <S.TotalPages>/ {props.query.totalPages}</S.TotalPages>
39
64
  </S.PageSelector>
65
+ {props.current_page instanceof SimplePage ? (
66
+ <PanelButtonWidget
67
+ label="Page"
68
+ tooltip="Reload page"
69
+ icon="refresh"
70
+ action={async () => {
71
+ await (props.current_page as SimplePage).load();
72
+ }}
73
+ />
74
+ ) : null}
40
75
  <PanelButtonWidget
41
- disabled={props.query.totalPages == props.current_page.index + 1}
42
- label="Next"
43
- action={() => {
44
- props.goToPage(props.current_page.index + 1);
45
- }}
46
- />
47
- <PanelButtonWidget
48
- label="Page"
49
- tooltip="Reload page"
50
- icon="refresh"
51
- action={() => {
52
- props.current_page.load();
53
- }}
54
- />
55
- <PanelButtonWidget
56
- label="Query"
57
76
  tooltip="Reload Query"
58
77
  icon="refresh"
59
78
  action={async (event, loading) => {
60
79
  await props.query.load();
61
80
  }}
62
81
  />
82
+ {dirtyObjects.length > 0 ? (
83
+ <>
84
+ <PanelButtonWidget
85
+ label={`Save all [${dirtyObjects.length}]`}
86
+ icon="save"
87
+ iconColor={_theme.status.success}
88
+ action={async (event, loading) => {
89
+ props.query.batchSave();
90
+ }}
91
+ />
92
+ <span
93
+ {...setupTooltipProps({
94
+ tooltip: 'Discard all edits',
95
+ tooltipPos: TooltipPosition.RIGHT
96
+ })}
97
+ >
98
+ <S.RevertButton
99
+ icon="arrow-rotate-back"
100
+ onClick={() => {
101
+ props.current_page.reset();
102
+ }}
103
+ />
104
+ </span>
105
+ {props.query instanceof SimpleQuery ? (
106
+ <span
107
+ {...setupTooltipProps({
108
+ tooltip: 'View changed models',
109
+ tooltipPos: TooltipPosition.RIGHT
110
+ })}
111
+ >
112
+ <S.RevertButton
113
+ icon="eye"
114
+ onClick={() => {
115
+ ioc
116
+ .get(WorkspaceStore)
117
+ .addModel(new QueryPanelModel(new ChangedModelQuery(props.query as SimpleQuery)));
118
+ }}
119
+ />
120
+ </span>
121
+ ) : null}
122
+ </>
123
+ ) : null}
63
124
  </S.Container>
64
125
  );
65
126
  });
@@ -82,4 +143,11 @@ namespace S {
82
143
  color: ${(p) => p.theme.text.primary};
83
144
  padding-left: 5px;
84
145
  `;
146
+
147
+ export const RevertButton = styled(FontAwesomeIcon)`
148
+ color: ${(p) => p.theme.status.success};
149
+ font-size: 12px;
150
+ padding: 5px;
151
+ cursor: pointer;
152
+ `;
85
153
  }
package/webpack.config.js CHANGED
@@ -1,9 +1,16 @@
1
- const { patchExportedLibrary } = require('@journeyapps-labs/lib-reactor-builder');
1
+ const { patchExportedLibrary, patchImportedLibrary } = require('@journeyapps-labs/lib-reactor-builder');
2
2
  module.exports = (webpack) => {
3
- return patchExportedLibrary({
3
+ webpack = patchExportedLibrary({
4
4
  w: webpack,
5
5
  module: '@journeyapps/db',
6
6
  dir: __dirname,
7
7
  alias: true
8
8
  });
9
+
10
+ webpack = patchImportedLibrary({
11
+ w: webpack,
12
+ module: 'react-monaco-editor'
13
+ });
14
+
15
+ return webpack;
9
16
  };
@@ -1 +0,0 @@
1
- {"version":3,"file":"SimpleQuery.js","sourceRoot":"","sources":["../../../src/core/query/SimpleQuery.tsx"],"names":[],"mappings":"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"}