Skip to content

Commit ffc7e04

Browse files
refactor: extract signer action conditions to computed properties
- Add canEditSigningOrder, canDelete, canRequestSignature, canSendReminder - Improve code readability and maintainability - Ensure consistent reactive behavior across all conditions Signed-off-by: Vitor Mattos <[email protected]>
1 parent 59c7c17 commit ffc7e04

1 file changed

Lines changed: 35 additions & 4 deletions

File tree

src/Components/RightSidebar/RequestSignatureTab.vue

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<Signers event="libresign:edit-signer"
1313
@signing-order-changed="debouncedSave">
1414
<template #actions="{signer, closeActions}">
15-
<NcActionInput v-if="isOrderedNumeric && totalSigners > 1 && filesStore.canSave() && !signer.signed"
15+
<NcActionInput v-if="canEditSigningOrder(signer)"
1616
:label="t('libresign', 'Signing order')"
1717
type="number"
1818
:value="signer.signingOrder || 1"
@@ -23,7 +23,7 @@
2323
<OrderNumericAscending :size="20" />
2424
</template>
2525
</NcActionInput>
26-
<NcActionButton v-if="filesStore.canSave() && !signer.signed"
26+
<NcActionButton v-if="canDelete(signer)"
2727
aria-label="Delete"
2828
:close-after-click="true"
2929
@click="filesStore.deleteSigner(signer)">
@@ -32,15 +32,15 @@
3232
</template>
3333
{{ t('libresign', 'Delete') }}
3434
</NcActionButton>
35-
<NcActionButton v-if="filesStore.canRequestSign && !signer.signed && signer.signRequestId && !signer.me && signer.status === 0"
35+
<NcActionButton v-if="canRequestSignature(signer)"
3636
:close-after-click="true"
3737
@click="requestSignatureForSigner(signer)">
3838
<template #icon>
3939
<Send :size="20" />
4040
</template>
4141
{{ t('libresign', 'Request signature') }}
4242
</NcActionButton>
43-
<NcActionButton v-if="filesStore.canRequestSign && !signer.signed && signer.signRequestId && !signer.me && signer.status === 1"
43+
<NcActionButton v-if="canSendReminder(signer)"
4444
icon="icon-comment"
4545
:close-after-click="true"
4646
@click="sendNotify(signer)">
@@ -248,6 +248,37 @@ export default {
248248
isOrderedNumeric() {
249249
return this.signatureFlow === 'ordered_numeric'
250250
},
251+
canEditSigningOrder() {
252+
return (signer) => {
253+
return this.isOrderedNumeric
254+
&& this.totalSigners > 1
255+
&& this.filesStore.canSave()
256+
&& !signer.signed
257+
}
258+
},
259+
canDelete() {
260+
return (signer) => {
261+
return this.filesStore.canSave() && !signer.signed
262+
}
263+
},
264+
canRequestSignature() {
265+
return (signer) => {
266+
return this.filesStore.canRequestSign
267+
&& !signer.signed
268+
&& signer.signRequestId
269+
&& !signer.me
270+
&& signer.status === 0
271+
}
272+
},
273+
canSendReminder() {
274+
return (signer) => {
275+
return this.filesStore.canRequestSign
276+
&& !signer.signed
277+
&& signer.signRequestId
278+
&& !signer.me
279+
&& signer.status === 1
280+
}
281+
},
251282
showSaveButton() {
252283
if (!this.filesStore.canSave()) {
253284
return false

0 commit comments

Comments
 (0)