mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-13 05:44:24 +00:00
Fix functioning of show hide
This commit is contained in:
parent
50bd9f32c3
commit
0a6f3a99da
@ -141,23 +141,25 @@ class WorkflowStepType extends AbstractType
|
|||||||
'mapped' => false,
|
'mapped' => false,
|
||||||
'multiple' => false,
|
'multiple' => false,
|
||||||
'expanded' => true,
|
'expanded' => true,
|
||||||
'label' => 'workflow.Type of signature',
|
'label' => 'workflow.signature_zone.type of signature',
|
||||||
'choices' => [
|
'choices' => [
|
||||||
'person' => 'person',
|
'workflow.signature_zone.persons' => 'person',
|
||||||
'user' => 'user',
|
'workflow.signature_zone.user' => 'user',
|
||||||
],
|
],
|
||||||
])
|
])
|
||||||
->add('futurePersonSignatures', PickPersonDynamicType::class, [
|
->add('futurePersonSignatures', PickPersonDynamicType::class, [
|
||||||
'label' => 'workflow.person signatures',
|
'label' => 'workflow.signature_zone.person signatures',
|
||||||
'multiple' => true,
|
'multiple' => true,
|
||||||
|
'data' => []
|
||||||
])
|
])
|
||||||
->add('futureUserSignature', PickUserDynamicType::class, [
|
->add('futureUserSignature', PickUserDynamicType::class, [
|
||||||
'label' => 'workflow.user signatures',
|
'label' => 'workflow.signature_zone.user signature',
|
||||||
'multiple' => false,
|
'multiple' => false,
|
||||||
])
|
])
|
||||||
->add('futureDestUsers', PickUserDynamicType::class, [
|
->add('futureDestUsers', PickUserDynamicType::class, [
|
||||||
'label' => 'workflow.dest for next steps',
|
'label' => 'workflow.dest for next steps',
|
||||||
'multiple' => true,
|
'multiple' => true,
|
||||||
|
'data' => [],
|
||||||
'suggested' => $options['suggested_users'],
|
'suggested' => $options['suggested_users'],
|
||||||
])
|
])
|
||||||
->add('futureCcUsers', PickUserDynamicType::class, [
|
->add('futureCcUsers', PickUserDynamicType::class, [
|
||||||
|
@ -7,69 +7,20 @@ window.addEventListener('DOMContentLoaded', function() {
|
|||||||
personSignatureField = document.querySelector('#person-signature-field');
|
personSignatureField = document.querySelector('#person-signature-field');
|
||||||
userSignatureField = document.querySelector('#user-signature-field');
|
userSignatureField = document.querySelector('#user-signature-field');
|
||||||
signatureTypeChoices = document.querySelector('#signature-type-choice');
|
signatureTypeChoices = document.querySelector('#signature-type-choice');
|
||||||
;
|
personChoice = document.querySelector('#workflow_step_isPersonOrUserSignature_0');
|
||||||
|
userChoice = document.querySelector('#workflow_step_isPersonOrUserSignature_1');
|
||||||
|
signatureZone = document.querySelector('#signature-zone');
|
||||||
|
;
|
||||||
|
|
||||||
let
|
let
|
||||||
transitionFilterContainer = document.querySelector('#transitionFilter'),
|
transitionFilterContainer = document.querySelector('#transitionFilter'),
|
||||||
transitionsContainer = document.querySelector('#transitions')
|
transitionsContainer = document.querySelector('#transitions')
|
||||||
;
|
;
|
||||||
|
|
||||||
// ShowHide instance for personSignatureField
|
// ShowHide instance for signatureTypeChoices. This should always be present in the DOM and we toggle visibility.
|
||||||
new ShowHide({
|
// The field is not mapped and so not submitted with the form. Without it's presence upon DOM loading other show hides do not function well.
|
||||||
debug: false,
|
signatureTypeChoices.style.display = 'none';
|
||||||
froms: [signatureTypeChoices],
|
|
||||||
container: [personSignatureField],
|
|
||||||
test: function(froms, event) {
|
|
||||||
// console.log('froms', froms)
|
|
||||||
for (let container of froms) {
|
|
||||||
if (container.children.length === 0) {
|
|
||||||
console.log('im empty dont show person or user picker');
|
|
||||||
return false
|
|
||||||
} else {
|
|
||||||
return container.querySelector('input[value="person"]').checked;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// ShowHide instance for userSignatureField
|
|
||||||
new ShowHide({
|
|
||||||
debug: false,
|
|
||||||
froms: [signatureTypeChoices],
|
|
||||||
container: [userSignatureField],
|
|
||||||
test: function(froms, event) {
|
|
||||||
for (let container of froms) {
|
|
||||||
if (container.children.length === 0) {
|
|
||||||
console.log('im empty dont show person or user picker');
|
|
||||||
return false
|
|
||||||
} else {
|
|
||||||
return container.querySelector('input[value="person"]').checked;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// ShowHide instance for signatureTypeChoices
|
|
||||||
new ShowHide({
|
|
||||||
debug: false,
|
|
||||||
load_event: null,
|
|
||||||
froms: [divTransitions],
|
|
||||||
container: [signatureTypeChoices],
|
|
||||||
test: function(froms, event) {
|
|
||||||
for (let transition of froms) {
|
|
||||||
for (let input of transition.querySelectorAll('input')) {
|
|
||||||
if (input.checked) {
|
|
||||||
const inputData = JSON.parse(input.getAttribute('data-is-signature'))
|
|
||||||
return inputData.includes('person') && inputData.includes('user');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// ShowHide instance for future dest users
|
// ShowHide instance for future dest users
|
||||||
new ShowHide({
|
new ShowHide({
|
||||||
@ -82,7 +33,16 @@ window.addEventListener('DOMContentLoaded', function() {
|
|||||||
for (let input of transition.querySelectorAll('input')) {
|
for (let input of transition.querySelectorAll('input')) {
|
||||||
if (input.checked) {
|
if (input.checked) {
|
||||||
const inputData = JSON.parse(input.getAttribute('data-is-signature'))
|
const inputData = JSON.parse(input.getAttribute('data-is-signature'))
|
||||||
return !(inputData.includes('person') || inputData.includes('user'));
|
if (inputData.includes('person') || inputData.includes('user')) {
|
||||||
|
signatureTypeChoices.style.display = '';
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
personChoice.checked = false
|
||||||
|
userChoice.checked = false
|
||||||
|
|
||||||
|
signatureTypeChoices.style.display = 'none';
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -90,6 +50,53 @@ window.addEventListener('DOMContentLoaded', function() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// ShowHide signature zone
|
||||||
|
new ShowHide({
|
||||||
|
debug: false,
|
||||||
|
load_event: null,
|
||||||
|
froms: [divTransitions],
|
||||||
|
container: [signatureZone],
|
||||||
|
test: function(froms, event) {
|
||||||
|
for (let transition of froms) {
|
||||||
|
for (let input of transition.querySelectorAll('input')) {
|
||||||
|
if (input.checked) {
|
||||||
|
const inputData = JSON.parse(input.getAttribute('data-is-signature'))
|
||||||
|
if (inputData.includes('person') || inputData.includes('user')) {
|
||||||
|
signatureTypeChoices.style.display = '';
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// ShowHides for personSignatureField or userSignatureField within signature zone
|
||||||
|
new ShowHide({
|
||||||
|
debug: false,
|
||||||
|
froms: [signatureTypeChoices],
|
||||||
|
container: [personSignatureField],
|
||||||
|
test: function(froms, event) {
|
||||||
|
for (let container of froms) {
|
||||||
|
return personChoice.checked;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
new ShowHide({
|
||||||
|
debug: false,
|
||||||
|
froms: [signatureTypeChoices],
|
||||||
|
container: [userSignatureField],
|
||||||
|
test: function(froms, event) {
|
||||||
|
for (let container of froms) {
|
||||||
|
return userChoice.checked;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
if (null !== divTransitions) {
|
if (null !== divTransitions) {
|
||||||
new ShowHide({
|
new ShowHide({
|
||||||
load_event: null,
|
load_event: null,
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
{{ form_row(transition_form.transition) }}
|
{{ form_row(transition_form.transition) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="futureSignatures">
|
<div id="signature-zone">
|
||||||
<div id="signature-type-choice">
|
<div id="signature-type-choice">
|
||||||
{{ form_row(transition_form.isPersonOrUserSignature) }}
|
{{ form_row(transition_form.isPersonOrUserSignature) }}
|
||||||
{{ form_errors(transition_form.isPersonOrUserSignature) }}
|
{{ form_errors(transition_form.isPersonOrUserSignature) }}
|
||||||
|
@ -536,6 +536,11 @@ workflow:
|
|||||||
docType: Type de document
|
docType: Type de document
|
||||||
docNumber: Numéro de document
|
docNumber: Numéro de document
|
||||||
docExpiration: Date d'expiration
|
docExpiration: Date d'expiration
|
||||||
|
type of signature: Type de signature
|
||||||
|
person signatures: Selectionner usagers pour signer
|
||||||
|
user signature: Selectionner utilisateur pour signer
|
||||||
|
persons: Usagers
|
||||||
|
user: Utilisateur
|
||||||
|
|
||||||
|
|
||||||
Subscribe final: Recevoir une notification à l'étape finale
|
Subscribe final: Recevoir une notification à l'étape finale
|
||||||
|
Loading…
x
Reference in New Issue
Block a user