This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-04-24
Channels
- # aws-lambda (1)
- # beginners (99)
- # boot (46)
- # cider (8)
- # cljs-dev (20)
- # cljsrn (37)
- # clojure (189)
- # clojure-dev (22)
- # clojure-dusseldorf (28)
- # clojure-italy (1)
- # clojure-russia (28)
- # clojure-spec (10)
- # clojure-uk (33)
- # clojurebridge (1)
- # clojurescript (64)
- # core-matrix (2)
- # css (3)
- # cursive (3)
- # datascript (34)
- # datomic (101)
- # defnpodcast (2)
- # dirac (5)
- # events (1)
- # funcool (3)
- # ldnclj (1)
- # lumo (11)
- # mount (1)
- # off-topic (95)
- # pedestal (2)
- # perun (10)
- # re-frame (3)
- # reagent (6)
- # ring-swagger (4)
- # specter (102)
- # test-check (1)
- # untangled (1)
- # vim (8)
- # yada (17)
We have the following entities:
A city: {cityId: xxx, name: "Something"}
A venue: {venueId: yyy, name: "Something", cityId: xxx}
An event: {eventId: zzz, name: "Something", venueId: yyy}
How do you mean? We use refs in schema. Do you mean do we dynamically analyse our schema?
I tried to do that by setting :db/id
to *Id
, but, obviously, venue with :db/id
set to 1 would get overwritten by event with :db/id
set to 1
- If we display a list of cities, we know their entities.
- Click on city, load venues for that city.
- On load, set :venue/city
(or whatever) to the currently (:db/id (currently-selected-city))
So what I get from the server is:
Cities: [{cityId: 1, name: "Stockholm"}, {cityId: 2, "Copenhagen"}]
// click Stokcholm get:
Venues: [{venueId: 1, name: "Berns", cityId: 1}, {venueId: 2, "Ambassador", cityId: 1}}]
// Click Berns get
Events: [{eventId: 2, name: "Party!", venueId: 1} ...]
[{ :cityId 1, :name "Stockholm"}
{ :cityId 2, :name "Copenhagen"}
{ :venueId 1, :name "Berns", :city [:cityId 1] }]