major: startinblox-feature-requests#181

This commit is contained in:
Jean-Baptiste Pasquier
2021-02-22 21:27:58 +01:00
parent 5cc3e9b7f4
commit e28af8a048
97 changed files with 2166 additions and 1625 deletions

View File

@ -2,8 +2,7 @@ div.segment.full.padding-large.sm-padding-top-small.sm-padding-right-xsmall.sm-p
div.segment.half.sm-full
h2.margin-none.text-color-heading.text-uppercase.text-xlarge.text-letter-spacing-large(data-trans='communities.title')
div.segment.half.sm-hidden.text-right
solid-link(class="backlink", bind-resources, next='admin-communities' data-trans='circle.create.backlink')
solid-link(class="backlink", next=`admin-${getRoute('chat', true)}` data-trans='circle.create.backlink')
div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespace-normal
div#loader-users-title.loader.loader
@ -18,17 +17,6 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
div
div
solid-widget(name='hubl-username-field')
template
label ${label}
input(type="text" title='' pattern="[a-zA-Z0-9]+" label="${label}" data-trans='title=user.create.labelUsernameTitle' name="username" required value="\${value}" data-holder)
solid-widget(name='hubl-email-field')
template
div.segment.margin-bottom-medium.half.sm-full.padding-left-small.sm-padding-none.text-small.text-semibold.text-uppercase.text-color-heading
label ${label}
input(type="email" label='${label}' name="email" required value="\${value}" data-holder)
div.segment.margin-bottom-medium
div.segment
solid-display.text-color-heading.text-semibold.text-xlarge.text-letter-spacing-large(
@ -38,7 +26,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
data-trans='value-text=user.create.title'
loader-id='loader-users-title'
)
solid-form.form#selected-community(
bind-resources
nested-field='members'
@ -65,7 +53,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
widget-user.username='hubl-username-field'
widget-user.email='hubl-email-field'
next='admin-communities'
next=`admin-${getRoute('chat', true)}`
submit-button=''
data-trans='label-user.first_name=user.create.labelFirstname;label-user.last_name=user.create.labelLastname;label-user.username=user.create.labelUsername;label-user.email=user.create.labelEmail;submit-button=user.create.buttonSubmit'

View File

