@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.
- package/CHANGELOG.md +45 -0
- package/dist/@types/actions/connections/SetConnectionColorAction.d.ts +11 -0
- package/dist/@types/actions/saved-queries/OpenSavedQueryAction.d.ts +10 -0
- package/dist/@types/actions/saved-queries/RemoveSavedQueryAction.d.ts +9 -0
- package/dist/@types/core/AbstractConnection.d.ts +2 -0
- package/dist/@types/core/SchemaModelDefinition.d.ts +5 -0
- package/dist/@types/core/connection-colors.d.ts +10 -0
- package/dist/@types/core/query/AbstractQuery.d.ts +1 -0
- package/dist/@types/core/query/StandardModelFields.d.ts +5 -0
- package/dist/@types/core/query/filters.d.ts +46 -5
- package/dist/@types/core/query/query-changed/ChangedModelQuery.d.ts +1 -0
- package/dist/@types/core/query/query-simple/SimplePage.d.ts +2 -0
- package/dist/@types/core/query/query-simple/SimpleQuery.d.ts +14 -4
- package/dist/@types/core/query/query-simple/SimpleQueryColumns.d.ts +12 -0
- package/dist/@types/core/query/query-simple/SimpleQueryFilterState.d.ts +37 -0
- package/dist/@types/core/query/query-simple/SimpleQueryPlanner.d.ts +4 -0
- package/dist/@types/core/query/query-simple/SimpleQuerySortState.d.ts +23 -0
- package/dist/@types/core/query/query-simple/SimpleQueryTypes.d.ts +24 -0
- package/dist/@types/core/query/widgets/ColumnDisplayWidget.d.ts +1 -0
- package/dist/@types/core/query/widgets/PeekRelationshipButton.d.ts +7 -0
- package/dist/@types/core/query/widgets/SmartColumnWidget.d.ts +3 -0
- package/dist/@types/core/query/widgets/SmartFilterWidget.d.ts +6 -0
- package/dist/@types/entities/ConnectionEntityDefinition.d.ts +2 -0
- package/dist/@types/entities/SavedQueryEntityDefinition.d.ts +8 -0
- package/dist/@types/entities.d.ts +2 -1
- package/dist/@types/forms/APIConnectionForm.d.ts +1 -0
- package/dist/@types/forms/TypeEngine.d.ts +3 -21
- package/dist/@types/forms/types/attachment-handler.d.ts +2 -0
- package/dist/@types/forms/types/boolean-handler.d.ts +2 -0
- package/dist/@types/forms/types/date-handler.d.ts +2 -0
- package/dist/@types/forms/types/filters/ClearableFilterFormDialogDirective.d.ts +10 -0
- package/dist/@types/forms/types/filters/ConditionalFilterForm.d.ts +23 -0
- package/dist/@types/forms/types/image-handler.d.ts +2 -0
- package/dist/@types/forms/types/location-handler.d.ts +2 -0
- package/dist/@types/forms/types/multiple-choice-handler.d.ts +2 -0
- package/dist/@types/forms/types/multiple-choice-integer-handler.d.ts +2 -0
- package/dist/@types/forms/types/number-handler.d.ts +2 -0
- package/dist/@types/forms/types/shared/type-handler.d.ts +37 -0
- package/dist/@types/forms/types/shared/ui.d.ts +768 -0
- package/dist/@types/forms/types/single-choice-handler.d.ts +2 -0
- package/dist/@types/forms/types/single-choice-integer-handler.d.ts +2 -0
- package/dist/@types/forms/types/text-handler.d.ts +3 -0
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/panels/_shared/SharedConnectionPanelFactory.d.ts +19 -0
- package/dist/@types/panels/_shared/SharedModelPanelFactory.d.ts +5 -2
- package/dist/@types/panels/query/QueryPanelFactory.d.ts +7 -2
- package/dist/@types/panels/query/TableControlsWidget.d.ts +2 -0
- package/dist/@types/panels/query/table-controls/ChangesControlsWidget.d.ts +8 -0
- package/dist/@types/panels/query/table-controls/FilterControlsWidget.d.ts +7 -0
- package/dist/@types/panels/query/table-controls/PageControlsWidget.d.ts +9 -0
- package/dist/@types/panels/query/table-controls/QueryControlsWidget.d.ts +11 -0
- package/dist/@types/panels/query/table-controls/SortChipWidget.d.ts +10 -0
- package/dist/@types/panels/query/table-controls/SortControlsWidget.d.ts +7 -0
- package/dist/@types/preferences/QueryControlPreferences.d.ts +7 -0
- package/dist/@types/stores/SavedQueryStore.d.ts +34 -0
- package/dist/@types/widgets/EmptyValueWidget.d.ts +7 -0
- package/dist/DataBrowserModule.js +21 -7
- package/dist/DataBrowserModule.js.map +1 -1
- package/dist/actions/connections/AddConnectionAction.js +2 -2
- package/dist/actions/connections/AddConnectionAction.js.map +1 -1
- package/dist/actions/connections/RemoveConnectionAction.js +2 -2
- package/dist/actions/connections/RemoveConnectionAction.js.map +1 -1
- package/dist/actions/connections/SetConnectionColorAction.js +63 -0
- package/dist/actions/connections/SetConnectionColorAction.js.map +1 -0
- package/dist/actions/saved-queries/OpenSavedQueryAction.js +58 -0
- package/dist/actions/saved-queries/OpenSavedQueryAction.js.map +1 -0
- package/dist/actions/saved-queries/RemoveSavedQueryAction.js +43 -0
- package/dist/actions/saved-queries/RemoveSavedQueryAction.js.map +1 -0
- package/dist/actions/schema-definitions/CreateModelAction.js +2 -2
- package/dist/actions/schema-definitions/CreateModelAction.js.map +1 -1
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js +2 -2
- package/dist/actions/schema-definitions/QuerySchemaModelAction.js.map +1 -1
- package/dist/actions/schema-model/EditSchemaModelAction.js +2 -2
- package/dist/actions/schema-model/EditSchemaModelAction.js.map +1 -1
- package/dist/actions/schema-model/ViewSchemaModelAsJsonAction.js +2 -2
- package/dist/actions/schema-model/ViewSchemaModelAsJsonAction.js.map +1 -1
- package/dist/core/AbstractConnection.js +116 -90
- package/dist/core/AbstractConnection.js.map +1 -1
- package/dist/core/SchemaModelDefinition.js +14 -0
- package/dist/core/SchemaModelDefinition.js.map +1 -1
- package/dist/core/connection-colors.js +36 -0
- package/dist/core/connection-colors.js.map +1 -0
- package/dist/core/query/AbstractQuery.js.map +1 -1
- package/dist/core/query/StandardModelFields.js +10 -0
- package/dist/core/query/StandardModelFields.js.map +1 -0
- package/dist/core/query/filters.js +86 -4
- package/dist/core/query/filters.js.map +1 -1
- package/dist/core/query/query-changed/ChangedModelQuery.js +7 -0
- package/dist/core/query/query-changed/ChangedModelQuery.js.map +1 -1
- package/dist/core/query/query-simple/SimplePage.js +2 -4
- package/dist/core/query/query-simple/SimplePage.js.map +1 -1
- package/dist/core/query/query-simple/SimpleQuery.js +71 -69
- package/dist/core/query/query-simple/SimpleQuery.js.map +1 -1
- package/dist/core/query/query-simple/SimpleQueryColumns.js +88 -0
- package/dist/core/query/query-simple/SimpleQueryColumns.js.map +1 -0
- package/dist/core/query/query-simple/SimpleQueryFilterState.js +136 -0
- package/dist/core/query/query-simple/SimpleQueryFilterState.js.map +1 -0
- package/dist/core/query/query-simple/SimpleQueryPlanner.js +14 -0
- package/dist/core/query/query-simple/SimpleQueryPlanner.js.map +1 -0
- package/dist/core/query/query-simple/SimpleQuerySortState.js +140 -0
- package/dist/core/query/query-simple/SimpleQuerySortState.js.map +1 -0
- package/dist/core/query/query-simple/SimpleQueryTypes.js +44 -0
- package/dist/core/query/query-simple/SimpleQueryTypes.js.map +1 -0
- package/dist/core/query/widgets/BelongsToDisplayWidget.js +14 -7
- package/dist/core/query/widgets/BelongsToDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/CellDisplayWidget.js +5 -9
- package/dist/core/query/widgets/CellDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/ColumnDisplayWidget.js +13 -12
- package/dist/core/query/widgets/ColumnDisplayWidget.js.map +1 -1
- package/dist/core/query/widgets/PeekRelationshipButton.js +128 -0
- package/dist/core/query/widgets/PeekRelationshipButton.js.map +1 -0
- package/dist/core/query/widgets/SmartColumnWidget.js +18 -3
- package/dist/core/query/widgets/SmartColumnWidget.js.map +1 -1
- package/dist/core/query/widgets/SmartFilterWidget.js +88 -51
- package/dist/core/query/widgets/SmartFilterWidget.js.map +1 -1
- package/dist/entities/ConnectionEntityDefinition.js +33 -7
- package/dist/entities/ConnectionEntityDefinition.js.map +1 -1
- package/dist/entities/SavedQueryEntityDefinition.js +68 -0
- package/dist/entities/SavedQueryEntityDefinition.js.map +1 -0
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js +9 -1
- package/dist/entities/SchemaModelDefinitionEntityDefinition.js.map +1 -1
- package/dist/entities.js +1 -0
- package/dist/entities.js.map +1 -1
- package/dist/forms/APIConnectionForm.js +11 -2
- package/dist/forms/APIConnectionForm.js.map +1 -1
- package/dist/forms/TypeEngine.js +30 -306
- package/dist/forms/TypeEngine.js.map +1 -1
- package/dist/forms/types/attachment-handler.js +29 -0
- package/dist/forms/types/attachment-handler.js.map +1 -0
- package/dist/forms/types/boolean-handler.js +22 -0
- package/dist/forms/types/boolean-handler.js.map +1 -0
- package/dist/forms/types/date-handler.js +97 -0
- package/dist/forms/types/date-handler.js.map +1 -0
- package/dist/forms/types/filters/ClearableFilterFormDialogDirective.js +25 -0
- package/dist/forms/types/filters/ClearableFilterFormDialogDirective.js.map +1 -0
- package/dist/forms/types/filters/ConditionalFilterForm.js +87 -0
- package/dist/forms/types/filters/ConditionalFilterForm.js.map +1 -0
- package/dist/forms/types/image-handler.js +82 -0
- package/dist/forms/types/image-handler.js.map +1 -0
- package/dist/forms/types/location-handler.js +49 -0
- package/dist/forms/types/location-handler.js.map +1 -0
- package/dist/forms/types/multiple-choice-handler.js +37 -0
- package/dist/forms/types/multiple-choice-handler.js.map +1 -0
- package/dist/forms/types/multiple-choice-integer-handler.js +37 -0
- package/dist/forms/types/multiple-choice-integer-handler.js.map +1 -0
- package/dist/forms/types/number-handler.js +79 -0
- package/dist/forms/types/number-handler.js.map +1 -0
- package/dist/forms/types/shared/type-handler.js +2 -0
- package/dist/forms/types/shared/type-handler.js.map +1 -0
- package/dist/forms/types/shared/ui.js +33 -0
- package/dist/forms/types/shared/ui.js.map +1 -0
- package/dist/forms/types/single-choice-handler.js +41 -0
- package/dist/forms/types/single-choice-handler.js.map +1 -0
- package/dist/forms/types/single-choice-integer-handler.js +41 -0
- package/dist/forms/types/single-choice-integer-handler.js.map +1 -0
- package/dist/forms/types/text-handler.js +170 -0
- package/dist/forms/types/text-handler.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/panels/_shared/SharedConnectionPanelFactory.js +48 -0
- package/dist/panels/_shared/SharedConnectionPanelFactory.js.map +1 -0
- package/dist/panels/_shared/SharedModelPanelFactory.js +7 -2
- package/dist/panels/_shared/SharedModelPanelFactory.js.map +1 -1
- package/dist/panels/query/PageResultsWidget.js +28 -11
- package/dist/panels/query/PageResultsWidget.js.map +1 -1
- package/dist/panels/query/QueryPanelFactory.js +20 -2
- package/dist/panels/query/QueryPanelFactory.js.map +1 -1
- package/dist/panels/query/QueryPanelWidget.js +55 -9
- package/dist/panels/query/QueryPanelWidget.js.map +1 -1
- package/dist/panels/query/TableControlsWidget.js +29 -67
- package/dist/panels/query/TableControlsWidget.js.map +1 -1
- package/dist/panels/query/table-controls/ChangesControlsWidget.js +36 -0
- package/dist/panels/query/table-controls/ChangesControlsWidget.js.map +1 -0
- package/dist/panels/query/table-controls/FilterControlsWidget.js +106 -0
- package/dist/panels/query/table-controls/FilterControlsWidget.js.map +1 -0
- package/dist/panels/query/table-controls/PageControlsWidget.js +65 -0
- package/dist/panels/query/table-controls/PageControlsWidget.js.map +1 -0
- package/dist/panels/query/table-controls/QueryControlsWidget.js +85 -0
- package/dist/panels/query/table-controls/QueryControlsWidget.js.map +1 -0
- package/dist/panels/query/table-controls/SortChipWidget.js +75 -0
- package/dist/panels/query/table-controls/SortChipWidget.js.map +1 -0
- package/dist/panels/query/table-controls/SortControlsWidget.js +65 -0
- package/dist/panels/query/table-controls/SortControlsWidget.js.map +1 -0
- package/dist/preferences/QueryControlPreferences.js +28 -0
- package/dist/preferences/QueryControlPreferences.js.map +1 -0
- package/dist/stores/ConnectionStore.js +2 -0
- package/dist/stores/ConnectionStore.js.map +1 -1
- package/dist/stores/SavedQueryStore.js +131 -0
- package/dist/stores/SavedQueryStore.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/widgets/EmptyValueWidget.js +15 -0
- package/dist/widgets/EmptyValueWidget.js.map +1 -0
- package/dist-module/bundle.js +181 -51
- package/dist-module/bundle.js.map +1 -1
- package/package.json +11 -11
- package/src/DataBrowserModule.ts +21 -7
- package/src/actions/connections/AddConnectionAction.tsx +2 -2
- package/src/actions/connections/RemoveConnectionAction.tsx +2 -2
- package/src/actions/connections/SetConnectionColorAction.ts +52 -0
- package/src/actions/saved-queries/OpenSavedQueryAction.ts +43 -0
- package/src/actions/saved-queries/RemoveSavedQueryAction.ts +27 -0
- package/src/actions/schema-definitions/CreateModelAction.ts +9 -2
- package/src/actions/schema-definitions/QuerySchemaModelAction.ts +9 -2
- package/src/actions/schema-model/EditSchemaModelAction.ts +9 -2
- package/src/actions/schema-model/ViewSchemaModelAsJsonAction.ts +9 -2
- package/src/core/AbstractConnection.ts +7 -1
- package/src/core/SchemaModelDefinition.ts +16 -0
- package/src/core/connection-colors.ts +49 -0
- package/src/core/query/AbstractQuery.ts +2 -0
- package/src/core/query/StandardModelFields.ts +9 -0
- package/src/core/query/filters.ts +121 -6
- package/src/core/query/query-changed/ChangedModelQuery.ts +8 -0
- package/src/core/query/query-simple/SimplePage.ts +4 -5
- package/src/core/query/query-simple/SimpleQuery.tsx +91 -87
- package/src/core/query/query-simple/SimpleQueryColumns.tsx +126 -0
- package/src/core/query/query-simple/SimpleQueryFilterState.ts +160 -0
- package/src/core/query/query-simple/SimpleQueryPlanner.ts +18 -0
- package/src/core/query/query-simple/SimpleQuerySortState.ts +133 -0
- package/src/core/query/query-simple/SimpleQueryTypes.ts +61 -0
- package/src/core/query/widgets/BelongsToDisplayWidget.tsx +19 -11
- package/src/core/query/widgets/CellDisplayWidget.tsx +5 -10
- package/src/core/query/widgets/ColumnDisplayWidget.tsx +24 -20
- package/src/core/query/widgets/PeekRelationshipButton.tsx +161 -0
- package/src/core/query/widgets/SmartColumnWidget.tsx +26 -4
- package/src/core/query/widgets/SmartFilterWidget.tsx +119 -69
- package/src/entities/ConnectionEntityDefinition.tsx +35 -4
- package/src/entities/SavedQueryEntityDefinition.ts +72 -0
- package/src/entities/SchemaModelDefinitionEntityDefinition.ts +11 -2
- package/src/entities.ts +2 -1
- package/src/forms/APIConnectionForm.tsx +15 -2
- package/src/forms/TypeEngine.tsx +35 -421
- package/src/forms/types/attachment-handler.tsx +35 -0
- package/src/forms/types/boolean-handler.tsx +28 -0
- package/src/forms/types/date-handler.tsx +125 -0
- package/src/forms/types/filters/ClearableFilterFormDialogDirective.ts +32 -0
- package/src/forms/types/filters/ConditionalFilterForm.tsx +109 -0
- package/src/forms/types/image-handler.tsx +90 -0
- package/src/forms/types/location-handler.tsx +53 -0
- package/src/forms/types/multiple-choice-handler.tsx +37 -0
- package/src/forms/types/multiple-choice-integer-handler.tsx +37 -0
- package/src/forms/types/number-handler.tsx +100 -0
- package/src/forms/types/shared/type-handler.ts +36 -0
- package/src/forms/types/shared/ui.tsx +40 -0
- package/src/forms/types/single-choice-handler.tsx +47 -0
- package/src/forms/types/single-choice-integer-handler.tsx +47 -0
- package/src/forms/types/text-handler.tsx +247 -0
- package/src/index.ts +1 -0
- package/src/panels/_shared/SharedConnectionPanelFactory.tsx +55 -0
- package/src/panels/_shared/SharedModelPanelFactory.tsx +8 -2
- package/src/panels/query/PageResultsWidget.tsx +40 -28
- package/src/panels/query/QueryPanelFactory.tsx +23 -2
- package/src/panels/query/QueryPanelWidget.tsx +64 -9
- package/src/panels/query/TableControlsWidget.tsx +42 -120
- package/src/panels/query/table-controls/ChangesControlsWidget.tsx +72 -0
- package/src/panels/query/table-controls/FilterControlsWidget.tsx +145 -0
- package/src/panels/query/table-controls/PageControlsWidget.tsx +97 -0
- package/src/panels/query/table-controls/QueryControlsWidget.tsx +127 -0
- package/src/panels/query/table-controls/SortChipWidget.tsx +119 -0
- package/src/panels/query/table-controls/SortControlsWidget.tsx +95 -0
- package/src/preferences/QueryControlPreferences.ts +34 -0
- package/src/stores/ConnectionStore.ts +2 -0
- package/src/stores/SavedQueryStore.ts +121 -0
- 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;
|
|
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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"}
|