@p4ulcristian/iris-layout 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,6 @@ import "./cljs.core.js";
3
3
  import "./reagent.core.js";
4
4
  import "./iris_layout.layout.js";
5
5
  import "./iris_layout.components.entity_tile_group.js";
6
- import "./iris_layout.components.entity_card_group.js";
7
6
  import "./iris_layout.components.entity_tile.js";
8
7
  import "./iris_layout.components.touch_drag.js";
9
8
  goog.provide('iris_layout.core');
@@ -19,10 +18,10 @@ return ["iris-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uui
19
18
  iris_layout.core.js__GT_layout = (function iris_layout$core$js__GT_layout(js_obj){
20
19
  if(cljs.core.truth_(js_obj)){
21
20
  var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(js_obj);
22
- var G__6894 = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"type")),new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"id")], null);
23
- var G__6894__$1 = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"direction"))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6894,new cljs.core.Keyword(null,"direction","direction",-633359395),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"direction"))):G__6894);
24
- var G__6894__$2 = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"ratio"))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6894__$1,new cljs.core.Keyword(null,"ratio","ratio",-926560044),cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"ratio")):G__6894__$1);
25
- var G__6894__$3 = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"children"))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6894__$2,new cljs.core.Keyword(null,"children","children",-940561982),cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iris_layout.core.js__GT_layout,cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"children"))):G__6894__$2);
21
+ var G__7008 = new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"type","type",1174270348),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"type")),new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"id")], null);
22
+ var G__7008__$1 = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"direction"))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7008,new cljs.core.Keyword(null,"direction","direction",-633359395),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"direction"))):G__7008);
23
+ var G__7008__$2 = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"ratio"))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7008__$1,new cljs.core.Keyword(null,"ratio","ratio",-926560044),cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"ratio")):G__7008__$1);
24
+ var G__7008__$3 = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"children"))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7008__$2,new cljs.core.Keyword(null,"children","children",-940561982),cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iris_layout.core.js__GT_layout,cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"children"))):G__7008__$2);
26
25
  if(cljs.core.truth_((function (){var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entityId");
27
26
  if(cljs.core.truth_(or__5002__auto__)){
28
27
  return or__5002__auto__;
@@ -30,7 +29,7 @@ return or__5002__auto__;
30
29
  return cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entity-id");
31
30
  }
32
31
  })())){
33
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6894__$3,new cljs.core.Keyword(null,"entity-id","entity-id",1485898093),(function (){var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entityId");
32
+ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7008__$3,new cljs.core.Keyword(null,"entity-id","entity-id",1485898093),(function (){var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entityId");
34
33
  if(cljs.core.truth_(or__5002__auto__)){
35
34
  return or__5002__auto__;
36
35
  } else {
@@ -38,7 +37,7 @@ return cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entity-id");
38
37
  }
39
38
  })());
40
39
  } else {
41
- return G__6894__$3;
40
+ return G__7008__$3;
42
41
  }
43
42
  } else {
44
43
  return null;
@@ -50,14 +49,14 @@ return null;
50
49
  */
51
50
  iris_layout.core.layout__GT_js = (function iris_layout$core$layout__GT_js(layout){
52
51
  if(cljs.core.truth_(layout)){
53
- return cljs.core.clj__GT_js((function (){var G__6895 = new cljs.core.PersistentArrayMap(null, 2, ["type",cljs.core.name(new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(layout)),"id",new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(layout)], null);
54
- var G__6895__$1 = (cljs.core.truth_(new cljs.core.Keyword(null,"direction","direction",-633359395).cljs$core$IFn$_invoke$arity$1(layout))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6895,"direction",cljs.core.name(new cljs.core.Keyword(null,"direction","direction",-633359395).cljs$core$IFn$_invoke$arity$1(layout))):G__6895);
55
- var G__6895__$2 = (cljs.core.truth_(new cljs.core.Keyword(null,"ratio","ratio",-926560044).cljs$core$IFn$_invoke$arity$1(layout))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6895__$1,"ratio",new cljs.core.Keyword(null,"ratio","ratio",-926560044).cljs$core$IFn$_invoke$arity$1(layout)):G__6895__$1);
56
- var G__6895__$3 = (cljs.core.truth_(new cljs.core.Keyword(null,"children","children",-940561982).cljs$core$IFn$_invoke$arity$1(layout))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6895__$2,"children",cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iris_layout.core.layout__GT_js,new cljs.core.Keyword(null,"children","children",-940561982).cljs$core$IFn$_invoke$arity$1(layout))):G__6895__$2);
52
+ return cljs.core.clj__GT_js((function (){var G__7009 = new cljs.core.PersistentArrayMap(null, 2, ["type",cljs.core.name(new cljs.core.Keyword(null,"type","type",1174270348).cljs$core$IFn$_invoke$arity$1(layout)),"id",new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(layout)], null);
53
+ var G__7009__$1 = (cljs.core.truth_(new cljs.core.Keyword(null,"direction","direction",-633359395).cljs$core$IFn$_invoke$arity$1(layout))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7009,"direction",cljs.core.name(new cljs.core.Keyword(null,"direction","direction",-633359395).cljs$core$IFn$_invoke$arity$1(layout))):G__7009);
54
+ var G__7009__$2 = (cljs.core.truth_(new cljs.core.Keyword(null,"ratio","ratio",-926560044).cljs$core$IFn$_invoke$arity$1(layout))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7009__$1,"ratio",new cljs.core.Keyword(null,"ratio","ratio",-926560044).cljs$core$IFn$_invoke$arity$1(layout)):G__7009__$1);
55
+ var G__7009__$3 = (cljs.core.truth_(new cljs.core.Keyword(null,"children","children",-940561982).cljs$core$IFn$_invoke$arity$1(layout))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7009__$2,"children",cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iris_layout.core.layout__GT_js,new cljs.core.Keyword(null,"children","children",-940561982).cljs$core$IFn$_invoke$arity$1(layout))):G__7009__$2);
57
56
  if(cljs.core.truth_(new cljs.core.Keyword(null,"entity-id","entity-id",1485898093).cljs$core$IFn$_invoke$arity$1(layout))){
58
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__6895__$3,"entityId",new cljs.core.Keyword(null,"entity-id","entity-id",1485898093).cljs$core$IFn$_invoke$arity$1(layout));
57
+ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__7009__$3,"entityId",new cljs.core.Keyword(null,"entity-id","entity-id",1485898093).cljs$core$IFn$_invoke$arity$1(layout));
59
58
  } else {
60
- return G__6895__$3;
59
+ return G__7009__$3;
61
60
  }
62
61
  })());
63
62
  } else {
@@ -71,14 +70,14 @@ return null;
71
70
  iris_layout.core.js__GT_entities = (function iris_layout$core$js__GT_entities(js_obj){
72
71
  if(cljs.core.truth_(js_obj)){
73
72
  var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(js_obj);
74
- return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__6896){
75
- var vec__6897 = p__6896;
76
- var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6897,(0),null);
77
- var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6897,(1),null);
78
- return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,((cljs.core.map_QMARK_(v))?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__6900){
79
- var vec__6901 = p__6900;
80
- var k2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6901,(0),null);
81
- var v2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6901,(1),null);
73
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__7010){
74
+ var vec__7011 = p__7010;
75
+ var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7011,(0),null);
76
+ var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7011,(1),null);
77
+ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,((cljs.core.map_QMARK_(v))?cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__7014){
78
+ var vec__7015 = p__7014;
79
+ var k2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7015,(0),null);
80
+ var v2 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7015,(1),null);
82
81
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k2),v2], null);
83
82
  }),v)):v)], null);
84
83
  })),obj);
@@ -86,27 +85,6 @@ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMP
86
85
  return null;
87
86
  }
88
87
  });
89
- /**
90
- * Convert a JS stages array to CLJS vector of stage maps.
91
- */
92
- iris_layout.core.js__GT_stages = (function iris_layout$core$js__GT_stages(js_arr){
93
- if(cljs.core.truth_(js_arr)){
94
- return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (s){
95
- var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(s);
96
- return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"id","id",-1388402092),cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"id"),new cljs.core.Keyword(null,"label","label",1718410804),cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"label"),new cljs.core.Keyword(null,"layout","layout",-2120940921),iris_layout.core.js__GT_layout(cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"layout"))], null);
97
- }),js_arr);
98
- } else {
99
- return null;
100
- }
101
- });
102
- /**
103
- * Convert CLJS stages vector to JS array.
104
- */
105
- iris_layout.core.stages__GT_js = (function iris_layout$core$stages__GT_js(stages){
106
- return cljs.core.clj__GT_js(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (s){
107
- return new cljs.core.PersistentArrayMap(null, 3, ["id",new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),"label",new cljs.core.Keyword(null,"label","label",1718410804).cljs$core$IFn$_invoke$arity$1(s),"layout",iris_layout.core.layout__GT_js(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(s))], null);
108
- }),stages));
109
- });
110
88
  /**
111
89
  * A single layout stage within the Body.
112
90
  *
@@ -125,10 +103,10 @@ return new cljs.core.PersistentArrayMap(null, 3, ["id",new cljs.core.Keyword(nul
125
103
  iris_layout.core.body_stage_component = (function iris_layout$core$body_stage_component(_){
126
104
  var props_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
127
105
  var handle_split = (function (tile_id,entity_id,split_direction,source_type,half){
128
- var map__6904 = cljs.core.deref(props_ref);
129
- var map__6904__$1 = cljs.core.__destructure_map(map__6904);
130
- var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6904__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
131
- var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6904__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
106
+ var map__7018 = cljs.core.deref(props_ref);
107
+ var map__7018__$1 = cljs.core.__destructure_map(map__7018);
108
+ var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7018__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
109
+ var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7018__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
132
110
  var before_QMARK_ = ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(half,new cljs.core.Keyword(null,"left","left",-399115937))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(half,new cljs.core.Keyword(null,"top","top",-1856271961))));
133
111
  var base_layout = ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(source_type,new cljs.core.Keyword(null,"tile","tile",758132866)))?(function (){var or__5002__auto__ = iris_layout.layout.remove_entity_from_layout(layout,entity_id);
134
112
  if(cljs.core.truth_(or__5002__auto__)){
@@ -154,11 +132,11 @@ return null;
154
132
  }
155
133
  });
156
134
  var handle_close = (function (entity_id){
157
- var map__6905 = cljs.core.deref(props_ref);
158
- var map__6905__$1 = cljs.core.__destructure_map(map__6905);
159
- var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6905__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
160
- var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6905__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
161
- var on_entity_close = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6905__$1,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801));
135
+ var map__7019 = cljs.core.deref(props_ref);
136
+ var map__7019__$1 = cljs.core.__destructure_map(map__7019);
137
+ var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7019__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
138
+ var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7019__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
139
+ var on_entity_close = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7019__$1,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801));
162
140
  var new_layout = iris_layout.layout.remove_entity_from_layout(layout,entity_id);
163
141
  if(cljs.core.truth_(on_layout_change)){
164
142
  (on_layout_change.cljs$core$IFn$_invoke$arity$1 ? on_layout_change.cljs$core$IFn$_invoke$arity$1(new_layout) : on_layout_change.call(null,new_layout));
@@ -172,10 +150,10 @@ return null;
172
150
  }
173
151
  });
174
152
  var handle_ratio = (function (split_id,new_ratio){
175
- var map__6906 = cljs.core.deref(props_ref);
176
- var map__6906__$1 = cljs.core.__destructure_map(map__6906);
177
- var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6906__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
178
- var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6906__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
153
+ var map__7020 = cljs.core.deref(props_ref);
154
+ var map__7020__$1 = cljs.core.__destructure_map(map__7020);
155
+ var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7020__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
156
+ var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7020__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
179
157
  var new_layout = iris_layout.layout.update_split_ratio(layout,split_id,new_ratio);
180
158
  if(cljs.core.truth_(on_layout_change)){
181
159
  return (on_layout_change.cljs$core$IFn$_invoke$arity$1 ? on_layout_change.cljs$core$IFn$_invoke$arity$1(new_layout) : on_layout_change.call(null,new_layout));
@@ -183,234 +161,58 @@ return (on_layout_change.cljs$core$IFn$_invoke$arity$1 ? on_layout_change.cljs$c
183
161
  return null;
184
162
  }
185
163
  });
186
- return (function (p__6907){
187
- var map__6908 = p__6907;
188
- var map__6908__$1 = cljs.core.__destructure_map(map__6908);
189
- var props = map__6908__$1;
190
- var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6908__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
191
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6908__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
192
- var render_entity_tile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6908__$1,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276));
193
- var active_entity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6908__$1,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476));
194
- var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6908__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
164
+ return (function (p__7021){
165
+ var map__7022 = p__7021;
166
+ var map__7022__$1 = cljs.core.__destructure_map(map__7022);
167
+ var props = map__7022__$1;
168
+ var layout = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7022__$1,new cljs.core.Keyword(null,"layout","layout",-2120940921));
169
+ var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7022__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
170
+ var render_entity_tile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7022__$1,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276));
171
+ var active_entity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7022__$1,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476));
172
+ var on_layout_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7022__$1,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075));
173
+ var on_active_entity_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7022__$1,new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677));
195
174
  cljs.core.reset_BANG_(props_ref,props);
196
175
 
197
- return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-body-stage","div.iris-body-stage",124680727),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.components.entity_tile_group.entity_tile_group,layout,handle_split,handle_close,handle_ratio,active_entity,entities,render_entity_tile], null)], null);
198
- });
199
- });
200
- /**
201
- * Find the index of a stage by ID.
202
- */
203
- iris_layout.core.stage_index = (function iris_layout$core$stage_index(stages,id){
204
- return cljs.core.first(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((function (i,s){
205
- if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),id)){
206
- return i;
176
+ var fs_id = cljs.core.deref(iris_layout.components.entity_tile.fullscreen_tile);
177
+ var fs_node = (cljs.core.truth_(fs_id)?iris_layout.layout.find_tile(layout,fs_id):null);
178
+ var fs_entity = (cljs.core.truth_(fs_node)?cljs.core.get.cljs$core$IFn$_invoke$arity$2(entities,new cljs.core.Keyword(null,"entity-id","entity-id",1485898093).cljs$core$IFn$_invoke$arity$1(fs_node)):null);
179
+ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-body-stage","div.iris-body-stage",124680727),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.components.entity_tile_group.entity_tile_group,layout,handle_split,handle_close,handle_ratio,active_entity,entities,render_entity_tile,on_active_entity_change], null),(cljs.core.truth_(fs_node)?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-fullscreen-overlay","div.iris-fullscreen-overlay",-975520517),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"style","style",-496642736),(cljs.core.truth_(new cljs.core.Keyword(null,"color","color",1011675173).cljs$core$IFn$_invoke$arity$1(fs_entity))?new cljs.core.PersistentArrayMap(null, 1, ["--iris-tile-color",new cljs.core.Keyword(null,"color","color",1011675173).cljs$core$IFn$_invoke$arity$1(fs_entity)], null):null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-fullscreen-overlay-header","div.iris-fullscreen-overlay-header",-1311682787),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"on-double-click","on-double-click",1434856980),(function (___$1){
180
+ return cljs.core.reset_BANG_(iris_layout.components.entity_tile.fullscreen_tile,null);
181
+ })], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.iris-entity-tile-header-name","span.iris-entity-tile-header-name",-890448661),(function (){var or__5002__auto__ = new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(fs_entity);
182
+ if(cljs.core.truth_(or__5002__auto__)){
183
+ return or__5002__auto__;
207
184
  } else {
208
- return null;
185
+ return new cljs.core.Keyword(null,"entity-id","entity-id",1485898093).cljs$core$IFn$_invoke$arity$1(fs_node);
209
186
  }
