Skip to content

Instantly share code, notes, and snippets.

/* eslint-disable react/require-default-props */
/* eslint-disable react/forbid-prop-types */
/* eslint-disable react/sort-comp */
import { PureComponent } from 'react';
import PropTypes from 'prop-types';
import MapboxGeocoder from '@mapbox/mapbox-gl-geocoder';
class Geocoder extends PureComponent {
geocoder = null;
geocoderNode = null;
const sendPin = (action$, state$) =>
action$.pipe(
ofType(constants.SEND_PIN_REQUEST),
map(() => state$.value.Signup.mdn),
switchMap(mdn =>
from(service.sendPin({ lang: 'en-US', msisdn: mdn, type: 'SMS_PIN' })).pipe(
map(() => creators.sendPinSuccess()),
catchError((error) =>
// of$ a from$ vracaju obe observable. preto mergeMap(flatMap) ju unwrapne a vrati do streamu len value.
mergeMap(error => {
export const navigationLogic = createLogic({
type: UPDATE_SUCCESS,
validate: (allow) => {
currentPath: ''
if(path === "something") {
allow()
}
}
async process({ getState, action, api }, dispatch, done) {
import React from 'react'
import isEmpty from 'lodash/isEmpty'
import { Effect } from 'formik-effect'
export default ({ appStore }) => (
<Effect
onChange={(current, next) => {
if (isEmpty(current.touched) && !isEmpty(next.touched)) {
appStore.setDirty(true)
}
@marek-sed
marek-sed / steps.js
Created June 14, 2018 14:03
steps api
<Steps>
<Steps.Item>1. Stage One</Steps.Item>
<Steps.Item>2. Stage Two</Steps.Item>
<Steps.Item>3. Stage Three</Steps.Item>
</Steps>
<IndexSwitch>
<StepContent>
{({ nextStep }) => (
<Fragment>
<p>You see Mike</p>
import {
createReducer,
createAction,
createAsyncAction
} from "../utils/redux-utils";
import * as api from "../api/feeds";
const ids = [];
const byId = {};
import produce from "immer";
/**
* @param {Object} actionMap - Map of Actions, e.g. { [ACTION_TYPE]: (draft, payload) => {}}.
* draft is current copy state return from immers producer
* @param {Object} defaultState - default state used at redux/@@INIT
* @returns a reducer
*/
export function createReducer(actionMap, defaultState) {
return (state = defaultState, { type, payload }) => {
return produce(state, draft => {
import produce from "immer";
const feeds = createReducer(
{
[fetchFeeds.success]: (draft, payload) => {
draft.ids = payload.map(({ _id }) => _id);
draft.byId = payload.reduce((acc, feed) => {
acc[feed._id] = feed;
return acc;
}, {});
// toto je zodpovedne za fetch data
const withScreen = (WrappedCompoennt) =>
class Fetcher extends React.Component {
componentDidMount() {
this.props.fetchUserInfo()
}
render() {
const { fetchUserInfo, fetched?, ...childProps }
if (this.props.fetched?) {
// Demography/index.js si importnes
import { Average, Trends } from "./Age";
import { Ratio, RatioByAge } from "./Gender";
import { ByHoursInWeek } from "./Punchart";
import { ByStores } from "./Table";
render() ....
// Age.js vyzerat takto
import React from "react";