Skip to content

Instantly share code, notes, and snippets.

View SPavelV's full-sized avatar
💻
eron-don-don

Pavel SPavelV

💻
eron-don-don
  • Izhevsk
View GitHub Profile
@SPavelV
SPavelV / timer.md
Created December 3, 2022 18:35 — forked from nptit/timer.md
Таймер обратного отсчета на JavaScript https://git.io/timerjs

Таймер обратного отсчета в 18 строк кода JavaScript.

Бывает, что вам для чего-то нужен таймер обратного отсчета, в интернете есть много решений, однако они либо очень громоздкие, либо имеют зависимости от других библиотек. Сегодня мы рассмотрим, как сделать таймер обратного отсчета на JavaScript в 18 строк кода.

План

  • Установить правильную дату окончания
  • Высчитать оставшееся время
  • Привести дату к удобному формату
  • Вывести данные таймера, как многоразовый объект
@SPavelV
SPavelV / ListPenalties.js
Created May 25, 2022 14:21 — forked from mrhat24/ListPenalties.js
Smart/dump components after
import {useState} from 'react';
import {useDispatch} from "react-redux";
import update from "immutability-helper";
import {
useGetFiltersPenalties,
useGetListPenalties
} from "../../hooks/";
import {penaltiesActions} from "../../Store/Redux/Penalties/actions";
import { Filters } from '../Filters/';
@SPavelV
SPavelV / Markdown-docs.md
Created October 18, 2021 08:36 — forked from Jekins/Markdown-docs.md
Руководство по оформлению Markdown файлов

Настоящий документ предназначен для ознакомления пользователя с функциональными возможностями языка разметки Markdown. Markdown – это облегченный язык разметки, который является инструментом преобразования кода в HTML. Главной особенностью данного языка является максимально простой синтаксис, который служит для упрощения написания и чтения кода разметки, что, в свою очередь, позволяет легко его корректировать. Теперь рассмотрим более подробно функции языка разметки Markdown.

Markdown не является заменой HTML. Синтаксис Markdown достаточно ограничен, и соответствует лишь небольшому подмножеству элементов HTML. Он включает в себя следующие элементы:

  1. Блочные элементы
@SPavelV
SPavelV / index.html
Created September 18, 2021 04:51
Swagger api demo
<!doctype html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport'
content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'>
<meta http-equiv='X-UA-Compatible' content='ie=edge'>
<title>Lectrum LLC</title>
</head>
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
export function withAppContext<
P extends { appContext?: AppContextInterface },
R = Omit<P, 'appContext'>
>(
Component: React.ComponentClass<P> | React.StatelessComponent<P>
): React.SFC<R> {
return function BoundComponent(props: R) {
return (
@SPavelV
SPavelV / ch01-magic-run.js
Created February 6, 2020 12:16 — forked from luijar/ch01-magic-run.js
Functional Programming in JavaScript Chapter 01 - run function
/*
* Functional Programming in JavaScript
* Chapter 01
* Magical -run- function in support of Listing 1.1
* Author: Luis Atencio
*/
// -run- with two functions
var run2 = function(f, g) {
return function(x) {
return f(g(x));
@SPavelV
SPavelV / gist:f6a5506e7aacb1bde35c5c17e63f29c9
Created December 2, 2019 07:29
React component ResizeObserver
import React from "react";
// Extra extra large screen / large desktop
export const XXL = 1600;
// Extra large screen / full hd
export const XL = 1200;
// Large screen / wide desktop
export const LG = 1024;
@SPavelV
SPavelV / gist:068fd83a3c01d764f97c703066e0c834
Created November 13, 2019 09:08
Enzyme instance() method should be able to carry type of wrapped class
class MyComponentWithMethods extends React.Component<{}, {}> {
someMethod() {
return 'some string';
}
}
test('instance type by providing component type explicitly works', () => {
const wrapper = shallow<MyComponentWithMethods>(<MyComponentWithMethods />);
expect(wrapper.instance().someMethod()).toBe('some string');
}
}
@SPavelV
SPavelV / currency-input-formatted.ts
Last active October 25, 2019 15:39
Currency input formatted
formattedValue = (value: string | undefined) => {
if (value) {
const thousandSepartor = this.props.thousandSeparаtor ? this.props.thousandSeparаtor : " ";
const currencySymbol = this.props.currencySymbol ? this.props.currencySymbol : "";
const regexSeparator = new RegExp("\\" + this.props.decimalSeparator);
const regexFloat = new RegExp("[^" + this.props.decimalSeparator + "]?\\d?\\d?$");
let floatValue = "00";
let matchStart = -1;
@SPavelV
SPavelV / Search for 3 inputs form
Created July 12, 2019 07:43
Create instance SearchInputNative
'use strict';
export default class SearchInputNative {
constructor({
inputsElementsArr,
valueAll = 'all', //значение value для отображения всех варинтов
callback = ()=>console.log('---callback is not define:'),
filterUniqueItems,// убираем дубликаты аптек с разными статусами при отображении всех элементов
data
}) {
this.inputsElementsArr = inputsElementsArr;