Skip to content

Instantly share code, notes, and snippets.

View amorkovin's full-sized avatar

Андрей Морковин amorkovin

View GitHub Profile
@amorkovin
amorkovin / exception_php_js.md
Last active June 15, 2021 12:46
Execption php и его обработка в js

Exception в PHP и его трансляция в JS

Код в PHP выкидывает Exception

	if ( ! $table_name ) {
		throw new Exception('Тип поста не определен. Не могу понять, с какой таблицей БД работать.');
	}
@amorkovin
amorkovin / hook_ajax_react.js
Created June 14, 2021 08:12
Hook ajax react
// Тестовый ajax-запрос
// Использование хука
const {loading, request, error, cleanError} = useHttp();
const testAjaxHandler = async () => {
try {
const data = await request(
'http://localhost:8000/api/api123',
@amorkovin
amorkovin / css-features.css
Created February 10, 2021 13:47
Css разное
/* Элемент будет иметь состояние при наведении, когда он реально при наведении. На мобильном устройстве часто элемент оставляет состояние :hover после клика, теперь так не будет */
@media (hover: hover) {
a:hover { color: blue; }
}
@amorkovin
amorkovin / remove-get-param-from-url.js
Created September 25, 2020 11:35
Удалят указанный get-параметр из переданного url. JavaScript.
// Удаляет указанный get-параметр из URL.
function removeGetParam(url, paramName) {
const parts = window.location.search.substr(1).split("&");
let $_GET = {};
for (let i = 0; i < parts.length; i++) {
let temp = parts[i].split("=");
$_GET[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]);
}
const oldUrl = new URL(url);
@amorkovin
amorkovin / js-load-dom-resize.js
Created August 25, 2020 08:54
JavaScript ожидание загрузки и изменение ширины
// Ожидание полной загрузки страницы
window.addEventListener('load', function () {
});
// Прослушивание изменения ширины окна браузера https://developer.mozilla.org/ru/docs/Web/API/Window/resize_event
(function() {
var throttle = function(type, name, obj) {
obj = obj || window;
var running = false;
@amorkovin
amorkovin / js_zamikaniye.js
Created August 12, 2020 08:49
Замыкание JavaScript
function makeCounter() {
let count = 0;
return function () {
return count++;
};
}
let counter = makeCounter()
@amorkovin
amorkovin / grid.css
Last active December 18, 2020 13:10
Grid Гриды Примеры и разное
.grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: max-content 1fr 1fr 1fr;
grid-gap: 2vw;
/* Или с повторами */
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(4, 100px);
@amorkovin
amorkovin / restapi-wp.js
Last active September 8, 2022 10:47
REST API WordPress JavaScript fetch await async
const urlRequest = 'http://wp.loc/wp-json/wp/v2/posts?_fields=title';
async function getPostsFromWp() {
try {
const response = await fetch( urlRequest )
const data = await response.json()
return data
} catch ( e ) {
console.error( e )
}
@amorkovin
amorkovin / react-classnames.js
Last active July 16, 2020 15:18
Реакт: classnames и добавление классов в зависимости от state
// Как использовать библиотеку classnames
// https://github.com/JedWatson/classnames
// npm install -S classnames
import React, { Component } from "react";
import s from './OneFoods.module.css';
import cl from 'classnames';
class OneFoods extends Component {
state = {
@amorkovin
amorkovin / react-demo.js
Last active July 16, 2020 13:38
Реакт: создание компонента
// ------------------------src/index.js-----------------------
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App propsapptest="Передаю этот текст в props">Отправляю текст в children данного компонетнта</App>
</React.StrictMode>,