984 lines
99 KiB
JavaScript
984 lines
99 KiB
JavaScript
// Compiled by ClojureScript 1.9.229 {}
|
|
goog.provide('re_com.popover');
|
|
goog.require('cljs.core');
|
|
goog.require('re_com.util');
|
|
goog.require('re_com.box');
|
|
goog.require('re_com.validate');
|
|
goog.require('clojure.string');
|
|
goog.require('reagent.core');
|
|
goog.require('reagent.ratom');
|
|
re_com.popover.point = (function re_com$popover$point(x,y){
|
|
return [cljs.core.str(x),cljs.core.str(","),cljs.core.str(y),cljs.core.str(" ")].join('');
|
|
});
|
|
/**
|
|
* Return the vector of the two keywords formed by splitting another keyword 'kw' on an internal delimiter (usually '-')
|
|
* (split-keyword :above-left "-") => [:above :left]
|
|
*/
|
|
re_com.popover.split_keyword = (function re_com$popover$split_keyword(kw,delimiter){
|
|
var keywords = clojure.string.split.call(null,[cljs.core.str(kw)].join(''),cljs.core.re_pattern.call(null,[cljs.core.str("["),cljs.core.str(delimiter),cljs.core.str(":]")].join('')));
|
|
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.call(null,keywords.call(null,(1))),cljs.core.keyword.call(null,keywords.call(null,(2)))], null);
|
|
});
|
|
/**
|
|
* A button with a big X in it, placed to the right of the popover title
|
|
*/
|
|
re_com.popover.close_button = (function re_com$popover$close_button(showing_QMARK_,close_callback,style){
|
|
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"button","button",1456579943),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"on-click","on-click",1632826543),(function (event){
|
|
if(cljs.core.truth_(close_callback)){
|
|
close_callback.call(null);
|
|
} else {
|
|
cljs.core.reset_BANG_.call(null,showing_QMARK_,false);
|
|
}
|
|
|
|
return null;
|
|
}),new cljs.core.Keyword(null,"class","class",-2030961996),"close",new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"width","width",-384071477),"34px",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"26px",new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",new cljs.core.Keyword(null,"top","top",-1856271961),"4px",new cljs.core.Keyword(null,"right","right",-452581833),"2px"], null),style)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"i","i",-1386841315),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"class","class",-2030961996),"zmdi zmdi-hc-fw-rc zmdi-close"], null)], null)], null);
|
|
});
|
|
/**
|
|
* Determine values for :left :right :top :bottom CSS styles.
|
|
* - pop-orient What side of the anchor the popover will be attached to. One of :above :below :left :right
|
|
* - p-width The px width of the popover after it has been rendered
|
|
* - p-height The px height of the popover after it has been rendered
|
|
* - pop-offset The number of pixels the popover is offset from it's natural position in relation to the popover-arrow (ugh, hard to explain)
|
|
* - arrow-length The px length of the arrow (from the point to middle of arrow base)
|
|
* - arrow-gap The px distance between the anchor and the arrow tip. Positive numbers push the popover away from the anchor
|
|
*
|
|
*/
|
|
re_com.popover.calc_popover_pos = (function re_com$popover$calc_popover_pos(pop_orient,p_width,p_height,pop_offset,arrow_length,arrow_gap){
|
|
var total_offset = (arrow_length + arrow_gap);
|
|
var popover_left = (function (){var G__27237 = (((pop_orient instanceof cljs.core.Keyword))?pop_orient.fqn:null);
|
|
switch (G__27237) {
|
|
case "left":
|
|
return "initial";
|
|
|
|
break;
|
|
case "right":
|
|
return re_com.util.px.call(null,total_offset);
|
|
|
|
break;
|
|
case "above":
|
|
return re_com.util.px.call(null,(cljs.core.truth_(pop_offset)?pop_offset:(p_width / (2))),new cljs.core.Keyword(null,"negative","negative",-1562068438));
|
|
|
|
break;
|
|
case "below":
|
|
return re_com.util.px.call(null,(cljs.core.truth_(pop_offset)?pop_offset:(p_width / (2))),new cljs.core.Keyword(null,"negative","negative",-1562068438));
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(pop_orient)].join('')));
|
|
|
|
}
|
|
})();
|
|
var popover_top = (function (){var G__27238 = (((pop_orient instanceof cljs.core.Keyword))?pop_orient.fqn:null);
|
|
switch (G__27238) {
|
|
case "left":
|
|
return re_com.util.px.call(null,(cljs.core.truth_(pop_offset)?pop_offset:(p_height / (2))),new cljs.core.Keyword(null,"negative","negative",-1562068438));
|
|
|
|
break;
|
|
case "right":
|
|
return re_com.util.px.call(null,(cljs.core.truth_(pop_offset)?pop_offset:(p_height / (2))),new cljs.core.Keyword(null,"negative","negative",-1562068438));
|
|
|
|
break;
|
|
case "above":
|
|
return "initial";
|
|
|
|
break;
|
|
case "below":
|
|
return re_com.util.px.call(null,total_offset);
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(pop_orient)].join('')));
|
|
|
|
}
|
|
})();
|
|
var popover_right = (function (){var G__27239 = (((pop_orient instanceof cljs.core.Keyword))?pop_orient.fqn:null);
|
|
switch (G__27239) {
|
|
case "left":
|
|
return re_com.util.px.call(null,total_offset);
|
|
|
|
break;
|
|
case "right":
|
|
return null;
|
|
|
|
break;
|
|
case "above":
|
|
return null;
|
|
|
|
break;
|
|
case "below":
|
|
return null;
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(pop_orient)].join('')));
|
|
|
|
}
|
|
})();
|
|
var popover_bottom = (function (){var G__27240 = (((pop_orient instanceof cljs.core.Keyword))?pop_orient.fqn:null);
|
|
switch (G__27240) {
|
|
case "left":
|
|
return null;
|
|
|
|
break;
|
|
case "right":
|
|
return null;
|
|
|
|
break;
|
|
case "above":
|
|
return re_com.util.px.call(null,total_offset);
|
|
|
|
break;
|
|
case "below":
|
|
return null;
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(pop_orient)].join('')));
|
|
|
|
}
|
|
})();
|
|
return new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"left","left",-399115937),popover_left,new cljs.core.Keyword(null,"top","top",-1856271961),popover_top,new cljs.core.Keyword(null,"right","right",-452581833),popover_right,new cljs.core.Keyword(null,"bottom","bottom",-1550509018),popover_bottom], null);
|
|
});
|
|
/**
|
|
* Calculate the optimal :position value that results in the least amount of clipping by the screen edges
|
|
* Taken from: https://github.com/Lambda-X/cljs-repl-web/blob/0.3.1/src/cljs/cljs_repl_web/views/utils.cljs#L52
|
|
* Thanks to @richiardiandrea and @tomek for this code
|
|
*/
|
|
re_com.popover.calculate_optimal_position = (function re_com$popover$calculate_optimal_position(p__27245){
|
|
var vec__27249 = p__27245;
|
|
var x = cljs.core.nth.call(null,vec__27249,(0),null);
|
|
var y = cljs.core.nth.call(null,vec__27249,(1),null);
|
|
var w = window.innerWidth;
|
|
var h = window.innerHeight;
|
|
var h_threshold_left = cljs.core.quot.call(null,w,(3));
|
|
var h_threshold_cent = ((2) * h_threshold_left);
|
|
var h_position = (((x < h_threshold_left))?"right":(((x < h_threshold_cent))?"center":"left"
|
|
));
|
|
var v_threshold = cljs.core.quot.call(null,h,(2));
|
|
var v_position = (((y < v_threshold))?"below":"above");
|
|
return cljs.core.keyword.call(null,[cljs.core.str(v_position),cljs.core.str("-"),cljs.core.str(h_position)].join(''));
|
|
});
|
|
/**
|
|
* Given a node reference, calculate the absolute x and y coordinates of the node's midpoint
|
|
*/
|
|
re_com.popover.calc_element_midpoint = (function re_com$popover$calc_element_midpoint(node){
|
|
var bounding_rect = node.getBoundingClientRect();
|
|
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((bounding_rect.right + bounding_rect.left) / (2)),((bounding_rect.bottom + bounding_rect.top) / (2))], null);
|
|
});
|
|
/**
|
|
* Render the triangle which connects the popover to the anchor (using SVG)
|
|
*/
|
|
re_com.popover.popover_arrow = (function re_com$popover$popover_arrow(orientation,pop_offset,arrow_length,arrow_width,grey_arrow_QMARK_,no_border_QMARK_,popover_color){
|
|
var half_arrow_width = (arrow_width / (2));
|
|
var arrow_shape = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"left","left",-399115937),[cljs.core.str(re_com.popover.point.call(null,(0),(0))),cljs.core.str(re_com.popover.point.call(null,arrow_length,half_arrow_width)),cljs.core.str(re_com.popover.point.call(null,(0),arrow_width))].join(''),new cljs.core.Keyword(null,"right","right",-452581833),[cljs.core.str(re_com.popover.point.call(null,arrow_length,(0))),cljs.core.str(re_com.popover.point.call(null,(0),half_arrow_width)),cljs.core.str(re_com.popover.point.call(null,arrow_length,arrow_width))].join(''),new cljs.core.Keyword(null,"above","above",-1286866470),[cljs.core.str(re_com.popover.point.call(null,(0),(0))),cljs.core.str(re_com.popover.point.call(null,half_arrow_width,arrow_length)),cljs.core.str(re_com.popover.point.call(null,arrow_width,(0)))].join(''),new cljs.core.Keyword(null,"below","below",-926774883),[cljs.core.str(re_com.popover.point.call(null,(0),arrow_length)),cljs.core.str(re_com.popover.point.call(null,half_arrow_width,(0))),cljs.core.str(re_com.popover.point.call(null,arrow_width,arrow_length))].join('')], null);
|
|
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"svg","svg",856789142),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),"popover-arrow",new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.PersistentArrayMap.fromArray([new cljs.core.Keyword(null,"position","position",-2011731912),"absolute",(function (){var G__27257 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27257) {
|
|
case "left":
|
|
return new cljs.core.Keyword(null,"right","right",-452581833);
|
|
|
|
break;
|
|
case "right":
|
|
return new cljs.core.Keyword(null,"left","left",-399115937);
|
|
|
|
break;
|
|
case "above":
|
|
return new cljs.core.Keyword(null,"bottom","bottom",-1550509018);
|
|
|
|
break;
|
|
case "below":
|
|
return new cljs.core.Keyword(null,"top","top",-1856271961);
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(orientation)].join('')));
|
|
|
|
}
|
|
})(),re_com.util.px.call(null,arrow_length,new cljs.core.Keyword(null,"negative","negative",-1562068438)),(function (){var G__27258 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27258) {
|
|
case "left":
|
|
return new cljs.core.Keyword(null,"top","top",-1856271961);
|
|
|
|
break;
|
|
case "right":
|
|
return new cljs.core.Keyword(null,"top","top",-1856271961);
|
|
|
|
break;
|
|
case "above":
|
|
return new cljs.core.Keyword(null,"left","left",-399115937);
|
|
|
|
break;
|
|
case "below":
|
|
return new cljs.core.Keyword(null,"left","left",-399115937);
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(orientation)].join('')));
|
|
|
|
}
|
|
})(),(((pop_offset == null))?"50%":re_com.util.px.call(null,pop_offset)),(function (){var G__27259 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27259) {
|
|
case "left":
|
|
return new cljs.core.Keyword(null,"margin-top","margin-top",392161226);
|
|
|
|
break;
|
|
case "right":
|
|
return new cljs.core.Keyword(null,"margin-top","margin-top",392161226);
|
|
|
|
break;
|
|
case "above":
|
|
return new cljs.core.Keyword(null,"margin-left","margin-left",2015598377);
|
|
|
|
break;
|
|
case "below":
|
|
return new cljs.core.Keyword(null,"margin-left","margin-left",2015598377);
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(orientation)].join('')));
|
|
|
|
}
|
|
})(),re_com.util.px.call(null,half_arrow_width,new cljs.core.Keyword(null,"negative","negative",-1562068438)),new cljs.core.Keyword(null,"width","width",-384071477),re_com.util.px.call(null,(function (){var G__27260 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27260) {
|
|
case "left":
|
|
return arrow_length;
|
|
|
|
break;
|
|
case "right":
|
|
return arrow_length;
|
|
|
|
break;
|
|
case "above":
|
|
return arrow_width;
|
|
|
|
break;
|
|
case "below":
|
|
return arrow_width;
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(orientation)].join('')));
|
|
|
|
}
|
|
})()),new cljs.core.Keyword(null,"height","height",1025178622),re_com.util.px.call(null,(function (){var G__27261 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27261) {
|
|
case "left":
|
|
return arrow_width;
|
|
|
|
break;
|
|
case "right":
|
|
return arrow_width;
|
|
|
|
break;
|
|
case "above":
|
|
return arrow_length;
|
|
|
|
break;
|
|
case "below":
|
|
return arrow_length;
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(orientation)].join('')));
|
|
|
|
}
|
|
})())], true, false)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"polyline","polyline",-1731551044),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"points","points",-1486596883),arrow_shape.call(null,orientation),new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"fill","fill",883462889),(cljs.core.truth_(popover_color)?popover_color:(cljs.core.truth_(grey_arrow_QMARK_)?"#f7f7f7":"white")),new cljs.core.Keyword(null,"stroke","stroke",1741823555),(cljs.core.truth_(no_border_QMARK_)?null:"rgba(0, 0, 0, .2)"),new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),"1"], null)], null)], null)], null);
|
|
});
|
|
re_com.popover.backdrop_args_desc = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"opacity","opacity",397153780),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),0.0,new cljs.core.Keyword(null,"type","type",1174270348),"double | string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.number_or_string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"opacity of backdrop from:",new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"br","br",934104792)], null),"0.0 (transparent) to 1.0 (opaque)"], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"on-click","on-click",1632826543),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"-> nil",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.fn_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a function which takes no params and returns nothing. Called when the backdrop is clicked"], null)], null);
|
|
/**
|
|
* Renders a backdrop dive which fills the entire page and responds to clicks on it. Can also specify how tranparent it should be
|
|
*/
|
|
re_com.popover.backdrop = (function re_com$popover$backdrop(var_args){
|
|
var args__26212__auto__ = [];
|
|
var len__26205__auto___27271 = arguments.length;
|
|
var i__26206__auto___27272 = (0);
|
|
while(true){
|
|
if((i__26206__auto___27272 < len__26205__auto___27271)){
|
|
args__26212__auto__.push((arguments[i__26206__auto___27272]));
|
|
|
|
var G__27273 = (i__26206__auto___27272 + (1));
|
|
i__26206__auto___27272 = G__27273;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__26213__auto__ = ((((0) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((0)),(0),null)):null);
|
|
return re_com.popover.backdrop.cljs$core$IFn$_invoke$arity$variadic(argseq__26213__auto__);
|
|
});
|
|
|
|
re_com.popover.backdrop.cljs$core$IFn$_invoke$arity$variadic = (function (p__27268){
|
|
var map__27269 = p__27268;
|
|
var map__27269__$1 = ((((!((map__27269 == null)))?((((map__27269.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27269.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27269):map__27269);
|
|
var args = map__27269__$1;
|
|
var opacity = cljs.core.get.call(null,map__27269__$1,new cljs.core.Keyword(null,"opacity","opacity",397153780));
|
|
var on_click = cljs.core.get.call(null,map__27269__$1,new cljs.core.Keyword(null,"on-click","on-click",1632826543));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.backdrop_args_desc),args,"backdrop")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro backdrop-args-desc args \"backdrop\")"));
|
|
}
|
|
|
|
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"class","class",-2030961996),"rc-backdrop noselect",new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"position","position",-2011731912),"fixed",new cljs.core.Keyword(null,"left","left",-399115937),"0px",new cljs.core.Keyword(null,"top","top",-1856271961),"0px",new cljs.core.Keyword(null,"width","width",-384071477),"100%",new cljs.core.Keyword(null,"height","height",1025178622),"100%",new cljs.core.Keyword(null,"background-color","background-color",570434026),"black",new cljs.core.Keyword(null,"opacity","opacity",397153780),(cljs.core.truth_(opacity)?opacity:0.0)], null),new cljs.core.Keyword(null,"on-click","on-click",1632826543),((function (map__27269,map__27269__$1,args,opacity,on_click){
|
|
return (function (event){
|
|
on_click.call(null);
|
|
|
|
return null;
|
|
});})(map__27269,map__27269__$1,args,opacity,on_click))
|
|
], null)], null);
|
|
});
|
|
|
|
re_com.popover.backdrop.cljs$lang$maxFixedArity = (0);
|
|
|
|
re_com.popover.backdrop.cljs$lang$applyTo = (function (seq27267){
|
|
return re_com.popover.backdrop.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq27267));
|
|
});
|
|
|
|
re_com.popover.popover_title_args_desc = new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"showing?","showing?",2094921488),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean atom",new cljs.core.Keyword(null,"description","description",-1428560544),"an atom. When the value is true, the popover shows."], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"title","title",636505583),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string | hiccup",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"describes the title of the popover. Default font size is 18px to make it stand out"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"when true, displays the close button"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"close-callback","close-callback",651188974),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"-> nil",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.fn_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"a function which takes no params and returns nothing. Called when the close button is pressed. Not required if ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":showing?"], null)," atom passed in OR ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":close-button?"], null)," is set to false"], null)], null)], null);
|
|
/**
|
|
* Renders a title at the top of a popover with an optional close button on the far right
|
|
*/
|
|
re_com.popover.popover_title = (function re_com$popover$popover_title(var_args){
|
|
var args__26212__auto__ = [];
|
|
var len__26205__auto___27278 = arguments.length;
|
|
var i__26206__auto___27279 = (0);
|
|
while(true){
|
|
if((i__26206__auto___27279 < len__26205__auto___27278)){
|
|
args__26212__auto__.push((arguments[i__26206__auto___27279]));
|
|
|
|
var G__27280 = (i__26206__auto___27279 + (1));
|
|
i__26206__auto___27279 = G__27280;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__26213__auto__ = ((((0) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((0)),(0),null)):null);
|
|
return re_com.popover.popover_title.cljs$core$IFn$_invoke$arity$variadic(argseq__26213__auto__);
|
|
});
|
|
|
|
re_com.popover.popover_title.cljs$core$IFn$_invoke$arity$variadic = (function (p__27275){
|
|
var map__27276 = p__27275;
|
|
var map__27276__$1 = ((((!((map__27276 == null)))?((((map__27276.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27276.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27276):map__27276);
|
|
var args = map__27276__$1;
|
|
var title = cljs.core.get.call(null,map__27276__$1,new cljs.core.Keyword(null,"title","title",636505583));
|
|
var showing_QMARK_ = cljs.core.get.call(null,map__27276__$1,new cljs.core.Keyword(null,"showing?","showing?",2094921488));
|
|
var close_button_QMARK_ = cljs.core.get.call(null,map__27276__$1,new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687));
|
|
var close_callback = cljs.core.get.call(null,map__27276__$1,new cljs.core.Keyword(null,"close-callback","close-callback",651188974));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_title_args_desc),args,"popover-title")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-title-args-desc args \"popover-title\")"));
|
|
}
|
|
|
|
if(cljs.core.truth_((function (){var or__25130__auto__ = cljs.core.complement.call(null,cljs.core.nil_QMARK_).call(null,showing_QMARK_);
|
|
if(cljs.core.truth_(or__25130__auto__)){
|
|
return or__25130__auto__;
|
|
} else {
|
|
return cljs.core.complement.call(null,cljs.core.nil_QMARK_).call(null,close_callback);
|
|
}
|
|
})())){
|
|
} else {
|
|
throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("Must specify either showing? OR close-callback"),cljs.core.str("\n"),cljs.core.str("(or ((complement nil?) showing?) ((complement nil?) close-callback))")].join('')));
|
|
}
|
|
|
|
var close_button_QMARK___$1 = (((close_button_QMARK_ == null))?true:close_button_QMARK_);
|
|
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"h3.popover-title","h3.popover-title",126205197),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,re_com.box.flex_child_style.call(null,"inherit"),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"18px"], null))], null),new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.box.h_box,new cljs.core.Keyword(null,"justify","justify",-722524056),new cljs.core.Keyword(null,"between","between",1131099276),new cljs.core.Keyword(null,"align","align",1964212802),new cljs.core.Keyword(null,"center","center",-748944368),new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [title,(cljs.core.truth_(close_button_QMARK___$1)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.close_button,showing_QMARK_,close_callback], null):null)], null)], null)], null);
|
|
});
|
|
|
|
re_com.popover.popover_title.cljs$lang$maxFixedArity = (0);
|
|
|
|
re_com.popover.popover_title.cljs$lang$applyTo = (function (seq27274){
|
|
return re_com.popover.popover_title.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq27274));
|
|
});
|
|
|
|
re_com.popover.next_even_integer = (function re_com$popover$next_even_integer(num){
|
|
return ((((num + (1)) / (2)) | (0)) * (2));
|
|
});
|
|
re_com.popover.calc_pop_offset = (function re_com$popover$calc_pop_offset(arrow_pos,position_offset,p_width,p_height){
|
|
var G__27282 = (((arrow_pos instanceof cljs.core.Keyword))?arrow_pos.fqn:null);
|
|
switch (G__27282) {
|
|
case "center":
|
|
return null;
|
|
|
|
break;
|
|
case "right":
|
|
return ((20) + position_offset);
|
|
|
|
break;
|
|
case "below":
|
|
return ((20) + position_offset);
|
|
|
|
break;
|
|
case "left":
|
|
if(cljs.core.truth_(p_width)){
|
|
return ((p_width - (25)) - position_offset);
|
|
} else {
|
|
return p_width;
|
|
}
|
|
|
|
break;
|
|
case "above":
|
|
if(cljs.core.truth_(p_height)){
|
|
return ((p_height - (25)) - position_offset);
|
|
} else {
|
|
return p_height;
|
|
}
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(arrow_pos)].join('')));
|
|
|
|
}
|
|
});
|
|
re_com.popover.popover_clipping = (function re_com$popover$popover_clipping(node){
|
|
var viewport_width = window.innerWidth;
|
|
var viewport_height = window.innerHeight;
|
|
var bounding_rect = node.getBoundingClientRect();
|
|
var left = bounding_rect.left;
|
|
var right = bounding_rect.right;
|
|
var top = bounding_rect.top;
|
|
var bottom = bounding_rect.bottom;
|
|
var clip_left = (((left < (0)))?(- left):null);
|
|
var clip_right = (((right > viewport_width))?(right - viewport_width):null);
|
|
var clip_top = (((top < (0)))?(- top):null);
|
|
var clip_bottom = (((bottom > viewport_height))?(bottom - viewport_height):null);
|
|
return (cljs.core.some_QMARK_.call(null,clip_left)) || (cljs.core.some_QMARK_.call(null,clip_right)) || (cljs.core.some_QMARK_.call(null,clip_top)) || (cljs.core.some_QMARK_.call(null,clip_bottom));
|
|
});
|
|
re_com.popover.popover_border_args_desc = new cljs.core.PersistentVector(null, 14, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"vector",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.sequential_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a vector of component markups"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"keyword atom",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.position_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"relative to this anchor. One of ",re_com.validate.position_options_list], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"position-offset","position-offset",1257061411),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"integer",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.number_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"px offset of the arrow from its default ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":position"], null)," along the popover border. Is ignored when ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":position"], null)," is one of the ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":xxx-center"], null)," variants. Positive numbers slide the popover toward its center"], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style describing the popover width"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"height","height",1025178622),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),"auto",new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style describing the popover height"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),"white",new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"fill color of the popover"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),(11),new cljs.core.Keyword(null,"type","type",1174270348),"integer | string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.number_or_string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the length in pixels of the arrow (from pointy part to middle of arrow base)"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),(22),new cljs.core.Keyword(null,"type","type",1174270348),"integer | string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.number_or_string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the width in pixels of arrow base"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),(-1),new cljs.core.Keyword(null,"type","type",1174270348),"integer",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.number_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"px gap between the anchor and the arrow tip. Positive numbers push the popover away from the anchor"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style which overrides the inner padding of the popover"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style describing the horiztonal offset from anchor after position"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"margin-top","margin-top",392161226),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style describing the vertical offset from anchor after position"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),false,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"setup popover styles for a tooltip"], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"title","title",636505583),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string | markup",new cljs.core.Keyword(null,"description","description",-1428560544),"describes a title"], null)], null);
|
|
/**
|
|
* Renders an element or control along with a Bootstrap popover
|
|
*/
|
|
re_com.popover.popover_border = (function re_com$popover$popover_border(var_args){
|
|
var args__26212__auto__ = [];
|
|
var len__26205__auto___27298 = arguments.length;
|
|
var i__26206__auto___27299 = (0);
|
|
while(true){
|
|
if((i__26206__auto___27299 < len__26205__auto___27298)){
|
|
args__26212__auto__.push((arguments[i__26206__auto___27299]));
|
|
|
|
var G__27300 = (i__26206__auto___27299 + (1));
|
|
i__26206__auto___27299 = G__27300;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__26213__auto__ = ((((0) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((0)),(0),null)):null);
|
|
return re_com.popover.popover_border.cljs$core$IFn$_invoke$arity$variadic(argseq__26213__auto__);
|
|
});
|
|
|
|
re_com.popover.popover_border.cljs$core$IFn$_invoke$arity$variadic = (function (p__27285){
|
|
var map__27286 = p__27285;
|
|
var map__27286__$1 = ((((!((map__27286 == null)))?((((map__27286.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27286.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27286):map__27286);
|
|
var args = map__27286__$1;
|
|
var height = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"height","height",1025178622));
|
|
var tooltip_style_QMARK_ = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527));
|
|
var popover_color = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119));
|
|
var children = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"children","children",-940561982));
|
|
var arrow_length = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),(11));
|
|
var position_offset = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"position-offset","position-offset",1257061411));
|
|
var margin_left = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"margin-left","margin-left",2015598377));
|
|
var arrow_width = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),(22));
|
|
var margin_top = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"margin-top","margin-top",392161226));
|
|
var width = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"width","width",-384071477));
|
|
var title = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"title","title",636505583));
|
|
var arrow_gap = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),(-1));
|
|
var padding = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"padding","padding",1660304693));
|
|
var position = cljs.core.get.call(null,map__27286__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_border_args_desc),args,"popover-border")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-border-args-desc args \"popover-border\")"));
|
|
}
|
|
|
|
var pop_id = cljs.core.gensym.call(null,"popover-");
|
|
var rendered_once = reagent.core.atom.call(null,false);
|
|
var ready_to_show_QMARK_ = reagent.core.atom.call(null,false);
|
|
var p_width = reagent.core.atom.call(null,(0));
|
|
var p_height = reagent.core.atom.call(null,(0));
|
|
var pop_offset = reagent.core.atom.call(null,(0));
|
|
var found_optimal = reagent.core.atom.call(null,false);
|
|
var calc_metrics = ((function (pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position){
|
|
return (function (position__$1){
|
|
var popover_elem = re_com.util.get_element_by_id.call(null,pop_id);
|
|
var vec__27288 = re_com.popover.split_keyword.call(null,position__$1,"-");
|
|
var orientation = cljs.core.nth.call(null,vec__27288,(0),null);
|
|
var arrow_pos = cljs.core.nth.call(null,vec__27288,(1),null);
|
|
var grey_arrow_QMARK_ = (function (){var and__25118__auto__ = title;
|
|
if(cljs.core.truth_(and__25118__auto__)){
|
|
return (cljs.core._EQ_.call(null,orientation,new cljs.core.Keyword(null,"below","below",-926774883))) || (cljs.core._EQ_.call(null,arrow_pos,new cljs.core.Keyword(null,"below","below",-926774883)));
|
|
} else {
|
|
return and__25118__auto__;
|
|
}
|
|
})();
|
|
cljs.core.reset_BANG_.call(null,p_width,(cljs.core.truth_(popover_elem)?re_com.popover.next_even_integer.call(null,popover_elem.clientWidth):(0)));
|
|
|
|
cljs.core.reset_BANG_.call(null,p_height,(cljs.core.truth_(popover_elem)?re_com.popover.next_even_integer.call(null,popover_elem.clientHeight):(0)));
|
|
|
|
cljs.core.reset_BANG_.call(null,pop_offset,re_com.popover.calc_pop_offset.call(null,arrow_pos,position_offset,cljs.core.deref.call(null,p_width),cljs.core.deref.call(null,p_height)));
|
|
|
|
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [orientation,grey_arrow_QMARK_], null);
|
|
});})(pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position))
|
|
;
|
|
return reagent.core.create_class.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"display-name","display-name",694513143),"popover-border",new cljs.core.Keyword(null,"component-did-mount","component-did-mount",-1126910518),((function (pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,calc_metrics,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position){
|
|
return (function (){
|
|
return cljs.core.reset_BANG_.call(null,rendered_once,true);
|
|
});})(pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,calc_metrics,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position))
|
|
,new cljs.core.Keyword(null,"component-did-update","component-did-update",-1468549173),((function (pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,calc_metrics,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position){
|
|
return (function (this$){
|
|
var pop_border_node = reagent.core.dom_node.call(null,this$);
|
|
var clipped_QMARK_ = re_com.popover.popover_clipping.call(null,pop_border_node);
|
|
var anchor_node = pop_border_node.parentNode.parentNode.parentNode;
|
|
if(cljs.core.truth_((function (){var and__25118__auto__ = clipped_QMARK_;
|
|
if(cljs.core.truth_(and__25118__auto__)){
|
|
return cljs.core.not.call(null,cljs.core.deref.call(null,found_optimal));
|
|
} else {
|
|
return and__25118__auto__;
|
|
}
|
|
})())){
|
|
cljs.core.reset_BANG_.call(null,position,re_com.popover.calculate_optimal_position.call(null,re_com.popover.calc_element_midpoint.call(null,anchor_node)));
|
|
|
|
cljs.core.reset_BANG_.call(null,found_optimal,true);
|
|
} else {
|
|
}
|
|
|
|
calc_metrics.call(null,cljs.core.deref.call(null,position));
|
|
|
|
return cljs.core.reset_BANG_.call(null,ready_to_show_QMARK_,true);
|
|
});})(pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,calc_metrics,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position))
|
|
,new cljs.core.Keyword(null,"reagent-render","reagent-render",-985383853),((function (pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,calc_metrics,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position){
|
|
return (function() {
|
|
var G__27301__delegate = function (p__27291){
|
|
var map__27292 = p__27291;
|
|
var map__27292__$1 = ((((!((map__27292 == null)))?((((map__27292.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27292.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27292):map__27292);
|
|
var args__$1 = map__27292__$1;
|
|
var height__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"height","height",1025178622));
|
|
var tooltip_style_QMARK___$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527));
|
|
var popover_color__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119));
|
|
var children__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"children","children",-940561982));
|
|
var arrow_length__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),(11));
|
|
var position_offset__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"position-offset","position-offset",1257061411));
|
|
var margin_left__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"margin-left","margin-left",2015598377));
|
|
var arrow_width__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),(22));
|
|
var margin_top__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"margin-top","margin-top",392161226));
|
|
var width__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"width","width",-384071477));
|
|
var title__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"title","title",636505583));
|
|
var arrow_gap__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),(-1));
|
|
var padding__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"padding","padding",1660304693));
|
|
var position__$1 = cljs.core.get.call(null,map__27292__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_border_args_desc),args__$1,"popover-border")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-border-args-desc args \"popover-border\")"));
|
|
}
|
|
|
|
var vec__27294 = calc_metrics.call(null,cljs.core.deref.call(null,position__$1));
|
|
var orientation = cljs.core.nth.call(null,vec__27294,(0),null);
|
|
var grey_arrow_QMARK_ = cljs.core.nth.call(null,vec__27294,(1),null);
|
|
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.popover.fade.in","div.popover.fade.in",-106226512),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"id","id",-1388402092),pop_id,new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,(cljs.core.truth_(cljs.core.deref.call(null,rendered_once))?(cljs.core.truth_(pop_id)?re_com.popover.calc_popover_pos.call(null,orientation,cljs.core.deref.call(null,p_width),cljs.core.deref.call(null,p_height),cljs.core.deref.call(null,pop_offset),arrow_length__$1,arrow_gap__$1):null):new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"top","top",-1856271961),"-10000px",new cljs.core.Keyword(null,"left","left",-399115937),"-10000px"], null)),(cljs.core.truth_(width__$1)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"width","width",-384071477),width__$1], null):null),(cljs.core.truth_(height__$1)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"height","height",1025178622),height__$1], null):null),(cljs.core.truth_(popover_color__$1)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"background-color","background-color",570434026),popover_color__$1], null):null),(cljs.core.truth_(tooltip_style_QMARK___$1)?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"border-radius","border-radius",419594011),"4px",new cljs.core.Keyword(null,"box-shadow","box-shadow",1600206755),"none",new cljs.core.Keyword(null,"border","border",1444987323),"none"], null):null),(function (){var G__27297 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27297) {
|
|
case "left":
|
|
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),"-2000px"], null);
|
|
|
|
break;
|
|
case "right":
|
|
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"-2000px"], null);
|
|
|
|
break;
|
|
case "above":
|
|
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"-2000px"], null);
|
|
|
|
break;
|
|
case "below":
|
|
return new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"margin-right","margin-right",809689658),"-2000px"], null);
|
|
|
|
break;
|
|
default:
|
|
throw (new Error([cljs.core.str("No matching clause: "),cljs.core.str(orientation)].join('')));
|
|
|
|
}
|
|
})(),(cljs.core.truth_(margin_left__$1)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"margin-left","margin-left",2015598377),margin_left__$1], null):null),(cljs.core.truth_(margin_top__$1)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"margin-top","margin-top",392161226),margin_top__$1], null):null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"display","display",242065432),"block",new cljs.core.Keyword(null,"opacity","opacity",397153780),(cljs.core.truth_(cljs.core.deref.call(null,ready_to_show_QMARK_))?"1":"0"),new cljs.core.Keyword(null,"max-width","max-width",-1939924051),"none",new cljs.core.Keyword(null,"padding","padding",1660304693),"0px"], null))], null),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.popover_arrow,orientation,cljs.core.deref.call(null,pop_offset),arrow_length__$1,arrow_width__$1,grey_arrow_QMARK_,tooltip_style_QMARK___$1,popover_color__$1], null),(cljs.core.truth_(title__$1)?title__$1:null),cljs.core.into.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div.popover-content","div.popover-content",1045719989),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"padding","padding",1660304693),padding__$1], null)], null)], null),children__$1)], null);
|
|
};
|
|
var G__27301 = function (var_args){
|
|
var p__27291 = null;
|
|
if (arguments.length > 0) {
|
|
var G__27303__i = 0, G__27303__a = new Array(arguments.length - 0);
|
|
while (G__27303__i < G__27303__a.length) {G__27303__a[G__27303__i] = arguments[G__27303__i + 0]; ++G__27303__i;}
|
|
p__27291 = new cljs.core.IndexedSeq(G__27303__a,0);
|
|
}
|
|
return G__27301__delegate.call(this,p__27291);};
|
|
G__27301.cljs$lang$maxFixedArity = 0;
|
|
G__27301.cljs$lang$applyTo = (function (arglist__27304){
|
|
var p__27291 = cljs.core.seq(arglist__27304);
|
|
return G__27301__delegate(p__27291);
|
|
});
|
|
G__27301.cljs$core$IFn$_invoke$arity$variadic = G__27301__delegate;
|
|
return G__27301;
|
|
})()
|
|
;})(pop_id,rendered_once,ready_to_show_QMARK_,p_width,p_height,pop_offset,found_optimal,calc_metrics,map__27286,map__27286__$1,args,height,tooltip_style_QMARK_,popover_color,children,arrow_length,position_offset,margin_left,arrow_width,margin_top,width,title,arrow_gap,padding,position))
|
|
], null));
|
|
});
|
|
|
|
re_com.popover.popover_border.cljs$lang$maxFixedArity = (0);
|
|
|
|
re_com.popover.popover_border.cljs$lang$applyTo = (function (seq27284){
|
|
return re_com.popover.popover_border.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq27284));
|
|
});
|
|
|
|
re_com.popover.popover_content_wrapper_args_desc = new cljs.core.PersistentVector(null, 18, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"showing-injected?","showing-injected?",-105733250),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean atom",new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"an atom. When the value is true, the popover shows.",new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"br","br",934104792)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strong","strong",269529000),"NOTE: "], null),"When used as direct ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":popover"], null)," arg in popover-anchor-wrapper, this arg will be injected automatically by popover-anchor-wrapper. If using your own popover function, you must add this yourself"], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"position-injected","position-injected",205959080),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"keyword atom",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.position_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"relative to this anchor. One of ",re_com.validate.position_options_list,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"br","br",934104792)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"strong","strong",269529000),"NOTE: "], null),"See above NOTE for ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":showing-injected?"], null),". Same applies"], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"position-offset","position-offset",1257061411),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"integer",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.number_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"px offset of the arrow from its default ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":position"], null)," along the popover border. Is ignored when ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":position"], null)," is one of the ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":xxx-center"], null)," variants. Positive numbers slide the popover toward its center"], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"no-clip?","no-clip?",-188884951),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),false,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"when an anchor is in a scrolling region (e.g. scroller component), the popover can sometimes be clipped. By passing true for this parameter, re-com will use a different CSS method to show the popover. This method is slightly inferior because the popover can't track the anchor if it is repositioned"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style representing the popover width"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"height","height",1025178622),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style representing the popover height"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"backdrop-opacity","backdrop-opacity",1467395653),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),0.0,new cljs.core.Keyword(null,"type","type",1174270348),"double | string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.number_or_string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"indicates the opacity of the backdrop where 0.0=transparent, 1.0=opaque"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"on-cancel","on-cancel",-2071892932),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"-> nil",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.fn_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a function which takes no params and returns nothing. Called when the popover is cancelled (e.g. user clicks away)"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"title","title",636505583),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string | hiccup",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"describes the title of the popover. The default font size is 18px to make it stand out"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"when true, displays the close button"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"body","body",-2049205669),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string | hiccup",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"describes the popover body. Must be a single component"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),false,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"setup popover styles for a tooltip"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),"white",new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"fill color of the popover"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),(11),new cljs.core.Keyword(null,"type","type",1174270348),"integer | string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.number_or_string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the length in pixels of the arrow (from pointy part to middle of arrow base)"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),(22),new cljs.core.Keyword(null,"type","type",1174270348),"integer | string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.number_or_string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the width in pixels of arrow base"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),(-1),new cljs.core.Keyword(null,"type","type",1174270348),"integer",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.number_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"px gap between the anchor and the arrow tip. Positive numbers push the popover away from the anchor"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"padding","padding",1660304693),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a CSS style which overrides the inner padding of the popover"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"CSS style map",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.css_style_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"override component style(s) with a style map, only use in case of emergency"], null)], null);
|
|
/**
|
|
* Abstracts several components to handle the 90% of cases for general popovers and dialog boxes
|
|
*/
|
|
re_com.popover.popover_content_wrapper = (function re_com$popover$popover_content_wrapper(var_args){
|
|
var args__26212__auto__ = [];
|
|
var len__26205__auto___27312 = arguments.length;
|
|
var i__26206__auto___27313 = (0);
|
|
while(true){
|
|
if((i__26206__auto___27313 < len__26205__auto___27312)){
|
|
args__26212__auto__.push((arguments[i__26206__auto___27313]));
|
|
|
|
var G__27314 = (i__26206__auto___27313 + (1));
|
|
i__26206__auto___27313 = G__27314;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__26213__auto__ = ((((0) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((0)),(0),null)):null);
|
|
return re_com.popover.popover_content_wrapper.cljs$core$IFn$_invoke$arity$variadic(argseq__26213__auto__);
|
|
});
|
|
|
|
re_com.popover.popover_content_wrapper.cljs$core$IFn$_invoke$arity$variadic = (function (p__27306){
|
|
var map__27307 = p__27306;
|
|
var map__27307__$1 = ((((!((map__27307 == null)))?((((map__27307.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27307.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27307):map__27307);
|
|
var args = map__27307__$1;
|
|
var body = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"body","body",-2049205669));
|
|
var on_cancel = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"on-cancel","on-cancel",-2071892932));
|
|
var showing_injected_QMARK_ = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"showing-injected?","showing-injected?",-105733250));
|
|
var height = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"height","height",1025178622));
|
|
var tooltip_style_QMARK_ = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527));
|
|
var popover_color = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119));
|
|
var arrow_length = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),(11));
|
|
var position_offset = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"position-offset","position-offset",1257061411));
|
|
var backdrop_opacity = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"backdrop-opacity","backdrop-opacity",1467395653));
|
|
var position_injected = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"position-injected","position-injected",205959080));
|
|
var no_clip_QMARK_ = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"no-clip?","no-clip?",-188884951));
|
|
var close_button_QMARK_ = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687));
|
|
var arrow_width = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),(22));
|
|
var width = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"width","width",-384071477));
|
|
var title = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"title","title",636505583));
|
|
var style = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"style","style",-496642736));
|
|
var arrow_gap = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),(-1));
|
|
var padding = cljs.core.get.call(null,map__27307__$1,new cljs.core.Keyword(null,"padding","padding",1660304693));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_content_wrapper_args_desc),args,"popover-content-wrapper")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-content-wrapper-args-desc args \"popover-content-wrapper\")"));
|
|
}
|
|
|
|
var left_offset = reagent.core.atom.call(null,(0));
|
|
var top_offset = reagent.core.atom.call(null,(0));
|
|
var position_no_clip_popover = ((function (left_offset,top_offset,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding){
|
|
return (function re_com$popover$position_no_clip_popover(this$){
|
|
if(cljs.core.truth_(no_clip_QMARK_)){
|
|
var node = reagent.core.dom_node.call(null,this$);
|
|
var popover_point_node = node.parentNode;
|
|
var bounding_rect = popover_point_node.getBoundingClientRect();
|
|
cljs.core.reset_BANG_.call(null,left_offset,bounding_rect.left);
|
|
|
|
return cljs.core.reset_BANG_.call(null,top_offset,bounding_rect.top);
|
|
} else {
|
|
return null;
|
|
}
|
|
});})(left_offset,top_offset,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding))
|
|
;
|
|
return reagent.core.create_class.call(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"display-name","display-name",694513143),"popover-content-wrapper",new cljs.core.Keyword(null,"component-did-mount","component-did-mount",-1126910518),((function (left_offset,top_offset,position_no_clip_popover,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding){
|
|
return (function (this$){
|
|
return position_no_clip_popover.call(null,this$);
|
|
});})(left_offset,top_offset,position_no_clip_popover,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding))
|
|
,new cljs.core.Keyword(null,"component-did-update","component-did-update",-1468549173),((function (left_offset,top_offset,position_no_clip_popover,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding){
|
|
return (function (this$){
|
|
return position_no_clip_popover.call(null,this$);
|
|
});})(left_offset,top_offset,position_no_clip_popover,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding))
|
|
,new cljs.core.Keyword(null,"reagent-render","reagent-render",-985383853),((function (left_offset,top_offset,position_no_clip_popover,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding){
|
|
return (function() {
|
|
var G__27315__delegate = function (p__27309){
|
|
var map__27310 = p__27309;
|
|
var map__27310__$1 = ((((!((map__27310 == null)))?((((map__27310.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27310.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27310):map__27310);
|
|
var args__$1 = map__27310__$1;
|
|
var body__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"body","body",-2049205669));
|
|
var on_cancel__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"on-cancel","on-cancel",-2071892932));
|
|
var showing_injected_QMARK___$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"showing-injected?","showing-injected?",-105733250));
|
|
var height__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"height","height",1025178622));
|
|
var tooltip_style_QMARK___$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527));
|
|
var popover_color__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119));
|
|
var arrow_length__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),(11));
|
|
var position_offset__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"position-offset","position-offset",1257061411));
|
|
var backdrop_opacity__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"backdrop-opacity","backdrop-opacity",1467395653));
|
|
var position_injected__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"position-injected","position-injected",205959080));
|
|
var no_clip_QMARK___$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"no-clip?","no-clip?",-188884951));
|
|
var close_button_QMARK___$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687));
|
|
var arrow_width__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),(22));
|
|
var width__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"width","width",-384071477));
|
|
var title__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"title","title",636505583));
|
|
var style__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"style","style",-496642736));
|
|
var arrow_gap__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),(-1));
|
|
var padding__$1 = cljs.core.get.call(null,map__27310__$1,new cljs.core.Keyword(null,"padding","padding",1660304693));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_content_wrapper_args_desc),args__$1,"popover-content-wrapper")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-content-wrapper-args-desc args \"popover-content-wrapper\")"));
|
|
}
|
|
|
|
cljs.core.deref.call(null,position_injected__$1);
|
|
|
|
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),"popover-content-wrapper",new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,re_com.box.flex_child_style.call(null,"inherit"),(cljs.core.truth_(no_clip_QMARK___$1)?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"position","position",-2011731912),"fixed",new cljs.core.Keyword(null,"left","left",-399115937),re_com.util.px.call(null,cljs.core.deref.call(null,left_offset)),new cljs.core.Keyword(null,"top","top",-1856271961),re_com.util.px.call(null,cljs.core.deref.call(null,top_offset))], null):null),style__$1)], null),(cljs.core.truth_((function (){var and__25118__auto__ = cljs.core.deref.call(null,showing_injected_QMARK___$1);
|
|
if(cljs.core.truth_(and__25118__auto__)){
|
|
return on_cancel__$1;
|
|
} else {
|
|
return and__25118__auto__;
|
|
}
|
|
})())?new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.backdrop,new cljs.core.Keyword(null,"opacity","opacity",397153780),backdrop_opacity__$1,new cljs.core.Keyword(null,"on-click","on-click",1632826543),on_cancel__$1], null):null),new cljs.core.PersistentVector(null, 25, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.popover_border,new cljs.core.Keyword(null,"position","position",-2011731912),position_injected__$1,new cljs.core.Keyword(null,"position-offset","position-offset",1257061411),position_offset__$1,new cljs.core.Keyword(null,"width","width",-384071477),width__$1,new cljs.core.Keyword(null,"height","height",1025178622),height__$1,new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527),tooltip_style_QMARK___$1,new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119),popover_color__$1,new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),arrow_length__$1,new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),arrow_width__$1,new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),arrow_gap__$1,new cljs.core.Keyword(null,"padding","padding",1660304693),padding__$1,new cljs.core.Keyword(null,"title","title",636505583),(cljs.core.truth_(title__$1)?new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.popover_title,new cljs.core.Keyword(null,"title","title",636505583),title__$1,new cljs.core.Keyword(null,"showing?","showing?",2094921488),showing_injected_QMARK___$1,new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687),close_button_QMARK___$1,new cljs.core.Keyword(null,"close-callback","close-callback",651188974),on_cancel__$1], null):null),new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [body__$1], null)], null)], null);
|
|
};
|
|
var G__27315 = function (var_args){
|
|
var p__27309 = null;
|
|
if (arguments.length > 0) {
|
|
var G__27316__i = 0, G__27316__a = new Array(arguments.length - 0);
|
|
while (G__27316__i < G__27316__a.length) {G__27316__a[G__27316__i] = arguments[G__27316__i + 0]; ++G__27316__i;}
|
|
p__27309 = new cljs.core.IndexedSeq(G__27316__a,0);
|
|
}
|
|
return G__27315__delegate.call(this,p__27309);};
|
|
G__27315.cljs$lang$maxFixedArity = 0;
|
|
G__27315.cljs$lang$applyTo = (function (arglist__27317){
|
|
var p__27309 = cljs.core.seq(arglist__27317);
|
|
return G__27315__delegate(p__27309);
|
|
});
|
|
G__27315.cljs$core$IFn$_invoke$arity$variadic = G__27315__delegate;
|
|
return G__27315;
|
|
})()
|
|
;})(left_offset,top_offset,position_no_clip_popover,map__27307,map__27307__$1,args,body,on_cancel,showing_injected_QMARK_,height,tooltip_style_QMARK_,popover_color,arrow_length,position_offset,backdrop_opacity,position_injected,no_clip_QMARK_,close_button_QMARK_,arrow_width,width,title,style,arrow_gap,padding))
|
|
], null));
|
|
});
|
|
|
|
re_com.popover.popover_content_wrapper.cljs$lang$maxFixedArity = (0);
|
|
|
|
re_com.popover.popover_content_wrapper.cljs$lang$applyTo = (function (seq27305){
|
|
return re_com.popover.popover_content_wrapper.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq27305));
|
|
});
|
|
|
|
re_com.popover.popover_anchor_wrapper_args_desc = new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"showing?","showing?",2094921488),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean atom",new cljs.core.Keyword(null,"description","description",-1428560544),"an atom. When the value is true, the popover shows"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"keyword",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.position_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"relative to this anchor. One of ",re_com.validate.position_options_list], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"anchor","anchor",1549638489),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"string | hiccup",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the component the popover is attached to"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"popover","popover",-1809582136),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"string | hiccup",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the popover body component"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"CSS style map",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.css_style_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"override component style(s) with a style map, only use in case of emergency"], null)], null);
|
|
/**
|
|
* Renders an element or control along with a Bootstrap popover
|
|
*/
|
|
re_com.popover.popover_anchor_wrapper = (function re_com$popover$popover_anchor_wrapper(var_args){
|
|
var args__26212__auto__ = [];
|
|
var len__26205__auto___27330 = arguments.length;
|
|
var i__26206__auto___27331 = (0);
|
|
while(true){
|
|
if((i__26206__auto___27331 < len__26205__auto___27330)){
|
|
args__26212__auto__.push((arguments[i__26206__auto___27331]));
|
|
|
|
var G__27332 = (i__26206__auto___27331 + (1));
|
|
i__26206__auto___27331 = G__27332;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__26213__auto__ = ((((0) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((0)),(0),null)):null);
|
|
return re_com.popover.popover_anchor_wrapper.cljs$core$IFn$_invoke$arity$variadic(argseq__26213__auto__);
|
|
});
|
|
|
|
re_com.popover.popover_anchor_wrapper.cljs$core$IFn$_invoke$arity$variadic = (function (p__27319){
|
|
var map__27320 = p__27319;
|
|
var map__27320__$1 = ((((!((map__27320 == null)))?((((map__27320.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27320.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27320):map__27320);
|
|
var args = map__27320__$1;
|
|
var showing_QMARK_ = cljs.core.get.call(null,map__27320__$1,new cljs.core.Keyword(null,"showing?","showing?",2094921488));
|
|
var position = cljs.core.get.call(null,map__27320__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
|
|
var anchor = cljs.core.get.call(null,map__27320__$1,new cljs.core.Keyword(null,"anchor","anchor",1549638489));
|
|
var popover = cljs.core.get.call(null,map__27320__$1,new cljs.core.Keyword(null,"popover","popover",-1809582136));
|
|
var style = cljs.core.get.call(null,map__27320__$1,new cljs.core.Keyword(null,"style","style",-496642736));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_anchor_wrapper_args_desc),args,"popover-anchor-wrapper")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-anchor-wrapper-args-desc args \"popover-anchor-wrapper\")"));
|
|
}
|
|
|
|
var external_position = reagent.core.atom.call(null,position);
|
|
var internal_position = reagent.core.atom.call(null,cljs.core.deref.call(null,external_position));
|
|
var reset_on_hide = reagent.ratom.make_reaction.call(null,((function (external_position,internal_position,map__27320,map__27320__$1,args,showing_QMARK_,position,anchor,popover,style){
|
|
return (function (){
|
|
if(cljs.core.truth_(cljs.core.deref.call(null,showing_QMARK_))){
|
|
return null;
|
|
} else {
|
|
return cljs.core.reset_BANG_.call(null,internal_position,cljs.core.deref.call(null,external_position));
|
|
}
|
|
});})(external_position,internal_position,map__27320,map__27320__$1,args,showing_QMARK_,position,anchor,popover,style))
|
|
);
|
|
return reagent.core.create_class.call(null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"display-name","display-name",694513143),"popover-anchor-wrapper",new cljs.core.Keyword(null,"reagent-render","reagent-render",-985383853),((function (external_position,internal_position,reset_on_hide,map__27320,map__27320__$1,args,showing_QMARK_,position,anchor,popover,style){
|
|
return (function() {
|
|
var G__27333__delegate = function (p__27322){
|
|
var map__27323 = p__27322;
|
|
var map__27323__$1 = ((((!((map__27323 == null)))?((((map__27323.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27323.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27323):map__27323);
|
|
var args__$1 = map__27323__$1;
|
|
var showing_QMARK___$1 = cljs.core.get.call(null,map__27323__$1,new cljs.core.Keyword(null,"showing?","showing?",2094921488));
|
|
var position__$1 = cljs.core.get.call(null,map__27323__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
|
|
var anchor__$1 = cljs.core.get.call(null,map__27323__$1,new cljs.core.Keyword(null,"anchor","anchor",1549638489));
|
|
var popover__$1 = cljs.core.get.call(null,map__27323__$1,new cljs.core.Keyword(null,"popover","popover",-1809582136));
|
|
var style__$1 = cljs.core.get.call(null,map__27323__$1,new cljs.core.Keyword(null,"style","style",-496642736));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_anchor_wrapper_args_desc),args__$1,"popover-anchor-wrapper")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-anchor-wrapper-args-desc args \"popover-anchor-wrapper\")"));
|
|
}
|
|
|
|
cljs.core.deref.call(null,reset_on_hide);
|
|
|
|
if(cljs.core.not_EQ_.call(null,cljs.core.deref.call(null,external_position),position__$1)){
|
|
cljs.core.reset_BANG_.call(null,external_position,position__$1);
|
|
|
|
cljs.core.reset_BANG_.call(null,internal_position,cljs.core.deref.call(null,external_position));
|
|
} else {
|
|
}
|
|
|
|
var vec__27325 = re_com.popover.split_keyword.call(null,cljs.core.deref.call(null,internal_position),"-");
|
|
var orientation = cljs.core.nth.call(null,vec__27325,(0),null);
|
|
var arrow_pos = cljs.core.nth.call(null,vec__27325,(1),null);
|
|
var place_anchor_before_QMARK_ = (function (){var G__27328 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27328) {
|
|
case "left":
|
|
return false;
|
|
|
|
break;
|
|
case "above":
|
|
return false;
|
|
|
|
break;
|
|
default:
|
|
return true;
|
|
|
|
}
|
|
})();
|
|
var flex_flow = (function (){var G__27329 = (((orientation instanceof cljs.core.Keyword))?orientation.fqn:null);
|
|
switch (G__27329) {
|
|
case "left":
|
|
return "row";
|
|
|
|
break;
|
|
case "right":
|
|
return "row";
|
|
|
|
break;
|
|
default:
|
|
return "column";
|
|
|
|
}
|
|
})();
|
|
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, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),"rc-popover-anchor-wrapper display-inline-flex",new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,re_com.box.flex_child_style.call(null,"inherit"),style__$1)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),"rc-point-wrapper display-inline-flex",new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,re_com.box.flex_child_style.call(null,"auto"),re_com.box.flex_flow_style.call(null,flex_flow),re_com.box.align_style.call(null,new cljs.core.Keyword(null,"align-items","align-items",-267946462),new cljs.core.Keyword(null,"center","center",-748944368)))], null),(cljs.core.truth_(place_anchor_before_QMARK_)?anchor__$1:null),(cljs.core.truth_(cljs.core.deref.call(null,showing_QMARK___$1))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"class","class",-2030961996),"rc-popover-point display-inline-flex",new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge.call(null,re_com.box.flex_child_style.call(null,"auto"),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"position","position",-2011731912),"relative",new cljs.core.Keyword(null,"z-index","z-index",1892827090),(4)], null))], null),cljs.core.into.call(null,popover__$1,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"showing-injected?","showing-injected?",-105733250),showing_QMARK___$1,new cljs.core.Keyword(null,"position-injected","position-injected",205959080),internal_position], null))], null):null),(cljs.core.truth_(place_anchor_before_QMARK_)?null:anchor__$1)], null)], null);
|
|
};
|
|
var G__27333 = function (var_args){
|
|
var p__27322 = null;
|
|
if (arguments.length > 0) {
|
|
var G__27336__i = 0, G__27336__a = new Array(arguments.length - 0);
|
|
while (G__27336__i < G__27336__a.length) {G__27336__a[G__27336__i] = arguments[G__27336__i + 0]; ++G__27336__i;}
|
|
p__27322 = new cljs.core.IndexedSeq(G__27336__a,0);
|
|
}
|
|
return G__27333__delegate.call(this,p__27322);};
|
|
G__27333.cljs$lang$maxFixedArity = 0;
|
|
G__27333.cljs$lang$applyTo = (function (arglist__27337){
|
|
var p__27322 = cljs.core.seq(arglist__27337);
|
|
return G__27333__delegate(p__27322);
|
|
});
|
|
G__27333.cljs$core$IFn$_invoke$arity$variadic = G__27333__delegate;
|
|
return G__27333;
|
|
})()
|
|
;})(external_position,internal_position,reset_on_hide,map__27320,map__27320__$1,args,showing_QMARK_,position,anchor,popover,style))
|
|
], null));
|
|
});
|
|
|
|
re_com.popover.popover_anchor_wrapper.cljs$lang$maxFixedArity = (0);
|
|
|
|
re_com.popover.popover_anchor_wrapper.cljs$lang$applyTo = (function (seq27318){
|
|
return re_com.popover.popover_anchor_wrapper.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq27318));
|
|
});
|
|
|
|
re_com.popover.popover_tooltip_args_desc = new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"label","label",1718410804),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"string | hiccup | atom",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the text (or component) for the tooltip"], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"showing?","showing?",2094921488),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean atom",new cljs.core.Keyword(null,"description","description",-1428560544),"an atom. When the value is true, the tooltip shows"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"on-cancel","on-cancel",-2071892932),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"-> nil",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.fn_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"a function which takes no params and returns nothing. Called when the popover is cancelled (e.g. user clicks away)"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),false,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"when true, displays the close button"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"keyword",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.popover_status_type_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"controls background color of the tooltip. ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),"nil/omitted"], null)," for black or one of ",re_com.validate.popover_status_types_list," (although ",new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"code","code",1586293142),":validating"], null)," is only used by the input-text component)"], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"anchor","anchor",1549638489),new cljs.core.Keyword(null,"required","required",1807647006),true,new cljs.core.Keyword(null,"type","type",1174270348),"hiccup",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.string_or_hiccup_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"the component the tooltip is attached to"], null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"position","position",-2011731912),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),new cljs.core.Keyword(null,"below-center","below-center",-2126885397),new cljs.core.Keyword(null,"type","type",1174270348),"keyword",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.position_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"span","span",1394872991),"relative to this anchor. One of ",re_com.validate.position_options_list], null)], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"no-clip?","no-clip?",-188884951),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"default","default",-1987822328),true,new cljs.core.Keyword(null,"type","type",1174270348),"boolean",new cljs.core.Keyword(null,"description","description",-1428560544),"when an anchor is in a scrolling region (e.g. scroller component), the popover can sometimes be clipped. When this parameter is true (which is the default), re-com will use a different CSS method to show the popover. This method is slightly inferior because the popover can't track the anchor if it is repositioned"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"width","width",-384071477),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"string",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),cljs.core.string_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"specifies width of the tooltip"], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"style","style",-496642736),new cljs.core.Keyword(null,"required","required",1807647006),false,new cljs.core.Keyword(null,"type","type",1174270348),"CSS style map",new cljs.core.Keyword(null,"validate-fn","validate-fn",1430169944),re_com.validate.css_style_QMARK_,new cljs.core.Keyword(null,"description","description",-1428560544),"override component style(s) with a style map, only use in case of emergency"], null)], null);
|
|
/**
|
|
* Renders text as a tooltip in Bootstrap popover style
|
|
*/
|
|
re_com.popover.popover_tooltip = (function re_com$popover$popover_tooltip(var_args){
|
|
var args__26212__auto__ = [];
|
|
var len__26205__auto___27343 = arguments.length;
|
|
var i__26206__auto___27344 = (0);
|
|
while(true){
|
|
if((i__26206__auto___27344 < len__26205__auto___27343)){
|
|
args__26212__auto__.push((arguments[i__26206__auto___27344]));
|
|
|
|
var G__27345 = (i__26206__auto___27344 + (1));
|
|
i__26206__auto___27344 = G__27345;
|
|
continue;
|
|
} else {
|
|
}
|
|
break;
|
|
}
|
|
|
|
var argseq__26213__auto__ = ((((0) < args__26212__auto__.length))?(new cljs.core.IndexedSeq(args__26212__auto__.slice((0)),(0),null)):null);
|
|
return re_com.popover.popover_tooltip.cljs$core$IFn$_invoke$arity$variadic(argseq__26213__auto__);
|
|
});
|
|
|
|
re_com.popover.popover_tooltip.cljs$core$IFn$_invoke$arity$variadic = (function (p__27339){
|
|
var map__27340 = p__27339;
|
|
var map__27340__$1 = ((((!((map__27340 == null)))?((((map__27340.cljs$lang$protocol_mask$partition0$ & (64))) || (map__27340.cljs$core$ISeq$))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__27340):map__27340);
|
|
var args = map__27340__$1;
|
|
var anchor = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"anchor","anchor",1549638489));
|
|
var on_cancel = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"on-cancel","on-cancel",-2071892932));
|
|
var no_clip_QMARK_ = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"no-clip?","no-clip?",-188884951),true);
|
|
var close_button_QMARK_ = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"close-button?","close-button?",-1030817687));
|
|
var width = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"width","width",-384071477));
|
|
var showing_QMARK_ = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"showing?","showing?",2094921488));
|
|
var style = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"style","style",-496642736));
|
|
var status = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"status","status",-1997798413));
|
|
var label = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"label","label",1718410804));
|
|
var position = cljs.core.get.call(null,map__27340__$1,new cljs.core.Keyword(null,"position","position",-2011731912));
|
|
if(cljs.core.truth_(((!(goog.DEBUG))?true:re_com.validate.validate_args.call(null,re_com.validate.extract_arg_data.call(null,re_com.popover.popover_tooltip_args_desc),args,"popover-tooltip")))){
|
|
} else {
|
|
throw (new Error("Assert failed: (validate-args-macro popover-tooltip-args-desc args \"popover-tooltip\")"));
|
|
}
|
|
|
|
var label__$1 = re_com.util.deref_or_value.call(null,label);
|
|
var popover_color = (function (){var G__27342 = (((status instanceof cljs.core.Keyword))?status.fqn:null);
|
|
switch (G__27342) {
|
|
case "warning":
|
|
return "#f57c00";
|
|
|
|
break;
|
|
case "error":
|
|
return "#d50000";
|
|
|
|
break;
|
|
case "info":
|
|
return "#333333";
|
|
|
|
break;
|
|
case "success":
|
|
return "#13C200";
|
|
|
|
break;
|
|
default:
|
|
return "black";
|
|
|
|
}
|
|
})();
|
|
return new cljs.core.PersistentVector(null, 11, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.popover_anchor_wrapper,new cljs.core.Keyword(null,"showing?","showing?",2094921488),showing_QMARK_,new cljs.core.Keyword(null,"position","position",-2011731912),(function (){var or__25130__auto__ = position;
|
|
if(cljs.core.truth_(or__25130__auto__)){
|
|
return or__25130__auto__;
|
|
} else {
|
|
return new cljs.core.Keyword(null,"below-center","below-center",-2126885397);
|
|
}
|
|
})(),new cljs.core.Keyword(null,"anchor","anchor",1549638489),anchor,new cljs.core.Keyword(null,"style","style",-496642736),style,new cljs.core.Keyword(null,"popover","popover",-1809582136),new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.popover_content_wrapper,new cljs.core.Keyword(null,"no-clip?","no-clip?",-188884951),no_clip_QMARK_,new cljs.core.Keyword(null,"on-cancel","on-cancel",-2071892932),on_cancel,new cljs.core.Keyword(null,"width","width",-384071477),width,new cljs.core.Keyword(null,"tooltip-style?","tooltip-style?",1188162527),true,new cljs.core.Keyword(null,"popover-color","popover-color",-2019049119),popover_color,new cljs.core.Keyword(null,"padding","padding",1660304693),"3px 8px",new cljs.core.Keyword(null,"arrow-length","arrow-length",934916707),(6),new cljs.core.Keyword(null,"arrow-width","arrow-width",1926673833),(12),new cljs.core.Keyword(null,"arrow-gap","arrow-gap",1490206257),(4),new cljs.core.Keyword(null,"body","body",-2049205669),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.box.v_box,new cljs.core.Keyword(null,"style","style",-496642736),((cljs.core._EQ_.call(null,status,new cljs.core.Keyword(null,"info","info",-317069002)))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"14px",new cljs.core.Keyword(null,"padding","padding",1660304693),"4px"], null):new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"12px",new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),"bold",new cljs.core.Keyword(null,"text-align","text-align",1786091845),"center"], null)),new cljs.core.Keyword(null,"children","children",-940561982),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [label__$1,(cljs.core.truth_(close_button_QMARK_)?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [re_com.popover.close_button,showing_QMARK_,on_cancel,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"font-size","font-size",-1847940346),"20px",new cljs.core.Keyword(null,"color","color",1011675173),"white",new cljs.core.Keyword(null,"text-shadow","text-shadow",116733623),"none",new cljs.core.Keyword(null,"right","right",-452581833),"1px"], null)], null):null)], null)], null)], null)], null);
|
|
});
|
|
|
|
re_com.popover.popover_tooltip.cljs$lang$maxFixedArity = (0);
|
|
|
|
re_com.popover.popover_tooltip.cljs$lang$applyTo = (function (seq27338){
|
|
return re_com.popover.popover_tooltip.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq27338));
|
|
});
|
|
|
|
|
|
//# sourceMappingURL=popover.js.map?rel=1603199190505
|