210
- }),stages));
211
- });
212
- /**
213
- * Force restart a CSS animation on an element.
214
- * Uses offsetHeight read to force reflow before re-applying animation.
215
- */
216
- iris_layout.core.restart_animation_BANG_ = (function iris_layout$core$restart_animation_BANG_(el,anim_name){
217
- if(cljs.core.truth_(el)){
218
- (el.style.animation = "none");
219
-
220
- el.offsetHeight;
187
+ })()], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"button.iris-entity-tile-header-close","button.iris-entity-tile-header-close",-649034559),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"on-click","on-click",1632826543),(function (e){
188
+ e.stopPropagation();
221
189
 
222
- return (el.style.animation = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(anim_name)," 400ms cubic-bezier(0.22, 1, 0.36, 1) forwards"].join(''));
223
- } else {
224
- return null;
225
- }
226
- });
227
- /**
228
- * Body — the main layout area.
229
- *
230
- * Renders all stages stacked on top of each other. The active stage
231
- * is visible and interactive; others are hidden but stay mounted.
232
- *
233
- * Stage transitions use vertical slide animations:
234
- * - Moving to a higher-indexed stage slides from bottom
235
- * - Moving to a lower-indexed stage slides from top
236
- *
237
- * Props (received as CLJS map after wrapper conversion):
238
- * :stages - vector of stage maps
239
- * :active-stage - active stage ID
240
- * :active-entity - focused entity ID
241
- * :entities - entity data map
242
- * :render-entity-tile - React component for tile content
243
- * :on-stages-change - fn(stages) for layout mutations
244
- * :on-active-stage-change - fn(stage-id) for stage switches
245
- * :on-active-entity-change - fn(entity-id) for entity focus
246
- */
247
- iris_layout.core.body_component = (function iris_layout$core$body_component(_){
248
- var prev_stage_id = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
249
- var slide_dir = cljs.core.atom.cljs$core$IFn$_invoke$arity$1("right");
250
- var layer_refs = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
251
- return (function (p__6909){
252
- var map__6910 = p__6909;
253
- var map__6910__$1 = cljs.core.__destructure_map(map__6910);
254
- var on_active_stage_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"on-active-stage-change","on-active-stage-change",-824015015));
255
- var on_active_entity_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677));
256
- var active_entity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476));
257
- var stages = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"stages","stages",-442109532));
258
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
259
- var render_entity_tile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276));
260
- var active_stage = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"active-stage","active-stage",-1878042516));
261
- var on_stages_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"on-stages-change","on-stages-change",870787057));
262
- var on_entity_close = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6910__$1,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801));
263
- var prev_idx = iris_layout.core.stage_index(stages,cljs.core.deref(prev_stage_id));
264
- var curr_idx = iris_layout.core.stage_index(stages,active_stage);
265
- var changed_QMARK_ = (function (){var and__5000__auto__ = cljs.core.deref(prev_stage_id);
190
+ return cljs.core.reset_BANG_(iris_layout.components.entity_tile.fullscreen_tile,null);
191
+ })], null),"\u00D7"], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-entity-tile-content","div.iris-entity-tile-content",-1333148856),(cljs.core.truth_((function (){var and__5000__auto__ = fs_entity;
266
192
  if(cljs.core.truth_(and__5000__auto__)){
267
- return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(prev_stage_id),active_stage);
193
+ return render_entity_tile;
268
194
  } else {
269
195
  return and__5000__auto__;
270
196
  }
271
- })();
272
- if(cljs.core.truth_(changed_QMARK_)){
273
- cljs.core.reset_BANG_(slide_dir,(cljs.core.truth_((function (){var and__5000__auto__ = prev_idx;
274
- if(cljs.core.truth_(and__5000__auto__)){
275
- var and__5000__auto____$1 = curr_idx;
276
- if(cljs.core.truth_(and__5000__auto____$1)){
277
- return (curr_idx > prev_idx);
278
- } else {
279
- return and__5000__auto____$1;
280
- }
281
- } else {
282
- return and__5000__auto__;
283
- }
284
- })())?"down":"up"));
285
- } else {
286
- }
287
-
288
- if(cljs.core.truth_(changed_QMARK_)){
289
- var dir_7016 = cljs.core.deref(slide_dir);
290
- var target_id_7017 = active_stage;
291
- reagent.core.after_render((function (){
292
- var temp__5804__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(layer_refs),target_id_7017);
293
- if(cljs.core.truth_(temp__5804__auto__)){
294
- var el = temp__5804__auto__;
295
- return iris_layout.core.restart_animation_BANG_(el,((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(dir_7016,"down"))?"iris-slide-from-bottom":"iris-slide-from-top"));
296
- } else {
297
- return null;
298
- }
299
- }));
300
- } else {
301
- }
302
-
303
- cljs.core.reset_BANG_(prev_stage_id,active_stage);
304
-
305
- return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-body","div.iris-body",-1554727834),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-body-stack","div.iris-body-stack",-639364468),(function (){var iter__5480__auto__ = (function iris_layout$core$body_component_$_iter__6911(s__6912){
306
- return (new cljs.core.LazySeq(null,(function (){
307
- var s__6912__$1 = s__6912;
308
- while(true){
309
- var temp__5804__auto__ = cljs.core.seq(s__6912__$1);
310
- if(temp__5804__auto__){
311
- var s__6912__$2 = temp__5804__auto__;
312
- if(cljs.core.chunked_seq_QMARK_(s__6912__$2)){
313
- var c__5478__auto__ = cljs.core.chunk_first(s__6912__$2);
314
- var size__5479__auto__ = cljs.core.count(c__5478__auto__);
315
- var b__6914 = cljs.core.chunk_buffer(size__5479__auto__);
316
- if((function (){var i__6913 = (0);
317
- while(true){
318
- if((i__6913 < size__5479__auto__)){
319
- var stage = cljs.core._nth(c__5478__auto__,i__6913);
320
- cljs.core.chunk_append(b__6914,cljs.core.with_meta(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-body-layer",((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),active_stage))?" iris-body-layer-active":null)].join(''),new cljs.core.Keyword(null,"ref","ref",1289896967),((function (i__6913,stage,c__5478__auto__,size__5479__auto__,b__6914,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs){
321
- return (function (el){
322
- if(cljs.core.truth_(el)){
323
- return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(layer_refs,cljs.core.assoc,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),el);
324
- } else {
325
- return null;
326
- }
327
- });})(i__6913,stage,c__5478__auto__,size__5479__auto__,b__6914,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs))
328
- ], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.body_stage_component,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"layout","layout",-2120940921),new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(stage),new cljs.core.Keyword(null,"entities","entities",1940967403),entities,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276),render_entity_tile,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),active_entity,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075),((function (i__6913,stage,c__5478__auto__,size__5479__auto__,b__6914,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs){
329
- return (function (new_layout){
330
- if(cljs.core.truth_(on_stages_change)){
331
- var updated = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(((function (i__6913,stage,c__5478__auto__,size__5479__auto__,b__6914,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs){
332
- return (function (s){
333
- if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage))){
334
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(s,new cljs.core.Keyword(null,"layout","layout",-2120940921),new_layout);
335
- } else {
336
- return s;
337
- }
338
- });})(i__6913,stage,c__5478__auto__,size__5479__auto__,b__6914,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs))
339
- ,stages);
340
- return (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(updated) : on_stages_change.call(null,updated));
341
- } else {
342
- return null;
343
- }
344
- });})(i__6913,stage,c__5478__auto__,size__5479__auto__,b__6914,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs))
345
- ,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),on_entity_close], null)], null)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage)], null)));
346
-
347
- var G__7018 = (i__6913 + (1));
348
- i__6913 = G__7018;
349
- continue;
350
- } else {
351
- return true;
352
- }
353
- break;
354
- }
355
- })()){
356
- return cljs.core.chunk_cons(cljs.core.chunk(b__6914),iris_layout$core$body_component_$_iter__6911(cljs.core.chunk_rest(s__6912__$2)));
357
- } else {
358
- return cljs.core.chunk_cons(cljs.core.chunk(b__6914),null);
359
- }
360
- } else {
361
- var stage = cljs.core.first(s__6912__$2);
362
- return cljs.core.cons(cljs.core.with_meta(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-body-layer",((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),active_stage))?" iris-body-layer-active":null)].join(''),new cljs.core.Keyword(null,"ref","ref",1289896967),((function (stage,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs){
363
- return (function (el){
364
- if(cljs.core.truth_(el)){
365
- return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(layer_refs,cljs.core.assoc,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),el);
366
- } else {
367
- return null;
368
- }
369
- });})(stage,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs))
370
- ], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.body_stage_component,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"layout","layout",-2120940921),new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(stage),new cljs.core.Keyword(null,"entities","entities",1940967403),entities,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276),render_entity_tile,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),active_entity,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075),((function (stage,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs){
371
- return (function (new_layout){
372
- if(cljs.core.truth_(on_stages_change)){
373
- var updated = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (s){
374
- if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage))){
375
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(s,new cljs.core.Keyword(null,"layout","layout",-2120940921),new_layout);
376
- } else {
377
- return s;
378
- }
379
- }),stages);
380
- return (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(updated) : on_stages_change.call(null,updated));
381
- } else {
382
- return null;
383
- }
384
- });})(stage,s__6912__$2,temp__5804__auto__,prev_idx,curr_idx,changed_QMARK_,map__6910,map__6910__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,render_entity_tile,active_stage,on_stages_change,on_entity_close,prev_stage_id,slide_dir,layer_refs))
385
- ,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),on_entity_close], null)], null)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage)], null)),iris_layout$core$body_component_$_iter__6911(cljs.core.rest(s__6912__$2)));
386
- }
387
- } else {
388
- return null;
389
- }
390
- break;
391
- }
392
- }),null,null));
393
- });
394
- return iter__5480__auto__(stages);
395
- })()], null)], null);
197
+ })())?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,">",">",-555517146),render_entity_tile,fs_entity], null):null)], null)], null):null)], null);
396
198
  });
