Skip to content

Instantly share code, notes, and snippets.

View faforty's full-sized avatar
🎯
Focusing

Vladislav Kaufman faforty

🎯
Focusing
  • Accessible World Inc.
  • USA
View GitHub Profile
# этап сборки (build stage)
FROM node:lts-alpine as build-stage
RUN echo http://mirror.yandex.ru/mirrors/alpine/v3.5/main > /etc/apk/repositories; \
echo http://mirror.yandex.ru/mirrors/alpine/v3.5/community >> /etc/apk/repositories
WORKDIR /app
COPY package*.json ./
# COPY .npmrc ./
RUN yarn install --frozen-lockfile
@faforty
faforty / Dispatcher.js
Created February 28, 2020 10:25
Dispatcher
import DispatcherEvent from './DispatcherEvent'
export default class Dispatcher {
constructor () {
this.events = {}
}
dispatch (eventName, data) {
const event = this.events[eventName]
if (event) {
@faforty
faforty / abs
Last active November 26, 2019 12:41
numFormatted(number, is_full_conversion) {
let msrm = parseFloat(number);
if (msrm < 1) {
number = {
value: msrm.toFixed(2),
txt: null
};
} else if (msrm >= 10000) {
if (!is_full_conversion) {
number = {
@faforty
faforty / utm_parse.js
Created February 11, 2019 04:31
utm parse and add to links
function getRefQueryParam(name) {
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
var results = regex.exec(location.search);
return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
};
let utmParamQueryString = '';
let utmParamQueryStringTrimmed = '';
handleClickOutside (event) {
const uiModalBox = this.$refs.uiModalBox
if (!event.path.includes(uiModalBox) && !event.path.includes(this.el) && this.isShow == true) {
this.close()
}
}
sudo lsof -t -i tcp:8080 | xargs kill -9
'use strict'
const fs = require('fs')
const path = require('path')
const rootFolder = __dirname // Your folder
const spider = (folder = rootFolder, state = []) => {
fs.readdirSync(folder).forEach(file => {
let dir = path.join(folder, file),
isDir = fs.lstatSync(dir).isDirectory()
<section class="b-portfolio">
<!-- Center -->
<div class="container">
<div class="b-portfolio__box">
<div class="b-portfolio__box__items">Блок 1</div>
<div class="b-portfolio__box__items">Блок 2</div>
<div class="b-portfolio__box__items">Блок 3</div>
</div>
</div>
</section>
<template>
<ui-label :filled="filled" :label-show="true">
<template slot="label"><slot></slot></template>
<textarea class="form-control ui-comment-field" v-model="message"></textarea>
</ui-label>
</template>
<script>
import uiLabel from './ui-label.vue';
export default {
<template>
<router-link tag="div" :to="link" class="tp-head-step">
<ui-progress-bar :animate="{ progress: progress }" :size="size" :style="{margin: '0 auto 20px'}">
<div class="tp-head-step__info">
<span>{{ currentStep }}/{{ maxSteps }}</span>
</div>
</ui-progress-bar>
<div :class="['tp-head-step__left-link', {'tp-head-step__left-link--active': isActive, 'tp-head-step__left-link--disabled': !isActive ? isDisabled : false }]">Продукт<br> и поставка</div>
</router-link>
</template>