Skip to content

Instantly share code, notes, and snippets.

@bultas
bultas / gist:524a6199a7a053420428
Created July 18, 2014 16:45
Two digits (great for date formating to MM or DD
function twoDigits(n) {
return n < 10 ? '0' + n : '' + n;
}
@bultas
bultas / gist:7f9abb373e1f2eadcbd6
Created July 18, 2014 16:47
Array contains string (true, false)
function arrayContains(array, string) {
return array.indexOf(string) > -1;
}
@bultas
bultas / gist:c9264cf7ce49e793bed1
Last active August 29, 2015 14:04
Wait for DOM element
function waitDOM(element, callback, waitTime) {
var stop = 0;
var waitTime = waitTime || 100;
var wait = setInterval( function() {
var elementDOM = document.querySelector(element);
if (elementDOM) {
clearInterval(wait);
callback();
} else {
@bultas
bultas / gist:3cdbfc577bd015d55e09
Last active August 29, 2015 14:04
Convert Timestamp to ISO standard format(YYYY-MM-DD)
function convertTimestamp(timestamp) {
function twoDigits(n) {
return n < 10 ? '0' + n : '' + n;
}
var date = new Date(timestamp);
var day = twoDigits(date.getDate());
var month = twoDigits(date.getMonth());
var year = date.getFullYear();
/*! normalize-all-you-really-need-tho.css v1.0.0 | MIT License */
html {
font-family: sans-serif; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
-ms-text-size-adjust: 100%; /* 2 */
}
body {
margin: 0;
@bultas
bultas / gist:a81277fc05422973101f
Last active August 29, 2015 14:06
Best Test framework ever (:
function equal(a, b, description) {
if (a === b) {
console.log('%c✔︎ ok', 'color: green', description);
}
else {
console.log('%c✘ not ok', 'color: red', description);
console.assert(a === b, description);
}
}
@bultas
bultas / gist:05451f291fb1c0e98a90
Created September 12, 2014 20:34
Smooth Scrolling
// Performs a smooth page scroll to an anchor on the same page.
// reference: http://css-tricks.com/snippets/jquery/smooth-scrolling/
$(function() {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
@bultas
bultas / Simple.js
Last active August 29, 2015 14:06
Simple React Input
var React = require('react');
var Input = React.createClass({
getInitialState: function() {
return {
value: this.props.value || ''
};
},
@bultas
bultas / gist:d506a076673ca53f52aa
Last active August 29, 2015 14:11
handy Merge Object function (great for React styles)
// https://speakerdeck.com/vjeux/react-css-in-js
function m() {
var res = {};
for (var i = 0; i < arguments.length; ++i) {
if (arguments[i]) {
Object.assign(res, arguments[i]);
}
}
return res;
@bultas
bultas / gist:5ce80f26454f8f7d3df9
Created December 21, 2014 11:37
Merge Objects (Recursively)
/**
* Merge objects (recursively merge deep objects)
* @param {object} objects as arguments to merge merge(object, object2,..)
*/
var merge = function() {
var res = {};
for (var i = 0; i < arguments.length; ++i) {
if (arguments[i]) {