@datawheel/data-explorer 0.2.0 → 0.2.2
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/main.js +34 -37
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1002,14 +1002,14 @@ var queriesSlice = createSlice({
|
|
|
1002
1002
|
*/
|
|
1003
1003
|
updateCut(state, { payload }) {
|
|
1004
1004
|
const query = taintCurrentQuery(state);
|
|
1005
|
-
query.params.cuts[payload.
|
|
1005
|
+
query.params.cuts[payload.fullName] = payload;
|
|
1006
1006
|
},
|
|
1007
1007
|
/**
|
|
1008
1008
|
* Replaces a single DrilldownItem in the current QueryItem.
|
|
1009
1009
|
*/
|
|
1010
1010
|
updateDrilldown(state, { payload }) {
|
|
1011
1011
|
const query = taintCurrentQuery(state);
|
|
1012
|
-
query.params.drilldowns[payload.
|
|
1012
|
+
query.params.drilldowns[payload.fullName] = payload;
|
|
1013
1013
|
},
|
|
1014
1014
|
/**
|
|
1015
1015
|
* Replaces a single FilterItem in the current QueryItem.
|
|
@@ -1032,7 +1032,7 @@ var queriesSlice = createSlice({
|
|
|
1032
1032
|
*/
|
|
1033
1033
|
updateMeasure(state, { payload }) {
|
|
1034
1034
|
const query = taintCurrentQuery(state);
|
|
1035
|
-
query.params.measures[payload.
|
|
1035
|
+
query.params.measures[payload.name] = payload;
|
|
1036
1036
|
},
|
|
1037
1037
|
/**
|
|
1038
1038
|
* Replaces the pagination settings in the current QueryItem.
|
|
@@ -2803,8 +2803,12 @@ function LevelItem({ dimension, hierarchy, isSubMenu, level, locale, activeItems
|
|
|
2803
2803
|
const { translate: t } = useTranslation();
|
|
2804
2804
|
const actions2 = useActions();
|
|
2805
2805
|
const cutItems = useSelector$1(selectCutItems);
|
|
2806
|
-
|
|
2806
|
+
useSelector$1(selectOlapDimensionItems);
|
|
2807
2807
|
const drilldowns = useSelector$1(selectDrilldownMap);
|
|
2808
|
+
const stringifyNameInternal = (level2) => joinName(levelRefToArray(level2));
|
|
2809
|
+
const [currentDrilldown, setCurrentDrilldown] = useState(
|
|
2810
|
+
drilldowns[stringifyNameInternal(level)] || drilldowns[stringifyName(level)]
|
|
2811
|
+
);
|
|
2808
2812
|
const label = useMemo(() => {
|
|
2809
2813
|
const captions = [
|
|
2810
2814
|
getCaption(dimension, locale),
|
|
@@ -2821,38 +2825,28 @@ function LevelItem({ dimension, hierarchy, isSubMenu, level, locale, activeItems
|
|
|
2821
2825
|
level: captions[2]
|
|
2822
2826
|
});
|
|
2823
2827
|
}, [locale, dimension, hierarchy, level, isSubMenu]);
|
|
2824
|
-
|
|
2828
|
+
React10__default.useCallback((level2) => {
|
|
2825
2829
|
const cutItem = buildCut({ ...level2, members: [], key: level2.fullName });
|
|
2826
2830
|
cutItem.active = false;
|
|
2827
2831
|
actions2.updateCut(cutItem);
|
|
2828
2832
|
}, []);
|
|
2829
2833
|
function createDrilldown(level2, cuts) {
|
|
2830
2834
|
const drilldown = buildDrilldown({ ...level2, key: stringifyName(level2), active: false });
|
|
2831
|
-
actions2.updateDrilldown(drilldown);
|
|
2832
|
-
const cut2 = cuts.find((cut3) => cut3.uniqueName === drilldown.uniqueName);
|
|
2833
|
-
if (!cut2) {
|
|
2834
|
-
createCutHandler2({ ...level2, key: stringifyName(level2) });
|
|
2835
|
-
}
|
|
2836
|
-
actions2.willFetchMembers({ ...level2, level: level2.name }).then((members) => {
|
|
2837
|
-
const dimension2 = dimensions.find((dim) => dim.name === level2.dimension);
|
|
2838
|
-
if (!dimension2) return;
|
|
2839
|
-
actions2.updateDrilldown({
|
|
2840
|
-
...drilldown,
|
|
2841
|
-
dimType: dimension2.dimensionType,
|
|
2842
|
-
memberCount: members.length,
|
|
2843
|
-
members
|
|
2844
|
-
});
|
|
2845
|
-
});
|
|
2846
2835
|
return drilldown;
|
|
2847
2836
|
}
|
|
2848
|
-
|
|
2837
|
+
React10__default.useEffect(() => {
|
|
2838
|
+
if (!currentDrilldown) {
|
|
2839
|
+
setCurrentDrilldown(createDrilldown(level));
|
|
2840
|
+
}
|
|
2841
|
+
}, []);
|
|
2849
2842
|
const cut = cutItems.find((cut2) => {
|
|
2850
|
-
return cut2.uniqueName === currentDrilldown.uniqueName;
|
|
2843
|
+
return cut2.uniqueName === (currentDrilldown == null ? void 0 : currentDrilldown.uniqueName);
|
|
2851
2844
|
});
|
|
2852
2845
|
const updatecutHandler = React10__default.useCallback((item, members) => {
|
|
2853
2846
|
actions2.updateCut({ ...item, members });
|
|
2854
2847
|
}, []);
|
|
2855
2848
|
const checked = activeItems.map(stringifyName).includes(stringifyName(level));
|
|
2849
|
+
if (!currentDrilldown) return;
|
|
2856
2850
|
return /* @__PURE__ */ React10__default.createElement(React10__default.Fragment, null, /* @__PURE__ */ React10__default.createElement(Group, { mt: "sm", position: "apart", key: level.uri, noWrap: true }, /* @__PURE__ */ React10__default.createElement(
|
|
2857
2851
|
Checkbox,
|
|
2858
2852
|
{
|
|
@@ -2861,6 +2855,7 @@ function LevelItem({ dimension, hierarchy, isSubMenu, level, locale, activeItems
|
|
|
2861
2855
|
const active = checked ? false : cut.members.length ? true : false;
|
|
2862
2856
|
actions2.updateCut({ ...cut, active });
|
|
2863
2857
|
}
|
|
2858
|
+
console.log({ currentDrilldown });
|
|
2864
2859
|
actions2.updateDrilldown({ ...currentDrilldown, active: !currentDrilldown.active });
|
|
2865
2860
|
},
|
|
2866
2861
|
checked,
|
|
@@ -3176,20 +3171,18 @@ function useTableData({ offset, limit, columns, filters, cuts, pagination }) {
|
|
|
3176
3171
|
const actions2 = useActions();
|
|
3177
3172
|
const columnsStr = JSON.stringify(columns.sort());
|
|
3178
3173
|
const page = pagination.pageIndex;
|
|
3179
|
-
const
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
cutKey,
|
|
3183
|
-
page
|
|
3184
|
-
]);
|
|
3174
|
+
const enabled = Boolean(columns.length) || Boolean(filters.length) || Boolean(cuts.length);
|
|
3175
|
+
const initialKey = enabled ? [columnsStr, filterKey, cutKey, page] : "";
|
|
3176
|
+
const [filterKeydebouced, setDebouncedTerm] = useState(initialKey);
|
|
3185
3177
|
useEffect(() => {
|
|
3178
|
+
if (!enabled) return;
|
|
3186
3179
|
const handler = debounce(() => {
|
|
3187
3180
|
const term = [columnsStr, filterKey, cutKey, page];
|
|
3188
3181
|
setDebouncedTerm(term);
|
|
3189
3182
|
}, 700);
|
|
3190
3183
|
handler();
|
|
3191
3184
|
return () => handler.cancel();
|
|
3192
|
-
}, [columnsStr,
|
|
3185
|
+
}, [columnsStr, filterKey, cutKey, page, enabled]);
|
|
3193
3186
|
return useQuery({
|
|
3194
3187
|
queryKey: ["table", filterKeydebouced],
|
|
3195
3188
|
queryFn: () => {
|
|
@@ -3200,7 +3193,7 @@ function useTableData({ offset, limit, columns, filters, cuts, pagination }) {
|
|
|
3200
3193
|
});
|
|
3201
3194
|
},
|
|
3202
3195
|
staleTime: 3e5,
|
|
3203
|
-
enabled: !!filterKeydebouced
|
|
3196
|
+
enabled: enabled && !!filterKeydebouced
|
|
3204
3197
|
});
|
|
3205
3198
|
}
|
|
3206
3199
|
function usePrefetch({
|
|
@@ -4180,7 +4173,13 @@ function LocaleSelector() {
|
|
|
4180
4173
|
selectedItem: currentCode,
|
|
4181
4174
|
selectProps: {
|
|
4182
4175
|
styles: localeSelectorStyle,
|
|
4183
|
-
icon: /* @__PURE__ */ React10__default.createElement(
|
|
4176
|
+
icon: /* @__PURE__ */ React10__default.createElement(
|
|
4177
|
+
IconLanguage,
|
|
4178
|
+
{
|
|
4179
|
+
size: "0.8rem",
|
|
4180
|
+
color: theme.colorScheme === "dark" ? theme.fn.lighten(theme.fn.primaryColor(), 0.8) : theme.fn.primaryColor()
|
|
4181
|
+
}
|
|
4182
|
+
)
|
|
4184
4183
|
}
|
|
4185
4184
|
}
|
|
4186
4185
|
)));
|
|
@@ -6602,11 +6601,9 @@ function createVizbuilderView(settings) {
|
|
|
6602
6601
|
return VizbuilderView;
|
|
6603
6602
|
function VizbuilderView(props) {
|
|
6604
6603
|
const { cube, panelKey, params, result } = props;
|
|
6604
|
+
console.log(result);
|
|
6605
6605
|
const { actions: actions2, formatters } = useSettings();
|
|
6606
|
-
const [panelName, currentChart] = useMemo(
|
|
6607
|
-
() => `${panelKey || ""}-`.split("-"),
|
|
6608
|
-
[panelKey]
|
|
6609
|
-
);
|
|
6606
|
+
const [panelName, currentChart] = useMemo(() => `${panelKey || ""}-`.split("-"), [panelKey]);
|
|
6610
6607
|
const resetCurrentPanel = useCallback(() => {
|
|
6611
6608
|
actions2.switchPanel(panelName);
|
|
6612
6609
|
}, [panelName]);
|
|
@@ -6615,7 +6612,7 @@ function createVizbuilderView(settings) {
|
|
|
6615
6612
|
[
|
|
6616
6613
|
{
|
|
6617
6614
|
cube,
|
|
6618
|
-
dataset: result.data,
|
|
6615
|
+
dataset: result.data.data,
|
|
6619
6616
|
params: {
|
|
6620
6617
|
locale: params.locale || defaultLocale,
|
|
6621
6618
|
booleans: params.booleans,
|
|
@@ -6648,7 +6645,7 @@ function createVizbuilderView(settings) {
|
|
|
6648
6645
|
],
|
|
6649
6646
|
chartGenOptions
|
|
6650
6647
|
),
|
|
6651
|
-
[cube, result.data, params]
|
|
6648
|
+
[cube, result.data.data, params]
|
|
6652
6649
|
);
|
|
6653
6650
|
const content = useMemo(() => {
|
|
6654
6651
|
const isSingleChart = charts.length === 1;
|