mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-14 17:18:33 +00:00
Fix selecting role on database and table level
This commit is contained in:
parent
a8db75b31c
commit
80b7f0d51c
9 changed files with 44 additions and 6 deletions
changelog/entries/unreleased/bug
enterprise/web-frontend/modules/baserow_enterprise/components
web-frontend/modules/core
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "bug",
|
||||
"message": "Fix selecting role on database and table level.",
|
||||
"issue_number": null,
|
||||
"bullet_points": [],
|
||||
"created_at": "2024-04-11"
|
||||
}
|
|
@ -24,6 +24,7 @@
|
|||
ref="editRoleContext"
|
||||
:subject="row"
|
||||
:roles="roles"
|
||||
:workspace="workspace"
|
||||
role-value-column="role_uid"
|
||||
@update-role="roleUpdate($event)"
|
||||
></EditRoleContext>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
ref="editRoleContext"
|
||||
:subject="row"
|
||||
:roles="roles"
|
||||
:workspace="workspace"
|
||||
role-value-column="default_role"
|
||||
@update-role="roleUpdate($event)"
|
||||
></EditRoleContext>
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
:roles="getAvailableRoles(roles)"
|
||||
:value="getRole(roleAssignment)"
|
||||
:allow-removing-role="true"
|
||||
:workspace="workspace"
|
||||
@delete="$emit('role-updated', roleAssignment, null)"
|
||||
@input="({ uid }) => $emit('role-updated', roleAssignment, uid)"
|
||||
/>
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
:subject="value"
|
||||
:roles="roles"
|
||||
:allow-removing-role="allowRemovingRole"
|
||||
:workspace="workspace"
|
||||
role-value-column="uid"
|
||||
@update-role="roleUpdated"
|
||||
@delete="$emit('delete')"
|
||||
|
@ -46,10 +47,14 @@ export default {
|
|||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
workspace: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
roleUpdated({ uid }) {
|
||||
const role = this.roles.find((role) => role.getUid() === uid)
|
||||
const role = this.roles.find((role) => role.uid === uid)
|
||||
this.$emit('input', role)
|
||||
},
|
||||
},
|
||||
|
|
|
@ -4,7 +4,11 @@
|
|||
:class="{ 'select-list-footer--single': !showRoleSelector }"
|
||||
>
|
||||
<div v-if="showRoleSelector" class="select-list-footer__left-side">
|
||||
<RoleSelector v-model="roleSelected" :roles="roles" />
|
||||
<RoleSelector
|
||||
v-model="roleSelected"
|
||||
:roles="roles"
|
||||
:workspace="workspace"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<HelpIcon
|
||||
|
|
|
@ -42,7 +42,12 @@
|
|||
</div>
|
||||
<FormElement class="control">
|
||||
<div class="control__elements">
|
||||
<Dropdown v-model="values.default_role" :show-search="false" small>
|
||||
<Dropdown
|
||||
v-model="values.default_role"
|
||||
:show-search="false"
|
||||
:fixed-items="true"
|
||||
small
|
||||
>
|
||||
<DropdownItem
|
||||
v-for="role in roles"
|
||||
:key="role.uid"
|
||||
|
@ -52,7 +57,18 @@
|
|||
>
|
||||
{{ role.name }}
|
||||
<Badge
|
||||
v-if="!role.isBillable && atLeastOneBillableRole"
|
||||
v-if="role.showIsBillable && role.isBillable"
|
||||
color="cyan"
|
||||
size="small"
|
||||
bold
|
||||
>{{ $t('common.billable') }}
|
||||
</Badge>
|
||||
<Badge
|
||||
v-else-if="
|
||||
role.showIsBillable &&
|
||||
!role.isBillable &&
|
||||
atLeastOneBillableRole
|
||||
"
|
||||
color="yellow"
|
||||
size="small"
|
||||
bold
|
||||
|
|
|
@ -100,8 +100,7 @@ export default {
|
|||
props: {
|
||||
workspace: {
|
||||
type: Object,
|
||||
required: false,
|
||||
default: null,
|
||||
required: true,
|
||||
},
|
||||
subject: {
|
||||
required: true,
|
||||
|
|
|
@ -505,6 +505,10 @@ export const getters = {
|
|||
getAllSorted(state) {
|
||||
return state.items.map((g) => g).sort((a, b) => a.order - b.order)
|
||||
},
|
||||
/**
|
||||
* Never use this value in any component to get the current workspace. This is
|
||||
* just used for visual purposes in the left sidebar.
|
||||
*/
|
||||
getSelected(state) {
|
||||
return state.selected
|
||||
},
|
||||
|
|
Loading…
Add table
Reference in a new issue