@teambit/lanes.hooks.use-lanes 0.0.108 → 0.0.110

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.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { LanesContext, LanesContextModel, useLanesContext } from './lanes-context';
2
- export { LanesProvider } from './lanes-provider';
2
+ export { LanesProvider, LanesProviderProps, IgnoreDerivingFromUrl } from './lanes-provider';
3
3
  export { useLanes } from './use-lanes';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,iDAAmF;AAA1E,6GAAA,YAAY,OAAA;AAAqB,gHAAA,eAAe,OAAA;AACzD,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,iDAAmF;AAA1E,6GAAA,YAAY,OAAA;AAAqB,gHAAA,eAAe,OAAA;AACzD,mDAA4F;AAAnF,+GAAA,aAAa,OAAA;AACtB,yCAAuC;AAA9B,qGAAA,QAAQ,OAAA"}
@@ -1,9 +1,12 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { LanesModel } from '@teambit/lanes.ui.models.lanes-model';
3
+ import { Location } from '@teambit/base-react.navigation.link';
3
4
  import { LaneId } from '@teambit/lane-id';
5
+ export declare type IgnoreDerivingFromUrl = (location?: Location) => boolean;
4
6
  export declare type LanesProviderProps = {
5
7
  children: ReactNode;
6
8
  viewedLaneId?: LaneId;
7
9
  targetLanes?: LanesModel;
10
+ ignoreDerivingFromUrl?: IgnoreDerivingFromUrl[];
8
11
  };
