'default' => true,
'type' => 'Checkbox',
]);
- $this->addField('instant_success_messages', Textarea::class, __('Petits messages accompagnant une bonne réponse'), ['placeholder' => __('Bonne réponse'), 'hint' => __('Une phrase par ligne, la phrase affichée sera sélectionnée aléatoirement dans cette liste.') . ' ' . __(' Par défaut "Bonne réponse" dans la langue du quiz')]);
- $this->addField('instant_fail_messages', Textarea::class, __('Petits messages accompagnant une mauvaise réponse'), ['placeholder' => __('Mauvaise réponse'), 'hint' => __('Une phrase par ligne, la phrase affichée sera sélectionnée aléatoirement dans cette liste.') . ' ' . __(' Par défaut "Mauvaise réponse" dans la langue du quiz')]);
+ $this->addField('instant_success_messages', Textarea::class, __('Petits messages accompagnant une bonne réponse'),
+ [
+ 'when' => ['instantReview' => ['1']],
+ 'placeholder' => __('Bonne réponse'), 'hint' => __('Une phrase par ligne, la phrase affichée sera sélectionnée aléatoirement dans cette liste.') . ' ' . __(' Par défaut "Bonne réponse" dans la langue du quiz')
+ ]);
+ $this->addField('instant_fail_messages', Textarea::class, __('Petits messages accompagnant une mauvaise réponse'), [
+ 'when' => ['instantReview' => ['1']],
+ 'placeholder' => __('Mauvaise réponse'), 'hint' => __('Une phrase par ligne, la phrase affichée sera sélectionnée aléatoirement dans cette liste.') . ' ' . __(' Par défaut "Mauvaise réponse" dans la langue du quiz')
+ ]);
$this->addField('section_theme', FormBigSection::class, __('Thème graphique'));
$this->addField('theme', \App\Fields\FluidbookTheme::class, __('Thème'), ['non_default_tracking' => false, 'default' => 3]);
'label' => $label,
'hint' => __('Code Javascript'),
'type' => Code::class,
- 'when' => ['type' => 'quiz', 'language' => 'js'],
+ 'when' => ['type' => 'quiz'],
+ 'language' => 'js',
]);
}
'add_label' => __('Nouveau résultat'),
'when' => ['type' => 'test'],
]);
-
- $this->addField('section_legacy', FormBigSection::class, __('Paramètres à supprimer'));
- $this->addField('css', Code::class, __('Code CSS supplémentaire'), ['language' => 'css']);
-
}
public function registerMediaConversions(Media $media = null): void
use Cubist\Backpack\Magic\Fields\Integer;
use Cubist\Backpack\Magic\Fields\SelectFromArray;
+use Cubist\Backpack\Magic\Fields\Text;
use Cubist\Backpack\Magic\Fields\Textarea;
use Cubist\Backpack\Magic\SubForm;
parent::init();
$this->addField(['name' => 'answer',
- 'type' => 'Text',
- 'label' => __('Titre de la réponse')
+ 'type' => Textarea::class,
+ 'rows' => 1,
+ 'label' => __('Réponse')
]);
$this->addField(['name' => 'answer_text',
'type' => Textarea::class,
'label' => __('Texte de la réponse'),
+ 'rows' => 3,
'when' => ['type' => ['draganddrop']],
- ],
- );
+ ]);
+
+ $this->addField('proposition', Textarea::class, __('Proposition correspondante'), [
+ 'rows' => 2,
+ 'when' => ['type' => ['match']],
+ ]);
$this->addField(['name' => 'drop_area',
'type' => SelectFromArray::class,
$this->addField(['name' => 'score',
'type' => Integer::class,
'label' => __('Score'),
- 'default' => 1]);
+ 'default' => 1,
+ 'when' => ['type' => ['multiple']]]);
}
}
--- /dev/null
+<?php
+
+namespace App\SubForms\Quiz;
+
+use Cubist\Backpack\Magic\Fields\Textarea;
+use Cubist\Backpack\Magic\SubForm;
+
+class Proposition extends SubForm
+{
+ public function init()
+ {
+ parent::init();
+ $this->addField('content', Textarea::class, '', ['rows' => 2]);
+ }
+}
use App\SubForms\TitleAndText;
use Cubist\Backpack\Magic\Fields\BunchOfFields;
+use Cubist\Backpack\Magic\Fields\BunchOfFieldsMultiple;
use Cubist\Backpack\Magic\Fields\Checkbox;
use Cubist\Backpack\Magic\Fields\FormSeparator;
use Cubist\Backpack\Magic\Fields\Integer;
'options' => [
'multiple' => __('Question à choix multiple'),
'draganddrop' => __('Classer les propositions'),
- 'draganddropmatch' => __('Faire correspondre des propositions'),
+ 'match' => __('Faire correspondre des propositions'),
'text' => __('Texte'),
'textarea' => __('Texte long'),
'email' => __('E-mail'),
]
]);
- $this->addField('area_1', BunchOfFields::class, __('Zone 1'), ['when' => ['type' => 'draganddrop'], 'bunch' => TitleAndText::class]);
- $this->addField('area_2', BunchOfFields::class, __('Zone 2'), ['when' => ['type' => 'draganddrop'], 'bunch' => TitleAndText::class]);
$this->addField(['name' => 'placeholder',
'type' => 'Text',
$this->addField('', FormSeparator::class);
+ $this->addField('area_1', BunchOfFields::class, __('Zone 1'), ['when' => ['type' => 'draganddrop'], 'bunch' => TitleAndText::class]);
+ $this->addField('area_2', BunchOfFields::class, __('Zone 2'), ['when' => ['type' => 'draganddrop'], 'bunch' => TitleAndText::class]);
+
$this->addField(['name' => 'multiple',
'type' => 'Checkbox',
'label' => __('Plusieurs réponses possibles'),
'bunch' => Answer::class,
'add_label' => __('Nouvelle réponse'),
'label' => __('Réponses'),
- 'when' => ['type' => ['multiple', 'draganddrop']]
+ 'when' => ['type' => ['multiple', 'draganddrop', 'match']]
]);
+
+ $this->addField('additional_proposition', BunchOfFieldsMultiple::class, __('Propositions supplémentaires'),
+ [
+ 'when' => ['type' => ['match']],
+ 'bunch' => Proposition::class, 'add_label' => __('Nouvelle proposition'), 'hint' => __('Ces propositions ne correspondent à aucune réponse')
+ ]
+ );
+
$this->addField('', FormSeparator::class);
$this->addField('countdown_enable', Checkbox::class, __('Définir un temps de réponse limite'));
$this->addField('countdown_time', Integer::class, __('Limite de durée de réponse'), ['suffix' => __('secondes'), 'default' => 60, 'when' => ['countdown_enable' => '1']]);
{
parent::init();
$this->addField('title', Text::class, '', ['placeholder' => __('Titre')]);
- $this->addField('text', Textarea::class, '', ['placeholder' => __('Texte')]);
+ $this->addField('text', Textarea::class, '', ['rows' => 2, 'placeholder' => __('Texte')]);
}
}