dotdata_widgets 0.0.29 → 0.0.121
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/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/lib/components/column-source-type-icons/index.js +13 -1
- package/lib/components/column-source-type-icons/source-type-biginteger.js +14 -0
- package/lib/components/column-source-type-icons/source-type-boolean.js +14 -0
- package/lib/components/column-source-type-icons/source-type-date.js +14 -0
- package/lib/components/column-source-type-icons/source-type-double.js +16 -0
- package/lib/components/column-source-type-icons/source-type-float.js +14 -0
- package/lib/components/column-source-type-icons/source-type-integer.js +14 -0
- package/lib/components/column-source-type-icons/source-type-long.js +16 -0
- package/lib/components/column-source-type-icons/source-type-short.js +16 -0
- package/lib/components/column-source-type-icons/source-type-string.js +14 -0
- package/lib/components/column-source-type-icons/source-type-struct.js +16 -0
- package/lib/components/column-source-type-icons/source-type-timestamp.js +14 -0
- package/lib/components/column-source-type-icons/source-type-unknown.js +16 -0
- package/lib/components/column-source-type-icons/source-type-vectorudt.js +16 -0
- package/lib/feature/feature-user-explanation/{FeatureUserExplanation.js → FeatureUserExplanationEditor.js} +4 -4
- package/lib/feature/feature-user-explanation/index.js +1 -1
- package/lib/feature-descriptor/feature-descriptor-editor/AggregationEditor.js +18 -19
- package/lib/feature-descriptor/feature-descriptor-editor/FilterEditor.js +56 -36
- package/lib/feature-descriptor/feature-descriptor-editor/JoinEditor.js +7 -1
- package/lib/feature-descriptor/feature-descriptor-editor/components/EditorTemplateRenderer.js +6 -3
- package/lib/feature-descriptor/feature-descriptor-editor/components/EditorWrapper.js +19 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ChipField.js +6 -2
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ColumnField.js +25 -16
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/NumberField.js +6 -2
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/StringField.js +6 -2
- package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/TableColumnField.js +5 -1
- package/lib/feature-descriptor/feature-descriptor-editor/components/filter/FilterTableColumnInlineEditor.js +13 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/filter/index.js +1 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/index.js +1 -0
- package/lib/feature-descriptor/feature-descriptor-editor/components/join/JoinConditionEditor.js +25 -30
- package/lib/feature-descriptor/feature-descriptor-editor/context/feature-descriptor-editor.js +1 -13
- package/lib/feature-descriptor/feature-descriptor-editor/models/aggregation-draft.js +1 -3
- package/lib/feature-descriptor/feature-descriptor-editor/models/filter-draft.js +84 -50
- package/lib/feature-descriptor/feature-exploration-path/exploration-path-header.js +0 -4
- package/lib/models/column/column.js +10 -16
- package/lib/models/column/table-columns.js +0 -13
- package/lib/models/feature-descriptor/fd_data/aggregation.js +0 -2
- package/lib/models/feature-descriptor/fd_data/filter.js +1 -14
- package/lib/models/feature-descriptor/fd_data/join.js +1 -8
- package/lib/widgets/feature-leaderboard/FeatureLeaderboardOverview.js +2 -2
- package/lib/widgets/feature-leaderboard/FeatureLeaderboardView.js +28 -28
- package/lib/widgets/feature-leaderboard/components/{LeaderboardFeatureLikes.js → FeatureLeaderboardFeatureLikes.js} +4 -4
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryDrawer.js +10 -47
- package/lib/widgets/feature-leaderboard/leaderboard-entry/feature-leaderboard-entry-drawer-header/FeatureLeaderboardEntryActions.js +39 -0
- package/lib/widgets/feature-leaderboard/leaderboard-entry/feature-leaderboard-entry-drawer-header/FeatureLeaderboardEntryDrawerHeader.js +35 -0
- package/lib/widgets/feature-leaderboard/leaderboard-entry/feature-leaderboard-entry-drawer-header/FeatureLeaderboardEntryExplanation.js +34 -0
- package/lib/widgets/feature-leaderboard/leaderboard-entry/feature-leaderboard-entry-drawer-header/index.js +18 -0
- package/package.json +2 -1
- package/lib/components/column-source-type-icons/source-type-int.js +0 -16
- package/lib/models/feature-descriptor/fd_data/utils.js +0 -25
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardEntryHeader.js +0 -15
- package/lib/widgets/feature-leaderboard/leaderboard-entry/FeatureLeaderboardUserExplanation.js +0 -28
package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/ColumnField.js
CHANGED
|
@@ -10,29 +10,38 @@ const column_1 = require("../../../../models/column");
|
|
|
10
10
|
const _utils_1 = require("../../../../utils");
|
|
11
11
|
const column_source_type_icons_1 = require("../../../../components/column-source-type-icons");
|
|
12
12
|
const _InlineEditorField_1 = require("./_InlineEditorField");
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
14
|
-
// @ts-ignore
|
|
15
13
|
const sourceTypeIcon = {
|
|
16
|
-
[column_1.Column.SourceType.
|
|
17
|
-
[column_1.Column.SourceType.
|
|
18
|
-
[column_1.Column.SourceType.Double]: react_1.default.createElement(column_source_type_icons_1.
|
|
19
|
-
[column_1.Column.SourceType.
|
|
20
|
-
[column_1.Column.SourceType.
|
|
21
|
-
[column_1.Column.SourceType.
|
|
22
|
-
[column_1.Column.SourceType.
|
|
14
|
+
[column_1.Column.SourceType.Boolean]: react_1.default.createElement(column_source_type_icons_1.SourceTypeBoolean, { size: 20 }),
|
|
15
|
+
[column_1.Column.SourceType.Date]: react_1.default.createElement(column_source_type_icons_1.SourceTypeDate, { size: 20 }),
|
|
16
|
+
[column_1.Column.SourceType.Double]: react_1.default.createElement(column_source_type_icons_1.SourceTypeDouble, { size: 20 }),
|
|
17
|
+
[column_1.Column.SourceType.Float]: react_1.default.createElement(column_source_type_icons_1.SourceTypeFloat, { size: 20 }),
|
|
18
|
+
[column_1.Column.SourceType.Integer]: react_1.default.createElement(column_source_type_icons_1.SourceTypeInteger, { size: 20 }),
|
|
19
|
+
[column_1.Column.SourceType.BigInteger]: react_1.default.createElement(column_source_type_icons_1.SourceTypeBigInteger, { size: 20 }),
|
|
20
|
+
[column_1.Column.SourceType.Long]: react_1.default.createElement(column_source_type_icons_1.SourceTypeLong, { size: 20 }),
|
|
21
|
+
[column_1.Column.SourceType.Short]: react_1.default.createElement(column_source_type_icons_1.SourceTypeShort, { size: 20 }),
|
|
22
|
+
[column_1.Column.SourceType.String]: react_1.default.createElement(column_source_type_icons_1.SourceTypeString, { size: 20 }),
|
|
23
|
+
[column_1.Column.SourceType.Struct]: react_1.default.createElement(column_source_type_icons_1.SourceTypeStruct, { size: 20 }),
|
|
24
|
+
[column_1.Column.SourceType.Timestamp]: react_1.default.createElement(column_source_type_icons_1.SourceTypeTimestamp, { size: 20 }),
|
|
25
|
+
[column_1.Column.SourceType.VectorUDT]: react_1.default.createElement(column_source_type_icons_1.SourceTypeVectorUDT, { size: 20 }),
|
|
23
26
|
};
|
|
24
27
|
const ColumnWidget = (props) => {
|
|
28
|
+
var _a;
|
|
25
29
|
const selectedColumn = (0, _utils_1.isSet)(props.value)
|
|
26
30
|
? props.columns.find(({ name }) => name === props.value)
|
|
27
31
|
: undefined;
|
|
28
32
|
return (react_1.default.createElement("div", { style: { position: 'relative' } },
|
|
29
|
-
react_1.default.createElement(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
react_1.default.createElement("div", { style: { position: 'absolute', top: '2px' } }, selectedColumn
|
|
34
|
+
? (_a = sourceTypeIcon[selectedColumn.sourceType]) !== null && _a !== void 0 ? _a : (react_1.default.createElement(column_source_type_icons_1.SourceTypeUnknown, { size: 20 }))
|
|
35
|
+
: null),
|
|
36
|
+
react_1.default.createElement(material_1.Autocomplete, { style: { width: '180px' }, sx: {
|
|
37
|
+
'& .MuiInput-root.MuiInputBase-sizeSmall .MuiInput-input': {
|
|
38
|
+
paddingLeft: selectedColumn ? '26px' : 'revert',
|
|
39
|
+
},
|
|
40
|
+
}, options: props.columns, getOptionLabel: (column) => column.name, renderOption: (props, column) => {
|
|
41
|
+
var _a;
|
|
42
|
+
return (react_1.default.createElement(material_1.Box, Object.assign({ component: "li", style: { display: 'flex', alignItems: 'center', gap: '4px' } }, props), (_a = sourceTypeIcon[column.sourceType]) !== null && _a !== void 0 ? _a : (react_1.default.createElement(column_source_type_icons_1.SourceTypeUnknown, { size: 20 })),
|
|
43
|
+
column.name));
|
|
44
|
+
}, value: selectedColumn !== null && selectedColumn !== void 0 ? selectedColumn : null, size: "small", autoComplete: true, blurOnSelect: true, onBlur: props.onBlur, onChange: (e, value) => {
|
|
36
45
|
var _a;
|
|
37
46
|
e.stopPropagation();
|
|
38
47
|
if (value) {
|
package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/NumberField.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.NumberInlineField = exports.NumberWidget = void 0;
|
|
6
|
+
exports.NumberInlineField = exports.NumberInlineEditor = exports.NumberWidget = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const material_1 = require("@mui/material");
|
|
9
9
|
const _InlineEditorField_1 = require("./_InlineEditorField");
|
|
@@ -11,6 +11,10 @@ function NumberWidget(props) {
|
|
|
11
11
|
return (react_1.default.createElement(material_1.TextField, { style: { width: '80px' }, value: props.value, variant: "standard", type: "number", autoFocus: true, onBlur: props.onBlur, onChange: e => props.onValueChange(Number(e.target.value)) }));
|
|
12
12
|
}
|
|
13
13
|
exports.NumberWidget = NumberWidget;
|
|
14
|
-
const
|
|
14
|
+
const NumberInlineEditor = (props) => {
|
|
15
|
+
return react_1.default.createElement(_InlineEditorField_1.InlineEditor, Object.assign({}, props, { widget: NumberWidget }));
|
|
16
|
+
};
|
|
17
|
+
exports.NumberInlineEditor = NumberInlineEditor;
|
|
18
|
+
const NumberInlineField = (props) => (react_1.default.createElement(_InlineEditorField_1.InlineEditorField, Object.assign({}, props, { widget: NumberWidget })));
|
|
15
19
|
exports.NumberInlineField = NumberInlineField;
|
|
16
20
|
//# sourceMappingURL=NumberField.js.map
|
package/lib/feature-descriptor/feature-descriptor-editor/components/field-widgets/StringField.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.StringInlineField = exports.StringWidget = void 0;
|
|
6
|
+
exports.StringInlineField = exports.StringInlineEditor = exports.StringWidget = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const material_1 = require("@mui/material");
|
|
9
9
|
const _InlineEditorField_1 = require("./_InlineEditorField");
|
|
@@ -11,6 +11,10 @@ function StringWidget(props) {
|
|
|
11
11
|
return (react_1.default.createElement(material_1.TextField, { style: { width: '120px' }, value: props.value, variant: "standard", autoFocus: true, onBlur: props.onBlur, onChange: e => props.onValueChange(e.target.value) }));
|
|
12
12
|
}
|
|
13
13
|
exports.StringWidget = StringWidget;
|
|
14
|
-
const
|
|
14
|
+
const StringInlineEditor = (props) => {
|
|
15
|
+
return react_1.default.createElement(_InlineEditorField_1.InlineEditor, Object.assign({}, props, { widget: StringWidget }));
|
|
16
|
+
};
|
|
17
|
+
exports.StringInlineEditor = StringInlineEditor;
|
|
18
|
+
const StringInlineField = (props) => (react_1.default.createElement(_InlineEditorField_1.InlineEditorField, Object.assign({}, props, { widget: StringWidget })));
|
|
15
19
|
exports.StringInlineField = StringInlineField;
|
|
16
20
|
//# sourceMappingURL=StringField.js.map
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TableColumnInlineField = exports.TableColumnWidget = void 0;
|
|
6
|
+
exports.TableColumnInlineField = exports.TableColumnInlineEditor = exports.TableColumnWidget = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const column_1 = require("../../../../models/column");
|
|
9
9
|
const _utils_1 = require("../../../../utils");
|
|
@@ -21,6 +21,10 @@ const TableColumnWidget = (props) => {
|
|
|
21
21
|
react_1.default.createElement(ColumnField_1.ColumnWidget, { columns: columns, value: (_c = props.value) === null || _c === void 0 ? void 0 : _c.name, onBlur: props.onBlur, onValueChange: props.onValueChange })));
|
|
22
22
|
};
|
|
23
23
|
exports.TableColumnWidget = TableColumnWidget;
|
|
24
|
+
const TableColumnInlineEditor = (props) => {
|
|
25
|
+
return (react_1.default.createElement(_InlineEditorField_1.InlineEditor, Object.assign({}, props, { widget: exports.TableColumnWidget, widgetProps: { tableColumns: props.tableColumns }, prettifyFn: column => column_1.FullColumnName.create(column) })));
|
|
26
|
+
};
|
|
27
|
+
exports.TableColumnInlineEditor = TableColumnInlineEditor;
|
|
24
28
|
const TableColumnInlineField = (props) => (react_1.default.createElement(_InlineEditorField_1.InlineEditorField, Object.assign({}, props, { widget: exports.TableColumnWidget, prettifyFn: column => column_1.FullColumnName.create(column), widgetProps: { tableColumns: props.tableColumns } })));
|
|
25
29
|
exports.TableColumnInlineField = TableColumnInlineField;
|
|
26
30
|
function getAdtColumns(tableColumns, tableName) {
|
|
@@ -0,0 +1,13 @@
|
|
|
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.FilterTableColumnInlineEditor = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const field_widgets_1 = require("../field-widgets");
|
|
9
|
+
const FilterTableColumnInlineEditor = (props) => {
|
|
10
|
+
return (react_1.default.createElement(field_widgets_1.TableColumnInlineEditor, { label: "column", value: props.filter.column, onValueChange: column => props.onFilterChange(Object.assign(Object.assign({}, props.filter), { column })), tableColumns: props.tableColumns }));
|
|
11
|
+
};
|
|
12
|
+
exports.FilterTableColumnInlineEditor = FilterTableColumnInlineEditor;
|
|
13
|
+
//# sourceMappingURL=FilterTableColumnInlineEditor.js.map
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./FilterTypeSelection"), exports);
|
|
18
|
+
__exportStar(require("./FilterTableColumnInlineEditor"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./aggregations"), exports);
|
|
|
19
19
|
__exportStar(require("./filter"), exports);
|
|
20
20
|
__exportStar(require("./join"), exports);
|
|
21
21
|
__exportStar(require("./EditorTemplateRenderer"), exports);
|
|
22
|
+
__exportStar(require("./EditorWrapper"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
package/lib/feature-descriptor/feature-descriptor-editor/components/join/JoinConditionEditor.js
CHANGED
|
@@ -9,9 +9,8 @@ const feature_descriptor_1 = require("../../../../models/feature-descriptor");
|
|
|
9
9
|
const context_1 = require("../../context");
|
|
10
10
|
const JoinConditionTypeSelection_1 = require("./JoinConditionTypeSelection");
|
|
11
11
|
const JoinTableColumnSelector_1 = require("./JoinTableColumnSelector");
|
|
12
|
-
const
|
|
12
|
+
const EditorWrapper_1 = require("../EditorWrapper");
|
|
13
13
|
const field_widgets_1 = require("../field-widgets");
|
|
14
|
-
const _utils_1 = require("../../../../utils");
|
|
15
14
|
const joinConditionEditorTemplate = {
|
|
16
15
|
[feature_descriptor_1.JoinCondition.Type.Geo]: () => [],
|
|
17
16
|
[feature_descriptor_1.JoinCondition.Type.Same]: props => {
|
|
@@ -32,12 +31,12 @@ const joinConditionEditorTemplate = {
|
|
|
32
31
|
return [
|
|
33
32
|
react_1.default.createElement(JoinTableColumnSelector_1.JoinTableColumnSelector, { field: "target_side_column", columns: (_a = props.tableColumns[state.join.target_table]) !== null && _a !== void 0 ? _a : [], joinCondition: props.joinCondition, onJoinConditionChange: props.onJoinConditionChange }),
|
|
34
33
|
react_1.default.createElement(JoinTableColumnSelector_1.JoinTableColumnSelector, { field: "source_side_column", columns: (_b = props.tableColumns[state.join.source_table]) !== null && _b !== void 0 ? _b : [], joinCondition: props.joinCondition, onJoinConditionChange: props.onJoinConditionChange }),
|
|
35
|
-
react_1.default.createElement(field_widgets_1.
|
|
34
|
+
react_1.default.createElement(field_widgets_1.StringInlineEditor, { label: "from_value", value: from_value, onValueChange: from_value => {
|
|
36
35
|
props.onJoinConditionChange(Object.assign(Object.assign({}, props.joinCondition), { from_value }));
|
|
37
|
-
}
|
|
38
|
-
react_1.default.createElement(field_widgets_1.
|
|
36
|
+
} }),
|
|
37
|
+
react_1.default.createElement(field_widgets_1.StringInlineEditor, { label: "to_value", value: to_value, onValueChange: to_value => {
|
|
39
38
|
props.onJoinConditionChange(Object.assign(Object.assign({}, props.joinCondition), { to_value }));
|
|
40
|
-
}
|
|
39
|
+
} }),
|
|
41
40
|
];
|
|
42
41
|
},
|
|
43
42
|
[feature_descriptor_1.JoinCondition.Type.PeriodicTime]: props => {
|
|
@@ -52,20 +51,33 @@ const joinConditionEditorTemplate = {
|
|
|
52
51
|
return [
|
|
53
52
|
react_1.default.createElement(JoinTableColumnSelector_1.JoinTableColumnSelector, Object.assign({ field: "target_side_column", columns: (_a = props.tableColumns[state.join.target_table]) !== null && _a !== void 0 ? _a : [] }, props)),
|
|
54
53
|
react_1.default.createElement(JoinTableColumnSelector_1.JoinTableColumnSelector, Object.assign({ field: "source_side_column", columns: (_b = props.tableColumns[state.join.source_table]) !== null && _b !== void 0 ? _b : [] }, props)),
|
|
55
|
-
react_1.default.createElement(field_widgets_1.
|
|
54
|
+
react_1.default.createElement(field_widgets_1.StringInlineEditor, { label: "periodic_unit", value: periodic_unit, onValueChange: periodic_unit => {
|
|
56
55
|
props.onJoinConditionChange(Object.assign(Object.assign({}, props.joinCondition), { periodic_unit }));
|
|
57
|
-
}
|
|
58
|
-
react_1.default.createElement(field_widgets_1.
|
|
56
|
+
} }),
|
|
57
|
+
react_1.default.createElement(field_widgets_1.NumberInlineEditor, { label: "num_cycles", value: num_cycles, onValueChange: num_cycles => {
|
|
59
58
|
props.onJoinConditionChange(Object.assign(Object.assign({}, props.joinCondition), { num_cycles }));
|
|
60
|
-
}
|
|
59
|
+
} }),
|
|
61
60
|
];
|
|
62
61
|
},
|
|
63
62
|
};
|
|
63
|
+
const InlineJoinConditionEditor = (props) => {
|
|
64
|
+
const templates = props.joinCondition.type
|
|
65
|
+
? joinConditionEditorTemplate[props.joinCondition.type]({
|
|
66
|
+
tableColumns: props.tableColumns,
|
|
67
|
+
joinCondition: props.joinCondition,
|
|
68
|
+
onJoinConditionChange: props.onJoinConditionChange,
|
|
69
|
+
})
|
|
70
|
+
: [];
|
|
71
|
+
return (react_1.default.createElement(EditorWrapper_1.EditorWrapper, { templates: templates, selectorWidth: 130, selectedType: props.joinCondition.type },
|
|
72
|
+
react_1.default.createElement(JoinConditionTypeSelection_1.JoinConditionSelectionType, { value: props.joinCondition.type, onValueChange: type => props.onJoinConditionChange({
|
|
73
|
+
type,
|
|
74
|
+
id: props.joinCondition.id,
|
|
75
|
+
}) })));
|
|
76
|
+
};
|
|
64
77
|
const JoinConditionEditor = (props) => {
|
|
65
78
|
var _a;
|
|
66
79
|
const [state, dispatch] = (0, context_1.useFeatureDescriptorEditorContext)();
|
|
67
|
-
const joinCondition = (_a = state.join.join_conditions.find((
|
|
68
|
-
const [isSummaryVisible, setIsSummaryVisible] = react_1.default.useState(() => (0, _utils_1.isSet)(joinCondition.type));
|
|
80
|
+
const joinCondition = (_a = state.join.join_conditions.find(({ id }) => id === props.conditionId)) !== null && _a !== void 0 ? _a : { id: props.conditionId };
|
|
69
81
|
const setJoinConditionDraft = (params) => {
|
|
70
82
|
const join = Object.assign(Object.assign({}, state.join), { join_conditions: state.join.join_conditions.map((draft) => draft.id === props.conditionId ? params : draft) });
|
|
71
83
|
dispatch(context_1.FeatureDescriptorEditorActions.setDraftField({
|
|
@@ -73,24 +85,7 @@ const JoinConditionEditor = (props) => {
|
|
|
73
85
|
value: join,
|
|
74
86
|
}));
|
|
75
87
|
};
|
|
76
|
-
|
|
77
|
-
? joinConditionEditorTemplate[joinCondition.type]({
|
|
78
|
-
tableColumns: props.tableColumns,
|
|
79
|
-
joinCondition,
|
|
80
|
-
onJoinConditionChange: setJoinConditionDraft,
|
|
81
|
-
})
|
|
82
|
-
: [];
|
|
83
|
-
return (react_1.default.createElement("div", { style: {
|
|
84
|
-
display: 'inline-flex',
|
|
85
|
-
} },
|
|
86
|
-
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) }, joinCondition.type)) : (react_1.default.createElement("span", { style: { width: '130px', marginTop: '6px' } },
|
|
87
|
-
react_1.default.createElement(JoinConditionTypeSelection_1.JoinConditionSelectionType, { onBlur: () => {
|
|
88
|
-
setIsSummaryVisible(true);
|
|
89
|
-
}, value: joinCondition.type, onValueChange: type => setJoinConditionDraft({ type, id: props.conditionId }) })))),
|
|
90
|
-
react_1.default.createElement("div", { style: { display: 'flex', flexWrap: 'wrap', alignItems: 'center' } },
|
|
91
|
-
"(",
|
|
92
|
-
react_1.default.createElement(EditorTemplateRenderer_1.EditorTemplateRenderer, { templates: templates }),
|
|
93
|
-
")")));
|
|
88
|
+
return (react_1.default.createElement(InlineJoinConditionEditor, { joinCondition: joinCondition, tableColumns: props.tableColumns, onJoinConditionChange: setJoinConditionDraft }));
|
|
94
89
|
};
|
|
95
90
|
exports.JoinConditionEditor = JoinConditionEditor;
|
|
96
91
|
//# sourceMappingURL=JoinConditionEditor.js.map
|
package/lib/feature-descriptor/feature-descriptor-editor/context/feature-descriptor-editor.js
CHANGED
|
@@ -12,14 +12,6 @@ var FeatureDescriptorEditorActions;
|
|
|
12
12
|
Join.patchCondition = (0, redux_1.createAction)('Join:PatchCondition', (0, redux_1.props)());
|
|
13
13
|
Join.removeCondition = (0, redux_1.createAction)('Join:RemoveCondition', (0, redux_1.props)());
|
|
14
14
|
})(Join = FeatureDescriptorEditorActions.Join || (FeatureDescriptorEditorActions.Join = {}));
|
|
15
|
-
let Aggregation;
|
|
16
|
-
(function (Aggregation) {
|
|
17
|
-
Aggregation.setType = (0, redux_1.createAction)('Aggregation:SetType', (0, redux_1.props)());
|
|
18
|
-
})(Aggregation = FeatureDescriptorEditorActions.Aggregation || (FeatureDescriptorEditorActions.Aggregation = {}));
|
|
19
|
-
let Filter;
|
|
20
|
-
(function (Filter) {
|
|
21
|
-
Filter.setType = (0, redux_1.createAction)('Filter:SetType', (0, redux_1.props)());
|
|
22
|
-
})(Filter = FeatureDescriptorEditorActions.Filter || (FeatureDescriptorEditorActions.Filter = {}));
|
|
23
15
|
})(FeatureDescriptorEditorActions = exports.FeatureDescriptorEditorActions || (exports.FeatureDescriptorEditorActions = {}));
|
|
24
16
|
exports.featureDescriptorEditorReducer = (0, redux_1.createReducer)((0, redux_1.on)(FeatureDescriptorEditorActions.Join.addNewCondition, updateDraftField('join', joinState => {
|
|
25
17
|
var _a;
|
|
@@ -28,11 +20,7 @@ exports.featureDescriptorEditorReducer = (0, redux_1.createReducer)((0, redux_1.
|
|
|
28
20
|
{ id: Math.random() },
|
|
29
21
|
] }));
|
|
30
22
|
})), (0, redux_1.on)(FeatureDescriptorEditorActions.Join.setCondition, updateDraftField('join', (joinState, action) => (Object.assign(Object.assign({}, joinState), { join_conditions: joinState.join_conditions.map((condition) => condition.id === action.condition.id ? action.condition : condition) })))), (0, redux_1.on)(FeatureDescriptorEditorActions.Join.patchCondition, updateDraftField('join', (joinState, action) => (Object.assign(Object.assign({}, joinState), { join_conditions: joinState.join_conditions.map((condition) => condition.id === action.condition.id
|
|
31
|
-
? Object.assign(Object.assign({}, condition), action.condition) : condition) })))), (0, redux_1.on)(FeatureDescriptorEditorActions.Join.removeCondition, updateDraftField('join', (joinState, action) => (Object.assign(Object.assign({}, joinState), { join_conditions: joinState.join_conditions.filter((condition) => condition.id !== action.id) })))), (0, redux_1.on)(FeatureDescriptorEditorActions.
|
|
32
|
-
type: filterType,
|
|
33
|
-
}))), (0, redux_1.on)(FeatureDescriptorEditorActions.Aggregation.setType, updateDraftField('aggregation', (_, { aggregationType }) => ({
|
|
34
|
-
type: aggregationType,
|
|
35
|
-
}))), (0, redux_1.on)(FeatureDescriptorEditorActions.setDraftField, setDraftField));
|
|
23
|
+
? Object.assign(Object.assign({}, condition), action.condition) : condition) })))), (0, redux_1.on)(FeatureDescriptorEditorActions.Join.removeCondition, updateDraftField('join', (joinState, action) => (Object.assign(Object.assign({}, joinState), { join_conditions: joinState.join_conditions.filter((condition) => condition.id !== action.id) })))), (0, redux_1.on)(FeatureDescriptorEditorActions.setDraftField, setDraftField));
|
|
36
24
|
function updateDraftField(field, fn) {
|
|
37
25
|
return function (state, action) {
|
|
38
26
|
return Object.assign(Object.assign({}, state), { [field]: fn(state[field], action) });
|
|
@@ -17,7 +17,7 @@ const TemporalChangeDraft = zod_1.z.object({
|
|
|
17
17
|
source_column: common_field_draft_1.ColumnDraft,
|
|
18
18
|
upper_bound: zod_1.z.string(),
|
|
19
19
|
lower_bound: zod_1.z.string(),
|
|
20
|
-
range_shift: zod_1.z.
|
|
20
|
+
range_shift: zod_1.z.string(),
|
|
21
21
|
});
|
|
22
22
|
const LatestKDraft = zod_1.z.object({
|
|
23
23
|
source_time_filed: common_field_draft_1.ColumnDraft,
|
|
@@ -328,8 +328,6 @@ var AggregationDraft;
|
|
|
328
328
|
const columnFields = Object.entries(schema.shape)
|
|
329
329
|
.filter(([_, field]) => field.description === 'Column')
|
|
330
330
|
.map(([colName]) => colName);
|
|
331
|
-
// console.log(z.instanceof(z.number));
|
|
332
|
-
console.log('columnFields', Object.entries(schema.shape));
|
|
333
331
|
return Object.assign(Object.assign({}, aggr), Object.fromEntries(columnFields.map(field => {
|
|
334
332
|
var _a;
|
|
335
333
|
return [
|
|
@@ -5,50 +5,78 @@ const zod_1 = require("zod");
|
|
|
5
5
|
const feature_descriptor_1 = require("../../../models/feature-descriptor");
|
|
6
6
|
const column_1 = require("../../../models/column");
|
|
7
7
|
const common_field_draft_1 = require("./common-field-draft");
|
|
8
|
+
const AboveFilterDraft = zod_1.z.object({
|
|
9
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Above),
|
|
10
|
+
column: common_field_draft_1.ColumnDraft,
|
|
11
|
+
min_inclusive: zod_1.z.number(),
|
|
12
|
+
});
|
|
13
|
+
const BelowFilterDraft = zod_1.z.object({
|
|
14
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Below),
|
|
15
|
+
column: common_field_draft_1.ColumnDraft,
|
|
16
|
+
max_exclusive: zod_1.z.number(),
|
|
17
|
+
});
|
|
18
|
+
const BetweenFilterDraft = zod_1.z.object({
|
|
19
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Between),
|
|
20
|
+
column: common_field_draft_1.ColumnDraft,
|
|
21
|
+
min_inclusive: zod_1.z.number(),
|
|
22
|
+
max_exclusive: zod_1.z.number(),
|
|
23
|
+
});
|
|
24
|
+
const FullPassFilterDraft = zod_1.z.object({
|
|
25
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.FullPass),
|
|
26
|
+
});
|
|
27
|
+
const HourOfDayFilterDraft = zod_1.z.object({
|
|
28
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.HourOfDay),
|
|
29
|
+
column: common_field_draft_1.ColumnDraft,
|
|
30
|
+
min_hour_inclusive: zod_1.z.number(),
|
|
31
|
+
max_hour_exclusive: zod_1.z.number(),
|
|
32
|
+
});
|
|
33
|
+
const NgramFilterDraft = zod_1.z.object({
|
|
34
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.NgramFilter),
|
|
35
|
+
column: common_field_draft_1.ColumnDraft,
|
|
36
|
+
ngram: zod_1.z.array(zod_1.z.string()),
|
|
37
|
+
});
|
|
38
|
+
const ValueFilterDraft = zod_1.z.object({
|
|
39
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Value),
|
|
40
|
+
column: common_field_draft_1.ColumnDraft,
|
|
41
|
+
value: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean()]),
|
|
42
|
+
});
|
|
43
|
+
const WeekdayFilterDraft = zod_1.z.object({
|
|
44
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Weekday),
|
|
45
|
+
column: common_field_draft_1.ColumnDraft,
|
|
46
|
+
});
|
|
47
|
+
const WeekendFilterDraft = zod_1.z.object({
|
|
48
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Weekend),
|
|
49
|
+
column: common_field_draft_1.ColumnDraft,
|
|
50
|
+
});
|
|
51
|
+
const FilterDraftUnion = zod_1.z.union([
|
|
52
|
+
AboveFilterDraft,
|
|
53
|
+
BelowFilterDraft,
|
|
54
|
+
BetweenFilterDraft,
|
|
55
|
+
FullPassFilterDraft,
|
|
56
|
+
HourOfDayFilterDraft,
|
|
57
|
+
NgramFilterDraft,
|
|
58
|
+
ValueFilterDraft,
|
|
59
|
+
WeekdayFilterDraft,
|
|
60
|
+
WeekendFilterDraft,
|
|
61
|
+
zod_1.z.lazy(() => AndFilterDraft),
|
|
62
|
+
]);
|
|
63
|
+
const AndFilterDraft = zod_1.z.object({
|
|
64
|
+
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.AndFilter),
|
|
65
|
+
filter1: FilterDraftUnion,
|
|
66
|
+
filter2: FilterDraftUnion,
|
|
67
|
+
// Casting is required because of ColumnDraft type. It uses its transformed type instead of the original one
|
|
68
|
+
});
|
|
8
69
|
const FilterDrafts = {
|
|
9
|
-
[feature_descriptor_1.Filter.Type.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
[feature_descriptor_1.Filter.Type.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
[feature_descriptor_1.Filter.Type.Between]: zod_1.z.object({
|
|
20
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Between),
|
|
21
|
-
column: common_field_draft_1.ColumnDraft,
|
|
22
|
-
min_inclusive: zod_1.z.number(),
|
|
23
|
-
max_exclusive: zod_1.z.number(),
|
|
24
|
-
}),
|
|
25
|
-
[feature_descriptor_1.Filter.Type.FullPass]: zod_1.z.object({
|
|
26
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.FullPass),
|
|
27
|
-
}),
|
|
28
|
-
[feature_descriptor_1.Filter.Type.HourOfDay]: zod_1.z.object({
|
|
29
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.HourOfDay),
|
|
30
|
-
column: common_field_draft_1.ColumnDraft,
|
|
31
|
-
min_hour_inclusive: zod_1.z.number(),
|
|
32
|
-
max_hour_exclusive: zod_1.z.number(),
|
|
33
|
-
}),
|
|
34
|
-
[feature_descriptor_1.Filter.Type.NgramFilter]: zod_1.z.object({
|
|
35
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.NgramFilter),
|
|
36
|
-
column: common_field_draft_1.ColumnDraft,
|
|
37
|
-
ngram: zod_1.z.array(zod_1.z.string()),
|
|
38
|
-
}),
|
|
39
|
-
[feature_descriptor_1.Filter.Type.Value]: zod_1.z.object({
|
|
40
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Value),
|
|
41
|
-
column: common_field_draft_1.ColumnDraft,
|
|
42
|
-
value: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), zod_1.z.boolean()]),
|
|
43
|
-
}),
|
|
44
|
-
[feature_descriptor_1.Filter.Type.Weekday]: zod_1.z.object({
|
|
45
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Weekday),
|
|
46
|
-
column: common_field_draft_1.ColumnDraft,
|
|
47
|
-
}),
|
|
48
|
-
[feature_descriptor_1.Filter.Type.Weekend]: zod_1.z.object({
|
|
49
|
-
type: zod_1.z.literal(feature_descriptor_1.Filter.Type.Weekend),
|
|
50
|
-
column: common_field_draft_1.ColumnDraft,
|
|
51
|
-
}),
|
|
70
|
+
[feature_descriptor_1.Filter.Type.AndFilter]: AndFilterDraft,
|
|
71
|
+
[feature_descriptor_1.Filter.Type.Above]: AboveFilterDraft,
|
|
72
|
+
[feature_descriptor_1.Filter.Type.Below]: BelowFilterDraft,
|
|
73
|
+
[feature_descriptor_1.Filter.Type.Between]: BetweenFilterDraft,
|
|
74
|
+
[feature_descriptor_1.Filter.Type.FullPass]: FullPassFilterDraft,
|
|
75
|
+
[feature_descriptor_1.Filter.Type.HourOfDay]: HourOfDayFilterDraft,
|
|
76
|
+
[feature_descriptor_1.Filter.Type.NgramFilter]: NgramFilterDraft,
|
|
77
|
+
[feature_descriptor_1.Filter.Type.Value]: ValueFilterDraft,
|
|
78
|
+
[feature_descriptor_1.Filter.Type.Weekday]: WeekdayFilterDraft,
|
|
79
|
+
[feature_descriptor_1.Filter.Type.Weekend]: WeekendFilterDraft,
|
|
52
80
|
};
|
|
53
81
|
var FilterDraft;
|
|
54
82
|
(function (FilterDraft) {
|
|
@@ -58,13 +86,19 @@ var FilterDraft;
|
|
|
58
86
|
const columnFields = Object.entries(schema.shape)
|
|
59
87
|
.filter(([_, field]) => field.description === 'Column')
|
|
60
88
|
.map(([colName]) => colName);
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
(
|
|
66
|
-
|
|
67
|
-
|
|
89
|
+
return filter.type === feature_descriptor_1.Filter.Type.AndFilter
|
|
90
|
+
? {
|
|
91
|
+
type: feature_descriptor_1.Filter.Type.AndFilter,
|
|
92
|
+
filter1: fromFilter(filter.filter1, tableColumns),
|
|
93
|
+
filter2: fromFilter(filter.filter2, tableColumns),
|
|
94
|
+
}
|
|
95
|
+
: Object.assign(Object.assign({}, filter), Object.fromEntries(columnFields.map(field => {
|
|
96
|
+
var _a;
|
|
97
|
+
return [
|
|
98
|
+
field,
|
|
99
|
+
(_a = column_1.Column.fromFullName(_filter[field], tableColumns)) !== null && _a !== void 0 ? _a : {},
|
|
100
|
+
];
|
|
101
|
+
})));
|
|
68
102
|
}
|
|
69
103
|
FilterDraft.fromFilter = fromFilter;
|
|
70
104
|
function validate(filterDraft) {
|
|
@@ -14,10 +14,6 @@ const ExplorationPathHeader = props => {
|
|
|
14
14
|
gap: '8px',
|
|
15
15
|
background: 'var(--c-catskill-white)',
|
|
16
16
|
} },
|
|
17
|
-
react_1.default.createElement("h4", { className: "grey-label", style: { margin: 0 } },
|
|
18
|
-
"[#",
|
|
19
|
-
props.explorationPathIndex,
|
|
20
|
-
"]"),
|
|
21
17
|
react_1.default.createElement("div", null,
|
|
22
18
|
targetTable,
|
|
23
19
|
"[",
|
|
@@ -6,13 +6,18 @@ var Column;
|
|
|
6
6
|
(function (Column) {
|
|
7
7
|
let SourceType;
|
|
8
8
|
(function (SourceType) {
|
|
9
|
-
SourceType["
|
|
10
|
-
SourceType["
|
|
9
|
+
SourceType["Boolean"] = "boolean";
|
|
10
|
+
SourceType["Date"] = "date";
|
|
11
11
|
SourceType["Double"] = "double";
|
|
12
|
+
SourceType["Float"] = "float";
|
|
13
|
+
SourceType["Integer"] = "int";
|
|
14
|
+
SourceType["BigInteger"] = "bigint";
|
|
15
|
+
SourceType["Long"] = "long";
|
|
16
|
+
SourceType["Short"] = "short";
|
|
12
17
|
SourceType["String"] = "string";
|
|
13
|
-
SourceType["
|
|
14
|
-
SourceType["Timestamp"] = "
|
|
15
|
-
SourceType["
|
|
18
|
+
SourceType["Struct"] = "struct";
|
|
19
|
+
SourceType["Timestamp"] = "timestamp";
|
|
20
|
+
SourceType["VectorUDT"] = "vectorUDT";
|
|
16
21
|
})(SourceType = Column.SourceType || (Column.SourceType = {}));
|
|
17
22
|
function isTypeOf(x) {
|
|
18
23
|
return (0, _utils_1.isSet)(x.name) && (0, _utils_1.isSet)(x.table) && (0, _utils_1.isSet)(x.type);
|
|
@@ -47,16 +52,5 @@ var FullColumnName;
|
|
|
47
52
|
return `${props.table}.${props.name}`;
|
|
48
53
|
}
|
|
49
54
|
FullColumnName.create = create;
|
|
50
|
-
// export function getTableName(
|
|
51
|
-
// fullName: FullColumnName | Unset
|
|
52
|
-
// ): TableName | Unset {
|
|
53
|
-
// return isSet(fullName) ? destruct(fullName).table : undefined;
|
|
54
|
-
// }
|
|
55
|
-
//
|
|
56
|
-
// export function getColumnName(
|
|
57
|
-
// fullName: FullColumnName | Unset
|
|
58
|
-
// ): TableName | Unset {
|
|
59
|
-
// return isSet(fullName) ? destruct(fullName).name : undefined;
|
|
60
|
-
// }
|
|
61
55
|
})(FullColumnName = exports.FullColumnName || (exports.FullColumnName = {}));
|
|
62
56
|
//# sourceMappingURL=column.js.map
|
|
@@ -11,17 +11,4 @@ var TableColumns;
|
|
|
11
11
|
}
|
|
12
12
|
TableColumns.fromSimplified = fromSimplified;
|
|
13
13
|
})(TableColumns = exports.TableColumns || (exports.TableColumns = {}));
|
|
14
|
-
// export namespace AnalyticDataTypes {
|
|
15
|
-
// export function filterByColumnType(types: Column.AnalyticType[]) {
|
|
16
|
-
// return (adt: AnalyticDataTypes): AnalyticDataTypes =>
|
|
17
|
-
// Object.fromEntries(
|
|
18
|
-
// Object.entries(adt)
|
|
19
|
-
// .map(([tableName, columns]) => [
|
|
20
|
-
// tableName,
|
|
21
|
-
// columns.filter(({ type }) => types.includes(type)),
|
|
22
|
-
// ])
|
|
23
|
-
// .filter(([, columns]) => columns.length)
|
|
24
|
-
// );
|
|
25
|
-
// }
|
|
26
|
-
// }
|
|
27
14
|
//# sourceMappingURL=table-columns.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Aggregation = void 0;
|
|
4
|
-
const utils_1 = require("./utils");
|
|
5
4
|
var Aggregation;
|
|
6
5
|
(function (Aggregation) {
|
|
7
6
|
let Type;
|
|
@@ -82,6 +81,5 @@ var Aggregation;
|
|
|
82
81
|
Type["TopicWeightSum"] = "TopicWeightSum";
|
|
83
82
|
Type["TopicWeightValue"] = "TopicWeightValue";
|
|
84
83
|
})(Type = Aggregation.Type || (Aggregation.Type = {}));
|
|
85
|
-
Aggregation.prettify = (utils_1.prettify);
|
|
86
84
|
})(Aggregation = exports.Aggregation || (exports.Aggregation = {}));
|
|
87
85
|
//# sourceMappingURL=aggregation.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Filter = void 0;
|
|
4
|
-
const utils_1 = require("./utils");
|
|
5
4
|
var Filter;
|
|
6
5
|
(function (Filter) {
|
|
7
6
|
let Type;
|
|
8
7
|
(function (Type) {
|
|
8
|
+
Type["AndFilter"] = "AndFilter";
|
|
9
9
|
Type["Above"] = "Above";
|
|
10
10
|
Type["Below"] = "Below";
|
|
11
11
|
Type["Between"] = "Between";
|
|
@@ -16,18 +16,5 @@ var Filter;
|
|
|
16
16
|
Type["Weekday"] = "Weekday";
|
|
17
17
|
Type["Weekend"] = "Weekend";
|
|
18
18
|
})(Type = Filter.Type || (Filter.Type = {}));
|
|
19
|
-
Filter.isFullPass = isTypeOf(Filter.Type.FullPass);
|
|
20
|
-
Filter.isAbove = isTypeOf(Filter.Type.Above);
|
|
21
|
-
Filter.isBelow = isTypeOf(Filter.Type.Below);
|
|
22
|
-
Filter.isNgramFilter = isTypeOf(Filter.Type.NgramFilter);
|
|
23
|
-
Filter.isBetween = isTypeOf(Filter.Type.Between);
|
|
24
|
-
Filter.isHourOfDay = isTypeOf(Filter.Type.HourOfDay);
|
|
25
|
-
Filter.isValue = isTypeOf(Filter.Type.Value);
|
|
26
|
-
Filter.isWeekday = isTypeOf(Filter.Type.Weekday);
|
|
27
|
-
Filter.isWeekend = isTypeOf(Filter.Type.Weekend);
|
|
28
|
-
Filter.prettify = (utils_1.prettify);
|
|
29
19
|
})(Filter = exports.Filter || (exports.Filter = {}));
|
|
30
|
-
function isTypeOf(type) {
|
|
31
|
-
return (f) => f.type === type;
|
|
32
|
-
}
|
|
33
20
|
//# sourceMappingURL=filter.js.map
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JoinCondition =
|
|
4
|
-
var Join;
|
|
5
|
-
(function (Join) {
|
|
6
|
-
function prettify(join) {
|
|
7
|
-
return `Join(target_table='${join.target_table}', source_table='${join.source_table}') ... TODO add conditions`;
|
|
8
|
-
}
|
|
9
|
-
Join.prettify = prettify;
|
|
10
|
-
})(Join = exports.Join || (exports.Join = {}));
|
|
3
|
+
exports.JoinCondition = void 0;
|
|
11
4
|
var JoinCondition;
|
|
12
5
|
(function (JoinCondition) {
|
|
13
6
|
let Type;
|
|
@@ -9,10 +9,10 @@ const overview_slider_1 = require("./leaderboard-overview/overview-slider");
|
|
|
9
9
|
const material_1 = require("@mui/material");
|
|
10
10
|
const MAX_COLLINEARITY_TOOLTIP = 'Maximum correlation of any two features on the list';
|
|
11
11
|
const CONFIDENCE_TOOLTIP = 'The probability that a feature is better than a random feature';
|
|
12
|
-
const FeatureLeaderboardOverview = ({
|
|
12
|
+
const FeatureLeaderboardOverview = ({ isWithAssessment, confidence, setConfidence, maxCollinearity, setMaxCollinearity, setSearch, }) => {
|
|
13
13
|
const [searchPhrase, setSearchPhrase] = react_1.default.useState(() => '');
|
|
14
14
|
return (react_1.default.createElement("div", { style: { display: 'flex' } },
|
|
15
|
-
|
|
15
|
+
isWithAssessment ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
16
16
|
react_1.default.createElement(overview_slider_1.OverviewSlider, { value: maxCollinearity, setValue: setMaxCollinearity, label: "Max collinearity:", labelTooltip: MAX_COLLINEARITY_TOOLTIP }),
|
|
17
17
|
react_1.default.createElement(overview_slider_1.OverviewSlider, { value: confidence, setValue: setConfidence, label: "Confidence:", labelTooltip: CONFIDENCE_TOOLTIP }))) : null,
|
|
18
18
|
react_1.default.createElement("span", { style: { marginLeft: 'auto', width: '30%' } },
|