[facets] Correctly look for inputs of type "hidden" (closes #4502768)
jQuery ':hidden' selector looks at CSS visual properties (eg, 'display',
'visibility'). The intent here was probably to look for inputs of type
"hidden", which many facets use to store user selection data (eg,
FacetRangeWidget).
The problem is that regular text inputs (eg the "has_text" facet which
has a '<input type="text"/>') will be picked up by this selector if they
are inside a folded facet. Chaos and destruction ensue.
/**
* :organization: Logilab
* :copyright: 2008-2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
* :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
*
*/
/**
* provide our own custom date parser since the default
* one only understands iso8601 and gregorian dates
*/
SimileAjax.NativeDateUnit.getParser = Timeline.NativeDateUnit.getParser = function(format) {
if (typeof format == "string") {
if (format.indexOf('%') != - 1) {
return function(datestring) {
if (datestring) {
return strptime(datestring, format);
}
return null;
};
}
format = format.toLowerCase();
}
if (format == "iso8601" || format == "iso 8601") {
return Timeline.DateTime.parseIso8601DateTime;
}
return Timeline.DateTime.parseGregorianDateTime;
};
/*** CUBICWEB EVENT PAINTER *****************************************************/
Timeline.CubicWebEventPainter = function(params) {
// Timeline.OriginalEventPainter.apply(this, arguments);
this._params = params;
this._onSelectListeners = [];
this._filterMatcher = null;
this._highlightMatcher = null;
this._frc = null;
this._eventIdToElmt = {};
};
Timeline.CubicWebEventPainter.prototype = new Timeline.OriginalEventPainter();
Timeline.CubicWebEventPainter.prototype._paintEventLabel = function(
evt, text, left, top, width, height, theme) {
var doc = this._timeline.getDocument();
var labelDiv = doc.createElement("div");
labelDiv.className = 'timeline-event-label';
labelDiv.style.left = left + "px";
labelDiv.style.width = width + "px";
labelDiv.style.top = top + "px";
if (evt._obj.onclick) {
labelDiv.appendChild(A({
'href': evt._obj.onclick
},
text));
} else if (evt._obj.image) {
labelDiv.appendChild(IMG({
src: evt._obj.image,
width: '30px',
height: '30px'
}));
} else {
labelDiv.innerHTML = text;
}
if (evt._title != null) labelDiv.title = evt._title;
var color = evt.getTextColor();
if (color == null) {
color = evt.getColor();
}
if (color != null) {
labelDiv.style.color = color;
}
var classname = evt.getClassName();
if (classname) labelDiv.className += ' ' + classname;
this._eventLayer.appendChild(labelDiv);
return {
left: left,
top: top,
width: width,
height: height,
elmt: labelDiv
};
};
Timeline.CubicWebEventPainter.prototype._showBubble = function(x, y, evt) {
var div = DIV({
id: 'xxx'
});
var width = this._params.theme.event.bubble.width;
if (!evt._obj.bubbleUrl) {
evt.fillInfoBubble(div, this._params.theme, this._band.getLabeller());
}
SimileAjax.WindowManager.cancelPopups();
SimileAjax.Graphics.createBubbleForContentAndPoint(div, x, y, width);
if (evt._obj.bubbleUrl) {
jQuery('#xxx').loadxhtml(evt._obj.bubbleUrl, null, 'post', 'replace');
}
};