/**
  * {@inheritDoc}
  */
 public function setOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(['forced', 'origin', 'feed', 'date_locale', 'number_locale', 'default_values']);
     $resolver->setAllowedValues(['date_locale' => ['en', 'nl'], 'number_locale' => ['en', 'nl']]);
     $resolver->setAllowedTypes(['forced' => 'bool', 'origin' => 'FM\\IoBundle\\Model\\OriginInterface', 'feed' => 'FM\\IoBundle\\Entity\\Feed', 'default_values' => 'array']);
     $resolver->setDefaults(['forced' => false, 'date_locale' => 'en', 'number_locale' => 'en', 'default_values' => []]);
 }
Example #2
0
 protected function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('encoding' => 'ascii', 'module' => 5, 'symbol-size' => 'square-auto', 'format' => 'png', 'message-separator' => ' ', 'process-timeout' => 600, 'command' => 'dmtxwrite'));
     $resolver->setOptional(array('resolution', 'margin'));
     $resolver->setAllowedValues(array('encoding' => array('best', 'fast', 'ascii', 'c40', 'text', 'x12', 'edifact', '8base256'), 'format' => array('png', 'tif', 'gif', 'pdf'), 'symbol-size' => array('square-auto', 'rectangle-auto', '10x10', '24x24', '64x64')));
     $resolver->setAllowedTypes(array('resolution' => 'integer', 'module' => 'integer', 'margin' => 'integer'));
 }
Example #3
0
 /**
  * Sets the default options for this type.
  *
  * @param OptionsResolverInterface $resolver The resolver for the options.
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('action' => null, 'bundles' => array(), 'domains' => array(), 'locales' => array(), 'files' => array(), 'result' => array(), 'translation_domain' => 'DavamigoTranslatorBundle'));
     $resolver->setRequired(array('action', 'step'));
     $resolver->setAllowedTypes(array('action' => 'string', 'step' => 'int', 'bundles' => 'array', 'domains' => 'array', 'locales' => 'array', 'files' => 'array', 'result' => 'array'));
     $resolver->setAllowedValues(array('step' => array(1, 2, 3)));
 }
 /**
  * (non-PHPdoc)
  * @see Symfony\Component\Form.AbstractType::setDefaultOptions()
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $defaultConfigs = array('showOn' => 'button', 'dateFormat' => 'yy-mm-dd', 'timeFormat' => 'HH:mm', 'showSecond' => false);
     $resolver->setDefaults(array('input' => 'datetime', 'with_seconds' => false, 'use_meridiem' => false, 'date_timezone' => null, 'user_timezone' => null, 'datetime_format' => 'Y-m-d H:i', 'parts' => array('year', 'month', 'day', 'hour', 'minute'), 'translation_domain' => 'NeutronFormBundle', 'configs' => $defaultConfigs));
     $resolver->setNormalizers(array('datetime_format' => function (Options $options, $value) {
         if ($options->has('with_seconds') && $options->get('with_seconds') === true) {
             return $options->get('use_meridiem') === true ? 'Y-m-d h:i:s a' : 'Y-m-d H:i:s';
         }
         return $options->get('use_meridiem') === true ? 'Y-m-d h:i a' : 'Y-m-d H:i';
     }, 'parts' => function (Options $options, $value) {
         if ($options->has('with_seconds') && $options->get('with_seconds') === true) {
             return array('year', 'month', 'day', 'hour', 'minute', 'second');
         }
         return array('year', 'month', 'day', 'hour', 'minute');
     }, 'configs' => function (Options $options, $value) use($defaultConfigs) {
         $configs = array_replace_recursive($defaultConfigs, $value);
         if (!$options->has('with_seconds') || $options->get('with_seconds') === false) {
             $configs['timeFormat'] = $options->get('use_meridiem') === true ? 'hh:mm tt' : 'HH:mm';
             $configs['showSecond'] = false;
         } else {
             $configs['timeFormat'] = $options->get('use_meridiem') === true ? 'hh:mm:ss tt' : 'HH:mm:ss';
             $configs['showSecond'] = true;
         }
         return $configs;
     }));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'datetime_format' => array('Y-m-d H:i:s', 'Y-m-d h:i:s a', 'Y-m-d H:i', 'Y-m-d h:i a')));
 }
 /**
  * @param OptionsResolverInterface $resolver
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(['type']);
     $resolver->addAllowedTypes(['type' => ['string']]);
     $resolver->setAllowedValues(['type' => Participant::getAllTypes()]);
     $resolver->setDefaults(['data_class' => Participant::class]);
 }
Example #6
0
 protected function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('unicode' => true, 'milliseconds' => 200, 'symbol-size' => 'square-auto', 'process-timeout' => 600, 'command' => 'dmtxread'));
     $resolver->setOptional(array('newline', 'unicode', 'milliseconds', 'codewords', 'minimum-edge', 'maximum-edge', 'gap', 'page', 'square-deviation', 'resolution', 'symbol-size', 'threshold', 'x-range-min', 'x-range-max', 'y-range-min', 'y-range-max', 'corrections-max', 'diagnose', 'mosaic', 'stop-after', 'page-numbers', 'corners', 'shrink'));
     $resolver->setAllowedValues(array('symbol-size' => array('square-auto', 'rectangle-auto', '10x10', '24x24', '64x64')));
     $resolver->setAllowedTypes(array('newline' => 'bool', 'unicode' => 'bool', 'milliseconds' => 'integer', 'codewords' => 'bool', 'minimum-edge' => 'integer', 'maximum-edge' => 'integer', 'gap' => 'integer', 'page' => 'integer', 'square-deviation' => 'integer', 'resolution' => 'integer', 'threshold' => 'integer', 'corrections-max' => 'integer', 'diagnose' => 'bool', 'mosaic' => 'bool', 'stop-after' => 'integer', 'page-numbers' => 'bool', 'corners' => 'bool', 'shrink' => 'integer'));
 }
Example #7
0
 /**
  * @inheritdoc
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(array('reference_currency', 'currency_choices'));
     $resolver->setDefaults(array('reference_currency' => $this->referenceCurrencyCode, 'currency_choices' => $this->currencyCodeList));
     $resolver->setAllowedTypes(array('reference_currency' => array('string'), 'currency_choices' => array('array')));
     $resolver->setAllowedValues(array('reference_currency' => $this->currencyCodeList));
 }
 /**
  * Sets the configuration for the options resolver
  * @param OptionsResolverInterface $resolver
  */
 protected function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(array('directory'));
     $resolver->setDefaults(array('mode' => self::MODE_DIRECTORY_AS_CATEGORY, 'include' => array(), 'limit' => null));
     $resolver->setAllowedValues(array('mode' => array(self::MODE_DOCUMENT_AS_CATEGORY, self::MODE_DIRECTORY_AS_CATEGORY)));
     $resolver->setAllowedTypes(array('directory' => 'string', 'mode' => 'int', 'include' => 'array'));
 }
