mirror of
https://github.com/penpot/penpot.git
synced 2025-06-05 20:32:59 +02:00
Add sitemap.
This commit is contained in:
parent
b5176fe7a1
commit
8ec8e652cb
6 changed files with 76 additions and 23 deletions
|
@ -13,6 +13,7 @@
|
|||
|
||||
"ds.recent-colors" "Recent colors"
|
||||
"ds.tools" "Tools"
|
||||
"ds.sitemap" "Sitemap"
|
||||
|
||||
"ds.help.rect" "Box (Ctrl + B)"
|
||||
"ds.help.circle" "Circle (Ctrl + E)"
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
(defn- workspace-render
|
||||
[own projectid]
|
||||
(let [{:keys [flags] :as workspace} (rum/react wb/workspace-l)
|
||||
left-sidebar? (not (empty? (keep flags [:layers])))
|
||||
left-sidebar? (not (empty? (keep flags [:layers :sitemap])))
|
||||
right-sidebar? (not (empty? (keep flags [:icons :drawtools])))
|
||||
classes (classnames
|
||||
:no-tool-bar-right (not right-sidebar?)
|
||||
|
|
|
@ -50,6 +50,11 @@
|
|||
{:alt "Elements (Ctrl + Shift + L)"
|
||||
:class (when (contains? flags :layers) "selected")
|
||||
:on-click (partial toggle :layers)}
|
||||
i/layers]
|
||||
[:li.tooltip.tooltip-bottom
|
||||
{:alt "Sitemap (Ctrl + Shift + S)"
|
||||
:class (when (contains? flags :sitemap) "selected")
|
||||
:on-click (partial toggle :sitemap)}
|
||||
i/layers]]
|
||||
[:ul.options-btn
|
||||
[:li.tooltip.tooltip-bottom {:alt "Undo (Ctrl + Z)"}
|
||||
|
|
|
@ -8,9 +8,31 @@
|
|||
[uxbox.ui.mixins :as mx]
|
||||
[uxbox.ui.workspace.base :as wb]
|
||||
[uxbox.ui.workspace.sidebar.layers :refer (layers-toolbox)]
|
||||
[uxbox.ui.workspace.sidebar.sitemap :refer (sitemap-toolbox)]
|
||||
[uxbox.ui.workspace.sidebar.icons :refer (icons-toolbox)]
|
||||
[uxbox.ui.workspace.sidebar.drawtools :refer (draw-toolbox)]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Left Sidebar
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn left-sidebar-render
|
||||
[own]
|
||||
(let [flags (rum/react wb/flags-l)]
|
||||
(html
|
||||
[:aside#settings-bar.settings-bar.settings-bar-left
|
||||
[:div.settings-bar-inside
|
||||
(when (contains? flags :sitemap)
|
||||
(sitemap-toolbox))
|
||||
(when (contains? flags :layers)
|
||||
(layers-toolbox))]])))
|
||||
|
||||
(def left-sidebar
|
||||
(mx/component
|
||||
{:render left-sidebar-render
|
||||
:name "aside"
|
||||
:mixins [rum/reactive mx/static]}))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Right Sidebar
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -31,22 +53,3 @@
|
|||
{:render right-sidebar-render
|
||||
:name "aside"
|
||||
:mixins [rum/reactive mx/static]}))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Left Sidebar
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn left-sidebar-render
|
||||
[own]
|
||||
(let [flags (rum/react wb/flags-l)]
|
||||
(html
|
||||
[:aside#settings-bar.settings-bar.settings-bar-left
|
||||
[:div.settings-bar-inside
|
||||
(when (contains? flags :layers)
|
||||
(layers-toolbox))]])))
|
||||
|
||||
(def left-sidebar
|
||||
(mx/component
|
||||
{:render left-sidebar-render
|
||||
:name "aside"
|
||||
:mixins [rum/reactive mx/static]}))
|
||||
|
|
45
src/uxbox/ui/workspace/sidebar/sitemap.cljs
Normal file
45
src/uxbox/ui/workspace/sidebar/sitemap.cljs
Normal file
|
@ -0,0 +1,45 @@
|
|||
(ns uxbox.ui.workspace.sidebar.sitemap
|
||||
(:require [sablono.core :as html :refer-macros [html]]
|
||||
[rum.core :as rum]
|
||||
[cats.labs.lens :as l]
|
||||
[uxbox.locales :refer (tr)]
|
||||
[uxbox.router :as r]
|
||||
[uxbox.rstore :as rs]
|
||||
[uxbox.state :as st]
|
||||
[uxbox.shapes :as shapes]
|
||||
[uxbox.library :as library]
|
||||
[uxbox.util.data :refer (read-string)]
|
||||
[uxbox.data.workspace :as dw]
|
||||
[uxbox.ui.workspace.base :as wb]
|
||||
[uxbox.ui.icons :as i]
|
||||
[uxbox.ui.mixins :as mx]
|
||||
[uxbox.util.dom :as dom]))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Component
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defn sitemap-toolbox-render
|
||||
[open-toolboxes]
|
||||
(let [workspace (rum/react wb/workspace-l)
|
||||
close #(rs/emit! (dw/toggle-flag :sitemap))]
|
||||
(html
|
||||
[:div.sitemap.tool-window
|
||||
[:div.tool-window-bar
|
||||
[:div.tool-window-icon i/window]
|
||||
[:span (tr "ds.sitemap")]
|
||||
[:div.tool-window-close {:on-click close} i/close]]
|
||||
[:div.tool-window-content {:style {:color "white"}}
|
||||
[:div "Project name"]
|
||||
[:ul.element-list
|
||||
(for [i (range 10)]
|
||||
[:li {:key i :class (when (= i 2) "selected")}
|
||||
(str "Page " i)])
|
||||
]]])))
|
||||
|
||||
(def ^:static sitemap-toolbox
|
||||
(mx/component
|
||||
{:render sitemap-toolbox-render
|
||||
:name "sitemap-toolbox"
|
||||
:mixins [mx/static rum/reactive]}))
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue