Skip to content

Instantly share code, notes, and snippets.

View mkozhukharenko's full-sized avatar

Nikolay mkozhukharenko

View GitHub Profile
@mkozhukharenko
mkozhukharenko / NotficationActionTypes.js
Created February 14, 2016 19:33 — forked from jerairrest/NotficationActionTypes.js
React-toastr Redux Implementation
export const RECEIVE_MESSAGE = 'RECEIVE_MESSAGE';
@mkozhukharenko
mkozhukharenko / koa-passport-auth.js
Created June 9, 2016 07:22 — forked from moustacheful/koa-passport-auth.js
Koa passport.authenticate wrapper
// koa-passport-authenticate.js
'use strict'
const _ = require('lodash')
const passport = require('koa-passport')
'use strict'
// Middleware wrapper for koa passport to have proper error handling on authenticate.
@mkozhukharenko
mkozhukharenko / event-emitter.js
Last active June 30, 2016 20:13
Simple Event Emitter
// Simple Event emitter realization
class EventEmitter {
constructor() {
// store for handlers
this.events = {};
}
// subscribe
on(name, fn) {
this.events[name] = this.events[name] || [];
@mkozhukharenko
mkozhukharenko / event-emitter-improved.js
Created June 30, 2016 20:14
Simple Event Emitter Improved
// make EE singelton, add .off method
let instance = null;
class EventEmitter {
constructor() {
// ensure we have only one instance (singelton pattern)
if (!instance) {
instance = this;
}
@mkozhukharenko
mkozhukharenko / get-values.js
Created October 11, 2016 14:02
React and MobX form validation - full example here https://github.com/mkozhukharenko/mobx-form-validation
// trun {fiels: {email: 'val', err:''}} to {email: 'val'}
var getValues = () => {
let data = {};
let form = toJS(this.form).fields;
Object.keys(form).map(key => {
data[key] = form[key].value
});
return data
}
@mkozhukharenko
mkozhukharenko / login-form-model.js
Last active October 30, 2016 16:04
Login Form model
import { observable } from 'mobx'
export default class LoginStore {
@observable
form = {
fields: {
email: {
value: '', // binds to input value
error: null // shows beneif the input
},
@mkozhukharenko
mkozhukharenko / validatorjs-example.js
Last active January 28, 2021 18:27
Example of validatorjs usage
import Validator from 'validatorjs'
var data = {
name: 'John',
email: 'not-valid-email'
};
var rules = {
name: 'required',
email: 'required|email'
};
var validation = new Validator(data, rules);
@mkozhukharenko
mkozhukharenko / input-component.jsx
Last active October 30, 2016 15:38
Input component
<FormInput name="name"
value={form.fields.name.value}
error={form.fields.name.error}
onChange={form.onFieldChange}
placeholder="Enter your name"/>
@mkozhukharenko
mkozhukharenko / form-input.componen.jsx
Last active March 15, 2017 11:48
Form input component
import React, { PropTypes } from 'react';
import classNames from 'classnames'
let getFormInputClasses = ({valid, error}) => classNames('form-input', {
'form-input--error': !!error,
})
let FormInput = (props) => (
<span className={getFormInputClasses(props)}>
<input {...props}
@mkozhukharenko
mkozhukharenko / onFieldChange.js
Last active October 30, 2016 16:03
onFieldChange implementation with validation
import {action, observable} from 'mobx';
import Validator from 'validatorjs';
class LoginStore {
@observable
form = {
fields: {
email: {
value: '',
error: null,