Example #9
0
 /**
  * {@inheritdoc}
  */
 public function configureAttributes(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(['tip', 'direction']);
     $resolver->setDefaults(['direction' => self::DOWN]);
     $resolver->setOptional(['name', 'short_tip', 'retractable', 'default_state', 'property_path', 'transformer']);
     $resolver->setDefaults(['name' => '', 'transformer' => null, 'property_path' => null, 'retractable' => function (Options $options) {
         return isset($options['short_tip']) && strlen($options['short_tip']);
     }]);
     $resolver->setAllowedValues(array('direction' => [self::UP, self::DOWN], 'default_state' => [self::EXPANDED, self::RETRACTED]));
     $resolver->setAllowedTypes(['tip' => 'string', 'direction' => 'string', 'short_tip' => 'string', 'retractable' => 'bool', 'default_state' => 'string']);
 }
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('filters' => array()));
     $resolver->setAllowedTypes(array('filters' => array('array')));
     $resolver->setAllowedValues(array('filters' => function ($filters) {
         foreach ($filters as $key => $value) {
             if (!array_key_exists('field', $value) || !array_key_exists('label', $value) || !array_key_exists('filter', $value) || !array_key_exists('form', $value) || !array_key_exists('options', $value) || $key !== $value['field']) {
                 return false;
             }
         }
         return true;
     }));
 }
