]> BookStack Code Mirror - bookstack/commitdiff
Cleaned up old permission JS code
authorDan Brown <redacted>
Sun, 2 Oct 2022 12:57:32 +0000 (13:57 +0100)
committerDan Brown <redacted>
Sun, 2 Oct 2022 12:57:32 +0000 (13:57 +0100)
Removed now unused JS entity-permissions compontent.
Updated existing permissions-table compontent to newer format.
Removed now unused translation string.

resources/js/components/entity-permissions-editor.js [deleted file]
resources/js/components/index.js
resources/js/components/permissions-table.js
resources/lang/en/entities.php
resources/views/form/entity-permissions-row.blade.php
resources/views/form/entity-permissions.blade.php
resources/views/settings/roles/parts/form.blade.php

diff --git a/resources/js/components/entity-permissions-editor.js b/resources/js/components/entity-permissions-editor.js
deleted file mode 100644 (file)
index a821792..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-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
index f360e2b0c2b57e2178e4716df96513a36ed3d220..4b17dc4039aca4524f9a7e856565f4ac43cc4864 100644 (file)
@@ -18,7 +18,6 @@ import dropdown from "./dropdown.js"
 import dropdownSearch from "./dropdown-search.js"
 import dropzone from "./dropzone.js"
 import editorToolbox from "./editor-toolbox.js"
-import entityPermissionsEditor from "./entity-permissions-editor.js"
 import entitySearch from "./entity-search.js"
 import entitySelector from "./entity-selector.js"
 import entitySelectorPopup from "./entity-selector-popup.js"
