Skip to content

Commit 638d820

Browse files
committed
1.5.0
1 parent 60ead92 commit 638d820

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+3148
-350
lines changed

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ https://flexsurfer.github.io/conduit-re-frisk-demo/
1414

1515
<img src="./img/feature-app-db.png" height="300">
1616

17+
### Watching keys from app-db
18+
19+
<img src="./img/feature-watch.png" height="300">
20+
1721
### Events with app-db difference for each event
1822

1923
<img src="./img/feature-event.png" height="300">
@@ -48,8 +52,8 @@ Render trace is supported only in the re-frisk-remote
4852

4953
## Usage
5054

51-
`[re-frisk "1.4.0"]`
52-
`[re-frisk-remote "1.4.0"]`
55+
`[re-frisk "1.5.0"]`
56+
`[re-frisk-remote "1.5.0"]`
5357

5458
**Important**: Please note the following compatibility table:
5559

@@ -66,7 +70,7 @@ re-frisk Version | React Version | Reagent Versions
6670

6771
re-frisk will be embedded in the DOM of your application. So my suggestion is to use re-frisk-remote, it doesn't affect your application and has more features
6872

69-
1. Add re-frisk as a dev dependency `[re-frisk "1.4.0"]`
73+
1. Add re-frisk as a dev dependency `[re-frisk "1.5.0"]`
7074

7175
2. Enable re-frisk
7276

@@ -83,7 +87,7 @@ re-frisk will be embedded in the DOM of your application. So my suggestion is to
8387

8488
[![Clojars](https://img.shields.io/clojars/v/re-frisk-remote.svg)](https://clojars.org/re-frisk-remote)
8589

86-
1. Add re-frisk as a dev dependency `[re-frisk-remote "1.4.0"]`
90+
1. Add re-frisk as a dev dependency `[re-frisk-remote "1.5.0"]`
8791

8892
2. Enable re-frisk on default port (4567):
8993

@@ -103,7 +107,7 @@ re-frisk will be embedded in the DOM of your application. So my suggestion is to
103107

104108
add in `deps.edn`
105109

106-
`:aliases {:dev {:extra-deps {re-frisk-remote {:mvn/version "1.4.0"}}}}}`
110+
`:aliases {:dev {:extra-deps {re-frisk-remote {:mvn/version "1.5.0"}}}}}`
107111

108112
create `re_frisk.clj`
109113

dev/re_frisk/demo.cljs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@
2727
:jsobj js/setInterval
2828
:time-color "#f88"
2929
:clock? true
30-
:form2-text "FORM 2"})
30+
:form2-text "FORM 2"
31+
:test {:test1 {:test2 {:test3 {:test4 {:test5 "DEMO"}}}}}})
3132

3233
;; -- Event Handlers ----------------------------------------------------------
3334

img/feature-watch.png

46.1 KB
Loading

project.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
(defproject re-frisk-remote "1.4.0"
1+
(defproject re-frisk-remote "1.5.0"
22
:description "Take full control of re-frame app"
33
:url "https://github.com/flexsurfer/re-frisk"
44
:license {:name "MIT"

public/client/index.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1359,7 +1359,9 @@
13591359
.inline-hyperlink > div {
13601360
display: inline;
13611361
}
1362-
1362+
input {
1363+
outline:none;
1364+
}
13631365
</style>
13641366
<link href="http://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic" rel="stylesheet"
13651367
type="text/css">

re-frisk/project.clj

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
(defproject re-frisk "1.4.0"
1+
(defproject re-frisk "1.5.0"
22
:description "Take full control of re-frame app"
33
:url "https://github.com/flexsurfer/re-frisk"
44
:license {:name "MIT"
55
:url "https://opensource.org/licenses/MIT"}
66
:source-paths ["src"]
7+
:plugins [[thomasa/mranderson "0.5.3"]]
8+
:profiles {:mranderson {:mranderson {:project-prefix "re-frisk.inlined-deps"}
9+
:dependencies ^:replace [^:source-dep [reagent "1.0.0"
10+
:exclusions [cljsjs/react
11+
cljsjs/react-dom
12+
cljsjs/react-dom-server]]]}}
713
:dependencies [[org.clojure/clojure "1.10.1"]
814
[org.clojure/clojurescript "1.10.597"]
9-
[reagent "0.10.0"]
1015
[re-frame "0.12.0"]
1116
[re-com "2.8.0"]])

re-frisk/src/re_frisk/core.cljs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44
[re-frisk.db :as data]
55
[re-frisk.ui :as ui]
66
[re-frisk.diff.diff :as diff]
7-
[reagent.core :as reagent]
7+
[re-frisk.inlined-deps.reagent.v1v0v0.reagent.core :as reagent]
88
[re-frisk.utils :as utils]
99
[re-frame.trace]
1010
[re-frisk.trace :as trace]
1111
[re-frisk.subs-graph :as subs-graph]
1212
[re-frame.interop :as interop]
1313
[re-frisk.stat :as stat]
14-
[day8.reagent.impl.batching :refer [patch-next-tick]]))
14+
[day8.reagent.impl.batching :refer [patch-next-tick]]
15+
[day8.reagent.impl.component :refer [patch-wrap-funs]]))
1516

1617
(defonce initialized (atom false))
1718
(defonce prev-event (atom {}))
@@ -28,9 +29,14 @@
2829
(reset! (:subs re-frame-data) (utils/get-subs))
2930
(reset! (:app-db re-frame-data) @db/app-db))
3031

32+
(defn update-views [views]
33+
(when (seq views)
34+
(reset! (:views re-frame-data) views)))
35+
3136
(defn trace-cb [traces]
3237
(when-not (:paused? @data/tool-state)
3338
(let [ignore-events (get-in @data/tool-state [:opts :ignore-events])
39+
traces (trace/update-views-and-get-traces update-views traces)
3440
normalized (trace/normalize-traces traces ignore-events)
3541
first-event (or (first @(:events re-frame-data)) (first normalized))]
3642
(when (seq normalized)
@@ -91,14 +97,18 @@
9197
(gOldOnError error-msg url line-number)
9298
false)))))
9399

100+
(defn patch-reagent! []
101+
(patch-wrap-funs)
102+
(patch-next-tick))
103+
94104
(defn enable-re-frisk! [& [opts]]
95105
(when-not @initialized
96106
(reset! initialized true)
97107
(swap! data/tool-state assoc :opts opts)
98108
#_(register-exception-handler)
99109
(if (re-frame.trace/is-trace-enabled?)
100110
(do
101-
#_(patch-reagent!)
111+
(patch-reagent!)
102112
(re-frame.trace/register-trace-cb :re-frisk-trace trace-cb))
103113
(when-not (= (:events? opts) false)
104114
(reset! prev-event {:app-db @db/app-db})

re-frisk/src/re_frisk/db.cljs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
(ns re-frisk.db
2-
(:require [reagent.core :as reagent]
2+
(:require [re-frisk.inlined-deps.reagent.v1v0v0.reagent.core :as reagent]
33
[re-frame.trace :as trace]))
44

55
(defonce
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(ns ^{:mranderson/inlined true} re-frisk.inlined-deps.reagent.v1v0v0.reagent.core
2+
(:require [re-frisk.inlined-deps.reagent.v1v0v0.reagent.ratom :as ra]))
3+
4+
(defmacro with-let
5+
"Bind variables as with let, except that when used in a component
6+
the bindings are only evaluated once. Also takes an optional finally
7+
clause at the end, that is executed when the component is
8+
destroyed."
9+
[bindings & body]
10+
`(ra/with-let ~bindings ~@body))

0 commit comments

Comments
 (0)