From 6504a6f5996ce8fb88d1a4151d0ec83300869aa9 Mon Sep 17 00:00:00 2001 From: Timo Schwarzer Date: Sun, 23 Jun 2019 14:29:58 +0200 Subject: [PATCH] Hide permissions table unless custom permissions are enabled --- .../components/entity-permissions-editor.js | 20 +++++++++++++++++++ resources/assets/js/components/index.js | 2 ++ .../views/form/entity-permissions.blade.php | 4 ++-- 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 resources/assets/js/components/entity-permissions-editor.js diff --git a/resources/assets/js/components/entity-permissions-editor.js b/resources/assets/js/components/entity-permissions-editor.js new file mode 100644 index 000000000..a821792a0 --- /dev/null +++ b/resources/assets/js/components/entity-permissions-editor.js @@ -0,0 +1,20 @@ + +class EntityPermissionsEditor { + + constructor(elem) { + this.permissionsTable = elem.querySelector('[permissions-table]'); + + // Handle toggle all event + this.restrictedCheckbox = elem.querySelector('[name=restricted]'); + this.restrictedCheckbox.addEventListener('change', this.updateTableVisibility.bind(this)); + } + + updateTableVisibility() { + this.permissionsTable.style.display = + this.restrictedCheckbox.checked + ? null + : 'none'; + } +} + +export default EntityPermissionsEditor; \ No newline at end of file diff --git a/resources/assets/js/components/index.js b/resources/assets/js/components/index.js index c9fd63077..1c2abd520 100644 --- a/resources/assets/js/components/index.js +++ b/resources/assets/js/components/index.js @@ -26,6 +26,7 @@ import permissionsTable from "./permissions-table"; import customCheckbox from "./custom-checkbox"; import bookSort from "./book-sort"; import settingAppColorPicker from "./setting-app-color-picker"; +import entityPermissionsEditor from "./entity-permissions-editor"; const componentMapping = { 'dropdown': dropdown, @@ -56,6 +57,7 @@ const componentMapping = { 'custom-checkbox': customCheckbox, 'book-sort': bookSort, 'setting-app-color-picker': settingAppColorPicker, + 'entity-permissions-editor': entityPermissionsEditor }; window.components = {}; diff --git a/resources/views/form/entity-permissions.blade.php b/resources/views/form/entity-permissions.blade.php index 6bb4b51ad..b3e148e21 100644 --- a/resources/views/form/entity-permissions.blade.php +++ b/resources/views/form/entity-permissions.blade.php @@ -1,4 +1,4 @@ -
+ {!! csrf_field() !!} @@ -11,7 +11,7 @@ ]) - +
{{ trans('common.role') }} isA('page')) colspan="3" @else colspan="4" @endif>