Skip to content

Commit 17bebe0

Browse files
committed
XWIKI-22656: Add a UI for setting required rights on a document
* Make the required rights modal a proper form that can be submitted without having to explicitly click the save button.
1 parent 5938e5b commit 17bebe0

File tree

1 file changed

+8
-4
lines changed
  • xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-requiredrights/xwiki-platform-security-requiredrights-ui/src/main/resources/js/security/requiredrights

1 file changed

+8
-4
lines changed

xwiki-platform-core/xwiki-platform-security/xwiki-platform-security-requiredrights/xwiki-platform-security-requiredrights-ui/src/main/resources/js/security/requiredrights/requiredRightsDialog.js

+8-4
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ define('xwiki-requiredrights-dialog', [
182182
this.dialogElement.setAttribute('aria-labelledby', 'required-rights-dialog-label');
183183
this.dialogElement.innerHTML = `
184184
<div class="modal-dialog" role="document">
185-
<div class="modal-content">
185+
<form class="modal-content">
186186
<div class="modal-header">
187187
<button type="button" class="close" data-dismiss="modal"></button>
188188
<h2 class="modal-title" id="required-rights-dialog-label"></h2>
@@ -207,9 +207,9 @@ define('xwiki-requiredrights-dialog', [
207207
</div>
208208
<div class="modal-footer">
209209
<button type="button" class="btn btn-default" data-dismiss="modal"></button>
210-
<button type="button" class="btn btn-primary"></button>
210+
<button class="btn btn-primary"></button>
211211
</div>
212-
</div>
212+
</form>
213213
</div>
214214
`;
215215
this.dialogElement.querySelector('.modal-title').textContent = l10n['modal.label'];
@@ -219,6 +219,7 @@ define('xwiki-requiredrights-dialog', [
219219
this.dialogElement.querySelector('.btn-default').textContent = l10n['modal.cancel'];
220220
this.dialogElement.querySelector('.btn-primary').textContent = l10n['modal.save'];
221221
this.saveButton = this.dialogElement.querySelector('.modal-footer .btn-primary');
222+
this.formElement = this.dialogElement.querySelector('form.modal-content');
222223
this.enforceSelectionElement = this.dialogElement.querySelector('.enforce-selection');
223224
this.advancedToggle = this.dialogElement.querySelector('.required-rights-advanced-toggle');
224225
this.advancedToggle.querySelector('.icon-collapsed').append(iconLoader.getIconElement('caret-right'));
@@ -236,7 +237,10 @@ define('xwiki-requiredrights-dialog', [
236237
event.preventDefault();
237238
this.toggleAdvanced();
238239
});
239-
this.saveButton.addEventListener('click', this.save.bind(this));
240+
this.formElement.addEventListener('submit', event => {
241+
event.preventDefault();
242+
this.save();
243+
});
240244
}
241245

242246
toggleAdvanced()

0 commit comments

Comments
 (0)