patch: conflict resolved

This commit is contained in:
gaelle morin 2021-04-01 14:13:02 +02:00
commit 84e3383aac
No known key found for this signature in database
GPG Key ID: 028426702B95CF9C
20 changed files with 443 additions and 206 deletions

119
README.md
View File

@ -120,14 +120,7 @@ On `config.json`:
"css": "/path/to/custom.css",
"i18n": {
"lang": "fr",
"force": "false",
"files": [
{
"name": "yourCustomLangName",
"file": "/path/to/file.json"
},
...
]
"force": "false"
}
}
}
@ -139,8 +132,6 @@ Where:
* `client.css` is an URL to a distant CSS that'll be the last one loaded by the Hubl
* `client.i18n.lang` is the fallback langage in case the visitor's browser one does not contain the string
* `client.i18n.force` allows to ignore the visitor's browser langage and force the `client.i18n.lang` one
* `client.i18n.files[].name` allows to use custom client lang file.
* `client.i18n.files[].file` is the path the the json lang file
### Allow to login to your application
@ -159,56 +150,6 @@ Where:
* `authority` is the OpenID Provider. Usually, if you use `djangoldp_account` it's the same as your djangoldp server.
### Custom lang files
Each client can overwrite langs files with their own or even create custom langs.
#### Overwrite langs
On `config.json`:
```json
{
"client": {
"i18n": {
"files": [
{
"name": "fr",
"file": "/path/to/custom-fr.json"
}
]
}
}
}
```
#### Custom langs
Needs `client.i18n.force` to `true` and `client.i18n.lang` to the custom lang name.
Your custom JSON file **must** contain every keys, from the template and from every bloxes, prefixed by the blox namespace. See example on `src/locales/fr.json`.
On `config.json`:
```json
{
"client": {
"i18n": {
"lang": "pirate",
"force": "true",
"files": [
{
"name": "pirate",
"file": "/path/to/yarr.json"
}
]
}
}
}
```
Setting custom langs will not allow user to choose their own lang.
## Optional modules
### Adding modules
@ -405,6 +346,64 @@ You can get only future events by using:
"get": "http://server.url/events/future/",
```
### Internationalization
Each client can overwrite langs files with their own or even create custom langs.
#### Overwrite langs
On `config.json`:
```json
{
"type": "lang",
"parameters": {
"name": "fr",
"file": "/path/to/fr.json"
},
"route": false
}
```
Where:
* `parameters.name` allows to use custom client lang file.
* `parameters.file` is the path the the json lang file
#### Custom langs
Needs `client.i18n.force` to `true` and `client.i18n.lang` to the custom lang name.
Your custom JSON file **must** contain every keys, from the template and from every bloxes, prefixed by the blox namespace. See example on `src/locales/fr.json`.
On `config.json`:
```json
"client": {
"i18n": {
"lang": "pirate",
"force": "true"
}
},
"components": [
{
"type": "i18n",
"parameters": {
"name": "pirate",
"file": "/path/to/yarr.json"
},
"route": false
}
]
```
Where:
* `parameters.name` allows to use custom client lang file.
* `parameters.file` is the path the the json lang file
Setting custom langs will not allow user to choose their own lang.
### Job Offers
Job Offers includes a job board with conversation. To activate them

View File

@ -176,6 +176,13 @@ html(lang="en")
if component.type == "notification"
include views/partials/notifications.pug
if component.type == "lang"
hubl-lang(
hidden
lang=component.parameters.name
file=component.parameters.file
)
if componentSet.has('profileDirectory')
.scrollbar-content(
id=`${getRoute("profileDirectory", true)}-profile`
@ -221,13 +228,6 @@ html(lang="en")
hidden
lang=client.i18n.lang?client.i18n.lang:"fr"
)&attributes({"force": client.i18n.force})
if client.i18n.files
for clientI18n in client.i18n.files
hubl-lang(
hidden
lang=clientI18n.name
file=clientI18n.file
)
div(
id="swal-content-text"

View File

@ -77,6 +77,7 @@
"backlink": "Back",
"title": " Create a circle",
"labelStatus": "Circle status",
"labelCommunity": "Circle community *",
"labelName": "Circle name *",
"labelSubtitle": "Circle headline *",
"labelDescription": "Circle description",
@ -88,6 +89,7 @@
"backlink": "Back",
"title": "Edit your circle",
"labelStatus": "Circle status *",
"labelCommunity": "Circle community *",
"labelName": "Circle name *",
"labelOwner": "Admin *",
"labelDescription": "Circle description",
@ -104,12 +106,12 @@
"buttonMobile": "MENU",
"subTitle": "Circles",
"buttonCreate": " Create a circle",
"tableHeader1": "Name",
"tableHeader2": "Admins",
"tableHeader3": "Join",
"buttonQuit": "Leave",
"buttonJoin": "Join",
"searchBy": "Find a circle by name"
"searchBy": "Find a circle",
"searchButton": "search",
"tabJoin": "Discover circles",
"tabLeave": "My circles"
},
"left": {
"paragraphQuit": "You left this circle.",

View File

@ -77,6 +77,7 @@
"backlink": "Atrás",
"title": "Crear un círculo",
"labelStatus": "Estado del círculo",
"labelCommunity": "Comunidad del círculo *",
"labelName": "Nombre del círculo *",
"labelSubtitle": "Subtítulo del círculo *",
"labelDescription": "Descripción del círculo",
@ -88,6 +89,7 @@
"backlink": "Atrás",
"title": "Modificá tu círculo",
"labelStatus": "Estado del círculo *",
"labelCommunity": "Comunidad del círculo *",
"labelName": "Nombre del círculo *",
"labelOwner": "Administrador/a *",
"labelSubtitle": "Subtítulo del círculo *",
@ -104,12 +106,12 @@
"buttonMobile": "MENÚ",
"subTitle": "Círculos",
"buttonCreate": "Crear un círculo",
"tableHeader1": "Nombre",
"tableHeader2": "Administradorxs",
"tableHeader3": "Unirse",
"buttonQuit": "Salir",
"buttonJoin": "Unirse",
"searchBy": "Busca un círculo por nombre "
"searchBy": "Busca un círculo",
"searchButton": "Buscar",
"tabJoin": "Descubrir los círculos",
"tabLeave": "Mis círculos"
},
"left": {
"paragraphQuit": "Dejaste este círculo.",

View File

@ -77,6 +77,7 @@
"backlink": "Retour",
"title": "Créer un cercle",
"labelStatus": "Statut du cercle",
"labelCommunity": "Communauté du cercle *",
"labelName": "Nom du cercle *",
"labelSubtitle": "Sous-titre du cercle *",
"labelDescription": "Description du cercle",
@ -88,12 +89,12 @@
"backlink": "Retour",
"title": "Modifie ton cercle",
"labelStatus": "Statut du cercle *",
"labelCommunity": "Communauté du cercle *",
"labelName": "Nom du cercle *",
"labelOwner": "Administrateur ou administratrice *",
"labelDescription": "Description du cercle",
"descriptionHelp": "Vous pouvez utiliser Markdown",
"labelSubtitle": "Sous-titre du cercle *",
"labelStatus": "Statut *",
"subTitle": "Liste des membres :",
"tableHeader1": "Nom",
"tableHeader2": "Accès",
@ -105,12 +106,12 @@
"buttonMobile": "MENU",
"subTitle": "Cercles",
"buttonCreate": "Créer un cercle",
"tableHeader1": "Nom",
"tableHeader2": "Administrateurs",
"tableHeader3": "Rejoindre",
"buttonQuit": "Quitter",
"buttonJoin": "Rejoindre",
"searchBy": "Rechercher un cercle par nom"
"searchBy": "Trouver un cercle",
"searchButton": "Rechercher",
"tabJoin": "Découvrir des cercles",
"tabLeave": "Mes cercles"
},
"left": {
"paragraphQuit": "Tu as quitté ce cercle.",

View File

@ -0,0 +1,92 @@
#admin-circles,
#admin-circles-leave {
.form.search-button :not(.add-member)+button[type=submit] {
background-color: #E9F2FF;
border: none;
color: var(--color-secondary);
&:before {
font-size: 15px;
margin-right: 6px;
content: "\e079";
font-family: simple-line-icons;
font-style: normal;
font-weight: 400;
speak: none;
display: inline-block;
text-decoration: inherit;
width: 1em;
text-align: center;
font-variant: normal;
text-transform: none;
line-height: 1em;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
.masonry>div:nth-child(1) {
/* change from directory (nth-child(2))*/
display: flex !important;
flex-wrap: wrap;
align-items: center;
.circle-subtitle-custom {
height: 32px;
}
}
.segment.hover:hover {
box-shadow: 0 0 16px 0 rgba(46, 63, 88, 0.34);
bottom: 2px;
}
hubl-admin-circle-name:hover {
text-decoration: underline;
}
hubl-admin-community-logo {
height: 76px;
width: 100%;
display: block;
div {
display: block;
width: 100%;
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: contain;
}
}
.tab.active {
font-weight: bold;
border-bottom: 5px solid var(--color-third);
padding-bottom: 10px;
}
@media (max-width: 768px) {
.tabs {
&>li {
color: #3C3F57;
font-size: 13px;
letter-spacing: 0.18px;
line-height: 17px;
&>.tab {
border-radius: 5px;
box-shadow: 0 0 6px 0 rgba(46, 63, 88, 0.17);
&.active {
color: var(--color-primary);
border: 1px solid var(--color-primary);
box-shadow: none;
}
}
}
}
}
}

View File

@ -42,6 +42,7 @@ solid-display>div {
@import 'chat';
@import 'forms';
@import 'communities';
@import 'admin-circles';
nav#main__menu {
@media (min-width: 768.01px) {
@ -92,6 +93,7 @@ hubl-menu-empty+hubl-menu-empty {
/* And no I can't add that stupid icon because it'a an input. */
/* But now, with 0.16, it's a button and you can :D */
.join-button {
input,
button {
padding: 9px 20px;
@ -104,9 +106,44 @@ hubl-menu-empty+hubl-menu-empty {
color: white;
border: 1px solid var(--color-secondary);
&:before {
font-size: 15px;
margin-right: 6px;
content: "\e079";
font-family: simple-line-icons;
font-style: normal;
font-weight: 400;
speak: none;
display: inline-block;
text-decoration: inherit;
width: 1em;
text-align: center;
font-variant: normal;
text-transform: none;
line-height: 1em;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
&:hover {
background: white;
color: var(--color-secondary);
}
}
@media (max-width: 768px) {
&.sm-full {
input,
button {
width: 100%;
}
}
}
}
/* Style that already exists in the framework but strangely I can't find it in the inspector. So I duplicate it here */
.two-lines-ellipsis {
display: -webkit-box !important;
}

View File

@ -8,8 +8,17 @@
data-view=`admin-${component.route}`
no-render
)
include partials/admin/page-admin-circles.pug
div(
- var page = 'join';
include partials/admin/page-admin-circles-join.pug
div.text-disable-selection(
id=`admin-${component.route}-leave`
hidden
data-view=`admin-${component.route}-leave`
no-render
)
- var page = 'leave';
include partials/admin/page-admin-circles-leave.pug
div.text-disable-selection(
id=`admin-${component.route}-create`
hidden
data-view=`admin-${component.route}-create`

View File

@ -14,27 +14,32 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
solid-form.form(
data-src=`${getComponent('circles').endpoints.post}`
fields='status, linebreak, name, subtitle, description, help'
fields='status, community, name, subtitle, description, help'
required-status
required-community
required-name
required-subtitle
loader-id=`loader-admin-${getComponent('circles').uniq}`
class-status='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-linebreak='segment half sm-hidden'
class-community='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-name='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-subtitle='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-description='segment margin-bottom-xxsmall full text-small text-semibold text-uppercase text-color-heading'
class-help='segment full text-small margin-bottom-medium padding-left-small'
label-status=''
label-community=''
label-name=''
label-subtitle=''
label-description=''
label-help=''
range-community='store://user.communities'
option-label-community="community.name"
widget-status='hubl-status'
widget-community='solid-form-dropdown-autocompletion-label'
widget-linebreak='solid-form-hidden'
widget-description='solid-form-richtext-label'
@ -45,5 +50,5 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
submit-button=''
submit-widget="button"
data-trans='label-status=circle.create.labelStatus;label-name=circle.create.labelName;label-description=circle.create.labelDescription;submit-button=circle.create.buttonSubmit;label-subtitle=circle.create.labelSubtitle;label-help=circle.create.descriptionHelp'
data-trans='label-status=circle.create.labelStatus;label-community=circle.create.labelCommunity;label-name=circle.create.labelName;label-description=circle.create.labelDescription;submit-button=circle.create.buttonSubmit;label-subtitle=circle.create.labelSubtitle;label-help=circle.create.descriptionHelp'
)

View File

@ -0,0 +1,46 @@
solid-widget(name=`hubl-admin-circle-join-button`)
template
solid-form(
class='join-button sm-full text-xsmall'
data-src='${value}'
fields='user.username'
value-user.username='hubl-workaround-493'
widget-user.username='solid-form-hidden'
submit-button=''
submit-widget="button"
data-trans='submit-button=circle.list.buttonJoin'
)
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="circles" target-src='${value}')
include page-admin-circles.pug
div.segment.full.padding-small.padding-top-xsmall.sm-padding-xsmall.whitespace-normal
solid-display(
class='segment full children children-quarter sm-children-full children-margin-bottom-medium sm-children-margin-bottom-xsmall children-padding-right-xsmall children-padding-left-xsmall sm-children-padding-none sm-whitespace-normal masonry pagination'
data-src=`${getComponent('circles').endpoints.get}joinable/`
fields='segment1(segment2(community.community.logo), segment3(name, subtitle, counter, members))'
filtered-by=`admin-circle-filter-${page}`
order-by='name'
paginate-by='20'
loader-id=`loader-admin-circles-${page}`
class-segment1='segment hover bg-color-white shadow border-rounded-xxsmall full text-top whitespace-normal'
class-segment2='segment block padding-xlarge text-center'
class-segment3='segment full padding-xlarge padding-top-medium sm-padding-medium border-top border-color-grey text-center whitespace-normal'
class-name='segment block text-xlarge text-bold text-color-heading margin-bottom-xsmall whitespace-normal'
class-subtitle='segment two-lines-ellipsis margin-bottom-xlarge sm-margin-bottom-medium whitespace-normal circle-subtitle-custom'
class-counter='segment block margin-bottom-large whitespace-normal'
widget-community.community.logo='hubl-admin-community-logo'
action-name=`${getRoute(`circles`, true)}-information`
widget-name='hubl-admin-circle-name'
action-counter="counter"
widget-counter='hubl-admin-circle-counter-alternate'
widget-members=`hubl-admin-circle-join-button`
)

View File

@ -0,0 +1,57 @@
solid-widget(name=`leave-circle-reactivity`)
template
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="circles" target-src='${value}')
solid-widget(name=`hubl-admin-circle-leave-button`)
template
solid-delete(
class='segment sm-full text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=circle.list.buttonQuit'
)
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${src}')
hubl-reactivity(bind-user nested-field="circles" target-src='${src}')
solid-display(
data-src="${src}"
fields="circle"
widget-circle=`leave-circle-reactivity`
hidden
)
include page-admin-circles.pug
div.segment.full.padding-small.padding-top-xsmall.sm-padding-xsmall.whitespace-normal
solid-display(
bind-user
nested-field='circles'
class='segment full children children-quarter sm-children-full children-margin-bottom-medium sm-children-margin-bottom-xsmall children-padding-right-xsmall children-padding-left-xsmall sm-children-padding-none sm-whitespace-normal masonry pagination'
fields='segment1(segment2(circle.community.community.logo), segment3(circle.name, circle.subtitle, counter, leaveButton))'
filtered-by=`admin-circle-filter-${page}`
order-by='name'
paginate-by='20'
loader-id=`loader-admin-circles-${page}`
class-segment1='segment hover bg-color-white shadow border-rounded-xxsmall full text-top whitespace-normal'
class-segment2='segment block padding-xlarge text-center'
class-segment3='segment full padding-xlarge padding-top-medium sm-padding-medium border-top border-color-grey text-center whitespace-normal'
class-circle.name='segment block text-xlarge text-bold text-color-heading margin-bottom-xsmall whitespace-normal'
class-circle.subtitle='segment two-lines-ellipsis margin-bottom-xlarge sm-margin-bottom-medium whitespace-normal circle-subtitle-custom'
class-counter='segment block margin-bottom-large whitespace-normal'
widget-circle.community.community.logo='hubl-admin-community-logo'
action-circle.name=`${getRoute(`circles`, true)}-information`
widget-circle.name='hubl-admin-circle-fix-url-name'
action-counter="counter"
widget-counter='hubl-admin-circle-counter-alternate-fix'
action-leaveButton="joinButton"
widget-leaveButton=`hubl-admin-circle-leave-button`
)

View File

@ -1,15 +1,15 @@
div.segment.full.padding-large.sm-padding-top-small.sm-padding-right-xsmall.sm-padding-bottom-small.sm-padding-left-xsmall.border-bottom.border-color-grey.whitespace-normal
h2.margin-none.text-color-heading.text-uppercase.text-xlarge.text-letter-spacing-large(data-trans='circle.list.title')
div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespace-normal
div.segment.full.padding-large.padding-top-medium.padding-bottom-xsmall.sm-padding-xsmall.sm-padding-top-xxsmall.whitespace-normal
div#loader-admin-circles.loader.loader-top
div(id=`loader-admin-circles-${page}`).loader.loader-top
div
div
div
div
div.segment.full.margin-bottom-xlarge.whitespace-normal
div.segment.full.margin-bottom-medium.sm-padding-none.whitespace-normal
div.segment.half.sm-full
h3.text-color-heading.text-semibold.text-letter-spacing-large(data-trans='circle.list.subTitle')
div.segment.half.sm-full.text-right
@ -20,119 +20,36 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
data-trans='circle.list.buttonCreate'
)
solid-form-search.form.search-form(
id="admin-circle-filter"
solid-form-search.form.search-form.search-button(
id=`admin-circle-filter-${page}`
fields='name'
label-name=''
widget-name='solid-form-label-text'
class-name="segment margin-bottom-medium third sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading"
class-name="segment margin-bottom-medium sm-margin-bottom-none third sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading"
submit-button=""
submit-widget="button"
data-trans='label-name=circle.list.searchBy;submit-button=goButton'
data-trans='label-name=circle.list.searchBy;submit-button=circle.list.searchButton'
)
.segment.table-wrapper
.table
div.table-header.bg-color-third.text-color-heading
div.segment.table-cell.third(data-trans='circle.list.tableHeader1')
div.segment.table-cell.third(data-trans='circle.list.tableHeader2')
div.segment.table-cell.third(data-trans='circle.list.tableHeader3')
solid-widget(name=`leave-circle-reactivity`)
template
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="circles" target-src='${value}')
solid-widget(name=`hubl-admin-circle-leave-button`)
template
solid-delete(
class='segment text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=circle.list.buttonQuit'
)
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${src}')
hubl-reactivity(bind-user nested-field="circles" target-src='${src}')
ul(class='segment full margin-top-xsmall sm-margin-top-none sm-padding-none whitespace-normal tabs text-disable-selection')
li(class='segment sm-full text-xlarge text-color-heading text-letter-spacing-large margin-right-medium sm-margin-right-none sm-margin-bottom-xsmall')
solid-link(class='segment sm-full sm-padding-xsmall tab' next=`admin-${getRoute('circles', true)}`)&attributes({'class': page == 'join' ? 'active' : false})
span(class='segment lg-hidden icon icon-globe icon-margin-right-xsmall')
span(data-trans='circle.list.tabJoin')
solid-display(
data-src="${src}"
fields="circle"
widget-circle=`leave-circle-reactivity`
hidden
)
solid-display(
class='table-body'
filtered-by="admin-circle-filter"
bind-user
nested-field='circles'
fields='cell1(name(circle.name), counter, circle.subtitle), cell2(circle.owner), cell3(leaveButton)'
loader-id='loader-admin-circles'
class-cell1='segment table-cell third whitespace-normal'
class-cell2='segment table-cell third text-center text-left'
class-cell3='segment table-cell third text-center'
action-circle.name='circle.name'
widget-circle.name='hubl-admin-circle-link-alternate'
class-circle.subtitle='segment full text-ellipsis'
action-leaveButton="joinButton"
widget-leaveButton=`hubl-admin-circle-leave-button`
widget-circle.owner='hubl-circle-owner'
action-counter="counter"
widget-counter="hubl-admin-circle-counter-alternate"
order-by="circle.name"
)
solid-widget(name=`hubl-admin-circle-join-button`)
template
solid-form(
class='join-button text-xsmall'
data-src='${value}'
fields='user.username'
value-user.username='hubl-workaround-493'
widget-user.username='solid-form-hidden'
submit-button=''
submit-widget="button"
data-trans='submit-button=circle.list.buttonJoin'
)
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('circles').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="circles" target-src='${value}')
solid-display(
class='table-body'
filtered-by="admin-circle-filter"
class="margin-left-xxsmall"
data-src=`${getComponent('circles').endpoints.get}joinable/`
fields='cell1(name, counter, subtitle), cell2(owner), cell3(members)'
loader-id='loader-admin-circles'
class-cell1='segment table-cell third whitespace-normal'
class-cell2='segment table-cell third text-center text-left'
class-cell3='segment table-cell third text-center'
class-name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline text-ellipsis admin-name-ellipsis'
action-name='name'
widget-name='hubl-admin-circle-link'
class-subtitle='segment full text-ellipsis'
widget-owner='hubl-circle-owner'
widget-members=`hubl-admin-circle-join-button`
action-counter="counter"
widget-counter="hubl-admin-circle-counter"
order-by="name"
fields=""
counter-template="(${counter})"
)
li(class='segment sm-full text-xlarge text-color-heading text-letter-spacing-large margin-left-medium sm-margin-left-none')
solid-link(class='segment sm-full sm-padding-xsmall tab' next=`admin-${getRoute('circles', true)}-leave`)&attributes({'class': page == 'leave' ? 'active' : false})
span(class='segment lg-hidden icon icon-check icon-margin-right-xsmall')
span(data-trans='circle.list.tabLeave')
solid-display(
class="margin-left-xxsmall"
bind-user
nested-field="circles"
fields=""
counter-template="(${counter})"
)

View File

@ -25,11 +25,12 @@ div.segment.full.padding-large.whitespace-normal
solid-form.form(
bind-resources
fields='name, subtitle, description, status, owner'
fields='name, subtitle, description, status, community, owner'
required-status
required-name
required-owner
required-subtitle
required-community
range-owner=`${component.endpoints.owners}`
label-name=''
@ -37,27 +38,33 @@ div.segment.full.padding-large.whitespace-normal
label-description=''
label-subtitle=''
label-status=''
label-community=''
label-help=''
class-name='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-subtitle='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-description='segment margin-bottom-medium full text-small text-semibold text-uppercase text-color-heading'
class-status='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-owner='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-community='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-owner='hidden'
class-help='segment full text-small margin-bottom-medium padding-left-small'
widget-status='hubl-status'
widget-description='solid-form-richtext-label'
widget-help='solid-form-hidden-label'
widget-community='solid-form-dropdown-autocompletion-label'
widget-owner='solid-form-dropdown-autocompletion-label'
range-community='store://user.communities'
option-label-community="community.name"
partial=''
submit-button=''
submit-widget="button"
next=`${component.route}-information`
data-trans='label-status=circle.edit.labelStatus;label-name=circle.edit.labelName;label-owner=circle.edit.labelOwner;label-description=circle.edit.labelDescription;submit-button=circle.edit.buttonSubmit;label-subtitle=circle.edit.labelSubtitle;label-help=circle.edit.descriptionHelp'
data-trans='label-status=circle.edit.labelStatus;label-community=circle.edit.labelCommunity;label-name=circle.edit.labelName;label-owner=circle.edit.labelOwner;label-description=circle.edit.labelDescription;submit-button=circle.edit.buttonSubmit;label-subtitle=circle.edit.labelSubtitle;label-help=circle.edit.descriptionHelp'
)
h3.segment.full.padding-bottom-small.border-bottom.border-color-grey.text-color-heading.text-bold.text-letter-spacing-large(data-trans='circle.edit.subTitle')

View File

@ -24,6 +24,7 @@ solid-router#navbar-router(default-route='dashboard')
div.segment.text-uppercase.text-letter-spacing-large(data-trans=`${component.name?component.name:"menuLeft.dashboard"}`)
div.divider
if component.type == "circles"
<<<<<<< HEAD
div.jsMenuTab
div.menu-header.segment.full.padding-xsmall.text-semibold.text-color-white.bg-color-heading.hover.jsMenuHeader
div.segment.margin-right-xxsmall.jsMenuArrow
@ -39,6 +40,23 @@ solid-router#navbar-router(default-route='dashboard')
solid-route(name=`admin-${component.route}`, hidden)
solid-route(name=`admin-${component.route}-create`, hidden)
solid-route(name=`admin-${component.route}-leave`, hidden)
=======
div.menu-wrapper
if componentSet.has("admin")
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=`admin-${component.route}`)
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-folder-alt
div.segment.three-quarter.text-uppercase.text-letter-spacing-large(data-trans=`${component.name?component.name:"menuLeft.circles"}`)
div.menu-chevron.segment
div.menu-icon.icon-arrow-right-circle
solid-route(name=`admin-${component.route}-create`)
solid-route(name=`admin-${component.route}-leave`)
else
div.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-folder-alt
div.segment.three-quarter.text-uppercase.text-letter-spacing-large(data-trans=`${component.name?component.name:"menuLeft.circles"}`)
>>>>>>> 4860b20e20e4be6643aaaa0c5f8c1ea3d015ee3b
solid-route(name=component.route, rdf-type='hd:circle', use-id='', hidden)
solid-route(name=`${component.route}-left`)
div.sub-menu.menu-notification.padding-bottom-xxsmall.jsMenuSub

View File

@ -1,11 +1,14 @@
//- Import your widgets from the `widget`folder here
include widgets/hubl-action-community.pug
include widgets/hubl-admin-circle-counter-alternate-fix.pug
include widgets/hubl-admin-circle-counter-alternate.pug
include widgets/hubl-admin-circle-counter.pug
include widgets/hubl-admin-circle-link-alternate.pug
include widgets/hubl-admin-circle-link.pug
include widgets/hubl-admin-circle-name.pug
include widgets/hubl-admin-community-counter.pug
include widgets/hubl-admin-community-logo.pug
include widgets/hubl-admin-project-counter-alternate.pug
include widgets/hubl-admin-project-counter.pug
include widgets/hubl-admin-project-link-alternate.pug

View File

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

View File

@ -1,11 +1,12 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-counter-alternate')
template
div(style='float:right')
div
span.icon.icon-people.icon-third.icon-large.margin-right-xsmall
solid-display(
fields=''
data-src="${src}"
nested-field="circle.members"
data-src="${src || value}"
nested-field="members"
counter-template="\\\${counter}"
)
span.icon.icon-people.icon-xsmall.margin-right-xxsmall
span members

View File

@ -0,0 +1,26 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-name-title')
template
div.segment.block.one-line-ellipsis(
title="\${value}"
) ${value}
solid-widget(name='hubl-admin-circle-name')
template
solid-link(
data-src="${src || value}"
next=`${getRoute(`circles`, true)}-information`
)
solid-display(
data-src="${src || value}"
fields="name"
widget-name="hubl-admin-circle-name-title"
)
solid-widget(name='hubl-admin-circle-fix-url-name')
template
solid-display(
data-src="${src}"
fields="circle"
widget-circle='hubl-admin-circle-name'
)

View File

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

View File

@ -0,0 +1,4 @@
if componentSet.has('chat')
solid-widget(name='hubl-menu-contact-removed')
template ${value != "" ? `
<solid-delete class="icon icon-small icon-white icon-close" data-src='${value}' data-label="" confirmation-type="confirm" confirmation-message="Contact retiré"></solid-delete>` : ""}