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',
|
|
|
|
),
|
2013-05-14 20:28:39 +02:00
|
|
|
'/rsrc/image/loading/loading_24.gif' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'd6dcc5e6111a44fb9a160fc27b19d85c',
|
|
|
|
'uri' => '/res/d6dcc5e6/rsrc/image/loading/loading_24.gif',
|
|
|
|
'disk' => '/rsrc/image/loading/loading_24.gif',
|
|
|
|
'type' => 'gif',
|
|
|
|
),
|
|
|
|
'/rsrc/image/loading/loading_48.gif' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'cb6fc6eb9c0a0efaf589978029080c58',
|
|
|
|
'uri' => '/res/cb6fc6eb/rsrc/image/loading/loading_48.gif',
|
|
|
|
'disk' => '/rsrc/image/loading/loading_48.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',
|
|
|
|
),
|
2013-04-04 19:38:50 +02:00
|
|
|
'/rsrc/image/sprite-actions-X2.png' =>
|
|
|
|
array(
|
2013-04-22 20:21:00 +02:00
|
|
|
'hash' => '06962a5e8bea98ba7418d1d6cabcd7dc',
|
|
|
|
'uri' => '/res/06962a5e/rsrc/image/sprite-actions-X2.png',
|
2013-04-04 19:38:50 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-actions-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-actions.png' =>
|
|
|
|
array(
|
2013-04-22 20:21:00 +02:00
|
|
|
'hash' => 'd5dda5fab1e61b00538c9a4fa1ee94c8',
|
|
|
|
'uri' => '/res/d5dda5fa/rsrc/image/sprite-actions.png',
|
2013-04-04 19:38:50 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-actions.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'/rsrc/image/sprite-apps-X2.png' =>
|
|
|
|
array(
|
2013-06-12 16:40:04 +02:00
|
|
|
'hash' => '302095e79599ae2686da29c95111eca6',
|
|
|
|
'uri' => '/res/302095e7/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-06-12 16:40:04 +02:00
|
|
|
'hash' => 'dbac9a99faab3e5e541b70b1105caf05',
|
|
|
|
'uri' => '/res/dbac9a99/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-06-12 16:40:04 +02:00
|
|
|
'hash' => 'e6e86c166eb8f9702c1c1c93925ee7eb',
|
|
|
|
'uri' => '/res/e6e86c16/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-06-12 16:40:04 +02:00
|
|
|
'hash' => '2a4a0bb07e3139668e5bfd15f403360a',
|
|
|
|
'uri' => '/res/2a4a0bb0/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-05-17 18:58:37 +02:00
|
|
|
'hash' => 'a49d2e493dba4bea85bb202af528106a',
|
|
|
|
'uri' => '/res/a49d2e49/rsrc/image/sprite-gradient.png',
|
2012-12-07 22:38:02 +01:00
|
|
|
'disk' => '/rsrc/image/sprite-gradient.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'/rsrc/image/sprite-icons-X2.png' =>
|
2012-11-24 01:35:39 +01:00
|
|
|
array(
|
2013-06-11 20:26:33 +02:00
|
|
|
'hash' => '2448b7e60f80e12eee6b11e5c540f7ef',
|
|
|
|
'uri' => '/res/2448b7e6/rsrc/image/sprite-icons-X2.png',
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-icons-X2.png',
|
2012-11-24 01:35:39 +01:00
|
|
|
'type' => 'png',
|
|
|
|
),
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'/rsrc/image/sprite-icons.png' =>
|
2012-11-24 01:35:39 +01:00
|
|
|
array(
|
2013-06-11 20:26:33 +02:00
|
|
|
'hash' => '7caf2f6bd649d3ef86b33a25e061bf1a',
|
|
|
|
'uri' => '/res/7caf2f6b/rsrc/image/sprite-icons.png',
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-icons.png',
|
2012-11-24 01:35:39 +01:00
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-06-11 19:22:09 +02:00
|
|
|
'/rsrc/image/sprite-login-X2.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => '0836f6f5ae0f181d32814811998c84ce',
|
|
|
|
'uri' => '/res/0836f6f5/rsrc/image/sprite-login-X2.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-login-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-login.png' =>
|
|
|
|
array(
|
|
|
|
'hash' => 'e11c22448d143e85e6be034894e138c5',
|
|
|
|
'uri' => '/res/e11c2244/rsrc/image/sprite-login.png',
|
|
|
|
'disk' => '/rsrc/image/sprite-login.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-04-04 19:38:50 +02:00
|
|
|
'/rsrc/image/sprite-minicons-X2.png' =>
|
|
|
|
array(
|
2013-04-05 16:40:27 +02:00
|
|
|
'hash' => 'c420c6462f7e50ca9941ccc5dd9e3dec',
|
|
|
|
'uri' => '/res/c420c646/rsrc/image/sprite-minicons-X2.png',
|
2013-04-04 19:38:50 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-minicons-X2.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
|
|
|
'/rsrc/image/sprite-minicons.png' =>
|
|
|
|
array(
|
2013-04-05 16:40:27 +02:00
|
|
|
'hash' => '168bb875933624b3080a1cc134e5b4ed',
|
|
|
|
'uri' => '/res/168bb875/rsrc/image/sprite-minicons.png',
|
2013-04-04 19:38:50 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-minicons.png',
|
|
|
|
'type' => 'png',
|
|
|
|
),
|
2013-04-23 01:41:00 +02:00
|
|
|
'/rsrc/image/sprite-payments.png' =>
|
|
|
|
array(
|
2013-04-23 01:43:29 +02:00
|
|
|
'hash' => '5ce73fb580609e7cda16832e3577b147',
|
|
|
|
'uri' => '/res/5ce73fb5/rsrc/image/sprite-payments.png',
|
2013-04-23 01:41:00 +02:00
|
|
|
'disk' => '/rsrc/image/sprite-payments.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-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(
|
2013-04-10 05:39:54 +02:00
|
|
|
'uri' => '/res/95a907d6/rsrc/css/aphront/aphront-bars.css',
|
2013-03-06 15:15:24 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-10 05:39:54 +02:00
|
|
|
'disk' => '/rsrc/css/aphront/aphront-bars.css',
|
2013-03-06 15:15:24 +01:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'aphront-calendar-view-css' =>
|
|
|
|
array(
|
2013-04-29 21:15:38 +02:00
|
|
|
'uri' => '/res/ae6f5b54/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-06-17 01:31:14 +02:00
|
|
|
'uri' => '/res/b5811686/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(
|
Add password authentication and registration to new registration
Summary:
Ref T1536. Ref T1930. Code is not reachable.
This provides password authentication and registration on the new provider/adapter framework.
I sort of cheated a little bit and don't really route any password logic through the adapter (instead, this provider uses an empty adapter and just sets the type/domain on it). I think the right way to do this //conceptually// is to treat username/passwords as an external black box which the adapter communicates with. However, this creates a lot of practical implementation and UX problems:
- There would basically be two steps -- in the first one, you interact with the "password black box", which behaves like an OAuth provider. This produces some ExternalAccount associated with the username/password pair, then we go into normal registration.
- In normal registration, we'd proceed normally.
This means:
- The registration flow would be split into two parts, one where you select a username/password (interacting with the black box) and one where you actually register (interacting with the generic flow). This is unusual and probably confusing for users.
- We would need to do a lot of re-hashing of passwords, since passwords currently depend on the username and user PHID, which won't exist yet during registration or the "black box" phase. This is a big mess I don't want to deal with.
- We hit a weird condition where two users complete step 1 with the same username but don't complete step 2 yet. The box knows about two different copies of the username, with two different passwords. When we arrive at step 2 the second time we have a lot of bad choices about how to reoslve it, most of which create security problems. The most stragihtforward and "pure" way to resolve the issues is to put password-auth usernames in a separate space, but this would be incredibly confusuing to users (your login name might not be the same as your username, which is bizarre).
- If we change this, we need to update all the other password-related code, which I don't want to bother with (at least for now).
Instead, let registration know about a "default" registration controller (which is always password, if enabled), and let it require a password. This gives us a much simpler (albeit slightly less pure) implementation:
- All the fields are on one form.
- Password adapter is just a shell.
- Password provider does the heavy lifting.
We might make this more pure at some point, but I'm generally pretty satisfied with this.
This doesn't implement the brute-force CAPTCHA protection, that will be coming soon.
Test Plan: Registered with password only and logged in with a password. Hit various error conditions.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, chad
Maniphest Tasks: T1536, T1930
Differential Revision: https://secure.phabricator.com/D6164
2013-06-16 19:15:49 +02:00
|
|
|
'uri' => '/res/a668dc36/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-05-31 19:50:49 +02:00
|
|
|
'uri' => '/res/185a194b/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-04-02 20:28:33 +02:00
|
|
|
'aphront-multi-column-view-css' =>
|
|
|
|
array(
|
2013-05-22 00:32:17 +02:00
|
|
|
'uri' => '/res/e01f5f0e/rsrc/css/aphront/multi-column.css',
|
2013-04-02 20:28:33 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/multi-column.css',
|
|
|
|
),
|
2013-02-26 20:28:50 +01:00
|
|
|
'aphront-notes' =>
|
|
|
|
array(
|
2013-04-10 05:39:54 +02:00
|
|
|
'uri' => '/res/5b8ebfa0/rsrc/css/aphront/aphront-notes.css',
|
2013-02-26 20:28:50 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-10 05:39:54 +02:00
|
|
|
'disk' => '/rsrc/css/aphront/aphront-notes.css',
|
2013-02-26 20:28:50 +01:00
|
|
|
),
|
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-05-11 17:23:19 +02:00
|
|
|
'uri' => '/res/4031ea99/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-04-24 21:20:27 +02:00
|
|
|
'uri' => '/res/d3c44c69/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-05-13 05:14:17 +02:00
|
|
|
'uri' => '/res/793c5f36/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(
|
2013-04-12 00:05:50 +02:00
|
|
|
'uri' => '/res/4263aa98/rsrc/css/aphront/two-column.css',
|
2013-03-11 03:20:01 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/two-column.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'aphront-typeahead-control-css' =>
|
|
|
|
array(
|
2013-05-16 22:10:06 +02:00
|
|
|
'uri' => '/res/e4a4cd4b/rsrc/css/aphront/typeahead.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/aphront/typeahead.css',
|
|
|
|
),
|
2013-06-17 01:31:57 +02:00
|
|
|
'auth-css' =>
|
|
|
|
array(
|
2013-06-17 16:08:50 +02:00
|
|
|
'uri' => '/res/2ed0846e/rsrc/css/application/auth/auth.css',
|
2013-06-17 01:31:57 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/auth/auth.css',
|
|
|
|
),
|
2013-01-01 23:09:59 +01:00
|
|
|
'config-options-css' =>
|
|
|
|
array(
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'uri' => '/res/be77d5a6/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-menu-css' =>
|
|
|
|
array(
|
2013-05-31 20:31:19 +02:00
|
|
|
'uri' => '/res/621766a2/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(
|
Add password authentication and registration to new registration
Summary:
Ref T1536. Ref T1930. Code is not reachable.
This provides password authentication and registration on the new provider/adapter framework.
I sort of cheated a little bit and don't really route any password logic through the adapter (instead, this provider uses an empty adapter and just sets the type/domain on it). I think the right way to do this //conceptually// is to treat username/passwords as an external black box which the adapter communicates with. However, this creates a lot of practical implementation and UX problems:
- There would basically be two steps -- in the first one, you interact with the "password black box", which behaves like an OAuth provider. This produces some ExternalAccount associated with the username/password pair, then we go into normal registration.
- In normal registration, we'd proceed normally.
This means:
- The registration flow would be split into two parts, one where you select a username/password (interacting with the black box) and one where you actually register (interacting with the generic flow). This is unusual and probably confusing for users.
- We would need to do a lot of re-hashing of passwords, since passwords currently depend on the username and user PHID, which won't exist yet during registration or the "black box" phase. This is a big mess I don't want to deal with.
- We hit a weird condition where two users complete step 1 with the same username but don't complete step 2 yet. The box knows about two different copies of the username, with two different passwords. When we arrive at step 2 the second time we have a lot of bad choices about how to reoslve it, most of which create security problems. The most stragihtforward and "pure" way to resolve the issues is to put password-auth usernames in a separate space, but this would be incredibly confusuing to users (your login name might not be the same as your username, which is bizarre).
- If we change this, we need to update all the other password-related code, which I don't want to bother with (at least for now).
Instead, let registration know about a "default" registration controller (which is always password, if enabled), and let it require a password. This gives us a much simpler (albeit slightly less pure) implementation:
- All the fields are on one form.
- Password adapter is just a shell.
- Password provider does the heavy lifting.
We might make this more pure at some point, but I'm generally pretty satisfied with this.
This doesn't implement the brute-force CAPTCHA protection, that will be coming soon.
Test Plan: Registered with password only and logged in with a password. Hit various error conditions.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, chad
Maniphest Tasks: T1536, T1930
Differential Revision: https://secure.phabricator.com/D6164
2013-06-16 19:15:49 +02:00
|
|
|
'uri' => '/res/80cde760/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(
|
Add password authentication and registration to new registration
Summary:
Ref T1536. Ref T1930. Code is not reachable.
This provides password authentication and registration on the new provider/adapter framework.
I sort of cheated a little bit and don't really route any password logic through the adapter (instead, this provider uses an empty adapter and just sets the type/domain on it). I think the right way to do this //conceptually// is to treat username/passwords as an external black box which the adapter communicates with. However, this creates a lot of practical implementation and UX problems:
- There would basically be two steps -- in the first one, you interact with the "password black box", which behaves like an OAuth provider. This produces some ExternalAccount associated with the username/password pair, then we go into normal registration.
- In normal registration, we'd proceed normally.
This means:
- The registration flow would be split into two parts, one where you select a username/password (interacting with the black box) and one where you actually register (interacting with the generic flow). This is unusual and probably confusing for users.
- We would need to do a lot of re-hashing of passwords, since passwords currently depend on the username and user PHID, which won't exist yet during registration or the "black box" phase. This is a big mess I don't want to deal with.
- We hit a weird condition where two users complete step 1 with the same username but don't complete step 2 yet. The box knows about two different copies of the username, with two different passwords. When we arrive at step 2 the second time we have a lot of bad choices about how to reoslve it, most of which create security problems. The most stragihtforward and "pure" way to resolve the issues is to put password-auth usernames in a separate space, but this would be incredibly confusuing to users (your login name might not be the same as your username, which is bizarre).
- If we change this, we need to update all the other password-related code, which I don't want to bother with (at least for now).
Instead, let registration know about a "default" registration controller (which is always password, if enabled), and let it require a password. This gives us a much simpler (albeit slightly less pure) implementation:
- All the fields are on one form.
- Password adapter is just a shell.
- Password provider does the heavy lifting.
We might make this more pure at some point, but I'm generally pretty satisfied with this.
This doesn't implement the brute-force CAPTCHA protection, that will be coming soon.
Test Plan: Registered with password only and logged in with a password. Hit various error conditions.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, chad
Maniphest Tasks: T1536, T1930
Differential Revision: https://secure.phabricator.com/D6164
2013-06-16 19:15:49 +02:00
|
|
|
'uri' => '/res/ee9d5004/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(
|
2013-05-10 01:09:29 +02:00
|
|
|
'uri' => '/res/8ee213f4/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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/37e0564f/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(
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'uri' => '/res/f8ee0e9c/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/15482715/rsrc/externals/javelin/lib/behavior.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-magical-init',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-util',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/behavior.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-06-11 18:37:06 +02:00
|
|
|
'javelin-behavior-aphlict-dropdown' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/b3be58e8/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/7487f207/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/c7fd9a7b/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-tokenizer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-02-07 17:08:01 +01:00
|
|
|
'javelin-behavior-aphront-crop' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/8c800f36/rsrc/js/core/behavior-crop.js',
|
2013-02-07 17:08:01 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-magical-init',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-crop.js',
|
2013-02-07 17:08:01 +01:00
|
|
|
),
|
2012-02-23 21:26:14 +01:00
|
|
|
'javelin-behavior-aphront-drag-and-drop' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/36335362/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-drag-and-drop.js',
|
2012-02-23 21:26:14 +01:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-aphront-drag-and-drop-textarea' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/a261f6e6/rsrc/js/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',
|
2013-04-02 15:26:26 +02:00
|
|
|
3 => 'phabricator-textareautils',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-drag-and-drop-textarea.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-behavior-aphront-form-disable-on-submit' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/a4a4ff07/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-form.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-05-10 00:56:37 +02:00
|
|
|
'javelin-behavior-aphront-more' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/fae13324/rsrc/js/core/behavior-more.js',
|
2012-05-10 00:56:37 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-more.js',
|
2012-05-10 00:56:37 +02:00
|
|
|
),
|
2012-02-27 22:00:23 +01:00
|
|
|
'javelin-behavior-audit-preview' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/d8f31e46/rsrc/js/application/diffusion/behavior-audit-preview.js',
|
2012-02-27 22:00:23 +01:00
|
|
|
'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-04-29 21:14:50 +02:00
|
|
|
'javelin-behavior-balanced-payment-form' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/6876492d/rsrc/js/application/phortune/behavior-balanced-payment-form.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'phortune-credit-card-form',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phortune/behavior-balanced-payment-form.js',
|
|
|
|
),
|
2013-01-25 02:23:05 +01:00
|
|
|
'javelin-behavior-conpherence-menu' =>
|
|
|
|
array(
|
2013-05-30 23:24:50 +02:00
|
|
|
'uri' => '/res/f27205d4/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',
|
2013-04-08 22:41:34 +02:00
|
|
|
2 => 'javelin-util',
|
2013-05-29 21:46:06 +02:00
|
|
|
3 => 'javelin-stratcom',
|
|
|
|
4 => 'javelin-workflow',
|
|
|
|
5 => 'javelin-behavior-device',
|
|
|
|
6 => 'javelin-history',
|
|
|
|
7 => 'javelin-vector',
|
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-06-12 04:10:12 +02:00
|
|
|
'uri' => '/res/19cb581b/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-06-12 04:10:12 +02:00
|
|
|
'uri' => '/res/562ca20e/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-04-16 01:27:41 +02:00
|
|
|
6 => 'javelin-behavior-device',
|
2013-05-24 19:50:18 +02:00
|
|
|
7 => 'phabricator-dropdown-menu',
|
|
|
|
8 => 'phabricator-menu-item',
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/3c52aac2/rsrc/js/application/countdown/timer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/countdown/timer.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-dark-console' =>
|
|
|
|
array(
|
2013-04-26 03:30:13 +02:00
|
|
|
'uri' => '/res/1e2c7a5e/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-dark-console.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-07-25 20:51:27 +02:00
|
|
|
'javelin-behavior-device' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/12e43f5a/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-device.js',
|
2012-07-25 20:51:27 +02:00
|
|
|
),
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/8ffb4222/rsrc/js/application/differential/behavior-comment-jump.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-stratcom',
|
2012-01-05 02:10:34 +01:00
|
|
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/f04cf682/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',
|
2013-04-23 20:32:24 +02:00
|
|
|
6 => 'phabricator-phtize',
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/86f459a4/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/4421fac6/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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/22ed93ba/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/bb9a29f4/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/8801848d/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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/536b8483/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/bade44bd/rsrc/js/application/diffusion/behavior-jump-to.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-vector',
|
|
|
|
2 => 'javelin-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/acefdea7/rsrc/js/core/behavior-error-log.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-dom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-error-log.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-04-04 21:14:10 +02:00
|
|
|
'javelin-behavior-fancy-datepicker' =>
|
|
|
|
array(
|
2013-05-31 01:19:43 +02:00
|
|
|
'uri' => '/res/dcd7c2ca/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-fancy-datepicker.js',
|
2012-04-04 21:14:10 +02: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
|
|
|
'javelin-behavior-global-drag-and-drop' =>
|
2012-01-05 02:10:34 +01:00
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/ee8e9c39/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/9099a161/rsrc/js/core/behavior-history-install.js',
|
2013-03-05 00:03:54 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-history',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-history-install.js',
|
2013-03-05 00:03:54 +01:00
|
|
|
),
|
2012-08-22 17:20:23 +02:00
|
|
|
'javelin-behavior-konami' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/b7bb7c24/rsrc/js/core/behavior-konami.js',
|
2012-08-22 17:20:23 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-konami.js',
|
2012-08-22 17:20:23 +02:00
|
|
|
),
|
2012-10-23 04:06:56 +02:00
|
|
|
'javelin-behavior-lightbox-attachments' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/72b4d3a8/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-lightbox-attachments.js',
|
2012-10-23 04:06:56 +02:00
|
|
|
),
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/81b2b86f/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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/c33cb5e3/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/58ba0ec2/rsrc/js/application/maniphest/behavior-task-preview.js',
|
2012-01-25 20:23:00 +01:00
|
|
|
'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',
|
|
|
|
),
|
2013-05-31 03:55:25 +02:00
|
|
|
'javelin-behavior-maniphest-list-editor' =>
|
|
|
|
array(
|
2013-06-06 01:22:27 +02:00
|
|
|
'uri' => '/res/a251e72f/rsrc/js/application/maniphest/behavior-list-edit.js',
|
2013-05-31 03:55:25 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-workflow',
|
|
|
|
4 => 'javelin-fx',
|
|
|
|
5 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-list-edit.js',
|
|
|
|
),
|
2012-04-02 21:12:04 +02:00
|
|
|
'javelin-behavior-maniphest-subpriority-editor' =>
|
|
|
|
array(
|
2013-06-06 02:36:33 +02:00
|
|
|
'uri' => '/res/99d84c61/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
|
2012-04-02 21:12:04 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-06-05 00:28:31 +02:00
|
|
|
1 => 'javelin-dom',
|
2013-06-06 02:36:33 +02:00
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-workflow',
|
|
|
|
4 => 'phabricator-draggable-list',
|
2012-04-02 21:12:04 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/maniphest/behavior-subpriorityeditor.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-maniphest-transaction-controls' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/e8498688/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/9447a3f9/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/9c8d3df8/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-active-nav.js',
|
2012-08-22 00:03:01 +02:00
|
|
|
),
|
2012-02-16 02:49:23 +01:00
|
|
|
'javelin-behavior-phabricator-autofocus' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/bf92b8d6/rsrc/js/core/behavior-autofocus.js',
|
2012-02-16 02:49:23 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-autofocus.js',
|
2012-02-16 02:49:23 +01:00
|
|
|
),
|
2013-02-06 17:32:36 +01:00
|
|
|
'javelin-behavior-phabricator-file-tree' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/e5bf93df/rsrc/js/core/behavior-file-tree.js',
|
2013-02-06 17:32:36 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'phabricator-keyboard-shortcut',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-file-tree.js',
|
2013-02-06 17:32:36 +01:00
|
|
|
),
|
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-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/16e1e77c/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/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
|
|
|
),
|
|
|
|
'javelin-behavior-phabricator-gesture-example' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/91d1e7f2/rsrc/js/application/uiexample/gesture-example.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-stratcom',
|
|
|
|
1 => 'javelin-behavior',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/gesture-example.js',
|
|
|
|
),
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
'javelin-behavior-phabricator-hovercards' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/4fe6b436/rsrc/js/core/behavior-hovercard.js',
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-behavior-device',
|
|
|
|
2 => 'javelin-stratcom',
|
2013-04-05 20:01:56 +02:00
|
|
|
3 => 'javelin-vector',
|
|
|
|
4 => 'phabricator-hovercard',
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-hovercard.js',
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-phabricator-keyboard-pager' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/6a5445b8/rsrc/js/core/behavior-keyboard-pager.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-uri',
|
|
|
|
2 => 'phabricator-keyboard-shortcut',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-keyboard-pager.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-behavior-phabricator-keyboard-shortcuts' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/b971e713/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-keyboard-shortcuts.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-08-01 21:31:33 +02:00
|
|
|
'javelin-behavior-phabricator-nav' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/afabcf16/rsrc/js/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',
|
2013-05-19 02:04:22 +02:00
|
|
|
6 => 'javelin-request',
|
|
|
|
7 => 'javelin-util',
|
2012-08-01 21:31:33 +02:00
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-phabricator-nav.js',
|
2012-08-01 21:31:33 +02:00
|
|
|
),
|
2012-06-14 00:00:24 +02:00
|
|
|
'javelin-behavior-phabricator-notification-example' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/7c50cefd/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',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/notification-example.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-phabricator-object-selector' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/461f95f7/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-object-selector.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/cd3a9345/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/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
|
|
|
),
|
2012-10-02 03:48:39 +02:00
|
|
|
'javelin-behavior-phabricator-remarkup-assist' =>
|
|
|
|
array(
|
2013-05-27 18:57:40 +02:00
|
|
|
'uri' => '/res/6d254602/rsrc/js/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',
|
2013-04-20 04:50:21 +02:00
|
|
|
4 => 'javelin-workflow',
|
|
|
|
5 => 'phabricator-notification',
|
2013-04-20 16:53:04 +02:00
|
|
|
6 => 'javelin-vector',
|
2012-10-02 03:48:39 +02:00
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-phabricator-remarkup-assist.js',
|
2012-10-02 03:48:39 +02:00
|
|
|
),
|
2013-02-17 15:37:02 +01:00
|
|
|
'javelin-behavior-phabricator-reveal-content' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/fef525ef/rsrc/js/core/behavior-reveal-content.js',
|
2013-02-17 15:37:02 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-reveal-content.js',
|
2013-02-17 15:37:02 +01:00
|
|
|
),
|
2012-08-01 02:58:21 +02:00
|
|
|
'javelin-behavior-phabricator-search-typeahead' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/b39896d5/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-search-typeahead.js',
|
2012-08-01 02:58:21 +02:00
|
|
|
),
|
2012-03-13 02:21:02 +01:00
|
|
|
'javelin-behavior-phabricator-tooltips' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/a0ac5320/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-tooltip.js',
|
2012-03-13 02:21:02 +01:00
|
|
|
),
|
2012-12-21 14:51:33 +01:00
|
|
|
'javelin-behavior-phabricator-transaction-comment-form' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/7591a57f/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/69a90817/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-watch-anchor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-04-12 22:09:04 +02:00
|
|
|
'javelin-behavior-phame-post-preview' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/181d1cbe/rsrc/js/application/phame/phame-post-preview.js',
|
2012-04-12 22:09:04 +02:00
|
|
|
'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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/0632e7d9/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/e2fe02de/rsrc/js/application/phriction/phriction-document-preview.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/d8c973a2/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/6c54100f/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-refresh-csrf.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-03-15 12:28:43 +01:00
|
|
|
'javelin-behavior-releeph-preview-branch' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/f694854d/rsrc/js/application/releeph/releeph-preview-branch.js',
|
2013-03-15 12:28:43 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
2013-05-19 02:04:22 +02:00
|
|
|
2 => 'javelin-uri',
|
|
|
|
3 => 'javelin-request',
|
2013-03-15 12:28:43 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/releeph/releeph-preview-branch.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-releeph-request-state-change' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/07ecde0c/rsrc/js/application/releeph/releeph-request-state-change.js',
|
2013-03-15 12:28:43 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
2013-05-19 02:04:22 +02:00
|
|
|
3 => 'javelin-request',
|
2013-03-15 12:28:43 +01:00
|
|
|
4 => 'phabricator-keyboard-shortcut',
|
|
|
|
5 => 'phabricator-notification',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/releeph/releeph-request-state-change.js',
|
|
|
|
),
|
|
|
|
'javelin-behavior-releeph-request-typeahead' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/2c2350a0/rsrc/js/application/releeph/releeph-request-typeahead.js',
|
2013-03-15 12:28:43 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-typeahead',
|
|
|
|
3 => 'javelin-typeahead-ondemand-source',
|
|
|
|
4 => 'javelin-dom',
|
2013-03-15 12:28:43 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/releeph/releeph-request-typeahead.js',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-repository-crossreference' =>
|
|
|
|
array(
|
2013-05-12 15:52:53 +02:00
|
|
|
'uri' => '/res/d3f9d50b/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',
|
|
|
|
),
|
2013-06-06 01:22:27 +02:00
|
|
|
'javelin-behavior-search-reorder-queries' =>
|
|
|
|
array(
|
2013-06-06 02:36:33 +02:00
|
|
|
'uri' => '/res/9864b481/rsrc/js/application/search/behavior-reorder-queries.js',
|
2013-06-06 01:22:27 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-06-06 02:36:33 +02:00
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-workflow',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
4 => 'phabricator-draggable-list',
|
2013-06-06 01:22:27 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/search/behavior-reorder-queries.js',
|
|
|
|
),
|
2013-05-04 00:48:59 +02:00
|
|
|
'javelin-behavior-slowvote-embed' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/8e85e20d/rsrc/js/application/slowvote/behavior-slowvote-embed.js',
|
2013-05-04 00:48:59 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-request',
|
2013-05-04 00:48:59 +02:00
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/slowvote/behavior-slowvote-embed.js',
|
|
|
|
),
|
2012-04-05 01:09:29 +02:00
|
|
|
'javelin-behavior-stripe-payment-form' =>
|
|
|
|
array(
|
2013-04-29 21:14:50 +02:00
|
|
|
'uri' => '/res/c1a12d77/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',
|
2013-04-29 21:14:50 +02:00
|
|
|
2 => 'phortune-credit-card-form',
|
2012-04-05 01:09:29 +02:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phortune/behavior-stripe-payment-form.js',
|
|
|
|
),
|
2013-04-29 21:14:50 +02:00
|
|
|
'javelin-behavior-test-payment-form' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/a8fe8616/rsrc/js/application/phortune/behavior-test-payment-form.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'phortune-credit-card-form',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phortune/behavior-test-payment-form.js',
|
|
|
|
),
|
2012-07-31 01:08:42 +02:00
|
|
|
'javelin-behavior-toggle-class' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/79921b7f/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-toggle-class.js',
|
2012-07-31 01:08:42 +02:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-behavior-view-placeholder' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/6abdb85b/rsrc/externals/javelin/ext/view/ViewPlaceholder.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-behavior',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-view-renderer',
|
2013-05-19 02:04:22 +02:00
|
|
|
3 => 'javelin-install',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/view/ViewPlaceholder.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-behavior-workflow' =>
|
|
|
|
array(
|
2013-06-06 01:21:21 +02:00
|
|
|
'uri' => '/res/4a0595c1/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/behavior-workflow.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-color' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/f17034de/rsrc/externals/javelin/ext/fx/Color.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/fx/Color.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-cookie' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/ee0d399f/rsrc/externals/javelin/lib/Cookie.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/Cookie.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-dom' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/175211d6/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/DOM.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-dynval' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/ea6f2a9d/rsrc/externals/javelin/ext/reactor/core/DynVal.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-reactornode',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-reactor',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/reactor/core/DynVal.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-event' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/5f70f4d0/rsrc/externals/javelin/core/Event.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/core/Event.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-fx' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/c7cefec3/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/fx/FX.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-history' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/6c084b09/rsrc/externals/javelin/lib/History.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-stratcom',
|
|
|
|
1 => 'javelin-install',
|
|
|
|
2 => 'javelin-uri',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/History.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-install' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/904356c0/rsrc/externals/javelin/core/install.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-util',
|
|
|
|
1 => 'javelin-magical-init',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/core/install.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-json' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/cf83e72c/rsrc/externals/javelin/lib/JSON.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/JSON.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-magical-init' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/7c6c8d5a/rsrc/externals/javelin/core/init.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/core/init.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-mask' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/465cf513/rsrc/externals/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
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/Mask.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-reactor' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/c05f2658/rsrc/externals/javelin/ext/reactor/core/Reactor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/reactor/core/Reactor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-reactor-dom' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/5e03117e/rsrc/externals/javelin/ext/reactor/dom/RDOM.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-dom',
|
|
|
|
1 => 'javelin-dynval',
|
2013-05-19 02:04:22 +02:00
|
|
|
2 => 'javelin-reactor',
|
|
|
|
3 => 'javelin-reactornode',
|
|
|
|
4 => 'javelin-install',
|
|
|
|
5 => 'javelin-util',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/reactor/dom/RDOM.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-reactor-node-calmer' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/a93dd6b6/rsrc/externals/javelin/ext/reactor/core/ReactorNodeCalmer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-reactor',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/reactor/core/ReactorNodeCalmer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-reactornode' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/4eac475b/rsrc/externals/javelin/ext/reactor/core/ReactorNode.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-reactor',
|
|
|
|
2 => 'javelin-util',
|
|
|
|
3 => 'javelin-reactor-node-calmer',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/reactor/core/ReactorNode.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-request' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/687bdcfc/rsrc/externals/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
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/Request.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-resource' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/33a3bb57/rsrc/externals/javelin/lib/Resource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
0 => 'javelin-util',
|
|
|
|
1 => 'javelin-uri',
|
|
|
|
2 => 'javelin-install',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/Resource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-stratcom' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/714946e7/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/core/Stratcom.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-tokenizer' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/7c117141/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-typeahead' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/fd79f758/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/Typeahead.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-typeahead-composite-source' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/487b3da2/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-typeahead-normalizer' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/5a4bd979/rsrc/externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-typeahead-ondemand-source' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/4e5add88/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
2013-05-19 02:04:22 +02:00
|
|
|
2 => 'javelin-request',
|
|
|
|
3 => 'javelin-typeahead-source',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-typeahead-preloaded-source' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/147900c7/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
2013-05-19 02:04:22 +02:00
|
|
|
2 => 'javelin-request',
|
|
|
|
3 => 'javelin-typeahead-source',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-typeahead-source' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/13289259/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadSource.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-09-17 23:50:49 +02:00
|
|
|
'javelin-typeahead-static-source' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/bb0a5173/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js',
|
2012-09-17 23:50:49 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-typeahead-source',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js',
|
2012-09-17 23:50:49 +02:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'javelin-uri' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/75aa4597/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/URI.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-util' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/90222113/rsrc/externals/javelin/core/util.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/core/util.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-vector' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/58ea3dd7/rsrc/externals/javelin/lib/Vector.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-event',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/Vector.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-view' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/38daaec0/rsrc/externals/javelin/ext/view/View.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/view/View.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-view-html' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/0d225e8c/rsrc/externals/javelin/ext/view/HTMLView.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-view-visitor',
|
|
|
|
3 => 'javelin-util',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/view/HTMLView.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-view-interpreter' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/b0c07f96/rsrc/externals/javelin/ext/view/ViewInterpreter.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-view',
|
|
|
|
1 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
2 => 'javelin-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/view/ViewInterpreter.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-view-renderer' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/fe0d2f60/rsrc/externals/javelin/ext/view/ViewRenderer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-util',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/view/ViewRenderer.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-view-visitor' =>
|
|
|
|
array(
|
2013-04-11 19:06:05 +02:00
|
|
|
'uri' => '/res/b1606cec/rsrc/externals/javelin/ext/view/ViewVisitor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/ext/view/ViewVisitor.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'javelin-workflow' =>
|
|
|
|
array(
|
2013-05-31 03:55:25 +02:00
|
|
|
'uri' => '/res/7626494b/rsrc/externals/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',
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/javelin/lib/Workflow.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
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(
|
Fix the attempt of graceful alignment for Hovercards
Summary:
Refs T1048; Fixes T2902 - (Probably) fixes @vrana's issue. I managed
to repro it on Ubuntu FF (though on Windows with 1.0GHz/512MB it's
really worse...).
This revises the approach to the graceful degradation for
`too-far-to-the-screen-edge-edge-case`.
I noticed that `x` could become very negative, up to about ~`-170px`.
This is due to the //"already-on-the-left-side"// nature of object tags.
`50 - 200 - 20` = `negative`. Adding `100px` (node.dimension.x / 4) to
that won't really help, as the hovercard would still be offscreen.
Instead, display them left-aligned with the object tags on the left edge
per default, and offer centerization in center cases. This is also better
for Pholio, Phriction, which have a way lower min-x than Maniphest,
Differential.
I also disabled placing the hovercard below the tag in case there's not
enough space on the north side. The hovercard would not display 99.99% of
the times after being hidden (and it retains the flickering behaviour).
Another reason is also our current hide-behaviour, which only assumes
north-side alignment. Adding south-side didn't really work (I'm bad with
JS), so I didn't bother with it. Disabling this is //acceptable//, since
it only really affects Pholio, Phriction. And nobody places object tags
in the first line, anyway. Except for my test pages, of course :/
Btw, this also removes the weird jaggy horizontal shifts for object of
various lengths (e.g. `{D4356}`, `{rP32ofhw0842obw}` etc.). I think
that's only good.
Test Plan:
Hovered in Pholio, Phriction in Chrome, FF. Did not touch
left screen border.
Hovered in Maniphest, Differential. Tags farther to the left were
aligned left, tags more in the center were pretty centered.
Reviewers: epriestley, vrana
Reviewed By: epriestley
CC: aran, Korvin
Maniphest Tasks: T1048, T2902
Differential Revision: https://secure.phabricator.com/D5612
2013-04-08 03:10:43 +02:00
|
|
|
'uri' => '/res/0760f768/rsrc/css/application/maniphest/task-edit.css',
|
2012-01-25 20:23:00 +01:00
|
|
|
'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-06-06 02:36:33 +02:00
|
|
|
'uri' => '/res/1f2fac54/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/408fae4f/rsrc/js/core/MultirowRowManager.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-stratcom',
|
|
|
|
2 => 'javelin-dom',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/MultirowRowManager.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'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(
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'uri' => '/res/1b9b5456/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',
|
|
|
|
),
|
2013-04-05 16:40:27 +02:00
|
|
|
'phabricator-action-header-view-css' =>
|
|
|
|
array(
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'uri' => '/res/3b701648/rsrc/css/layout/phabricator-action-header-view.css',
|
2013-04-05 16:40:27 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-action-header-view.css',
|
|
|
|
),
|
2012-08-15 19:45:06 +02:00
|
|
|
'phabricator-action-list-view-css' =>
|
|
|
|
array(
|
2013-05-06 18:46:53 +02:00
|
|
|
'uri' => '/res/f63afae7/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-06-12 19:30:15 +02:00
|
|
|
'uri' => '/res/21a67228/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/8e3f036d/rsrc/js/core/Busy.js',
|
2012-10-24 02:34:43 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/Busy.js',
|
2012-10-24 02:34:43 +02:00
|
|
|
),
|
2012-02-17 19:21:38 +01:00
|
|
|
'phabricator-chatlog-css' =>
|
|
|
|
array(
|
2013-04-16 00:54:15 +02:00
|
|
|
'uri' => '/res/5542e247/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-css' =>
|
|
|
|
array(
|
2013-04-23 22:03:45 +02:00
|
|
|
'uri' => '/res/dc204369/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(
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'uri' => '/res/feeb02f0/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-drag-and-drop-file-upload' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/396d3b3b/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/DragAndDropFileUpload.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2013-06-05 00:28:31 +02:00
|
|
|
'phabricator-draggable-list' =>
|
|
|
|
array(
|
2013-06-06 02:36:33 +02:00
|
|
|
'uri' => '/res/76ddce56/rsrc/js/core/DraggableList.js',
|
2013-06-05 00:28:31 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-stratcom',
|
|
|
|
3 => 'javelin-util',
|
|
|
|
4 => 'javelin-vector',
|
|
|
|
5 => 'javelin-magical-init',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/core/DraggableList.js',
|
|
|
|
),
|
2012-01-05 01:52:13 +01:00
|
|
|
'phabricator-dropdown-menu' =>
|
|
|
|
array(
|
2013-05-23 05:47:47 +02:00
|
|
|
'uri' => '/res/a248b7f4/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/DropdownMenu.js',
|
2012-01-05 01:52:13 +01:00
|
|
|
),
|
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-05-13 18:14:40 +02:00
|
|
|
'uri' => '/res/e19633ed/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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/c9605008/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/FileUpload.js',
|
2012-10-09 00:23:05 +02:00
|
|
|
),
|
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(
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'uri' => '/res/ba05f8ba/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',
|
|
|
|
),
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
'phabricator-hovercard' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/7fb94260/rsrc/js/core/Hovercard.js',
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-04-05 20:01:56 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-vector',
|
|
|
|
3 => 'javelin-request',
|
|
|
|
4 => 'javelin-uri',
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/Hovercard.js',
|
Hovercard front-end code & stuff
Summary:
Refs T1048; Depends on D5557, D5558
They hover right above your eyes. Try it out at home :D (in that case, don't forget to checkout D5557 and D5558)
Worth a lot of improvement. But it's great for now after a little bit of styling.
Scrape load (search current document for all hovercards and pre-load them) and lazy load (e.g. previewing comments which is not covered by scrape load) implemented.
Added some seemingly useful graceful situations. Too much to the left, too much to the top.
Test Plan:
Tested on Ubuntu, Chrome and FF. No Windows yet, since I have it live at no place. Works pretty fine, at least it will appear.
Could test left graceful fallback. Don't know what happens if you place it too far to the top. I expect either good results or placement about the center of the screen in case of glitches.
For now, they'll disappear right away once the mouse leaves the object tag. Intended is when leaving both tag and hovercard.
Reviewers: epriestley, chad, btrahan
CC: aran, Korvin
Maniphest Tasks: T1048
Differential Revision: https://secure.phabricator.com/D5563
Conflicts:
src/__celerity_resource_map__.php
2013-04-05 17:31:35 +02:00
|
|
|
),
|
2013-04-02 18:15:33 +02:00
|
|
|
'phabricator-hovercard-view-css' =>
|
|
|
|
array(
|
Hovercard tweaks
Summary: Tightens up spacing, remove some of the borders, add alpha channel, make them all blue (sorry, red green and yellow are for 'status'). If we want to do more colors just for hovercards, I have a brown and a black in the mock, but would like to try just blue for now.
Test Plan: UIExamples, Tasks, People, Diffs, and Pastes.
Reviewers: epriestley, AnhNhan, btrahan
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5609
2013-04-07 06:13:11 +02:00
|
|
|
'uri' => '/res/80683f88/rsrc/css/layout/phabricator-hovercard-view.css',
|
2013-04-02 18:15:33 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-hovercard-view.css',
|
|
|
|
),
|
2012-02-24 22:02:35 +01:00
|
|
|
'phabricator-jump-nav' =>
|
|
|
|
array(
|
2013-05-30 00:57:29 +02:00
|
|
|
'uri' => '/res/15a5598e/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/44747afd/rsrc/js/core/KeyboardShortcut.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'phabricator-keyboard-shortcut-manager',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/KeyboardShortcut.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'phabricator-keyboard-shortcut-manager' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/bf9bc02a/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/KeyboardShortcutManager.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-07-31 01:09:14 +02:00
|
|
|
'phabricator-main-menu-view' =>
|
|
|
|
array(
|
2013-06-09 18:11:32 +02:00
|
|
|
'uri' => '/res/c9685da2/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/2add4594/rsrc/js/core/DropdownMenuItem.js',
|
2012-01-05 01:52:13 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/DropdownMenuItem.js',
|
2012-01-05 01:52:13 +01:00
|
|
|
),
|
2012-08-01 21:31:33 +02:00
|
|
|
'phabricator-nav-view-css' =>
|
|
|
|
array(
|
2013-05-17 18:58:37 +02:00
|
|
|
'uri' => '/res/37955b6a/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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/0764da14/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/Notification.js',
|
2012-06-14 00:00:24 +02:00
|
|
|
),
|
|
|
|
'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-06-12 05:53:55 +02:00
|
|
|
'uri' => '/res/4ba9eeaf/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(
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'uri' => '/res/502f1bb9/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',
|
|
|
|
),
|
2013-04-23 20:32:24 +02:00
|
|
|
'phabricator-phtize' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/dc655a81/rsrc/js/core/phtize.js',
|
2013-04-23 20:32:24 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/core/phtize.js',
|
|
|
|
),
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/511859ca/rsrc/js/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
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/Prefab.js',
|
2012-02-24 00:47:41 +01:00
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-profile-css' =>
|
|
|
|
array(
|
2013-04-16 00:09:50 +02:00
|
|
|
'uri' => '/res/87229261/rsrc/css/application/profile/profile-view.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/profile/profile-view.css',
|
|
|
|
),
|
|
|
|
'phabricator-profile-header-css' =>
|
|
|
|
array(
|
2013-04-15 22:07:54 +02:00
|
|
|
'uri' => '/res/a03c1e20/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-06-04 19:58:49 +02:00
|
|
|
'uri' => '/res/383b8c30/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(
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'uri' => '/res/07cab525/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(
|
2013-05-09 22:30:22 +02:00
|
|
|
'uri' => '/res/9b749d7d/rsrc/css/application/search/search-results.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/search/search-results.css',
|
|
|
|
),
|
2013-04-09 18:43:41 +02:00
|
|
|
'phabricator-settings-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/fb9d017f/rsrc/css/application/settings/settings.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/settings/settings.css',
|
|
|
|
),
|
2012-01-05 02:10:34 +01:00
|
|
|
'phabricator-shaped-request' =>
|
|
|
|
array(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/d173af85/rsrc/js/core/ShapedRequest.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-util',
|
|
|
|
2 => 'javelin-request',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/ShapedRequest.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
2012-12-07 22:33:03 +01:00
|
|
|
'phabricator-side-menu-view-css' =>
|
|
|
|
array(
|
2013-06-05 17:41:43 +02:00
|
|
|
'uri' => '/res/f43a8365/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(
|
2013-05-04 00:48:59 +02:00
|
|
|
'uri' => '/res/d1c2e05a/rsrc/css/application/slowvote/slowvote.css',
|
2012-01-05 02:10:34 +01:00
|
|
|
'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(
|
2013-04-23 19:56:46 +02:00
|
|
|
'uri' => '/res/03c03e8b/rsrc/js/core/TextAreaUtils.js',
|
2012-10-02 03:48:39 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/TextAreaUtils.js',
|
2012-10-02 03:48:39 +02:00
|
|
|
),
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/a23bc887/rsrc/js/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',
|
|
|
|
),
|
2013-04-23 19:56:46 +02:00
|
|
|
'disk' => '/rsrc/js/core/ToolTip.js',
|
2012-03-13 02:21:02 +01:00
|
|
|
),
|
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(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/2da87384/rsrc/js/application/uiexample/JavelinViewExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/JavelinViewExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-button' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/6bfe4f05/rsrc/js/application/uiexample/ReactorButtonExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
2 => 'javelin-util',
|
2013-05-19 02:04:22 +02:00
|
|
|
3 => 'javelin-dynval',
|
2012-01-05 02:10:34 +01:00
|
|
|
4 => 'javelin-reactor-dom',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorButtonExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-checkbox' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/3e8b30ac/rsrc/js/application/uiexample/ReactorCheckboxExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorCheckboxExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-focus' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/d8f3b56e/rsrc/js/application/uiexample/ReactorFocusExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorFocusExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-input' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/936352d9/rsrc/js/application/uiexample/ReactorInputExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-reactor-dom',
|
|
|
|
2 => 'javelin-view-html',
|
|
|
|
3 => 'javelin-view-interpreter',
|
|
|
|
4 => 'javelin-view-renderer',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorInputExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-mouseover' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/031a9f4f/rsrc/js/application/uiexample/ReactorMouseoverExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorMouseoverExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-radio' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/208c58e3/rsrc/js/application/uiexample/ReactorRadioExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorRadioExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-select' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/1b68a6db/rsrc/js/application/uiexample/ReactorSelectExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorSelectExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-sendclass' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/00cb3131/rsrc/js/application/uiexample/ReactorSendClassExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorSendClassExample.js',
|
|
|
|
),
|
|
|
|
'phabricator-uiexample-reactor-sendproperties' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/392f1e02/rsrc/js/application/uiexample/ReactorSendPropertiesExample.js',
|
2012-01-05 02:10:34 +01:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
2013-05-19 02:04:22 +02:00
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-reactor-dom',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/uiexample/ReactorSendPropertiesExample.js',
|
|
|
|
),
|
2013-04-01 05:07:47 +02:00
|
|
|
'phabricator-workboard-view-css' =>
|
|
|
|
array(
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'uri' => '/res/f598d215/rsrc/css/layout/phabricator-workboard-view.css',
|
2013-04-01 05:07:47 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-workboard-view.css',
|
|
|
|
),
|
|
|
|
'phabricator-workpanel-view-css' =>
|
|
|
|
array(
|
2013-06-05 17:41:43 +02:00
|
|
|
'uri' => '/res/d0cdb62e/rsrc/css/layout/phabricator-workpanel-view.css',
|
2013-04-01 05:07:47 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/layout/phabricator-workpanel-view.css',
|
|
|
|
),
|
2012-12-30 18:30:21 +01:00
|
|
|
'phabricator-zindex-css' =>
|
|
|
|
array(
|
Add password authentication and registration to new registration
Summary:
Ref T1536. Ref T1930. Code is not reachable.
This provides password authentication and registration on the new provider/adapter framework.
I sort of cheated a little bit and don't really route any password logic through the adapter (instead, this provider uses an empty adapter and just sets the type/domain on it). I think the right way to do this //conceptually// is to treat username/passwords as an external black box which the adapter communicates with. However, this creates a lot of practical implementation and UX problems:
- There would basically be two steps -- in the first one, you interact with the "password black box", which behaves like an OAuth provider. This produces some ExternalAccount associated with the username/password pair, then we go into normal registration.
- In normal registration, we'd proceed normally.
This means:
- The registration flow would be split into two parts, one where you select a username/password (interacting with the black box) and one where you actually register (interacting with the generic flow). This is unusual and probably confusing for users.
- We would need to do a lot of re-hashing of passwords, since passwords currently depend on the username and user PHID, which won't exist yet during registration or the "black box" phase. This is a big mess I don't want to deal with.
- We hit a weird condition where two users complete step 1 with the same username but don't complete step 2 yet. The box knows about two different copies of the username, with two different passwords. When we arrive at step 2 the second time we have a lot of bad choices about how to reoslve it, most of which create security problems. The most stragihtforward and "pure" way to resolve the issues is to put password-auth usernames in a separate space, but this would be incredibly confusuing to users (your login name might not be the same as your username, which is bizarre).
- If we change this, we need to update all the other password-related code, which I don't want to bother with (at least for now).
Instead, let registration know about a "default" registration controller (which is always password, if enabled), and let it require a password. This gives us a much simpler (albeit slightly less pure) implementation:
- All the fields are on one form.
- Password adapter is just a shell.
- Password provider does the heavy lifting.
We might make this more pure at some point, but I'm generally pretty satisfied with this.
This doesn't implement the brute-force CAPTCHA protection, that will be coming soon.
Test Plan: Registered with password only and logged in with a password. Hit various error conditions.
Reviewers: btrahan
Reviewed By: btrahan
CC: aran, chad
Maniphest Tasks: T1536, T1930
Differential Revision: https://secure.phabricator.com/D6164
2013-06-16 19:15:49 +02:00
|
|
|
'uri' => '/res/99a9447b/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(
|
2013-05-22 00:32:17 +02:00
|
|
|
'uri' => '/res/ba5a8cd8/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-05-24 14:11:40 +02:00
|
|
|
'uri' => '/res/73796b1e/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-04-20 16:53:04 +02:00
|
|
|
'uri' => '/res/006fc575/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-29 21:14:50 +02:00
|
|
|
'phortune-credit-card-form' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/bc948778/rsrc/js/application/phortune/phortune-credit-card-form.js',
|
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
0 => 'javelin-install',
|
|
|
|
1 => 'javelin-dom',
|
|
|
|
2 => 'javelin-json',
|
|
|
|
3 => 'javelin-workflow',
|
|
|
|
4 => 'javelin-util',
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/js/application/phortune/phortune-credit-card-form.js',
|
|
|
|
),
|
|
|
|
'phortune-credit-card-form-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/563c8c6d/rsrc/css/application/phortune/phortune-credit-card-form.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/phortune/phortune-credit-card-form.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-06-01 00:03:59 +02:00
|
|
|
'uri' => '/res/97a9ef40/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',
|
|
|
|
),
|
2013-04-18 20:34:02 +02:00
|
|
|
'phui-box-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/1b741073/rsrc/css/phui/phui-box.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-box.css',
|
|
|
|
),
|
2013-06-13 03:23:35 +02:00
|
|
|
'phui-button-css' =>
|
|
|
|
array(
|
2013-06-17 01:31:57 +02:00
|
|
|
'uri' => '/res/458ea66c/rsrc/css/phui/phui-button.css',
|
2013-06-13 03:23:35 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-button.css',
|
|
|
|
),
|
2013-06-01 00:03:59 +02:00
|
|
|
'phui-document-view-css' =>
|
|
|
|
array(
|
2013-06-06 21:47:40 +02:00
|
|
|
'uri' => '/res/fe374dee/rsrc/css/phui/phui-document.css',
|
2013-06-01 00:03:59 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-document.css',
|
|
|
|
),
|
2013-04-15 04:32:26 +02:00
|
|
|
'phui-feed-story-css' =>
|
|
|
|
array(
|
2013-05-24 19:45:33 +02:00
|
|
|
'uri' => '/res/253ac568/rsrc/css/phui/phui-feed-story.css',
|
2013-04-15 04:32:26 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-feed-story.css',
|
|
|
|
),
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'phui-form-css' =>
|
|
|
|
array(
|
2013-05-31 01:19:43 +02:00
|
|
|
'uri' => '/res/eb478e83/rsrc/css/phui/phui-form.css',
|
Update form styles, implement in many places
Summary:
This creates a common form look and feel across the site. I spent a bit of time working out a number of kinks in our various renderings. Some things:
- Font Styles are correctly applied for form elements now.
- Everything lines up!
- Selects are larger, easier to read, interact.
- Inputs have been squared.
- Consistant CSS applied glow (try it!)
- Improved Mobile Responsiveness
- CSS applied to all form elements, not just Aphront
- Many other minor tweaks.
I tried to hit as many high profile forms as possible in an effort to increase consistency. Stopped for now and will follow up after this lands. I know Evan is not a super fan of the glow, but after working with it for a week, it's way cleaner and responsive than the OS controls. Give it a try.
Test Plan: Tested many applications, forms, mobile and tablet.
Reviewers: epriestley, btrahan
Reviewed By: epriestley
CC: aran, Korvin
Differential Revision: https://secure.phabricator.com/D5860
2013-05-07 23:07:06 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-form.css',
|
|
|
|
),
|
2013-04-20 02:44:20 +02:00
|
|
|
'phui-icon-view-css' =>
|
|
|
|
array(
|
2013-06-13 03:23:35 +02:00
|
|
|
'uri' => '/res/f78f4c64/rsrc/css/phui/phui-icon.css',
|
2013-04-20 02:44:20 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-icon.css',
|
|
|
|
),
|
2013-06-05 17:41:43 +02:00
|
|
|
'phui-list-view-css' =>
|
|
|
|
array(
|
2013-06-06 21:47:40 +02:00
|
|
|
'uri' => '/res/09f24365/rsrc/css/phui/phui-list.css',
|
2013-06-05 17:41:43 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-list.css',
|
|
|
|
),
|
2013-06-13 03:23:35 +02:00
|
|
|
'phui-spacing-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/28891fd3/rsrc/css/phui/phui-spacing.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-spacing.css',
|
|
|
|
),
|
2013-04-22 23:28:23 +02:00
|
|
|
'phui-text-css' =>
|
|
|
|
array(
|
|
|
|
'uri' => '/res/ca884ca6/rsrc/css/phui/phui-text.css',
|
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/phui/phui-text.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(
|
2013-05-22 00:28:43 +02:00
|
|
|
'uri' => '/res/15cb54fb/rsrc/css/application/ponder/comments.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
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/application/ponder/comments.css',
|
|
|
|
),
|
2012-08-10 19:44:04 +02:00
|
|
|
'ponder-feed-view-css' =>
|
|
|
|
array(
|
2013-05-20 16:55:23 +02:00
|
|
|
'uri' => '/res/cab09075/rsrc/css/application/ponder/feed.css',
|
2012-08-10 19:44:04 +02:00
|
|
|
'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(
|
2013-05-22 00:28:43 +02:00
|
|
|
'uri' => '/res/26945177/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',
|
|
|
|
),
|
2013-04-11 15:32:41 +02:00
|
|
|
'raphael-core' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/5dc5e17c/rsrc/externals/raphael/raphael.js',
|
2013-04-11 15:32:41 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/raphael/raphael.js',
|
2013-04-11 15:32:41 +02:00
|
|
|
),
|
|
|
|
'raphael-g' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/229b89a1/rsrc/externals/raphael/g.raphael.js',
|
2013-04-11 15:32:41 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/raphael/g.raphael.js',
|
2013-04-11 15:32:41 +02:00
|
|
|
),
|
|
|
|
'raphael-g-line' =>
|
|
|
|
array(
|
2013-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/96da30f7/rsrc/externals/raphael/g.raphael.line.js',
|
2013-04-11 15:32:41 +02:00
|
|
|
'type' => 'js',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
2013-04-11 19:06:05 +02:00
|
|
|
'disk' => '/rsrc/externals/raphael/g.raphael.line.js',
|
2013-04-11 15:32:41 +02:00
|
|
|
),
|
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-05 16:40:27 +02:00
|
|
|
'sprite-actions-css' =>
|
2013-04-04 19:38:50 +02:00
|
|
|
array(
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'uri' => '/res/bd43efa8/rsrc/css/sprite-actions.css',
|
2013-04-04 19:38:50 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-actions.css',
|
|
|
|
),
|
2012-12-07 22:38:02 +01:00
|
|
|
'sprite-apps-css' =>
|
|
|
|
array(
|
2013-06-12 16:40:04 +02:00
|
|
|
'uri' => '/res/cb33873d/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-06-12 16:40:04 +02:00
|
|
|
'uri' => '/res/c6cf9c55/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-06-05 17:41:43 +02:00
|
|
|
'uri' => '/res/af8d50a1/rsrc/css/sprite-gradient.css',
|
2012-12-07 22:38:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-gradient.css',
|
|
|
|
),
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'sprite-icons-css' =>
|
2012-11-24 01:35:39 +01:00
|
|
|
array(
|
2013-06-12 04:10:12 +02:00
|
|
|
'uri' => '/res/03295fbd/rsrc/css/sprite-icons.css',
|
2012-11-24 01:35:39 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
Add action icons to object list views
Summary:
We have a few interfaces where add "Edit", "Delete" or some other action to a list. Currently, this happens via icons, but these are cumbersome and weird, are inconsistent, can't be workflow'd, are hard to hit on desktops and virtually impossible to hit on mobile, and generally just feel iffy to me. Prominent examples are Projects and Flags. I'd like to try adding an "edit" action to Maniphest (to provide quick edit from list views, basically). It looks like some of Releeph would benefit here, as well.
Instead, provide first-class actions:
{F42978}
They produce targets which my meaty ham-fists can plausibly hit on mobile, too:
{F42979}
(We could do some kind of swipe-to-expose thing eventually, but I think putting them by default is OK?)
Test Plan: Added UIExamples. Checked desktop/mobile.
Reviewers: chad, btrahan, edward
Reviewed By: btrahan
CC: aran
Differential Revision: https://secure.phabricator.com/D5890
2013-05-10 21:57:01 +02:00
|
|
|
'disk' => '/rsrc/css/sprite-icons.css',
|
2012-11-24 01:35:39 +01:00
|
|
|
),
|
2013-06-11 19:22:09 +02:00
|
|
|
'sprite-login-css' =>
|
|
|
|
array(
|
2013-06-13 00:05:16 +02:00
|
|
|
'uri' => '/res/8bec1ba2/rsrc/css/sprite-login.css',
|
2013-06-11 19:22:09 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-login.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-04-04 20:35:22 +02:00
|
|
|
'sprite-minicons-css' =>
|
2013-04-04 19:38:50 +02:00
|
|
|
array(
|
2013-04-05 16:40:27 +02:00
|
|
|
'uri' => '/res/2dba70cd/rsrc/css/sprite-minicons.css',
|
2013-04-04 19:38:50 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-minicons.css',
|
|
|
|
),
|
2013-04-23 01:41:00 +02:00
|
|
|
'sprite-payments-css' =>
|
|
|
|
array(
|
2013-04-23 01:43:29 +02:00
|
|
|
'uri' => '/res/876697b6/rsrc/css/sprite-payments.css',
|
2013-04-23 01:41:00 +02:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-payments.css',
|
|
|
|
),
|
2013-02-15 16:47:14 +01:00
|
|
|
'sprite-tokens-css' =>
|
|
|
|
array(
|
2013-04-20 02:44:20 +02:00
|
|
|
'uri' => '/res/edb4e341/rsrc/css/sprite-tokens.css',
|
2013-02-15 16:47:14 +01:00
|
|
|
'type' => 'css',
|
|
|
|
'requires' =>
|
|
|
|
array(
|
|
|
|
),
|
|
|
|
'disk' => '/rsrc/css/sprite-tokens.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-05-14 20:28:39 +02:00
|
|
|
'uri' => '/res/dae13a94/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-06-17 01:31:57 +02:00
|
|
|
'116c8dcd' =>
|
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',
|
2013-06-13 03:23:35 +02:00
|
|
|
2 => 'phui-button-css',
|
2012-12-30 18:30:21 +01:00
|
|
|
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',
|
2013-05-31 19:51:53 +02:00
|
|
|
11 => 'phabricator-jump-nav',
|
|
|
|
12 => 'phabricator-remarkup-css',
|
|
|
|
13 => 'syntax-highlighting-css',
|
|
|
|
14 => 'aphront-pager-view-css',
|
|
|
|
15 => 'phabricator-transaction-view-css',
|
|
|
|
16 => 'aphront-tooltip-css',
|
|
|
|
17 => 'phabricator-flag-css',
|
|
|
|
18 => 'aphront-error-view-css',
|
|
|
|
19 => 'sprite-icons-css',
|
|
|
|
20 => 'sprite-gradient-css',
|
|
|
|
21 => 'sprite-menu-css',
|
|
|
|
22 => 'sprite-apps-large-css',
|
|
|
|
23 => 'phabricator-main-menu-view',
|
|
|
|
24 => 'phabricator-notification-css',
|
|
|
|
25 => 'phabricator-notification-menu-css',
|
|
|
|
26 => 'lightbox-attachment-css',
|
|
|
|
27 => 'phabricator-header-view-css',
|
|
|
|
28 => 'phabricator-form-view-css',
|
|
|
|
29 => 'phabricator-filetree-view-css',
|
|
|
|
30 => 'phabricator-nav-view-css',
|
|
|
|
31 => 'phabricator-side-menu-view-css',
|
|
|
|
32 => 'phabricator-crumbs-view-css',
|
|
|
|
33 => 'phabricator-object-item-list-view-css',
|
|
|
|
34 => 'global-drag-and-drop-css',
|
2013-06-13 03:23:35 +02:00
|
|
|
35 => 'phui-spacing-css',
|
2013-05-31 19:51:53 +02:00
|
|
|
36 => 'phui-form-css',
|
|
|
|
37 => 'phui-icon-view-css',
|
|
|
|
38 => 'phabricator-application-launch-view-css',
|
|
|
|
39 => 'phabricator-action-list-view-css',
|
|
|
|
40 => 'phabricator-property-list-view-css',
|
|
|
|
41 => 'phabricator-tag-view-css',
|
2012-03-15 06:42:30 +01:00
|
|
|
),
|
2013-06-17 01:31:57 +02:00
|
|
|
'uri' => '/res/pkg/116c8dcd/core.pkg.css',
|
2012-03-15 06:42:30 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-06-06 01:21:21 +02:00
|
|
|
'f2ad0683' =>
|
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',
|
2013-04-02 15:26:26 +02:00
|
|
|
9 => 'phabricator-menu-item',
|
|
|
|
10 => 'phabricator-dropdown-menu',
|
2013-04-24 02:19:44 +02:00
|
|
|
11 => 'phabricator-phtize',
|
|
|
|
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',
|
|
|
|
26 => 'javelin-behavior-history-install',
|
|
|
|
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',
|
2013-05-19 02:12:42 +02:00
|
|
|
35 => 'phabricator-hovercard',
|
|
|
|
36 => 'javelin-behavior-phabricator-hovercards',
|
2012-03-15 06:42:30 +01:00
|
|
|
),
|
2013-06-06 01:21:21 +02:00
|
|
|
'uri' => '/res/pkg/f2ad0683/core.pkg.js',
|
2012-11-21 03:01:25 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-04-26 03:30:13 +02:00
|
|
|
'4ccfeb47' =>
|
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-04-26 03:30:13 +02:00
|
|
|
'uri' => '/res/pkg/4ccfeb47/darkconsole.pkg.js',
|
2012-03-15 06:42:30 +01:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-05-10 01:09:29 +02:00
|
|
|
'dd27a69b' =>
|
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-05-10 01:09:29 +02:00
|
|
|
'uri' => '/res/pkg/dd27a69b/differential.pkg.css',
|
2012-03-13 02:21:02 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-05-19 02:04:22 +02:00
|
|
|
'9488bb69' =>
|
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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/pkg/9488bb69/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-05-19 02:04:22 +02:00
|
|
|
96909266 =>
|
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-05-19 02:04:22 +02:00
|
|
|
'uri' => '/res/pkg/96909266/diffusion.pkg.js',
|
2012-04-17 02:51:30 +02:00
|
|
|
'type' => 'js',
|
|
|
|
),
|
2013-05-31 03:55:25 +02:00
|
|
|
'a9f14d76' =>
|
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',
|
2013-05-19 02:12:42 +02:00
|
|
|
19 => 'javelin-history',
|
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-05-31 03:55:25 +02:00
|
|
|
'uri' => '/res/pkg/a9f14d76/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-06-06 02:36:33 +02:00
|
|
|
'a7ca34a9' =>
|
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-06-06 02:36:33 +02:00
|
|
|
'uri' => '/res/pkg/a7ca34a9/maniphest.pkg.css',
|
2012-03-10 01:04:25 +01:00
|
|
|
'type' => 'css',
|
|
|
|
),
|
2013-06-06 02:36:33 +02:00
|
|
|
'98f64f07' =>
|
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-06-06 02:36:33 +02:00
|
|
|
'uri' => '/res/pkg/98f64f07/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-06-06 02:36:33 +02:00
|
|
|
'aphront-attached-file-view-css' => 'a7ca34a9',
|
2013-06-17 01:31:57 +02:00
|
|
|
'aphront-dialog-view-css' => '116c8dcd',
|
|
|
|
'aphront-error-view-css' => '116c8dcd',
|
|
|
|
'aphront-form-view-css' => '116c8dcd',
|
|
|
|
'aphront-list-filter-view-css' => '116c8dcd',
|
|
|
|
'aphront-pager-view-css' => '116c8dcd',
|
|
|
|
'aphront-panel-view-css' => '116c8dcd',
|
|
|
|
'aphront-table-view-css' => '116c8dcd',
|
|
|
|
'aphront-tokenizer-control-css' => '116c8dcd',
|
|
|
|
'aphront-tooltip-css' => '116c8dcd',
|
|
|
|
'aphront-typeahead-control-css' => '116c8dcd',
|
2013-05-10 01:09:29 +02:00
|
|
|
'differential-changeset-view-css' => 'dd27a69b',
|
|
|
|
'differential-core-view-css' => 'dd27a69b',
|
2013-05-19 02:04:22 +02:00
|
|
|
'differential-inline-comment-editor' => '9488bb69',
|
2013-05-10 01:09:29 +02:00
|
|
|
'differential-local-commits-view-css' => 'dd27a69b',
|
|
|
|
'differential-results-table-css' => 'dd27a69b',
|
|
|
|
'differential-revision-add-comment-css' => 'dd27a69b',
|
|
|
|
'differential-revision-comment-css' => 'dd27a69b',
|
|
|
|
'differential-revision-comment-list-css' => 'dd27a69b',
|
|
|
|
'differential-revision-history-css' => 'dd27a69b',
|
|
|
|
'differential-revision-list-css' => 'dd27a69b',
|
|
|
|
'differential-table-of-contents-css' => 'dd27a69b',
|
2012-04-17 02:51:30 +02:00
|
|
|
'diffusion-commit-view-css' => 'c8ce2d88',
|
|
|
|
'diffusion-icons-css' => 'c8ce2d88',
|
2013-06-17 01:31:57 +02:00
|
|
|
'global-drag-and-drop-css' => '116c8dcd',
|
2013-05-10 01:09:29 +02:00
|
|
|
'inline-comment-summary-css' => 'dd27a69b',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-aphlict' => 'f2ad0683',
|
2013-05-31 03:55:25 +02:00
|
|
|
'javelin-behavior' => 'a9f14d76',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-aphlict-dropdown' => 'f2ad0683',
|
|
|
|
'javelin-behavior-aphlict-listen' => 'f2ad0683',
|
|
|
|
'javelin-behavior-aphront-basic-tokenizer' => 'f2ad0683',
|
2013-05-19 02:04:22 +02:00
|
|
|
'javelin-behavior-aphront-drag-and-drop' => '9488bb69',
|
|
|
|
'javelin-behavior-aphront-drag-and-drop-textarea' => '9488bb69',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-aphront-form-disable-on-submit' => 'f2ad0683',
|
2013-05-19 02:04:22 +02:00
|
|
|
'javelin-behavior-audit-preview' => '96909266',
|
2013-04-26 03:30:13 +02:00
|
|
|
'javelin-behavior-dark-console' => '4ccfeb47',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-device' => 'f2ad0683',
|
2013-05-19 02:04:22 +02:00
|
|
|
'javelin-behavior-differential-accept-with-errors' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-add-reviewers-and-ccs' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-comment-jump' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-diff-radios' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-dropdown-menus' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-edit-inline-comments' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-feedback-preview' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-keyboard-navigation' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-populate' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-show-more' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-toggle-files' => '9488bb69',
|
|
|
|
'javelin-behavior-differential-user-select' => '9488bb69',
|
|
|
|
'javelin-behavior-diffusion-commit-graph' => '96909266',
|
|
|
|
'javelin-behavior-diffusion-pull-lastmodified' => '96909266',
|
2013-04-26 03:30:13 +02:00
|
|
|
'javelin-behavior-error-log' => '4ccfeb47',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-global-drag-and-drop' => 'f2ad0683',
|
|
|
|
'javelin-behavior-history-install' => 'f2ad0683',
|
|
|
|
'javelin-behavior-konami' => 'f2ad0683',
|
|
|
|
'javelin-behavior-lightbox-attachments' => 'f2ad0683',
|
2013-05-19 02:04:22 +02:00
|
|
|
'javelin-behavior-load-blame' => '9488bb69',
|
2013-06-06 02:36:33 +02:00
|
|
|
'javelin-behavior-maniphest-batch-selector' => '98f64f07',
|
|
|
|
'javelin-behavior-maniphest-subpriority-editor' => '98f64f07',
|
|
|
|
'javelin-behavior-maniphest-transaction-controls' => '98f64f07',
|
|
|
|
'javelin-behavior-maniphest-transaction-expand' => '98f64f07',
|
|
|
|
'javelin-behavior-maniphest-transaction-preview' => '98f64f07',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-phabricator-active-nav' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-autofocus' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-gesture' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-hovercards' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-keyboard-shortcuts' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-nav' => 'f2ad0683',
|
2013-05-19 02:04:22 +02:00
|
|
|
'javelin-behavior-phabricator-object-selector' => '9488bb69',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-phabricator-oncopy' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-remarkup-assist' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-reveal-content' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-search-typeahead' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-tooltips' => 'f2ad0683',
|
|
|
|
'javelin-behavior-phabricator-watch-anchor' => 'f2ad0683',
|
|
|
|
'javelin-behavior-refresh-csrf' => 'f2ad0683',
|
2013-05-19 02:04:22 +02:00
|
|
|
'javelin-behavior-repository-crossreference' => '9488bb69',
|
2013-06-06 01:21:21 +02:00
|
|
|
'javelin-behavior-toggle-class' => 'f2ad0683',
|
|
|
|
'javelin-behavior-workflow' => 'f2ad0683',
|
2013-05-31 03:55:25 +02:00
|
|
|
'javelin-dom' => 'a9f14d76',
|
|
|
|
'javelin-event' => 'a9f14d76',
|
|
|
|
'javelin-history' => 'a9f14d76',
|
|
|
|
'javelin-install' => 'a9f14d76',
|
|
|
|
'javelin-json' => 'a9f14d76',
|
|
|
|
'javelin-mask' => 'a9f14d76',
|
|
|
|
'javelin-request' => 'a9f14d76',
|
|
|
|
'javelin-resource' => 'a9f14d76',
|
|
|
|
'javelin-stratcom' => 'a9f14d76',
|
|
|
|
'javelin-tokenizer' => 'a9f14d76',
|
|
|
|
'javelin-typeahead' => 'a9f14d76',
|
|
|
|
'javelin-typeahead-normalizer' => 'a9f14d76',
|
|
|
|
'javelin-typeahead-ondemand-source' => 'a9f14d76',
|
|
|
|
'javelin-typeahead-preloaded-source' => 'a9f14d76',
|
|
|
|
'javelin-typeahead-source' => 'a9f14d76',
|
|
|
|
'javelin-uri' => 'a9f14d76',
|
|
|
|
'javelin-util' => 'a9f14d76',
|
|
|
|
'javelin-vector' => 'a9f14d76',
|
|
|
|
'javelin-workflow' => 'a9f14d76',
|
2013-06-17 01:31:57 +02:00
|
|
|
'lightbox-attachment-css' => '116c8dcd',
|
2013-06-06 02:36:33 +02:00
|
|
|
'maniphest-task-summary-css' => 'a7ca34a9',
|
|
|
|
'maniphest-transaction-detail-css' => 'a7ca34a9',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-action-list-view-css' => '116c8dcd',
|
|
|
|
'phabricator-application-launch-view-css' => '116c8dcd',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-busy' => 'f2ad0683',
|
2013-05-10 01:09:29 +02:00
|
|
|
'phabricator-content-source-view-css' => 'dd27a69b',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-core-css' => '116c8dcd',
|
|
|
|
'phabricator-crumbs-view-css' => '116c8dcd',
|
2013-05-19 02:04:22 +02:00
|
|
|
'phabricator-drag-and-drop-file-upload' => '9488bb69',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-dropdown-menu' => 'f2ad0683',
|
|
|
|
'phabricator-file-upload' => 'f2ad0683',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-filetree-view-css' => '116c8dcd',
|
|
|
|
'phabricator-flag-css' => '116c8dcd',
|
|
|
|
'phabricator-form-view-css' => '116c8dcd',
|
|
|
|
'phabricator-header-view-css' => '116c8dcd',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-hovercard' => 'f2ad0683',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-jump-nav' => '116c8dcd',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-keyboard-shortcut' => 'f2ad0683',
|
|
|
|
'phabricator-keyboard-shortcut-manager' => 'f2ad0683',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-main-menu-view' => '116c8dcd',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-menu-item' => 'f2ad0683',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-nav-view-css' => '116c8dcd',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-notification' => 'f2ad0683',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-notification-css' => '116c8dcd',
|
|
|
|
'phabricator-notification-menu-css' => '116c8dcd',
|
|
|
|
'phabricator-object-item-list-view-css' => '116c8dcd',
|
2013-05-10 01:09:29 +02:00
|
|
|
'phabricator-object-selector-css' => 'dd27a69b',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-phtize' => 'f2ad0683',
|
|
|
|
'phabricator-prefab' => 'f2ad0683',
|
2013-06-06 02:36:33 +02:00
|
|
|
'phabricator-project-tag-css' => 'a7ca34a9',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-property-list-view-css' => '116c8dcd',
|
|
|
|
'phabricator-remarkup-css' => '116c8dcd',
|
2013-05-19 02:04:22 +02:00
|
|
|
'phabricator-shaped-request' => '9488bb69',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-side-menu-view-css' => '116c8dcd',
|
|
|
|
'phabricator-standard-page-view' => '116c8dcd',
|
|
|
|
'phabricator-tag-view-css' => '116c8dcd',
|
2013-06-06 01:21:21 +02:00
|
|
|
'phabricator-textareautils' => 'f2ad0683',
|
|
|
|
'phabricator-tooltip' => 'f2ad0683',
|
2013-06-17 01:31:57 +02:00
|
|
|
'phabricator-transaction-view-css' => '116c8dcd',
|
|
|
|
'phabricator-zindex-css' => '116c8dcd',
|
|
|
|
'phui-button-css' => '116c8dcd',
|
|
|
|
'phui-form-css' => '116c8dcd',
|
|
|
|
'phui-icon-view-css' => '116c8dcd',
|
|
|
|
'phui-spacing-css' => '116c8dcd',
|
|
|
|
'sprite-apps-large-css' => '116c8dcd',
|
|
|
|
'sprite-gradient-css' => '116c8dcd',
|
|
|
|
'sprite-icons-css' => '116c8dcd',
|
|
|
|
'sprite-menu-css' => '116c8dcd',
|
|
|
|
'syntax-highlighting-css' => '116c8dcd',
|
2012-01-05 02:10:34 +01:00
|
|
|
),
|
|
|
|
));
|