Skip to content

Instantly share code, notes, and snippets.

View sgruhier's full-sized avatar

Sébastien Gruhier sgruhier

  • https://xilinus.com
  • Saint-Paul en Forêt
  • X @sgruhier
View GitHub Profile
// instantiate the addressPicker suggestion engine (based on bloodhound)
var addressPicker = new AddressPicker({map: {id: '#map'}});
// instantiate the typeahead UI
$('#address').typeahead(null, {
displayKey: 'description',
source: addressPicker.ttAdapter()
});
// Bind some event to update map on autocomplete selection
git clone git://github.com/sstephenson/rbenv.git .rbenv
git clone git://github.com/sstephenson/ruby-build.git
echo 'export PATH="$HOME/.rbenv/bin:$HOME/ruby-build/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
. .bash_profile
rbenv install 2.1.2
rbenv global 2.1.2
S2.UI.PulldownMenu = Class.create(S2.UI.Menu, {
initialize: function($super, element, options) {
$super(options);
this.parent = $(element);
this.parent.insert(this.element);
var iLayout = this.parent.getLayout();
this.element.setStyle({
left: iLayout.get('left') + 'px',
top: (iLayout.get('top') + iLayout.get('margin-box-height')) + 'px',
// Click on labels
$('productbrowser').on("mousedown", ".label", function(event, element) {
var steps = {'pb-cat1': 0, 'pb-cat2': 6, 'pb-cat3': 13, 'pb-cat4': 24};
carousel.goTo(steps[element.id]);
event.stop();
});
// Smallest code to make a slider behavior by dragging the slider's handle
function sliderMousedown(event) {
event.stop();
mouseX = event.pointerX(), left = parseFloat(slider.style.marginLeft || 0);
// Observe mousemove and mouseup on document for dragging behavior
document.observe('mousemove', sliderMousemove).observe('mouseup', sliderMouseup);
}
function sliderMousemove(event) {
// Create a carousel in one-line code
var carousel = new S2.UI.Carousel("productbrowser", {slider: 'slider'});
// Click on track or labels
track.observe("mousedown", function(event) {
var element = event.findElement(),
steps = {'pb-cat1': 0, 'pb-cat2': 6, 'pb-cat3': 13, 'pb-cat4': 24},
localMouseX = event.pointerX() - track.viewportOffset().left,
pos = (localMouseX - slider.getWidth() / 2) / width * carousel.maxPos;
if (element.id in steps) {
carousel.goTo(steps[element.id] || pos);
}
else {
<div id="hcarousel" class="ui-carousel-horizontal">
<div id="hpaginate" class="ui-carousel-paginate">
<div class="ui-icon ui-icon-circle-arrow-w ui-carousel-prev"></div>
<ul></ul>
<div class="ui-icon ui-icon-circle-arrow-e ui-carousel-next"></div>
</div>
<div class="ui-carousel-container">
<ul>
<li class="item">
...
<div id="hcarousel" class="ui-carousel-horizontal">
<div class="ui-carousel-container">
<ul>
<li class="item1">1</li>
<li class="item2">2</li>
...
</ul>
</div>
<div id="hpaginate" class="ui-carousel-paginate">
<div class="ui-icon ui-icon-circle-arrow-w ui-carousel-prev"><a href="#" onclick="return false">&lt;</a></div>
new S2.UI.Carousel("hcarousel", {paginator: 'hpaginate', cycle: "loop"});