Skip to content
Snippets Groups Projects
Commit 00b8b94a authored by Bekerle, Patrizio's avatar Bekerle, Patrizio :fire:
Browse files

Refactoring vpu to dbp (#2)

parent b081907b
No related branches found
No related tags found
No related merge requests found
Showing
with 82 additions and 78 deletions
image: registry.gitlab.tugraz.at/vpu/webcomponents/dbp-toolkit/main:v1
image: registry.gitlab.tugraz.at/dbp/webcomponents/toolkit/main:v1
stages:
- test
......
* In case of an incompatible change increase the tag version number in build.sh
* ./build.sh
* (first time) sudo docker login registry.gitlab.tugraz.at
* sudo docker push registry.gitlab.tugraz.at/vpu/webcomponents/toolkit/main:v1
\ No newline at end of file
* sudo docker push registry.gitlab.tugraz.at/dbp/webcomponents/toolkit/main:v1
\ No newline at end of file
#!/bin/bash
set -e
TAG="registry.gitlab.tugraz.at/vpu/webcomponents/dbp-toolkit/main:v1"
TAG="registry.gitlab.tugraz.at/dbp/webcomponents/toolkit/main:v1"
sudo docker build --tag "${TAG}" --file "Dockerfile" .
echo "Now run: sudo docker push '$TAG'"
{
"name": "vpu-toolkit",
"name": "dbp-toolkit",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,
......
{
"name": "vpu-toolkit",
"name": "dbp-toolkit",
"version": "1.0.0",
"description": "",
"main": "index.js",
......
image: registry.gitlab.tugraz.at/vpu/webcomponents/common/main:v5
image: registry.gitlab.tugraz.at/dbp/webcomponents/common/main:v5
before_script:
- "sed -i 's|git@gitlab.tugraz.at:VPU|../..|g' .gitmodules"
- "sed -i 's|git@gitlab.tugraz.at:dbp|../..|g' .gitmodules"
- git submodule sync
- git submodule update --init
......
[submodule "vendor/auth"]
path = vendor/auth
url = git@gitlab.tugraz.at:VPU/WebComponents/Auth.git
url = git@gitlab.tugraz.at:dbp/web-components/Auth.git
[submodule "vendor/common"]
path = vendor/common
url = git@gitlab.tugraz.at:VPU/WebComponents/Common
url = git@gitlab.tugraz.at:dbp/web-components/Common
[submodule "vendor/notification"]
path = vendor/notification
url = git@gitlab.tugraz.at:VPU/WebComponents/Notification
url = git@gitlab.tugraz.at:dbp/web-components/Notification
[submodule "vendor/language-select"]
path = vendor/language-select
url = git@gitlab.tugraz.at:VPU/WebComponents/LanguageSelect
url = git@gitlab.tugraz.at:dbp/web-components/LanguageSelect
[submodule "vendor/person-profile"]
path = vendor/person-profile
url = git@gitlab.tugraz.at:VPU/WebComponents/PersonProfile
url = git@gitlab.tugraz.at:dbp/web-components/PersonProfile
# App Shell Component
[GitLab Repository](https://gitlab.tugraz.at/VPU/Apps/AppShell)
[GitLab Repository](https://gitlab.tugraz.at/dbp/apps/AppShell)
A web component for building SPAs consisting of one topic with multiple
activities. Handles login, language selection, activity switching, menus etc.
......@@ -8,13 +8,13 @@ activities. Handles login, language selection, activity switching, menus etc.
## Usage
```html
<vpu-app-shell src="/example.topic.metadata.json"></vpu-app-shell>
<dbp-app-shell src="/example.topic.metadata.json"></dbp-app-shell>
```
## Attributes
- `lang` (optional, default: `de`): set to `de` or `en` for German or English
- example `<vpu-app-shell lang="de" </vpu-app-shell>`
- example `<dbp-app-shell lang="de" </dbp-app-shell>`
- `src`: The path to a topic metadata file (json)
- `base-path` (optional, default: `/`: An absolute base path for routing
- `entry-point-url`: Entry point URL to access the API
......@@ -48,8 +48,8 @@ activities. Handles login, language selection, activity switching, menus etc.
```json
{
"element": "vpu-activity-example",
"module_src": "vpu-activity-example.js",
"element": "dbp-activity-example",
"module_src": "dbp-activity-example.js",
"routing_name": "activity-example",
"name": {
"de": "Beispielaktivität",
......@@ -70,7 +70,7 @@ activities. Handles login, language selection, activity switching, menus etc.
```bash
# get the source
git clone git@gitlab.tugraz.at:VPU/Apps/AppShell.git
git clone git@gitlab.tugraz.at:dbp/apps/AppShell.git
cd AppShell
git submodule update --init
......
{
"element": "vpu-activity-example",
"module_src": "vpu-activity-example.js",
"element": "dbp-activity-example",
"module_src": "dbp-activity-example.js",
"routing_name": "activity-example",
"name": {
"de": "Beispielaktivität",
......
......@@ -10,12 +10,12 @@
}
</style>
<script type="module" src="/vpu-app-shell.js"></script>
<script type="module" src="/dbp-app-shell.js"></script>
</head>
<body>
<vpu-app-shell keycloak-config='{"url": "https://auth-dev.tugraz.at/auth", "realm": "tugraz", "clientId": "auth-dev-mw-frontend-local", "silentCheckSsoRedirectUri": "/silent-check-sso.html"}' src="/example.topic.metadata.json"></vpu-app-shell>
<dbp-app-shell keycloak-config='{"url": "https://auth-dev.tugraz.at/auth", "realm": "tugraz", "clientId": "auth-dev-mw-frontend-local", "silentCheckSsoRedirectUri": "/silent-check-sso.html"}' src="/example.topic.metadata.json"></dbp-app-shell>
</body>
</html>
\ No newline at end of file
{
"name": "vpu-app-shell",
"name": "dbp-app-shell",
"version": "1.0.0",
"main": "src/index.js",
"license": "LGPL-2.1-or-later",
......@@ -24,11 +24,11 @@
"rollup-plugin-copy": "^3.1.0",
"rollup-plugin-delete": "^2.0.0",
"rollup-plugin-serve": "^1.0.1",
"vpu-auth": "^1.0.0",
"vpu-common": "^1.0.0",
"vpu-language-select": "^1.0.0",
"vpu-notification": "^1.0.0",
"vpu-person-profile": "^1.0.0"
"dbp-auth": "^1.0.0",
"dbp-common": "^1.0.0",
"dbp-language-select": "^1.0.0",
"dbp-notification": "^1.0.0",
"dbp-person-profile": "^1.0.0"
},
"dependencies": {
"@open-wc/scoped-elements": "^1.1.1",
......
......@@ -30,7 +30,7 @@ function getBuildInfo() {
}
export default {
input: (build !='test') ? ['src/vpu-app-shell.js', 'src/vpu-activity-example.js'] : glob.sync('test/**/*.js'),
input: (build !='test') ? ['src/dbp-app-shell.js', 'src/dbp-activity-example.js'] : glob.sync('test/**/*.js'),
output: {
dir: 'dist',
entryFileNames: '[name].js',
......@@ -65,7 +65,7 @@ export default {
{src: 'assets/silent-check-sso.html', dest:'dist'},
{src: 'assets/index.html', dest: 'dist'},
{src: 'assets/*.json', dest: 'dist'},
{src: 'node_modules/vpu-common/assets/icons/*.svg', dest: 'dist/local/vpu-common/icons'},
{src: 'node_modules/dbp-common/assets/icons/*.svg', dest: 'dist/local/dbp-common/icons'},
],
}),
(process.env.ROLLUP_WATCH === 'true') ? serve({
......
import {createI18nInstance} from './i18n.js';
import {html, css, LitElement} from 'lit-element';
import {ScopedElementsMixin} from '@open-wc/scoped-elements';
import {LanguageSelect} from 'vpu-language-select';
import {Icon, EventBus} from 'vpu-common';
import {AuthKeycloak} from 'vpu-auth';
import {LanguageSelect} from 'dbp-language-select';
import {Icon, EventBus} from 'dbp-common';
import {AuthKeycloak} from 'dbp-auth';
import {AuthMenuButton} from './auth-menu-button.js';
import {Notification} from 'vpu-notification';
import * as commonStyles from 'vpu-common/styles';
import * as commonUtils from 'vpu-common/utils';
import {Notification} from 'dbp-notification';
import * as commonStyles from 'dbp-common/styles';
import * as commonUtils from 'dbp-common/utils';
import buildinfo from 'consts:buildinfo';
import {classMap} from 'lit-html/directives/class-map.js';
import {Router} from './router.js';
import {BuildInfo} from './build-info.js';
import {TUGrazLogo} from './tugraz-logo.js';
import {send as notify} from 'vpu-common/notification';
import {appWelcomeMeta} from './vpu-app-shell-welcome.js';
import {send as notify} from 'dbp-common/notification';
import {appWelcomeMeta} from './dbp-app-shell-welcome.js';
const i18n = createI18nInstance();
......@@ -63,13 +63,13 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
static get scopedElements() {
return {
'vpu-language-select': LanguageSelect,
'vpu-tugraz-logo': TUGrazLogo,
'vpu-build-info': BuildInfo,
'vpu-auth-keycloak': AuthKeycloak,
'vpu-auth-menu-button': AuthMenuButton,
'vpu-notification': Notification,
'vpu-icon': Icon,
'dbp-language-select': LanguageSelect,
'dbp-tugraz-logo': TUGrazLogo,
'dbp-build-info': BuildInfo,
'dbp-auth-keycloak': AuthKeycloak,
'dbp-auth-menu-button': AuthMenuButton,
'dbp-notification': Notification,
'dbp-icon': Icon,
};
}
......@@ -78,7 +78,7 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
if (mutation.type === 'attributes') {
const key = mutation.attributeName;
const value = mutation.target.getAttribute(key);
sessionStorage.setItem('vpu-attr-' + key, value);
sessionStorage.setItem('dbp-attr-' + key, value);
}
}
}
......@@ -137,7 +137,7 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
metadata = Object.assign(metadata, {
"welcome": appWelcomeMeta,
});
customElements.get("vpu-app-shell-welcome").app = this;
customElements.get("dbp-app-shell-welcome").app = this;
// this also triggers a rebuilding of the menu
this.metadata = metadata;
......@@ -265,7 +265,7 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
this.lang = lang;
this.router.update();
const event = new CustomEvent("vpu-language-changed", {
const event = new CustomEvent("dbp-language-changed", {
bubbles: true,
detail: {'lang': lang}
});
......@@ -544,8 +544,8 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
}
.menu a.selected {
color: var(--vpu-light);
background-color: var(--vpu-dark);
color: var(--dbp-light);
background-color: var(--dbp-dark);
}
aside .subtitle {
......@@ -646,7 +646,7 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
_onActivityAdded(element) {
for(const key of this.topic.attributes || []) {
let value = sessionStorage.getItem('vpu-attr-' + key);
let value = sessionStorage.getItem('dbp-attr-' + key);
if (value !== null) {
element.setAttribute(key, value);
}
......@@ -712,18 +712,18 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
return html`
<slot class="${slotClassMap}"></slot>
<vpu-auth-keycloak lang="${this.lang}" url="${kc.url}" realm="${kc.realm}" client-id="${kc.clientId}" silent-check-sso-redirect-uri="${kc.silentCheckSsoRedirectUri || ''}" scope="${kc.scope || ''}" load-person try-login></vpu-auth-keycloak>
<dbp-auth-keycloak lang="${this.lang}" url="${kc.url}" realm="${kc.realm}" client-id="${kc.clientId}" silent-check-sso-redirect-uri="${kc.silentCheckSsoRedirectUri || ''}" scope="${kc.scope || ''}" load-person try-login></dbp-auth-keycloak>
<div class="${mainClassMap}">
<div id="main">
<vpu-notification lang="${this.lang}"></vpu-notification>
<dbp-notification lang="${this.lang}"></dbp-notification>
<header>
<div class="hd1-left">
<vpu-language-select @vpu-language-changed=${this.onLanguageChanged.bind(this)}></vpu-language-select>
<dbp-language-select @dbp-language-changed=${this.onLanguageChanged.bind(this)}></dbp-language-select>
</div>
<div class="hd1-middle">
</div>
<div class="hd1-right">
<vpu-auth-menu-button class="auth-button" lang="${this.lang}"></vpu-auth-menu-button>
<dbp-auth-menu-button class="auth-button" lang="${this.lang}"></dbp-auth-menu-button>
</div>
<div class="hd2-left">
<div class="header">
......@@ -731,7 +731,7 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
</div>
</div>
<div class="hd2-right">
<vpu-tugraz-logo id="main-logo" lang="${this.lang}"></vpu-tugraz-logo>
<dbp-tugraz-logo id="main-logo" lang="${this.lang}"></dbp-tugraz-logo>
</div>
</header>
......@@ -742,11 +742,11 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
<aside>
<h2 class="subtitle" @click="${this.toggleMenu}">
${this.subtitle}
<vpu-icon name="chevron-down" style="color: red" id="menu-chevron-icon"></vpu-icon>
<dbp-icon name="chevron-down" style="color: red" id="menu-chevron-icon"></dbp-icon>
</h2>
<ul class="menu hidden">
${menuTemplates}
<li class="close" @click="${this.hideMenu}"><vpu-icon name="close" style="color: red"></vpu-icon></li>
<li class="close" @click="${this.hideMenu}"><dbp-icon name="close" style="color: red"></dbp-icon></li>
</ul>
</aside>
......@@ -759,7 +759,7 @@ export class AppShell extends ScopedElementsMixin(LitElement) {
<a target="_blank" rel="noopener" class="int-link-external" href="https://datenschutz.tugraz.at/erklaerung/">${i18n.t('privacy-policy')}</a>
<a target="_blank" rel="noopener" class="int-link-external" href="${imprintUrl}">${i18n.t('imprint')}</a>
<a rel="noopener" class="int-link-external" href="mailto:it-support@tugraz.at">${i18n.t('contact')}</a>
<vpu-build-info class="${prodClassMap}"></vpu-build-info>
<dbp-build-info class="${prodClassMap}"></dbp-build-info>
</footer>
</div>
</div>
......
......@@ -2,9 +2,9 @@ import {createI18nInstance} from './i18n.js';
import {html, css} from 'lit-element';
import {unsafeHTML} from 'lit-html/directives/unsafe-html.js';
import {ScopedElementsMixin} from '@open-wc/scoped-elements';
import * as commonStyles from 'vpu-common/styles';
import * as commonStyles from 'dbp-common/styles';
import {LitElement} from "lit-element";
import {Icon, EventBus} from 'vpu-common';
import {Icon, EventBus} from 'dbp-common';
const i18n = createI18nInstance();
......@@ -23,7 +23,7 @@ export class AuthMenuButton extends ScopedElementsMixin(LitElement) {
static get scopedElements() {
return {
'vpu-icon': Icon,
'dbp-icon': Icon,
};
}
......@@ -109,8 +109,8 @@ export class AuthMenuButton extends ScopedElementsMixin(LitElement) {
}
img {
border-width: var(--vpu-border-width);
border-color: var(--vpu-dark);
border-width: var(--dbp-border-width);
border-color: var(--dbp-dark);
border-style: solid;
}
......@@ -125,7 +125,7 @@ export class AuthMenuButton extends ScopedElementsMixin(LitElement) {
position: absolute;
z-index: 20;
border: solid 1px black;
border-radius: var(--vpu-border-radius);
border-radius: var(--dbp-border-radius);
overflow: hidden;
background-color: white;
}
......@@ -193,8 +193,8 @@ export class AuthMenuButton extends ScopedElementsMixin(LitElement) {
}
.login-button:hover {
background-color: var(--vpu-dark);
color: var(--vpu-light);
background-color: var(--dbp-dark);
color: var(--dbp-light);
cursor: pointer;
transition: none;
}
......@@ -205,7 +205,7 @@ export class AuthMenuButton extends ScopedElementsMixin(LitElement) {
}
.login-box:hover svg path {
fill: var(--vpu-light);
fill: var(--dbp-light);
}
.login-box .label {
......@@ -258,7 +258,7 @@ export class AuthMenuButton extends ScopedElementsMixin(LitElement) {
<a href="#">
<div class="dropdown-trigger login-button">
<div class="name">${this._loginData.name}</div>
<vpu-icon class="menu-icon" name="chevron-down" id="menu-chevron-icon"></vpu-icon>
<dbp-icon class="menu-icon" name="chevron-down" id="menu-chevron-icon"></dbp-icon>
</div>
</a>
<div class="dropdown-menu" id="dropdown-menu2" role="menu">
......
import {html, LitElement, css} from 'lit-element';
import * as commonStyles from 'vpu-common/styles';
import * as commonStyles from 'dbp-common/styles';
import buildinfo from 'consts:buildinfo';
export class BuildInfo extends LitElement {
......
import {html , LitElement} from 'lit-element';
import {createI18nInstance} from './i18n.js';
import * as commonUtils from 'vpu-common/utils';
import * as commonUtils from 'dbp-common/utils';
const i18n = createI18nInstance();
......@@ -36,4 +36,4 @@ class ActivityExample extends LitElement {
}
}
commonUtils.defineCustomElement('vpu-activity-example', ActivityExample);
commonUtils.defineCustomElement('dbp-activity-example', ActivityExample);
import {createI18nInstance} from './i18n.js';
import {css, html, LitElement} from 'lit-element';
import {ScopedElementsMixin} from '@open-wc/scoped-elements';
import * as commonUtils from 'vpu-common/utils';
import * as commonStyles from 'vpu-common/styles';
import * as commonUtils from 'dbp-common/utils';
import * as commonStyles from 'dbp-common/styles';
const i18n = createI18nInstance();
......@@ -80,7 +80,7 @@ class AppShellWelcome extends ScopedElementsMixin(LitElement) {
}
export const appWelcomeMeta = {
"element": "vpu-app-shell-welcome",
"element": "dbp-app-shell-welcome",
"module_src": "",
"routing_name": "welcome",
"name": {
......@@ -98,4 +98,4 @@ export const appWelcomeMeta = {
visible: true
};
commonUtils.defineCustomElement('vpu-app-shell-welcome', AppShellWelcome);
commonUtils.defineCustomElement('dbp-app-shell-welcome', AppShellWelcome);
import {AppShell} from './app-shell.js';
import * as commonUtils from 'dbp-common/utils';
commonUtils.defineCustomElement('dbp-app-shell', AppShell);
\ No newline at end of file
import {createInstance} from 'vpu-common/i18next.js';
import {createInstance} from 'dbp-common/i18next.js';
import de from './i18n/de/translation.json';
import en from './i18n/en/translation.json';
......
import {html, LitElement, css} from 'lit-element';
import * as commonStyles from 'vpu-common/styles';
import * as commonStyles from 'dbp-common/styles';
import {createI18nInstance} from './i18n.js';
const i18n = createI18nInstance();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment