1.6.0 • Published 21 days ago

@keepeek/keepicker-react v1.6.0

Weekly downloads
-
License
-
Repository
-
Last release
21 days ago

Integration

Steps to use the Keepicker

1 - Import the JavaScript file registering kpk-keepicker web component :

<head>
  <script async src="keepicker.js"></script>
</head>

2 - Add the web component tag in the DOM :

<body>
  <kpk-keepicker
    id="keepicker"
    keycloak-url="XXX"
    keycloak-realm="XXX"
    keycloak-client-id="XXX"
    api-endpoint="XXX"
    data-locale="FR"
    ui-locale="FR"
  ></kpk-keepicker>
</body>

3 - Add a callback that will be triggered when selecting an asset :

<script>
  document
    .querySelector("#keepicker")
    .addEventListener("kpk-insert", (event) => {
      console.log(event.detail.element);
    });
</script>

Examples

React

function App() {
  const ref = useRef();

  useEffect(() => {
    if (ref && ref.current) {
      const currentRef = ref.current;
      const handleInsert = (event) => console.log(event.detail.element);
      currentRef.addEventListener("kpk-insert", handleInsert);
      return () => {
        currentRef.removeEventListener("kpk-insert", handleInsert);
      };
    }
  }, []);
  return (
    <div className="App">
      <kpk-keepicker
        ref={ref}
        keycloak-url="XXX"
        keycloak-realm="XXX"
        keycloak-client-id="XXX"
        api-endpoint="XXX"
        data-locale="FR"
        ui-locale="FR"
      ></kpk-keepicker>
    </div>
  );
}

Drupal form

To integrate component in a form, add a container :

$form['container']['picker'] = [
  '#type' => 'container',
  '#attributes' => array('id'=>'kpk-keepicker-container'),
];

Add a behaviour to mount web component :

Drupal.behaviors.addKeepickerWebComponentMarkup = {
  attach: function (context) {
    if (context.id === "node-article-edit-form") {
      document.querySelector("#kpk-keepicker-container").innerHTML =
        '<kpk-keepicker id="keepicker" keycloak-url="XXX" keycloak-realm="XXX" keycloak-client-id="XXX" api-endpoint="XXX" data-locale="FR" ui-locale="FR"></kpk-keepicker>';
      document
        .querySelector("#keepicker")
        .addEventListener("kpk-insert", (event) => {
          document.querySelector(".keepicker-url").value =
            event.detail.element.previewUrl;
        });
    }
  },
};

List of attributes

NameMadatoryTypeDefault valueDescription
api-endpointyesStringAPI Endpoint
keycloak-urlnoStringConfiguration from API endpointKeycloak URL
keycloak-realmnoStringConfiguration from API endpointKeycloak Realm
keycloak-client-idnoStringDefault Keepicker Client IDKeycloak Client ID
keycloak-idpnoStringKeycloak IDP name for SSO connection
data-localenoStringFRData locale
ui-localenoStringFRInterface locale

List of events

NameDescription
kpk-insertEvent dispached when inserting one element
1.6.0-beta.23

21 days ago

1.6.0-beta.20

24 days ago

1.6.0-beta.21

24 days ago

1.6.0-beta.22

24 days ago

1.6.0-beta.19

25 days ago

1.6.0

2 months ago

1.6.0-beta.18

2 months ago

1.6.0-beta.17

2 months ago

1.6.0-beta.15

2 months ago

1.6.0-beta.16

2 months ago

1.6.0-beta.14

2 months ago

1.6.0-beta.13

2 months ago

1.6.0-beta.12

2 months ago

1.6.0-beta.10

2 months ago

1.6.0-beta.11

2 months ago

1.6.0-beta.9

2 months ago

1.6.0-beta.8

2 months ago

1.6.0-beta.7

2 months ago

1.6.0-beta.6

3 months ago

1.6.0-beta.4

3 months ago

1.6.0-beta.5

3 months ago

1.6.0-beta.3

3 months ago

1.6.0-beta.2

3 months ago

1.6.0-beta.1

3 months ago

1.5.0-beta.6

3 months ago

1.5.0-beta.5

3 months ago

1.5.0

4 months ago

1.5.0-beta.4

4 months ago

1.5.0-beta.2

4 months ago

1.5.0-beta.3

4 months ago

1.5.0-beta.1

5 months ago

1.4.1-beta.2

6 months ago

1.4.1-beta.1

7 months ago

1.2.0-beta.1

7 months ago

1.4.0

7 months ago

1.3.0

7 months ago

1.2.0

7 months ago

1.1.0

7 months ago

1.0.0-beta.51

7 months ago

1.0.0-beta.50

7 months ago

1.0.0-beta.49

7 months ago

1.0.0-beta.48

7 months ago

1.0.0-beta.47

7 months ago

1.0.0-beta.46

8 months ago

1.0.0-beta.45

8 months ago

1.0.0-beta.44

8 months ago

1.0.0-beta.43

8 months ago

1.0.0-beta.42

8 months ago

1.0.0-beta.41

8 months ago

1.0.0-beta.40

8 months ago

1.0.0-beta.39

8 months ago

1.0.0-beta.38

8 months ago

1.0.0-beta.37

8 months ago

1.0.0-beta.36

8 months ago

1.0.0-beta.35

8 months ago

1.0.0-beta.34

8 months ago

1.0.0-beta.33

8 months ago

1.0.0-beta.32

8 months ago

1.0.0-beta.31

8 months ago

1.0.0-beta.30

8 months ago

1.0.0-beta.29

8 months ago

1.0.0-beta.28

8 months ago

1.0.0-beta.27

8 months ago

1.0.0-beta.26

8 months ago

1.0.0-beta.25

8 months ago

1.0.0-beta.24

8 months ago

1.0.0-beta.23

8 months ago

1.0.0-beta.22

8 months ago

1.0.0-beta.21

8 months ago

1.0.0-beta.20

8 months ago

1.0.0-beta.19

9 months ago

1.0.0-beta.18

9 months ago

1.0.0-beta.17

9 months ago

1.0.0-beta.16

9 months ago

1.0.0-beta.15

9 months ago

1.0.0-beta.14

9 months ago

1.0.0-beta.13

9 months ago