CARVIEW |
Select Language
HTTP/2 301
location: https://raw.githubusercontent.com/raimohanska/Bacon.UI.js/master/Bacon.UI.js
accept-ranges: bytes
age: 0
date: Sat, 26 Jul 2025 05:06:37 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210061-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1753506396.256822,VS0,VE1190
vary: Accept-Encoding
x-fastly-request-id: 3a43a236afff8a487d002ce14fc87eca38f03da1
content-length: 0
HTTP/2 200
cache-control: max-age=300
content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
content-type: text/plain; charset=utf-8
etag: W/"fffc02e93067897f53e4f40136c93516c938b59237a653d87c156758187fd12d"
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
x-frame-options: deny
x-xss-protection: 1; mode=block
x-github-request-id: 67B6:39287F:32AED:BB278:6884625D
content-encoding: gzip
accept-ranges: bytes
date: Sat, 26 Jul 2025 05:06:37 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210081-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1753506398.504727,VS0,VE249
vary: Authorization,Accept-Encoding
access-control-allow-origin: *
cross-origin-resource-policy: cross-origin
x-fastly-request-id: 6f360a9f9b76fb8d703d1329a25afab9118814b4
expires: Sat, 26 Jul 2025 05:11:37 GMT
source-age: 0
content-length: 1483
// Generated by CoffeeScript 1.6.3
(function() {
var isChrome, nonEmpty,
__slice = [].slice;
nonEmpty = function(x) {
return x && x.length > 0;
};
isChrome = navigator.userAgent.toLowerCase().indexOf("chrome") > -1;
Bacon.UI = {};
Bacon.UI.textFieldValue = function(textfield, initValue) {
var autofillPoller, getValue;
getValue = function() {
return textfield.val();
};
autofillPoller = function() {
if (textfield.attr("type") === "password") {
return Bacon.interval(100);
} else if (isChrome) {
return Bacon.interval(100).take(20).map(getValue).filter(nonEmpty).take(1);
} else {
return Bacon.never();
}
};
if (initValue !== null) {
textfield.val(initValue);
}
return textfield.asEventStream("keyup input").merge(textfield.asEventStream("cut paste").delay(1)).merge(autofillPoller()).map(getValue).toProperty(getValue()).skipDuplicates();
};
Bacon.UI.optionValue = function(option, initVal) {
var getValue;
if (initVal != null) {
option.val(initVal);
}
getValue = function() {
return option.val();
};
return option.asEventStream("change").map(getValue).toProperty(getValue());
};
Bacon.UI.checkBoxGroupValue = function(checkboxes, initValue) {
var selectedValues;
selectedValues = function() {
return checkboxes.filter(":checked").map(function(i, elem) {
return $(elem).val();
}).toArray();
};
if (initValue) {
checkboxes.each(function(i, elem) {
return $(elem).attr("checked", initValue.indexOf($(elem).val()) >= 0);
});
}
return checkboxes.asEventStream("click").map(selectedValues).toProperty(selectedValues());
};
Bacon.UI.ajax = function(params, abort) {
return Bacon.fromPromise($.ajax(params), abort);
};
Bacon.UI.ajaxGet = function(url, data, dataType, abort) {
return Bacon.UI.ajax({
url: url,
dataType: dataType,
data: data
}, abort);
};
Bacon.UI.ajaxGetJSON = function(url, data, abort) {
return Bacon.UI.ajax({
url: url,
dataType: "json",
data: data
}, abort);
};
Bacon.UI.ajaxPost = function(url, data, dataType, abort) {
return Bacon.UI.ajax({
url: url,
dataType: dataType,
data: data,
type: "POST"
}, abort);
};
Bacon.UI.ajaxGetScript = function(url, abort) {
return Bacon.UI.ajax({
url: url,
dataType: "script"
}, abort);
};
Bacon.EventStream.prototype.ajax = function() {
return this.flatMapLatest(Bacon.UI.ajax);
};
Bacon.UI.radioGroupValue = function(radioButtons, init) {
if (init != null) {
radioButtons.each(function(i, elem) {
if (elem.value === init) {
return $(elem).attr("checked", true);
}
});
} else {
init = radioButtons.filter(":checked").first().val();
}
return radioButtons.asEventStream("change").map(function(e) {
return e.target.value;
}).toProperty(init);
};
Bacon.UI.checkBoxValue = function(checkbox, initValue) {
var isChecked;
isChecked = function() {
return !!checkbox.attr("checked");
};
if (initValue !== null) {
checkbox.attr("checked", initValue);
}
return checkbox.asEventStream("change").map(isChecked).toProperty(isChecked()).skipDuplicates();
};
Bacon.UI.hash = function(defaultValue) {
var getHash;
getHash = function() {
if (!!document.location.hash) {
return document.location.hash;
} else {
return defaultValue;
}
};
if (defaultValue === undefined) {
defaultValue = "";
}
return $(window).asEventStream("hashchange").map(getHash).toProperty(getHash()).skipDuplicates();
};
$.fn.extend({
keydownE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["keydown"].concat(__slice.call(args)));
},
keyupE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["keyup"].concat(__slice.call(args)));
},
keypressE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["keypress"].concat(__slice.call(args)));
},
clickE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["click"].concat(__slice.call(args)));
},
dblclickE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["dblclick"].concat(__slice.call(args)));
},
mousedownE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mousedown"].concat(__slice.call(args)));
},
mouseupE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mouseup"].concat(__slice.call(args)));
},
mouseenterE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mouseenter"].concat(__slice.call(args)));
},
mouseleaveE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mouseleave"].concat(__slice.call(args)));
},
mousemoveE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mousemove"].concat(__slice.call(args)));
},
mouseoutE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mouseout"].concat(__slice.call(args)));
},
mouseoverE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["mouseover"].concat(__slice.call(args)));
},
resizeE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["resize"].concat(__slice.call(args)));
},
scrollE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["scroll"].concat(__slice.call(args)));
},
selectE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["select"].concat(__slice.call(args)));
},
changeE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["change"].concat(__slice.call(args)));
},
submitE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["submit"].concat(__slice.call(args)));
},
blurE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["blur"].concat(__slice.call(args)));
},
focusE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["focus"].concat(__slice.call(args)));
},
focusinE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["focusin"].concat(__slice.call(args)));
},
focusoutE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["focusout"].concat(__slice.call(args)));
},
loadE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["load"].concat(__slice.call(args)));
},
unloadE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return this.asEventStream.apply(this, ["unload"].concat(__slice.call(args)));
}
});
$.fn.extend({
animateE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.animate.apply(this, args).promise());
},
showE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.show.apply(this, args).promise());
},
hideE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.hide.apply(this, args).promise());
},
toggleE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.toggle.apply(this, args).promise());
},
fadeInE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.fadeIn.apply(this, args).promise());
},
fadeOutE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.fadeOut.apply(this, args).promise());
},
fadeToE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.fadeTo.apply(this, args).promise());
},
fadeToggleE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.fadeToggle.apply(this, args).promise());
},
slideDownE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.slideDown.apply(this, args).promise());
},
slideUpE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.slideUp.apply(this, args).promise());
},
slideToggleE: function() {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
return Bacon.fromPromise(this.slideToggle.apply(this, args).promise());
}
});
}).call(this);