Skip to content

Instantly share code, notes, and snippets.

View QuadradS's full-sized avatar

Danil QuadradS

View GitHub Profile
@QuadradS
QuadradS / actions.ts
Last active March 12, 2021 22:49
Create reducer/action sample
import {createAction} from "@reduxjs/toolkit";
import * as constants from "../side-effects/constants";
import {ICol, ISelect, IText} from "../form/reducer";
export const showEditCol = createAction<{ c: ICol, rid: string } | null>(constants.EDIT_COL_MODAL)
export const showEditTextField = createAction<{ c: IText, rid: string, cid: string } | null>(constants.EDIT_TEXT_MODAL)
export const showEditSelect = createAction<{ c: ISelect, rid: string, cid: string } | null>(constants.EDIT_SELECT_MODAL)
export const activateDrag = createAction<{ type?: null | string, active?: boolean }>(constants.ACTIVATE_DRAG)
@QuadradS
QuadradS / get-html.js
Created March 24, 2020 10:16
custom ssr
import React from 'react'
import ReactDOMServer from 'react-dom/server'
import { Provider } from 'react-redux'
import { StaticRouter } from 'react-router-dom'
import App from '../App'
import { Helmet } from 'react-helmet'
const getHtml = ({ store, context, url }) => {
let html;
let helmet;
@QuadradS
QuadradS / userRepository.ts
Last active February 17, 2020 11:22
example of user repository
import { UserPhotoResponseDTO, UserSearchDTO } from 'goin-shared'
import { DeepPartial, EntityManager, EntityRepository, Repository } from 'typeorm'
import { UsersRepository } from '../index'
import UserModel from '../../models/user'
import { RepositoryByName } from '../../annotations/di'
import Injectables from '../../enums/injectables'
@RepositoryByName(Injectables.repos.users)
@EntityRepository(UserModel)
export default class DefaultUsersRepository extends Repository<UserModel> implements UsersRepository {
@QuadradS
QuadradS / userService.ts
Created February 17, 2020 11:19
Example of user service
import { AuthJwtPayloadDTO, ChangePasswordByRecoveryTokenDTO, UserResponseDTO } from 'goin-shared'
import { passportApi } from '../../utils/request.util'
import { UserService } from '../index'
import { PassportApiPaths } from '../../enums/microservices-endpoints'
import { ComponentByName } from 'ts-framework'
import Injectables from '../../enums/injectables'
@ComponentByName(Injectables.services.user)
export default class DefaultService implements UserService {
getCurrentUser(authJwtPayload: AuthJwtPayloadDTO): Promise<UserResponseDTO> {
@QuadradS
QuadradS / userControllers.ts
Created February 17, 2020 11:17
Controllers
import { Autowired, BaseController, GetMapping, PatchMapping, RequestBody, RestController, User } from 'ts-framework'
import Injectables from '../enums/injectables'
import Paths from '../enums/paths'
import { AuthJwtPayloadDTO, ChangePasswordByRecoveryTokenDTO, UserResponseDTO } from 'goin-shared'
import { UserService } from '../services'
@RestController
class UserController extends BaseController {
private userService: UserService
import { GET_BLOGS_ERROR, GET_BLOGS_REQUEST, GET_BLOGS_SUCCESS } from './actions'
import { DATA_STATUS } from '../../consts/dataStatus'
const initialState = {
blogsStatus: DATA_STATUS.NOT_TOUCHED,
blogs: []
}
const blogsPageReducer = (state = initialState, action) => {
switch (action.type) {
@QuadradS
QuadradS / AdminSystemRolesModule.tsx
Last active March 12, 2021 22:51
Example of component
import * as React from 'react'
import i18next from 'i18next'
import {CircularProgress, IconButton, Paper, Table, TableBody, TableCell, TableHead, TableRow} from '@material-ui/core'
import ViewRoleRow from './ViewRoleRow'
import EditingRoleRow from './EditingRoleRow'
import {injectAware, injectProperty} from '../../../../common/annotations/dependency-injection'
import {RoleService} from '../../../../services'
import {RoleMapper} from '../../../../mappers'
import Role from '../../../../models/role'
@QuadradS
QuadradS / MembershipUserDetails.jsx
Last active March 12, 2021 22:53
RejectDialog component with appollo and graphql
import React from 'react';
import {graphql} from 'react-apollo';
import {Form, Formik} from 'formik';
import moment from "moment";
import {
Button,
Dialog,
DialogActions,
DialogContent,
DialogContentText,
@QuadradS
QuadradS / EditForm.tsx
Last active March 12, 2021 22:53
Пример контроллера:
import { Form, FormikProps } from 'formik'
import * as React from 'react'
import TextField from '../../ui/TextField'
export interface IEditOrgInnerFormValues {
orgName: string
state: string
email: string
phone: string
timeZone: string
const InitialItem = ({ pickUp, dropOff, Icon, onClick, rating }) =>
<div className="Initial__item" onClick={onClick}>
<div className={'Initial__cont'}>
{Icon}
<div className={'Initial__adress'}>
{dropOff && <div className={'Initial__marker'}>
<div className={'marker__typeBorder'}/>
<div className={'marker__typeDot'}/>
<div className={'marker__typeDot'}/>
<div className={'marker__typeCircle'}/>