Example #11
0
 /**
  * (non-PHPdoc)
  * @see Symfony\Component\Form.AbstractType::setDefaultOptions()
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $defaultConfigs = array('showOn' => 'button');
     $resolver->setDefaults(array('input' => 'datetime', 'format' => 'Y-m-d', 'date_timezone' => null, 'user_timezone' => null, 'translation_domain' => 'NeutronFormBundle', 'configs' => $defaultConfigs));
     $resolver->setNormalizers(array('format' => function (Options $options, $value) {
         return 'Y-m-d';
     }, 'configs' => function (Options $options, $value) use($defaultConfigs) {
         $configs = array_replace_recursive($defaultConfigs, $value);
         $configs['dateFormat'] = 'yy-mm-dd';
         return $configs;
     }));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array')));
 }
 /**
  * Set allowed values
  * 
  * @param OptionsResolverInterface $resolver
  * @return OptionsResolverInterface
  */
 private function setAllowedValues(OptionsResolverInterface $resolver)
 {
     $resolver->setAllowedValues('type', function ($value) {
         return in_array($value, ['single', 'double']);
     });
     //        $resolver->setAllowedValues('values', function($value) {
     //            foreach ($value as $val) {
     //                if (!is_numeric($val)) {
     //                    return false;
     //                }
     //            }
     //            return true;
     //        });
     $resolver->setAllowedValues('step', function ($value) {
         return $value > 0;
     });
 }
 /**
  * (non-PHPdoc)
  * @see Symfony\Component\Form.AbstractType::setDefaultOptions()
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $choiceList = new AjaxChoiceList(array());
     $resolver->setDefaults(array('first_options' => array(), 'second_options' => array(), 'error_bubbling' => false, 'first_name' => 'first_name', 'second_name' => 'second_name', 'widget' => 'choice', 'translation_domain' => 'NeutronFormBundle', 'multiple' => false, 'choices' => array(), 'configs' => array()));
     $resolver->setNormalizers(array('first_options' => function (Options $options, $value) {
         $value['choices'] = $options->get('choices');
         return $value;
     }, 'second_options' => function (Options $options, $value) use($choiceList) {
         $value['choice_list'] = $choiceList;
         $value['multiple'] = $options->get('multiple');
         return $value;
     }, 'configs' => function (Options $options, $value) {
         $value['first_name'] = $options->get('first_name');
         $value['second_name'] = $options->get('second_name');
         $value['dependent_source'] = $options->get('dependent_source');
         $value['multiple'] = $options->get('multiple');
         return $value;
     }));
     $resolver->setRequired(array('dependent_source'));
     $resolver->setAllowedValues(array('widget' => array('choice')));
     $resolver->setAllowedTypes(array('multiple' => array('bool'), 'choices' => array('array'), 'dependent_source' => array('string')));
 }
 /**
  * Configure the option resolver
  *
  * @param OptionsResolverInterface $resolver
  */
 protected function configureOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(array('client_id', 'client_secret', 'authorization_url', 'access_token_url', 'infos_url'));
     $resolver->setDefaults(array('scope' => null, 'csrf' => false, 'user_response_class' => 'HWI\\Bundle\\OAuthBundle\\OAuth\\Response\\PathUserResponse', 'auth_with_one_url' => false));
     $resolver->setAllowedValues(array('csrf' => array(true, false)));
 }
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('widget_control_group' => true, 'widget_controls' => true, 'widget_addon' => array('type' => null, 'icon' => null, 'text' => null), 'widget_prefix' => null, 'widget_suffix' => null, 'widget_type' => '', 'widget_items_attr' => array(), 'widget_control_group_attr' => array(), 'widget_controls_attr' => array(), 'widget_checkbox_label' => $this->options['checkbox_label']));
     $resolver->setAllowedValues(array('widget_type' => array('inline', ''), 'widget_checkbox_label' => array('label', 'widget', 'both')));
 }
Example #16
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('precision' => null, 'grouping' => false, 'rounding_mode' => IntegerToLocalizedStringTransformer::ROUND_DOWN, 'compound' => false));
     $resolver->setAllowedValues(array('rounding_mode' => array(IntegerToLocalizedStringTransformer::ROUND_FLOOR, IntegerToLocalizedStringTransformer::ROUND_DOWN, IntegerToLocalizedStringTransformer::ROUND_HALF_DOWN, IntegerToLocalizedStringTransformer::ROUND_HALF_EVEN, IntegerToLocalizedStringTransformer::ROUND_HALF_UP, IntegerToLocalizedStringTransformer::ROUND_UP, IntegerToLocalizedStringTransformer::ROUND_CEILING)));
 }
Example #17
0
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('min' => 0, 'max' => 100, 'step' => 1, 'orientation' => 'horizontal'));
     $resolver->setAllowedValues(array('orientation' => array('horizontal', 'vertical')));
 }
Example #18
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('precision' => 0, 'type' => 'fractional', 'compound' => false));
     $resolver->setAllowedValues(array('type' => array('fractional', 'integer')));
 }
