@teambit/lanes.hooks.use-lanes 0.0.82 → 0.0.84

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.
@@ -6,4 +6,4 @@ export declare type LanesProviderProps = {
6
6
  viewedLaneId?: LaneId;
7
7
  targetLanes?: LanesModel;
8
8
  };
9
- export declare function LanesProvider({ children, viewedLaneId, targetLanes }: LanesProviderProps): JSX.Element;
9
+ export declare function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes }: LanesProviderProps): JSX.Element;
@@ -30,42 +30,35 @@ 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, targetLanes }) {
33
+ function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes }) {
34
34
  const { lanesModel, loading } = (0, lanes_hooks_use_lanes_1.useLanes)(targetLanes);
35
35
  const [lanesState, setLanesState] = (0, react_1.useState)(lanesModel);
36
+ const [viewedLaneId, setViewedLaneId] = (0, react_1.useState)(viewedIdFromProps);
36
37
  const location = (0, base_react_navigation_link_1.useLocation)();
37
38
  const query = (0, ui_foundation_ui_react_router_use_query_1.useQuery)();
38
39
  (0, react_1.useEffect)(() => {
39
- var _a, _b, _c;
40
+ if (viewedIdFromProps)
41
+ setViewedLaneId(viewedIdFromProps);
42
+ }, [viewedIdFromProps === null || viewedIdFromProps === void 0 ? void 0 : viewedIdFromProps.toString()]);
43
+ (0, react_1.useEffect)(() => {
44
+ var _a, _b;
40
45
  const onHomeRoute = (location === null || location === void 0 ? void 0 : location.pathname) === '/';
41
- const viewedLaneFromUrl = ((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;
42
- const viewedLaneIdToSet = viewedLaneId ||
43
- viewedLaneFromUrl ||
44
- ((_a = lanesState === null || lanesState === void 0 ? void 0 : lanesState.viewedLane) === null || _a === void 0 ? void 0 : _a.id) ||
45
- (onHomeRoute && ((_b = lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.currentLane) === null || _b === void 0 ? void 0 : _b.id)) ||
46
- ((_c = lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.lanes.find((lane) => lane.id.isDefault())) === null || _c === void 0 ? void 0 : _c.id);
47
- lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.setViewedLane(viewedLaneIdToSet);
46
+ 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
+ const viewedLaneIdToSet = viewedLaneIdFromUrl ||
48
+ viewedLaneId ||
49
+ (onHomeRoute && ((_a = lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.currentLane) === null || _a === void 0 ? void 0 : _a.id)) ||
50
+ ((_b = lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.lanes.find((lane) => lane.id.isDefault())) === null || _b === void 0 ? void 0 : _b.id);
51
+ setViewedLaneId(viewedLaneIdToSet);
52
+ }, [location === null || location === void 0 ? void 0 : location.pathname]);
53
+ (0, react_1.useEffect)(() => {
54
+ lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.setViewedLane(viewedLaneId);
48
55
  setLanesState(lanesModel);
49
- }, [loading, location === null || location === void 0 ? void 0 : location.pathname, targetLanes]);
50
- const updateLanesModel = (updatedLanes) => {
51
- setLanesState(new lanes_ui_models_lanes_model_1.LanesModel({
52
- lanes: updatedLanes === null || updatedLanes === void 0 ? void 0 : updatedLanes.lanes,
53
- viewedLane: updatedLanes === null || updatedLanes === void 0 ? void 0 : updatedLanes.viewedLane,
54
- currentLane: updatedLanes === null || updatedLanes === void 0 ? void 0 : updatedLanes.currentLane,
55
- }));
56
- };
57
- const updateViewedLane = (_viewedLaneId) => {
58
- lanesState === null || lanesState === void 0 ? void 0 : lanesState.setViewedLane(_viewedLaneId);
59
- setLanesState(new lanes_ui_models_lanes_model_1.LanesModel({
60
- lanes: lanesState === null || lanesState === void 0 ? void 0 : lanesState.lanes,
61
- viewedLane: lanesState === null || lanesState === void 0 ? void 0 : lanesState.viewedLane,
62
- currentLane: lanesState === null || lanesState === void 0 ? void 0 : lanesState.currentLane,
63
- }));
64
- };
56
+ }, [loading, lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.lanes.length]);
57
+ lanesState === null || lanesState === void 0 ? void 0 : lanesState.setViewedLane(viewedLaneId);
65
58
  const lanesContextModel = {
66
59
  lanesModel: lanesState,
67
- updateLanesModel,
68
- updateViewedLane,
60
+ updateLanesModel: setLanesState,
61
+ updateViewedLane: setViewedLaneId,
69
62
  };
70
63
  return react_1.default.createElement(lanes_context_1.LanesContext.Provider, { value: lanesContextModel }, children);
71
64
  }
