This commit is contained in:
Jean-Baptiste Pasquier
2021-06-15 13:48:49 +02:00
джерело 5932d8306c
коміт e65def6234
106 змінених файлів з 404 додано та 422 видалено

@ -1,6 +1,6 @@
<h1 align="center">
<br>
<a href="http://hubl.world"><img src="https://cdn.startinblox.com/logos/hubl-logo.png" alt="Hubl" width="200"></a>
<a href="http://hubl.world"><img src="https://cdn.startinblox.com/logos/hubl-logo.png" alt="Orbit" width="200"></a>
<br>
</h1>
@ -20,14 +20,14 @@ These instructions will get you a copy of the project up and running on your loc
### Prerequisites
To install Hubl, you'll need:
To install Orbit, you'll need:
* A [Hubl Server](https://git.startinblox.com/djangoldp-packages/server-manager/) (djangoldp>2)
* A [DjangoLDP Server](https://git.startinblox.com/djangoldp-packages/server-manager/) (djangoldp>2)
* A [Prosody Server](https://prosody.im/) (with [appropriate modules](https://git.startinblox.com/infra/prosody-modules/)) (optional)
* A SMTP Server (optional)
* NodeJS on your machine
Before diving in you have to check your Hubl Server supports the following LDP packages:
Before diving in you have to check your DjangoLDP Server supports the following LDP packages:
* djangoldp_account
* djangoldp_uploader
@ -35,23 +35,23 @@ Before diving in you have to check your Hubl Server supports the following LDP p
Those packages are given with the last stable version tested.
Refer to the [documentation to install a Hubl Server](https://docs.startinblox.com/import_documentation/install-djangoldp-server.html) with this configuration.
Refer to the [documentation to install a DjangoLDP Server](https://docs.startinblox.com/import_documentation/install-djangoldp-server.html) with this configuration.
## Build the application
In order to find your server(s) the client application needs to be assembled with the proper configuration.
Get the code of the Hubl on your machine:
Get the code of the Orbit on your machine:
```bash
git clone ...
cd hubl
cd orbit
npm install
```
Then create a `config.json` based on your needs, see Mandatory and Optional Modules on this page. For convienence a `config.sample.json` exists in the source.
Then build your new Hubl:
Then build your new Orbit:
```bash
npm run build
@ -87,7 +87,7 @@ CONFIG_PATH='config.customName.json' npm run build
## Mandatory modules
By default, a Hubl includes only individual chat modules.
By default, a Orbit includes only individual chat modules.
On Server: `djangoldp_account`, `djangoldp_upload`, `django-webidoidc-provider` packages
@ -105,7 +105,7 @@ On `config.json`:
Where:
* `client.name` is the name of your Hubl
* `client.name` is the name of your Orbit
* `client.logo` is an URL to an image file
* `components` is your modules declaration registry
@ -129,7 +129,7 @@ On `config.json`:
Where:
* `client.favicon` is an URL to a distant favicon
* `client.css` is an URL to a distant CSS that'll be the last one loaded by the Hubl
* `client.css` is an URL to a distant CSS that'll be the last one loaded by the Orbit
* `client.i18n.lang` is the fallback langage in case the visitor's browser one does not contain the string
* `client.i18n.force` allows to ignore the visitor's browser langage and force the `client.i18n.lang` one
@ -171,9 +171,9 @@ Eg. to add the `notification` module:
### About
About is a short page about the technology behind Hubl.
About is a short page about the technology behind Orbit.
To activate about on Hubl, add this module declaration your `config.json`:
To activate about on Orbit, add this module declaration your `config.json`:
```json
{
@ -186,7 +186,7 @@ To activate about on Hubl, add this module declaration your `config.json`:
Administration is a minimal modulable admin module for all other ones.
To activate administration on Hubl, add this module declaration your `config.json`:
To activate administration on Orbit, add this module declaration your `config.json`:
```json
{
@ -197,7 +197,7 @@ To activate administration on Hubl, add this module declaration your `config.jso
### Analytics
Hubl support Google or Matomo as analytics trackers. To use them, add to your `config.json`:
Orbit support Google or Matomo as analytics trackers. To use them, add to your `config.json`:
```json
{
@ -277,9 +277,9 @@ Eg.:
### Communities
Communities are an optional layer to add on an Hubl. They add a SOLID representation of one to many group of users on your data server.
Communities are an optional layer to add on an Orbit. They add a SOLID representation of one to many group of users on your data server.
If you're upgrading an existion Hubl, you can assign all your local users to a community this way:
If you're upgrading an existion Orbit, you can assign all your local users to a community this way:
```bash
./manage.py create_community --name="My community"
@ -287,7 +287,7 @@ If you're upgrading an existion Hubl, you can assign all your local users to a c
Don't forget to set some users as admin of the community from the Django Admin if you want to allow them to create new users from app.
To activate community on Hubl, add this module declaration your `config.json`:
To activate community on Orbit, add this module declaration your `config.json`:
```json
{
@ -619,7 +619,7 @@ The user registration module allows users to self-register.
Community module is mandatory.
If you set `allow_self_registration` on a community, it'll disable the auto-login feature of Hubl and allow your users to self register on your application.
If you set `allow_self_registration` on a community, it'll disable the auto-login feature of Orbit and allow your users to self register on your application.
To activate it, you need:
@ -645,7 +645,7 @@ Where:
### Theme checker
The [Hubl theme manager](https://cdn.startinblox.com/hubl/theme/) is very handy for customer to easily customize the main colors they want to use.
The [Orbit theme manager](https://cdn.startinblox.com/hubl/theme/) is very handy for customer to easily customize the main colors they want to use.
But developers should verify that their development use those colors to fit the customer wishes.
@ -685,7 +685,7 @@ Module declaration, on `config.json`:
### Route generation
Hubl will, by default, generate an unique route for every of your module. You can customize this route by setting a `route` attribute on your module declaration.
Orbit will, by default, generate an unique route for every of your module. You can customize this route by setting a `route` attribute on your module declaration.
Eg. for the Users Directory:
@ -703,15 +703,15 @@ Eg. for the Users Directory:
Will lead to `http://client.url/directory` as URL to reach the module instead of the default `http://client.url/profileDirectory`.
If you provide no `route`, then Hubl will use the `type` as route view name. If two modules share the same `route`, they'll get suffixed with a random unique id.
If you provide no `route`, then Orbit will use the `type` as route view name. If two modules share the same `route`, they'll get suffixed with a random unique id.
Some module don't need any route to be active, set `route` to `false` so.
Components can get the route of a module with `window.hubl.getRoute('componentName')`.
Components can get the route of a module with `window.orbit.getRoute('componentName')`.
#### Change the default route
By default, Hubl will take a Dashboard as a default route.
By default, Orbit will take a Dashboard as a default route.
You can enforce a component to be the default one by adding `defaultRoute` to its parameters.

@ -1,6 +1,6 @@
{
"client": {
"name": "Sample of a functional Hubl",
"name": "Sample of a functional Orbit",
"logo": "https://cdn.startinblox.com/logos/webp/hubl.webp"
},
"components": [{

@ -5,7 +5,7 @@ context('Leave Channel Browser Testing', () => {
let tableQuery = [
'solid-display.table-body',
'solid-display:last-child',
'hubl-admin-circle-leave-button',
'orbit-admin-circle-leave-button',
'solid-delete'
],
tableListQuery = [

@ -5,7 +5,7 @@ context('Leave Project Browser Testing', () => {
let tableQuery = [
'solid-display.table-body',
'solid-display:last-child',
'hubl-admin-project-leave-button',
'orbit-admin-project-leave-button',
'solid-delete'
],
tableListQuery = [

@ -35,18 +35,18 @@ const options = {
let manifest = {
"lang": "fr",
"dir": "ltr",
"name": config.client.name || "My Personal Hubl",
"description": `Hubl of ${config.client.name || "My Personal Hubl"}`,
"short_name": config.client.name || "My Personal Hubl",
"name": config.client.name || "My Personal Orbit",
"description": `Orbit of ${config.client.name || "My Personal Orbit"}`,
"short_name": config.client.name || "My Personal Orbit",
"icons": [{
"src": config.client.logo || '/images/logo.webp',
"purpose": "any"
}, {
"src": "/images/hubl-icon-192.png",
"src": "/images/orbit-icon-192.png",
"sizes": "192x192",
"type": "image/png"
}, {
"src": "/images/hubl-icon-512.png",
"src": "/images/orbit-icon-512.png",
"sizes": "512x512",
"type": "image/png"
}],
@ -58,7 +58,7 @@ const options = {
}
await fse.writeJSON('./src/manifest.webmanifest', manifest)
console.log(`Created manifest for ${config.client.name || "My Personal Hubl"}`);
console.log(`Created manifest for ${config.client.name || "My Personal Orbit"}`);
await fse.copy("./src/locales", "./dist/locales")
console.log(`Copied locales to dist folder`);

2
package-lock.json згенерований

@ -1,5 +1,5 @@
{
"name": "hubl",
"name": "orbit",
"version": "1.0.0",
"lockfileVersion": 1,
"requires": true,

@ -1,5 +1,5 @@
{
"name": "hubl",
"name": "orbit",
"version": "1.0.0",
"license": "MIT",
"repository": {

@ -1,6 +1,6 @@
window.hubl.getRoute = (type, returnFirst = false) => {
let availables = window.hubl.components.filter(c => c.type == type || c.uniq == type);
window.hubl.components.forEach(c => {
window.orbit.getRoute = (type, returnFirst = false) => {
let availables = window.orbit.components.filter(c => c.type == type || c.uniq == type);
window.orbit.components.forEach(c => {
if (c.extensions) {
c.extensions.forEach(e => {
if (e.type == type || e.uniq == type) {

@ -1,19 +0,0 @@
import {
widgetFactory
} from 'https://cdn.skypack.dev/@startinblox/core@0.17';
const HublSearchUsers = widgetFactory(
'hubl-search-users',
`<input
data-holder
autocomplete="off"
placeholder="\${label} (^ + K)"
type="text"
name="\${name}"
value="\${escapedValue}"
>`
);
export {
HublSearchUsers
}

@ -2,8 +2,8 @@ import {
Sib
} from 'https://cdn.skypack.dev/@startinblox/core@0.17';
export const HublAutoLogin = {
name: 'hubl-auto-login',
export const OrbitAutoLogin = {
name: 'orbit-auto-login',
created() {
if (window.location.pathname == "/login") {
document
@ -12,7 +12,7 @@ export const HublAutoLogin = {
window.dispatchEvent(
new CustomEvent('requestNavigation', {
detail: {
route: window.hubl.getRoute((window.hubl.defaultRoute || "dashboard"), true)
route: window.orbit.getRoute((window.orbit.defaultRoute || "dashboard"), true)
}
}),
);
@ -21,4 +21,4 @@ export const HublAutoLogin = {
}
}
Sib.register(HublAutoLogin);
Sib.register(OrbitAutoLogin);

@ -4,8 +4,8 @@ import {
StoreMixin
} from 'https://cdn.skypack.dev/@startinblox/core@0.17';
export const HublReactivity = {
name: 'hubl-reactivity',
export const OrbitReactivity = {
name: 'orbit-reactivity',
use: [StoreMixin],
attributes: {
targetSrc: {
@ -51,4 +51,4 @@ export const HublReactivity = {
}
}
Sib.register(HublReactivity);
Sib.register(OrbitReactivity);

@ -10,19 +10,19 @@ if ('serviceWorker' in navigator) {
let registration;
const showSkipWaitingPrompt = (event) => {
if (hubl.intl.t('serviceWorker.newUpdate') != undefined) {
if (orbit.intl.t('serviceWorker.newUpdate') != undefined) {
Swal.fire({
position: 'bottom-end',
backdrop: false,
title: "",
text: hubl.intl.t('serviceWorker.newUpdate') + ". " + hubl.intl.t('serviceWorker.wantToUpdate'),
imageUrl: hubl.client.logo || 'https://cdn.startinblox.com/logos/webp/hubl.webp',
imageAlt: hubl.client.name,
text: orbit.intl.t('serviceWorker.newUpdate') + ". " + orbit.intl.t('serviceWorker.wantToUpdate'),
imageUrl: orbit.client.logo || 'https://cdn.startinblox.com/logos/webp/hubl.webp',
imageAlt: orbit.client.name,
showCancelButton: true,
confirmButtonClass: 'button text-xsmall text-bold text-center reversed color-secondary bordered icon icon-check icon-margin-right-xsmall no-background-image',
cancelButtonClass: 'button text-xsmall text-bold text-center reversed color-primary bordered icon icon-exclamation icon-margin-right-xsmall no-background-image',
confirmButtonText: hubl.intl.t('serviceWorker.yes'),
cancelButtonText: hubl.intl.t('serviceWorker.no')
confirmButtonText: orbit.intl.t('serviceWorker.yes'),
cancelButtonText: orbit.intl.t('serviceWorker.no')
}).then((result) => {
if (result.isConfirmed) {
wb.addEventListener('controlling', (event) => {

Перед

Ширина:  |  Висота:  |  Розмір: 16 KiB

Після

Ширина:  |  Висота:  |  Розмір: 16 KiB

Перед

Ширина:  |  Висота:  |  Розмір: 78 KiB

Після

Ширина:  |  Висота:  |  Розмір: 78 KiB

@ -3,7 +3,7 @@ html(lang="en")
head
meta(charset="UTF-8")
title #{client.name || "My Personal Hubl"}
title #{client.name || "My Personal Orbit"}
meta(name="viewport", content="width=device-width, initial-scale=1.0")
meta(http-equiv="X-UA-Compatible", content="ie=edge")
@ -25,18 +25,18 @@ html(lang="en")
script(src="https://browser.sentry-cdn.com/5.25.0/bundle.tracing.min.js" defer)
include hubl-router.pug
include orbit-router.pug
include orbit-unify.pug
script(type="module" src="/components/getRoute.js" defer)
script(type="module" src="/components/sentry.js" defer)
script(type="module" src="/components/hubl-auto-login.js" defer)
script(type="module" src="/components/hubl-search-users.js" defer)
script(type="module" src="/components/hubl-reactivity.js" defer)
script(type="module" src="/components/orbit-auto-login.js" defer)
script(type="module" src="/components/orbit-reactivity.js" defer)
script(type="module" src="/components/sw-toolbox.js" defer)
script(src="index.js" defer)
include dependencies.pug
include context.pug
include orbit-dependencies.pug
include orbit-context.pug
//- swal2 does not work with skypack
script(src="https://cdn.jsdelivr.net/npm/sweetalert2@10" defer)
@ -53,7 +53,7 @@ html(lang="en")
sib-auth-provider(
data-authority=`${component.parameters.authority}`
data-id=`${component.parameters.authorityName || "authority"}`
data-client-name=`${client.name || "My Personal Hubl"}`
data-client-name=`${client.name || "My Personal Orbit"}`
)
if component.type == "registering"
if component.parameters
@ -62,7 +62,7 @@ html(lang="en")
sib-auth-provider(
data-authority=`${component.parameters.authority}`
data-id=`${component.parameters.authorityName || "authority"}`
data-client-name=`${client.name || "My Personal Hubl"}`
data-client-name=`${client.name || "My Personal Orbit"}`
)
if componentSet.has("registering")
@ -95,20 +95,20 @@ html(lang="en")
if component.type == "chat"
.whitespace-normal
hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.contacts")
orbit-reactivity(bind-user nested-field='inbox' target-src="store://user.contacts")
include views/page-messages.pug
if component.type == "circles"
.with-sidebar.whitespace-normal.jsMobileContentSidebarControl
hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.circles")
hubl-reactivity(bind-user nested-field="circles" target-src="store://user")
hubl-reactivity(data-src=`${component.endpoints.get}joinable/` target-src=`${component.endpoints.get}`)
hubl-reactivity(data-src=`${component.endpoints.post}` target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.post}`)
hubl-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.post}joinable/`)
hubl-reactivity(data-src=`${component.endpoints.get}joinable/` target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.get}joinable/`)
orbit-reactivity(bind-user nested-field='inbox' target-src="store://user.circles")
orbit-reactivity(bind-user nested-field="circles" target-src="store://user")
orbit-reactivity(data-src=`${component.endpoints.get}joinable/` target-src=`${component.endpoints.get}`)
orbit-reactivity(data-src=`${component.endpoints.post}` target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.post}`)
orbit-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.post}joinable/`)
orbit-reactivity(data-src=`${component.endpoints.get}joinable/` target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="circles" target-src=`${component.endpoints.get}joinable/`)
include views/page-circle.pug
if component.type == "communities"
@ -125,15 +125,15 @@ html(lang="en")
if component.type == "jobBoard"
.scrollbar-content
hubl-reactivity(data-src=`${component.endpoints.post}current/` target-src=`${component.endpoints.get}`)
hubl-reactivity(data-src=`${component.endpoints.post}expired/` target-src=`${component.endpoints.get}`)
hubl-reactivity(data-src=`${component.endpoints.post}` target-src=`${component.endpoints.get}`)
hubl-reactivity(data-src=`${component.endpoints.get}current/` target-src=`${component.endpoints.get}`)
hubl-reactivity(data-src=`${component.endpoints.get}current/` target-src=`${component.endpoints.get}expired/`)
hubl-reactivity(data-src=`${component.endpoints.get}expired/` target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="joboffers" target-src=`${component.endpoints.get}expired/`)
hubl-reactivity(bind-user nested-field="joboffers" target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="joboffers" target-src=`${component.endpoints.get}current/`)
orbit-reactivity(data-src=`${component.endpoints.post}current/` target-src=`${component.endpoints.get}`)
orbit-reactivity(data-src=`${component.endpoints.post}expired/` target-src=`${component.endpoints.get}`)
orbit-reactivity(data-src=`${component.endpoints.post}` target-src=`${component.endpoints.get}`)
orbit-reactivity(data-src=`${component.endpoints.get}current/` target-src=`${component.endpoints.get}`)
orbit-reactivity(data-src=`${component.endpoints.get}current/` target-src=`${component.endpoints.get}expired/`)
orbit-reactivity(data-src=`${component.endpoints.get}expired/` target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="joboffers" target-src=`${component.endpoints.get}expired/`)
orbit-reactivity(bind-user nested-field="joboffers" target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="joboffers" target-src=`${component.endpoints.get}current/`)
include views/page-job-board.pug
if component.type == "polls"
@ -142,15 +142,15 @@ html(lang="en")
if component.type == "projects"
.with-sidebar.whitespace-normal.jsMobileContentSidebarControl
hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.projects")
hubl-reactivity(bind-user nested-field="projects" target-src="store://user")
hubl-reactivity(data-src=`${component.endpoints.post}joinable/` target-src=`${component.endpoints.get}`)
hubl-reactivity(data-src=`${component.endpoints.post}` target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.post}`)
hubl-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.post}joinable/`)
hubl-reactivity(data-src=`${component.endpoints.get}joinable/` target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.get}`)
hubl-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.get}joinable/`)
orbit-reactivity(bind-user nested-field='inbox' target-src="store://user.projects")
orbit-reactivity(bind-user nested-field="projects" target-src="store://user")
orbit-reactivity(data-src=`${component.endpoints.post}joinable/` target-src=`${component.endpoints.get}`)
orbit-reactivity(data-src=`${component.endpoints.post}` target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.post}`)
orbit-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.post}joinable/`)
orbit-reactivity(data-src=`${component.endpoints.get}joinable/` target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.get}`)
orbit-reactivity(bind-user nested-field="projects" target-src=`${component.endpoints.get}joinable/`)
include views/page-project.pug
if component.type == "resources"
@ -159,8 +159,8 @@ html(lang="en")
if component.type == "profileDirectory"
.scrollbar-content
hubl-reactivity(bind-user nested-field="profile" target-src="store://user")
hubl-reactivity(bind-user nested-field="account" target-src="store://user")
orbit-reactivity(bind-user nested-field="profile" target-src="store://user")
orbit-reactivity(bind-user nested-field="account" target-src="store://user")
include views/page-directory.pug
else
//- Components declaration without any route (`route`="false") but that need some code declaration
@ -181,7 +181,7 @@ html(lang="en")
include views/partials/notifications.pug
if component.type == "lang"
hubl-lang(
orbit-lang(
hidden
lang=component.parameters.name
file=component.parameters.file
@ -228,7 +228,7 @@ html(lang="en")
a(data-trans='errors.reload' href='/')
if client.i18n
hubl-fallback-lang(
orbit-fallback-lang(
hidden
lang=client.i18n.lang?client.i18n.lang:"fr"
)&attributes({"force": client.i18n.force})

@ -304,7 +304,7 @@
"template-captain": {
"isLead": "Captain"
},
"hublStatus": "Public = Public, Private = Private",
"orbitStatus": "Public = Public, Private = Private",
"success": "Success!",
"errors": {
"somethingGoesWrong": "Something went wrong, try to",

@ -304,7 +304,7 @@
"template-captain": {
"isLead": "Líder"
},
"hublStatus": "Público = Public, Privado = Private",
"orbitStatus": "Público = Public, Privado = Private",
"success": "¡Éxito!",
"errors": {
"somethingGoesWrong": "Algo sale mal, intenta",

@ -302,7 +302,7 @@
"template-captain": {
"isLead": "Capitaine"
},
"hublStatus": "Public = Public, Privé = Private",
"orbitStatus": "Public = Public, Privé = Private",
"success": "Succès!",
"errors": {
"somethingGoesWrong": "Quelque chose ne va pas, essayez de",

@ -17,7 +17,7 @@ if componentSet.has("autoLogin") || componentSet.has("registering")
//- script(type="module" src="/lib/sib-auth/index.js" defer)
if componentSet.has("chat") || componentSet.has("circles") || componentSet.has("projects")
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-chat@6.1" defer)
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-chat@6.2" defer)
//- script(type="module" src="/lib/solid-xmpp-chat/dist/index.js" defer)
if componentSet.has("communities")
@ -25,7 +25,7 @@ if componentSet.has("communities")
//- script(type="module" src="/lib/sib-core/dist/components/solid-map.js" defer)
if componentSet.has("dashboard")
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-dashboard@5.0" defer)
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-dashboard@5.1" defer)
//- script(type="module" src="/lib/solid-dashboard/dist/index.js" defer)
if componentSet.has("events")
@ -40,7 +40,7 @@ if componentSet.has('invoices')
//- script(type="module" src="/lib/solid-invoicing/solid-invoicing.js" defer)
if componentSet.has("jobBoard")
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-job-board@6.1" defer)
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-job-board@6.2" defer)
//- script(type="module" src="/lib/solid-job-board/dist/index.js" defer)
if componentSet.has("notification")
@ -52,7 +52,7 @@ if componentSet.has("polls")
//- script(type="module" src="/lib/solid-poll/index.js" defer)
if componentSet.has("profileDirectory")
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-directory@6.0" defer)
script(type="module" src="https://cdn.skypack.dev/@startinblox/component-directory@6.1" defer)
//- script(type="module" src="/lib/solid-directory/dist/index.js" defer)
if componentSet.has("resources")

@ -1,11 +1,11 @@
//-
Hubl router declaration for latter generation
Create a window.hubl.components, accessible by all components with the route declaration.
Orbit router declaration for latter generation
Create a window.orbit.components, accessible by all components with the route declaration.
Components can also get benefits from the `getRoute` function
Eg.
```
window.hubl.getRoute('chat', true)
window.hubl.getRoute('uxnzsa') // Where uxnzsa is the uniq of the component
window.orbit.getRoute('chat', true)
window.orbit.getRoute('uxnzsa') // Where uxnzsa is the uniq of the component
```
will return the route of the first chat component, if exists, or triggers an error.
-
@ -85,5 +85,5 @@ for component of components
defaultRoute = defaultComponent[0].uniq;
}
- const hublComponents = `window.hubl={};window.hubl.components = ${JSON.stringify(components)};window.hubl.defaultRoute = "${defaultRoute}";window.hubl.client = ${JSON.stringify(client)}`;
script!=hublComponents
- const orbitComponents = `window.orbit={};window.orbit.components = ${JSON.stringify(components)};window.orbit.defaultRoute = "${defaultRoute}";window.orbit.client = ${JSON.stringify(client)};window.hubl = window.orbit;`;
script!=orbitComponents

@ -1,10 +1,10 @@
/*
Geocoord helper using Nominatim
Usage:
const madrid = await hubl.geocoord('Madrid');
const madrid = await orbit.geocoord('Madrid');
madrid == ["-3.7035825", "40.4167047"]
*/
window.hubl.geocoord = async (address = false) => {
window.orbit.geocoord = async (address = false) => {
if (address) {
const nominatim = await fetch('https://nominatim.openstreetmap.org/?format=geocodejson&limit=1&q=' + encodeURI(address));
const response = await nominatim.json();
@ -22,9 +22,9 @@ window.hubl.geocoord = async (address = false) => {
return ["-47.15", "-123.716667"];
}
window.hubl.geocalc = (element) => {
window.orbit.geocalc = (element) => {
const editionForm = element.parentElement.parentElement.parentElement.parentElement;
window.hubl.geocoord(editionForm.querySelector('input[name="address_line1"]').value + " " + editionForm.querySelector('input[name="address_line2"]').value).then(coords => {
window.orbit.geocoord(editionForm.querySelector('input[name="address_line1"]').value + " " + editionForm.querySelector('input[name="address_line2"]').value).then(coords => {
editionForm.querySelector('input[name="lat"]').value = coords[1];
editionForm.querySelector('input[name="lng"]').value = coords[0];
editionForm.querySelector('input[type="submit"]').click();

@ -14,7 +14,7 @@ class JsI18n {
Method for automatically detecting the language, does not work in every browser.
*/
async detectLanguage() {
const customLangs = document.querySelectorAll('hubl-lang');
const customLangs = document.querySelectorAll('orbit-lang');
if (customLangs) {
for (let lang of customLangs) {
let name = lang.getAttribute('lang'),
@ -34,7 +34,7 @@ class JsI18n {
}
resumeDetection() {
const langComponent = document.querySelector('hubl-fallback-lang');
const langComponent = document.querySelector('orbit-fallback-lang');
if (langComponent) {
if (langComponent.hasAttribute('lang')) {
this.defaultLocale = langComponent.getAttribute('lang');
@ -252,20 +252,20 @@ class JsI18n {
}
//Global
window.hubl.intl = new JsI18n;
window.orbit.intl = new JsI18n;
document.addEventListener("DOMContentLoaded", () => {
// Detect the lang & initialize, based on the browser or "language" item from localstorage
window.hubl.intl.detectLanguage();
window.orbit.intl.detectLanguage();
let timer;
(new MutationObserver((mutations) => {
mutations.forEach(mutation => {
if (mutation.target.attributes["data-trans"] != null) {
// Render the target of the mutation instantly
window.hubl.intl.processNode(mutation.target);
window.orbit.intl.processNode(mutation.target);
// Then wait one arbitrary second to re-render the whole document in case a widget re-rendered
clearTimeout(timer);
timer = setTimeout(() => window.hubl.intl.processNode(document.querySelector('body')), 500);
timer = setTimeout(() => window.orbit.intl.processNode(document.querySelector('body')), 500);
}
});
}).observe(document.body, {
@ -273,9 +273,9 @@ document.addEventListener("DOMContentLoaded", () => {
childList: true
}));
document.addEventListener('widgetRendered', event => {
window.hubl.intl.processNode(event.target);
window.orbit.intl.processNode(event.target);
// Then wait one arbitrary second to re-render the whole document in case a widget re-rendered
clearTimeout(timer);
timer = setTimeout(() => window.hubl.intl.processNode(document.querySelector('body')), 500);
timer = setTimeout(() => window.orbit.intl.processNode(document.querySelector('body')), 500);
});
});

@ -40,7 +40,7 @@ window.addEventListener("navigate", e => {
window.dispatchEvent(
new CustomEvent('requestNavigation', {
detail: {
route: window.hubl.getRoute((window.hubl.defaultRoute || "dashboard"), true)
route: window.orbit.getRoute((window.orbit.defaultRoute || "dashboard"), true)
}
}),
);

@ -76,7 +76,7 @@ function openRightMobileMenu() {
}
document.addEventListener("DOMContentLoaded", function () {
const componentSet = new Set(window.hubl.components.map(c => c.type));
const componentSet = new Set(window.orbit.components.map(c => c.type));
// Workaround - No "navigate" event after the login on `/login`
if (window.location.pathname == "/login") {
@ -92,7 +92,7 @@ document.addEventListener("DOMContentLoaded", function () {
window.dispatchEvent(
new CustomEvent('requestNavigation', {
detail: {
route: window.hubl.getRoute((window.hubl.defaultRoute || "dashboard"), true)
route: window.orbit.getRoute((window.orbit.defaultRoute || "dashboard"), true)
}
}),
);
@ -112,7 +112,7 @@ document.addEventListener("DOMContentLoaded", function () {
onlyAdmin.setAttribute('hidden', '');
}
}
for (component of window.hubl.components) {
for (component of window.orbit.components) {
let adminTarget = document.querySelector(`solid-route[name="admin-${component.route}"]`);
let adminTargetTwo = document.querySelector(`.jsRightMenu solid-link[next="admin-${component.route}"]`);
if (e.detail.route.startsWith(`admin-${component.route}`)) {
@ -139,7 +139,7 @@ document.addEventListener("DOMContentLoaded", function () {
window.dispatchEvent(
new CustomEvent('requestNavigation', {
detail: {
route: window.hubl.getRoute((window.hubl.defaultRoute || "dashboard"), true)
route: window.orbit.getRoute((window.orbit.defaultRoute || "dashboard"), true)
}
}),
);

@ -74,11 +74,11 @@
cursor: pointer;
}
hubl-admin-circle-name:hover {
orbit-admin-circle-name:hover {
text-decoration: underline;
}
hubl-admin-community-logo {
orbit-admin-community-logo {
height: 76px;
width: 100%;
display: block;
@ -111,7 +111,7 @@
}
}
hubl-communities-profile-logo {
orbit-communities-profile-logo {
height: 155px;
width: 100%;
display: block;
@ -264,7 +264,7 @@
border-bottom: 1px solid #E4E9F1;
}
hubl-communities-profile-logo {
orbit-communities-profile-logo {
height: 100px;
}

@ -1,3 +1,3 @@
#admin-projects hubl-admin-project-join-button>solid-form>form {
#admin-projects orbit-admin-project-join-button>solid-form>form {
vertical-align: bottom;
}

@ -47,7 +47,7 @@
justify-content: center;
>div>solid-display {
display: contents;
>div>hubl-index-select-community {
>div>orbit-index-select-community {
display: contents;
}
}
@ -59,8 +59,8 @@
justify-content: center;
>solid-display,
hubl-index-community-logo,
hubl-index-community-text {
orbit-index-community-logo,
orbit-index-community-text {
display: contents;
}
}
@ -68,7 +68,7 @@
solid-form-text-label,
solid-form-password-label,
hubl-input-type-email {
orbit-input-type-email {
color: #5D7393;
}

@ -69,7 +69,7 @@ main#content {
}
}
hubl-menu-empty+hubl-menu-empty {
orbit-menu-empty+orbit-menu-empty {
display: none;
/* Duplicate widget generation? */
}

@ -173,8 +173,8 @@ nav#main__menu {
/* Ellipsis */
.ellipsis {
hubl-menu-fix-url-circle,
hubl-menu-fix-url-project {
orbit-menu-fix-url-circle,
orbit-menu-fix-url-project {
display: block;
}
@ -223,7 +223,7 @@ nav#main__menu {
height: 28px;
display: block;
hubl-menu-contact-removed {
orbit-menu-contact-removed {
display: none;
button {
visibility: hidden;
@ -232,12 +232,12 @@ nav#main__menu {
&:hover {
hubl-menu-fix-url-contact {
orbit-menu-fix-url-contact {
display: inline-block;
width: 100%;
}
hubl-counter {
orbit-counter {
padding-right: 25px;
}
@ -246,7 +246,7 @@ nav#main__menu {
width: 74%;
}
hubl-menu-contact-removed {
orbit-menu-contact-removed {
width: 38px;
height: 27.75px;
text-align: right;
@ -257,11 +257,12 @@ nav#main__menu {
padding-top: 5px;
button {
visibility: visible;
visibility: hidden;
&::before {
font-size: 18px;
color: white;
visibility: visible;
}
}
}
@ -271,7 +272,7 @@ nav#main__menu {
/* End */
/* Modal to keep/remove a contact */
hubl-menu-contact-removed dialog {
orbit-menu-contact-removed dialog {
background: white !important;
border: none;
padding: 60px 30px;

@ -13,7 +13,7 @@ div.segment.full.padding-top-small.padding-right-large.padding-bottom-small.padd
class-hypen='text-color-heading'
class-username='margin-right-xxsmall'
widget-account.picture='hubl-user-avatar'
widget-account.picture='orbit-user-avatar'
)
solid-link.icon.icon-info.icon-secondary.hover(

@ -8,15 +8,15 @@
data-trans="communities.index.login"
)
p.text-xlarge.text-semibold.margin-top-xxlarge.line-xlarge(data-trans="communities.index.newUser")
solid-widget(name='hubl-index-community-logo')
solid-widget(name='orbit-index-community-logo')
template ${value != "" ? `<div class="community-button-flexed"><img src="${value}" style="max-width:100%;max-height:80px" class="padding-xsmall" /></div>` : ""}
solid-widget(name='hubl-index-community-text')
solid-widget(name='orbit-index-community-text')
template
.community-button-flexed-large.whitespace-normal
span(data-trans="communities.index.createAccount")
span &nbsp;
span ${value}
solid-widget(name='hubl-index-select-community')
solid-widget(name='orbit-index-select-community')
template
solid-link.segment.full.sm-three-quarter.button.text-xsmall.text-bold.text-uppercase.color-secondary.bordered.padding-bottom.xlarge.padding-top.xlarge.margin-top-xsmall.community-button.community-button-flex-container(
next='join-community'
@ -25,11 +25,11 @@
solid-display(
data-src='${src}'
fields='logo, name'
widget-logo='hubl-index-community-logo'
widget-name='hubl-index-community-text'
widget-logo='orbit-index-community-logo'
widget-name='orbit-index-community-text'
)
if getComponent('registering').endpoints.get
div.loader#hubl-index-community-selector-loader
div.loader#orbit-index-community-selector-loader
div
div
div
@ -38,27 +38,27 @@
data-src=`${getComponent('registering').endpoints.get}`
fields='action'
action-action='action'
widget-action='hubl-index-select-community'
loader-id='hubl-index-community-selector-loader'
widget-action='orbit-index-select-community'
loader-id='orbit-index-community-selector-loader'
order-asc='name'
empty-widget='hubl-auto-login'
id='hubl-index-community-selector'
empty-widget='orbit-auto-login'
id='orbit-index-community-selector'
)
#join-community(data-view="join-community", hidden, no-render).segment.full.bg-color-secondary.text-center.index-community.loggedIn
.segment.half.sm-full.bg-color-white.text-center
.segment.half.sm-full
solid-widget(name="hubl-index-community-join-logo")
solid-widget(name="orbit-index-community-join-logo")
template
img(src="${value}" style="max-width:100%;max-height:100%;")
solid-display(
bind-resources
fields="logo"
widget-logo="hubl-index-community-join-logo"
widget-logo="orbit-index-community-join-logo"
class-logo='community-logo'
default-logo=`${client.logo || '/images/logo.webp'}`
)
solid-widget(name='hubl-input-type-email')
solid-widget(name='orbit-input-type-email')
template
label ${label}
input(
@ -78,7 +78,7 @@
data-trans='label-user.password=communities.index.password;label-user.email=communities.index.email;label-user.last_name=communities.index.last_name;label-user.first_name=communities.index.first_name;submit-button=communities.index.formCreateAccount'
widget-user.first_name='solid-form-text-label'
widget-user.last_name='solid-form-text-label'
widget-user.email='hubl-input-type-email'
widget-user.email='orbit-input-type-email'
widget-user.password='solid-form-password-label'
widget-user.username='solid-form-hidden'
class-user.first_name='segment margin-bottom-medium full padding-left-small sm-padding-none text-large text-left'

@ -52,8 +52,8 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
value-user.password=''
widget-user.password='solid-form-hidden'
widget-user.username='hubl-username-field'
widget-user.email='hubl-email-field'
widget-user.username='orbit-username-field'
widget-user.email='orbit-email-field'
next=`admin-${getRoute('chat', true)}`

@ -39,9 +39,9 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-cell2='segment table-cell half text-center'
class-community.name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large ellipsis'
widget-community='hubl-action-community'
widget-community='orbit-action-community'
action-counter="counter"
widget-counter="hubl-admin-community-counter"
widget-counter="orbit-admin-community-counter"
order-asc='community.name'
)

@ -55,5 +55,5 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
submit-widget="button"
class-submit-button="submit-button segment sm-full margin-top-xsmall text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-reversed color-secondary bordered children-button-icon children-icon-rocket children-icon-small children-icon-margin-right-xsmall"
data-trans='enum-status=hublStatus;label-status=circle.create.labelStatus;label-community.community=circle.create.labelCommunity;label-name=circle.create.labelName;label-description=circle.create.labelDescription;submit-button=circle.create.buttonSubmit;label-subtitle=circle.create.labelSubtitle;label-help=circle.create.descriptionHelp'
data-trans='enum-status=orbitStatus;label-status=circle.create.labelStatus;label-community.community=circle.create.labelCommunity;label-name=circle.create.labelName;label-description=circle.create.labelDescription;submit-button=circle.create.buttonSubmit;label-subtitle=circle.create.labelSubtitle;label-help=circle.create.descriptionHelp'
)

@ -1,11 +1,11 @@
solid-widget(name=`hubl-admin-circle-join-button`)
solid-widget(name=`orbit-admin-circle-join-button`)
template
solid-form(
class='join-button sm-full text-xsmall'
data-src='${value}'
fields='user.username'
value-user.username='hubl-workaround-493'
value-user.username='orbit-workaround-493'
widget-user.username='solid-form-hidden'
submit-button=''
@ -13,11 +13,11 @@ solid-widget(name=`hubl-admin-circle-join-button`)
class-submit-button="add-member-button segment sm-full margin-top-xsmall text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-reversed color-secondary bordered children-button-icon children-icon-arrow-right-circle children-icon-small children-icon-margin-right-xsmall"
data-trans='submit-button=circle.list.buttonJoin'
)
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="circles" target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
orbit-reactivity(bind-user nested-field="circles" target-src='${value}')
include page-admin-circles.pug
@ -38,10 +38,10 @@ div.segment.full.padding-small.padding-top-xsmall.sm-padding-xsmall.whitespace-n
class-subtitle='segment two-lines-ellipsis margin-bottom-xlarge sm-margin-bottom-medium whitespace-normal circle-subtitle-custom'
class-counter='segment block margin-bottom-large whitespace-normal'
widget-community.community.logo='hubl-admin-community-logo'
widget-community.community.logo='orbit-admin-community-logo'
action-name=`${getRoute(`circles`, true)}-information`
widget-name='hubl-admin-circle-name'
widget-name='orbit-admin-circle-name'
action-counter="counter"
widget-counter='hubl-admin-circle-counter-alternate'
widget-members=`hubl-admin-circle-join-button`
widget-counter='orbit-admin-circle-counter-alternate'
widget-members=`orbit-admin-circle-join-button`
)

@ -1,12 +1,12 @@
solid-widget(name=`leave-circle-reactivity`)
template
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="circles" target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
orbit-reactivity(bind-user nested-field="circles" target-src='${value}')
solid-widget(name=`hubl-admin-circle-leave-button`)
solid-widget(name=`orbit-admin-circle-leave-button`)
template
solid-delete(
class='segment sm-full text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
@ -14,11 +14,11 @@ solid-widget(name=`hubl-admin-circle-leave-button`)
data-label=''
data-trans='data-label=circle.list.buttonQuit'
)
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${src}')
hubl-reactivity(bind-user nested-field="circles" target-src='${src}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${src}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${src}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${src}')
orbit-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${src}')
orbit-reactivity(bind-user nested-field="circles" target-src='${src}')
solid-display(
data-src="${src}"
fields="circle"
@ -46,12 +46,12 @@ div.segment.full.padding-small.padding-top-xsmall.sm-padding-xsmall.whitespace-n
class-circle.subtitle='segment two-lines-ellipsis margin-bottom-xlarge sm-margin-bottom-medium whitespace-normal circle-subtitle-custom'
class-counter='segment block margin-bottom-large whitespace-normal'
widget-circle.community.community.logo='hubl-admin-community-logo'
widget-circle.community.community.logo='orbit-admin-community-logo'
action-circle.name=`${getRoute(`circles`, true)}-information`
widget-circle.name='hubl-admin-circle-fix-url-name'
widget-circle.name='orbit-admin-circle-fix-url-name'
action-counter="counter"
widget-counter='hubl-admin-circle-counter-alternate-fix'
widget-counter='orbit-admin-circle-counter-alternate-fix'
action-leaveButton="joinButton"
widget-leaveButton=`hubl-admin-circle-leave-button`
widget-leaveButton=`orbit-admin-circle-leave-button`
)

@ -53,7 +53,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-businessprovider="segment full margin-bottom-medium"
multiple-businessprovider
widget-businessprovider="hubl-project-businessprovider"
widget-businessprovider="orbit-project-businessprovider"
multiple-businessprovider-add-label=''
multiple-businessprovider-remove-label=''

@ -40,13 +40,13 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
solid-widget(name=`leave-project-reactivity`)
template
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="projects" target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${value}')
orbit-reactivity(bind-user nested-field="projects" target-src='${value}')
solid-widget(name=`hubl-admin-project-leave-button`)
solid-widget(name=`orbit-admin-project-leave-button`)
template
solid-delete(
class='segment text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
@ -54,11 +54,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
data-label=''
data-trans='data-label=project.list.buttonQuit'
)
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${src}')
hubl-reactivity(bind-user nested-field="projects" target-src='${src}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${src}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${src}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${src}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${src}')
orbit-reactivity(bind-user nested-field="projects" target-src='${src}')
solid-display(
data-src="${src}"
fields="project"
@ -67,7 +67,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
)
solid-form-search(
id="hubl_project_is_admin"
id="orbit_project_is_admin"
fields="is_admin"
value-is_admin='true'
widget-is_admin='solid-form-checkbox'
@ -89,21 +89,21 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-cell4='segment table-cell quarter text-center'
action-project.customer.name='project.customer.name'
widget-project.customer.name='hubl-admin-project-link-alternate'
widget-project.customer.name='orbit-admin-project-link-alternate'
class-project.name='segment full'
action-leaveButton="joinButton"
widget-leaveButton=`hubl-admin-project-leave-button`
widget-leaveButton=`orbit-admin-project-leave-button`
widget-project.captain='hubl-project-captain'
widget-project.members='hubl-project-admins'
widget-project.captain='orbit-project-captain'
widget-project.members='orbit-project-admins'
action-counter="counter"
widget-counter="hubl-admin-project-counter-alternate"
widget-counter="orbit-admin-project-counter-alternate"
order-by="project.name"
)
solid-widget(name=`hubl-admin-project-join-button`)
solid-widget(name=`orbit-admin-project-join-button`)
template
solid-form(
class=''
@ -111,7 +111,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
nested-field="members"
fields='user.username'
value-user.username='hubl-workaround-493'
value-user.username='orbit-workaround-493'
widget-user.username='solid-form-hidden'
submit-button=''
@ -119,11 +119,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-submit-button="add-member-button segment margin-top-xsmall text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-reversed color-secondary bordered children-button-icon children-icon-arrow-right-circle children-icon-small children-icon-margin-right-xsmall"
data-trans='submit-button=project.list.buttonJoin'
)
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="projects" target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${value}')
orbit-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${value}')
orbit-reactivity(bind-user nested-field="projects" target-src='${value}')
solid-display(
class='table-body'
@ -139,16 +139,16 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-cell4='segment table-cell quarter text-center'
action-project.customer.name='project.customer.name'
widget-project.customer.name='hubl-admin-project-link'
widget-project.customer.name='orbit-admin-project-link'
class-name='segment full'
action-joinButton="joinButton"
widget-joinButton=`hubl-admin-project-join-button`
widget-joinButton=`orbit-admin-project-join-button`
widget-captain='hubl-project-captain'
widget-members='hubl-project-admins'
widget-captain='orbit-project-captain'
widget-members='orbit-project-admins'
action-counter="counter"
widget-counter="hubl-admin-project-counter"
widget-counter="orbit-admin-project-counter"
order-by="name"
)

@ -69,7 +69,7 @@ div.segment.full.padding-large.whitespace-normal
class-submit-button="submit-button segment sm-full margin-top-xsmall text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-reversed color-secondary bordered children-button-icon children-icon-rocket children-icon-small children-icon-margin-right-xsmall"
next=`${component.route}-information`
data-trans='enum-status=hublStatus;label-status=circle.edit.labelStatus;label-community.community=circle.edit.labelCommunity;label-name=circle.edit.labelName;label-owner=circle.edit.labelOwner;label-description=circle.edit.labelDescription;submit-button=circle.edit.buttonSubmit;label-subtitle=circle.edit.labelSubtitle;label-help=circle.edit.descriptionHelp'
data-trans='enum-status=orbitStatus;label-status=circle.edit.labelStatus;label-community.community=circle.edit.labelCommunity;label-name=circle.edit.labelName;label-owner=circle.edit.labelOwner;label-description=circle.edit.labelDescription;submit-button=circle.edit.buttonSubmit;label-subtitle=circle.edit.labelSubtitle;label-help=circle.edit.descriptionHelp'
)
h3.segment.full.padding-bottom-small.border-bottom.border-color-grey.text-color-heading.text-bold.text-letter-spacing-large(data-trans='circle.edit.subTitle')
@ -120,11 +120,11 @@ div.segment.full.padding-large.whitespace-normal
multiple-user.communities
multiple-user.communities-fields="community.name"
widget-user.account.picture='hubl-user-avatar'
widget-is_admin='hubl-circle-edit-admin'
widget-user.account.picture='orbit-user-avatar'
widget-is_admin='orbit-circle-edit-admin'
action-self='self'
widget-self='hubl-circle-edit-members-delete'
widget-self='orbit-circle-edit-members-delete'
)
//- Only to show the table grid

@ -48,7 +48,7 @@ div(
solid-ac-checker(no-permission='acl:Delete', bind-resources)
solid-link(class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered button-icon icon icon-pencil icon-margin-right-xsmall' next=`${component.route}-edit` bind-resources data-trans='circle.profile.buttonAdd')
solid-widget(name=`hubl-circle-leave-button-${component.uniq}`)
solid-widget(name=`orbit-circle-leave-button-${component.uniq}`)
template
solid-ac-checker(permission='acl:Delete', data-src="${src}")
solid-ac-checker(no-permission='acl:Delete', data-src="${src}", nested-field='circle')
@ -66,11 +66,11 @@ div(
nested-field='members'
fields='relation'
action-relation='relation'
widget-relation=`hubl-circle-leave-button-${component.uniq}`
widget-relation=`orbit-circle-leave-button-${component.uniq}`
search-fields='user'
search-widget-user='solid-form-hidden'
search-value-user='store://user.@id'
disabled-empty-widget='hubl-circle-join-button'
disabled-empty-widget='orbit-circle-join-button'
)
//- https://git.startinblox.com/management/startinblox-feature-requests/issues/263
solid-ac-checker.segment.margin-left-small(permission='acl:Delete', bind-resources)
@ -119,9 +119,9 @@ div(
multiple-user.communities
multiple-user.communities-fields='community.name'
widget-user='hubl-circle-team-contact'
widget-user.account.picture='hubl-user-avatar'
widget-is_admin='hubl-circle-user-admin'
widget-user='orbit-circle-team-contact'
widget-user.account.picture='orbit-user-avatar'
widget-is_admin='orbit-circle-user-admin'
)
div(

@ -40,8 +40,8 @@
class-profile.shortDescription='segment two-lines-ellipsis margin-bottom-xlarge sm-margin-bottom-medium whitespace-normal circle-subtitle-custom'
class-counter='segment block whitespace-normal'
widget-logo='hubl-admin-community-logo'
widget-logo='orbit-admin-community-logo'
action-counter="counter"
widget-counter='hubl-communities-counter-alternate'
widget-counter='orbit-communities-counter-alternate'
next=`${component.route}-profile`
)

@ -51,8 +51,8 @@ div.bg-color-white
class-profile.instagram="segment margin-bottom-medium third sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading"
widget-profile.description="solid-form-richtext-label"
widget-profile.email="hubl-communities-edit-email"
widget-profile.website="hubl-communities-edit-website"
widget-profile.email="orbit-communities-edit-email"
widget-profile.website="orbit-communities-edit-website"
upload-url-logo=component.endpoints.uploads
widget-logo="solid-form-image-label"
@ -95,7 +95,7 @@ div.bg-color-white
h3.segment.full.padding-bottom-small.border-bottom.border-color-grey.text-color-heading.text-bold.text-letter-spacing-large(data-trans="communities.edit.subTitle1")
solid-widget(name=`hubl-communities-edit-delete-button`)
solid-widget(name=`orbit-communities-edit-delete-button`)
template
solid-delete(
class='segment text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
@ -129,7 +129,7 @@ div.bg-color-white
multiple-addresses-fields="address_line1, address_line2"
action-remove='remove'
widget-remove='hubl-circle-edit-members-delete'
widget-remove='orbit-circle-edit-members-delete'
)
solid-form.form.table-body.edit-address(
@ -155,7 +155,7 @@ div.bg-color-white
widget-address_line2="solid-form-placeholder-text"
widget-lat="solid-form-hidden"
widget-lng="solid-form-hidden"
widget-addButton=`hubl-communities-edit-add-button`
widget-addButton=`orbit-communities-edit-add-button`
data-trans="placeholder-address_line1=communities.edit.labelAddressLine1;placeholder-address_line2=communities.edit.labelAddressLine2"
)

@ -31,9 +31,9 @@
class-community.profile.shortDescription="segment block description text-medium margin-bottom-xsmall whitespace-normal two-lines-ellipsis"
action-community.name=`${component.route}-profile`
widget-community.name='hubl-communities-map-fix-url-name'
widget-community.logo='hubl-admin-community-logo'
widget-community.members="hubl-communities-profile-members-counter"
widget-community.name='orbit-communities-map-fix-url-name'
widget-community.logo='orbit-admin-community-logo'
widget-community.members="orbit-communities-profile-members-counter"
clustering=""
filtered-by=`communities-filter-map`

@ -46,22 +46,22 @@ div.community-profile.padding-medium.sm-padding-none
class-profile.picture2="communities-profile-picture segment third sm-full text-top"
class-profile.picture3="communities-profile-picture segment third sm-full text-top"
widget-logo="hubl-communities-profile-logo"
widget-logo="orbit-communities-profile-logo"
widget-profile.description="solid-display-value-markdown"
widget-profile.tweeter="hubl-communities-profile-twitter"
widget-profile.facebook="hubl-communities-profile-facebook"
widget-profile.linkedin="hubl-communities-profile-linkedin"
widget-profile.instagram="hubl-communities-profile-instagram"
widget-addresses="hubl-communities-profile-address"
widget-members="hubl-communities-profile-members-counter"
widget-profile.website="hubl-communities-profile-website"
widget-profile.email="hubl-communities-profile-email"
widget-profile.phone="hubl-communities-profile-phone"
widget-profile.picture1="hubl-communities-profile-picture"
widget-profile.picture2="hubl-communities-profile-picture"
widget-profile.picture3="hubl-communities-profile-picture"
widget-profile.tweeter="orbit-communities-profile-twitter"
widget-profile.facebook="orbit-communities-profile-facebook"
widget-profile.linkedin="orbit-communities-profile-linkedin"
widget-profile.instagram="orbit-communities-profile-instagram"
widget-addresses="orbit-communities-profile-address"
widget-members="orbit-communities-profile-members-counter"
widget-profile.website="orbit-communities-profile-website"
widget-profile.email="orbit-communities-profile-email"
widget-profile.phone="orbit-communities-profile-phone"
widget-profile.picture1="orbit-communities-profile-picture"
widget-profile.picture2="orbit-communities-profile-picture"
widget-profile.picture3="orbit-communities-profile-picture"
action-edit="edit"
widget-edit="hubl-communities-edit-button"
widget-edit="orbit-communities-edit-button"
multiple-addresses
multiple-addresses-fields="address_line1, address_line2"

@ -1,7 +1,7 @@
div
solid-link.segment.sm-hidden(next=getRoute('dashboard', true))
h1.text-color-heading.text-medium.text-semibold.text-letter-spacing-large=client.name || 'Hubl'
h1.text-color-heading.text-medium.text-semibold.text-letter-spacing-large=client.name || 'Orbit'
button.segment.lg-hidden.icon-menu#toggleMainMenu
span.tag.reversed.text-bold.margin-left-xsmall(data-trans='header.beta')
@ -32,7 +32,7 @@ div
class-segment2='segment margin-left-xxsmall'
class-account.picture="avatar xxsmall"
class-button='icon icon-small icon-arrow-down'
widget-account.picture='hubl-user-avatar'
widget-account.picture='orbit-user-avatar'
bind-user
)
div.panel
@ -72,7 +72,7 @@ div
class-segment3='segment sm-arrow-down'
class-account.picture="avatar"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
widget-account.picture='orbit-user-avatar'
bind-user
)
solid-display.user-firstname(
@ -83,7 +83,7 @@ div
class-account.picture="avatar"
class-first_name="text-semibold text-color-heading"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
widget-account.picture='orbit-user-avatar'
bind-user
)
div.panel

@ -62,10 +62,10 @@ solid-router#navbar-router(default-route=defaultRoute)
nested-field='circles'
fields='circle'
loader-id=`loader-${component.route}`
empty-widget='hubl-menu-empty'
empty-widget='orbit-menu-empty'
empty-value=''
data-trans="empty-value=menuLeft.emptyCircleProject.circle"
widget-circle='hubl-menu-fix-url-circle'
widget-circle='orbit-menu-fix-url-circle'
order-asc="circle.name"
filtered-by="general-search"
)
@ -94,9 +94,9 @@ solid-router#navbar-router(default-route=defaultRoute)
nested-field='contacts'
fields='contact, @id'
loader-id=`loader-${component.route}`
empty-widget='hubl-menu-empty'
widget-contact='hubl-menu-fix-url-contact'
widget-id='hubl-menu-contact-removed'
empty-widget='orbit-menu-empty'
widget-contact='orbit-menu-fix-url-contact'
widget-id='orbit-menu-contact-removed'
filtered-by="general-search"
order-asc="contact.name"
)
@ -129,9 +129,9 @@ solid-router#navbar-router(default-route=defaultRoute)
nested-field='projects'
fields='project'
loader-id=`loader-${component.route}`
empty-widget='hubl-menu-empty'
empty-widget='orbit-menu-empty'
data-trans="empty-value=menuLeft.emptyCircleProject.project"
widget-project='hubl-menu-fix-url-project'
widget-project='orbit-menu-fix-url-project'
filtered-by="general-search"
order-asc="project.customer.name"

@ -113,7 +113,7 @@ div.segment.full.padding-large.whitespace-normal
multiple-businessprovider-fields="name, fee"
action-remove='remove'
widget-remove='hubl-circle-edit-members-delete'
widget-remove='orbit-circle-edit-members-delete'
)
solid-form.form.table-body.edit-businessprovider(
@ -191,9 +191,9 @@ div.segment.full.padding-large.whitespace-normal
multiple-user.communities
multiple-user.communities-fields="community.name"
widget-user.account.picture='hubl-user-avatar'
widget-is_admin='hubl-project-edit-admin'
widget-user.account.picture='orbit-user-avatar'
widget-is_admin='orbit-project-edit-admin'
action-self='self'
widget-self='hubl-project-edit-members-delete'
widget-self='orbit-project-edit-members-delete'
)

@ -62,7 +62,7 @@ div(
next=`admin-${component.route}`
)
solid-widget(name=`hubl-project-leave-button-${component.uniq}`)
solid-widget(name=`orbit-project-leave-button-${component.uniq}`)
template
solid-delete(
class='segment text-xsmall children-link-text-bold children-link-text-uppercase children-link-button children-link-color-secondary bordered'
@ -79,7 +79,7 @@ div(
fields='relation'
action-relation='relation'
widget-relation=`hubl-project-leave-button-${component.uniq}`
widget-relation=`orbit-project-leave-button-${component.uniq}`
search-fields='user'
search-widget-user='solid-form-hidden'
@ -91,7 +91,7 @@ div(
solid-display(
bind-resources
fields='captain'
widget-captain='hubl-captain'
widget-captain='orbit-captain'
)
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.profile.description')
@ -157,8 +157,8 @@ div(
multiple-user.communities
multiple-user.communities-fields="community.name"
widget-user.account.picture='hubl-user-avatar'
widget-user='hubl-project-team-contact'
widget-user.account.picture='orbit-user-avatar'
widget-user='orbit-project-team-contact'
)
div(

@ -1,56 +1,56 @@
//- Import your widgets from the `widget`folder here
include widgets/hubl-action-community.pug
include widgets/hubl-admin-circle-counter-alternate-fix.pug
include widgets/hubl-admin-circle-counter-alternate.pug
include widgets/hubl-admin-circle-counter.pug
include widgets/hubl-admin-circle-link-alternate.pug
include widgets/hubl-admin-circle-link.pug
include widgets/hubl-admin-circle-name.pug
include widgets/hubl-admin-community-counter.pug
include widgets/hubl-admin-community-logo.pug
include widgets/hubl-admin-project-counter-alternate.pug
include widgets/hubl-admin-project-counter.pug
include widgets/hubl-admin-project-link-alternate.pug
include widgets/hubl-admin-project-link.pug
include widgets/hubl-captain.pug
include widgets/hubl-circle-edit-admin.pug
include widgets/hubl-circle-edit-members-delete.pug
include widgets/hubl-circle-join-button.pug
include widgets/hubl-circle-owner.pug
include widgets/hubl-circle-team-contact.pug
include widgets/hubl-circle-user-admin.pug
include widgets/hubl-communities-counter-alternate.pug
include widgets/hubl-communities-edit-button.pug
include widgets/hubl-communities-edit-add-button.pug
include widgets/hubl-communities-edit-email.pug
include widgets/hubl-communities-edit-website.pug
include widgets/hubl-communities-logo.pug
include widgets/hubl-communities-map-fix-url-name.pug
include widgets/hubl-communities-profile-email.pug
include widgets/hubl-communities-profile-facebook.pug
include widgets/hubl-communities-profile-instagram.pug
include widgets/hubl-communities-profile-linkedin.pug
include widgets/hubl-communities-profile-logo.pug
include widgets/hubl-communities-profile-members-counter.pug
include widgets/hubl-communities-profile-phone.pug
include widgets/hubl-communities-profile-picture.pug
include widgets/hubl-communities-profile-twitter.pug
include widgets/hubl-communities-profile-website.pug
include widgets/hubl-counter.pug
include widgets/hubl-email-field.pug
include widgets/hubl-menu-empty.pug
include widgets/hubl-menu-fix-url-circle.pug
include widgets/hubl-menu-fix-url-contact.pug
include widgets/hubl-menu-contact-removed.pug
include widgets/hubl-menu-fix-url-project.pug
include widgets/hubl-menu-jabberid.pug
include widgets/hubl-menu-publicprivate.pug
include widgets/hubl-project-admins.pug
include widgets/hubl-project-captain.pug
include widgets/hubl-project-businessprovider.pug
include widgets/hubl-project-edit-admin.pug
include widgets/hubl-project-edit-members-delete.pug
include widgets/hubl-project-team-contact.pug
include widgets/hubl-user-avatar.pug
include widgets/hubl-username-field.pug
include widgets/orbit-action-community.pug
include widgets/orbit-admin-circle-counter-alternate-fix.pug
include widgets/orbit-admin-circle-counter-alternate.pug
include widgets/orbit-admin-circle-counter.pug
include widgets/orbit-admin-circle-link-alternate.pug
include widgets/orbit-admin-circle-link.pug
include widgets/orbit-admin-circle-name.pug
include widgets/orbit-admin-community-counter.pug
include widgets/orbit-admin-community-logo.pug
include widgets/orbit-admin-project-counter-alternate.pug
include widgets/orbit-admin-project-counter.pug
include widgets/orbit-admin-project-link-alternate.pug
include widgets/orbit-admin-project-link.pug
include widgets/orbit-captain.pug
include widgets/orbit-circle-edit-admin.pug
include widgets/orbit-circle-edit-members-delete.pug
include widgets/orbit-circle-join-button.pug
include widgets/orbit-circle-owner.pug
include widgets/orbit-circle-team-contact.pug
include widgets/orbit-circle-user-admin.pug
include widgets/orbit-communities-counter-alternate.pug
include widgets/orbit-communities-edit-button.pug
include widgets/orbit-communities-edit-add-button.pug
include widgets/orbit-communities-edit-email.pug
include widgets/orbit-communities-edit-website.pug
include widgets/orbit-communities-logo.pug
include widgets/orbit-communities-map-fix-url-name.pug
include widgets/orbit-communities-profile-email.pug
include widgets/orbit-communities-profile-facebook.pug
include widgets/orbit-communities-profile-instagram.pug
include widgets/orbit-communities-profile-linkedin.pug
include widgets/orbit-communities-profile-logo.pug
include widgets/orbit-communities-profile-members-counter.pug
include widgets/orbit-communities-profile-phone.pug
include widgets/orbit-communities-profile-picture.pug
include widgets/orbit-communities-profile-twitter.pug
include widgets/orbit-communities-profile-website.pug
include widgets/orbit-counter.pug
include widgets/orbit-email-field.pug
include widgets/orbit-menu-empty.pug
include widgets/orbit-menu-fix-url-circle.pug
include widgets/orbit-menu-fix-url-contact.pug
include widgets/orbit-menu-contact-removed.pug
include widgets/orbit-menu-fix-url-project.pug
include widgets/orbit-menu-jabberid.pug
include widgets/orbit-menu-publicprivate.pug
include widgets/orbit-project-admins.pug
include widgets/orbit-project-captain.pug
include widgets/orbit-project-businessprovider.pug
include widgets/orbit-project-edit-admin.pug
include widgets/orbit-project-edit-members-delete.pug
include widgets/orbit-project-team-contact.pug
include widgets/orbit-user-avatar.pug
include widgets/orbit-username-field.pug

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('chat')
solid-widget(name='hubl-action-community')
solid-widget(name='orbit-action-community')
template
solid-ac-checker(data-src="${value}", nested-field="members", permission='acl:Append')
solid-link(

@ -1,8 +1,8 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-counter-alternate-fix')
solid-widget(name='orbit-admin-circle-counter-alternate-fix')
template
solid-display(
fields='circle'
data-src="${src}"
widget-circle="hubl-admin-circle-counter-alternate"
widget-circle="orbit-admin-circle-counter-alternate"
)

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-counter-alternate')
solid-widget(name='orbit-admin-circle-counter-alternate')
template
div
span.icon.icon-people.icon-third.icon-large.margin-right-xsmall

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-counter')
solid-widget(name='orbit-admin-circle-counter')
template
div(style='float:right')
solid-display(

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-link-alternate')
solid-widget(name='orbit-admin-circle-link-alternate')
template
solid-display(
data-src='${src}'
@ -7,5 +7,5 @@ if componentSet.has('admin') && componentSet.has('circles')
fields='name'
class-name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline text-ellipsis admin-name-ellipsis'
action-name='name'
widget-name='hubl-admin-circle-link'
widget-name='orbit-admin-circle-link'
)

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-link')
solid-widget(name='orbit-admin-circle-link')
template
solid-link(
data-src='${src}'

@ -1,11 +1,11 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-name-title')
solid-widget(name='orbit-admin-circle-name-title')
template
div.segment.block.one-line-ellipsis(
title="\${value}"
) ${value}
solid-widget(name='hubl-admin-circle-name')
solid-widget(name='orbit-admin-circle-name')
template
solid-link(
data-src="${src || value}"
@ -14,13 +14,13 @@ if componentSet.has('admin') && componentSet.has('circles')
solid-display(
data-src="${src || value}"
fields="name"
widget-name="hubl-admin-circle-name-title"
widget-name="orbit-admin-circle-name-title"
)
solid-widget(name='hubl-admin-circle-fix-url-name')
solid-widget(name='orbit-admin-circle-fix-url-name')
template
solid-display(
data-src="${src}"
fields="circle"
widget-circle='hubl-admin-circle-name'
widget-circle='orbit-admin-circle-name'
)

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('chat')
solid-widget(name='hubl-admin-community-counter')
solid-widget(name='orbit-admin-community-counter')
template
div(style='float:right')
solid-display(

@ -1,3 +1,3 @@
if (componentSet.has('admin') && componentSet.has('circles')) || componentSet.has('communities')
solid-widget(name='hubl-admin-community-logo')
solid-widget(name='orbit-admin-community-logo')
template ${value != "" ? `<div \style="background-image:url(${value});" />` : `<div></div>`}

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-admin-project-counter-alternate')
solid-widget(name='orbit-admin-project-counter-alternate')
template
div(style='float:right')
solid-display(

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-admin-project-counter')
solid-widget(name='orbit-admin-project-counter')
template
div(style='float:right')
solid-display(

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-admin-project-link-alternate')
solid-widget(name='orbit-admin-project-link-alternate')
template
solid-display(
data-src='${src}'
@ -7,5 +7,5 @@ if componentSet.has('admin') && componentSet.has('projects')
fields='name'
class-name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline text-ellipsis admin-name-ellipsis'
action-name='name'
widget-name='hubl-admin-project-link'
widget-name='orbit-admin-project-link'
)

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-admin-project-link')
solid-widget(name='orbit-admin-project-link')
template
solid-link(
data-src='${src}'

@ -1,9 +1,9 @@
if componentSet.has('projects')
solid-widget(name='hubl-captain-contact')
solid-widget(name='orbit-captain-contact')
template
solid-link.icon.icon-secondary.hover.icon-speech.margin-left-xsmall.margin-right-medium(data-src='\${value}', next=getRoute('chat', true))
solid-widget(name='hubl-captain')
solid-widget(name='orbit-captain')
template
solid-display.segment.full.margin-bottom-large.labelled-avatar.two-lines(
data-src="${value}"
@ -24,6 +24,6 @@ if componentSet.has('projects')
multiple-communities
multiple-communities-fields='community.name'
widget-account.picture='hubl-user-avatar'
widget-user='hubl-captain-contact'
widget-account.picture='orbit-user-avatar'
widget-user='orbit-captain-contact'
)

@ -1,3 +1,3 @@
if componentSet.has('circles')
solid-widget(name='hubl-circle-edit-admin')
solid-widget(name='orbit-circle-edit-admin')
template ${value == "true" ? "Administrateur" : ""}

@ -1,5 +1,5 @@
if componentSet.has('circles')
solid-widget(name="hubl-circle-edit-members-delete")
solid-widget(name="orbit-circle-edit-members-delete")
template
solid-ac-checker(permission="acl:Delete", data-src="${src}")
solid-delete(

@ -1,5 +1,5 @@
if componentSet.has('circles')
solid-widget(name='hubl-circle-join-button')
solid-widget(name='orbit-circle-join-button')
template
button.button.text-xsmall.text-bold.text-uppercase.reversed.color-secondary.bordered.icon.icon-arrow-right-circle
solid-form(
@ -7,7 +7,7 @@ if componentSet.has('circles')
nested-field='members'
fields='user.username'
value-user.username='hubl-workaround-493'
value-user.username='orbit-workaround-493'
widget-user.username='solid-form-hidden'
submit-button=''

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-circle-owner')
solid-widget(name='orbit-circle-owner')
template
solid-display.segment.block.margin-top-xxsmall.margin-bottom-xxsmall.labelled-avatar.two-lines(
data-src='${await value}'
@ -13,7 +13,7 @@ if componentSet.has('admin') && componentSet.has('circles')
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block text-xsmall'
widget-account.picture='hubl-user-avatar'
widget-account.picture='orbit-user-avatar'
value-at='@'
)

@ -1,4 +1,4 @@
if componentSet.has('circles')
solid-widget(name='hubl-circle-team-contact')
solid-widget(name='orbit-circle-team-contact')
template
solid-link.icon.icon-secondary.hover.icon-speech.margin-left-xsmall.margin-right-medium(data-src='\${value}', next=getRoute('chat', true))

@ -1,3 +1,3 @@
if componentSet.has('circles')
solid-widget(name='hubl-circle-user-admin')
solid-widget(name='orbit-circle-user-admin')
template ${value == "true" ? "Administrateur" : ""}

@ -1,5 +1,5 @@
if componentSet.has('communities')
solid-widget(name='hubl-communities-counter-alternate')
solid-widget(name='orbit-communities-counter-alternate')
template
div
span.icon.icon-people.icon-third.icon-large.margin-right-xsmall

@ -1,5 +1,5 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-edit-add-button')
solid-widget(name='orbit-communities-edit-add-button')
template
div(
class="segment text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered"
@ -7,5 +7,5 @@ if componentSet.has('communities') && getRoute('communities')
button.form-sub(
data-trans="communities.edit.buttonAdd"
type="button"
onclick="window.hubl.geocalc(this);"
onclick="window.orbit.geocalc(this);"
)

@ -1,5 +1,5 @@
if componentSet.has('communities')
solid-widget(name="hubl-communities-edit-address-delete")
solid-widget(name="orbit-communities-edit-address-delete")
template
solid-ac-checker(permission="acl:Delete", data-src="${src}")
solid-delete(

@ -1,5 +1,5 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-edit-button')
solid-widget(name='orbit-communities-edit-button')
template
solid-ac-checker(
permission='acl:Write'

@ -1,5 +1,5 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-edit-email')
solid-widget(name='orbit-communities-edit-email')
template
label(class="text-small text-semibold text-uppercase text-color-heading" data-trans="communities.edit.labelEmail")
input(type="email" label="communities.edit.labelEmail" name="profile.email" value="\${value}" data-holder)

@ -1,5 +1,5 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-edit-website')
solid-widget(name='orbit-communities-edit-website')
template
label(class="text-small text-semibold text-uppercase text-color-heading" data-trans='communities.edit.labelWebsite')
input(type="url" label="communities.edit.labelWebsite" name="profile.website" value="\${value}" data-holder)

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-logo')
solid-widget(name='orbit-communities-logo')
template ${value != "" ? `<div \style="background-image:url(${value});" />` : `<div></div>`}

@ -1,15 +1,15 @@
if componentSet.has('communities')
solid-widget(name='hubl-communities-name')
solid-widget(name='orbit-communities-name')
template
solid-link(
data-src="${value}"
next=`${getRoute(`communities`, true)}-profile`
) ${await value.name}
solid-widget(name='hubl-communities-map-fix-url-name')
solid-widget(name='orbit-communities-map-fix-url-name')
template
solid-display(
data-src="${src}"
fields="community"
widget-community='hubl-communities-name'
widget-community='orbit-communities-name'
)

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-email')
solid-widget(name='orbit-communities-profile-email')
template ${value != "" ? `<a class="link margin-bottom-xsmall icon mdi-email-outline icon-third icon-large icon-margin-right-xsmall link-hover" href="mailto:\${value}">${value}</a>` : ""}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-facebook')
solid-widget(name='orbit-communities-profile-facebook')
template ${value != "" ? `<a class="segment children-link-rounded children-icon-social-facebook children-link-reversed color-secondary bordered margin-right-medium" href="${value}" target="_blank"><span></span></a>` : ""}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-instagram')
solid-widget(name='orbit-communities-profile-instagram')
template ${value != "" ? `<a class="segment children-link-rounded children-icon-social-instagram children-link-reversed color-secondary bordered" href="${value}" target="_blank"><span></span></a>` : ""}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-linkedin')
solid-widget(name='orbit-communities-profile-linkedin')
template ${value != "" ? `<a class="segment children-link-rounded children-icon-social-linkedin children-link-reversed color-secondary bordered margin-right-medium" href="${value}" target="_blank"><span></span></a>` : ""}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-logo')
solid-widget(name='orbit-communities-profile-logo')
template ${value != "" ? `<div \style="background-image:url(${value});" />` : ""}

@ -1,5 +1,5 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-members-counter')
solid-widget(name='orbit-communities-profile-members-counter')
template
span
span.margin-bottom-xsmall.icon.mdi-account-multiple.icon-third.icon-large.icon-margin-right-xsmall

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-phone')
solid-widget(name='orbit-communities-profile-phone')
template ${value != "" ? `<a class="link margin-bottom-xsmall icon mdi-cellphone-iphone icon-third icon-large icon-margin-right-xsmall link-hover" href="tel:\${value}">${value}</a>` : ""}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-picture')
solid-widget(name='orbit-communities-profile-picture')
template ${value != "" ? `<div><div \style="background-image:url(${value});"></div></div>` : `<div class="picture-empty"><object type="image/svg+xml" data="/images/photos.svg"></object></div>`}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-twitter')
solid-widget(name='orbit-communities-profile-twitter')
template ${value != "" ? `<a class="segment children-link-rounded children-icon-social-twitter children-link-reversed color-secondary bordered margin-right-medium" href="${value}" target="_blank"><span></span></a>` : ""}

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-website')
solid-widget(name='orbit-communities-profile-website')
template ${value != "" ? `<a class="link margin-bottom-xsmall icon mdi-link-variant icon-third icon-large icon-margin-right-xsmall link-hover" href="tel:\${value}" target="_blank">${value}</a>` : ""}

@ -1,5 +1,5 @@
if componentSet.has('chat') || componentSet.has('circles') || componentSet.has('projects')
solid-widget(name='hubl-counter')
solid-widget(name='orbit-counter')
template
if componentSet.has('notification')
solid-badge(data-src="${value == 'badge' ? src : value}")

@ -1,5 +1,5 @@
if componentSet.has('admin') && componentSet.has('chat')
solid-widget(name='hubl-email-field')
solid-widget(name='orbit-email-field')
template
div.segment.margin-bottom-medium.half.sm-full.padding-left-small.sm-padding-none.text-small.text-semibold.text-uppercase.text-color-heading
label ${label}

@ -1,5 +1,5 @@
if componentSet.has('chat')
solid-widget(name='hubl-menu-contact-removed')
solid-widget(name='orbit-menu-contact-removed')
template ${value != "" ? `
<solid-delete class="menu-delete-button button-remove icon children-icon-close" data-src='${value}' data-label="" confirmation-type="confirm" confirmation-message="Vous êtes sur le point de retirer ce contact. Etes-vous sûr ?" confirmation-submit-text="Oui, valider" confirmation-cancel-text="Non, c'est une erreur" confirmation-submit-class="segment sm-full text-center button text-xsmall text-bold text-uppercase reversed color-secondary bordered padding-right-medium padding-left-medium margin-right-xsmall sm-margin-right-none sm-margin-bottom-medium" confirmation-cancel-class="segment sm-full text-center button text-xsmall text-bold text-uppercase color-secondary bordered padding-right-medium padding-left-medium margin-left-xsmall sm-margin-left-none"></solid-delete>` : ""}
//- Fix: using type confirm, dialog is not available on Firefox, polyfill only works if dialog is a direct child of body

@ -1,5 +1,5 @@
if componentSet.has('circles') || componentSet.has('projects') || componentSet.has('profileDirectory') || componentSet.has('chat')
solid-widget(name='hubl-menu-empty')
solid-widget(name='orbit-menu-empty')
template
p.segment.full.empty.whitespace-normal(style='display:block!important; color:#D0D4DA')
span(data-trans="menuLeft.emptyCircleProjectContact.empty")

@ -1,6 +1,6 @@
if componentSet.has('circles')
solid-widget(name='hubl-menu-fix-url-circle')
solid-widget(name='orbit-menu-fix-url-circle')
template ${value != "" ? `
<solid-link class="segment full" data-src="${value}" next="${hubl.getRoute('circles', true)}">
<solid-display class="segment full text-color-white heading-active bg-color-heading transparent-background hover active" data-src='${value}' fields='segment(status, circle(name, jabberID), badge)' class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-xsmall padding-left-xsmall" class-status='segment text-top sub-menu-icon' class-circle='segment three-quarter sub-menu-name' class-name='ellipsis-content' class-badge='segment badge' value-badge='${value}' widget-status='hubl-menu-publicprivate' widget-badge='hubl-counter' widget-jabberID='hubl-menu-jabberid' widget-name='solid-display-div' order-asc="name"></solid-display>
<solid-link class="segment full" data-src="${value}" next="${orbit.getRoute('circles', true)}">
<solid-display class="segment full text-color-white heading-active bg-color-heading transparent-background hover active" data-src='${value}' fields='segment(status, circle(name, jabberID), badge)' class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-xsmall padding-left-xsmall" class-status='segment text-top sub-menu-icon' class-circle='segment three-quarter sub-menu-name' class-name='ellipsis-content' class-badge='segment badge' value-badge='${value}' widget-status='orbit-menu-publicprivate' widget-badge='orbit-counter' widget-jabberID='orbit-menu-jabberid' widget-name='solid-display-div' order-asc="name"></solid-display>
</solid-link>` : ""}

@ -1,6 +1,6 @@
if componentSet.has('chat')
solid-widget(name='hubl-menu-fix-url-contact')
solid-widget(name='orbit-menu-fix-url-contact')
template ${value != "" ? `
<solid-link class="segment full" data-src="${value}" next="${hubl.getRoute('chat', true)}">
<solid-display class="segment full text-color-white heading-active bg-color-heading transparent-background hover active" data-src='${value}' fields='segment(message(name, chatProfile.jabberID), badge)' class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-xsmall padding-left-xsmall" class-message='segment three-quarter sub-menu-name' class-badge='segment badge' value-badge='${value}' widget-badge='hubl-counter' widget-chatProfile.jabberID='hubl-menu-jabberid' widget-name='solid-display-div' order-asc='username'></solid-display>
<solid-link class="segment full" data-src="${value}" next="${orbit.getRoute('chat', true)}">
<solid-display class="segment full text-color-white heading-active bg-color-heading transparent-background hover active" data-src='${value}' fields='segment(message(name, chatProfile.jabberID), badge)' class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-xsmall padding-left-xsmall" class-message='segment three-quarter sub-menu-name' class-badge='segment badge' value-badge='${value}' widget-badge='orbit-counter' widget-chatProfile.jabberID='orbit-menu-jabberid' widget-name='solid-display-div' order-asc='username'></solid-display>
</solid-link>` : ""}

@ -1,6 +1,6 @@
if componentSet.has('projects')
solid-widget(name='hubl-menu-fix-url-project')
solid-widget(name='orbit-menu-fix-url-project')
template ${value != "" ? `
<solid-link class="segment full" data-src="${value}" next="${hubl.getRoute('projects', true)}">
<solid-display class="segment full text-color-white heading-active bg-color-heading transparent-background hover active" data-src='${value}' fields='segment(project(customer.name, name, jabberID), badge)' class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-xsmall padding-left-xsmall" class-project='segment three-quarter sub-menu-name' class-customer.name='ellipsis-content' class-name='ellipsis-content' class-badge='segment badge text-top' value-badge='${value}' widget-jabberID='hubl-menu-jabberid' widget-badge='hubl-counter' widget-name='solid-display-div' order-asc="customer.name"></solid-display>
<solid-link class="segment full" data-src="${value}" next="${orbit.getRoute('projects', true)}">
<solid-display class="segment full text-color-white heading-active bg-color-heading transparent-background hover active" data-src='${value}' fields='segment(project(customer.name, name, jabberID), badge)' class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-xsmall padding-left-xsmall" class-project='segment three-quarter sub-menu-name' class-customer.name='ellipsis-content' class-name='ellipsis-content' class-badge='segment badge text-top' value-badge='${value}' widget-jabberID='orbit-menu-jabberid' widget-badge='orbit-counter' widget-name='solid-display-div' order-asc="customer.name"></solid-display>
</solid-link>` : ""}

@ -1,5 +1,5 @@
if componentSet.has('chat') || componentSet.has('circles') || componentSet.has('projects')
solid-widget(name='hubl-menu-jabberid')
solid-widget(name='orbit-menu-jabberid')
template
div.hidden(
data-jabberID="${value}"

@ -1,5 +1,5 @@
if componentSet.has('circles') || componentSet.has('projects')
solid-widget(name='hubl-menu-publicprivate')
solid-widget(name='orbit-menu-publicprivate')
template
div(
class="${value == 'Public' ? 'text-large': 'text-simple-line-icons text-xsmall'}"

@ -1,9 +1,9 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-project-admins')
solid-widget(name='orbit-project-admins')
template
solid-display(
data-src='${value}'
fields='user'
filtered-by='hubl_project_is_admin'
widget-user='hubl-project-captain'
filtered-by='orbit_project_is_admin'
widget-user='orbit-project-captain'
)

@ -1,5 +1,5 @@
if componentSet.has('invoices') && componentSet.has('projects')
solid-widget(name="hubl-project-businessprovider")
solid-widget(name="orbit-project-businessprovider")
template
solid-form.segment.three-quarter.sm-full.margin-right-medium.margin-bottom-small(
data-src="\${value}"

Деякі з файлів не показано, оскільки було змінено дуже багато файлів Показати більше