From 18724ff991c4b8b16de1df40511dad368578a4b2 Mon Sep 17 00:00:00 2001
From: Eduardo Ahumada <71785515+Edald123@users.noreply.github.com>
Date: Mon, 5 Jul 2021 09:01:31 -0500
Subject: [PATCH] feat: image widget insert from url should be optional (#5572)
---
.../src/withFileControl.js | 20 +++++++++++--------
website/content/docs/widgets/file.md | 1 +
website/content/docs/widgets/image.md | 6 ++++--
3 files changed, 17 insertions(+), 10 deletions(-)
diff --git a/packages/netlify-cms-widget-file/src/withFileControl.js b/packages/netlify-cms-widget-file/src/withFileControl.js
index a6e8cab71542..62eb3b342f06 100644
--- a/packages/netlify-cms-widget-file/src/withFileControl.js
+++ b/packages/netlify-cms-widget-file/src/withFileControl.js
@@ -291,7 +291,7 @@ export default function withFileControl({ forImage } = {}) {
};
renderSelection = subject => {
- const { t } = this.props;
+ const { t, field } = this.props;
return (
{forImage ? this.renderImages() : null}
@@ -300,9 +300,11 @@ export default function withFileControl({ forImage } = {}) {
{t(`editor.editorWidgets.${subject}.chooseDifferent`)}
-
- {t(`editor.editorWidgets.${subject}.replaceUrl`)}
-
+ {field.get('choose_url', true) ? (
+
+ {t(`editor.editorWidgets.${subject}.replaceUrl`)}
+
+ ) : null}
{t(`editor.editorWidgets.${subject}.remove`)}
@@ -312,15 +314,17 @@ export default function withFileControl({ forImage } = {}) {
};
renderNoSelection = subject => {
- const { t } = this.props;
+ const { t, field } = this.props;
return (
<>
{t(`editor.editorWidgets.${subject}.choose`)}
-
- {t(`editor.editorWidgets.${subject}.chooseUrl`)}
-
+ {field.get('choose_url', true) ? (
+
+ {t(`editor.editorWidgets.${subject}.chooseUrl`)}
+
+ ) : null}
>
);
};
diff --git a/website/content/docs/widgets/file.md b/website/content/docs/widgets/file.md
index e1ba3dd84293..3df31c7de762 100644
--- a/website/content/docs/widgets/file.md
+++ b/website/content/docs/widgets/file.md
@@ -17,6 +17,7 @@ The file widget allows editors to upload a file or select an existing one from t
* `config`: a configuration object that will be passed directly to the media library being
used - available options are determined by the library
* `media_folder` (Beta): file path where uploaded files will be saved specific to this control. Paths can be relative to a collection folder (e.g. `files` will add the file to a sub-folder in the collection folder) or absolute with reference to the base of the repo which needs to begin with `/` (e.g `/static/files` will save uploaded files to the `static` folder in a sub folder named `files`)
+ * `choose_url`: *(default: `true`)* when set to `false`, the "Insert from URL" button will be hidden
* **Example:**
```yaml
diff --git a/website/content/docs/widgets/image.md b/website/content/docs/widgets/image.md
index 801a66630de9..d95072bbae03 100644
--- a/website/content/docs/widgets/image.md
+++ b/website/content/docs/widgets/image.md
@@ -14,15 +14,17 @@ The image widget allows editors to upload an image or select an existing one fro
current widget
* `allow_multiple`: *(default: `true`)* when set to `false`, multiple selection will be disabled even if the media library extension supports it
* `config`: a configuration object passed directly to the media library; check the documentation of your media library extension for available `config` options
- * `media_folder` (Beta): file path where uploaded images will be saved specific to this control. Paths can be relative to a collection folder (e.g. `images` will add the image to a sub-folder in the collection folder) or absolute with reference to the base of the repo which needs to begin with `/` (e.g `/static/images` will save uploaded images to the `static` folder in a sub folder named `images`)
+ * `media_folder` (Beta): file path where uploaded images will be saved specific to this control. Paths can be relative to a collection folder (e.g. `images` will add the image to a sub-folder in the collection folder) or absolute with reference to the base of the repo which needs to begin with `/` (e.g `/static/images` will save uploaded images to the `static` folder in a sub folder named `images`)
+ * `choose_url`: *(default: `true`)* when set to `false`, the "Insert from URL" button will be hidden
* **Example:**
```yaml
- label: "Featured Image"
name: "thumbnail"
widget: "image"
+ choose_url: true
default: "/uploads/chocolate-dogecoin.jpg"
media_library:
config:
multiple: true
-```
\ No newline at end of file
+```