397
199
  });
398
200
  /**
399
201
  * Convert [x y] to string key 'x,y'.
400
202
  */
401
- iris_layout.core.pos_key = (function iris_layout$core$pos_key(p__6915){
402
- var vec__6916 = p__6915;
403
- var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6916,(0),null);
404
- var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6916,(1),null);
203
+ iris_layout.core.pos_key = (function iris_layout$core$pos_key(p__7023){
204
+ var vec__7024 = p__7023;
205
+ var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7024,(0),null);
206
+ var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7024,(1),null);
405
207
  return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('');
406
208
  });
407
209
  /**
408
210
  * Map a direction keyword to [dx dy].
409
211
  */
410
212
  iris_layout.core.direction__GT_delta = (function iris_layout$core$direction__GT_delta(dir){
411
- var G__6919 = dir;
412
- var G__6919__$1 = (((G__6919 instanceof cljs.core.Keyword))?G__6919.fqn:null);
413
- switch (G__6919__$1) {
213
+ var G__7027 = dir;
214
+ var G__7027__$1 = (((G__7027 instanceof cljs.core.Keyword))?G__7027.fqn:null);
215
+ switch (G__7027__$1) {
414
216
  case "left":
415
217
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(0)], null);
416
218
 
@@ -428,7 +230,7 @@ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMP
428
230
 
429
231
  break;
430
232
  default:
431
- throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__6919__$1)].join('')));
233
+ throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__7027__$1)].join('')));
432
234
 
433
235
  }
434
236
  });
@@ -452,12 +254,12 @@ return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMP
452
254
  * Check if navigation in a direction is allowed.
453
255
  */
454
256
  iris_layout.core.can_navigate_QMARK_ = (function iris_layout$core$can_navigate_QMARK_(dir,workspaces,active_position){
455
- var vec__6920 = iris_layout.core.direction__GT_delta(dir);
456
- var dx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6920,(0),null);
457
- var dy = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6920,(1),null);
458
- var vec__6923 = active_position;
459
- var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6923,(0),null);
460
- var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6923,(1),null);
257
+ var vec__7028 = iris_layout.core.direction__GT_delta(dir);
258
+ var dx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7028,(0),null);
259
+ var dy = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7028,(1),null);
260
+ var vec__7031 = active_position;
261
+ var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7031,(0),null);
262
+ var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7031,(1),null);
461
263
  var new_x = (x + dx);
462
264
  var new_y = (y + dy);
463
265
  var new_key = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new_x,new_y], null));
@@ -477,19 +279,19 @@ return (((new_x >= (0))) && ((((new_y >= (0))) && ((!(((current_empty_QMARK_) &&
477
279
  * Handle navigation in a direction. Creates empty workspace if needed.
478
280
  */
479
281
  iris_layout.core.handle_grid_nav = (function iris_layout$core$handle_grid_nav(dir,props_ref){
480
- var map__6926 = cljs.core.deref(props_ref);
481
- var map__6926__$1 = cljs.core.__destructure_map(map__6926);
482
- var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6926__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
483
- var active_position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6926__$1,new cljs.core.Keyword(null,"active-position","active-position",216604118));
484
- var on_workspaces_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6926__$1,new cljs.core.Keyword(null,"on-workspaces-change","on-workspaces-change",1243137455));
485
- var on_active_position_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6926__$1,new cljs.core.Keyword(null,"on-active-position-change","on-active-position-change",2098486068));
282
+ var map__7034 = cljs.core.deref(props_ref);
283
+ var map__7034__$1 = cljs.core.__destructure_map(map__7034);
284
+ var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7034__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
285
+ var active_position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7034__$1,new cljs.core.Keyword(null,"active-position","active-position",216604118));
286
+ var on_workspaces_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7034__$1,new cljs.core.Keyword(null,"on-workspaces-change","on-workspaces-change",1243137455));
287
+ var on_active_position_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7034__$1,new cljs.core.Keyword(null,"on-active-position-change","on-active-position-change",2098486068));
486
288
  if(iris_layout.core.can_navigate_QMARK_(dir,workspaces,active_position)){
487
- var vec__6927 = iris_layout.core.direction__GT_delta(dir);
488
- var dx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6927,(0),null);
489
- var dy = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6927,(1),null);
490
- var vec__6930 = active_position;
491
- var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6930,(0),null);
492
- var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6930,(1),null);
289
+ var vec__7035 = iris_layout.core.direction__GT_delta(dir);
290
+ var dx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7035,(0),null);
291
+ var dy = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7035,(1),null);
292
+ var vec__7038 = active_position;
293
+ var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7038,(0),null);
294
+ var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7038,(1),null);
493
295
  var new_pos = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x + dx),(y + dy)], null);
494
296
  var new_key = iris_layout.core.pos_key(new_pos);
495
297
  var target_exists_QMARK_ = cljs.core.contains_QMARK_(workspaces,new_key);
@@ -500,8 +302,8 @@ return on_workspaces_change;
500
302
  return and__5000__auto__;
501
303
  }
502
304
  })())){
503
- var G__6933_7020 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(workspaces,new_key,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"layout","layout",-2120940921),null], null));
504
- (on_workspaces_change.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_change.cljs$core$IFn$_invoke$arity$1(G__6933_7020) : on_workspaces_change.call(null,G__6933_7020));
305
+ var G__7041_7086 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(workspaces,new_key,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"layout","layout",-2120940921),null], null));
306
+ (on_workspaces_change.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_change.cljs$core$IFn$_invoke$arity$1(G__7041_7086) : on_workspaces_change.call(null,G__7041_7086));
505
307
  } else {
506
308
  }
507
309
 
@@ -515,10 +317,10 @@ return null;
515
317
  }
516
318
  });
517
319
  /**
518
- * Return hiccup for a navigation edge button.
320
+ * Return hiccup for a navigation edge button with half-circle indicator.
519
321
  * During drag, hovering navigates to adjacent workspace (user keeps dragging to drop there).
520
322
  */
521
- iris_layout.core.nav_edge_hiccup = (function iris_layout$core$nav_edge_hiccup(css_class,arrow,visible_QMARK_,on_click,direction,props_ref,nav_drag_edge){
323
+ iris_layout.core.nav_edge_hiccup = (function iris_layout$core$nav_edge_hiccup(css_class,visible_QMARK_,on_click,direction,props_ref,nav_drag_edge){
522
324
  return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-nav-edge ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(css_class),(cljs.core.truth_(visible_QMARK_)?null:" iris-nav-hidden"),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(nav_drag_edge),direction))?" iris-nav-drag-over":null)].join(''),new cljs.core.Keyword(null,"on-click","on-click",1632826543),on_click,new cljs.core.Keyword(null,"on-drag-over","on-drag-over",-93410408),(function (e){
523
325
  return e.preventDefault();
524
326
  }),new cljs.core.Keyword(null,"on-drag-enter","on-drag-enter",-1692112235),(function (e){
@@ -539,7 +341,7 @@ e.preventDefault();
539
341
  e.stopPropagation();
540
342
 
541
343
  return cljs.core.reset_BANG_(nav_drag_edge,null);
542
- })], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span.iris-nav-arrow","span.iris-nav-arrow",-2000924702),arrow], null)], null);
344
+ })], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-nav-semicircle","div.iris-nav-semicircle",-34407276)], null)], null);
543
345
  });
544
346
  /**
545
347
  * Update a workspace's layout and remove dragged entity from all other workspaces.
@@ -575,26 +377,40 @@ return (on_workspaces_change.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_chang
575
377
  } else {
576
378
  return null;
577
379
  }
578
- }catch (e6934){var _ = e6934;
380
+ }catch (e7042){var _ = e7042;
579
381
  return null;
580
382
  }});
581
383
  /**
582
384
  * Render a single grid cell (workspace or empty placeholder).
583
385
  */
