dotdata_widgets 0.1.10 → 0.2.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.
- package/README.md +71 -104
- package/css/widget.css +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/lib/components/ActionFooter.js +21 -0
- package/lib/components/WithLabel.js +20 -0
- package/lib/components/column-analytic-type-icons/analytic-type-category.js +13 -0
- package/lib/components/column-analytic-type-icons/analytic-type-datatime.js +13 -0
- package/lib/components/column-analytic-type-icons/analytic-type-geo-latitude.js +13 -0
- package/lib/components/column-analytic-type-icons/analytic-type-geo-longitude.js +13 -0
- package/lib/components/column-analytic-type-icons/analytic-type-numeric.js +13 -0
- package/lib/components/column-analytic-type-icons/index.js +22 -0
- package/lib/components/{input → column-source-type-icons}/index.js +1 -1
- package/lib/components/column-source-type-icons/source-type-int.js +16 -0
- package/lib/feature/feature-details/FeatureCorrelatedFeaturesTable.js +1 -1
- package/lib/feature/feature-likes/{feature-likes.js → FeatureLikes.js} +3 -6
- package/lib/feature/feature-likes/index.js +1 -1
- package/lib/feature/feature-user-explanation/FeatureUserExplanation.js +14 -0
- package/lib/feature/feature-user-explanation/FeatureUserExplanationDisplay.js +23 -0
- package/lib/feature/feature-user-explanation/explanation-to-user-explanation.js +58 -0
- package/lib/{feature-descriptor/domains-descriptors-tree/context → feature/feature-user-explanation}/index.js +3 -2
- package/lib/feature-descriptor/domains-descriptions-tree/index.js +1 -0
- package/lib/feature-descriptor/domains-descriptions-tree/models/domains-descriptions-tree.model.js +2 -2
- package/lib/feature-descriptor/feature-descriptor-editor/AggregationEditor.js +206 -109
- package/lib/feature-descriptor/feature-descriptor-editor/FeatureDescriptorEditor.js +32 -21
- package/lib/feature-descriptor/feature-descriptor-editor/FilterEditor.js +69 -61
- package/lib/feature-descriptor/feature-descriptor-editor/JoinEditor.js +50 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/EditorTemplateRenderer.js +14 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/AggregationTypeSelection.js +11 -11
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/ColumnEditor.js +15 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/DistanceEditor.js +30 -13
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/LastKEditor.js +17 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/TemporalChangeEditor.js +19 -16
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/TopicEditor.js +16 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/index.js +8 -7
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/BooleanField.js +31 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ChipField.js +27 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ColumnField.js +47 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/NumberField.js +12 -20
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/StringField.js +12 -20
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/TableColumnField.js +30 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/TableField.js +17 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/_InlineEditorField.js +48 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/index.js +10 -7
- package/lib/feature-descriptor/feature-descriptor-editor/components/filter/FilterTypeSelection.js +14 -11
- package/lib/feature-descriptor/feature-descriptor-editor/components/filter/index.js +3 -5
- package/lib/feature-descriptor/feature-descriptor-editor/components/index.js +7 -8
- package/lib/feature-descriptor/feature-descriptor-editor/components/join/JoinConditionEditor.js +96 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/join/JoinConditionTypeSelection.js +15 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/join/JoinTableColumnSelector.js +15 -0
- package/lib/feature-descriptor/{domains-descriptors-tree/components → feature-descriptor-editor/components/join}/index.js +2 -1
- package/lib/feature-descriptor/feature-descriptor-editor/context/feature-descriptor-editor-context.js +38 -0
- package/lib/feature-descriptor/feature-descriptor-editor/context/feature-descriptor-editor.js +46 -0
- package/lib/feature-descriptor/{domains-descriptors-tree/models → feature-descriptor-editor/context}/index.js +2 -1
- package/lib/feature-descriptor/feature-descriptor-editor/index.js +5 -5
- package/lib/feature-descriptor/feature-descriptor-editor/models/aggregation-draft.js +351 -0
- package/lib/feature-descriptor/feature-descriptor-editor/models/common-field-draft.js +13 -0
- package/lib/feature-descriptor/feature-descriptor-editor/models/feature-descriptor-editor.js +29 -0
- package/lib/feature-descriptor/feature-descriptor-editor/models/filter-draft.js +79 -0
- package/lib/feature-descriptor/{context → feature-descriptor-editor/models}/index.js +4 -1
- package/lib/feature-descriptor/feature-descriptor-editor/models/join-draft.js +78 -0
- package/lib/models/column/column.js +59 -0
- package/lib/models/column/field.js +2 -4
- package/lib/models/column/index.js +3 -0
- package/lib/models/column/table-columns.js +27 -0
- package/lib/models/column/table.js +2 -4
- package/lib/models/feature/feature.js +13 -0
- package/lib/models/feature-descriptor/fd_data/aggregation.js +86 -46
- package/lib/models/feature-descriptor/fd_data/filter.js +32 -20
- package/lib/models/feature-descriptor/fd_data/index.js +5 -7
- package/lib/models/feature-descriptor/fd_data/join.js +20 -4
- package/lib/models/feature-descriptor/fd_data/utils.js +25 -0
- package/lib/models/feature-descriptor/feature-descriptor.js +2 -4
- package/lib/models/feature-descriptor/index.js +4 -6
- package/lib/utils/crypto.js +28 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/redux/action.js +35 -0
- package/lib/utils/redux/index.js +10 -0
- package/lib/{feature-descriptor/feature-descriptor-editor/components/field-widgets/widget-interface.js → utils/redux/models.js} +1 -1
- package/lib/utils/redux/reducer.js +30 -0
- package/lib/{feature-descriptor/feature-descriptor-editor/components/widgets/widget-interface.js → utils/types.js} +1 -1
- package/lib/utils/widget-api.js +47 -0
- package/lib/widgets/FeatureLeaderboardWidget.js +12 -2
- package/lib/widgets/FeatureSpaceWidget.js +1 -0
- package/lib/widgets/feature-leaderboard/FeatureLeaderboardView.js +40 -8
- package/lib/widgets/feature-leaderboard/components/{leaderboard-feature-likes.js → LeaderboardFeatureLikes.js} +4 -4
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryDrawer.js +88 -0
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryFeatureEditor.js +31 -0
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryHeader.js +15 -0
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardUserExplanation.js +28 -0
- package/lib/widgets/feature-space/FeatureSpaceView.js +6 -6
- package/package.json +8 -10
- package/lib/components/input/input.js +0 -14
- package/lib/feature-descriptor/context/fd-domains-descriptions-selection.context.js +0 -37
- package/lib/feature-descriptor/domains-descriptors-tree/components/column-tree-item.js +0 -16
- package/lib/feature-descriptor/domains-descriptors-tree/components/descriptions-tree-item.js +0 -50
- package/lib/feature-descriptor/domains-descriptors-tree/components/tree-item-label.js +0 -56
- package/lib/feature-descriptor/domains-descriptors-tree/components/type-tree-item.js +0 -19
- package/lib/feature-descriptor/domains-descriptors-tree/config/index.js +0 -2
- package/lib/feature-descriptor/domains-descriptors-tree/context/domains-descriptions-tree-config-context.js +0 -43
- package/lib/feature-descriptor/domains-descriptors-tree/context/domains-descriptions-tree-context-provider.js +0 -53
- package/lib/feature-descriptor/domains-descriptors-tree/context/domains-descriptions-tree-item-selection-context.js +0 -56
- package/lib/feature-descriptor/domains-descriptors-tree/domains-descriptions-tree.js +0 -44
- package/lib/feature-descriptor/domains-descriptors-tree/index.js +0 -21
- package/lib/feature-descriptor/domains-descriptors-tree/models/domains-descriptions-tree.model.js +0 -37
- package/lib/feature-descriptor/domains-descriptors-tree/utils/create-domain-predicate.js +0 -16
- package/lib/feature-descriptor/domains-descriptors-tree/utils/filter-domains-descriptions-tree.js +0 -23
- package/lib/feature-descriptor/domains-descriptors-tree/utils/index.js +0 -19
- package/lib/feature-descriptor/feature-descriptor-editor/components/ItemSelection.js +0 -14
- package/lib/feature-descriptor/feature-descriptor-editor/components/StringAutocomplete.js +0 -13
- package/lib/feature-descriptor/feature-descriptor-editor/components/ValueInput.js +0 -2
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/AggregationSelection.js +0 -15
- package/lib/feature-descriptor/feature-descriptor-editor/components/aggregations/aggregation-context.js +0 -37
- package/lib/feature-descriptor/feature-descriptor-editor/components/explainer.js +0 -15
- package/lib/feature-descriptor/feature-descriptor-editor/components/fd-operation-context.js +0 -19
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/FieldLabel.js +0 -17
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ItemSelection.js +0 -20
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/StringSelectionField.js +0 -24
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ValueInput.js +0 -19
- package/lib/feature-descriptor/feature-descriptor-editor/components/widgets/ItemSelection.js +0 -20
- package/lib/feature-descriptor/feature-descriptor-editor/components/widgets/Label.js +0 -2
- package/lib/feature-descriptor/feature-descriptor-editor/components/widgets/ValueInput.js +0 -19
- package/lib/feature-descriptor/feature-descriptor-editor/components/widgets/index.js +0 -19
- package/lib/feature-descriptor/feature-details/FeatureCorrelatedFeaturesTable.js +0 -22
- package/lib/feature-descriptor/feature-details/FeatureDistributionChart.js +0 -218
- package/lib/feature-descriptor/feature-details/FeatureStatisticsTable.js +0 -44
- package/lib/feature-descriptor/feature-details/index.js +0 -20
- package/lib/feature-descriptor/feature-explanation/FeatureExplanation.js +0 -48
- package/lib/feature-descriptor/feature-explanation/components/ColoredExplanationBlock.js +0 -36
- package/lib/feature-descriptor/feature-explanation/components/ColumnExplanationBlock.js +0 -12
- package/lib/feature-descriptor/feature-explanation/components/DataSlotExplanationBlock.js +0 -12
- package/lib/feature-descriptor/feature-explanation/components/PetExplanationBlock.js +0 -11
- package/lib/feature-descriptor/feature-explanation/components/TextExplanationBlock.js +0 -10
- package/lib/feature-descriptor/feature-explanation/components/TextWithDataSlotContextExplanationBlock.js +0 -10
- package/lib/feature-descriptor/feature-explanation/components/TopicExplanationBlock.js +0 -10
- package/lib/feature-descriptor/feature-explanation/components/UnknownExplanationBlock.js +0 -10
- package/lib/feature-descriptors-domain/context/feature-domain-descriptions-selection.context.js +0 -37
- package/lib/feature-descriptors-domain/context/feature-domain-selection.context.js +0 -37
- package/lib/feature-descriptors-domain/context/index.js +0 -19
- package/lib/feature-descriptors-domain/exploration-path/exploration-path-header.js +0 -21
- package/lib/feature-descriptors-domain/exploration-path/exploration-path-join-list.js +0 -16
- package/lib/feature-descriptors-domain/exploration-path/index.js +0 -19
- package/lib/feature-descriptors-domain/fd-grouped-domain-tree.js +0 -81
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/column-tree-item.js +0 -17
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/descriptions-tree-item.js +0 -49
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/selection-indicator-with-label.js +0 -40
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/components/type-tree-item.js +0 -16
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/feature-descriptor-domain-descriptions-context.js +0 -43
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/feature-descriptor-domain-descriptions-tree.js +0 -57
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/column-tree-item.js +0 -17
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/description-tree-item.js +0 -2
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/descriptions-tree-item.js +0 -49
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/selection-indicator-with-label.js +0 -19
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/tree-item-label.js +0 -15
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/tree-level-item.js +0 -54
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/components/type-tree-item.js +0 -16
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/feature-descriptor-domain-descriptions-tree.js +0 -55
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/feature-descriptor-domain-descriptions-tree.model.js +0 -2
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/utils/filter-domain-descriptions.js +0 -21
- package/lib/feature-descriptors-domain/feature-descriptor-domain-descriptions-tree/utils/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-descriptor-grouped-domain-tree.js +0 -87
- package/lib/feature-descriptors-domain/feature-domain-descriptions/components/column-tree-item.js +0 -16
- package/lib/feature-descriptors-domain/feature-domain-descriptions/components/descriptions-tree-item.js +0 -50
- package/lib/feature-descriptors-domain/feature-domain-descriptions/components/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-domain-descriptions/components/selection-indicator-with-label.js +0 -67
- package/lib/feature-descriptors-domain/feature-domain-descriptions/components/type-tree-item.js +0 -19
- package/lib/feature-descriptors-domain/feature-domain-descriptions/feature-domain-descriptions-context.js +0 -37
- package/lib/feature-descriptors-domain/feature-domain-descriptions/feature-domain-descriptions-tree.js +0 -51
- package/lib/feature-descriptors-domain/feature-domain-descriptions/index.js +0 -18
- package/lib/feature-descriptors-domain/feature-exploration-path/exploration-path-header.js +0 -38
- package/lib/feature-descriptors-domain/feature-exploration-path/exploration-path-join-list.js +0 -36
- package/lib/feature-descriptors-domain/feature-exploration-path/index.js +0 -19
- package/lib/feature-descriptors-domain/grouped-domains-descriptions-list.js +0 -58
- package/lib/feature-descriptors-domain/selected-feature-domain-context.js +0 -2
- package/lib/feature-descriptors-domain/utils/filter-domain-descriptions.js +0 -23
- package/lib/feature-descriptors-domain/utils/filter-grouped-domain-descriptions.js +0 -23
- package/lib/feature-descriptors-domain/utils/index.js +0 -18
- package/lib/models/feature/feature-leaderboard.js +0 -3
- package/lib/models/feature-descriptor/feature-descriptors-domain.js +0 -3
- package/lib/models/feature-descriptors-domain/fd-domain-description.js +0 -9
- package/lib/models/feature-descriptors-domain/fd-grouped-domain-descriptions.js +0 -3
- package/lib/models/feature-descriptors-domain/index.js +0 -19
- package/lib/models/feature-space/feature-space-description.js +0 -3
- package/lib/models/index.js +0 -2
- package/lib/utils/model-transform-hook.js +0 -21
- package/lib/utils/set.js +0 -14
- package/lib/utils/widget/index.js +0 -19
- package/lib/utils/widget/widget-model-context.js +0 -38
- package/lib/utils/widget/widget-model.js +0 -30
- package/lib/widgets/feature-leaderboard/FeatureLeaderboardEntries.js +0 -18
- package/lib/widgets/feature-leaderboard/entry-item/FeatureLeaderboardEntryDetails.js +0 -23
- package/lib/widgets/feature-leaderboard/entry-item/FeatureLeaderboardEntryHeader.js +0 -35
- package/lib/widgets/feature-leaderboard/entry-item/FeatureLeaderboardEntryItem.js +0 -22
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntry.js +0 -19
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryRow.js +0 -23
- package/lib/widgets/feature-leaderboard/leaderboard-overview/overview-metric-slider.js +0 -2
- package/lib/widgets/feature-space/FeatureSpaceDomain.js +0 -75
- package/lib/widgets/feature-space/FeatureSpaceDomainDescriptions.js +0 -80
- package/lib/widgets/feature-space/FeatureSpaceDomainsDescriptions.js +0 -88
|
@@ -1,113 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
})
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AggregationEditor = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const feature_descriptor_1 = require("../../models/feature-descriptor");
|
|
9
|
+
const components_1 = require("./components");
|
|
10
|
+
const context_1 = require("./context");
|
|
11
|
+
const AggregationEditorTemplate = {
|
|
12
|
+
[feature_descriptor_1.Aggregation.Type.AbsoluteTemporalChangeCountRecords]: components_1.TemporalChangeCountEditor,
|
|
13
|
+
[feature_descriptor_1.Aggregation.Type.AbsoluteTemporalChangeMax]: components_1.TemporalChangeEditor,
|
|
14
|
+
[feature_descriptor_1.Aggregation.Type.AbsoluteTemporalChangeMean]: components_1.TemporalChangeEditor,
|
|
15
|
+
[feature_descriptor_1.Aggregation.Type.AbsoluteTemporalChangeMin]: components_1.TemporalChangeEditor,
|
|
16
|
+
[feature_descriptor_1.Aggregation.Type.AbsoluteTemporalChangeSum]: components_1.TemporalChangeEditor,
|
|
17
|
+
[feature_descriptor_1.Aggregation.Type.AnyBetween]: props => [
|
|
18
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
19
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.lower_edge" }),
|
|
20
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.upper_edge" }),
|
|
21
|
+
],
|
|
22
|
+
[feature_descriptor_1.Aggregation.Type.AnyValue]: props => [
|
|
23
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
24
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.value" }),
|
|
25
|
+
],
|
|
26
|
+
[feature_descriptor_1.Aggregation.Type.AsIs]: props => [
|
|
27
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column", tableColumns: props.tableColumns }),
|
|
28
|
+
],
|
|
29
|
+
[feature_descriptor_1.Aggregation.Type.C3]: props => [
|
|
30
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_time_field", tableColumns: props.tableColumns }),
|
|
31
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_field", tableColumns: props.tableColumns }),
|
|
32
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.lag" }),
|
|
33
|
+
],
|
|
34
|
+
[feature_descriptor_1.Aggregation.Type.CWT]: props => [
|
|
35
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_time_field", tableColumns: props.tableColumns }),
|
|
36
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_field", tableColumns: props.tableColumns }),
|
|
37
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.index" }),
|
|
38
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.width" }),
|
|
39
|
+
],
|
|
40
|
+
[feature_descriptor_1.Aggregation.Type.ClosestTimeDifference]: props => [
|
|
41
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_field", tableColumns: props.tableColumns }),
|
|
42
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.target_field", tableColumns: props.tableColumns }),
|
|
43
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.shift" }),
|
|
44
|
+
],
|
|
45
|
+
[feature_descriptor_1.Aggregation.Type.Count]: props => [
|
|
46
|
+
react_1.default.createElement(components_1.TableInlineField, { field: "aggregation.field", tables: Object.keys(props.tableColumns) }),
|
|
47
|
+
],
|
|
48
|
+
[feature_descriptor_1.Aggregation.Type.CountBetween]: props => [
|
|
49
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
50
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.lower_edge" }),
|
|
51
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.upper_edge" }),
|
|
52
|
+
],
|
|
53
|
+
[feature_descriptor_1.Aggregation.Type.CountOfValue]: props => [
|
|
54
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
55
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.value" }),
|
|
56
|
+
],
|
|
57
|
+
[feature_descriptor_1.Aggregation.Type.CountRecords]: props => [
|
|
58
|
+
react_1.default.createElement(components_1.TableInlineField, { field: "aggregation.table", tables: Object.keys(props.tableColumns) }),
|
|
59
|
+
],
|
|
60
|
+
[feature_descriptor_1.Aggregation.Type.CountUnique]: (0, components_1.ColumnEditor)(),
|
|
61
|
+
[feature_descriptor_1.Aggregation.Type.DayOfWeek]: props => {
|
|
62
|
+
return [
|
|
63
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column", tableColumns: props.tableColumns }),
|
|
64
|
+
];
|
|
65
|
+
},
|
|
66
|
+
[feature_descriptor_1.Aggregation.Type.Distance]: components_1.DistanceEditor,
|
|
67
|
+
[feature_descriptor_1.Aggregation.Type.Exist]: props => [
|
|
68
|
+
react_1.default.createElement(components_1.TableInlineField, { field: "aggregation.table", tables: Object.keys(props.tableColumns) }),
|
|
69
|
+
],
|
|
70
|
+
[feature_descriptor_1.Aggregation.Type.GridTargetMeanEncode]: props => [
|
|
71
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.latitude_field", tableColumns: props.tableColumns }),
|
|
72
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.longitude_field", tableColumns: props.tableColumns }),
|
|
73
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.encoder_id" }),
|
|
74
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.distance" }),
|
|
75
|
+
],
|
|
76
|
+
[feature_descriptor_1.Aggregation.Type.HistogramEqualityRatio]: props => [
|
|
77
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
78
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.value" }),
|
|
79
|
+
],
|
|
80
|
+
[feature_descriptor_1.Aggregation.Type.Hour]: (0, components_1.ColumnEditor)(),
|
|
81
|
+
[feature_descriptor_1.Aggregation.Type.LatestKMax]: components_1.LastKEditor,
|
|
82
|
+
[feature_descriptor_1.Aggregation.Type.LatestKMaxMinusMin]: components_1.LastKEditor,
|
|
83
|
+
[feature_descriptor_1.Aggregation.Type.LatestKMean]: components_1.LastKEditor,
|
|
84
|
+
[feature_descriptor_1.Aggregation.Type.LatestKMin]: components_1.LastKEditor,
|
|
85
|
+
[feature_descriptor_1.Aggregation.Type.LatestKStd]: components_1.LastKEditor,
|
|
86
|
+
[feature_descriptor_1.Aggregation.Type.LatestKSum]: components_1.LastKEditor,
|
|
87
|
+
[feature_descriptor_1.Aggregation.Type.LatestTimeDifference]: props => [
|
|
88
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.target_field", tableColumns: props.tableColumns }),
|
|
89
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_field", tableColumns: props.tableColumns }),
|
|
90
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.shift" }),
|
|
91
|
+
],
|
|
92
|
+
[feature_descriptor_1.Aggregation.Type.Max]: (0, components_1.ColumnEditor)(),
|
|
93
|
+
[feature_descriptor_1.Aggregation.Type.MaxDistance]: components_1.DistanceEditor,
|
|
94
|
+
[feature_descriptor_1.Aggregation.Type.MaxInterval]: (0, components_1.ColumnEditor)(),
|
|
95
|
+
[feature_descriptor_1.Aggregation.Type.Mean]: (0, components_1.ColumnEditor)('field'),
|
|
96
|
+
[feature_descriptor_1.Aggregation.Type.MeanDistance]: components_1.DistanceEditor,
|
|
97
|
+
[feature_descriptor_1.Aggregation.Type.MeanInterval]: (0, components_1.ColumnEditor)(),
|
|
98
|
+
[feature_descriptor_1.Aggregation.Type.MeanTimeDifference]: props => {
|
|
99
|
+
return [
|
|
100
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column1", tableColumns: props.tableColumns }),
|
|
101
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column2", tableColumns: props.tableColumns }),
|
|
102
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.unit" }),
|
|
103
|
+
];
|
|
104
|
+
},
|
|
105
|
+
[feature_descriptor_1.Aggregation.Type.Min]: (0, components_1.ColumnEditor)(),
|
|
106
|
+
[feature_descriptor_1.Aggregation.Type.MinDistance]: components_1.DistanceEditor,
|
|
107
|
+
[feature_descriptor_1.Aggregation.Type.MinInterval]: (0, components_1.ColumnEditor)(),
|
|
108
|
+
[feature_descriptor_1.Aggregation.Type.Month]: (0, components_1.ColumnEditor)(),
|
|
109
|
+
[feature_descriptor_1.Aggregation.Type.N1RedundantMean]: (0, components_1.ColumnEditor)('field'),
|
|
110
|
+
[feature_descriptor_1.Aggregation.Type.N1RedundantNullRatio]: (0, components_1.ColumnEditor)('field'),
|
|
111
|
+
[feature_descriptor_1.Aggregation.Type.N1RedundantRatioOfValue]: props => [
|
|
112
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
113
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.ratio_value" }),
|
|
114
|
+
react_1.default.createElement(components_1.BooleanInlineField, { field: "aggregation.null_inclusion" }),
|
|
115
|
+
],
|
|
116
|
+
[feature_descriptor_1.Aggregation.Type.N1RedundantSum]: (0, components_1.ColumnEditor)('field'),
|
|
117
|
+
[feature_descriptor_1.Aggregation.Type.N1RedundantTopicWeightMean]: props => [
|
|
118
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.text_topic_field", tableColumns: props.tableColumns }),
|
|
119
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.original_text_column_name", tableColumns: props.tableColumns }),
|
|
120
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.ratio_value" }),
|
|
121
|
+
],
|
|
122
|
+
[feature_descriptor_1.Aggregation.Type.N1RedundantTopicWeightSum]: props => [
|
|
123
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.text_topic_field", tableColumns: props.tableColumns }),
|
|
124
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.original_text_column_name", tableColumns: props.tableColumns }),
|
|
125
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.ratio_value" }),
|
|
126
|
+
],
|
|
127
|
+
[feature_descriptor_1.Aggregation.Type.NgramCount]: props => [
|
|
128
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
129
|
+
react_1.default.createElement(components_1.ChipInlineField, { field: "aggregation.ngram" }),
|
|
130
|
+
],
|
|
131
|
+
[feature_descriptor_1.Aggregation.Type.NonBusinessDays]: (0, components_1.ColumnEditor)(),
|
|
132
|
+
[feature_descriptor_1.Aggregation.Type.NullRatio]: props => [
|
|
133
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
134
|
+
],
|
|
135
|
+
[feature_descriptor_1.Aggregation.Type.RatioBetween]: props => [
|
|
136
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
137
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.lower_edge" }),
|
|
138
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.upper_edge" }),
|
|
139
|
+
],
|
|
140
|
+
[feature_descriptor_1.Aggregation.Type.RatioOfValue]: props => [
|
|
141
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
142
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.ratio_value" }),
|
|
143
|
+
react_1.default.createElement(components_1.BooleanInlineField, { field: "aggregation.null_inclusion" }),
|
|
144
|
+
],
|
|
145
|
+
[feature_descriptor_1.Aggregation.Type.Std]: (0, components_1.ColumnEditor)('field'),
|
|
146
|
+
[feature_descriptor_1.Aggregation.Type.StdDistance]: components_1.DistanceEditor,
|
|
147
|
+
[feature_descriptor_1.Aggregation.Type.StdInterval]: (0, components_1.ColumnEditor)(),
|
|
148
|
+
[feature_descriptor_1.Aggregation.Type.SumDistance]: components_1.DistanceEditor,
|
|
149
|
+
[feature_descriptor_1.Aggregation.Type.StdTimeDifference]: props => [
|
|
150
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column1", tableColumns: props.tableColumns }),
|
|
151
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column2", tableColumns: props.tableColumns }),
|
|
152
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.unit" }),
|
|
153
|
+
],
|
|
154
|
+
[feature_descriptor_1.Aggregation.Type.Sum]: (0, components_1.ColumnEditor)(),
|
|
155
|
+
[feature_descriptor_1.Aggregation.Type.SumDistance]: components_1.DistanceEditor,
|
|
156
|
+
[feature_descriptor_1.Aggregation.Type.TargetMeanEncode]: props => [
|
|
157
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.field", tableColumns: props.tableColumns }),
|
|
158
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "aggregation.encoder_id" }),
|
|
159
|
+
],
|
|
160
|
+
[feature_descriptor_1.Aggregation.Type.TargetTimeDifference]: props => [
|
|
161
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.source_field", tableColumns: props.tableColumns }),
|
|
162
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.target_field", tableColumns: props.tableColumns }),
|
|
163
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.shift" }),
|
|
164
|
+
],
|
|
165
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeCountRecords]: components_1.TemporalChangeCountEditor,
|
|
166
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeMax]: components_1.TemporalChangeEditor,
|
|
167
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeMean]: components_1.TemporalChangeEditor,
|
|
168
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeMin]: components_1.TemporalChangeEditor,
|
|
169
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeSum]: components_1.TemporalChangeEditor,
|
|
170
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeRatioCountRecords]: components_1.TemporalChangeCountEditor,
|
|
171
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeRatioMax]: components_1.TemporalChangeEditor,
|
|
172
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeRatioMean]: components_1.TemporalChangeEditor,
|
|
173
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeRatioMin]: components_1.TemporalChangeEditor,
|
|
174
|
+
[feature_descriptor_1.Aggregation.Type.TemporalChangeRatioSum]: components_1.TemporalChangeEditor,
|
|
175
|
+
[feature_descriptor_1.Aggregation.Type.TimeDifference]: props => [
|
|
176
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column1", tableColumns: props.tableColumns }),
|
|
177
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "aggregation.column2", tableColumns: props.tableColumns }),
|
|
178
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "aggregation.unit" }),
|
|
179
|
+
],
|
|
180
|
+
[feature_descriptor_1.Aggregation.Type.TopicWeightMax]: components_1.TopicEditor,
|
|
181
|
+
[feature_descriptor_1.Aggregation.Type.TopicWeightMean]: components_1.TopicEditor,
|
|
182
|
+
[feature_descriptor_1.Aggregation.Type.TopicWeightMin]: components_1.TopicEditor,
|
|
183
|
+
[feature_descriptor_1.Aggregation.Type.TopicWeightSum]: components_1.TopicEditor,
|
|
184
|
+
[feature_descriptor_1.Aggregation.Type.TopicWeightValue]: components_1.TopicEditor,
|
|
185
|
+
};
|
|
186
|
+
const AggregationEditor = ({ tableColumns }) => {
|
|
187
|
+
var _a;
|
|
188
|
+
const [state, dispatch] = (0, context_1.useFeatureDescriptorEditorContext)();
|
|
189
|
+
const aggregationDraft = state.aggregation;
|
|
190
|
+
const [isSummaryVisible, setIsSummaryVisible] = react_1.default.useState(true);
|
|
191
|
+
const templates = aggregationDraft.type
|
|
192
|
+
? (_a = AggregationEditorTemplate[aggregationDraft.type]) === null || _a === void 0 ? void 0 : _a.call(AggregationEditorTemplate, {
|
|
193
|
+
tableColumns,
|
|
194
|
+
})
|
|
195
|
+
: [];
|
|
196
|
+
return (react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'center' } },
|
|
197
|
+
react_1.default.createElement("div", { style: { display: 'inline-flex', height: '26px', alignItems: 'center' } }, isSummaryVisible ? (react_1.default.createElement("span", { className: "inline-displayed-value", onClick: () => setIsSummaryVisible(false) }, aggregationDraft.type)) : (react_1.default.createElement("span", { style: { width: '300px', marginTop: '6px' } },
|
|
198
|
+
react_1.default.createElement(components_1.AggregationTypeSelector, { onBlur: () => {
|
|
199
|
+
setIsSummaryVisible(true);
|
|
200
|
+
}, selectedType: state.aggregation.type, onTypeChange: aggregationType => {
|
|
201
|
+
dispatch(context_1.FeatureDescriptorEditorActions.Aggregation.setType({
|
|
202
|
+
aggregationType,
|
|
203
|
+
}));
|
|
204
|
+
} })))),
|
|
205
|
+
"(",
|
|
206
|
+
react_1.default.createElement(components_1.EditorTemplateRenderer, { templates: templates }),
|
|
207
|
+
")"));
|
|
208
|
+
};
|
|
209
|
+
exports.AggregationEditor = AggregationEditor;
|
|
113
210
|
//# sourceMappingURL=AggregationEditor.js.map
|
|
@@ -1,25 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
react_1.default.createElement(
|
|
20
|
-
react_1.default.createElement("
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FeatureDescriptorEditor = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const AggregationEditor_1 = require("./AggregationEditor");
|
|
9
|
+
const FilterEditor_1 = require("./FilterEditor");
|
|
10
|
+
const JoinEditor_1 = require("./JoinEditor");
|
|
11
|
+
const FeatureOperationEditorWrapper = (props) => {
|
|
12
|
+
return (react_1.default.createElement("div", { style: { display: 'flex' } },
|
|
13
|
+
react_1.default.createElement("span", { style: {
|
|
14
|
+
width: '110px',
|
|
15
|
+
marginRight: '5px',
|
|
16
|
+
lineHeight: '26px',
|
|
17
|
+
display: 'flex',
|
|
18
|
+
justifyContent: 'space-between',
|
|
19
|
+
} },
|
|
20
|
+
react_1.default.createElement("span", { style: { marginLeft: '20px' } }, props.label),
|
|
21
|
+
react_1.default.createElement("span", { className: "equal-sign" }, "=")),
|
|
22
|
+
props.children));
|
|
23
|
+
};
|
|
24
|
+
const FeatureDescriptorEditor = (props) => {
|
|
25
|
+
return (react_1.default.createElement("div", { className: "feature-descriptor-editor" },
|
|
26
|
+
"FeatureDescriptor(",
|
|
27
|
+
react_1.default.createElement(FeatureOperationEditorWrapper, { label: "join" },
|
|
28
|
+
react_1.default.createElement(JoinEditor_1.JoinEditor, { tableColumns: props.tableColumns })),
|
|
29
|
+
react_1.default.createElement(FeatureOperationEditorWrapper, { label: "filter" },
|
|
30
|
+
react_1.default.createElement(FilterEditor_1.FilterEditor, { tableColumns: props.tableColumns })),
|
|
31
|
+
react_1.default.createElement(FeatureOperationEditorWrapper, { label: "aggregation" },
|
|
32
|
+
react_1.default.createElement(AggregationEditor_1.AggregationEditor, { tableColumns: props.tableColumns })),
|
|
33
|
+
")"));
|
|
34
|
+
};
|
|
35
|
+
exports.FeatureDescriptorEditor = FeatureDescriptorEditor;
|
|
25
36
|
//# sourceMappingURL=FeatureDescriptorEditor.js.map
|
|
@@ -1,65 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
4
|
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
react_1.default.createElement(components_1.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
react_1.default.createElement(components_1.
|
|
43
|
-
]
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FilterEditor = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const feature_descriptor_1 = require("../../models/feature-descriptor");
|
|
9
|
+
const context_1 = require("./context");
|
|
10
|
+
const components_1 = require("./components");
|
|
11
|
+
const FilterEditorTemplate = {
|
|
12
|
+
[feature_descriptor_1.Filter.Type.Above]: props => [
|
|
13
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
14
|
+
react_1.default.createElement(components_1.NumberInlineField, { key: Math.random(), field: "filter.min_inclusive" }),
|
|
15
|
+
],
|
|
16
|
+
[feature_descriptor_1.Filter.Type.Below]: props => [
|
|
17
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
18
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "filter.max_exclusive" }),
|
|
19
|
+
],
|
|
20
|
+
[feature_descriptor_1.Filter.Type.Between]: props => [
|
|
21
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
22
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "filter.min_inclusive" }),
|
|
23
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "filter.max_exclusive" }),
|
|
24
|
+
],
|
|
25
|
+
[feature_descriptor_1.Filter.Type.FullPass]: () => [],
|
|
26
|
+
[feature_descriptor_1.Filter.Type.HourOfDay]: props => {
|
|
27
|
+
return [
|
|
28
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
29
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "filter.min_hour_inclusive" }),
|
|
30
|
+
react_1.default.createElement(components_1.NumberInlineField, { field: "filter.max_hour_exclusive" }),
|
|
31
|
+
];
|
|
32
|
+
},
|
|
33
|
+
[feature_descriptor_1.Filter.Type.NgramFilter]: props => [
|
|
34
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
35
|
+
react_1.default.createElement(components_1.ChipInlineField, { field: "filter.ngram" }),
|
|
36
|
+
],
|
|
37
|
+
[feature_descriptor_1.Filter.Type.Value]: props => [
|
|
38
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
39
|
+
react_1.default.createElement(components_1.StringInlineField, { field: "filter.value" }),
|
|
40
|
+
],
|
|
41
|
+
[feature_descriptor_1.Filter.Type.Weekday]: props => {
|
|
42
|
+
return [
|
|
43
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
44
|
+
];
|
|
45
|
+
},
|
|
46
|
+
[feature_descriptor_1.Filter.Type.Weekend]: props => {
|
|
47
|
+
return [
|
|
48
|
+
react_1.default.createElement(components_1.TableColumnInlineField, { field: "filter.column", tableColumns: props.tableColumns }),
|
|
49
|
+
];
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
const FilterEditor = ({ tableColumns }) => {
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
const [state, dispatch] = (0, context_1.useFeatureDescriptorEditorContext)();
|
|
55
|
+
const filterDraft = state.filter;
|
|
56
|
+
const [isSummaryVisible, setIsSummaryVisible] = react_1.default.useState(true);
|
|
57
|
+
const templates = (_c = (_b = ((filterDraft === null || filterDraft === void 0 ? void 0 : filterDraft.type) &&
|
|
58
|
+
((_a = FilterEditorTemplate[filterDraft.type]) === null || _a === void 0 ? void 0 : _a.call(FilterEditorTemplate, {
|
|
59
|
+
tableColumns,
|
|
60
|
+
})))) !== null && _b !== void 0 ? _b : []) !== null && _c !== void 0 ? _c : [];
|
|
61
|
+
return (react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'center' } },
|
|
62
|
+
react_1.default.createElement("div", { style: { display: 'inline-flex', height: '26px', alignItems: 'center' } }, isSummaryVisible ? (react_1.default.createElement("span", { className: "inline-displayed-value", onClick: () => setIsSummaryVisible(false) }, filterDraft.type)) : (react_1.default.createElement("span", { style: { width: '130px', marginTop: '6px' } },
|
|
63
|
+
react_1.default.createElement(components_1.FilterTypeSelector, { onBlur: () => {
|
|
64
|
+
setIsSummaryVisible(true);
|
|
65
|
+
}, selectedType: filterDraft.type, onTypeChange: filterType => {
|
|
66
|
+
dispatch(context_1.FeatureDescriptorEditorActions.Filter.setType({ filterType }));
|
|
67
|
+
} })))),
|
|
68
|
+
"(",
|
|
69
|
+
react_1.default.createElement(components_1.EditorTemplateRenderer, { templates: templates }),
|
|
70
|
+
")"));
|
|
71
|
+
};
|
|
72
|
+
exports.FilterEditor = FilterEditor;
|
|
65
73
|
//# sourceMappingURL=FilterEditor.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.JoinEditor = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const material_1 = require("@mui/material");
|
|
9
|
+
const Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
|
|
10
|
+
const components_1 = require("./components");
|
|
11
|
+
const context_1 = require("./context");
|
|
12
|
+
const JoinEditor = ({ tableColumns }) => {
|
|
13
|
+
const [state, dispatch] = (0, context_1.useFeatureDescriptorEditorContext)();
|
|
14
|
+
function addCondition() {
|
|
15
|
+
dispatch(context_1.FeatureDescriptorEditorActions.Join.addNewCondition());
|
|
16
|
+
}
|
|
17
|
+
function removeCondition(id) {
|
|
18
|
+
dispatch(context_1.FeatureDescriptorEditorActions.Join.removeCondition({ id }));
|
|
19
|
+
}
|
|
20
|
+
const tables = Object.keys(tableColumns);
|
|
21
|
+
return (react_1.default.createElement("div", { style: { display: 'inline-flex' } },
|
|
22
|
+
react_1.default.createElement("div", { style: {
|
|
23
|
+
height: '26px',
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
whiteSpace: 'nowrap',
|
|
26
|
+
} },
|
|
27
|
+
"Join(",
|
|
28
|
+
react_1.default.createElement(components_1.TableInlineField, { field: "join.target_table", tables: tables }),
|
|
29
|
+
' ',
|
|
30
|
+
react_1.default.createElement("span", { style: { marginRight: '6px' } }, ","),
|
|
31
|
+
react_1.default.createElement(components_1.TableInlineField, { field: "join.source_table", tables: tables }),
|
|
32
|
+
' ',
|
|
33
|
+
react_1.default.createElement("span", { style: { marginRight: '6px' } }, ","),
|
|
34
|
+
"join_conditions=["),
|
|
35
|
+
react_1.default.createElement("div", null,
|
|
36
|
+
react_1.default.createElement("div", null, react_1.default.createElement(react_1.default.Fragment, null, state.join.join_conditions.map((condition, idx) => {
|
|
37
|
+
return (react_1.default.createElement("div", { key: condition.id, style: {
|
|
38
|
+
display: 'flex',
|
|
39
|
+
alignItems: 'flex-start',
|
|
40
|
+
} },
|
|
41
|
+
react_1.default.createElement(material_1.IconButton, { color: "default", style: { height: '26px' }, onClick: () => removeCondition(condition.id) },
|
|
42
|
+
react_1.default.createElement(Delete_1.default, { style: { width: '16px' } })),
|
|
43
|
+
react_1.default.createElement(components_1.JoinConditionEditor, { conditionId: condition.id, tableColumns: tableColumns }),
|
|
44
|
+
idx + 1 === state.join.join_conditions.length && (react_1.default.createElement("span", { style: { alignSelf: 'center', marginLeft: '6px' } },
|
|
45
|
+
"])",
|
|
46
|
+
react_1.default.createElement(material_1.Button, { variant: "text", onClick: addCondition }, "+ add new join")))));
|
|
47
|
+
}))))));
|
|
48
|
+
};
|
|
49
|
+
exports.JoinEditor = JoinEditor;
|
|
50
|
+
//# sourceMappingURL=JoinEditor.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EditorTemplateRenderer = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function EditorTemplateRenderer(props) {
|
|
9
|
+
return (react_1.default.createElement(react_1.default.Fragment, null, props.templates.map((fieldWidget, idx) => (react_1.default.createElement(react_1.default.Fragment, null,
|
|
10
|
+
fieldWidget,
|
|
11
|
+
idx + 1 < props.templates.length ? (react_1.default.createElement("span", { style: { marginRight: '3px' } }, ",")) : null)))));
|
|
12
|
+
}
|
|
13
|
+
exports.EditorTemplateRenderer = EditorTemplateRenderer;
|
|
14
|
+
//# sourceMappingURL=EditorTemplateRenderer.js.map
|