diff --git a/src/index.pug b/src/index.pug index 0c30a3d..e63f1e6 100644 --- a/src/index.pug +++ b/src/index.pug @@ -61,7 +61,7 @@ html(lang="en") include views/page-directory.pug if endpoints.get.projects - #project(hidden, data-view="project", no-render).with-sidebar.whitespace-normal + #project(hidden, data-view="project").with-sidebar.whitespace-normal hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.projects") hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src=`${endpoints.get.projects}`) hubl-reactivity(data-src=`${endpoints.post.projects}` target-src=`${endpoints.get.projects}`) @@ -73,7 +73,7 @@ html(lang="en") include views/page-project.pug if endpoints.get.circles - #circle(hidden, data-view="circle", no-render).with-sidebar.whitespace-normal + #circle(hidden, data-view="circle").with-sidebar.whitespace-normal hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.circles") hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src=`${endpoints.get.circles}`) hubl-reactivity(data-src=`${endpoints.post.circles}` target-src=`${endpoints.get.circles}`) diff --git a/src/styles/index.scss b/src/styles/index.scss index ffd5ccc..1a507b8 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -30,6 +30,10 @@ main#content { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + &.admin-name-ellipsis { + display: inline-block; + width: 75%; + } } diff --git a/src/views/page-circle.pug b/src/views/page-circle.pug index c1528c7..3a9e793 100644 --- a/src/views/page-circle.pug +++ b/src/views/page-circle.pug @@ -1,14 +1,14 @@ .scrollbar-content.views-container.sidebar-is-closed.bg-color-white solid-ac-checker(permission='acl:Read', bind-resources) - #circle-chat(hidden, data-view="circle-chat") + #circle-chat(hidden, data-view="circle-chat", no-render) include partials/circle/page-circle-chat.pug - #circle-information(hidden, data-view="circle-information") + #circle-information(hidden, data-view="circle-information", no-render) include partials/circle/page-circle-profile.pug - #circle-events(hidden, data-view="circle-events") + #circle-events(hidden, data-view="circle-events", no-render) include partials/circle/page-circle-events.pug - #circle-resources(hidden, data-view="circle-resources") + #circle-resources(hidden, data-view="circle-resources", no-render) include partials/circle/page-circle-resources.pug - #circle-polls(hidden, data-view="circle-polls") + #circle-polls(hidden, data-view="circle-polls", no-render) include partials/circle/page-circle-polls.pug nav.jsRightMenu.text-disable-selection.sidebar.whitespace-normal(role='navigation') diff --git a/src/views/page-project.pug b/src/views/page-project.pug index 7f183c1..281ad6c 100644 --- a/src/views/page-project.pug +++ b/src/views/page-project.pug @@ -1,10 +1,10 @@ .scrollbar-content.views-container.sidebar-is-closed.bg-color-white solid-ac-checker(permission='acl:Read', bind-resources) - #project-chat(hidden, data-view="project-chat") + #project-chat(hidden, data-view="project-chat", no-render) include partials/project/page-project-chat.pug - #project-information(hidden, data-view="project-information") + #project-information(hidden, data-view="project-information", no-render) include partials/project/page-project-profile.pug - #project-picture(hidden, data-view="project-picture") + #project-picture(hidden, data-view="project-picture", no-render) include partials/project/page-project-picture.pug nav.jsRightMenu.text-disable-selection.sidebar.whitespace-normal(role='navigation') diff --git a/src/views/partials/admin/page-admin-circles.pug b/src/views/partials/admin/page-admin-circles.pug index f765d35..02eea1c 100644 --- a/src/views/partials/admin/page-admin-circles.pug +++ b/src/views/partials/admin/page-admin-circles.pug @@ -61,6 +61,28 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac ) 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' + ) + .segment.table-wrapper .table @@ -69,6 +91,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") + 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(bind-user nested-field="circles" target-src='${value}') + + solid-widget(name='hubl-admin-circle-leave-button') template solid-delete( @@ -77,12 +108,17 @@ 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.circles || endpoints.get.circles}` target-src='${src}') - hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}joinable/` target-src='${src}') + 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(bind-user nested-field="circles" target-src='${src}') - if (endpoints.post && endpoints.post.circles) && (endpoints.get && endpoints.get.circles) - hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src=`${src}`) - hubl-reactivity(data-src=`${endpoints.post.circles}` target-src=`${src}`) + solid-display( + data-src="${src}" + fields="circle" + widget-circle='leave-circle-reactivity' + hidden + ) solid-display( class='table-body' @@ -95,7 +131,8 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac class-cell2='segment table-cell third text-center text-left' class-cell3='segment table-cell third text-center' - class-circle.name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline ellipsis' + action-circle.name='circle.name' + widget-circle.name='admin-circle-link-alternate' class-circle.subtitle='segment full text-ellipsis' action-leaveButton="joinButton" @@ -120,12 +157,11 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac submit-button='Join' data-trans='submit-button=circle.list.buttonJoin' ) - hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}` target-src='${value}') - hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}joinable/` target-src='${value}') + hubl-reactivity(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(bind-user nested-field="circles" target-src='${value}') - if (endpoints.post && endpoints.post.circles) && (endpoints.get && endpoints.get.circles) - hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src=`${value}`) - hubl-reactivity(data-src=`${endpoints.post.circles}` target-src=`${value}`) solid-display( class='table-body' @@ -138,7 +174,9 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-normal.whitespac 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 ellipsis' + 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' class-subtitle='segment full text-ellipsis' widget-owner='hubl-circle-owner' diff --git a/src/views/partials/admin/page-admin-projects.pug b/src/views/partials/admin/page-admin-projects.pug index 1d0775c..1ff4c57 100644 --- a/src/views/partials/admin/page-admin-projects.pug +++ b/src/views/partials/admin/page-admin-projects.pug @@ -36,6 +36,28 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac ) 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' + ) + .segment.table-wrapper .table @@ -45,6 +67,14 @@ 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") + 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(bind-user nested-field="projects" target-src='${value}') + solid-widget(name="hubl-admin-project-leave-button") template solid-delete( @@ -53,12 +83,17 @@ 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.projects || endpoints.get.projects}` target-src='${src}') - hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src='${src}') + 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(bind-user nested-field="projects" target-src='${src}') - if (endpoints.post && endpoints.post.projects) && (endpoints.get && endpoints.get.projects) - hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src=`${src}`) - hubl-reactivity(data-src=`${endpoints.post.projects}` target-src=`${src}`) + solid-display( + data-src="${src}" + fields="project" + widget-project='leave-project-reactivity' + hidden + ) solid-widget(name='hubl-project-captain') template @@ -108,7 +143,8 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac class-cell3='segment table-cell quarter text-left' class-cell4='segment table-cell quarter text-center' - class-project.customer.name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline ellipsis' + action-project.customer.name='project.customer.name' + widget-project.customer.name='admin-project-link-alternate' class-project.name='segment full' action-leaveButton="joinButton" @@ -136,12 +172,11 @@ 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.projects || endpoints.get.projects}` target-src='${src}') - hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src='${src}') - hubl-reactivity(bind-user nested-field="projects" target-src='${src}') - if (endpoints.post && endpoints.post.projects) && (endpoints.get && endpoints.get.projects) - hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src=`${value}`) - hubl-reactivity(data-src=`${endpoints.post.projects}` target-src=`${value}`) + 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(bind-user nested-field="projects" target-src='${value}') solid-display( class='table-body' @@ -155,7 +190,8 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac class-cell3='segment table-cell quarter text-left' class-cell4='segment table-cell quarter text-center' - class-customer.name='segment block margin-bottom-xxsmall text-xlarge text-color-heading text-semibold text-letter-spacing-large text-underline ellpsis' + action-project.customer.name='project.customer.name' + widget-project.customer.name='admin-project-link' class-name='segment full' action-joinButton="joinButton" diff --git a/src/views/partials/circle/page-circle-profile.pug b/src/views/partials/circle/page-circle-profile.pug index ecc2013..18f9d8a 100644 --- a/src/views/partials/circle/page-circle-profile.pug +++ b/src/views/partials/circle/page-circle-profile.pug @@ -18,6 +18,32 @@ solid-router(default-route='circle-profile', hidden) 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 @@ -38,20 +64,34 @@ solid-router(default-route='circle-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='circle-edit' bind-resources data-trans='circle.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='circle-edit' bind-resources data-trans='circle.profile.buttonAdd') + .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-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-ac-checker.segment.full.text-right.margin-bottom-large.sm-margin-bottom-medium(permission='acl:Delete', bind-resources) - solid-delete( - class='segment sm-full text-xsmall text-center children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered' + .segment.full.text-right.margin-bottom-large.sm-margin-bottom-medium + solid-display.segment( bind-resources - data-label='' - data-trans='data-label=circle.profile.buttonDelete' - next='admin-circles' + nested-field='members' + fields='relation' + action-relation='relation' + widget-relation='hubl-circle-leave-button' + search-fields='user' + search-widget-user='solid-form-hidden' + search-value-user="" + empty-widget='hubl-circle-join-button' + hubl-inherit-user-id="search-value-user" ) + solid-ac-checker.segment.margin-left-small(permission='acl:Delete', bind-resources) + solid-delete( + class='segment sm-full text-xsmall text-center children-link-button children-link-text-bold children-link-text-uppercase children-link-color-secondary bordered' + bind-resources + data-label='' + data-trans='data-label=circle.profile.buttonDelete' + next='admin-circles' + ) h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='circle.profile.description') @@ -61,46 +101,6 @@ solid-router(default-route='circle-profile', hidden) widget-description='solid-display-value-markdown' ) - 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( - data-src='' - 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' - ) - - solid-display( - bind-resources - nested-field='members' - fields='relation' - action-relation='relation' - widget-relation='hubl-circle-leave-button' - search-fields='user' - search-widget-user='solid-form-hidden' - search-value-user="" - empty-widget='hubl-circle-join-button' - hubl-inherit-bind-resources='hubl-circle-join-button' - hubl-inherit-user-id="search-value-user" - ) - h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='circle.profile.subTitle') solid-widget(name='hubl-circle-user-admin') @@ -121,7 +121,7 @@ solid-router(default-route='circle-profile', hidden) class-line2='segment block' class-atom='icon icon-large icon-third mdi-atom margin-right-xxsmall' class-user.communities='full' - + class-is_admin='segment tag color-primary' multiple-user.communities diff --git a/src/views/partials/project/page-project-profile.pug b/src/views/partials/project/page-project-profile.pug index 8b5c616..f09ca23 100644 --- a/src/views/partials/project/page-project-profile.pug +++ b/src/views/partials/project/page-project-profile.pug @@ -69,7 +69,7 @@ solid-router(default-route='project-profile', hidden) next='project-left' ) - solid-ac-checker.segment.full.text-right.margin-bottom-large(no-permission='acl:Delete', bind-resources) + solid-ac-checker.segment.full.text-right.margin-bottom-large.sm-margin-bottom-medium(no-permission='acl:Delete', bind-resources) solid-display( bind-resources nested-field='members'