Skip to content

Commit 8481f7e

Browse files
author
vrana
committedSep 17, 2012
Don't open symbols on double click
Summary: My average double click speed is 10 ms but I tried to double click as I think normal people double clicks and it was around 200 ms. I don't want to make the timeout much longer because it looks like that something doesn't work. Test Plan: Double clicked on symbol. Clicked on symbol. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Differential Revision: https://secure.phabricator.com/D3509
1 parent e4703c6 commit 8481f7e

File tree

3 files changed

+98
-73
lines changed

3 files changed

+98
-73
lines changed
 

‎externals/javelin

Submodule javelin updated from 6ad17a5 to a875df7

‎src/__celerity_resource_map__.php

+66-54
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@
6565
),
6666
'/rsrc/image/autosprite.png' =>
6767
array(
68-
'hash' => '0b78a23fb4cec90e3a35ba1b9ce20f0c',
69-
'uri' => '/res/0b78a23f/rsrc/image/autosprite.png',
68+
'hash' => '7b29558c2c67f5e667cc51b380a1795e',
69+
'uri' => '/res/7b29558c/rsrc/image/autosprite.png',
7070
'disk' => '/rsrc/image/autosprite.png',
7171
'type' => 'png',
7272
),
@@ -671,7 +671,7 @@
671671
),
672672
'autosprite-css' =>
673673
array(
674-
'uri' => '/res/cb9c82fd/rsrc/css/autosprite.css',
674+
'uri' => '/res/c6a807c2/rsrc/css/autosprite.css',
675675
'type' => 'css',
676676
'requires' =>
677677
array(
@@ -1702,13 +1702,14 @@
17021702
),
17031703
'javelin-behavior-repository-crossreference' =>
17041704
array(
1705-
'uri' => '/res/6a59668a/rsrc/js/application/repository/repository-crossreference.js',
1705+
'uri' => '/res/244c5251/rsrc/js/application/repository/repository-crossreference.js',
17061706
'type' => 'js',
17071707
'requires' =>
17081708
array(
17091709
0 => 'javelin-behavior',
17101710
1 => 'javelin-dom',
1711-
2 => 'javelin-uri',
1711+
2 => 'javelin-stratcom',
1712+
3 => 'javelin-uri',
17121713
),
17131714
'disk' => '/rsrc/js/application/repository/repository-crossreference.js',
17141715
),
@@ -1821,7 +1822,7 @@
18211822
),
18221823
'javelin-fx' =>
18231824
array(
1824-
'uri' => '/res/97e25a7f/rsrc/js/javelin/ext/fx/FX.js',
1825+
'uri' => '/res/30ef0914/rsrc/js/javelin/ext/fx/FX.js',
18251826
'type' => 'js',
18261827
'requires' =>
18271828
array(
@@ -1867,7 +1868,7 @@
18671868
),
18681869
'javelin-magical-init' =>
18691870
array(
1870-
'uri' => '/res/caa86a45/rsrc/js/javelin/core/init.js',
1871+
'uri' => '/res/4f3c705c/rsrc/js/javelin/core/init.js',
18711872
'type' => 'js',
18721873
'requires' =>
18731874
array(
@@ -1938,7 +1939,7 @@
19381939
),
19391940
'javelin-request' =>
19401941
array(
1941-
'uri' => '/res/f256e263/rsrc/js/javelin/lib/Request.js',
1942+
'uri' => '/res/6350e673/rsrc/js/javelin/lib/Request.js',
19421943
'type' => 'js',
19431944
'requires' =>
19441945
array(
@@ -1953,7 +1954,7 @@
19531954
),
19541955
'javelin-resource' =>
19551956
array(
1956-
'uri' => '/res/0058cd36/rsrc/js/javelin/lib/Resource.js',
1957+
'uri' => '/res/d5a3f835/rsrc/js/javelin/lib/Resource.js',
19571958
'type' => 'js',
19581959
'requires' =>
19591960
array(
@@ -1979,7 +1980,7 @@
19791980
),
19801981
'javelin-tokenizer' =>
19811982
array(
1982-
'uri' => '/res/a8275d0d/rsrc/js/javelin/lib/control/tokenizer/Tokenizer.js',
1983+
'uri' => '/res/a10ae640/rsrc/js/javelin/lib/control/tokenizer/Tokenizer.js',
19831984
'type' => 'js',
19841985
'requires' =>
19851986
array(
@@ -1992,7 +1993,7 @@
19921993
),
19931994
'javelin-typeahead' =>
19941995
array(
1995-
'uri' => '/res/2f694700/rsrc/js/javelin/lib/control/typeahead/Typeahead.js',
1996+
'uri' => '/res/ba188749/rsrc/js/javelin/lib/control/typeahead/Typeahead.js',
19961997
'type' => 'js',
19971998
'requires' =>
19981999
array(
@@ -2055,7 +2056,7 @@
20552056
),
20562057
'javelin-typeahead-source' =>
20572058
array(
2058-
'uri' => '/res/83bf292a/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadSource.js',
2059+
'uri' => '/res/74b1f091/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadSource.js',
20592060
'type' => 'js',
20602061
'requires' =>
20612062
array(
@@ -2066,9 +2067,20 @@
20662067
),
20672068
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadSource.js',
20682069
),
2070+
'javelin-typeahead-static-source' =>
2071+
array(
2072+
'uri' => '/res/c8e247fc/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js',
2073+
'type' => 'js',
2074+
'requires' =>
2075+
array(
2076+
0 => 'javelin-install',
2077+
1 => 'javelin-typeahead-source',
2078+
),
2079+
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js',
2080+
),
20692081
'javelin-uri' =>
20702082
array(
2071-
'uri' => '/res/393ace00/rsrc/js/javelin/lib/URI.js',
2083+
'uri' => '/res/8c7cb610/rsrc/js/javelin/lib/URI.js',
20722084
'type' => 'js',
20732085
'requires' =>
20742086
array(
@@ -2080,7 +2092,7 @@
20802092
),
20812093
'javelin-util' =>
20822094
array(
2083-
'uri' => '/res/2180bc95/rsrc/js/javelin/core/util.js',
2095+
'uri' => '/res/25786b6c/rsrc/js/javelin/core/util.js',
20842096
'type' => 'js',
20852097
'requires' =>
20862098
array(
@@ -3034,7 +3046,7 @@
30343046
'uri' => '/res/pkg/2ba14b3d/differential.pkg.css',
30353047
'type' => 'css',
30363048
),
3037-
'670ad7f1' =>
3049+
'577c3e68' =>
30383050
array(
30393051
'name' => 'differential.pkg.js',
30403052
'symbols' =>
@@ -3057,7 +3069,7 @@
30573069
15 => 'differential-inline-comment-editor',
30583070
16 => 'javelin-behavior-differential-dropdown-menus',
30593071
),
3060-
'uri' => '/res/pkg/670ad7f1/differential.pkg.js',
3072+
'uri' => '/res/pkg/577c3e68/differential.pkg.js',
30613073
'type' => 'js',
30623074
),
30633075
'c8ce2d88' =>
@@ -3083,7 +3095,7 @@
30833095
'uri' => '/res/pkg/5e68be89/diffusion.pkg.js',
30843096
'type' => 'js',
30853097
),
3086-
'6fb20113' =>
3098+
'63e59d27' =>
30873099
array(
30883100
'name' => 'javelin.pkg.js',
30893101
'symbols' =>
@@ -3099,7 +3111,7 @@
30993111
8 => 'javelin-json',
31003112
9 => 'javelin-uri',
31013113
),
3102-
'uri' => '/res/pkg/6fb20113/javelin.pkg.js',
3114+
'uri' => '/res/pkg/63e59d27/javelin.pkg.js',
31033115
'type' => 'js',
31043116
),
31053117
'7839ae2d' =>
@@ -3129,7 +3141,7 @@
31293141
'uri' => '/res/pkg/7707de41/maniphest.pkg.js',
31303142
'type' => 'js',
31313143
),
3132-
'97f65640' =>
3144+
'81c9cd69' =>
31333145
array(
31343146
'name' => 'typeahead.pkg.js',
31353147
'symbols' =>
@@ -3142,7 +3154,7 @@
31423154
5 => 'javelin-tokenizer',
31433155
6 => 'javelin-behavior-aphront-basic-tokenizer',
31443156
),
3145-
'uri' => '/res/pkg/97f65640/typeahead.pkg.js',
3157+
'uri' => '/res/pkg/81c9cd69/typeahead.pkg.js',
31463158
'type' => 'js',
31473159
),
31483160
),
@@ -3165,7 +3177,7 @@
31653177
'aphront-typeahead-control-css' => '1db83c80',
31663178
'differential-changeset-view-css' => '2ba14b3d',
31673179
'differential-core-view-css' => '2ba14b3d',
3168-
'differential-inline-comment-editor' => '670ad7f1',
3180+
'differential-inline-comment-editor' => '577c3e68',
31693181
'differential-local-commits-view-css' => '2ba14b3d',
31703182
'differential-results-table-css' => '2ba14b3d',
31713183
'differential-revision-add-comment-css' => '2ba14b3d',
@@ -3177,22 +3189,22 @@
31773189
'diffusion-commit-view-css' => 'c8ce2d88',
31783190
'diffusion-icons-css' => 'c8ce2d88',
31793191
'inline-comment-summary-css' => '2ba14b3d',
3180-
'javelin-behavior' => '6fb20113',
3181-
'javelin-behavior-aphront-basic-tokenizer' => '97f65640',
3182-
'javelin-behavior-aphront-drag-and-drop' => '670ad7f1',
3183-
'javelin-behavior-aphront-drag-and-drop-textarea' => '670ad7f1',
3192+
'javelin-behavior' => '63e59d27',
3193+
'javelin-behavior-aphront-basic-tokenizer' => '81c9cd69',
3194+
'javelin-behavior-aphront-drag-and-drop' => '577c3e68',
3195+
'javelin-behavior-aphront-drag-and-drop-textarea' => '577c3e68',
31843196
'javelin-behavior-aphront-form-disable-on-submit' => '3a455e4f',
31853197
'javelin-behavior-audit-preview' => '5e68be89',
3186-
'javelin-behavior-differential-accept-with-errors' => '670ad7f1',
3187-
'javelin-behavior-differential-add-reviewers-and-ccs' => '670ad7f1',
3188-
'javelin-behavior-differential-comment-jump' => '670ad7f1',
3189-
'javelin-behavior-differential-diff-radios' => '670ad7f1',
3190-
'javelin-behavior-differential-dropdown-menus' => '670ad7f1',
3191-
'javelin-behavior-differential-edit-inline-comments' => '670ad7f1',
3192-
'javelin-behavior-differential-feedback-preview' => '670ad7f1',
3193-
'javelin-behavior-differential-keyboard-navigation' => '670ad7f1',
3194-
'javelin-behavior-differential-populate' => '670ad7f1',
3195-
'javelin-behavior-differential-show-more' => '670ad7f1',
3198+
'javelin-behavior-differential-accept-with-errors' => '577c3e68',
3199+
'javelin-behavior-differential-add-reviewers-and-ccs' => '577c3e68',
3200+
'javelin-behavior-differential-comment-jump' => '577c3e68',
3201+
'javelin-behavior-differential-diff-radios' => '577c3e68',
3202+
'javelin-behavior-differential-dropdown-menus' => '577c3e68',
3203+
'javelin-behavior-differential-edit-inline-comments' => '577c3e68',
3204+
'javelin-behavior-differential-feedback-preview' => '577c3e68',
3205+
'javelin-behavior-differential-keyboard-navigation' => '577c3e68',
3206+
'javelin-behavior-differential-populate' => '577c3e68',
3207+
'javelin-behavior-differential-show-more' => '577c3e68',
31963208
'javelin-behavior-diffusion-commit-graph' => '5e68be89',
31973209
'javelin-behavior-diffusion-pull-lastmodified' => '5e68be89',
31983210
'javelin-behavior-maniphest-batch-selector' => '7707de41',
@@ -3202,29 +3214,29 @@
32023214
'javelin-behavior-maniphest-transaction-preview' => '7707de41',
32033215
'javelin-behavior-phabricator-autofocus' => '3a455e4f',
32043216
'javelin-behavior-phabricator-keyboard-shortcuts' => '3a455e4f',
3205-
'javelin-behavior-phabricator-object-selector' => '670ad7f1',
3217+
'javelin-behavior-phabricator-object-selector' => '577c3e68',
32063218
'javelin-behavior-phabricator-oncopy' => '3a455e4f',
32073219
'javelin-behavior-phabricator-tooltips' => '3a455e4f',
32083220
'javelin-behavior-phabricator-watch-anchor' => '3a455e4f',
32093221
'javelin-behavior-refresh-csrf' => '3a455e4f',
3210-
'javelin-behavior-repository-crossreference' => '670ad7f1',
3222+
'javelin-behavior-repository-crossreference' => '577c3e68',
32113223
'javelin-behavior-workflow' => '3a455e4f',
3212-
'javelin-dom' => '6fb20113',
3213-
'javelin-event' => '6fb20113',
3214-
'javelin-install' => '6fb20113',
3215-
'javelin-json' => '6fb20113',
3224+
'javelin-dom' => '63e59d27',
3225+
'javelin-event' => '63e59d27',
3226+
'javelin-install' => '63e59d27',
3227+
'javelin-json' => '63e59d27',
32163228
'javelin-mask' => '3a455e4f',
3217-
'javelin-request' => '6fb20113',
3218-
'javelin-stratcom' => '6fb20113',
3219-
'javelin-tokenizer' => '97f65640',
3220-
'javelin-typeahead' => '97f65640',
3221-
'javelin-typeahead-normalizer' => '97f65640',
3222-
'javelin-typeahead-ondemand-source' => '97f65640',
3223-
'javelin-typeahead-preloaded-source' => '97f65640',
3224-
'javelin-typeahead-source' => '97f65640',
3225-
'javelin-uri' => '6fb20113',
3226-
'javelin-util' => '6fb20113',
3227-
'javelin-vector' => '6fb20113',
3229+
'javelin-request' => '63e59d27',
3230+
'javelin-stratcom' => '63e59d27',
3231+
'javelin-tokenizer' => '81c9cd69',
3232+
'javelin-typeahead' => '81c9cd69',
3233+
'javelin-typeahead-normalizer' => '81c9cd69',
3234+
'javelin-typeahead-ondemand-source' => '81c9cd69',
3235+
'javelin-typeahead-preloaded-source' => '81c9cd69',
3236+
'javelin-typeahead-source' => '81c9cd69',
3237+
'javelin-uri' => '63e59d27',
3238+
'javelin-util' => '63e59d27',
3239+
'javelin-vector' => '63e59d27',
32283240
'javelin-workflow' => '3a455e4f',
32293241
'maniphest-task-summary-css' => '7839ae2d',
32303242
'maniphest-transaction-detail-css' => '7839ae2d',
@@ -3233,7 +3245,7 @@
32333245
'phabricator-core-buttons-css' => '1db83c80',
32343246
'phabricator-core-css' => '1db83c80',
32353247
'phabricator-directory-css' => '1db83c80',
3236-
'phabricator-drag-and-drop-file-upload' => '670ad7f1',
3248+
'phabricator-drag-and-drop-file-upload' => '577c3e68',
32373249
'phabricator-dropdown-menu' => '3a455e4f',
32383250
'phabricator-flag-css' => '1db83c80',
32393251
'phabricator-jump-nav' => '1db83c80',
@@ -3245,7 +3257,7 @@
32453257
'phabricator-prefab' => '3a455e4f',
32463258
'phabricator-project-tag-css' => '7839ae2d',
32473259
'phabricator-remarkup-css' => '1db83c80',
3248-
'phabricator-shaped-request' => '670ad7f1',
3260+
'phabricator-shaped-request' => '577c3e68',
32493261
'phabricator-standard-page-view' => '1db83c80',
32503262
'phabricator-tooltip' => '3a455e4f',
32513263
'phabricator-transaction-view-css' => '1db83c80',

‎webroot/rsrc/js/application/repository/repository-crossreference.js

+31-18
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* @provides javelin-behavior-repository-crossreference
33
* @requires javelin-behavior
44
* javelin-dom
5+
* javelin-stratcom
56
* javelin-uri
67
*/
78

@@ -11,6 +12,8 @@ JX.behavior('repository-crossreference', function(config) {
1112
// constrained by the markup generated by the syntax highlighters.
1213

1314
function link(element, lang) {
15+
var timeout;
16+
1417
JX.DOM.alterClass(element, 'repository-crossreference', true);
1518
JX.DOM.listen(
1619
element,
@@ -24,30 +27,40 @@ JX.behavior('repository-crossreference', function(config) {
2427
var map = {nc : 'class', nf : 'function', na : null};
2528
while (target !== document.body) {
2629
if (JX.DOM.isNode(target, 'span') && (target.className in map)) {
27-
var symbol = target.textContent || target.innerText;
28-
var query = {
29-
lang : lang,
30-
projects : config.projects.join(','),
31-
jump : true
32-
};
33-
if (map[target.className]) {
34-
query.type = map[target.className];
35-
}
36-
if (target.hasAttribute('data-symbol-context')) {
37-
query.context = target.getAttribute('data-symbol-context');
38-
}
39-
if (target.hasAttribute('data-symbol-name')) {
40-
symbol = target.getAttribute('data-symbol-name');
41-
}
42-
var uri = JX.$U('/diffusion/symbol/' + symbol + '/');
43-
uri.addQueryParams(query);
44-
window.open(uri);
30+
timeout = setTimeout(function() {
31+
var symbol = target.textContent || target.innerText;
32+
var query = {
33+
lang : lang,
34+
projects : config.projects.join(','),
35+
jump : true
36+
};
37+
if (map[target.className]) {
38+
query.type = map[target.className];
39+
}
40+
if (target.hasAttribute('data-symbol-context')) {
41+
query.context = target.getAttribute('data-symbol-context');
42+
}
43+
if (target.hasAttribute('data-symbol-name')) {
44+
symbol = target.getAttribute('data-symbol-name');
45+
}
46+
var uri = JX.$U('/diffusion/symbol/' + symbol + '/');
47+
uri.addQueryParams(query);
48+
window.open(uri);
49+
}, 250);
4550
e.kill();
4651
break;
4752
}
4853
target = target.parentNode;
4954
}
5055
});
56+
57+
JX.DOM.listen(
58+
element,
59+
'dblclick',
60+
'tag:span',
61+
function(e) {
62+
clearTimeout(timeout);
63+
});
5164
}
5265

5366
function linkAll(section) {

0 commit comments

Comments
 (0)
Failed to load comments.