See ReactComponentView
and BackboneModelWatchMixin
, below.
The BackboneModelWatchView
could use some additional methods to allow adding/removing watched models after the component is created.
function declOfNum(number, titles) { | |
cases = [2, 0, 1, 1, 1, 2]; | |
return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ]; | |
} | |
use: | |
declOfNum(count, ['найдена', 'найдено', 'найдены']); |
[ | |
// selection pairing with *, _ and ` | |
{ "keys": ["*"], "command": "insert_snippet", "args": {"contents": "*$0*"}, "context": | |
[ | |
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, | |
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, | |
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|$)", "match_all": true }, | |
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true }, | |
{ "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single", "match_all": true }, | |
{ "key": "selector", "operator": "equal", "operand": "text.html.markdown", "match_all": true } |
var source = require('vinyl-source-stream'); | |
var gulp = require('gulp'); | |
var gutil = require('gulp-util'); | |
var browserify = require('browserify'); | |
var reactify = require('reactify'); | |
var watchify = require('watchify'); | |
var notify = require("gulp-notify"); | |
var scriptsDir = './scripts'; | |
var buildDir = './build'; |
<form class='form-inline' id='my-custom-form'> | |
<div class="form-group"> | |
<input type='email' class='form-control' placeholder='Your email address' required> | |
</div> | |
<button class="btn btn-primary" type='submit'>Sign up</button> | |
</form> | |
<!-- Actual form that gets submitted to HubSpot --> | |
<div class="hidden" id='hubspot-form'> | |
<script charset="utf-8" src="//js.hsforms.net/forms/current.js"></script> |
react + redux + RR
It uses https://gist.github.com/iNikNik/3c1b870f63dc0de67c38 for stores and actions.
1) create redux
const redux = createRedux(state);
2) get requireAccess func => bindCheckAuth to redux
The issue:
..mobile browsers will wait approximately 300ms from the time that you tap the button to fire the click event. The reason for this is that the browser is waiting to see if you are actually performing a double tap.
(from a new defunct https://developers.google.com/mobile/articles/fast_buttons article)
touch-action
CSS property can be used to disable this behaviour.
touch-action: manipulation
The user agent may consider touches that begin on the element only for the purposes of scrolling and continuous zooming. Any additional behaviors supported by auto are out of scope for this specification.
/* | |
* Динамическая сетка | |
* Внедряется подмешиванием DOM-узлу поведенческих классов: grid_col_3, grid_cell... | |
*/ | |
.grid | |
box-sizing border-box | |
/* | |
* Генерирует стили для сетки |
$ git remote rm origin | |
$ git remote add origin git@github.com:aplikacjainfo/proj1.git | |
$ git config master.remote origin | |
$ git config master.merge refs/heads/master |