Skip to content

Commit 52b4c81

Browse files
authored
Merge pull request BookStackApp#1505 from timoschwarzer/hide-permissions-table-unless-enabled
Hide permissions table unless custom permissions are enabled
2 parents 9a080da + 6504a6f commit 52b4c81

3 files changed

Lines changed: 24 additions & 2 deletions

File tree

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
2+
class EntityPermissionsEditor {
3+
4+
constructor(elem) {
5+
this.permissionsTable = elem.querySelector('[permissions-table]');
6+
7+
// Handle toggle all event
8+
this.restrictedCheckbox = elem.querySelector('[name=restricted]');
9+
this.restrictedCheckbox.addEventListener('change', this.updateTableVisibility.bind(this));
10+
}
11+
12+
updateTableVisibility() {
13+
this.permissionsTable.style.display =
14+
this.restrictedCheckbox.checked
15+
? null
16+
: 'none';
17+
}
18+
}
19+
20+
export default EntityPermissionsEditor;

resources/assets/js/components/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import permissionsTable from "./permissions-table";
2626
import customCheckbox from "./custom-checkbox";
2727
import bookSort from "./book-sort";
2828
import settingAppColorPicker from "./setting-app-color-picker";
29+
import entityPermissionsEditor from "./entity-permissions-editor";
2930

3031
const componentMapping = {
3132
'dropdown': dropdown,
@@ -56,6 +57,7 @@ const componentMapping = {
5657
'custom-checkbox': customCheckbox,
5758
'book-sort': bookSort,
5859
'setting-app-color-picker': settingAppColorPicker,
60+
'entity-permissions-editor': entityPermissionsEditor
5961
};
6062

6163
window.components = {};

resources/views/form/entity-permissions.blade.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<form action="{{ $model->getUrl('/permissions') }}" method="POST">
1+
<form action="{{ $model->getUrl('/permissions') }}" method="POST" entity-permissions-editor>
22
{!! csrf_field() !!}
33
<input type="hidden" name="_method" value="PUT">
44

@@ -11,7 +11,7 @@
1111
])
1212
</div>
1313

14-
<table permissions-table class="table permissions-table toggle-switch-list">
14+
<table permissions-table class="table permissions-table toggle-switch-list" style="{{ !$model->restricted ? 'display: none' : '' }}">
1515
<tr>
1616
<th>{{ trans('common.role') }}</th>
1717
<th @if($model->isA('page')) colspan="3" @else colspan="4" @endif>

0 commit comments

Comments
 (0)