Begins checkbox logic for capability form.

This commit is contained in:
Mateus Machado Luna 2019-11-05 16:59:46 -03:00
parent b01cf7dfb5
commit 57d89a8351
1 changed files with 24 additions and 23 deletions

View File

@ -116,25 +116,26 @@
v-if="index == editingCapability" v-if="index == editingCapability"
class="tainacan-form" class="tainacan-form"
colspan="4"> colspan="4">
<b-field :addons="false"> <template v-if="capability.roles">
<label class="label is-inline-block"> <b-field :addons="false">
{{ $i18n.get('label_associated_roles') }} <label class="label is-inline-block">
<help-button {{ $i18n.get('label_associated_roles') }}
:title="$i18n.get('label_associated_roles')" <help-button
:message="$i18n.get('info_associated_roles')"/> :title="$i18n.get('label_associated_roles')"
</label> :message="$i18n.get('info_associated_roles')"/>
<template v-if="capability.roles.length"> </label>
<b-checkbox <b-checkbox
v-for="(role, roleIndex) of capability.roles" v-for="(role, roleIndex) of capability.roles"
:key="roleIndex" :key="roleIndex"
size="is-small" size="is-small"
@input="updateRole(role, index)" :value="role.slug"
name="roles"> @input="($event) => updateRole(role.slug, index, $event)"
{{ role }} name="roles">
</b-checkbox> {{ role.name }}
</template> </b-checkbox>
<p v-else>{{ $i18n.get('info_no_role_associated_capability') }}</p> </b-field>
</b-field> </template>
<p v-else>{{ $i18n.get('info_no_role_associated_capability') }}</p>
</td> </td>
</transition> </transition>
</tr> </tr>
@ -179,11 +180,11 @@
else else
this.editingCapability = capabilityKey; this.editingCapability = capabilityKey;
}, },
updateRole(role, capabilityKey) { updateRole(role, capabilityKey, value) {
if (role) if (value)
this.disassociateCapabilityWithRole({ capability: capabilityKey, role: role }) this.associateCapabilityWithRole({ capabilityKey: capabilityKey, role: role })
else else
this.disassociateCapabilityWithRole({ capability: capabilityKey, role: role }) this.disassociateCapabilityWithRole({ capabilityKey: capabilityKey, role: role })
} }
} }
} }