Browse Source

major: orbit branding

webpushnotifications
Jean-Baptiste Pasquier 6 months ago
parent
commit
e65def6234
  1. 48
      README.md
  2. 2
      config.sample.json
  3. 2
      cypress/integration/leave-channel.spec.js
  4. 2
      cypress/integration/leave-project.spec.js
  5. 12
      internal/parcel.js
  6. 2
      package-lock.json
  7. 2
      package.json
  8. 6
      src/components/getRoute.js
  9. 19
      src/components/hubl-search-users.js
  10. 8
      src/components/orbit-auto-login.js
  11. 6
      src/components/orbit-reactivity.js
  12. 12
      src/components/sw-toolbox.js
  13. 0
      src/images/orbit-icon-192.png
  14. 0
      src/images/orbit-icon-512.png
  15. 82
      src/index.pug
  16. 2
      src/locales/en.json
  17. 2
      src/locales/es.json
  18. 2
      src/locales/fr.json
  19. 0
      src/orbit-context.pug
  20. 8
      src/orbit-dependencies.pug
  21. 12
      src/orbit-router.pug
  22. 0
      src/orbit-unify.pug
  23. 8
      src/scripts/hubl-geocoord.js
  24. 16
      src/scripts/intl.js
  25. 2
      src/scripts/login-element-visibility.js
  26. 8
      src/scripts/navigate-event.js
  27. 8
      src/styles/admin-circles/_index.scss
  28. 2
      src/styles/admin-projects/_index.scss
  29. 8
      src/styles/communities/_index.scss
  30. 2
      src/styles/index.scss
  31. 17
      src/styles/left-nav/_index.scss
  32. 2
      src/views/page-messages.pug
  33. 28
      src/views/page-registering.pug
  34. 4
      src/views/partials/admin/page-admin-chat-create.pug
  35. 4
      src/views/partials/admin/page-admin-chat.pug
  36. 2
      src/views/partials/admin/page-admin-circles-create.pug
  37. 22
      src/views/partials/admin/page-admin-circles-join.pug
  38. 30
      src/views/partials/admin/page-admin-circles-leave.pug
  39. 2
      src/views/partials/admin/page-admin-projects-create.pug
  40. 58
      src/views/partials/admin/page-admin-projects.pug
  41. 8
      src/views/partials/circle/page-circle-edit.pug
  42. 12
      src/views/partials/circle/page-circle-profile.pug
  43. 4
      src/views/partials/communities/page-community-directory.pug
  44. 10
      src/views/partials/communities/page-community-edit.pug
  45. 6
      src/views/partials/communities/page-community-map.pug
  46. 28
      src/views/partials/communities/page-community-profile.pug
  47. 8
      src/views/partials/header.pug
  48. 14
      src/views/partials/menu-left.pug
  49. 8
      src/views/partials/project/page-project-edit.pug
  50. 10
      src/views/partials/project/page-project-profile.pug
  51. 108
      src/views/partials/widgets.pug
  52. 3
      src/views/partials/widgets/hubl-circle-edit-admin.pug
  53. 3
      src/views/partials/widgets/hubl-circle-user-admin.pug
  54. 3
      src/views/partials/widgets/hubl-project-edit-admin.pug
  55. 2
      src/views/partials/widgets/orbit-action-community.pug
  56. 4
      src/views/partials/widgets/orbit-admin-circle-counter-alternate-fix.pug
  57. 2
      src/views/partials/widgets/orbit-admin-circle-counter-alternate.pug
  58. 2
      src/views/partials/widgets/orbit-admin-circle-counter.pug
  59. 4
      src/views/partials/widgets/orbit-admin-circle-link-alternate.pug
  60. 2
      src/views/partials/widgets/orbit-admin-circle-link.pug
  61. 10
      src/views/partials/widgets/orbit-admin-circle-name.pug
  62. 2
      src/views/partials/widgets/orbit-admin-community-counter.pug
  63. 2
      src/views/partials/widgets/orbit-admin-community-logo.pug
  64. 2
      src/views/partials/widgets/orbit-admin-project-counter-alternate.pug
  65. 2
      src/views/partials/widgets/orbit-admin-project-counter.pug
  66. 4
      src/views/partials/widgets/orbit-admin-project-link-alternate.pug
  67. 2
      src/views/partials/widgets/orbit-admin-project-link.pug
  68. 8
      src/views/partials/widgets/orbit-captain.pug
  69. 3
      src/views/partials/widgets/orbit-circle-edit-admin.pug
  70. 2
      src/views/partials/widgets/orbit-circle-edit-members-delete.pug
  71. 4
      src/views/partials/widgets/orbit-circle-join-button.pug
  72. 4
      src/views/partials/widgets/orbit-circle-owner.pug
  73. 2
      src/views/partials/widgets/orbit-circle-team-contact.pug
  74. 3
      src/views/partials/widgets/orbit-circle-user-admin.pug
  75. 2
      src/views/partials/widgets/orbit-communities-counter-alternate.pug
  76. 4
      src/views/partials/widgets/orbit-communities-edit-add-button.pug
  77. 2
      src/views/partials/widgets/orbit-communities-edit-address-delete.pug
  78. 2
      src/views/partials/widgets/orbit-communities-edit-button.pug
  79. 2
      src/views/partials/widgets/orbit-communities-edit-email.pug
  80. 2
      src/views/partials/widgets/orbit-communities-edit-website.pug
  81. 2
      src/views/partials/widgets/orbit-communities-logo.pug
  82. 6
      src/views/partials/widgets/orbit-communities-map-fix-url-name.pug
  83. 2
      src/views/partials/widgets/orbit-communities-profile-email.pug
  84. 2
      src/views/partials/widgets/orbit-communities-profile-facebook.pug
  85. 2
      src/views/partials/widgets/orbit-communities-profile-instagram.pug
  86. 2
      src/views/partials/widgets/orbit-communities-profile-linkedin.pug
  87. 2
      src/views/partials/widgets/orbit-communities-profile-logo.pug
  88. 2
      src/views/partials/widgets/orbit-communities-profile-members-counter.pug
  89. 2
      src/views/partials/widgets/orbit-communities-profile-phone.pug
  90. 2
      src/views/partials/widgets/orbit-communities-profile-picture.pug
  91. 2
      src/views/partials/widgets/orbit-communities-profile-twitter.pug
  92. 2
      src/views/partials/widgets/orbit-communities-profile-website.pug
  93. 2
      src/views/partials/widgets/orbit-counter.pug
  94. 2
      src/views/partials/widgets/orbit-email-field.pug
  95. 2
      src/views/partials/widgets/orbit-menu-contact-removed.pug
  96. 2
      src/views/partials/widgets/orbit-menu-empty.pug
  97. 6
      src/views/partials/widgets/orbit-menu-fix-url-circle.pug
  98. 6
      src/views/partials/widgets/orbit-menu-fix-url-contact.pug
  99. 6
      src/views/partials/widgets/orbit-menu-fix-url-project.pug
  100. 2
      src/views/partials/widgets/orbit-menu-jabberid.pug

