Loading modules/custom_elements_ui/config/schema/custom_elements_ui.schema.yml→config/schema/custom_elements.schema.yml +7 −10 Original line number Diff line number Diff line core.entity_view_display.*.*.*.third_party_settings.custom_elements_ui: core.entity_view_display.*.*.*.third_party_settings.custom_elements: type: mapping label: 'Per-view-mode Custom elements settings' mapping: enabled: type: boolean label: 'Whether the Custom Elements Display builder is enabled for this display' label: 'Whether the custom elements rendering is enabled for view display mode' custom_element_name: type: string label: 'Custom element name' custom_element_fields: type: sequence sequence: type: custom_elements_ui.field type: custom_elements.field custom_elements_ui.field: custom_elements.field: type: mapping label: 'CE field' label: 'Custom element field ' mapping: label: type: string label: 'CE name' label: 'Custom element name' is_slot: type: bool label: 'is Slot' type: type: string label: 'Widget type machine name' label: 'Custom element renderer' weight: type: integer label: 'Weight' region: type: string label: 'Region' ce_formatter: type: string label: 'CE Formatter' custom_elements.module +1 −1 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ function custom_elements_module_implements_alter(&$implementations, $hook) { function custom_elements_entity_view_display_alter(EntityViewDisplayInterface $display, array $context) { // Enable for all view-modes named appropriately by default. if (strpos($context['view_mode'], 'custom_elements') === 0) { $display->setThirdPartySetting('custom_elements', 'enabled', 1); $display->setThirdPartySetting('custom_elements', 'enabled', TRUE); } } Loading modules/custom_elements_everywhere/custom_elements_everywhere.module +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ function custom_elements_everywhere_entity_prepare_view($entity_type_id, array $ // such that custom elements processor may use it to render // individual fields. foreach ($displays as $display) { $display->setThirdPartySetting('custom_elements', 'enabled', 1); $display->setThirdPartySetting('custom_elements', 'enabled', TRUE); } } } modules/custom_elements_ui/custom_elements_ui.module +5 −5 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ function custom_elements_ui_form_entity_view_display_edit_form_alter(&$form, For $display_form = $form_state->getFormObject(); /** @var \Drupal\Core\Entity\Entity\EntityViewDisplay $display_entity */ $display_entity = $display_form->getEntity(); $is_enabled = $display_entity->getThirdPartySetting('custom_elements_ui', 'enabled') ?? FALSE; $is_enabled = $display_entity->getThirdPartySetting('custom_elements', 'enabled', FALSE); // Hide the table of fields same as in field_ui. if ($is_enabled) { Loading @@ -53,14 +53,14 @@ function custom_elements_ui_form_entity_view_display_edit_form_alter(&$form, For '#access' => $is_enabled, ]; $form['custom_elements_ui'] = [ $form['custom_elements'] = [ '#type' => 'details', '#open' => TRUE, '#title' => t('Custom Elements'), '#tree' => TRUE, ]; $form['custom_elements_ui']['enabled'] = [ $form['custom_elements']['enabled'] = [ '#type' => 'checkbox', '#title' => t('Use Custom Elements Display'), '#default_value' => $is_enabled, Loading @@ -75,12 +75,12 @@ function custom_elements_ui_form_entity_view_display_edit_form_alter(&$form, For * @see custom_elements_ui_form_entity_view_display_edit_form_alter() */ function _custom_elements_ui_entity_view_display_edit_form_submit($form, FormStateInterface $form_state) { $set_enabled = (bool) $form_state->getValue(['custom_elements_ui', 'enabled'], FALSE); $enabled = (bool) $form_state->getValue(['custom_elements', 'enabled'], FALSE); /** @var \Drupal\Core\Entity\EntityFormInterface $display_form */ $display_form = $form_state->getFormObject(); /** @var \Drupal\Core\Entity\Entity\EntityViewDisplay $display_entity */ $display_entity = $display_form->getEntity(); $display_entity->setThirdPartySetting('custom_elements_ui', 'enabled', $set_enabled); $display_entity->setThirdPartySetting('custom_elements', 'enabled', $enabled); // @todo Autogenerate fields and name from view display entity? $display_entity->save(); } modules/custom_elements_ui/src/Form/EntityCustomElementsDisplayForm.php +7 −7 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { $field_row = parent::buildFieldRow($field_definition, $form, $form_state); $field_name = $field_definition->getName(); $display_component_options = $this->entity->getComponent($field_name); $display_options = $this->entity->getThirdPartySetting('custom_elements_ui', 'custom_element_fields'); $display_options = $this->entity->getThirdPartySetting('custom_elements', 'custom_element_fields', []); $display_options = $display_options[$field_name] ?? []; // Override default values. Loading Loading @@ -103,14 +103,14 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { */ protected function copyFormValuesToEntity(EntityInterface $entity, array $form, FormStateInterface $form_state) { $form_values = $form_state->getValues(); $is_enabled = $entity->getThirdPartySetting('custom_elements_ui', 'enabled'); $is_enabled = $entity->getThirdPartySetting('custom_elements', 'enabled', FALSE); // Delete fields if form was submitted but ce display wasn't activated. if (!$is_enabled) { $entity->setThirdPartySetting('custom_elements_ui', 'custom_element_fields', []); $entity->setThirdPartySetting('custom_elements', 'custom_element_fields', []); parent::copyFormValuesToEntity($entity, $form, $form_state); } $ce_fields = $entity->getThirdPartySetting('custom_elements_ui', 'custom_element_fields') ?? []; $ce_fields = $entity->getThirdPartySetting('custom_elements', 'custom_element_fields', []); if ($this->entity instanceof EntityWithPluginCollectionInterface) { // Do not manually update values represented by plugin collections. Loading Loading @@ -148,8 +148,8 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { } uasort($ce_fields, 'Drupal\Component\Utility\SortArray::sortByWeightElement'); $entity->setThirdPartySetting('custom_elements_ui', 'custom_element_fields', $ce_fields); $entity->setThirdPartySetting('custom_elements_ui', 'custom_element_name', $form_values['ce_name']); $entity->setThirdPartySetting('custom_elements', 'custom_element_fields', $ce_fields); $entity->setThirdPartySetting('custom_elements', 'custom_element_name', $form_values['ce_name']); } /** Loading @@ -174,7 +174,7 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { $form['ce_name'] = [ '#type' => 'textfield', '#title' => $this->t('Element name'), '#default_value' => $this->entity->getThirdPartySetting('custom_elements_ui', 'custom_element_name') ?? '', '#default_value' => $this->entity->getThirdPartySetting('custom_elements', 'custom_element_name', ''), '#size' => 20, '#required' => TRUE, ]; Loading Loading
modules/custom_elements_ui/config/schema/custom_elements_ui.schema.yml→config/schema/custom_elements.schema.yml +7 −10 Original line number Diff line number Diff line core.entity_view_display.*.*.*.third_party_settings.custom_elements_ui: core.entity_view_display.*.*.*.third_party_settings.custom_elements: type: mapping label: 'Per-view-mode Custom elements settings' mapping: enabled: type: boolean label: 'Whether the Custom Elements Display builder is enabled for this display' label: 'Whether the custom elements rendering is enabled for view display mode' custom_element_name: type: string label: 'Custom element name' custom_element_fields: type: sequence sequence: type: custom_elements_ui.field type: custom_elements.field custom_elements_ui.field: custom_elements.field: type: mapping label: 'CE field' label: 'Custom element field ' mapping: label: type: string label: 'CE name' label: 'Custom element name' is_slot: type: bool label: 'is Slot' type: type: string label: 'Widget type machine name' label: 'Custom element renderer' weight: type: integer label: 'Weight' region: type: string label: 'Region' ce_formatter: type: string label: 'CE Formatter'
custom_elements.module +1 −1 Original line number Diff line number Diff line Loading @@ -183,7 +183,7 @@ function custom_elements_module_implements_alter(&$implementations, $hook) { function custom_elements_entity_view_display_alter(EntityViewDisplayInterface $display, array $context) { // Enable for all view-modes named appropriately by default. if (strpos($context['view_mode'], 'custom_elements') === 0) { $display->setThirdPartySetting('custom_elements', 'enabled', 1); $display->setThirdPartySetting('custom_elements', 'enabled', TRUE); } } Loading
modules/custom_elements_everywhere/custom_elements_everywhere.module +1 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ function custom_elements_everywhere_entity_prepare_view($entity_type_id, array $ // such that custom elements processor may use it to render // individual fields. foreach ($displays as $display) { $display->setThirdPartySetting('custom_elements', 'enabled', 1); $display->setThirdPartySetting('custom_elements', 'enabled', TRUE); } } }
modules/custom_elements_ui/custom_elements_ui.module +5 −5 Original line number Diff line number Diff line Loading @@ -27,7 +27,7 @@ function custom_elements_ui_form_entity_view_display_edit_form_alter(&$form, For $display_form = $form_state->getFormObject(); /** @var \Drupal\Core\Entity\Entity\EntityViewDisplay $display_entity */ $display_entity = $display_form->getEntity(); $is_enabled = $display_entity->getThirdPartySetting('custom_elements_ui', 'enabled') ?? FALSE; $is_enabled = $display_entity->getThirdPartySetting('custom_elements', 'enabled', FALSE); // Hide the table of fields same as in field_ui. if ($is_enabled) { Loading @@ -53,14 +53,14 @@ function custom_elements_ui_form_entity_view_display_edit_form_alter(&$form, For '#access' => $is_enabled, ]; $form['custom_elements_ui'] = [ $form['custom_elements'] = [ '#type' => 'details', '#open' => TRUE, '#title' => t('Custom Elements'), '#tree' => TRUE, ]; $form['custom_elements_ui']['enabled'] = [ $form['custom_elements']['enabled'] = [ '#type' => 'checkbox', '#title' => t('Use Custom Elements Display'), '#default_value' => $is_enabled, Loading @@ -75,12 +75,12 @@ function custom_elements_ui_form_entity_view_display_edit_form_alter(&$form, For * @see custom_elements_ui_form_entity_view_display_edit_form_alter() */ function _custom_elements_ui_entity_view_display_edit_form_submit($form, FormStateInterface $form_state) { $set_enabled = (bool) $form_state->getValue(['custom_elements_ui', 'enabled'], FALSE); $enabled = (bool) $form_state->getValue(['custom_elements', 'enabled'], FALSE); /** @var \Drupal\Core\Entity\EntityFormInterface $display_form */ $display_form = $form_state->getFormObject(); /** @var \Drupal\Core\Entity\Entity\EntityViewDisplay $display_entity */ $display_entity = $display_form->getEntity(); $display_entity->setThirdPartySetting('custom_elements_ui', 'enabled', $set_enabled); $display_entity->setThirdPartySetting('custom_elements', 'enabled', $enabled); // @todo Autogenerate fields and name from view display entity? $display_entity->save(); }
modules/custom_elements_ui/src/Form/EntityCustomElementsDisplayForm.php +7 −7 Original line number Diff line number Diff line Loading @@ -48,7 +48,7 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { $field_row = parent::buildFieldRow($field_definition, $form, $form_state); $field_name = $field_definition->getName(); $display_component_options = $this->entity->getComponent($field_name); $display_options = $this->entity->getThirdPartySetting('custom_elements_ui', 'custom_element_fields'); $display_options = $this->entity->getThirdPartySetting('custom_elements', 'custom_element_fields', []); $display_options = $display_options[$field_name] ?? []; // Override default values. Loading Loading @@ -103,14 +103,14 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { */ protected function copyFormValuesToEntity(EntityInterface $entity, array $form, FormStateInterface $form_state) { $form_values = $form_state->getValues(); $is_enabled = $entity->getThirdPartySetting('custom_elements_ui', 'enabled'); $is_enabled = $entity->getThirdPartySetting('custom_elements', 'enabled', FALSE); // Delete fields if form was submitted but ce display wasn't activated. if (!$is_enabled) { $entity->setThirdPartySetting('custom_elements_ui', 'custom_element_fields', []); $entity->setThirdPartySetting('custom_elements', 'custom_element_fields', []); parent::copyFormValuesToEntity($entity, $form, $form_state); } $ce_fields = $entity->getThirdPartySetting('custom_elements_ui', 'custom_element_fields') ?? []; $ce_fields = $entity->getThirdPartySetting('custom_elements', 'custom_element_fields', []); if ($this->entity instanceof EntityWithPluginCollectionInterface) { // Do not manually update values represented by plugin collections. Loading Loading @@ -148,8 +148,8 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { } uasort($ce_fields, 'Drupal\Component\Utility\SortArray::sortByWeightElement'); $entity->setThirdPartySetting('custom_elements_ui', 'custom_element_fields', $ce_fields); $entity->setThirdPartySetting('custom_elements_ui', 'custom_element_name', $form_values['ce_name']); $entity->setThirdPartySetting('custom_elements', 'custom_element_fields', $ce_fields); $entity->setThirdPartySetting('custom_elements', 'custom_element_name', $form_values['ce_name']); } /** Loading @@ -174,7 +174,7 @@ class EntityCustomElementsDisplayForm extends EntityDisplayFormBase { $form['ce_name'] = [ '#type' => 'textfield', '#title' => $this->t('Element name'), '#default_value' => $this->entity->getThirdPartySetting('custom_elements_ui', 'custom_element_name') ?? '', '#default_value' => $this->entity->getThirdPartySetting('custom_elements', 'custom_element_name', ''), '#size' => 20, '#required' => TRUE, ]; Loading