Skip to content

Instantly share code, notes, and snippets.

View sunify's full-sized avatar

Alex Lunyov sunify

View GitHub Profile
@sunify
sunify / OnOutClickMixin.js
Last active October 5, 2015 14:49
React mixin
var handlers = {};
document.addEventListener('click', onDocumentClick);
function onDocumentClick(evt) {
var rid = (evt.target.dataset && evt.target.dataset.reactid) || '';
Object.keys(handlers).forEach(function(key) {
var hnd = handlers[key];
if(rid.indexOf(key) !== 0) {
hnd.comp[hnd.handler](evt);
@sunify
sunify / OnOutClickMixin.js
Created December 16, 2014 13:38
OnOutClickNoCommonJS
(function () {
var handlers = {};
document.addEventListener('click', onDocumentClick);
function onDocumentClick(evt) {
var rid = (evt.target.dataset && evt.target.dataset.reactid) || '';
Object.keys(handlers).forEach(function(key) {
var hnd = handlers[key];
if(rid.indexOf(key) !== 0) {
function getScrollbarWidth() {
if(width !== undefined) {
return width;
}
var outer = document.createElement("div");
outer.style.visibility = "hidden";
outer.style.width = "100px";
outer.style.msOverflowStyle = "scrollbar"; // needed for WinJS apps
entry: {
main: './src/scripts/main.js',
contact: './src/scripts/contact.js',
},
output: {
path: __dirname + '/js',
filename: '[name].js'
},
plugins: [
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a){window.mercury=a("mercury")},{mercury:2}],2:[function(a,b){"use strict";function c(a){return a?h(a):g()}function d(a){var b=i(a),c=b.channels,d=b.handles;c?b.channels=j.value(null):d&&(b.handles=j.value(null));var e=j.struct(b);return c?e.channels.set(j.channels(c,e)):d&&e.handles.set(j.channels(d,e)),e}function e(a,b){function c(c,d){var e=j.Delegator.allocateHandle(a[d].bind(null,b));return c[d]=e,c}return Object.keys(a).reduce(c,{})}function f(a,b,c,d){j.Delegator(d);var e=j.main(b(),c,i({diff:j.diff,create:j.create,patch:j.patch},d));return a&&a.appendChild(e.
@sunify
sunify / gulpfile.js
Last active August 29, 2015 14:17
My webpack+gulp config
var notifier = require('node-notifier');
var gulp = require('gulp');
var g = require('gulp-load-plugins')();
var lr = require('tiny-lr');
var server = lr();
var minimist = require('minimist');
var env = minimist(process.argv.slice(2));
var debug = !!env.debug || !!env.d;
function add(...list) {
return list.reduce((r, n) => r + n);
}
add(1, 2, 3, 4, 5, 6, 7, 8);
export default function* campaignsLoading(getState) {
yield takeEvery(LOCATION_CHANGE, function* ({ payload }) {
if (payload.pathname === '/campaigns') {
yield runAfterUserRestore(getState, function* () {
// грузим кампании, переходим к первой
});
} else if (payload.pathname.startsWith('/campaigns')) { // catch transition to campaign page
yield runAfterUserRestore(getState, function* () { // eslint-disable-line
// грузим все кампании и статистику по нужной
});
0x8AB21C65041778DFc7eC7995F9cDef3d5221a5ad
0xad8e31c8862f5f86459e7cca97ac9302c5e1817077902540779eef66e21f394a