mirror of
https://github.com/penpot/penpot.git
synced 2025-07-21 17:27:38 +02:00
🐛 Force persist operation on go-viewer clicked.
This commit is contained in:
parent
686f96eb27
commit
45f17f78f3
3 changed files with 47 additions and 27 deletions
|
@ -1225,6 +1225,15 @@
|
||||||
qparams {:page-id page-id}]
|
qparams {:page-id page-id}]
|
||||||
(rx/of (rt/nav :workspace pparams qparams))))))
|
(rx/of (rt/nav :workspace pparams qparams))))))
|
||||||
|
|
||||||
|
|
||||||
|
(defn go-to-viewer
|
||||||
|
[{:keys [file-id page-id] :as params}]
|
||||||
|
(ptk/reify ::go-to-viewer
|
||||||
|
ptk/WatchEvent
|
||||||
|
(watch [_ state stream]
|
||||||
|
(rx/of ::dwp/force-persist
|
||||||
|
(rt/nav :viewer params {:index 0})))))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Context Menu
|
;; Context Menu
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1769,6 +1778,5 @@
|
||||||
"down" #(st/emit! (dwt/move-selected :down false))
|
"down" #(st/emit! (dwt/move-selected :down false))
|
||||||
"right" #(st/emit! (dwt/move-selected :right false))
|
"right" #(st/emit! (dwt/move-selected :right false))
|
||||||
"left" #(st/emit! (dwt/move-selected :left false))
|
"left" #(st/emit! (dwt/move-selected :left false))
|
||||||
|
|
||||||
"i" #(st/emit! (mdc/picker-for-selected-shape ))})
|
"i" #(st/emit! (mdc/picker-for-selected-shape ))})
|
||||||
|
|
||||||
|
|
|
@ -43,10 +43,11 @@
|
||||||
ptk/EffectEvent
|
ptk/EffectEvent
|
||||||
(effect [_ state stream]
|
(effect [_ state stream]
|
||||||
(let [stoper (rx/filter #(= ::finalize %) stream)
|
(let [stoper (rx/filter #(= ::finalize %) stream)
|
||||||
|
forcer (rx/filter #(= ::force-persist %) stream)
|
||||||
notifier (->> stream
|
notifier (->> stream
|
||||||
(rx/filter (ptk/type? ::dwc/commit-changes))
|
(rx/filter (ptk/type? ::dwc/commit-changes))
|
||||||
(rx/debounce 2000)
|
(rx/debounce 2000)
|
||||||
(rx/merge stoper))
|
(rx/merge stoper forcer))
|
||||||
|
|
||||||
on-dirty
|
on-dirty
|
||||||
(fn []
|
(fn []
|
||||||
|
|
|
@ -171,57 +171,57 @@
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :rules))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :rules))}
|
||||||
[:span
|
[:span
|
||||||
(if (contains? layout :rules)
|
(if (contains? layout :rules)
|
||||||
(t locale "workspace.header.menu.hide-rules")
|
(tr "workspace.header.menu.hide-rules")
|
||||||
(t locale "workspace.header.menu.show-rules"))]
|
(tr "workspace.header.menu.show-rules"))]
|
||||||
[:span.shortcut "Ctrl+shift+R"]]
|
[:span.shortcut "Ctrl+shift+R"]]
|
||||||
|
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :display-grid))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :display-grid))}
|
||||||
[:span
|
[:span
|
||||||
(if (contains? layout :display-grid)
|
(if (contains? layout :display-grid)
|
||||||
(t locale "workspace.header.menu.hide-grid")
|
(tr "workspace.header.menu.hide-grid")
|
||||||
(t locale "workspace.header.menu.show-grid"))]
|
(tr "workspace.header.menu.show-grid"))]
|
||||||
[:span.shortcut "Ctrl+'"]]
|
[:span.shortcut "Ctrl+'"]]
|
||||||
|
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :snap-grid))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :snap-grid))}
|
||||||
[:span
|
[:span
|
||||||
(if (contains? layout :snap-grid)
|
(if (contains? layout :snap-grid)
|
||||||
(t locale "workspace.header.menu.disable-snap-grid")
|
(tr "workspace.header.menu.disable-snap-grid")
|
||||||
(t locale "workspace.header.menu.enable-snap-grid"))]
|
(tr "workspace.header.menu.enable-snap-grid"))]
|
||||||
[:span.shortcut "Ctrl+Shift+'"]]
|
[:span.shortcut "Ctrl+Shift+'"]]
|
||||||
|
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :sitemap :layers))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :sitemap :layers))}
|
||||||
[:span
|
[:span
|
||||||
(if (or (contains? layout :sitemap) (contains? layout :layers))
|
(if (or (contains? layout :sitemap) (contains? layout :layers))
|
||||||
(t locale "workspace.header.menu.hide-layers")
|
(tr "workspace.header.menu.hide-layers")
|
||||||
(t locale "workspace.header.menu.show-layers"))]
|
(tr "workspace.header.menu.show-layers"))]
|
||||||
[:span.shortcut "Ctrl+l"]]
|
[:span.shortcut "Ctrl+l"]]
|
||||||
|
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :colorpalette))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :colorpalette))}
|
||||||
[:span
|
[:span
|
||||||
(if (contains? layout :colorpalette)
|
(if (contains? layout :colorpalette)
|
||||||
(t locale "workspace.header.menu.hide-palette")
|
(tr "workspace.header.menu.hide-palette")
|
||||||
(t locale "workspace.header.menu.show-palette"))]
|
(tr "workspace.header.menu.show-palette"))]
|
||||||
[:span.shortcut "Ctrl+p"]]
|
[:span.shortcut "Ctrl+p"]]
|
||||||
|
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :assets))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :assets))}
|
||||||
[:span
|
[:span
|
||||||
(if (contains? layout :assets)
|
(if (contains? layout :assets)
|
||||||
(t locale "workspace.header.menu.hide-assets")
|
(tr "workspace.header.menu.hide-assets")
|
||||||
(t locale "workspace.header.menu.show-assets"))]
|
(tr "workspace.header.menu.show-assets"))]
|
||||||
[:span.shortcut "Ctrl+i"]]
|
[:span.shortcut "Ctrl+i"]]
|
||||||
|
|
||||||
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :dynamic-alignment))}
|
[:li {:on-click #(st/emit! (dw/toggle-layout-flags :dynamic-alignment))}
|
||||||
[:span
|
[:span
|
||||||
(if (contains? layout :dynamic-alignment)
|
(if (contains? layout :dynamic-alignment)
|
||||||
(t locale "workspace.header.menu.disable-dynamic-alignment")
|
(tr "workspace.header.menu.disable-dynamic-alignment")
|
||||||
(t locale "workspace.header.menu.enable-dynamic-alignment"))]
|
(tr "workspace.header.menu.enable-dynamic-alignment"))]
|
||||||
[:span.shortcut "Ctrl+a"]]
|
[:span.shortcut "Ctrl+a"]]
|
||||||
|
|
||||||
(if (:is-shared file)
|
(if (:is-shared file)
|
||||||
[:li {:on-click on-remove-shared}
|
[:li {:on-click on-remove-shared}
|
||||||
[:span (t locale "dashboard.remove-shared")]]
|
[:span (tr "dashboard.remove-shared")]]
|
||||||
[:li {:on-click on-add-shared}
|
[:li {:on-click on-add-shared}
|
||||||
[:span (t locale "dashboard.add-shared")]])
|
[:span (tr "dashboard.add-shared")]])
|
||||||
]]]))
|
]]]))
|
||||||
|
|
||||||
;; --- Header Component
|
;; --- Header Component
|
||||||
|
@ -229,11 +229,21 @@
|
||||||
(mf/defc header
|
(mf/defc header
|
||||||
[{:keys [file layout project page-id] :as props}]
|
[{:keys [file layout project page-id] :as props}]
|
||||||
(let [team-id (:team-id project)
|
(let [team-id (:team-id project)
|
||||||
go-back #(st/emit! (rt/nav :dashboard-projects {:team-id team-id}))
|
|
||||||
zoom (mf/deref refs/selected-zoom)
|
zoom (mf/deref refs/selected-zoom)
|
||||||
locale (mf/deref i18n/locale)
|
|
||||||
router (mf/deref refs/router)
|
router (mf/deref refs/router)
|
||||||
view-url (rt/resolve router :viewer {:page-id page-id :file-id (:id file)} {:index 0})]
|
params {:page-id page-id :file-id (:id file)}
|
||||||
|
view-url (rt/resolve router :viewer params {:index 0})
|
||||||
|
|
||||||
|
go-back
|
||||||
|
(mf/use-callback
|
||||||
|
(mf/deps project)
|
||||||
|
(st/emitf (rt/nav :dashboard-projects {:team-id team-id})))
|
||||||
|
|
||||||
|
go-viewer
|
||||||
|
(mf/use-callback
|
||||||
|
(mf/deps file page-id)
|
||||||
|
(st/emitf (dw/go-to-viewer params)))]
|
||||||
|
|
||||||
[:header.workspace-header
|
[:header.workspace-header
|
||||||
[:div.main-icon
|
[:div.main-icon
|
||||||
[:a {:on-click go-back} i/logo-icon]]
|
[:a {:on-click go-back} i/logo-icon]]
|
||||||
|
@ -259,7 +269,8 @@
|
||||||
:on-zoom-selected #(st/emit! dw/zoom-to-selected-shape)}]
|
:on-zoom-selected #(st/emit! dw/zoom-to-selected-shape)}]
|
||||||
|
|
||||||
[:a.btn-icon-dark.btn-small.tooltip.tooltip-bottom
|
[:a.btn-icon-dark.btn-small.tooltip.tooltip-bottom
|
||||||
{;; :target "__blank"
|
{:alt (tr "workspace.header.viewer")
|
||||||
:alt (t locale "workspace.header.viewer")
|
:href (str "#" view-url)
|
||||||
:href (str "#" view-url)} i/play]]]))
|
:on-click go-viewer}
|
||||||
|
i/play]]]))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue