initial commit
This commit is contained in:
Executable
+509
@@ -0,0 +1,509 @@
|
||||
// Compiled by ClojureScript 1.11.60 {:static-fns true, :optimize-constants true, :optimizations :advanced}
|
||||
goog.provide('reagent.impl.template');
|
||||
goog.require('cljs.core');
|
||||
goog.require('cljs.core.constants');
|
||||
goog.require('clojure.string');
|
||||
goog.require('reagent.impl.util');
|
||||
goog.require('reagent.impl.component');
|
||||
goog.require('reagent.impl.batching');
|
||||
goog.require('reagent.ratom');
|
||||
goog.require('reagent.interop');
|
||||
goog.require('reagent.debug');
|
||||
/**
|
||||
* Regular expression that parses a CSS-style id and class
|
||||
* from a tag name.
|
||||
*/
|
||||
reagent.impl.template.re_tag = /([^\s\.#]+)(?:#([^\s\.#]+))?(?:\.([^\s#]+))?/;
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
*/
|
||||
reagent.impl.template.NativeWrapper = (function (comp){
|
||||
this.comp = comp;
|
||||
});
|
||||
|
||||
(reagent.impl.template.NativeWrapper.getBasis = (function (){
|
||||
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$comp], null);
|
||||
}));
|
||||
|
||||
(reagent.impl.template.NativeWrapper.cljs$lang$type = true);
|
||||
|
||||
(reagent.impl.template.NativeWrapper.cljs$lang$ctorStr = "reagent.impl.template/NativeWrapper");
|
||||
|
||||
(reagent.impl.template.NativeWrapper.cljs$lang$ctorPrWriter = (function (this__5330__auto__,writer__5331__auto__,opt__5332__auto__){
|
||||
return cljs.core._write(writer__5331__auto__,"reagent.impl.template/NativeWrapper");
|
||||
}));
|
||||
|
||||
/**
|
||||
* Positional factory function for reagent.impl.template/NativeWrapper.
|
||||
*/
|
||||
reagent.impl.template.__GT_NativeWrapper = (function reagent$impl$template$__GT_NativeWrapper(comp){
|
||||
return (new reagent.impl.template.NativeWrapper(comp));
|
||||
});
|
||||
|
||||
reagent.impl.template.named_QMARK_ = (function reagent$impl$template$named_QMARK_(x){
|
||||
return (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));
|
||||
});
|
||||
reagent.impl.template.hiccup_tag_QMARK_ = (function reagent$impl$template$hiccup_tag_QMARK_(x){
|
||||
return ((reagent.impl.template.named_QMARK_(x)) || (typeof x === 'string'));
|
||||
});
|
||||
reagent.impl.template.valid_tag_QMARK_ = (function reagent$impl$template$valid_tag_QMARK_(x){
|
||||
return ((reagent.impl.template.hiccup_tag_QMARK_(x)) || (((cljs.core.ifn_QMARK_(x)) || ((x instanceof reagent.impl.template.NativeWrapper)))));
|
||||
});
|
||||
reagent.impl.template.prop_name_cache = ({"class": "className", "for": "htmlFor", "charset": "charSet"});
|
||||
reagent.impl.template.obj_get = (function reagent$impl$template$obj_get(o,k){
|
||||
if(cljs.core.truth_(o.hasOwnProperty(k))){
|
||||
return (o[k]);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.cached_prop_name = (function reagent$impl$template$cached_prop_name(k){
|
||||
if(reagent.impl.template.named_QMARK_(k)){
|
||||
var temp__4659__auto__ = reagent.impl.template.obj_get(reagent.impl.template.prop_name_cache,cljs.core.name(k));
|
||||
if((temp__4659__auto__ == null)){
|
||||
return (reagent.impl.template.prop_name_cache[cljs.core.name(k)] = reagent.impl.util.dash_to_camel(k));
|
||||
} else {
|
||||
var k_SINGLEQUOTE_ = temp__4659__auto__;
|
||||
return k_SINGLEQUOTE_;
|
||||
}
|
||||
} else {
|
||||
return k;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.convert_prop_value = (function reagent$impl$template$convert_prop_value(x){
|
||||
if(((typeof x === 'string') || (((typeof x === 'number') || (cljs.core.fn_QMARK_(x)))))){
|
||||
return x;
|
||||
} else {
|
||||
if(reagent.impl.template.named_QMARK_(x)){
|
||||
return cljs.core.name(x);
|
||||
} else {
|
||||
if(cljs.core.map_QMARK_(x)){
|
||||
return cljs.core.reduce_kv((function (o,k,v){
|
||||
var G__7451 = o;
|
||||
(G__7451[reagent.impl.template.cached_prop_name(k)] = (reagent.impl.template.convert_prop_value.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.template.convert_prop_value.cljs$core$IFn$_invoke$arity$1(v) : reagent.impl.template.convert_prop_value.call(null,v)));
|
||||
|
||||
return G__7451;
|
||||
}),({}),x);
|
||||
} else {
|
||||
if(cljs.core.coll_QMARK_(x)){
|
||||
return cljs.core.clj__GT_js(x);
|
||||
} else {
|
||||
if(cljs.core.ifn_QMARK_(x)){
|
||||
return (function() {
|
||||
var G__7452__delegate = function (args){
|
||||
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(x,args);
|
||||
};
|
||||
var G__7452 = function (var_args){
|
||||
var args = null;
|
||||
if (arguments.length > 0) {
|
||||
var G__7453__i = 0, G__7453__a = new Array(arguments.length - 0);
|
||||
while (G__7453__i < G__7453__a.length) {G__7453__a[G__7453__i] = arguments[G__7453__i + 0]; ++G__7453__i;}
|
||||
args = new cljs.core.IndexedSeq(G__7453__a,0,null);
|
||||
}
|
||||
return G__7452__delegate.call(this,args);};
|
||||
G__7452.cljs$lang$maxFixedArity = 0;
|
||||
G__7452.cljs$lang$applyTo = (function (arglist__7454){
|
||||
var args = cljs.core.seq(arglist__7454);
|
||||
return G__7452__delegate(args);
|
||||
});
|
||||
G__7452.cljs$core$IFn$_invoke$arity$variadic = G__7452__delegate;
|
||||
return G__7452;
|
||||
})()
|
||||
;
|
||||
} else {
|
||||
return cljs.core.clj__GT_js(x);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
reagent.impl.template.set_id_class = (function reagent$impl$template$set_id_class(props,id,class$){
|
||||
var p = (((props == null))?({}):props);
|
||||
if((((!((id == null)))) && (((p["id"]) == null)))){
|
||||
(p["id"] = id);
|
||||
} else {
|
||||
}
|
||||
|
||||
if((!((class$ == null)))){
|
||||
var old_7455 = (p["className"]);
|
||||
(p["className"] = (((!((old_7455 == null))))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(class$)," ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(old_7455)].join(''):class$));
|
||||
} else {
|
||||
}
|
||||
|
||||
return p;
|
||||
});
|
||||
reagent.impl.template.convert_props = (function reagent$impl$template$convert_props(props,id_class){
|
||||
var id = (id_class["id"]);
|
||||
var class$ = (id_class["className"]);
|
||||
var no_id_class = (((id == null)) && ((class$ == null)));
|
||||
if(((no_id_class) && (cljs.core.empty_QMARK_(props)))){
|
||||
return null;
|
||||
} else {
|
||||
var objprops = reagent.impl.template.convert_prop_value(props);
|
||||
if(no_id_class){
|
||||
return objprops;
|
||||
} else {
|
||||
return reagent.impl.template.set_id_class(objprops,id,class$);
|
||||
}
|
||||
}
|
||||
});
|
||||
reagent.impl.template.input_unmount = (function reagent$impl$template$input_unmount(this$){
|
||||
return (this$["cljsInputValue"] = null);
|
||||
});
|
||||
reagent.impl.template.these_inputs_have_selection_api = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, ["url",null,"tel",null,"text",null,"textarea",null,"password",null,"search",null], null), null);
|
||||
reagent.impl.template.has_selection_api_QMARK_ = (function reagent$impl$template$has_selection_api_QMARK_(input_type){
|
||||
return cljs.core.contains_QMARK_(reagent.impl.template.these_inputs_have_selection_api,input_type);
|
||||
});
|
||||
reagent.impl.template.input_set_value = (function reagent$impl$template$input_set_value(this$){
|
||||
var temp__4661__auto__ = (this$["cljsInputValue"]);
|
||||
if((temp__4661__auto__ == null)){
|
||||
return null;
|
||||
} else {
|
||||
var value = temp__4661__auto__;
|
||||
(this$["cljsInputDirty"] = false);
|
||||
|
||||
var node = (this$["getDOMNode"])();
|
||||
var node_value = (node["value"]);
|
||||
if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(value,node_value)){
|
||||
if((!((((node === document.activeElement)) && (((reagent.impl.template.has_selection_api_QMARK_((node["type"]))) && (((typeof value === 'string') && (typeof node_value === 'string'))))))))){
|
||||
return (node["value"] = value);
|
||||
} else {
|
||||
var existing_offset_from_end = (cljs.core.count(node_value) - (node["selectionStart"]));
|
||||
var new_cursor_offset = (cljs.core.count(value) - existing_offset_from_end);
|
||||
(node["value"] = value);
|
||||
|
||||
(node["selectionStart"] = new_cursor_offset);
|
||||
|
||||
return (node["selectionEnd"] = new_cursor_offset);
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
});
|
||||
reagent.impl.template.input_handle_change = (function reagent$impl$template$input_handle_change(this$,on_change,e){
|
||||
var res = (on_change.cljs$core$IFn$_invoke$arity$1 ? on_change.cljs$core$IFn$_invoke$arity$1(e) : on_change.call(null,e));
|
||||
if(cljs.core.truth_((this$["cljsInputDirty"]))){
|
||||
} else {
|
||||
(this$["cljsInputDirty"] = true);
|
||||
|
||||
reagent.impl.batching.do_later((function (){
|
||||
return reagent.impl.template.input_set_value(this$);
|
||||
}));
|
||||
}
|
||||
|
||||
return res;
|
||||
});
|
||||
reagent.impl.template.input_render_setup = (function reagent$impl$template$input_render_setup(this$,jsprops){
|
||||
if(cljs.core.truth_((function (){var and__5043__auto__ = (jsprops["hasOwnProperty"])("onChange");
|
||||
if(cljs.core.truth_(and__5043__auto__)){
|
||||
return (jsprops["hasOwnProperty"])("value");
|
||||
} else {
|
||||
return and__5043__auto__;
|
||||
}
|
||||
})())){
|
||||
var v = (jsprops["value"]);
|
||||
var value = (((v == null))?"":v);
|
||||
var on_change = (jsprops["onChange"]);
|
||||
(this$["cljsInputValue"] = value);
|
||||
|
||||
delete jsprops["value"];
|
||||
|
||||
var G__7457 = jsprops;
|
||||
(G__7457["defaultValue"] = value);
|
||||
|
||||
(G__7457["onChange"] = (function (p1__7456_SHARP_){
|
||||
return reagent.impl.template.input_handle_change(this$,on_change,p1__7456_SHARP_);
|
||||
}));
|
||||
|
||||
return G__7457;
|
||||
} else {
|
||||
return (this$["cljsInputValue"] = null);
|
||||
}
|
||||
});
|
||||
reagent.impl.template.input_component_QMARK_ = (function reagent$impl$template$input_component_QMARK_(x){
|
||||
return (((x === "input")) || ((x === "textarea")));
|
||||
});
|
||||
reagent.impl.template.reagent_input_class = null;
|
||||
reagent.impl.template.input_spec = new cljs.core.PersistentArrayMap(null, 4, [cljs.core.cst$kw$display_DASH_name,"ReagentInput",cljs.core.cst$kw$component_DASH_did_DASH_update,reagent.impl.template.input_set_value,cljs.core.cst$kw$component_DASH_will_DASH_unmount,reagent.impl.template.input_unmount,cljs.core.cst$kw$reagent_DASH_render,(function (argv,comp,jsprops,first_child){
|
||||
var this$ = reagent.impl.component._STAR_current_component_STAR_;
|
||||
reagent.impl.template.input_render_setup(this$,jsprops);
|
||||
|
||||
return (reagent.impl.template.make_element.cljs$core$IFn$_invoke$arity$4 ? reagent.impl.template.make_element.cljs$core$IFn$_invoke$arity$4(argv,comp,jsprops,first_child) : reagent.impl.template.make_element.call(null,argv,comp,jsprops,first_child));
|
||||
})], null);
|
||||
reagent.impl.template.reagent_input = (function reagent$impl$template$reagent_input(){
|
||||
if((reagent.impl.template.reagent_input_class == null)){
|
||||
(reagent.impl.template.reagent_input_class = reagent.impl.component.create_class(reagent.impl.template.input_spec));
|
||||
} else {
|
||||
}
|
||||
|
||||
return reagent.impl.template.reagent_input_class;
|
||||
});
|
||||
reagent.impl.template.parse_tag = (function reagent$impl$template$parse_tag(hiccup_tag){
|
||||
var vec__7458 = cljs.core.next(cljs.core.re_matches(reagent.impl.template.re_tag,cljs.core.name(hiccup_tag)));
|
||||
var tag = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7458,(0),null);
|
||||
var id = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7458,(1),null);
|
||||
var class$ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__7458,(2),null);
|
||||
var class_SINGLEQUOTE_ = (cljs.core.truth_(class$)?clojure.string.replace(class$,/\./," "):null);
|
||||
if(cljs.core.truth_(tag)){
|
||||
} else {
|
||||
throw (new Error(["Assert failed: ",["Invalid tag: '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(hiccup_tag),"'",reagent.impl.component.comp_name()].join(''),"\n","tag"].join('')));
|
||||
}
|
||||
|
||||
return ({"name": tag, "id": id, "className": class_SINGLEQUOTE_});
|
||||
});
|
||||
reagent.impl.template.fn_to_class = (function reagent$impl$template$fn_to_class(f){
|
||||
if(cljs.core.ifn_QMARK_(f)){
|
||||
} else {
|
||||
throw (new Error(["Assert failed: ",["Expected a function, not ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0))].join(''),"\n","(ifn? f)"].join('')));
|
||||
}
|
||||
|
||||
if((((!((!(((cljs.core.fn_QMARK_(f)) && ((!(((f["type"]) == null)))))))))) && ((typeof console !== 'undefined')))){
|
||||
console.warn(["Warning: ","Using native React classes directly in Hiccup forms ","is not supported. Use create-element or ","adapt-react-class instead: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((f["type"])),reagent.impl.component.comp_name()].join(''));
|
||||
} else {
|
||||
}
|
||||
|
||||
var spec = cljs.core.meta(f);
|
||||
var withrender = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,cljs.core.cst$kw$reagent_DASH_render,f);
|
||||
var res = reagent.impl.component.create_class(withrender);
|
||||
var wrapf = reagent.impl.util.cached_react_class(res);
|
||||
reagent.impl.util.cache_react_class(f,wrapf);
|
||||
|
||||
return wrapf;
|
||||
});
|
||||
reagent.impl.template.as_class = (function reagent$impl$template$as_class(tag){
|
||||
var temp__4659__auto__ = reagent.impl.util.cached_react_class(tag);
|
||||
if((temp__4659__auto__ == null)){
|
||||
return reagent.impl.template.fn_to_class(tag);
|
||||
} else {
|
||||
var cached_class = temp__4659__auto__;
|
||||
return cached_class;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.get_key = (function reagent$impl$template$get_key(x){
|
||||
if(cljs.core.map_QMARK_(x)){
|
||||
try{return cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,cljs.core.cst$kw$key);
|
||||
}catch (e7461){var e = e7461;
|
||||
return null;
|
||||
}} else {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.key_from_vec = (function reagent$impl$template$key_from_vec(v){
|
||||
var temp__4659__auto__ = (function (){var G__7462 = cljs.core.meta(v);
|
||||
if((G__7462 == null)){
|
||||
return null;
|
||||
} else {
|
||||
return reagent.impl.template.get_key(G__7462);
|
||||
}
|
||||
})();
|
||||
if((temp__4659__auto__ == null)){
|
||||
return reagent.impl.template.get_key(cljs.core.nth.cljs$core$IFn$_invoke$arity$3(v,(1),null));
|
||||
} else {
|
||||
var k = temp__4659__auto__;
|
||||
return k;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.reag_element = (function reagent$impl$template$reag_element(tag,v){
|
||||
var c = reagent.impl.template.as_class(tag);
|
||||
var jsprops = ({"argv": v});
|
||||
var G__7463_7464 = v;
|
||||
var G__7463_7465__$1 = (((G__7463_7464 == null))?null:reagent.impl.template.key_from_vec(G__7463_7464));
|
||||
if((G__7463_7465__$1 == null)){
|
||||
} else {
|
||||
(jsprops["key"] = G__7463_7465__$1);
|
||||
}
|
||||
|
||||
return (React["createElement"])(c,jsprops);
|
||||
});
|
||||
reagent.impl.template.adapt_react_class = (function reagent$impl$template$adapt_react_class(c){
|
||||
return (new reagent.impl.template.NativeWrapper(({"name": c, "id": null, "class": null})));
|
||||
});
|
||||
reagent.impl.template.tag_name_cache = ({});
|
||||
reagent.impl.template.cached_parse = (function reagent$impl$template$cached_parse(x){
|
||||
var temp__4659__auto__ = reagent.impl.template.obj_get(reagent.impl.template.tag_name_cache,x);
|
||||
if((temp__4659__auto__ == null)){
|
||||
return (reagent.impl.template.tag_name_cache[x] = reagent.impl.template.parse_tag(x));
|
||||
} else {
|
||||
var s = temp__4659__auto__;
|
||||
return s;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.native_element = (function reagent$impl$template$native_element(parsed,argv){
|
||||
var comp = (parsed["name"]);
|
||||
var props = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(argv,(1),null);
|
||||
var hasprops = (((props == null)) || (cljs.core.map_QMARK_(props)));
|
||||
var jsprops = reagent.impl.template.convert_props(((hasprops)?props:null),parsed);
|
||||
var first_child = ((hasprops)?(2):(1));
|
||||
if(reagent.impl.template.input_component_QMARK_(comp)){
|
||||
var G__7466 = cljs.core.with_meta(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [reagent.impl.template.reagent_input(),argv,comp,jsprops,first_child], null),cljs.core.meta(argv));
|
||||
return (reagent.impl.template.as_element.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.template.as_element.cljs$core$IFn$_invoke$arity$1(G__7466) : reagent.impl.template.as_element.call(null,G__7466));
|
||||
} else {
|
||||
var p = (function (){var temp__4659__auto__ = (function (){var G__7467 = cljs.core.meta(argv);
|
||||
if((G__7467 == null)){
|
||||
return null;
|
||||
} else {
|
||||
return reagent.impl.template.get_key(G__7467);
|
||||
}
|
||||
})();
|
||||
if((temp__4659__auto__ == null)){
|
||||
return jsprops;
|
||||
} else {
|
||||
var key = temp__4659__auto__;
|
||||
var G__7468 = (((jsprops == null))?({}):jsprops);
|
||||
(G__7468["key"] = key);
|
||||
|
||||
return G__7468;
|
||||
}
|
||||
})();
|
||||
return (reagent.impl.template.make_element.cljs$core$IFn$_invoke$arity$4 ? reagent.impl.template.make_element.cljs$core$IFn$_invoke$arity$4(argv,comp,p,first_child) : reagent.impl.template.make_element.call(null,argv,comp,p,first_child));
|
||||
}
|
||||
});
|
||||
reagent.impl.template.vec_to_elem = (function reagent$impl$template$vec_to_elem(v){
|
||||
while(true){
|
||||
if((cljs.core.count(v) > (0))){
|
||||
} else {
|
||||
throw (new Error(["Assert failed: ",["Hiccup form should not be empty: ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v], 0)),reagent.impl.component.comp_name()].join(''),"\n","(pos? (count v))"].join('')));
|
||||
}
|
||||
|
||||
var tag = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,(0));
|
||||
if(reagent.impl.template.valid_tag_QMARK_(tag)){
|
||||
} else {
|
||||
throw (new Error(["Assert failed: ",["Invalid Hiccup form: ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v], 0)),reagent.impl.component.comp_name()].join(''),"\n","(valid-tag? tag)"].join('')));
|
||||
}
|
||||
|
||||
if(reagent.impl.template.hiccup_tag_QMARK_(tag)){
|
||||
var n = cljs.core.name(tag);
|
||||
var pos = n.indexOf(">");
|
||||
if((pos === (-1))){
|
||||
return reagent.impl.template.native_element(reagent.impl.template.cached_parse(n),v);
|
||||
} else {
|
||||
var G__7469 = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(n,(0),pos),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,(0),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(n,(pos + (1))))], null);
|
||||
v = G__7469;
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
if((tag instanceof reagent.impl.template.NativeWrapper)){
|
||||
return reagent.impl.template.native_element(tag.comp,v);
|
||||
} else {
|
||||
return reagent.impl.template.reag_element(tag,v);
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
});
|
||||
reagent.impl.template.as_element = (function reagent$impl$template$as_element(x){
|
||||
if(typeof x === 'string'){
|
||||
return x;
|
||||
} else {
|
||||
if(cljs.core.vector_QMARK_(x)){
|
||||
return reagent.impl.template.vec_to_elem(x);
|
||||
} else {
|
||||
if(cljs.core.seq_QMARK_(x)){
|
||||
return (reagent.impl.template.expand_seq_check.cljs$core$IFn$_invoke$arity$1 ? reagent.impl.template.expand_seq_check.cljs$core$IFn$_invoke$arity$1(x) : reagent.impl.template.expand_seq_check.call(null,x));
|
||||
|
||||
} else {
|
||||
return x;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
reagent.impl.template.expand_seq = (function reagent$impl$template$expand_seq(s){
|
||||
var a = cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(s);
|
||||
var n__5636__auto___7470 = a.length;
|
||||
var i_7471 = (0);
|
||||
while(true){
|
||||
if((i_7471 < n__5636__auto___7470)){
|
||||
(a[i_7471] = reagent.impl.template.as_element((a[i_7471])));
|
||||
|
||||
var G__7472 = (i_7471 + (1));
|
||||
i_7471 = G__7472;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return a;
|
||||
});
|
||||
reagent.impl.template.expand_seq_dev = (function reagent$impl$template$expand_seq_dev(s,o){
|
||||
var a = cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(s);
|
||||
var n__5636__auto___7473 = a.length;
|
||||
var i_7474 = (0);
|
||||
while(true){
|
||||
if((i_7474 < n__5636__auto___7473)){
|
||||
var val_7475 = (a[i_7474]);
|
||||
if(((cljs.core.vector_QMARK_(val_7475)) && ((reagent.impl.template.key_from_vec(val_7475) == null)))){
|
||||
(o["no-key"] = true);
|
||||
} else {
|
||||
}
|
||||
|
||||
(a[i_7474] = reagent.impl.template.as_element(val_7475));
|
||||
|
||||
var G__7476 = (i_7474 + (1));
|
||||
i_7474 = G__7476;
|
||||
continue;
|
||||
} else {
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return a;
|
||||
});
|
||||
reagent.impl.template.expand_seq_check = (function reagent$impl$template$expand_seq_check(x){
|
||||
var ctx = ({});
|
||||
var res = (((reagent.ratom._STAR_ratom_context_STAR_ == null))?reagent.impl.template.expand_seq_dev(x,ctx):reagent.ratom.capture_derefed((function (){
|
||||
return reagent.impl.template.expand_seq_dev(x,ctx);
|
||||
}),ctx));
|
||||
if(cljs.core.truth_(reagent.ratom.captured(ctx))){
|
||||
if((typeof console !== 'undefined')){
|
||||
console.warn(["Warning: ","Reactive deref not supported in lazy seq, ","it should be wrapped in doall",reagent.impl.component.comp_name(),". Value:\n",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0))].join(''));
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
||||
if(cljs.core.truth_((function (){var and__5043__auto__ = cljs.core.not(reagent.impl.component._STAR_non_reactive_STAR_);
|
||||
if(and__5043__auto__){
|
||||
return (ctx["no-key"]);
|
||||
} else {
|
||||
return and__5043__auto__;
|
||||
}
|
||||
})())){
|
||||
if((typeof console !== 'undefined')){
|
||||
console.warn(["Warning: ","Every element in a seq should have a unique ",":key",reagent.impl.component.comp_name(),". Value: ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0))].join(''));
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
}
|
||||
|
||||
return res;
|
||||
});
|
||||
reagent.impl.template.make_element = (function reagent$impl$template$make_element(argv,comp,jsprops,first_child){
|
||||
var G__7477 = (cljs.core.count(argv) - first_child);
|
||||
switch (G__7477) {
|
||||
case (0):
|
||||
return (React["createElement"])(comp,jsprops);
|
||||
|
||||
break;
|
||||
case (1):
|
||||
return (React["createElement"])(comp,jsprops,reagent.impl.template.as_element(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(argv,first_child)));
|
||||
|
||||
break;
|
||||
default:
|
||||
return (React["createElement"]).apply(null,cljs.core.reduce_kv((function (a,k,v){
|
||||
if((k >= first_child)){
|
||||
a.push(reagent.impl.template.as_element(v));
|
||||
} else {
|
||||
}
|
||||
|
||||
return a;
|
||||
}),[comp,jsprops],argv));
|
||||
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user