9
- export declare function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes }: LanesProviderProps): JSX.Element;
12
+ export declare function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes, ignoreDerivingFromUrl: ignoreDerivingFromUrlFromProps, }: LanesProviderProps): JSX.Element;
@@ -30,18 +30,25 @@ const lanes_ui_models_lanes_model_1 = require("@teambit/lanes.ui.models.lanes-mo
30
30
  const ui_foundation_ui_react_router_use_query_1 = require("@teambit/ui-foundation.ui.react-router.use-query");
31
31
  const base_react_navigation_link_1 = require("@teambit/base-react.navigation.link");
32
32
  const lanes_context_1 = require("./lanes-context");
33
- function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes }) {
33
+ function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes, ignoreDerivingFromUrl: ignoreDerivingFromUrlFromProps, }) {
34
34
  const { lanesModel, loading } = (0, lanes_hooks_use_lanes_1.useLanes)(targetLanes);
35
35
  const [lanesState, setLanesState] = (0, react_1.useState)(lanesModel);
36
36
  const [viewedLaneId, setViewedLaneId] = (0, react_1.useState)(viewedIdFromProps);
37
37
  const location = (0, base_react_navigation_link_1.useLocation)();
38
38
  const query = (0, ui_foundation_ui_react_router_use_query_1.useQuery)();
39
+ const ignoreDerivingFromUrl = (0, react_1.useCallback)((_location) => {
40
+ if (ignoreDerivingFromUrlFromProps)
41
+ return ignoreDerivingFromUrlFromProps.some((fn) => fn(_location));
42
+ return false;
43
+ }, []);
39
44
  (0, react_1.useEffect)(() => {
40
45
  if (viewedIdFromProps)
41
46
  setViewedLaneId(viewedIdFromProps);
42
47
  }, [viewedIdFromProps === null || viewedIdFromProps === void 0 ? void 0 : viewedIdFromProps.toString()]);
43
48
  (0, react_1.useEffect)(() => {
44
49
  var _a, _b;
50
+ if (ignoreDerivingFromUrl(location))
51
+ return;
45
52
  const onHomeRoute = (location === null || location === void 0 ? void 0 : location.pathname) === '/';
46
53
  const viewedLaneIdFromUrl = ((location === null || location === void 0 ? void 0 : location.pathname) && lanes_ui_models_lanes_model_1.LanesModel.getLaneIdFromPathname(location === null || location === void 0 ? void 0 : location.pathname, query)) || undefined;
47
54
  const viewedLaneIdToSet = viewedLaneIdFromUrl ||
@@ -1 +1 @@
1
- {"version":3,"file":"lanes-provider.js","sourceRoot":"","sources":["../lanes-provider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA8D;AAC9D,0EAA0D;AAC1D,sFAAkE;AAClE,8GAA4E;AAC5E,oFAAkE;AAElE,mDAAkE;AAQlE,SAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAsB;IAC1G,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAA,gCAAQ,EAAC,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAyB,UAAU,CAAC,CAAC;IACjF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAqB,iBAAiB,CAAC,CAAC;IAExF,MAAM,QAAQ,GAAG,IAAA,wCAAW,GAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAA,kDAAQ,GAAE,CAAC;IAEzB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,iBAAiB;YAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEpC,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,WAAW,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,MAAK,GAAG,CAAC;QAC/C,MAAM,mBAAmB,GACvB,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,KAAI,wCAAU,CAAC,qBAAqB,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC;QAEnG,MAAM,iBAAiB,GACrB,mBAAmB;YACnB,CAAC,WAAW,KAAI,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,0CAAE,EAAE,CAAA,CAAC;aAC5C,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,0CAAE,EAAE,CAAA,CAAC;QAE5D,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACjD,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAExC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAsB;QAC3C,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,aAAa;QAC/B,gBAAgB,EAAE,eAAe;KAClC,CAAC;IAEF,OAAO,8BAAC,4BAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,IAAG,QAAQ,CAAyB,CAAC;AAC7F,CAAC;AAvCD,sCAuCC"}
1
+ {"version":3,"file":"lanes-provider.js","sourceRoot":"","sources":["../lanes-provider.tsx"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { LanesContext, LanesContextModel, useLanesContext } from './lanes-context';
2
- export { LanesProvider } from './lanes-provider';
2
+ export { LanesProvider, LanesProviderProps, IgnoreDerivingFromUrl } from './lanes-provider';
3
3
  export { useLanes } from './use-lanes';
@@ -1,18 +1,26 @@
1
- import React, { ReactNode, useState, useEffect } from 'react';
1
+ import React, { ReactNode, useState, useEffect, useCallback } from 'react';
2
2
  import { useLanes } from '@teambit/lanes.hooks.use-lanes';
3
3
  import { LanesModel } from '@teambit/lanes.ui.models.lanes-model';
4
4
  import { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';
5
- import { useLocation } from '@teambit/base-react.navigation.link';
5
+ import { useLocation, Location } from '@teambit/base-react.navigation.link';
6
6
  import { LaneId } from '@teambit/lane-id';
7
7
  import { LanesContext, LanesContextModel } from './lanes-context';
8
8
 
9
+ export type IgnoreDerivingFromUrl = (location?: Location) => boolean;
10
+
9
11
  export type LanesProviderProps = {
10
12
  children: ReactNode;
11
13
  viewedLaneId?: LaneId;
12
14
  targetLanes?: LanesModel;
15
+ ignoreDerivingFromUrl?: IgnoreDerivingFromUrl[];
13
16
  };
14
17
 
15
- export function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes }: LanesProviderProps) {
18
+ export function LanesProvider({
19
+ children,
20
+ viewedLaneId: viewedIdFromProps,
21
+ targetLanes,
22
+ ignoreDerivingFromUrl: ignoreDerivingFromUrlFromProps,
23
+ }: LanesProviderProps) {
16
24
  const { lanesModel, loading } = useLanes(targetLanes);
17
25
  const [lanesState, setLanesState] = useState<LanesModel | undefined>(lanesModel);
18
26
  const [viewedLaneId, setViewedLaneId] = useState<LaneId | undefined>(viewedIdFromProps);
@@ -20,11 +28,18 @@ export function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targe
20
28
  const location = useLocation();
21
29
  const query = useQuery();
22
30
 
31
+ const ignoreDerivingFromUrl = useCallback((_location?: Location) => {
32
+ if (ignoreDerivingFromUrlFromProps) return ignoreDerivingFromUrlFromProps.some((fn) => fn(_location));
33
+ return false;
34
+ }, []);
35
+
23
36
  useEffect(() => {
24
37
  if (viewedIdFromProps) setViewedLaneId(viewedIdFromProps);
25
38
  }, [viewedIdFromProps?.toString()]);
26
39
 
27
40
  useEffect(() => {
41
+ if (ignoreDerivingFromUrl(location)) return;
42
+
28
43
  const onHomeRoute = location?.pathname === '/';
29
44
  const viewedLaneIdFromUrl =
30
45
  (location?.pathname && LanesModel.getLaneIdFromPathname(location?.pathname, query)) || undefined;
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@teambit/lanes.hooks.use-lanes",
3
- "version": "0.0.108",
3
+ "version": "0.0.110",
4
4
  "homepage": "https://bit.dev/teambit/lanes/hooks/use-lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "hooks/use-lanes",
9
- "version": "0.0.108"
9
+ "version": "0.0.110"
10
10
  },
11
11
  "dependencies": {
12
12
  "core-js": "^3.0.0",
13
13
  "@teambit/base-react.navigation.link": "2.0.27",
14
- "@teambit/lane-id": "0.0.162",
15
- "@teambit/lanes.ui.models.lanes-model": "0.0.70",
14
+ "@teambit/lane-id": "0.0.164",
15
+ "@teambit/lanes.ui.models.lanes-model": "0.0.72",
16
16
  "@teambit/ui-foundation.ui.react-router.use-query": "0.0.496",
17
17
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500"
18
18
  },