4.0.7 • Published 10 months ago

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

Weekly downloads
-
License
ISC
Repository
github
Last release
10 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

10 months ago

4.0.4

10 months ago

4.0.7

10 months ago

4.0.6

10 months ago

4.0.1

11 months ago

4.0.0

11 months ago

4.0.3

11 months ago

4.0.2

11 months ago

2.1.19

1 year ago

2.3.0

1 year ago

2.3.2

1 year ago

2.3.1

1 year ago

2.2.1

1 year ago

2.2.0

1 year ago

2.2.3

1 year ago

2.2.2

1 year ago

2.2.4

1 year ago

3.0.4

1 year ago

3.0.3

1 year ago

3.0.2

1 year ago

3.0.1

1 year ago

3.0.8

11 months ago

3.0.7

11 months ago

4.0.4-next.2

10 months ago

3.0.6

12 months ago

3.0.5

1 year ago

4.0.4-next.0

11 months ago

4.0.4-next.1

10 months ago

3.0.0

1 year ago

3.0.9

11 months ago

2.1.18

1 year ago

2.1.9

2 years ago

2.1.16

2 years ago

2.1.17

2 years ago

2.1.14

2 years ago

2.1.15

2 years ago

2.1.12

2 years ago

2.1.13

2 years ago

2.1.10

2 years ago

2.1.11

2 years ago

2.1.8

2 years ago

2.1.7

2 years ago

2.1.6

2 years ago

2.1.5

2 years 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

3 years ago

2.0.16

3 years ago

2.0.13

3 years ago

2.0.19

3 years ago

2.0.17

3 years ago

2.0.18

3 years ago

2.0.22

2 years ago

2.0.20

3 years ago

2.0.21

3 years ago

2.0.12

3 years ago

2.0.13-next.0

3 years ago

2.0.11

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.3

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

2.0.0-next.13

3 years ago

2.0.0-next.12

3 years ago

2.0.0-next.11

3 years ago

2.0.0-next.10

3 years ago

2.0.0-next.9

3 years ago

2.0.0-next.8

3 years ago

2.0.0-next.7

3 years ago

2.0.0-next.6

3 years ago

2.0.0-next.5

3 years ago

2.0.0-next.4

3 years ago

2.0.0-next.3

3 years ago

2.0.0-next.2

3 years ago

2.0.0-next.1

3 years ago

2.0.0-next.0

3 years ago

1.0.5

3 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