0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-03-13 16:21:57 -05:00

⬆️ Update to the latest version of rumext.

This commit is contained in:
Andrey Antukh 2020-05-04 09:38:41 +02:00
parent df8451c4e3
commit 80dcf587bf
7 changed files with 8 additions and 60 deletions

View file

@ -17,7 +17,7 @@
funcool/okulary {:mvn/version "2020.04.14-0"}
funcool/potok {:mvn/version "2.8.0-SNAPSHOT"}
funcool/promesa {:mvn/version "5.1.0"}
funcool/rumext {:mvn/version "2020.04.14-1"}
funcool/rumext {:mvn/version "2020.05.04-0"}
}
:aliases
{:dev

View file

@ -1,47 +0,0 @@
;; This Source Code Form is subject to the terms of the Mozilla Public
;; License, v. 2.0. If a copy of the MPL was not distributed with this
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
;;
;; This Source Code Form is "Incompatible With Secondary Licenses", as
;; defined by the Mozilla Public License, v. 2.0.
;;
;; Copyright (c) 2020 UXBOX Labs SL
(ns uxbox.main.ui.components.defer
(:require
[rumext.alpha :as mf]
[uxbox.common.uuid :as uuid]
[uxbox.util.dom :as dom]
[uxbox.util.timers :as ts]
[goog.events :as events]
[goog.functions :as gf]
[goog.object :as gobj])
(:import goog.events.EventType
goog.events.KeyCodes))
(defn deferred
([component] (deferred component ts/raf))
([component schedule]
(mf/fnc deferred
{::mf/wrap-props false}
[props]
(let [[render? set-render!] (mf/useState false)]
(mf/use-effect
(fn [] (schedule #(set-render! true))))
(when render?
(mf/create-element component props))))))
(defn throttle
[component ms]
(mf/fnc throttle
{::mf/wrap-props false}
[props]
(let [[state set-state] (mf/useState props)
set-state* (mf/use-memo #(gf/throttle set-state ms))]
(mf/use-effect
nil
(fn []
(set-state* props)))
(mf/create-element component state))))

View file

@ -9,7 +9,6 @@
[uxbox.main.ui.modal :as modal]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.confirm :refer [confirm-dialog]]
[uxbox.main.ui.components.defer :refer [deferred]]
[uxbox.main.ui.components.context-menu :refer [context-menu]]
[uxbox.util.dom :as dom]
[uxbox.util.i18n :as i18n :refer [t tr]]
@ -20,7 +19,7 @@
;; --- Grid Item Thumbnail
(mf/defc grid-item-thumbnail
{::mf/wrap [#(deferred % ts/schedule-on-idle)]}
{::mf/wrap [#(mf/deferred % ts/schedule-on-idle)]}
[{:keys [file] :as props}]
[:div.grid-item-th
[:& exports/page-svg {:data (:data file)

View file

@ -17,7 +17,6 @@
[uxbox.util.geom.shapes :as geom]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.defer :refer [deferred]]
[uxbox.main.ui.shapes.attrs :as attrs]
[uxbox.main.ui.shapes.common :as common]
[uxbox.util.dom :as dom]
@ -55,8 +54,8 @@
[shape-wrapper]
(let [frame-shape (frame-shape shape-wrapper)]
(mf/fnc frame-wrapper
{::mf/wrap [#(deferred % ts/schedule-on-idle)
#(mf/memo' % frame-wrapper-memo-equals?)]
{::mf/wrap [#(mf/memo' % frame-wrapper-memo-equals?)
#(mf/deferred % ts/schedule-on-idle)]
::mf/wrap-props false}
[props]
(let [shape (unchecked-get props "shape")

View file

@ -19,7 +19,6 @@
[uxbox.main.data.workspace :as dw]
[uxbox.main.refs :as refs]
[uxbox.main.store :as st]
[uxbox.main.ui.components.defer :refer [throttle deferred]]
[uxbox.main.ui.hooks :as hooks]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.shapes.icon :as icon]
@ -233,8 +232,8 @@
(mf/defc frame-wrapper
{::mf/wrap-props false
::mf/wrap [#(deferred % ts/idle-then-raf)
#(mf/memo' % frame-wrapper-memo-equals?)]}
::mf/wrap [#(mf/memo' % frame-wrapper-memo-equals?)
#(mf/deferred % ts/idle-then-raf)]}
[props]
[:> layer-item props])
@ -271,7 +270,7 @@
(mf/defc layers-tree-wrapper
{::mf/wrap-props false
::mf/wrap [#(throttle % 200) mf/memo]}
::mf/wrap [mf/memo #(mf/throttle % 200)]}
[props]
(let [objects (obj/get props "objects")
objects (strip-objects objects)]

View file

@ -15,7 +15,6 @@
[uxbox.main.data.workspace :as udw]
[uxbox.main.store :as st]
[uxbox.main.refs :as refs]
[uxbox.main.ui.components.defer :refer [throttle]]
[uxbox.main.ui.workspace.sidebar.align :refer [align-options]]
[uxbox.main.ui.workspace.sidebar.options.frame :as frame]
[uxbox.main.ui.workspace.sidebar.options.group :as group]
@ -31,7 +30,7 @@
;; --- Options
(mf/defc shape-options
{::mf/wrap [#(throttle % 60)]}
{::mf/wrap [#(mf/throttle % 60)]}
[{:keys [shape] :as props}]
[:div
(case (:type shape)

View file

@ -23,7 +23,6 @@
[uxbox.main.streams :as ms]
[uxbox.main.ui.keyboard :as kbd]
[uxbox.main.ui.hooks :as hooks]
[uxbox.main.ui.components.defer :refer [deferred]]
[uxbox.main.ui.shapes :refer [shape-wrapper frame-wrapper]]
[uxbox.main.ui.workspace.drawarea :refer [draw-area start-drawing]]
[uxbox.main.ui.workspace.grid :refer [grid]]