* added help for timesheet duration form field - fixes #138 * added label option to link to manual chapter * created docu chapter "timesheet" and added duration mode docu * allow field and form option "documentation" to link to chapters in the documentation
50 lines
1.2 KiB
PHP
50 lines
1.2 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Kimai time-tracking app.
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace App\Form\Extension;
|
|
|
|
use Symfony\Component\Form\AbstractTypeExtension;
|
|
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
|
use Symfony\Component\Form\FormInterface;
|
|
use Symfony\Component\Form\FormView;
|
|
use Symfony\Component\OptionsResolver\OptionsResolver;
|
|
|
|
/**
|
|
* Adds a linked help text with the link to the given documentation
|
|
*/
|
|
class DocumentationLinkExtension extends AbstractTypeExtension
|
|
{
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getExtendedType()
|
|
{
|
|
return FormType::class;
|
|
}
|
|
|
|
/**
|
|
* @param FormView $view
|
|
* @param FormInterface $form
|
|
* @param array $options
|
|
*/
|
|
public function buildView(FormView $view, FormInterface $form, array $options)
|
|
{
|
|
$view->vars['documentation'] = $options['documentation'] ?? '';
|
|
}
|
|
|
|
/**
|
|
* @param OptionsResolver $resolver
|
|
*/
|
|
public function configureOptions(OptionsResolver $resolver)
|
|
{
|
|
$resolver->setDefined(array('documentation'));
|
|
$resolver->setDefaults(['documentation' => null]);
|
|
}
|
|
}
|