48
README.md

@ -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.

2
config.sample.json

@ -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": [{

2
cypress/integration/leave-channel.spec.js

@ -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 = [

2
cypress/integration/leave-project.spec.js

@ -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 = [

12
internal/parcel.js

@ -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,

2
package.json

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

6
src/components/getRoute.js

@ -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) {

19
src/components/hubl-search-users.js

@ -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
}

8
src/components/hubl-auto-login.js → src/components/orbit-auto-login.js

@ -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);

6
src/components/hubl-reactivity.js → src/components/orbit-reactivity.js

@ -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);

12
src/components/sw-toolbox.js

@ -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) => {

0
src/images/hubl-icon-192.png → src/images/orbit-icon-192.png

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

0
src/images/hubl-icon-512.png → src/images/orbit-icon-512.png

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

82
src/index.pug

@ -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})

2
src/locales/en.json

@ -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",

2
src/locales/es.json

@ -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",

2
src/locales/fr.json

@ -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",

0
src/context.pug → src/orbit-context.pug

8
src/dependencies.pug → src/orbit-dependencies.pug

@ -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")

12
src/hubl-router.pug → src/orbit-router.pug

@ -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

0
src/orbit-unify.pug

8
src/scripts/hubl-geocoord.js

@ -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();

16
src/scripts/intl.js

@ -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);
});
});

2
src/scripts/login-element-visibility.js

@ -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)
}
}),
);

8
src/scripts/navigate-event.js

@ -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)
}
}),
);

8
src/styles/admin-circles/_index.scss

@ -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;
}

2
src/styles/admin-projects/_index.scss

@ -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;
}

8
src/styles/communities/_index.scss

@ -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;
}

2
src/styles/index.scss

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

17
src/styles/left-nav/_index.scss

@ -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;

2
src/views/page-messages.pug

@ -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(

28
src/views/page-registering.pug

@ -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'

4
src/views/partials/admin/page-admin-chat-create.pug

@ -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)}`

4
src/views/partials/admin/page-admin-chat.pug

@ -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'
)

2
src/views/partials/admin/page-admin-circles-create.pug

@ -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'
)

22
src/views/partials/admin/page-admin-circles-join.pug

@ -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`
)

30
src/views/partials/admin/page-admin-circles-leave.pug

@ -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`
)

2
src/views/partials/admin/page-admin-projects-create.pug

@ -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=''

58
src/views/partials/admin/page-admin-projects.pug

@ -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"
)

8
src/views/partials/circle/page-circle-edit.pug

@ -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

12
src/views/partials/circle/page-circle-profile.pug

@ -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'