@datawheel/data-explorer 0.2.1 → 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.
Files changed (2) hide show
  1. package/dist/main.js +28 -36
  2. 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.key] = 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.key] = 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.key] = 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
- const dimensions = useSelector$1(selectOlapDimensionItems);
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
- const createCutHandler2 = React10__default.useCallback((level2) => {
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
- const currentDrilldown = drilldowns[stringifyName(level)] || createDrilldown(level, cutItems);
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 [filterKeydebouced, setDebouncedTerm] = useState([
3180
- columnsStr,
3181
- filterKey,
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, offset, filterKey, cutKey, page]);
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({
@@ -4164,6 +4157,7 @@ function LocaleSelector() {
4164
4157
  if (currentCode !== l.value) {
4165
4158
  resetGraph();
4166
4159
  actions2.updateLocale(l.value);
4160
+ actions2.willRequestQuery();
4167
4161
  }
4168
4162
  };
4169
4163
  if (localeOptions.length < 2) {
@@ -6607,11 +6601,9 @@ function createVizbuilderView(settings) {
6607
6601
  return VizbuilderView;
6608
6602
  function VizbuilderView(props) {
6609
6603
  const { cube, panelKey, params, result } = props;
6604
+ console.log(result);
6610
6605
  const { actions: actions2, formatters } = useSettings();
6611
- const [panelName, currentChart] = useMemo(
6612
- () => `${panelKey || ""}-`.split("-"),
6613
- [panelKey]
6614
- );
6606
+ const [panelName, currentChart] = useMemo(() => `${panelKey || ""}-`.split("-"), [panelKey]);
6615
6607
  const resetCurrentPanel = useCallback(() => {
6616
6608
  actions2.switchPanel(panelName);
6617
6609
  }, [panelName]);
@@ -6620,7 +6612,7 @@ function createVizbuilderView(settings) {
6620
6612
  [
6621
6613
  {
6622
6614
  cube,
6623
- dataset: result.data,
6615
+ dataset: result.data.data,
6624
6616
  params: {
6625
6617
  locale: params.locale || defaultLocale,
6626
6618
  booleans: params.booleans,
@@ -6653,7 +6645,7 @@ function createVizbuilderView(settings) {
6653
6645
  ],
6654
6646
  chartGenOptions
6655
6647
  ),
6656
- [cube, result.data, params]
6648
+ [cube, result.data.data, params]
6657
6649
  );
6658
6650
  const content = useMemo(() => {
6659
6651
  const isSingleChart = charts.length === 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datawheel/data-explorer",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/main.js"