584
386
  iris_layout.core.grid_cell = (function iris_layout$core$grid_cell(k,workspace,active_QMARK_,zoomed_QMARK_,props){
585
- var map__6935 = props;
586
- var map__6935__$1 = cljs.core.__destructure_map(map__6935);
587
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
588
- var render_entity_tile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276));
589
- var active_entity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476));
590
- var on_workspaces_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"on-workspaces-change","on-workspaces-change",1243137455));
591
- var on_active_position_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"on-active-position-change","on-active-position-change",2098486068));
592
- var on_entity_close = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801));
593
- var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6935__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
594
- var vec__6936 = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(parseInt,k.split(","));
595
- var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6936,(0),null);
596
- var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6936,(1),null);
597
- return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-grid-cell",(cljs.core.truth_(active_QMARK_)?" iris-grid-cell-active":null)].join(''),new cljs.core.Keyword(null,"data-position","data-position",1700534660),k,new cljs.core.Keyword(null,"on-click","on-click",1632826543),(cljs.core.truth_((function (){var and__5000__auto__ = zoomed_QMARK_;
387
+ var map__7043 = props;
388
+ var map__7043__$1 = cljs.core.__destructure_map(map__7043);
389
+ var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
390
+ var render_entity_tile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276));
391
+ var active_entity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476));
392
+ var on_workspaces_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"on-workspaces-change","on-workspaces-change",1243137455));
393
+ var on_active_position_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"on-active-position-change","on-active-position-change",2098486068));
394
+ var on_entity_close = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801));
395
+ var on_active_entity_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677));
396
+ var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7043__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
397
+ var vec__7044 = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(parseInt,k.split(","));
398
+ var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7044,(0),null);
399
+ var y = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7044,(1),null);
400
+ return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-grid-cell",(cljs.core.truth_(active_QMARK_)?" iris-grid-cell-active":null)].join(''),new cljs.core.Keyword(null,"data-position","data-position",1700534660),k,new cljs.core.Keyword(null,"on-mouse-enter","on-mouse-enter",-1664921661),(cljs.core.truth_((function (){var and__5000__auto__ = zoomed_QMARK_;
401
+ if(cljs.core.truth_(and__5000__auto__)){
402
+ return cljs.core.not(active_QMARK_);
403
+ } else {
404
+ return and__5000__auto__;
405
+ }
406
+ })())?(function (_){
407
+ if(cljs.core.truth_(on_active_position_change)){
408
+ var G__7047 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);
409
+ return (on_active_position_change.cljs$core$IFn$_invoke$arity$1 ? on_active_position_change.cljs$core$IFn$_invoke$arity$1(G__7047) : on_active_position_change.call(null,G__7047));
410
+ } else {
411
+ return null;
412
+ }
413
+ }):null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),(cljs.core.truth_((function (){var and__5000__auto__ = zoomed_QMARK_;
598
414
  if(cljs.core.truth_(and__5000__auto__)){
599
415
  return cljs.core.not(active_QMARK_);
600
416
  } else {
@@ -602,15 +418,15 @@ return and__5000__auto__;
602
418
  }
603
419
  })())?(function (_){
604
420
  if(cljs.core.truth_(on_active_position_change)){
605
- var G__6939 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);
606
- return (on_active_position_change.cljs$core$IFn$_invoke$arity$1 ? on_active_position_change.cljs$core$IFn$_invoke$arity$1(G__6939) : on_active_position_change.call(null,G__6939));
421
+ var G__7048 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null);
422
+ return (on_active_position_change.cljs$core$IFn$_invoke$arity$1 ? on_active_position_change.cljs$core$IFn$_invoke$arity$1(G__7048) : on_active_position_change.call(null,G__7048));
607
423
  } else {
608
424
  return null;
609
425
  }
610
- }):null)], null),(cljs.core.truth_(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(workspace))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.body_stage_component,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"layout","layout",-2120940921),new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(workspace),new cljs.core.Keyword(null,"entities","entities",1940967403),entities,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276),render_entity_tile,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),(cljs.core.truth_(active_QMARK_)?active_entity:null),new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075),(function (new_layout){
426
+ }):null)], null),(cljs.core.truth_(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(workspace))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.body_stage_component,new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"layout","layout",-2120940921),new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(workspace),new cljs.core.Keyword(null,"entities","entities",1940967403),entities,new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276),render_entity_tile,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),(cljs.core.truth_(active_QMARK_)?active_entity:null),new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677),on_active_entity_change,new cljs.core.Keyword(null,"on-layout-change","on-layout-change",-1551415075),(function (new_layout){
611
427
  if(cljs.core.truth_(on_workspaces_change)){
612
- var G__6940 = iris_layout.core.update_workspaces_with_cleanup(workspaces,k,new_layout);
613
- return (on_workspaces_change.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_change.cljs$core$IFn$_invoke$arity$1(G__6940) : on_workspaces_change.call(null,G__6940));
428
+ var G__7049 = iris_layout.core.update_workspaces_with_cleanup(workspaces,k,new_layout);
429
+ return (on_workspaces_change.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_change.cljs$core$IFn$_invoke$arity$1(G__7049) : on_workspaces_change.call(null,G__7049));
614
430
  } else {
615
431
  return null;
616
432
  }
@@ -629,45 +445,45 @@ return null;
629
445
  */
630
446
  iris_layout.core.grid_canvas = (function iris_layout$core$grid_canvas(cols,rows,workspaces,active_position,zoomed_QMARK_,props){
631
447
  var active_key = iris_layout.core.pos_key(active_position);
632
- var iter__5480__auto__ = (function iris_layout$core$grid_canvas_$_iter__6941(s__6942){
448
+ var iter__5480__auto__ = (function iris_layout$core$grid_canvas_$_iter__7050(s__7051){
633
449
  return (new cljs.core.LazySeq(null,(function (){
634
- var s__6942__$1 = s__6942;
450
+ var s__7051__$1 = s__7051;
635
451
  while(true){
636
- var temp__5804__auto__ = cljs.core.seq(s__6942__$1);
452
+ var temp__5804__auto__ = cljs.core.seq(s__7051__$1);
637
453
  if(temp__5804__auto__){
638
- var s__6942__$2 = temp__5804__auto__;
639
- if(cljs.core.chunked_seq_QMARK_(s__6942__$2)){
640
- var c__5478__auto__ = cljs.core.chunk_first(s__6942__$2);
454
+ var s__7051__$2 = temp__5804__auto__;
455
+ if(cljs.core.chunked_seq_QMARK_(s__7051__$2)){
456
+ var c__5478__auto__ = cljs.core.chunk_first(s__7051__$2);
641
457
  var size__5479__auto__ = cljs.core.count(c__5478__auto__);
642
- var b__6944 = cljs.core.chunk_buffer(size__5479__auto__);
643
- if((function (){var i__6943 = (0);
458
+ var b__7053 = cljs.core.chunk_buffer(size__5479__auto__);
459
+ if((function (){var i__7052 = (0);
644
460
  while(true){
645
- if((i__6943 < size__5479__auto__)){
646
- var y = cljs.core._nth(c__5478__auto__,i__6943);
647
- cljs.core.chunk_append(b__6944,(function (){var iter__5480__auto__ = ((function (i__6943,y,c__5478__auto__,size__5479__auto__,b__6944,s__6942__$2,temp__5804__auto__,active_key){
648
- return (function iris_layout$core$grid_canvas_$_iter__6941_$_iter__6945(s__6946){
649
- return (new cljs.core.LazySeq(null,((function (i__6943,y,c__5478__auto__,size__5479__auto__,b__6944,s__6942__$2,temp__5804__auto__,active_key){
461
+ if((i__7052 < size__5479__auto__)){
462
+ var y = cljs.core._nth(c__5478__auto__,i__7052);
463
+ cljs.core.chunk_append(b__7053,(function (){var iter__5480__auto__ = ((function (i__7052,y,c__5478__auto__,size__5479__auto__,b__7053,s__7051__$2,temp__5804__auto__,active_key){
464
+ return (function iris_layout$core$grid_canvas_$_iter__7050_$_iter__7054(s__7055){
465
+ return (new cljs.core.LazySeq(null,((function (i__7052,y,c__5478__auto__,size__5479__auto__,b__7053,s__7051__$2,temp__5804__auto__,active_key){
650
466
  return (function (){
651
- var s__6946__$1 = s__6946;
467
+ var s__7055__$1 = s__7055;
652
468
  while(true){
653
- var temp__5804__auto____$1 = cljs.core.seq(s__6946__$1);
469
+ var temp__5804__auto____$1 = cljs.core.seq(s__7055__$1);
654
470
  if(temp__5804__auto____$1){
655
- var s__6946__$2 = temp__5804__auto____$1;
656
- if(cljs.core.chunked_seq_QMARK_(s__6946__$2)){
657
- var c__5478__auto____$1 = cljs.core.chunk_first(s__6946__$2);
471
+ var s__7055__$2 = temp__5804__auto____$1;
472
+ if(cljs.core.chunked_seq_QMARK_(s__7055__$2)){
473
+ var c__5478__auto____$1 = cljs.core.chunk_first(s__7055__$2);
658
474
  var size__5479__auto____$1 = cljs.core.count(c__5478__auto____$1);
659
- var b__6948 = cljs.core.chunk_buffer(size__5479__auto____$1);
660
- if((function (){var i__6947 = (0);
475
+ var b__7057 = cljs.core.chunk_buffer(size__5479__auto____$1);
476
+ if((function (){var i__7056 = (0);
661
477
  while(true){
662
- if((i__6947 < size__5479__auto____$1)){
663
- var x = cljs.core._nth(c__5478__auto____$1,i__6947);
664
- cljs.core.chunk_append(b__6948,(function (){var k = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));
478
+ if((i__7056 < size__5479__auto____$1)){
479
+ var x = cljs.core._nth(c__5478__auto____$1,i__7056);
480
+ cljs.core.chunk_append(b__7057,(function (){var k = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));
665
481
  var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
666
482
  return cljs.core.with_meta(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.grid_cell,k,workspace,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,active_key),zoomed_QMARK_,props], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),k], null));
667
483
  })());
668
484
 
669
- var G__7021 = (i__6947 + (1));
670
- i__6947 = G__7021;
485
+ var G__7087 = (i__7056 + (1));
486
+ i__7056 = G__7087;
671
487
  continue;
672
488
  } else {
673
489
  return true;
@@ -675,31 +491,31 @@ return true;
675
491
  break;
676
492
  }
677
493
  })()){
678
- return cljs.core.chunk_cons(cljs.core.chunk(b__6948),iris_layout$core$grid_canvas_$_iter__6941_$_iter__6945(cljs.core.chunk_rest(s__6946__$2)));
494
+ return cljs.core.chunk_cons(cljs.core.chunk(b__7057),iris_layout$core$grid_canvas_$_iter__7050_$_iter__7054(cljs.core.chunk_rest(s__7055__$2)));
679
495
  } else {
680
- return cljs.core.chunk_cons(cljs.core.chunk(b__6948),null);
496
+ return cljs.core.chunk_cons(cljs.core.chunk(b__7057),null);
681
497
  }
682
498
  } else {
683
- var x = cljs.core.first(s__6946__$2);
499
+ var x = cljs.core.first(s__7055__$2);
684
500
  return cljs.core.cons((function (){var k = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));
685
501
  var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
686
502
  return cljs.core.with_meta(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.grid_cell,k,workspace,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,active_key),zoomed_QMARK_,props], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),k], null));
687
- })(),iris_layout$core$grid_canvas_$_iter__6941_$_iter__6945(cljs.core.rest(s__6946__$2)));
503
+ })(),iris_layout$core$grid_canvas_$_iter__7050_$_iter__7054(cljs.core.rest(s__7055__$2)));
688
504
  }
689
505
  } else {
690
506
  return null;
691
507
  }
692
508
  break;
693
509
  }
694
- });})(i__6943,y,c__5478__auto__,size__5479__auto__,b__6944,s__6942__$2,temp__5804__auto__,active_key))
510
+ });})(i__7052,y,c__5478__auto__,size__5479__auto__,b__7053,s__7051__$2,temp__5804__auto__,active_key))
695
511
  ,null,null));
696
- });})(i__6943,y,c__5478__auto__,size__5479__auto__,b__6944,s__6942__$2,temp__5804__auto__,active_key))
512
+ });})(i__7052,y,c__5478__auto__,size__5479__auto__,b__7053,s__7051__$2,temp__5804__auto__,active_key))
697
513
  ;
698
514
  return iter__5480__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(cols));
699
515
  })());
700
516
 
701
- var G__7022 = (i__6943 + (1));
702
- i__6943 = G__7022;
517
+ var G__7088 = (i__7052 + (1));
518
+ i__7052 = G__7088;
703
519
  continue;
704
520
  } else {
705
521
  return true;
@@ -707,35 +523,35 @@ return true;
707
523
  break;
708
524
  }
709
525
  })()){
710
- return cljs.core.chunk_cons(cljs.core.chunk(b__6944),iris_layout$core$grid_canvas_$_iter__6941(cljs.core.chunk_rest(s__6942__$2)));
526
+ return cljs.core.chunk_cons(cljs.core.chunk(b__7053),iris_layout$core$grid_canvas_$_iter__7050(cljs.core.chunk_rest(s__7051__$2)));
711
527
  } else {
712
- return cljs.core.chunk_cons(cljs.core.chunk(b__6944),null);
528
+ return cljs.core.chunk_cons(cljs.core.chunk(b__7053),null);
713
529
  }
714
530
  } else {
715
- var y = cljs.core.first(s__6942__$2);
716
- return cljs.core.cons((function (){var iter__5480__auto__ = ((function (y,s__6942__$2,temp__5804__auto__,active_key){
717
- return (function iris_layout$core$grid_canvas_$_iter__6941_$_iter__6949(s__6950){
531
+ var y = cljs.core.first(s__7051__$2);
532
+ return cljs.core.cons((function (){var iter__5480__auto__ = ((function (y,s__7051__$2,temp__5804__auto__,active_key){
533
+ return (function iris_layout$core$grid_canvas_$_iter__7050_$_iter__7058(s__7059){
718
534
  return (new cljs.core.LazySeq(null,(function (){
719
- var s__6950__$1 = s__6950;
535
+ var s__7059__$1 = s__7059;
720
536
  while(true){
721
- var temp__5804__auto____$1 = cljs.core.seq(s__6950__$1);
537
+ var temp__5804__auto____$1 = cljs.core.seq(s__7059__$1);
722
538
  if(temp__5804__auto____$1){
723
- var s__6950__$2 = temp__5804__auto____$1;
724
- if(cljs.core.chunked_seq_QMARK_(s__6950__$2)){
725
- var c__5478__auto__ = cljs.core.chunk_first(s__6950__$2);
539
+ var s__7059__$2 = temp__5804__auto____$1;
540
+ if(cljs.core.chunked_seq_QMARK_(s__7059__$2)){
541
+ var c__5478__auto__ = cljs.core.chunk_first(s__7059__$2);
726
542
  var size__5479__auto__ = cljs.core.count(c__5478__auto__);
727
- var b__6952 = cljs.core.chunk_buffer(size__5479__auto__);
728
- if((function (){var i__6951 = (0);
543
+ var b__7061 = cljs.core.chunk_buffer(size__5479__auto__);
544
+ if((function (){var i__7060 = (0);
729
545
  while(true){
730
- if((i__6951 < size__5479__auto__)){
731
- var x = cljs.core._nth(c__5478__auto__,i__6951);
732
- cljs.core.chunk_append(b__6952,(function (){var k = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));
546
+ if((i__7060 < size__5479__auto__)){
547
+ var x = cljs.core._nth(c__5478__auto__,i__7060);
548
+ cljs.core.chunk_append(b__7061,(function (){var k = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));
733
549
  var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
734
550
  return cljs.core.with_meta(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.grid_cell,k,workspace,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,active_key),zoomed_QMARK_,props], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),k], null));
735
551
  })());
736
552
 
737
- var G__7023 = (i__6951 + (1));
738
- i__6951 = G__7023;
553
+ var G__7089 = (i__7060 + (1));
554
+ i__7060 = G__7089;
739
555
  continue;
740
556
  } else {
741
557
  return true;
@@ -743,16 +559,16 @@ return true;
743
559
  break;
744
560
  }
745
561
  })()){
746
- return cljs.core.chunk_cons(cljs.core.chunk(b__6952),iris_layout$core$grid_canvas_$_iter__6941_$_iter__6949(cljs.core.chunk_rest(s__6950__$2)));
562
+ return cljs.core.chunk_cons(cljs.core.chunk(b__7061),iris_layout$core$grid_canvas_$_iter__7050_$_iter__7058(cljs.core.chunk_rest(s__7059__$2)));
747
563
  } else {
748
- return cljs.core.chunk_cons(cljs.core.chunk(b__6952),null);
564
+ return cljs.core.chunk_cons(cljs.core.chunk(b__7061),null);
749
565
  }
750
566
  } else {
751
- var x = cljs.core.first(s__6950__$2);
567
+ var x = cljs.core.first(s__7059__$2);
752
568
  return cljs.core.cons((function (){var k = iris_layout.core.pos_key(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,y], null));
753
569
  var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
754
570
  return cljs.core.with_meta(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.grid_cell,k,workspace,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,active_key),zoomed_QMARK_,props], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),k], null));
755
- })(),iris_layout$core$grid_canvas_$_iter__6941_$_iter__6949(cljs.core.rest(s__6950__$2)));
571
+ })(),iris_layout$core$grid_canvas_$_iter__7050_$_iter__7058(cljs.core.rest(s__7059__$2)));
756
572
  }
757
573
  } else {
758
574
  return null;
@@ -760,10 +576,10 @@ return null;
760
576
  break;
761
577
  }
762
578
  }),null,null));
763
- });})(y,s__6942__$2,temp__5804__auto__,active_key))
579
+ });})(y,s__7051__$2,temp__5804__auto__,active_key))
764
580
  ;
765
581
  return iter__5480__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(cols));
766
- })(),iris_layout$core$grid_canvas_$_iter__6941(cljs.core.rest(s__6942__$2)));
582
+ })(),iris_layout$core$grid_canvas_$_iter__7050(cljs.core.rest(s__7051__$2)));
767
583
  }
768
584
  } else {
769
585
  return null;
@@ -774,15 +590,15 @@ break;
774
590
  });
