Skip to content

Instantly share code, notes, and snippets.

@denieler
denieler / Detect-mobile-js.js
Created July 2, 2014 19:22
Detect mobile from js script
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
@denieler
denieler / get-hash-from-url.js
Created July 2, 2014 19:45
Get hash from url using jquery
$(window.location).attr('hash');
@denieler
denieler / CAT-localStorage-logs
Created July 23, 2014 14:42
Show CAT logs from localStorage
var logValue = localStorage.getItem('CAT.Log');
var log = JSON.parse(logValue || null);
var paymentMethodLogs = log.PaymentMethod;
var sendRequests = paymentMethodLogs.SendRequest.split(',');
var startProcesses = paymentMethodLogs.StartProcess.split(',');
var getResponses = paymentMethodLogs.GetResponse.split(',');
Date.prototype.toString = function(){
var t = this;
@denieler
denieler / unobtrusive-validation-handler
Last active August 29, 2015 14:04
JQuery event handler on validation form
var settings = $.data($('form')[0], 'validator').settings;
$("form").bind("invalid-form.validate", function (form,validator) {
var errors = validator.numberOfInvalids();
var message = "Please fix" + errors + " errors.";
for (var x=0;x<validator.errorList.length;x++)
{
message += "<br/>\u25CF " + validator.errorList[x].message + 'Element:' + $(validator.errorList[x].element).attr('name');
}
@denieler
denieler / get-data-network-chrome-developers-tool
Created August 6, 2014 09:26
Get Network information from Chrome Developers Tool Console
var network = /*place data*/
$.each( network.log.entries, function(index, entry){
var url = entry.request.url;
var filename = url.substring(url.lastIndexOf('/')+1);
if(filename.indexOf('?')>0)
{
filename = filename.slice(0, filename.indexOf('?'));
}
var time = entry.time.replace('.',',');
param (
# [string] $teamproject = $(throw "please specify a Team Project name"))
)
$arrAssemblies = @(
"Microsoft.TeamFoundation.Client",
"Microsoft.TeamFoundation.Common",
"Microsoft.TeamFoundation.Build.Client",
"Microsoft.TeamFoundation.Build.Workflow",
"Microsoft.TeamFoundation.VersionControl.Client"
@denieler
denieler / gist:f103618c031de4b7219e909e411af23e
Created June 17, 2016 16:03
Get most changeable commits
git log --pretty=format: --name-only | grep ".*\.\(js\|coffee\)" | sort | uniq -c | sort -rg | head -10
@denieler
denieler / spacer-component.js
Last active October 4, 2018 08:08
Spacer component
import PropTypes from 'prop-types'
import styled from 'styled-components'
const Spacer = styled.div`
${props => (props.top ? 'margin-top: ' + props.top * 8 + 'px' : '')};
${props => (props.right ? 'margin-right: ' + props.right * 8 + 'px' : '')};
${props => (props.bottom ? 'margin-bottom: ' + props.bottom * 8 + 'px' : '')};
${props => (props.left ? 'margin-left: ' + props.left * 8 + 'px' : '')};
${props => (props.inline ? 'display: inline-block' : '')};
`
@denieler
denieler / array-deep-flatten.js
Created October 9, 2018 22:00
Array deep flatten implementation
Array.prototype.flatten = function () {
return this.reduce((list, x) => {
if (Array.isArray(x)) {
return list.concat(x.flatten())
} else {
return list.concat(x)
}
}, [])
}
@denieler
denieler / test-utils.js
Created January 10, 2019 19:50
Custom render function for react-testing-library for jest snapshots with jss
import React from 'react'
import { render } from 'react-testing-library'
import JssProvider from 'react-jss/lib/JssProvider'
const generateClassName = (rule, styleSheet) =>
`${styleSheet.options.classNamePrefix}-${rule.key}`
const customRender = (node, options) => {
return render(
<JssProvider generateClassName={generateClassName}>