I have two array objects defaultPermissions and userPermissions. defaultPermissions contains all the permission with default value as 0 for read, write, update, delete. userPermissions contains data for which the users has been given permission for.
I have a table with permission name and checkbox for each operation. If the users has been given a permission for read, write, update, delete of the respective PemissionName then the checkbox should be checked else it should be unchecked.
I have done by hardcoding the userPermissions and it is working, but my problem is if in future a new PermisssionName is added then I will have to hard code it again which is not the correct way.
Whenever any new PermisisonName is added it should dynamically be shown as checked or unchecked for each user.
Any suggestion on how this can be done - Thank You.
First array:
defaultPermissions : [
{'permission_name':'PermissionName1', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName2', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName3', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName4', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName5', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName6', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName7', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName8', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName9', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName10', 'read':0, 'write':0, 'update':0, 'delete':0},
]
Second array:
userPermissions:[
{'permission_name':'PermissionName1', 'read':1, 'write':1, 'update':1, 'delete':1},
{'permission_name':'PermissionName2', 'read':1, 'write':1, 'update':1, 'delete':1},
{'permission_name':'PermissionName3', 'read':1, 'write':1, 'update':1, 'delete':1},
{'permission_name':'PermissionName4', 'read':1, 'write':1, 'update':0, 'delete':0},
{'permission_name':'PermissionName5', 'read':1, 'write':1, 'update':0, 'delete':0},
{'permission_name':'PermissionName6', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName7', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName8', 'read':0, 'write':0, 'update':0, 'delete':0},
{'permission_name':'PermissionName9', 'read':1, 'write':1, 'update':1, 'delete':1},
{'permission_name':'PermissionName11', 'read':1, 'write':1, 'update':1, 'delete':1},
]
Table row code for display all the PermissionName along with respective operations as checked or unchecked
<tr v-for="(item,index) in defaultPermissions" :key="index">
<td> {{ item.resourceName }}</td>
<td> <input type="checkbox" v-model=" item.read " class="form-control"/></td>
<td> <input type="checkbox" v-model=" item.write " class="form-control"/></td>
<td> <input type="checkbox" v-model=" item.update " class="form-control"/></td>
<td> <input type="checkbox" v-model=" item.delete " class="form-control"/></td>
</tr>
userPermissionsarray could have less objects thandefaultPermissions, that's your problem, right?defaultPermissionsand the operation checkbox must be checked if it is true inuserPermissions