775
591
  return iter__5480__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(rows));
776
592
  });
777
- iris_layout.core.grid_gap = (32);
593
+ iris_layout.core.grid_gap = (16);
778
594
  /**
779
595
  * Compute the CSS transform style for the grid canvas camera.
780
596
  * Uses calc() to account for the gap between grid cells.
781
597
  */
782
598
  iris_layout.core.camera_style = (function iris_layout$core$camera_style(cols,rows,active_position,zoomed_QMARK_){
783
- var vec__6953 = active_position;
784
- var ax = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6953,(0),null);
785
- var ay = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6953,(1),null);
599
+ var vec__7062 = active_position;
600
+ var ax = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7062,(0),null);
601
+ var ay = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7062,(1),null);
786
602
  var scale = (cljs.core.truth_(zoomed_QMARK_)?((1) / (function (){var x__5087__auto__ = cols;
787
603
  var y__5088__auto__ = rows;
788
604
  return ((x__5087__auto__ > y__5088__auto__) ? x__5087__auto__ : y__5088__auto__);
@@ -802,6 +618,7 @@ iris_layout.core.grid_component = (function iris_layout$core$grid_component(_){
802
618
  var zoomed_out_QMARK_ = reagent.core.atom.cljs$core$IFn$_invoke$arity$1(false);
803
619
  var props_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
804
620
  var nav_drag_edge = reagent.core.atom.cljs$core$IFn$_invoke$arity$1(null);
621
+ var touch_nav_happened_QMARK_ = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);
805
622
  var handle_nav = (function (dir){
806
623
  return iris_layout.core.handle_grid_nav(dir,props_ref);
807
624
  });
@@ -812,8 +629,8 @@ cljs.core.reset_BANG_(zoomed_out_QMARK_,true);
812
629
  }
813
630
 
814
631
  if(cljs.core.truth_(e.altKey)){
815
- var dir = (function (){var G__6956 = e.key;
816
- switch (G__6956) {
632
+ var dir = (function (){var G__7065 = e.key;
633
+ switch (G__7065) {
817
634
  case "ArrowLeft":
818
635
  return new cljs.core.Keyword(null,"left","left",-399115937);
819
636
 
@@ -869,23 +686,76 @@ return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(old_dir,new_dir);
869
686
  return and__5000__auto__;
870
687
  }
871
688
  })())){
689
+ cljs.core.reset_BANG_(touch_nav_happened_QMARK_,true);
690
+
872
691
  return iris_layout.core.handle_grid_nav(new_dir,props_ref);
873
692
  } else {
874
693
  return null;
875
694
  }
876
695
  }));
877
696
 
878
- return (function (p__6957){
879
- var map__6958 = p__6957;
880
- var map__6958__$1 = cljs.core.__destructure_map(map__6958);
881
- var props = map__6958__$1;
882
- var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6958__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
883
- var active_position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6958__$1,new cljs.core.Keyword(null,"active-position","active-position",216604118));
697
+ cljs.core.add_watch(iris_layout.components.touch_drag.drop_result,new cljs.core.Keyword("iris-layout.core","grid-touch-drop","iris-layout.core/grid-touch-drop",-29835796),(function (___$1,___$2,___$3,drop_info){
698
+ if(cljs.core.truth_((function (){var and__5000__auto__ = drop_info;
699
+ if(cljs.core.truth_(and__5000__auto__)){
700
+ var and__5000__auto____$1 = cljs.core.not(new cljs.core.Keyword(null,"target-tile-id","target-tile-id",-1830903484).cljs$core$IFn$_invoke$arity$1(drop_info));
701
+ if(and__5000__auto____$1){
702
+ return cljs.core.deref(touch_nav_happened_QMARK_);
703
+ } else {
704
+ return and__5000__auto____$1;
705
+ }
706
+ } else {
707
+ return and__5000__auto__;
708
+ }
709
+ })())){
710
+ var map__7066_7091 = drop_info;
711
+ var map__7066_7092__$1 = cljs.core.__destructure_map(map__7066_7091);
712
+ var source_entity_id_7093 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7066_7092__$1,new cljs.core.Keyword(null,"source-entity-id","source-entity-id",-509281427));
713
+ var map__7067_7094 = cljs.core.deref(props_ref);
714
+ var map__7067_7095__$1 = cljs.core.__destructure_map(map__7067_7094);
715
+ var workspaces_7096 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7067_7095__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
716
+ var active_position_7097 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7067_7095__$1,new cljs.core.Keyword(null,"active-position","active-position",216604118));
717
+ var on_workspaces_change_7098 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7067_7095__$1,new cljs.core.Keyword(null,"on-workspaces-change","on-workspaces-change",1243137455));
718
+ var active_key_7099 = iris_layout.core.pos_key(active_position_7097);
719
+ if(cljs.core.truth_((function (){var and__5000__auto__ = source_entity_id_7093;
720
+ if(cljs.core.truth_(and__5000__auto__)){
721
+ return on_workspaces_change_7098;
722
+ } else {
723
+ return and__5000__auto__;
724
+ }
725
+ })())){
726
+ var new_tile_7100 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"tile","tile",758132866),new cljs.core.Keyword(null,"id","id",-1388402092),iris_layout.core.generate_id(),new cljs.core.Keyword(null,"entity-id","entity-id",1485898093),source_entity_id_7093], null);
727
+ var existing_layout_7101 = new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces_7096,active_key_7099));
728
+ var new_layout_7102 = (cljs.core.truth_(existing_layout_7101)?new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"split","split",-599435118),new cljs.core.Keyword(null,"id","id",-1388402092),iris_layout.core.generate_id(),new cljs.core.Keyword(null,"direction","direction",-633359395),new cljs.core.Keyword(null,"horizontal","horizontal",2062109475),new cljs.core.Keyword(null,"ratio","ratio",-926560044),0.5,new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [existing_layout_7101,new_tile_7100], null)], null):new_tile_7100);
729
+ var updated_7103 = cljs.core.reduce_kv((function (acc,ws_key,ws_data){
730
+ if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ws_key,active_key_7099)){
731
+ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,ws_key,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"layout","layout",-2120940921),new_layout_7102], null));
732
+ } else {
733
+ var cleaned = iris_layout.layout.remove_entity_from_layout(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(ws_data),source_entity_id_7093);
734
+ return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,ws_key,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"layout","layout",-2120940921),cleaned], null));
735
+ }
736
+ }),cljs.core.PersistentArrayMap.EMPTY,workspaces_7096);
737
+ (on_workspaces_change_7098.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_change_7098.cljs$core$IFn$_invoke$arity$1(updated_7103) : on_workspaces_change_7098.call(null,updated_7103));
738
+ } else {
739
+ }
740
+
741
+ cljs.core.reset_BANG_(iris_layout.components.touch_drag.drop_result,null);
742
+ } else {
743
+ }
744
+
745
+ return cljs.core.reset_BANG_(touch_nav_happened_QMARK_,false);
746
+ }));
747
+
748
+ return (function (p__7068){
749
+ var map__7069 = p__7068;
750
+ var map__7069__$1 = cljs.core.__destructure_map(map__7069);
751
+ var props = map__7069__$1;
752
+ var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7069__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
753
+ var active_position = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7069__$1,new cljs.core.Keyword(null,"active-position","active-position",216604118));
884
754
  cljs.core.reset_BANG_(props_ref,props);
885
755
 
886
- var vec__6959 = iris_layout.core.grid_dimensions(workspaces);
887
- var cols = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6959,(0),null);
888
- var rows = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6959,(1),null);
756
+ var vec__7070 = iris_layout.core.grid_dimensions(workspaces);
757
+ var cols = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7070,(0),null);
758
+ var rows = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7070,(1),null);
889
759
  var zoomed_QMARK_ = cljs.core.deref(zoomed_out_QMARK_);