@@ -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,WAAW,EAAsB;IACvF,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,QAAQ,GAAG,IAAA,wCAAW,GAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAA,kDAAQ,GAAE,CAAC;IAEzB,IAAA,iBAAS,EAAC,GAAG,EAAE;;QACb,MAAM,WAAW,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,MAAK,GAAG,CAAC;QAC/C,MAAM,iBAAiB,GACrB,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;QACnG,MAAM,iBAAiB,GACrB,YAAY;YACZ,iBAAiB;aACjB,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,0CAAE,EAAE,CAAA;YAC1B,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,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAC7C,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/C,MAAM,gBAAgB,GAAG,CAAC,YAAyB,EAAE,EAAE;QACrD,aAAa,CACX,IAAI,wCAAU,CAAC;YACb,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK;YAC1B,UAAU,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU;YACpC,WAAW,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,WAAW;SACvC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,aAAsB,EAAE,EAAE;QAClD,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,aAAa,CAAC,CAAC;QACzC,aAAa,CACX,IAAI,wCAAU,CAAC;YACb,KAAK,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK;YACxB,UAAU,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU;YAClC,WAAW,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW;SACrC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAsB;QAC3C,UAAU,EAAE,UAAU;QACtB,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;IAEF,OAAO,8BAAC,4BAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,iBAAiB,IAAG,QAAQ,CAAyB,CAAC;AAC7F,CAAC;AAjDD,sCAiDC"}
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,YAAY;YACZ,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,aAAa,CAAC,YAAY,CAAC,CAAC;QACxC,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,aAAa,CAAC,YAAY,CAAC,CAAC;IAExC,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;AAxCD,sCAwCC"}
@@ -12,52 +12,43 @@ export type LanesProviderProps = {
12
12
  targetLanes?: LanesModel;
13
13
  };
14
14
 
15
- export function LanesProvider({ children, viewedLaneId, targetLanes }: LanesProviderProps) {
15
+ export function LanesProvider({ children, viewedLaneId: viewedIdFromProps, targetLanes }: LanesProviderProps) {
16
16
  const { lanesModel, loading } = useLanes(targetLanes);
17
17
  const [lanesState, setLanesState] = useState<LanesModel | undefined>(lanesModel);
18
+ const [viewedLaneId, setViewedLaneId] = useState<LaneId | undefined>(viewedIdFromProps);
19
+
18
20
  const location = useLocation();
19
21
  const query = useQuery();
20
22
 
23
+ useEffect(() => {
24
+ if (viewedIdFromProps) setViewedLaneId(viewedIdFromProps);
25
+ }, [viewedIdFromProps?.toString()]);
26
+
21
27
  useEffect(() => {
22
28
  const onHomeRoute = location?.pathname === '/';
23
- const viewedLaneFromUrl =
29
+ const viewedLaneIdFromUrl =
24
30
  (location?.pathname && LanesModel.getLaneIdFromPathname(location?.pathname, query)) || undefined;
31
+
25
32
  const viewedLaneIdToSet =
33
+ viewedLaneIdFromUrl ||
26
34
  viewedLaneId ||
27
- viewedLaneFromUrl ||
28
- lanesState?.viewedLane?.id ||
29
35
  (onHomeRoute && lanesModel?.currentLane?.id) ||
30
36
  lanesModel?.lanes.find((lane) => lane.id.isDefault())?.id;
31
37
 
32
- lanesModel?.setViewedLane(viewedLaneIdToSet);
33
- setLanesState(lanesModel);
34
- }, [loading, location?.pathname, targetLanes]);
38
+ setViewedLaneId(viewedLaneIdToSet);
39
+ }, [location?.pathname]);
35
40
 
36
- const updateLanesModel = (updatedLanes?: LanesModel) => {
37
- setLanesState(
38
- new LanesModel({
39
- lanes: updatedLanes?.lanes,
40
- viewedLane: updatedLanes?.viewedLane,
41
- currentLane: updatedLanes?.currentLane,
42
- })
43
- );
44
- };
41
+ useEffect(() => {
42
+ lanesModel?.setViewedLane(viewedLaneId);
43
+ setLanesState(lanesModel);
44
+ }, [loading, lanesModel?.lanes.length]);
45
45
 
46
- const updateViewedLane = (_viewedLaneId?: LaneId) => {
47
- lanesState?.setViewedLane(_viewedLaneId);
48
- setLanesState(
49
- new LanesModel({
50
- lanes: lanesState?.lanes,
51
- viewedLane: lanesState?.viewedLane,
52
- currentLane: lanesState?.currentLane,
53
- })
54
- );
55
- };
46
+ lanesState?.setViewedLane(viewedLaneId);
56
47
 
57
48
  const lanesContextModel: LanesContextModel = {
58
49
  lanesModel: lanesState,
59
- updateLanesModel,
60
- updateViewedLane,
50
+ updateLanesModel: setLanesState,
51
+ updateViewedLane: setViewedLaneId,
61
52
  };
62
53
 
63
54
  return <LanesContext.Provider value={lanesContextModel}>{children}</LanesContext.Provider>;
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@teambit/lanes.hooks.use-lanes",
3
- "version": "0.0.82",
3
+ "version": "0.0.84",
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.82"
9
+ "version": "0.0.84"
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.137",
15
- "@teambit/lanes.ui.models.lanes-model": "0.0.44",
14
+ "@teambit/lane-id": "0.0.139",
15
+ "@teambit/lanes.ui.models.lanes-model": "0.0.46",
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
  },