@@ -75,7 +74,6 @@ const componentMapping = {
     "dropdown-search": dropdownSearch,
     "dropzone": dropzone,
     "editor-toolbox": editorToolbox,
-    "entity-permissions-editor": entityPermissionsEditor,
     "entity-search": entitySearch,
     "entity-selector": entitySelector,
     "entity-selector-popup": entitySelectorPopup,
index baad7525833c0040b96b51cf0e9fe5e8adf69f66..df3c055cafa037f59a551b7887a3fb0f355646f4 100644 (file)
@@ -1,22 +1,21 @@
 
 class PermissionsTable {
 
-    constructor(elem) {
-        this.container = elem;
+    setup() {
+        this.container = this.$el;
 
         // Handle toggle all event
-        const toggleAll = elem.querySelector('[permissions-table-toggle-all]');
-        toggleAll.addEventListener('click', this.toggleAllClick.bind(this));
+        for (const toggleAllElem of (this.$manyRefs.toggleAll || [])) {
+            toggleAllElem.addEventListener('click', this.toggleAllClick.bind(this));
+        }
 
         // Handle toggle row event
-        const toggleRowElems = elem.querySelectorAll('[permissions-table-toggle-all-in-row]');
-        for (let toggleRowElem of toggleRowElems) {
+        for (const toggleRowElem of (this.$manyRefs.toggleRow || [])) {
             toggleRowElem.addEventListener('click', this.toggleRowClick.bind(this));
         }
 
         // Handle toggle column event
-        const toggleColumnElems = elem.querySelectorAll('[permissions-table-toggle-all-in-column]');
-        for (let toggleColElem of toggleColumnElems) {
+        for (const toggleColElem of (this.$manyRefs.toggleColumn || [])) {
             toggleColElem.addEventListener('click', this.toggleColumnClick.bind(this));
         }
     }
index 1720801d2757440eb7a428d836bd7e453ae9323b..28ec591d7d3f48b4a6e8205043746845ddc7c822 100644 (file)
@@ -43,7 +43,6 @@ return [
     // Permissions and restrictions
     'permissions' => 'Permissions',
     'permissions_intro' => 'Once enabled, These permissions will take priority over any set role permissions.',
-    'permissions_enable' => 'Enable Custom Permissions',
     'permissions_save' => 'Save Permissions',
     'permissions_owner' => 'Owner',
 
index 023aa36d26fb72283c8e011a68047777ffc5a5ae..bff7315a0caf24dc3d1db3e7fe4ee949b72e51a6 100644 (file)
@@ -1,4 +1,4 @@
-<div class="content-permissions-row flex-container-row justify-space-between wrap">
+<div component="permissions-table" class="content-permissions-row flex-container-row justify-space-between wrap">
     <div class="content-permissions-row-label gap-x-m flex-container-row items-center px-l py-m flex">
         <div class="text-large" title="{{ trans('common.role') }}">
             @icon('role')
@@ -6,7 +6,7 @@
         <span>{{ $role->display_name }}</span>
         <button type="button"
                 class="ml-auto flex-none text-small text-primary text-button hover-underline content-permissions-row-toggle-all hide-under-s"
-                permissions-table-toggle-all-in-row
+                refs="permissions-table@toggle-all"
                 >{{ trans('common.toggle_all') }}</button>
     </div>
     <div class="flex-container-row justify-space-between gap-x-xl wrap items-center">
@@ -14,7 +14,7 @@
             @include('form.restriction-checkbox', ['name'=>'restrictions', 'label' => trans('common.view'), 'action' => 'view'])
         </div>
         <div class="px-l">
-            @if(!$model->isA('page'))
+            @if(!$model instanceof \BookStack\Entities\Models\Page)
                 @include('form.restriction-checkbox', ['name'=>'restrictions', 'label' => trans('common.create'), 'action' => 'create'])
             @endif
         </div>
index 18df0bb69e69d06b5b07af33f82b1220314df785..321e2f06cb072d79966ba679a51f7a386cddf510 100644 (file)
@@ -1,16 +1,10 @@
-<form action="{{ $model->getUrl('/permissions') }}" method="POST" entity-permissions-editor>
+<form action="{{ $model->getUrl('/permissions') }}" method="POST">
     {!! csrf_field() !!}
     <input type="hidden" name="_method" value="PUT">
 
     <div class="grid half left-focus v-center">
         <div>
             <p class="mb-none mt-m">{{ trans('entities.permissions_intro') }}</p>
-            <div>
-                @include('form.checkbox', [
-                    'name' => 'restricted',
-                    'label' => trans('entities.permissions_enable'),
-                ])
-            </div>
         </div>
         <div>
             <div class="form-group">
@@ -24,7 +18,6 @@
         <p class="text-warn">{{ trans('entities.shelves_permissions_cascade_warning') }}</p>
     @endif
 
-
     <div class="content-permissions mt-m mb-xl">
         @foreach(\BookStack\Auth\Role::restrictable() as $role)
             @include('form.entity-permissions-row', ['role' => $role, 'model' => $model])
index 5937919973d83a2bcc9e1c28b9922288c3fb1b95..044b4ceb47eba02fe6efd48a65548472f0cfbc87 100644 (file)
@@ -26,9 +26,9 @@
         </div>
     </div>
 
-    <div permissions-table>
+    <div component="permissions-table">
         <label class="setting-list-label">{{ trans('settings.role_system') }}</label>
-        <a href="#" permissions-table-toggle-all class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+        <a href="#" refs="permissions-table@toggle-all" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
 
         <div class="toggle-switch-list grid half mt-m">
             <div>
             <p class="text-warn">{{ trans('settings.role_asset_admins') }}</p>
         @endif
 
-        <table permissions-table class="table toggle-switch-list compact permissions-table">
+        <table component="permissions-table" class="table toggle-switch-list compact permissions-table">
             <tr>
                 <th width="20%">
-                    <a href="#" permissions-table-toggle-all class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-all" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </th>
-                <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.create') }}</th>
-                <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.view') }}</th>
-                <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.edit') }}</th>
-                <th width="20%" permissions-table-toggle-all-in-column>{{ trans('common.delete') }}</th>
+                <th width="20%" refs="permissions-table@toggle-column">{{ trans('common.create') }}</th>
+                <th width="20%" refs="permissions-table@toggle-column">{{ trans('common.view') }}</th>
+                <th width="20%" refs="permissions-table@toggle-column">{{ trans('common.edit') }}</th>
+                <th width="20%" refs="permissions-table@toggle-column">{{ trans('common.delete') }}</th>
             </tr>
             <tr>
                 <td>
                     <div>{{ trans('entities.shelves') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>
                     @include('settings.roles.parts.checkbox', ['permission' => 'bookshelf-create-all', 'label' => trans('settings.role_all')])
@@ -93,7 +93,7 @@
             <tr>
                 <td>
                     <div>{{ trans('entities.books') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>
                     @include('settings.roles.parts.checkbox', ['permission' => 'book-create-all', 'label' => trans('settings.role_all')])
             <tr>
                 <td>
                     <div>{{ trans('entities.chapters') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>
                     @include('settings.roles.parts.checkbox', ['permission' => 'chapter-create-own', 'label' => trans('settings.role_own')])
             <tr>
                 <td>
                     <div>{{ trans('entities.pages') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>
                     @include('settings.roles.parts.checkbox', ['permission' => 'page-create-own', 'label' => trans('settings.role_own')])
             <tr>
                 <td>
                     <div>{{ trans('entities.images') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>@include('settings.roles.parts.checkbox', ['permission' => 'image-create-all', 'label' => ''])</td>
                 <td style="line-height:1.2;"><small class="faded">{{ trans('settings.role_controlled_by_asset') }}<sup>1</sup></small></td>
             <tr>
                 <td>
                     <div>{{ trans('entities.attachments') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>@include('settings.roles.parts.checkbox', ['permission' => 'attachment-create-all', 'label' => ''])</td>
                 <td style="line-height:1.2;"><small class="faded">{{ trans('settings.role_controlled_by_asset') }}</small></td>
             <tr>
                 <td>
                     <div>{{ trans('entities.comments') }}</div>
-                    <a href="#" permissions-table-toggle-all-in-row class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
+                    <a href="#" refs="permissions-table@toggle-row" class="text-small text-primary">{{ trans('common.toggle_all') }}</a>
                 </td>
                 <td>@include('settings.roles.parts.checkbox', ['permission' => 'comment-create-all', 'label' => ''])</td>
                 <td style="line-height:1.2;"><small class="faded">{{ trans('settings.role_controlled_by_asset') }}</small></td>