2012-01-05 02:10:34 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This file is automatically generated. Use 'celerity_mapper.php' to rebuild
|
|
|
|
* it.
|
|
|
|
* @generated
|
|
|
|
*/
|
|
|
|
|
|
|
|
celerity_register_resource_map(array(
|
2013-01-26 00:48:04 +01:00
|
|
|
'/rsrc/image/actions/edit.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'ae90914d120ac3838ddc633b480343f3',
|
|
|
|
'uri' => '/res/ae90914d/rsrc/image/actions/edit.png',
|
|
|
|
'disk' => '/rsrc/image/actions/edit.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-03-25 19:24:17 +01:00
|
|
|
'/rsrc/image/apple-touch-icon.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '3380adf2dd4a5efa0885618bc5943640',
|
|
|
|
'uri' => '/res/3380adf2/rsrc/image/apple-touch-icon.png',
|
|
|
|
'disk' => '/rsrc/image/apple-touch-icon.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-04-26 09:18:42 +02:00
|
|
|
'/rsrc/image/avatar.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '1c5f255071537f05406adee86717ff27',
|
|
|
|
'uri' => '/res/1c5f2550/rsrc/image/avatar.png',
|
|
|
|
'disk' => '/rsrc/image/avatar.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-08-14 02:21:16 +02:00
|
|
|
'/rsrc/image/checker_dark.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '640f795343df76ebe5409aae6187e57f',
|
|
|
|
'uri' => '/res/640f7953/rsrc/image/checker_dark.png',
|
|
|
|
'disk' => '/rsrc/image/checker_dark.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/checker_light.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '7f8f3ef8beb0f2cc4cc69efb9e1c3308',
|
|
|
|
'uri' => '/res/7f8f3ef8/rsrc/image/checker_light.png',
|
|
|
|
'disk' => '/rsrc/image/checker_light.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/credit_cards.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '681448de424ea159b6ea68af04c046ae',
|
|
|
|
'uri' => '/res/681448de/rsrc/image/credit_cards.png',
|
|
|
|
'disk' => '/rsrc/image/credit_cards.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
DarkConsole: fix rendering, move request log, load over ajax
Summary:
This accomplishes three major goals:
# Fixes phutil_render_tag -> phutil_tag callsites in DarkConsole.
# Moves the Ajax request log to a new panel on the left. This panel (and the tabs panel) get scrollbars when they get large, instead of making the page constantly scroll down.
# Loads the panel content over ajax, instead of dumping it into the page body / ajax response body. I've been planning to do this for about 3 years, which is why the plugins are architected the way they are. This should make debugging easier by making response bodies not be 50%+ darkconsole stuff.
Additionally, load the plugins dynamically (the old method predates library maps and PhutilSymbolLoader).
Test Plan:
{F30675}
- Switched between requests and tabs, reloaded page, saw same tab.
- Used "analyze queries", "profile page", triggered errors.
- Verified page does not load anything by default if dark console is closed with Charles.
- Generally banged on it a bit.
Reviewers: vrana, btrahan, chad
Reviewed By: vrana
CC: aran
Maniphest Tasks: T2432
Differential Revision: https://secure.phabricator.com/D4692
2013-01-29 03:45:32 +01:00
|
|
|
'/rsrc/image/darkload.gif' =>
|
|
|
|
array(
|
|
|
|
'hash' => '3a52cb7145d6e70f461fed21273117f2',
|
|
|
|
'uri' => '/res/3a52cb71/rsrc/image/darkload.gif',
|
|
|
|
'disk' => '/rsrc/image/darkload.gif',
|
|
|
|
'type' => 'gif',
|
|
|
|
),
|
2012-08-01 21:31:33 +02:00
|
|
|
'/rsrc/image/divot.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '3be267bd11ea375bf68e808893718e0e',
|
|
|
|
'uri' => '/res/3be267bd/rsrc/image/divot.png',
|
|
|
|
'disk' => '/rsrc/image/divot.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/grippy_texture.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'a8945e12ceeaddd5b491a8d81cfa19c1',
|
|
|
|
'uri' => '/res/a8945e12/rsrc/image/grippy_texture.png',
|
|
|
|
'disk' => '/rsrc/image/grippy_texture.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/arrow_branch.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'f27b67520766e3d971722bcff703f3a8',
|
|
|
|
'uri' => '/res/f27b6752/rsrc/image/icon/fatcow/arrow_branch.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/arrow_branch.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/arrow_merge.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'c4bd97f3b1257439e2123ef69d2194d0',
|
|
|
|
'uri' => '/res/c4bd97f3/rsrc/image/icon/fatcow/arrow_merge.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/arrow_merge.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-05-25 19:14:17 +02:00
|
|
|
'/rsrc/image/icon/fatcow/bullet_black.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '718f9c560a13766796f1be7dfaadeeab',
|
|
|
|
'uri' => '/res/718f9c56/rsrc/image/icon/fatcow/bullet_black.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/bullet_black.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-05-19 18:18:34 +02:00
|
|
|
'/rsrc/image/icon/fatcow/bullet_orange.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'c3bf91b65baacb27f2af143ab9180119',
|
|
|
|
'uri' => '/res/c3bf91b6/rsrc/image/icon/fatcow/bullet_orange.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/bullet_orange.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/bullet_red.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '00273e4aa6ea3de630295610d6c9560c',
|
|
|
|
'uri' => '/res/00273e4a/rsrc/image/icon/fatcow/bullet_red.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/bullet_red.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/icon/fatcow/calendar_edit.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'de249c0f4f37bf5b2c69ff39ec5573fb',
|
|
|
|
'uri' => '/res/de249c0f/rsrc/image/icon/fatcow/calendar_edit.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/calendar_edit.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-10-23 04:06:56 +02:00
|
|
|
'/rsrc/image/icon/fatcow/document_black.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '44d65a7f05a9c921719deedc160d68f7',
|
|
|
|
'uri' => '/res/44d65a7f/rsrc/image/icon/fatcow/document_black.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/document_black.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/icon/fatcow/flag_blue.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '75a080492f900fbe489e4b27e403962b',
|
|
|
|
'uri' => '/res/75a08049/rsrc/image/icon/fatcow/flag_blue.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_blue.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_finish.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '4af11fc7fab8e4610cbc3c88a02d4f78',
|
|
|
|
'uri' => '/res/4af11fc7/rsrc/image/icon/fatcow/flag_finish.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_finish.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_ghost.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '14c9f30a37b43f276f27a27a924bf02d',
|
|
|
|
'uri' => '/res/14c9f30a/rsrc/image/icon/fatcow/flag_ghost.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_ghost.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_green.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'fed01374cd396cb774872762dcc447e1',
|
|
|
|
'uri' => '/res/fed01374/rsrc/image/icon/fatcow/flag_green.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_green.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_orange.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '88008cb8bb99761a37e5a743e2455aeb',
|
|
|
|
'uri' => '/res/88008cb8/rsrc/image/icon/fatcow/flag_orange.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_orange.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_pink.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '2f199f06ffc3dfc81b7561a057e0bc33',
|
|
|
|
'uri' => '/res/2f199f06/rsrc/image/icon/fatcow/flag_pink.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_pink.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_purple.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '16358629dc86c39550b575586eb5df80',
|
|
|
|
'uri' => '/res/16358629/rsrc/image/icon/fatcow/flag_purple.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_purple.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_red.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '210c28b4d93c439a499f5814f5e05772',
|
|
|
|
'uri' => '/res/210c28b4/rsrc/image/icon/fatcow/flag_red.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_red.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/flag_yellow.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'bdfd73744a80bb80329ae50bc8a5f962',
|
|
|
|
'uri' => '/res/bdfd7374/rsrc/image/icon/fatcow/flag_yellow.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/flag_yellow.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/folder.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '25e46cf9d210dde2242332296f79938c',
|
|
|
|
'uri' => '/res/25e46cf9/rsrc/image/icon/fatcow/folder.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/folder.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/folder_go.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'ba922ff7959309f51a14cb7ed5124d8b',
|
|
|
|
'uri' => '/res/ba922ff7/rsrc/image/icon/fatcow/folder_go.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/folder_go.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/key_question.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '530a6448a4b91edec091a9292ccfd3d9',
|
|
|
|
'uri' => '/res/530a6448/rsrc/image/icon/fatcow/key_question.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/key_question.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/link.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'be1bea49b216548433014f3324902928',
|
|
|
|
'uri' => '/res/be1bea49/rsrc/image/icon/fatcow/link.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/link.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-08-21 06:47:44 +02:00
|
|
|
'/rsrc/image/icon/fatcow/page_white_edit.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'e7b7e7f2d9730bc80bc5c9eac1f3e36d',
|
|
|
|
'uri' => '/res/e7b7e7f2/rsrc/image/icon/fatcow/page_white_edit.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/page_white_edit.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/icon/fatcow/page_white_link.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '1cfbad14412bda6c6f132dcc7c8725fd',
|
|
|
|
'uri' => '/res/1cfbad14/rsrc/image/icon/fatcow/page_white_link.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/page_white_link.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/page_white_put.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'bb7308aa5ac40137a8262da395a267fd',
|
|
|
|
'uri' => '/res/bb7308aa/rsrc/image/icon/fatcow/page_white_put.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/page_white_put.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/page_white_text.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'e47d590b626f617fb7d1d44e96e8fd11',
|
|
|
|
'uri' => '/res/e47d590b/rsrc/image/icon/fatcow/page_white_text.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/page_white_text.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/source/conduit.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '1cae0656580aa3cd0b54b9d98306b1b9',
|
|
|
|
'uri' => '/res/1cae0656/rsrc/image/icon/fatcow/source/conduit.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/source/conduit.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/source/email.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '93bdb3e168da1ed68f50c42125729d4e',
|
|
|
|
'uri' => '/res/93bdb3e1/rsrc/image/icon/fatcow/source/email.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/source/email.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/source/fax.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'd7dedf229841f2d041b347afd881596f',
|
|
|
|
'uri' => '/res/d7dedf22/rsrc/image/icon/fatcow/source/fax.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/source/fax.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/source/mobile.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '786e7146d1e7d7318baf76c9d2baad97',
|
|
|
|
'uri' => '/res/786e7146/rsrc/image/icon/fatcow/source/mobile.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/source/mobile.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/source/tablet.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '374cd40e4965be6b2fbdef4059d0ca05',
|
|
|
|
'uri' => '/res/374cd40e/rsrc/image/icon/fatcow/source/tablet.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/source/tablet.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/source/web.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'f4882a8f5619ba505ca033f72a340635',
|
|
|
|
'uri' => '/res/f4882a8f/rsrc/image/icon/fatcow/source/web.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/source/web.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/default160x120.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '1b52ebd1fe0eee3ed0abfc382991b265',
|
|
|
|
'uri' => '/res/1b52ebd1/rsrc/image/icon/fatcow/thumbnails/default160x120.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/default160x120.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/default60x45.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '048d851d8d1daad4754e891e734c1899',
|
|
|
|
'uri' => '/res/048d851d/rsrc/image/icon/fatcow/thumbnails/default60x45.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/default60x45.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/image160x120.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '434acbd8dbbc2da9f09f6205a396eba1',
|
|
|
|
'uri' => '/res/434acbd8/rsrc/image/icon/fatcow/thumbnails/image160x120.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/image160x120.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/image60x45.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '29f7872dc53588fe0b8f0b330c7ee23a',
|
|
|
|
'uri' => '/res/29f7872d/rsrc/image/icon/fatcow/thumbnails/image60x45.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/image60x45.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/pdf160x120.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '39d2e22541658a3472ba41ae2fa548e5',
|
|
|
|
'uri' => '/res/39d2e225/rsrc/image/icon/fatcow/thumbnails/pdf160x120.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/pdf160x120.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/pdf60x45.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'b3572e9317cbed5184d12bdfabed2727',
|
|
|
|
'uri' => '/res/b3572e93/rsrc/image/icon/fatcow/thumbnails/pdf60x45.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/pdf60x45.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/zip160x120.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'e505108688a903b5cfb674707a289bcc',
|
|
|
|
'uri' => '/res/e5051086/rsrc/image/icon/fatcow/thumbnails/zip160x120.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/zip160x120.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/fatcow/thumbnails/zip60x45.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'f00716f4e8f7a95e70d43504f06be0a6',
|
|
|
|
'uri' => '/res/f00716f4/rsrc/image/icon/fatcow/thumbnails/zip60x45.png',
|
|
|
|
'disk' => '/rsrc/image/icon/fatcow/thumbnails/zip60x45.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-10-23 04:06:56 +02:00
|
|
|
'/rsrc/image/icon/lightbox/close-2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '72ff3ddcc1ed5d19a715ed6242114b53',
|
|
|
|
'uri' => '/res/72ff3ddc/rsrc/image/icon/lightbox/close-2.png',
|
|
|
|
'disk' => '/rsrc/image/icon/lightbox/close-2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/lightbox/close-hover-2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '6ad4bd4a7820547a1d9041752546ba16',
|
|
|
|
'uri' => '/res/6ad4bd4a/rsrc/image/icon/lightbox/close-hover-2.png',
|
|
|
|
'disk' => '/rsrc/image/icon/lightbox/close-hover-2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/lightbox/left-arrow-2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'd84cbb0d42739f87b8f25b2f1d2f1153',
|
|
|
|
'uri' => '/res/d84cbb0d/rsrc/image/icon/lightbox/left-arrow-2.png',
|
|
|
|
'disk' => '/rsrc/image/icon/lightbox/left-arrow-2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/lightbox/left-arrow-hover-2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'cdf05f98fff3f390cd8df0c89894a3e1',
|
|
|
|
'uri' => '/res/cdf05f98/rsrc/image/icon/lightbox/left-arrow-hover-2.png',
|
|
|
|
'disk' => '/rsrc/image/icon/lightbox/left-arrow-hover-2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/lightbox/right-arrow-2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '52021038cb6995c71f62a804bc2d420d',
|
|
|
|
'uri' => '/res/52021038/rsrc/image/icon/lightbox/right-arrow-2.png',
|
|
|
|
'disk' => '/rsrc/image/icon/lightbox/right-arrow-2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/lightbox/right-arrow-hover-2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '65d5756b7b9cfcdeb2eb197a9aa6bbd2',
|
|
|
|
'uri' => '/res/65d5756b/rsrc/image/icon/lightbox/right-arrow-hover-2.png',
|
|
|
|
'disk' => '/rsrc/image/icon/lightbox/right-arrow-hover-2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/icon/subscribe.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '5f47a4b17de245af39a4e7a097e40623',
|
|
|
|
'uri' => '/res/5f47a4b1/rsrc/image/icon/subscribe.png',
|
|
|
|
'disk' => '/rsrc/image/icon/subscribe.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/tango/attachment.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '776fed2de89803fd8a0ba4b9deede230',
|
|
|
|
'uri' => '/res/776fed2d/rsrc/image/icon/tango/attachment.png',
|
|
|
|
'disk' => '/rsrc/image/icon/tango/attachment.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/tango/edit.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'c0028d99dcf4e9559bbf3c88ce2d8a8d',
|
|
|
|
'uri' => '/res/c0028d99/rsrc/image/icon/tango/edit.png',
|
|
|
|
'disk' => '/rsrc/image/icon/tango/edit.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-05-01 21:09:50 +02:00
|
|
|
'/rsrc/image/icon/tango/go-down.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '96862812cbb0445573c264dc057b8300',
|
|
|
|
'uri' => '/res/96862812/rsrc/image/icon/tango/go-down.png',
|
|
|
|
'disk' => '/rsrc/image/icon/tango/go-down.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/image/icon/tango/log.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'a6f72499bef279ff6807a7dbc5148f1e',
|
|
|
|
'uri' => '/res/a6f72499/rsrc/image/icon/tango/log.png',
|
|
|
|
'disk' => '/rsrc/image/icon/tango/log.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/tango/upload.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '8c11b63d6d99db3d7159c5d9a94e3062',
|
|
|
|
'uri' => '/res/8c11b63d/rsrc/image/icon/tango/upload.png',
|
|
|
|
'disk' => '/rsrc/image/icon/tango/upload.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/icon/unsubscribe.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '29429ad65aa3af50b072b32087057361',
|
|
|
|
'uri' => '/res/29429ad6/rsrc/image/icon/unsubscribe.png',
|
|
|
|
'disk' => '/rsrc/image/icon/unsubscribe.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-10-24 02:34:43 +02:00
|
|
|
'/rsrc/image/loading.gif' =>
|
|
|
|
array(
|
|
|
|
'hash' => '664297671941142f37d8c89e717ff2ce',
|
|
|
|
'uri' => '/res/66429767/rsrc/image/loading.gif',
|
|
|
|
'disk' => '/rsrc/image/loading.gif',
|
|
|
|
'type' => 'gif',
|
|
|
|
),
|
2012-08-21 01:02:36 +02:00
|
|
|
'/rsrc/image/main_texture.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'e34d8143384721be73ec9b7532a977ab',
|
|
|
|
'uri' => '/res/e34d8143/rsrc/image/main_texture.png',
|
|
|
|
'disk' => '/rsrc/image/main_texture.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-08-20 23:13:15 +02:00
|
|
|
'/rsrc/image/menu_texture.png' =>
|
|
|
|
array(
|
2013-01-14 22:40:51 +01:00
|
|
|
'hash' => 'ad020b1529b3a3b3480ca9de1d5f1e40',
|
|
|
|
'uri' => '/res/ad020b15/rsrc/image/menu_texture.png',
|
2012-08-20 23:13:15 +02:00
|
|
|
'disk' => '/rsrc/image/menu_texture.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'/rsrc/image/people/harding.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '818b035ace2c480aa8df7b7f11cef58b',
|
|
|
|
'uri' => '/res/818b035a/rsrc/image/people/harding.png',
|
|
|
|
'disk' => '/rsrc/image/people/harding.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/people/jefferson.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '55fe807ff02f9320e595fb59442e2038',
|
|
|
|
'uri' => '/res/55fe807f/rsrc/image/people/jefferson.png',
|
|
|
|
'disk' => '/rsrc/image/people/jefferson.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/people/lincoln.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '2363337947ab52fd5fda79e4a004e930',
|
|
|
|
'uri' => '/res/23633379/rsrc/image/people/lincoln.png',
|
|
|
|
'disk' => '/rsrc/image/people/lincoln.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/people/mckinley.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '0b7b05dd47c49a0874670e5e8200bba8',
|
|
|
|
'uri' => '/res/0b7b05dd/rsrc/image/people/mckinley.png',
|
|
|
|
'disk' => '/rsrc/image/people/mckinley.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/people/taft.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'f3e47d45b59b0b009fd536dabae9a151',
|
|
|
|
'uri' => '/res/f3e47d45/rsrc/image/people/taft.png',
|
|
|
|
'disk' => '/rsrc/image/people/taft.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/people/washington.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '01412761cab769f7993d69eba986d949',
|
|
|
|
'uri' => '/res/01412761/rsrc/image/people/washington.png',
|
|
|
|
'disk' => '/rsrc/image/people/washington.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/phrequent_active.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '716cddc08630eaa33934b2008723cac0',
|
|
|
|
'uri' => '/res/716cddc0/rsrc/image/phrequent_active.png',
|
|
|
|
'disk' => '/rsrc/image/phrequent_active.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/phrequent_inactive.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'f9099683873c01c5de1dc6650bd668fe',
|
|
|
|
'uri' => '/res/f9099683/rsrc/image/phrequent_inactive.png',
|
|
|
|
'disk' => '/rsrc/image/phrequent_inactive.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-07-31 01:09:14 +02:00
|
|
|
'/rsrc/image/search.png' =>
|
|
|
|
array(
|
2012-08-06 00:07:12 +02:00
|
|
|
'hash' => 'ff7da044e6f923b8f569dec11f97e5e5',
|
|
|
|
'uri' => '/res/ff7da044/rsrc/image/search.png',
|
2012-07-31 01:09:14 +02:00
|
|
|
'disk' => '/rsrc/image/search.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'/rsrc/image/sprite-apps-X2.png' =>
|
|
|
|
array(
|
2013-03-21 18:02:11 +01:00
|
|
|
'hash' => '4a7fde0d0f51d467d746b508e0d5271b',
|
|
|
|
'uri' => '/res/4a7fde0d/rsrc/image/sprite-apps-X2.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-apps-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-apps-large-X2.png' =>
|
|
|
|
array(
|
2013-03-21 18:02:11 +01:00
|
|
|
'hash' => '812fdcb558340bc5d72a3b54a7342695',
|
|
|
|
'uri' => '/res/812fdcb5/rsrc/image/sprite-apps-large-X2.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-apps-large-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-apps-large.png' =>
|
|
|
|
array(
|
2013-03-21 18:02:11 +01:00
|
|
|
'hash' => '656659e72beb2dab0a40b141f21ada4b',
|
|
|
|
'uri' => '/res/656659e7/rsrc/image/sprite-apps-large.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-apps-large.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-apps-xlarge.png' =>
|
|
|
|
array(
|
2013-01-10 19:00:18 +01:00
|
|
|
'hash' => '992d2c278b6a22c0fa874d457a252fbd',
|
|
|
|
'uri' => '/res/992d2c27/rsrc/image/sprite-apps-xlarge.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-apps-xlarge.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-apps.png' =>
|
|
|
|
array(
|
2013-03-21 18:02:11 +01:00
|
|
|
'hash' => '5642e38420b304e08d3d07e9e7bb965f',
|
|
|
|
'uri' => '/res/5642e384/rsrc/image/sprite-apps.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-apps.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-03-13 21:03:51 +01:00
|
|
|
'/rsrc/image/sprite-conpherence-X2.png' =>
|
2013-01-29 02:49:09 +01:00
|
|
|
array(
|
2013-03-13 21:03:51 +01:00
|
|
|
'hash' => '5e47868b00933a9afb6c844e464e6b23',
|
|
|
|
'uri' => '/res/5e47868b/rsrc/image/sprite-conpherence-X2.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-conpherence-X2.png',
|
2013-01-29 02:49:09 +01:00
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-03-13 21:03:51 +01:00
|
|
|
'/rsrc/image/sprite-conpherence.png' =>
|
2013-01-29 02:49:09 +01:00
|
|
|
array(
|
2013-03-13 21:03:51 +01:00
|
|
|
'hash' => 'ca51f1be25213262d68e626e4cab7f0f',
|
|
|
|
'uri' => '/res/ca51f1be/rsrc/image/sprite-conpherence.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-conpherence.png',
|
2013-01-29 02:49:09 +01:00
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-03-10 22:16:16 +01:00
|
|
|
'/rsrc/image/sprite-docs-X2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '57d3286ce88133f3ec9240e35f6bb897',
|
|
|
|
'uri' => '/res/57d3286c/rsrc/image/sprite-docs-X2.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-docs-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-docs.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'b2b089072d6eddd831402a77c02b5736',
|
|
|
|
'uri' => '/res/b2b08907/rsrc/image/sprite-docs.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-docs.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'/rsrc/image/sprite-gradient.png' =>
|
|
|
|
array(
|
2013-01-16 00:49:48 +01:00
|
|
|
'hash' => '92aebaab67dcc6baf2ea99294368d895',
|
|
|
|
'uri' => '/res/92aebaab/rsrc/image/sprite-gradient.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-gradient.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-11-24 01:35:39 +01:00
|
|
|
'/rsrc/image/sprite-icon-X2.png' =>
|
|
|
|
array(
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'hash' => 'c9fae25bc6221922ce26517e654a18e4',
|
|
|
|
'uri' => '/res/c9fae25b/rsrc/image/sprite-icon-X2.png',
|
2012-11-24 01:35:39 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-icon-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-icon.png' =>
|
|
|
|
array(
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'hash' => 'b690ea69bf5f2abe84d0a6e9ef64b03d',
|
|
|
|
'uri' => '/res/b690ea69/rsrc/image/sprite-icon.png',
|
2012-11-24 01:35:39 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-icon.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-11-27 23:03:25 +01:00
|
|
|
'/rsrc/image/sprite-menu-X2.png' =>
|
|
|
|
array(
|
2013-03-22 19:50:30 +01:00
|
|
|
'hash' => '867092041ce0a62b7e50136213ca7be1',
|
|
|
|
'uri' => '/res/86709204/rsrc/image/sprite-menu-X2.png',
|
2012-11-27 23:03:25 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-menu-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-menu.png' =>
|
|
|
|
array(
|
2013-03-22 19:50:30 +01:00
|
|
|
'hash' => '21508eebdf582d7251d62bb2cd09f66d',
|
|
|
|
'uri' => '/res/21508eeb/rsrc/image/sprite-menu.png',
|
2012-11-27 23:03:25 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-menu.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-02-15 16:47:14 +01:00
|
|
|
'/rsrc/image/sprite-tokens.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '67c46fd75c885b76ecbfe46e71a476cc',
|
|
|
|
'uri' => '/res/67c46fd7/rsrc/image/sprite-tokens.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-tokens.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-03-16 01:15:57 +01:00
|
|
|
'/rsrc/image/texture/card-gradient.png' =>
|
|
|
|
array(
|
2013-03-24 03:50:26 +01:00
|
|
|
'hash' => '268b7fdd758d4bf99db8de6770aae8af',
|
|
|
|
'uri' => '/res/268b7fdd/rsrc/image/texture/card-gradient.png',
|
2013-03-16 01:15:57 +01:00
|
|
|
'disk' => '/rsrc/image/texture/card-gradient.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-01-16 01:17:53 +01:00
|
|
|
'/rsrc/image/texture/dark-menu-hover.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'a214a732644be34872e895b338b5d639',
|
|
|
|
'uri' => '/res/a214a732/rsrc/image/texture/dark-menu-hover.png',
|
|
|
|
'disk' => '/rsrc/image/texture/dark-menu-hover.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'/rsrc/image/texture/dark-menu.png' =>
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
array(
|
2013-01-16 01:17:53 +01:00
|
|
|
'hash' => '41ee673a762cec48a154b456ad5ac204',
|
|
|
|
'uri' => '/res/41ee673a/rsrc/image/texture/dark-menu.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/texture/dark-menu.png',
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-01-16 00:50:41 +01:00
|
|
|
'/rsrc/image/texture/dust_background.jpg' =>
|
|
|
|
array(
|
2013-03-13 07:30:03 +01:00
|
|
|
'hash' => '1ff330c03712e08ca2eed006ccc6c1e7',
|
|
|
|
'uri' => '/res/1ff330c0/rsrc/image/texture/dust_background.jpg',
|
2013-01-16 00:50:41 +01:00
|
|
|
'disk' => '/rsrc/image/texture/dust_background.jpg',
|
|
|
|
'type' => 'jpg',
|
|
|
|
),
|
2013-03-23 22:37:18 +01:00
|
|
|
'/rsrc/image/texture/grip.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'f11bc231d241f1335cfca2933ad234e0',
|
|
|
|
'uri' => '/res/f11bc231/rsrc/image/texture/grip.png',
|
|
|
|
'disk' => '/rsrc/image/texture/grip.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'/rsrc/image/texture/panel-header-gradient.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'ad9204dd3ef5b12b645d80677d8ccead',
|
|
|
|
'uri' => '/res/ad9204dd/rsrc/image/texture/panel-header-gradient.png',
|
|
|
|
'disk' => '/rsrc/image/texture/panel-header-gradient.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-03-05 01:01:27 +01:00
|
|
|
'/rsrc/image/texture/pholio-background.gif' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'cf4561af116edf393dc583e5119fb412',
|
|
|
|
'uri' => '/res/cf4561af/rsrc/image/texture/pholio-background.gif',
|
|
|
|
'disk' => '/rsrc/image/texture/pholio-background.gif',
|
|
|
|
'type' => 'gif',
|
|
|
|
),
|
2013-01-11 20:24:35 +01:00
|
|
|
'/rsrc/image/texture/table_header.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '4ed3f56a30d3749e8f62052b9735a316',
|
|
|
|
'uri' => '/res/4ed3f56a/rsrc/image/texture/table_header.png',
|
|
|
|
'disk' => '/rsrc/image/texture/table_header.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/texture/table_header_hover.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'ea1f71a604e9b4859de1e25751540437',
|
|
|
|
'uri' => '/res/ea1f71a6/rsrc/image/texture/table_header_hover.png',
|
|
|
|
'disk' => '/rsrc/image/texture/table_header_hover.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-01-24 03:00:22 +01:00
|
|
|
'/rsrc/image/texture/table_header_tall.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'b05525601f78d759f1c5e47fd9c1a8aa',
|
|
|
|
'uri' => '/res/b0552560/rsrc/image/texture/table_header_tall.png',
|
|
|
|
'disk' => '/rsrc/image/texture/table_header_tall.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'/rsrc/swf/aphlict.swf' =>
|
|
|
|
array(
|
2012-06-12 02:52:17 +02:00
|
|
|
'hash' => '4b9a9d83bebaf254f3790e87b45c1f92',
|
|
|
|
'uri' => '/res/4b9a9d83/rsrc/swf/aphlict.swf',
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'disk' => '/rsrc/swf/aphlict.swf',
|
|
|
|
'type' => 'swf',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'aphront-attached-file-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a6ca5487/rsrc/css/aphront/attached-file-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/attached-file-view.css',
|
|
|
|
),
|
2013-03-06 15:15:24 +01:00
|
|
|
'aphront-bars' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/d7bd9032/rsrc/css/core/aphront-bars.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/aphront-bars.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'aphront-calendar-view-css' =>
|
|
|
|
array(
|
2013-02-15 17:14:31 +01:00
|
|
|
'uri' => '/res/73061a31/rsrc/css/aphront/calendar-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/calendar-view.css',
|
|
|
|
),
|
|
|
|
'aphront-contextbar-view-css' =>
|
|
|
|
array(
|
2012-12-15 00:14:14 +01:00
|
|
|
'uri' => '/res/ecfd5ba9/rsrc/css/aphront/context-bar.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/context-bar.css',
|
|
|
|
),
|
|
|
|
'aphront-dark-console-css' =>
|
|
|
|
array(
|
2013-03-03 17:17:57 +01:00
|
|
|
'uri' => '/res/0d316573/rsrc/css/aphront/dark-console.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/dark-console.css',
|
|
|
|
),
|
|
|
|
'aphront-dialog-view-css' =>
|
|
|
|
array(
|
2013-01-24 03:00:22 +01:00
|
|
|
'uri' => '/res/215b3ab1/rsrc/css/aphront/dialog-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/dialog-view.css',
|
|
|
|
),
|
|
|
|
'aphront-error-view-css' =>
|
|
|
|
array(
|
2013-01-27 02:14:58 +01:00
|
|
|
'uri' => '/res/5f43a7c5/rsrc/css/aphront/error-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/error-view.css',
|
|
|
|
),
|
|
|
|
'aphront-form-view-css' =>
|
|
|
|
array(
|
2013-03-13 19:01:15 +01:00
|
|
|
'uri' => '/res/ed8c70fa/rsrc/css/aphront/form-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/form-view.css',
|
|
|
|
),
|
|
|
|
'aphront-list-filter-view-css' =>
|
|
|
|
array(
|
2013-03-16 01:16:39 +01:00
|
|
|
'uri' => '/res/b4b7589b/rsrc/css/aphront/list-filter-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/list-filter-view.css',
|
|
|
|
),
|
2013-02-26 20:28:50 +01:00
|
|
|
'aphront-notes' =>
|
|
|
|
array(
|
2013-03-07 17:06:42 +01:00
|
|
|
'uri' => '/res/f8f3dcfa/rsrc/css/core/aphront-notes.css',
|
2013-02-26 20:28:50 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/aphront-notes.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'aphront-pager-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/43fb79f0/rsrc/css/aphront/pager-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/pager-view.css',
|
|
|
|
),
|
|
|
|
'aphront-panel-view-css' =>
|
|
|
|
array(
|
2013-01-27 17:00:20 +01:00
|
|
|
'uri' => '/res/3d1420b3/rsrc/css/aphront/panel-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/panel-view.css',
|
|
|
|
),
|
|
|
|
'aphront-request-failure-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/c9a43002/rsrc/css/aphront/request-failure-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/request-failure-view.css',
|
|
|
|
),
|
|
|
|
'aphront-table-view-css' =>
|
|
|
|
array(
|
2013-01-23 03:37:09 +01:00
|
|
|
'uri' => '/res/fd33a0f0/rsrc/css/aphront/table-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/table-view.css',
|
|
|
|
),
|
|
|
|
'aphront-tokenizer-control-css' =>
|
|
|
|
array(
|
2013-01-09 23:40:12 +01:00
|
|
|
'uri' => '/res/207105f0/rsrc/css/aphront/tokenizer.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'aphront-typeahead-control-css',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/tokenizer.css',
|
|
|
|
),
|
2012-03-13 02:21:02 +01:00
|
|
|
'aphront-tooltip-css' =>
|
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/3a7d8e07/rsrc/css/aphront/tooltip.css',
|
2012-03-13 02:21:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/tooltip.css',
|
|
|
|
),
|
2013-03-11 03:20:01 +01:00
|
|
|
'aphront-two-column-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/7afa129f/rsrc/css/aphront/two-column.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/two-column.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'aphront-typeahead-control-css' =>
|
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/ef59c20c/rsrc/css/aphront/typeahead.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/typeahead.css',
|
|
|
|
),
|
2013-01-01 23:09:59 +01:00
|
|
|
'config-options-css' =>
|
|
|
|
array(
|
2013-01-25 23:57:10 +01:00
|
|
|
'uri' => '/res/e6c21f2f/rsrc/css/application/config/config-options.css',
|
2013-01-01 23:09:59 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/config/config-options.css',
|
|
|
|
),
|
2013-01-25 02:23:05 +01:00
|
|
|
'conpherence-header-pane-css' =>
|
|
|
|
array(
|
2013-03-25 15:38:27 +01:00
|
|
|
'uri' => '/res/70741f86/rsrc/css/application/conpherence/header-pane.css',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/conpherence/header-pane.css',
|
|
|
|
),
|
|
|
|
'conpherence-menu-css' =>
|
|
|
|
array(
|
2013-03-25 15:38:27 +01:00
|
|
|
'uri' => '/res/82862113/rsrc/css/application/conpherence/menu.css',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/conpherence/menu.css',
|
|
|
|
),
|
|
|
|
'conpherence-message-pane-css' =>
|
|
|
|
array(
|
2013-03-25 15:38:27 +01:00
|
|
|
'uri' => '/res/64d6c294/rsrc/css/application/conpherence/message-pane.css',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/conpherence/message-pane.css',
|
|
|
|
),
|
|
|
|
'conpherence-update-css' =>
|
|
|
|
array(
|
2013-02-07 17:08:01 +01:00
|
|
|
'uri' => '/res/92094ed7/rsrc/css/application/conpherence/update.css',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/conpherence/update.css',
|
|
|
|
),
|
|
|
|
'conpherence-widget-pane-css' =>
|
|
|
|
array(
|
2013-03-26 21:30:35 +01:00
|
|
|
'uri' => '/res/bd8ca250/rsrc/css/application/conpherence/widget-pane.css',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/conpherence/widget-pane.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'differential-changeset-view-css' =>
|
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/ea694162/rsrc/css/application/differential/changeset-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/changeset-view.css',
|
|
|
|
),
|
|
|
|
'differential-core-view-css' =>
|
|
|
|
array(
|
2012-12-15 00:14:14 +01:00
|
|
|
'uri' => '/res/85fe5117/rsrc/css/application/differential/core.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/core.css',
|
|
|
|
),
|
|
|
|
'differential-inline-comment-editor' =>
|
|
|
|
array(
|
2013-01-28 23:11:32 +01:00
|
|
|
'uri' => '/res/e0ad34ac/rsrc/js/application/differential/DifferentialInlineCommentEditor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-dom',
|
2012-02-29 23:28:48 +01:00
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-install',
|
|
|
|
4 => 'javelin-request',
|
|
|
|
5 => 'javelin-workflow',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/DifferentialInlineCommentEditor.js',
|
|
|
|
),
|
|
|
|
'differential-local-commits-view-css' =>
|
|
|
|
array(
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'uri' => '/res/224f3703/rsrc/css/application/differential/local-commits-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/local-commits-view.css',
|
|
|
|
),
|
2012-05-01 19:15:56 +02:00
|
|
|
'differential-results-table-css' =>
|
|
|
|
array(
|
2012-12-12 17:50:55 +01:00
|
|
|
'uri' => '/res/aab3123c/rsrc/css/application/differential/results-table.css',
|
2012-05-01 19:15:56 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/results-table.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'differential-revision-add-comment-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/849748d3/rsrc/css/application/differential/add-comment.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/add-comment.css',
|
|
|
|
),
|
|
|
|
'differential-revision-comment-css' =>
|
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/42c222f4/rsrc/css/application/differential/revision-comment.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/revision-comment.css',
|
|
|
|
),
|
|
|
|
'differential-revision-comment-list-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/3b31faa3/rsrc/css/application/differential/revision-comment-list.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/revision-comment-list.css',
|
|
|
|
),
|
|
|
|
'differential-revision-history-css' =>
|
|
|
|
array(
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'uri' => '/res/d41bc64c/rsrc/css/application/differential/revision-history.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/revision-history.css',
|
|
|
|
),
|
2012-08-20 23:05:46 +02:00
|
|
|
'differential-revision-list-css' =>
|
|
|
|
array(
|
2013-01-16 00:49:48 +01:00
|
|
|
'uri' => '/res/fe6c4721/rsrc/css/application/differential/revision-list.css',
|
2012-08-20 23:05:46 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/revision-list.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'differential-table-of-contents-css' =>
|
|
|
|
array(
|
2012-12-15 00:14:14 +01:00
|
|
|
'uri' => '/res/4fde8bfc/rsrc/css/application/differential/table-of-contents.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/differential/table-of-contents.css',
|
|
|
|
),
|
|
|
|
'diffusion-commit-view-css' =>
|
|
|
|
array(
|
2012-04-05 19:47:20 +02:00
|
|
|
'uri' => '/res/b445944e/rsrc/css/application/diffusion/commit-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/diffusion/commit-view.css',
|
|
|
|
),
|
Improve Diffusion behavior for externals
Summary:
- Feature request from Airtime that I missed in the feedback notes, came up yesterday.
- Identify git submodules as "FILE_SUBMODULE", not "FILE_NORMAL".
- Link git submodules to an external resolver endpoint, which tries to find commits in tracked repositories.
- Identify git symlinks as "FILE_SYMLINK", not "FILE_NORMAL".
- Add folder, file, symlink and externals icons.
Test Plan:
- externals/javelin is now identified as a submoudule and links to Javelin, not identified as a file and links to error.
- bin/phd is now identified as a symlink.
- Interfaces have pretty icons.
Reviewers: btrahan, cpiro, ddfisher, keebuhm, allenjohnashton
Reviewed By: btrahan
CC: aran, epriestley
Differential Revision: https://secure.phabricator.com/D1975
2012-03-21 22:01:20 +01:00
|
|
|
'diffusion-icons-css' =>
|
|
|
|
array(
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'uri' => '/res/b93e32c9/rsrc/css/application/diffusion/diffusion-icons.css',
|
Improve Diffusion behavior for externals
Summary:
- Feature request from Airtime that I missed in the feedback notes, came up yesterday.
- Identify git submodules as "FILE_SUBMODULE", not "FILE_NORMAL".
- Link git submodules to an external resolver endpoint, which tries to find commits in tracked repositories.
- Identify git symlinks as "FILE_SYMLINK", not "FILE_NORMAL".
- Add folder, file, symlink and externals icons.
Test Plan:
- externals/javelin is now identified as a submoudule and links to Javelin, not identified as a file and links to error.
- bin/phd is now identified as a symlink.
- Interfaces have pretty icons.
Reviewers: btrahan, cpiro, ddfisher, keebuhm, allenjohnashton
Reviewed By: btrahan
CC: aran, epriestley
Differential Revision: https://secure.phabricator.com/D1975
2012-03-21 22:01:20 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/diffusion/diffusion-icons.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'diffusion-source-css' =>
|
|
|
|
array(
|
2013-03-05 23:31:20 +01:00
|
|
|
'uri' => '/res/e76bcd50/rsrc/css/application/diffusion/diffusion-source.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/diffusion/diffusion-source.css',
|
|
|
|
),
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'global-drag-and-drop-css' =>
|
2012-01-05 02:10:34 +01:00
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/4e24cb65/rsrc/css/application/files/global-drag-and-drop.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'disk' => '/rsrc/css/application/files/global-drag-and-drop.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'herald-css' =>
|
|
|
|
array(
|
2013-01-19 23:30:26 +01:00
|
|
|
'uri' => '/res/2150a55d/rsrc/css/application/herald/herald.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/herald/herald.css',
|
|
|
|
),
|
|
|
|
'herald-rule-editor' =>
|
|
|
|
array(
|
2013-01-19 23:30:26 +01:00
|
|
|
'uri' => '/res/f35d7e23/rsrc/js/application/herald/HeraldRuleEditor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'multirow-row-manager',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'javelin-typeahead',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
4 => 'javelin-dom',
|
|
|
|
5 => 'javelin-tokenizer',
|
|
|
|
6 => 'javelin-typeahead-preloaded-source',
|
|
|
|
7 => 'javelin-stratcom',
|
|
|
|
8 => 'javelin-json',
|
|
|
|
9 => 'phabricator-prefab',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/herald/HeraldRuleEditor.js',
|
|
|
|
),
|
|
|
|
'herald-test-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/c0cd6bdb/rsrc/css/application/herald/herald-test.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/herald/herald-test.css',
|
|
|
|
),
|
2012-03-20 03:45:16 +01:00
|
|
|
'inline-comment-summary-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/338704f7/rsrc/css/application/diff/inline-comment-summary.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/diff/inline-comment-summary.css',
|
|
|
|
),
|
2012-03-07 05:14:03 +01:00
|
|
|
'javelin-aphlict' =>
|
|
|
|
array(
|
2012-06-14 15:12:54 +02:00
|
|
|
'uri' => '/res/c0b9e53f/rsrc/js/application/aphlict/Aphlict.js',
|
2012-03-07 05:14:03 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/aphlict/Aphlict.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior' =>
|
|
|
|
array(
|
2012-04-18 07:04:54 +02:00
|
|
|
'uri' => '/res/ef4eda09/rsrc/js/javelin/lib/behavior.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-magical-init',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/behavior.js',
|
|
|
|
),
|
2012-06-11 18:37:06 +02:00
|
|
|
'javelin-behavior-aphlict-dropdown' =>
|
|
|
|
array(
|
2013-01-29 02:49:09 +01:00
|
|
|
'uri' => '/res/2418f448/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js',
|
2012-06-11 18:37:06 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2012-06-14 15:13:53 +02:00
|
|
|
1 => 'javelin-request',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'javelin-dom',
|
2012-12-08 01:26:43 +01:00
|
|
|
5 => 'javelin-uri',
|
2012-06-11 18:37:06 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/aphlict/behavior-aphlict-dropdown.js',
|
|
|
|
),
|
2012-03-07 05:14:03 +01:00
|
|
|
'javelin-behavior-aphlict-listen' =>
|
|
|
|
array(
|
2012-10-09 00:22:29 +02:00
|
|
|
'uri' => '/res/6dde3f43/rsrc/js/application/aphlict/behavior-aphlict-listen.js',
|
2012-03-07 05:14:03 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-aphlict',
|
2012-06-18 23:07:45 +02:00
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
4 => 'javelin-uri',
|
|
|
|
5 => 'javelin-dom',
|
2012-06-20 22:20:47 +02:00
|
|
|
6 => 'javelin-json',
|
|
|
|
7 => 'phabricator-notification',
|
2012-03-07 05:14:03 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/aphlict/behavior-aphlict-listen.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-aphront-basic-tokenizer' =>
|
|
|
|
array(
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
'uri' => '/res/cf049052/rsrc/js/application/core/behavior-tokenizer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
1 => 'phabricator-prefab',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-tokenizer.js',
|
|
|
|
),
|
2013-02-07 17:08:01 +01:00
|
|
|
'javelin-behavior-aphront-crop' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/cda1eace/rsrc/js/application/core/behavior-crop.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-magical-init',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-crop.js',
|
|
|
|
),
|
2012-02-23 21:26:14 +01:00
|
|
|
'javelin-behavior-aphront-drag-and-drop' =>
|
|
|
|
array(
|
2013-03-03 17:17:57 +01:00
|
|
|
'uri' => '/res/8dd5fd78/rsrc/js/application/core/behavior-drag-and-drop.js',
|
2012-02-23 21:26:14 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
2013-01-27 02:14:58 +01:00
|
|
|
2 => 'phabricator-file-upload',
|
|
|
|
3 => 'phabricator-drag-and-drop-file-upload',
|
2012-02-23 21:26:14 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-drag-and-drop.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-aphront-drag-and-drop-textarea' =>
|
|
|
|
array(
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'uri' => '/res/853e33b9/rsrc/js/application/core/behavior-drag-and-drop-textarea.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'phabricator-drag-and-drop-file-upload',
|
2012-02-24 00:47:41 +01:00
|
|
|
3 => 'phabricator-paste-file-upload',
|
2012-10-02 03:48:39 +02:00
|
|
|
4 => 'phabricator-textareautils',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-drag-and-drop-textarea.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-aphront-form-disable-on-submit' =>
|
|
|
|
array(
|
2013-04-01 05:07:47 +02:00
|
|
|
'uri' => '/res/f5a60aec/rsrc/js/application/core/behavior-form.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-form.js',
|
|
|
|
),
|
2012-05-10 00:56:37 +02:00
|
|
|
'javelin-behavior-aphront-more' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9ad83c3c/rsrc/js/application/core/behavior-more.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-more.js',
|
|
|
|
),
|
2012-02-27 22:00:23 +01:00
|
|
|
'javelin-behavior-audit-preview' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/3048b073/rsrc/js/application/diffusion/behavior-audit-preview.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-audit-preview.js',
|
|
|
|
),
|
2013-02-07 17:08:01 +01:00
|
|
|
'javelin-behavior-conpherence-drag-and-drop-photo' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9e3eb1cd/rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-workflow',
|
|
|
|
3 => 'phabricator-drag-and-drop-file-upload',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js',
|
|
|
|
),
|
2013-01-25 02:23:05 +01:00
|
|
|
'javelin-behavior-conpherence-menu' =>
|
|
|
|
array(
|
2013-03-30 01:51:22 +01:00
|
|
|
'uri' => '/res/ec121ad7/rsrc/js/application/conpherence/behavior-menu.js',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.
There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:
- We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
- The sigil `touchable` indicates that a node wants to react to touch events.
- When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
- Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
- At this point, we look at where their finger has moved.
- If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
- However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
- Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
- When the user ends the gesture, we send "gesture.swipe.end".
- If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
- Gesture events have raw position data and some convenience fields.
Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.
- The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
- The threshold feels pretty good to me.
- Tapping with a second finger cancels the action.
Reviewers: chad, btrahan
Reviewed By: chad
CC: aran
Maniphest Tasks: T2700
Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 22:53:15 +01:00
|
|
|
2 => 'javelin-request',
|
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
4 => 'javelin-uri',
|
|
|
|
5 => 'javelin-util',
|
|
|
|
6 => 'javelin-workflow',
|
2013-01-25 02:23:05 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/conpherence/behavior-menu.js',
|
|
|
|
),
|
2013-03-06 00:45:36 +01:00
|
|
|
'javelin-behavior-conpherence-pontificate' =>
|
|
|
|
array(
|
2013-03-31 23:41:33 +02:00
|
|
|
'uri' => '/res/a5f5b42c/rsrc/js/application/conpherence/behavior-pontificate.js',
|
2013-03-06 00:45:36 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.
There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:
- We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
- The sigil `touchable` indicates that a node wants to react to touch events.
- When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
- Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
- At this point, we look at where their finger has moved.
- If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
- However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
- Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
- When the user ends the gesture, we send "gesture.swipe.end".
- If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
- Gesture events have raw position data and some convenience fields.
Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.
- The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
- The threshold feels pretty good to me.
- Tapping with a second finger cancels the action.
Reviewers: chad, btrahan
Reviewed By: chad
CC: aran
Maniphest Tasks: T2700
Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 22:53:15 +01:00
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-workflow',
|
2013-03-31 23:41:13 +02:00
|
|
|
4 => 'javelin-stratcom',
|
2013-03-06 00:45:36 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/conpherence/behavior-pontificate.js',
|
|
|
|
),
|
2013-01-25 02:23:05 +01:00
|
|
|
'javelin-behavior-conpherence-widget-pane' =>
|
|
|
|
array(
|
2013-03-26 22:06:19 +01:00
|
|
|
'uri' => '/res/45d53f1f/rsrc/js/application/conpherence/behavior-widget-pane.js',
|
2013-01-25 02:23:05 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
2013-03-26 21:30:35 +01:00
|
|
|
3 => 'javelin-workflow',
|
|
|
|
4 => 'javelin-util',
|
|
|
|
5 => 'phabricator-notification',
|
2013-01-25 02:23:05 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/conpherence/behavior-widget-pane.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-countdown-timer' =>
|
|
|
|
array(
|
2012-08-15 04:19:23 +02:00
|
|
|
'uri' => '/res/7468acb7/rsrc/js/application/countdown/timer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/countdown/timer.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-dark-console' =>
|
|
|
|
array(
|
2013-02-09 22:29:47 +01:00
|
|
|
'uri' => '/res/89aeb6c0/rsrc/js/application/core/behavior-dark-console.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-request',
|
|
|
|
5 => 'phabricator-keyboard-shortcut',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-dark-console.js',
|
|
|
|
),
|
2012-07-25 20:51:27 +02:00
|
|
|
'javelin-behavior-device' =>
|
|
|
|
array(
|
2013-01-15 00:44:16 +01:00
|
|
|
'uri' => '/res/a10b851b/rsrc/js/application/core/behavior-device.js',
|
2012-07-25 20:51:27 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-vector',
|
2012-08-31 03:58:51 +02:00
|
|
|
4 => 'javelin-install',
|
2012-07-25 20:51:27 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-device.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-differential-accept-with-errors' =>
|
|
|
|
array(
|
2012-12-18 00:16:44 +01:00
|
|
|
'uri' => '/res/8fea67b3/rsrc/js/application/differential/behavior-accept-with-errors.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-accept-with-errors.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-add-reviewers-and-ccs' =>
|
|
|
|
array(
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
'uri' => '/res/27be3f81/rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
2 => 'phabricator-prefab',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-comment-jump' =>
|
|
|
|
array(
|
2012-06-14 07:47:46 +02:00
|
|
|
'uri' => '/res/b580229b/rsrc/js/application/differential/behavior-comment-jump.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-comment-jump.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-diff-radios' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/004cb66f/rsrc/js/application/differential/behavior-diff-radios.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-diff-radios.js',
|
|
|
|
),
|
2012-01-05 01:52:13 +01:00
|
|
|
'javelin-behavior-differential-dropdown-menus' =>
|
|
|
|
array(
|
2012-08-10 21:13:22 +02:00
|
|
|
'uri' => '/res/752f5dfc/rsrc/js/application/differential/behavior-dropdown-menus.js',
|
2012-01-05 01:52:13 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
2012-01-05 23:41:11 +01:00
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
4 => 'phabricator-dropdown-menu',
|
|
|
|
5 => 'phabricator-menu-item',
|
2012-01-05 01:52:13 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-dropdown-menus.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-differential-edit-inline-comments' =>
|
|
|
|
array(
|
2012-08-16 17:33:47 +02:00
|
|
|
'uri' => '/res/70c1f3a3/rsrc/js/application/differential/behavior-edit-inline-comments.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
4 => 'javelin-vector',
|
|
|
|
5 => 'differential-inline-comment-editor',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-edit-inline-comments.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-feedback-preview' =>
|
|
|
|
array(
|
2012-10-01 23:56:57 +02:00
|
|
|
'uri' => '/res/5fbce8db/rsrc/js/application/differential/behavior-comment-preview.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
4 => 'javelin-util',
|
|
|
|
5 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-comment-preview.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-keyboard-navigation' =>
|
|
|
|
array(
|
2013-02-06 17:32:36 +01:00
|
|
|
'uri' => '/res/89e93cc9/rsrc/js/application/differential/behavior-keyboard-nav.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
Add more keyboard navigation options for inline comments
Summary:
- Use n/p to jump between comments.
- Use r to reply to the selected comment.
- Use e to edit the selected comment.
Test Plan: Verified n, p, r, e, j, k, J, K, "click edit" and "click reply"
behavior in as many weird cases as I could come up with.
Reviewers: btrahan, jungejason, nh, cpiro, jl
Reviewed By: btrahan
CC: aran, btrahan, epriestley
Maniphest Tasks: T583
Differential Revision: https://secure.phabricator.com/D1308
2012-01-04 17:21:22 +01:00
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'phabricator-keyboard-shortcut',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-keyboard-nav.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-populate' =>
|
|
|
|
array(
|
Stabilize scroll position as diffs load
Summary:
Try to lock the screen to whatever the user is looking at as we load changesets.
Notably, this improves the use case of taking a known action on a diff. Currently, you have to wait for everything to load or the comments keep getting scrolled down. After this change, the comments stay in the same place on screen.
Test Plan:
Raised the autoload changeset limit from 100 to 1000, looked at a 220 changeset diff.
- Reloaded it while scrolled at the top; normal behavior (no scrolling).
- Reloaded it, scrolled to the bottom. Comment area now stable.
- Reloaded it, kind of scrolled around the middle? Behavior seemed stable/reasonable. This one is kind of heursitic so it's hard to say I'm getting it totally right or not, but it's less important than the "bottom" case.
Reviewers: vrana, btrahan, chad, dctrwatson
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D4774
2013-02-01 19:52:07 +01:00
|
|
|
'uri' => '/res/526c2615/rsrc/js/application/differential/behavior-populate.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-workflow',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
2012-03-13 04:04:12 +01:00
|
|
|
4 => 'javelin-stratcom',
|
2013-01-15 00:44:16 +01:00
|
|
|
5 => 'javelin-behavior-device',
|
Stabilize scroll position as diffs load
Summary:
Try to lock the screen to whatever the user is looking at as we load changesets.
Notably, this improves the use case of taking a known action on a diff. Currently, you have to wait for everything to load or the comments keep getting scrolled down. After this change, the comments stay in the same place on screen.
Test Plan:
Raised the autoload changeset limit from 100 to 1000, looked at a 220 changeset diff.
- Reloaded it while scrolled at the top; normal behavior (no scrolling).
- Reloaded it, scrolled to the bottom. Comment area now stable.
- Reloaded it, kind of scrolled around the middle? Behavior seemed stable/reasonable. This one is kind of heursitic so it's hard to say I'm getting it totally right or not, but it's less important than the "bottom" case.
Reviewers: vrana, btrahan, chad, dctrwatson
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D4774
2013-02-01 19:52:07 +01:00
|
|
|
6 => 'javelin-vector',
|
|
|
|
7 => 'phabricator-tooltip',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-populate.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-differential-show-all-comments' =>
|
|
|
|
array(
|
2012-02-26 12:54:17 +01:00
|
|
|
'uri' => '/res/eaa12efc/rsrc/js/application/differential/behavior-show-all-comments.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js',
|
|
|
|
),
|
2012-05-01 01:08:01 +02:00
|
|
|
'javelin-behavior-differential-show-field-details' =>
|
|
|
|
array(
|
2012-05-01 19:15:56 +02:00
|
|
|
'uri' => '/res/8d57f459/rsrc/js/application/differential/behavior-show-field-details.js',
|
2012-05-01 01:08:01 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-show-field-details.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-differential-show-more' =>
|
|
|
|
array(
|
2013-01-14 22:40:51 +01:00
|
|
|
'uri' => '/res/b9f93090/rsrc/js/application/differential/behavior-show-more.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-workflow',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
4 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-show-more.js',
|
|
|
|
),
|
2012-06-14 07:47:46 +02:00
|
|
|
'javelin-behavior-differential-toggle-files' =>
|
|
|
|
array(
|
2012-08-24 18:36:40 +02:00
|
|
|
'uri' => '/res/ae937207/rsrc/js/application/differential/behavior-toggle-files.js',
|
2012-06-14 07:47:46 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-toggle-files.js',
|
|
|
|
),
|
2012-04-17 03:53:38 +02:00
|
|
|
'javelin-behavior-differential-user-select' =>
|
|
|
|
array(
|
2012-09-24 22:56:04 +02:00
|
|
|
'uri' => '/res/23c51a5d/rsrc/js/application/differential/behavior-user-select.js',
|
2012-04-17 03:53:38 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/differential/behavior-user-select.js',
|
|
|
|
),
|
2012-08-01 01:27:48 +02:00
|
|
|
'javelin-behavior-diffusion-commit-branches' =>
|
|
|
|
array(
|
2012-08-01 03:28:08 +02:00
|
|
|
'uri' => '/res/1ede335a/rsrc/js/application/diffusion/behavior-commit-branches.js',
|
2012-08-01 01:27:48 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-commit-branches.js',
|
|
|
|
),
|
2012-03-24 01:11:15 +01:00
|
|
|
'javelin-behavior-diffusion-commit-graph' =>
|
|
|
|
array(
|
2013-01-11 20:24:35 +01:00
|
|
|
'uri' => '/res/62bd2035/rsrc/js/application/diffusion/behavior-commit-graph.js',
|
2012-03-24 01:11:15 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-commit-graph.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-diffusion-jump-to' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/7c42e1ba/rsrc/js/application/diffusion/behavior-jump-to.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-jump-to.js',
|
|
|
|
),
|
2012-08-04 18:47:51 +02:00
|
|
|
'javelin-behavior-diffusion-line-linker' =>
|
|
|
|
array(
|
2013-03-05 00:03:54 +01:00
|
|
|
'uri' => '/res/12866f13/rsrc/js/application/diffusion/behavior-line-linker.js',
|
2012-08-04 18:47:51 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
2013-03-05 00:03:54 +01:00
|
|
|
3 => 'javelin-history',
|
2012-08-04 18:47:51 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-line-linker.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-diffusion-pull-lastmodified' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/29fe2790/rsrc/js/application/diffusion/behavior-pull-lastmodified.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-pull-lastmodified.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-error-log' =>
|
|
|
|
array(
|
2012-04-18 21:50:06 +02:00
|
|
|
'uri' => '/res/f46289e9/rsrc/js/application/core/behavior-error-log.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-error-log.js',
|
|
|
|
),
|
2012-04-04 21:14:10 +02:00
|
|
|
'javelin-behavior-fancy-datepicker' =>
|
|
|
|
array(
|
2012-12-22 01:34:35 +01:00
|
|
|
'uri' => '/res/0a1bc610/rsrc/js/application/core/behavior-fancy-datepicker.js',
|
2012-04-04 21:14:10 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-dom',
|
2012-10-23 21:07:08 +02:00
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
4 => 'javelin-vector',
|
2012-04-04 21:14:10 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-fancy-datepicker.js',
|
|
|
|
),
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'javelin-behavior-global-drag-and-drop' =>
|
2012-01-05 02:10:34 +01:00
|
|
|
array(
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'uri' => '/res/73ae3fd1/rsrc/js/application/core/behavior-global-drag-and-drop.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-uri',
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
3 => 'javelin-mask',
|
|
|
|
4 => 'phabricator-drag-and-drop-file-upload',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
Modernize file uploads
Summary:
Modernizes file uploads. In particular:
- Adds a mobile menu, with an "Upload File" item.
- Adds crumbs to the list view, detail view and upload view.
- Adds "Upload File" action to crumbs.
- Moves upload file to a separate page.
- Removes the combined upload file + recent files page.
- Makes upload file use a normal file control by default (works on mobile).
- Home page, file list and file upload page are now global drop targets which accept files dropped anywhere on them. Dragging a file into the window shows a mask and an instructional message.
- User education on this is a little weak but I think that's a big can of worms?
- Fixes a bug where dropping multiple files into a Remarkup text area produced bad results (resolves T2190).
T879 is related, although it's specifically about Maniphest. I've declined to make global drop targets yet there because there are multiple drop targets on the page with different meanings. That UI needs updating in general.
@chad, do we have an "upload" icon (counterpart to "download")?
Test Plan: Uploaded files in Maniphest, Differential, Files, and from Home. Dragged and dropped multiple files into Differential. Used crumbs, mobile.
Reviewers: chad, btrahan
Reviewed By: btrahan
CC: aran
Maniphest Tasks: T2190
Differential Revision: https://secure.phabricator.com/D4200
2012-12-17 01:34:01 +01:00
|
|
|
'disk' => '/rsrc/js/application/core/behavior-global-drag-and-drop.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-behavior-herald-rule-editor' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/77a0c945/rsrc/js/application/herald/herald-rule-editor.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'herald-rule-editor',
|
|
|
|
1 => 'javelin-behavior',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/herald/herald-rule-editor.js',
|
|
|
|
),
|
2013-03-05 00:03:54 +01:00
|
|
|
'javelin-behavior-history-install' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/e146a99b/rsrc/js/application/core/behavior-history-install.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-history',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-history-install.js',
|
|
|
|
),
|
2012-08-22 17:20:23 +02:00
|
|
|
'javelin-behavior-konami' =>
|
|
|
|
array(
|
2012-12-15 00:14:14 +01:00
|
|
|
'uri' => '/res/2199602f/rsrc/js/application/core/behavior-konami.js',
|
2012-08-22 17:20:23 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-konami.js',
|
|
|
|
),
|
2012-10-23 04:06:56 +02:00
|
|
|
'javelin-behavior-lightbox-attachments' =>
|
|
|
|
array(
|
DarkConsole: fix rendering, move request log, load over ajax
Summary:
This accomplishes three major goals:
# Fixes phutil_render_tag -> phutil_tag callsites in DarkConsole.
# Moves the Ajax request log to a new panel on the left. This panel (and the tabs panel) get scrollbars when they get large, instead of making the page constantly scroll down.
# Loads the panel content over ajax, instead of dumping it into the page body / ajax response body. I've been planning to do this for about 3 years, which is why the plugins are architected the way they are. This should make debugging easier by making response bodies not be 50%+ darkconsole stuff.
Additionally, load the plugins dynamically (the old method predates library maps and PhutilSymbolLoader).
Test Plan:
{F30675}
- Switched between requests and tabs, reloaded page, saw same tab.
- Used "analyze queries", "profile page", triggered errors.
- Verified page does not load anything by default if dark console is closed with Charles.
- Generally banged on it a bit.
Reviewers: vrana, btrahan, chad
Reviewed By: vrana
CC: aran
Maniphest Tasks: T2432
Differential Revision: https://secure.phabricator.com/D4692
2013-01-29 03:45:32 +01:00
|
|
|
'uri' => '/res/08f5e202/rsrc/js/application/core/behavior-lightbox-attachments.js',
|
2012-10-23 04:06:56 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-mask',
|
2012-10-24 02:34:43 +02:00
|
|
|
4 => 'javelin-util',
|
|
|
|
5 => 'phabricator-busy',
|
2012-10-23 04:06:56 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-lightbox-attachments.js',
|
|
|
|
),
|
2012-07-30 19:44:08 +02:00
|
|
|
'javelin-behavior-line-chart' =>
|
|
|
|
array(
|
2012-07-31 01:08:10 +02:00
|
|
|
'uri' => '/res/1aa5ac88/rsrc/js/application/maniphest/behavior-line-chart.js',
|
2012-07-30 19:44:08 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-line-chart.js',
|
|
|
|
),
|
2013-03-05 23:31:20 +01:00
|
|
|
'javelin-behavior-load-blame' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/138e2961/rsrc/js/application/diffusion/behavior-load-blame.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/diffusion/behavior-load-blame.js',
|
|
|
|
),
|
2012-02-24 22:00:48 +01:00
|
|
|
'javelin-behavior-maniphest-batch-editor' =>
|
|
|
|
array(
|
2012-03-21 22:01:04 +01:00
|
|
|
'uri' => '/res/d22661be/rsrc/js/application/maniphest/behavior-batch-editor.js',
|
2012-02-24 22:00:48 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-prefab',
|
|
|
|
4 => 'multirow-row-manager',
|
2012-03-21 22:01:04 +01:00
|
|
|
5 => 'javelin-json',
|
2012-02-24 22:00:48 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-batch-editor.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-maniphest-batch-selector' =>
|
|
|
|
array(
|
2013-03-23 22:38:01 +01:00
|
|
|
'uri' => '/res/f8cf3b84/rsrc/js/application/maniphest/behavior-batch-selector.js',
|
2012-02-24 22:00:48 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
2013-03-23 22:38:01 +01:00
|
|
|
3 => 'javelin-util',
|
2012-02-24 22:00:48 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-batch-selector.js',
|
|
|
|
),
|
2012-01-25 20:23:00 +01:00
|
|
|
'javelin-behavior-maniphest-description-preview' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/8acd6f07/rsrc/js/application/maniphest/behavior-task-preview.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-task-preview.js',
|
|
|
|
),
|
2012-04-02 21:12:04 +02:00
|
|
|
'javelin-behavior-maniphest-subpriority-editor' =>
|
|
|
|
array(
|
2013-03-23 22:38:01 +01:00
|
|
|
'uri' => '/res/21b73c2a/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
|
2012-04-02 21:12:04 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-magical-init',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'javelin-stratcom',
|
|
|
|
5 => 'javelin-workflow',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-maniphest-transaction-controls' =>
|
|
|
|
array(
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
'uri' => '/res/62465554/rsrc/js/application/maniphest/behavior-transaction-controls.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
2 => 'phabricator-prefab',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-transaction-controls.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-maniphest-transaction-expand' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/966410de/rsrc/js/application/maniphest/behavior-transaction-expand.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-workflow',
|
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-transaction-expand.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-maniphest-transaction-preview' =>
|
|
|
|
array(
|
2012-04-14 16:05:58 +02:00
|
|
|
'uri' => '/res/855c9f0c/rsrc/js/application/maniphest/behavior-transaction-preview.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
2012-04-14 16:05:58 +02:00
|
|
|
3 => 'javelin-json',
|
|
|
|
4 => 'javelin-stratcom',
|
|
|
|
5 => 'phabricator-shaped-request',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-transaction-preview.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-owners-path-editor' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9cf78ffc/rsrc/js/application/owners/owners-path-editor.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'owners-path-editor',
|
|
|
|
1 => 'javelin-behavior',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/owners/owners-path-editor.js',
|
|
|
|
),
|
2012-08-22 00:03:01 +02:00
|
|
|
'javelin-behavior-phabricator-active-nav' =>
|
|
|
|
array(
|
2012-10-25 00:27:37 +02:00
|
|
|
'uri' => '/res/f879d4dd/rsrc/js/application/core/behavior-active-nav.js',
|
2012-08-22 00:03:01 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-uri',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-active-nav.js',
|
|
|
|
),
|
2012-02-16 02:49:23 +01:00
|
|
|
'javelin-behavior-phabricator-autofocus' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/2946bb89/rsrc/js/application/core/behavior-autofocus.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-autofocus.js',
|
|
|
|
),
|
2013-02-06 17:32:36 +01:00
|
|
|
'javelin-behavior-phabricator-file-tree' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/e9c96597/rsrc/js/application/core/behavior-file-tree.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'phabricator-keyboard-shortcut',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-file-tree.js',
|
|
|
|
),
|
Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.
There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:
- We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
- The sigil `touchable` indicates that a node wants to react to touch events.
- When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
- Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
- At this point, we look at where their finger has moved.
- If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
- However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
- Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
- When the user ends the gesture, we send "gesture.swipe.end".
- If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
- Gesture events have raw position data and some convenience fields.
Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.
- The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
- The threshold feels pretty good to me.
- Tapping with a second finger cancels the action.
Reviewers: chad, btrahan
Reviewed By: chad
CC: aran
Maniphest Tasks: T2700
Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 22:53:15 +01:00
|
|
|
'javelin-behavior-phabricator-gesture' =>
|
|
|
|
array(
|
2013-03-09 22:53:32 +01:00
|
|
|
'uri' => '/res/f186161c/rsrc/js/application/core/behavior-gesture.js',
|
Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.
There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:
- We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
- The sigil `touchable` indicates that a node wants to react to touch events.
- When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
- Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
- At this point, we look at where their finger has moved.
- If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
- However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
- Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
- When the user ends the gesture, we send "gesture.swipe.end".
- If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
- Gesture events have raw position data and some convenience fields.
Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.
- The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
- The threshold feels pretty good to me.
- Tapping with a second finger cancels the action.
Reviewers: chad, btrahan
Reviewed By: chad
CC: aran
Maniphest Tasks: T2700
Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 22:53:15 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-behavior-device',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'javelin-dom',
|
|
|
|
5 => 'javelin-magical-init',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-gesture.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-phabricator-gesture-example' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/da636e19/rsrc/js/application/uiexample/gesture-example.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-stratcom',
|
|
|
|
1 => 'javelin-behavior',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/gesture-example.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-phabricator-keyboard-pager' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/56d64eff/rsrc/js/application/core/behavior-keyboard-pager.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-uri',
|
|
|
|
2 => 'phabricator-keyboard-shortcut',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-keyboard-pager.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-phabricator-keyboard-shortcuts' =>
|
|
|
|
array(
|
2012-07-31 01:09:14 +02:00
|
|
|
'uri' => '/res/c5eb65cd/rsrc/js/application/core/behavior-keyboard-shortcuts.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-workflow',
|
|
|
|
2 => 'javelin-json',
|
2012-03-20 03:17:40 +01:00
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'phabricator-keyboard-shortcut',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-keyboard-shortcuts.js',
|
|
|
|
),
|
2012-08-01 21:31:33 +02:00
|
|
|
'javelin-behavior-phabricator-nav' =>
|
|
|
|
array(
|
2013-02-06 17:32:36 +01:00
|
|
|
'uri' => '/res/222b9329/rsrc/js/application/core/behavior-phabricator-nav.js',
|
2012-08-01 21:31:33 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2012-08-31 03:58:51 +02:00
|
|
|
1 => 'javelin-behavior-device',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-magical-init',
|
|
|
|
5 => 'javelin-vector',
|
2012-08-01 21:31:33 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-phabricator-nav.js',
|
|
|
|
),
|
2012-06-14 00:00:24 +02:00
|
|
|
'javelin-behavior-phabricator-notification-example' =>
|
|
|
|
array(
|
2012-10-09 00:22:29 +02:00
|
|
|
'uri' => '/res/a6d51998/rsrc/js/application/uiexample/notification-example.js',
|
2012-06-14 00:00:24 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'phabricator-notification',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-behavior',
|
2012-06-17 20:35:36 +02:00
|
|
|
3 => 'javelin-uri',
|
2012-06-14 00:00:24 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/notification-example.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-phabricator-object-selector' =>
|
|
|
|
array(
|
2012-04-07 21:58:18 +02:00
|
|
|
'uri' => '/res/0c4b0d82/rsrc/js/application/core/behavior-object-selector.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-request',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-object-selector.js',
|
|
|
|
),
|
Kind-of-terrible (?) oncopy handler
Summary: Works in Safari, Firefox, Chrome.
Test Plan: Copied some text, threw up a little in my mouth.
Reviewers: aran, tuomaspelkonen, tomo, rstout, btrahan
Reviewed By: aran
CC: aran, epriestley, ddfisher
Maniphest Tasks: T145, T995
Differential Revision: https://secure.phabricator.com/D244
2012-03-16 03:04:59 +01:00
|
|
|
'javelin-behavior-phabricator-oncopy' =>
|
|
|
|
array(
|
2012-04-16 23:50:01 +02:00
|
|
|
'uri' => '/res/f490b8d1/rsrc/js/application/core/behavior-oncopy.js',
|
Kind-of-terrible (?) oncopy handler
Summary: Works in Safari, Firefox, Chrome.
Test Plan: Copied some text, threw up a little in my mouth.
Reviewers: aran, tuomaspelkonen, tomo, rstout, btrahan
Reviewed By: aran
CC: aran, epriestley, ddfisher
Maniphest Tasks: T145, T995
Differential Revision: https://secure.phabricator.com/D244
2012-03-16 03:04:59 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-oncopy.js',
|
|
|
|
),
|
2012-10-02 03:48:39 +02:00
|
|
|
'javelin-behavior-phabricator-remarkup-assist' =>
|
|
|
|
array(
|
2013-01-24 21:39:03 +01:00
|
|
|
'uri' => '/res/07406487/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js',
|
2012-10-02 03:48:39 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'phabricator-textareautils',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-phabricator-remarkup-assist.js',
|
|
|
|
),
|
2013-02-17 15:37:02 +01:00
|
|
|
'javelin-behavior-phabricator-reveal-content' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a4fae14a/rsrc/js/application/core/behavior-reveal-content.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-reveal-content.js',
|
|
|
|
),
|
2012-08-01 02:58:21 +02:00
|
|
|
'javelin-behavior-phabricator-search-typeahead' =>
|
|
|
|
array(
|
2012-08-01 21:36:47 +02:00
|
|
|
'uri' => '/res/046ab274/rsrc/js/application/core/behavior-search-typeahead.js',
|
2012-08-01 02:58:21 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-typeahead-ondemand-source',
|
|
|
|
2 => 'javelin-typeahead',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-uri',
|
2012-08-01 21:36:33 +02:00
|
|
|
5 => 'javelin-util',
|
|
|
|
6 => 'javelin-stratcom',
|
2012-08-01 02:58:21 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-search-typeahead.js',
|
|
|
|
),
|
2012-03-13 02:21:02 +01:00
|
|
|
'javelin-behavior-phabricator-tooltips' =>
|
|
|
|
array(
|
2012-08-31 03:59:08 +02:00
|
|
|
'uri' => '/res/e0b344c6/rsrc/js/application/core/behavior-tooltip.js',
|
2012-03-13 02:21:02 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2012-08-31 03:59:08 +02:00
|
|
|
1 => 'javelin-behavior-device',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'phabricator-tooltip',
|
2012-03-13 02:21:02 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-tooltip.js',
|
|
|
|
),
|
2012-12-21 14:51:33 +01:00
|
|
|
'javelin-behavior-phabricator-transaction-comment-form' =>
|
|
|
|
array(
|
2012-12-21 14:57:14 +01:00
|
|
|
'uri' => '/res/acc3ada1/rsrc/js/application/transactions/behavior-transaction-comment-form.js',
|
2012-12-21 14:51:33 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/transactions/behavior-transaction-comment-form.js',
|
|
|
|
),
|
2012-12-11 23:03:16 +01:00
|
|
|
'javelin-behavior-phabricator-transaction-list' =>
|
|
|
|
array(
|
2013-01-28 23:11:32 +01:00
|
|
|
'uri' => '/res/f1fbb474/rsrc/js/application/transactions/behavior-transaction-list.js',
|
2012-12-11 23:03:16 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-workflow',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-fx',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/transactions/behavior-transaction-list.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-phabricator-watch-anchor' =>
|
|
|
|
array(
|
2012-08-21 06:47:44 +02:00
|
|
|
'uri' => '/res/b20b1cc2/rsrc/js/application/core/behavior-watch-anchor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
2012-01-06 01:36:59 +01:00
|
|
|
3 => 'javelin-vector',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-watch-anchor.js',
|
|
|
|
),
|
2012-04-12 22:09:04 +02:00
|
|
|
'javelin-behavior-phame-post-preview' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/ac4c503a/rsrc/js/application/phame/phame-post-preview.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phame/phame-post-preview.js',
|
|
|
|
),
|
2013-01-28 20:18:50 +01:00
|
|
|
'javelin-behavior-pholio-mock-view' =>
|
|
|
|
array(
|
2013-03-15 12:28:43 +01:00
|
|
|
'uri' => '/res/ecf5f969/rsrc/js/application/pholio/behavior-pholio-mock-view.js',
|
2013-01-28 20:18:50 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-02-23 15:28:34 +01:00
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-vector',
|
|
|
|
5 => 'javelin-magical-init',
|
|
|
|
6 => 'javelin-request',
|
2013-03-05 03:43:29 +01:00
|
|
|
7 => 'javelin-history',
|
2013-03-05 21:30:05 +01:00
|
|
|
8 => 'javelin-workflow',
|
2013-03-05 21:30:58 +01:00
|
|
|
9 => 'javelin-mask',
|
|
|
|
10 => 'javelin-behavior-device',
|
|
|
|
11 => 'phabricator-keyboard-shortcut',
|
2013-01-28 20:18:50 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/pholio/behavior-pholio-mock-view.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-phriction-document-preview' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/f1665ecd/rsrc/js/application/phriction/phriction-document-preview.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phriction/phriction-document-preview.js',
|
|
|
|
),
|
2012-08-10 19:44:04 +02:00
|
|
|
'javelin-behavior-ponder-feedback-preview' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/2e802dd9/rsrc/js/application/ponder/behavior-comment-preview.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'phabricator-shaped-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/ponder/behavior-comment-preview.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-ponder-votebox' =>
|
|
|
|
array(
|
2012-10-01 21:56:33 +02:00
|
|
|
'uri' => '/res/9d091af3/rsrc/js/application/ponder/behavior-votebox.js',
|
2012-08-10 19:44:04 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-util',
|
2012-10-01 21:56:33 +02:00
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
4 => 'javelin-request',
|
2012-08-10 19:44:04 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/ponder/behavior-votebox.js',
|
|
|
|
),
|
2012-08-08 19:03:41 +02:00
|
|
|
'javelin-behavior-project-create' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/e91f3f8f/rsrc/js/application/projects/behavior-project-create.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-workflow',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/projects/behavior-project-create.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-refresh-csrf' =>
|
|
|
|
array(
|
2012-10-24 02:34:43 +02:00
|
|
|
'uri' => '/res/6fd76d0f/rsrc/js/application/core/behavior-refresh-csrf.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-request',
|
|
|
|
1 => 'javelin-behavior',
|
|
|
|
2 => 'javelin-dom',
|
2012-10-24 02:34:43 +02:00
|
|
|
3 => 'phabricator-busy',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-refresh-csrf.js',
|
|
|
|
),
|
2013-03-15 12:28:43 +01:00
|
|
|
'javelin-behavior-releeph-preview-branch' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a77ebc86/rsrc/js/application/releeph/releeph-preview-branch.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-uri',
|
|
|
|
4 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/releeph/releeph-preview-branch.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-releeph-request-state-change' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/38f96ba8/rsrc/js/application/releeph/releeph-request-state-change.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
4 => 'phabricator-keyboard-shortcut',
|
|
|
|
5 => 'phabricator-notification',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/releeph/releeph-request-state-change.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-releeph-request-typeahead' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/b52096e2/rsrc/js/application/releeph/releeph-request-typeahead.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-typeahead',
|
|
|
|
4 => 'javelin-tokenizer',
|
|
|
|
5 => 'javelin-typeahead-preloaded-source',
|
|
|
|
6 => 'javelin-typeahead-ondemand-source',
|
|
|
|
7 => 'javelin-dom',
|
|
|
|
8 => 'javelin-stratcom',
|
|
|
|
9 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/releeph/releeph-request-typeahead.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-repository-crossreference' =>
|
|
|
|
array(
|
2013-02-21 18:49:06 +01:00
|
|
|
'uri' => '/res/4b5fab1c/rsrc/js/application/repository/repository-crossreference.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
2012-09-17 23:50:49 +02:00
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-uri',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/repository/repository-crossreference.js',
|
|
|
|
),
|
2012-04-05 01:09:29 +02:00
|
|
|
'javelin-behavior-stripe-payment-form' =>
|
|
|
|
array(
|
2013-03-28 17:13:07 +01:00
|
|
|
'uri' => '/res/30bcbbb1/rsrc/js/application/phortune/behavior-stripe-payment-form.js',
|
2012-04-05 01:09:29 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-json',
|
2013-03-28 17:13:07 +01:00
|
|
|
3 => 'javelin-workflow',
|
|
|
|
4 => 'stripe-core',
|
2012-04-05 01:09:29 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phortune/behavior-stripe-payment-form.js',
|
|
|
|
),
|
2012-07-31 01:08:42 +02:00
|
|
|
'javelin-behavior-toggle-class' =>
|
|
|
|
array(
|
Add basic support for new navigation menu
Summary:
Add a new left-side application menu. This menu shows which application you're in and provides a quick way to get to other applications.
On desktops, menus are always shown but the app menu can be collapsed to be very small.
On tablets, navigation buttons allow you to choose between the menus and the content.
On phones, navigation buttons allow you to choose between the app menu, the local menu, and the content.
This needs some code and UI cleanup, but has no effect yet so I think it's okay to land as-is, I'll clean it up a bit as I start integrating it. I want to play around with it a bit and see if it's good/useful or horrible anyway.
Test Plan: Will include screenshots.
Reviewers: vrana, btrahan, chad
Reviewed By: btrahan
CC: aran, alanh
Maniphest Tasks: T1569
Differential Revision: https://secure.phabricator.com/D3223
2012-08-11 16:06:12 +02:00
|
|
|
'uri' => '/res/fa818e0f/rsrc/js/application/core/behavior-toggle-class.js',
|
2012-07-31 01:08:42 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-toggle-class.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-view-placeholder' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/5b89bdf5/rsrc/js/javelin/ext/view/ViewPlaceholder.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-view-renderer',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/view/ViewPlaceholder.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-workflow' =>
|
|
|
|
array(
|
2013-01-28 23:11:32 +01:00
|
|
|
'uri' => '/res/2c99beaf/rsrc/js/application/core/behavior-workflow.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-workflow',
|
2012-10-17 17:28:37 +02:00
|
|
|
3 => 'javelin-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/behavior-workflow.js',
|
|
|
|
),
|
|
|
|
'javelin-color' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/b0439fc9/rsrc/js/javelin/ext/fx/Color.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/fx/Color.js',
|
|
|
|
),
|
|
|
|
'javelin-cookie' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a9cddab0/rsrc/js/javelin/lib/Cookie.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/Cookie.js',
|
|
|
|
),
|
|
|
|
'javelin-dom' =>
|
|
|
|
array(
|
DarkConsole: fix rendering, move request log, load over ajax
Summary:
This accomplishes three major goals:
# Fixes phutil_render_tag -> phutil_tag callsites in DarkConsole.
# Moves the Ajax request log to a new panel on the left. This panel (and the tabs panel) get scrollbars when they get large, instead of making the page constantly scroll down.
# Loads the panel content over ajax, instead of dumping it into the page body / ajax response body. I've been planning to do this for about 3 years, which is why the plugins are architected the way they are. This should make debugging easier by making response bodies not be 50%+ darkconsole stuff.
Additionally, load the plugins dynamically (the old method predates library maps and PhutilSymbolLoader).
Test Plan:
{F30675}
- Switched between requests and tabs, reloaded page, saw same tab.
- Used "analyze queries", "profile page", triggered errors.
- Verified page does not load anything by default if dark console is closed with Charles.
- Generally banged on it a bit.
Reviewers: vrana, btrahan, chad
Reviewed By: vrana
CC: aran
Maniphest Tasks: T2432
Differential Revision: https://secure.phabricator.com/D4692
2013-01-29 03:45:32 +01:00
|
|
|
'uri' => '/res/459f3c08/rsrc/js/javelin/lib/DOM.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-magical-init',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/DOM.js',
|
|
|
|
),
|
|
|
|
'javelin-dynval' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/d89c6f88/rsrc/js/javelin/ext/reactor/core/DynVal.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-reactornode',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-reactor',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/reactor/core/DynVal.js',
|
|
|
|
),
|
|
|
|
'javelin-event' =>
|
|
|
|
array(
|
2013-03-19 21:48:50 +01:00
|
|
|
'uri' => '/res/73201bd3/rsrc/js/javelin/core/Event.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/core/Event.js',
|
|
|
|
),
|
|
|
|
'javelin-fx' =>
|
|
|
|
array(
|
2012-09-17 23:50:49 +02:00
|
|
|
'uri' => '/res/30ef0914/rsrc/js/javelin/ext/fx/FX.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-color',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/fx/FX.js',
|
|
|
|
),
|
|
|
|
'javelin-history' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9bb36651/rsrc/js/javelin/lib/History.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-stratcom',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'javelin-uri',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/History.js',
|
|
|
|
),
|
|
|
|
'javelin-install' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/cab679ff/rsrc/js/javelin/core/install.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-util',
|
|
|
|
1 => 'javelin-magical-init',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/core/install.js',
|
|
|
|
),
|
|
|
|
'javelin-json' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/561b8056/rsrc/js/javelin/lib/JSON.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/JSON.js',
|
|
|
|
),
|
|
|
|
'javelin-magical-init' =>
|
|
|
|
array(
|
2013-02-26 17:00:20 +01:00
|
|
|
'uri' => '/res/2f1554da/rsrc/js/javelin/core/init.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/core/init.js',
|
|
|
|
),
|
|
|
|
'javelin-mask' =>
|
|
|
|
array(
|
2012-10-23 20:39:33 +02:00
|
|
|
'uri' => '/res/d2a35fff/rsrc/js/javelin/lib/Mask.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2012-10-23 20:39:33 +02:00
|
|
|
1 => 'javelin-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/Mask.js',
|
|
|
|
),
|
|
|
|
'javelin-reactor' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/dfd87f3c/rsrc/js/javelin/ext/reactor/core/Reactor.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/reactor/core/Reactor.js',
|
|
|
|
),
|
|
|
|
'javelin-reactor-dom' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/701b6f39/rsrc/js/javelin/ext/reactor/dom/RDOM.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-dom',
|
|
|
|
1 => 'javelin-dynval',
|
|
|
|
2 => 'javelin-reactornode',
|
|
|
|
3 => 'javelin-install',
|
|
|
|
4 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/reactor/dom/RDOM.js',
|
|
|
|
),
|
|
|
|
'javelin-reactor-node-calmer' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/5a35920a/rsrc/js/javelin/ext/reactor/core/ReactorNodeCalmer.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-reactor',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/reactor/core/ReactorNodeCalmer.js',
|
|
|
|
),
|
|
|
|
'javelin-reactornode' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/f278cc27/rsrc/js/javelin/ext/reactor/core/ReactorNode.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-reactor',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-reactor-node-calmer',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/reactor/core/ReactorNode.js',
|
|
|
|
),
|
|
|
|
'javelin-request' =>
|
|
|
|
array(
|
2012-11-21 17:37:01 +01:00
|
|
|
'uri' => '/res/e25d75b3/rsrc/js/javelin/lib/Request.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-behavior',
|
|
|
|
4 => 'javelin-json',
|
|
|
|
5 => 'javelin-dom',
|
2012-11-21 03:01:25 +01:00
|
|
|
6 => 'javelin-resource',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/Request.js',
|
|
|
|
),
|
|
|
|
'javelin-resource' =>
|
|
|
|
array(
|
2012-09-17 23:50:49 +02:00
|
|
|
'uri' => '/res/d5a3f835/rsrc/js/javelin/lib/Resource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-magical-init',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-uri',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/Resource.js',
|
|
|
|
),
|
|
|
|
'javelin-stratcom' =>
|
|
|
|
array(
|
2012-12-21 14:57:14 +01:00
|
|
|
'uri' => '/res/c81f64eb/rsrc/js/javelin/core/Stratcom.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-event',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-magical-init',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/core/Stratcom.js',
|
|
|
|
),
|
|
|
|
'javelin-tokenizer' =>
|
|
|
|
array(
|
2012-10-20 19:53:51 +02:00
|
|
|
'uri' => '/res/c75c9e12/rsrc/js/javelin/lib/control/tokenizer/Tokenizer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-dom',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/tokenizer/Tokenizer.js',
|
|
|
|
),
|
|
|
|
'javelin-typeahead' =>
|
|
|
|
array(
|
2012-10-20 19:53:51 +02:00
|
|
|
'uri' => '/res/dccb789e/rsrc/js/javelin/lib/control/typeahead/Typeahead.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/Typeahead.js',
|
|
|
|
),
|
|
|
|
'javelin-typeahead-composite-source' =>
|
|
|
|
array(
|
2012-10-02 00:37:02 +02:00
|
|
|
'uri' => '/res/99705f64/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-typeahead-source',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js',
|
|
|
|
),
|
|
|
|
'javelin-typeahead-normalizer' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a9e97c0d/rsrc/js/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js',
|
|
|
|
),
|
|
|
|
'javelin-typeahead-ondemand-source' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/81e531aa/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
4 => 'javelin-typeahead-source',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js',
|
|
|
|
),
|
|
|
|
'javelin-typeahead-preloaded-source' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/d464efd2/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
4 => 'javelin-typeahead-source',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js',
|
|
|
|
),
|
|
|
|
'javelin-typeahead-source' =>
|
|
|
|
array(
|
2012-09-17 23:50:49 +02:00
|
|
|
'uri' => '/res/74b1f091/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-typeahead-normalizer',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadSource.js',
|
|
|
|
),
|
2012-09-17 23:50:49 +02:00
|
|
|
'javelin-typeahead-static-source' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/c8e247fc/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-typeahead-source',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-uri' =>
|
|
|
|
array(
|
2012-10-02 00:37:02 +02:00
|
|
|
'uri' => '/res/c107d858/rsrc/js/javelin/lib/URI.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/URI.js',
|
|
|
|
),
|
|
|
|
'javelin-util' =>
|
|
|
|
array(
|
2012-09-17 23:50:49 +02:00
|
|
|
'uri' => '/res/25786b6c/rsrc/js/javelin/core/util.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/core/util.js',
|
|
|
|
),
|
|
|
|
'javelin-vector' =>
|
|
|
|
array(
|
2012-02-23 21:26:14 +01:00
|
|
|
'uri' => '/res/f240bdb3/rsrc/js/javelin/lib/Vector.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-event',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/Vector.js',
|
|
|
|
),
|
|
|
|
'javelin-view' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/b98657a7/rsrc/js/javelin/ext/view/View.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/view/View.js',
|
|
|
|
),
|
|
|
|
'javelin-view-html' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/7e5a2122/rsrc/js/javelin/ext/view/HTMLView.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/view/HTMLView.js',
|
|
|
|
),
|
|
|
|
'javelin-view-interpreter' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/17e911ca/rsrc/js/javelin/ext/view/ViewInterpreter.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-view',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/view/ViewInterpreter.js',
|
|
|
|
),
|
|
|
|
'javelin-view-renderer' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/db4ed5a2/rsrc/js/javelin/ext/view/ViewRenderer.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/view/ViewRenderer.js',
|
|
|
|
),
|
|
|
|
'javelin-view-visitor' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/0ef9dc43/rsrc/js/javelin/ext/view/ViewVisitor.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/ext/view/ViewVisitor.js',
|
|
|
|
),
|
|
|
|
'javelin-workflow' =>
|
|
|
|
array(
|
2013-02-15 17:14:31 +01:00
|
|
|
'uri' => '/res/1535e366/rsrc/js/javelin/lib/Workflow.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-stratcom',
|
|
|
|
1 => 'javelin-request',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'javelin-install',
|
|
|
|
5 => 'javelin-util',
|
|
|
|
6 => 'javelin-mask',
|
|
|
|
7 => 'javelin-uri',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/javelin/lib/Workflow.js',
|
|
|
|
),
|
2012-10-23 04:06:56 +02:00
|
|
|
'lightbox-attachment-css' =>
|
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/4657e15d/rsrc/css/aphront/lightbox-attachment.css',
|
2012-10-23 04:06:56 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/lightbox-attachment.css',
|
|
|
|
),
|
2012-02-24 22:00:48 +01:00
|
|
|
'maniphest-batch-editor' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/fb15d744/rsrc/css/application/maniphest/batch-editor.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/maniphest/batch-editor.css',
|
|
|
|
),
|
2012-03-01 23:19:11 +01:00
|
|
|
'maniphest-report-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/2e633fcf/rsrc/css/application/maniphest/report.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/maniphest/report.css',
|
|
|
|
),
|
2012-01-25 20:23:00 +01:00
|
|
|
'maniphest-task-edit-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/68c7863e/rsrc/css/application/maniphest/task-edit.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/maniphest/task-edit.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'maniphest-task-summary-css' =>
|
|
|
|
array(
|
2013-03-23 22:38:01 +01:00
|
|
|
'uri' => '/res/7aa9e2eb/rsrc/css/application/maniphest/task-summary.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/maniphest/task-summary.css',
|
|
|
|
),
|
|
|
|
'maniphest-transaction-detail-css' =>
|
|
|
|
array(
|
2013-01-25 01:29:47 +01:00
|
|
|
'uri' => '/res/fb430d3e/rsrc/css/application/maniphest/transaction-detail.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/maniphest/transaction-detail.css',
|
|
|
|
),
|
|
|
|
'multirow-row-manager' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/0a9b3dee/rsrc/js/application/core/MultirowRowManager.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/MultirowRowManager.js',
|
|
|
|
),
|
|
|
|
'owners-path-editor' =>
|
|
|
|
array(
|
2012-12-07 02:23:56 +01:00
|
|
|
'uri' => '/res/29b68354/rsrc/js/application/owners/OwnersPathEditor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'multirow-row-manager',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'path-typeahead',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-util',
|
2012-12-07 02:23:56 +01:00
|
|
|
5 => 'phabricator-prefab',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/owners/OwnersPathEditor.js',
|
|
|
|
),
|
|
|
|
'owners-path-editor-css' =>
|
|
|
|
array(
|
2012-12-07 02:23:56 +01:00
|
|
|
'uri' => '/res/4fcaabf6/rsrc/css/application/owners/owners-path-editor.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/owners/owners-path-editor.css',
|
|
|
|
),
|
2013-03-13 14:44:27 +01:00
|
|
|
'paste-css' =>
|
|
|
|
array(
|
2013-03-16 01:15:57 +01:00
|
|
|
'uri' => '/res/216fbfe9/rsrc/css/application/paste/paste.css',
|
2013-03-13 14:44:27 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/paste/paste.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'path-typeahead' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/50246fb6/rsrc/js/application/herald/PathTypeahead.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-typeahead',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
4 => 'javelin-typeahead-ondemand-source',
|
|
|
|
5 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/herald/PathTypeahead.js',
|
|
|
|
),
|
2012-08-15 19:45:06 +02:00
|
|
|
'phabricator-action-list-view-css' =>
|
|
|
|
array(
|
2012-12-11 23:03:16 +01:00
|
|
|
'uri' => '/res/7a67c3b9/rsrc/css/layout/phabricator-action-list-view.css',
|
2012-08-15 19:45:06 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-action-list-view.css',
|
|
|
|
),
|
2012-08-02 23:07:21 +02:00
|
|
|
'phabricator-application-launch-view-css' =>
|
|
|
|
array(
|
2013-03-22 19:50:30 +01:00
|
|
|
'uri' => '/res/b04e66e6/rsrc/css/application/base/phabricator-application-launch-view.css',
|
2012-08-02 23:07:21 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/base/phabricator-application-launch-view.css',
|
|
|
|
),
|
2012-10-24 02:34:43 +02:00
|
|
|
'phabricator-busy' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/6ec372e1/rsrc/js/application/core/Busy.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/Busy.js',
|
|
|
|
),
|
2012-02-17 19:21:38 +01:00
|
|
|
'phabricator-chatlog-css' =>
|
|
|
|
array(
|
2012-06-02 23:00:08 +02:00
|
|
|
'uri' => '/res/f6631adc/rsrc/css/application/chatlog/chatlog.css',
|
2012-02-17 19:21:38 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/chatlog/chatlog.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-content-source-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/8c738a93/rsrc/css/application/contentsource/content-source-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/contentsource/content-source-view.css',
|
|
|
|
),
|
|
|
|
'phabricator-core-buttons-css' =>
|
|
|
|
array(
|
2013-03-13 07:30:03 +01:00
|
|
|
'uri' => '/res/4e6b94c8/rsrc/css/core/buttons.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/buttons.css',
|
|
|
|
),
|
|
|
|
'phabricator-core-css' =>
|
|
|
|
array(
|
2013-03-13 07:30:03 +01:00
|
|
|
'uri' => '/res/9df0488c/rsrc/css/core/core.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/core.css',
|
|
|
|
),
|
|
|
|
'phabricator-countdown-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/0f646281/rsrc/css/application/countdown/timer.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/countdown/timer.css',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'phabricator-crumbs-view-css' =>
|
|
|
|
array(
|
2013-03-26 21:15:15 +01:00
|
|
|
'uri' => '/res/2857d229/rsrc/css/layout/phabricator-crumbs-view.css',
|
2012-12-07 22:38:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-crumbs-view.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-directory-css' =>
|
|
|
|
array(
|
Replace home directory list with a dashboard
Summary:
Rough cut that still needs a lot of polish, but replace the directory list with
more of a dashboard type thing:
- Show "Unbreak Now", triage-in-your-projects, and other stuff that you're
supposed to deal with, then feed.
- Move tools a click a way behind nav -- this also lets us put more stuff
there and subtools, etc., later.
- Remove tabs.
- Merge the category/item editing views.
- I also added a light blue wash to the side nav, not sure if I like that or
not.
Test Plan:
- Viewed all elements in empty and nonempty states.
- Viewed applications, edited items/categories.
Reviewers: btrahan, aran
Reviewed By: btrahan
CC: aran, epriestley, davidreuss
Maniphest Tasks: T21, T631
Differential Revision: https://secure.phabricator.com/D1574
2012-02-08 01:04:48 +01:00
|
|
|
'uri' => '/res/61afca2b/rsrc/css/application/directory/phabricator-directory.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/directory/phabricator-directory.css',
|
|
|
|
),
|
|
|
|
'phabricator-drag-and-drop-file-upload' =>
|
|
|
|
array(
|
2013-04-01 05:07:47 +02:00
|
|
|
'uri' => '/res/1daa63d1/rsrc/js/application/core/DragAndDropFileUpload.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-request',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-uri',
|
2012-10-09 00:23:05 +02:00
|
|
|
5 => 'phabricator-file-upload',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/DragAndDropFileUpload.js',
|
|
|
|
),
|
2012-01-05 01:52:13 +01:00
|
|
|
'phabricator-dropdown-menu' =>
|
|
|
|
array(
|
2012-06-27 03:22:53 +02:00
|
|
|
'uri' => '/res/2b4aa4d8/rsrc/js/application/core/DropdownMenu.js',
|
2012-01-05 01:52:13 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'javelin-stratcom',
|
|
|
|
5 => 'phabricator-menu-item',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/DropdownMenu.js',
|
|
|
|
),
|
2013-01-23 00:16:26 +01:00
|
|
|
'phabricator-fatal-config-template-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/6e1a8d22/rsrc/css/application/config/config-template.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/config/config-template.css',
|
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'phabricator-feed-css' =>
|
|
|
|
array(
|
2013-01-11 18:56:43 +01:00
|
|
|
'uri' => '/res/94a04b24/rsrc/css/application/feed/feed.css',
|
2012-02-24 22:02:35 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/feed/feed.css',
|
|
|
|
),
|
2012-10-09 00:23:05 +02:00
|
|
|
'phabricator-file-upload' =>
|
|
|
|
array(
|
2012-10-09 17:34:06 +02:00
|
|
|
'uri' => '/res/2de10295/rsrc/js/application/core/FileUpload.js',
|
2012-10-09 00:23:05 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2012-10-09 17:34:06 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'phabricator-notification',
|
2012-10-09 00:23:05 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/FileUpload.js',
|
|
|
|
),
|
2012-08-22 00:03:01 +02:00
|
|
|
'phabricator-filetree-view-css' =>
|
|
|
|
array(
|
2013-01-22 18:56:18 +01:00
|
|
|
'uri' => '/res/c912ed91/rsrc/css/layout/phabricator-filetree-view.css',
|
2012-08-22 00:03:01 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-filetree-view.css',
|
|
|
|
),
|
2012-03-28 01:22:40 +02:00
|
|
|
'phabricator-flag-css' =>
|
|
|
|
array(
|
2013-03-28 17:13:07 +01:00
|
|
|
'uri' => '/res/237234d7/rsrc/css/application/flag/flag.css',
|
2012-03-28 01:22:40 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/flag/flag.css',
|
|
|
|
),
|
2012-08-15 23:15:12 +02:00
|
|
|
'phabricator-form-view-css' =>
|
|
|
|
array(
|
2013-03-08 16:38:54 +01:00
|
|
|
'uri' => '/res/676b1ad2/rsrc/css/layout/phabricator-form-view.css',
|
2012-08-15 23:15:12 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-form-view.css',
|
|
|
|
),
|
2012-08-15 19:45:06 +02:00
|
|
|
'phabricator-header-view-css' =>
|
|
|
|
array(
|
2013-02-01 17:48:16 +01:00
|
|
|
'uri' => '/res/585b771c/rsrc/css/layout/phabricator-header-view.css',
|
2012-08-15 19:45:06 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-header-view.css',
|
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'phabricator-jump-nav' =>
|
|
|
|
array(
|
2013-01-18 01:26:39 +01:00
|
|
|
'uri' => '/res/2e0e2211/rsrc/css/application/directory/phabricator-jump-nav.css',
|
2012-02-24 22:02:35 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/directory/phabricator-jump-nav.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-keyboard-shortcut' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/beed38cd/rsrc/js/application/core/KeyboardShortcut.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'phabricator-keyboard-shortcut-manager',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/KeyboardShortcut.js',
|
|
|
|
),
|
|
|
|
'phabricator-keyboard-shortcut-manager' =>
|
|
|
|
array(
|
2013-03-09 06:19:24 +01:00
|
|
|
'uri' => '/res/d0bee7c7/rsrc/js/application/core/KeyboardShortcutManager.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-vector',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/KeyboardShortcutManager.js',
|
|
|
|
),
|
2012-07-31 01:09:14 +02:00
|
|
|
'phabricator-main-menu-view' =>
|
|
|
|
array(
|
2013-03-22 19:50:30 +01:00
|
|
|
'uri' => '/res/401e9389/rsrc/css/application/base/main-menu-view.css',
|
2012-07-31 01:09:14 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/base/main-menu-view.css',
|
|
|
|
),
|
2012-01-05 01:52:13 +01:00
|
|
|
'phabricator-menu-item' =>
|
|
|
|
array(
|
2012-01-17 07:17:18 +01:00
|
|
|
'uri' => '/res/32fc2325/rsrc/js/application/core/DropdownMenuItem.js',
|
2012-01-05 01:52:13 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/DropdownMenuItem.js',
|
|
|
|
),
|
2012-08-01 21:31:33 +02:00
|
|
|
'phabricator-nav-view-css' =>
|
|
|
|
array(
|
2013-03-22 20:09:10 +01:00
|
|
|
'uri' => '/res/fb026f2e/rsrc/css/aphront/phabricator-nav-view.css',
|
2012-08-01 21:31:33 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/phabricator-nav-view.css',
|
|
|
|
),
|
2012-06-14 00:00:24 +02:00
|
|
|
'phabricator-notification' =>
|
|
|
|
array(
|
2012-10-09 17:34:06 +02:00
|
|
|
'uri' => '/res/ad727561/rsrc/js/application/core/Notification.js',
|
2012-06-14 00:00:24 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
2012-06-17 20:35:36 +02:00
|
|
|
3 => 'javelin-util',
|
2012-10-09 17:34:06 +02:00
|
|
|
4 => 'phabricator-notification-css',
|
2012-06-14 00:00:24 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/Notification.js',
|
|
|
|
),
|
|
|
|
'phabricator-notification-css' =>
|
|
|
|
array(
|
2012-12-30 18:30:21 +01:00
|
|
|
'uri' => '/res/664b9bec/rsrc/css/aphront/notification.css',
|
2012-06-14 00:00:24 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/notification.css',
|
|
|
|
),
|
2012-07-31 01:09:14 +02:00
|
|
|
'phabricator-notification-menu-css' =>
|
|
|
|
array(
|
2013-03-23 00:15:28 +01:00
|
|
|
'uri' => '/res/bc245b67/rsrc/css/application/base/notification-menu.css',
|
2012-07-31 01:09:14 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/base/notification-menu.css',
|
|
|
|
),
|
2012-08-15 19:45:06 +02:00
|
|
|
'phabricator-object-item-list-view-css' =>
|
|
|
|
array(
|
2013-03-26 21:54:36 +01:00
|
|
|
'uri' => '/res/8e34c262/rsrc/css/layout/phabricator-object-item-list-view.css',
|
2012-08-15 19:45:06 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-object-item-list-view.css',
|
|
|
|
),
|
2012-08-07 20:57:38 +02:00
|
|
|
'phabricator-object-list-view-css' =>
|
|
|
|
array(
|
2012-08-08 19:03:41 +02:00
|
|
|
'uri' => '/res/4f183668/rsrc/css/application/projects/phabricator-object-list-view.css',
|
2012-08-07 20:57:38 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/projects/phabricator-object-list-view.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-object-selector-css' =>
|
|
|
|
array(
|
2012-03-20 03:20:49 +01:00
|
|
|
'uri' => '/res/7eb4c705/rsrc/css/application/objectselector/object-selector.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'aphront-dialog-view-css',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/objectselector/object-selector.css',
|
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'phabricator-paste-file-upload' =>
|
2012-01-25 20:23:00 +01:00
|
|
|
array(
|
2012-10-23 04:06:56 +02:00
|
|
|
'uri' => '/res/b0b8afd8/rsrc/js/application/core/PasteFileUpload.js',
|
2012-01-25 20:23:00 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
2012-02-24 22:02:35 +01:00
|
|
|
2 => 'javelin-request',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-uri',
|
2012-02-24 00:47:41 +01:00
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'disk' => '/rsrc/js/application/core/PasteFileUpload.js',
|
2012-02-24 00:47:41 +01:00
|
|
|
),
|
2012-10-01 23:09:33 +02:00
|
|
|
'phabricator-pinboard-view-css' =>
|
|
|
|
array(
|
2013-03-06 15:15:24 +01:00
|
|
|
'uri' => '/res/61ecd7cf/rsrc/css/layout/phabricator-pinboard-view.css',
|
2012-10-01 23:09:33 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-pinboard-view.css',
|
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'phabricator-prefab' =>
|
2012-02-24 00:47:41 +01:00
|
|
|
array(
|
2012-03-21 22:01:04 +01:00
|
|
|
'uri' => '/res/2734e45f/rsrc/js/application/core/Prefab.js',
|
2012-02-24 00:47:41 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
2012-02-24 22:02:35 +01:00
|
|
|
2 => 'javelin-dom',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
3 => 'javelin-typeahead',
|
|
|
|
4 => 'javelin-tokenizer',
|
|
|
|
5 => 'javelin-typeahead-preloaded-source',
|
|
|
|
6 => 'javelin-typeahead-ondemand-source',
|
|
|
|
7 => 'javelin-dom',
|
|
|
|
8 => 'javelin-stratcom',
|
|
|
|
9 => 'javelin-util',
|
2012-02-24 00:47:41 +01:00
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'disk' => '/rsrc/js/application/core/Prefab.js',
|
2012-02-24 00:47:41 +01:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-profile-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9869d10b/rsrc/css/application/profile/profile-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/profile/profile-view.css',
|
|
|
|
),
|
|
|
|
'phabricator-profile-header-css' =>
|
|
|
|
array(
|
2012-01-25 20:51:20 +01:00
|
|
|
'uri' => '/res/4b1cb23b/rsrc/css/application/profile/profile-header-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/profile/profile-header-view.css',
|
|
|
|
),
|
2012-04-02 19:27:31 +02:00
|
|
|
'phabricator-project-tag-css' =>
|
|
|
|
array(
|
2013-03-07 17:06:42 +01:00
|
|
|
'uri' => '/res/1b5efcb2/rsrc/css/application/projects/project-tag.css',
|
2012-04-02 19:27:31 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/projects/project-tag.css',
|
|
|
|
),
|
2012-08-15 19:45:06 +02:00
|
|
|
'phabricator-property-list-view-css' =>
|
|
|
|
array(
|
2013-03-03 22:32:02 +01:00
|
|
|
'uri' => '/res/a04cc81d/rsrc/css/layout/phabricator-property-list-view.css',
|
2012-08-15 19:45:06 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-property-list-view.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-remarkup-css' =>
|
|
|
|
array(
|
2013-03-19 14:48:08 +01:00
|
|
|
'uri' => '/res/a53fa430/rsrc/css/core/remarkup.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/remarkup.css',
|
|
|
|
),
|
|
|
|
'phabricator-search-results-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/f8a86e27/rsrc/css/application/search/search-results.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/search/search-results.css',
|
|
|
|
),
|
|
|
|
'phabricator-shaped-request' =>
|
|
|
|
array(
|
2012-10-01 23:56:57 +02:00
|
|
|
'uri' => '/res/fbdb92db/rsrc/js/application/core/ShapedRequest.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-request',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/ShapedRequest.js',
|
|
|
|
),
|
2012-12-07 22:33:03 +01:00
|
|
|
'phabricator-side-menu-view-css' =>
|
|
|
|
array(
|
2013-01-29 19:20:17 +01:00
|
|
|
'uri' => '/res/28a1e092/rsrc/css/layout/phabricator-side-menu-view.css',
|
2012-12-07 22:33:03 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-side-menu-view.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-slowvote-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/94d20443/rsrc/css/application/slowvote/slowvote.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/slowvote/slowvote.css',
|
|
|
|
),
|
2012-08-15 19:45:06 +02:00
|
|
|
'phabricator-source-code-view-css' =>
|
|
|
|
array(
|
2013-03-15 12:28:43 +01:00
|
|
|
'uri' => '/res/979d5280/rsrc/css/layout/phabricator-source-code-view.css',
|
2012-08-15 19:45:06 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-source-code-view.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-standard-page-view' =>
|
|
|
|
array(
|
Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.
There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:
- We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
- The sigil `touchable` indicates that a node wants to react to touch events.
- When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
- Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
- At this point, we look at where their finger has moved.
- If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
- However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
- Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
- When the user ends the gesture, we send "gesture.swipe.end".
- If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
- Gesture events have raw position data and some convenience fields.
Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.
- The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
- The threshold feels pretty good to me.
- Tapping with a second finger cancels the action.
Reviewers: chad, btrahan
Reviewed By: chad
CC: aran
Maniphest Tasks: T2700
Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 22:53:15 +01:00
|
|
|
'uri' => '/res/70fa2da4/rsrc/css/application/base/standard-page-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/base/standard-page-view.css',
|
|
|
|
),
|
2012-11-24 15:47:06 +01:00
|
|
|
'phabricator-tag-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/e10bf844/rsrc/css/layout/phabricator-tag-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-tag-view.css',
|
|
|
|
),
|
2012-10-02 03:48:39 +02:00
|
|
|
'phabricator-textareautils' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/703614ea/rsrc/js/application/core/TextAreaUtils.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/TextAreaUtils.js',
|
|
|
|
),
|
2012-11-22 17:25:13 +01:00
|
|
|
'phabricator-timeline-view-css' =>
|
|
|
|
array(
|
2013-02-17 15:37:02 +01:00
|
|
|
'uri' => '/res/5517bf1a/rsrc/css/layout/phabricator-timeline-view.css',
|
2012-11-22 17:25:13 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-timeline-view.css',
|
|
|
|
),
|
2012-03-13 02:21:02 +01:00
|
|
|
'phabricator-tooltip' =>
|
|
|
|
array(
|
2012-12-21 14:57:14 +01:00
|
|
|
'uri' => '/res/55d76b9b/rsrc/js/application/core/ToolTip.js',
|
2012-03-13 02:21:02 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-vector',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/core/ToolTip.js',
|
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'phabricator-transaction-view-css' =>
|
|
|
|
array(
|
2013-03-10 17:22:21 +01:00
|
|
|
'uri' => '/res/00be4b1a/rsrc/css/aphront/transaction.css',
|
2012-02-24 22:02:35 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/transaction.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-ui-example-css' =>
|
|
|
|
array(
|
2012-07-31 01:08:42 +02:00
|
|
|
'uri' => '/res/376ab671/rsrc/css/application/uiexample/example.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/uiexample/example.css',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-javelin-view' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a2ce2cfc/rsrc/js/application/uiexample/JavelinViewExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/JavelinViewExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-button' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/142127f6/rsrc/js/application/uiexample/ReactorButtonExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorButtonExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-checkbox' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/c75cb9e9/rsrc/js/application/uiexample/ReactorCheckboxExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorCheckboxExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-focus' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/3cc992eb/rsrc/js/application/uiexample/ReactorFocusExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorFocusExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-input' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/4953da16/rsrc/js/application/uiexample/ReactorInputExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
5 => 'javelin-view-html',
|
|
|
|
6 => 'javelin-view-interpreter',
|
|
|
|
7 => 'javelin-view-renderer',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorInputExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-mouseover' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/52a355b6/rsrc/js/application/uiexample/ReactorMouseoverExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorMouseoverExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-radio' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/ae87f3af/rsrc/js/application/uiexample/ReactorRadioExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorRadioExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-select' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/23cb448a/rsrc/js/application/uiexample/ReactorSelectExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorSelectExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-sendclass' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/8cd34264/rsrc/js/application/uiexample/ReactorSendClassExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorSendClassExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-sendproperties' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/18af54aa/rsrc/js/application/uiexample/ReactorSendPropertiesExample.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-view',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorSendPropertiesExample.js',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-workboard-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/b70667c6/rsrc/css/layout/phabricator-workboard-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-workboard-view.css',
|
|
|
|
),
|
|
|
|
'phabricator-workpanel-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/d2eea288/rsrc/css/layout/phabricator-workpanel-view.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-workpanel-view.css',
|
|
|
|
),
|
2012-12-30 18:30:21 +01:00
|
|
|
'phabricator-zindex-css' =>
|
|
|
|
array(
|
2013-01-18 01:25:47 +01:00
|
|
|
'uri' => '/res/fcbf82ad/rsrc/css/core/z-index.css',
|
2012-12-30 18:30:21 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/z-index.css',
|
|
|
|
),
|
2012-10-13 01:01:33 +02:00
|
|
|
'phame-css' =>
|
2012-10-02 00:37:02 +02:00
|
|
|
array(
|
2012-12-07 22:38:02 +01:00
|
|
|
'uri' => '/res/8e3edb71/rsrc/css/application/phame/phame.css',
|
2012-10-02 00:37:02 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2012-10-13 01:01:33 +02:00
|
|
|
'disk' => '/rsrc/css/application/phame/phame.css',
|
2012-10-02 00:37:02 +02:00
|
|
|
),
|
2013-01-20 18:29:34 +01:00
|
|
|
'pholio-css' =>
|
|
|
|
array(
|
2013-03-20 13:36:53 +01:00
|
|
|
'uri' => '/res/b03fae38/rsrc/css/application/pholio/pholio.css',
|
2013-01-20 18:29:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/pholio/pholio.css',
|
|
|
|
),
|
2013-02-22 15:39:08 +01:00
|
|
|
'pholio-inline-comments-css' =>
|
|
|
|
array(
|
2013-03-05 21:30:58 +01:00
|
|
|
'uri' => '/res/8fe0edc7/rsrc/css/application/pholio/pholio-inline-comments.css',
|
2013-02-22 15:39:08 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/pholio/pholio-inline-comments.css',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'phrequent-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9d6f3eb7/rsrc/css/application/phrequent/phrequent.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/phrequent/phrequent.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phriction-document-css' =>
|
|
|
|
array(
|
2013-03-22 22:42:25 +01:00
|
|
|
'uri' => '/res/e71e4a67/rsrc/css/application/phriction/phriction-document-css.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/phriction/phriction-document-css.css',
|
|
|
|
),
|
adding comments to ponder
Summary: This is pretty spartan, but it does the job.
Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.
Reviewers: nh, vrana, epriestley
Reviewed By: epriestley
CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7
Maniphest Tasks: T1645
Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 21:13:20 +02:00
|
|
|
'ponder-comment-table-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a1bb9056/rsrc/css/application/ponder/comments.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/ponder/comments.css',
|
|
|
|
),
|
2012-08-10 19:44:04 +02:00
|
|
|
'ponder-core-view-css' =>
|
|
|
|
array(
|
adding comments to ponder
Summary: This is pretty spartan, but it does the job.
Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.
Reviewers: nh, vrana, epriestley
Reviewed By: epriestley
CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7
Maniphest Tasks: T1645
Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 21:13:20 +02:00
|
|
|
'uri' => '/res/3a2d5e18/rsrc/css/application/ponder/core.css',
|
2012-08-10 19:44:04 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/ponder/core.css',
|
|
|
|
),
|
|
|
|
'ponder-feed-view-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/df22bd20/rsrc/css/application/ponder/feed.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/ponder/feed.css',
|
|
|
|
),
|
|
|
|
'ponder-post-css' =>
|
|
|
|
array(
|
adding comments to ponder
Summary: This is pretty spartan, but it does the job.
Test Plan:
Patch, update storage, add some comment
to your favorite question or answer.
Reviewers: nh, vrana, epriestley
Reviewed By: epriestley
CC: aran, Korvin, starruler, syrneus, me.here, victorzarate7
Maniphest Tasks: T1645
Differential Revision: https://secure.phabricator.com/D3471
2012-09-11 21:13:20 +02:00
|
|
|
'uri' => '/res/013b9e2c/rsrc/css/application/ponder/post.css',
|
2012-08-10 19:44:04 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/ponder/post.css',
|
|
|
|
),
|
|
|
|
'ponder-vote-css' =>
|
|
|
|
array(
|
2012-10-01 21:56:33 +02:00
|
|
|
'uri' => '/res/ea8316c2/rsrc/css/application/ponder/vote.css',
|
2012-08-10 19:44:04 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/ponder/vote.css',
|
|
|
|
),
|
2012-02-22 00:10:24 +01:00
|
|
|
'raphael-core' =>
|
|
|
|
array(
|
2012-04-02 21:07:59 +02:00
|
|
|
'uri' => '/res/3f48575a/rsrc/js/raphael/raphael.js',
|
2012-02-22 00:10:24 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/raphael/raphael.js',
|
|
|
|
),
|
|
|
|
'raphael-g' =>
|
|
|
|
array(
|
2012-04-02 21:07:59 +02:00
|
|
|
'uri' => '/res/b07e5245/rsrc/js/raphael/g.raphael.js',
|
2012-02-22 00:10:24 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/raphael/g.raphael.js',
|
|
|
|
),
|
|
|
|
'raphael-g-line' =>
|
|
|
|
array(
|
2012-04-02 21:07:59 +02:00
|
|
|
'uri' => '/res/a59c8556/rsrc/js/raphael/g.raphael.line.js',
|
2012-02-22 00:10:24 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/raphael/g.raphael.line.js',
|
|
|
|
),
|
2013-03-15 12:28:43 +01:00
|
|
|
'releeph-branch' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/6ad6420d/rsrc/css/application/releeph/releeph-branch.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-branch.css',
|
|
|
|
),
|
|
|
|
'releeph-colors' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/dff4b26a/rsrc/css/application/releeph/releeph-colors.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-colors.css',
|
|
|
|
),
|
|
|
|
'releeph-core' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/853f4a73/rsrc/css/application/releeph/releeph-core.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-core.css',
|
|
|
|
),
|
|
|
|
'releeph-intents' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/4e73e9dd/rsrc/css/application/releeph/releeph-intents.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-intents.css',
|
|
|
|
),
|
|
|
|
'releeph-preview-branch' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/65e5dece/rsrc/css/application/releeph/releeph-preview-branch.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-preview-branch.css',
|
|
|
|
),
|
|
|
|
'releeph-project' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/b9376e59/rsrc/css/application/releeph/releeph-project.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-project.css',
|
|
|
|
),
|
|
|
|
'releeph-request-differential-create-dialog' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/4df30ce1/rsrc/css/application/releeph/releeph-request-differential-create-dialog.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-request-differential-create-dialog.css',
|
|
|
|
),
|
|
|
|
'releeph-request-typeahead-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9c9a1acf/rsrc/css/application/releeph/releeph-request-typeahead.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-request-typeahead.css',
|
|
|
|
),
|
|
|
|
'releeph-status' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/588529df/rsrc/css/application/releeph/releeph-status.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/releeph/releeph-status.css',
|
|
|
|
),
|
2012-12-30 18:30:21 +01:00
|
|
|
'setup-issue-css' =>
|
|
|
|
array(
|
2013-01-23 00:16:26 +01:00
|
|
|
'uri' => '/res/efbb3673/rsrc/css/application/config/setup-issue.css',
|
2012-12-30 18:30:21 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/config/setup-issue.css',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'spacing-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/59e4c9b1/rsrc/css/core/spacing.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/spacing.css',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'sprite-apps-css' =>
|
|
|
|
array(
|
2013-03-21 18:02:11 +01:00
|
|
|
'uri' => '/res/c53973fc/rsrc/css/sprite-apps.css',
|
2012-12-07 22:38:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-apps.css',
|
|
|
|
),
|
|
|
|
'sprite-apps-large-css' =>
|
|
|
|
array(
|
2013-03-21 18:02:11 +01:00
|
|
|
'uri' => '/res/c3a8c579/rsrc/css/sprite-apps-large.css',
|
2012-12-07 22:38:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-apps-large.css',
|
|
|
|
),
|
|
|
|
'sprite-apps-xlarge-css' =>
|
|
|
|
array(
|
2013-01-10 19:00:18 +01:00
|
|
|
'uri' => '/res/33a8e644/rsrc/css/sprite-apps-xlarge.css',
|
2012-12-07 22:38:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-apps-xlarge.css',
|
|
|
|
),
|
2013-03-13 21:03:51 +01:00
|
|
|
'sprite-conpherence-css' =>
|
2013-01-29 02:49:09 +01:00
|
|
|
array(
|
2013-03-13 21:03:51 +01:00
|
|
|
'uri' => '/res/f6793453/rsrc/css/sprite-conpherence.css',
|
2013-01-29 02:49:09 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-03-13 21:03:51 +01:00
|
|
|
'disk' => '/rsrc/css/sprite-conpherence.css',
|
2013-01-29 02:49:09 +01:00
|
|
|
),
|
2013-03-10 22:16:16 +01:00
|
|
|
'sprite-docs-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/b32f93bc/rsrc/css/sprite-docs.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-docs.css',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'sprite-gradient-css' =>
|
|
|
|
array(
|
2013-01-22 18:56:18 +01:00
|
|
|
'uri' => '/res/e62e7a0f/rsrc/css/sprite-gradient.css',
|
2012-12-07 22:38:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-gradient.css',
|
|
|
|
),
|
2012-11-24 01:35:39 +01:00
|
|
|
'sprite-icon-css' =>
|
|
|
|
array(
|
2013-01-22 23:46:40 +01:00
|
|
|
'uri' => '/res/e7d63fcf/rsrc/css/sprite-icon.css',
|
2012-11-24 01:35:39 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-icon.css',
|
|
|
|
),
|
2012-11-27 23:03:25 +01:00
|
|
|
'sprite-menu-css' =>
|
|
|
|
array(
|
2013-03-22 19:50:30 +01:00
|
|
|
'uri' => '/res/e4e428f9/rsrc/css/sprite-menu.css',
|
2012-11-27 23:03:25 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-menu.css',
|
|
|
|
),
|
2013-02-15 16:47:14 +01:00
|
|
|
'sprite-tokens-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/9ae0de5b/rsrc/css/sprite-tokens.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-tokens.css',
|
|
|
|
),
|
2012-04-05 01:09:29 +02:00
|
|
|
'stripe-core' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/3b0f0ad4/rsrc/js/stripe/stripe_core.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/stripe/stripe_core.js',
|
|
|
|
),
|
|
|
|
'stripe-payment-form-css' =>
|
|
|
|
array(
|
Use Celerity to version all static resources
Summary:
We don't use versioned URIs for images, so when they change users may get old versions.
This was a particular issue with the recent logo change, which several users reported cache-related issues from.
Instead, use Celerity to manage image URI versions in addition to CSS/JS.
This is complicated, because we need to rewrite image URIs inside of CSS, which means the hash of a CSS file has to be derived from the current image data. Otherwise, when we updated an image the CSS wouldn't update, so we wouldn't be any better off.
So basically we:
- Find all the "raw" files, and put them into the map.
- Find all the CSS/JS, perform content-altering transformations on it (i.e., not minification) based on the partial map, and then put it into the map based on transformed hashes.
(If we wanted, we could now do CSS variables or whatever for "free", more or less.)
Test Plan:
- Regenerated celerity map, browsed site, verified images generated with versioned URIs.
- Moved "blue" flag image over "green" flag image, regenerated map, verified "green" flag image and the associated CSS changed hashes.
- Added transformation unit tests; ran unit tests.
Reviewers: btrahan, vrana, jungejason
Reviewed By: vrana
CC: aran
Maniphest Tasks: T1073
Differential Revision: https://secure.phabricator.com/D2146
2012-04-08 19:07:51 +02:00
|
|
|
'uri' => '/res/634a6371/rsrc/css/application/phortune/stripe-payment-form.css',
|
2012-04-05 01:09:29 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/phortune/stripe-payment-form.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'syntax-highlighting-css' =>
|
|
|
|
array(
|
2012-08-10 19:44:04 +02:00
|
|
|
'uri' => '/res/cb3b9dc0/rsrc/css/core/syntax.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/core/syntax.css',
|
|
|
|
),
|
2013-02-15 16:47:14 +01:00
|
|
|
'tokens-css' =>
|
|
|
|
array(
|
2013-02-15 17:14:31 +01:00
|
|
|
'uri' => '/res/6b3c65c7/rsrc/css/application/tokens/tokens.css',
|
2013-02-15 16:47:14 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/tokens/tokens.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
), array(
|
|
|
|
'packages' =>
|
|
|
|
array(
|
2013-03-28 17:13:07 +01:00
|
|
|
'4fc2a8f9' =>
|
2012-03-15 06:42:30 +01:00
|
|
|
array(
|
|
|
|
'name' => 'core.pkg.css',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'phabricator-core-css',
|
2012-12-30 18:30:21 +01:00
|
|
|
1 => 'phabricator-zindex-css',
|
|
|
|
2 => 'phabricator-core-buttons-css',
|
|
|
|
3 => 'phabricator-standard-page-view',
|
|
|
|
4 => 'aphront-dialog-view-css',
|
|
|
|
5 => 'aphront-form-view-css',
|
|
|
|
6 => 'aphront-panel-view-css',
|
2013-01-09 21:03:58 +01:00
|
|
|
7 => 'aphront-table-view-css',
|
2013-03-14 00:28:27 +01:00
|
|
|
8 => 'aphront-tokenizer-control-css',
|
|
|
|
9 => 'aphront-typeahead-control-css',
|
|
|
|
10 => 'aphront-list-filter-view-css',
|
|
|
|
11 => 'phabricator-directory-css',
|
|
|
|
12 => 'phabricator-jump-nav',
|
|
|
|
13 => 'phabricator-remarkup-css',
|
|
|
|
14 => 'syntax-highlighting-css',
|
|
|
|
15 => 'aphront-pager-view-css',
|
|
|
|
16 => 'phabricator-transaction-view-css',
|
|
|
|
17 => 'aphront-tooltip-css',
|
|
|
|
18 => 'phabricator-flag-css',
|
|
|
|
19 => 'aphront-error-view-css',
|
|
|
|
20 => 'sprite-icon-css',
|
|
|
|
21 => 'sprite-gradient-css',
|
|
|
|
22 => 'sprite-menu-css',
|
|
|
|
23 => 'sprite-apps-large-css',
|
|
|
|
24 => 'phabricator-main-menu-view',
|
|
|
|
25 => 'phabricator-notification-css',
|
|
|
|
26 => 'phabricator-notification-menu-css',
|
|
|
|
27 => 'lightbox-attachment-css',
|
|
|
|
28 => 'phabricator-header-view-css',
|
|
|
|
29 => 'phabricator-form-view-css',
|
|
|
|
30 => 'phabricator-filetree-view-css',
|
|
|
|
31 => 'phabricator-nav-view-css',
|
|
|
|
32 => 'phabricator-side-menu-view-css',
|
|
|
|
33 => 'phabricator-crumbs-view-css',
|
|
|
|
34 => 'phabricator-object-item-list-view-css',
|
|
|
|
35 => 'global-drag-and-drop-css',
|
2012-03-15 06:42:30 +01:00
|
|
|
),
|
2013-03-28 17:13:07 +01:00
|
|
|
'uri' => '/res/pkg/4fc2a8f9/core.pkg.css',
|
2012-03-15 06:42:30 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'def4c982' =>
|
2012-03-15 06:42:30 +01:00
|
|
|
array(
|
|
|
|
'name' => 'core.pkg.js',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
2012-11-21 03:01:25 +01:00
|
|
|
0 => 'javelin-behavior-aphront-basic-tokenizer',
|
|
|
|
1 => 'javelin-behavior-workflow',
|
|
|
|
2 => 'javelin-behavior-aphront-form-disable-on-submit',
|
|
|
|
3 => 'phabricator-keyboard-shortcut-manager',
|
|
|
|
4 => 'phabricator-keyboard-shortcut',
|
|
|
|
5 => 'javelin-behavior-phabricator-keyboard-shortcuts',
|
|
|
|
6 => 'javelin-behavior-refresh-csrf',
|
|
|
|
7 => 'javelin-behavior-phabricator-watch-anchor',
|
|
|
|
8 => 'javelin-behavior-phabricator-autofocus',
|
|
|
|
9 => 'phabricator-paste-file-upload',
|
|
|
|
10 => 'phabricator-menu-item',
|
|
|
|
11 => 'phabricator-dropdown-menu',
|
|
|
|
12 => 'javelin-behavior-phabricator-oncopy',
|
|
|
|
13 => 'phabricator-tooltip',
|
|
|
|
14 => 'javelin-behavior-phabricator-tooltips',
|
|
|
|
15 => 'phabricator-prefab',
|
|
|
|
16 => 'javelin-behavior-device',
|
|
|
|
17 => 'javelin-behavior-toggle-class',
|
|
|
|
18 => 'javelin-behavior-lightbox-attachments',
|
|
|
|
19 => 'phabricator-busy',
|
|
|
|
20 => 'javelin-aphlict',
|
|
|
|
21 => 'phabricator-notification',
|
|
|
|
22 => 'javelin-behavior-aphlict-listen',
|
|
|
|
23 => 'javelin-behavior-phabricator-search-typeahead',
|
|
|
|
24 => 'javelin-behavior-konami',
|
|
|
|
25 => 'javelin-behavior-aphlict-dropdown',
|
2013-03-05 00:03:54 +01:00
|
|
|
26 => 'javelin-behavior-history-install',
|
Add support for device swipe events
Summary:
Ref T2700. Allow JS to listen for swipes on devices.
There are a bunch of tricky cases here and I probably didn't get them all totally right, but this interaction broadly looks like this:
- We implement gesture recognition for the mouse in device modes (narrow browser), and for touch events from an actual device.
- The sigil `touchable` indicates that a node wants to react to touch events.
- When the user touches a `touchable` node, we start listening for moves. They might be tapping/clicking (in which case we don't care), but they might also be gesturing.
- Once the user moves their finger/pointer far enough away from the tap origin, we recognize it as a gesture. I hardcoded this at 20px; I wasn't able to find any "official" Apple value, but 20px seems like a common default.
- At this point, we look at where their finger has moved.
- If they moved it mostly up/down, we interpret the gesture as "scroll" and just stop listening. The device does its own thing.
- However, if they moved it mostly left/right, we interpret it as a "swipe". We start killing the moves so the device doesn't scroll.
- Once we've recognized that a gesture is underway, we send a "gesture.swipe.start" event and then "gesture.swipe.move" events for every move.
- When the user ends the gesture, we send "gesture.swipe.end".
- If the user cancels the gesture (currently, only by tapping with a second finger), we send "gesture.swipe.cancel".
- Gesture events have raw position data and some convenience fields.
Test Plan:
Wrote UI example and used it from the Desktop, iPhone simulator, and a real iphone.
- The code always seems to get "scroll" vs "swipe" correct (i.e., consistent with my intentions).
- The threshold feels pretty good to me.
- Tapping with a second finger cancels the action.
Reviewers: chad, btrahan
Reviewed By: chad
CC: aran
Maniphest Tasks: T2700
Differential Revision: https://secure.phabricator.com/D5308
2013-03-09 22:53:15 +01:00
|
|
|
27 => 'javelin-behavior-phabricator-gesture',
|
|
|
|
28 => 'javelin-behavior-phabricator-active-nav',
|
|
|
|
29 => 'javelin-behavior-phabricator-nav',
|
|
|
|
30 => 'javelin-behavior-phabricator-remarkup-assist',
|
|
|
|
31 => 'phabricator-textareautils',
|
|
|
|
32 => 'phabricator-file-upload',
|
|
|
|
33 => 'javelin-behavior-global-drag-and-drop',
|
|
|
|
34 => 'javelin-behavior-phabricator-reveal-content',
|
2012-03-15 06:42:30 +01:00
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'uri' => '/res/pkg/def4c982/core.pkg.js',
|
2012-11-21 03:01:25 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-02-09 22:29:47 +01:00
|
|
|
'dca4a03d' =>
|
2012-11-21 03:01:25 +01:00
|
|
|
array(
|
|
|
|
'name' => 'darkconsole.pkg.js',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
DarkConsole: fix rendering, move request log, load over ajax
Summary:
This accomplishes three major goals:
# Fixes phutil_render_tag -> phutil_tag callsites in DarkConsole.
# Moves the Ajax request log to a new panel on the left. This panel (and the tabs panel) get scrollbars when they get large, instead of making the page constantly scroll down.
# Loads the panel content over ajax, instead of dumping it into the page body / ajax response body. I've been planning to do this for about 3 years, which is why the plugins are architected the way they are. This should make debugging easier by making response bodies not be 50%+ darkconsole stuff.
Additionally, load the plugins dynamically (the old method predates library maps and PhutilSymbolLoader).
Test Plan:
{F30675}
- Switched between requests and tabs, reloaded page, saw same tab.
- Used "analyze queries", "profile page", triggered errors.
- Verified page does not load anything by default if dark console is closed with Charles.
- Generally banged on it a bit.
Reviewers: vrana, btrahan, chad
Reviewed By: vrana
CC: aran
Maniphest Tasks: T2432
Differential Revision: https://secure.phabricator.com/D4692
2013-01-29 03:45:32 +01:00
|
|
|
0 => 'javelin-behavior-dark-console',
|
|
|
|
1 => 'javelin-behavior-error-log',
|
2012-11-21 03:01:25 +01:00
|
|
|
),
|
2013-02-09 22:29:47 +01:00
|
|
|
'uri' => '/res/pkg/dca4a03d/darkconsole.pkg.js',
|
2012-03-15 06:42:30 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-01-30 20:30:38 +01:00
|
|
|
'8aaacd1b' =>
|
2012-03-13 02:21:02 +01:00
|
|
|
array(
|
|
|
|
'name' => 'differential.pkg.css',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'differential-core-view-css',
|
|
|
|
1 => 'differential-changeset-view-css',
|
2012-05-01 19:15:56 +02:00
|
|
|
2 => 'differential-results-table-css',
|
2012-03-13 02:21:02 +01:00
|
|
|
3 => 'differential-revision-history-css',
|
2012-08-20 23:05:46 +02:00
|
|
|
4 => 'differential-revision-list-css',
|
|
|
|
5 => 'differential-table-of-contents-css',
|
|
|
|
6 => 'differential-revision-comment-css',
|
|
|
|
7 => 'differential-revision-add-comment-css',
|
|
|
|
8 => 'differential-revision-comment-list-css',
|
|
|
|
9 => 'phabricator-object-selector-css',
|
2013-01-30 20:30:38 +01:00
|
|
|
10 => 'phabricator-content-source-view-css',
|
|
|
|
11 => 'differential-local-commits-view-css',
|
|
|
|
12 => 'inline-comment-summary-css',
|
2012-03-13 02:21:02 +01:00
|
|
|
),
|
2013-01-30 20:30:38 +01:00
|
|
|
'uri' => '/res/pkg/8aaacd1b/differential.pkg.css',
|
2012-03-13 02:21:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'67ea27d0' =>
|
2012-03-10 01:04:25 +01:00
|
|
|
array(
|
|
|
|
'name' => 'differential.pkg.js',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'phabricator-drag-and-drop-file-upload',
|
|
|
|
1 => 'phabricator-shaped-request',
|
|
|
|
2 => 'javelin-behavior-differential-feedback-preview',
|
|
|
|
3 => 'javelin-behavior-differential-edit-inline-comments',
|
|
|
|
4 => 'javelin-behavior-differential-populate',
|
|
|
|
5 => 'javelin-behavior-differential-show-more',
|
|
|
|
6 => 'javelin-behavior-differential-diff-radios',
|
|
|
|
7 => 'javelin-behavior-differential-accept-with-errors',
|
|
|
|
8 => 'javelin-behavior-differential-comment-jump',
|
|
|
|
9 => 'javelin-behavior-differential-add-reviewers-and-ccs',
|
|
|
|
10 => 'javelin-behavior-differential-keyboard-navigation',
|
|
|
|
11 => 'javelin-behavior-aphront-drag-and-drop',
|
|
|
|
12 => 'javelin-behavior-aphront-drag-and-drop-textarea',
|
|
|
|
13 => 'javelin-behavior-phabricator-object-selector',
|
2012-04-17 02:51:30 +02:00
|
|
|
14 => 'javelin-behavior-repository-crossreference',
|
2013-03-05 23:31:20 +01:00
|
|
|
15 => 'javelin-behavior-load-blame',
|
|
|
|
16 => 'differential-inline-comment-editor',
|
|
|
|
17 => 'javelin-behavior-differential-dropdown-menus',
|
|
|
|
18 => 'javelin-behavior-differential-toggle-files',
|
|
|
|
19 => 'javelin-behavior-differential-user-select',
|
2012-03-10 01:04:25 +01:00
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'uri' => '/res/pkg/67ea27d0/differential.pkg.js',
|
2012-03-10 01:04:25 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2012-04-17 02:51:30 +02:00
|
|
|
'c8ce2d88' =>
|
2012-03-15 06:42:30 +01:00
|
|
|
array(
|
|
|
|
'name' => 'diffusion.pkg.css',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'diffusion-commit-view-css',
|
2012-04-17 02:51:30 +02:00
|
|
|
1 => 'diffusion-icons-css',
|
2012-03-15 06:42:30 +01:00
|
|
|
),
|
2012-04-17 02:51:30 +02:00
|
|
|
'uri' => '/res/pkg/c8ce2d88/diffusion.pkg.css',
|
2012-03-15 06:42:30 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-01-11 20:24:35 +01:00
|
|
|
'f96657b8' =>
|
2012-04-17 02:51:30 +02:00
|
|
|
array(
|
|
|
|
'name' => 'diffusion.pkg.js',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior-diffusion-pull-lastmodified',
|
|
|
|
1 => 'javelin-behavior-diffusion-commit-graph',
|
|
|
|
2 => 'javelin-behavior-audit-preview',
|
|
|
|
),
|
2013-01-11 20:24:35 +01:00
|
|
|
'uri' => '/res/pkg/f96657b8/diffusion.pkg.js',
|
2012-04-17 02:51:30 +02:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-03-19 21:48:50 +01:00
|
|
|
'fe22443b' =>
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
array(
|
|
|
|
'name' => 'javelin.pkg.js',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-util',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'javelin-event',
|
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
4 => 'javelin-behavior',
|
2012-11-21 03:01:25 +01:00
|
|
|
5 => 'javelin-resource',
|
|
|
|
6 => 'javelin-request',
|
|
|
|
7 => 'javelin-vector',
|
|
|
|
8 => 'javelin-dom',
|
|
|
|
9 => 'javelin-json',
|
|
|
|
10 => 'javelin-uri',
|
|
|
|
11 => 'javelin-workflow',
|
|
|
|
12 => 'javelin-mask',
|
|
|
|
13 => 'javelin-typeahead',
|
|
|
|
14 => 'javelin-typeahead-normalizer',
|
|
|
|
15 => 'javelin-typeahead-source',
|
|
|
|
16 => 'javelin-typeahead-preloaded-source',
|
|
|
|
17 => 'javelin-typeahead-ondemand-source',
|
|
|
|
18 => 'javelin-tokenizer',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
),
|
2013-03-19 21:48:50 +01:00
|
|
|
'uri' => '/res/pkg/fe22443b/javelin.pkg.js',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-03-23 22:38:01 +01:00
|
|
|
'6b1fccc6' =>
|
2012-03-10 01:04:25 +01:00
|
|
|
array(
|
|
|
|
'name' => 'maniphest.pkg.css',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'maniphest-task-summary-css',
|
|
|
|
1 => 'maniphest-transaction-detail-css',
|
2012-04-05 19:47:20 +02:00
|
|
|
2 => 'aphront-attached-file-view-css',
|
2012-04-17 02:51:30 +02:00
|
|
|
3 => 'phabricator-project-tag-css',
|
2012-03-10 01:04:25 +01:00
|
|
|
),
|
2013-03-23 22:38:01 +01:00
|
|
|
'uri' => '/res/pkg/6b1fccc6/maniphest.pkg.css',
|
2012-03-10 01:04:25 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-03-23 22:38:01 +01:00
|
|
|
'f85eb6d8' =>
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
array(
|
|
|
|
'name' => 'maniphest.pkg.js',
|
|
|
|
'symbols' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior-maniphest-batch-selector',
|
|
|
|
1 => 'javelin-behavior-maniphest-transaction-controls',
|
|
|
|
2 => 'javelin-behavior-maniphest-transaction-preview',
|
|
|
|
3 => 'javelin-behavior-maniphest-transaction-expand',
|
2012-04-17 02:51:30 +02:00
|
|
|
4 => 'javelin-behavior-maniphest-subpriority-editor',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
),
|
2013-03-23 22:38:01 +01:00
|
|
|
'uri' => '/res/pkg/f85eb6d8/maniphest.pkg.js',
|
Use Javelin placeholders and new sorting rules broadly; consolidate tokenizer construction code
Summary:
- We have three nearly-identical blocks of Tokenizer construction code; consolidate them into Prefab.
- Add placeholder support.
- Augment server-side stuff to specify placeholder text.
Test Plan: Verified behavior of Differential edit tokenizers, Differential comment tokenizers, Maniphest edit tokenizers, Maniphest comment tokenizers, Maniphest filter tokenizers, Differential filter tokenizers, Owners filter tokenizers, Owners edit tokenizers, Herald edit tokenizers, Audit filter tokenizers.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, epriestley
Maniphest Tasks: T772, T946
Differential Revision: https://secure.phabricator.com/D1844
2012-03-10 00:46:39 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'reverse' =>
|
|
|
|
array(
|
2013-03-23 22:38:01 +01:00
|
|
|
'aphront-attached-file-view-css' => '6b1fccc6',
|
2013-03-28 17:13:07 +01:00
|
|
|
'aphront-dialog-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-error-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-form-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-list-filter-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-pager-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-panel-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-table-view-css' => '4fc2a8f9',
|
|
|
|
'aphront-tokenizer-control-css' => '4fc2a8f9',
|
|
|
|
'aphront-tooltip-css' => '4fc2a8f9',
|
|
|
|
'aphront-typeahead-control-css' => '4fc2a8f9',
|
2013-01-30 20:30:38 +01:00
|
|
|
'differential-changeset-view-css' => '8aaacd1b',
|
|
|
|
'differential-core-view-css' => '8aaacd1b',
|
2013-04-01 05:07:47 +02:00
|
|
|
'differential-inline-comment-editor' => '67ea27d0',
|
2013-01-30 20:30:38 +01:00
|
|
|
'differential-local-commits-view-css' => '8aaacd1b',
|
|
|
|
'differential-results-table-css' => '8aaacd1b',
|
|
|
|
'differential-revision-add-comment-css' => '8aaacd1b',
|
|
|
|
'differential-revision-comment-css' => '8aaacd1b',
|
|
|
|
'differential-revision-comment-list-css' => '8aaacd1b',
|
|
|
|
'differential-revision-history-css' => '8aaacd1b',
|
|
|
|
'differential-revision-list-css' => '8aaacd1b',
|
|
|
|
'differential-table-of-contents-css' => '8aaacd1b',
|
2012-04-17 02:51:30 +02:00
|
|
|
'diffusion-commit-view-css' => 'c8ce2d88',
|
|
|
|
'diffusion-icons-css' => 'c8ce2d88',
|
2013-03-28 17:13:07 +01:00
|
|
|
'global-drag-and-drop-css' => '4fc2a8f9',
|
2013-01-30 20:30:38 +01:00
|
|
|
'inline-comment-summary-css' => '8aaacd1b',
|
2013-04-01 05:07:47 +02:00
|
|
|
'javelin-aphlict' => 'def4c982',
|
2013-03-19 21:48:50 +01:00
|
|
|
'javelin-behavior' => 'fe22443b',
|
2013-04-01 05:07:47 +02:00
|
|
|
'javelin-behavior-aphlict-dropdown' => 'def4c982',
|
|
|
|
'javelin-behavior-aphlict-listen' => 'def4c982',
|
|
|
|
'javelin-behavior-aphront-basic-tokenizer' => 'def4c982',
|
|
|
|
'javelin-behavior-aphront-drag-and-drop' => '67ea27d0',
|
|
|
|
'javelin-behavior-aphront-drag-and-drop-textarea' => '67ea27d0',
|
|
|
|
'javelin-behavior-aphront-form-disable-on-submit' => 'def4c982',
|
2013-01-11 20:24:35 +01:00
|
|
|
'javelin-behavior-audit-preview' => 'f96657b8',
|
2013-02-09 22:29:47 +01:00
|
|
|
'javelin-behavior-dark-console' => 'dca4a03d',
|
2013-04-01 05:07:47 +02:00
|
|
|
'javelin-behavior-device' => 'def4c982',
|
|
|
|
'javelin-behavior-differential-accept-with-errors' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-add-reviewers-and-ccs' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-comment-jump' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-diff-radios' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-dropdown-menus' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-edit-inline-comments' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-feedback-preview' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-keyboard-navigation' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-populate' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-show-more' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-toggle-files' => '67ea27d0',
|
|
|
|
'javelin-behavior-differential-user-select' => '67ea27d0',
|
2013-01-11 20:24:35 +01:00
|
|
|
'javelin-behavior-diffusion-commit-graph' => 'f96657b8',
|
|
|
|
'javelin-behavior-diffusion-pull-lastmodified' => 'f96657b8',
|
2013-02-09 22:29:47 +01:00
|
|
|
'javelin-behavior-error-log' => 'dca4a03d',
|
2013-04-01 05:07:47 +02:00
|
|
|
'javelin-behavior-global-drag-and-drop' => 'def4c982',
|
|
|
|
'javelin-behavior-history-install' => 'def4c982',
|
|
|
|
'javelin-behavior-konami' => 'def4c982',
|
|
|
|
'javelin-behavior-lightbox-attachments' => 'def4c982',
|
|
|
|
'javelin-behavior-load-blame' => '67ea27d0',
|
2013-03-23 22:38:01 +01:00
|
|
|
'javelin-behavior-maniphest-batch-selector' => 'f85eb6d8',
|
|
|
|
'javelin-behavior-maniphest-subpriority-editor' => 'f85eb6d8',
|
|
|
|
'javelin-behavior-maniphest-transaction-controls' => 'f85eb6d8',
|
|
|
|
'javelin-behavior-maniphest-transaction-expand' => 'f85eb6d8',
|
|
|
|
'javelin-behavior-maniphest-transaction-preview' => 'f85eb6d8',
|
2013-04-01 05:07:47 +02:00
|
|
|
'javelin-behavior-phabricator-active-nav' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-autofocus' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-gesture' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-keyboard-shortcuts' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-nav' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-object-selector' => '67ea27d0',
|
|
|
|
'javelin-behavior-phabricator-oncopy' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-remarkup-assist' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-reveal-content' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-search-typeahead' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-tooltips' => 'def4c982',
|
|
|
|
'javelin-behavior-phabricator-watch-anchor' => 'def4c982',
|
|
|
|
'javelin-behavior-refresh-csrf' => 'def4c982',
|
|
|
|
'javelin-behavior-repository-crossreference' => '67ea27d0',
|
|
|
|
'javelin-behavior-toggle-class' => 'def4c982',
|
|
|
|
'javelin-behavior-workflow' => 'def4c982',
|
2013-03-19 21:48:50 +01:00
|
|
|
'javelin-dom' => 'fe22443b',
|
|
|
|
'javelin-event' => 'fe22443b',
|
|
|
|
'javelin-install' => 'fe22443b',
|
|
|
|
'javelin-json' => 'fe22443b',
|
|
|
|
'javelin-mask' => 'fe22443b',
|
|
|
|
'javelin-request' => 'fe22443b',
|
|
|
|
'javelin-resource' => 'fe22443b',
|
|
|
|
'javelin-stratcom' => 'fe22443b',
|
|
|
|
'javelin-tokenizer' => 'fe22443b',
|
|
|
|
'javelin-typeahead' => 'fe22443b',
|
|
|
|
'javelin-typeahead-normalizer' => 'fe22443b',
|
|
|
|
'javelin-typeahead-ondemand-source' => 'fe22443b',
|
|
|
|
'javelin-typeahead-preloaded-source' => 'fe22443b',
|
|
|
|
'javelin-typeahead-source' => 'fe22443b',
|
|
|
|
'javelin-uri' => 'fe22443b',
|
|
|
|
'javelin-util' => 'fe22443b',
|
|
|
|
'javelin-vector' => 'fe22443b',
|
|
|
|
'javelin-workflow' => 'fe22443b',
|
2013-03-28 17:13:07 +01:00
|
|
|
'lightbox-attachment-css' => '4fc2a8f9',
|
2013-03-23 22:38:01 +01:00
|
|
|
'maniphest-task-summary-css' => '6b1fccc6',
|
|
|
|
'maniphest-transaction-detail-css' => '6b1fccc6',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-busy' => 'def4c982',
|
2013-01-30 20:30:38 +01:00
|
|
|
'phabricator-content-source-view-css' => '8aaacd1b',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-core-buttons-css' => '4fc2a8f9',
|
|
|
|
'phabricator-core-css' => '4fc2a8f9',
|
|
|
|
'phabricator-crumbs-view-css' => '4fc2a8f9',
|
|
|
|
'phabricator-directory-css' => '4fc2a8f9',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-drag-and-drop-file-upload' => '67ea27d0',
|
|
|
|
'phabricator-dropdown-menu' => 'def4c982',
|
|
|
|
'phabricator-file-upload' => 'def4c982',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-filetree-view-css' => '4fc2a8f9',
|
|
|
|
'phabricator-flag-css' => '4fc2a8f9',
|
|
|
|
'phabricator-form-view-css' => '4fc2a8f9',
|
|
|
|
'phabricator-header-view-css' => '4fc2a8f9',
|
|
|
|
'phabricator-jump-nav' => '4fc2a8f9',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-keyboard-shortcut' => 'def4c982',
|
|
|
|
'phabricator-keyboard-shortcut-manager' => 'def4c982',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-main-menu-view' => '4fc2a8f9',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-menu-item' => 'def4c982',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-nav-view-css' => '4fc2a8f9',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-notification' => 'def4c982',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-notification-css' => '4fc2a8f9',
|
|
|
|
'phabricator-notification-menu-css' => '4fc2a8f9',
|
|
|
|
'phabricator-object-item-list-view-css' => '4fc2a8f9',
|
2013-01-30 20:30:38 +01:00
|
|
|
'phabricator-object-selector-css' => '8aaacd1b',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-paste-file-upload' => 'def4c982',
|
|
|
|
'phabricator-prefab' => 'def4c982',
|
2013-03-23 22:38:01 +01:00
|
|
|
'phabricator-project-tag-css' => '6b1fccc6',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-remarkup-css' => '4fc2a8f9',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-shaped-request' => '67ea27d0',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-side-menu-view-css' => '4fc2a8f9',
|
|
|
|
'phabricator-standard-page-view' => '4fc2a8f9',
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-textareautils' => 'def4c982',
|
|
|
|
'phabricator-tooltip' => 'def4c982',
|
2013-03-28 17:13:07 +01:00
|
|
|
'phabricator-transaction-view-css' => '4fc2a8f9',
|
|
|
|
'phabricator-zindex-css' => '4fc2a8f9',
|
|
|
|
'sprite-apps-large-css' => '4fc2a8f9',
|
|
|
|
'sprite-gradient-css' => '4fc2a8f9',
|
|
|
|
'sprite-icon-css' => '4fc2a8f9',
|
|
|
|
'sprite-menu-css' => '4fc2a8f9',
|
|
|
|
'syntax-highlighting-css' => '4fc2a8f9',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
));
|