From 874c73cfe29ccb596d44a3452af9a72262cc7bd6 Mon Sep 17 00:00:00 2001
From: Patrizio Bekerle <patrizio@bekerle.com>
Date: Tue, 2 Feb 2021 15:40:57 +0100
Subject: [PATCH] Integrate auth property into dbp-person-select

---
 packages/person-select/README.md                     | 2 ++
 packages/person-select/assets/index.html             | 2 +-
 packages/person-select/src/dbp-person-select-demo.js | 4 ++--
 packages/person-select/src/person-select.js          | 4 ++--
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/packages/person-select/README.md b/packages/person-select/README.md
index 24fc8e24..64590b36 100644
--- a/packages/person-select/README.md
+++ b/packages/person-select/README.md
@@ -33,6 +33,8 @@ npm i @dbp-toolkit/person-select
     - example `<dbp-person-select show-reload-button></dbp-person-select>`
 - `reload-button-title` (optional): sets a title text on the reload button
     - example `<dbp-person-select show-reload-button reload-button-text="Reload result list"></dbp-person-select>`
+- `auth` object: you need to set that object property for the auth token
+  - example auth property: `{token: "THE_BEARER_TOKEN"}`
 
 ## Local development
 
diff --git a/packages/person-select/assets/index.html b/packages/person-select/assets/index.html
index 0f039ac8..95f89808 100644
--- a/packages/person-select/assets/index.html
+++ b/packages/person-select/assets/index.html
@@ -7,6 +7,6 @@
 
 <body>
 
-<dbp-person-select-demo lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-person-select-demo>
+<dbp-person-select-demo auth lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-person-select-demo>
 </body>
 </html>
diff --git a/packages/person-select/src/dbp-person-select-demo.js b/packages/person-select/src/dbp-person-select-demo.js
index cdfec18f..7296ff6f 100644
--- a/packages/person-select/src/dbp-person-select-demo.js
+++ b/packages/person-select/src/dbp-person-select-demo.js
@@ -75,13 +75,13 @@ export class PersonSelectDemo extends ScopedElementsMixin(DBPLitElement) {
                         <div class="field">
                             <label class="label">Person 1</label>
                             <div class="control">
-                                <dbp-person-select lang="${this.lang}" entry-point-url="${this.entryPointUrl}"></dbp-person-select>
+                                <dbp-person-select subscribe="auth:auth" lang="${this.lang}" entry-point-url="${this.entryPointUrl}"></dbp-person-select>
                             </div>
                         </div>
                         <div class="field">
                             <label class="label">Person 2</label>
                             <div class="control">
-                                <dbp-person-select lang="${this.lang}" entry-point-url="${this.entryPointUrl}" show-reload-button reload-button-title="Click me"></dbp-person-select>
+                                <dbp-person-select subscribe="auth:auth" lang="${this.lang}" entry-point-url="${this.entryPointUrl}" show-reload-button reload-button-title="Click me"></dbp-person-select>
                             </div>
                         </div>
                     </form>
diff --git a/packages/person-select/src/person-select.js b/packages/person-select/src/person-select.js
index 8811f957..d105d764 100644
--- a/packages/person-select/src/person-select.js
+++ b/packages/person-select/src/person-select.js
@@ -156,7 +156,7 @@ export class PersonSelect extends ScopedElementsMixin(AdapterLitElement) {
                 url: apiUrl,
                 contentType: "application/ld+json",
                 beforeSend: function (jqXHR) {
-                    jqXHR.setRequestHeader('Authorization', 'Bearer ' + window.DBPAuthToken);
+                    jqXHR.setRequestHeader('Authorization', 'Bearer ' + that.auth.token);
                     that.isSearching = true;
                 },
                 data: function (params) {
@@ -223,7 +223,7 @@ export class PersonSelect extends ScopedElementsMixin(AdapterLitElement) {
             fetch(apiUrl, {
                 headers: {
                     'Content-Type': 'application/ld+json',
-                    'Authorization': 'Bearer ' + this.auth.token || window.DBPAuthToken,
+                    'Authorization': 'Bearer ' + this.auth.token,
                 },
             })
             .then(result => {
-- 
GitLab