diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php index 83928ddb5..ac645498d 100644 --- a/src/__celerity_resource_map__.php +++ b/src/__celerity_resource_map__.php @@ -1,752 +1,752 @@ <?php /** * This file is automatically generated. Use 'celerity_mapper.php' to rebuild * it. * @generated */ celerity_register_resource_map(array( - 'aphront-crumbs-view-css' => + 'javelin-behavior-diffusion-jump-to' => array( - 'uri' => '/res/c666a518/rsrc/css/aphront/crumbs-view.css', - 'type' => 'css', + 'uri' => '/res/4f3f6cdc/rsrc/js/application/diffusion/behavior-jump-to.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/crumbs-view.css', + 'disk' => '/rsrc/js/application/diffusion/behavior-jump-to.js', ), - 'aphront-dark-console-css' => + 'javelin-behavior-diffusion-pull-lastmodified' => array( - 'uri' => '/res/0417eb95/rsrc/css/aphront/dark-console.css', - 'type' => 'css', + 'uri' => '/res/6a5e7374/rsrc/js/application/diffusion/behavior-pull-lastmodified.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/dark-console.css', + 'disk' => '/rsrc/js/application/diffusion/behavior-pull-lastmodified.js', ), - 'aphront-dialog-view-css' => + 'javelin-behavior-owners-path-editor' => array( - 'uri' => '/res/9be517dc/rsrc/css/aphront/dialog-view.css', - 'type' => 'css', + 'uri' => '/res/7568aa22/rsrc/js/application/owners/owners-path-editor.js', + 'type' => 'js', 'requires' => array( + 0 => 'owners-path-editor', + 1 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/dialog-view.css', + 'disk' => '/rsrc/js/application/owners/owners-path-editor.js', ), - 'aphront-error-view-css' => + 'owners-path-editor' => array( - 'uri' => '/res/19b27527/rsrc/css/aphront/error-view.css', - 'type' => 'css', + 'uri' => '/res/b01c1ca9/rsrc/js/application/owners/OwnersPathEditor.js', + 'type' => 'js', 'requires' => array( + 0 => 'multirow-row-manager', + 1 => 'javelin-lib-dev', + 2 => 'javelin-typeahead-dev', + 3 => 'path-typeahead', ), - 'disk' => '/rsrc/css/aphront/error-view.css', + 'disk' => '/rsrc/js/application/owners/OwnersPathEditor.js', ), - 'aphront-form-view-css' => + 'herald-rule-editor' => array( - 'uri' => '/res/82eca506/rsrc/css/aphront/form-view.css', - 'type' => 'css', + 'uri' => '/res/ec8e2110/rsrc/js/application/herald/HeraldRuleEditor.js', + 'type' => 'js', 'requires' => array( + 0 => 'multirow-row-manager', + 1 => 'javelin-lib-dev', + 2 => 'javelin-typeahead-dev', + 3 => 'path-typeahead', ), - 'disk' => '/rsrc/css/aphront/form-view.css', + 'disk' => '/rsrc/js/application/herald/HeraldRuleEditor.js', ), - 'aphront-headsup-action-list-view-css' => + 'javelin-behavior-herald-rule-editor' => array( - 'uri' => '/res/fe9accb9/rsrc/css/aphront/headsup-action-list-view.css', - 'type' => 'css', + 'uri' => '/res/48108130/rsrc/js/application/herald/herald-rule-editor.js', + 'type' => 'js', 'requires' => array( + 0 => 'herald-rule-editor', + 1 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/headsup-action-list-view.css', + 'disk' => '/rsrc/js/application/herald/herald-rule-editor.js', ), - 'aphront-list-filter-view-css' => + 'path-typeahead' => array( - 'uri' => '/res/50a790ae/rsrc/css/aphront/list-filter-view.css', - 'type' => 'css', + 'uri' => '/res/42fb76c3/rsrc/js/application/herald/PathTypeahead.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', + 1 => 'javelin-typeahead-dev', ), - 'disk' => '/rsrc/css/aphront/list-filter-view.css', + 'disk' => '/rsrc/js/application/herald/PathTypeahead.js', ), - 'aphront-pager-view-css' => + 'javelin-behavior-differential-populate' => array( - 'uri' => '/res/73ec8cd5/rsrc/css/aphront/pager-view.css', - 'type' => 'css', + 'uri' => '/res/a13dcd7e/rsrc/js/application/differential/behavior-populate.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/pager-view.css', + 'disk' => '/rsrc/js/application/differential/behavior-populate.js', ), - 'aphront-panel-view-css' => + 'javelin-behavior-differential-add-reviewers' => array( - 'uri' => '/res/8f9f3632/rsrc/css/aphront/panel-view.css', - 'type' => 'css', + 'uri' => '/res/330154e4/rsrc/js/application/differential/behavior-add-reviewers.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/panel-view.css', + 'disk' => '/rsrc/js/application/differential/behavior-add-reviewers.js', ), - 'aphront-request-failure-view-css' => + 'javelin-behavior-differential-edit-inline-comments' => array( - 'uri' => '/res/97b8337a/rsrc/css/aphront/request-failure-view.css', - 'type' => 'css', + 'uri' => '/res/6a6f38e6/rsrc/js/application/differential/behavior-edit-inline-comments.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/request-failure-view.css', + 'disk' => '/rsrc/js/application/differential/behavior-edit-inline-comments.js', ), - 'aphront-side-nav-view-css' => + 'javelin-behavior-differential-show-more' => array( - 'uri' => '/res/4f4c5ca8/rsrc/css/aphront/side-nav-view.css', - 'type' => 'css', + 'uri' => '/res/ea998002/rsrc/js/application/differential/behavior-show-more.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/side-nav-view.css', + 'disk' => '/rsrc/js/application/differential/behavior-show-more.js', ), - 'aphront-table-view-css' => + 'javelin-behavior-differential-show-all-comments' => array( - 'uri' => '/res/03724b05/rsrc/css/aphront/table-view.css', - 'type' => 'css', + 'uri' => '/res/2a3592b8/rsrc/js/application/differential/behavior-show-all-comments.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/table-view.css', + 'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js', ), - 'aphront-tokenizer-control-css' => + 'javelin-behavior-differential-feedback-preview' => array( - 'uri' => '/res/190349be/rsrc/css/aphront/tokenizer.css', - 'type' => 'css', + 'uri' => '/res/8695d8b8/rsrc/js/application/differential/behavior-comment-preview.js', + 'type' => 'js', 'requires' => array( - 0 => 'aphront-typeahead-control-css', + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/tokenizer.css', + 'disk' => '/rsrc/js/application/differential/behavior-comment-preview.js', ), - 'aphront-typeahead-control-css' => + 'javelin-behavior-differential-diff-radios' => array( - 'uri' => '/res/928df9f0/rsrc/css/aphront/typeahead.css', - 'type' => 'css', + 'uri' => '/res/fdeb3823/rsrc/js/application/differential/behavior-diff-radios.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/aphront/typeahead.css', + 'disk' => '/rsrc/js/application/differential/behavior-diff-radios.js', ), - 'phabricator-standard-page-view' => + 'javelin-behavior-phabricator-object-selector' => array( - 'uri' => '/res/0d41ea7c/rsrc/css/application/base/standard-page-view.css', - 'type' => 'css', + 'uri' => '/res/c0f12b29/rsrc/js/application/core/behavior-object-selector.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/application/base/standard-page-view.css', + 'disk' => '/rsrc/js/application/core/behavior-object-selector.js', ), - 'differential-revision-add-comment-css' => + 'javelin-behavior-aphront-basic-tokenizer' => array( - 'uri' => '/res/aaae14d3/rsrc/css/application/differential/add-comment.css', - 'type' => 'css', + 'uri' => '/res/8317d761/rsrc/js/application/core/behavior-tokenizer.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/application/differential/add-comment.css', + 'disk' => '/rsrc/js/application/core/behavior-tokenizer.js', ), - 'differential-changeset-view-css' => + 'javelin-behavior-error-log' => array( - 'uri' => '/res/f26ca6f9/rsrc/css/application/differential/changeset-view.css', - 'type' => 'css', + 'uri' => '/res/c57a323f/rsrc/js/application/core/behavior-error-log.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/application/differential/changeset-view.css', + 'disk' => '/rsrc/js/application/core/behavior-error-log.js', ), - 'differential-core-view-css' => + 'multirow-row-manager' => array( - 'uri' => '/res/525d1a12/rsrc/css/application/differential/core.css', - 'type' => 'css', + 'uri' => '/res/330d076b/rsrc/js/application/core/MultirowRowManager.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/application/differential/core.css', + 'disk' => '/rsrc/js/application/core/MultirowRowManager.js', ), - 'differential-revision-comment-list-css' => + 'javelin-behavior-dark-console' => array( - 'uri' => '/res/10b9a829/rsrc/css/application/differential/revision-comment-list.css', - 'type' => 'css', + 'uri' => '/res/020b0265/rsrc/js/application/core/behavior-dark-console.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/differential/revision-comment-list.css', + 'disk' => '/rsrc/js/application/core/behavior-dark-console.js', ), - 'differential-revision-comment-css' => + 'javelin-behavior-workflow' => array( - 'uri' => '/res/7185c7fe/rsrc/css/application/differential/revision-comment.css', - 'type' => 'css', + 'uri' => '/res/15446e7e/rsrc/js/application/core/behavior-workflow.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/application/differential/revision-comment.css', + 'disk' => '/rsrc/js/application/core/behavior-workflow.js', ), - 'differential-revision-detail-css' => + 'javelin-behavior-maniphest-transaction-controls' => array( - 'uri' => '/res/a63e2d06/rsrc/css/application/differential/revision-detail.css', - 'type' => 'css', + 'uri' => '/res/fc6a8722/rsrc/js/application/maniphest/behavior-transaction-controls.js', + 'type' => 'js', 'requires' => array( + 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/css/application/differential/revision-detail.css', + 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-controls.js', ), - 'differential-revision-history-css' => + 'javelin-typeahead-prod' => array( - 'uri' => '/res/755f3da3/rsrc/css/application/differential/revision-history.css', - 'type' => 'css', + 'uri' => '/res/69d5fad1/rsrc/js/javelin/typeahead.min.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/differential/revision-history.css', + 'disk' => '/rsrc/js/javelin/typeahead.min.js', ), - 'differential-table-of-contents-css' => + 'javelin-workflow-prod' => array( - 'uri' => '/res/e68f6f05/rsrc/css/application/differential/table-of-contents.css', - 'type' => 'css', + 'uri' => '/res/b758e0a0/rsrc/js/javelin/workflow.min.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/differential/table-of-contents.css', + 'disk' => '/rsrc/js/javelin/workflow.min.js', ), - 'diffusion-commit-view-css' => + 'javelin-magical-init' => array( - 'uri' => '/res/8c139192/rsrc/css/application/diffusion/commit-view.css', - 'type' => 'css', + 'uri' => '/res/76614f84/rsrc/js/javelin/init.dev.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/diffusion/commit-view.css', + 'disk' => '/rsrc/js/javelin/init.dev.js', ), - 'diffusion-source-css' => + 'javelin-workflow-dev' => array( - 'uri' => '/res/7f50817b/rsrc/css/application/diffusion/diffusion-source.css', - 'type' => 'css', + 'uri' => '/res/c6b17f93/rsrc/js/javelin/workflow.dev.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/diffusion/diffusion-source.css', + 'disk' => '/rsrc/js/javelin/workflow.dev.js', ), - 'phabricator-directory-css' => + 'javelin-lib-dev' => array( - 'uri' => '/res/6a000601/rsrc/css/application/directory/phabricator-directory.css', - 'type' => 'css', + 'uri' => '/res/a0e7a5e9/rsrc/js/javelin/javelin.dev.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/directory/phabricator-directory.css', + 'disk' => '/rsrc/js/javelin/javelin.dev.js', ), - 'herald-test-css' => + 'javelin-init-prod' => array( - 'uri' => '/res/28269358/rsrc/css/application/herald/herald-test.css', - 'type' => 'css', + 'uri' => '/res/1267c868/rsrc/js/javelin/init.min.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/herald/herald-test.css', + 'disk' => '/rsrc/js/javelin/init.min.js', ), - 'herald-css' => + 'javelin-lib-prod' => array( - 'uri' => '/res/211a4b1b/rsrc/css/application/herald/herald.css', - 'type' => 'css', + 'uri' => '/res/2f2b3b2e/rsrc/js/javelin/javelin.min.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/herald/herald.css', + 'disk' => '/rsrc/js/javelin/javelin.min.js', ), - 'mainphest-task-detail-css' => + 'javelin-typeahead-dev' => array( - 'uri' => '/res/e5f3beca/rsrc/css/application/maniphest/task-detail.css', - 'type' => 'css', + 'uri' => '/res/6de6ae59/rsrc/js/javelin/typeahead.dev.js', + 'type' => 'js', 'requires' => array( ), - 'disk' => '/rsrc/css/application/maniphest/task-detail.css', + 'disk' => '/rsrc/js/javelin/typeahead.dev.js', ), - 'maniphest-task-summary-css' => + 'diffusion-commit-view-css' => array( - 'uri' => '/res/8dc6fb13/rsrc/css/application/maniphest/task-summary.css', + 'uri' => '/res/8c139192/rsrc/css/application/diffusion/commit-view.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/application/maniphest/task-summary.css', + 'disk' => '/rsrc/css/application/diffusion/commit-view.css', ), - 'maniphest-transaction-detail-css' => + 'diffusion-source-css' => array( - 'uri' => '/res/16725026/rsrc/css/application/maniphest/transaction-detail.css', + 'uri' => '/res/7f50817b/rsrc/css/application/diffusion/diffusion-source.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/application/maniphest/transaction-detail.css', + 'disk' => '/rsrc/css/application/diffusion/diffusion-source.css', ), - 'phabricator-object-selector-css' => + 'owners-path-editor-css' => array( - 'uri' => '/res/52a7e289/rsrc/css/application/objectselector/object-selector.css', + 'uri' => '/res/f40dc6b1/rsrc/css/application/owners/owners-path-editor.css', 'type' => 'css', 'requires' => array( - 0 => 'aphront-dialog-view-css', ), - 'disk' => '/rsrc/css/application/objectselector/object-selector.css', + 'disk' => '/rsrc/css/application/owners/owners-path-editor.css', ), - 'owners-path-editor-css' => + 'herald-css' => array( - 'uri' => '/res/f40dc6b1/rsrc/css/application/owners/owners-path-editor.css', + 'uri' => '/res/211a4b1b/rsrc/css/application/herald/herald.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/application/owners/owners-path-editor.css', + 'disk' => '/rsrc/css/application/herald/herald.css', ), - 'phabricator-profile-css' => + 'herald-test-css' => array( - 'uri' => '/res/259ad37f/rsrc/css/application/people/profile.css', + 'uri' => '/res/28269358/rsrc/css/application/herald/herald-test.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/application/people/profile.css', + 'disk' => '/rsrc/css/application/herald/herald-test.css', ), - 'phabricator-ui-example-css' => + 'phabricator-profile-css' => array( - 'uri' => '/res/365a10f1/rsrc/css/application/uiexample/example.css', + 'uri' => '/res/259ad37f/rsrc/css/application/people/profile.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/application/uiexample/example.css', + 'disk' => '/rsrc/css/application/people/profile.css', ), - 'phabricator-core-buttons-css' => + 'differential-table-of-contents-css' => array( - 'uri' => '/res/53b4f712/rsrc/css/core/buttons.css', + 'uri' => '/res/e68f6f05/rsrc/css/application/differential/table-of-contents.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/core/buttons.css', + 'disk' => '/rsrc/css/application/differential/table-of-contents.css', ), - 'phabricator-core-css' => + 'differential-revision-history-css' => array( - 'uri' => '/res/6eebb99b/rsrc/css/core/core.css', + 'uri' => '/res/755f3da3/rsrc/css/application/differential/revision-history.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/core/core.css', + 'disk' => '/rsrc/css/application/differential/revision-history.css', ), - 'phabricator-remarkup-css' => + 'differential-changeset-view-css' => array( - 'uri' => '/res/2eebb293/rsrc/css/core/remarkup.css', + 'uri' => '/res/f26ca6f9/rsrc/css/application/differential/changeset-view.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/core/remarkup.css', + 'disk' => '/rsrc/css/application/differential/changeset-view.css', ), - 'syntax-highlighting-css' => + 'differential-revision-comment-list-css' => array( - 'uri' => '/res/fb673ece/rsrc/css/core/syntax.css', + 'uri' => '/res/10b9a829/rsrc/css/application/differential/revision-comment-list.css', 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/css/core/syntax.css', + 'disk' => '/rsrc/css/application/differential/revision-comment-list.css', ), - 'multirow-row-manager' => + 'differential-revision-detail-css' => array( - 'uri' => '/res/330d076b/rsrc/js/application/core/MultirowRowManager.js', - 'type' => 'js', + 'uri' => '/res/a63e2d06/rsrc/css/application/differential/revision-detail.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/core/MultirowRowManager.js', + 'disk' => '/rsrc/css/application/differential/revision-detail.css', ), - 'javelin-behavior-dark-console' => + 'differential-revision-comment-css' => array( - 'uri' => '/res/020b0265/rsrc/js/application/core/behavior-dark-console.js', - 'type' => 'js', + 'uri' => '/res/7185c7fe/rsrc/css/application/differential/revision-comment.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/application/core/behavior-dark-console.js', + 'disk' => '/rsrc/css/application/differential/revision-comment.css', ), - 'javelin-behavior-error-log' => + 'differential-revision-add-comment-css' => array( - 'uri' => '/res/c57a323f/rsrc/js/application/core/behavior-error-log.js', - 'type' => 'js', + 'uri' => '/res/aaae14d3/rsrc/css/application/differential/add-comment.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/core/behavior-error-log.js', + 'disk' => '/rsrc/css/application/differential/add-comment.css', ), - 'javelin-behavior-phabricator-object-selector' => + 'differential-core-view-css' => array( - 'uri' => '/res/c0f12b29/rsrc/js/application/core/behavior-object-selector.js', - 'type' => 'js', + 'uri' => '/res/525d1a12/rsrc/css/application/differential/core.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/core/behavior-object-selector.js', + 'disk' => '/rsrc/css/application/differential/core.css', ), - 'javelin-behavior-aphront-basic-tokenizer' => + 'phabricator-standard-page-view' => array( - 'uri' => '/res/8317d761/rsrc/js/application/core/behavior-tokenizer.js', - 'type' => 'js', + 'uri' => '/res/0d41ea7c/rsrc/css/application/base/standard-page-view.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/core/behavior-tokenizer.js', + 'disk' => '/rsrc/css/application/base/standard-page-view.css', ), - 'javelin-behavior-workflow' => + 'phabricator-ui-example-css' => array( - 'uri' => '/res/15446e7e/rsrc/js/application/core/behavior-workflow.js', - 'type' => 'js', + 'uri' => '/res/365a10f1/rsrc/css/application/uiexample/example.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/core/behavior-workflow.js', + 'disk' => '/rsrc/css/application/uiexample/example.css', ), - 'javelin-behavior-differential-add-reviewers' => + 'phabricator-object-selector-css' => array( - 'uri' => '/res/330154e4/rsrc/js/application/differential/behavior-add-reviewers.js', - 'type' => 'js', + 'uri' => '/res/52a7e289/rsrc/css/application/objectselector/object-selector.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', + 0 => 'aphront-dialog-view-css', ), - 'disk' => '/rsrc/js/application/differential/behavior-add-reviewers.js', + 'disk' => '/rsrc/css/application/objectselector/object-selector.css', ), - 'javelin-behavior-differential-feedback-preview' => + 'maniphest-task-summary-css' => array( - 'uri' => '/res/8695d8b8/rsrc/js/application/differential/behavior-comment-preview.js', - 'type' => 'js', + 'uri' => '/res/8dc6fb13/rsrc/css/application/maniphest/task-summary.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/differential/behavior-comment-preview.js', + 'disk' => '/rsrc/css/application/maniphest/task-summary.css', ), - 'javelin-behavior-differential-diff-radios' => + 'mainphest-task-detail-css' => array( - 'uri' => '/res/fdeb3823/rsrc/js/application/differential/behavior-diff-radios.js', - 'type' => 'js', + 'uri' => '/res/e5f3beca/rsrc/css/application/maniphest/task-detail.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/differential/behavior-diff-radios.js', + 'disk' => '/rsrc/css/application/maniphest/task-detail.css', ), - 'javelin-behavior-differential-edit-inline-comments' => + 'maniphest-transaction-detail-css' => array( - 'uri' => '/res/74747b2e/rsrc/js/application/differential/behavior-edit-inline-comments.js', - 'type' => 'js', + 'uri' => '/res/16725026/rsrc/css/application/maniphest/transaction-detail.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/differential/behavior-edit-inline-comments.js', + 'disk' => '/rsrc/css/application/maniphest/transaction-detail.css', ), - 'javelin-behavior-differential-populate' => + 'phabricator-directory-css' => array( - 'uri' => '/res/a13dcd7e/rsrc/js/application/differential/behavior-populate.js', - 'type' => 'js', + 'uri' => '/res/6a000601/rsrc/css/application/directory/phabricator-directory.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/differential/behavior-populate.js', + 'disk' => '/rsrc/css/application/directory/phabricator-directory.css', ), - 'javelin-behavior-differential-show-all-comments' => + 'phabricator-remarkup-css' => array( - 'uri' => '/res/2a3592b8/rsrc/js/application/differential/behavior-show-all-comments.js', - 'type' => 'js', + 'uri' => '/res/1fc75ba6/rsrc/css/core/remarkup.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js', + 'disk' => '/rsrc/css/core/remarkup.css', ), - 'javelin-behavior-differential-show-more' => + 'phabricator-core-buttons-css' => array( - 'uri' => '/res/ea998002/rsrc/js/application/differential/behavior-show-more.js', - 'type' => 'js', + 'uri' => '/res/53b4f712/rsrc/css/core/buttons.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/differential/behavior-show-more.js', + 'disk' => '/rsrc/css/core/buttons.css', ), - 'javelin-behavior-diffusion-jump-to' => + 'syntax-highlighting-css' => array( - 'uri' => '/res/4f3f6cdc/rsrc/js/application/diffusion/behavior-jump-to.js', - 'type' => 'js', + 'uri' => '/res/fb673ece/rsrc/css/core/syntax.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/diffusion/behavior-jump-to.js', + 'disk' => '/rsrc/css/core/syntax.css', ), - 'javelin-behavior-diffusion-pull-lastmodified' => + 'phabricator-core-css' => array( - 'uri' => '/res/6a5e7374/rsrc/js/application/diffusion/behavior-pull-lastmodified.js', - 'type' => 'js', + 'uri' => '/res/6eebb99b/rsrc/css/core/core.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/diffusion/behavior-pull-lastmodified.js', + 'disk' => '/rsrc/css/core/core.css', ), - 'herald-rule-editor' => + 'aphront-side-nav-view-css' => array( - 'uri' => '/res/ec8e2110/rsrc/js/application/herald/HeraldRuleEditor.js', - 'type' => 'js', + 'uri' => '/res/4f4c5ca8/rsrc/css/aphront/side-nav-view.css', + 'type' => 'css', 'requires' => array( - 0 => 'multirow-row-manager', - 1 => 'javelin-lib-dev', - 2 => 'javelin-typeahead-dev', - 3 => 'path-typeahead', ), - 'disk' => '/rsrc/js/application/herald/HeraldRuleEditor.js', + 'disk' => '/rsrc/css/aphront/side-nav-view.css', ), - 'path-typeahead' => + 'aphront-list-filter-view-css' => array( - 'uri' => '/res/42fb76c3/rsrc/js/application/herald/PathTypeahead.js', - 'type' => 'js', + 'uri' => '/res/50a790ae/rsrc/css/aphront/list-filter-view.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', - 1 => 'javelin-typeahead-dev', ), - 'disk' => '/rsrc/js/application/herald/PathTypeahead.js', + 'disk' => '/rsrc/css/aphront/list-filter-view.css', ), - 'javelin-behavior-herald-rule-editor' => + 'aphront-tokenizer-control-css' => array( - 'uri' => '/res/48108130/rsrc/js/application/herald/herald-rule-editor.js', - 'type' => 'js', + 'uri' => '/res/190349be/rsrc/css/aphront/tokenizer.css', + 'type' => 'css', 'requires' => array( - 0 => 'herald-rule-editor', - 1 => 'javelin-lib-dev', + 0 => 'aphront-typeahead-control-css', ), - 'disk' => '/rsrc/js/application/herald/herald-rule-editor.js', + 'disk' => '/rsrc/css/aphront/tokenizer.css', ), - 'javelin-behavior-maniphest-transaction-controls' => + 'aphront-request-failure-view-css' => array( - 'uri' => '/res/fc6a8722/rsrc/js/application/maniphest/behavior-transaction-controls.js', - 'type' => 'js', + 'uri' => '/res/97b8337a/rsrc/css/aphront/request-failure-view.css', + 'type' => 'css', 'requires' => array( - 0 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-controls.js', + 'disk' => '/rsrc/css/aphront/request-failure-view.css', ), - 'owners-path-editor' => + 'aphront-dark-console-css' => array( - 'uri' => '/res/b01c1ca9/rsrc/js/application/owners/OwnersPathEditor.js', - 'type' => 'js', + 'uri' => '/res/0417eb95/rsrc/css/aphront/dark-console.css', + 'type' => 'css', 'requires' => array( - 0 => 'multirow-row-manager', - 1 => 'javelin-lib-dev', - 2 => 'javelin-typeahead-dev', - 3 => 'path-typeahead', ), - 'disk' => '/rsrc/js/application/owners/OwnersPathEditor.js', + 'disk' => '/rsrc/css/aphront/dark-console.css', ), - 'javelin-behavior-owners-path-editor' => + 'aphront-panel-view-css' => array( - 'uri' => '/res/7568aa22/rsrc/js/application/owners/owners-path-editor.js', - 'type' => 'js', + 'uri' => '/res/8f9f3632/rsrc/css/aphront/panel-view.css', + 'type' => 'css', 'requires' => array( - 0 => 'owners-path-editor', - 1 => 'javelin-lib-dev', ), - 'disk' => '/rsrc/js/application/owners/owners-path-editor.js', + 'disk' => '/rsrc/css/aphront/panel-view.css', ), - 'javelin-magical-init' => + 'aphront-typeahead-control-css' => array( - 'uri' => '/res/76614f84/rsrc/js/javelin/init.dev.js', - 'type' => 'js', + 'uri' => '/res/928df9f0/rsrc/css/aphront/typeahead.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/init.dev.js', + 'disk' => '/rsrc/css/aphront/typeahead.css', ), - 'javelin-init-prod' => + 'aphront-form-view-css' => array( - 'uri' => '/res/1267c868/rsrc/js/javelin/init.min.js', - 'type' => 'js', + 'uri' => '/res/82eca506/rsrc/css/aphront/form-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/init.min.js', + 'disk' => '/rsrc/css/aphront/form-view.css', ), - 'javelin-lib-dev' => + 'aphront-dialog-view-css' => array( - 'uri' => '/res/a0e7a5e9/rsrc/js/javelin/javelin.dev.js', - 'type' => 'js', + 'uri' => '/res/9be517dc/rsrc/css/aphront/dialog-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/javelin.dev.js', + 'disk' => '/rsrc/css/aphront/dialog-view.css', ), - 'javelin-lib-prod' => + 'aphront-crumbs-view-css' => array( - 'uri' => '/res/2f2b3b2e/rsrc/js/javelin/javelin.min.js', - 'type' => 'js', + 'uri' => '/res/c666a518/rsrc/css/aphront/crumbs-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/javelin.min.js', + 'disk' => '/rsrc/css/aphront/crumbs-view.css', ), - 'javelin-typeahead-dev' => + 'aphront-table-view-css' => array( - 'uri' => '/res/6de6ae59/rsrc/js/javelin/typeahead.dev.js', - 'type' => 'js', + 'uri' => '/res/03724b05/rsrc/css/aphront/table-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/typeahead.dev.js', + 'disk' => '/rsrc/css/aphront/table-view.css', ), - 'javelin-typeahead-prod' => + 'aphront-headsup-action-list-view-css' => array( - 'uri' => '/res/69d5fad1/rsrc/js/javelin/typeahead.min.js', - 'type' => 'js', + 'uri' => '/res/fe9accb9/rsrc/css/aphront/headsup-action-list-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/typeahead.min.js', + 'disk' => '/rsrc/css/aphront/headsup-action-list-view.css', ), - 'javelin-workflow-dev' => + 'aphront-error-view-css' => array( - 'uri' => '/res/c6b17f93/rsrc/js/javelin/workflow.dev.js', - 'type' => 'js', + 'uri' => '/res/19b27527/rsrc/css/aphront/error-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/workflow.dev.js', + 'disk' => '/rsrc/css/aphront/error-view.css', ), - 'javelin-workflow-prod' => + 'aphront-pager-view-css' => array( - 'uri' => '/res/b758e0a0/rsrc/js/javelin/workflow.min.js', - 'type' => 'js', + 'uri' => '/res/73ec8cd5/rsrc/css/aphront/pager-view.css', + 'type' => 'css', 'requires' => array( ), - 'disk' => '/rsrc/js/javelin/workflow.min.js', + 'disk' => '/rsrc/css/aphront/pager-view.css', ), ), array ( 'packages' => array ( - '5493883d' => + 'd06872a7' => array ( 'name' => 'core.pkg.css', 'symbols' => array ( 0 => 'phabricator-core-css', 1 => 'phabricator-core-buttons-css', 2 => 'phabricator-standard-page-view', 3 => 'aphront-dialog-view-css', 4 => 'aphront-form-view-css', 5 => 'aphront-panel-view-css', 6 => 'aphront-side-nav-view-css', 7 => 'aphront-table-view-css', 8 => 'aphront-crumbs-view-css', 9 => 'aphront-tokenizer-control-css', 10 => 'aphront-typeahead-control-css', 11 => 'phabricator-directory-css', 12 => 'phabricator-remarkup-css', 13 => 'syntax-highlighting-css', ), - 'uri' => '/res/pkg/5493883d/core.pkg.css', + 'uri' => '/res/pkg/d06872a7/core.pkg.css', 'type' => 'css', ), '8d8a971a' => array ( 'name' => 'differential.pkg.css', 'symbols' => array ( 0 => 'differential-core-view-css', 1 => 'differential-changeset-view-css', 2 => 'differential-revision-detail-css', 3 => 'differential-revision-history-css', 4 => 'differential-table-of-contents-css', 5 => 'differential-revision-comment-css', 6 => 'differential-revision-add-comment-css', 7 => 'differential-revision-comment-list-css', ), 'uri' => '/res/pkg/8d8a971a/differential.pkg.css', 'type' => 'css', ), - '30d594cf' => + '6c786373' => array ( 'name' => 'differential.pkg.js', 'symbols' => array ( 0 => 'javelin-behavior-differential-feedback-preview', 1 => 'javelin-behavior-differential-edit-inline-comments', 2 => 'javelin-behavior-differential-populate', 3 => 'javelin-behavior-differential-show-more', 4 => 'javelin-behavior-differential-diff-radios', ), - 'uri' => '/res/pkg/30d594cf/differential.pkg.js', + 'uri' => '/res/pkg/6c786373/differential.pkg.js', 'type' => 'js', ), 'eadf6ec3' => array ( 'name' => 'diffusion.pkg.css', 'symbols' => array ( 0 => 'diffusion-commit-view-css', ), 'uri' => '/res/pkg/eadf6ec3/diffusion.pkg.css', 'type' => 'css', ), ), 'reverse' => array ( - 'phabricator-core-css' => '5493883d', - 'phabricator-core-buttons-css' => '5493883d', - 'phabricator-standard-page-view' => '5493883d', - 'aphront-dialog-view-css' => '5493883d', - 'aphront-form-view-css' => '5493883d', - 'aphront-panel-view-css' => '5493883d', - 'aphront-side-nav-view-css' => '5493883d', - 'aphront-table-view-css' => '5493883d', - 'aphront-crumbs-view-css' => '5493883d', - 'aphront-tokenizer-control-css' => '5493883d', - 'aphront-typeahead-control-css' => '5493883d', - 'phabricator-directory-css' => '5493883d', - 'phabricator-remarkup-css' => '5493883d', - 'syntax-highlighting-css' => '5493883d', + 'phabricator-core-css' => 'd06872a7', + 'phabricator-core-buttons-css' => 'd06872a7', + 'phabricator-standard-page-view' => 'd06872a7', + 'aphront-dialog-view-css' => 'd06872a7', + 'aphront-form-view-css' => 'd06872a7', + 'aphront-panel-view-css' => 'd06872a7', + 'aphront-side-nav-view-css' => 'd06872a7', + 'aphront-table-view-css' => 'd06872a7', + 'aphront-crumbs-view-css' => 'd06872a7', + 'aphront-tokenizer-control-css' => 'd06872a7', + 'aphront-typeahead-control-css' => 'd06872a7', + 'phabricator-directory-css' => 'd06872a7', + 'phabricator-remarkup-css' => 'd06872a7', + 'syntax-highlighting-css' => 'd06872a7', 'differential-core-view-css' => '8d8a971a', 'differential-changeset-view-css' => '8d8a971a', 'differential-revision-detail-css' => '8d8a971a', 'differential-revision-history-css' => '8d8a971a', 'differential-table-of-contents-css' => '8d8a971a', 'differential-revision-comment-css' => '8d8a971a', 'differential-revision-add-comment-css' => '8d8a971a', 'differential-revision-comment-list-css' => '8d8a971a', - 'javelin-behavior-differential-feedback-preview' => '30d594cf', - 'javelin-behavior-differential-edit-inline-comments' => '30d594cf', - 'javelin-behavior-differential-populate' => '30d594cf', - 'javelin-behavior-differential-show-more' => '30d594cf', - 'javelin-behavior-differential-diff-radios' => '30d594cf', + 'javelin-behavior-differential-feedback-preview' => '6c786373', + 'javelin-behavior-differential-edit-inline-comments' => '6c786373', + 'javelin-behavior-differential-populate' => '6c786373', + 'javelin-behavior-differential-show-more' => '6c786373', + 'javelin-behavior-differential-diff-radios' => '6c786373', 'diffusion-commit-view-css' => 'eadf6ec3', ), )); diff --git a/src/applications/differential/view/inlinecomment/DifferentialInlineCommentView.php b/src/applications/differential/view/inlinecomment/DifferentialInlineCommentView.php index b293ef07f..31644466f 100644 --- a/src/applications/differential/view/inlinecomment/DifferentialInlineCommentView.php +++ b/src/applications/differential/view/inlinecomment/DifferentialInlineCommentView.php @@ -1,178 +1,186 @@ <?php /* * Copyright 2011 Facebook, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ final class DifferentialInlineCommentView extends AphrontView { private $inlineComment; private $onRight; private $buildScaffolding; private $handles; private $markupEngine; private $editable; public function setInlineComment(DifferentialInlineComment $comment) { $this->inlineComment = $comment; return $this; } public function setOnRight($on_right) { $this->onRight = $on_right; return $this; } public function setBuildScaffolding($scaffold) { $this->buildScaffolding = $scaffold; return $this; } public function setHandles(array $handles) { $this->handles = $handles; return $this; } public function setMarkupEngine(PhutilMarkupEngine $engine) { $this->markupEngine = $engine; return $this; } public function setEditable($editable) { $this->editable = $editable; return $this; } public function render() { $inline = $this->inlineComment; $start = $inline->getLineNumber(); $length = $inline->getLineLength(); if ($length) { $end = $start + $length; $line = 'Lines '.number_format($start).'-'.number_format($end); } else { $line = 'Line '.number_format($start); } $metadata = array( 'id' => $inline->getID(), 'number' => $inline->getLineNumber(), 'length' => $inline->getLineLength(), 'on_right' => $this->onRight, ); $sigil = 'differential-inline-comment'; $content = $inline->getContent(); $handles = $this->handles; $links = array(); + + $links[] = javelin_render_tag( + 'a', + array( + 'href' => '#', + 'mustcapture' => true, + 'sigil' => 'differential-inline-reply', + 'meta' => array( + 'is_new' => true, + 'changeset' => $inline->getChangesetID(), + 'number' => $inline->getLineNumber(), + 'length' => $inline->getLineLength(), + 'on_right' => $this->onRight, + ) + ), + 'Reply'); + if ($this->editable) { $links[] = javelin_render_tag( 'a', array( 'href' => '#', 'mustcapture' => true, 'sigil' => 'differential-inline-edit', ), 'Edit'); $links[] = javelin_render_tag( 'a', array( 'href' => '#', 'mustcapture' => true, 'sigil' => 'differential-inline-delete', ), 'Delete'); } if ($links) { $links = '<span class="differential-inline-comment-links">'. implode(' · ', $links). '</span>'; } else { $links = null; } $cache = $inline->getCache(); if (strlen($cache)) { $content = $cache; } else { $content = $this->markupEngine->markupText($content); if ($inline->getID()) { $inline->setCache($content); $inline->save(); } } $anchor = phutil_render_tag( 'a', array( 'name' => 'inline-'.$inline->getID(), ), ''); $markup = javelin_render_tag( 'div', array( 'class' => 'differential-inline-comment', 'sigil' => $sigil, 'meta' => $metadata, ), '<div class="differential-inline-comment-head">'. $anchor. $links. '<span class="differential-inline-comment-line">'.$line.'</span>'. phutil_escape_html($handles[$inline->getAuthorPHID()]->getName()). '</div>'. '<div class="phabricator-remarkup">'. $content. '</div>'); return $this->scaffoldMarkup($markup); } private function scaffoldMarkup($markup) { if (!$this->buildScaffolding) { return $markup; } - if ($this->onRight) { - return - '<table>'. - '<tr>'. - '<th></th>'. - '<td></td>'. - '<th></th>'. - '<td>'.$markup.'</td>'. - '</tr>'. - '</table>'; - } else { - return - '<table>'. - '<tr>'. - '<th></th>'. - '<td>'.$markup.'</td>'. - '<th></th>'. - '<td></td>'. - '</tr>'. - '</table>'; - } + $left_markup = !$this->onRight ? $markup : ''; + $right_markup = $this->onRight ? $markup : ''; + + return + '<table>'. + '<tr class="inline">'. + '<th></th>'. + '<td>'.$left_markup.'</td>'. + '<th></th>'. + '<td>'.$right_markup.'</td>'. + '</tr>'. + '</table>'; } } diff --git a/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js b/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js index a071abf7e..bac90bde4 100644 --- a/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js +++ b/webroot/rsrc/js/application/differential/behavior-edit-inline-comments.js @@ -1,236 +1,265 @@ /** * @provides javelin-behavior-differential-edit-inline-comments * @requires javelin-lib-dev */ JX.behavior('differential-edit-inline-comments', function(config) { var selecting = false; var reticle = JX.$N('div', {className: 'differential-reticle'}); JX.DOM.hide(reticle); document.body.appendChild(reticle); var origin = null; var target = null; var root = null; var changeset = null; var workflow = false; var is_new = false; function updateReticle() { var top = origin; var bot = target; if (JX.$V(top).y > JX.$V(bot).y) { var tmp = top; top = bot; bot = tmp; } - var code = target.nextSibling; var pos = JX.$V(top).add(1 + JX.$V.getDim(target).x, 0); var dim = JX.$V.getDim(code).add(-4, 0); dim.y = (JX.$V(bot).y - pos.y) + JX.$V.getDim(bot).y; pos.setPos(reticle); dim.setDim(reticle); JX.DOM.show(reticle); } function hideReticle() { JX.DOM.hide(reticle); } function finishSelect() { selecting = false; workflow = false; hideReticle(); } function drawInlineComment(table, anchor, r) { copyRows(table, JX.$N('div', JX.HTML(r.markup)), anchor); finishSelect(); } function isOnRight(node) { return node.parentNode.firstChild != node; } function isNewFile(node) { var data = JX.Stratcom.getData(root); return isOnRight(node) || (data.left != data.right); } function getRowNumber(th_node) { try { return parseInt(th_node.id.match(/^C\d+[ON]L(\d+)$/)[1], 10); } catch (x) { return undefined; } } + function isInlineCommentNode(target) { + return target && + (!JX.DOM.isType(target, 'tr') + || target.className.indexOf('inline') !== -1); + + } + + function findInlineCommentTarget(target) { + while (isInlineCommentNode(target)) { + target = target.nextSibling; + } + return target; + } + JX.Stratcom.listen( 'mousedown', ['differential-changeset', 'tag:th'], function(e) { if (workflow || selecting || getRowNumber(e.getTarget()) === undefined) { return; } selecting = true; root = e.getNode('differential-changeset'); origin = target = e.getTarget(); var data = e.getNodeData('differential-changeset'); if (isOnRight(target)) { changeset = data.left; } else { changeset = data.right; } updateReticle(); e.kill(); }); JX.Stratcom.listen( 'mouseover', ['differential-changeset', 'tag:th'], function(e) { if (!selecting || workflow || (getRowNumber(e.getTarget()) === undefined) || (isOnRight(e.getTarget()) != isOnRight(origin)) || (e.getNode('differential-changeset') !== root)) { return; } target = e.getTarget(); updateReticle(); }); JX.Stratcom.listen( 'mouseup', null, function(e) { if (workflow || !selecting) { return; } var o = getRowNumber(origin); var t = getRowNumber(target); var insert; var len; if (t < o) { len = (o - t); o = t; insert = origin.parentNode; } else { len = (t - o); insert = target.parentNode; } var data = { op: 'new', changeset: changeset, number: o, length: len, is_new: isNewFile(target) ? 1 : 0, on_right: isOnRight(target) ? 1 : 0 }; workflow = true; var w = new JX.Workflow(config.uri, data) .setHandler(function(r) { // Skip over any rows which contain inline feedback. Don't mimic this! // We're shipping around raw HTML here for performance reasons, but // normally you should use sigils to encode this kind of data on // the document. - var target = insert.nextSibling; - while (target && - (!JX.DOM.isType(target, 'tr') - || target.className.indexOf('inline') !== -1)) { - target = target.nextSibling; - } + var target = findInlineCommentTarget(insert.nextSibling); drawInlineComment(insert.parentNode, target, r); finishSelect(); JX.Stratcom.invoke('differential-inline-comment-update'); }) .setCloseHandler(finishSelect); w.listen('error', function(e) { // TODO: uh, tell the user I guess finishSelect(); JX.Stratcom.context().stop(); }); w.start(); e.kill(); }); JX.Stratcom.listen( ['mouseover', 'mouseout'], 'differential-inline-comment', function(e) { if (selecting || workflow) { return; } if (e.getType() == 'mouseout') { hideReticle(); } else { root = e.getNode('differential-changeset'); var data = e.getNodeData('differential-inline-comment'); var change = e.getNodeData('differential-changeset'); var prefix; if (data.on_right) { prefix = 'C' + (change.left) + 'NL'; } else { prefix = 'C' + (change.right) + 'OL'; } origin = JX.$(prefix + data.number); target = JX.$(prefix + (parseInt(data.number, 10) + parseInt(data.length, 10))); updateReticle(); } }); + JX.Stratcom.listen( + 'click', + [['differential-inline-comment', 'differential-inline-reply']], + function(e) { + new JX.Workflow(config.uri, e.getNodeData('differential-inline-reply')) + .setHandler(function(r) { + var base_row = + findInlineCommentTarget( + e.getNode('differential-inline-comment') + .parentNode + .parentNode + ); + drawInlineComment(base_row.parentNode, base_row, r); + JX.Stratcom.invoke('differential-inline-comment-update'); + }) + .start(); + + e.kill(); + } + ); + JX.Stratcom.listen( 'click', [['differential-inline-comment', 'differential-inline-delete'], ['differential-inline-comment', 'differential-inline-edit']], function(e) { var data = { op: e.getNode('differential-inline-edit') ? 'edit' : 'delete', id: e.getNodeData('differential-inline-comment').id, on_right: e.getNodeData('differential-inline-comment').on_right, }; new JX.Workflow(config.uri, data) .setHandler(function(r) { var base_row = e.getNode('differential-inline-comment') .parentNode .parentNode; if (data.op == 'edit' && r.markup) { drawInlineComment(base_row.parentNode, base_row, r); } JX.DOM.remove(base_row); JX.Stratcom.invoke('differential-inline-comment-update'); }) .start(); e.kill(); }); });