@ -1,15 +1,3 @@
solid-widget(name='hubl-action-community')
template
solid-ac-checker(data-src="${value}", nested-field="members", permission='acl:Append')
solid-link(
class='button text-small text-bold text-uppercase reversed color-secondary bordered icon icon-plus'
data-src="${value}"
next="admin-users-create"
data-trans='communities.linkInvite'
)
solid-ac-checker(data-src="${value}", nested-field="members", no-permission='acl:Append')
div.button.button-disabled(data-trans='communities.noPermission')
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='communities.title')
@ -18,17 +6,6 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
div.segment.full.margin-bottom-xlarge
h3.text-color-heading.text-semibold.text-letter-spacing-large(data-trans='communities.subTitle')
solid-widget(name='hubl-admin-community-counter')
template
div(style='float:right')
solid-display(
fields=''
data-src="${src}"
nested-field="community.members"
counter-template="\\\${counter}"
)
span.icon.icon-people.icon-xsmall.margin-right-xxsmall
solid-form-search.form.search-form(
id="admin-community-filter"
fields='cell1'
@ -44,7 +21,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
div.table-header.bg-color-third.text-color-heading
div.segment.table-cell.table-cell.half(data-trans='communities.tableHeader1')
div.segment.table-cell.table-cell.half(data-trans='communities.tableHeader2')
solid-display(
class='table-body'
filtered-by='admin-community-filter'

View File

@ -2,23 +2,23 @@ div.segment.full.padding-large.sm-padding-top-small.sm-padding-right-xsmall.sm-p
div.segment.half.sm-full
h2.margin-none.text-color-heading.text-uppercase.text-xlarge.text-letter-spacing-large(data-trans='circle.create.title')
div.segment.half.sm-hidden.text-right
solid-link(class="backlink", bind-resources, next='admin-circles' data-trans='circle.create.backlink')
solid-link(class="backlink", next=`admin-${getRoute('circles', true)}` data-trans='circle.create.backlink')
div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespace-normal
div#loader-circles-create.loader.loader-top
div.loader.loader-top(id=`loader-admin-${getComponent('circles').uniq}`)
div
div
div
div
solid-form.form(
data-src=`${endpoints.circles || endpoints.post.circles}`
data-src=`${getComponent('circles').endpoints.post}`
fields='status, linebreak, name, subtitle, description, help'
required-status
required-name
required-subtitle
loader-id='loader-circles-create'
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'
@ -36,13 +36,13 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
widget-status='hubl-status'
widget-linebreak='solid-form-hidden'
widget-description='solid-form-richtext-label'
widget-help='solid-form-hidden-label'
next='circle'
next=getRoute('circles', true)
submit-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'
)

View File

@ -1,22 +1,3 @@
solid-widget(name='hubl-circle-owner')
template
solid-display.segment.block.margin-top-xxsmall.margin-bottom-xxsmall.labelled-avatar.two-lines(
data-src='${await value}'
fields='segment1(account.picture), segment2(line1(name), line2(at, username))'
class-segment1='segment'
class-account.picture='avatar'
class-segment2='segment three-quarter margin-left-xsmall'
class-line1='segment block'
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block text-xsmall'
widget-account.picture='hubl-user-avatar'
value-at='@'
)
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')
@ -32,57 +13,13 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
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
solid-ac-checker(data-src=`${endpoints.circles || (endpoints.post && endpoints.post.circles)}`, permission='acl:Append')
solid-ac-checker(data-src=`${getComponent('circles').endpoints.post}`, permission='acl:Append')
solid-link(
class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-plus'
next='admin-circles-create'
next=`admin-${getRoute('circles', true)}-create`
data-trans='circle.list.buttonCreate'
)
solid-widget(name='hubl-admin-circle-counter')
template
div(style='float:right')
solid-display(
fields=''
data-src="${src}"
nested-field="members"
counter-template="\\\${counter}"
)
span.icon.icon-people.icon-xsmall.margin-right-xxsmall
solid-widget(name='hubl-admin-circle-counter-alternate')
template
div(style='float:right')
solid-display(
fields=''
data-src="${src}"
nested-field="circle.members"
counter-template="\\\${counter}"
)
span.icon.icon-people.icon-xsmall.margin-right-xxsmall
solid-widget(name='admin-circle-link')
template
solid-link(
data-src='${src}'
next='circle-information'
)
solid-display(
data-src='${src}'
fields='name'
)
solid-widget(name='admin-circle-link-alternate')
template
solid-display(
data-src='${src}'
nested-field='circle'
fields='name'
class-name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline text-ellipsis admin-name-ellipsis'
action-name='name'
widget-name='admin-circle-link'
)
solid-form-search.form.search-form(
id="admin-circle-filter"
fields='name'
@ -101,16 +38,15 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
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")
solid-widget(name=`leave-circle-reactivity-${component.uniq}`)
template
hubl-reactivity(data-src=`${endpoints.get.circles}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.get.circles}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.circles}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src='${value}')
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')
solid-widget(name=`hubl-admin-circle-leave-button-${component.uniq}`)
template
solid-delete(
class='segment text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
@ -118,15 +54,15 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
data-label=''
data-trans='data-label=circle.list.buttonQuit'
)
hubl-reactivity(data-src=`${endpoints.get.circles}` target-src='${src}')
hubl-reactivity(data-src=`${endpoints.get.circles}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${endpoints.post.circles}` target-src='${src}')
hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src='${src}')
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'
widget-circle=`leave-circle-reactivity-${component.uniq}`
hidden
)
@ -143,11 +79,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
class-cell3='segment table-cell third text-center'
action-circle.name='circle.name'
widget-circle.name='admin-circle-link-alternate'
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-leaveButton=`hubl-admin-circle-leave-button-${component.uniq}`
widget-circle.owner='hubl-circle-owner'
action-counter="counter"
widget-counter="hubl-admin-circle-counter-alternate"
@ -155,7 +91,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
order-by="circle.name"
)
solid-widget(name='hubl-admin-circle-join-button')
solid-widget(name=`hubl-admin-circle-join-button-${component.uniq}`)
template
solid-form(
class='join-button text-xsmall'
@ -168,17 +104,17 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
submit-button=''
data-trans='submit-button=circle.list.buttonJoin'
)
hubl-reactivity(data-src=`${endpoints.get.circles}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.get.circles}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.circles}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src='${value}')
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"
data-src=`${endpoints.circles || endpoints.get.circles}joinable/`
data-src=`${getComponent('circles').endpoints.get}joinable/`
fields='cell1(name, counter, subtitle), cell2(owner), cell3(members)'
loader-id='loader-admin-circles'
@ -188,11 +124,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac
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='admin-circle-link'
widget-name='hubl-admin-circle-link'
class-subtitle='segment full text-ellipsis'
widget-owner='hubl-circle-owner'
widget-members="hubl-admin-circle-join-button"
widget-members=`hubl-admin-circle-join-button-${component.uniq}`
action-counter="counter"
widget-counter="hubl-admin-circle-counter"

View File

@ -2,26 +2,26 @@ div.segment.full.padding-large.sm-padding-top-small.sm-padding-right-xsmall.sm-p
div.segment.half.sm-full
h2.margin-none.text-color-heading.text-uppercase.text-xlarge.text-letter-spacing-large(data-trans='project.create.title')
div.segment.half.sm-hidden.text-right
solid-link(class="backlink right", next='admin-projects' data-trans='project.create.backlink')
solid-link(class="backlink", next=`admin-${getRoute('projects', true)}` data-trans='project.create.backlink')
div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespace-normal
div#loader-projects-create.loader.loader-top
div.loader.loader-top(id=`loader-admin-${getComponent('circles').uniq}`)
div
div
div
div
solid-form.form(
data-src=`${endpoints.projects || endpoints.post.projects}`
data-src=`${getComponent('projects').endpoints.post}`
fields='status, customer.name, name, description, help, captain, linebreak'
range-captain=`${endpoints.users || endpoints.get.users}`
range-captain=`${getComponent('projects').endpoints.captains}`
required-status
required-customer.name
required-name
required-captain
loader-id='loader-projects-create'
loader-id=`loader-admin-${getComponent('circles').uniq}`
label-status=''
label-customer.name=''
@ -45,7 +45,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
widget-linebreak='solid-form-hidden'
submit-button=''
next='project'
next=getRoute('projects', true)
data-trans='label-status=project.create.labelStatus;label-customer.name=project.create.labelCustomer;label-name=project.create.labelName;label-description=project.create.labelDescription;label-captain=project.create.labelCaptain;label-help=project.create.descriptionHelp;submit-button=project.create.buttonSubmit'
)

View File

@ -7,57 +7,13 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
div.segment.half.sm-full
h3.text-color-heading.text-semibold.text-letter-spacing-large(data-trans='project.list.subTitle')
div.segment.half.sm-full.text-right
solid-ac-checker(data-src=`${endpoints.projects || (endpoints.post && endpoints.post.projects)}`, permission='acl:Append')
solid-ac-checker(data-src=`${getComponent('projects').endpoints.post}`, permission='acl:Append')
solid-link(
class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-plus'
next='admin-projects-create'
data-trans='project.list.buttonCreate'
)
solid-widget(name='hubl-admin-project-counter')
template
div(style='float:right')
solid-display(
fields=''
data-src="${src}"
nested-field="members"
counter-template="\\\${counter}"
)
span.icon.icon-people.icon-xsmall.margin-right-xxsmall
solid-widget(name='hubl-admin-project-counter-alternate')
template
div(style='float:right')
solid-display(
fields=''
data-src="${src}"
nested-field="project.members"
counter-template="\\\${counter}"
)
span.icon.icon-people.icon-xsmall.margin-right-xxsmall
solid-widget(name='admin-project-link')
template
solid-link(
data-src='${src}'
next='project-information'
)
solid-display(
data-src='${src}'
fields='customer.name'
)
solid-widget(name='admin-project-link-alternate')
template
solid-display(
data-src='${src}'
nested-field='project'
fields='name'
class-name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline text-ellipsis admin-name-ellipsis'
action-name='name'
widget-name='admin-project-link'
)
solid-form-search.form.search-form(
id="admin-project-filter"
fields='cell1'
@ -77,15 +33,15 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
div.segment.table-cell.quarter(data-trans='project.list.tableHeader3')
div.segment.table-cell.quarter(data-trans='project.list.tableHeader4')
solid-widget(name="leave-project-reactivity")
solid-widget(name=`leave-project-reactivity-${component.uniq}`)
template
hubl-reactivity(data-src=`${endpoints.get.projects}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.get.projects}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.projects}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="projects" target-src='${value}')
solid-widget(name="hubl-admin-project-leave-button")
solid-widget(name=`hubl-admin-project-leave-button-${component.uniq}`)
template
solid-delete(
class='segment text-xsmall children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
@ -93,37 +49,18 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
data-label=''
data-trans='data-label=project.list.buttonQuit'
)
hubl-reactivity(data-src=`${endpoints.get.projects}` target-src='${src}')
hubl-reactivity(data-src=`${endpoints.get.projects}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${endpoints.post.projects}` target-src='${src}')
hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${src}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${src}')
hubl-reactivity(bind-user nested-field="projects" target-src='${src}')
solid-display(
data-src="${src}"
fields="project"
widget-project='leave-project-reactivity'
widget-project=`leave-project-reactivity-${component.uniq}`
hidden
)
solid-widget(name='hubl-project-captain')
template
solid-display.segment.margin-top-xxsmall.margin-bottom-xxsmall.labelled-avatar.two-lines.block(
data-src='${await value}'
fields='segment1(account.picture), segment2(line1(name), line2(at, username))'
class-segment1='segment'
class-account.picture='avatar'
class-segment2='segment three-quarter margin-left-xsmall'
class-line1='segment block'
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block text-xsmall'
widget-account.picture='hubl-user-avatar'
value-at='@'
)
solid-form-search(
id="hubl_project_is_admin"
fields="is_admin"
@ -132,15 +69,6 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
hidden
)
solid-widget(name='hubl-project-admins')
template
solid-display(
data-src='${value}'
fields='user'
filtered-by='hubl_project_is_admin'
widget-user='hubl-project-captain'
)
solid-display(
class='table-body'
filtered-by="admin-project-filter"
@ -156,11 +84,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-cell4='segment table-cell quarter text-center'
action-project.customer.name='project.customer.name'
widget-project.customer.name='admin-project-link-alternate'
widget-project.customer.name='hubl-admin-project-link-alternate'
class-project.name='segment full'
action-leaveButton="joinButton"
widget-leaveButton="hubl-admin-project-leave-button"
widget-leaveButton=`hubl-admin-project-leave-button-${component.uniq}`
widget-project.captain='hubl-project-captain'
widget-project.members='hubl-project-admins'
@ -170,7 +98,7 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
order-by="project.name"
)
solid-widget(name='hubl-admin-project-join-button')
solid-widget(name=`hubl-admin-project-join-button-${component.uniq}`)
template
solid-form(
class='button text-xsmall text-bold text-uppercase reversed color-secondary bordered icon icon-arrow-right-circle'
@ -184,17 +112,17 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
submit-button=''
data-trans='submit-button=project.list.buttonJoin'
)
hubl-reactivity(data-src=`${endpoints.get.projects}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.get.projects}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.projects}` target-src='${value}')
hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.get}joinable/` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}` target-src='${value}')
hubl-reactivity(data-src=`${getComponent('projects').endpoints.post}joinable/` target-src='${value}')
hubl-reactivity(bind-user nested-field="projects" target-src='${value}')
solid-display(
class='table-body'
filtered-by="admin-project-filter"
data-src=`${endpoints.projects || endpoints.get.projects}joinable/`
data-src=`${getComponent('projects').endpoints.get}joinable/`
fields='cell1(customer.name, counter, name), cell2(members), cell3(captain), cell4(joinButton)'
loader-id='loader-admin-projects'
@ -204,11 +132,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
class-cell4='segment table-cell quarter text-center'
action-project.customer.name='project.customer.name'
widget-project.customer.name='admin-project-link'
widget-project.customer.name='hubl-admin-project-link'
class-name='segment full'
action-joinButton="joinButton"
widget-joinButton="hubl-admin-project-join-button"
widget-joinButton=`hubl-admin-project-join-button-${component.uniq}`
widget-captain='hubl-project-captain'
widget-members='hubl-project-admins'

View File

@ -13,7 +13,7 @@ div.segment.full.padding-large.sm-padding-top-small.sm-padding-right-xsmall.sm-p
solid-xmpp-chat(
data-authentication='login',
data-auto-login='true',
data-websocket-url=`${xmppWebsocket || 'wss://jabber.happy-dev.fr/xmpp-websocket'}`,
data-websocket-url=`${component.endpoints.xmpp}`,
data-i18n='en',
bind-resources
)

View File

@ -11,25 +11,12 @@ solid-ac-checker(permission='acl:Read', bind-resources)
class-dash='text-color-heading text-bold'
)
div.segment.half.sm-hidden.text-right
solid-link(class="backlink", bind-resources, next='circle-profile' data-trans='circle.edit.backlink')
solid-link(class="backlink", bind-resources, next=`${component.route}-profile` data-trans='circle.edit.backlink')
div.segment.full.padding-large.whitespace-normal
solid-widget(name="circle-edit-members-delete")
template
solid-ac-checker(permission="acl:Delete", data-src="${src}")
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.edit.buttonDelete'
)
solid-widget(name='hubl-circle-edit-admin')
template ${value == "true" ? "Administrateur" : ""}
solid-ac-checker(permission='acl:Write', bind-resources)
div#loader-circle-edit.loader.loader-top
div.loader.loader-top(id=`loader-${component.route}-edit`)
div
div
div
@ -43,7 +30,7 @@ div.segment.full.padding-large.whitespace-normal
required-name
required-owner
required-subtitle
range-owner=`${endpoints.users || endpoints.get.users}`
range-owner=`${component.endpoints.owners}`
label-name=''
label-owner=''
@ -67,7 +54,7 @@ div.segment.full.padding-large.whitespace-normal
partial=''
submit-button='Enregistrer'
next='circle-information'
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'
)
@ -79,7 +66,7 @@ div.segment.full.padding-large.whitespace-normal
bind-resources
nested-field='members'
fields='user'
range-user=`${endpoints.users || endpoints.get.users}`
range-user=`${component.endpoints.users}`
class-user='add-member'
widget-user='solid-form-dropdown-autocompletion'
@ -99,7 +86,7 @@ div.segment.full.padding-large.whitespace-normal
bind-resources
nested-field='members'
fields='cell(segment1(user.account.picture), segment2(line1(user.name, is_admin), line2(atom, user.communities))), self'
loader-id='loader-circle-edit'
loader-id=`loader-${component.route}-edit`
class-cell='segment table-cell half labelled-avatar two-lines text-left'
class-self='segment table-cell half text-center'
@ -122,7 +109,7 @@ div.segment.full.padding-large.whitespace-normal
widget-is_admin='hubl-circle-edit-admin'
action-self='self'
widget-self='circle-edit-members-delete'
widget-self='hubl-circle-edit-members-delete'
)
//- Only to show the table grid

View File

@ -1,10 +1,9 @@
#circle-listevents
solid-event(
class='w700'
bind-resources
nested-field="events"
range-event-type=`${endpoints.typeevents || (endpoints.get && endpoints.get.typeevents)}`
range-event-circle=`${endpoints.circles || (endpoints.get && endpoints.get.circles)}`
upload-dir=`${endpoints.uploads || (endpoints.get && endpoints.get.uploads)}`
id-prefix='circles'
)
solid-event(
class='w700'
bind-resources
nested-field="events"
range-event-type=`${component.get('events').endpoints.typeevents}`
range-event-circle=`${component.endpoints.get}`
upload-dir=`${component.get('events').endpoints.uploads}`
id-prefix='circles'
)

View File

@ -1,11 +1,10 @@
div.text-center
div.segment.margin-top-small
div.segment.shadow.padding-xlarge.text-xlarge.text-left.whitespace-normal
p(data-trans='circle.left.paragraphQuit')
p
span(data-trans='circle.left.paragraphJoin')
span  
solid-link.link(next="admin-circles" data-trans='circle.left.admin')
solid-link.link(next=`admin-${getRoute('circles', true)}` data-trans='circle.left.admin')
span  
span(data-trans='circle.left.paragraphContact')

View File

@ -1,9 +1,8 @@
#circle-polls
solid-poll(
class='w700'
id-prefix='circles'
bind-resources
nested-field="polls"
range-base-polls=`${endpoints.pollRangeBase || (endpoints.get && endpoints.get.pollRangeBase)}`
upload-dir=`${endpoints.uploads || (endpoints.get && endpoints.get.uploads)}`
)
solid-poll(
class='w700'
id-prefix='circles'
bind-resources
nested-field="polls"
range-base-polls=`${component.get('polls').endpoints.pollRangeBase}`
upload-dir=`${component.get('polls').endpoints.uploads}`
)

View File

@ -1,8 +1,12 @@
solid-router(default-route='circle-profile', hidden)
solid-route(name='circle-profile')
solid-route(name='circle-edit')
solid-router(default-route=`${component.route}-profile`, hidden)
solid-route(name=`${component.route}-profile`)
solid-route(name=`${component.route}-edit`)
#circle-profile(hidden, data-view="circle-profile")
div(
id=`${component.route}-profile`
hidden
data-view=`${component.route}-profile`
)
solid-ac-checker.segment.block(permission='acl:Read', bind-resources)
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
solid-display.text-xxlarge.text-letter-spacing-large(
@ -14,39 +18,9 @@ solid-router(default-route='circle-profile', hidden)
class-name='text-color-heading text-bold'
class-dash='text-color-heading text-bold'
)
solid-widget(name='hubl-circle-team-contact')
template
solid-link.icon.icon-secondary.hover.icon-speech.margin-left-xsmall.margin-right-medium(data-src='\${value}', next='messages')
solid-widget(name='hubl-circle-leave-button')
template
solid-ac-checker(no-permission='acl:Delete', data-src="${src}", nested-field="circle")
solid-delete(
class='button text-xsmall text-bold text-uppercase color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=circle.profile.buttonQuit'
next='circle-left'
)
solid-widget(name='hubl-circle-join-button')
template
button.button.text-xsmall.text-bold.text-uppercase.reversed.color-secondary.bordered.icon.icon-arrow-right-circle
solid-form(
bind-resource
nested-field='members'
fields='user.username'
value-user.username='hubl-workaround-493'
widget-user.username='solid-form-hidden'
submit-button=''
data-trans='submit-button=circle.profile.buttonJoin'
)
div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-xlarge
div#loader-circle-profile.loader
div.loader(id=`loader-${component.route}-profile-1`)
div
div
div
@ -56,7 +30,7 @@ solid-router(default-route='circle-profile', hidden)
solid-display.segment.half.sm-full.sm-margin-bottom-medium(
bind-resources
fields='creationDateSet(title, creationDate)'
loader-id='loader-circle-profile'
loader-id=`loader-${component.route}-profile-1`
value-title=''
data-trans='value-title=circle.profile.creationDate'
@ -67,9 +41,20 @@ solid-router(default-route='circle-profile', hidden)
.segment.half.sm-full.text-right.margin-bottom-medium.sm-margin-bottom-small
solid-ac-checker(permission='acl:Append', bind-resources, nested-field='members')
solid-ac-checker(permission='acl:Delete', bind-resources)
solid-link(class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next='circle-edit' bind-resources data-trans='circle.profile.buttonModify')
solid-link(class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next=`${component.route}-edit` bind-resources data-trans='circle.profile.buttonModify')
solid-ac-checker(no-permission='acl:Delete', bind-resources)
solid-link(class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next='circle-edit' bind-resources data-trans='circle.profile.buttonAdd')
solid-link(class='segment sm-full button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next=`${component.route}-edit` bind-resources data-trans='circle.profile.buttonAdd')
solid-widget(name=`hubl-circle-leave-button-${uniq}`)
template
solid-ac-checker(no-permission='acl:Delete', data-src="${src}", nested-field="circle")
solid-delete(
class='button text-xsmall text-bold text-uppercase color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=circle.profile.buttonQuit'
next=`${component.route}-left`
)
.segment.full.text-right.margin-bottom-large.sm-margin-bottom-medium
solid-display.segment(
@ -77,7 +62,7 @@ solid-router(default-route='circle-profile', hidden)
nested-field='members'
fields='relation'
action-relation='relation'
widget-relation='hubl-circle-leave-button'
widget-relation=`hubl-circle-leave-button-${uniq}`
search-fields='user'
search-widget-user='solid-form-hidden'
search-value-user="store://user.@id"
@ -89,7 +74,7 @@ solid-router(default-route='circle-profile', hidden)
bind-resources
data-label=''
data-trans='data-label=circle.profile.buttonDelete'
next='admin-circles'
next=`admin-${component.route}`
)
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='circle.profile.description')
@ -102,13 +87,16 @@ solid-router(default-route='circle-profile', hidden)
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='circle.profile.subTitle')
solid-widget(name='hubl-circle-user-admin')
template ${value == "true" ? "Administrateur" : ""}
div.loader(id=`loader-${component.route}-profile-2`)
div
div
div
div
solid-display.segment.full.labelled-avatar.two-lines.whitespace-normal.children.children-full.sm-children-full.children-margin-bottom-medium(
bind-resources
nested-field='members'
loader-id='loader-circle-profile'
loader-id=`loader-${component.route}-profile-2`
fields='segment1(user.account.picture), segment2(line1(user.name, user, is_admin), line2(atom, user.communities))'
class-segment1='segment'
@ -131,5 +119,9 @@ solid-router(default-route='circle-profile', hidden)
widget-is_admin='hubl-circle-user-admin'
)
#circle-edit(hidden, data-view="circle-edit")
div(
id=`${component.route}-edit`
hidden
data-view=`${component.route}-edit`
)
include page-circle-edit.pug

View File

@ -1,11 +1,10 @@
#circle-listresources
solid-resource(
class='w700'
bind-resources
nested-field="resources"
range-resource-type=`${endpoints.resourcestypes || (endpoints.get && endpoints.get.resourcestypes)}`
range-resource-keyword=`${endpoints.resourceskeywords || (endpoints.get && endpoints.get.resourceskeywords)}`
range-resource-circle=`${endpoints.circles || (endpoints.get && endpoints.get.circles)}`
upload-dir=`${endpoints.uploads || (endpoints.get && endpoints.get.uploads)}`
id-prefix='circles'
)
solid-resource(
class='w700'
bind-resources
nested-field="resources"
range-resource-type=`${component.get('resources').endpoints.resourcestypes}`
range-resource-keyword=`${component.get('resources').endpoints.resourceskeywords}`
range-resource-circle=`${component.endpoints.get}`
upload-dir=`${component.get('resources').endpoints.uploads}`
id-prefix='circles'
)

View File

@ -1,15 +1,13 @@
div
solid-link.segment.sm-hidden(next='dashboard')
img.logo(src=`${clientLogo || '/images/logo.webp'}`)
solid-link.segment.sm-hidden(next=getRoute('dashboard', true))
img.logo(src=`${client.logo || '/images/logo.webp'}`)
button.segment.lg-hidden.icon-menu#toggleMainMenu
span.tag.reversed.text-semibold(data-trans='header.beta')
div
if themeChecker
if componentSet.has("themeChecker")
div.selector.text-center
each val, index in ['primary', 'secondary', 'third', 'heading']
label.segment.margin-right-medium.margin-top-xsmall= 'Couleur ' + (index+1)
@ -18,102 +16,108 @@ div
type="text"
)
solid-notifications.segment.sm-margin-right-xlarge(
nested-field="inbox"
bind-user
)
if componentSet.has("notification")
solid-notifications.segment.sm-margin-right-xlarge(
nested-field="inbox"
bind-user
)
//- User menu visible on large screens
details.segment.sm-hidden.user-controls
summary.text-right
solid-display.labelled-avatar.padding-top-xsmall(
fields='segment1(account.picture), segment2(first_name), segment3(button)'
class-segment1='segment'
class-segment2='segment margin-left-small'
class-segment3='segment margin-left-xxsmall'
class-account.picture="avatar"
class-first_name="text-semibold text-color-heading"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
bind-user
)
div.panel
nav.bg-color-white.text-semibold.text-color-heading
ul
if (endpoints.uploads || (endpoints.get && endpoints.get.uploads)) && (endpoints.skills || (endpoints.get && endpoints.get.skills)) && (endpoints.users || (endpoints.get && endpoints.get.users))
li.border-bottom.border-color-grey
solid-link.segment.padding-small.text-hover(next='profile' data-trans='header.myProfile')
li.segment.padding-small.border-bottom.border-color-grey
div(data-trans='header.admin')
ul.text-normal
if endpoints.get.users
solid-link.text-hover(next='admin-communities')
li.segment.padding-top-small
a.icon.icon-people.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.community')
if endpoints.get.circles
solid-link.text-hover(next='admin-circles')
li.segment.padding-top-small
a.icon.icon-globe.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.circles')
if endpoints.get.projects
solid-link.text-hover(next='admin-projects')
li.segment.padding-top-small
a.icon.icon-folder-alt.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.projects')
li.border-bottom.border-color-grey
solid-link.segment.padding-small.text-hover(next='about' data-trans='header.about')
li
button.segment.padding-small.text-hover.text-semibold.text-color-heading(role='log out' onclick="document.querySelector('sib-auth').logout();" data-trans='header.logOut')
if componentSet.has("autoLogin") || componentSet.has("registering")
//- User menu visible on large screens
details.segment.sm-hidden.user-controls
summary.text-right
solid-display.labelled-avatar.padding-top-xsmall(
fields='segment1(account.picture), segment2(first_name), segment3(button)'
class-segment1='segment'
class-segment2='segment margin-left-small'
class-segment3='segment margin-left-xxsmall'
class-account.picture="avatar"
class-first_name="text-semibold text-color-heading"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
bind-user
)
div.panel
nav.bg-color-white.text-semibold.text-color-heading
ul
if componentSet.has("profileDirectory")
li.border-bottom.border-color-grey
solid-link.segment.padding-small.text-hover(next=`${getRoute("profileDirectory", true)}-profile` data-trans='header.myProfile')
if componentSet.has("admin")
li.segment.padding-small.border-bottom.border-color-grey
div(data-trans='header.admin')
ul.text-normal
if componentSet.has("communities")
solid-link.text-hover(next=`admin-${getRoute("chat", true)}`)
li.segment.padding-top-small
a.icon.icon-people.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.community')
if componentSet.has("circles")
solid-link.text-hover(next=`admin-${getRoute("circles", true)}`)
li.segment.padding-top-small
a.icon.icon-globe.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.circles')
if componentSet.has("projects")
solid-link.text-hover(next=`admin-${getRoute("projects", true)}`)
li.segment.padding-top-small
a.icon.icon-folder-alt.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.projects')
if componentSet.has("about")
li.border-bottom.border-color-grey
solid-link.segment.padding-small.text-hover(next=getRoute('about', true) data-trans='header.about')
li
button.segment.padding-small.text-hover.text-semibold.text-color-heading(role='log out' onclick="document.querySelector('sib-auth').logout();" data-trans='header.logOut')
button.segment.lg-hidden.icon-menu#toggleMainMenu
//- User menu visible on small screens
details.user-menu.segment.lg-hidden.user-controls
summary
solid-display.labelled-avatar(
fields='segment1(account.picture), segment3(button)'
class-segment1='segment'
class-segment3='segment sm-arrow-down'
class-account.picture="avatar"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
bind-user
)
solid-display.user-firstname(
fields='segment1(account.picture), segment2(first_name), segment3(button)'
class-segment1='segment'
class-segment2='segment margin-left-small'
class-segment3='segment'
class-account.picture="avatar"
class-first_name="text-semibold text-color-heading"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
bind-user
)
div.panel
nav.bg-color-white.text-semibold.text-color-heading
ul
if componentSet.has("profileDirectory")
li.border-bottom.border-color-grey
solid-link.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.text-hover(next=`${getRoute("profileDirectory", true)}-profile` data-trans='header.myProfile')
if componentSet.has("admin")
li.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.border-bottom.border-color-grey
div(data-trans='header.admin')
ul.text-normal
if componentSet.has("communities")
solid-link.text-hover(next=`admin-${getRoute("chat", true)}`)
li.segment.padding-top-small.sm-padding-top-medium
a.icon.icon-people.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.community')
if componentSet.has("circles")
solid-link.text-hover(next=`admin-${getRoute("circles", true)}`)
li.segment.padding-top-small.sm-padding-top-medium
a.icon.icon-globe.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.circles')
if componentSet.has("projects")
solid-link.text-hover(next=`admin-${getRoute("projects", true)}`)
li.segment.padding-top-small.sm-padding-top-medium
a.icon.icon-folder-alt.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.projects')
if componentSet.has("about")
li.border-bottom.border-color-grey
solid-link.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.text-hover(next=getRoute('about', true) data-trans='header.about')
li
button.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.text-hover.text-bold.text-color-heading(role='log out' onclick="document.querySelector('sib-auth').logout();" data-trans='header.logOut')
button.segment.lg-hidden.icon-menu#toggleMainMenu
//- User menu visible on small screens
details.user-menu.segment.lg-hidden.user-controls
summary
solid-display.labelled-avatar(
fields='segment1(account.picture), segment3(button)'
class-segment1='segment'
class-segment3='segment sm-arrow-down'
class-account.picture="avatar"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
bind-user
)
solid-display.user-firstname(
fields='segment1(account.picture), segment2(first_name), segment3(button)'
class-segment1='segment'
class-segment2='segment margin-left-small'
class-segment3='segment'
class-account.picture="avatar"
class-first_name="text-semibold text-color-heading"
class-button='icon icon-arrow-down'
widget-account.picture='hubl-user-avatar'
bind-user
)
div.panel
nav.bg-color-white.text-semibold.text-color-heading
ul
if (endpoints.uploads || (endpoints.get && endpoints.get.uploads)) && (endpoints.skills || (endpoints.get && endpoints.get.skills)) && (endpoints.users || (endpoints.get && endpoints.get.users))
li.border-bottom.border-color-grey
solid-link.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.text-hover(next='profile' data-trans='header.myProfile')
li.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.border-bottom.border-color-grey
div(data-trans='header.admin')
ul.text-normal
if endpoints.get.users
solid-link.text-hover(next='admin-communities')
li.segment.padding-top-small.sm-padding-top-medium
a.icon.icon-people.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.community')
if endpoints.get.circles
solid-link.text-hover(next='admin-circles')
li.segment.padding-top-small.sm-padding-top-medium
a.icon.icon-globe.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.circles')
if endpoints.get.projects
solid-link.text-hover(next='admin-projects')
li.segment.padding-top-small.sm-padding-top-medium
a.icon.icon-folder-alt.icon-third.icon-small.icon-margin-right-xsmall(data-trans='admin.menuRight.projects')
li.border-bottom.border-color-grey
solid-link.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.text-hover(next='about' data-trans='header.about')
li
button.segment.padding-small.sm-padding-medium.sm-padding-left-xlarge.text-hover.text-bold.text-color-heading(role='log out' onclick="document.querySelector('sib-auth').logout();" data-trans='header.logOut')
button.segment.lg-hidden.icon-menu#toggleMainMenu

View File

@ -1,232 +1,151 @@
solid-widget(name='hubl-counter')
template
solid-badge(data-src="${value == 'badge' ? src : value}")
solid-widget(name='hubl-menu-jabberid')
template
div.hidden(
data-jabberID="${value}"
)
solid-widget(name='hubl-menu-publicprivate')
template
div(
class="${value == 'Public' ? 'text-simple-line-icons text-large': 'text-simple-line-icons text-xsmall'}"
) ${value == 'Public' ? '#' : ''}
solid-widget(name='hubl-create-contact')
template
p.segment.full.create.text-color-white.whitespace-normal(style='display:block!important')
span(data-trans="menuLeft.contact.create")
span  
solid-link(next="members" data-trans="menuLeft.contact.profileDir")
span  
span(data-trans="menuLeft.contact.create2")
solid-widget(name='hubl-create')
template
p.segment.full.create.text-color-white.whitespace-normal(style='display:block!important')
span(data-trans="menuLeft.emptyCircleProject.notPartOf")
span  ${value}.
span(data-trans="menuLeft.emptyCircleProject.createNew")
span  
solid-link(next="${value.startsWith('proj') ? 'admin-projects' : 'admin-circles'}", data-trans="menuLeft.emptyCircleProject.adminPanel")
solid-widget(name='hubl-menu-fix-url-contact')
template
solid-link.segment.full(data-src="${value}" next="messages")
solid-display.segment.full.text-color-white.heading-active.bg-color-heading.hover.active(
data-src='${value}'
fields='segment(message(name, chatProfile.jabberID), badge)'
class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-small padding-left-medium"
class-message='segment three-quarter sub-menu-name'
class-badge='segment badge'
value-badge='${value}'
widget-badge='hubl-counter'
widget-chatProfile.jabberID='hubl-menu-jabberid'
widget-name='solid-display-div'
order-asc='username'
)
solid-widget(name='hubl-menu-fix-url-circle')
template
solid-link.segment.full(data-src="${value}" next="circle")
solid-display.segment.full.text-color-white.heading-active.bg-color-heading.hover.active(
data-src='${value}'
fields='segment(status, circle(name, jabberID), badge)'
class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-small padding-left-medium"
class-status='segment text-top sub-menu-icon'
class-circle='segment three-quarter sub-menu-name'
class-name='ellipsis-content'
class-badge='segment badge'
value-badge='${value}'
widget-status='hubl-menu-publicprivate'
widget-badge='hubl-counter'
widget-jabberID='hubl-menu-jabberid'
widget-name='solid-display-div'
order-asc="name"
)
solid-widget(name='hubl-menu-fix-url-project')
template
solid-link.segment.full(data-src="${value}" next="project")
solid-display.segment.full.text-color-white.heading-active.bg-color-heading.hover.active(
data-src='${value}'
fields='segment(status, project(customer.name, name, jabberID), badge)'
class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-small padding-left-medium"
class-status='segment text-top sub-menu-icon'
class-project='segment three-quarter sub-menu-name'
class-customer.name='ellipsis-content'
class-name='ellipsis-content'
class-badge='segment badge text-top'
value-badge='${value}'
widget-status='hubl-menu-publicprivate'
widget-jabberID='hubl-menu-jabberid'
widget-badge='hubl-counter'
widget-name='solid-display-div'
order-asc="customer.name"
)
solid-router#navbar-router(default-route='dashboard')
if endpoints.get.dashboards
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='dashboard')
div.segment.margin-right-xxsmall
div.icon.icon-small.icon-home
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.dashboard")
div.divider
if publicDirectory && endpoints.get.users
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='members')
div.segment.margin-right-xxsmall
div.icon.icon-small.icon-people
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.profileDirectory")
div.divider
if endpoints.get.joboffers
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='job-offers', rdf-type='hd:joboffer')
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-briefcase
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.jobBoard")
div.divider
if endpoints.get.resources
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='resources')
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-docs
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.resources")
div.divider
if endpoints.get.polls
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='polls')
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-bubbles
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.gov")
div.divider
if endpoints.get.events
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='events')
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-calendar
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.events")
div.divider
if endpoints.get.projects
div.menu-wrapper
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='admin-projects')
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="menuLeft.projects")
div.menu-chevron.segment
div.icon-arrow-right-circle
solid-route(name='project', rdf-type='hd:project', use-id='', hidden)
solid-route(name='admin-projects-create', hidden)
solid-route(name='project-left', hidden)
div.sub-menu.menu-notification
div#loader-projects.loader.loader-menu
div
div
div
div
solid-display.ellipsis(
bind-user
nested-field='projects'
fields='project'
loader-id='loader-projects'
empty-widget='hubl-create'
empty-value=''
data-trans="empty-value=menuLeft.emptyCircleProject.project"
widget-project='hubl-menu-fix-url-project'
order-asc="project.customer.name"
)
div.divider
if endpoints.get.circles
div.menu-wrapper
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='admin-circles')
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="menuLeft.circles")
div.menu-chevron.segment
div.menu-icon.icon-arrow-right-circle
solid-route(name='circle', rdf-type='hd:circle', use-id='', hidden)
solid-route(name='admin-circles-create')
solid-route(name='circle-left')
div.sub-menu.menu-notification
div#loader-circles.loader.loader-menu
div
div
div
div
solid-display.ellipsis(
bind-user
nested-field='circles'
fields='circle'
loader-id='loader-circles'
empty-widget='hubl-create'
empty-value=''
data-trans="empty-value=menuLeft.emptyCircleProject.circle"
widget-circle='hubl-menu-fix-url-circle'
order-asc="circle.name"
)
div.divider
div.menu-wrapper
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name='admin-communities')
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="menuLeft.messages")
div.menu-chevron.segment
div.menu-icon.icon-arrow-right-circle
solid-route(name='admin-users-create', use-id='', hidden)
solid-route(name='messages', rdf-type='foaf:user', use-id='', hidden)
div.sub-menu.menu-notification
div#loader-messages.loader.loader-menu
div
div
div
div
//- search-fields="contact.name"
//- search-label-contact.name=""
//- data-trans="search-label-contact.name=menuLeft.search"
//- search-widget-contact.name="hubl-search-users"
solid-display.segment.full.whitespace-normal(
bind-user
nested-field='contacts'
fields='contact'
loader-id='loader-messages'
empty-widget='hubl-create-contact'
empty-value=''
widget-contact='hubl-menu-fix-url-contact'
order-asc="contact.username"
)
div.divider
solid-route.menu(name='profile', hidden)
solid-route(name='about', hidden)
solid-route(name='join-community', use-id, hidden)
solid-route(name='login', hidden)
for component of components
if component.route
if component.type == "about"
solid-route(name=component.route, hidden)
if component.type == "dashboard"
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=component.route)
div.segment.margin-right-xxsmall
div.icon.icon-small.icon-home
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.dashboard")
div.divider
if component.type == "circles"
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="menuLeft.circles")
div.menu-chevron.segment
div.menu-icon.icon-arrow-right-circle
solid-route(name=`admin-${component.route}-create`)
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="menuLeft.circles")
solid-route(name=component.route, rdf-type='hd:circle', use-id='', hidden)
solid-route(name=`${component.route}-left`)
div.sub-menu.menu-notification
div.loader.loader-menu(id=`loader-${component.route}`)
div
div
div
div
solid-display.ellipsis(
bind-user
nested-field='circles'
fields='circle'
loader-id=`loader-${component.route}`
empty-widget='hubl-menu-create'
empty-value=''
data-trans="empty-value=menuLeft.emptyCircleProject.circle"
widget-circle='hubl-menu-fix-url-circle'
order-asc="circle.name"
)
div.divider
if component.type == "chat"
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="menuLeft.messages")
div.menu-chevron.segment
div.menu-icon.icon-arrow-right-circle
solid-route(name=`admin-${component.route}-create`, use-id='', hidden)
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="menuLeft.messages")
solid-route(name=component.route, rdf-type='foaf:user', use-id='', hidden)
div.sub-menu.menu-notification
div.loader.loader-menu(id=`loader-${component.route}`)
div
div
div
div
//- search-fields="contact.name"
//- search-label-contact.name=""
//- data-trans="search-label-contact.name=menuLeft.search"
//- search-widget-contact.name="hubl-search-users"
solid-display.segment.full.whitespace-normal(
bind-user
nested-field='contacts'
fields='contact'
loader-id=`loader-${component.route}`
empty-widget='hubl-create-contact'
empty-value=''
widget-contact='hubl-menu-fix-url-contact'
order-asc="contact.username"
)
if component.type == "projects"
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="menuLeft.projects")
div.menu-chevron.segment
div.icon-arrow-right-circle
solid-route(name=`admin-${component.route}-create`, hidden)
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="menuLeft.projects")
solid-route(name=component.route, rdf-type='hd:project', use-id='', hidden)
solid-route(name=`${component.route}-left`, hidden)
div.sub-menu.menu-notification
div.loader.loader-menu(id=`loader-${component.route}`)
div
div
div
div
solid-display.ellipsis(
bind-user
nested-field='projects'
fields='project'
loader-id=`loader-${component.route}`
empty-widget='hubl-menu-create'
empty-value=''
data-trans="empty-value=menuLeft.emptyCircleProject.project"
widget-project='hubl-menu-fix-url-project'
order-asc="project.customer.name"
)
div.divider
if component.type == "profileDirectory"
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=component.route)
div.segment.margin-right-xxsmall
div.icon.icon-small.icon-people
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.profileDirectory")
solid-route.menu(name=`${component.route}-profile`, hidden)
div.divider
if component.type == "jobBoard"
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=component.route, rdf-type='hd:joboffer')
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-briefcase
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.jobBoard")
div.divider
if component.type == "resources"
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=component.route)
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-docs
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.resources")
div.divider
if component.type == "polls"
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=component.route)
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-bubbles
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.gov")
div.divider
if component.type == "events"
solid-route.menu.segment.full.padding-small.text-semibold.text-color-white.heading-active.bg-color-heading.hover.active(name=component.route)
div.segment.margin-right-xxsmall
div.segment.icon.icon-small.icon-calendar
div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.events")
div.divider
if componentSet.has('registering')
solid-route(name='join-community', use-id, hidden)
solid-route(name='login', hidden)

View File

@ -17,7 +17,7 @@ div.segment.full.padding-large.sm-padding-top-small.sm-padding-right-xsmall.sm-p
solid-xmpp-chat(
data-authentication='login',
data-auto-login='true',
data-websocket-url=`${xmppWebsocket || 'wss://jabber.happy-dev.fr/xmpp-websocket'}`,
data-websocket-url=`${component.endpoints.xmpp}`,
data-i18n='en',
bind-resources
)

View File

@ -15,25 +15,12 @@ solid-ac-checker(permission='acl:Read', bind-resources)
value-dash=' - '
)
div.segment.half.sm-hidden.text-right
solid-link(class='backlink', bind-resources, next='project-profile' data-trans='project.edit.backlink')
solid-link(class='backlink', bind-resources, next=`${component.route}-profile` data-trans='project.edit.backlink')
div.segment.full.padding-large.whitespace-normal
solid-widget(name="project-edit-members-delete")
template
solid-ac-checker(permission="acl:Delete", data-src="${src}")
solid-delete(
class='segment text-xsmall children-link-text-bold children-link-text-uppercase children-link-button children-link-color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=project.edit.buttonDelete'
)
solid-widget(name='hubl-project-edit-admin')
template ${value == "true" ? "Administrateur" : ""}
solid-ac-checker(permission='acl:Write', bind-resources)
div#loader-project-edit.loader.loader-top
div.loader.loader-top(id=`loader-${component.route}-edit`)
div
div
div
@ -42,12 +29,12 @@ div.segment.full.padding-large.whitespace-normal
//- Add translation for description and captain in the translate file
solid-form.form(
bind-resources
fields='customer.name, name, description, help, captain, linebreak'
required-customer.name
required-name
required-captain
range-captain=`${endpoints.users || endpoints.get.users}`
range-captain=`${component.endpoints.captains}`
label-name=''
label-customer.name=''
@ -66,12 +53,12 @@ div.segment.full.padding-large.whitespace-normal
widget-captain='solid-form-dropdown-autocompletion-label'
widget-linebreak='solid-form-hidden'
widget-help='solid-form-hidden-label'
partial=""
submit-button='Enregistrer'
next='project-information'
next=`${component.route}-information`
data-trans='label-name=project.edit.labelName;label-captain=project.edit.labelCaptain;label-customer.name=project.edit.labelCustomer;label-description=project.edit.labelDescription;label-help=project.edit.descriptionHelp;submit-button=project.edit.buttonSubmit'
)
@ -82,7 +69,7 @@ div.segment.full.padding-large.whitespace-normal
bind-resources
nested-field='members'
fields='user'
range-user=`${endpoints.users || endpoints.get.users}`
range-user=`${component.endpoints.users}`
class-user='add-member whitespace-normal'
label-user=''
@ -98,13 +85,12 @@ div.segment.full.padding-large.whitespace-normal
div.segment.table-cell.half(data-trans='project.edit.tableHeader2')
div.segment.table-cell.half(data-trans='project.edit.tableHeader1')
//-class='table-body'
solid-display(
class='table-body'
bind-resources
nested-field='members'
fields='cell(segment1(user.account.picture), segment2(line1(user.name, is_admin), line2(atom, user.communities))), self'
loader-id='loader-project-edit'
loader-id=`loader-${component.route}-edit`
class-cell='segment table-cell half labelled-avatar two-lines text-left'
class-self='segment table-cell half text-center'
@ -119,7 +105,7 @@ div.segment.full.padding-large.whitespace-normal
class-line2='segment block'
class-atom='icon icon-large icon-third mdi-atom margin-right-xxsmall'
class-user.communities='full'
multiple-user.communities
multiple-user.communities-fields="community.name"
@ -127,5 +113,5 @@ div.segment.full.padding-large.whitespace-normal
widget-is_admin='hubl-project-edit-admin'
action-self='self'
widget-self='project-edit-members-delete'
widget-self='hubl-project-edit-members-delete'
)

View File

@ -1,12 +1,10 @@
#project-left
div.text-center
div.segment.margin-top-small
div.segment.shadow.padding-xlarge.text-xlarge.text-left.whitespace-normal
p(data-trans='circle.left.paragraphQuit')
p
span(data-trans='project.left.paragraphJoin')
span  
solid-link.link(next="admin-projects" data-trans='project.left.admin')
span  
span(data-trans='project.left.paragraphContact')
div.text-center
div.segment.margin-top-small
div.segment.shadow.padding-xlarge.text-xlarge.text-left.whitespace-normal
p(data-trans='circle.left.paragraphQuit')
p
span(data-trans='project.left.paragraphJoin')
span  
solid-link.link(next=`admin-${getRoute('projects', true)}` data-trans='project.left.admin')
span  
span(data-trans='project.left.paragraphContact')

View File

@ -1,15 +1,15 @@
div.content-box__info
solid-link(class='backlink', bind-resources, next='project-edit' data-trans='project.modifyPicture.backlink')
//- div.content-box__info
h1(data-trans='project.modifyPicture.title')
solid-picture.project-edit-picture(
bind-resources
upload-src=`${endpoints.uploads || endpoints.post.uploads}`
upload-id="solid-project-edit-picture"
nested-fields='customer'
fields='logo'
next='project-edit'
additional='name'
)
//- solid-link(class='backlink', bind-resources, next=`${component.route}-edit` data-trans='project.modifyPicture.backlink')
//- h1(data-trans='project.modifyPicture.title')
//- solid-picture.project-edit-picture(
//- bind-resources
//- upload-src=`${component.endpoints.uploads}`
//- upload-id="solid-project-edit-picture"
//- nested-fields='customer'
//- fields='logo'
//- next=`${component.route}-edit`
//- additional='name'
//- )

View File

@ -1,8 +1,12 @@
solid-router(default-route='project-profile', hidden)
solid-route(name='project-profile')
solid-route(name='project-edit')
solid-router(default-route=`${component.route}-profile`, hidden)
solid-route(name=`${component.route}-profile`)
solid-route(name=`${component.route}-edit`)
#project-profile(hidden, data-view="project-profile")
div(
id=`${component.route}-profile`
hidden
data-view=`${component.route}-profile`
)
solid-ac-checker.segment.block(permission='acl:Read', bind-resources)
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
solid-display.text-xxlarge.text-letter-spacing-large(
@ -14,27 +18,23 @@ solid-router(default-route='project-profile', hidden)
class-customer.name='text-color-heading text-bold text-uppercase'
class-dash='text-color-heading text-bold text-xlarge'
class-name=''
value-const-title1='N°'
value-dash=' - '
)
solid-widget(name='hubl-project-team-contact')
template
solid-link.icon.icon-secondary.hover.icon-speech.margin-left-xsmall.margin-right-medium(data-src='\${value}', next='messages')
div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-xlarge
div#loader-project-profile.loader
div.loader(id=`loader-${component.route}-profile`)
div
div
div
div
div.whitespace-normal
solid-display.segment.half.sm-full.sm-margin-bottom-medium(
bind-resources
fields='creationDateSet(title, creationDate)'
loader-id='loader-project-profile'
loader-id=`loader-${component.route}-profile`
class-title='word-spacing-right'
@ -43,30 +43,30 @@ solid-router(default-route='project-profile', hidden)
widget-creationDate='solid-display-value-date'
)
solid-ac-checker.segment.half.sm-full.text-right(permission='acl:Append', bind-resources, nested-field='members')
solid-ac-checker(permission='acl:Delete', bind-resources)
solid-link(class='segment sm-full margin-bottom-large sm-margin-bottom-medium button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next='project-edit' bind-resources data-trans='project.profile.buttonModify')
solid-link(class='segment sm-full margin-bottom-large sm-margin-bottom-medium button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next=`${component.route}-edit` bind-resources data-trans='project.profile.buttonModify')
solid-ac-checker(no-permission='acl:Delete', bind-resources)
solid-link(class='segment sm-full margin-bottom-large sm-margin-bottom-medium button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next='project-edit' bind-resources data-trans='project.profile.buttonAdd')
solid-link(class='segment sm-full margin-bottom-large sm-margin-bottom-medium button text-xsmall text-bold text-uppercase text-center reversed color-secondary bordered icon icon-pencil' next=`${component.route}-edit` bind-resources data-trans='project.profile.buttonAdd')
solid-ac-checker.segment.full.text-right.margin-bottom-large.sm-margin-bottom-medium(permission='acl:Delete', bind-resources)
solid-delete(
class='segment sm-full children-link-button text-xsmall text-center children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered'
bind-resources
data-label=''
data-trans='data-label=project.profile.buttonDelete'
next='admin-projects'
next=`admin-${component.route}`
)
solid-widget(name='hubl-project-leave-button')
solid-widget(name=`hubl-project-leave-button-${component.uniq}`)
template
solid-delete(
class='button text-xsmall text-bold text-uppercase color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=project.profile.buttonQuit'
next='project-left'
next=`${component.route}-left`
)
solid-ac-checker.segment.full.text-right.margin-bottom-large.sm-margin-bottom-medium(no-permission='acl:Delete', bind-resources)
@ -76,13 +76,13 @@ solid-router(default-route='project-profile', hidden)
fields='relation'
action-relation='relation'
widget-relation='hubl-project-leave-button'
widget-relation=`hubl-project-leave-button-${component.uniq}`
search-fields='user'
search-widget-user='solid-form-hidden'
search-value-user="store://user.@id"
)
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.profile.captain')
solid-display(
@ -92,7 +92,7 @@ solid-router(default-route='project-profile', hidden)
)
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.profile.description')
solid-display.segment.block.sm-hidden.whitespace-normal(
bind-resources
fields='description'
@ -124,5 +124,9 @@ solid-router(default-route='project-profile', hidden)
widget-user='hubl-project-team-contact'
)
#project-edit(hidden, data-view="project-edit")
div(
id=`${component.route}-edit`
hidden
data-view=`${component.route}-edit`
)
include page-project-edit.pug

View File

@ -1,4 +1,35 @@
//- Import your widgets from the `widget`folder here
include widgets/hubl-action-community.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-community-counter.pug
include widgets/hubl-admin-project-counter-alternate.pug
include widgets/hubl-admin-project-counter.pug
include widgets/hubl-admin-project-link-alternate.pug
include widgets/hubl-admin-project-link.pug
include widgets/hubl-captain.pug
include widgets/hubl-user-avatar.pug
include widgets/hubl-circle-edit-admin.pug
include widgets/hubl-circle-edit-members-delete.pug
include widgets/hubl-circle-join-button.pug
include widgets/hubl-circle-owner.pug
include widgets/hubl-circle-team-contact.pug
include widgets/hubl-circle-user-admin.pug
include widgets/hubl-counter.pug
include widgets/hubl-create-contact.pug
include widgets/hubl-email-field.pug
include widgets/hubl-menu-create.pug
include widgets/hubl-menu-fix-url-circle.pug
include widgets/hubl-menu-fix-url-contact.pug
include widgets/hubl-menu-fix-url-project.pug
include widgets/hubl-menu-jabberid.pug
include widgets/hubl-menu-publicprivate.pug
include widgets/hubl-project-admins.pug
include widgets/hubl-project-captain.pug
include widgets/hubl-project-edit-admin.pug
include widgets/hubl-project-edit-members-delete.pug
include widgets/hubl-project-team-contact.pug
include widgets/hubl-user-avatar.pug
include widgets/hubl-username-field.pug

View File

@ -0,0 +1,12 @@
if componentSet.has('admin') && componentSet.has('chat')
solid-widget(name='hubl-action-community')
template
solid-ac-checker(data-src="${value}", nested-field="members", permission='acl:Append')
solid-link(
class='button text-small text-bold text-uppercase reversed color-secondary bordered icon icon-plus'
data-src="${value}"
next=`admin-${getRoute("chat", true)}-create`
data-trans='communities.linkInvite'
)
solid-ac-checker(data-src="${value}", nested-field="members", no-permission='acl:Append')
div.button.button-disabled(data-trans='communities.noPermission')

View File

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

View File

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

View File

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

View File

@ -0,0 +1,11 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-admin-circle-link')
template
solid-link(
data-src='${src}'
next=`${getRoute('circles', true)}-information`
)
solid-display(
data-src='${src}'
fields='name'
)

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,11 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-admin-project-link')
template
solid-link(
data-src='${src}'
next=`${getRoute('projects')}-information`
)
solid-display(
data-src='${src}'
fields='customer.name'
)

View File

@ -1,31 +1,29 @@
solid-widget(name='hubl-captain-contact')
if componentSet.has('projects')
solid-widget(name='hubl-captain-contact')
template
solid-link.icon.icon-secondary.hover.icon-speech.margin-left-xsmall.margin-right-medium(data-src='\${value}', next='messages')
solid-link.icon.icon-secondary.hover.icon-speech.margin-left-xsmall.margin-right-medium(data-src='\${value}', next=getRoute('chat', true))
solid-widget(name='hubl-captain')
template
solid-display.segment.full.margin-bottom-large.labelled-avatar.two-lines(
data-src="${value}"
fields='segment1(account.picture), segment2(line1(name, user), line2(atom, communities))'
solid-widget(name='hubl-captain')
template
solid-display.segment.full.margin-bottom-large.labelled-avatar.two-lines(
data-src="${value}"
fields='segment1(account.picture), segment2(line1(name, user), line2(atom, communities))'
class-segment1='segment'
class-account.picture='avatar'
class-segment2='segment three-quarter margin-left-xsmall'
class-line1='segment block'
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block'
class-atom='icon icon-large icon-third mdi-atom margin-right-xxsmall'
class-communities='full'
class-segment1='segment'
class-account.picture='avatar'
value-user='${value}'
class-segment2='segment three-quarter margin-left-xsmall'
class-line1='segment block'
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block'
class-atom='icon icon-large icon-third mdi-atom margin-right-xxsmall'
class-communities='full'
multiple-communities
multiple-communities-fields='community.name'
value-user='${value}'
widget-account.picture='hubl-user-avatar'
widget-user='hubl-captain-contact'
)
//- To remove from translate file :
data-trans='value-is_lead=template-captain.isLead'
multiple-communities
multiple-communities-fields='community.name'
widget-account.picture='hubl-user-avatar'
widget-user='hubl-captain-contact'
)

View File

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

View File

@ -0,0 +1,10 @@
if componentSet.has('circles')
solid-widget(name="hubl-circle-edit-members-delete")
template
solid-ac-checker(permission="acl:Delete", data-src="${src}")
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.edit.buttonDelete'
)

View File

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

View File

@ -0,0 +1,19 @@
if componentSet.has('admin') && componentSet.has('circles')
solid-widget(name='hubl-circle-owner')
template
solid-display.segment.block.margin-top-xxsmall.margin-bottom-xxsmall.labelled-avatar.two-lines(
data-src='${await value}'
fields='segment1(account.picture), segment2(line1(name), line2(at, username))'
class-segment1='segment'
class-account.picture='avatar'
class-segment2='segment three-quarter margin-left-xsmall'
class-line1='segment block'
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block text-xsmall'
widget-account.picture='hubl-user-avatar'
value-at='@'
)

View File

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

View File

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

View File

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

View File

@ -0,0 +1,9 @@
if componentSet.has('chat')
solid-widget(name='hubl-create-contact')
template
p.segment.full.create.text-color-white.whitespace-normal(style='display:block!important')
span(data-trans="menuLeft.contact.create")
span  
solid-link(next=getRoute('profileDirectory', true) data-trans="menuLeft.contact.profileDir")
span  
span(data-trans="menuLeft.contact.create2")

View File

@ -0,0 +1,6 @@
if componentSet.has('admin') && componentSet.has('chat')
solid-widget(name='hubl-email-field')
template
div.segment.margin-bottom-medium.half.sm-full.padding-left-small.sm-padding-none.text-small.text-semibold.text-uppercase.text-color-heading
label ${label}
input(type="email" label='${label}' name="email" required value="\${value}" data-holder)

View File

@ -0,0 +1,10 @@
if componentSet.has('circles') || componentSet.has('projects')
solid-widget(name='hubl-menu-create')
template
p.segment.full.create.text-color-white.whitespace-normal(style='display:block!important')
span(data-trans="menuLeft.emptyCircleProject.notPartOf")
span  ${value}.
if componentSet.has('admin')
span(data-trans="menuLeft.emptyCircleProject.createNew")
span  
solid-link(next=`\${value.startsWith('proj') ? 'admin-${getRoute('projects', true)}' : 'admin-${getRoute('circles', true)}'}`, data-trans="menuLeft.emptyCircleProject.adminPanel")

View File

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

View File

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

View File

@ -0,0 +1,25 @@
if componentSet.has('projects')
solid-widget(name='hubl-menu-fix-url-project')
template
solid-link.segment.full(data-src="${value}" next=getRoute('projects', true))
solid-display.segment.full.text-color-white.heading-active.bg-color-heading.hover.active(
data-src='${value}'
fields='segment(status, project(customer.name, name, jabberID), badge)'
class-segment="segment full padding-top-xxsmall padding-bottom-xxsmall padding-right-small padding-left-medium"
class-status='segment text-top sub-menu-icon'
class-project='segment three-quarter sub-menu-name'
class-customer.name='ellipsis-content'
class-name='ellipsis-content'
class-badge='segment badge text-top'
value-badge='${value}'
widget-status='hubl-menu-publicprivate'
widget-jabberID='hubl-menu-jabberid'
widget-badge='hubl-counter'
widget-name='solid-display-div'
order-asc="customer.name"
)

View File

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

View File

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

View File

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

View File

@ -0,0 +1,19 @@
if componentSet.has('admin') && componentSet.has('projects')
solid-widget(name='hubl-project-captain')
template
solid-display.segment.margin-top-xxsmall.margin-bottom-xxsmall.labelled-avatar.two-lines.block(
data-src='${await value}'
fields='segment1(account.picture), segment2(line1(name), line2(at, username))'
class-segment1='segment'
class-account.picture='avatar'
class-segment2='segment three-quarter margin-left-xsmall'
class-line1='segment block'
class-name='text-small text-semibold text-color-heading text-sub'
class-line2='segment block text-xsmall'
widget-account.picture='hubl-user-avatar'
value-at='@'
)

View File

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

View File

@ -0,0 +1,10 @@
if componentSet.has('projects')
solid-widget(name="hubl-project-edit-members-delete")
template
solid-ac-checker(permission="acl:Delete", data-src="${src}")
solid-delete(
class='segment text-xsmall children-link-text-bold children-link-text-uppercase children-link-button children-link-color-secondary bordered'
data-src="${src}"
data-label=''
data-trans='data-label=project.edit.buttonDelete'
)

View File

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

View File

@ -0,0 +1,5 @@
if componentSet.has('admin') && componentSet.has('chat')
solid-widget(name='hubl-username-field')
template
label ${label}
input(type="text" title='' pattern="[a-zA-Z0-9]+" label="${label}" data-trans='title=user.create.labelUsernameTitle' name="username" required value="\${value}" data-holder)