diff --git a/README.md b/README.md index b002528..85a9757 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ These instructions will get you a copy of the project up and running on your loc To install Hubl, you'll need: -* A Hubl Server (djangoldp>=0.6.42) with the appropriate modules +* A Hubl Server (djangoldp>=0.7.11) with the appropriate modules * A Prosody Server (with [appropriate modules](https://git.startinblox.com/infra/prosody-modules/) * A SMTP Server (optional) * NodeJS on your machine @@ -71,7 +71,7 @@ By default, a Hubl includes only individual chat modules. On Server: `djangoldp_account`, `djangoldp_profile`, `djangoldp_notification`, `djangoldp_skill`, `djangoldp_upload`, `oidc_provider` packages -On `config.json`: +On `config.json`: ```json { @@ -177,7 +177,7 @@ On `config.json`: ### Project -(Experimental) Project are a private group chat including Customer and Business Provider management. To activate them, you need: +Project are a private group chat including Customer and Business Provider management. To activate them, you need: On Server: `djangoldp_project` packages @@ -194,7 +194,7 @@ On `config.json`: ### Users Directory -(In development) Directory includes a listing of each users of your app and editable individual profile. To activate them, you need: +Directory includes a listing of each users of your app and editable individual profile. To activate them, you need: On Server: `djangoldp_skill`, `djangoldp_upload` packages @@ -211,7 +211,7 @@ On `config.json`: ### Job Offers -(In development) Job Offers includes a job board with conversation. To activate them, you need: +Job Offers includes a job board with conversation. To activate them, you need: On Server: `djangoldp_joboffer`, `djangoldp_skill`, `djangoldp_upload`, `djangoldp_conversation` packages diff --git a/client.sample.happy-dev.css b/client.sample.happy-dev.css index 8cdb1bf..18eb3c0 100644 --- a/client.sample.happy-dev.css +++ b/client.sample.happy-dev.css @@ -139,14 +139,14 @@ } /* Button to edit a channel or a project (in project-profile) */ -#project sib-link[next="project-edit"], -#circle sib-link[next="circle-edit"] { +#project solid-link[next="project-edit"], +#circle solid-link[next="circle-edit"] { background: var(--color-complementary); border: 1px solid var(--color-complementary); } -#project sib-link[next="project-edit"]:hover, -#circle sib-link[next="circle-edit"]:hover { +#project solid-link[next="project-edit"]:hover, +#circle solid-link[next="circle-edit"]:hover { background: var(--color-white); border: 1px solid var(--color-complementary); color: var(--color-complementary); @@ -154,57 +154,57 @@ /* Button to delete a channel */ /* box-button is depreciated */ -#circle-profile>div>div.desktop-button__end>sib-ac-checker>sib-delete, -#circle-profile>div>div.box-button>sib-ac-checker>sib-delete { +#circle-profile>div>div.desktop-button__end>solid-ac-checker>solid-delete, +#circle-profile>div>div.box-button>solid-ac-checker>solid-delete { background: var(--color-white); border: 1px solid var(--color-complementary); color: var(--color-complementary); } -#circle-profile>div>div.desktop-button__end>sib-ac-checker>sib-delete>button, -#circle-profile>div>div.box-button>sib-ac-checker>sib-delete>button { +#circle-profile>div>div.desktop-button__end>solid-ac-checker>solid-delete>button, +#circle-profile>div>div.box-button>solid-ac-checker>solid-delete>button { color: var(--color-complementary); } -#circle-profile>div>div.desktop-button__end>sib-ac-checker>sib-delete:hover, -#circle-profile>div>div.box-button>sib-ac-checker>sib-delete:hover { +#circle-profile>div>div.desktop-button__end>solid-ac-checker>solid-delete:hover, +#circle-profile>div>div.box-button>solid-ac-checker>solid-delete:hover { background: var(--color-complementary); border: 1px solid var(--color-complementary); color: var(--color-white); } -#circle-profile>div>div.desktop-button__end>sib-ac-checker>sib-delete:hover>button, -#circle-profile>div>div.box-button>sib-ac-checker>sib-delete:hover>button { +#circle-profile>div>div.desktop-button__end>solid-ac-checker>solid-delete:hover>button, +#circle-profile>div>div.box-button>solid-ac-checker>solid-delete:hover>button { color: var(--color-white); } /* Button with a pen to edit a user */ -#admin-users-list>div>div.table>sib-display>div>sib-display>div>sib-action-hd-custom>sib-ac-checker>sib-link { +#admin-users-list>div>div.table>solid-display>div>solid-display>div>solid-action-hd-custom>solid-ac-checker>solid-link { background: var(--color-complementary); border: 1px solid var(--color-complementary); color: var(--color-white); } -#admin-users-list>div>div.table>sib-display>div>sib-display>div>sib-action-hd-custom>sib-ac-checker>sib-link:hover { +#admin-users-list>div>div.table>solid-display>div>solid-display>div>solid-action-hd-custom>solid-ac-checker>solid-link:hover { background: var(--color-white); border: 1px solid var(--color-complementary); color: var(--color-complementary); } /* Button to join a channel */ -#admin-circle-list>div>div.table>sib-display:nth-child(5)>div>sib-display>div>admin-circle-join-button>sib-form { +#admin-circle-list>div>div.table>solid-display:nth-child(5)>div>solid-display>div>admin-circle-join-button>solid-form { background: var(--color-complementary); border: 1px solid var(--color-complementary); color: var(--color-white); } -#admin-circle-list>div>div.table>sib-display:nth-child(5)>div>sib-display>div>admin-circle-join-button>sib-form:hover { +#admin-circle-list>div>div.table>solid-display:nth-child(5)>div>solid-display>div>admin-circle-join-button>solid-form:hover { background: var(--color-white); border: 1px solid var(--color-complementary); color: var(--color-complementary); } -#admin-circle-list>div>div.table>sib-display:nth-child(5)>div>sib-display>div>admin-circle-join-button>sib-form:hover input { +#admin-circle-list>div>div.table>solid-display:nth-child(5)>div>solid-display>div>admin-circle-join-button>solid-form:hover input { color: var(--color-complementary); } @@ -212,35 +212,35 @@ /* Directory - my profile*/ /* Colors for buttons to send a message to a member and to update or remove your profile picture */ -#member-profile>div.profile-card>div.user-profile>div>sib-display>div>sib-action.button.button-primary.bordered, -button#sib-picture-browse.button.button-primary, -button#sib-picture-remove.button.button-primary { +#member-profile>div.profile-card>div.user-profile>div>solid-display>div>solid-action.button.button-primary.bordered, +button#solid-picture-browse.button.button-primary, +button#solid-picture-remove.button.button-primary { border: 1px solid var(--color-directory-complementary) !important; } -#member-profile sib-action.button.button-primary>sib-link, -button#sib-picture-browse.button.button-primary, -button#sib-picture-remove.button.button-primary { +#member-profile solid-action.button.button-primary>solid-link, +button#solid-picture-browse.button.button-primary, +button#solid-picture-remove.button.button-primary { color: var(--color-directory-complementary) !important; } -#member-profile>div.profile-card>div.user-profile>div>sib-display>div>sib-action.button.button-primary.bordered>sib-link::before { +#member-profile>div.profile-card>div.user-profile>div>solid-display>div>solid-action.button.button-primary.bordered>solid-link::before { background-color: var(--color-directory-complementary) !important; } /* Hover */ -#member-profile sib-action.button.button-primary:hover, -#member-profile sib-action.button.button-primary:hover>sib-link, -button#sib-picture-browse.button.button-primary:hover, -button#sib-picture-remove.button.button-primary:hover { +#member-profile solid-action.button.button-primary:hover, +#member-profile solid-action.button.button-primary:hover>solid-link, +button#solid-picture-browse.button.button-primary:hover, +button#solid-picture-remove.button.button-primary:hover { color: var(--color-directory-white) !important; background-color: var(--color-directory-complementary) !important; } -#member-profile>div.profile-card>div.user-profile>div>sib-display>div>sib-action.button.button-primary.bordered:hover>sib-link::before { +#member-profile>div.profile-card>div.user-profile>div>solid-display>div>solid-action.button.button-primary.bordered:hover>solid-link::before { background-color: var(--color-directory-white) !important; } -#members-list .send-display sib-link::before { +#members-list .send-display solid-link::before { background-color: var(--color-directory-complementary)!important; } diff --git a/cypress/integration/tests.spec.js b/cypress/integration/tests.spec.js index cee47af..ba53571 100644 --- a/cypress/integration/tests.spec.js +++ b/cypress/integration/tests.spec.js @@ -48,21 +48,21 @@ context('Browser testing', () => { // }); // describe('Main interface', () => { // // it('should show my name on top right', () => { -// // cy.get('sib-display-value').contains('Admin'); +// // cy.get('solid-display-value').contains('Admin'); // // }); // it('should show my username on the left menu', () => { -// cy.get('[fields="username, badge"][data-src="http://localhost:8000/users/admin/"] > :nth-child(1) > sib-display-div > div').contains('admin'); +// cy.get('[fields="username, badge"][data-src="http://localhost:8000/users/admin/"] > :nth-child(1) > solid-display-div > div').contains('admin'); // }); // it('should open a chat with myself', () => { -// cy.get('[fields="username, badge"][data-src="http://localhost:8000/users/admin/"] > :nth-child(1) > sib-display-div > div').click(); +// cy.get('[fields="username, badge"][data-src="http://localhost:8000/users/admin/"] > :nth-child(1) > solid-display-div > div').click(); // cy.get('.name').contains('admin'); // }); // it('should not work, because I have no Prosody configured', () => { -// cy.get('.content-box > .chat-view > sib-chat').should('be.empty'); +// cy.get('.content-box > .chat-view > solid-xmpp-chat').should('be.empty'); // }); // describe('Circles', () => { // it('should navigate the Administration from left menu', () => { -// cy.get('.create > sib-link').click(); +// cy.get('.create > solid-link').click(); // cy.get('#admin-circles > .content-box > .content-box__header > .without-margin').contains('Administration'); // cy.get('#admin-circle-list > .content-box__info > .admin-header > .admin-header__title').contains('Circles'); // }); @@ -76,10 +76,10 @@ context('Browser testing', () => { // crypto.getRandomValues(name); // name = "Test Circle " + name; // it('should allow Circle Creation', () => { -// cy.get('form > sib-form-label-text[name="name"] > label > input').type(name); -// cy.get('.content-box__info > sib-form > form > sib-form-label-text[name="description"] > label > input').type('With a great description!'); -// cy.get('#admin-circle-create > .content-box__info > sib-form > form > [type="submit"]').click(); -// cy.get('#admin-circle-list > div > div.table > sib-display').contains(name); +// cy.get('form > solid-form-label-text[name="name"] > label > input').type(name); +// cy.get('.content-box__info > solid-form > form > solid-form-label-text[name="description"] > label > input').type('With a great description!'); +// cy.get('#admin-circle-create > .content-box__info > solid-form > form > [type="submit"]').click(); +// cy.get('#admin-circle-list > div > div.table > solid-display').contains(name); // }); // it('should open the circle information page', () => { // cy.screenshot(); @@ -87,7 +87,7 @@ context('Browser testing', () => { // cy.get('[name="circle-information"] > li').click(); // }); // it('should delete the circle', () => { -// cy.get('.box-button > sib-ac-checker > .button').click(); +// cy.get('.box-button > solid-ac-checker > .button').click(); // cy.get('#navbar-router').should('not.contain', name); // }); // }); diff --git a/src/components/hubl-reactivity.js b/src/components/hubl-reactivity.js new file mode 100644 index 0000000..7e668c1 --- /dev/null +++ b/src/components/hubl-reactivity.js @@ -0,0 +1,39 @@ +import { store } from 'https://unpkg.com/@startinblox/core@0.10'; +import { Sib } from "https://unpkg.com/@startinblox/core@0.10/dist/libs/Sib.js"; +import { StoreMixin } from "https://unpkg.com/@startinblox/core@0.10/dist/mixins/storeMixin.js"; + +export const HublReactivity = { + name: 'hubl-reactivity', + use: [StoreMixin], + attributes: { + targetSrc: { + type: String, + default: '', + callback: function () { + this.subscribe(); + } + }, + dataSrc: { + type: String, + default: '', + callback: async function (value) { + this.resourceId = null; + if (this.nestedField) { + const resource = store.get(value) || await store.getData(value, this.context); + const nestedResource = await resource[this.nestedField] + this.resourceId = nestedResource ? nestedResource['@id'] : null; + } else { + this.resourceId = value; + } + this.subscribe(); + } + }, + }, + subscribe() { + if (this.resourceId && this.targetSrc) { + store.subscribeVirtualContainerTo(this.resourceId, this.targetSrc); + } + } +} + +Sib.register(HublReactivity); \ No newline at end of file diff --git a/src/components/hubl-search-users.js b/src/components/hubl-search-users.js index 1916860..ab4300e 100644 --- a/src/components/hubl-search-users.js +++ b/src/components/hubl-search-users.js @@ -1,4 +1,4 @@ -import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.9/dist/widgets/widget-factory.js'; +import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.10/dist/widgets/widget-factory.js'; const HublSearchUsers = widgetFactory( 'hubl-search-users', diff --git a/src/components/hubl-status.js b/src/components/hubl-status.js index f3d256d..7a94718 100644 --- a/src/components/hubl-status.js +++ b/src/components/hubl-status.js @@ -1,5 +1,5 @@ -import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.9/dist/widgets/widget-factory.js'; -import { importCSS } from 'https://unpkg.com/@startinblox/core@0.9/dist/libs/helpers.js'; +import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.10/dist/widgets/widget-factory.js'; +import { importCSS } from 'https://unpkg.com/@startinblox/core@0.10/dist/libs/helpers.js'; import SlimSelect from 'https://dev.jspm.io/slim-select@1.23'; const HublStatus = widgetFactory( diff --git a/src/dependencies.pug b/src/dependencies.pug index 20fff65..b5215a2 100644 --- a/src/dependencies.pug +++ b/src/dependencies.pug @@ -1,16 +1,17 @@ script(type="module" src="/components/hubl-search-users.js" defer) script(type="module" src="/components/hubl-status.js" defer) +script(type="module" src="/components/hubl-reactivity.js" defer) -script(type="module" src="https://unpkg.com/@startinblox/core@0.9" defer) +script(type="module" src="https://unpkg.com/@startinblox/core@0.10" defer) //- script(type="module" src="/lib/sib-core/dist/index.js" defer) -script(type="module" src="https://unpkg.com/@startinblox/oidc@0.8" defer) +script(type="module" src="https://unpkg.com/@startinblox/oidc@0.9" defer) //- script(type="module" src="/lib/sib-oidc/index.js" defer) -script(type="module" src="https://unpkg.com/@startinblox/router@0.7" defer) - //- script(type="module" src="/lib/sib-router/src/index.js" defer) +script(type="module" src="https://unpkg.com/@startinblox/router@0.8" defer) + //- script(type="module" src="/lib/solid-router/src/index.js" defer) -script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.3" defer) +script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.4" defer) //- script(type="module" src="/lib/sib-notifications/index.js" defer) if endpoints.events || (endpoints.get && endpoints.get.events) @@ -18,20 +19,20 @@ if endpoints.events || (endpoints.get && endpoints.get.events) //- script(type="module" src="/lib/sib-event/sib-event.js" defer) if endpoints.joboffers || (endpoints.get && endpoints.get.joboffers) - script(type="module" src="https://unpkg.com/@startinblox/component-job-board@0.4" defer) - //- script(type="module" src="/lib/sib-job-board/dist/index.js" defer) + //- script(type="module" src="https://unpkg.com/@startinblox/component-job-board@0.6" defer) + script(type="module" src="/lib/solid-job-board/dist/index.js" defer) if (endpoints.uploads || (endpoints.get && endpoints.get.uploads)) && (endpoints.skills || (endpoints.get && endpoints.get.skills)) && (endpoints.users || (endpoints.get && endpoints.get.users)) - script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.4" defer) - //- script(type="module" src="/lib/sib-directory/dist/index.js" defer) + //- script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.5" defer) + script(type="module" src="/lib/solid-directory/dist/index.js" defer) if endpoints.dashboards || (endpoints.get && endpoints.get.dashboards) - script(type="module" src="https://unpkg.com/@startinblox/component-dashboard@0.1" defer) - //- script(type="module" src="/lib/sib-dashboard/sib-dashboard.js" defer) + //- script(type="module" src="https://unpkg.com/@startinblox/component-dashboard@0.2" defer) + script(type="module" src="/lib/solid-dashboard/dist/index.js" defer) if endpoints.users || (endpoints.get && endpoints.get.users) - script(type="module" src="https://unpkg.com/@startinblox/component-chat@0.6" defer) - //-script(type="module" src="/lib/sib-chat/sib-chat.js" defer) + //- script(type="module" src="https://unpkg.com/@startinblox/component-chat@0.7" defer) + script(type="module" src="/lib/solid-xmpp-chat/dist/index.js" defer) script(src="/scripts/index.js" defer) diff --git a/src/header.pug b/src/header.pug index 106fc37..75a2806 100644 --- a/src/header.pug +++ b/src/header.pug @@ -1,5 +1,5 @@ .logo - sib-link(next='dashboard') + solid-link(next='dashboard') img(src=`${clientLogo || '/images/logo.png'}` style=`max-height:${clientLogoHeight || '32px'}`) sib-notifications.notLoggedIn( @@ -11,7 +11,7 @@ include templates/hubl-user-avatar.pug details#user-controls.notLoggedIn summary(tabindex='0' role='button') - sib-display#user-controls__profile( + solid-display#user-controls__profile( fields='first_name, account.picture' class-first_name='flex' class-account.picture='avatar' @@ -23,11 +23,11 @@ details#user-controls.notLoggedIn ul if (endpoints.uploads || (endpoints.get && endpoints.get.uploads)) && (endpoints.skills || (endpoints.get && endpoints.get.skills)) && (endpoints.users || (endpoints.get && endpoints.get.users)) li - sib-link(next='profile') Mon profil + solid-link(next='profile') Mon profil li - sib-link(next='admin') Administration + solid-link(next='admin') Administration li - sib-link(next='about') A propos + solid-link(next='about') A propos button(role='log out' onclick="document.querySelector('sib-auth').logout();") Se déconnecter button.loggedIn(role='log in' onclick="document.querySelector('sib-auth').login();") Se connecter diff --git a/src/index.pug b/src/index.pug index 1a139fe..c5b7116 100644 --- a/src/index.pug +++ b/src/index.pug @@ -35,14 +35,24 @@ html(lang="en") if endpoints.joboffers || (endpoints.get && endpoints.get.joboffers) #job-offers(hidden).no-sidebar.with-padding + hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}current/` target-src=`${endpoints.joboffers || endpoints.get.joboffers}`) + hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}current/` target-src=`${endpoints.joboffers || endpoints.get.joboffers}expired/`) + hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}` target-src=`${endpoints.joboffers || endpoints.get.joboffers}current/`) + hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}` target-src=`${endpoints.joboffers || endpoints.get.joboffers}expired/`) + hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}expired/` target-src=`${endpoints.joboffers || endpoints.get.joboffers}`) + hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}` target-src=`${endpoints.joboffers || endpoints.get.joboffers}current/`) include page-job-offers.pug if endpoints.projects || (endpoints.get && endpoints.get.projects) #project(hidden).with-sidebar + hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src=`${endpoints.projects || endpoints.get.projects}`) + hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}` target-src=`${endpoints.projects || endpoints.get.projects}joinable/`) include page-project.pug if endpoints.circles || (endpoints.get && endpoints.get.circles) #circle(hidden).with-sidebar + hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}joinable/` target-src=`${endpoints.circles || endpoints.get.circles}`) + hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}` target-src=`${endpoints.circles || endpoints.get.circles}joinable/`) include page-circle.pug if endpoints.users || (endpoints.get && endpoints.get.users) @@ -66,7 +76,7 @@ html(lang="en") if analytics each provider in analytics if provider.type && provider.url && provider.url - sib-analytics( + solid-analytics( type=`${provider.type}` url=`${provider.url}` id=`${provider.id}` diff --git a/src/menu-left.pug b/src/menu-left.pug index e304b87..89ddf39 100644 --- a/src/menu-left.pug +++ b/src/menu-left.pug @@ -1,40 +1,40 @@ -sib-widget(name='hubl-counter') +solid-widget(name='hubl-counter') template - sib-fix-badge(data-src="${value == 'badge' ? src : value}") + solid-fix-badge(data-src="${value == 'badge' ? src : value}") -sib-widget(name='hubl-menu-jabberid') +solid-widget(name='hubl-menu-jabberid') template div.hidden( data-jabberID="${value}" ) -sib-widget(name='hubl-menu-publicprivate') +solid-widget(name='hubl-menu-publicprivate') template div ${value == 'Public' ? '#' : ''} -sib-widget(name='hubl-create') +solid-widget(name='hubl-create') template p.create Tu ne fais partie d'aucun ${value}. br | Pour en créer un nouveau, tu peux te rendre dans le - sib-link(next='admin') panneau d'administration + solid-link(next='admin') panneau d'administration -sib-widget(name='hubl-menu-fix-url-circle') +solid-widget(name='hubl-menu-fix-url-circle') template - sib-display( + solid-display( data-src='${value}' fields='status, name, jabberID, badge' value-badge='${value}' widget-status='hubl-menu-publicprivate' widget-badge='hubl-counter' widget-jabberID='hubl-menu-jabberid' - widget-name='sib-display-div' + widget-name='solid-display-div' order-by="name" ) -sib-widget(name='hubl-menu-fix-url-project') +solid-widget(name='hubl-menu-fix-url-project') template - sib-display( + solid-display( data-src='${value}' fields='status, project(customer.name, name, jabberID), badge' class-name='project-name' @@ -43,43 +43,43 @@ sib-widget(name='hubl-menu-fix-url-project') widget-status='hubl-menu-publicprivate' widget-jabberID='hubl-menu-jabberid' widget-badge='hubl-counter' - widget-name='sib-display-div' + widget-name='solid-display-div' order-by="customer.name" ) -sib-router#navbar-router(default-route='dashboard') +solid-router#navbar-router(default-route='dashboard') if endpoints.dashboards || (endpoints.get && endpoints.get.dashboards) - sib-route.menu(name='dashboard') + solid-route.menu(name='dashboard') div.menu-label Tableau de bord div.menu-icon.icon-home div.divider if publicDirectory && (endpoints.users || (endpoints.get && endpoints.get.users)) - sib-route.menu(name='members') + solid-route.menu(name='members') div.menu-label Annuaire des membres div.menu-icon.icon-people div.divider if endpoints.joboffers || (endpoints.get && endpoints.get.joboffers) - sib-route.menu(name='job-offers', rdf-type='hd:joboffer') + solid-route.menu(name='job-offers', rdf-type='hd:joboffer') div.menu-label Offres de mission div.menu-icon.icon-briefcase div.divider if endpoints.events || (endpoints.get && endpoints.get.events) - sib-route.menu(name='events') + solid-route.menu(name='events') div.menu-label Evènements div.menu-icon.icon-calendar div.divider if endpoints.projects || (endpoints.get && endpoints.get.projects) div - sib-link(next='admin-project-list') + solid-link(next='admin-project-list') div.menu div.menu-chevron div.menu-icon.icon-arrow-right-circle div.menu-label Projets div.menu-icon.icon-folder-alt - sib-route(name='project', rdf-type='hd:project', use-id='', hidden) + solid-route(name='project', rdf-type='hd:project', use-id='', hidden) div.sub-menu.menu-notification - sib-display.project-tab( + solid-display.project-tab( bind-user nested-field='projects' fields='project' @@ -92,15 +92,15 @@ sib-router#navbar-router(default-route='dashboard') div.divider if endpoints.circles || (endpoints.get && endpoints.get.circles) div - sib-link(next='admin-circle-list') + solid-link(next='admin-circle-list') div.menu div.menu-chevron div.menu-icon.icon-arrow-right-circle div.menu-label Canaux div.menu-icon.icon-folder-alt - sib-route(name='circle', rdf-type='hd:circle', use-id='', hidden) + solid-route(name='circle', rdf-type='hd:circle', use-id='', hidden) div.sub-menu.menu-notification - sib-display.circle-tab( + solid-display.circle-tab( bind-user nested-field='circles' fields='circle' @@ -118,15 +118,15 @@ sib-router#navbar-router(default-route='dashboard') div.menu-icon.icon-arrow-up div.menu-label Messages div.menu-icon.icon-envelope-letter - sib-route(name='messages', rdf-type='foaf:user', use-id='', hidden) + solid-route(name='messages', rdf-type='foaf:user', use-id='', hidden) div.sub-menu.menu-notification - sib-display.nosub.message-tab( + solid-display.nosub.message-tab( data-src=`${endpoints.users || (endpoints.get && endpoints.get.users)}` fields='name, chatProfile.jabberID, badge' search-fields="name" search-label-name="Rechercher..." search-widget-name="hubl-search-users" - widget-name='sib-display-div' + widget-name='solid-display-div' widget-badge='hubl-counter' widget-chatProfile.jabberID='hubl-menu-jabberid' action-badge='badge' @@ -136,6 +136,6 @@ sib-router#navbar-router(default-route='dashboard') ) div.divider - sib-route(name='admin', hidden) - sib-route.menu(name='profile', hidden) - sib-route(name='about', hidden) + solid-route(name='admin', hidden) + solid-route.menu(name='profile', hidden) + solid-route(name='about', hidden) diff --git a/src/page-admin.pug b/src/page-admin.pug index 30b7cd0..54e08f9 100644 --- a/src/page-admin.pug +++ b/src/page-admin.pug @@ -9,19 +9,19 @@ #admin-users(hidden) include views/admin/page-admin-users.pug nav.jsRightMenu(role='navigation') - sib-router(default-route='admin-circles') + solid-router(default-route='admin-circles') ul li.jsOffsiteToggle a Replier le menu if (endpoints.users || (endpoints.get && endpoints.get.users)) - sib-route.active-color(name='admin-users') + solid-route.active-color(name='admin-users') li a Utilisateurs if endpoints.circles || (endpoints.get && endpoints.get.circles) - sib-route(name='admin-circles') + solid-route(name='admin-circles') li a Canaux if endpoints.projects || (endpoints.get && endpoints.get.projects) - sib-route(name='admin-projects') + solid-route(name='admin-projects') li a Projets diff --git a/src/page-circle.pug b/src/page-circle.pug index 6439aac..3282972 100644 --- a/src/page-circle.pug +++ b/src/page-circle.pug @@ -1,8 +1,8 @@ .views-container.sidebar-is-closed .content-box.flex.full-width.with-form div.content-box__header - sib-ac-checker.flex.space-between(permission='acl:Read', bind-resources) - sib-display( + solid-ac-checker.flex.space-between(permission='acl:Read', bind-resources) + solid-display( bind-resources fields='name, description' @@ -11,20 +11,20 @@ ) button.mobile-sidebar-button.jsMobileSidebarOpenButton.icon-arrow-left-circle MENU div.content-box__height - sib-ac-checker(permission='acl:Read', bind-resources) + solid-ac-checker(permission='acl:Read', bind-resources) #circle-chat(hidden) include views/circle/page-circle-chat.pug #circle-information.content-box__height(hidden) include views/circle/page-circle-profile.pug nav.jsRightMenu(role='navigation') - sib-router(default-route='circle-chat') + solid-router(default-route='circle-chat') ul li.jsOffsiteToggle a Replier le menu - sib-route(name='circle-chat') + solid-route(name='circle-chat') li a Chat - sib-route(name='circle-information') + solid-route(name='circle-information') li a Information diff --git a/src/page-dashboard.pug b/src/page-dashboard.pug index ea3db7d..9a22752 100644 --- a/src/page-dashboard.pug +++ b/src/page-dashboard.pug @@ -1,5 +1,5 @@ .views-container h1 Tableau de bord - sib-dashboard( + solid-dashboard( data-src=`${endpoints.dashboards || endpoints.get.dashboards}` ) diff --git a/src/page-directory.pug b/src/page-directory.pug index a37d1b0..3937823 100644 --- a/src/page-directory.pug +++ b/src/page-directory.pug @@ -1,4 +1,4 @@ -sib-directory( +solid-directory( data-src=`${endpoints.users || endpoints.get.users}` range-skills=`${endpoints.skills || endpoints.get.skills}` ) diff --git a/src/page-job-offers.pug b/src/page-job-offers.pug index f173429..bf83ad6 100644 --- a/src/page-job-offers.pug +++ b/src/page-job-offers.pug @@ -1,6 +1,6 @@ .content-box.full-width #job-offers.job-offers__container - sib-job-board( + solid-job-board( data-src=`${endpoints.joboffers || endpoints.get.joboffers}`, post-data-src=`${endpoints.joboffers || endpoints.post.joboffers}`, range-skills=`${endpoints.skills || endpoints.get.skills}` diff --git a/src/page-messages.pug b/src/page-messages.pug index 154a42d..21f7c6d 100644 --- a/src/page-messages.pug +++ b/src/page-messages.pug @@ -1,7 +1,7 @@ .content-box.flex.full-width div.content-box__header - sib-display( + solid-display( bind-resources fields='name, parenthesis, username, endParenthesis' value-parenthesis=" (" @@ -14,7 +14,7 @@ ) .chat-view - sib-chat( + solid-xmpp-chat( data-authentication='login', data-auto-login='true', data-bosh-service-url=`${xmpp}`, diff --git a/src/page-profile.pug b/src/page-profile.pug index 79702ef..32d9bb6 100644 --- a/src/page-profile.pug +++ b/src/page-profile.pug @@ -1,4 +1,4 @@ -sib-profile( +solid-profile( bind-user upload-src=`${endpoints.uploads || endpoints.post.uploads}` range-skills=`${endpoints.skills || endpoints.get.skills}` diff --git a/src/page-project.pug b/src/page-project.pug index 23fe1c4..3c10265 100644 --- a/src/page-project.pug +++ b/src/page-project.pug @@ -1,8 +1,8 @@ .views-container.sidebar-is-closed .content-box.flex.full-width.with-form div.content-box__header - sib-ac-checker.flex.space-between(permission='acl:Read', bind-resources) - sib-display( + solid-ac-checker.flex.space-between(permission='acl:Read', bind-resources) + solid-display( bind-resources fields='const-title1, number, customer.name, name' @@ -15,7 +15,7 @@ ) button.mobile-sidebar-button.jsMobileSidebarOpenButton.icon-arrow-left-circle MENU div.content-box__height - sib-ac-checker(permission='acl:Read', bind-resources) + solid-ac-checker(permission='acl:Read', bind-resources) #project-chat(hidden) include views/project/page-project-chat.pug #project-information.content-box__height(hidden) @@ -24,14 +24,14 @@ include views/project/page-project-picture.pug nav.jsRightMenu(role='navigation') - sib-router(default-route='project-chat') + solid-router(default-route='project-chat') ul li.jsOffsiteToggle a Replier le menu - sib-route(name='project-chat') + solid-route(name='project-chat') li a Chat - sib-route(name='project-information') + solid-route(name='project-information') li a Information - sib-route(name='project-picture' use-id) \ No newline at end of file + solid-route(name='project-picture' use-id) \ No newline at end of file diff --git a/src/page-user-profile.pug b/src/page-user-profile.pug index d10d1e1..aee271e 100644 --- a/src/page-user-profile.pug +++ b/src/page-user-profile.pug @@ -4,14 +4,14 @@ include templates/hubl-groups.pug .section.user-bio - sib-display.avatar-display( + solid-display.avatar-display( bind-user='' fields='account.picture' label-account.picture='' - widget-account.picture='sib-display-img' + widget-account.picture='solid-display-img' ) - sib-display.name-diplay( + solid-display.name-diplay( bind-user='' fields='user-name-groups(name, groups), username' @@ -24,7 +24,7 @@ include templates/hubl-groups.pug class-username='username' ) - sib-form.info-form( + solid-form.info-form( bind-user='' fields='profile.bio, inline-1(profile.city, email), inline-2(profile.phone, profile.website), inline-3(profile.available), account.picture, instruction' @@ -53,19 +53,19 @@ include templates/hubl-groups.pug .section.user-skills - sib-form( + solid-form( bind-user='' range-skills=`${endpoints.skills || endpoints.get.skills}` fields='skills' class-skills='form-label is-dark' label-skills='Your main skills (4 max.):' - multiple-skills='sib-multiple-select' - widget-skills='sib-form-auto-completion' + multiple-skills='solid-multiple-select' + widget-skills='solid-form-auto-completion' ) - sib-widget(name='hubl-instruction') + solid-widget(name='hubl-instruction') template span Show us your most beautiful smile p Pictures help us to know ourselves and also to recognize ourselves, so don't be afraid to show your pretty face and avoid strange avatars. diff --git a/src/scripts/reactive-store.js b/src/scripts/reactive-store.js deleted file mode 100644 index f2b1693..0000000 --- a/src/scripts/reactive-store.js +++ /dev/null @@ -1,158 +0,0 @@ -//auxiliary function clears cache & refreshes sib-displays for a given resource ID -function refreshSibDisplays(resourceId, clearCache = true) { - let cacheCleared = false; - - Array.from(document.querySelectorAll("sib-display")) - .filter(sibDisplay => sibDisplay.component?sibDisplay.component.resourceId == resourceId:false) // keep only elements with resource == edited resource - .forEach(async (e) => { - //clear cache if we were unable to before - if ((clearCache && !cacheCleared) && e.component.resource != null) { - await e.component.resource.clearCache(); - cacheCleared = true; - } - e.dataset.src = e.dataset.src; - }); // and update them -} - -async function updateSources(resource) { - let res = resource.split('/'); - res.splice(3, 0, 'sources'); - let cacheCleared = false; - if (event.target.component.resource != null) { - await event.target.component.resource.clearCache(); - cacheCleared = true; - } - refreshSibDisplays(res.join('/'),cacheCleared); -} - -async function resToChildrens(resource) { - resource = resource.getResourceData(); - if (resource["http://happy-dev.fr/owl/#user"]) { - refreshSibDisplays(resource["http://happy-dev.fr/owl/#user"]["@id"]); - } - if (resource["http://happy-dev.fr/owl/#project"]) { - refreshSibDisplays(resource["http://happy-dev.fr/owl/#project"]["@id"] + "members/"); - } - if (resource["http://happy-dev.fr/owl/#circle"]) { - refreshSibDisplays(resource["http://happy-dev.fr/owl/#circle"]["@id"] + "members/"); - } -} - -//auxiliary function updates displays using a given resource -//NOTE: this is a temporary workaround and should be replaced by a reactive storage -//https://git.startinblox.com/framework/sib-core/issues/524 -async function refreshResource(event) { - - // if of the edited resource || id of the container of the created resource - const resourceId = event.detail.resource["@id"] || event.target.dataset.src; - updateSources(resourceId, event); - [...new Set(Array.from(document.querySelectorAll('[data-src="' + resourceId + '"]')).map(e=>e.component?e.component.resource:null).filter(e=>e!=null))].forEach(resToChildrens); - [...new Set(Array.from(document.querySelectorAll('[data-src="' + resourceId.replace('circle-members','circles').split('/').slice(0, 4).join('/') + '/"]')).map(e=>e.component?e.component.resource:null).filter(e=>e!=null))].forEach(resToChildrens); - [...new Set(Array.from(document.querySelectorAll('[nested-field="' + resourceId.split('/').slice(3, 4).join('').replace('circle-members','circles') + '"]')).map(e=>e.component?e.component.resource:null).filter(e=>e!=null))].forEach(resToChildrens); - - //special cases updating users/X/circles for the left-side-menu (leaving or joining circle) - let user = await document.querySelector('sib-auth').getUser(); - if(resourceId.includes('circle') && user != null) { - let userId = user['@id']; - refreshSibDisplays(userId + "circles/"); - refreshSibDisplays(resourceId.replace('circle-members','circles').split('/').slice(0, 3).join('/') + '/circles/joinable/'); - refreshSibDisplays(resourceId.replace('circle-members','circles').split('/').slice(0, 3).join('/') + '/sources/circlesjoinable/'); - } - - if(resourceId.includes('users')) { - refreshSibDisplays(resourceId.split('/').slice(0, 3).join('/') + '/users/'); - refreshSibDisplays(resourceId.split('/').slice(0, 3).join('/') + '/sources/users/'); - refreshSibDisplays(resourceId + 'profile/'); - refreshSibDisplays(resourceId + 'account/'); - refreshSibDisplays(resourceId + 'chatProfile/'); - refreshSibDisplays(resourceId + 'skills/'); - refreshSibDisplays(resourceId + 'account/'); - } - - //clear cache on this resource - //NOTE: this is required because the cache is not refreshed after POSTing changes on the resource - let cacheCleared = false; - if (event.target.component.resource != null) { - await event.target.component.resource.clearCache(); - cacheCleared = true; - } - - //update all displays which use this resource - refreshSibDisplays(resourceId, cacheCleared); -} - -//auxiliary function performs a redirect -//NOTE: currently a sib-display is required to dispatch the requestNavigation event -function performRedirect(route) { - document.dispatchEvent( - new CustomEvent("requestNavigation", { - bubbles: true, - detail: { route: route } - }) - ); -} - -//auxiliary function redirects after leaving a project/circle -//NOTE: this is a temporary workaround until the following issues are resolved: -//https://git.startinblox.com/framework/sib-core/issues/476 -//https://git.startinblox.com/framework/sib-core/issues/546 -async function checkForPostLeaveRedirect(event) { - //a redirect will only be required if I left in the information page of the resource - if(!window.location.href.includes('-information')) { - return; - } - //first need to get a sib-display with this resource id (to have access to the target Proxy, containing model fields) - const resourceId = event.detail.resource['@id'] || event.target.dataset.src; - let target = document.querySelector('[data-src="' + resourceId + '"]'); - let resource = target.component.resource.getResourceData(); - - //no redirect is required for public circles - let targetCircleId = resource["http://happy-dev.fr/owl/#circle"]; - if(targetCircleId != undefined) { - let targetCircle = document.querySelector('[data-src="' + targetCircleId["@id"] + '"]'); - let targetCircleResource = targetCircle.component.resource.getResourceData(); - if(targetCircleResource['http://happy-dev.fr/owl/#status'] == 'Public') { - return; - } - } - - //a redirect will only be required if I've deleted myself - let targetUser = resource['http://happy-dev.fr/owl/#user']; - if(targetUser != undefined) { - //compare with current user - let user = await document.querySelector('sib-auth').getUser(); - if(targetUser['@id'] != user['@id'] && targetUser['@id'] != undefined) { - return; - } - } - - //perform the redirect - if(resourceId.includes('circle')) { - performRedirect('circle-left'); - } else if(resourceId.includes('project')) { - performRedirect('project-left'); - } -} - - -document.addEventListener("DOMContentLoaded", function(event) { - const menuWrappers = Array.from(document.querySelectorAll(".menu-wrapper")); - - //- Toggle sub-menus - menuWrappers.forEach(menuWrapper => { - const menu = menuWrapper.querySelector(".menu"); - menu.addEventListener("click", e => { - menuWrapper.classList.toggle("is-closed"); - }); - }); - - //- Watch every sib-forms & update data-src of linked sib-display - document.querySelector("body").addEventListener("save", event => { - refreshResource(event); - }); - document.querySelector("body").addEventListener("resourceDeleted", event => { - //I might need to be redirected from this page - checkForPostLeaveRedirect(event).then(refreshResource(event)); - }); - -}); diff --git a/src/scripts/sib-notifications.js b/src/scripts/sib-notifications.js index d45bba7..a6c9ddb 100644 --- a/src/scripts/sib-notifications.js +++ b/src/scripts/sib-notifications.js @@ -12,7 +12,7 @@ async function updateBadges(element) { } // update badges unreadNotifications.forEach((notifNumber, objectId) => { - const badge = document.querySelector(`sib-fix-badge[data-src="${objectId}"]`); + const badge = document.querySelector(`solid-fix-badge[data-src="${objectId}"]`); if (badge) { badge.innerText = notifNumber || ''; badge.style.display = notifNumber ? 'block' : 'none'; @@ -29,7 +29,7 @@ document.addEventListener("DOMContentLoaded", function (event) { clearInterval(checkNotificationMenuExist); notifsMenu.addEventListener('populate', (event) => { const checkExist = setInterval(function () { // wait for left menus to exist - const subMenus = document.querySelectorAll('.sub-menu > sib-display > div'); + const subMenus = document.querySelectorAll('.sub-menu > solid-display > div'); if (subMenus.length >= 2) { updateBadges(event.target); clearInterval(checkExist); @@ -53,7 +53,7 @@ document.addEventListener("DOMContentLoaded", function (event) { // on read notification window.addEventListener('read', (event) => { if (event.detail && event.detail.resource && event.detail.resource['@id']) { - const badge = document.querySelector(`sib-fix-badge[data-src="${event.detail.resource['@id']}"]`); + const badge = document.querySelector(`solid-fix-badge[data-src="${event.detail.resource['@id']}"]`); if (badge) badge.style.display = "none"; } }); diff --git a/src/scripts/unreads-menu.js b/src/scripts/unreads-menu.js index 3cd1904..66b18b5 100644 --- a/src/scripts/unreads-menu.js +++ b/src/scripts/unreads-menu.js @@ -8,7 +8,7 @@ document.addEventListener("DOMContentLoaded", function (event) { window.addEventListener('read', (event) => { if (event.detail && event.detail.resource && event.detail.resource['@id']) { - const badge = document.querySelector(`sib-fix-badge[data-src="${event.detail.resource['@id']}"]`); + const badge = document.querySelector(`solid-fix-badge[data-src="${event.detail.resource['@id']}"]`); if (badge) badge.parentElement.parentElement.classList.remove('unread'); } }); diff --git a/src/scripts/widget-extension.js b/src/scripts/widget-extension.js index d126f3b..13c2295 100644 --- a/src/scripts/widget-extension.js +++ b/src/scripts/widget-extension.js @@ -8,10 +8,10 @@ function applyAdapt(prefix, sibDisplay, user) { ); } - //- Allow to set data-src to a children sib-form + //- Allow to set data-src to a children solid-form if (sibDisplay.getAttribute(prefix + "-bind-resources")) { let form = sibDisplay.querySelector( - sibDisplay.getAttribute(prefix + "-bind-resources") + " sib-form" + sibDisplay.getAttribute(prefix + "-bind-resources") + " solid-form" ); if (form) { form.setAttribute( @@ -38,7 +38,7 @@ function recursiveAdaptWidgets(prefix, element, user) { el.setAttribute(el.getAttribute(prefix + "-user-id"), user["@id"]); }); applyAdapt(prefix, element, user); - document.querySelectorAll('sib-display, sib-form').forEach(sibDisplay => { + document.querySelectorAll('solid-display, solid-form').forEach(sibDisplay => { applyAdapt(prefix, sibDisplay, user); }); }); @@ -50,12 +50,12 @@ document.addEventListener("DOMContentLoaded", function (event) { .getUser() .then(user => { if (user !== null) { - document.querySelectorAll('sib-display, sib-form').forEach(element => { - // Set current user id on set-user-id of sib-display + document.querySelectorAll('solid-display, solid-form').forEach(element => { + // Set current user id on set-user-id of solid-display recursiveAdaptWidgets("hubl-inherit", element, user); }); for (leaveBtn of document.querySelectorAll( - "admin-circle-leave > sib-ac-checker:not([hidden])" + "admin-circle-leave > solid-ac-checker:not([hidden])" )) { // Hide Join button leaveBtn.parentNode.parentNode.parentNode.nextElementSibling.setAttribute( diff --git a/src/styles/base/form.scss b/src/styles/base/form.scss index 8b6ca5d..ad3c93b 100644 --- a/src/styles/base/form.scss +++ b/src/styles/base/form.scss @@ -100,13 +100,13 @@ textarea { &.with-form { - /*sib-set-default:not([name='user-thumb']) { + /*solid-set-default:not([name='user-thumb']) { clear: both; display: flex!important; flex-wrap: wrap; max-width: 100%; - sib-form-label-text { + solid-form-label-text { float: left; width: 50%; } @@ -114,7 +114,7 @@ textarea { } } -/*sib-form[set-user-id-select] { +/*solid-form[set-user-id-select] { input[type="submit"] { margin-left: 0; @@ -129,7 +129,7 @@ textarea { /* WIDGETS SIB (let in .content-box to override default styles) */ -sib-form-auto-completion, +solid-form-auto-completion, hubl-status { .ss-main { @@ -205,7 +205,7 @@ hubl-status { } /* End */ -sib-form-date { +solid-form-date { input[type="date"] { background-image: url("/images/calendar.svg"); background-position: right 12px top 50%; @@ -239,7 +239,7 @@ sib-form-date { } } -sib-form-file { +solid-form-file { div { display: flex; @@ -287,13 +287,13 @@ sib-form-file { } } -/*sib-multiple-select { +/*solid-multiple-select { &.select-skills .ss-values .ss-disabled::before { content: "Select skills"; } - sib-form-auto-completion > label { + solid-form-auto-completion > label { display: flex; flex-direction: column; @@ -377,7 +377,7 @@ hubl-member-form { margin-bottom: 1rem; } - sib-form-auto-completion { + solid-form-auto-completion { float: left; } diff --git a/src/styles/base/header.scss b/src/styles/base/header.scss index c8634f8..1288dff 100644 --- a/src/styles/base/header.scss +++ b/src/styles/base/header.scss @@ -40,7 +40,7 @@ } /* To remove the place taken by this element */ - sib-widget[name='hubl-user-avatar'] { + solid-widget[name='hubl-user-avatar'] { display: contents; } } @@ -176,7 +176,7 @@ sib-notifications { } } - sib-display-value[name='first_name'] { + solid-display-value[name='first_name'] { @include icon('arrow-down'); align-items: center; display: none; @@ -224,7 +224,7 @@ sib-notifications { li { - sib-link { + solid-link { color: var(--color-grey-4); display: block; border-bottom: 1px solid var(--color-user-panel-list-border); @@ -259,7 +259,7 @@ sib-notifications { div { - sib-display-value[name='first_name'] { + solid-display-value[name='first_name'] { @include icon('close'); &::before { diff --git a/src/styles/base/main.scss b/src/styles/base/main.scss index 97ca857..23a12a6 100644 --- a/src/styles/base/main.scss +++ b/src/styles/base/main.scss @@ -22,8 +22,8 @@ } } -/* Fix for sib-dashboard fixture */ -sib-dashboard section { +/* Fix for solid-dashboard fixture */ +solid-dashboard section { padding: 1rem !important; @include breakpoint(lg) { @@ -322,14 +322,14 @@ h5 { } } - sib-display { + solid-display { @include breakpoint(sm) { float: left; } } - /* For sib-display on project, circle, or private message view */ - sib-display { + /* For solid-display on project, circle, or private message view */ + solid-display { width: calc(100% - 94px); /* 94px = width of .mobile-sidebar-button */ div { @@ -394,7 +394,7 @@ h5 { max-width: 75%; } - sib-link { + solid-link { font-size: 2.7rem; position: absolute; right: 32px; @@ -430,8 +430,8 @@ h5 { } } - sib-ac-checker, - sib-link { + solid-ac-checker, + solid-link { width: 100%; @include breakpoint(lg) { @@ -516,9 +516,9 @@ h5 { @import 'user-thumb'; // Button global CSS -sib-delete, -sib-route, -sib-link, +solid-delete, +solid-route, +solid-link, button, input[type='submit'], a, diff --git a/src/styles/base/menu-left.scss b/src/styles/base/menu-left.scss index 4d68192..7b070ed 100644 --- a/src/styles/base/menu-left.scss +++ b/src/styles/base/menu-left.scss @@ -11,7 +11,7 @@ font-weight: bolder; } - sib-router { + solid-router { .menu-wrapper { &.is-closed { .sub-menu { @@ -24,7 +24,7 @@ } } - sib-link { + solid-link { width: 100%; } @@ -42,7 +42,7 @@ background-color: var(--color-menu-icon-background-active); } - .menu-notification>sib-display>div:first-child { + .menu-notification>solid-display>div:first-child { background-color: var(--color-menu-badge-background); } } @@ -85,7 +85,7 @@ width: 2em; } - >sib-display { + >solid-display { display: block; } } @@ -94,9 +94,9 @@ /* Ellipsis for project tab */ - .project-tab>div>sib-display>div:nth-child(1) { + .project-tab>div>solid-display>div:nth-child(1) { - sib-set-default[name='project'] { + solid-set-default[name='project'] { flex: 3; .project-customer, @@ -125,9 +125,9 @@ /* Ellipsis for circle tab */ - .circle-tab>div>sib-display>div { + .circle-tab>div>solid-display>div { - sib-display-div[name='name'] { + solid-display-div[name='name'] { flex: 3; >div[name='name'] { @@ -147,7 +147,7 @@ /* Ellipsis for message tab */ - .message-tab>div>sib-display>div>sib-display-div>div { + .message-tab>div>solid-display>div>solid-display-div>div { box-sizing: border-box; width: calc(80vw - 96px); /*96px = padding of the element + width and margin of counter */ @@ -156,7 +156,7 @@ } } - sib-display.nosub>sib-form[fields="name"]>hubl-search-users>input { + solid-display.nosub>solid-form[fields="name"]>hubl-search-users>input { margin-left: 30px; margin-bottom: 10px; width: calc(80vw - 71px); @@ -169,11 +169,12 @@ @include breakpoint(lg) { margin: auto; + margin-bottom: 10px; width: auto; } } - sib-display.nosub>nav { + solid-display.nosub>nav { text-align: center; overflow: hidden; display: grid; @@ -209,18 +210,18 @@ } } - >sib-display.nosub>div>sib-display>div { + >solid-display.nosub>div>solid-display>div { padding: 1rem 1rem 1rem 3rem; } - sib-display>div { + solid-display>div { .create { color: var(--color-white); margin: 1rem 1rem 2.2rem 3.2rem; } - &>sib-display { + &>solid-display { &:last-child>div { margin-bottom: 2.2rem; } @@ -229,8 +230,8 @@ color: var(--color-grey-6); cursor: pointer; - >hubl-menu-fix-url-circle>sib-display>div, - >hubl-menu-fix-url-project>sib-display>div { + >hubl-menu-fix-url-circle>solid-display>div, + >hubl-menu-fix-url-project>solid-display>div { padding: 1rem 1rem 1rem 3rem; } } @@ -240,9 +241,9 @@ } } - &>sib-display[active]>div, - &>sib-display>div>hubl-menu-fix-url-circle>sib-display[active]>div, - &>sib-display>div>hubl-menu-fix-url-project>sib-display[active]>div { + &>solid-display[active]>div, + &>solid-display>div>hubl-menu-fix-url-circle>solid-display[active]>div, + &>solid-display>div>hubl-menu-fix-url-project>solid-display[active]>div { background-color: var(--color-menu-highlight-primary); color: var(--color-menu-text-active); font-weight: bold; @@ -251,14 +252,14 @@ &.menu-notification { - >sib-display>div>sib-display>div>hubl-menu-fix-url-circle, - >sib-display>div>sib-display>div>hubl-menu-fix-url-project { + >solid-display>div>solid-display>div>hubl-menu-fix-url-circle, + >solid-display>div>solid-display>div>hubl-menu-fix-url-project { flex: 1; } - >sib-display>div>sib-display>div, - >sib-display>div>sib-display>div>hubl-menu-fix-url-circle>sib-display>div, - >sib-display>div>sib-display>div>hubl-menu-fix-url-project>sib-display>div { + >solid-display>div>solid-display>div, + >solid-display>div>solid-display>div>hubl-menu-fix-url-circle>solid-display>div, + >solid-display>div>solid-display>div>hubl-menu-fix-url-project>solid-display>div { display: flex; justify-content: space-between; } @@ -293,7 +294,7 @@ } // Temporary fix for badges -sib-fix-badge { +solid-fix-badge { display: none; box-sizing: border-box; font-family: sans-serif; diff --git a/src/styles/base/table.scss b/src/styles/base/table.scss index 95af476..6ecc645 100644 --- a/src/styles/base/table.scss +++ b/src/styles/base/table.scss @@ -37,7 +37,7 @@ &>div { display: contents; - &>sib-display { + &>solid-display { display: table-row; &>div { @@ -51,7 +51,7 @@ } } - &>sib-multiple { + &>solid-multiple { display: contents; &>div { @@ -183,7 +183,7 @@ } } -.table sib-ac-checker { +.table solid-ac-checker { text-align: center; } diff --git a/src/styles/components/chat.scss b/src/styles/components/chat.scss index e476d53..440e3be 100644 --- a/src/styles/components/chat.scss +++ b/src/styles/components/chat.scss @@ -8,7 +8,7 @@ height: calc(100vh - 84px - 83px); /* Header's and subheader's height on mobile */ } - > sib-chat { + > solid-xmpp-chat { position: absolute; top: 0; left: 0; diff --git a/src/styles/components/comment.scss b/src/styles/components/comment.scss index f269428..0a4dc94 100644 --- a/src/styles/components/comment.scss +++ b/src/styles/components/comment.scss @@ -37,9 +37,9 @@ } } - sib-conversation.conversation { + solid-conversation.conversation { - .sib-conversation { + .solid-conversation { font-family: Open Sans; [name='conversation-wrapper'] { @@ -67,14 +67,14 @@ } } - >sib-display.conversation>div>sib-display:first-child { + >solid-display.conversation>div>solid-display:first-child { margin-bottom: 4.5rem; } - sib-ac-checker { + solid-ac-checker { border-top: 1px solid $color-210-17-91; - sib-form-textarea { + solid-form-textarea { >label div { color: $color-210-5-56; @@ -111,7 +111,7 @@ } } - .conversation>div>sib-display, + .conversation>div>solid-display, .conversation-form { border: none; margin: 1rem 2.1rem; diff --git a/src/styles/components/filters.scss b/src/styles/components/filters.scss index 2823c38..1831909 100644 --- a/src/styles/components/filters.scss +++ b/src/styles/components/filters.scss @@ -41,19 +41,19 @@ } } - sib-form-label-text { + solid-form-label-text { display: flex; flex-direction: column; } - sib-form-placeholder-dropdown[name="skills"] { + solid-form-placeholder-dropdown[name="skills"] { grid-column-end: 3; grid-column-start: 1; } } .job-board, #members-list { - sib-form[naked] { + solid-form[naked] { @extend %filters; } }*/ diff --git a/src/styles/components/sidebar.scss b/src/styles/components/sidebar.scss index 6e4d13a..9454ebe 100644 --- a/src/styles/components/sidebar.scss +++ b/src/styles/components/sidebar.scss @@ -45,7 +45,7 @@ transition: all 0.5s; width: 25rem; - >sib-router { + >solid-router { color: var(--color-right-menu-text); flex: 0 0 auto; font-weight: 600; @@ -79,7 +79,7 @@ @include icon('arrow-right-circle'); } - >sib-route { + >solid-route { &[name*='circle'], &[name*='project'] { diff --git a/src/styles/components/skills.scss b/src/styles/components/skills.scss index 496f0a5..b6290fd 100644 --- a/src/styles/components/skills.scss +++ b/src/styles/components/skills.scss @@ -1,4 +1,4 @@ -sib-multiple[name*='skills'] { +solid-multiple[name*='skills'] { display: flex; flex-wrap: wrap; } diff --git a/src/styles/layout/dashboard/dashboard.scss b/src/styles/layout/dashboard/dashboard.scss index 0718af8..a7beab8 100644 --- a/src/styles/layout/dashboard/dashboard.scss +++ b/src/styles/layout/dashboard/dashboard.scss @@ -2,6 +2,6 @@ margin: 0 2px; } -sib-dashboard .icon::before { +solid-dashboard .icon::before { width: 41px; } \ No newline at end of file diff --git a/src/styles/layout/events/events.scss b/src/styles/layout/events/events.scss index 3b38a7e..6ada157 100644 --- a/src/styles/layout/events/events.scss +++ b/src/styles/layout/events/events.scss @@ -17,12 +17,12 @@ font-weight: 700; } #listevents [name="name"], - sib-display-link-event .mdi::before { + solid-display-link-event .mdi::before { color: $color-357-67-45; } .event-place-name, .nextevent-startdate, - sib-display-link-event { + solid-display-link-event { color: $color-0-0-22; } .sib-event { @@ -43,7 +43,7 @@ padding: 5px 20px; color: $color-203-87-19; } - sib-form sib-form-dropdown{ + solid-form solid-form-dropdown{ label div { height: 2.5rem; } @@ -72,7 +72,7 @@ width: max-content; height: max-content; } - sib-display-location-events { + solid-display-location-events { padding: 5px; } } @@ -83,7 +83,7 @@ line-height: 3.8rem; color: $color-203-87-19; } - sib-display div .event-type { + solid-display div .event-type { width: max-content; padding: 5px 20px; } @@ -91,7 +91,7 @@ font-size: 1.6rem; line-height: 2.6rem; } - sib-display-link-event a { + solid-display-link-event a { font-size: 1.6rem; } } diff --git a/src/styles/layout/job-offers/job-offers.scss b/src/styles/layout/job-offers/job-offers.scss index ef08ead..80e6b89 100644 --- a/src/styles/layout/job-offers/job-offers.scss +++ b/src/styles/layout/job-offers/job-offers.scss @@ -2,7 +2,7 @@ @extend %grid-layer; } -sib-job-board { +solid-job-board { @extend %grid-layer-main; @extend %containerV; } @@ -37,7 +37,7 @@ sib-job-board { .job-board__list { @extend %grid-layer; - >sib-form { + >solid-form { grid-column-start: start; grid-column-end: middle; grid-row-start: start; @@ -54,7 +54,7 @@ sib-job-board { margin-top: 5rem; } - >sib-display { + >solid-display { @include window-style-modal(); display: block; font-size: 1.5rem; @@ -71,7 +71,7 @@ sib-job-board { display: flex; margin: -0.25em; - >*:not(sib-action) { + >*:not(solid-action) { margin: 0.25em; } @@ -80,7 +80,7 @@ sib-job-board { font-weight: 600; } - sib-multiple[name$='groups'] { + solid-multiple[name$='groups'] { display: flex; label { @@ -147,7 +147,7 @@ sib-job-board { font-size: 1.3rem; float: right; - >sib-link { + >solid-link { cursor: pointer; @include icon('speech'); @@ -180,7 +180,7 @@ sib-job-board { } } - .sib-conversation, + .solid-conversation, .conversation > div { display: flex; flex-direction: column-reverse; @@ -194,11 +194,11 @@ sib-job-board { } } -sib-action[name='edit'] { +solid-action[name='edit'] { margin-left: auto; color: $color-215-6-63; - &>sib-link { + &>solid-link { @include icon('pencil'); font-size: 2rem; } diff --git a/src/styles/layout/members/member-profile.scss b/src/styles/layout/members/member-profile.scss index 22ee6ed..4a334d8 100644 --- a/src/styles/layout/members/member-profile.scss +++ b/src/styles/layout/members/member-profile.scss @@ -11,7 +11,7 @@ .member-bio { - sib-set-default[name='member-profile__bio'] { + solid-set-default[name='member-profile__bio'] { display: grid; grid-gap: 1rem; grid-template-areas: "avatar name status" @@ -20,7 +20,7 @@ "avatar list button"; grid-template-columns: 1fr 2fr 1fr; - sib-set-default[name='member-img'] { + solid-set-default[name='member-img'] { grid-area: avatar; member-picture { @@ -56,23 +56,23 @@ } } - sib-set-default[name='member-profile'] { + solid-set-default[name='member-profile'] { align-items: baseline; align-self: end; display: flex; grid-area: name; - >sib-multiple[name$='groups'] { + >solid-multiple[name$='groups'] { display: flex; padding-left: 1.4rem; } } - sib-display-value[name='profile.bio'] { + solid-display-value[name='profile.bio'] { grid-area: bio; } - sib-set-default[name='infos'] { + solid-set-default[name='infos'] { display: block; grid-area: list; @@ -115,7 +115,7 @@ } } - sib-action[name='send'] { + solid-action[name='send'] { align-self: flex-end; grid-area: button; justify-self: flex-end; diff --git a/src/styles/layout/members/members.scss b/src/styles/layout/members/members.scss index 54934e2..ca07cb0 100644 --- a/src/styles/layout/members/members.scss +++ b/src/styles/layout/members/members.scss @@ -1,8 +1,8 @@ /*%member-info { - sib-multiple[name^='user.'], + solid-multiple[name^='user.'], >member-info>div, - >sib-display-value { + >solid-display-value { display: flex; flex-wrap: wrap; margin-bottom: 0; @@ -70,7 +70,7 @@ member-info-groups { } } - &>sib-form { + &>solid-form { grid-column-start: start; grid-column-end: middle; grid-row-start: start; @@ -126,7 +126,7 @@ member-info-groups { grid-template-columns: repeat(3, 1.5fr); } - &>sib-display { + &>solid-display { background-color: white; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.14); color: $color-210-4-50; @@ -151,7 +151,7 @@ member-info-groups { display: none; } - sib-multiple[name$='groups'] { + solid-multiple[name$='groups'] { align-items: flex-start; display: flex; justify-content: flex-end; @@ -189,7 +189,7 @@ member-info-groups { } } - sib-set-default[name='bio'] { + solid-set-default[name='bio'] { align-items: center; border-bottom: 1px solid $color-210-25-95; display: flex; @@ -204,7 +204,7 @@ member-info-groups { margin-top: 0.6rem; } - sib-display-value[name$='bio'] { + solid-display-value[name$='bio'] { flex: 1; margin: 2.5rem 0; padding: 0 10px; @@ -228,11 +228,11 @@ member-info-groups { } } - sib-set-default[name='infos'] { + solid-set-default[name='infos'] { padding: 0.4rem 2rem 3.7rem; @extend %member-info; - sib-multiple[name='skills'] { + solid-multiple[name='skills'] { margin: 1.6rem 0; } } diff --git a/src/styles/layout/user/user-profile.scss b/src/styles/layout/user/user-profile.scss index 90c1542..8a2be67 100644 --- a/src/styles/layout/user/user-profile.scss +++ b/src/styles/layout/user/user-profile.scss @@ -30,7 +30,7 @@ align-self: end; display: flex; - sib-multiple { + solid-multiple { display: flex; padding-left: 1.4rem; diff --git a/src/templates/hubl-captain.pug b/src/templates/hubl-captain.pug index fa0a8db..4b2bc9b 100644 --- a/src/templates/hubl-captain.pug +++ b/src/templates/hubl-captain.pug @@ -1,8 +1,8 @@ include hubl-user-avatar.pug -sib-widget(name='hubl-captain') +solid-widget(name='hubl-captain') template - sib-display.user-thumb( + solid-display.user-thumb( data-src="${await value}" fields='account.picture, sup(name), sub(is_lead)' diff --git a/src/templates/hubl-circle-team.pug b/src/templates/hubl-circle-team.pug index e02fd4a..2aff831 100644 --- a/src/templates/hubl-circle-team.pug +++ b/src/templates/hubl-circle-team.pug @@ -1,8 +1,8 @@ include hubl-user-avatar.pug -sib-widget(name='hubl-circle-team-template') +solid-widget(name='hubl-circle-team-template') template - sib-display.user-thumb.is-spaced( + solid-display.user-thumb.is-spaced( data-src='${await value.user}' fields='account.picture, sup(name, isadmin), sub(profile.city)' value-isadmin='${await value.is_admin}' @@ -16,5 +16,5 @@ sib-widget(name='hubl-circle-team-template') widget-isadmin='hubl-circle-user-admin' ) -sib-widget(name='hubl-circle-user-admin') +solid-widget(name='hubl-circle-user-admin') template ${(await value) != "false" ? "Administrateur" : ""} diff --git a/src/templates/hubl-project-team.pug b/src/templates/hubl-project-team.pug index f00ddca..f8334c7 100644 --- a/src/templates/hubl-project-team.pug +++ b/src/templates/hubl-project-team.pug @@ -1,8 +1,8 @@ include hubl-user-avatar.pug -sib-widget(name='hubl-project-team') +solid-widget(name='hubl-project-team') template - sib-display.user-thumb.is-spaced( + solid-display.user-thumb.is-spaced( data-src='${await value}' fields='user.account.picture, sup(user.name, isadmin), sub(user.profile.city, name)' value-isadmin='${await value.is_admin}' @@ -18,5 +18,5 @@ sib-widget(name='hubl-project-team') widget-isadmin='hubl-project-user-admin' ) -sib-widget(name='hubl-project-user-admin') +solid-widget(name='hubl-project-user-admin') template ${(await value) == "false" ? "" : "Administrateur"} diff --git a/src/templates/hubl-user-avatar.pug b/src/templates/hubl-user-avatar.pug index 08a2876..68cffa1 100644 --- a/src/templates/hubl-user-avatar.pug +++ b/src/templates/hubl-user-avatar.pug @@ -1,2 +1,2 @@ -sib-widget(name='hubl-user-avatar') +solid-widget(name='hubl-user-avatar') template ${await value ? `` : ``} diff --git a/src/views/admin/page-admin-circles-create.pug b/src/views/admin/page-admin-circles-create.pug index 5883464..2e94345 100644 --- a/src/views/admin/page-admin-circles-create.pug +++ b/src/views/admin/page-admin-circles-create.pug @@ -1,9 +1,9 @@ div.content-box__info.flex - sib-link(class="backlink right", next='admin-circle-list') Retour + solid-link(class="backlink right", next='admin-circle-list') Retour h1.centered Créer un canal - sib-form.form.button-register( + solid-form.form.button-register( data-src=`${endpoints.circles || endpoints.post.circles}` fields='status, name, description' diff --git a/src/views/admin/page-admin-circles.pug b/src/views/admin/page-admin-circles.pug index 47278b6..d6c1e01 100644 --- a/src/views/admin/page-admin-circles.pug +++ b/src/views/admin/page-admin-circles.pug @@ -1,8 +1,8 @@ .content-box.flex.full-width.with-form - sib-router(default-route='admin-circle-list', hidden) - sib-route(name='admin-circle-list') - sib-route(name='admin-circle-create') - sib-route(name='circle-left') + solid-router(default-route='admin-circle-list', hidden) + solid-route(name='admin-circle-list') + solid-route(name='admin-circle-create') + solid-route(name='circle-left') div.content-box__header.flex.space-between h1.without-margin Administration @@ -13,9 +13,9 @@ #admin-circle-list.content-box__height(hidden) include ../../templates/hubl-user-avatar.pug - sib-widget(name='hubl-circle-owner') + solid-widget(name='hubl-circle-owner') template - sib-display.user-thumb.is-spaced( + solid-display.user-thumb.is-spaced( data-src='${await value}' fields='account.picture, sup(name), sub(username)' @@ -33,7 +33,7 @@ h3 Canaux - sib-link( + solid-link( class='button text-bold text-uppercase reversed button-primary bordered with-icon icon-plus' next='admin-circle-create' ) Créer un canal @@ -46,15 +46,18 @@ div.w280 Administrateurs div.w280 Rejoindre - sib-widget(name='hubl-admin-circle-leave-button') + solid-widget(name='hubl-admin-circle-leave-button') template - sib-delete( + solid-delete( class='circle-leave button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' data-src="${src}" data-label='Quitter' ) + hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}` target-src='${src}') + hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}joinable/` target-src='${src}') + hubl-reactivity(bind-user nested-field="circles" target-src='${src}') - sib-display( + solid-display( class='table-body' bind-user @@ -72,19 +75,22 @@ order-by="circle.name" ) - sib-widget(name='hubl-admin-circle-join-button') + solid-widget(name='hubl-admin-circle-join-button') template - sib-form.circle-join.button.text-bold.text-uppercase.reversed.button-primary.bordered.with-icon.icon-arrow-right-circle.flex( + solid-form.circle-join.button.text-bold.text-uppercase.reversed.button-primary.bordered.with-icon.icon-arrow-right-circle.flex( data-src='${value}' fields='user.username' value-user.username='hubl-workaround-493' - widget-user.username='sib-form-hidden' + widget-user.username='solid-form-hidden' submit-button='Rejoindre' ) + hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}` target-src='${value}') + hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}joinable/` target-src='${value}') + hubl-reactivity(bind-user nested-field="circles" target-src='${value}') - sib-display( + solid-display( class='table-body' data-src=`${endpoints.circles || endpoints.get.circles}joinable/` diff --git a/src/views/admin/page-admin-projects-create.pug b/src/views/admin/page-admin-projects-create.pug index ef701be..57c9748 100644 --- a/src/views/admin/page-admin-projects-create.pug +++ b/src/views/admin/page-admin-projects-create.pug @@ -1,23 +1,23 @@ div.content-box__info.flex - sib-link(class="backlink right" next='admin-project-list') Retour + solid-link(class="backlink right" next='admin-project-list') Retour - sib-widget(name="hubl-admin-project-add-user") + solid-widget(name="hubl-admin-project-add-user") template - sib-form( + solid-form( data-holder fields='user, project' range-user=`${endpoints.users || endpoints.get.users}` value-project='${src}' - widget-project='sib-form-hidden' + widget-project='solid-form-hidden' naked ) h1.centered Créer un nouveau projet - sib-form.form.button-register( + solid-form.form.button-register( data-src=`${endpoints.projects || endpoints.post.projects}` - fields='status, line-1(customer.name, name), description, line-10(captain), logo' + fields='status, line-1(customer.name, name), description, line-2(captain), logo' label-status='Statut du canal*' widget-status='hubl-status' @@ -25,7 +25,7 @@ div.content-box__info.flex label-description='Description du projet' class-description='form-label is-light is-full-width input-text-like' - widget-description='sib-form-textarea' + widget-description='solid-form-textarea' label-customer.name='Nom du client*' class-customer.name='form-label is-light is-half-width input-text-like' @@ -36,15 +36,15 @@ div.content-box__info.flex label-captain='Capitaine du projet*' range-captain=`${endpoints.users || endpoints.get.users}` class-captain='form-label is-light is-half-width' - widget-captain='sib-form-auto-completion' + widget-captain='solid-form-auto-completion' class='input-text-like' - widget-logo="sib-form-file" + widget-logo="solid-form-file" label-logo="Télécharger un logo" class-logo='select-add' upload-url-logo=`${endpoints.uploads || endpoints.post.uploads}` - next='project-picture' + next='admin-project-list' submit-button='Enregistrer et ajouter des membres' ) diff --git a/src/views/admin/page-admin-projects.pug b/src/views/admin/page-admin-projects.pug index 9276e6b..4aece07 100644 --- a/src/views/admin/page-admin-projects.pug +++ b/src/views/admin/page-admin-projects.pug @@ -1,8 +1,8 @@ .content-box.flex.full-width.with-form - sib-router(default-route='admin-project-list', hidden) - sib-route(name='admin-project-list') - sib-route(name='admin-project-create') - sib-route(name='project-left') + solid-router(default-route='admin-project-list', hidden) + solid-route(name='admin-project-list') + solid-route(name='admin-project-create') + solid-route(name='project-left') div.content-box__header.flex.space-between h1.without-margin Administration @@ -17,7 +17,7 @@ div.content-box__info.flex div.admin-header.flex h3 Projets - sib-link( + solid-link( class='button text-bold text-uppercase reversed button-primary bordered with-icon icon-plus' next='admin-project-create' ) Créer un nouveau projet @@ -30,17 +30,20 @@ div.w280 Capitaines div.w230 Rejoindre - sib-widget(name="hubl-admin-project-leave-button") + solid-widget(name="hubl-admin-project-leave-button") template - sib-delete( + solid-delete( class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' data-src="${src}" data-label='Quitter' ) + hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}` target-src='${src}') + hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src='${src}') + hubl-reactivity(bind-user nested-field="projects" target-src='${src}') - sib-widget(name='hubl-project-captain') + solid-widget(name='hubl-project-captain') template - sib-display.user-thumb.is-spaced( + solid-display.user-thumb.is-spaced( data-src='${await value}' fields='account.picture, sup(name), sub(username)' @@ -51,26 +54,26 @@ widget-account.picture='hubl-user-avatar' ) - sib-widget(name='hubl-project-admins') + solid-widget(name='hubl-project-admins') template - sib-display.user-thumb.is-spaced( + solid-display.user-thumb.is-spaced( data-src='${value}' fields='user' search-fields='is_admin' search-value-is_admin='true' - search-widget-is_admin='sib-form-hidden' + search-widget-is_admin='solid-form-hidden' widget-user='hubl-project-captain' ) - sib-widget(name='hubl-admin-project-leave-button') + solid-widget(name='hubl-admin-project-leave-button') template - sib-delete( + solid-delete( class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' data-src="${src}" data-label='Quitter' ) - sib-display( + solid-display( class='table-body' bind-user @@ -91,20 +94,23 @@ order-by="project.name" ) - sib-widget(name='hubl-admin-project-join-button') + solid-widget(name='hubl-admin-project-join-button') template - sib-form.button.text-bold.text-uppercase.reversed.button-primary.bordered.with-icon.icon-arrow-right-circle.flex( + solid-form.button.text-bold.text-uppercase.reversed.button-primary.bordered.with-icon.icon-arrow-right-circle.flex( data-src='${src}' nested-field="members" fields='user.username' value-user.username='hubl-workaround-493' - widget-user.username='sib-form-hidden' + widget-user.username='solid-form-hidden' submit-button='Rejoindre' ) + hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}` target-src='${src}') + hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src='${src}') + hubl-reactivity(bind-user nested-field="projects" target-src='${src}') - sib-display( + solid-display( class='table-body' data-src=`${endpoints.projects || endpoints.get.projects}joinable/` diff --git a/src/views/admin/page-admin-users-create.pug b/src/views/admin/page-admin-users-create.pug index a90d8c7..f52dc81 100644 --- a/src/views/admin/page-admin-users-create.pug +++ b/src/views/admin/page-admin-users-create.pug @@ -1,9 +1,9 @@ div.content-box__info.flex - sib-link(class='backlink right', next='admin-users-list') Retour + solid-link(class='backlink right', next='admin-users-list') Retour h1.centered Ajouter un utilisateur à la plateforme - sib-form.form.button-register( + solid-form.form.button-register( data-src=`${endpoints.users || endpoints.post.users}` fields='line-1(first_name, last_name), line-2(username, email), line-3(password)' @@ -19,7 +19,7 @@ div.content-box__info.flex label-email='E-mail *' value-password='' - widget-password='sib-form-hidden' + widget-password='solid-form-hidden' next='admin-users-list' diff --git a/src/views/admin/page-admin-users-edit.pug b/src/views/admin/page-admin-users-edit.pug index 5198749..d372cb3 100644 --- a/src/views/admin/page-admin-users-edit.pug +++ b/src/views/admin/page-admin-users-edit.pug @@ -1,14 +1,14 @@ div.content-box__info.flex - sib-link(class='backlink right', next='admin-users-list') Retour + solid-link(class='backlink right', next='admin-users-list') Retour h1.centered span Modifier un utilisateur - sib-display( + solid-display( bind-resources='' fields='name' ) - sib-form.form.button-register( + solid-form.form.button-register( bind-resources='' fields='line-1(first_name, last_name), line-2(username, email)' diff --git a/src/views/admin/page-admin-users.pug b/src/views/admin/page-admin-users.pug index bae8156..84cd0e7 100644 --- a/src/views/admin/page-admin-users.pug +++ b/src/views/admin/page-admin-users.pug @@ -1,17 +1,17 @@ .content-box.flex.full-width.with-form - sib-router(default-route='admin-users-list', hidden) - sib-route(name='admin-users-list') - sib-route(name='admin-users-create') - sib-route(name='admin-users-edit') + solid-router(default-route='admin-users-list', hidden) + solid-route(name='admin-users-list') + solid-route(name='admin-users-create') + solid-route(name='admin-users-edit') div.content-box__header.flex.space-between h1.without-margin Administration button.mobile-sidebar-button.jsMobileSidebarOpenButton.icon-arrow-left-circle MENU - sib-widget(name='hubl-sib-action-custom') + solid-widget(name='hubl-solid-action-custom') template - sib-ac-checker(data-src="${src}", permission='acl:Write') - sib-link( + solid-ac-checker(data-src="${src}", permission='acl:Write') + solid-link( class='button rounded reversed button-primary bordered icon-pencil' data-src="${src}" next="${value}" @@ -22,8 +22,8 @@ div.content-box__info.flex div.admin-header.flex h3 Utilisateurs - sib-ac-checker(data-src=`${endpoints.users || endpoints.post.users}`, permission='acl:Append') - sib-link( + solid-ac-checker(data-src=`${endpoints.users || endpoints.post.users}`, permission='acl:Append') + solid-link( class='button text-bold text-uppercase reversed button-primary bordered with-icon icon-plus' next='admin-users-create' ) Ajouter un utilisateur @@ -34,7 +34,7 @@ div.w280 Nom div.w70 - sib-display( + solid-display( class='table-body' data-src=`${endpoints.users || endpoints.get.users}` fields='cell-1(user-thumb(account.picture, sup(name), sub(username))), actions' @@ -48,7 +48,7 @@ label-actions='Edit' action-actions='admin-users-edit' class-actions='w70 border cell-with-buttons' - widget-actions='hubl-sib-action-custom' + widget-actions='hubl-solid-action-custom' order-by='username' ) diff --git a/src/views/circle/page-circle-chat.pug b/src/views/circle/page-circle-chat.pug index 7e522a2..baee3eb 100644 --- a/src/views/circle/page-circle-chat.pug +++ b/src/views/circle/page-circle-chat.pug @@ -1,5 +1,5 @@ .chat-view - sib-chat( + solid-xmpp-chat( data-authentication='login', data-auto-login='true', data-bosh-service-url=`${xmpp}`, diff --git a/src/views/circle/page-circle-edit.pug b/src/views/circle/page-circle-edit.pug index 82af171..979ec1c 100644 --- a/src/views/circle/page-circle-edit.pug +++ b/src/views/circle/page-circle-edit.pug @@ -2,12 +2,12 @@ div.content-box__info include ../../templates/hubl-user-avatar.pug - sib-widget(name='hubl-user-groups') + solid-widget(name='hubl-user-groups') template ${await value.name} - sib-widget(name='hubl-team-template-edit') + solid-widget(name='hubl-team-template-edit') template - sib-display.user-thumb.is-spaced( + solid-display.user-thumb.is-spaced( class='w280 cell border cell-with-id-card user-thumb' data-src='${await value.user}' fields='account.picture, sup(name, groups), sub(profile.city)' @@ -23,30 +23,30 @@ div.content-box__info widget-groups='hubl-user-groups' ) - sib-ac-checker( + solid-ac-checker( class='w162 cell border' permission="acl:Delete" data-src="${value['@id']}" ) - sib-delete( + solid-delete( class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' data-src="${value['@id']}" data-label='Retirer' ) //- Only to show the table grid - sib-ac-checker( + solid-ac-checker( class='w162 cell border' no-permission="acl:Delete" data-src="${value['@id']}" ) - sib-link(class="backlink right", bind-resources, next='circle-profile') Retour + solid-link(class="backlink right", bind-resources, next='circle-profile') Retour - sib-ac-checker(permission='acl:Write', bind-resources) + solid-ac-checker(permission='acl:Write', bind-resources) h1 Modifie ton canal - sib-form.form.button-register( + solid-form.form.button-register( bind-resources fields='status, line-1(name, owner), description' @@ -64,7 +64,7 @@ div.content-box__info class-description='form-label is-light is-full-width input-text-like' class-status='form-label is-light is-full-width member-select color' - widget-owner='sib-form-auto-completion' + widget-owner='solid-form-auto-completion' partial='' @@ -74,8 +74,8 @@ div.content-box__info h2 Liste des membres : - sib-ac-checker(permission='acl:Append', bind-resources, nested-field='members') - sib-form.block.select-add( + solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members') + solid-form.block.select-add( bind-resources nested-field='members' fields='user' @@ -83,7 +83,7 @@ div.content-box__info class-user='team form-label is-light' label-user='' - widget-user='sib-form-auto-completion' + widget-user='solid-form-auto-completion' submit-button='Ajouter un membre' ) @@ -95,7 +95,7 @@ div.content-box__info div.w162 Accès //-class='table-body' - sib-display( + solid-display( class='table-body' bind-resources fields='members' diff --git a/src/views/circle/page-circle-left.pug b/src/views/circle/page-circle-left.pug index 8ad8fe8..0a6b700 100644 --- a/src/views/circle/page-circle-left.pug +++ b/src/views/circle/page-circle-left.pug @@ -2,4 +2,4 @@ div.content-box__info.flex(style="padding: 15px") p Tu as quitté ce canal. - p Pour le rejoindre à nouveau, rends-toi dans le panneau administration ou contacte un administrateur. + p Pour le rejoindre à nouveau, rends-toi dans le panneau administration ou contacte un administrateur. diff --git a/src/views/circle/page-circle-profile.pug b/src/views/circle/page-circle-profile.pug index a424df2..df4f59e 100644 --- a/src/views/circle/page-circle-profile.pug +++ b/src/views/circle/page-circle-profile.pug @@ -1,6 +1,6 @@ -sib-router(default-route='circle-profile', hidden) - sib-route(name='circle-profile') - sib-route(name='circle-edit') +solid-router(default-route='circle-profile', hidden) + solid-route(name='circle-profile') + solid-route(name='circle-edit') #circle-profile(hidden) include ../../templates/hubl-circle-team.pug @@ -8,7 +8,7 @@ sib-router(default-route='circle-profile', hidden) .content-box__info.flex .flex.space-between.with-padding.mobile-vertical-align - sib-display.mobile-margin__bottom( + solid-display.mobile-margin__bottom( bind-resources fields='creationDateSet(title, creationDate)' @@ -16,53 +16,53 @@ sib-router(default-route='circle-profile', hidden) value-title='Date de création : ' - widget-creationDate='sib-display-date' + widget-creationDate='solid-display-date' ) - sib-ac-checker(permission='acl:Append', bind-resources, nested-field='members') - sib-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='circle-edit' bind-resources) Modifier et ajouter un membre + solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members') + solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='circle-edit' bind-resources) Modifier et ajouter un membre div.flex.desktop-button__end - sib-ac-checker(permission='acl:Delete', bind-resources) - sib-delete( + solid-ac-checker(permission='acl:Delete', bind-resources) + solid-delete( class='button mobile-full-width text-bold text-uppercase button-primary bordered with-icon icon-trash' bind-resources data-label='Supprimer le canal' ) - sib-widget(name='hubl-circle-leave-button') + solid-widget(name='hubl-circle-leave-button') template - sib-delete( + solid-delete( class='button mobile-full-width desktop-btn-margin__left text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' data-src="${src}" data-label='Quitter le canal' ) - sib-widget(name='hubl-circle-join-button') + solid-widget(name='hubl-circle-join-button') template button.button.desktop-btn-margin__left.text-bold.text-uppercase.reversed.button-primary.bordered.with-icon.icon-arrow-right-circle.flex - sib-form( + solid-form( data-src='' nested-field='members' fields='user.@id' label-user.@id='' value-user.@id='' - widget-user.@id='sib-form-hidden' + widget-user.@id='solid-form-hidden' hubl-inherit-bind-user2input="input[name='user.@id']" submit-button='Rejoindre le canal' ) - sib-display( + solid-display( bind-resources nested-field='members' fields='relation' action-relation='relation' widget-relation='hubl-circle-leave-button' search-fields='user' - search-widget-user='sib-form-hidden' + search-widget-user='solid-form-hidden' search-value-user="" empty-widget='hubl-circle-join-button' hubl-inherit-bind-resources='hubl-circle-join-button' @@ -71,7 +71,7 @@ sib-router(default-route='circle-profile', hidden) h2 Membres : - sib-display.block( + solid-display.block( bind-resources fields='members' diff --git a/src/views/job-offer/page-job-offer-create.pug b/src/views/job-offer/page-job-offer-create.pug index 71ab905..113c06b 100644 --- a/src/views/job-offer/page-job-offer-create.pug +++ b/src/views/job-offer/page-job-offer-create.pug @@ -1,7 +1,7 @@ .content-box.with-padding.with-form h1 Post a new job offer - sib-form( + solid-form( data-src=`${endpoints.joboffers || endpoints.post.joboffers}` range-skills=`${endpoints.skills || endpoints.get.skills}` @@ -12,16 +12,16 @@ class-description='field form-label is-light is-expanded' label-description='Description*' - widget-description='sib-form-textarea' + widget-description='solid-form-textarea' class-skills='form-label is-dark select-skills' label-skills='The required skills for this mission:*' - multiple-skills='sib-multiple-select' - widget-skills='sib-form-auto-completion' + multiple-skills='solid-multiple-select' + widget-skills='solid-form-auto-completion' class-closingDate='form-label is-dark' label-closingDate='Publication end date:*' - widget-closingDate='sib-form-date' + widget-closingDate='solid-form-date' next='job-offers' ) diff --git a/src/views/job-offer/page-job-offer-edit.pug b/src/views/job-offer/page-job-offer-edit.pug index 0d81831..5693c91 100644 --- a/src/views/job-offer/page-job-offer-edit.pug +++ b/src/views/job-offer/page-job-offer-edit.pug @@ -1,7 +1,7 @@ .content-box.with-padding.with-form h1 Edit your job offer - sib-form( + solid-form( bind-resources range-skills=`${endpoints.skills || endpoints.get.skills}` @@ -12,16 +12,16 @@ class-description='field form-label is-light is-expanded' label-description='Description*' - widget-description='sib-form-textarea' + widget-description='solid-form-textarea' class-skills='form-label is-dark select-skills' label-skills='The required skills for this mission:*' - multiple-skills='sib-multiple-select' - widget-skills='sib-form-auto-completion' + multiple-skills='solid-multiple-select' + widget-skills='solid-form-auto-completion' class-closingDate='form-label is-dark' label-closingDate='Publication end date:*' - widget-closingDate='sib-form-date' + widget-closingDate='solid-form-date' next='job-offers' ) diff --git a/src/views/project/page-project-chat.pug b/src/views/project/page-project-chat.pug index c7aed59..add91ab 100644 --- a/src/views/project/page-project-chat.pug +++ b/src/views/project/page-project-chat.pug @@ -1,5 +1,5 @@ .content-box.flex.full-width.chat-view - sib-chat( + solid-xmpp-chat( data-authentication='login', data-auto-login='true', data-bosh-service-url=`${xmpp}`, diff --git a/src/views/project/page-project-edit.pug b/src/views/project/page-project-edit.pug index b160bc1..cce893a 100644 --- a/src/views/project/page-project-edit.pug +++ b/src/views/project/page-project-edit.pug @@ -2,11 +2,11 @@ div.content-box__info include ../../templates/hubl-user-avatar.pug - sib-link(class='backlink right', bind-resources, next='project-profile') Retour + solid-link(class='backlink right', bind-resources, next='project-profile') Retour h1 Modifie ton projet - sib-form.form.button-register( + solid-form.form.button-register( bind-resources fields='status, line-1(customer.name, name), description' @@ -23,7 +23,7 @@ div.content-box__info label-description='Description du projet' class-description='form-label is-light is-full-width input-text-like' - widget-description='sib-form-textarea' + widget-description='solid-form-textarea' partial="" @@ -33,7 +33,7 @@ div.content-box__info h2 Photo du projet - sib-form.form-picture( + solid-form.form-picture( bind-resources fields='customer.logo' widget-customer.logo="hubl-user-avatar" @@ -43,7 +43,7 @@ div.content-box__info h2 Liste des membres : - sib-form.block.select-add( + solid-form.block.select-add( bind-resources nested-field='members' fields='user' @@ -51,7 +51,7 @@ div.content-box__info class-user='team form-label is-light' label-user='' - widget-user='sib-form-auto-completion' + widget-user='solid-form-auto-completion' submit-button='Ajouter un membre' ) @@ -63,7 +63,7 @@ div.content-box__info div.w162 Accès //-class='table-body' - sib-display( + solid-display( class='table-body' bind-resources fields='members' diff --git a/src/views/project/page-project-left.pug b/src/views/project/page-project-left.pug index 71135fc..0283db4 100644 --- a/src/views/project/page-project-left.pug +++ b/src/views/project/page-project-left.pug @@ -2,4 +2,4 @@ div.content-box__info.flex(style="padding: 15px") p Tu as quitté ce projet. - p Ceci est un groupe privé. Pour le rejoindre, rends-toi dans le panneau administration et demande une invitation. + p Ceci est un groupe privé. Pour le rejoindre, rends-toi dans le panneau administration et demande une invitation. diff --git a/src/views/project/page-project-picture.pug b/src/views/project/page-project-picture.pug index 32b5622..9257a73 100644 --- a/src/views/project/page-project-picture.pug +++ b/src/views/project/page-project-picture.pug @@ -1,13 +1,13 @@ div.content-box__info - sib-link(class='backlink right', bind-resources, next='project-edit') Retour + solid-link(class='backlink right', bind-resources, next='project-edit') Retour h1 Modifier l'image du projet - sib-picture( + solid-picture( bind-resources upload-src=`${endpoints.uploads || endpoints.post.uploads}` - upload-id="sib-project-edit-picture" + upload-id="solid-project-edit-picture" nested-fields='customer' fields='logo' next='project-edit' diff --git a/src/views/project/page-project-profile.pug b/src/views/project/page-project-profile.pug index e4260c6..c3167df 100644 --- a/src/views/project/page-project-profile.pug +++ b/src/views/project/page-project-profile.pug @@ -1,6 +1,6 @@ -sib-router(default-route='project-profile', hidden) - sib-route(name='project-profile') - sib-route(name='project-edit') +solid-router(default-route='project-profile', hidden) + solid-route(name='project-profile') + solid-route(name='project-edit') #project-profile(hidden) include ../../templates/hubl-captain.pug @@ -10,7 +10,7 @@ sib-router(default-route='project-profile', hidden) .content-box__info.flex .flex.space-between.with-padding.mobile-vertical-align - sib-display.mobile-margin__bottom( + solid-display.mobile-margin__bottom( bind-resources fields='creationDateSet(title, creationDate)' @@ -18,12 +18,12 @@ sib-router(default-route='project-profile', hidden) value-title='Date de création : ' - widget-creationDate='sib-display-date' + widget-creationDate='solid-display-date' ) - sib-ac-checker(permission='acl:Append', bind-resources, nested-field='members') - sib-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='project-edit' bind-resources) Modifier et ajouter un membre + solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members') + solid-link(class='button mobile-full-width text-bold text-uppercase reversed button-primary bordered with-icon icon-pencil' next='project-edit' bind-resources) Modifier et ajouter un membre - sib-display( + solid-display( class='flex desktop-button__end' bind-resources nested-field='members' @@ -33,14 +33,14 @@ sib-router(default-route='project-profile', hidden) widget-relation='hubl-project-leave-button' search-fields='user' - search-widget-user='sib-form-hidden' + search-widget-user='solid-form-hidden' search-value-user="" hubl-inherit-user-id="search-value-user" ) .flex.space-between - sib-display( + solid-display( bind-resources fields='label-captain, captain' @@ -48,17 +48,17 @@ sib-router(default-route='project-profile', hidden) class-label-captain='h2-like' widget-captain='hubl-captain' ) - sib-display( + solid-display( class='customer-logo' bind-resources fields='customer.logo' - widget-customer.logo='sib-display-img' + widget-customer.logo='solid-display-img' ) h2 Equipe : - sib-display.block( + solid-display.block( bind-resources fields='members' @@ -67,9 +67,9 @@ sib-router(default-route='project-profile', hidden) ) - sib-widget(name='hubl-project-leave-button') + solid-widget(name='hubl-project-leave-button') template - sib-delete( + solid-delete( class='button desktop-btn-margin__left text-bold text-uppercase reversed button-secondary bordered with-icon icon-close' data-src="${src}" data-label='Quitter le groupe'