Add sitemap.

This commit is contained in:
Andrey Antukh 2016-02-14 19:24:39 +02:00
parent b5176fe7a1
commit 8ec8e652cb
6 changed files with 76 additions and 23 deletions

View file

@ -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)"

View file

@ -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?)

View file

@ -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)"}

View file

@ -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]}))

View 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]}))