0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-09 16:48:16 -05:00
penpot/frontend/uxbox/ui/dashboard/elements.cljs

177 lines
5.4 KiB
Text
Raw Normal View History

2015-12-16 13:02:15 +02:00
(ns uxbox.ui.dashboard.elements
2015-12-15 11:22:04 +02:00
(:require [sablono.core :as html :refer-macros [html]]
[rum.core :as rum]
2015-12-20 14:41:38 +02:00
;; [uxbox.ui.library-bar :as ui.library-bar]
2015-12-16 10:55:09 +01:00
[uxbox.ui.icons :as i]
[uxbox.ui.lightbox :as lightbox]
[uxbox.ui.dom :as dom]
2015-12-17 16:43:58 +02:00
[uxbox.ui.mixins :as mx]
[uxbox.ui.util :as util]))
2015-12-15 11:22:04 +02:00
2015-12-20 14:41:38 +02:00
;; (def library-bar ui.library-bar/library-bar)
2015-12-15 11:22:04 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-20 14:41:38 +02:00
;; Menu
2015-12-15 11:22:04 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-20 14:41:38 +02:00
(defn menu-render
[]
(let [pcount 20]
(html
[:section#dashboard-bar.dashboard-bar
[:div.dashboard-info
[:span.dashboard-projects pcount " projects"]
[:span "Sort by"]]
[:div.dashboard-search i/search]])))
(def ^:static menu
2015-12-15 11:22:04 +02:00
(util/component
2015-12-20 14:41:38 +02:00
{:render menu-render
:name "elements-menu"
:mixins [rum/reactive]}))
2015-12-15 11:22:04 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-20 14:41:38 +02:00
;; Page Title
2015-12-15 11:22:04 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-20 14:41:38 +02:00
(defn page-title-render
[]
2015-12-15 11:22:04 +02:00
(html
2015-12-20 14:41:38 +02:00
[:div.dashboard-title
[:h2 "Element library name"]
[:div.edition
[:span i/pencil]
[:span i/trash]]]))
2015-12-15 11:22:04 +02:00
2015-12-20 14:41:38 +02:00
(def ^:static page-title
2015-12-15 11:22:04 +02:00
(util/component
2015-12-20 14:41:38 +02:00
{:render page-title-render
:name "page-title"
2015-12-17 16:43:58 +02:00
:mixins [mx/static]}))
2015-12-15 11:22:04 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-20 14:41:38 +02:00
;; Grid
2015-12-15 11:22:04 +02:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-20 14:41:38 +02:00
(defn grid-render
2015-12-15 11:22:04 +02:00
[own]
(html
2015-12-20 14:41:38 +02:00
[:div.dashboard-grid-content
[:div.grid-item.add-project
2015-12-25 11:35:10 +02:00
{on-click #(lightbox/open! :new-element)}
2015-12-20 14:41:38 +02:00
[:span "+ New element"]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]
[:div.grid-item.project-th
[:span.grid-item-image i/image]
[:h3 "Custom element"]
[:div.project-th-actions
[:div.project-th-icon.edit i/pencil]
[:div.project-th-icon.delete i/trash]]]]))
(def ^:static grid
2015-12-15 11:22:04 +02:00
(util/component
2015-12-20 14:41:38 +02:00
{:render grid-render
:name "grid"
2015-12-17 16:43:58 +02:00
:mixins [mx/static]}))
2015-12-16 10:55:09 +01:00
2015-12-16 10:58:34 +01:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-16 10:55:09 +01:00
;; Lightbox
2015-12-16 10:58:34 +01:00
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2015-12-16 10:55:09 +01:00
(defn- new-element-lightbox-render
[own]
2015-12-20 14:41:38 +02:00
(html
[:div.lightbox-body
[:h3 "New element"]
[:div.row-flex
[:div.lightbox-big-btn
[:span.big-svg i/shapes]
[:span.text "Go to workspace"]]
[:div.lightbox-big-btn
[:span.big-svg.upload i/exit]
[:span.text "Upload file"]]]
[:a.close {:href "#"
:on-click #(do (dom/prevent-default %)
(lightbox/close!))}
i/close]]))
2015-12-16 10:55:09 +01:00
(def new-element-lightbox
(util/component
{:render new-element-lightbox-render
:name "new-element-lightbox"}))
(defmethod lightbox/render-lightbox :new-element
[_]
(new-element-lightbox))