From 9dfd5c0bccb0c860769d838c393eecc88ebf1505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Moya?= Date: Tue, 25 Jan 2022 16:52:08 +0100 Subject: [PATCH] :bug: Avoid empty names in projects, files and pages --- CHANGES.md | 1 + frontend/src/app/main/ui/dashboard/files.cljs | 9 ++++++--- frontend/src/app/main/ui/dashboard/projects.cljs | 9 ++++++--- frontend/src/app/main/ui/workspace/sidebar/layers.cljs | 4 ++-- frontend/src/app/main/ui/workspace/sidebar/sitemap.cljs | 6 ++++-- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 6f8c4e8b5..07f7dfea5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -74,6 +74,7 @@ - Fix auto hide header in viewer full screen [Taiga #2632](https://tree.taiga.io/project/penpot/issue/2632) - Fix zoom in/out after fit or fill [Taiga #2630](https://tree.taiga.io/project/penpot/issue/2630) - Normalize zoom levels in workspace and viewer [Taiga #2631](https://tree.taiga.io/project/penpot/issue/2631) +- Avoid empty names in projects, files and pages [Taiga #2594](https://tree.taiga.io/project/penpot/issue/2594) ### :arrow_up: Deps updates diff --git a/frontend/src/app/main/ui/dashboard/files.cljs b/frontend/src/app/main/ui/dashboard/files.cljs index ef413c78c..9d050206a 100644 --- a/frontend/src/app/main/ui/dashboard/files.cljs +++ b/frontend/src/app/main/ui/dashboard/files.cljs @@ -16,6 +16,7 @@ [app.main.ui.icons :as i] [app.util.dom :as dom] [app.util.i18n :as i18n :refer [tr]] + [cuerdas.core :as str] [rumext.alpha :as mf])) (mf/defc header @@ -63,9 +64,11 @@ (if (:edition @local) [:& inline-edition {:content (:name project) :on-end (fn [name] - (st/emit! (-> (dd/rename-project (assoc project :name name)) - (with-meta {::ev/origin "project"}))) - (swap! local assoc :edition false))}] + (let [name (str/trim name)] + (when-not (str/empty? name) + (st/emit! (-> (dd/rename-project (assoc project :name name)) + (with-meta {::ev/origin "project"})))) + (swap! local assoc :edition false)))}] [:div.dashboard-title [:h1 {:on-double-click on-edit} (:name project)]])) diff --git a/frontend/src/app/main/ui/dashboard/projects.cljs b/frontend/src/app/main/ui/dashboard/projects.cljs index d25620b04..9a3ddc966 100644 --- a/frontend/src/app/main/ui/dashboard/projects.cljs +++ b/frontend/src/app/main/ui/dashboard/projects.cljs @@ -18,6 +18,7 @@ [app.util.i18n :as i18n :refer [tr]] [app.util.router :as rt] [app.util.time :as dt] + [cuerdas.core :as str] [okulary.core :as l] [rumext.alpha :as mf])) @@ -73,9 +74,11 @@ (mf/use-callback (mf/deps project) (fn [name] - (st/emit! (-> (dd/rename-project (assoc project :name name)) - (with-meta {::ev/origin "dashboard"}))) - (swap! local assoc :edition? false))) + (let [name (str/trim name)] + (when-not (str/empty? name) + (st/emit! (-> (dd/rename-project (assoc project :name name)) + (with-meta {::ev/origin "dashboard"})))) + (swap! local assoc :edition? false)))) on-file-created (mf/use-callback diff --git a/frontend/src/app/main/ui/workspace/sidebar/layers.cljs b/frontend/src/app/main/ui/workspace/sidebar/layers.cljs index 824cd6138..768ea5f35 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layers.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/layers.cljs @@ -70,8 +70,8 @@ (on-stop-edit) (swap! local assoc :edition false) (st/emit! (dw/end-rename-shape) - (when-not (str/empty? name) - (dw/update-shape (:id shape) {:name name}))))) + (when-not (str/empty? (str/trim name)) + (dw/update-shape (:id shape) {:name (str/trim name)}))))) cancel-edit (fn [] (on-stop-edit) diff --git a/frontend/src/app/main/ui/workspace/sidebar/sitemap.cljs b/frontend/src/app/main/ui/workspace/sidebar/sitemap.cljs index 5e77a9004..d2a65a52b 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/sitemap.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/sitemap.cljs @@ -18,6 +18,7 @@ [app.util.dom :as dom] [app.util.i18n :as i18n :refer [tr]] [app.util.keyboard :as kbd] + [cuerdas.core :as str] [okulary.core :as l] [rumext.alpha :as mf])) @@ -66,8 +67,9 @@ (mf/use-callback (fn [event] (let [target (dom/event->target event) - name (dom/get-value target)] - (st/emit! (dw/rename-page id name)) + name (str/trim (dom/get-value target))] + (when-not (str/empty? name) + (st/emit! (dw/rename-page id name))) (swap! local assoc :edition false)))) on-key-down