890
760
  var dragging_QMARK_ = (function (){var or__5002__auto__ = cljs.core.deref(iris_layout.components.entity_tile.drag_source_tile);
891
761
  if(cljs.core.truth_(or__5002__auto__)){
@@ -902,13 +772,13 @@ return or__5002__auto__;
902
772
  return iris_layout.core.can_navigate_QMARK_(dir,workspaces,active_position);
903
773
  }
904
774
  });
905
- return new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-grid-viewport",(cljs.core.truth_(zoomed_QMARK_)?" iris-grid-zoomed":null)].join('')], null),iris_layout.core.nav_edge_hiccup("iris-nav-left","\u2039",vis_QMARK_(new cljs.core.Keyword(null,"left","left",-399115937)),(function (){
775
+ return new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",-2030961996),["iris-grid-viewport",(cljs.core.truth_(zoomed_QMARK_)?" iris-grid-zoomed":null)].join('')], null),iris_layout.core.nav_edge_hiccup("iris-nav-left",vis_QMARK_(new cljs.core.Keyword(null,"left","left",-399115937)),(function (){
906
776
  return handle_nav(new cljs.core.Keyword(null,"left","left",-399115937));
907
- }),new cljs.core.Keyword(null,"left","left",-399115937),props_ref,nav_drag_edge),iris_layout.core.nav_edge_hiccup("iris-nav-right","\u203A",vis_QMARK_(new cljs.core.Keyword(null,"right","right",-452581833)),(function (){
777
+ }),new cljs.core.Keyword(null,"left","left",-399115937),props_ref,nav_drag_edge),iris_layout.core.nav_edge_hiccup("iris-nav-right",vis_QMARK_(new cljs.core.Keyword(null,"right","right",-452581833)),(function (){
908
778
  return handle_nav(new cljs.core.Keyword(null,"right","right",-452581833));
909
- }),new cljs.core.Keyword(null,"right","right",-452581833),props_ref,nav_drag_edge),iris_layout.core.nav_edge_hiccup("iris-nav-top","\u2039",vis_QMARK_(new cljs.core.Keyword(null,"up","up",-269712113)),(function (){
779
+ }),new cljs.core.Keyword(null,"right","right",-452581833),props_ref,nav_drag_edge),iris_layout.core.nav_edge_hiccup("iris-nav-top",vis_QMARK_(new cljs.core.Keyword(null,"up","up",-269712113)),(function (){
910
780
  return handle_nav(new cljs.core.Keyword(null,"up","up",-269712113));
911
- }),new cljs.core.Keyword(null,"up","up",-269712113),props_ref,nav_drag_edge),iris_layout.core.nav_edge_hiccup("iris-nav-bottom","\u203A",vis_QMARK_(new cljs.core.Keyword(null,"down","down",1565245570)),(function (){
781
+ }),new cljs.core.Keyword(null,"up","up",-269712113),props_ref,nav_drag_edge),iris_layout.core.nav_edge_hiccup("iris-nav-bottom",vis_QMARK_(new cljs.core.Keyword(null,"down","down",1565245570)),(function (){
912
782
  return handle_nav(new cljs.core.Keyword(null,"down","down",1565245570));
913
783
  }),new cljs.core.Keyword(null,"down","down",1565245570),props_ref,nav_drag_edge),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-grid-center","div.iris-grid-center",-1512396212),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-grid-canvas","div.iris-grid-canvas",796232451),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"style","style",-496642736),iris_layout.core.camera_style(cols,rows,active_position,zoomed_QMARK_)], null),iris_layout.core.grid_canvas(cols,rows,workspaces,active_position,zoomed_QMARK_,props)], null)], null)], null);
914
784
  });
@@ -919,10 +789,10 @@ return handle_nav(new cljs.core.Keyword(null,"down","down",1565245570));
919
789
  iris_layout.core.js__GT_workspaces = (function iris_layout$core$js__GT_workspaces(js_obj){
920
790
  if(cljs.core.truth_(js_obj)){
921
791
  var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(js_obj);
922
- return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__6962){
923
- var vec__6963 = p__6962;
924
- var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6963,(0),null);
925
- var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6963,(1),null);
792
+ return cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__7073){
793
+ var vec__7074 = p__7073;
794
+ var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7074,(0),null);
795
+ var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7074,(1),null);
926
796
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"layout","layout",-2120940921),iris_layout.core.js__GT_layout(cljs.core.get.cljs$core$IFn$_invoke$arity$2(v,"layout"))], null)], null);
927
797
  })),obj);
928
798
  } else {
@@ -933,440 +803,74 @@ return null;
933
803
  * Convert CLJS workspaces map to JS object.
934
804
  */
935
805
  iris_layout.core.workspaces__GT_js = (function iris_layout$core$workspaces__GT_js(workspaces){
936
- return cljs.core.clj__GT_js(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__6966){
937
- var vec__6967 = p__6966;
938
- var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6967,(0),null);
939
- var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6967,(1),null);
806
+ return cljs.core.clj__GT_js(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p__7077){
807
+ var vec__7078 = p__7077;
808
+ var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7078,(0),null);
809
+ var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7078,(1),null);
940
810
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentArrayMap(null, 1, ["layout",iris_layout.core.layout__GT_js(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(v))], null)], null);
941
811
  })),workspaces));
942
812
  });
943
813
  /**
944
814
  * Wrapper that converts JS props to CLJS for grid-component.
945
815
  */
946
- iris_layout.core.grid_wrapper = (function iris_layout$core$grid_wrapper(p__6970){
947
- var map__6971 = p__6970;
948
- var map__6971__$1 = cljs.core.__destructure_map(map__6971);
949
- var onActivePositionChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"onActivePositionChange","onActivePositionChange",797492763));
950
- var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
951
- var activeEntity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"activeEntity","activeEntity",1254491677));
952
- var onWorkspacesChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"onWorkspacesChange","onWorkspacesChange",296638817));
953
- var activePosition = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"activePosition","activePosition",1670942342));
954
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
955
- var onEntityClose = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"onEntityClose","onEntityClose",-1093856051));
956
- var renderEntityTile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"renderEntityTile","renderEntityTile",-762182701));
957
- var onActiveEntityChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6971__$1,new cljs.core.Keyword(null,"onActiveEntityChange","onActiveEntityChange",-856952332));
816
+ iris_layout.core.grid_wrapper = (function iris_layout$core$grid_wrapper(p__7081){
817
+ var map__7082 = p__7081;
818
+ var map__7082__$1 = cljs.core.__destructure_map(map__7082);
819
+ var onActivePositionChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"onActivePositionChange","onActivePositionChange",797492763));
820
+ var workspaces = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"workspaces","workspaces",168825563));
821
+ var activeEntity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"activeEntity","activeEntity",1254491677));
822
+ var onWorkspacesChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"onWorkspacesChange","onWorkspacesChange",296638817));
823
+ var activePosition = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"activePosition","activePosition",1670942342));
824
+ var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
825
+ var onEntityClose = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"onEntityClose","onEntityClose",-1093856051));
826
+ var renderEntityTile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"renderEntityTile","renderEntityTile",-762182701));
827
+ var onActiveEntityChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7082__$1,new cljs.core.Keyword(null,"onActiveEntityChange","onActiveEntityChange",-856952332));
958
828
  return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.grid_component,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677),new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),new cljs.core.Keyword(null,"entities","entities",1940967403),new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276),new cljs.core.Keyword(null,"on-workspaces-change","on-workspaces-change",1243137455),new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),new cljs.core.Keyword(null,"on-active-position-change","on-active-position-change",2098486068),new cljs.core.Keyword(null,"active-position","active-position",216604118),new cljs.core.Keyword(null,"workspaces","workspaces",168825563)],[onActiveEntityChange,activeEntity,iris_layout.core.js__GT_entities(entities),renderEntityTile,(cljs.core.truth_(onWorkspacesChange)?(function (new_workspaces){
959
- var G__6972 = iris_layout.core.workspaces__GT_js(new_workspaces);
960
- return (onWorkspacesChange.cljs$core$IFn$_invoke$arity$1 ? onWorkspacesChange.cljs$core$IFn$_invoke$arity$1(G__6972) : onWorkspacesChange.call(null,G__6972));
829
+ var G__7083 = iris_layout.core.workspaces__GT_js(new_workspaces);
830
+ return (onWorkspacesChange.cljs$core$IFn$_invoke$arity$1 ? onWorkspacesChange.cljs$core$IFn$_invoke$arity$1(G__7083) : onWorkspacesChange.call(null,G__7083));
961
831
  }):null),onEntityClose,(cljs.core.truth_(onActivePositionChange)?(function (new_pos){
962
- var G__6973 = cljs.core.clj__GT_js(new_pos);
963
- return (onActivePositionChange.cljs$core$IFn$_invoke$arity$1 ? onActivePositionChange.cljs$core$IFn$_invoke$arity$1(G__6973) : onActivePositionChange.call(null,G__6973));
832
+ var G__7084 = cljs.core.clj__GT_js(new_pos);
833
+ return (onActivePositionChange.cljs$core$IFn$_invoke$arity$1 ? onActivePositionChange.cljs$core$IFn$_invoke$arity$1(G__7084) : onActivePositionChange.call(null,G__7084));
964
834
  }):null),cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(activePosition),iris_layout.core.js__GT_workspaces(workspaces)])], null);
965
835
  });
