diff --git a/modules/json_form_widget/src/Element/UploadOrLink.php b/modules/json_form_widget/src/Element/UploadOrLink.php index fc26ef22b5..d1f2318f1b 100644 --- a/modules/json_form_widget/src/Element/UploadOrLink.php +++ b/modules/json_form_widget/src/Element/UploadOrLink.php @@ -69,7 +69,7 @@ public static function processManagedFile(&$element, FormStateInterface $form_st $element = static::unsetFilesWhenRemoving($form_state->getTriggeringElement(), $element); $file_url_remote = isset($element['#value']['file_url_remote']) ? $element['#value']['file_url_remote'] : $element['#uri']; - $file_url_remote_is_valid = UrlHelper::isValid($file_url_remote, TRUE); + $file_url_remote_is_valid = isset($file_url_remote) && UrlHelper::isValid($file_url_remote, TRUE); $is_remote = $file_url_remote_is_valid && $file_url_type == static::TYPE_REMOTE; if ($is_remote) { $element = static::loadRemoteFile($element, $file_url_remote); diff --git a/modules/json_form_widget/src/Plugin/Field/FieldWidget/JsonFormWidget.php b/modules/json_form_widget/src/Plugin/Field/FieldWidget/JsonFormWidget.php index c7de03d1bc..8e55047482 100644 --- a/modules/json_form_widget/src/Plugin/Field/FieldWidget/JsonFormWidget.php +++ b/modules/json_form_widget/src/Plugin/Field/FieldWidget/JsonFormWidget.php @@ -114,7 +114,9 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $default_data = []; // Get default data. foreach ($items as $item) { - $default_data = json_decode($item->value); + if ($item->value) { + $default_data = json_decode($item->value); + } } $type = $this->getSchemaId($form_state); // Copy the item type to the entity. diff --git a/modules/json_form_widget/src/ValueHandler.php b/modules/json_form_widget/src/ValueHandler.php index 025f80de43..f0964b1d9f 100644 --- a/modules/json_form_widget/src/ValueHandler.php +++ b/modules/json_form_widget/src/ValueHandler.php @@ -48,7 +48,7 @@ public function handleStringValues($formValues, $property) { if (isset($formValues[$property]['select'])) { return isset($formValues[$property][0]) ? $formValues[$property][0] : NULL; } - return !empty($formValues[$property]) ? $this->cleanSelectId($formValues[$property]) : FALSE; + return !empty($formValues[$property]) && is_string($formValues[$property]) ? $this->cleanSelectId($formValues[$property]) : FALSE; } /** diff --git a/modules/metastore/metastore.theme.inc b/modules/metastore/metastore.theme.inc index 7fa13c02ab..29b65c45b6 100644 --- a/modules/metastore/metastore.theme.inc +++ b/modules/metastore/metastore.theme.inc @@ -97,13 +97,11 @@ function metastore_preprocess_node__data(&$variables) { ]; } } + // Fallback to display file path for link title. + if ($rows['downloadURL'] && !property_exists($d, 'title')) { + $rows['title'] = $rows['downloadURL']; + } $variables['dataset']['distributions'][] = $rows; - $variables['dataset']['distributions_tables'][] = [ - '#type' => 'table', - '#caption' => $d->title, - '#header' => [t("Key"), t("Value")], - '#rows' => $rows, - ]; } } }