This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
// Файл "tsconfig.json": | |
// - устанавливает корневой каталог проекта TypeScript; | |
// - выполняет настройку параметров компиляции; | |
// - устанавливает файлы проекта. | |
// Присутствие файла "tsconfig.json" в папке указывает TypeScript, что это корневая папка проекта. | |
// Внутри "tsconfig.json" указываются настройки компилятора TypeScript и корневые файлы проекта. | |
// Программа компилятора "tsc" ищет файл "tsconfig.json" сначала в папке, где она расположена, затем поднимается выше и ищет в родительских папках согласно их вложенности друг в друга. | |
// Команда "tsc --project C:\path\to\my\project\folder" берет файл "tsconfig.json" из папки, расположенной по данному пути. | |
// Файл "tsconfig.json" может быть полностью пустым, тогда компилятор скомпилирует все файлы с настройками заданными по умолчанию. | |
// Опции компилятора, перечисленные в командной строке перезаписывают собой опции, заданные в файле "tsconfig.json". |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const spy = jest.fn(); // or `jasmine.createSpy()` | |
const testWidth = 420; | |
beforeAll(() => { | |
window.addEventListener('resize', spy); | |
}); | |
it('does not fire resize event by default', () => { | |
expect(spy).not.toHaveBeenCalled(); | |
expect(window.innerWidth).not.toBe(testWidth); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"printWidth": 100, | |
"tabWidth": 2, | |
"useTabs": false, | |
"semi": true, | |
"singleQuote": true, | |
"trailingComma": "es5", | |
"bracketSpacing": true, | |
"jsxBracketSameLine": false, | |
"arrowParens": "avoid", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.element { | |
flex-basis: calc((100% - кол-во маржинов в строке * значение маржина) / кол-во элементов в строке); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
document.addEventListener("DOMContentLoaded", initDetect) | |
function initDetect(){ | |
window.addEventListener("resize", detectDevice) | |
detectDevice() | |
} | |
detectDevice = () => { | |
let detectObj = { | |
device: !!navigator.maxTouchPoints ? 'mobile' : 'computer', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Use case: | |
# I have a route where there's an ID parameter and I want to be able to pass data through Vue Router. | |
# Code setup is Vue + TypeScript using vue-class-component | |
# Home.vue template section | |
# This list is rendered after fetching data from an API call. | |
<template> | |
<li v-for="item in items" :key="item.id" @click.prevent="goToItem(item)">...</li> | |
</template> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Адаптивные свойства | |
$maxWidth: 1920; | |
$maxWidthContainer: 1200; | |
@mixin adaptiv-value($property, $startSize, $minSize, $type) { | |
$addSize: $startSize - $minSize; | |
@if $type==1 { | |
// Только если меньше контейнера | |
#{$property}: $startSize + px; |