Example #19
0
    /**
     * {@inheritdoc}
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $compound = function (Options $options) {
            return $options['widget'] !== 'single_text';
        };

        $resolver->setDefaults(array(
            'years'          => range(date('Y') - 5, date('Y') + 5),
            'months'         => range(1, 12),
            'days'           => range(1, 31),
            'widget'         => 'choice',
            'input'          => 'datetime',
            'format'         => self::DEFAULT_FORMAT,
            'data_timezone'  => null,
            'user_timezone'  => null,
            'empty_value'    => null,
            // Don't modify \DateTime classes by reference, we treat
            // them like immutable value objects
            'by_reference'   => false,
            'error_bubbling' => false,
            // If initialized with a \DateTime object, FormType initializes
            // this option to "\DateTime". Since the internal, normalized
            // representation is not \DateTime, but an array, we need to unset
            // this option.
            'data_class'     => null,
            'compound'       => $compound,
        ));

        $resolver->setAllowedValues(array(
            'input'     => array(
                'datetime',
                'string',
                'timestamp',
                'array',
            ),
            'widget'    => array(
                'single_text',
                'text',
                'choice',
            ),
        ));
    }
Example #20
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $compound = function (Options $options) {
         return $options['widget'] !== 'single_text';
     };
     $emptyValue = $placeholderDefault = function (Options $options) {
         return $options['required'] ? null : '';
     };
     // for BC with the "empty_value" option
     $placeholder = function (Options $options) {
         return $options['empty_value'];
     };
     $placeholderNormalizer = function (Options $options, $placeholder) use($placeholderDefault) {
         if (is_array($placeholder)) {
             $default = $placeholderDefault($options);
             return array_merge(array('hour' => $default, 'minute' => $default, 'second' => $default), $placeholder);
         }
         return array('hour' => $placeholder, 'minute' => $placeholder, 'second' => $placeholder);
     };
     $resolver->setDefaults(array('hours' => range(0, 23), 'minutes' => range(0, 59), 'seconds' => range(0, 59), 'widget' => 'choice', 'input' => 'datetime', 'with_minutes' => true, 'with_seconds' => false, 'model_timezone' => null, 'view_timezone' => null, 'empty_value' => $emptyValue, 'placeholder' => $placeholder, 'html5' => true, 'by_reference' => false, 'error_bubbling' => false, 'data_class' => null, 'compound' => $compound));
     $resolver->setNormalizers(array('empty_value' => $placeholderNormalizer, 'placeholder' => $placeholderNormalizer));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'widget' => array('single_text', 'text', 'choice')));
     $resolver->setAllowedTypes(array('hours' => 'array', 'minutes' => 'array', 'seconds' => 'array'));
 }
Example #21
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('type' => $this->type));
     $resolver->setAllowedValues(array('type' => array('markdown', 'wysiwyg')));
 }
Example #22
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $compound = function (Options $options) {
         return $options['widget'] !== 'single_text';
     };
     $emptyValue = $emptyValueDefault = function (Options $options) {
         return $options['required'] ? null : '';
     };
     $emptyValueNormalizer = function (Options $options, $emptyValue) use($emptyValueDefault) {
         if (is_array($emptyValue)) {
             $default = $emptyValueDefault($options);
             return array_merge(array('year' => $default, 'month' => $default, 'day' => $default), $emptyValue);
         }
         return array('year' => $emptyValue, 'month' => $emptyValue, 'day' => $emptyValue);
     };
     $format = function (Options $options) {
         return $options['widget'] === 'single_text' ? DateType::HTML5_FORMAT : DateType::DEFAULT_FORMAT;
     };
     $resolver->setDefaults(array('years' => range(date('Y') - 5, date('Y') + 5), 'months' => range(1, 12), 'days' => range(1, 31), 'widget' => 'choice', 'input' => 'datetime', 'format' => $format, 'model_timezone' => null, 'view_timezone' => null, 'empty_value' => $emptyValue, 'by_reference' => false, 'error_bubbling' => false, 'data_class' => null, 'compound' => $compound));
     $resolver->setNormalizers(array('empty_value' => $emptyValueNormalizer));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'widget' => array('single_text', 'text', 'choice')));
     $resolver->setAllowedTypes(array('format' => array('int', 'string'), 'years' => 'array', 'months' => 'array', 'days' => 'array'));
 }
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(['vic_widget_form_control_class' => 'vic-form-control', 'vic_widget_form_group' => true, 'vic_widget_addon_prepend' => null, 'vic_widget_addon_append' => null, 'vic_widget_prefix' => null, 'vic_widget_suffix' => null, 'vic_widget_type' => '', 'vic_widget_items_attr' => [], 'vic_vic_widget_form_group_attr' => ['class' => 'vic-form-group'], 'vic_widget_vic_checkbox_label' => $this->options['vic_checkbox_label']]);
     $resolver->setAllowedValues(['vic_widget_type' => ['inline', ''], 'vic_widget_vic_checkbox_label' => ['label', 'widget', 'both']]);
 }
Example #24
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $compound = function (Options $options) {
         return $options['widget'] !== 'single_text';
     };
     $resolver->setDefaults(array('years' => range(date('Y') - 5, date('Y') + 5), 'months' => range(1, 12), 'days' => range(1, 31), 'widget' => 'choice', 'input' => 'datetime', 'format' => self::DEFAULT_FORMAT, 'data_timezone' => null, 'user_timezone' => null, 'empty_value' => null, 'by_reference' => false, 'error_bubbling' => false, 'data_class' => null, 'compound' => $compound));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'widget' => array('single_text', 'text', 'choice')));
 }
Example #25
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setRequired(['site_key']);
     $resolver->setDefaults(['compound' => false, 'site_key' => $this->siteKey, 'mapped' => false, 'locale' => $this->request->getLocale(), 'theme' => 'light', 'constraints' => [new ValidCaptcha()]]);
     $resolver->setAllowedValues(['locale' => ['ar', 'bg', 'ca', 'zh-CN', 'zh-TW', 'hr', 'cs', 'da', 'nl', 'en-GB', 'en', 'fil', 'fi', 'fr', 'fr-CA', 'de', 'de-AT', 'de-CH', 'el', 'iw', 'hi', 'hu', 'id', 'it', 'ja', 'ko', 'lv', 'lt', 'no', 'fa', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ro', 'ru', 'sr', 'sk', 'sl', 'es', 'es-419', 'sv', 'th', 'tr', 'uk', 'vi']]);
 }
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('animationSpeed' => 100, 'animationEasing' => 'swing', 'changeDelay' => 0, 'control' => 'hue', 'hideSpeed' => 100, 'inline' => false, 'letterCase' => 'lowercase', 'opacity' => false, 'position' => 'default', 'showSpeed' => 100, 'swatchPosition' => 'left', 'textfield' => true, 'theme' => 'bootstrap'));
     $resolver->setAllowedValues(array('control' => array('hue', 'brightness', 'saturation', 'wheel'), 'letterCase' => array('lowercase', 'uppercase'), 'position' => array('default', 'top', 'left', 'top left'), 'swatchPosition' => array('left', 'right')));
     $resolver->setAllowedTypes(array('animationSpeed' => 'integer', 'animationEasing' => 'string', 'changeDelay' => 'integer', 'hideSpeed' => 'integer', 'inline' => 'bool', 'opacity' => 'bool', 'showSpeed' => 'integer', 'textfield' => 'bool', 'theme' => 'string'));
 }
Example #27
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $compound = function (Options $options) {
         return $options['widget'] !== 'single_text';
     };
     // Defaults to the value of "widget"
     $dateWidget = function (Options $options) {
         return $options['widget'];
     };
     // Defaults to the value of "widget"
     $timeWidget = function (Options $options) {
         return $options['widget'];
     };
     $resolver->setDefaults(array('input' => 'datetime', 'model_timezone' => null, 'view_timezone' => null, 'format' => self::HTML5_FORMAT, 'date_format' => null, 'widget' => null, 'date_widget' => $dateWidget, 'time_widget' => $timeWidget, 'with_minutes' => true, 'with_seconds' => false, 'html5' => true, 'by_reference' => false, 'error_bubbling' => false, 'data_class' => null, 'compound' => $compound));
     // Don't add some defaults in order to preserve the defaults
     // set in DateType and TimeType
     $resolver->setOptional(array('empty_value', 'placeholder', 'years', 'months', 'days', 'hours', 'minutes', 'seconds'));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'date_widget' => array(null, 'single_text', 'text', 'choice'), 'time_widget' => array(null, 'single_text', 'text', 'choice'), 'widget' => array(null, 'single_text', 'text', 'choice')));
 }
Example #28
0
    /**
     * {@inheritdoc}
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $compound = function (Options $options) {
            return $options['widget'] !== 'single_text';
        };

        $emptyValue = $placeholderDefault = function (Options $options) {
            return $options['required'] ? null : '';
        };

        $placeholder = function (Options $options) {
            return $options['empty_value'];
        };

        $placeholderNormalizer = function (Options $options, $placeholder) use ($placeholderDefault) {
            if (is_array($placeholder)) {
                $default = $placeholderDefault($options);

                return array_merge(
                    array('year' => $default, 'month' => $default, 'day' => $default),
                    $placeholder
                );
            }

            return array(
                'year' => $placeholder,
                'month' => $placeholder,
                'day' => $placeholder,
            );
        };

        $format = function (Options $options) {
            return $options['widget'] === 'single_text' ? DateType::HTML5_FORMAT : DateType::DEFAULT_FORMAT;
        };

        $resolver->setDefaults(array(
            'years' => range(date('Y') - 5, date('Y') + 5),
            'months' => range(1, 12),
            'days' => range(1, 31),
            'widget' => 'choice',
            'input' => 'datetime',
            'format' => $format,
            'model_timezone' => null,
            'view_timezone' => null,
            'empty_value' => $emptyValue, // deprecated
            'placeholder' => $placeholder,
            'html5' => true,
            // Don't modify \DateTime classes by reference, we treat
            // them like immutable value objects
            'by_reference' => false,
            'error_bubbling' => false,
            // If initialized with a \DateTime object, FormType initializes
            // this option to "\DateTime". Since the internal, normalized
            // representation is not \DateTime, but an array, we need to unset
            // this option.
            'data_class' => null,
            'compound' => $compound,
        ));

        $resolver->setNormalizers(array(
            'empty_value' => $placeholderNormalizer,
            'placeholder' => $placeholderNormalizer,
        ));

        $resolver->setAllowedValues(array(
            'input' => array(
                'datetime',
                'string',
                'timestamp',
                'array',
            ),
            'widget' => array(
                'single_text',
                'text',
                'choice',
            ),
        ));

        $resolver->setAllowedTypes(array(
            'format' => array('int', 'string'),
            'years' => 'array',
            'months' => 'array',
            'days' => 'array',
        ));
    }
Example #29
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $resolver->setDefaults(array('precision' => null, 'grouping' => false, 'rounding_mode' => \NumberFormatter::ROUND_DOWN, 'compound' => false));
     $resolver->setAllowedValues(array('rounding_mode' => array(\NumberFormatter::ROUND_FLOOR, \NumberFormatter::ROUND_DOWN, \NumberFormatter::ROUND_HALFDOWN, \NumberFormatter::ROUND_HALFEVEN, \NumberFormatter::ROUND_HALFUP, \NumberFormatter::ROUND_UP, \NumberFormatter::ROUND_CEILING)));
 }
Example #30
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $compound = function (Options $options) {
         return $options['widget'] !== 'single_text';
     };
     $emptyValue = $emptyValueDefault = function (Options $options) {
         return $options['required'] ? null : '';
     };
     $emptyValueFilter = function (Options $options, $emptyValue) use($emptyValueDefault) {
         if (is_array($emptyValue)) {
             $default = $emptyValueDefault($options);
             return array_merge(array('hour' => $default, 'minute' => $default, 'second' => $default), $emptyValue);
         }
         return array('hour' => $emptyValue, 'minute' => $emptyValue, 'second' => $emptyValue);
     };
     // BC until Symfony 2.3
     $modelTimezone = function (Options $options) {
         return $options['data_timezone'];
     };
     // BC until Symfony 2.3
     $viewTimezone = function (Options $options) {
         return $options['user_timezone'];
     };
     $resolver->setDefaults(array('hours' => range(0, 23), 'minutes' => range(0, 59), 'seconds' => range(0, 59), 'widget' => 'choice', 'input' => 'datetime', 'with_seconds' => false, 'model_timezone' => $modelTimezone, 'view_timezone' => $viewTimezone, 'data_timezone' => null, 'user_timezone' => null, 'empty_value' => $emptyValue, 'by_reference' => false, 'error_bubbling' => false, 'data_class' => null, 'compound' => $compound));
     $resolver->setFilters(array('empty_value' => $emptyValueFilter));
     $resolver->setAllowedValues(array('input' => array('datetime', 'string', 'timestamp', 'array'), 'widget' => array('single_text', 'text', 'choice')));
 }