protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $resource = $this->getPayload('resource');
     $thumbnail_activity = null;
     $preview_activity = null;
     if ($this->getOption('use_converjon', false)) {
         $thumbnail_activity = $this->activity_service->getActivity($this->getOption('thumbnail_activity_scope', 'converjon'), $this->getOption('thumbnail_activity_name', 'thumbnail'));
         $preview_activity = $this->activity_service->getActivity($this->getOption('preview_activity_scope', 'converjon'), $this->getOption('preview_activity_name', 'preview'));
     }
     $images = [];
     $root_doc = $resource->getRoot() ?: $resource;
     foreach ($params['attribute_value'] as $image) {
         $original_image_url = $this->url_generator->generateUrl('module.files.download', ['resource' => $root_doc, 'file' => $image->getLocation()]);
         $additional_file_info = ['id' => md5($image->getLocation()), 'thumb_url' => $original_image_url, 'preview_url' => $original_image_url, 'download_url' => $original_image_url];
         if ($this->getOption('use_converjon', false)) {
             $url_params = ['file' => $image->getLocation()];
             $additional_file_info['thumb_url'] = $this->url_generator->generateUrl($thumbnail_activity, $url_params);
             $additional_file_info['preview_url'] = $this->url_generator->generateUrl($preview_activity, $url_params);
         }
         $images[] = array_merge($image->toNative(), $additional_file_info);
     }
     $upload_input_name = $this->getOption('form-name', 'uploadform') . '[' . $this->attribute->getPath() . ']';
     $params['images'] = $images;
     $params['resource_type_prefix'] = $this->attribute->getRootType()->getPrefix();
     $params['resource_type_name'] = $root_doc->getType()->getName();
     $params['resource_identifier'] = $root_doc->getIdentifier();
     $params['upload_input_name'] = $upload_input_name;
     $params['upload_url'] = $this->url_generator->generateUrl('module.files.upload', ['resource' => $root_doc]);
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['min_value'] = $this->getOption('min_value', $this->attribute->getOption(TimestampAttribute::OPTION_MIN_TIMESTAMP));
     $params['max_value'] = $this->getOption('max_value', $this->attribute->getOption(TimestampAttribute::OPTION_MAX_TIMESTAMP));
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $open_in_blank = $this->getOption('open_in_blank', true);
     $params['open_in_blank'] = $open_in_blank;
     $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(UrlAttribute::OPTION_MAX_LENGTH));
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['allowed_values'] = (array) $this->attribute->getOption('allowed_values', []);
     $params['add_empty_option'] = $this->getOption('add_empty_option', false);
     $params['empty_option_name'] = $this->getOption('empty_option_name', '');
     $params['empty_option_value'] = $this->getOption('empty_option_value', $this->attribute->getNullValue());
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(TextareaAttribute::OPTION_MAX_LENGTH));
     if (is_numeric($params['maxlength'])) {
         $params['attribute_value'] = substr($params['attribute_value'], 0, $params['maxlength']);
     }
     $params['wrap'] = $this->getOption('wrap', '');
     $params['cols'] = $this->getOption('cols', '');
     $params['rows'] = $this->getOption('rows', 12);
     $params['syntax'] = $this->getSyntaxParameters();
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['grouped_field_name'] = $params['grouped_field_name'] . '[]';
     $value = $params['attribute_value'];
     $missing_allowed_values = [];
     foreach ($this->getAllowedValues() as $allowed_value) {
         if (!in_array($allowed_value, $value)) {
             $missing_allowed_values[] = $allowed_value;
         }
     }
     $params['unchecked_options'] = $missing_allowed_values;
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(TextareaAttribute::OPTION_MAX_LENGTH));
     if (is_numeric($params['maxlength'])) {
         $params['attribute_value'] = substr($params['attribute_value'], 0, $params['maxlength']);
     }
     $params['wrap'] = $this->getOption('wrap', '');
     $params['cols'] = $this->getOption('cols', '');
     $params['rows'] = $this->getOption('rows', 9);
     // editor like the HtmlRichTextEditor
     $params['editor'] = $this->getEditorParameters($params);
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['grouped_field_name'] = $params['grouped_field_name'] . '[]';
     $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(UrlListAttribute::OPTION_MAX_LENGTH));
     $display_inputs = (int) $this->getOption('display_inputs', -1);
     $params['missing_inputs'] = 0;
     if ($display_inputs > -1) {
         $missing_inputs = $display_inputs - count($params['attribute_value']);
         if ($missing_inputs > 0) {
             $params['missing_inputs'] = $missing_inputs;
         }
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['value_step'] = $this->getOption('value_step', self::DEFAULT_VALUE_STEP);
     // verify the parameters are valid with floats
     foreach (['value_step'] as $key) {
         if ($key === 'value_step' && $params[$key] === 'any') {
             continue;
         }
         if (is_numeric($params[$key])) {
             $params[$key] = floatval($params[$key]);
         } else {
             $params[$key] = '';
         }
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['translation_domain_roles'] = $this->getOption('translation_domain_roles', 'application.roles');
     $wanted_roles = $this->getOption('allowed_values', $this->environment->getUser()->getAvailableRoles());
     /*
            $allowed_roles = [];
            $user = $this->environment->getUser();
            foreach ($wanted_roles as $role_id) {
                if ($user->isAllowed(null, 'assign-role:'.$role_id)) {
                    $allowed_roles[] = $role_id;
                }
            }
            if ($user->isAllowed($this->attribute, 'read')) {
                $allowed_roles = $wanted_roles;
            }
     */
     $params['allowed_roles'] = $wanted_roles;
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $resource = $this->getPayload('resource');
     $assets = [];
     $root_doc = $resource->getRoot() ?: $resource;
     foreach ($params['attribute_value'] as $asset) {
         $original_asset_url = $this->url_generator->generateUrl('module.files.download', ['resource' => $root_doc, 'file' => $asset->getLocation()]);
         $additional_file_info = ['id' => md5($asset->getLocation()), 'download_url' => $original_asset_url];
         $assets[] = array_merge($asset->toNative(), $additional_file_info);
     }
     $upload_input_name = $this->getOption('form-name', 'uploadform') . '[' . $this->attribute->getPath() . ']';
     $params['assets'] = $assets;
     $params['resource_type_prefix'] = $this->attribute->getRootType()->getPrefix();
     $params['resource_type_name'] = $root_doc->getType()->getName();
     $params['resource_identifier'] = $root_doc->getIdentifier();
     $params['upload_input_name'] = $upload_input_name;
     $params['upload_url'] = $this->url_generator->generateUrl('module.files.upload', ['resource' => $root_doc]);
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $embedded_entity_list = $this->determineAttributeValue($this->attribute->getName());
     $rendered_entities = [];
     foreach ($embedded_entity_list as $pos => $embedded_entity) {
         $rendered_entities[] = $this->renderEmbeddedEntity($embedded_entity, $pos);
     }
     $params['is_empty'] = $embedded_entity_list->isEmpty();
     $params['is_readonly'] = $this->isReadonly();
     $params['rendered_entities'] = $rendered_entities;
     $params['embedded_type_names'] = $this->attribute->getEmbeddedEntityTypeMap()->getKeys();
     $params['rendered_embed_selector'] = $this->renderEmbeddedEntityTypeSelectorMap();
     $params['rendered_type_templates'] = $this->renderEmbeddedTypeTemplates($embedded_entity_list->getSize());
     $params['as_panel'] = $this->getOption('as_panel', true);
     $params['inline_mode'] = $this->attribute->getOption('inline_mode', false);
     if ($this->attribute->getOption('inline_mode', false)) {
         $params['css'] .= ' hb-entity-list__inline-mode';
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     // load settings or fallback to default attribute's options
     $params['min_value'] = $this->getOption('min_value', $this->attribute->getOption(IntegerAttribute::OPTION_MIN_VALUE));
     $params['max_value'] = $this->getOption('max_value', $this->attribute->getOption(IntegerAttribute::OPTION_MAX_VALUE));
     $params['value_step'] = $this->getOption('value_step');
     // verify the parameters are valid with integers
     $php_int_min = ~PHP_INT_MAX;
     foreach (['min_value', 'max_value', 'value_step'] as $key) {
         if (is_numeric($params[$key]) && $params[$key] <= PHP_INT_MAX && $params[$key] >= $php_int_min) {
             // truncate to integer eventual float values
             $params[$key] = intval(floor($params[$key]));
         } else {
             $params[$key] = '';
         }
     }
     $params['maxlength'] = $this->getOption('maxlength', '');
     if (!$this->hasOption('placeholder')) {
         $params['placeholder'] = sprintf('%s…%s', $params['min_value'], $params['max_value']);
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['allowed_keys'] = $this->attribute->getOption(KeyValueListAttribute::OPTION_ALLOWED_KEYS, $this->getOption('allowed_keys', []));
     $params['allowed_values'] = $this->attribute->getOption(KeyValueListAttribute::OPTION_ALLOWED_VALUES, $this->getOption('allowed_values', []));
     if ($this->attribute->hasOption(KeyValueListAttribute::OPTION_ALLOWED_PAIRS) || $this->hasOption('allowed_pairs')) {
         $params['allowed_pairs'] = $this->getOption('allowed_pairs', $this->attribute->getOption(KeyValueListAttribute::OPTION_ALLOWED_PAIRS, []));
         if ($params['allowed_pairs'] instanceof SettingsInterface) {
             $params['allowed_pairs'] = $params['allowed_pairs']->toArray();
         }
         $params['allowed_keys'] = array_keys($params['allowed_pairs']);
         $params['allowed_values'] = array_values($params['allowed_pairs']);
     }
     $params['disabled'] = $this->isReadonly() || $this->isDisabled() ? 'disabled' : '';
     $params['hide_pair_labels'] = $this->getOption('hide_pair_labels', false);
     $params['key_maxlength'] = $this->getOption('key_maxlength');
     $params['value_maxlength'] = $this->getOption('value_maxlength', $this->attribute->getOption(KeyValueListAttribute::OPTION_MAX_LENGTH));
     $params['value_type'] = $this->getOption('value_type', $this->attribute->getOption(KeyValueListAttribute::OPTION_VALUE_TYPE, 'text'));
     switch ($params['value_type']) {
         case 'integer':
         case 'float':
             $params['value_type'] = 'number';
             $params['min'] = $this->getOption('min', $this->attribute->getOption(KeyValueListAttribute::OPTION_MIN_VALUE));
             $params['max'] = $this->getOption('max', $this->attribute->getOption(KeyValueListAttribute::OPTION_MAX_VALUE));
             break;
         case 'boolean':
             // @todo implement
             // break;
         // @todo implement
         // break;
         default:
             $params['value_type'] = 'text';
             break;
     }
     $params['attribute_value'] = $this->normalizeAttributeValue($params['attribute_value'], ['key_maxlength' => $params['key_maxlength'], 'value_maxlength' => $params['value_maxlength']]);
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     // load settings or fallback to default attribute's options
     $params['min_value'] = $this->getOption('min_value', $this->attribute->getOption(FloatAttribute::OPTION_MIN_VALUE));
     $params['max_value'] = $this->getOption('max_value', $this->attribute->getOption(FloatAttribute::OPTION_MAX_VALUE));
     $params['value_step'] = $this->getOption('value_step', self::DEFAULT_VALUE_STEP);
     // verify the parameters are valid with floats
     foreach (['min_value', 'max_value', 'value_step'] as $key) {
         if ($key === 'value_step' && $params[$key] === 'any') {
             continue;
         }
         if (is_numeric($params[$key])) {
             $params[$key] = floatval($params[$key]);
         } else {
             $params[$key] = '';
         }
     }
     $params['maxlength'] = $this->getOption('maxlength', '');
     if (!$this->hasOption('placeholder')) {
         $params['placeholder'] = sprintf('%s…%s', $params['min_value'], $params['max_value']);
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['maxlength'] = $this->getOption('maxlength', '');
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $params['maxlength'] = $this->getOption('maxlength', $this->attribute->getOption(TextAttribute::OPTION_MAX_LENGTH));
     return $params;
 }