~/talk

Mr Router Embraces the Controller

Talkat EmberConf 2014 · 2014-03-02..03-04· [ember]
slides:none on file

Argues that controller-centric query params are preferable to a router-only API, shows a concrete implementation: a global cache injected into controllers that creates model-dependent buckets keyed by route plus model id, and a demo that preserves per-item selection and scroll position across navigations. Uses Ember canary and a prototype mixin/component; it is promising and workable but still vaporware, requiring a missing primitive for configurable stickiness before query params move to beta.

AI-written summary · about

  1. 0:00Start
  2. 8:31What is the job of a controller anyway? • Manage application state • Wrap the model with additional information to present to the template (also application state)
  3. 14:58Controller Property Stickiness • No One Right Answer only some wrong ones • Welcome to the Dismal Science of API Design • Goal: find the missing primitive, expose it as something that can be configured when necessary. but offer a high-level convention so that configuration is rare
  4. 18:48How is it implemented? • Inject a cache object onto all controllers • Each sticky property is responsible for computing a bucket key • Replace sticky properties with bindings into the cache object, keyed by bucket key
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.