From eb4d9703db62703ab237ab625b4877fb235d7c2c Mon Sep 17 00:00:00 2001 From: Djamil Legato Date: Thu, 27 May 2021 13:37:09 -0700 Subject: [PATCH] Treat WebP as image when inserting / drag & dropping (fixes #2150) --- CHANGELOG.md | 1 + themes/grav/app/forms/fields/filepicker.js | 2 +- themes/grav/app/forms/fields/files.js | 2 +- themes/grav/app/utils/finderjs.js | 2 +- themes/grav/js/admin.min.js | 6 +++--- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fa7dabfe..1a3ba178b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ * Fixed issue with some elements overflowing closed list items [#2146](https://github.com/getgrav/grav-plugin-admin/issues/2146) * Fixed configuration not fully updating on save [#2149](https://github.com/getgrav/grav-plugin-admin/issues/2149) * Fixed display issue with "+ Add Page" and picking a different route [#2136](https://github.com/getgrav/grav-plugin-admin/issues/2136), [#2145](https://github.com/getgrav/grav-plugin-admin/issues/2145) + * Treat WebP as image when inserting / drag & dropping [#2150](https://github.com/getgrav/grav-plugin-admin/issues/2150) # v1.10.15 ## 05/19/2021 diff --git a/themes/grav/app/forms/fields/filepicker.js b/themes/grav/app/forms/fields/filepicker.js index e0fbcb0ff..b012c1d42 100644 --- a/themes/grav/app/forms/fields/filepicker.js +++ b/themes/grav/app/forms/fields/filepicker.js @@ -80,7 +80,7 @@ export default class FilePickerField { let renderOption = function renderOption(item, escape) { let image = ''; - if (imagesPreview && folder && (!item.status || item.status === 'available') && item.name.match(/\.(jpg|jpeg|png|gif)$/i)) { + if (imagesPreview && folder && (!item.status || item.status === 'available') && item.name.match(/\.(jpg|jpeg|png|gif|webp)$/i)) { // const fallback2x = insertTextAt(`${config.base_url_relative}/../${folder}/${item.name}`, -4, '@2x'); // const fallback3x = insertTextAt(`${config.base_url_relative}/../${folder}/${item.name}`, -4, '@3x'); const source = thumbs[item.name] || `${config.base_url_relative}/../${folder}/${item.name}`; diff --git a/themes/grav/app/forms/fields/files.js b/themes/grav/app/forms/fields/files.js index 00052c1db..a927968e5 100644 --- a/themes/grav/app/forms/fields/files.js +++ b/themes/grav/app/forms/fields/files.js @@ -337,7 +337,7 @@ export function UriToMarkdown(uri) { const title = uri.split('.').slice(0, -1).join('.'); - return uri.match(/\.(jpe?g|png|gif|svg|mp4|webm|ogv|mov)$/i) ? `![${title}](${uri} "${title}")` : `[${decodeURI(uri)}](${uri})`; + return uri.match(/\.(jpe?g|png|gif|svg|webp|mp4|webm|ogv|mov)$/i) ? `![${title}](${uri} "${title}")` : `[${decodeURI(uri)}](${uri})`; } let instances = []; diff --git a/themes/grav/app/utils/finderjs.js b/themes/grav/app/utils/finderjs.js index 29778313c..12ab422e3 100644 --- a/themes/grav/app/utils/finderjs.js +++ b/themes/grav/app/utils/finderjs.js @@ -302,7 +302,7 @@ class Finder { this.pathBar.append(` - ${$('
').text(item[this.config.labelKey]).html()} + ${$('
').html(item[this.config.labelKey]).html()} ${!isLast ? '' : ''} `); diff --git a/themes/grav/js/admin.min.js b/themes/grav/js/admin.min.js index f07b4bc0d..c372f7863 100644 --- a/themes/grav/js/admin.min.js +++ b/themes/grav/js/admin.min.js @@ -3035,7 +3035,7 @@ function UriToMarkdown(uri) { uri = uri.replace(/\(/g, '%28'); uri = uri.replace(/\)/g, '%29'); var title = uri.split('.').slice(0, -1).join('.'); - return uri.match(/\.(jpe?g|png|gif|svg|mp4|webm|ogv|mov)$/i) ? "![".concat(title, "](").concat(uri, " \"").concat(title, "\")") : "[".concat(decodeURI(uri), "](").concat(uri, ")"); + return uri.match(/\.(jpe?g|png|gif|svg|webp|mp4|webm|ogv|mov)$/i) ? "![".concat(title, "](").concat(uri, " \"").concat(title, "\")") : "[".concat(decodeURI(uri), "](").concat(uri, ")"); } var instances = []; var cache = external_jQuery_default()(); @@ -4917,7 +4917,7 @@ var FilePickerField = /*#__PURE__*/function () { var renderOption = function renderOption(item, escape) { var image = ''; - if (imagesPreview && folder && (!item.status || item.status === 'available') && item.name.match(/\.(jpg|jpeg|png|gif)$/i)) { + if (imagesPreview && folder && (!item.status || item.status === 'available') && item.name.match(/\.(jpg|jpeg|png|gif|webp)$/i)) { // const fallback2x = insertTextAt(`${config.base_url_relative}/../${folder}/${item.name}`, -4, '@2x'); // const fallback3x = insertTextAt(`${config.base_url_relative}/../${folder}/${item.name}`, -4, '@3x'); var source = thumbs[item.name] || "".concat(external_GravAdmin_namespaceObject.config.base_url_relative, "/../").concat(folder, "/").concat(item.name); // onerror="if(this.src==='${fallback2x}'){this.src='${fallback3x}';}else{this.src='${fallback2x}'}" @@ -8614,7 +8614,7 @@ var Finder = /*#__PURE__*/function () { var isLast = index + 1 === activeItems.length; itemKeys += "/".concat(item[_this6.config.itemKey]); - _this6.pathBar.append("\n \n \n ").concat(external_jQuery_default()('
').text(item[_this6.config.labelKey]).html(), "\n ").concat(!isLast ? '' : '', "\n \n ")); + _this6.pathBar.append("\n \n \n ").concat(external_jQuery_default()('
').html(item[_this6.config.labelKey]).html(), "\n ").concat(!isLast ? '' : '', "\n \n ")); }); } }, {