Merge branch 'master' into feature/resource-component
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
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";
|
||||
import { store } from 'https://unpkg.com/@startinblox/core@0.12';
|
||||
import { Sib } from "https://unpkg.com/@startinblox/core@0.12/dist/libs/Sib.js";
|
||||
import { StoreMixin } from "https://unpkg.com/@startinblox/core@0.12/dist/mixins/storeMixin.js";
|
||||
|
||||
export const HublReactivity = {
|
||||
name: 'hubl-reactivity',
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.10/dist/widgets/widget-factory.js';
|
||||
import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.12/dist/widgets/widget-factory.js';
|
||||
|
||||
const HublSearchUsers = widgetFactory(
|
||||
'hubl-search-users',
|
||||
|
@ -1,5 +1,5 @@
|
||||
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 { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.12/dist/widgets/widget-factory.js';
|
||||
import { importCSS } from 'https://unpkg.com/@startinblox/core@0.12/dist/libs/helpers.js';
|
||||
import SlimSelect from 'https://dev.jspm.io/slim-select@1.23';
|
||||
|
||||
const HublStatus = widgetFactory(
|
||||
|
@ -2,17 +2,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.10" defer)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/core@0.12" defer)
|
||||
//- script(type="module" src="/lib/sib-core/dist/index.js" 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/oidc@0.10" defer)
|
||||
//- script(type="module" src="/lib/sib-auth/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/router@0.9" defer)
|
||||
//- script(type="module" src="/lib/sib-router/src/index.js" defer)
|
||||
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.6.2" defer)
|
||||
//- script(type="module" src="/lib/sib-notifications/index.js" defer)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.7" defer)
|
||||
//- script(type="module" src="/lib/sib-notifications/index.js" defer)
|
||||
|
||||
if (endpoints.events || (endpoints.get && endpoints.get.events)) && (endpoints.typeevents || (endpoints.get && endpoints.get.typeevents))
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-event@1.1" defer)
|
||||
@ -23,19 +23,19 @@ if (endpoints.resources || (endpoints.get && endpoints.get.resources)) && (endpo
|
||||
//- script(type="module" src="/lib/sib-resource/sib-resource.js" defer)
|
||||
|
||||
if endpoints.joboffers || (endpoints.get && endpoints.get.joboffers)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-job-board@0.6" defer)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-job-board@0.8" 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.7" defer)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.8" 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.3" defer)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-dashboard@0.5" 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.8" defer)
|
||||
script(type="module" src="https://unpkg.com/@startinblox/component-chat@1.1" defer)
|
||||
//- script(type="module" src="/lib/solid-xmpp-chat/dist/index.js" defer)
|
||||
|
||||
if endpoints.polls || (endpoints.get && endpoints.get.polls)
|
||||
|
@ -8,8 +8,8 @@ solid-notifications.notLoggedIn(
|
||||
)
|
||||
|
||||
//- Templates for notifications from circles and from other users
|
||||
include views/circle/page-circle-notifications.pug
|
||||
include views/user/page-user-notifications.pug
|
||||
include views/notifications/message-circle.pug
|
||||
include views/notifications/message-private.pug
|
||||
|
||||
include templates/hubl-user-avatar.pug
|
||||
|
||||
|
@ -81,10 +81,12 @@ solid-router#navbar-router(default-route='dashboard')
|
||||
div.divider
|
||||
if endpoints.projects || (endpoints.get && endpoints.get.projects)
|
||||
div
|
||||
solid-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-icon
|
||||
//- div.menu-icon.icon-arrow-right-circle
|
||||
div.menu-label Projets
|
||||
div.menu-icon.icon-folder-alt
|
||||
solid-route(name='project', rdf-type='hd:project', use-id='', hidden)
|
||||
@ -108,10 +110,12 @@ solid-router#navbar-router(default-route='dashboard')
|
||||
div.divider
|
||||
if endpoints.circles || (endpoints.get && endpoints.get.circles)
|
||||
div
|
||||
solid-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-icon
|
||||
//- div.menu-icon.icon-arrow-right-circle
|
||||
div.menu-label Cercles
|
||||
div.menu-icon.icon-folder-alt
|
||||
solid-route(name='circle', rdf-type='hd:circle', use-id='', hidden)
|
||||
|
@ -17,7 +17,7 @@
|
||||
solid-xmpp-chat(
|
||||
data-authentication='login',
|
||||
data-auto-login='true',
|
||||
data-bosh-service-url=`${xmpp}`,
|
||||
data-websocket-url=`${xmppWebsocket || 'wss://jabber.happy-dev.fr/xmpp-websocket'}`,
|
||||
data-i18n='en',
|
||||
bind-resources
|
||||
)
|
||||
|
@ -1,71 +0,0 @@
|
||||
include templates/hubl-groups.pug
|
||||
|
||||
.content-box.with-form.user-profile__container
|
||||
|
||||
.section.user-bio
|
||||
|
||||
solid-display.avatar-display(
|
||||
bind-user=''
|
||||
fields='account.picture'
|
||||
label-account.picture=''
|
||||
widget-account.picture='solid-display-img'
|
||||
)
|
||||
|
||||
solid-display.name-diplay(
|
||||
bind-user=''
|
||||
fields='user-name-groups(name, groups), username'
|
||||
|
||||
class-name='name'
|
||||
|
||||
label-groups=''
|
||||
multiple-groups=''
|
||||
widget-groups='hubl-groups-name'
|
||||
|
||||
class-username='username'
|
||||
)
|
||||
|
||||
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'
|
||||
|
||||
class-profile.bio='form-label is-light'
|
||||
label-profile.bio='short description'
|
||||
|
||||
class-profile.city='form-label is-light'
|
||||
label-profile.city='your cell'
|
||||
|
||||
class-email='form-label is-light'
|
||||
|
||||
class-profile.phone='form-label is-light'
|
||||
label-profile.phone='phone'
|
||||
|
||||
class-profile.website='form-label is-light'
|
||||
label-profile.website='your website'
|
||||
|
||||
class-profile.available='form-label is-light'
|
||||
label-profile.available='your availability'
|
||||
|
||||
class-account.picture='form-label is-light'
|
||||
label-account.picture='your picture'
|
||||
|
||||
widget-instruction='hubl-instruction'
|
||||
)
|
||||
|
||||
.section.user-skills
|
||||
|
||||
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='solid-multiple-select'
|
||||
widget-skills='solid-form-auto-completion'
|
||||
)
|
||||
|
||||
|
||||
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.
|
11
src/scripts/menu-toggle.js
Normal file
11
src/scripts/menu-toggle.js
Normal file
@ -0,0 +1,11 @@
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
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");
|
||||
});
|
||||
});
|
||||
});
|
@ -1,7 +1,7 @@
|
||||
document.addEventListener("DOMContentLoaded", function (event) {
|
||||
window.addEventListener('newMessage', event => {
|
||||
let jid = event.detail.jid;
|
||||
Array.from(document.querySelectorAll('[data-jabberID="'+jid+'"]')).forEach(el => {
|
||||
Array.from(document.querySelectorAll('[data-jabberID="' + jid + '"]')).forEach(el => {
|
||||
el.parentElement.parentElement.classList.add('unread');
|
||||
});
|
||||
});
|
||||
@ -9,7 +9,12 @@ document.addEventListener("DOMContentLoaded", function (event) {
|
||||
window.addEventListener('read', (event) => {
|
||||
if (event.detail && event.detail.resource && event.detail.resource['@id']) {
|
||||
const badge = document.querySelector(`solid-badge[data-src="${event.detail.resource['@id']}"]`);
|
||||
if (badge) badge.parentElement.parentElement.classList.remove('unread');
|
||||
if (badge) {
|
||||
badge.parentElement.parentElement.classList.remove('unread');
|
||||
const project = badge.parentElement.parentElement.querySelector('.unread');
|
||||
if (project) project.classList.remove('unread');
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
});
|
@ -1,3 +1,9 @@
|
||||
solid-form {
|
||||
[data-id="error"] {
|
||||
display: none !important; // Hide the default core message, english only with a weird message
|
||||
}
|
||||
}
|
||||
|
||||
.form form {
|
||||
display: block;
|
||||
height: fit-content;
|
||||
@ -41,16 +47,14 @@
|
||||
.form-label {
|
||||
/*flex: 1 1 auto;*/
|
||||
|
||||
label {
|
||||
display: flex;
|
||||
flex-direction: column; /* To align label and input vertically */
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.8rem;
|
||||
margin-top: 1.8rem;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
display: flex;
|
||||
flex-direction: column; /* To align label and input vertically */
|
||||
font-weight: 600;
|
||||
margin-bottom: 0.8rem;
|
||||
margin-top: 1.8rem;
|
||||
text-transform: uppercase;
|
||||
|
||||
&.is-light label {
|
||||
&.is-light {
|
||||
color: var(--color-label-light);
|
||||
}
|
||||
}
|
||||
@ -130,11 +134,14 @@ textarea {
|
||||
|
||||
/* WIDGETS SIB (let in .content-box to override default styles) */
|
||||
|
||||
solid-form-auto-completion,
|
||||
solid-form-dropdown-autocompletion,
|
||||
solid-form-dropdown-autocompletion-label,
|
||||
solid-form-multipleselect-autocompletion-label,
|
||||
hubl-status {
|
||||
|
||||
.ss-main {
|
||||
font-weight: normal;
|
||||
margin-top: 0.8rem;
|
||||
text-transform: none;
|
||||
|
||||
|
||||
@ -144,7 +151,6 @@ hubl-status {
|
||||
border-radius: 0px;
|
||||
color: var(--color-input-text);
|
||||
font-weight: normal;
|
||||
margin-top: 0.8rem;
|
||||
min-height: 4.6rem;
|
||||
padding-left: 1.2rem;
|
||||
|
||||
@ -179,6 +185,7 @@ hubl-status {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
margin-bottom: 2.6rem;
|
||||
margin-top: 1.8rem;
|
||||
}
|
||||
|
||||
label {
|
||||
@ -199,6 +206,7 @@ hubl-status {
|
||||
width: 100%;
|
||||
|
||||
@include breakpoint(lg) {
|
||||
height: 32px;
|
||||
margin: auto 0 auto 2.2rem;
|
||||
width: auto;
|
||||
}
|
||||
@ -288,13 +296,13 @@ solid-form-file {
|
||||
}
|
||||
}
|
||||
|
||||
/*solid-multiple-select {
|
||||
/*solid-form-multipleselect {
|
||||
|
||||
&.select-skills .ss-values .ss-disabled::before {
|
||||
content: "Select skills";
|
||||
}
|
||||
|
||||
solid-form-auto-completion > label {
|
||||
solid-form-dropdown-autocompletion-label > label {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@ -378,7 +386,8 @@ hubl-member-form {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
solid-form-auto-completion {
|
||||
solid-form-dropdown-autocompletion-label,
|
||||
solid-form-multipleselect-autocompletion-label {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
@ -537,6 +537,10 @@ h5 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.block {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
}
|
||||
@ -592,14 +596,14 @@ button,
|
||||
input[type='submit'],
|
||||
a,
|
||||
.button {
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
&.button {
|
||||
padding: 0.55rem 2.5rem;
|
||||
border-radius: 100em;
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
padding: 0;
|
||||
&.button {
|
||||
padding: 0.55rem 2.5rem;
|
||||
border-radius: 100em;
|
||||
*,
|
||||
& {
|
||||
font-size: 1.4rem;
|
||||
|
@ -1,13 +1,16 @@
|
||||
#main__menu {
|
||||
background-color: var(--color-menu-background);
|
||||
color: var(--color-menu-text);
|
||||
/*transition: flex-basis 0.5s ease-in-out;*/
|
||||
&.open {
|
||||
transform: translateX(0);
|
||||
}
|
||||
.unread {
|
||||
font-weight: bolder;
|
||||
}
|
||||
background-color: var(--color-menu-background);
|
||||
color: var(--color-menu-text);
|
||||
/*transition: flex-basis 0.5s ease-in-out;*/
|
||||
|
||||
&.open {
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.unread {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
solid-router {
|
||||
.menu-wrapper {
|
||||
&.is-closed {
|
||||
@ -22,6 +25,28 @@
|
||||
solid-link {
|
||||
width: 100%;
|
||||
}
|
||||
.menu-wrapper {
|
||||
.menu-icon.icon-arrow-up {
|
||||
visibility: hidden;
|
||||
}
|
||||
@include breakpoint(lg) {
|
||||
.menu-icon.icon-arrow-up {
|
||||
visibility: visible;
|
||||
}
|
||||
&.is-closed {
|
||||
.sub-menu {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.menu-chevron {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.unread {
|
||||
font-weight: bolder;
|
||||
}
|
||||
.menu {
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
|
@ -46,13 +46,14 @@
|
||||
&>* {
|
||||
border-bottom: 1px solid var(--color-table-border);
|
||||
display: table-cell;
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&>solid-multiple {
|
||||
display: contents;
|
||||
/*&>solid-multiple {
|
||||
display: contents;*/
|
||||
|
||||
&>div {
|
||||
display: contents;
|
||||
@ -68,7 +69,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/*}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -152,6 +153,10 @@
|
||||
.desktop-btn-margin__left;
|
||||
}
|
||||
}
|
||||
|
||||
&.is-spaced {
|
||||
padding: 0.8rem 2.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.cell-with-name {
|
||||
@ -163,23 +168,11 @@
|
||||
|
||||
/* Styles of elements inside cells */
|
||||
|
||||
.user-thumb>div,
|
||||
[name='user-thumb'] {
|
||||
vertical-align: middle;
|
||||
text-align: left;
|
||||
@extend %user-thumb__grid;
|
||||
padding: 0 2.2rem;
|
||||
|
||||
>.user-thumb__picture {
|
||||
@extend .user-thumb__picture;
|
||||
}
|
||||
|
||||
>[name='sup'] {
|
||||
@extend %user-thumb__grid-sup;
|
||||
}
|
||||
|
||||
>[name='sub'] {
|
||||
@extend %user-thumb__grid-inf;
|
||||
.table {
|
||||
|
||||
.user-thumb.is-spaced,
|
||||
[name='user-thumb'] {
|
||||
padding: 0.8rem 2.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,22 @@
|
||||
color: var(--color-user-thumb-name);
|
||||
font-weight: 600;
|
||||
margin-right: 1rem;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.user-thumb__send {
|
||||
position: relative;
|
||||
bottom: 7px;
|
||||
left: -5px;
|
||||
|
||||
solid-link {
|
||||
@include icon('speech');
|
||||
|
||||
&::before {
|
||||
display: inline-block;
|
||||
color: #FF6765;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.user-thumb__admin:not(:empty) {
|
||||
@ -76,10 +92,16 @@
|
||||
margin-right: 0.50rem;
|
||||
}
|
||||
}
|
||||
.user-thumb[name="classGroup"] {
|
||||
display: block;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
/* Apply the grids to all user-thumbs */
|
||||
.user-thumb>div,
|
||||
.user-thumb>[name='classGrid'],
|
||||
[name='user-thumb'] {
|
||||
|
||||
@extend %user-thumb__grid;
|
||||
|
||||
>[name='sup'] {
|
||||
@ -90,9 +112,3 @@
|
||||
@extend %user-thumb__grid-inf;
|
||||
}
|
||||
}
|
||||
|
||||
/* Add extra spaces to user-thumbs that are inside a table */
|
||||
.user-thumb.is-spaced>div,
|
||||
[name='user-thumb'] {
|
||||
padding: 0.8rem 2.2rem;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@
|
||||
solid-ac-checker {
|
||||
border-top: 1px solid $color-210-17-91;
|
||||
|
||||
solid-form-textarea {
|
||||
solid-form-textarea-label {
|
||||
|
||||
>label div {
|
||||
color: $color-210-5-56;
|
||||
|
@ -1,20 +0,0 @@
|
||||
include hubl-user-avatar.pug
|
||||
|
||||
solid-widget(name='hubl-circle-team-template')
|
||||
template
|
||||
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}'
|
||||
|
||||
class-account.picture='avatar user-thumb__picture'
|
||||
class-name='user-thumb__name'
|
||||
class-isadmin='user-thumb__admin'
|
||||
class-profile.city='user-thumb__city'
|
||||
|
||||
widget-account.picture='hubl-user-avatar'
|
||||
widget-isadmin='hubl-circle-user-admin'
|
||||
)
|
||||
|
||||
solid-widget(name='hubl-circle-user-admin')
|
||||
template ${(await value) != "false" ? "Administrateur" : ""}
|
@ -1,22 +0,0 @@
|
||||
include hubl-user-avatar.pug
|
||||
|
||||
solid-widget(name='hubl-project-team')
|
||||
template
|
||||
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}'
|
||||
|
||||
class-user.account.picture='avatar user-thumb__picture'
|
||||
|
||||
class-user.name='user-thumb__name'
|
||||
class-isadmin='user-thumb__admin'
|
||||
class-user.profile.city='user-thumb__city'
|
||||
class-name='user-thumb__lead'
|
||||
|
||||
widget-user.account.picture='hubl-user-avatar'
|
||||
widget-isadmin='hubl-project-user-admin'
|
||||
)
|
||||
|
||||
solid-widget(name='hubl-project-user-admin')
|
||||
template ${(await value) == "false" ? "" : "Administrateur"}
|
@ -13,6 +13,9 @@ div.content-box__info.flex
|
||||
data-src=`${endpoints.circles || endpoints.post.circles}`
|
||||
|
||||
fields='status, name, description'
|
||||
required-status
|
||||
required-name
|
||||
required-description
|
||||
loader-id='loader-circles-create'
|
||||
|
||||
class-status='form-label is-light is-full-width color'
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
solid-widget(name='hubl-circle-owner')
|
||||
template
|
||||
solid-display.user-thumb.is-spaced(
|
||||
solid-display.user-thumb.block.is-spaced(
|
||||
data-src='${await value}'
|
||||
fields='account.picture, sup(name), sub(username)'
|
||||
|
||||
@ -70,7 +70,7 @@
|
||||
|
||||
class-circle.name='w280 border cell-with-name'
|
||||
class-circle.owner='w280 border cell-with-id-card'
|
||||
class-leaveButton='w280 border cell-with-buttons'
|
||||
class-leaveButton='w280 border cell-with-buttons is-spaced'
|
||||
|
||||
action-leaveButton="joinButton"
|
||||
widget-leaveButton="hubl-admin-circle-leave-button"
|
||||
@ -108,7 +108,7 @@
|
||||
class-owner='w280 border cell-with-id-card'
|
||||
widget-owner='hubl-circle-owner'
|
||||
|
||||
class-members='w280 border cell-with-buttons'
|
||||
class-members='w280 border cell-with-buttons is-spaced'
|
||||
widget-members="hubl-admin-circle-join-button"
|
||||
|
||||
order-by="name"
|
||||
|
@ -24,6 +24,10 @@ div.content-box__info.flex
|
||||
data-src=`${endpoints.projects || endpoints.post.projects}`
|
||||
|
||||
fields='status, line-1(customer.name, name), line-2(captain)'
|
||||
required-status
|
||||
required-customer.name
|
||||
required-name
|
||||
required-captain
|
||||
loader-id='loader-projects-create'
|
||||
|
||||
label-status='Statut du cercle*'
|
||||
@ -40,7 +44,7 @@ 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='solid-form-auto-completion'
|
||||
widget-captain='solid-form-dropdown-autocompletion-label'
|
||||
|
||||
class='input-text-like'
|
||||
|
||||
|
@ -46,7 +46,7 @@
|
||||
|
||||
solid-widget(name='hubl-project-captain')
|
||||
template
|
||||
solid-display.user-thumb.is-spaced(
|
||||
solid-display.user-thumb.block.is-spaced(
|
||||
data-src='${await value}'
|
||||
fields='account.picture, sup(name), sub(username)'
|
||||
|
||||
@ -87,7 +87,7 @@
|
||||
class-project.name='w280 cell border cell-with-name'
|
||||
class-project.members='w280 cell border cell-with-id-card'
|
||||
class-project.captain='w280 cell border cell-with-id-card'
|
||||
class-leaveButton='w230 cell border cell-with-buttons'
|
||||
class-leaveButton='w230 cell border cell-with-buttons is-spaced'
|
||||
|
||||
action-leaveButton="joinButton"
|
||||
widget-leaveButton="hubl-admin-project-leave-button"
|
||||
@ -127,7 +127,7 @@
|
||||
class-name='w280 cell border cell-with-name'
|
||||
class-members='w280 cell border cell-with-id-card'
|
||||
class-captain='w280 cell border cell-with-id-card'
|
||||
class-joinButton='w230 cell border cell-with-buttons'
|
||||
class-joinButton='w230 cell border cell-with-buttons is-spaced'
|
||||
|
||||
action-joinButton="joinButton" # Workaround: I need members two times
|
||||
widget-joinButton="hubl-admin-project-join-button"
|
||||
|
@ -13,6 +13,10 @@ div.content-box__info.flex
|
||||
data-src=`${endpoints.users || endpoints.post.users}`
|
||||
|
||||
fields='line-1(first_name, last_name), line-2(username, email), line-3(password)'
|
||||
required-first_name
|
||||
required-last_name
|
||||
required-username
|
||||
required-email
|
||||
loader-id='loader-users-create'
|
||||
|
||||
class-first_name='form-label is-light is-half-width input-text-like'
|
||||
|
@ -20,6 +20,9 @@ div.content-box__info.flex
|
||||
bind-resources=''
|
||||
|
||||
fields='line-1(first_name, last_name), line-2(email)'
|
||||
required-first_name
|
||||
required-last_name
|
||||
required-email
|
||||
loader-id='loader-users-edit'
|
||||
|
||||
class-first_name='form-label is-light is-half-width input-text-like'
|
||||
|
@ -2,7 +2,7 @@
|
||||
solid-xmpp-chat(
|
||||
data-authentication='login',
|
||||
data-auto-login='true',
|
||||
data-bosh-service-url=`${xmpp}`,
|
||||
data-websocket-url=`${xmppWebsocket || 'wss://jabber.happy-dev.fr/xmpp-websocket'}`,
|
||||
data-i18n='en',
|
||||
bind-resources
|
||||
)
|
@ -2,45 +2,15 @@ div.content-box__info
|
||||
|
||||
include ../../templates/hubl-user-avatar.pug
|
||||
|
||||
solid-widget(name='hubl-user-groups')
|
||||
template ${await value.name}
|
||||
|
||||
solid-widget(name='hubl-team-template-edit')
|
||||
solid-widget(name="circle-edit-members-delete")
|
||||
template
|
||||
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)'
|
||||
|
||||
class-account.picture='user-thumb__picture avatar'
|
||||
class-name='user-thumb__name'
|
||||
class-groups='user-thumb__groups'
|
||||
class-profile.city='user-thumb__city'
|
||||
|
||||
widget-account.picture='hubl-user-avatar'
|
||||
|
||||
multiple-groups=''
|
||||
widget-groups='hubl-user-groups'
|
||||
)
|
||||
|
||||
solid-ac-checker(
|
||||
class='w162 cell border'
|
||||
permission="acl:Delete"
|
||||
data-src="${value['@id']}"
|
||||
)
|
||||
solid-ac-checker(permission="acl:Delete" data-src="${src}")
|
||||
solid-delete(
|
||||
class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close'
|
||||
data-src="${value['@id']}"
|
||||
data-src="${src}"
|
||||
data-label='Retirer'
|
||||
)
|
||||
|
||||
//- Only to show the table grid
|
||||
solid-ac-checker(
|
||||
class='w162 cell border'
|
||||
no-permission="acl:Delete"
|
||||
data-src="${value['@id']}"
|
||||
)
|
||||
|
||||
solid-link(class="backlink right", bind-resources, next='circle-profile') Retour
|
||||
|
||||
solid-ac-checker(permission='acl:Write', bind-resources)
|
||||
@ -56,6 +26,10 @@ div.content-box__info
|
||||
bind-resources
|
||||
|
||||
fields='status, line-1(name, owner), description'
|
||||
required-status
|
||||
required-name
|
||||
required-owner
|
||||
required-description
|
||||
range-owner=`${endpoints.users || endpoints.get.users}`
|
||||
|
||||
label-status='Statut du cercle'
|
||||
@ -70,7 +44,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='solid-form-auto-completion'
|
||||
widget-owner='solid-form-dropdown-autocompletion-label'
|
||||
|
||||
partial=''
|
||||
|
||||
@ -87,9 +61,8 @@ div.content-box__info
|
||||
fields='user'
|
||||
range-user=`${endpoints.users || endpoints.get.users}`
|
||||
|
||||
class-user='team form-label is-light'
|
||||
label-user=''
|
||||
widget-user='solid-form-auto-completion'
|
||||
class-user='team'
|
||||
widget-user='solid-form-dropdown-autocompletion'
|
||||
|
||||
submit-button='Ajouter un membre'
|
||||
)
|
||||
@ -100,14 +73,28 @@ div.content-box__info
|
||||
div.w280 Nom
|
||||
div.w162 Accès
|
||||
|
||||
//-class='table-body'
|
||||
solid-display(
|
||||
class='table-body'
|
||||
bind-resources
|
||||
fields='members'
|
||||
nested-field='members'
|
||||
fields='classGroup(classGrid(user.account.picture, sup(user.name, user.groups), sub(user.profile.city))), self'
|
||||
loader-id='loader-circle-edit'
|
||||
|
||||
multiple-members=''
|
||||
widget-members='hubl-team-template-edit'
|
||||
class-classGroup='w280 cell border cell-with-id-card user-thumb is-spaced'
|
||||
class-user.account.picture='user-thumb__picture avatar'
|
||||
class-user.name='user-thumb__name'
|
||||
class-user.groups='user-thumb__groups'
|
||||
class-user.profile.city='user-thumb__city'
|
||||
|
||||
widget-user.account.picture='hubl-user-avatar'
|
||||
|
||||
multiple-user.groups
|
||||
multiple-user.groups-fields='name'
|
||||
|
||||
action-self='self'
|
||||
widget-self='circle-edit-members-delete'
|
||||
)
|
||||
|
||||
//- Only to show the table grid
|
||||
div.w162.cell.border
|
||||
|
||||
|
@ -3,7 +3,6 @@ solid-router(default-route='circle-profile', hidden)
|
||||
solid-route(name='circle-edit')
|
||||
|
||||
#circle-profile(hidden)
|
||||
include ../../templates/hubl-circle-team.pug
|
||||
|
||||
.content-box__info.flex
|
||||
|
||||
@ -23,7 +22,7 @@ solid-router(default-route='circle-profile', hidden)
|
||||
|
||||
value-title='Date de création : '
|
||||
|
||||
widget-creationDate='solid-display-date'
|
||||
widget-creationDate='solid-display-value-date'
|
||||
)
|
||||
solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members')
|
||||
solid-ac-checker(permission='acl:Delete', bind-resources)
|
||||
@ -38,6 +37,7 @@ solid-router(default-route='circle-profile', hidden)
|
||||
class='button mobile-full-width text-bold text-uppercase button-primary bordered with-icon icon-trash'
|
||||
bind-resources
|
||||
data-label='Supprimer le cercle'
|
||||
next='admin-circles'
|
||||
)
|
||||
|
||||
solid-widget(name='hubl-circle-leave-button')
|
||||
@ -80,14 +80,26 @@ solid-router(default-route='circle-profile', hidden)
|
||||
|
||||
h2 Membres :
|
||||
|
||||
solid-widget(name='hubl-circle-user-admin')
|
||||
template ${value ? "Administrateur" : ""}
|
||||
|
||||
solid-display.block(
|
||||
bind-resources
|
||||
fields='members'
|
||||
nested-field='members'
|
||||
loader-id='loader-circle-profile'
|
||||
fields='classGroup(user.account.picture, sup(user.name, is_admin), sub(user.profile.city))'
|
||||
|
||||
multiple-members=''
|
||||
widget-members='hubl-circle-team-template'
|
||||
class-classGroup='user-thumb is-spaced'
|
||||
class-user.account.picture='avatar user-thumb__picture'
|
||||
class-user.name='user-thumb__name'
|
||||
class-is_admin='user-thumb__admin'
|
||||
class-user.profile.city='user-thumb__city'
|
||||
|
||||
widget-classGroup='solid-set-div'
|
||||
widget-user.account.picture='hubl-user-avatar'
|
||||
widget-is_admin='hubl-circle-user-admin'
|
||||
)
|
||||
|
||||
|
||||
#circle-edit.content-box__height(hidden)
|
||||
include page-circle-edit.pug
|
||||
|
@ -1,27 +0,0 @@
|
||||
.content-box.with-padding.with-form
|
||||
h1 Post a new job offer
|
||||
|
||||
solid-form(
|
||||
data-src=`${endpoints.joboffers || endpoints.post.joboffers}`
|
||||
range-skills=`${endpoints.skills || endpoints.get.skills}`
|
||||
|
||||
fields='title, description, skills, closingDate'
|
||||
|
||||
class-title='field form-label is-light is-expanded'
|
||||
label-title='Title*'
|
||||
|
||||
class-description='field form-label is-light is-expanded'
|
||||
label-description='Description*'
|
||||
widget-description='solid-form-textarea'
|
||||
|
||||
class-skills='form-label is-dark select-skills'
|
||||
label-skills='The required skills for this mission:*'
|
||||
multiple-skills='solid-multiple-select'
|
||||
widget-skills='solid-form-auto-completion'
|
||||
|
||||
class-closingDate='form-label is-dark'
|
||||
label-closingDate='Publication end date:*'
|
||||
widget-closingDate='solid-form-date'
|
||||
|
||||
next='job-offers'
|
||||
)
|
@ -1,27 +0,0 @@
|
||||
.content-box.with-padding.with-form
|
||||
h1 Edit your job offer
|
||||
|
||||
solid-form(
|
||||
bind-resources
|
||||
range-skills=`${endpoints.skills || endpoints.get.skills}`
|
||||
|
||||
fields='title, description, skills, closingDate'
|
||||
|
||||
class-title='field form-label is-light is-expanded'
|
||||
label-title='Title*'
|
||||
|
||||
class-description='field form-label is-light is-expanded'
|
||||
label-description='Description*'
|
||||
widget-description='solid-form-textarea'
|
||||
|
||||
class-skills='form-label is-dark select-skills'
|
||||
label-skills='The required skills for this mission:*'
|
||||
multiple-skills='solid-multiple-select'
|
||||
widget-skills='solid-form-auto-completion'
|
||||
|
||||
class-closingDate='form-label is-dark'
|
||||
label-closingDate='Publication end date:*'
|
||||
widget-closingDate='solid-form-date'
|
||||
|
||||
next='job-offers'
|
||||
)
|
@ -2,7 +2,7 @@
|
||||
solid-xmpp-chat(
|
||||
data-authentication='login',
|
||||
data-auto-login='true',
|
||||
data-bosh-service-url=`${xmpp}`,
|
||||
data-websocket-url=`${xmppWebsocket || 'wss://jabber.happy-dev.fr/xmpp-websocket'}`,
|
||||
data-i18n='en',
|
||||
bind-resources
|
||||
)
|
||||
|
@ -1,6 +1,15 @@
|
||||
div.content-box__info
|
||||
|
||||
include ../../templates/hubl-user-avatar.pug
|
||||
|
||||
solid-widget(name="project-edit-members-delete")
|
||||
template
|
||||
solid-ac-checker(permission="acl:Delete" data-src="${src}")
|
||||
solid-delete(
|
||||
class='button text-bold text-uppercase reversed button-secondary bordered with-icon icon-close'
|
||||
data-src="${src}"
|
||||
data-label='Retirer'
|
||||
)
|
||||
|
||||
solid-link(class='backlink right', bind-resources, next='project-profile') Retour
|
||||
|
||||
@ -17,6 +26,8 @@ div.content-box__info
|
||||
bind-resources
|
||||
|
||||
fields='line-1(customer.name, name)'
|
||||
required-customer.name
|
||||
required-name
|
||||
|
||||
|
||||
label-name='Nom du projet*'
|
||||
@ -40,9 +51,9 @@ div.content-box__info
|
||||
fields='user'
|
||||
range-user=`${endpoints.users || endpoints.get.users}`
|
||||
|
||||
class-user='team form-label is-light'
|
||||
class-user='team'
|
||||
label-user=''
|
||||
widget-user='solid-form-auto-completion'
|
||||
widget-user='solid-form-dropdown-autocompletion'
|
||||
|
||||
submit-button='Ajouter un membre'
|
||||
)
|
||||
@ -57,9 +68,21 @@ div.content-box__info
|
||||
solid-display(
|
||||
class='table-body'
|
||||
bind-resources
|
||||
fields='members'
|
||||
nested-field='members'
|
||||
fields='classGroup(classGrid(user.account.picture, sup(user.name, user.groups), sub(user.profile.city))), self'
|
||||
loader-id='loader-project-edit'
|
||||
|
||||
multiple-members=''
|
||||
widget-members='hubl-team-template-edit'
|
||||
class-classGroup='w280 cell border cell-with-id-card user-thumb is-spaced'
|
||||
class-user.account.picture='user-thumb__picture avatar'
|
||||
class-user.name='user-thumb__name'
|
||||
class-user.groups='user-thumb__groups'
|
||||
class-user.profile.city='user-thumb__city'
|
||||
|
||||
widget-user.account.picture='hubl-user-avatar'
|
||||
|
||||
multiple-user.groups
|
||||
multiple-user.groups-fields='name'
|
||||
|
||||
action-self='self'
|
||||
widget-self='project-edit-members-delete'
|
||||
)
|
||||
|
@ -4,7 +4,6 @@ solid-router(default-route='project-profile', hidden)
|
||||
|
||||
#project-profile(hidden)
|
||||
include ../../templates/hubl-captain.pug
|
||||
include ../../templates/hubl-project-team.pug
|
||||
|
||||
.content-box__info.flex
|
||||
|
||||
@ -24,7 +23,7 @@ solid-router(default-route='project-profile', hidden)
|
||||
|
||||
value-title='Date de création : '
|
||||
|
||||
widget-creationDate='solid-display-date'
|
||||
widget-creationDate='solid-display-value-date'
|
||||
)
|
||||
solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members')
|
||||
solid-ac-checker(permission='acl:Delete', bind-resources)
|
||||
@ -38,6 +37,7 @@ solid-router(default-route='project-profile', hidden)
|
||||
class='button mobile-full-width text-bold text-uppercase button-primary bordered with-icon icon-trash'
|
||||
bind-resources
|
||||
data-label='Supprimer le projet'
|
||||
next='admin-projects'
|
||||
)
|
||||
|
||||
solid-widget(name='hubl-project-leave-button')
|
||||
@ -79,12 +79,24 @@ solid-router(default-route='project-profile', hidden)
|
||||
|
||||
h2 Equipe :
|
||||
|
||||
solid-widget(name='hubl-project-user-admin')
|
||||
template ${value ? "Administrateur" : ""}
|
||||
|
||||
solid-display.block(
|
||||
bind-resources
|
||||
fields='members'
|
||||
nested-field='members'
|
||||
fields='classGroup(user.account.picture, sup(user.name, is_admin), sub(user.profile.city, name))'
|
||||
|
||||
multiple-members
|
||||
widget-members='hubl-project-team'
|
||||
class-classGroup='user-thumb is-spaced'
|
||||
class-user.account.picture='avatar user-thumb__picture'
|
||||
class-user.name='user-thumb__name'
|
||||
class-is_admin='user-thumb__admin'
|
||||
class-user.profile.city='user-thumb__city'
|
||||
class-name='user-thumb__lead'
|
||||
|
||||
widget-classGroup='solid-set-div'
|
||||
widget-user.account.picture='hubl-user-avatar'
|
||||
widget-is_admin='hubl-project-user-admin'
|
||||
)
|
||||
|
||||
#project-edit.content-box__height(hidden)
|
||||
|
Reference in New Issue
Block a user