diff --git a/src/scripts/index.js b/src/scripts/index.js index 4b7e6fe..e9eedba 100644 --- a/src/scripts/index.js +++ b/src/scripts/index.js @@ -36,11 +36,9 @@ function recursiveAdaptWidgets(prefix, element, user) { } //- In case your sib-display use a multiple, you have to target sub-sib-display auto-generated - if (element.getAttribute(prefix + "-widgets-multiple") !== null) { - element.querySelectorAll("div > sib-display").forEach(el => { - el.setAttribute(prefix + "-widgets", ""); - }); - } + element.querySelectorAll("sib-display, sib-form, div > sib-display, div > sib-form").forEach(el => { + el.setAttribute(prefix + "-widgets", ""); + }); } //- This function is hooked every time a sib-something with prefix+"-widgets" is populated @@ -125,6 +123,7 @@ async function refreshResource(event) { if(resourceId.includes('circle') && user != null) { let userId = user['@id']; refreshSibDisplays(userId + "circles/"); + refreshSibDisplays(resourceId.split('/').slice(0,4).join('/')+'/joinable/'); } //clear cache on this resource diff --git a/src/views/admin/page-admin-circles.pug b/src/views/admin/page-admin-circles.pug index cab4012..b84078e 100644 --- a/src/views/admin/page-admin-circles.pug +++ b/src/views/admin/page-admin-circles.pug @@ -51,57 +51,50 @@ data-label='Leave circle' ) + sib-display( + class='table-body' + + bind-user + nested-field='circles' + fields='circle.name, circle.owner, leaveButton' + + class-circle.name='w33 cell border cell-with-name' + class-circle.owner='w33 cell border cell-with-id-card' + class-leaveButton='w33 cell border cell-with-buttons' + + action-leaveButton="joinButton" + widget-leaveButton="admin-circle-leave-button" + widget-circle.owner='circle-owner' + ) + sib-widget(name='admin-circle-join-button') template - button.button.text-bold.text-uppercase.reversed.button-blue.bordered.with-icon.icon-arrow-right-circle.test - sib-form( - data-src='' - nested-field='members' + sib-form.button.text-bold.text-uppercase.reversed.button-blue.bordered.with-icon.icon-arrow-right-circle.test( + data-src='${value}' - fields='user.@id' - label-user.@id='' - value-user.@id='' - widget-user.@id='sib-form-hidden' + fields='user.@id' + label-user.@id='' + value-user.@id='self' + widget-user.@id='sib-form-hidden' - hd-inherit-bind-user2input="input[name='user.@id']" - hd-inherit-widgets + hd-inherit-bind-user2input="input[name='user.@id']" - submit-button='Join Circle' - ) - - sib-widget(name="admin-circle-buttons") - template - sib-display( - data-src='${src}' - nested-field='members' - fields='relation' - action-relation='relation' - widget-relation='admin-circle-leave-button' - search-fields='user' - search-widget-user='sib-form-hidden' - search-value-user="-" - empty-widget='admin-circle-join-button' - hd-inherit-bind-resources='admin-circle-join-button' - hd-inherit-user-id="search-value-user" - hd-inherit-widgets + submit-button='Join Circle' ) sib-display( class='table-body' - data-src=`${endpoints.circles || endpoints.get.circles}` - fields='name, owner, buttons' + data-src=`${endpoints.circles || endpoints.get.circles}joinable/` + fields='name, owner, members' class-name='w33 cell border cell-with-name' class-owner='w33 cell border cell-with-id-card' - class-buttons='w33 cell border cell-with-buttons' - - widget-buttons="admin-circle-buttons" - action-buttons="buttons" - hd-inherit-widgets - hd-inherit-widgets-multiple - widget-owner='circle-owner' + + class-members='w33 cell border cell-with-buttons' + widget-members="admin-circle-join-button" + hd-inherit-bind-user2input="input[name='user.@id']" )