4.0.7 • Published 4 months ago

@equinor/fusion-framework-react-module-bookmark v4.0.7

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

Fusion Framework React Bookmark Module

Installation

pnpm add @equinor/fusion-framework-react-module-bookmark

Hooks

useBookmarkProvider

Hook for getting the bookmark provider instance.

Note: This will use provided provider in the ModuleContext

import { useBookmarkProvider } from '@equinor/fusion-framework-react-module-bookmark';

useBookmark

/** Example of using the useBookmark hook */
import { useBookmark } from '@equinor/fusion-framework-react-module-bookmark';
const { currentBookmark, setCurrentBookmark } = useBookmark();

return (
  <div>
    <button onClick={() => setCurrentBookmark('5e6c2b57-2b1b-44bf-a22f-6e083ac85220')}>
      Set bookmark by id
    </button>
    <button 
      onClick={() => setCurrentBookmark({ 
        id: '77febed1-f349-42e5-8006-3bfdc52fe79a', 
        name: 'My bookmark', 
        payload: { foo: 'bar' } 
      })}
    >
      Set bookmark by data
    </button>
    <button onClick={() => setCurrentBookmark(null)}>
      Clear current bookmark
    </button>
    <div>{currentBookmark?.name}</div>
    <div>{JSON.stringify(currentBookmark?.data)}</div>
  </div>
);
/** example of interacting with payload */
import { useBookmarkProvider, useBookmark } from '@equinor/fusion-framework-react-module-bookmark';


type PayloadData = {
  counter: number;
}

const bookmarkPayloadGenerator = (data) => {
  data.counter++;
};

const SomeComponent = () => {
  const bookmarkProvider = useBookmarkProvider();
  const { currentBookmark } = useBookmark<PayloadData>(bookmarkPayloadGenerator);

  useEffect(() => bookmarkProvider.on('bookmarkChange', ({ current, next }) => {
    console.log('Current bookmark payload', current.payload); 
    console.log('Bookmark updated payload', next.payload); 
  }), [bookmarkProvider]);

  const updateBookmark = useCallback(() => {
    bookmarkProvider.updateBookmark(currentBookmark.id);
  }, [currentBookmark.id]);

  return (
    <div>
      <button onClick={updateBookmark}>
        Update bookmark
      </button>
      <div>{currentBookmark.payload.counter}</div>
    </div>
  );
};
4.0.5

5 months ago

4.0.4

5 months ago

4.0.7

4 months ago

4.0.6

5 months ago

4.0.1

5 months ago

4.0.0

5 months ago

4.0.3

5 months ago

4.0.2

5 months ago

2.1.19

11 months ago

2.3.0

9 months ago

2.3.2

9 months ago

2.3.1

9 months ago

2.2.1

11 months ago

2.2.0

11 months ago

2.2.3

10 months ago

2.2.2

11 months ago

2.2.4

10 months ago

3.0.4

7 months ago

3.0.3

7 months ago

3.0.2

8 months ago

3.0.1

8 months ago

3.0.8

6 months ago

3.0.7

6 months ago

4.0.4-next.2

5 months ago

3.0.6

6 months ago

3.0.5

7 months ago

4.0.4-next.0

5 months ago

4.0.4-next.1

5 months ago

3.0.0

8 months ago

3.0.9

6 months ago

2.1.18

1 year ago

2.1.9

1 year ago

2.1.16

1 year ago

2.1.17

1 year ago

2.1.14

1 year ago

2.1.15

1 year ago

2.1.12

1 year ago

2.1.13

1 year ago

2.1.10

1 year ago

2.1.11

1 year ago

2.1.8

1 year ago

2.1.7

1 year ago

2.1.6

1 year ago

2.1.5

1 year ago

2.1.4

2 years ago

2.1.3

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.0.35

2 years ago

2.1.0

2 years ago

2.0.34

2 years ago

2.0.33

2 years ago

2.0.32

2 years ago

2.0.31

2 years ago

2.0.30

2 years ago

2.0.29

2 years ago

2.0.28

2 years ago

2.0.27

2 years ago

2.0.26

2 years ago

2.0.24

2 years ago

2.0.25

2 years ago

2.0.23

2 years ago

2.0.15

2 years ago

2.0.16

2 years ago

2.0.13

2 years ago

2.0.19

2 years ago

2.0.17

2 years ago

2.0.18

2 years ago

2.0.22

2 years ago

2.0.20

2 years ago

2.0.21

2 years ago

2.0.12

2 years ago

2.0.13-next.0

2 years ago

2.0.11

2 years ago

2.0.10

2 years ago

2.0.9

2 years ago

2.0.8

2 years ago

2.0.7

2 years ago

2.0.6

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

2.0.0-next.13

2 years ago

2.0.0-next.12

2 years ago

2.0.0-next.11

2 years ago

2.0.0-next.10

2 years ago

2.0.0-next.9

2 years ago

2.0.0-next.8

2 years ago

2.0.0-next.7

2 years ago

2.0.0-next.6

2 years ago

2.0.0-next.5

2 years ago

2.0.0-next.4

2 years ago

2.0.0-next.3

2 years ago

2.0.0-next.2

2 years ago

2.0.0-next.1

2 years ago

2.0.0-next.0

2 years ago

1.0.5

2 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.1.11

3 years ago

0.1.10

3 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.0

3 years ago