FALSE, ] + parent::defaultConfiguration(); } /** * {@inheritdoc} */ public function query() { $query = $this->select('field_config', 'fc') ->fields('fc'); $query->condition('fc.type', 'field_collection'); $query->condition('fc.active', TRUE); return $query; } /** * {@inheritdoc} */ public function prepareRow(Row $row) { $name = $row->getSourceProperty('field_name'); // Remove field_ prefix for new bundle. $bundle = substr($name, FieldCollection::FIELD_COLLECTION_PREFIX_LENGTH); $row->setSourceProperty('bundle', $bundle); // Field collections don't have descriptions, optionally add one. if ($this->configuration['add_description']) { $row->setSourceProperty('description', 'Migrated from field_collection ' . $name); } else { $row->setSourceProperty('description', ''); } // Set label from bundle because we don't have a label in D7 field // collections. $row->setSourceProperty('name', ucfirst(preg_replace('/_/', ' ', $bundle))); return parent::prepareRow($row); } /** * {@inheritdoc} */ public function fields() { return [ 'field_name' => $this->t('Original field collection bundle/field_name'), 'bundle' => $this->t('Paragraph type machine name'), 'name' => $this->t('Paragraph type label'), 'description' => $this->t('Paragraph type description'), ]; } /** * {@inheritdoc} */ public function getIds() { $ids['field_name']['type'] = 'string'; return $ids; } /** * {@inheritdoc} * * @deprecated addDescription configuration key is deprecated in 8.x-1.0 and * will be removed prior to 9.x. Use add_description instead. * * @see https://www.drupal.org/project/paragraphs/issues/2911242 */ public function setConfiguration(array $configuration) { // Configuration keys should be snake_case, not CamelCase. Adding a BC // layer for addDescription which should be deprecated. if (isset($configuration['addDescription'])) { @trigger_error("addDescription configuration key is deprecated in 8.x-1.0 and will be removed prior to 9.x. Use add_description instead. See https://www.drupal.org/project/paragraphs/issues/2911242", E_USER_DEPRECATED); if (!isset($configuration['add_description'])) { $configuration['add_description'] = $configuration['addDescription']; } unset($configuration['addDescription']); } parent::setConfiguration($configuration); } }