From b5f5dbcd0aa67e5db618347904f2d9e12a459b6b Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio.bekerle@tugraz.at> Date: Tue, 6 Aug 2019 10:26:17 +0200 Subject: [PATCH] Add entry-point-url attribute support --- packages/person-select/README.md | 2 ++ packages/person-select/src/person-select-demo.js | 2 +- packages/person-select/src/person-select.js | 11 ++++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/person-select/README.md b/packages/person-select/README.md index e831e10a..9fd8b5f5 100644 --- a/packages/person-select/README.md +++ b/packages/person-select/README.md @@ -12,6 +12,8 @@ - `lang` (optional, default: `de`): set to `de` or `en` for German or English - example `<vpu-person-select lang="de"></vpu-person-select>` +- `entry-point-url` (optional, default is the TU Graz entry point url): entry point url to access the api + - example `<vpu-person-select entry-point-url="http://127.0.0.1:8000"></vpu-person-select>` ## Local development diff --git a/packages/person-select/src/person-select-demo.js b/packages/person-select/src/person-select-demo.js index e12591d8..8876cc2d 100644 --- a/packages/person-select/src/person-select-demo.js +++ b/packages/person-select/src/person-select-demo.js @@ -41,7 +41,7 @@ class PersonSelectDemo extends LitElement { <div class="field"> <label class="label">Person</label> <div class="control"> - <vpu-person-select lang="${this.lang}"></vpu-person-select> + <vpu-person-select lang="${this.lang}" entry-point-url="${utils.getAPiUrl()}"></vpu-person-select> </div> </div> </form> diff --git a/packages/person-select/src/person-select.js b/packages/person-select/src/person-select.js index a212522b..be09fd0e 100644 --- a/packages/person-select/src/person-select.js +++ b/packages/person-select/src/person-select.js @@ -5,7 +5,7 @@ import select2LangDe from './i18n/de/select2' import select2LangEn from './i18n/en/select2' import JSONLD from 'vpu-common/jsonld'; import {html} from 'lit-element'; -import {i18n, dateTimeFormat, numberFormat} from './i18n.js'; +import {i18n} from './i18n.js'; import VPULitElementJQuery from 'vpu-common/vpu-lit-element-jquery'; select2(window, $); @@ -15,12 +15,14 @@ class PersonSelect extends VPULitElementJQuery { constructor() { super(); this.lang = 'de'; + this.entryPointUrl = utils.getAPiUrl(); this.jsonld = null; } static get properties() { return { lang: { type: String }, + entryPointUrl: { type: String, attribute: 'entry-point-url' }, }; } @@ -29,7 +31,7 @@ class PersonSelect extends VPULitElementJQuery { const that = this; this.updateComplete.then(()=>{ - JSONLD.initialize(utils.getAPiUrl(), function (jsonld) { + JSONLD.initialize(this.entryPointUrl, function (jsonld) { that.jsonld = jsonld; const $select = that.initSelect2(); @@ -63,6 +65,10 @@ class PersonSelect extends VPULitElementJQuery { const $select = this.$('#person-select'); + if ($select.hasClass('select2-hidden-accessible')) { + $select.select2('destroy'); + } + $select.select2({ width: '100%', language: this.lang === "de" ? select2LangDe() : select2LangEn(), @@ -126,7 +132,6 @@ class PersonSelect extends VPULitElementJQuery { if ($select.length > 0) { // no other way to set an other language at runtime did work - $select.select2('destroy'); this.initSelect2(); } } -- GitLab