Commit graph

3140 commits

Author SHA1 Message Date
j
e288749077 yandex mobile 2016-11-25 22:34:17 +01:00
j
34f8ca479a yandex 2016-11-25 22:28:42 +01:00
j
927678e6be Ox.URL: support findKeys per type 2016-10-14 14:12:01 +02:00
j
67302e1a3e allow searching for substrings, i.e. do not autocomplete search for vv to first word starting with vv 2016-10-10 11:15:16 +02:00
j
9f5af680ed avoid .sort if value did not change 2016-09-20 01:15:21 +02:00
j
fde3b905f9 only animate loading interval if its actually used 2016-09-19 21:40:52 +02:00
j
0f10b4be47 don't fail if elements in focus stack are gone 2016-09-07 11:28:58 +02:00
j
310502df22 if play returns pormise, wait for it 2016-08-23 14:06:36 +02:00
j
4c54a294f6 use requestAnimationFrame for loading icon if available 2016-08-09 14:11:43 +02:00
j
f043242640 add some touch support
- fire touch(start|move|end) events after adding clinetX/Y
- use touch events in video and timeline widgets
- use touchstart to select item in ArrayEditable
2016-07-27 21:55:34 +02:00
j
72a7d54025 queue unlocked video elements asap 2016-07-27 21:55:34 +02:00
j
eac7a05584 only show one icon on load 2016-07-27 21:55:34 +02:00
adbf2dad81 ArrayEditable: replace self.$items
When shrinking the number of items, this allows the old elements to be
GCed sooner.
2016-06-23 17:56:22 +02:00
84b3c34130 Editable: avoid setTimeout
It's easily avoided and clearer without it.
2016-06-23 17:56:22 +02:00
ec85c7b458 Element: faster tooltip event binding
Even when there is no tooltip, setTooltip() accounts for about 5% of the
time spent setting the values on an ArrayEditable, of which about 2% is
Ox.filter.

There only a few possible sets of events, so use object identity rather
than calculating the set difference. In particular, this is a lot faster
when self.options.tooltip is false-y.

(I think it was actually wrong before, anyway:

    bindTooltipEvents({mouseenter, mouseleave})
    bindTooltipEvents({mousemove, mouseleave})

would (correctly) unbind mouseenter and bind mousemove, but would set
boundTooltipEvents = {mousemove} even though mouseleave is still bound.)
2016-06-23 17:56:22 +02:00
db343c382e ArrayEditable: one tooltip, not one per element
When changing the visible annotations in the bins in Pandora, creating
(and destroying) all the Ox.Tooltips takes a substantial fraction of the
time. So instead, maintain only one tooltip for each ArrayEditable.
2016-06-23 17:56:22 +02:00
869de36163
Fix Ox.Request.cancel(fn) (fixes #2932)
arguments[0] === req inside the forEach callback, so previously this
would throw

    TypeError: arguments[0] is not a function
2016-06-22 15:53:18 +01:00
j
af610a0df9 work around mobile interaction restrictions 2016-05-17 17:40:40 +02:00
j
5a40d4ef8f space 2016-05-17 17:40:40 +02:00
j
5073700241 add keyboard shortcut to toggle playback rate between 1 and 2 2016-03-29 14:57:42 +02:00
j
f2e7c75d2c add playbackRate to video elements 2016-03-29 14:26:04 +02:00
j
da08120ff4 selected item might be gone 2016-03-16 08:29:31 +01:00
j
cb875c86df fix subtitle toggle in edit panel too 2016-03-05 16:27:29 +05:30
j
ab21bdbe25 fix subtitle selection in player menu 2016-03-05 16:10:24 +05:30
j
07ec93179c disable subtitles if disabled via options.enableSubtitles, fixes #2898 2016-03-05 15:38:52 +05:30
3637b70244 Autocomplete: only replace input when a prefix matches (fixes #2753)
Previously, if the top match for "Smi" was "John Smith", the contents of
the field would be changed to "Smi[n Smith]" (where square brackets
indicate selection). On top of this, if you then type the fourth letter
("n"), the input becomes "Smin", which is not what you typed.

This preserves the "happy path" for replacing the field contents if
there is a prefix match, but without making the field unusable if
there's an infix match.
2016-03-02 17:08:45 +00:00
rlx
eaa4183e60 cosmetic changes 2016-02-22 14:56:35 +05:30
rlx
541d739fb7 cosmetic changes 2016-02-22 14:49:18 +05:30
rlx
8abbbd4791 faster Ox.every 2016-02-20 14:38:04 +05:30
rlx
75b5b76157 Ox.Image: disable tests 2016-02-18 14:45:47 +05:30
rlx
0d0ab99060 add (failing) test to Ox.minify 2016-02-18 13:47:22 +05:30
rlx
d6b7d2e949 Ox.every: add 'that' argument; make Ox.some work more like Ox.every 2016-02-18 11:00:55 +05:30
rlx
064a28da3d Ox.zipObject: support (key, value) 2016-02-18 10:59:37 +05:30
rlx
08e16d073c Ox.unique: for string argument, return string 2016-02-18 10:58:32 +05:30
rlx
7f8403d89f Ox.$: remove unused var, better height/width, fix typo in .map 2016-02-15 13:17:52 +05:30
rlx
869a5ef5ee fix Ox.isEqual for RegExp 2016-02-12 15:59:27 +05:30
rlx
92e141cb81 typo 2016-02-12 15:59:08 +05:30
rlx
d9ef18d482 indeterminate checkboxes... 2016-02-10 13:24:57 +05:30
rlx
2944379b71 indeterminate checkboxes... 2016-02-10 13:22:38 +05:30
rlx
1472927883 indeterminate checkboxes... 2016-02-10 13:19:45 +05:30
rlx
6d560fc4f5 indeterminate checkboxes... 2016-02-10 13:17:17 +05:30
rlx
ff30b32188 indeterminate checkboxes... 2016-02-10 13:15:15 +05:30
rlx
5ea5a5ee2b indeterminate checkboxes... 2016-02-10 13:10:38 +05:30
rlx
56c72ba0b4 'minus' -> 'remove' 2016-02-10 13:08:10 +05:30
rlx
4248a3a783 indeterminate checkboxes... 2016-02-10 13:06:15 +05:30
rlx
12c466b0d3 indeterminate checkboxes... 2016-02-10 13:04:39 +05:30
rlx
0dd921caae indeterminate checkboxes... 2016-02-10 13:03:36 +05:30
rlx
368ae04fe0 Ox.Checkbox: add indeterminate option 2016-02-10 12:56:19 +05:30
j
0327947864 fix form_elements example 2016-01-30 22:39:45 +05:30
rlx
396c69333e Edits: fix doubleclick-to-scroll-to-top in list view 2016-01-21 12:54:25 +05:30