protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $glance_config = $this->getOption('glance_config', new ArrayConfig([]));
     $params['css'] = $this->getOption('css', '');
     $params['trigger_id'] = $this->getOption('trigger_id', sprintf('%s-%s', $params['grouped_base_path'], rand()));
     $params['html_attributes'] = $this->getOption('html_attributes', []);
     $params['collapsible'] = $glance_config->get('collapsible', true);
     $params['expand_by_default'] = $glance_config->get('expand_by_default', false);
     if ($glance_config->has('fixed_content')) {
         $params['rendered_glance_content'] = $glance_config->get('fixed_content', false);
     } else {
         $params['rendered_glance_content'] = $glance_config->get('enabled', false) ? $this->renderGlance($glance_config->toArray()) : '';
     }
     if (empty($params['rendered_glance_content'])) {
         // expand if no clickable glance is rendered
         $params['expand_by_default'] = true;
         $params['collapsible'] = false;
     } elseif ($params['has_parent_attribute']) {
         $params['css'] .= ' hb-embed-item--has_glance';
     }
     if ($params['expand_by_default']) {
         $params['css'] .= ' hb-embed-item--is_expanded';
     }
     if ($params['collapsible']) {
         $params['css'] .= ' hb-embed-item--is_collapsible';
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getDefaultTemplateParameters();
     $resource = $this->getPayload('subject');
     $parent_attribute = $resource->getType()->getParentAttribute();
     $group_parts = (array) $this->getOption('group_parts', []);
     $params['grouped_base_path'] = ArrayToolkit::flattenToArrayPath($group_parts);
     $params['is_embed_template'] = $this->getOption('is_embed_template', false);
     $params['has_parent_attribute'] = $parent_attribute !== null;
     $params['html_attributes'] = $this->getOption('html_attributes', []);
     $params['image_disabled'] = $this->getOption('image_disabled', false);
     $params['resource'] = $resource->toNative();
     $params['is_new'] = !$resource->hasValue('identifier');
     $params['css'] = $this->getOption('css', '');
     $params = array_replace_recursive($this->lookupViewTemplate(), $params);
     if ($this->hasOption('view_template_name')) {
         // use view_template
         $params['rendered_fields'] = $this->getRenderedFields($resource, $params['view_template']);
         $params['css'] .= $params['is_new'] ? ' hb-glance--empty' : null;
     } else {
         // get default values
         if (!$params['image_disabled']) {
             $image = $this->getGlanceImage($resource, $params['view_template']);
             $params['image_width'] = $this->getOption('image_width', $image['width']);
             $params['image_height'] = $this->getOption('image_height', $image['height']);
             $params['image_url'] = $image['location'];
         }
         $params['title'] = $this->getGlanceTitle($resource, $params['view_template']);
         $params['description'] = $this->getGlanceDescription($resource, $params['view_template']);
     }
     return $params;
 }
 protected function getTemplateParameters()
 {
     $params = parent::getTemplateParameters();
     $resource = $this->getPayload('subject');
     $params['html_attributes'] = $this->getOption('html_attributes', []);
     $css = (string) $this->getOption('css', '');
     $css = 'hb-item ' . $this->getOption('css_prefix', 'hb-item-') . $resource->getIdentifier() . ' ' . $css;
     $css .= !empty($params['rendered_glance_content']) ? ' hb-item--has_glance' : '';
     $params['css'] = $css;
     return $params;
 }