@p4ulcristian/iris-layout 0.2.10 → 0.2.12
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.
- package/dist/iris-layout.js +80 -56
- package/dist/styles.css +253 -2
- package/package.json +1 -1
- package/dist/cljs-runtime/cljs.core.js +0 -38746
- package/dist/cljs-runtime/cljs.core.js.map +0 -1
- package/dist/cljs-runtime/cljs.pprint.js +0 -8400
- package/dist/cljs-runtime/cljs.pprint.js.map +0 -1
- package/dist/cljs-runtime/cljs.stacktrace.js +0 -561
- package/dist/cljs-runtime/cljs.stacktrace.js.map +0 -1
- package/dist/cljs-runtime/cljs_env.js +0 -1286
- package/dist/cljs-runtime/clojure.data.js +0 -295
- package/dist/cljs-runtime/clojure.data.js.map +0 -1
- package/dist/cljs-runtime/clojure.set.js +0 -382
- package/dist/cljs-runtime/clojure.set.js.map +0 -1
- package/dist/cljs-runtime/clojure.string.js +0 -480
- package/dist/cljs-runtime/clojure.string.js.map +0 -1
- package/dist/cljs-runtime/clojure.walk.js +0 -132
- package/dist/cljs-runtime/clojure.walk.js.map +0 -1
- package/dist/cljs-runtime/devtools.async.js +0 -90
- package/dist/cljs-runtime/devtools.async.js.map +0 -1
- package/dist/cljs-runtime/devtools.context.js +0 -11
- package/dist/cljs-runtime/devtools.context.js.map +0 -1
- package/dist/cljs-runtime/devtools.core.js +0 -175
- package/dist/cljs-runtime/devtools.core.js.map +0 -1
- package/dist/cljs-runtime/devtools.defaults.js +0 -20
- package/dist/cljs-runtime/devtools.defaults.js.map +0 -1
- package/dist/cljs-runtime/devtools.format.js +0 -631
- package/dist/cljs-runtime/devtools.format.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.budgeting.js +0 -182
- package/dist/cljs-runtime/devtools.formatters.budgeting.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.core.js +0 -220
- package/dist/cljs-runtime/devtools.formatters.core.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.helpers.js +0 -228
- package/dist/cljs-runtime/devtools.formatters.helpers.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.js +0 -261
- package/dist/cljs-runtime/devtools.formatters.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.markup.js +0 -1174
- package/dist/cljs-runtime/devtools.formatters.markup.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.printing.js +0 -313
- package/dist/cljs-runtime/devtools.formatters.printing.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.state.js +0 -325
- package/dist/cljs-runtime/devtools.formatters.state.js.map +0 -1
- package/dist/cljs-runtime/devtools.formatters.templating.js +0 -666
- package/dist/cljs-runtime/devtools.formatters.templating.js.map +0 -1
- package/dist/cljs-runtime/devtools.hints.js +0 -193
- package/dist/cljs-runtime/devtools.hints.js.map +0 -1
- package/dist/cljs-runtime/devtools.munging.js +0 -1058
- package/dist/cljs-runtime/devtools.munging.js.map +0 -1
- package/dist/cljs-runtime/devtools.prefs.js +0 -87
- package/dist/cljs-runtime/devtools.prefs.js.map +0 -1
- package/dist/cljs-runtime/devtools.preload.js +0 -11
- package/dist/cljs-runtime/devtools.preload.js.map +0 -1
- package/dist/cljs-runtime/devtools.protocols.js +0 -98
- package/dist/cljs-runtime/devtools.protocols.js.map +0 -1
- package/dist/cljs-runtime/devtools.reporter.js +0 -81
- package/dist/cljs-runtime/devtools.reporter.js.map +0 -1
- package/dist/cljs-runtime/devtools.toolbox.js +0 -141
- package/dist/cljs-runtime/devtools.toolbox.js.map +0 -1
- package/dist/cljs-runtime/devtools.util.js +0 -517
- package/dist/cljs-runtime/devtools.util.js.map +0 -1
- package/dist/cljs-runtime/devtools.version.js +0 -9
- package/dist/cljs-runtime/devtools.version.js.map +0 -1
- package/dist/cljs-runtime/goog.array.array.js +0 -659
- package/dist/cljs-runtime/goog.array.array.js.map +0 -9
- package/dist/cljs-runtime/goog.asserts.asserts.js +0 -133
- package/dist/cljs-runtime/goog.asserts.asserts.js.map +0 -9
- package/dist/cljs-runtime/goog.asserts.dom.js +0 -90
- package/dist/cljs-runtime/goog.asserts.dom.js.map +0 -9
- package/dist/cljs-runtime/goog.async.nexttick.js +0 -93
- package/dist/cljs-runtime/goog.async.nexttick.js.map +0 -9
- package/dist/cljs-runtime/goog.base.js +0 -1261
- package/dist/cljs-runtime/goog.base.js.map +0 -9
- package/dist/cljs-runtime/goog.collections.maps.js +0 -82
- package/dist/cljs-runtime/goog.collections.maps.js.map +0 -9
- package/dist/cljs-runtime/goog.debug.entrypointregistry.js +0 -44
- package/dist/cljs-runtime/goog.debug.entrypointregistry.js.map +0 -9
- package/dist/cljs-runtime/goog.debug.error.js +0 -30
- package/dist/cljs-runtime/goog.debug.error.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.asserts.js +0 -40
- package/dist/cljs-runtime/goog.dom.asserts.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.browserfeature.js +0 -21
- package/dist/cljs-runtime/goog.dom.browserfeature.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.dom.js +0 -1087
- package/dist/cljs-runtime/goog.dom.dom.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.element.js +0 -69
- package/dist/cljs-runtime/goog.dom.element.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.htmlelement.js +0 -7
- package/dist/cljs-runtime/goog.dom.htmlelement.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.nodetype.js +0 -6
- package/dist/cljs-runtime/goog.dom.nodetype.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.safe.js +0 -277
- package/dist/cljs-runtime/goog.dom.safe.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.tagname.js +0 -147
- package/dist/cljs-runtime/goog.dom.tagname.js.map +0 -9
- package/dist/cljs-runtime/goog.dom.tags.js +0 -10
- package/dist/cljs-runtime/goog.dom.tags.js.map +0 -9
- package/dist/cljs-runtime/goog.flags.flags.js +0 -12
- package/dist/cljs-runtime/goog.flags.flags.js.map +0 -9
- package/dist/cljs-runtime/goog.fs.blob.js +0 -38
- package/dist/cljs-runtime/goog.fs.blob.js.map +0 -9
- package/dist/cljs-runtime/goog.fs.url.js +0 -37
- package/dist/cljs-runtime/goog.fs.url.js.map +0 -9
- package/dist/cljs-runtime/goog.functions.functions.js +0 -211
- package/dist/cljs-runtime/goog.functions.functions.js.map +0 -9
- package/dist/cljs-runtime/goog.html.safehtml.js +0 -321
- package/dist/cljs-runtime/goog.html.safehtml.js.map +0 -9
- package/dist/cljs-runtime/goog.html.safescript.js +0 -65
- package/dist/cljs-runtime/goog.html.safescript.js.map +0 -9
- package/dist/cljs-runtime/goog.html.safestyle.js +0 -175
- package/dist/cljs-runtime/goog.html.safestyle.js.map +0 -9
- package/dist/cljs-runtime/goog.html.safestylesheet.js +0 -99
- package/dist/cljs-runtime/goog.html.safestylesheet.js.map +0 -9
- package/dist/cljs-runtime/goog.html.safeurl.js +0 -231
- package/dist/cljs-runtime/goog.html.safeurl.js.map +0 -9
- package/dist/cljs-runtime/goog.html.trustedresourceurl.js +0 -123
- package/dist/cljs-runtime/goog.html.trustedresourceurl.js.map +0 -9
- package/dist/cljs-runtime/goog.html.trustedtypes.js +0 -16
- package/dist/cljs-runtime/goog.html.trustedtypes.js.map +0 -9
- package/dist/cljs-runtime/goog.html.uncheckedconversions.js +0 -52
- package/dist/cljs-runtime/goog.html.uncheckedconversions.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.browser.js +0 -352
- package/dist/cljs-runtime/goog.labs.useragent.browser.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.engine.js +0 -73
- package/dist/cljs-runtime/goog.labs.useragent.engine.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js +0 -14
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropydata.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js +0 -74
- package/dist/cljs-runtime/goog.labs.useragent.highentropy.highentropyvalue.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.platform.js +0 -147
- package/dist/cljs-runtime/goog.labs.useragent.platform.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.useragent.js +0 -21
- package/dist/cljs-runtime/goog.labs.useragent.useragent.js.map +0 -9
- package/dist/cljs-runtime/goog.labs.useragent.util.js +0 -81
- package/dist/cljs-runtime/goog.labs.useragent.util.js.map +0 -9
- package/dist/cljs-runtime/goog.math.coordinate.js +0 -97
- package/dist/cljs-runtime/goog.math.coordinate.js.map +0 -9
- package/dist/cljs-runtime/goog.math.integer.js +0 -445
- package/dist/cljs-runtime/goog.math.integer.js.map +0 -9
- package/dist/cljs-runtime/goog.math.long.js +0 -437
- package/dist/cljs-runtime/goog.math.long.js.map +0 -9
- package/dist/cljs-runtime/goog.math.math.js +0 -158
- package/dist/cljs-runtime/goog.math.math.js.map +0 -9
- package/dist/cljs-runtime/goog.math.size.js +0 -76
- package/dist/cljs-runtime/goog.math.size.js.map +0 -9
- package/dist/cljs-runtime/goog.object.object.js +0 -284
- package/dist/cljs-runtime/goog.object.object.js.map +0 -9
- package/dist/cljs-runtime/goog.reflect.reflect.js +0 -32
- package/dist/cljs-runtime/goog.reflect.reflect.js.map +0 -9
- package/dist/cljs-runtime/goog.string.const.js +0 -35
- package/dist/cljs-runtime/goog.string.const.js.map +0 -9
- package/dist/cljs-runtime/goog.string.internal.js +0 -119
- package/dist/cljs-runtime/goog.string.internal.js.map +0 -9
- package/dist/cljs-runtime/goog.string.string.js +0 -462
- package/dist/cljs-runtime/goog.string.string.js.map +0 -9
- package/dist/cljs-runtime/goog.string.stringbuffer.js +0 -32
- package/dist/cljs-runtime/goog.string.stringbuffer.js.map +0 -9
- package/dist/cljs-runtime/goog.string.typedstring.js +0 -9
- package/dist/cljs-runtime/goog.string.typedstring.js.map +0 -9
- package/dist/cljs-runtime/goog.structs.structs.js +0 -199
- package/dist/cljs-runtime/goog.structs.structs.js.map +0 -9
- package/dist/cljs-runtime/goog.uri.uri.js +0 -628
- package/dist/cljs-runtime/goog.uri.uri.js.map +0 -9
- package/dist/cljs-runtime/goog.uri.utils.js +0 -326
- package/dist/cljs-runtime/goog.uri.utils.js.map +0 -9
- package/dist/cljs-runtime/goog.useragent.useragent.js +0 -139
- package/dist/cljs-runtime/goog.useragent.useragent.js.map +0 -9
- package/dist/cljs-runtime/iris_layout.components.entity_card_group.js +0 -202
- package/dist/cljs-runtime/iris_layout.components.entity_card_group.js.map +0 -1
- package/dist/cljs-runtime/iris_layout.components.entity_tile.js +0 -327
- package/dist/cljs-runtime/iris_layout.components.entity_tile.js.map +0 -1
- package/dist/cljs-runtime/iris_layout.components.entity_tile_group.js +0 -33
- package/dist/cljs-runtime/iris_layout.components.entity_tile_group.js.map +0 -1
- package/dist/cljs-runtime/iris_layout.components.resizer.js +0 -91
- package/dist/cljs-runtime/iris_layout.components.resizer.js.map +0 -1
- package/dist/cljs-runtime/iris_layout.components.touch_drag.js +0 -385
- package/dist/cljs-runtime/iris_layout.components.touch_drag.js.map +0 -1
- package/dist/cljs-runtime/iris_layout.core.js +0 -876
- package/dist/cljs-runtime/iris_layout.core.js.map +0 -1
- package/dist/cljs-runtime/iris_layout.layout.js +0 -328
- package/dist/cljs-runtime/iris_layout.layout.js.map +0 -1
- package/dist/cljs-runtime/reagent.core.js +0 -993
- package/dist/cljs-runtime/reagent.core.js.map +0 -1
- package/dist/cljs-runtime/reagent.debug.js +0 -75
- package/dist/cljs-runtime/reagent.debug.js.map +0 -1
- package/dist/cljs-runtime/reagent.impl.batching.js +0 -270
- package/dist/cljs-runtime/reagent.impl.batching.js.map +0 -1
- package/dist/cljs-runtime/reagent.impl.component.js +0 -758
- package/dist/cljs-runtime/reagent.impl.component.js.map +0 -1
- package/dist/cljs-runtime/reagent.impl.input.js +0 -175
- package/dist/cljs-runtime/reagent.impl.input.js.map +0 -1
- package/dist/cljs-runtime/reagent.impl.protocols.js +0 -99
- package/dist/cljs-runtime/reagent.impl.protocols.js.map +0 -1
- package/dist/cljs-runtime/reagent.impl.template.js +0 -660
- package/dist/cljs-runtime/reagent.impl.template.js.map +0 -1
- package/dist/cljs-runtime/reagent.impl.util.js +0 -748
- package/dist/cljs-runtime/reagent.impl.util.js.map +0 -1
- package/dist/cljs-runtime/reagent.ratom.js +0 -1668
- package/dist/cljs-runtime/reagent.ratom.js.map +0 -1
- package/dist/cljs-runtime/shadow.esm.esm_import$react.js +0 -5
- package/dist/cljs-runtime/shadow.module.iris-layout.append.js +0 -2
- package/dist/cljs-runtime/shadow.module.iris-layout.prepend.js +0 -2
|
@@ -1,876 +0,0 @@
|
|
|
1
|
-
import "./cljs_env.js";
|
|
2
|
-
import "./cljs.core.js";
|
|
3
|
-
import "./reagent.core.js";
|
|
4
|
-
import "./iris_layout.layout.js";
|
|
5
|
-
import "./iris_layout.components.entity_tile_group.js";
|
|
6
|
-
import "./iris_layout.components.entity_tile.js";
|
|
7
|
-
import "./iris_layout.components.touch_drag.js";
|
|
8
|
-
goog.provide('iris_layout.core');
|
|
9
|
-
iris_layout.core.generate_id = (function iris_layout$core$generate_id(){
|
|
10
|
-
return ["iris-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid())].join('');
|
|
11
|
-
});
|
|
12
|
-
/**
|
|
13
|
-
* Convert a JS layout object to a CLJS layout map.
|
|
14
|
-
* Handles recursive conversion of the tree structure.
|
|
15
|
-
* JS keys: type, id, direction, ratio, children, entityId
|
|
16
|
-
* CLJS keys: :type, :id, :direction, :ratio, :children, :entity-id
|
|
17
|
-
*/
|
|
18
|
-
iris_layout.core.js__GT_layout = (function iris_layout$core$js__GT_layout(js_obj){
|
|
19
|
-
if(cljs.core.truth_(js_obj)){
|
|
20
|
-
var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(js_obj);
|
|
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);
|
|
25
|
-
if(cljs.core.truth_((function (){var or__5002__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entityId");
|
|
26
|
-
if(cljs.core.truth_(or__5002__auto__)){
|
|
27
|
-
return or__5002__auto__;
|
|
28
|
-
} else {
|
|
29
|
-
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entity-id");
|
|
30
|
-
}
|
|
31
|
-
})())){
|
|
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");
|
|
33
|
-
if(cljs.core.truth_(or__5002__auto__)){
|
|
34
|
-
return or__5002__auto__;
|
|
35
|
-
} else {
|
|
36
|
-
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(obj,"entity-id");
|
|
37
|
-
}
|
|
38
|
-
})());
|
|
39
|
-
} else {
|
|
40
|
-
return G__7008__$3;
|
|
41
|
-
}
|
|
42
|
-
} else {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
/**
|
|
47
|
-
* Convert a CLJS layout map to a JS object.
|
|
48
|
-
* Inverse of js->layout.
|
|
49
|
-
*/
|
|
50
|
-
iris_layout.core.layout__GT_js = (function iris_layout$core$layout__GT_js(layout){
|
|
51
|
-
if(cljs.core.truth_(layout)){
|
|
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);
|
|
56
|
-
if(cljs.core.truth_(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));
|
|
58
|
-
} else {
|
|
59
|
-
return G__7009__$3;
|
|
60
|
-
}
|
|
61
|
-
})());
|
|
62
|
-
} else {
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
/**
|
|
67
|
-
* Convert a JS entities object to a CLJS map.
|
|
68
|
-
* Top-level keys stay as strings (entity IDs), nested keys are keywordized.
|
|
69
|
-
*/
|
|
70
|
-
iris_layout.core.js__GT_entities = (function iris_layout$core$js__GT_entities(js_obj){
|
|
71
|
-
if(cljs.core.truth_(js_obj)){
|
|
72
|
-
var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(js_obj);
|
|
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);
|
|
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);
|
|
82
|
-
}),v)):v)], null);
|
|
83
|
-
})),obj);
|
|
84
|
-
} else {
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
/**
|
|
89
|
-
* A single layout stage within the Body.
|
|
90
|
-
*
|
|
91
|
-
* Manages drag-drop split operations:
|
|
92
|
-
* - Sidebar drags: adds entity to layout via split
|
|
93
|
-
* - Tile rearranges: removes entity from source, splits at target
|
|
94
|
-
*
|
|
95
|
-
* Props:
|
|
96
|
-
* :layout - layout tree (CLJS map)
|
|
97
|
-
* :entities - entity data map
|
|
98
|
-
* :render-entity-tile - React component for tile content
|
|
99
|
-
* :active-entity - focused entity ID
|
|
100
|
-
* :on-layout-change - fn(new-layout) for layout mutations
|
|
101
|
-
* :on-active-entity-change - fn(entity-id) for focus changes
|
|
102
|
-
*/
|
|
103
|
-
iris_layout.core.body_stage_component = (function iris_layout$core$body_stage_component(_){
|
|
104
|
-
var props_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
|
|
105
|
-
var handle_split = (function (tile_id,entity_id,split_direction,source_type,half){
|
|
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));
|
|
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))));
|
|
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);
|
|
112
|
-
if(cljs.core.truth_(or__5002__auto__)){
|
|
113
|
-
return or__5002__auto__;
|
|
114
|
-
} else {
|
|
115
|
-
return layout;
|
|
116
|
-
}
|
|
117
|
-
})():layout);
|
|
118
|
-
var target_after = iris_layout.layout.find_tile(base_layout,tile_id);
|
|
119
|
-
var new_tile_id = iris_layout.core.generate_id();
|
|
120
|
-
var split_id = iris_layout.core.generate_id();
|
|
121
|
-
var new_layout = (cljs.core.truth_(target_after)?iris_layout.layout.split_tile.cljs$core$IFn$_invoke$arity$variadic(base_layout,tile_id,split_direction,entity_id,new_tile_id,split_id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([before_QMARK_], 0)):null);
|
|
122
|
-
if(cljs.core.truth_((function (){var and__5000__auto__ = new_layout;
|
|
123
|
-
if(cljs.core.truth_(and__5000__auto__)){
|
|
124
|
-
return on_layout_change;
|
|
125
|
-
} else {
|
|
126
|
-
return and__5000__auto__;
|
|
127
|
-
}
|
|
128
|
-
})())){
|
|
129
|
-
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));
|
|
130
|
-
} else {
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
var handle_close = (function (entity_id){
|
|
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));
|
|
140
|
-
var new_layout = iris_layout.layout.remove_entity_from_layout(layout,entity_id);
|
|
141
|
-
if(cljs.core.truth_(on_layout_change)){
|
|
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));
|
|
143
|
-
} else {
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
if(cljs.core.truth_(on_entity_close)){
|
|
147
|
-
return (on_entity_close.cljs$core$IFn$_invoke$arity$1 ? on_entity_close.cljs$core$IFn$_invoke$arity$1(entity_id) : on_entity_close.call(null,entity_id));
|
|
148
|
-
} else {
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
var handle_ratio = (function (split_id,new_ratio){
|
|
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));
|
|
157
|
-
var new_layout = iris_layout.layout.update_split_ratio(layout,split_id,new_ratio);
|
|
158
|
-
if(cljs.core.truth_(on_layout_change)){
|
|
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));
|
|
160
|
-
} else {
|
|
161
|
-
return null;
|
|
162
|
-
}
|
|
163
|
-
});
|
|
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));
|
|
174
|
-
cljs.core.reset_BANG_(props_ref,props);
|
|
175
|
-
|
|
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__;
|
|
184
|
-
} else {
|
|
185
|
-
return new cljs.core.Keyword(null,"entity-id","entity-id",1485898093).cljs$core$IFn$_invoke$arity$1(fs_node);
|
|
186
|
-
}
|
|
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();
|
|
189
|
-
|
|
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;
|
|
192
|
-
if(cljs.core.truth_(and__5000__auto__)){
|
|
193
|
-
return render_entity_tile;
|
|
194
|
-
} else {
|
|
195
|
-
return and__5000__auto__;
|
|
196
|
-
}
|
|
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);
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
/**
|
|
201
|
-
* Convert [x y] to string key 'x,y'.
|
|
202
|
-
*/
|
|
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);
|
|
207
|
-
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),",",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('');
|
|
208
|
-
});
|
|
209
|
-
/**
|
|
210
|
-
* Map a direction keyword to [dx dy].
|
|
211
|
-
*/
|
|
212
|
-
iris_layout.core.direction__GT_delta = (function iris_layout$core$direction__GT_delta(dir){
|
|
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) {
|
|
216
|
-
case "left":
|
|
217
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(0)], null);
|
|
218
|
-
|
|
219
|
-
break;
|
|
220
|
-
case "right":
|
|
221
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),(0)], null);
|
|
222
|
-
|
|
223
|
-
break;
|
|
224
|
-
case "up":
|
|
225
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(-1)], null);
|
|
226
|
-
|
|
227
|
-
break;
|
|
228
|
-
case "down":
|
|
229
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),(1)], null);
|
|
230
|
-
|
|
231
|
-
break;
|
|
232
|
-
default:
|
|
233
|
-
throw (new Error(["No matching clause: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__7027__$1)].join('')));
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
/**
|
|
238
|
-
* Compute grid bounds from workspace keys. Returns [cols rows].
|
|
239
|
-
*/
|
|
240
|
-
iris_layout.core.grid_dimensions = (function iris_layout$core$grid_dimensions(workspaces){
|
|
241
|
-
if(cljs.core.empty_QMARK_(workspaces)){
|
|
242
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),(1)], null);
|
|
243
|
-
} else {
|
|
244
|
-
var positions = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){
|
|
245
|
-
var parts = k.split(",");
|
|
246
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [parseInt((parts[(0)])),parseInt((parts[(1)]))], null);
|
|
247
|
-
}),cljs.core.keys(workspaces));
|
|
248
|
-
var max_x = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,positions));
|
|
249
|
-
var max_y = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,positions));
|
|
250
|
-
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(max_x + (1)),(max_y + (1))], null);
|
|
251
|
-
}
|
|
252
|
-
});
|
|
253
|
-
/**
|
|
254
|
-
* Check if navigation in a direction is allowed.
|
|
255
|
-
*/
|
|
256
|
-
iris_layout.core.can_navigate_QMARK_ = (function iris_layout$core$can_navigate_QMARK_(dir,workspaces,active_position){
|
|
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);
|
|
263
|
-
var new_x = (x + dx);
|
|
264
|
-
var new_y = (y + dy);
|
|
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));
|
|
266
|
-
var active_key = iris_layout.core.pos_key(active_position);
|
|
267
|
-
var current_empty_QMARK_ = (new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,active_key)) == null);
|
|
268
|
-
var target_exists_QMARK_ = cljs.core.contains_QMARK_(workspaces,new_key);
|
|
269
|
-
var target_has_layout_QMARK_ = (function (){var and__5000__auto__ = target_exists_QMARK_;
|
|
270
|
-
if(and__5000__auto__){
|
|
271
|
-
return new cljs.core.Keyword(null,"layout","layout",-2120940921).cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,new_key));
|
|
272
|
-
} else {
|
|
273
|
-
return and__5000__auto__;
|
|
274
|
-
}
|
|
275
|
-
})();
|
|
276
|
-
return (((new_x >= (0))) && ((((new_y >= (0))) && ((!(((current_empty_QMARK_) && (cljs.core.not(target_has_layout_QMARK_)))))))));
|
|
277
|
-
});
|
|
278
|
-
/**
|
|
279
|
-
* Handle navigation in a direction. Creates empty workspace if needed.
|
|
280
|
-
*/
|
|
281
|
-
iris_layout.core.handle_grid_nav = (function iris_layout$core$handle_grid_nav(dir,props_ref){
|
|
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));
|
|
288
|
-
if(iris_layout.core.can_navigate_QMARK_(dir,workspaces,active_position)){
|
|
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);
|
|
295
|
-
var new_pos = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(x + dx),(y + dy)], null);
|
|
296
|
-
var new_key = iris_layout.core.pos_key(new_pos);
|
|
297
|
-
var target_exists_QMARK_ = cljs.core.contains_QMARK_(workspaces,new_key);
|
|
298
|
-
if(cljs.core.truth_((function (){var and__5000__auto__ = (!(target_exists_QMARK_));
|
|
299
|
-
if(and__5000__auto__){
|
|
300
|
-
return on_workspaces_change;
|
|
301
|
-
} else {
|
|
302
|
-
return and__5000__auto__;
|
|
303
|
-
}
|
|
304
|
-
})())){
|
|
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));
|
|
307
|
-
} else {
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
if(cljs.core.truth_(on_active_position_change)){
|
|
311
|
-
return (on_active_position_change.cljs$core$IFn$_invoke$arity$1 ? on_active_position_change.cljs$core$IFn$_invoke$arity$1(new_pos) : on_active_position_change.call(null,new_pos));
|
|
312
|
-
} else {
|
|
313
|
-
return null;
|
|
314
|
-
}
|
|
315
|
-
} else {
|
|
316
|
-
return null;
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
/**
|
|
320
|
-
* Return hiccup for a navigation edge button with half-circle indicator.
|
|
321
|
-
* During drag, hovering navigates to adjacent workspace (user keeps dragging to drop there).
|
|
322
|
-
*/
|
|
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){
|
|
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){
|
|
325
|
-
return e.preventDefault();
|
|
326
|
-
}),new cljs.core.Keyword(null,"on-drag-enter","on-drag-enter",-1692112235),(function (e){
|
|
327
|
-
e.preventDefault();
|
|
328
|
-
|
|
329
|
-
cljs.core.reset_BANG_(nav_drag_edge,direction);
|
|
330
|
-
|
|
331
|
-
return iris_layout.core.handle_grid_nav(direction,props_ref);
|
|
332
|
-
}),new cljs.core.Keyword(null,"on-drag-leave","on-drag-leave",-373180078),(function (e){
|
|
333
|
-
if(cljs.core.truth_(e.currentTarget.contains(e.relatedTarget))){
|
|
334
|
-
return null;
|
|
335
|
-
} else {
|
|
336
|
-
return cljs.core.reset_BANG_(nav_drag_edge,null);
|
|
337
|
-
}
|
|
338
|
-
}),new cljs.core.Keyword(null,"on-drop","on-drop",1867868491),(function (e){
|
|
339
|
-
e.preventDefault();
|
|
340
|
-
|
|
341
|
-
e.stopPropagation();
|
|
342
|
-
|
|
343
|
-
return cljs.core.reset_BANG_(nav_drag_edge,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);
|
|
345
|
-
});
|
|
346
|
-
/**
|
|
347
|
-
* Update a workspace's layout and remove dragged entity from all other workspaces.
|
|
348
|
-
*/
|
|
349
|
-
iris_layout.core.update_workspaces_with_cleanup = (function iris_layout$core$update_workspaces_with_cleanup(workspaces,target_key,new_layout){
|
|
350
|
-
var dragged_entity = cljs.core.deref(iris_layout.components.entity_tile.drag_source_entity);
|
|
351
|
-
if(cljs.core.truth_(dragged_entity)){
|
|
352
|
-
return cljs.core.reduce_kv((function (acc,ws_key,ws_data){
|
|
353
|
-
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ws_key,target_key)){
|
|
354
|
-
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], null));
|
|
355
|
-
} else {
|
|
356
|
-
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),dragged_entity);
|
|
357
|
-
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));
|
|
358
|
-
}
|
|
359
|
-
}),cljs.core.PersistentArrayMap.EMPTY,workspaces);
|
|
360
|
-
} else {
|
|
361
|
-
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(workspaces,target_key,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"layout","layout",-2120940921),new_layout], null));
|
|
362
|
-
}
|
|
363
|
-
});
|
|
364
|
-
/**
|
|
365
|
-
* Handle drop on an empty workspace — create a tile for the dropped entity.
|
|
366
|
-
*/
|
|
367
|
-
iris_layout.core.handle_empty_workspace_drop = (function iris_layout$core$handle_empty_workspace_drop(e,k,workspaces,on_workspaces_change){
|
|
368
|
-
e.preventDefault();
|
|
369
|
-
|
|
370
|
-
var raw = e.dataTransfer.getData("text/plain");
|
|
371
|
-
try{var data = JSON.parse(raw);
|
|
372
|
-
var entity_id = data.entityId;
|
|
373
|
-
if(cljs.core.truth_(entity_id)){
|
|
374
|
-
var new_layout = 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);
|
|
375
|
-
var updated = iris_layout.core.update_workspaces_with_cleanup(workspaces,k,new_layout);
|
|
376
|
-
return (on_workspaces_change.cljs$core$IFn$_invoke$arity$1 ? on_workspaces_change.cljs$core$IFn$_invoke$arity$1(updated) : on_workspaces_change.call(null,updated));
|
|
377
|
-
} else {
|
|
378
|
-
return null;
|
|
379
|
-
}
|
|
380
|
-
}catch (e7042){var _ = e7042;
|
|
381
|
-
return null;
|
|
382
|
-
}});
|
|
383
|
-
/**
|
|
384
|
-
* Render a single grid cell (workspace or empty placeholder).
|
|
385
|
-
*/
|
|
386
|
-
iris_layout.core.grid_cell = (function iris_layout$core$grid_cell(k,workspace,active_QMARK_,zoomed_QMARK_,props){
|
|
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_;
|
|
414
|
-
if(cljs.core.truth_(and__5000__auto__)){
|
|
415
|
-
return cljs.core.not(active_QMARK_);
|
|
416
|
-
} else {
|
|
417
|
-
return and__5000__auto__;
|
|
418
|
-
}
|
|
419
|
-
})())?(function (_){
|
|
420
|
-
if(cljs.core.truth_(on_active_position_change)){
|
|
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));
|
|
423
|
-
} else {
|
|
424
|
-
return null;
|
|
425
|
-
}
|
|
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){
|
|
427
|
-
if(cljs.core.truth_(on_workspaces_change)){
|
|
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));
|
|
430
|
-
} else {
|
|
431
|
-
return null;
|
|
432
|
-
}
|
|
433
|
-
}),new cljs.core.Keyword(null,"on-entity-close","on-entity-close",1240890801),on_entity_close], null)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.iris-empty-workspace","div.iris-empty-workspace",69507599),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"on-drag-over","on-drag-over",-93410408),(function (e){
|
|
434
|
-
return e.preventDefault();
|
|
435
|
-
}),new cljs.core.Keyword(null,"on-drop","on-drop",1867868491),(function (e){
|
|
436
|
-
if(cljs.core.truth_(on_workspaces_change)){
|
|
437
|
-
return iris_layout.core.handle_empty_workspace_drop(e,k,workspaces,on_workspaces_change);
|
|
438
|
-
} else {
|
|
439
|
-
return null;
|
|
440
|
-
}
|
|
441
|
-
})], null)], null))], null);
|
|
442
|
-
});
|
|
443
|
-
/**
|
|
444
|
-
* Render the CSS grid canvas with all workspace cells.
|
|
445
|
-
*/
|
|
446
|
-
iris_layout.core.grid_canvas = (function iris_layout$core$grid_canvas(cols,rows,workspaces,active_position,zoomed_QMARK_,props){
|
|
447
|
-
var active_key = iris_layout.core.pos_key(active_position);
|
|
448
|
-
var iter__5480__auto__ = (function iris_layout$core$grid_canvas_$_iter__7050(s__7051){
|
|
449
|
-
return (new cljs.core.LazySeq(null,(function (){
|
|
450
|
-
var s__7051__$1 = s__7051;
|
|
451
|
-
while(true){
|
|
452
|
-
var temp__5804__auto__ = cljs.core.seq(s__7051__$1);
|
|
453
|
-
if(temp__5804__auto__){
|
|
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);
|
|
457
|
-
var size__5479__auto__ = cljs.core.count(c__5478__auto__);
|
|
458
|
-
var b__7053 = cljs.core.chunk_buffer(size__5479__auto__);
|
|
459
|
-
if((function (){var i__7052 = (0);
|
|
460
|
-
while(true){
|
|
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){
|
|
466
|
-
return (function (){
|
|
467
|
-
var s__7055__$1 = s__7055;
|
|
468
|
-
while(true){
|
|
469
|
-
var temp__5804__auto____$1 = cljs.core.seq(s__7055__$1);
|
|
470
|
-
if(temp__5804__auto____$1){
|
|
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);
|
|
474
|
-
var size__5479__auto____$1 = cljs.core.count(c__5478__auto____$1);
|
|
475
|
-
var b__7057 = cljs.core.chunk_buffer(size__5479__auto____$1);
|
|
476
|
-
if((function (){var i__7056 = (0);
|
|
477
|
-
while(true){
|
|
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));
|
|
481
|
-
var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
|
|
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));
|
|
483
|
-
})());
|
|
484
|
-
|
|
485
|
-
var G__7087 = (i__7056 + (1));
|
|
486
|
-
i__7056 = G__7087;
|
|
487
|
-
continue;
|
|
488
|
-
} else {
|
|
489
|
-
return true;
|
|
490
|
-
}
|
|
491
|
-
break;
|
|
492
|
-
}
|
|
493
|
-
})()){
|
|
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)));
|
|
495
|
-
} else {
|
|
496
|
-
return cljs.core.chunk_cons(cljs.core.chunk(b__7057),null);
|
|
497
|
-
}
|
|
498
|
-
} else {
|
|
499
|
-
var x = cljs.core.first(s__7055__$2);
|
|
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));
|
|
501
|
-
var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
|
|
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));
|
|
503
|
-
})(),iris_layout$core$grid_canvas_$_iter__7050_$_iter__7054(cljs.core.rest(s__7055__$2)));
|
|
504
|
-
}
|
|
505
|
-
} else {
|
|
506
|
-
return null;
|
|
507
|
-
}
|
|
508
|
-
break;
|
|
509
|
-
}
|
|
510
|
-
});})(i__7052,y,c__5478__auto__,size__5479__auto__,b__7053,s__7051__$2,temp__5804__auto__,active_key))
|
|
511
|
-
,null,null));
|
|
512
|
-
});})(i__7052,y,c__5478__auto__,size__5479__auto__,b__7053,s__7051__$2,temp__5804__auto__,active_key))
|
|
513
|
-
;
|
|
514
|
-
return iter__5480__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(cols));
|
|
515
|
-
})());
|
|
516
|
-
|
|
517
|
-
var G__7088 = (i__7052 + (1));
|
|
518
|
-
i__7052 = G__7088;
|
|
519
|
-
continue;
|
|
520
|
-
} else {
|
|
521
|
-
return true;
|
|
522
|
-
}
|
|
523
|
-
break;
|
|
524
|
-
}
|
|
525
|
-
})()){
|
|
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)));
|
|
527
|
-
} else {
|
|
528
|
-
return cljs.core.chunk_cons(cljs.core.chunk(b__7053),null);
|
|
529
|
-
}
|
|
530
|
-
} else {
|
|
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){
|
|
534
|
-
return (new cljs.core.LazySeq(null,(function (){
|
|
535
|
-
var s__7059__$1 = s__7059;
|
|
536
|
-
while(true){
|
|
537
|
-
var temp__5804__auto____$1 = cljs.core.seq(s__7059__$1);
|
|
538
|
-
if(temp__5804__auto____$1){
|
|
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);
|
|
542
|
-
var size__5479__auto__ = cljs.core.count(c__5478__auto__);
|
|
543
|
-
var b__7061 = cljs.core.chunk_buffer(size__5479__auto__);
|
|
544
|
-
if((function (){var i__7060 = (0);
|
|
545
|
-
while(true){
|
|
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));
|
|
549
|
-
var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
|
|
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));
|
|
551
|
-
})());
|
|
552
|
-
|
|
553
|
-
var G__7089 = (i__7060 + (1));
|
|
554
|
-
i__7060 = G__7089;
|
|
555
|
-
continue;
|
|
556
|
-
} else {
|
|
557
|
-
return true;
|
|
558
|
-
}
|
|
559
|
-
break;
|
|
560
|
-
}
|
|
561
|
-
})()){
|
|
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)));
|
|
563
|
-
} else {
|
|
564
|
-
return cljs.core.chunk_cons(cljs.core.chunk(b__7061),null);
|
|
565
|
-
}
|
|
566
|
-
} else {
|
|
567
|
-
var x = cljs.core.first(s__7059__$2);
|
|
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));
|
|
569
|
-
var workspace = cljs.core.get.cljs$core$IFn$_invoke$arity$2(workspaces,k);
|
|
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));
|
|
571
|
-
})(),iris_layout$core$grid_canvas_$_iter__7050_$_iter__7058(cljs.core.rest(s__7059__$2)));
|
|
572
|
-
}
|
|
573
|
-
} else {
|
|
574
|
-
return null;
|
|
575
|
-
}
|
|
576
|
-
break;
|
|
577
|
-
}
|
|
578
|
-
}),null,null));
|
|
579
|
-
});})(y,s__7051__$2,temp__5804__auto__,active_key))
|
|
580
|
-
;
|
|
581
|
-
return iter__5480__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(cols));
|
|
582
|
-
})(),iris_layout$core$grid_canvas_$_iter__7050(cljs.core.rest(s__7051__$2)));
|
|
583
|
-
}
|
|
584
|
-
} else {
|
|
585
|
-
return null;
|
|
586
|
-
}
|
|
587
|
-
break;
|
|
588
|
-
}
|
|
589
|
-
}),null,null));
|
|
590
|
-
});
|
|
591
|
-
return iter__5480__auto__(cljs.core.range.cljs$core$IFn$_invoke$arity$1(rows));
|
|
592
|
-
});
|
|
593
|
-
iris_layout.core.grid_gap = (16);
|
|
594
|
-
/**
|
|
595
|
-
* Compute the CSS transform style for the grid canvas camera.
|
|
596
|
-
* Uses calc() to account for the gap between grid cells.
|
|
597
|
-
*/
|
|
598
|
-
iris_layout.core.camera_style = (function iris_layout$core$camera_style(cols,rows,active_position,zoomed_QMARK_){
|
|
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);
|
|
602
|
-
var scale = (cljs.core.truth_(zoomed_QMARK_)?((1) / (function (){var x__5087__auto__ = cols;
|
|
603
|
-
var y__5088__auto__ = rows;
|
|
604
|
-
return ((x__5087__auto__ > y__5088__auto__) ? x__5087__auto__ : y__5088__auto__);
|
|
605
|
-
})()):(1));
|
|
606
|
-
var tx = (cljs.core.truth_(zoomed_QMARK_)?"0px":["calc(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ax)," * ((-100% - ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(iris_layout.core.grid_gap),"px) / ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cols),"))"].join(''));
|
|
607
|
-
var ty = (cljs.core.truth_(zoomed_QMARK_)?"0px":["calc(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ay)," * ((-100% - ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(iris_layout.core.grid_gap),"px) / ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(rows),"))"].join(''));
|
|
608
|
-
return new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"width","width",-384071477),["calc(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cols)," * 100% + ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(((cols - (1)) * iris_layout.core.grid_gap)),"px)"].join(''),new cljs.core.Keyword(null,"height","height",1025178622),["calc(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(rows)," * 100% + ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(((rows - (1)) * iris_layout.core.grid_gap)),"px)"].join(''),new cljs.core.Keyword(null,"grid-template-columns","grid-template-columns",-594112133),["repeat(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cols),", 1fr)"].join(''),new cljs.core.Keyword(null,"grid-template-rows","grid-template-rows",-372292629),["repeat(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(rows),", 1fr)"].join(''),new cljs.core.Keyword(null,"transform","transform",1381301764),["translate(",tx,", ",ty,") scale(",cljs.core.str.cljs$core$IFn$_invoke$arity$1(scale),")"].join(''),new cljs.core.Keyword(null,"transform-origin","transform-origin",-586167370),"0 0"], null);
|
|
609
|
-
});
|
|
610
|
-
/**
|
|
611
|
-
* Grid — a 2D grid of workspaces with camera-based navigation.
|
|
612
|
-
*
|
|
613
|
-
* Workspaces are laid out in a real CSS grid. Navigation moves a camera
|
|
614
|
-
* (CSS translate) to show the active workspace. Holding Alt zooms out
|
|
615
|
-
* to show all workspaces at once.
|
|
616
|
-
*/
|
|
617
|
-
iris_layout.core.grid_component = (function iris_layout$core$grid_component(_){
|
|
618
|
-
var zoomed_out_QMARK_ = reagent.core.atom.cljs$core$IFn$_invoke$arity$1(false);
|
|
619
|
-
var props_ref = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);
|
|
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);
|
|
622
|
-
var handle_nav = (function (dir){
|
|
623
|
-
return iris_layout.core.handle_grid_nav(dir,props_ref);
|
|
624
|
-
});
|
|
625
|
-
var keydown_handler = (function (e){
|
|
626
|
-
if(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e.key,"Alt")) && (cljs.core.not(e.repeat)))){
|
|
627
|
-
cljs.core.reset_BANG_(zoomed_out_QMARK_,true);
|
|
628
|
-
} else {
|
|
629
|
-
}
|
|
630
|
-
|
|
631
|
-
if(cljs.core.truth_(e.altKey)){
|
|
632
|
-
var dir = (function (){var G__7065 = e.key;
|
|
633
|
-
switch (G__7065) {
|
|
634
|
-
case "ArrowLeft":
|
|
635
|
-
return new cljs.core.Keyword(null,"left","left",-399115937);
|
|
636
|
-
|
|
637
|
-
break;
|
|
638
|
-
case "ArrowRight":
|
|
639
|
-
return new cljs.core.Keyword(null,"right","right",-452581833);
|
|
640
|
-
|
|
641
|
-
break;
|
|
642
|
-
case "ArrowUp":
|
|
643
|
-
return new cljs.core.Keyword(null,"up","up",-269712113);
|
|
644
|
-
|
|
645
|
-
break;
|
|
646
|
-
case "ArrowDown":
|
|
647
|
-
return new cljs.core.Keyword(null,"down","down",1565245570);
|
|
648
|
-
|
|
649
|
-
break;
|
|
650
|
-
default:
|
|
651
|
-
return null;
|
|
652
|
-
|
|
653
|
-
}
|
|
654
|
-
})();
|
|
655
|
-
if(cljs.core.truth_(dir)){
|
|
656
|
-
e.preventDefault();
|
|
657
|
-
|
|
658
|
-
cljs.core.reset_BANG_(zoomed_out_QMARK_,false);
|
|
659
|
-
|
|
660
|
-
return handle_nav(dir);
|
|
661
|
-
} else {
|
|
662
|
-
return null;
|
|
663
|
-
}
|
|
664
|
-
} else {
|
|
665
|
-
return null;
|
|
666
|
-
}
|
|
667
|
-
});
|
|
668
|
-
var keyup_handler = (function (e){
|
|
669
|
-
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(e.key,"Alt")){
|
|
670
|
-
return cljs.core.reset_BANG_(zoomed_out_QMARK_,false);
|
|
671
|
-
} else {
|
|
672
|
-
return null;
|
|
673
|
-
}
|
|
674
|
-
});
|
|
675
|
-
document.addEventListener("keydown",keydown_handler);
|
|
676
|
-
|
|
677
|
-
document.addEventListener("keyup",keyup_handler);
|
|
678
|
-
|
|
679
|
-
cljs.core.add_watch(iris_layout.components.touch_drag.nav_edge_target,new cljs.core.Keyword("iris-layout.core","grid-nav-highlight","iris-layout.core/grid-nav-highlight",-1425938771),(function (___$1,___$2,old_dir,new_dir){
|
|
680
|
-
cljs.core.reset_BANG_(nav_drag_edge,new_dir);
|
|
681
|
-
|
|
682
|
-
if(cljs.core.truth_((function (){var and__5000__auto__ = new_dir;
|
|
683
|
-
if(cljs.core.truth_(and__5000__auto__)){
|
|
684
|
-
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(old_dir,new_dir);
|
|
685
|
-
} else {
|
|
686
|
-
return and__5000__auto__;
|
|
687
|
-
}
|
|
688
|
-
})())){
|
|
689
|
-
cljs.core.reset_BANG_(touch_nav_happened_QMARK_,true);
|
|
690
|
-
|
|
691
|
-
return iris_layout.core.handle_grid_nav(new_dir,props_ref);
|
|
692
|
-
} else {
|
|
693
|
-
return null;
|
|
694
|
-
}
|
|
695
|
-
}));
|
|
696
|
-
|
|
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));
|
|
754
|
-
cljs.core.reset_BANG_(props_ref,props);
|
|
755
|
-
|
|
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);
|
|
759
|
-
var zoomed_QMARK_ = cljs.core.deref(zoomed_out_QMARK_);
|
|
760
|
-
var dragging_QMARK_ = (function (){var or__5002__auto__ = cljs.core.deref(iris_layout.components.entity_tile.drag_source_tile);
|
|
761
|
-
if(cljs.core.truth_(or__5002__auto__)){
|
|
762
|
-
return or__5002__auto__;
|
|
763
|
-
} else {
|
|
764
|
-
return cljs.core.deref(iris_layout.components.touch_drag.touch_state);
|
|
765
|
-
}
|
|
766
|
-
})();
|
|
767
|
-
var vis_QMARK_ = (function (dir){
|
|
768
|
-
var or__5002__auto__ = dragging_QMARK_;
|
|
769
|
-
if(cljs.core.truth_(or__5002__auto__)){
|
|
770
|
-
return or__5002__auto__;
|
|
771
|
-
} else {
|
|
772
|
-
return iris_layout.core.can_navigate_QMARK_(dir,workspaces,active_position);
|
|
773
|
-
}
|
|
774
|
-
});
|
|
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 (){
|
|
776
|
-
return handle_nav(new cljs.core.Keyword(null,"left","left",-399115937));
|
|
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 (){
|
|
778
|
-
return handle_nav(new cljs.core.Keyword(null,"right","right",-452581833));
|
|
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 (){
|
|
780
|
-
return handle_nav(new cljs.core.Keyword(null,"up","up",-269712113));
|
|
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 (){
|
|
782
|
-
return handle_nav(new cljs.core.Keyword(null,"down","down",1565245570));
|
|
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);
|
|
784
|
-
});
|
|
785
|
-
});
|
|
786
|
-
/**
|
|
787
|
-
* Convert a JS workspaces object {"x,y": {layout: ...}} to CLJS map.
|
|
788
|
-
*/
|
|
789
|
-
iris_layout.core.js__GT_workspaces = (function iris_layout$core$js__GT_workspaces(js_obj){
|
|
790
|
-
if(cljs.core.truth_(js_obj)){
|
|
791
|
-
var obj = cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(js_obj);
|
|
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);
|
|
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);
|
|
797
|
-
})),obj);
|
|
798
|
-
} else {
|
|
799
|
-
return null;
|
|
800
|
-
}
|
|
801
|
-
});
|
|
802
|
-
/**
|
|
803
|
-
* Convert CLJS workspaces map to JS object.
|
|
804
|
-
*/
|
|
805
|
-
iris_layout.core.workspaces__GT_js = (function iris_layout$core$workspaces__GT_js(workspaces){
|
|
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);
|
|
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);
|
|
811
|
-
})),workspaces));
|
|
812
|
-
});
|
|
813
|
-
/**
|
|
814
|
-
* Wrapper that converts JS props to CLJS for grid-component.
|
|
815
|
-
*/
|
|
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));
|
|
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){
|
|
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));
|
|
831
|
-
}):null),onEntityClose,(cljs.core.truth_(onActivePositionChange)?(function (new_pos){
|
|
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));
|
|
834
|
-
}):null),cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1(activePosition),iris_layout.core.js__GT_workspaces(workspaces)])], null);
|
|
835
|
-
});
|
|
836
|
-
/**
|
|
837
|
-
* A 2D tiling workspace grid for React.
|
|
838
|
-
*
|
|
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.
|
|
842
|
-
*
|
|
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.
|
|
873
|
-
*/
|
|
874
|
-
iris_layout.core.IrisLayout = reagent.core.reactify_component.cljs$core$IFn$_invoke$arity$1(iris_layout.core.grid_wrapper);
|
|
875
|
-
|
|
876
|
-
//# sourceMappingURL=iris_layout.core.js.map
|