966
836
  /**
967
- * Remove an entity from a specific stage. If the stage becomes empty, remove it.
968
- * Returns [updated-stages removed-stage-empty?].
969
- */
970
- iris_layout.core.remove_entity_from_stages = (function iris_layout$core$remove_entity_from_stages(stages,source_stage_id,entity_id){
971
- var source_stage = cljs.core.first(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__6974_SHARP_){
972
- return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__6974_SHARP_),source_stage_id);
973
- }),stages));
974
- var new_layout = (cljs.core.truth_(source_stage)?iris_layout.layout.remove_entity_from_layout(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(source_stage),entity_id):null);
975
- var empty_QMARK_ = (new_layout == null);
976
- return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((empty_QMARK_)?cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__6975_SHARP_){
977
- return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(p1__6975_SHARP_),source_stage_id);
978
- }),stages)):cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (s){
979
- if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),source_stage_id)){
980
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(s,new cljs.core.Keyword(null,"layout","layout",-2120940921),new_layout);
981
- } else {
982
- return s;
983
- }
984
- }),stages)),empty_QMARK_], null);
985
- });
986
- /**
987
- * Sidebar — renders a list of stage cards with drag-drop support.
837
+ * A 2D tiling workspace grid for React.
988
838
  *
989
- * Features:
990
- * - Click a card to switch active stage
991
- * - Click an entity card to focus it
992
- * - Close button removes entity from stage (empty stage is removed)
993
- * - Drag entity cards between groups to move them
994
- * - Drag entity cards to empty sidebar area to create a new group
839
+ * Renders an infinite grid of workspaces navigated by arrow clicks or
840
+ * Alt+Arrow keys. Each workspace contains a resizable, drag-and-drop
841
+ * tile layout. Hold Alt to zoom out and see the full grid overview.
995
842
  *
996
- * Props (received as CLJS map after wrapper conversion):
997
- * :stages - vector of stage maps
998
- * :active-stage - active stage ID
999
- * :active-entity - focused entity ID
1000
- * :entities - entity data map
1001
- * :render-entity-card - React component for entity card content
1002
- * :on-stages-change - fn(stages) for layout mutations
1003
- * :on-active-stage-change - fn(stage-id) for stage switches
1004
- * :on-active-entity-change - fn(entity-id) for entity focus
1005
- * :on-entity-close - (optional) fn(stage-id, entity-id) side-effect hook called on close
1006
- */
1007
- iris_layout.core.sidebar_component = (function iris_layout$core$sidebar_component(_){
1008
- var drag_over = reagent.core.atom.cljs$core$IFn$_invoke$arity$1(false);
1009
- return (function (p__6977){
1010
- var map__6978 = p__6977;
1011
- var map__6978__$1 = cljs.core.__destructure_map(map__6978);
1012
- var on_active_stage_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"on-active-stage-change","on-active-stage-change",-824015015));
1013
- var on_active_entity_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677));
1014
- var active_entity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476));
1015
- var stages = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"stages","stages",-442109532));
1016
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
1017
- var active_stage = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"active-stage","active-stage",-1878042516));
1018
- var render_entity_card = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"render-entity-card","render-entity-card",-1800863856));
1019
- var on_stages_change = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"on-stages-change","on-stages-change",870787057));
1020
- var on_entity_close = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__6978__$1,new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801));
1021
- return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-sidebar","div.iris-sidebar",1952885681),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"class","class",-2030961996),(cljs.core.truth_(cljs.core.deref(drag_over))?"iris-sidebar-drag-over":null),new cljs.core.Keyword(null,"on-drag-over","on-drag-over",-93410408),(function (e){
1022
- e.preventDefault();
1023
-
1024
- return cljs.core.reset_BANG_(drag_over,true);
1025
- }),new cljs.core.Keyword(null,"on-drag-enter","on-drag-enter",-1692112235),(function (e){
1026
- return e.preventDefault();
1027
- }),new cljs.core.Keyword(null,"on-drag-leave","on-drag-leave",-373180078),(function (e){
1028
- if(cljs.core.not(e.currentTarget.contains(e.relatedTarget))){
1029
- return cljs.core.reset_BANG_(drag_over,false);
1030
- } else {
1031
- return null;
1032
- }
1033
- }),new cljs.core.Keyword(null,"on-drop","on-drop",1867868491),(function (e){
1034
- e.preventDefault();
1035
-
1036
- cljs.core.reset_BANG_(drag_over,false);
1037
-
1038
- var raw = e.dataTransfer.getData("text/plain");
1039
- try{var data = JSON.parse(raw);
1040
- if(cljs.core.truth_((function (){var and__5000__auto__ = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(data.source,"sidebar");
1041
- if(and__5000__auto__){
1042
- var and__5000__auto____$1 = data.entityId;
1043
- if(cljs.core.truth_(and__5000__auto____$1)){
1044
- var and__5000__auto____$2 = data.stageId;
1045
- if(cljs.core.truth_(and__5000__auto____$2)){
1046
- return on_stages_change;
1047
- } else {
1048
- return and__5000__auto____$2;
1049
- }
1050
- } else {
1051
- return and__5000__auto____$1;
1052
- }
1053
- } else {
1054
- return and__5000__auto__;
1055
- }
1056
- })())){
1057
- var entity_id = data.entityId;
1058
- var source_stage_id = data.stageId;
1059
- var vec__6980 = iris_layout.core.remove_entity_from_stages(stages,source_stage_id,entity_id);
1060
- var updated = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6980,(0),null);
1061
- var ___$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6980,(1),null);
1062
- var new_stage_id = iris_layout.core.generate_id();
1063
- var new_stage = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"id","id",-1388402092),new_stage_id,new cljs.core.Keyword(null,"label","label",1718410804),(function (){var or__5002__auto__ = new cljs.core.Keyword(null,"name","name",1843675177).cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(entities,entity_id));
1064
- if(cljs.core.truth_(or__5002__auto__)){
1065
- return or__5002__auto__;
1066
- } else {
1067
- return "New Stage";
1068
- }
1069
- })(),new cljs.core.Keyword(null,"layout","layout",-2120940921),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"type","type",1174270348),new cljs.core.Keyword(null,"tile","tile",758132866),new cljs.core.Keyword(null,"id","id",-1388402092),iris_layout.core.generate_id(),new cljs.core.Keyword(null,"entity-id","entity-id",1485898093),entity_id], null)], null);
1070
- var G__6983_7025 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(updated,new_stage);
1071
- (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(G__6983_7025) : on_stages_change.call(null,G__6983_7025));
1072
-
1073
- if(cljs.core.truth_(on_active_stage_change)){
1074
- return (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(new_stage_id) : on_active_stage_change.call(null,new_stage_id));
1075
- } else {
1076
- return null;
1077
- }
1078
- } else {
1079
- return null;
1080
- }
1081
- }catch (e6979){var ___$1 = e6979;
1082
- return null;
1083
- }})], null),(function (){var iter__5480__auto__ = (function iris_layout$core$sidebar_component_$_iter__6984(s__6985){
1084
- return (new cljs.core.LazySeq(null,(function (){
1085
- var s__6985__$1 = s__6985;
1086
- while(true){
1087
- var temp__5804__auto__ = cljs.core.seq(s__6985__$1);
1088
- if(temp__5804__auto__){
1089
- var s__6985__$2 = temp__5804__auto__;
1090
- if(cljs.core.chunked_seq_QMARK_(s__6985__$2)){
1091
- var c__5478__auto__ = cljs.core.chunk_first(s__6985__$2);
1092
- var size__5479__auto__ = cljs.core.count(c__5478__auto__);
1093
- var b__6987 = cljs.core.chunk_buffer(size__5479__auto__);
1094
- if((function (){var i__6986 = (0);
1095
- while(true){
1096
- if((i__6986 < size__5479__auto__)){
1097
- var stage = cljs.core._nth(c__5478__auto__,i__6986);
1098
- cljs.core.chunk_append(b__6987,cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.components.entity_card_group.entity_card_group_component,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"active?","active?",459499776),new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),new cljs.core.Keyword(null,"stage","stage",1843544772),new cljs.core.Keyword(null,"on-entity-drop","on-entity-drop",1947407015),new cljs.core.Keyword(null,"entities","entities",1940967403),new cljs.core.Keyword(null,"on-click","on-click",1632826543),new cljs.core.Keyword(null,"render-entity-card","render-entity-card",-1800863856),new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),new cljs.core.Keyword(null,"on-entity-click","on-entity-click",2106101276)],[cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),active_stage),active_entity,stage,((function (i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1099
- return (function (entity_id,source_stage_id){
1100
- if(cljs.core.truth_(on_stages_change)){
1101
- var vec__6988 = iris_layout.core.remove_entity_from_stages(stages,source_stage_id,entity_id);
1102
- var updated = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6988,(0),null);
1103
- var source_empty_QMARK_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6988,(1),null);
1104
- var updated__$1 = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(((function (i__6986,vec__6988,updated,source_empty_QMARK_,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1105
- return (function (s){
1106
- if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage))){
1107
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(s,new cljs.core.Keyword(null,"layout","layout",-2120940921),iris_layout.layout.append_entity(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(s),entity_id,iris_layout.core.generate_id(),iris_layout.core.generate_id()));
1108
- } else {
1109
- return s;
1110
- }
1111
- });})(i__6986,vec__6988,updated,source_empty_QMARK_,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1112
- ,updated);
1113
- (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(updated__$1) : on_stages_change.call(null,updated__$1));
1114
-
1115
- if(cljs.core.truth_((function (){var and__5000__auto__ = source_empty_QMARK_;
1116
- if(cljs.core.truth_(and__5000__auto__)){
1117
- var and__5000__auto____$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(active_stage,source_stage_id);
1118
- if(and__5000__auto____$1){
1119
- return on_active_stage_change;
1120
- } else {
1121
- return and__5000__auto____$1;
1122
- }
1123
- } else {
1124
- return and__5000__auto__;
1125
- }
1126
- })())){
1127
- var G__6991 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage);
1128
- return (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(G__6991) : on_active_stage_change.call(null,G__6991));
1129
- } else {
1130
- return null;
1131
- }
1132
- } else {
1133
- return null;
1134
- }
1135
- });})(i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1136
- ,entities,((function (i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1137
- return (function (){
1138
- if(cljs.core.truth_(on_active_stage_change)){
1139
- var G__6992 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage);
1140
- return (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(G__6992) : on_active_stage_change.call(null,G__6992));
1141
- } else {
1142
- return null;
1143
- }
1144
- });})(i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1145
- ,render_entity_card,((function (i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1146
- return (function (entity_id){
1147
- if(cljs.core.truth_(on_stages_change)){
1148
- var vec__6993_7026 = iris_layout.core.remove_entity_from_stages(stages,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),entity_id);
1149
- var updated_7027 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6993_7026,(0),null);
1150
- var empty_QMARK__7028 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6993_7026,(1),null);
1151
- (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(updated_7027) : on_stages_change.call(null,updated_7027));
1152
-
1153
- if(cljs.core.truth_((function (){var and__5000__auto__ = empty_QMARK__7028;
1154
- if(cljs.core.truth_(and__5000__auto__)){
1155
- var and__5000__auto____$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(active_stage,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage));
1156
- if(and__5000__auto____$1){
1157
- var and__5000__auto____$2 = on_active_stage_change;
1158
- if(cljs.core.truth_(and__5000__auto____$2)){
1159
- return cljs.core.seq(updated_7027);
1160
- } else {
1161
- return and__5000__auto____$2;
1162
- }
1163
- } else {
1164
- return and__5000__auto____$1;
1165
- }
1166
- } else {
1167
- return and__5000__auto__;
1168
- }
1169
- })())){
1170
- var G__6996_7029 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(cljs.core.first(updated_7027));
1171
- (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(G__6996_7029) : on_active_stage_change.call(null,G__6996_7029));
1172
- } else {
1173
- }
1174
- } else {
1175
- }
1176
-
1177
- if(cljs.core.truth_(on_entity_close)){
1178
- var G__6997 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage);
1179
- var G__6998 = entity_id;
1180
- return (on_entity_close.cljs$core$IFn$_invoke$arity$2 ? on_entity_close.cljs$core$IFn$_invoke$arity$2(G__6997,G__6998) : on_entity_close.call(null,G__6997,G__6998));
1181
- } else {
1182
- return null;
1183
- }
1184
- });})(i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1185
- ,((function (i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1186
- return (function (p1__6976_SHARP_){
1187
- if(cljs.core.truth_(on_active_entity_change)){
1188
- return (on_active_entity_change.cljs$core$IFn$_invoke$arity$1 ? on_active_entity_change.cljs$core$IFn$_invoke$arity$1(p1__6976_SHARP_) : on_active_entity_change.call(null,p1__6976_SHARP_));
1189
- } else {
1190
- return null;
1191
- }
1192
- });})(i__6986,stage,c__5478__auto__,size__5479__auto__,b__6987,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1193
- ])], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage)], null)));
1194
-
1195
- var G__7030 = (i__6986 + (1));
1196
- i__6986 = G__7030;
1197
- continue;
1198
- } else {
1199
- return true;
1200
- }
1201
- break;
1202
- }
1203
- })()){
1204
- return cljs.core.chunk_cons(cljs.core.chunk(b__6987),iris_layout$core$sidebar_component_$_iter__6984(cljs.core.chunk_rest(s__6985__$2)));
1205
- } else {
1206
- return cljs.core.chunk_cons(cljs.core.chunk(b__6987),null);
1207
- }
1208
- } else {
1209
- var stage = cljs.core.first(s__6985__$2);
1210
- return cljs.core.cons(cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.components.entity_card_group.entity_card_group_component,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"active?","active?",459499776),new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),new cljs.core.Keyword(null,"stage","stage",1843544772),new cljs.core.Keyword(null,"on-entity-drop","on-entity-drop",1947407015),new cljs.core.Keyword(null,"entities","entities",1940967403),new cljs.core.Keyword(null,"on-click","on-click",1632826543),new cljs.core.Keyword(null,"render-entity-card","render-entity-card",-1800863856),new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),new cljs.core.Keyword(null,"on-entity-click","on-entity-click",2106101276)],[cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),active_stage),active_entity,stage,((function (stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1211
- return (function (entity_id,source_stage_id){
1212
- if(cljs.core.truth_(on_stages_change)){
1213
- var vec__6999 = iris_layout.core.remove_entity_from_stages(stages,source_stage_id,entity_id);
1214
- var updated = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6999,(0),null);
1215
- var source_empty_QMARK_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__6999,(1),null);
1216
- var updated__$1 = cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (s){
1217
- if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(s),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage))){
1218
- return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(s,new cljs.core.Keyword(null,"layout","layout",-2120940921),iris_layout.layout.append_entity(new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(s),entity_id,iris_layout.core.generate_id(),iris_layout.core.generate_id()));
1219
- } else {
1220
- return s;
1221
- }
1222
- }),updated);
1223
- (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(updated__$1) : on_stages_change.call(null,updated__$1));
1224
-
1225
- if(cljs.core.truth_((function (){var and__5000__auto__ = source_empty_QMARK_;
1226
- if(cljs.core.truth_(and__5000__auto__)){
1227
- var and__5000__auto____$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(active_stage,source_stage_id);
1228
- if(and__5000__auto____$1){
1229
- return on_active_stage_change;
1230
- } else {
1231
- return and__5000__auto____$1;
1232
- }
1233
- } else {
1234
- return and__5000__auto__;
1235
- }
1236
- })())){
1237
- var G__7002 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage);
1238
- return (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(G__7002) : on_active_stage_change.call(null,G__7002));
1239
- } else {
1240
- return null;
1241
- }
1242
- } else {
1243
- return null;
1244
- }
1245
- });})(stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1246
- ,entities,((function (stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1247
- return (function (){
1248
- if(cljs.core.truth_(on_active_stage_change)){
1249
- var G__7003 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage);
1250
- return (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(G__7003) : on_active_stage_change.call(null,G__7003));
1251
- } else {
1252
- return null;
1253
- }
1254
- });})(stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1255
- ,render_entity_card,((function (stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1256
- return (function (entity_id){
1257
- if(cljs.core.truth_(on_stages_change)){
1258
- var vec__7004_7031 = iris_layout.core.remove_entity_from_stages(stages,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage),entity_id);
1259
- var updated_7032 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7004_7031,(0),null);
1260
- var empty_QMARK__7033 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7004_7031,(1),null);
1261
- (on_stages_change.cljs$core$IFn$_invoke$arity$1 ? on_stages_change.cljs$core$IFn$_invoke$arity$1(updated_7032) : on_stages_change.call(null,updated_7032));
1262
-
1263
- if(cljs.core.truth_((function (){var and__5000__auto__ = empty_QMARK__7033;
1264
- if(cljs.core.truth_(and__5000__auto__)){
1265
- var and__5000__auto____$1 = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(active_stage,new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage));
1266
- if(and__5000__auto____$1){
1267
- var and__5000__auto____$2 = on_active_stage_change;
1268
- if(cljs.core.truth_(and__5000__auto____$2)){
1269
- return cljs.core.seq(updated_7032);
1270
- } else {
1271
- return and__5000__auto____$2;
1272
- }
1273
- } else {
1274
- return and__5000__auto____$1;
1275
- }
1276
- } else {
1277
- return and__5000__auto__;
1278
- }
1279
- })())){
1280
- var G__7007_7034 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(cljs.core.first(updated_7032));
1281
- (on_active_stage_change.cljs$core$IFn$_invoke$arity$1 ? on_active_stage_change.cljs$core$IFn$_invoke$arity$1(G__7007_7034) : on_active_stage_change.call(null,G__7007_7034));
1282
- } else {
1283
- }
1284
- } else {
1285
- }
1286
-
1287
- if(cljs.core.truth_(on_entity_close)){
1288
- var G__7008 = new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage);
1289
- var G__7009 = entity_id;
1290
- return (on_entity_close.cljs$core$IFn$_invoke$arity$2 ? on_entity_close.cljs$core$IFn$_invoke$arity$2(G__7008,G__7009) : on_entity_close.call(null,G__7008,G__7009));
1291
- } else {
1292
- return null;
1293
- }
1294
- });})(stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1295
- ,((function (stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over){
1296
- return (function (p1__6976_SHARP_){
1297
- if(cljs.core.truth_(on_active_entity_change)){
1298
- return (on_active_entity_change.cljs$core$IFn$_invoke$arity$1 ? on_active_entity_change.cljs$core$IFn$_invoke$arity$1(p1__6976_SHARP_) : on_active_entity_change.call(null,p1__6976_SHARP_));
1299
- } else {
1300
- return null;
1301
- }
1302
- });})(stage,s__6985__$2,temp__5804__auto__,map__6978,map__6978__$1,on_active_stage_change,on_active_entity_change,active_entity,stages,entities,active_stage,render_entity_card,on_stages_change,on_entity_close,drag_over))
1303
- ])], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"key","key",-1516042587),new cljs.core.Keyword(null,"id","id",-1388402092).cljs$core$IFn$_invoke$arity$1(stage)], null)),iris_layout$core$sidebar_component_$_iter__6984(cljs.core.rest(s__6985__$2)));
1304
- }
1305
- } else {
1306
- return null;
1307
- }
1308
- break;
1309
- }
1310
- }),null,null));
1311
- });
1312
- return iter__5480__auto__(stages);
1313
- })()], null);
1314
- });
1315
- });
1316
- /**
1317
- * Wrapper that converts JS props to CLJS for body-component.
1318
- */
1319
- iris_layout.core.body_wrapper = (function iris_layout$core$body_wrapper(p__7010){
1320
- var map__7011 = p__7010;
1321
- var map__7011__$1 = cljs.core.__destructure_map(map__7011);
1322
- var activeEntity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"activeEntity","activeEntity",1254491677));
1323
- var activeStage = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"activeStage","activeStage",1509902625));
1324
- var stages = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"stages","stages",-442109532));
1325
- var onActiveStageChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"onActiveStageChange","onActiveStageChange",-1295769339));
1326
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
1327
- var onEntityClose = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"onEntityClose","onEntityClose",-1093856051));
1328
- var renderEntityTile = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"renderEntityTile","renderEntityTile",-762182701));
1329
- var onActiveEntityChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"onActiveEntityChange","onActiveEntityChange",-856952332));
1330
- var onStagesChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7011__$1,new cljs.core.Keyword(null,"onStagesChange","onStagesChange",-1419598601));
1331
- return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.body_component,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677),new cljs.core.Keyword(null,"stages","stages",-442109532),new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),new cljs.core.Keyword(null,"entities","entities",1940967403),new cljs.core.Keyword(null,"active-stage","active-stage",-1878042516),new cljs.core.Keyword(null,"render-entity-tile","render-entity-tile",183319276),new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),new cljs.core.Keyword(null,"on-stages-change","on-stages-change",870787057),new cljs.core.Keyword(null,"on-active-stage-change","on-active-stage-change",-824015015)],[onActiveEntityChange,iris_layout.core.js__GT_stages(stages),activeEntity,iris_layout.core.js__GT_entities(entities),activeStage,renderEntityTile,onEntityClose,(cljs.core.truth_(onStagesChange)?(function (new_stages){
1332
- var G__7012 = iris_layout.core.stages__GT_js(new_stages);
1333
- return (onStagesChange.cljs$core$IFn$_invoke$arity$1 ? onStagesChange.cljs$core$IFn$_invoke$arity$1(G__7012) : onStagesChange.call(null,G__7012));
1334
- }):null),onActiveStageChange])], null);
1335
- });
1336
- /**
1337
- * Wrapper that converts JS props to CLJS for sidebar-component.
1338
- */
1339
- iris_layout.core.sidebar_wrapper = (function iris_layout$core$sidebar_wrapper(p__7013){
1340
- var map__7014 = p__7013;
1341
- var map__7014__$1 = cljs.core.__destructure_map(map__7014);
1342
- var activeEntity = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"activeEntity","activeEntity",1254491677));
1343
- var activeStage = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"activeStage","activeStage",1509902625));
1344
- var stages = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"stages","stages",-442109532));
1345
- var renderEntityCard = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"renderEntityCard","renderEntityCard",-810161403));
1346
- var onActiveStageChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"onActiveStageChange","onActiveStageChange",-1295769339));
1347
- var entities = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"entities","entities",1940967403));
1348
- var onEntityClose = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"onEntityClose","onEntityClose",-1093856051));
1349
- var onActiveEntityChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"onActiveEntityChange","onActiveEntityChange",-856952332));
1350
- var onStagesChange = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__7014__$1,new cljs.core.Keyword(null,"onStagesChange","onStagesChange",-1419598601));
1351
- return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [iris_layout.core.sidebar_component,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"on-active-entity-change","on-active-entity-change",-895471677),new cljs.core.Keyword(null,"stages","stages",-442109532),new cljs.core.Keyword(null,"active-entity","active-entity",-1726204476),new cljs.core.Keyword(null,"entities","entities",1940967403),new cljs.core.Keyword(null,"active-stage","active-stage",-1878042516),new cljs.core.Keyword(null,"render-entity-card","render-entity-card",-1800863856),new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),new cljs.core.Keyword(null,"on-stages-change","on-stages-change",870787057),new cljs.core.Keyword(null,"on-active-stage-change","on-active-stage-change",-824015015)],[onActiveEntityChange,iris_layout.core.js__GT_stages(stages),activeEntity,iris_layout.core.js__GT_entities(entities),activeStage,renderEntityCard,onEntityClose,(cljs.core.truth_(onStagesChange)?(function (new_stages){
1352
- var G__7015 = iris_layout.core.stages__GT_js(new_stages);
1353
- return (onStagesChange.cljs$core$IFn$_invoke$arity$1 ? onStagesChange.cljs$core$IFn$_invoke$arity$1(G__7015) : onStagesChange.call(null,G__7015));
1354
- }):null),onActiveStageChange])], null);
1355
- });
1356
- /**
1357
- * React component — stage list with draggable entity cards.
1358
- * See namespace docstring for full props specification.
1359
- */
1360
- iris_layout.core.Sidebar = reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1(iris_layout.core.sidebar_wrapper);
1361
- /**
1362
- * React component — layout surface with resizable, rearrangeable entity tiles.
1363
- * See namespace docstring for full props specification.
1364
- */
1365
- iris_layout.core.Body = reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1(iris_layout.core.body_wrapper);
1366
- /**
1367
- * React component — 2D workspace grid with Alt+Arrow navigation.
1368
- * Workspaces are addressed by [x,y] coordinates in an infinite grid.
843
+ * Props (camelCase JS object):
844
+ *
845
+ * workspaces - Object keyed by 'x,y' position strings.
846
+ * Each value: { layout: LayoutNode }
847
+ * LayoutNode is either:
848
+ * { type: 'tile', id, entityId }
849
+ * { type: 'split', id, direction: 'horizontal'|'vertical',
850
+ * ratio: 0-1, children: [LayoutNode, LayoutNode] }
851
+ *
852
+ * activePosition - [x, y] array which workspace is visible.
853
+ *
854
+ * activeEntity - Entity ID string of the focused tile (or null).
855
+ *
856
+ * entities - Object keyed by entity ID.
857
+ * Each value: { id, name, ... } (your domain data).
858
+ *
859
+ * renderEntityTile - React component rendered inside each tile.
860
+ * Receives the entity object as props.
861
+ *
862
+ * onWorkspacesChange - fn(workspaces) — called on layout mutations
863
+ * (splits, closes, resizes, cross-workspace drags).
864
+ *
865
+ * onActivePositionChange - fn([x, y]) — called when navigating between workspaces.
866
+ *
867
+ * onActiveEntityChange - fn(entityId) — called when a tile gains focus.
868
+ *
869
+ * onEntityClose - fn(entityId) — optional hook when a tile is closed.
870
+ *
871
+ * CSS: import '@p4ulcristian/iris-layout/styles.css'
872
+ * Customize gap: set --iris-grid-gap on a parent element.
1369
873
  */
1370
- iris_layout.core.Grid = reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1(iris_layout.core.grid_wrapper);
874
+ iris_layout.core.IrisLayout = reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1(iris_layout.core.grid_wrapper);
1371
875
 
1372
876
  //# sourceMappingURL=iris_layout.core.js.map