dotdata_widgets 0.1.9 → 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/accordion/Accordion.js +4 -4
- 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/{feature-descriptor/domains-descriptors-tree/components → components/column-source-type-icons}/index.js +1 -1
- package/lib/components/column-source-type-icons/source-type-int.js +16 -0
- package/lib/{components/input/index.js → embed.js} +2 -2
- package/lib/extension.js +32 -19
- package/lib/feature/feature-details/FeatureCorrelatedFeaturesTable.js +1 -1
- package/lib/feature/feature-details/FeatureDistributionChart.js +1 -6
- package/lib/feature/feature-explanation/FeatureExplanation.js +8 -11
- 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/context/domains-descriptions-selection-context.js +1 -1
- package/lib/feature-descriptor/domains-descriptions-tree/context/domains-descriptions-tree-config-context.js +2 -1
- package/lib/feature-descriptor/domains-descriptions-tree/context/domains-descriptions-tree-item-selection-context.js +14 -6
- package/lib/feature-descriptor/domains-descriptions-tree/domains-descriptions-tree.js +1 -1
- package/lib/feature-descriptor/domains-descriptions-tree/index.js +1 -0
- package/lib/feature-descriptor/domains-descriptions-tree/models/domains-descriptions-tree.model.js +3 -6
- 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/models → 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/{context → 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/feature-descriptor-editor/models/index.js +21 -0
- 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/{feature-descriptors-domain/feature-descriptor-domain-descriptions/components/index.js → notebook.js} +2 -2
- package/lib/utils/asserations.js +1 -1
- package/lib/utils/crypto.js +28 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/localize.js +1 -1
- 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/utils/widget-model/widget-model-context.js +1 -1
- package/lib/widgets/FeatureLeaderboardWidget.js +14 -21
- package/lib/widgets/FeatureSpaceWidget.js +3 -19
- package/lib/widgets/feature-leaderboard/FeatureLeaderboardView.js +45 -10
- 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/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
package/README.md
CHANGED
|
@@ -1,119 +1,86 @@
|
|
|
1
|
-
# Dotdata
|
|
1
|
+
# Dotdata Widgets
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Dotdata widgets consist of a NodeJS library and a python module.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Building the `nodejs` part
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
3. python 3
|
|
10
|
-
|
|
11
|
-
## Installation
|
|
12
|
-
|
|
13
|
-
You can install using `pip`:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
pip install dotdata_widgets
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
If you are using Jupyter Notebook 5.2 or earlier, you may also need to enable
|
|
20
|
-
the nbextension:
|
|
7
|
+
In order to build the nodejs part of dotdata widgets - follow the `make` targets
|
|
8
|
+
defined in the `Makefile` in this directory.
|
|
21
9
|
|
|
22
10
|
```bash
|
|
23
|
-
|
|
11
|
+
make build_js
|
|
24
12
|
```
|
|
25
|
-
|
|
26
|
-
## Development Installation
|
|
27
|
-
|
|
28
|
-
Create a dev environment:
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
python -m venv venv/
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Install the python. This will also build the TS package.
|
|
35
|
-
|
|
13
|
+
There is an alias for this command in the root-level `Makefile`:
|
|
36
14
|
```bash
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
When developing your extensions, you need to manually enable your extensions with the
|
|
41
|
-
notebook / lab frontend. For lab, this is done by the command:
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
jupyter labextension develop --overwrite .
|
|
45
|
-
yarn run build
|
|
15
|
+
make -C ../../ build_widgets_js_for_iff
|
|
46
16
|
```
|
|
47
17
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
jupyter nbextension enable --sys-prefix --py dotdata_widgets
|
|
53
|
-
```
|
|
18
|
+
NOTE: this command might not work if on platforms other than linux.
|
|
19
|
+
The docker container in which the commands are executed is based on `node:18.15` container,
|
|
20
|
+
which assumes that the working user has `UID=1000`.
|
|
21
|
+
Calling it on MacOS may produce artifacts with invalid ownership.
|
|
54
22
|
|
|
55
|
-
|
|
56
|
-
the `
|
|
57
|
-
you might also need another flag instead of `--sys-prefix`, but we won't cover the meaning
|
|
58
|
-
of those flags here.
|
|
23
|
+
In order to build the nodejs package without the docker, make sure you've provisioned your local environment
|
|
24
|
+
as described in the `docker/npm/Dockerfile`. Especially make sure that you have:
|
|
59
25
|
|
|
60
|
-
|
|
26
|
+
* node in version >=18
|
|
27
|
+
* yarn (`npm install yarn -g`)
|
|
28
|
+
* python >=3.8
|
|
29
|
+
* jupyterlab
|
|
61
30
|
|
|
31
|
+
Then you may call:
|
|
62
32
|
```bash
|
|
63
|
-
|
|
33
|
+
make -C ../../ build_js_without_docker
|
|
64
34
|
```
|
|
65
35
|
|
|
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
|
-
```bash
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
npm publish
|
|
119
|
-
```
|
|
36
|
+
## Publishing the js part of Dotdata Widgets
|
|
37
|
+
|
|
38
|
+
**DO NOT publish the nodejs package unless you're sure what you're doing!**
|
|
39
|
+
|
|
40
|
+
Dotdata Widgets are published in a public npm repository.
|
|
41
|
+
You can browse the published packages at https://www.npmjs.com/package/dotdata_widgets
|
|
42
|
+
|
|
43
|
+
Dotdata widgets are published together with the dotdata wheel by the jenkins job,
|
|
44
|
+
which calls `make publish_iff` from the root-level `Makefile`.
|
|
45
|
+
This command refers to the npm `publish` command, which utilises credentials to npm registry
|
|
46
|
+
defined in `.npmrc`
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
## Interactive development and testing
|
|
50
|
+
|
|
51
|
+
**WARNING: THERE ARE NO AUTOMATED TESTS OF DOTDATA WIDGETS (neither JS nor python part).**
|
|
52
|
+
|
|
53
|
+
Dotdata widgets can be tested manually in a jupyter notebook.
|
|
54
|
+
|
|
55
|
+
In order to do so do the following:
|
|
56
|
+
* Prune local virtual env:
|
|
57
|
+
```bash
|
|
58
|
+
make -C ../../ prune_iff_test_env
|
|
59
|
+
```
|
|
60
|
+
This command cleans the venv directory and deletes pre-existing artifacts.
|
|
61
|
+
* Install `dotdata` in dev mode in the local virtual env:
|
|
62
|
+
```bash
|
|
63
|
+
make -C ../../ prepare_iff_interactive_dev_env
|
|
64
|
+
```
|
|
65
|
+
This command installs `jupyterlab`, installs `dotdata` in `--editable` mode, and calls `jupyter labextension develop --overwrite ${PATH_TO_DOTDAT_WIDGETS}`.
|
|
66
|
+
Although it make take up to 20 minutes, it has to be called only once.
|
|
67
|
+
* Launch widgets compilation server:
|
|
68
|
+
```bash
|
|
69
|
+
make -C ../../ _run_yarn_watch_compilation_of_dotdata_widgets
|
|
70
|
+
```
|
|
71
|
+
* NOTE: this command requires `node` and `yarn` to be installed in your environment.
|
|
72
|
+
* Also, it fails if `prepare_iff_interactive_dev_env` wasn't called before.
|
|
73
|
+
* This command spawns a server that watches for changes in the ts files and recompiles them on the fly.
|
|
74
|
+
* Run it in separate terminal.
|
|
75
|
+
* A single recompilation may take up to a minute, so be patient.
|
|
76
|
+
* Launch jupyter lab:
|
|
77
|
+
```bash
|
|
78
|
+
make -C ../../ _start_jupyterlab
|
|
79
|
+
```
|
|
80
|
+
* This command spawns a jupyter-lab server. Run it in separate terminal.
|
|
81
|
+
* It also opens a browser window with a jupyter lab workspace.
|
|
82
|
+
* Open a notebook (e.g. `examples/introduction.ipynb`) and work with your widgets.
|
|
83
|
+
|
|
84
|
+
When developing widgets in interactive mode, keep in mind that:
|
|
85
|
+
* you have to reload browser caches in order to force it to load re-compiled `*.js` files.
|
|
86
|
+
* you have to restart notebook's kernel in order to load modified python modules.
|
package/css/widget.css
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@import url('colors.css');
|
|
4
4
|
@import url('typography.css');
|
|
5
5
|
|
|
6
|
-
@import url('../src/feature-descriptor/feature-descriptors
|
|
6
|
+
@import url('../src/feature-descriptor/feature-descriptors.css');
|
|
7
7
|
@import url('../src/components/accordion/accordion.css');
|
|
8
8
|
@import url('../src/widgets/feature-space/feature-space.css');
|
|
9
9
|
@import url('../src/widgets/feature-leaderboard/feature-leaderboard.css');
|