From 4bf5288dfe0692a66491c253816c2bc2905db122 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio@bekerle.com> Date: Tue, 2 Feb 2021 15:22:53 +0100 Subject: [PATCH] Integrate auth property into dbp-knowledge-base-web-page-element-view --- .../knowledge-base-web-page-element-view/README.md | 2 ++ .../assets/index.html | 2 +- .../dbp-knowledge-base-web-page-element-view-demo.js | 8 ++++---- .../src/knowledge-base-web-page-element-view.js | 11 +++++++---- packages/person-profile/src/person-profile.js | 2 +- packages/person-select/src/person-select.js | 4 ++-- .../assets/check-in-place-select.metadata.json | 2 +- toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs | 1 + toolkit-showcase/assets/file-handling.metadata.json | 2 +- ...knowledge-base-web-page-element-view.metadata.json | 2 +- toolkit-showcase/assets/person-profile.metadata.json | 2 +- toolkit-showcase/assets/person-select.metadata.json | 2 +- toolkit-showcase/assets/qr-code-scanner.metadata.json | 2 +- 13 files changed, 24 insertions(+), 18 deletions(-) diff --git a/packages/knowledge-base-web-page-element-view/README.md b/packages/knowledge-base-web-page-element-view/README.md index 93086003..82a96017 100644 --- a/packages/knowledge-base-web-page-element-view/README.md +++ b/packages/knowledge-base-web-page-element-view/README.md @@ -23,6 +23,8 @@ npm i @dbp-toolkit/knowledge-base-web-page-element-view - example `<dbp-knowledge-base-web-page-element-view entry-point-url="http://127.0.0.1:8000"></dbp-knowledge-base-web-page-element-view>` - `text` (optional): text to click to show the information loaded from the webpage - example `<dbp-knowledge-base-web-page-element-view text="Click me to show more information"></dbp-knowledge-base-web-page-element-view>` +- `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/knowledge-base-web-page-element-view/assets/index.html b/packages/knowledge-base-web-page-element-view/assets/index.html index bc9b5c5d..bd187181 100644 --- a/packages/knowledge-base-web-page-element-view/assets/index.html +++ b/packages/knowledge-base-web-page-element-view/assets/index.html @@ -14,7 +14,7 @@ </style> <body> -<dbp-knowledge-base-web-page-element-view-demo lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-knowledge-base-web-page-element-view-demo> +<dbp-knowledge-base-web-page-element-view-demo auth lang="de" entry-point-url="http://127.0.0.1:8000"></dbp-knowledge-base-web-page-element-view-demo> </body> </html> diff --git a/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js b/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js index d72d83d8..d4ad245d 100644 --- a/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js +++ b/packages/knowledge-base-web-page-element-view/src/dbp-knowledge-base-web-page-element-view-demo.js @@ -86,23 +86,23 @@ export class KnowledgeBaseWebPageElementViewDemo extends ScopedElementsMixin(DBP <div class="container"> <h2 class="subtitle">Deutsch</h2> <p>Ein erster Schritt</p> - <dbp-knowledge-base-web-page-element-view lang="de" entry-point-url="${this.entryPointUrl}" value="bedienstete/bibliothek/buch-ausleihen" text="Ein Buch ausleihen"></dbp-knowledge-base-web-page-element-view> + <dbp-knowledge-base-web-page-element-view subscribe="auth:auth" lang="de" entry-point-url="${this.entryPointUrl}" value="bedienstete/bibliothek/buch-ausleihen" text="Ein Buch ausleihen"></dbp-knowledge-base-web-page-element-view> </div> <div class="container"> <h2 class="subtitle">Englisch</h2> <p>A first step</p> - <dbp-knowledge-base-web-page-element-view lang="en" entry-point-url="${this.entryPointUrl}" value="bedienstete/bibliothek/buch-ausleihen" text="Borrow a book"></dbp-knowledge-base-web-page-element-view> + <dbp-knowledge-base-web-page-element-view subscribe="auth:auth" lang="en" entry-point-url="${this.entryPointUrl}" value="bedienstete/bibliothek/buch-ausleihen" text="Borrow a book"></dbp-knowledge-base-web-page-element-view> </div> <hr> <div class="container"> <p>mit Text in der WebComponent:</p> - <dbp-knowledge-base-web-page-element-view lang="${this.lang}" value="abc/def/xyz" text="FAQ"></dbp-knowledge-base-web-page-element-view> + <dbp-knowledge-base-web-page-element-view subscribe="auth:auth" lang="${this.lang}" value="abc/def/xyz" text="FAQ"></dbp-knowledge-base-web-page-element-view> </div> <hr> <div class="container"> <p>ohne Text in der WebComponent:</p> Kontaktieren Sie uns unter... - <dbp-knowledge-base-web-page-element-view class="opt" lang="${this.lang}" value="abc/def/klm"></dbp-knowledge-base-web-page-element-view> + <dbp-knowledge-base-web-page-element-view subscribe="auth:auth" class="opt" lang="${this.lang}" value="abc/def/klm"></dbp-knowledge-base-web-page-element-view> </div> </section> `; diff --git a/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js b/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js index c56aac2f..9b34f065 100644 --- a/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js +++ b/packages/knowledge-base-web-page-element-view/src/knowledge-base-web-page-element-view.js @@ -1,14 +1,15 @@ import {i18n} from './i18n'; -import {html, LitElement} from 'lit-element'; +import {html} from 'lit-element'; import {ScopedElementsMixin} from '@open-wc/scoped-elements'; import {MiniSpinner} from '@dbp-toolkit/common'; import * as commonUtils from "@dbp-toolkit/common/utils"; import {unsafeHTML} from 'lit-html/directives/unsafe-html.js'; +import {AdapterLitElement} from "@dbp-toolkit/provider/src/adapter-lit-element"; /** * KnowledgeBaseWebPageElementView web component */ -export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(LitElement) { +export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(AdapterLitElement) { constructor() { super(); this.lang = 'de'; @@ -21,6 +22,7 @@ export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(LitElem //this.css = 'kb.css'; this.text = ''; this.class = ''; + this.auth = {}; } static get scopedElements() { @@ -46,6 +48,7 @@ export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(LitElem error: { type: String, attribute: false}, //css: { type: String }, text: { type: String }, + auth: { type: Object }, }; } @@ -53,7 +56,7 @@ export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(LitElem * Loads the data from the web page element */ loadWebPageElement() { - if (window.DBPAuthToken === undefined || window.DBPAuthToken === "") { + if (this.auth.token === undefined || this.auth.token === "") { return; } @@ -66,7 +69,7 @@ export class KnowledgeBaseWebPageElementView extends ScopedElementsMixin(LitElem fetch(apiUrl, { headers: { 'Content-Type': 'application/ld+json', - 'Authorization': 'Bearer ' + window.DBPAuthToken, + 'Authorization': 'Bearer ' + this.auth.token, }, }) .then(function (res) { diff --git a/packages/person-profile/src/person-profile.js b/packages/person-profile/src/person-profile.js index cffea426..03e47b90 100644 --- a/packages/person-profile/src/person-profile.js +++ b/packages/person-profile/src/person-profile.js @@ -56,7 +56,7 @@ export class PersonProfile extends DBPLitElement { fetch(apiUrl, { headers: { 'Content-Type': 'application/ld+json', - 'Authorization': 'Bearer ' + window.DBPAuthToken, + 'Authorization': 'Bearer ' + this.auth.token, }, }) .then(response => response.json()) 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 => { diff --git a/toolkit-showcase/assets/check-in-place-select.metadata.json b/toolkit-showcase/assets/check-in-place-select.metadata.json index cc76f853..c3abf552 100644 --- a/toolkit-showcase/assets/check-in-place-select.metadata.json +++ b/toolkit-showcase/assets/check-in-place-select.metadata.json @@ -14,5 +14,5 @@ "de": "Ort Web Component", "en": "Check-in place select web component" }, - "subscribe": "lang:lang,entry-point-url:entry-point-url" + "subscribe": "lang:lang,entry-point-url:entry-point-url,auth:auth" } diff --git a/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs b/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs index 7c9f567a..d4a9e251 100644 --- a/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs +++ b/toolkit-showcase/assets/dbp-toolkit-showcase.html.ejs @@ -61,6 +61,7 @@ nextcloud-file-url="<%= nextcloudFileURL %>"> <<%= name %> src="<%= getUrl(name + '.topic.metadata.json') %>" + auth base-path="<%= getUrl('') %>" keycloak-config='{"url": "<%= keyCloakBaseURL %>", "realm": "tugraz", "clientId": "<%= keyCloakClientId %>", "silentCheckSsoRedirectUri": "<%= getUrl('silent-check-sso.html') %>"}' matomo-url="<%= matomoUrl %>" matomo-site-id="<%= matomoSiteId %>" diff --git a/toolkit-showcase/assets/file-handling.metadata.json b/toolkit-showcase/assets/file-handling.metadata.json index edd171f0..005f2f63 100644 --- a/toolkit-showcase/assets/file-handling.metadata.json +++ b/toolkit-showcase/assets/file-handling.metadata.json @@ -14,5 +14,5 @@ "de": "Web Komponenten für file sink und file source. Für mehrere verschiedenen Quellen.", "en": "Web components for file sink and file source. For several different sources." }, - "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker" + "subscribe": "lang:lang,entry-point-url:entry-point-url,nextcloud-auth-url:nextcloud-auth-url,nextcloud-web-dav-url:nextcloud-web-dav-url,nextcloud-name:nextcloud-name,nextcloud-file-url:nextcloud-file-url,show-nextcloud-file-picker:show-nextcloud-file-picker,auth:auth" } diff --git a/toolkit-showcase/assets/knowledge-base-web-page-element-view.metadata.json b/toolkit-showcase/assets/knowledge-base-web-page-element-view.metadata.json index d5f59a30..e60976c0 100644 --- a/toolkit-showcase/assets/knowledge-base-web-page-element-view.metadata.json +++ b/toolkit-showcase/assets/knowledge-base-web-page-element-view.metadata.json @@ -14,5 +14,5 @@ "de": "Erlaubt das Einfügen von Webinhalten", "en": "Allows the inserting of web content" }, - "subscribe": "lang:lang,entry-point-url:entry-point-url" + "subscribe": "lang:lang,entry-point-url:entry-point-url,auth:auth" } diff --git a/toolkit-showcase/assets/person-profile.metadata.json b/toolkit-showcase/assets/person-profile.metadata.json index 93e53416..d6732f3e 100644 --- a/toolkit-showcase/assets/person-profile.metadata.json +++ b/toolkit-showcase/assets/person-profile.metadata.json @@ -14,5 +14,5 @@ "de": "Gemeinsame Web Components", "en": "Person profile web components" }, - "subscribe": "lang:lang,entry-point-url:entry-point-url" + "subscribe": "lang:lang,entry-point-url:entry-point-url,auth:auth" } diff --git a/toolkit-showcase/assets/person-select.metadata.json b/toolkit-showcase/assets/person-select.metadata.json index 3c67077d..4ad3e116 100644 --- a/toolkit-showcase/assets/person-select.metadata.json +++ b/toolkit-showcase/assets/person-select.metadata.json @@ -14,5 +14,5 @@ "de": "Erlaubt das Suchen von Personen", "en": "Allows searching for persons" }, - "subscribe": "lang:lang,entry-point-url:entry-point-url" + "subscribe": "lang:lang,entry-point-url:entry-point-url,auth:auth" } diff --git a/toolkit-showcase/assets/qr-code-scanner.metadata.json b/toolkit-showcase/assets/qr-code-scanner.metadata.json index c58d7eda..5b962134 100644 --- a/toolkit-showcase/assets/qr-code-scanner.metadata.json +++ b/toolkit-showcase/assets/qr-code-scanner.metadata.json @@ -14,5 +14,5 @@ "de": "Scannt Qr Codes", "en": "Scans Qr Codes" }, - "subscribe": "lang:lang,entry-point-url:entry-point-url" + "subscribe": "lang:lang,entry-point-url:entry-point-url,auth:auth" } -- GitLab