Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Fullscreen search (подкорректируем алгоритм) (https://javascript.ru/forum/project/74720-fullscreen-search-podkorrektiruem-algoritm.html)

Operari 02.08.2018 19:26

Fullscreen search (подкорректируем алгоритм)
 
Приветствую!

Делюсь расширением с ценителями воркфлоу в полноэкранном режиме без мышки. Кто пишет код именно так и по-максимуму использует хоткеи, прошу ознакомится с расширением подробнее - http://operari.by/fs_search, и попробовать его в деле.

<iframe width="560" height="315" src="https://www.youtube.com/embed/E-FfhyTdv2M" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>


Есть в программе один мой алгоритм, который работает не идеально. При двойном быстром касании (<=190ms) на сенсорном экране появляется строка поиска и аналогично пропадает (toggle). При тройном синхронном касании появляется окно с вкладками, выключается по двойному касанию. Во всплытии окон не может быть коллизий. Ваш вариант реализации будет очень интересен!

Operari 08.08.2018 14:22

Вот метод из контекста программы, строка 220 (blocks/app/app.js). Если кому-то интересно, то жду пулл. https://github.com/operari/fullscreen-search

tap(e) {
	const touch = e.type === 'touchstart' ? true : false;
	const now = new Date().getTime();
	let time_since = now - this.my_latest_tap;

	this.taps += 1;

	if(time_since < 190){
		if (time_since > 50) {
			if (this.tabs) {
				this.removeLinksTab();
			} else {
				if (!this.tabs) {
					this.search = !this.search ? true : false;
					this.toggleSearch(touch);
				}
			}
			this.taps = 0;
		} else {
			if (this.taps === 3 && !this.tabs && !this.search) {
				this.sendMessage({"query": "tabs"});
			}
		}
	}

	this.taps = !(this.taps % 3) ? 0 : this.taps;
	this.my_latest_tap = now;

}


Часовой пояс GMT +3, время: 16:11.