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 +```