Skip to content

Instantly share code, notes, and snippets.

View Bitaru's full-sized avatar
:octocat:

Vitaly Danilov Bitaru

:octocat:
View GitHub Profile
@Bitaru
Bitaru / arrayMath.js
Created January 23, 2014 07:27
Напишите функцию, которая из произвольного входящего массива выберет все комбинации чисел, сумма которых будет равняться 10.
(function() {
arrayMath = function(input, subject) {
var array, bin, c, count, counter, d,
fx, i, index, item, like, match,
output, reverse, sample, v, zip, _i, _len;
array = [];
for (_i = 0, _len = input.length; _i < _len; _i++) { // # Очищаем входящий массив
item = input[_i];
if (item < subject && isFinite(item)) {
@Bitaru
Bitaru / EX.widget.md
Last active August 29, 2015 14:04
Excursiopedia Widgets API

Excursiopedia Widgets API

===

Introduction

Excuriopedia widgets are iFrame based widgets with built in real-time customization system in "debug" mode.

Options

Widget

"use strict"
LIVERELOAD_PORT = 35729
lrSnippet = require("connect-livereload")(port: LIVERELOAD_PORT)
proxySnippet = require('grunt-connect-proxy/lib/utils').proxyRequest
mountFolder = (connect, dir) -> connect.static require("path").resolve(dir)
module.exports = (grunt) ->
# load all grunt tasks
@Bitaru
Bitaru / excursiopedia.box.js
Created August 20, 2015 11:33
Iframe widgets initializer
require('currentscript')
var EX = function(config){
this.config = this.prepareConfig(config);
this.cache_bust = 1;
this.iframe = this.create(this.config);
this.subscribe(config.debug ? true : false);
/**
@Bitaru
Bitaru / generateRoutes.js
Last active September 16, 2022 14:11
Automatically generate routes for React-Router
import React from 'react';
import isArray from 'is-array';
import { Route, IndexRoute } from 'react-router';
import wrapComponent from './wrapComponent.js';
import PricingItem from '../components/PricingItem/';
class PlainRoute {
path = void 0;
childrens = null;
parent = void 0;
import { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
import { browserHistory, Link } from 'react-router';
import cx from 'classnames';
import * as actions from 'modules/users';
import styles from './styles.css';
import { autobind } from 'core-decorators';
import { asyncConnect } from 'redux-async-connect';
@asyncConnect([{
{
name: 'demo_front',
target: 'web',
node: {
fs: 'empty'
},
output: {
publicPath: '/',
filename: '[name].js',
chunkFilename: 'chunk.[name].js',
@Bitaru
Bitaru / handleReduxForm.js
Last active July 2, 2016 13:55
Handle redux form submiting with async actions
import { batchActions } from 'redux-batched-actions';
/**
* Create a function which will handle error in request
* and dispatch rest actions on success.
* You can also use .then(data => ...) to do something on sucess
*
* @param Promised action
* @param ... other actions
@Bitaru
Bitaru / DBService.js
Last active July 29, 2016 11:31
Simplest way to connect CRUD data to layout
import { createReducer } from 'redux-act';
import isFunction from 'lodash/isFunction';
import isString from 'lodash/isString';
import isEmpty from 'lodash/isEmpty';
import withMessage from './withMessage';
import { connect } from 'react-redux';
import compose from 'recompose/compose';
import createEagerFactory from 'recompose/createEagerFactory';
import { asyncConnect } from 'redux-async-connect';
import { createSelector, createStructuredSelector } from 'reselect';
import { Route } from 'react-router';
import isUndefined from 'lodash/isundefined';
import every from 'lodash/every';
import some from 'lodash/some';
const hasFeatures = (features, exposes) =>
isUndefined(exposes) || every(exposes, feature => features.includes(feature));
const hasAccess = ({ accesses }, mandatory, optional) =>