diff --git a/resources/celerity/map.php b/resources/celerity/map.php index 686bb008c..b85ec8d42 100644 --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -1,2459 +1,2489 @@ array( 'conpherence.pkg.css' => '0b64e988', 'conpherence.pkg.js' => '6249a1cf', - 'core.pkg.css' => 'e18bf0da', + 'core.pkg.css' => '55d12594', 'core.pkg.js' => 'e4260032', 'darkconsole.pkg.js' => 'e7393ebb', 'differential.pkg.css' => 'a4ba74b5', 'differential.pkg.js' => '634399e9', 'diffusion.pkg.css' => '91c5d3a6', 'diffusion.pkg.js' => '84c8f8fd', 'favicon.ico' => '30672e08', 'maniphest.pkg.css' => '4845691a', - 'maniphest.pkg.js' => '949a7498', + 'maniphest.pkg.js' => '5ab2753f', 'rsrc/css/aphront/aphront-bars.css' => '231ac33c', 'rsrc/css/aphront/dark-console.css' => 'f54bf286', - 'rsrc/css/aphront/dialog-view.css' => '49b2a8a3', + 'rsrc/css/aphront/dialog-view.css' => '938f52c5', 'rsrc/css/aphront/list-filter-view.css' => '5d6f0526', 'rsrc/css/aphront/multi-column.css' => '84cc6640', 'rsrc/css/aphront/notification.css' => '3f6c89c9', 'rsrc/css/aphront/panel-view.css' => '8427b78d', 'rsrc/css/aphront/phabricator-nav-view.css' => 'b29426e9', 'rsrc/css/aphront/table-view.css' => '3225137a', 'rsrc/css/aphront/tokenizer.css' => '9a8cb501', 'rsrc/css/aphront/tooltip.css' => '1a07aea8', 'rsrc/css/aphront/typeahead-browse.css' => '8904346a', 'rsrc/css/aphront/typeahead.css' => 'd4f16145', 'rsrc/css/application/almanac/almanac.css' => 'dbb9b3af', 'rsrc/css/application/auth/auth.css' => '0877ed6e', 'rsrc/css/application/base/main-menu-view.css' => 'f03e17be', 'rsrc/css/application/base/notification-menu.css' => '1e055865', 'rsrc/css/application/base/phabricator-application-launch-view.css' => '95351601', 'rsrc/css/application/base/phui-theme.css' => '798c69b8', 'rsrc/css/application/base/standard-page-view.css' => '894d8a25', 'rsrc/css/application/chatlog/chatlog.css' => 'd295b020', 'rsrc/css/application/conduit/conduit-api.css' => '7bc725c4', 'rsrc/css/application/config/config-options.css' => '0ede4c9b', - 'rsrc/css/application/config/config-page.css' => 'b80124ae', + 'rsrc/css/application/config/config-page.css' => 'c1d5121b', 'rsrc/css/application/config/config-template.css' => '8f18fa41', 'rsrc/css/application/config/setup-issue.css' => 'f794cfc3', 'rsrc/css/application/config/unhandled-exception.css' => '4c96257a', 'rsrc/css/application/conpherence/durable-column.css' => 'd82e130c', 'rsrc/css/application/conpherence/header-pane.css' => '1c81cda6', 'rsrc/css/application/conpherence/menu.css' => '4f51db5a', 'rsrc/css/application/conpherence/message-pane.css' => 'b085d40d', 'rsrc/css/application/conpherence/notification.css' => '965db05b', 'rsrc/css/application/conpherence/participant-pane.css' => 'ac1baaa8', 'rsrc/css/application/conpherence/transaction.css' => '85129c68', 'rsrc/css/application/contentsource/content-source-view.css' => '4b8b05d4', 'rsrc/css/application/countdown/timer.css' => '16c52f5c', 'rsrc/css/application/daemon/bulk-job.css' => 'df9c1d4a', 'rsrc/css/application/dashboard/dashboard.css' => 'bc6f2127', 'rsrc/css/application/diff/inline-comment-summary.css' => '51efda3a', 'rsrc/css/application/differential/add-comment.css' => 'c47f8c40', 'rsrc/css/application/differential/changeset-view.css' => 'b158cc46', 'rsrc/css/application/differential/core.css' => '5b7b8ff4', 'rsrc/css/application/differential/phui-inline-comment.css' => '5953c28e', 'rsrc/css/application/differential/revision-comment.css' => '14b8565a', 'rsrc/css/application/differential/revision-history.css' => '0e8eb855', 'rsrc/css/application/differential/revision-list.css' => 'f3c47d33', 'rsrc/css/application/differential/table-of-contents.css' => 'ae4b7a55', 'rsrc/css/application/diffusion/diffusion-icons.css' => 'd678600a', 'rsrc/css/application/diffusion/diffusion-readme.css' => '297373eb', 'rsrc/css/application/diffusion/diffusion-source.css' => '68b30fd3', 'rsrc/css/application/feed/feed.css' => 'ecd4ec57', 'rsrc/css/application/files/global-drag-and-drop.css' => '5c1b47c2', - 'rsrc/css/application/flag/flag.css' => '5337623f', + 'rsrc/css/application/flag/flag.css' => 'bba8f811', 'rsrc/css/application/harbormaster/harbormaster.css' => 'f491c9f4', 'rsrc/css/application/herald/herald-test.css' => 'a52e323e', 'rsrc/css/application/herald/herald.css' => 'dc31f6e9', 'rsrc/css/application/maniphest/batch-editor.css' => 'b0f0b6d5', 'rsrc/css/application/maniphest/report.css' => '9b9580b7', 'rsrc/css/application/maniphest/task-edit.css' => 'fda62a9b', 'rsrc/css/application/maniphest/task-summary.css' => '11cc5344', 'rsrc/css/application/objectselector/object-selector.css' => '85ee8ce6', 'rsrc/css/application/owners/owners-path-editor.css' => '2f00933b', 'rsrc/css/application/paste/paste.css' => '1898e534', 'rsrc/css/application/people/people-profile.css' => '2473d929', 'rsrc/css/application/phame/phame.css' => '654dd9ef', 'rsrc/css/application/pholio/pholio-edit.css' => '07676f51', 'rsrc/css/application/pholio/pholio-inline-comments.css' => '8e545e49', 'rsrc/css/application/pholio/pholio.css' => 'ca89d380', 'rsrc/css/application/phortune/phortune-credit-card-form.css' => '8391eb02', 'rsrc/css/application/phortune/phortune-invoice.css' => '476055e2', 'rsrc/css/application/phortune/phortune.css' => '5b99dae0', 'rsrc/css/application/phrequent/phrequent.css' => 'ffc185ad', 'rsrc/css/application/phriction/phriction-document-css.css' => '4282e4ad', 'rsrc/css/application/policy/policy-edit.css' => '815c66f7', 'rsrc/css/application/policy/policy-transaction-detail.css' => '82100a43', 'rsrc/css/application/policy/policy.css' => '957ea14c', 'rsrc/css/application/ponder/ponder-view.css' => 'fbd45f96', 'rsrc/css/application/project/project-card-view.css' => '9418c97d', - 'rsrc/css/application/project/project-view.css' => '55d99221', + 'rsrc/css/application/project/project-view.css' => '1e6f7072', 'rsrc/css/application/releeph/releeph-core.css' => '9b3c5733', 'rsrc/css/application/releeph/releeph-preview-branch.css' => 'b7a6f4a5', 'rsrc/css/application/releeph/releeph-request-differential-create-dialog.css' => '8d8b92cd', 'rsrc/css/application/releeph/releeph-request-typeahead.css' => '667a48ae', 'rsrc/css/application/search/application-search-view.css' => '8452c849', - 'rsrc/css/application/search/search-results.css' => '7dea472c', + 'rsrc/css/application/search/search-results.css' => '64ad079a', 'rsrc/css/application/slowvote/slowvote.css' => 'a94b7230', 'rsrc/css/application/tokens/tokens.css' => '3d0f239e', 'rsrc/css/application/uiexample/example.css' => '528b19de', 'rsrc/css/core/core.css' => 'd0801452', 'rsrc/css/core/remarkup.css' => '8606d9c6', 'rsrc/css/core/syntax.css' => '769d3498', 'rsrc/css/core/z-index.css' => 'd1270942', 'rsrc/css/diviner/diviner-shared.css' => 'aa3656aa', 'rsrc/css/font/font-aleo.css' => '8bdb2835', 'rsrc/css/font/font-awesome.css' => '2b7ebbcc', 'rsrc/css/font/font-lato.css' => 'c7ccd872', 'rsrc/css/font/phui-font-icon-base.css' => '870a7360', 'rsrc/css/layout/phabricator-filetree-view.css' => 'fccf9f82', - 'rsrc/css/layout/phabricator-source-code-view.css' => 'cbeef983', + 'rsrc/css/layout/phabricator-source-code-view.css' => '4383192f', 'rsrc/css/phui/calendar/phui-calendar-day.css' => '572b1893', 'rsrc/css/phui/calendar/phui-calendar-list.css' => 'fcc9fb41', 'rsrc/css/phui/calendar/phui-calendar-month.css' => '8e10e92c', 'rsrc/css/phui/calendar/phui-calendar.css' => '477acfaa', + 'rsrc/css/phui/object-item/phui-oi-big-ui.css' => '19f9369b', + 'rsrc/css/phui/object-item/phui-oi-color.css' => 'cd2b9b77', + 'rsrc/css/phui/object-item/phui-oi-drag-ui.css' => 'f12cbc9f', + 'rsrc/css/phui/object-item/phui-oi-flush-ui.css' => '9d9685d6', + 'rsrc/css/phui/object-item/phui-oi-list-view.css' => 'bff632a4', + 'rsrc/css/phui/object-item/phui-oi-simple-ui.css' => 'a8beebea', 'rsrc/css/phui/phui-action-list.css' => 'e1d48300', 'rsrc/css/phui/phui-action-panel.css' => '91c7b835', 'rsrc/css/phui/phui-badge.css' => '3baef8db', 'rsrc/css/phui/phui-basic-nav-view.css' => '7093573b', 'rsrc/css/phui/phui-big-info-view.css' => 'bd903741', - 'rsrc/css/phui/phui-box.css' => '5c8387cf', + 'rsrc/css/phui/phui-box.css' => '33b629f8', 'rsrc/css/phui/phui-button.css' => '43f4912e', 'rsrc/css/phui/phui-chart.css' => '6bf6f78e', 'rsrc/css/phui/phui-cms.css' => 'be43c8a8', 'rsrc/css/phui/phui-comment-form.css' => 'c953b75e', 'rsrc/css/phui/phui-comment-panel.css' => 'f50152ad', - 'rsrc/css/phui/phui-crumbs-view.css' => '195ac419', + 'rsrc/css/phui/phui-crumbs-view.css' => 'f82868f2', 'rsrc/css/phui/phui-curtain-view.css' => '947bf1a4', 'rsrc/css/phui/phui-document-pro.css' => 'c354e312', 'rsrc/css/phui/phui-document-summary.css' => '9ca48bdf', 'rsrc/css/phui/phui-document.css' => 'c32e8dec', 'rsrc/css/phui/phui-feed-story.css' => '44a9c8e9', 'rsrc/css/phui/phui-fontkit.css' => '9cda225e', 'rsrc/css/phui/phui-form-view.css' => 'cd79ff6a', 'rsrc/css/phui/phui-form.css' => '2342b0e5', 'rsrc/css/phui/phui-head-thing.css' => 'fd311e5f', 'rsrc/css/phui/phui-header-view.css' => '6ec8f155', 'rsrc/css/phui/phui-hovercard.css' => 'de1a2119', 'rsrc/css/phui/phui-icon-set-selector.css' => '1ab67aad', 'rsrc/css/phui/phui-icon.css' => '09f46dd9', 'rsrc/css/phui/phui-image-mask.css' => 'a8498f9c', 'rsrc/css/phui/phui-info-panel.css' => '27ea50a1', 'rsrc/css/phui/phui-info-view.css' => 'ec92802a', 'rsrc/css/phui/phui-invisible-character-view.css' => '6993d9f0', 'rsrc/css/phui/phui-lightbox.css' => '0a035e40', 'rsrc/css/phui/phui-list.css' => '9da2aa00', 'rsrc/css/phui/phui-object-box.css' => '6b487c57', - 'rsrc/css/phui/phui-object-item-list-view.css' => '87278fa0', 'rsrc/css/phui/phui-pager.css' => 'bea33d23', 'rsrc/css/phui/phui-pinboard-view.css' => '2495140e', 'rsrc/css/phui/phui-profile-menu.css' => '4768721a', 'rsrc/css/phui/phui-property-list-view.css' => '6d8e58ac', 'rsrc/css/phui/phui-remarkup-preview.css' => '1a8f2591', 'rsrc/css/phui/phui-segment-bar-view.css' => '46342871', 'rsrc/css/phui/phui-spacing.css' => '042804d6', 'rsrc/css/phui/phui-status.css' => 'd5263e49', - 'rsrc/css/phui/phui-tag-view.css' => '6bbd83e2', + 'rsrc/css/phui/phui-tag-view.css' => '84d65f26', 'rsrc/css/phui/phui-timeline-view.css' => 'bc523970', - 'rsrc/css/phui/phui-two-column-view.css' => 'f662d744', + 'rsrc/css/phui/phui-two-column-view.css' => '7babf5b9', 'rsrc/css/phui/workboards/phui-workboard-color.css' => 'b60ef38a', 'rsrc/css/phui/workboards/phui-workboard.css' => '16441d5e', - 'rsrc/css/phui/workboards/phui-workcard.css' => '0c62d7c5', - 'rsrc/css/phui/workboards/phui-workpanel.css' => '92197373', + 'rsrc/css/phui/workboards/phui-workcard.css' => '00979e40', + 'rsrc/css/phui/workboards/phui-workpanel.css' => 'a3a63478', 'rsrc/css/sprite-login.css' => '587d92d7', 'rsrc/css/sprite-tokens.css' => '9cdfd599', 'rsrc/css/syntax/syntax-default.css' => '9923583c', 'rsrc/externals/d3/d3.min.js' => 'a11a5ff2', 'rsrc/externals/font/aleo/aleo-bold.eot' => 'd3d3bed7', 'rsrc/externals/font/aleo/aleo-bold.svg' => '45899c8e', 'rsrc/externals/font/aleo/aleo-bold.ttf' => '4b08bef0', 'rsrc/externals/font/aleo/aleo-bold.woff' => '93b513a1', 'rsrc/externals/font/aleo/aleo-bold.woff2' => '75fbf322', 'rsrc/externals/font/aleo/aleo-regular.eot' => 'a4e29e2f', 'rsrc/externals/font/aleo/aleo-regular.svg' => '42a86f7a', 'rsrc/externals/font/aleo/aleo-regular.ttf' => '751e7479', 'rsrc/externals/font/aleo/aleo-regular.woff' => 'c3744be9', 'rsrc/externals/font/aleo/aleo-regular.woff2' => '851aa0ee', 'rsrc/externals/font/fontawesome/fontawesome-webfont.eot' => '59b3076c', 'rsrc/externals/font/fontawesome/fontawesome-webfont.ttf' => '45ad7e57', 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff' => 'f861e2a8', 'rsrc/externals/font/fontawesome/fontawesome-webfont.woff2' => '0ee0f078', 'rsrc/externals/font/lato/lato-bold.eot' => '99fbcf8c', 'rsrc/externals/font/lato/lato-bold.svg' => '2aa83045', 'rsrc/externals/font/lato/lato-bold.ttf' => '0a7141f7', 'rsrc/externals/font/lato/lato-bold.woff' => 'f5db2061', 'rsrc/externals/font/lato/lato-bold.woff2' => '37a94ecd', 'rsrc/externals/font/lato/lato-bolditalic.eot' => 'b93389d0', 'rsrc/externals/font/lato/lato-bolditalic.svg' => '5442e1ef', 'rsrc/externals/font/lato/lato-bolditalic.ttf' => 'dad31252', 'rsrc/externals/font/lato/lato-bolditalic.woff' => 'e53bcf47', 'rsrc/externals/font/lato/lato-bolditalic.woff2' => 'd035007f', 'rsrc/externals/font/lato/lato-italic.eot' => '6a903f5d', 'rsrc/externals/font/lato/lato-italic.svg' => '0dc7cf2f', 'rsrc/externals/font/lato/lato-italic.ttf' => '629f64f0', 'rsrc/externals/font/lato/lato-italic.woff' => '678dc4bb', 'rsrc/externals/font/lato/lato-italic.woff2' => '7c8dd650', 'rsrc/externals/font/lato/lato-regular.eot' => '848dfb1e', 'rsrc/externals/font/lato/lato-regular.svg' => 'cbd5fd6b', 'rsrc/externals/font/lato/lato-regular.ttf' => 'e270165b', 'rsrc/externals/font/lato/lato-regular.woff' => '13d39fe2', 'rsrc/externals/font/lato/lato-regular.woff2' => '57a9f742', 'rsrc/externals/javelin/core/Event.js' => '2ee659ce', 'rsrc/externals/javelin/core/Stratcom.js' => '6ad39b6f', 'rsrc/externals/javelin/core/__tests__/event-stop-and-kill.js' => '717554e4', 'rsrc/externals/javelin/core/__tests__/install.js' => 'c432ee85', 'rsrc/externals/javelin/core/__tests__/stratcom.js' => '88bf7313', 'rsrc/externals/javelin/core/__tests__/util.js' => 'e251703d', 'rsrc/externals/javelin/core/init.js' => '3010e992', 'rsrc/externals/javelin/core/init_node.js' => 'c234aded', 'rsrc/externals/javelin/core/install.js' => '05270951', 'rsrc/externals/javelin/core/util.js' => '93cc50d6', 'rsrc/externals/javelin/docs/Base.js' => '74676256', 'rsrc/externals/javelin/docs/onload.js' => 'e819c479', 'rsrc/externals/javelin/ext/fx/Color.js' => '7e41274a', 'rsrc/externals/javelin/ext/fx/FX.js' => '54b612ba', 'rsrc/externals/javelin/ext/reactor/core/DynVal.js' => 'f6555212', 'rsrc/externals/javelin/ext/reactor/core/Reactor.js' => '2b8de964', 'rsrc/externals/javelin/ext/reactor/core/ReactorNode.js' => '1ad0a787', 'rsrc/externals/javelin/ext/reactor/core/ReactorNodeCalmer.js' => '76f4ebed', 'rsrc/externals/javelin/ext/reactor/dom/RDOM.js' => 'c90a04fc', 'rsrc/externals/javelin/ext/view/HTMLView.js' => 'fe287620', 'rsrc/externals/javelin/ext/view/View.js' => '0f764c35', 'rsrc/externals/javelin/ext/view/ViewInterpreter.js' => 'f829edb3', 'rsrc/externals/javelin/ext/view/ViewPlaceholder.js' => '47830651', 'rsrc/externals/javelin/ext/view/ViewRenderer.js' => '6c2b09a2', 'rsrc/externals/javelin/ext/view/ViewVisitor.js' => 'efe49472', 'rsrc/externals/javelin/ext/view/__tests__/HTMLView.js' => 'f92d7bcb', 'rsrc/externals/javelin/ext/view/__tests__/View.js' => '6450b38b', 'rsrc/externals/javelin/ext/view/__tests__/ViewInterpreter.js' => '7a94d6a5', 'rsrc/externals/javelin/ext/view/__tests__/ViewRenderer.js' => '6ea96ac9', 'rsrc/externals/javelin/lib/Cookie.js' => '62dfea03', 'rsrc/externals/javelin/lib/DOM.js' => '805b806a', 'rsrc/externals/javelin/lib/History.js' => 'd4505101', 'rsrc/externals/javelin/lib/JSON.js' => '69adf288', 'rsrc/externals/javelin/lib/Leader.js' => 'fea0eb47', 'rsrc/externals/javelin/lib/Mask.js' => '8a41885b', 'rsrc/externals/javelin/lib/Quicksand.js' => '6b8ef10b', 'rsrc/externals/javelin/lib/Request.js' => '94b750d2', 'rsrc/externals/javelin/lib/Resource.js' => '44959b73', 'rsrc/externals/javelin/lib/Routable.js' => 'b3e7d692', 'rsrc/externals/javelin/lib/Router.js' => '29274e2b', 'rsrc/externals/javelin/lib/Scrollbar.js' => '087e919c', 'rsrc/externals/javelin/lib/Sound.js' => '949c0fe5', 'rsrc/externals/javelin/lib/URI.js' => 'c989ade3', 'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8', 'rsrc/externals/javelin/lib/WebSocket.js' => 'e292eaf4', 'rsrc/externals/javelin/lib/Workflow.js' => '1e911d0f', 'rsrc/externals/javelin/lib/__tests__/Cookie.js' => '5ed109e8', 'rsrc/externals/javelin/lib/__tests__/DOM.js' => 'c984504b', 'rsrc/externals/javelin/lib/__tests__/JSON.js' => '837a7d68', 'rsrc/externals/javelin/lib/__tests__/URI.js' => '1e45fda9', 'rsrc/externals/javelin/lib/__tests__/behavior.js' => '1ea62783', 'rsrc/externals/javelin/lib/behavior.js' => '61cbc29a', 'rsrc/externals/javelin/lib/control/tokenizer/Tokenizer.js' => '8d3bc1b2', 'rsrc/externals/javelin/lib/control/typeahead/Typeahead.js' => '70baed2f', 'rsrc/externals/javelin/lib/control/typeahead/normalizer/TypeaheadNormalizer.js' => '185bbd53', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadCompositeSource.js' => '503e17fd', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadOnDemandSource.js' => '013ffff9', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadPreloadedSource.js' => '54f314a0', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadSource.js' => '0fcf201c', 'rsrc/externals/javelin/lib/control/typeahead/source/TypeaheadStaticSource.js' => '6c0e62fa', 'rsrc/favicons/apple-touch-icon-114x114.png' => '12a24178', 'rsrc/favicons/apple-touch-icon-120x120.png' => '0d1543c7', 'rsrc/favicons/apple-touch-icon-144x144.png' => '8043b5a5', 'rsrc/favicons/apple-touch-icon-152x152.png' => '65905ecd', 'rsrc/favicons/apple-touch-icon-57x57.png' => '2bfc7b0a', 'rsrc/favicons/apple-touch-icon-60x60.png' => '8ff52925', 'rsrc/favicons/apple-touch-icon-72x72.png' => 'a2bb65d6', 'rsrc/favicons/apple-touch-icon-76x76.png' => '2d061a11', 'rsrc/favicons/favicon-128.png' => '72f7e812', 'rsrc/favicons/favicon-16x16.png' => 'fc6275ba', 'rsrc/favicons/favicon-196x196.png' => '95db275e', 'rsrc/favicons/favicon-32x32.png' => '5bd18b6c', 'rsrc/favicons/favicon-96x96.png' => '7242c8e9', 'rsrc/favicons/favicon-mention.ico' => '1fdd0fa4', 'rsrc/favicons/favicon-message.ico' => '115bc010', 'rsrc/favicons/favicon.ico' => 'cdb11121', 'rsrc/favicons/mask-icon.svg' => 'e132a80f', 'rsrc/favicons/mstile-144x144.png' => '310c2ee5', 'rsrc/favicons/mstile-150x150.png' => '74bf5133', 'rsrc/favicons/mstile-310x150.png' => '4a49d3ee', 'rsrc/favicons/mstile-310x310.png' => 'a52ab264', 'rsrc/favicons/mstile-70x70.png' => '5edce7b8', 'rsrc/image/BFCFDA.png' => 'd5ec91f4', 'rsrc/image/actions/edit.png' => '2fc41442', 'rsrc/image/avatar.png' => 'e132bb6a', 'rsrc/image/checker_dark.png' => 'd8e65881', 'rsrc/image/checker_light.png' => 'a0155918', 'rsrc/image/checker_lighter.png' => 'd5da91b6', 'rsrc/image/d5d8e1.png' => '0c2a1497', 'rsrc/image/darkload.gif' => '1ffd3ec6', 'rsrc/image/divot.png' => '94dded62', 'rsrc/image/examples/hero.png' => '979a86ae', 'rsrc/image/grippy_texture.png' => 'aca81e2f', 'rsrc/image/icon/fatcow/arrow_branch.png' => '2537c01c', 'rsrc/image/icon/fatcow/arrow_merge.png' => '21b660e0', 'rsrc/image/icon/fatcow/calendar_edit.png' => '24632275', 'rsrc/image/icon/fatcow/document_black.png' => '45fe1c60', 'rsrc/image/icon/fatcow/flag_blue.png' => 'a01abb1d', 'rsrc/image/icon/fatcow/flag_finish.png' => '67825cee', 'rsrc/image/icon/fatcow/flag_ghost.png' => '20ca8783', 'rsrc/image/icon/fatcow/flag_green.png' => '7e0eaa7a', 'rsrc/image/icon/fatcow/flag_orange.png' => '9e73df66', 'rsrc/image/icon/fatcow/flag_pink.png' => '7e92f3b2', 'rsrc/image/icon/fatcow/flag_purple.png' => 'cc517522', 'rsrc/image/icon/fatcow/flag_red.png' => '04ec726f', 'rsrc/image/icon/fatcow/flag_yellow.png' => '73946fd4', 'rsrc/image/icon/fatcow/key_question.png' => '52a0c26a', 'rsrc/image/icon/fatcow/link.png' => '7afd4d5e', 'rsrc/image/icon/fatcow/page_white_edit.png' => '39a2eed8', 'rsrc/image/icon/fatcow/page_white_put.png' => '08c95a0c', 'rsrc/image/icon/fatcow/source/conduit.png' => '4ea01d2f', 'rsrc/image/icon/fatcow/source/email.png' => '9bab3239', 'rsrc/image/icon/fatcow/source/fax.png' => '04195e68', 'rsrc/image/icon/fatcow/source/mobile.png' => 'f1321264', 'rsrc/image/icon/fatcow/source/tablet.png' => '49396799', 'rsrc/image/icon/fatcow/source/web.png' => '136ccb5d', 'rsrc/image/icon/subscribe.png' => 'd03ed5a5', 'rsrc/image/icon/tango/attachment.png' => 'ecc8022e', 'rsrc/image/icon/tango/edit.png' => '929a1363', 'rsrc/image/icon/tango/go-down.png' => '96d95e43', 'rsrc/image/icon/tango/log.png' => 'b08cc63a', 'rsrc/image/icon/tango/upload.png' => '7bbb7984', 'rsrc/image/icon/unsubscribe.png' => '25725013', 'rsrc/image/lightblue-header.png' => '5c168b6d', 'rsrc/image/logo/light-eye.png' => '1a576ddd', 'rsrc/image/main_texture.png' => '29a2c5ad', 'rsrc/image/menu_texture.png' => '5a17580d', 'rsrc/image/people/harding.png' => '45aa614e', 'rsrc/image/people/jefferson.png' => 'afca0e53', 'rsrc/image/people/lincoln.png' => '9369126d', 'rsrc/image/people/mckinley.png' => 'fb8f16ce', 'rsrc/image/people/taft.png' => 'd7bc402c', 'rsrc/image/people/user0.png' => '03dacaea', 'rsrc/image/people/user1.png' => '4a4e7702', 'rsrc/image/people/user2.png' => '47a0ee40', 'rsrc/image/people/user3.png' => '835ff627', 'rsrc/image/people/user4.png' => 'b0e830f1', 'rsrc/image/people/user5.png' => '9c95b369', 'rsrc/image/people/user6.png' => 'ba3fbfb0', 'rsrc/image/people/user7.png' => 'da613924', 'rsrc/image/people/user8.png' => 'f1035edf', 'rsrc/image/people/user9.png' => '66730be3', 'rsrc/image/people/washington.png' => '40dd301c', 'rsrc/image/phrequent_active.png' => 'a466a8ed', 'rsrc/image/phrequent_inactive.png' => 'bfc15a69', 'rsrc/image/resize.png' => 'fd476de4', 'rsrc/image/sprite-login-X2.png' => '4abee916', 'rsrc/image/sprite-login.png' => '2b9663fd', 'rsrc/image/sprite-tokens-X2.png' => '804a5232', 'rsrc/image/sprite-tokens.png' => 'b41d03da', 'rsrc/image/texture/card-gradient.png' => '815f26e8', 'rsrc/image/texture/dark-menu-hover.png' => '5fa7ece8', 'rsrc/image/texture/dark-menu.png' => '7e22296e', 'rsrc/image/texture/grip.png' => '719404f3', 'rsrc/image/texture/panel-header-gradient.png' => 'e3b8dcfe', 'rsrc/image/texture/phlnx-bg.png' => '8d819209', 'rsrc/image/texture/pholio-background.gif' => 'ba29239c', 'rsrc/image/texture/table_header.png' => '5c433037', 'rsrc/image/texture/table_header_hover.png' => '038ec3b9', 'rsrc/image/texture/table_header_tall.png' => 'd56b434f', 'rsrc/js/application/aphlict/Aphlict.js' => '5359e785', 'rsrc/js/application/aphlict/behavior-aphlict-dropdown.js' => '2a171a9d', 'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => 'fb20ac8d', 'rsrc/js/application/aphlict/behavior-aphlict-status.js' => '5e2634b9', 'rsrc/js/application/aphlict/behavior-desktop-notifications-control.js' => 'edd1ba66', 'rsrc/js/application/calendar/behavior-day-view.js' => '4b3c4443', 'rsrc/js/application/calendar/behavior-event-all-day.js' => 'b41537c9', 'rsrc/js/application/calendar/behavior-month-view.js' => 'fe33e256', 'rsrc/js/application/config/behavior-reorder-fields.js' => 'b6993408', 'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => 'c8b5ee6f', 'rsrc/js/application/conpherence/behavior-conpherence-search.js' => '9bbf3762', 'rsrc/js/application/conpherence/behavior-durable-column.js' => 'aa3bd034', 'rsrc/js/application/conpherence/behavior-menu.js' => '7524fcfa', 'rsrc/js/application/conpherence/behavior-participant-pane.js' => '8604caa8', 'rsrc/js/application/conpherence/behavior-pontificate.js' => 'f2e58483', 'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3', 'rsrc/js/application/conpherence/behavior-toggle-widget.js' => '3dbf94d5', 'rsrc/js/application/countdown/timer.js' => 'e4cc26b3', 'rsrc/js/application/daemon/behavior-bulk-job-reload.js' => 'edf8a145', 'rsrc/js/application/dashboard/behavior-dashboard-async-panel.js' => '469c0d9e', 'rsrc/js/application/dashboard/behavior-dashboard-move-panels.js' => '019f36c4', 'rsrc/js/application/dashboard/behavior-dashboard-query-panel-select.js' => '453c5375', 'rsrc/js/application/dashboard/behavior-dashboard-tab-panel.js' => 'd4eecc63', 'rsrc/js/application/differential/ChangesetViewManager.js' => 'a2828756', 'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => '64a5550f', 'rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js' => 'e10f8e18', 'rsrc/js/application/differential/behavior-comment-jump.js' => '4fdb476d', 'rsrc/js/application/differential/behavior-comment-preview.js' => 'b064af76', 'rsrc/js/application/differential/behavior-diff-radios.js' => 'e1ff79b1', 'rsrc/js/application/differential/behavior-dropdown-menus.js' => '9a6b9324', 'rsrc/js/application/differential/behavior-edit-inline-comments.js' => '4fbbc3e9', 'rsrc/js/application/differential/behavior-keyboard-nav.js' => '2c426492', 'rsrc/js/application/differential/behavior-populate.js' => '8694b1df', 'rsrc/js/application/differential/behavior-toggle-files.js' => 'ca3f91eb', 'rsrc/js/application/differential/behavior-user-select.js' => 'a8d8459d', 'rsrc/js/application/diffusion/DiffusionLocateFileSource.js' => 'b42eddc7', 'rsrc/js/application/diffusion/behavior-audit-preview.js' => 'd835b03a', 'rsrc/js/application/diffusion/behavior-commit-branches.js' => 'bdaf4d04', 'rsrc/js/application/diffusion/behavior-commit-graph.js' => '49ae8328', 'rsrc/js/application/diffusion/behavior-diffusion-browse-file.js' => '054a0f0b', 'rsrc/js/application/diffusion/behavior-jump-to.js' => '73d09eef', 'rsrc/js/application/diffusion/behavior-load-blame.js' => '42126667', 'rsrc/js/application/diffusion/behavior-locate-file.js' => '6d3e1947', 'rsrc/js/application/diffusion/behavior-pull-lastmodified.js' => 'f01586dc', 'rsrc/js/application/doorkeeper/behavior-doorkeeper-tag.js' => 'e5822781', 'rsrc/js/application/drydock/drydock-live-operation-status.js' => '901935ef', 'rsrc/js/application/files/behavior-icon-composer.js' => '8499b6ab', 'rsrc/js/application/files/behavior-launch-icon-composer.js' => '48086888', 'rsrc/js/application/herald/HeraldRuleEditor.js' => 'd6a7e717', 'rsrc/js/application/herald/PathTypeahead.js' => 'f7fc67ec', 'rsrc/js/application/herald/herald-rule-editor.js' => '7ebaeed3', 'rsrc/js/application/maniphest/behavior-batch-editor.js' => '782ab6e7', - 'rsrc/js/application/maniphest/behavior-batch-selector.js' => '7b98d7c5', + 'rsrc/js/application/maniphest/behavior-batch-selector.js' => '0825c27a', 'rsrc/js/application/maniphest/behavior-line-chart.js' => 'e4232876', 'rsrc/js/application/maniphest/behavior-list-edit.js' => 'a9f88de2', 'rsrc/js/application/maniphest/behavior-subpriorityeditor.js' => '71237763', 'rsrc/js/application/owners/OwnersPathEditor.js' => 'aa1733d0', 'rsrc/js/application/owners/owners-path-editor.js' => '7a68dda3', 'rsrc/js/application/passphrase/passphrase-credential-control.js' => '3cb0b2fc', 'rsrc/js/application/pholio/behavior-pholio-mock-edit.js' => 'bee502c8', 'rsrc/js/application/pholio/behavior-pholio-mock-view.js' => 'fbe497e7', 'rsrc/js/application/phortune/behavior-stripe-payment-form.js' => '3f5d6dbf', 'rsrc/js/application/phortune/behavior-test-payment-form.js' => 'fc91ab6c', 'rsrc/js/application/phortune/phortune-credit-card-form.js' => '2290aeef', 'rsrc/js/application/policy/behavior-policy-control.js' => 'd0c516d5', 'rsrc/js/application/policy/behavior-policy-rule-editor.js' => '5e9f347c', 'rsrc/js/application/projects/WorkboardBoard.js' => 'fe7cb52a', 'rsrc/js/application/projects/WorkboardCard.js' => 'c587b80f', 'rsrc/js/application/projects/WorkboardColumn.js' => '21df4ff5', 'rsrc/js/application/projects/WorkboardController.js' => '55baf5ed', 'rsrc/js/application/projects/behavior-project-boards.js' => '14a1faae', 'rsrc/js/application/projects/behavior-project-create.js' => '065227cc', 'rsrc/js/application/projects/behavior-reorder-columns.js' => 'e1d25dfb', 'rsrc/js/application/releeph/releeph-preview-branch.js' => 'b2b4fbaf', 'rsrc/js/application/releeph/releeph-request-state-change.js' => 'a0b57eb8', 'rsrc/js/application/releeph/releeph-request-typeahead.js' => 'de2e896f', 'rsrc/js/application/repository/repository-crossreference.js' => 'e5339c43', 'rsrc/js/application/search/behavior-reorder-profile-menu-items.js' => 'e2e0a072', 'rsrc/js/application/search/behavior-reorder-queries.js' => 'e9581f08', 'rsrc/js/application/slowvote/behavior-slowvote-embed.js' => '887ad43f', 'rsrc/js/application/transactions/behavior-comment-actions.js' => '1be09f3f', 'rsrc/js/application/transactions/behavior-reorder-configs.js' => 'd7a74243', 'rsrc/js/application/transactions/behavior-reorder-fields.js' => 'b59e1e96', 'rsrc/js/application/transactions/behavior-show-older-transactions.js' => '94c65b72', 'rsrc/js/application/transactions/behavior-transaction-comment-form.js' => 'b23b49e6', 'rsrc/js/application/transactions/behavior-transaction-list.js' => '13c739ea', 'rsrc/js/application/typeahead/behavior-typeahead-browse.js' => '635de1ec', 'rsrc/js/application/typeahead/behavior-typeahead-search.js' => '93d0c9e3', 'rsrc/js/application/uiexample/JavelinViewExample.js' => 'd4a14807', 'rsrc/js/application/uiexample/ReactorButtonExample.js' => 'd19198c8', 'rsrc/js/application/uiexample/ReactorCheckboxExample.js' => '519705ea', 'rsrc/js/application/uiexample/ReactorFocusExample.js' => '40a6a403', 'rsrc/js/application/uiexample/ReactorInputExample.js' => '886fd850', 'rsrc/js/application/uiexample/ReactorMouseoverExample.js' => '47c794d8', 'rsrc/js/application/uiexample/ReactorRadioExample.js' => '988040b4', 'rsrc/js/application/uiexample/ReactorSelectExample.js' => 'a155550f', 'rsrc/js/application/uiexample/ReactorSendClassExample.js' => '1def2711', 'rsrc/js/application/uiexample/ReactorSendPropertiesExample.js' => 'b1f0ccee', 'rsrc/js/application/uiexample/busy-example.js' => '60479091', 'rsrc/js/application/uiexample/gesture-example.js' => '558829c2', 'rsrc/js/application/uiexample/notification-example.js' => '8ce821c5', 'rsrc/js/core/Busy.js' => '59a7976a', 'rsrc/js/core/DragAndDropFileUpload.js' => '58dea2fa', 'rsrc/js/core/DraggableList.js' => 'bea6e7f4', 'rsrc/js/core/Favicon.js' => '1fe2510c', 'rsrc/js/core/FileUpload.js' => '680ea2c8', 'rsrc/js/core/Hovercard.js' => '1bd28176', 'rsrc/js/core/KeyboardShortcut.js' => '1ae869f2', 'rsrc/js/core/KeyboardShortcutManager.js' => '4a021c10', 'rsrc/js/core/MultirowRowManager.js' => 'b5d57730', 'rsrc/js/core/Notification.js' => 'ccf1cbf8', 'rsrc/js/core/Prefab.js' => '8d40ae75', 'rsrc/js/core/ShapedRequest.js' => '7cbe244b', 'rsrc/js/core/TextAreaUtils.js' => '320810c8', 'rsrc/js/core/Title.js' => '485aaa6c', 'rsrc/js/core/ToolTip.js' => '6323f942', 'rsrc/js/core/behavior-active-nav.js' => 'e379b58e', 'rsrc/js/core/behavior-audio-source.js' => '59b251eb', 'rsrc/js/core/behavior-autofocus.js' => '7319e029', 'rsrc/js/core/behavior-badge-view.js' => '8ff5e24c', 'rsrc/js/core/behavior-choose-control.js' => '327a00d1', 'rsrc/js/core/behavior-dark-console.js' => 'f411b6ae', 'rsrc/js/core/behavior-detect-timezone.js' => '4c193c96', 'rsrc/js/core/behavior-device.js' => 'bb1dd507', 'rsrc/js/core/behavior-drag-and-drop-textarea.js' => '484a6e22', 'rsrc/js/core/behavior-error-log.js' => '6882e80a', 'rsrc/js/core/behavior-fancy-datepicker.js' => 'a9210d03', 'rsrc/js/core/behavior-file-tree.js' => '88236f00', 'rsrc/js/core/behavior-form.js' => '5c54cbf3', 'rsrc/js/core/behavior-gesture.js' => '3ab51e2c', 'rsrc/js/core/behavior-global-drag-and-drop.js' => '960f6a39', 'rsrc/js/core/behavior-high-security-warning.js' => 'a464fe03', 'rsrc/js/core/behavior-history-install.js' => '7ee2b591', 'rsrc/js/core/behavior-hovercard.js' => 'bcaccd64', 'rsrc/js/core/behavior-keyboard-pager.js' => 'a8da01f0', 'rsrc/js/core/behavior-keyboard-shortcuts.js' => '01fca1f0', 'rsrc/js/core/behavior-lightbox-attachments.js' => 'ddcd41cf', 'rsrc/js/core/behavior-line-linker.js' => '1499a8cb', 'rsrc/js/core/behavior-more.js' => 'a80d0378', 'rsrc/js/core/behavior-object-selector.js' => 'e0ec7f2f', 'rsrc/js/core/behavior-oncopy.js' => '2926fff2', 'rsrc/js/core/behavior-phabricator-nav.js' => '08675c6d', 'rsrc/js/core/behavior-phabricator-remarkup-assist.js' => '116cf19b', 'rsrc/js/core/behavior-read-only-warning.js' => 'ba158207', 'rsrc/js/core/behavior-refresh-csrf.js' => 'ab2f381b', 'rsrc/js/core/behavior-remarkup-preview.js' => '4b700e9e', 'rsrc/js/core/behavior-reorder-applications.js' => '76b9fc3e', 'rsrc/js/core/behavior-reveal-content.js' => '60821bc7', 'rsrc/js/core/behavior-scrollbar.js' => '834a1173', 'rsrc/js/core/behavior-search-typeahead.js' => '06c32383', 'rsrc/js/core/behavior-select-content.js' => 'bf5374ef', 'rsrc/js/core/behavior-select-on-click.js' => '4e3e79a6', 'rsrc/js/core/behavior-setup-check-https.js' => '491416b3', 'rsrc/js/core/behavior-time-typeahead.js' => '522431f7', 'rsrc/js/core/behavior-toggle-class.js' => '92b9ec77', 'rsrc/js/core/behavior-tokenizer.js' => 'b3a4b884', 'rsrc/js/core/behavior-tooltip.js' => '42fcb747', 'rsrc/js/core/behavior-watch-anchor.js' => '9f36c42d', 'rsrc/js/core/behavior-workflow.js' => '0a3f3021', 'rsrc/js/core/phtize.js' => 'd254d646', 'rsrc/js/phui/behavior-phui-dropdown-menu.js' => '1aa4c968', 'rsrc/js/phui/behavior-phui-file-upload.js' => 'b003d4fb', 'rsrc/js/phui/behavior-phui-profile-menu.js' => '12884df9', 'rsrc/js/phui/behavior-phui-submenu.js' => 'a6f7a73b', 'rsrc/js/phui/behavior-phui-tab-group.js' => '0a0b10e9', 'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8', 'rsrc/js/phuix/PHUIXActionView.js' => '8cf6d262', 'rsrc/js/phuix/PHUIXAutocomplete.js' => '6d86ce8b', 'rsrc/js/phuix/PHUIXDropdownMenu.js' => '82e270da', 'rsrc/js/phuix/PHUIXFormControl.js' => '301b7812', 'rsrc/js/phuix/PHUIXIconView.js' => 'bff6884b', ), 'symbols' => array( 'almanac-css' => 'dbb9b3af', 'aphront-bars' => '231ac33c', 'aphront-dark-console-css' => 'f54bf286', - 'aphront-dialog-view-css' => '49b2a8a3', + 'aphront-dialog-view-css' => '938f52c5', 'aphront-list-filter-view-css' => '5d6f0526', 'aphront-multi-column-view-css' => '84cc6640', 'aphront-panel-view-css' => '8427b78d', 'aphront-table-view-css' => '3225137a', 'aphront-tokenizer-control-css' => '9a8cb501', 'aphront-tooltip-css' => '1a07aea8', 'aphront-typeahead-control-css' => 'd4f16145', 'application-search-view-css' => '8452c849', 'auth-css' => '0877ed6e', 'bulk-job-css' => 'df9c1d4a', 'changeset-view-manager' => 'a2828756', 'conduit-api-css' => '7bc725c4', 'config-options-css' => '0ede4c9b', - 'config-page-css' => 'b80124ae', + 'config-page-css' => 'c1d5121b', 'conpherence-durable-column-view' => 'd82e130c', 'conpherence-header-pane-css' => '1c81cda6', 'conpherence-menu-css' => '4f51db5a', 'conpherence-message-pane-css' => 'b085d40d', 'conpherence-notification-css' => '965db05b', 'conpherence-participant-pane-css' => 'ac1baaa8', 'conpherence-thread-manager' => 'c8b5ee6f', 'conpherence-transaction-css' => '85129c68', 'd3' => 'a11a5ff2', 'differential-changeset-view-css' => 'b158cc46', 'differential-core-view-css' => '5b7b8ff4', 'differential-inline-comment-editor' => '64a5550f', 'differential-revision-add-comment-css' => 'c47f8c40', 'differential-revision-comment-css' => '14b8565a', 'differential-revision-history-css' => '0e8eb855', 'differential-revision-list-css' => 'f3c47d33', 'differential-table-of-contents-css' => 'ae4b7a55', 'diffusion-icons-css' => 'd678600a', 'diffusion-readme-css' => '297373eb', 'diffusion-source-css' => '68b30fd3', 'diviner-shared-css' => 'aa3656aa', 'font-aleo' => '8bdb2835', 'font-fontawesome' => '2b7ebbcc', 'font-lato' => 'c7ccd872', 'global-drag-and-drop-css' => '5c1b47c2', 'harbormaster-css' => 'f491c9f4', 'herald-css' => 'dc31f6e9', 'herald-rule-editor' => 'd6a7e717', 'herald-test-css' => 'a52e323e', 'inline-comment-summary-css' => '51efda3a', 'javelin-aphlict' => '5359e785', 'javelin-behavior' => '61cbc29a', 'javelin-behavior-aphlict-dropdown' => '2a171a9d', 'javelin-behavior-aphlict-listen' => 'fb20ac8d', 'javelin-behavior-aphlict-status' => '5e2634b9', 'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884', 'javelin-behavior-aphront-drag-and-drop-textarea' => '484a6e22', 'javelin-behavior-aphront-form-disable-on-submit' => '5c54cbf3', 'javelin-behavior-aphront-more' => 'a80d0378', 'javelin-behavior-audio-source' => '59b251eb', 'javelin-behavior-audit-preview' => 'd835b03a', 'javelin-behavior-badge-view' => '8ff5e24c', 'javelin-behavior-bulk-job-reload' => 'edf8a145', 'javelin-behavior-calendar-month-view' => 'fe33e256', 'javelin-behavior-choose-control' => '327a00d1', 'javelin-behavior-comment-actions' => '1be09f3f', 'javelin-behavior-config-reorder-fields' => 'b6993408', 'javelin-behavior-conpherence-menu' => '7524fcfa', 'javelin-behavior-conpherence-participant-pane' => '8604caa8', 'javelin-behavior-conpherence-pontificate' => 'f2e58483', 'javelin-behavior-conpherence-search' => '9bbf3762', 'javelin-behavior-countdown-timer' => 'e4cc26b3', 'javelin-behavior-dark-console' => 'f411b6ae', 'javelin-behavior-dashboard-async-panel' => '469c0d9e', 'javelin-behavior-dashboard-move-panels' => '019f36c4', 'javelin-behavior-dashboard-query-panel-select' => '453c5375', 'javelin-behavior-dashboard-tab-panel' => 'd4eecc63', 'javelin-behavior-day-view' => '4b3c4443', 'javelin-behavior-desktop-notifications-control' => 'edd1ba66', 'javelin-behavior-detect-timezone' => '4c193c96', 'javelin-behavior-device' => 'bb1dd507', 'javelin-behavior-differential-add-reviewers-and-ccs' => 'e10f8e18', 'javelin-behavior-differential-comment-jump' => '4fdb476d', 'javelin-behavior-differential-diff-radios' => 'e1ff79b1', 'javelin-behavior-differential-dropdown-menus' => '9a6b9324', 'javelin-behavior-differential-edit-inline-comments' => '4fbbc3e9', 'javelin-behavior-differential-feedback-preview' => 'b064af76', 'javelin-behavior-differential-keyboard-navigation' => '2c426492', 'javelin-behavior-differential-populate' => '8694b1df', 'javelin-behavior-differential-toggle-files' => 'ca3f91eb', 'javelin-behavior-differential-user-select' => 'a8d8459d', 'javelin-behavior-diffusion-browse-file' => '054a0f0b', 'javelin-behavior-diffusion-commit-branches' => 'bdaf4d04', 'javelin-behavior-diffusion-commit-graph' => '49ae8328', 'javelin-behavior-diffusion-jump-to' => '73d09eef', 'javelin-behavior-diffusion-locate-file' => '6d3e1947', 'javelin-behavior-diffusion-pull-lastmodified' => 'f01586dc', 'javelin-behavior-doorkeeper-tag' => 'e5822781', 'javelin-behavior-drydock-live-operation-status' => '901935ef', 'javelin-behavior-durable-column' => 'aa3bd034', 'javelin-behavior-editengine-reorder-configs' => 'd7a74243', 'javelin-behavior-editengine-reorder-fields' => 'b59e1e96', 'javelin-behavior-error-log' => '6882e80a', 'javelin-behavior-event-all-day' => 'b41537c9', 'javelin-behavior-fancy-datepicker' => 'a9210d03', 'javelin-behavior-global-drag-and-drop' => '960f6a39', 'javelin-behavior-herald-rule-editor' => '7ebaeed3', 'javelin-behavior-high-security-warning' => 'a464fe03', 'javelin-behavior-history-install' => '7ee2b591', 'javelin-behavior-icon-composer' => '8499b6ab', 'javelin-behavior-launch-icon-composer' => '48086888', 'javelin-behavior-lightbox-attachments' => 'ddcd41cf', 'javelin-behavior-line-chart' => 'e4232876', 'javelin-behavior-load-blame' => '42126667', 'javelin-behavior-maniphest-batch-editor' => '782ab6e7', - 'javelin-behavior-maniphest-batch-selector' => '7b98d7c5', + 'javelin-behavior-maniphest-batch-selector' => '0825c27a', 'javelin-behavior-maniphest-list-editor' => 'a9f88de2', 'javelin-behavior-maniphest-subpriority-editor' => '71237763', 'javelin-behavior-owners-path-editor' => '7a68dda3', 'javelin-behavior-passphrase-credential-control' => '3cb0b2fc', 'javelin-behavior-phabricator-active-nav' => 'e379b58e', 'javelin-behavior-phabricator-autofocus' => '7319e029', 'javelin-behavior-phabricator-busy-example' => '60479091', 'javelin-behavior-phabricator-file-tree' => '88236f00', 'javelin-behavior-phabricator-gesture' => '3ab51e2c', 'javelin-behavior-phabricator-gesture-example' => '558829c2', 'javelin-behavior-phabricator-keyboard-pager' => 'a8da01f0', 'javelin-behavior-phabricator-keyboard-shortcuts' => '01fca1f0', 'javelin-behavior-phabricator-line-linker' => '1499a8cb', 'javelin-behavior-phabricator-nav' => '08675c6d', 'javelin-behavior-phabricator-notification-example' => '8ce821c5', 'javelin-behavior-phabricator-object-selector' => 'e0ec7f2f', 'javelin-behavior-phabricator-oncopy' => '2926fff2', 'javelin-behavior-phabricator-remarkup-assist' => '116cf19b', 'javelin-behavior-phabricator-reveal-content' => '60821bc7', 'javelin-behavior-phabricator-search-typeahead' => '06c32383', 'javelin-behavior-phabricator-show-older-transactions' => '94c65b72', 'javelin-behavior-phabricator-tooltips' => '42fcb747', 'javelin-behavior-phabricator-transaction-comment-form' => 'b23b49e6', 'javelin-behavior-phabricator-transaction-list' => '13c739ea', 'javelin-behavior-phabricator-watch-anchor' => '9f36c42d', 'javelin-behavior-pholio-mock-edit' => 'bee502c8', 'javelin-behavior-pholio-mock-view' => 'fbe497e7', 'javelin-behavior-phui-dropdown-menu' => '1aa4c968', 'javelin-behavior-phui-file-upload' => 'b003d4fb', 'javelin-behavior-phui-hovercards' => 'bcaccd64', 'javelin-behavior-phui-profile-menu' => '12884df9', 'javelin-behavior-phui-submenu' => 'a6f7a73b', 'javelin-behavior-phui-tab-group' => '0a0b10e9', 'javelin-behavior-policy-control' => 'd0c516d5', 'javelin-behavior-policy-rule-editor' => '5e9f347c', 'javelin-behavior-project-boards' => '14a1faae', 'javelin-behavior-project-create' => '065227cc', 'javelin-behavior-quicksand-blacklist' => '7927a7d3', 'javelin-behavior-read-only-warning' => 'ba158207', 'javelin-behavior-refresh-csrf' => 'ab2f381b', 'javelin-behavior-releeph-preview-branch' => 'b2b4fbaf', 'javelin-behavior-releeph-request-state-change' => 'a0b57eb8', 'javelin-behavior-releeph-request-typeahead' => 'de2e896f', 'javelin-behavior-remarkup-preview' => '4b700e9e', 'javelin-behavior-reorder-applications' => '76b9fc3e', 'javelin-behavior-reorder-columns' => 'e1d25dfb', 'javelin-behavior-reorder-profile-menu-items' => 'e2e0a072', 'javelin-behavior-repository-crossreference' => 'e5339c43', 'javelin-behavior-scrollbar' => '834a1173', 'javelin-behavior-search-reorder-queries' => 'e9581f08', 'javelin-behavior-select-content' => 'bf5374ef', 'javelin-behavior-select-on-click' => '4e3e79a6', 'javelin-behavior-setup-check-https' => '491416b3', 'javelin-behavior-slowvote-embed' => '887ad43f', 'javelin-behavior-stripe-payment-form' => '3f5d6dbf', 'javelin-behavior-test-payment-form' => 'fc91ab6c', 'javelin-behavior-time-typeahead' => '522431f7', 'javelin-behavior-toggle-class' => '92b9ec77', 'javelin-behavior-toggle-widget' => '3dbf94d5', 'javelin-behavior-typeahead-browse' => '635de1ec', 'javelin-behavior-typeahead-search' => '93d0c9e3', 'javelin-behavior-view-placeholder' => '47830651', 'javelin-behavior-workflow' => '0a3f3021', 'javelin-color' => '7e41274a', 'javelin-cookie' => '62dfea03', 'javelin-diffusion-locate-file-source' => 'b42eddc7', 'javelin-dom' => '805b806a', 'javelin-dynval' => 'f6555212', 'javelin-event' => '2ee659ce', 'javelin-fx' => '54b612ba', 'javelin-history' => 'd4505101', 'javelin-install' => '05270951', 'javelin-json' => '69adf288', 'javelin-leader' => 'fea0eb47', 'javelin-magical-init' => '3010e992', 'javelin-mask' => '8a41885b', 'javelin-quicksand' => '6b8ef10b', 'javelin-reactor' => '2b8de964', 'javelin-reactor-dom' => 'c90a04fc', 'javelin-reactor-node-calmer' => '76f4ebed', 'javelin-reactornode' => '1ad0a787', 'javelin-request' => '94b750d2', 'javelin-resource' => '44959b73', 'javelin-routable' => 'b3e7d692', 'javelin-router' => '29274e2b', 'javelin-scrollbar' => '087e919c', 'javelin-sound' => '949c0fe5', 'javelin-stratcom' => '6ad39b6f', 'javelin-tokenizer' => '8d3bc1b2', 'javelin-typeahead' => '70baed2f', 'javelin-typeahead-composite-source' => '503e17fd', 'javelin-typeahead-normalizer' => '185bbd53', 'javelin-typeahead-ondemand-source' => '013ffff9', 'javelin-typeahead-preloaded-source' => '54f314a0', 'javelin-typeahead-source' => '0fcf201c', 'javelin-typeahead-static-source' => '6c0e62fa', 'javelin-uri' => 'c989ade3', 'javelin-util' => '93cc50d6', 'javelin-vector' => '2caa8fb8', 'javelin-view' => '0f764c35', 'javelin-view-html' => 'fe287620', 'javelin-view-interpreter' => 'f829edb3', 'javelin-view-renderer' => '6c2b09a2', 'javelin-view-visitor' => 'efe49472', 'javelin-websocket' => 'e292eaf4', 'javelin-workboard-board' => 'fe7cb52a', 'javelin-workboard-card' => 'c587b80f', 'javelin-workboard-column' => '21df4ff5', 'javelin-workboard-controller' => '55baf5ed', 'javelin-workflow' => '1e911d0f', 'maniphest-batch-editor' => 'b0f0b6d5', 'maniphest-report-css' => '9b9580b7', 'maniphest-task-edit-css' => 'fda62a9b', 'maniphest-task-summary-css' => '11cc5344', 'multirow-row-manager' => 'b5d57730', 'owners-path-editor' => 'aa1733d0', 'owners-path-editor-css' => '2f00933b', 'paste-css' => '1898e534', 'path-typeahead' => 'f7fc67ec', 'people-profile-css' => '2473d929', 'phabricator-action-list-view-css' => 'e1d48300', 'phabricator-application-launch-view-css' => '95351601', 'phabricator-busy' => '59a7976a', 'phabricator-chatlog-css' => 'd295b020', 'phabricator-content-source-view-css' => '4b8b05d4', 'phabricator-core-css' => 'd0801452', 'phabricator-countdown-css' => '16c52f5c', 'phabricator-dashboard-css' => 'bc6f2127', 'phabricator-drag-and-drop-file-upload' => '58dea2fa', 'phabricator-draggable-list' => 'bea6e7f4', 'phabricator-fatal-config-template-css' => '8f18fa41', 'phabricator-favicon' => '1fe2510c', 'phabricator-feed-css' => 'ecd4ec57', 'phabricator-file-upload' => '680ea2c8', 'phabricator-filetree-view-css' => 'fccf9f82', - 'phabricator-flag-css' => '5337623f', + 'phabricator-flag-css' => 'bba8f811', 'phabricator-keyboard-shortcut' => '1ae869f2', 'phabricator-keyboard-shortcut-manager' => '4a021c10', 'phabricator-main-menu-view' => 'f03e17be', 'phabricator-nav-view-css' => 'b29426e9', 'phabricator-notification' => 'ccf1cbf8', 'phabricator-notification-css' => '3f6c89c9', 'phabricator-notification-menu-css' => '1e055865', 'phabricator-object-selector-css' => '85ee8ce6', 'phabricator-phtize' => 'd254d646', 'phabricator-prefab' => '8d40ae75', 'phabricator-remarkup-css' => '8606d9c6', - 'phabricator-search-results-css' => '7dea472c', + 'phabricator-search-results-css' => '64ad079a', 'phabricator-shaped-request' => '7cbe244b', 'phabricator-slowvote-css' => 'a94b7230', - 'phabricator-source-code-view-css' => 'cbeef983', + 'phabricator-source-code-view-css' => '4383192f', 'phabricator-standard-page-view' => '894d8a25', 'phabricator-textareautils' => '320810c8', 'phabricator-title' => '485aaa6c', 'phabricator-tooltip' => '6323f942', 'phabricator-ui-example-css' => '528b19de', 'phabricator-uiexample-javelin-view' => 'd4a14807', 'phabricator-uiexample-reactor-button' => 'd19198c8', 'phabricator-uiexample-reactor-checkbox' => '519705ea', 'phabricator-uiexample-reactor-focus' => '40a6a403', 'phabricator-uiexample-reactor-input' => '886fd850', 'phabricator-uiexample-reactor-mouseover' => '47c794d8', 'phabricator-uiexample-reactor-radio' => '988040b4', 'phabricator-uiexample-reactor-select' => 'a155550f', 'phabricator-uiexample-reactor-sendclass' => '1def2711', 'phabricator-uiexample-reactor-sendproperties' => 'b1f0ccee', 'phabricator-zindex-css' => 'd1270942', 'phame-css' => '654dd9ef', 'pholio-css' => 'ca89d380', 'pholio-edit-css' => '07676f51', 'pholio-inline-comments-css' => '8e545e49', 'phortune-credit-card-form' => '2290aeef', 'phortune-credit-card-form-css' => '8391eb02', 'phortune-css' => '5b99dae0', 'phortune-invoice-css' => '476055e2', 'phrequent-css' => 'ffc185ad', 'phriction-document-css' => '4282e4ad', 'phui-action-panel-css' => '91c7b835', 'phui-badge-view-css' => '3baef8db', 'phui-basic-nav-view-css' => '7093573b', 'phui-big-info-view-css' => 'bd903741', - 'phui-box-css' => '5c8387cf', + 'phui-box-css' => '33b629f8', 'phui-button-css' => '43f4912e', 'phui-calendar-css' => '477acfaa', 'phui-calendar-day-css' => '572b1893', 'phui-calendar-list-css' => 'fcc9fb41', 'phui-calendar-month-css' => '8e10e92c', 'phui-chart-css' => '6bf6f78e', 'phui-cms-css' => 'be43c8a8', 'phui-comment-form-css' => 'c953b75e', 'phui-comment-panel-css' => 'f50152ad', - 'phui-crumbs-view-css' => '195ac419', + 'phui-crumbs-view-css' => 'f82868f2', 'phui-curtain-view-css' => '947bf1a4', 'phui-document-summary-view-css' => '9ca48bdf', 'phui-document-view-css' => 'c32e8dec', 'phui-document-view-pro-css' => 'c354e312', 'phui-feed-story-css' => '44a9c8e9', 'phui-font-icon-base-css' => '870a7360', 'phui-fontkit-css' => '9cda225e', 'phui-form-css' => '2342b0e5', 'phui-form-view-css' => 'cd79ff6a', 'phui-head-thing-view-css' => 'fd311e5f', 'phui-header-view-css' => '6ec8f155', 'phui-hovercard' => '1bd28176', 'phui-hovercard-view-css' => 'de1a2119', 'phui-icon-set-selector-css' => '1ab67aad', 'phui-icon-view-css' => '09f46dd9', 'phui-image-mask-css' => 'a8498f9c', 'phui-info-panel-css' => '27ea50a1', 'phui-info-view-css' => 'ec92802a', 'phui-inline-comment-view-css' => '5953c28e', 'phui-invisible-character-view-css' => '6993d9f0', 'phui-lightbox-css' => '0a035e40', 'phui-list-view-css' => '9da2aa00', 'phui-object-box-css' => '6b487c57', - 'phui-object-item-list-view-css' => '87278fa0', + 'phui-oi-big-ui-css' => '19f9369b', + 'phui-oi-color-css' => 'cd2b9b77', + 'phui-oi-drag-ui-css' => 'f12cbc9f', + 'phui-oi-flush-ui-css' => '9d9685d6', + 'phui-oi-list-view-css' => 'bff632a4', + 'phui-oi-simple-ui-css' => 'a8beebea', 'phui-pager-css' => 'bea33d23', 'phui-pinboard-view-css' => '2495140e', 'phui-profile-menu-css' => '4768721a', 'phui-property-list-view-css' => '6d8e58ac', 'phui-remarkup-preview-css' => '1a8f2591', 'phui-segment-bar-view-css' => '46342871', 'phui-spacing-css' => '042804d6', 'phui-status-list-view-css' => 'd5263e49', - 'phui-tag-view-css' => '6bbd83e2', + 'phui-tag-view-css' => '84d65f26', 'phui-theme-css' => '798c69b8', 'phui-timeline-view-css' => 'bc523970', - 'phui-two-column-view-css' => 'f662d744', + 'phui-two-column-view-css' => '7babf5b9', 'phui-workboard-color-css' => 'b60ef38a', 'phui-workboard-view-css' => '16441d5e', - 'phui-workcard-view-css' => '0c62d7c5', - 'phui-workpanel-view-css' => '92197373', + 'phui-workcard-view-css' => '00979e40', + 'phui-workpanel-view-css' => 'a3a63478', 'phuix-action-list-view' => 'b5c256b8', 'phuix-action-view' => '8cf6d262', 'phuix-autocomplete' => '6d86ce8b', 'phuix-dropdown-menu' => '82e270da', 'phuix-form-control-view' => '301b7812', 'phuix-icon-view' => 'bff6884b', 'policy-css' => '957ea14c', 'policy-edit-css' => '815c66f7', 'policy-transaction-detail-css' => '82100a43', 'ponder-view-css' => 'fbd45f96', 'project-card-view-css' => '9418c97d', - 'project-view-css' => '55d99221', + 'project-view-css' => '1e6f7072', 'releeph-core' => '9b3c5733', 'releeph-preview-branch' => 'b7a6f4a5', 'releeph-request-differential-create-dialog' => '8d8b92cd', 'releeph-request-typeahead-css' => '667a48ae', 'setup-issue-css' => 'f794cfc3', 'sprite-login-css' => '587d92d7', 'sprite-tokens-css' => '9cdfd599', 'syntax-default-css' => '9923583c', 'syntax-highlighting-css' => '769d3498', 'tokens-css' => '3d0f239e', 'typeahead-browse-css' => '8904346a', 'unhandled-exception-css' => '4c96257a', ), 'requires' => array( '013ffff9' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-typeahead-source', ), '019f36c4' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'phabricator-draggable-list', ), '01fca1f0' => array( 'javelin-behavior', 'javelin-workflow', 'javelin-json', 'javelin-dom', 'phabricator-keyboard-shortcut', ), '05270951' => array( 'javelin-util', 'javelin-magical-init', ), '054a0f0b' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-tooltip', ), '065227cc' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', ), '06c32383' => array( 'javelin-behavior', 'javelin-typeahead-ondemand-source', 'javelin-typeahead', 'javelin-dom', 'javelin-uri', 'javelin-util', 'javelin-stratcom', 'phabricator-prefab', 'phuix-icon-view', ), + '0825c27a' => array( + 'javelin-behavior', + 'javelin-dom', + 'javelin-stratcom', + 'javelin-util', + ), '08675c6d' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'javelin-dom', 'javelin-magical-init', 'javelin-vector', 'javelin-request', 'javelin-util', ), '087e919c' => array( 'javelin-install', 'javelin-dom', 'javelin-stratcom', 'javelin-vector', ), '0a0b10e9' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '0a3f3021' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'javelin-router', ), '0f764c35' => array( 'javelin-install', 'javelin-util', ), '0fcf201c' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-typeahead-normalizer', ), '116cf19b' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phabricator-phtize', 'phabricator-textareautils', 'javelin-workflow', 'javelin-vector', 'phuix-autocomplete', ), '12884df9' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '13c739ea' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'javelin-uri', 'phabricator-textareautils', ), '1499a8cb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-history', ), '14a1faae' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-vector', 'javelin-stratcom', 'javelin-workflow', 'javelin-workboard-controller', ), '185bbd53' => array( 'javelin-install', ), + '19f9369b' => array( + 'phui-oi-list-view-css', + ), '1aa4c968' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phuix-dropdown-menu', ), '1ad0a787' => array( 'javelin-install', 'javelin-reactor', 'javelin-util', 'javelin-reactor-node-calmer', ), '1ae869f2' => array( 'javelin-install', 'javelin-util', 'phabricator-keyboard-shortcut-manager', ), '1bd28176' => array( 'javelin-install', 'javelin-dom', 'javelin-vector', 'javelin-request', 'javelin-uri', ), '1be09f3f' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phuix-form-control-view', 'phuix-icon-view', 'javelin-behavior-phabricator-gesture', ), '1def2711' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), '1e911d0f' => array( 'javelin-stratcom', 'javelin-request', 'javelin-dom', 'javelin-vector', 'javelin-install', 'javelin-util', 'javelin-mask', 'javelin-uri', 'javelin-routable', ), '1fe2510c' => array( 'javelin-install', 'javelin-dom', ), '21df4ff5' => array( 'javelin-install', 'javelin-workboard-card', ), '2290aeef' => array( 'javelin-install', 'javelin-dom', 'javelin-json', 'javelin-workflow', 'javelin-util', ), '2926fff2' => array( 'javelin-behavior', 'javelin-dom', ), '29274e2b' => array( 'javelin-install', 'javelin-util', ), '2a171a9d' => array( 'javelin-behavior', 'javelin-request', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', 'javelin-uri', 'javelin-behavior-device', 'phabricator-title', 'phabricator-favicon', ), '2b8de964' => array( 'javelin-install', 'javelin-util', ), '2c426492' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'phabricator-keyboard-shortcut', ), '2caa8fb8' => array( 'javelin-install', 'javelin-event', ), '2ee659ce' => array( 'javelin-install', ), '301b7812' => array( 'javelin-install', 'javelin-dom', ), '320810c8' => array( 'javelin-install', 'javelin-dom', 'javelin-vector', ), '327a00d1' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-workflow', ), '3ab51e2c' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', 'javelin-magical-init', ), '3cb0b2fc' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', 'javelin-uri', ), '3dbf94d5' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-workflow', 'javelin-stratcom', ), '3f5d6dbf' => array( 'javelin-behavior', 'javelin-dom', 'phortune-credit-card-form', ), '40a6a403' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 42126667 => array( 'javelin-behavior', 'javelin-dom', 'javelin-request', ), '42fcb747' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'phabricator-tooltip', ), '44959b73' => array( 'javelin-util', 'javelin-uri', 'javelin-install', ), '453c5375' => array( 'javelin-behavior', 'javelin-dom', ), '469c0d9e' => array( 'javelin-behavior', 'javelin-dom', 'javelin-workflow', ), 47830651 => array( 'javelin-behavior', 'javelin-dom', 'javelin-view-renderer', 'javelin-install', ), '47c794d8' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 48086888 => array( 'javelin-behavior', 'javelin-dom', 'javelin-workflow', ), '484a6e22' => array( 'javelin-behavior', 'javelin-dom', 'phabricator-drag-and-drop-file-upload', 'phabricator-textareautils', ), '485aaa6c' => array( 'javelin-install', ), '491416b3' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-notification', ), '49ae8328' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), '4a021c10' => array( 'javelin-install', 'javelin-util', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', ), '4b3c4443' => array( 'phuix-icon-view', ), '4b700e9e' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-shaped-request', ), '4c193c96' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-notification', ), '4e3e79a6' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '4fbbc3e9' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-util', 'javelin-vector', 'differential-inline-comment-editor', ), '4fdb476d' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '503e17fd' => array( 'javelin-install', 'javelin-typeahead-source', 'javelin-util', ), '519705ea' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), '522431f7' => array( 'javelin-behavior', 'javelin-util', 'javelin-dom', 'javelin-stratcom', 'javelin-vector', 'javelin-typeahead-static-source', ), '5359e785' => array( 'javelin-install', 'javelin-util', 'javelin-websocket', 'javelin-leader', 'javelin-json', ), '54b612ba' => array( 'javelin-color', 'javelin-install', 'javelin-util', ), '54f314a0' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-typeahead-source', ), '558829c2' => array( 'javelin-stratcom', 'javelin-behavior', 'javelin-vector', 'javelin-dom', ), '55baf5ed' => array( 'javelin-install', 'javelin-dom', 'javelin-util', 'javelin-vector', 'javelin-stratcom', 'javelin-workflow', 'phabricator-drag-and-drop-file-upload', 'javelin-workboard-board', ), '58dea2fa' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-dom', 'javelin-uri', 'phabricator-file-upload', ), '59a7976a' => array( 'javelin-install', 'javelin-dom', 'javelin-fx', ), '59b251eb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', ), '5c54cbf3' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '5e2634b9' => array( 'javelin-behavior', 'javelin-aphlict', 'phabricator-phtize', 'javelin-dom', ), '5e9f347c' => array( 'javelin-behavior', 'multirow-row-manager', 'javelin-dom', 'javelin-util', 'phabricator-prefab', 'javelin-json', ), 60479091 => array( 'phabricator-busy', 'javelin-behavior', ), '60821bc7' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '61cbc29a' => array( 'javelin-magical-init', 'javelin-util', ), '62dfea03' => array( 'javelin-install', 'javelin-util', ), '6323f942' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-vector', ), '635de1ec' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', ), '64a5550f' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', 'javelin-request', 'javelin-workflow', ), '680ea2c8' => array( 'javelin-install', 'javelin-dom', 'phabricator-notification', ), '6882e80a' => array( 'javelin-dom', ), '69adf288' => array( 'javelin-install', ), '6ad39b6f' => array( 'javelin-install', 'javelin-event', 'javelin-util', 'javelin-magical-init', ), '6b8ef10b' => array( 'javelin-install', ), '6c0e62fa' => array( 'javelin-install', 'javelin-typeahead-source', ), '6c2b09a2' => array( 'javelin-install', 'javelin-util', ), '6d3e1947' => array( 'javelin-behavior', 'javelin-diffusion-locate-file-source', 'javelin-dom', 'javelin-typeahead', 'javelin-uri', ), '6d86ce8b' => array( 'javelin-install', 'javelin-dom', 'phuix-icon-view', 'phabricator-prefab', ), '70baed2f' => array( 'javelin-install', 'javelin-dom', 'javelin-vector', 'javelin-util', ), 71237763 => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'phabricator-draggable-list', ), '7319e029' => array( 'javelin-behavior', 'javelin-dom', ), '73d09eef' => array( 'javelin-behavior', 'javelin-vector', 'javelin-dom', ), '7524fcfa' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'javelin-behavior-device', 'javelin-history', 'javelin-vector', 'javelin-scrollbar', 'phabricator-title', 'phabricator-shaped-request', 'conpherence-thread-manager', ), '769d3498' => array( 'syntax-default-css', ), '76b9fc3e' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), '76f4ebed' => array( 'javelin-install', 'javelin-reactor', 'javelin-util', ), '782ab6e7' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-prefab', 'multirow-row-manager', 'javelin-json', ), '7927a7d3' => array( 'javelin-behavior', 'javelin-quicksand', ), '7a68dda3' => array( 'owners-path-editor', 'javelin-behavior', ), - '7b98d7c5' => array( - 'javelin-behavior', - 'javelin-dom', - 'javelin-stratcom', - 'javelin-util', - ), '7cbe244b' => array( 'javelin-install', 'javelin-util', 'javelin-request', 'javelin-router', ), '7e41274a' => array( 'javelin-install', ), '7ebaeed3' => array( 'herald-rule-editor', 'javelin-behavior', ), '7ee2b591' => array( 'javelin-behavior', 'javelin-history', ), '805b806a' => array( 'javelin-magical-init', 'javelin-install', 'javelin-util', 'javelin-vector', 'javelin-stratcom', ), '82e270da' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-vector', 'javelin-stratcom', ), '834a1173' => array( 'javelin-behavior', 'javelin-scrollbar', ), '8499b6ab' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), '85ee8ce6' => array( 'aphront-dialog-view-css', ), '8604caa8' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', 'phabricator-notification', 'conpherence-thread-manager', ), '8694b1df' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'phabricator-tooltip', 'changeset-view-manager', ), '88236f00' => array( 'javelin-behavior', 'phabricator-keyboard-shortcut', 'javelin-stratcom', ), '886fd850' => array( 'javelin-install', 'javelin-reactor-dom', 'javelin-view-html', 'javelin-view-interpreter', 'javelin-view-renderer', ), '887ad43f' => array( 'javelin-behavior', 'javelin-request', 'javelin-stratcom', 'javelin-dom', ), '8a41885b' => array( 'javelin-install', 'javelin-dom', ), '8bdb2835' => array( 'phui-fontkit-css', ), '8ce821c5' => array( 'phabricator-notification', 'javelin-stratcom', 'javelin-behavior', ), '8cf6d262' => array( 'javelin-install', 'javelin-dom', 'javelin-util', ), '8d3bc1b2' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', ), '8d40ae75' => array( 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-typeahead', 'javelin-tokenizer', 'javelin-typeahead-preloaded-source', 'javelin-typeahead-ondemand-source', 'javelin-dom', 'javelin-stratcom', 'javelin-util', ), '8ff5e24c' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '901935ef' => array( 'javelin-behavior', 'javelin-dom', 'javelin-request', ), - 92197373 => array( - 'phui-workcard-view-css', - ), '92b9ec77' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), '93d0c9e3' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', ), '949c0fe5' => array( 'javelin-install', ), '94b750d2' => array( 'javelin-install', 'javelin-stratcom', 'javelin-util', 'javelin-behavior', 'javelin-json', 'javelin-dom', 'javelin-resource', 'javelin-routable', ), '94c65b72' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phabricator-busy', ), '960f6a39' => array( 'javelin-behavior', 'javelin-dom', 'javelin-uri', 'javelin-mask', 'phabricator-drag-and-drop-file-upload', ), '988040b4' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), '9a6b9324' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'phabricator-phtize', 'changeset-view-manager', ), '9a8cb501' => array( 'aphront-typeahead-control-css', 'phui-tag-view-css', ), '9bbf3762' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-workflow', 'javelin-stratcom', ), + '9d9685d6' => array( + 'phui-oi-list-view-css', + ), '9f36c42d' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', ), 'a0b57eb8' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-util', 'phabricator-keyboard-shortcut', ), 'a155550f' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 'a2828756' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', 'javelin-workflow', 'javelin-router', 'javelin-behavior-device', 'javelin-vector', ), + 'a3a63478' => array( + 'phui-workcard-view-css', + ), 'a464fe03' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-notification', ), 'a6f7a73b' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), 'a80d0378' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), + 'a8beebea' => array( + 'phui-oi-list-view-css', + ), 'a8d8459d' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), 'a8da01f0' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-keyboard-shortcut', ), 'a9210d03' => array( 'javelin-behavior', 'javelin-util', 'javelin-dom', 'javelin-stratcom', 'javelin-vector', ), 'a9f88de2' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-workflow', 'javelin-fx', 'javelin-util', ), 'aa1733d0' => array( 'multirow-row-manager', 'javelin-install', 'path-typeahead', 'javelin-dom', 'javelin-util', 'phabricator-prefab', ), 'aa3bd034' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-behavior-device', 'javelin-scrollbar', 'javelin-quicksand', 'phabricator-keyboard-shortcut', 'conpherence-thread-manager', ), 'ab2f381b' => array( 'javelin-request', 'javelin-behavior', 'javelin-dom', 'javelin-router', 'javelin-util', 'phabricator-busy', ), 'b003d4fb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'phuix-dropdown-menu', ), 'b064af76' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-request', 'javelin-util', 'phabricator-shaped-request', ), 'b158cc46' => array( 'phui-inline-comment-view-css', ), 'b1f0ccee' => array( 'javelin-install', 'javelin-dom', 'javelin-reactor-dom', ), 'b23b49e6' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-request', 'phabricator-shaped-request', ), 'b2b4fbaf' => array( 'javelin-behavior', 'javelin-dom', 'javelin-uri', 'javelin-request', ), 'b3a4b884' => array( 'javelin-behavior', 'phabricator-prefab', ), 'b3e7d692' => array( 'javelin-install', ), 'b42eddc7' => array( 'javelin-install', 'javelin-dom', 'javelin-typeahead-preloaded-source', 'javelin-util', ), 'b59e1e96' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'b5c256b8' => array( 'javelin-install', 'javelin-dom', ), 'b5d57730' => array( 'javelin-install', 'javelin-stratcom', 'javelin-dom', 'javelin-util', ), 'b6993408' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-json', 'phabricator-draggable-list', ), 'ba158207' => array( 'javelin-behavior', 'javelin-uri', 'phabricator-notification', ), 'bb1dd507' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', 'javelin-install', ), 'bcaccd64' => array( 'javelin-behavior', 'javelin-behavior-device', 'javelin-stratcom', 'javelin-vector', 'phui-hovercard', ), 'bdaf4d04' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-request', ), 'bea6e7f4' => array( 'javelin-install', 'javelin-dom', 'javelin-stratcom', 'javelin-util', 'javelin-vector', 'javelin-magical-init', ), 'bee502c8' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-workflow', 'javelin-quicksand', 'phabricator-phtize', 'phabricator-drag-and-drop-file-upload', 'phabricator-draggable-list', ), 'bf5374ef' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), 'bff6884b' => array( 'javelin-install', 'javelin-dom', ), 'c587b80f' => array( 'javelin-install', ), 'c7ccd872' => array( 'phui-fontkit-css', ), 'c8b5ee6f' => array( 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-install', 'javelin-aphlict', 'javelin-workflow', 'javelin-router', 'javelin-behavior-device', 'javelin-vector', ), 'c90a04fc' => array( 'javelin-dom', 'javelin-dynval', 'javelin-reactor', 'javelin-reactornode', 'javelin-install', 'javelin-util', ), 'c989ade3' => array( 'javelin-install', 'javelin-util', 'javelin-stratcom', ), 'ca3f91eb' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'phabricator-phtize', ), 'ccf1cbf8' => array( 'javelin-install', 'javelin-dom', 'javelin-stratcom', 'javelin-util', 'phabricator-notification-css', ), + 'cd2b9b77' => array( + 'phui-oi-list-view-css', + ), 'd0c516d5' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'javelin-workflow', 'phuix-icon-view', ), 'd19198c8' => array( 'javelin-install', 'javelin-dom', 'javelin-util', 'javelin-dynval', 'javelin-reactor-dom', ), 'd254d646' => array( 'javelin-util', ), 'd4505101' => array( 'javelin-stratcom', 'javelin-install', 'javelin-uri', 'javelin-util', ), 'd4a14807' => array( 'javelin-install', 'javelin-dom', 'javelin-view', ), 'd4eecc63' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', ), 'd6a7e717' => array( 'multirow-row-manager', 'javelin-install', 'javelin-util', 'javelin-dom', 'javelin-stratcom', 'javelin-json', 'phabricator-prefab', ), 'd7a74243' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'd835b03a' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'phabricator-shaped-request', ), 'ddcd41cf' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-mask', 'javelin-util', 'phuix-icon-view', 'phabricator-busy', ), 'de2e896f' => array( 'javelin-behavior', 'javelin-dom', 'javelin-typeahead', 'javelin-typeahead-ondemand-source', 'javelin-dom', ), 'e0ec7f2f' => array( 'javelin-behavior', 'javelin-dom', 'javelin-request', 'javelin-util', ), 'e10f8e18' => array( 'javelin-behavior', 'javelin-dom', 'phabricator-prefab', ), 'e1d25dfb' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'e1ff79b1' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', ), 'e292eaf4' => array( 'javelin-install', ), 'e2e0a072' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'e379b58e' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-vector', 'javelin-dom', 'javelin-uri', ), 'e4232876' => array( 'javelin-behavior', 'javelin-dom', 'javelin-vector', 'phui-chart-css', ), 'e4cc26b3' => array( 'javelin-behavior', 'javelin-dom', ), 'e5339c43' => array( 'javelin-behavior', 'javelin-dom', 'javelin-stratcom', 'javelin-uri', ), 'e5822781' => array( 'javelin-behavior', 'javelin-dom', 'javelin-json', 'javelin-workflow', 'javelin-magical-init', ), 'e9581f08' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-workflow', 'javelin-dom', 'phabricator-draggable-list', ), 'edd1ba66' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-dom', 'javelin-uri', 'phabricator-notification', ), 'edf8a145' => array( 'javelin-behavior', 'javelin-uri', ), 'efe49472' => array( 'javelin-install', 'javelin-util', ), 'f01586dc' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-workflow', 'javelin-json', ), 'f03e17be' => array( 'phui-theme-css', ), + 'f12cbc9f' => array( + 'phui-oi-list-view-css', + ), 'f2e58483' => array( 'javelin-behavior', 'javelin-dom', 'javelin-util', 'javelin-workflow', 'javelin-stratcom', 'conpherence-thread-manager', ), 'f411b6ae' => array( 'javelin-behavior', 'javelin-stratcom', 'javelin-util', 'javelin-dom', 'javelin-request', 'phabricator-keyboard-shortcut', ), 'f50152ad' => array( 'phui-timeline-view-css', ), 'f6555212' => array( 'javelin-install', 'javelin-reactornode', 'javelin-util', 'javelin-reactor', ), 'f7fc67ec' => array( 'javelin-install', 'javelin-typeahead', 'javelin-dom', 'javelin-request', 'javelin-typeahead-ondemand-source', 'javelin-util', ), 'f829edb3' => array( 'javelin-view', 'javelin-install', 'javelin-dom', ), 'fb20ac8d' => array( 'javelin-behavior', 'javelin-aphlict', 'javelin-stratcom', 'javelin-request', 'javelin-uri', 'javelin-dom', 'javelin-json', 'javelin-router', 'javelin-util', 'javelin-leader', 'javelin-sound', 'phabricator-notification', ), 'fbe497e7' => array( 'javelin-behavior', 'javelin-util', 'javelin-stratcom', 'javelin-dom', 'javelin-vector', 'javelin-magical-init', 'javelin-request', 'javelin-history', 'javelin-workflow', 'javelin-mask', 'javelin-behavior-device', 'phabricator-keyboard-shortcut', ), 'fc91ab6c' => array( 'javelin-behavior', 'javelin-dom', 'phortune-credit-card-form', ), 'fe287620' => array( 'javelin-install', 'javelin-dom', 'javelin-view-visitor', 'javelin-util', ), 'fe7cb52a' => array( 'javelin-install', 'javelin-dom', 'javelin-util', 'javelin-stratcom', 'javelin-workflow', 'phabricator-draggable-list', 'javelin-workboard-column', ), 'fea0eb47' => array( 'javelin-install', ), ), 'packages' => array( 'conpherence.pkg.css' => array( 'conpherence-durable-column-view', 'conpherence-menu-css', 'conpherence-message-pane-css', 'conpherence-notification-css', 'conpherence-transaction-css', 'conpherence-participant-pane-css', 'conpherence-header-pane-css', ), 'conpherence.pkg.js' => array( 'javelin-behavior-conpherence-menu', 'javelin-behavior-conpherence-participant-pane', 'javelin-behavior-conpherence-pontificate', 'javelin-behavior-toggle-widget', ), 'core.pkg.css' => array( 'phabricator-core-css', 'phabricator-zindex-css', 'phui-button-css', 'phui-theme-css', 'phabricator-standard-page-view', 'aphront-dialog-view-css', 'phui-form-view-css', 'aphront-panel-view-css', 'aphront-table-view-css', 'aphront-tokenizer-control-css', 'aphront-typeahead-control-css', 'aphront-list-filter-view-css', 'application-search-view-css', 'phabricator-remarkup-css', 'syntax-highlighting-css', 'syntax-default-css', 'phui-pager-css', 'aphront-tooltip-css', 'phabricator-flag-css', 'phui-info-view-css', 'phabricator-main-menu-view', 'phabricator-notification-css', 'phabricator-notification-menu-css', 'phui-lightbox-css', 'phui-comment-panel-css', 'phui-header-view-css', 'phabricator-nav-view-css', 'phui-basic-nav-view-css', 'phui-crumbs-view-css', - 'phui-object-item-list-view-css', + 'phui-oi-list-view-css', + 'phui-oi-color-css', + 'phui-oi-big-ui-css', + 'phui-oi-drag-ui-css', + 'phui-oi-simple-ui-css', + 'phui-oi-flush-ui-css', 'global-drag-and-drop-css', 'phui-spacing-css', 'phui-form-css', 'phui-icon-view-css', 'phui-profile-menu-css', 'phabricator-application-launch-view-css', 'phabricator-action-list-view-css', 'phui-property-list-view-css', 'phui-tag-view-css', 'phui-list-view-css', 'font-fontawesome', 'font-lato', 'font-aleo', 'phui-font-icon-base-css', 'phui-fontkit-css', 'phui-box-css', 'phui-object-box-css', 'phui-timeline-view-css', 'phui-two-column-view-css', 'phui-curtain-view-css', 'sprite-login-css', 'sprite-tokens-css', 'tokens-css', 'auth-css', 'phui-status-list-view-css', 'phui-feed-story-css', 'phabricator-feed-css', 'phabricator-dashboard-css', 'aphront-multi-column-view-css', ), 'core.pkg.js' => array( 'javelin-util', 'javelin-install', 'javelin-event', 'javelin-stratcom', 'javelin-behavior', 'javelin-resource', 'javelin-request', 'javelin-vector', 'javelin-dom', 'javelin-json', 'javelin-uri', 'javelin-workflow', 'javelin-mask', 'javelin-typeahead', 'javelin-typeahead-normalizer', 'javelin-typeahead-source', 'javelin-typeahead-preloaded-source', 'javelin-typeahead-ondemand-source', 'javelin-tokenizer', 'javelin-history', 'javelin-router', 'javelin-routable', 'javelin-behavior-aphront-basic-tokenizer', 'javelin-behavior-workflow', 'javelin-behavior-aphront-form-disable-on-submit', 'phabricator-keyboard-shortcut-manager', 'phabricator-keyboard-shortcut', 'javelin-behavior-phabricator-keyboard-shortcuts', 'javelin-behavior-refresh-csrf', 'javelin-behavior-phabricator-watch-anchor', 'javelin-behavior-phabricator-autofocus', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'phuix-icon-view', 'phabricator-phtize', 'javelin-behavior-phabricator-oncopy', 'phabricator-tooltip', 'javelin-behavior-phabricator-tooltips', 'phabricator-prefab', 'javelin-behavior-device', 'javelin-behavior-toggle-class', 'javelin-behavior-lightbox-attachments', 'phabricator-busy', 'javelin-aphlict', 'phabricator-notification', 'javelin-behavior-aphlict-listen', 'javelin-behavior-phabricator-search-typeahead', 'javelin-behavior-aphlict-dropdown', 'javelin-behavior-history-install', 'javelin-behavior-phabricator-gesture', 'javelin-behavior-phabricator-active-nav', 'javelin-behavior-phabricator-nav', 'javelin-behavior-phabricator-remarkup-assist', 'phabricator-textareautils', 'phabricator-file-upload', 'javelin-behavior-global-drag-and-drop', 'javelin-behavior-phabricator-reveal-content', 'phui-hovercard', 'javelin-behavior-phui-hovercards', 'javelin-color', 'javelin-fx', 'phabricator-draggable-list', 'javelin-behavior-phabricator-transaction-list', 'javelin-behavior-phabricator-show-older-transactions', 'javelin-behavior-phui-dropdown-menu', 'javelin-behavior-doorkeeper-tag', 'phabricator-title', 'javelin-leader', 'javelin-websocket', 'javelin-behavior-dashboard-async-panel', 'javelin-behavior-dashboard-tab-panel', 'javelin-quicksand', 'javelin-behavior-quicksand-blacklist', 'javelin-behavior-high-security-warning', 'javelin-behavior-read-only-warning', 'javelin-scrollbar', 'javelin-behavior-scrollbar', 'javelin-behavior-durable-column', 'conpherence-thread-manager', 'javelin-behavior-detect-timezone', 'javelin-behavior-setup-check-https', ), 'darkconsole.pkg.js' => array( 'javelin-behavior-dark-console', 'javelin-behavior-error-log', ), 'differential.pkg.css' => array( 'differential-core-view-css', 'differential-changeset-view-css', 'differential-revision-history-css', 'differential-revision-list-css', 'differential-table-of-contents-css', 'differential-revision-comment-css', 'differential-revision-add-comment-css', 'phabricator-object-selector-css', 'phabricator-content-source-view-css', 'inline-comment-summary-css', 'phui-inline-comment-view-css', 'phabricator-filetree-view-css', ), 'differential.pkg.js' => array( 'phabricator-drag-and-drop-file-upload', 'phabricator-shaped-request', 'javelin-behavior-differential-feedback-preview', 'javelin-behavior-differential-edit-inline-comments', 'javelin-behavior-differential-populate', 'javelin-behavior-differential-diff-radios', 'javelin-behavior-differential-comment-jump', 'javelin-behavior-differential-add-reviewers-and-ccs', 'javelin-behavior-differential-keyboard-navigation', 'javelin-behavior-aphront-drag-and-drop-textarea', 'javelin-behavior-phabricator-object-selector', 'javelin-behavior-repository-crossreference', 'javelin-behavior-load-blame', 'differential-inline-comment-editor', 'javelin-behavior-differential-dropdown-menus', 'javelin-behavior-differential-toggle-files', 'javelin-behavior-differential-user-select', 'javelin-behavior-aphront-more', 'changeset-view-manager', ), 'diffusion.pkg.css' => array( 'diffusion-icons-css', ), 'diffusion.pkg.js' => array( 'javelin-behavior-diffusion-pull-lastmodified', 'javelin-behavior-diffusion-commit-graph', 'javelin-behavior-audit-preview', ), 'maniphest.pkg.css' => array( 'maniphest-task-summary-css', ), 'maniphest.pkg.js' => array( 'javelin-behavior-maniphest-batch-selector', 'javelin-behavior-maniphest-subpriority-editor', 'javelin-behavior-maniphest-list-editor', ), ), ); diff --git a/resources/celerity/packages.php b/resources/celerity/packages.php index affa180dc..95cf5303e 100644 --- a/resources/celerity/packages.php +++ b/resources/celerity/packages.php @@ -1,227 +1,232 @@ array( 'javelin-util', 'javelin-install', 'javelin-event', 'javelin-stratcom', 'javelin-behavior', 'javelin-resource', 'javelin-request', 'javelin-vector', 'javelin-dom', 'javelin-json', 'javelin-uri', 'javelin-workflow', 'javelin-mask', 'javelin-typeahead', 'javelin-typeahead-normalizer', 'javelin-typeahead-source', 'javelin-typeahead-preloaded-source', 'javelin-typeahead-ondemand-source', 'javelin-tokenizer', 'javelin-history', 'javelin-router', 'javelin-routable', 'javelin-behavior-aphront-basic-tokenizer', 'javelin-behavior-workflow', 'javelin-behavior-aphront-form-disable-on-submit', 'phabricator-keyboard-shortcut-manager', 'phabricator-keyboard-shortcut', 'javelin-behavior-phabricator-keyboard-shortcuts', 'javelin-behavior-refresh-csrf', 'javelin-behavior-phabricator-watch-anchor', 'javelin-behavior-phabricator-autofocus', 'phuix-dropdown-menu', 'phuix-action-list-view', 'phuix-action-view', 'phuix-icon-view', 'phabricator-phtize', 'javelin-behavior-phabricator-oncopy', 'phabricator-tooltip', 'javelin-behavior-phabricator-tooltips', 'phabricator-prefab', 'javelin-behavior-device', 'javelin-behavior-toggle-class', 'javelin-behavior-lightbox-attachments', 'phabricator-busy', 'javelin-aphlict', 'phabricator-notification', 'javelin-behavior-aphlict-listen', 'javelin-behavior-phabricator-search-typeahead', 'javelin-behavior-aphlict-dropdown', 'javelin-behavior-history-install', 'javelin-behavior-phabricator-gesture', 'javelin-behavior-phabricator-active-nav', 'javelin-behavior-phabricator-nav', 'javelin-behavior-phabricator-remarkup-assist', 'phabricator-textareautils', 'phabricator-file-upload', 'javelin-behavior-global-drag-and-drop', 'javelin-behavior-phabricator-reveal-content', 'phui-hovercard', 'javelin-behavior-phui-hovercards', 'javelin-color', 'javelin-fx', 'phabricator-draggable-list', 'javelin-behavior-phabricator-transaction-list', 'javelin-behavior-phabricator-show-older-transactions', 'javelin-behavior-phui-dropdown-menu', 'javelin-behavior-doorkeeper-tag', 'phabricator-title', 'javelin-leader', 'javelin-websocket', 'javelin-behavior-dashboard-async-panel', 'javelin-behavior-dashboard-tab-panel', 'javelin-quicksand', 'javelin-behavior-quicksand-blacklist', 'javelin-behavior-high-security-warning', 'javelin-behavior-read-only-warning', 'javelin-scrollbar', 'javelin-behavior-scrollbar', 'javelin-behavior-durable-column', 'conpherence-thread-manager', 'javelin-behavior-detect-timezone', 'javelin-behavior-setup-check-https', ), 'core.pkg.css' => array( 'phabricator-core-css', 'phabricator-zindex-css', 'phui-button-css', 'phui-theme-css', 'phabricator-standard-page-view', 'aphront-dialog-view-css', 'phui-form-view-css', 'aphront-panel-view-css', 'aphront-table-view-css', 'aphront-tokenizer-control-css', 'aphront-typeahead-control-css', 'aphront-list-filter-view-css', 'application-search-view-css', 'phabricator-remarkup-css', 'syntax-highlighting-css', 'syntax-default-css', 'phui-pager-css', 'aphront-tooltip-css', 'phabricator-flag-css', 'phui-info-view-css', 'phabricator-main-menu-view', 'phabricator-notification-css', 'phabricator-notification-menu-css', 'phui-lightbox-css', 'phui-comment-panel-css', 'phui-header-view-css', 'phabricator-nav-view-css', 'phui-basic-nav-view-css', 'phui-crumbs-view-css', - 'phui-object-item-list-view-css', + 'phui-oi-list-view-css', + 'phui-oi-color-css', + 'phui-oi-big-ui-css', + 'phui-oi-drag-ui-css', + 'phui-oi-simple-ui-css', + 'phui-oi-flush-ui-css', 'global-drag-and-drop-css', 'phui-spacing-css', 'phui-form-css', 'phui-icon-view-css', 'phui-profile-menu-css', 'phabricator-application-launch-view-css', 'phabricator-action-list-view-css', 'phui-property-list-view-css', 'phui-tag-view-css', 'phui-list-view-css', 'font-fontawesome', 'font-lato', 'font-aleo', 'phui-font-icon-base-css', 'phui-fontkit-css', 'phui-box-css', 'phui-object-box-css', 'phui-timeline-view-css', 'phui-two-column-view-css', 'phui-curtain-view-css', 'sprite-login-css', 'sprite-tokens-css', 'tokens-css', 'auth-css', 'phui-status-list-view-css', 'phui-feed-story-css', 'phabricator-feed-css', 'phabricator-dashboard-css', 'aphront-multi-column-view-css', ), 'conpherence.pkg.css' => array( 'conpherence-durable-column-view', 'conpherence-menu-css', 'conpherence-message-pane-css', 'conpherence-notification-css', 'conpherence-transaction-css', 'conpherence-participant-pane-css', 'conpherence-header-pane-css', ), 'conpherence.pkg.js' => array( 'javelin-behavior-conpherence-menu', 'javelin-behavior-conpherence-participant-pane', 'javelin-behavior-conpherence-pontificate', 'javelin-behavior-toggle-widget', ), 'differential.pkg.css' => array( 'differential-core-view-css', 'differential-changeset-view-css', 'differential-revision-history-css', 'differential-revision-list-css', 'differential-table-of-contents-css', 'differential-revision-comment-css', 'differential-revision-add-comment-css', 'phabricator-object-selector-css', 'phabricator-content-source-view-css', 'inline-comment-summary-css', 'phui-inline-comment-view-css', 'phabricator-filetree-view-css', ), 'differential.pkg.js' => array( 'phabricator-drag-and-drop-file-upload', 'phabricator-shaped-request', 'javelin-behavior-differential-feedback-preview', 'javelin-behavior-differential-edit-inline-comments', 'javelin-behavior-differential-populate', 'javelin-behavior-differential-diff-radios', 'javelin-behavior-differential-comment-jump', 'javelin-behavior-differential-add-reviewers-and-ccs', 'javelin-behavior-differential-keyboard-navigation', 'javelin-behavior-aphront-drag-and-drop-textarea', 'javelin-behavior-phabricator-object-selector', 'javelin-behavior-repository-crossreference', 'javelin-behavior-load-blame', 'differential-inline-comment-editor', 'javelin-behavior-differential-dropdown-menus', 'javelin-behavior-differential-toggle-files', 'javelin-behavior-differential-user-select', 'javelin-behavior-aphront-more', 'changeset-view-manager', ), 'diffusion.pkg.css' => array( 'diffusion-icons-css', ), 'diffusion.pkg.js' => array( 'javelin-behavior-diffusion-pull-lastmodified', 'javelin-behavior-diffusion-commit-graph', 'javelin-behavior-audit-preview', ), 'maniphest.pkg.css' => array( 'maniphest-task-summary-css', ), 'maniphest.pkg.js' => array( 'javelin-behavior-maniphest-batch-selector', 'javelin-behavior-maniphest-subpriority-editor', 'javelin-behavior-maniphest-list-editor', ), 'darkconsole.pkg.js' => array( 'javelin-behavior-dark-console', 'javelin-behavior-error-log', ), ); diff --git a/src/applications/meta/query/PhabricatorAppSearchEngine.php b/src/applications/meta/query/PhabricatorAppSearchEngine.php index 62e1c1020..b609a8b13 100644 --- a/src/applications/meta/query/PhabricatorAppSearchEngine.php +++ b/src/applications/meta/query/PhabricatorAppSearchEngine.php @@ -1,261 +1,261 @@ setParameter('name', $request->getStr('name')); $saved->setParameter( 'installed', $this->readBoolFromRequest($request, 'installed')); $saved->setParameter( 'prototypes', $this->readBoolFromRequest($request, 'prototypes')); $saved->setParameter( 'firstParty', $this->readBoolFromRequest($request, 'firstParty')); $saved->setParameter( 'launchable', $this->readBoolFromRequest($request, 'launchable')); $saved->setParameter( 'appemails', $this->readBoolFromRequest($request, 'appemails')); return $saved; } public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { $query = id(new PhabricatorApplicationQuery()) ->setOrder(PhabricatorApplicationQuery::ORDER_NAME) ->withUnlisted(false); $name = $saved->getParameter('name'); if (strlen($name)) { $query->withNameContains($name); } $installed = $saved->getParameter('installed'); if ($installed !== null) { $query->withInstalled($installed); } $prototypes = $saved->getParameter('prototypes'); if ($prototypes === null) { // NOTE: This is the old name of the 'prototypes' option, see T6084. $prototypes = $saved->getParameter('beta'); $saved->setParameter('prototypes', $prototypes); } if ($prototypes !== null) { $query->withPrototypes($prototypes); } $first_party = $saved->getParameter('firstParty'); if ($first_party !== null) { $query->withFirstParty($first_party); } $launchable = $saved->getParameter('launchable'); if ($launchable !== null) { $query->withLaunchable($launchable); } $appemails = $saved->getParameter('appemails'); if ($appemails !== null) { $query->withApplicationEmailSupport($appemails); } return $query; } public function buildSearchForm( AphrontFormView $form, PhabricatorSavedQuery $saved) { $form ->appendChild( id(new AphrontFormTextControl()) ->setLabel(pht('Name Contains')) ->setName('name') ->setValue($saved->getParameter('name'))) ->appendChild( id(new AphrontFormSelectControl()) ->setLabel(pht('Installed')) ->setName('installed') ->setValue($this->getBoolFromQuery($saved, 'installed')) ->setOptions( array( '' => pht('Show All Applications'), 'true' => pht('Show Installed Applications'), 'false' => pht('Show Uninstalled Applications'), ))) ->appendChild( id(new AphrontFormSelectControl()) ->setLabel(pht('Prototypes')) ->setName('prototypes') ->setValue($this->getBoolFromQuery($saved, 'prototypes')) ->setOptions( array( '' => pht('Show All Applications'), 'true' => pht('Show Prototype Applications'), 'false' => pht('Show Released Applications'), ))) ->appendChild( id(new AphrontFormSelectControl()) ->setLabel(pht('Provenance')) ->setName('firstParty') ->setValue($this->getBoolFromQuery($saved, 'firstParty')) ->setOptions( array( '' => pht('Show All Applications'), 'true' => pht('Show First-Party Applications'), 'false' => pht('Show Third-Party Applications'), ))) ->appendChild( id(new AphrontFormSelectControl()) ->setLabel(pht('Launchable')) ->setName('launchable') ->setValue($this->getBoolFromQuery($saved, 'launchable')) ->setOptions( array( '' => pht('Show All Applications'), 'true' => pht('Show Launchable Applications'), 'false' => pht('Show Non-Launchable Applications'), ))) ->appendChild( id(new AphrontFormSelectControl()) ->setLabel(pht('Application Emails')) ->setName('appemails') ->setValue($this->getBoolFromQuery($saved, 'appemails')) ->setOptions( array( '' => pht('Show All Applications'), 'true' => pht('Show Applications w/ App Email Support'), 'false' => pht('Show Applications w/o App Email Support'), ))); } protected function getURI($path) { return '/applications/'.$path; } protected function getBuiltinQueryNames() { return array( 'launcher' => pht('Launcher'), 'all' => pht('All Applications'), ); } public function buildSavedQueryFromBuiltin($query_key) { $query = $this->newSavedQuery(); $query->setQueryKey($query_key); switch ($query_key) { case 'launcher': return $query ->setParameter('installed', true) ->setParameter('launchable', true); case 'all': return $query; } return parent::buildSavedQueryFromBuiltin($query_key); } protected function renderResultList( array $all_applications, PhabricatorSavedQuery $query, array $handle) { assert_instances_of($all_applications, 'PhabricatorApplication'); $all_applications = msort($all_applications, 'getName'); if ($query->getQueryKey() == 'launcher') { $groups = mgroup($all_applications, 'getApplicationGroup'); } else { $groups = array($all_applications); } $group_names = PhabricatorApplication::getApplicationGroups(); $groups = array_select_keys($groups, array_keys($group_names)) + $groups; $results = array(); foreach ($groups as $group => $applications) { if (count($groups) > 1) { $results[] = phutil_tag( 'h1', array( - 'class' => 'phui-object-item-list-header', + 'class' => 'phui-oi-list-header', ), idx($group_names, $group, $group)); } $list = new PHUIObjectItemListView(); foreach ($applications as $application) { $icon = $application->getIcon(); if (!$icon) { $icon = 'application'; } $description = $application->getShortDescription(); $configure = id(new PHUIButtonView()) ->setTag('a') ->setHref('/applications/view/'.get_class($application).'/') ->setText(pht('Configure')) ->setColor(PHUIButtonView::GREY); $name = $application->getName(); if ($application->isPrototype()) { $name = $name.' '.pht('(Prototype)'); } $item = id(new PHUIObjectItemView()) ->setHeader($name) ->setImageIcon($icon) ->setSubhead($description) ->setLaunchButton($configure); if ($application->getBaseURI() && $application->isInstalled()) { $item->setHref($application->getBaseURI()); } if (!$application->isInstalled()) { $item->addAttribute(pht('Uninstalled')); $item->setDisabled(true); } if (!$application->isFirstParty()) { $item->addAttribute(pht('Extension')); } $list->addItem($item); } $results[] = $list; } $result = new PhabricatorApplicationSearchResultView(); $result->setContent($results); return $result; } } diff --git a/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php index d12db30f8..ac950eade 100644 --- a/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php +++ b/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php @@ -1,223 +1,223 @@ getViewer(); $preferences = $this->getPreferences(); $pinned_key = PhabricatorPinnedApplicationsSetting::SETTINGKEY; $pinned = $preferences->getSettingValue($pinned_key); $apps = id(new PhabricatorApplicationQuery()) ->setViewer($viewer) ->withInstalled(true) ->withUnlisted(false) ->withLaunchable(true) ->execute(); $app_list = array(); foreach ($pinned as $app) { if (isset($apps[$app])) { $app_list[$app] = $apps[$app]; } } if ($request->getBool('reset')) { if ($request->isFormPost()) { $this->writePinnedApplications($preferences, null); return id(new AphrontRedirectResponse()) ->setURI($this->getPanelURI()); } return $this->newDialog() ->setTitle(pht('Reset Applications')) ->addHiddenInput('reset', 'true') ->appendParagraph( pht('Reset pinned applications to their defaults?')) ->addSubmitButton(pht('Reset Applications')) ->addCancelButton($this->getPanelURI()); } if ($request->getBool('add')) { $options = array(); foreach ($apps as $app) { $options[get_class($app)] = $app->getName(); } asort($options); unset($options['PhabricatorApplicationsApplication']); if ($request->isFormPost()) { $pins = $request->getArr('pin'); $phid = head($pins); $app = id(new PhabricatorApplicationQuery()) ->setViewer($viewer) ->withPHIDs(array($phid)) ->executeOne(); if ($app) { $pin = get_class($app); } else { // This likely means the user submitted an empty form // which will cause nothing to happen. $pin = ''; } if (isset($options[$pin]) && !in_array($pin, $pinned)) { $pinned[] = $pin; $this->writePinnedApplications($preferences, $pinned); return id(new AphrontRedirectResponse()) ->setURI($this->getPanelURI()); } } $options_control = id(new AphrontFormTokenizerControl()) ->setName('pin') ->setLabel(pht('Application')) ->setDatasource(new PhabricatorApplicationDatasource()) ->setLimit(1); $form = id(new AphrontFormView()) ->setViewer($viewer) ->addHiddenInput('add', 'true') ->appendRemarkupInstructions( pht('Choose an application to pin to your home page.')) ->appendControl($options_control); return $this->newDialog() ->setWidth(AphrontDialogView::WIDTH_FORM) ->setTitle(pht('Pin Application')) ->appendChild($form->buildLayoutView()) ->addSubmitButton(pht('Pin Application')) ->addCancelButton($this->getPanelURI()); } $unpin = $request->getStr('unpin'); if ($unpin) { $app = idx($apps, $unpin); if ($app) { if ($request->isFormPost()) { $pinned = array_diff($pinned, array($unpin)); $this->writePinnedApplications($preferences, $pinned); return id(new AphrontRedirectResponse()) ->setURI($this->getPanelURI()); } return $this->newDialog() ->setTitle(pht('Unpin Application')) ->addHiddenInput('unpin', $unpin) ->appendParagraph( pht( 'Unpin the %s application from your home page?', phutil_tag('strong', array(), $app->getName()))) ->addSubmitButton(pht('Unpin Application')) ->addCancelButton($this->getPanelURI()); } } $order = $request->getStrList('order'); if ($order && $request->validateCSRF()) { $this->writePinnedApplications($preferences, $order); return id(new AphrontRedirectResponse()) ->setURI($this->getPanelURI()); } $list_id = celerity_generate_unique_node_id(); $list = id(new PHUIObjectItemListView()) ->setViewer($viewer) - ->setID($list_id); + ->setID($list_id) + ->setDrag(true); Javelin::initBehavior( 'reorder-applications', array( 'listID' => $list_id, 'panelURI' => $this->getPanelURI(), )); foreach ($app_list as $key => $application) { if ($key == 'PhabricatorApplicationsApplication') { continue; } $icon = $application->getIcon(); if (!$icon) { $icon = 'fa-globe'; } $item = id(new PHUIObjectItemView()) ->setHeader($application->getName()) ->setImageIcon($icon) - ->addAttribute($application->getShortDescription()) ->setGrippable(true); $item->addAction( id(new PHUIListItemView()) ->setIcon('fa-times') ->setHref($this->getPanelURI().'?unpin='.$key) ->setWorkflow(true)); $item->addSigil('pinned-application'); $item->setMetadata( array( 'applicationClass' => $key, )); $list->addItem($item); } $header = id(new PHUIHeaderView()) ->setHeader(pht('Pinned Applications')) ->addActionLink( id(new PHUIButtonView()) ->setTag('a') ->setText(pht('Pin Application')) ->setHref($this->getPanelURI().'?add=true') ->setWorkflow(true) ->setIcon('fa-thumb-tack')) ->addActionLink( id(new PHUIButtonView()) ->setTag('a') ->setText(pht('Reset to Defaults')) ->setHref($this->getPanelURI().'?reset=true') ->setWorkflow(true) ->setIcon('fa-recycle')); $box = id(new PHUIObjectBoxView()) ->setHeader($header) ->setObjectList($list); return $box; } private function writePinnedApplications( PhabricatorUserPreferences $preferences, $pinned) { $pinned_key = PhabricatorPinnedApplicationsSetting::SETTINGKEY; $this->writeSetting($preferences, $pinned_key, $pinned); } } diff --git a/src/view/phui/PHUIObjectItemListView.php b/src/view/phui/PHUIObjectItemListView.php index 6c81053f0..53e86382c 100644 --- a/src/view/phui/PHUIObjectItemListView.php +++ b/src/view/phui/PHUIObjectItemListView.php @@ -1,142 +1,160 @@ allowEmptyList = $allow_empty_list; return $this; } public function getAllowEmptyList() { return $this->allowEmptyList; } public function setFlush($flush) { $this->flush = $flush; return $this; } public function setHeader($header) { $this->header = $header; return $this; } public function setPager($pager) { $this->pager = $pager; return $this; } public function setSimple($simple) { $this->simple = $simple; return $this; } public function setBig($big) { $this->big = $big; return $this; } + public function setDrag($drag) { + $this->drag = $drag; + $this->setItemClass('phui-oi-drag'); + return $this; + } + public function setNoDataString($no_data_string) { $this->noDataString = $no_data_string; return $this; } public function addItem(PHUIObjectItemView $item) { $this->items[] = $item; return $this; } public function setItemClass($item_class) { $this->itemClass = $item_class; return $this; } protected function getTagName() { return 'ul'; } protected function getTagAttributes() { $classes = array(); + $classes[] = 'phui-oi-list-view'; - $classes[] = 'phui-object-item-list-view'; if ($this->flush) { - $classes[] = 'phui-object-list-flush'; + $classes[] = 'phui-oi-list-flush'; + require_celerity_resource('phui-oi-flush-ui-css'); } + if ($this->simple) { - $classes[] = 'phui-object-list-simple'; + $classes[] = 'phui-oi-list-simple'; + require_celerity_resource('phui-oi-simple-ui-css'); } + if ($this->big) { - $classes[] = 'phui-object-list-big'; + $classes[] = 'phui-oi-list-big'; + require_celerity_resource('phui-oi-big-ui-css'); + } + + if ($this->drag) { + $classes[] = 'phui-oi-list-drag'; + require_celerity_resource('phui-oi-drag-ui-css'); } return array( 'class' => $classes, ); } protected function getTagContent() { $viewer = $this->getUser(); - require_celerity_resource('phui-object-item-list-view-css'); + require_celerity_resource('phui-oi-list-view-css'); + require_celerity_resource('phui-oi-color-css'); $header = null; if (strlen($this->header)) { $header = phutil_tag( 'h1', array( - 'class' => 'phui-object-item-list-header', + 'class' => 'phui-oi-list-header', ), $this->header); } if ($this->items) { if ($viewer) { foreach ($this->items as $item) { $item->setUser($viewer); } } foreach ($this->items as $item) { $item->addClass($this->itemClass); } $items = $this->items; } else if ($this->allowEmptyList) { $items = null; } else { $string = nonempty($this->noDataString, pht('No data.')); $string = id(new PHUIInfoView()) ->setSeverity(PHUIInfoView::SEVERITY_NODATA) ->appendChild($string); $items = phutil_tag( 'li', array( - 'class' => 'phui-object-item-empty', + 'class' => 'phui-oi-empty', ), $string); } $pager = null; if ($this->pager) { $pager = $this->pager; } return array( $header, $items, $pager, $this->renderChildren(), ); } } diff --git a/src/view/phui/PHUIObjectItemView.php b/src/view/phui/PHUIObjectItemView.php index 80fe6fb4d..6d193081d 100644 --- a/src/view/phui/PHUIObjectItemView.php +++ b/src/view/phui/PHUIObjectItemView.php @@ -1,740 +1,740 @@ disabled = $disabled; return $this; } public function getDisabled() { return $this->disabled; } public function addHeadIcon($icon) { $this->headIcons[] = $icon; return $this; } public function setObjectName($name) { $this->objectName = $name; return $this; } public function setGrippable($grippable) { $this->grippable = $grippable; return $this; } public function getGrippable() { return $this->grippable; } public function setEffect($effect) { $this->effect = $effect; return $this; } public function getEffect() { return $this->effect; } public function setObject($object) { $this->object = $object; return $this; } public function getObject() { return $this->object; } public function setHref($href) { $this->href = $href; return $this; } public function getHref() { return $this->href; } public function setHeader($header) { $this->header = $header; return $this; } public function setSubHead($subhead) { $this->subhead = $subhead; return $this; } public function setBadge(PHUIBadgeMiniView $badge) { $this->badge = $badge; return $this; } public function setCountdown($num, $noun) { $this->countdownNum = $num; $this->countdownNoun = $noun; return $this; } public function setTitleText($title_text) { $this->titleText = $title_text; return $this; } public function getTitleText() { return $this->titleText; } public function getHeader() { return $this->header; } public function addByline($byline) { $this->bylines[] = $byline; return $this; } public function setImageURI($image_uri) { $this->imageURI = $image_uri; return $this; } public function getImageURI() { return $this->imageURI; } public function setImageIcon($image_icon) { if (!$image_icon instanceof PHUIIconView) { $image_icon = id(new PHUIIconView()) ->setIcon($image_icon); } $this->imageIcon = $image_icon; return $this; } public function getImageIcon() { return $this->imageIcon; } public function setCoverImage($image) { $this->coverImage = $image; return $this; } public function setEpoch($epoch) { $date = phabricator_datetime($epoch, $this->getUser()); $this->addIcon('none', $date); return $this; } public function addAction(PHUIListItemView $action) { if (count($this->actions) >= 3) { throw new Exception(pht('Limit 3 actions per item.')); } $this->actions[] = $action; return $this; } public function addIcon($icon, $label = null, $attributes = array()) { $this->icons[] = array( 'icon' => $icon, 'label' => $label, 'attributes' => $attributes, ); return $this; } /** * This method has been deprecated, use @{method:setImageIcon} instead. * * @deprecated */ public function setIcon($icon) { phlog( pht('Deprecated call to setIcon(), use setImageIcon() instead.')); return $this->setImageIcon($icon); } public function setStatusIcon($icon, $label = null) { $this->statusIcon = array( 'icon' => $icon, 'label' => $label, ); return $this; } public function addHandleIcon( PhabricatorObjectHandle $handle, $label = null) { $this->handleIcons[] = array( 'icon' => $handle, 'label' => $label, ); return $this; } public function setBarColor($bar_color) { $this->barColor = $bar_color; return $this; } public function getBarColor() { return $this->barColor; } public function addAttribute($attribute) { if (!empty($attribute)) { $this->attributes[] = $attribute; } return $this; } public function setLaunchButton(PHUIButtonView $button) { $button->setSize(PHUIButtonView::SMALL); $this->launchButton = $button; return $this; } protected function getTagName() { return 'li'; } protected function getTagAttributes() { $item_classes = array(); - $item_classes[] = 'phui-object-item'; + $item_classes[] = 'phui-oi'; if ($this->icons) { - $item_classes[] = 'phui-object-item-with-icons'; + $item_classes[] = 'phui-oi-with-icons'; } if ($this->attributes) { - $item_classes[] = 'phui-object-item-with-attrs'; + $item_classes[] = 'phui-oi-with-attrs'; } if ($this->handleIcons) { - $item_classes[] = 'phui-object-item-with-handle-icons'; + $item_classes[] = 'phui-oi-with-handle-icons'; } if ($this->barColor) { - $item_classes[] = 'phui-object-item-bar-color-'.$this->barColor; + $item_classes[] = 'phui-oi-bar-color-'.$this->barColor; } else { - $item_classes[] = 'phui-object-item-no-bar'; + $item_classes[] = 'phui-oi-no-bar'; } if ($this->actions) { $n = count($this->actions); - $item_classes[] = 'phui-object-item-with-actions'; - $item_classes[] = 'phui-object-item-with-'.$n.'-actions'; + $item_classes[] = 'phui-oi-with-actions'; + $item_classes[] = 'phui-oi-with-'.$n.'-actions'; } if ($this->disabled) { - $item_classes[] = 'phui-object-item-disabled'; + $item_classes[] = 'phui-oi-disabled'; } switch ($this->effect) { case 'highlighted': - $item_classes[] = 'phui-object-item-highlighted'; + $item_classes[] = 'phui-oi-highlighted'; break; case 'selected': - $item_classes[] = 'phui-object-item-selected'; + $item_classes[] = 'phui-oi-selected'; break; case 'visited': - $item_classes[] = 'phui-object-item-visited'; + $item_classes[] = 'phui-oi-visited'; break; case null: break; default: throw new Exception(pht('Invalid effect!')); } if ($this->getGrippable()) { - $item_classes[] = 'phui-object-item-grippable'; + $item_classes[] = 'phui-oi-grippable'; } if ($this->getImageURI()) { - $item_classes[] = 'phui-object-item-with-image'; + $item_classes[] = 'phui-oi-with-image'; } if ($this->getImageIcon()) { - $item_classes[] = 'phui-object-item-with-image-icon'; + $item_classes[] = 'phui-oi-with-image-icon'; } return array( 'class' => $item_classes, ); } protected function getTagContent() { $viewer = $this->getUser(); $content_classes = array(); - $content_classes[] = 'phui-object-item-content'; + $content_classes[] = 'phui-oi-content'; $header_name = array(); if ($viewer) { $header_name[] = id(new PHUISpacesNamespaceContextView()) ->setUser($viewer) ->setObject($this->object); } if ($this->objectName) { $header_name[] = array( phutil_tag( 'span', array( - 'class' => 'phui-object-item-objname', + 'class' => 'phui-oi-objname', ), $this->objectName), ' ', ); } $title_text = null; if ($this->titleText) { $title_text = $this->titleText; } else if ($this->href) { $title_text = $this->header; } $header_link = phutil_tag( $this->href ? 'a' : 'div', array( 'href' => $this->href, - 'class' => 'phui-object-item-link', + 'class' => 'phui-oi-link', 'title' => $title_text, ), $this->header); // Wrap the header content in a with the "slippery" sigil. This // prevents us from beginning a drag if you click the text (like "T123"), // but not if you click the white space after the header. $header = phutil_tag( 'div', array( - 'class' => 'phui-object-item-name', + 'class' => 'phui-oi-name', ), javelin_tag( 'span', array( 'sigil' => 'slippery', ), array( $this->headIcons, $header_name, $header_link, ))); $icons = array(); if ($this->icons) { $icon_list = array(); foreach ($this->icons as $spec) { $icon = $spec['icon']; $icon = id(new PHUIIconView()) ->setIcon($icon) - ->addClass('phui-object-item-icon-image'); + ->addClass('phui-oi-icon-image'); if (isset($spec['attributes']['tip'])) { $sigil = 'has-tooltip'; $meta = array( 'tip' => $spec['attributes']['tip'], 'align' => 'W', ); $icon->addSigil($sigil); $icon->setMetadata($meta); } $label = phutil_tag( 'span', array( - 'class' => 'phui-object-item-icon-label', + 'class' => 'phui-oi-icon-label', ), $spec['label']); if (isset($spec['attributes']['href'])) { $icon_href = phutil_tag( 'a', array('href' => $spec['attributes']['href']), array($icon, $label)); } else { $icon_href = array($icon, $label); } $classes = array(); - $classes[] = 'phui-object-item-icon'; + $classes[] = 'phui-oi-icon'; if (isset($spec['attributes']['class'])) { $classes[] = $spec['attributes']['class']; } $icon_list[] = javelin_tag( 'li', array( 'class' => implode(' ', $classes), ), $icon_href); } $icons[] = phutil_tag( 'ul', array( - 'class' => 'phui-object-item-icons', + 'class' => 'phui-oi-icons', ), $icon_list); } $handle_bar = null; if ($this->handleIcons) { $handle_bar = array(); foreach ($this->handleIcons as $handleicon) { $handle_bar[] = $this->renderHandleIcon($handleicon['icon'], $handleicon['label']); } $handle_bar = phutil_tag( 'li', array( - 'class' => 'phui-object-item-handle-icons', + 'class' => 'phui-oi-handle-icons', ), $handle_bar); } $bylines = array(); if ($this->bylines) { foreach ($this->bylines as $byline) { $bylines[] = phutil_tag( 'div', array( - 'class' => 'phui-object-item-byline', + 'class' => 'phui-oi-byline', ), $byline); } $bylines = phutil_tag( 'div', array( - 'class' => 'phui-object-item-bylines', + 'class' => 'phui-oi-bylines', ), $bylines); } $subhead = null; if ($this->subhead) { $subhead = phutil_tag( 'div', array( - 'class' => 'phui-object-item-subhead', + 'class' => 'phui-oi-subhead', ), $this->subhead); } if ($icons) { $icons = phutil_tag( 'div', array( 'class' => 'phui-object-icon-pane', ), $icons); } $attrs = null; if ($this->attributes || $handle_bar) { $attrs = array(); $spacer = phutil_tag( 'span', array( - 'class' => 'phui-object-item-attribute-spacer', + 'class' => 'phui-oi-attribute-spacer', ), "\xC2\xB7"); $first = true; foreach ($this->attributes as $attribute) { $attrs[] = phutil_tag( 'li', array( - 'class' => 'phui-object-item-attribute', + 'class' => 'phui-oi-attribute', ), array( ($first ? null : $spacer), $attribute, )); $first = false; } $attrs = phutil_tag( 'ul', array( - 'class' => 'phui-object-item-attributes', + 'class' => 'phui-oi-attributes', ), array( $handle_bar, $attrs, )); } $status = null; if ($this->statusIcon) { $icon = $this->statusIcon; $status = $this->renderStatusIcon($icon['icon'], $icon['label']); } $grippable = null; if ($this->getGrippable()) { $grippable = phutil_tag( 'div', array( - 'class' => 'phui-object-item-grip', + 'class' => 'phui-oi-grip', ), ''); } $content = phutil_tag( 'div', array( 'class' => implode(' ', $content_classes), ), array( $subhead, $attrs, $this->renderChildren(), )); $image = null; if ($this->getImageURI()) { $image = phutil_tag( 'div', array( - 'class' => 'phui-object-item-image', + 'class' => 'phui-oi-image', 'style' => 'background-image: url('.$this->getImageURI().')', ), ''); } else if ($this->getImageIcon()) { $image = phutil_tag( 'div', array( - 'class' => 'phui-object-item-image-icon', + 'class' => 'phui-oi-image-icon', ), $this->getImageIcon()); } if ($image && $this->href) { $image = phutil_tag( 'a', array( 'href' => $this->href, ), $image); } /* Build a fake table */ $column0 = null; if ($status) { $column0 = phutil_tag( 'div', array( - 'class' => 'phui-object-item-col0', + 'class' => 'phui-oi-col0', ), $status); } if ($this->badge) { $column0 = phutil_tag( 'div', array( - 'class' => 'phui-object-item-col0 phui-object-item-badge', + 'class' => 'phui-oi-col0 phui-oi-badge', ), $this->badge); } if ($this->countdownNum) { $countdown = phutil_tag( 'div', array( - 'class' => 'phui-object-item-countdown-number', + 'class' => 'phui-oi-countdown-number', ), array( phutil_tag_div('', $this->countdownNum), phutil_tag_div('', $this->countdownNoun), )); $column0 = phutil_tag( 'div', array( - 'class' => 'phui-object-item-col0 phui-object-item-countdown', + 'class' => 'phui-oi-col0 phui-oi-countdown', ), $countdown); } $column1 = phutil_tag( 'div', array( - 'class' => 'phui-object-item-col1', + 'class' => 'phui-oi-col1', ), array( $header, $content, )); $column2 = null; if ($icons || $bylines) { $column2 = phutil_tag( 'div', array( - 'class' => 'phui-object-item-col2', + 'class' => 'phui-oi-col2', ), array( $icons, $bylines, )); } if ($this->launchButton) { $column2 = phutil_tag( 'div', array( - 'class' => 'phui-object-item-col2 phui-object-item-launch-button', + 'class' => 'phui-oi-col2 phui-oi-launch-button', ), array( $this->launchButton, )); } $table = phutil_tag( 'div', array( - 'class' => 'phui-object-item-table', + 'class' => 'phui-oi-table', ), phutil_tag_div( - 'phui-object-item-table-row', + 'phui-oi-table-row', array( $column0, $column1, $column2, ))); $box = phutil_tag( 'div', array( - 'class' => 'phui-object-item-content-box', + 'class' => 'phui-oi-content-box', ), array( $grippable, $table, )); $actions = array(); if ($this->actions) { Javelin::initBehavior('phabricator-tooltips'); foreach (array_reverse($this->actions) as $action) { $action->setRenderNameAsTooltip(true); $actions[] = $action; } $actions = phutil_tag( 'ul', array( - 'class' => 'phui-object-item-actions', + 'class' => 'phui-oi-actions', ), $actions); } $frame_content = phutil_tag( 'div', array( - 'class' => 'phui-object-item-frame-content', + 'class' => 'phui-oi-frame-content', ), array( $actions, $image, $box, )); $frame_cover = null; if ($this->coverImage) { $cover_image = phutil_tag( 'img', array( 'src' => $this->coverImage, - 'class' => 'phui-object-item-cover-image', + 'class' => 'phui-oi-cover-image', )); $frame_cover = phutil_tag( 'div', array( - 'class' => 'phui-object-item-frame-cover', + 'class' => 'phui-oi-frame-cover', ), $cover_image); } $frame = phutil_tag( 'div', array( - 'class' => 'phui-object-item-frame', + 'class' => 'phui-oi-frame', ), array( $frame_cover, $frame_content, )); return $frame; } private function renderStatusIcon($icon, $label) { Javelin::initBehavior('phabricator-tooltips'); $icon = id(new PHUIIconView()) ->setIcon($icon); $options = array( - 'class' => 'phui-object-item-status-icon', + 'class' => 'phui-oi-status-icon', ); if (strlen($label)) { $options['sigil'] = 'has-tooltip'; $options['meta'] = array('tip' => $label, 'size' => 300); } return javelin_tag('div', $options, $icon); } private function renderHandleIcon(PhabricatorObjectHandle $handle, $label) { Javelin::initBehavior('phabricator-tooltips'); $options = array( - 'class' => 'phui-object-item-handle-icon', + 'class' => 'phui-oi-handle-icon', 'style' => 'background-image: url('.$handle->getImageURI().')', ); if (strlen($label)) { $options['sigil'] = 'has-tooltip'; $options['meta'] = array('tip' => $label, 'align' => 'E'); } return javelin_tag('span', $options, ''); } } diff --git a/webroot/rsrc/css/aphront/dialog-view.css b/webroot/rsrc/css/aphront/dialog-view.css index 9cf56394d..3b2de1cee 100644 --- a/webroot/rsrc/css/aphront/dialog-view.css +++ b/webroot/rsrc/css/aphront/dialog-view.css @@ -1,189 +1,189 @@ /** * @provides aphront-dialog-view-css */ .aphront-dialog-view { width: 540px; margin: 32px auto 16px; border: 1px solid {$lightblueborder}; border-radius: 3px; background-color: #fff; } .jx-client-dialog .aphront-dialog-view { box-shadow: {$dropshadow}; } .device-phone .aphront-dialog-view { margin: 16px; width: auto; } .aphront-dialog-view-standalone { margin: 32px auto; } .aphront-dialog-head { padding: 12px 12px 0 12px; } .aphront-dialog-flush .aphront-dialog-body { padding: 0; } .aphront-dialog-view-width-form { width: 600px; } .aphront-dialog-view-width-full { width: 90%; max-width: 1040px; } .aphront-dialog-body { background: #fff; padding: 16px; border: none; } .device-phone .aphront-dialog-body { padding: 8px; } .aphront-dialog-tail { border: none; position: relative; background: {$lightgreybackground}; padding: 8px 16px; border-top: 1px solid {$thinblueborder}; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; } .device .aphront-dialog-resize { /* No resizing on devices. */ display: none; } .aphront-dialog-resize { position: absolute; right: -4px; bottom: -4px; width: 18px; height: 18px; background-image: url(/rsrc/image/resize.png); background-size: 100%; cursor: nwse-resize; pointer-events: all; } .aphront-dialog-foot { padding: 6px 0; float: left; } .aphront-dialog-tail button, .aphront-dialog-tail a.button { float: right; margin-left: 8px; } .jx-client-dialog { position: absolute; width: 100%; } .jx-mask { opacity: .7; background: #292f33; position: fixed; top: 0; left: 0; right: 0; bottom: 0; } .jx-dark-mask { background: #292f33; opacity: 0.95; } .jx-white-mask { background: #fff; opacity: 1; } .jx-date-mask { background: #292f33; opacity: 0.5; } .device-desktop .jx-date-mask { display: none; } .aphront-exception-dialog { width: 95%; } .aphront-exception-dialog .exception-message { font-size: 14px; background: {$sh-yellowbackground}; border: 1px solid {$sh-yellowborder}; padding: 12px; white-space: pre-wrap; } .aphront-exception-dialog .exception-trace { margin-top: 16px; } .aphront-access-dialog { width: 50%; } .aphront-policy-explain-dialog .aphront-dialog-body { padding: 0 12px; } .aphront-policy-rejection { font-weight: bold; } .aphront-capability-details { margin: 20px 0 4px; } .aphront-dialog-view-paragraph + .aphront-dialog-view-paragraph { margin-top: 16px; } -.device-desktop .aphront-dialog-flush .phui-object-item-list-view { +.device-desktop .aphront-dialog-flush .phui-oi-list-view { margin: 0; padding: 0; } -.aphront-dialog-flush .phui-object-item-list-view.phui-object-list-stackable - .phui-object-item { +.aphront-dialog-flush .phui-oi-list-view.phui-object-list-stackable + .phui-oi { border: 0; } -.aphront-dialog-flush .phui-object-item-list-view.phui-object-list-stackable - .phui-object-item-frame { +.aphront-dialog-flush .phui-oi-list-view.phui-object-list-stackable + .phui-oi-frame { border: 0; border-top: 1px solid {$thinblueborder}; } .aphront-dialog-object-list .phui-object-box { border: none; padding: 0; margin: 0; } .aphront-dialog-object-list .aphront-dialog-body { padding: 0 12px; } .aphront-dialog-tab-group .aphront-dialog-body { padding: 0 12px; } diff --git a/webroot/rsrc/css/application/config/config-page.css b/webroot/rsrc/css/application/config/config-page.css index 5fe15aadb..82cb9642d 100644 --- a/webroot/rsrc/css/application/config/config-page.css +++ b/webroot/rsrc/css/application/config/config-page.css @@ -1,77 +1,77 @@ /** * @provides config-page-css */ .config-page-header { margin: 28px 24px 0; padding-bottom: 28px; border-bottom: 1px solid {$thinblueborder}; } .device-phone .config-page-header { margin: 4px 12px 0; padding-bottom: 4px; } .config-page-header .phui-profile-header { padding: 0; } .device-phone .config-page-header .phui-profile-header { padding-left: 4px; padding-right: 4px; } .config-page-header .phui-profile-header.phui-header-shell .phui-header-header { font-size: 20px; } .device-phone .config-page-header .phui-profile-header.phui-header-shell .phui-header-header { font-size: 16px; } .config-page-content { margin: 0 24px; } .device-phone .config-page-content { margin: 0 4px; } -.device-desktop .config-page-content .phui-object-item-list-view { +.device-desktop .config-page-content .phui-oi-list-view { padding-left: 0; padding-right: 0; } .device-desktop .config-page-content .phui-document-fluid .phui-document-view { padding: 16px 0; margin: 0; } .config-page-content .aphront-table-view { border: none; } .config-page-property { padding-top: 4px; border-bottom: 1px solid {$thinblueborder}; } .config-page-content .aphront-table-notice { padding: 0; } .config-page-content .aphront-table-notice .phui-info-view { margin-left: 0; margin-right: 0; } .config-page-content .aphront-table-wrap + .aphront-table-wrap { margin-top: 20px; border-top: 1px solid {$thinblueborder}; } .config-page-content .phui-box.phui-box-blue-property { margin-top: 16px; } diff --git a/webroot/rsrc/css/application/flag/flag.css b/webroot/rsrc/css/application/flag/flag.css index 8f6f7a45e..7d5f0af5d 100644 --- a/webroot/rsrc/css/application/flag/flag.css +++ b/webroot/rsrc/css/application/flag/flag.css @@ -1,83 +1,83 @@ /** * @provides phabricator-flag-css */ .phabricator-flag-icon { padding: 8px; background: transparent 0 0 no-repeat; } -.phui-object-item .phabricator-flag-icon { +.phui-oi .phabricator-flag-icon { float: left; margin: 2px; margin-right: 8px; margin-bottom: 0; } .phabricator-flag-radio { padding-left: 18px; margin: 1px; background: transparent 0 0 no-repeat; } .phabricator-flag-color-0 { background-image: url(/rsrc/image/icon/fatcow/flag_red.png); } .phabricator-flag-color-1 { background-image: url(/rsrc/image/icon/fatcow/flag_orange.png); } .phabricator-flag-color-2 { background-image: url(/rsrc/image/icon/fatcow/flag_yellow.png); } .phabricator-flag-color-3 { background-image: url(/rsrc/image/icon/fatcow/flag_green.png); } .phabricator-flag-color-4 { background-image: url(/rsrc/image/icon/fatcow/flag_blue.png); } .phabricator-flag-color-5 { background-image: url(/rsrc/image/icon/fatcow/flag_pink.png); } .phabricator-flag-color-6 { background-image: url(/rsrc/image/icon/fatcow/flag_purple.png); } .phabricator-flag-color-7 { background-image: url(/rsrc/image/icon/fatcow/flag_finish.png); } .phabricator-flag-ghost { background-image: url(/rsrc/image/icon/fatcow/flag_ghost.png); } .phabricator-flag-select-control .phabricator-flag-select-label { border: 1px solid #aaaaaa; width: 48px; height: 24px; border-radius: 4px; position: relative; display: inline-block; cursor: pointer; margin: 0 4px 4px 0; } .phabricator-flag-select-control .phabricator-flag-select-checkbox { position: absolute; top: 2px; left: 4px; width: auto; } .phabricator-flag-select-control .phui-icon-view { position: absolute; width: 16px; height: 16px; top: 4px; left: 24px; } diff --git a/webroot/rsrc/css/application/project/project-view.css b/webroot/rsrc/css/application/project/project-view.css index 7fc3001d8..5b72e1c9e 100644 --- a/webroot/rsrc/css/application/project/project-view.css +++ b/webroot/rsrc/css/application/project/project-view.css @@ -1,89 +1,89 @@ /** * @provides project-view-css */ .project-view-header-tag { margin-left: 8px; font-size: {$normalfontsize}; color: {$bluetext}; font-family: {$fontfamily}; font-weight: normal; } .device-phone .project-view-header-tag { display: block; margin-left: -4px; } .project-view-header-tag .phui-icon-view { color: {$bluetext}; } .device .project-view-home .phui-two-column-row { display: flex; flex-direction: column-reverse; } .project-view-home .phui-box.project-view-properties { margin: 0 0 16px 0; padding: 0; border: 1px solid rgba({$alphagrey}, .2); background-color: #fff; } .device-desktop .phui-two-column-view .project-view-properties .phui-property-list-container { padding: 12px 0; } .project-view-properties .phui-property-list-container + .phui-property-list-text-content { border-color: rgba({$alphagrey},.2); } .project-view-properties .phui-property-list-key { width: auto; margin-left: 4px; } .project-view-properties .phui-property-list-section-header { border: none; padding: 12px 4px 0; } .project-view-feed.phui-object-box.phui-box-border { border: 1px solid rgba({$alphagrey}, .2); } .project-view-home .phui-box-grey { padding: 0; } .project-view-home .phui-box-grey .phui-header-shell { padding: 6px 6px 6px 12px; } .project-view-home .phui-box-grey .phui-header-header { font-size: {$biggerfontsize}; } .project-view-home .phui-box-grey .phui-header-action-link { margin-top: 0; margin-bottom: 0; } -.project-view-home .phui-box-grey .phui-object-item-list-view { +.project-view-home .phui-box-grey .phui-oi-list-view { padding: 4px 8px 0 8px; } .project-view-badges .phui-badge-flex-view { background-color: #fff; } -.project-view-home .phui-box-grey .phui-object-item-attribute .phui-icon-view { +.project-view-home .phui-box-grey .phui-oi-attribute .phui-icon-view { color: {$lightgreytext}; } .profile-no-badges { padding: 24px 0; } diff --git a/webroot/rsrc/css/application/search/search-results.css b/webroot/rsrc/css/application/search/search-results.css index f02efe131..734d86c02 100644 --- a/webroot/rsrc/css/application/search/search-results.css +++ b/webroot/rsrc/css/application/search/search-results.css @@ -1,18 +1,18 @@ /** * @provides phabricator-search-results-css */ -.phui-object-item-link strong { +.phui-oi-link strong { color: {$fire}; text-decoration: underline; } .phui-source-fragment { color: {$darkgreytext}; } .phui-source-fragment strong { background-color: {$lightyellow}; font-weight: normal; color: #000; } diff --git a/webroot/rsrc/css/layout/phabricator-source-code-view.css b/webroot/rsrc/css/layout/phabricator-source-code-view.css index 4bd57fcfc..7e956b580 100644 --- a/webroot/rsrc/css/layout/phabricator-source-code-view.css +++ b/webroot/rsrc/css/layout/phabricator-source-code-view.css @@ -1,74 +1,74 @@ /** * @provides phabricator-source-code-view-css */ .phabricator-source-code-container { overflow-x: auto; overflow-y: hidden; border: 1px solid {$sh-lightyellowborder}; border-radius: 3px; background-color: #FFFEF5; } -.phui-object-item .phabricator-source-code-container { +.phui-oi .phabricator-source-code-container { margin-left: 8px; } .phabricator-source-code-view tr:first-child * { padding-top: 8px; } .phabricator-source-code-view tr:last-child * { padding-bottom: 8px; } .phabricator-source-code { white-space: pre-wrap; padding: 2px 8px 1px; width: 100%; } .phabricator-source-line { background-color: {$sh-yellowbackground}; text-align: right; padding: 2px 6px 1px 12px; border-right: 1px solid {$sh-lightyellowborder}; color: {$sh-yellowtext}; /* When the user selects rows of source, don't visibly select the line numbers beside them. We use JS to strip the line numbers out when the user copies the text. */ -moz-user-select: -moz-none; -khtml-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none; white-space: nowrap; } th.phabricator-source-line a { color: {$darkbluetext}; } th.phabricator-source-line:hover { background: {$sh-lightyellowborder}; cursor: pointer; } .phabricator-source-highlight { background: {$sh-yellowbackground}; } .phabricator-source-code-summary { padding-bottom: 8px; } /* If a Paste has enormously long lines, truncate them in the summary on the list page. They'll be fully visible on the Paste itself. */ .phabricator-source-code-summary .phabricator-source-code-container { overflow-x: hidden; } .phabricator-source-code-summary .phabricator-source-code { white-space: nowrap; } diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-big-ui.css b/webroot/rsrc/css/phui/object-item/phui-oi-big-ui.css new file mode 100644 index 000000000..7fcc6d4ef --- /dev/null +++ b/webroot/rsrc/css/phui/object-item/phui-oi-big-ui.css @@ -0,0 +1,48 @@ +/** + * @provides phui-oi-big-ui-css + * @requires phui-oi-list-view-css + */ + +.phui-oi-list-big ul.phui-oi-list-view { + margin: 0; + padding: 20px; +} + +.phui-oi-list-big .phui-oi-no-bar .phui-oi-frame { + border: 0; +} + +.phui-oi-list-big .phui-oi-image-icon { + margin: 8px 2px 12px; +} + +.phui-oi-list-big a.phui-oi-link { + color: #000; + font-size: {$biggestfontsize}; +} + +.phui-oi-list-big .phui-oi-name { + padding-top: 6px; +} + +.phui-oi-list-big .phui-oi-launch-button a.button { + font-size: {$normalfontsize}; + padding: 3px 12px 4px; +} + +.device-desktop .phui-oi-list-big .phui-oi { + margin-bottom: 8px; +} + +.phui-oi-list-big .phui-oi-col0 { + vertical-align: top; + padding: 0; +} + +.phui-oi-list-big .phui-oi-status-icon { + padding: 5px; +} + +.phui-oi-list-big .phui-oi-visited a.phui-oi-link { + color: {$violet}; +} diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-color.css b/webroot/rsrc/css/phui/object-item/phui-oi-color.css new file mode 100644 index 000000000..e9ec63072 --- /dev/null +++ b/webroot/rsrc/css/phui/object-item/phui-oi-color.css @@ -0,0 +1,68 @@ +/** + * @provides phui-oi-color-css + * @requires phui-oi-list-view-css + */ + + +/* - Bar Colors ---------------------------------------------------------------- + Colors for the left-hand border bars, used to indicate object status or other + attributes. +*/ + +.phui-oi-bar-color-red { + border-left-color: {$red}; +} + +.phui-oi-bar-color-orange { + border-left-color: {$orange}; +} + +.phui-oi-bar-color-yellow { + border-left-color: {$yellow}; +} + +.phui-oi-bar-color-green { + border-left-color: {$green}; +} + +.phui-oi-bar-color-sky { + border-left-color: {$sky}; +} + +.phui-oi-bar-color-blue { + border-left-color: {$blue}; +} + +.phui-oi-bar-color-indigo { + border-left-color: {$indigo}; +} + +.phui-oi-bar-color-violet { + border-left-color: {$violet}; +} + +.phui-oi-bar-color-pink { + border-left-color: {$pink}; +} + +.phui-oi-bar-color-fire { + border-left-color: {$fire}; +} + +.phui-oi-bar-color-bluegrey { + border-left-color: {$bluetext}; +} + +.phui-oi-bar-color-lightbluetext { + border-left-color: {$lightbluetext}; +} + +.phui-oi-bar-color-grey, +.phui-oi-bar-color-lightgreytext { + border-left-color: {$lightgreytext}; +} + +.phui-oi-bar-color-black, +.phui-oi-bar-color-dark { + border-left-color: {$darkgreytext}; +} diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-drag-ui.css b/webroot/rsrc/css/phui/object-item/phui-oi-drag-ui.css new file mode 100644 index 000000000..caf9ff8dd --- /dev/null +++ b/webroot/rsrc/css/phui/object-item/phui-oi-drag-ui.css @@ -0,0 +1,59 @@ +/** + * @provides phui-oi-drag-ui-css + * @requires phui-oi-list-view-css + */ + +.phui-object-box .phui-oi-list-view.phui-oi-list-drag { + margin-top: 8px; + margin-bottom: 4px; +} + +.phui-oi.phui-oi-drag { + background: {$bluebackground}; + border-radius: 3px; + border: none; +} + +.phui-oi.phui-oi-drag, +.phui-oi.phui-oi-drag .phui-oi-frame { + border: none; +} + +.phui-object-box .phui-oi-list-view .phui-oi.phui-oi-drag { + margin-top: 4px; +} + +.phui-oi-drag.phui-oi-with-image-icon .phui-oi-frame, +.phui-oi-drag.phui-oi-with-image .phui-oi-frame, +.phui-oi-drag .phui-oi-frame { + min-height: 36px; +} + +.phui-oi-drag .phui-oi-list-icon { + height: auto; + width: auto; +} + +.phui-oi-drag .phui-oi-image-icon .phui-icon-view { + height: 16px; + width: 16px; + font-size: 16px; + line-height: 20px; +} + +.phui-oi-drag.phui-oi-grippable .phui-oi-frame { + padding-left: 28px; +} + +.phui-oi-drag .phui-oi-grip { + left: 4px; +} + +.phui-oi-drag.phui-oi-with-image-icon .phui-oi-content-box, +.phui-oi-drag.phui-oi-with-image .phui-oi-content-box { + margin-left: 24px; +} + +.phui-oi-list-drag .drag-ghost { + margin-top: 4px; +} diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-flush-ui.css b/webroot/rsrc/css/phui/object-item/phui-oi-flush-ui.css new file mode 100644 index 000000000..2902cb22c --- /dev/null +++ b/webroot/rsrc/css/phui/object-item/phui-oi-flush-ui.css @@ -0,0 +1,13 @@ +/** + * @provides phui-oi-flush-ui-css + * @requires phui-oi-list-view-css + */ + +.phui-oi-list-view.phui-oi-list-flush { + padding: 0; + margin: 0; +} + +.phui-object-box .phui-oi-list-flush .phui-oi { + margin: 0; +} diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css b/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css new file mode 100644 index 000000000..018245e21 --- /dev/null +++ b/webroot/rsrc/css/phui/object-item/phui-oi-list-view.css @@ -0,0 +1,625 @@ +/** + * @provides phui-oi-list-view-css + */ + +.phui-oi { + border-left-width: 0; +} + +ul.phui-oi-list-view { + padding: 8px; + list-style: none; +} + +.device-desktop .phui-oi-list-view { + padding: 16px; +} + +.phui-oi-list-view + .phui-oi-list-view { + padding-top: 0; +} + +.phui-object-box .phui-oi-list-view .phui-oi { + margin: 0; +} + +.phui-oi-list-view .phui-info-view { + margin: 0; +} + +.phui-object-box .phui-oi-list-view .phui-info-view { + color: {$greytext}; + border: none; +} + +.phui-oi { + border-style: solid; + border-color: {$lightgreyborder}; + margin: 5px 0; + overflow: hidden; + background: #fff; + margin-bottom: 4px; +} + +.phui-oi .phui-icon-view { + display: inline-block; +} + +.phui-oi-frame { + border-color: {$lightblueborder}; + border-width: 1px 1px 1px 0; + border-style: solid; + position: relative; + min-height: 33px; + overflow: hidden; +} + +.phui-oi-cover-image { + display: none; +} + +.phui-oi-no-bar .phui-oi-frame { + border-width: 1px; +} + +.device-desktop .phui-oi { + margin: 0 0 4px 0; +} + +.phui-object-box .phui-oi-list-view { + margin: 0; +} + +.phui-oi-status-icon { + font-weight: bold; + padding: 3px; + font-size: 16px; +} + +.phui-oi-list-view .phui-oi-col0 .phui-icon-view { + width: 17px; + text-align: center; + overflow: visible; + position: relative; + left: -1px; +} + +.phui-oi-name { + padding: 8px 8px 0; + white-space: nowrap; + word-wrap: break-word; + overflow: hidden; + text-overflow: ellipsis; + font-weight: bold; + -webkit-font-smoothing: antialiased; +} + +.device-phone .phui-oi-name { + overflow: normal; + white-space: normal; + font-weight: bold; +} + +.phui-oi-link { + display: inline; +} + +.phui-oi-objname { + color: #000; + cursor: text; + font-weight: bold; +} + +.phui-oi-content { + margin: 4px 8px 2px 0; + overflow: hidden; +} + +.phui-oi-grippable { + cursor: move; +} + +.device .phui-oi-grippable { + cursor: normal; +} + +.phui-oi-grip { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 20px; + background: url('/rsrc/image/texture/grip.png') center center no-repeat; +} + +.device .phui-oi-grip { + display: none; +} + +.phui-oi-grippable .phui-oi-frame { + padding-left: 16px; +} + +.device .phui-oi-grippable .phui-oi-frame { + padding-left: 0; +} + +.phui-oi-list-header { + padding: 0 0 8px 0; + color: {$darkgreytext}; +} + +.phui-oi-table { + display: table; + table-layout: fixed; + width: 100%; +} + +.phui-oi-table-row { + display: table-row; +} + +.phui-oi-col0 { + width: 20px; + display: table-cell; + vertical-align: middle; + padding-left: 4px; +} + +.device-phone .phui-oi-col0 { + vertical-align: top; + padding-top: 8px; +} + +.phui-oi-col1 { + display: table-cell; + vertical-align: top; +} + +.phui-oi-col2 { + width: 160px; + display: table-cell; + vertical-align: top; +} + +.device-phone .phui-oi-col1, +.device-phone .phui-oi-col2 { + display: block; + width: auto; +} + +/* - Item Actions -------------------------------------------------------------- + + Action buttons, like "Edit" and "Delete". + +*/ + +.phui-oi-actions { + position: absolute; + right: 4px; + top: 4px; + bottom: 4px; + vertical-align: middle; + text-align: right; +} + +.phui-oi-actions .phui-list-item-view { + float: right; + height: 100%; + width: 24px; + display: inline-block; + position: relative; +} + +.phui-oi-actions .phui-list-item-href { + display: inline-block; + position: relative; + width: 24px; + height: 100%; +} + +.device-desktop .phui-oi-actions .phui-list-item-href:hover { + background: {$hoverblue}; + border-radius: 3px; +} + +.phui-oi-actions .phui-list-item-icon { + width: 14px; + height: 14px; + position: absolute; + display: block; + top: 50%; + margin-top: -7px; + left: 3px; +} + +.phui-oi-actions .phui-list-item-name { + display: none; +} + +.phui-oi-with-1-actions .phui-oi-content-box { + margin-right: 28px; + overflow: hidden; +} + +.phui-oi-with-2-actions .phui-oi-content-box { + margin-right: 54px; + overflow: hidden; +} + +.phui-oi-with-3-actions .phui-oi-content-box { + margin-right: 76px; + overflow: hidden; +} + + +/* - Object Box List ----------------------------------------------------------- + + Tighter, stacking list when inside an Object Box + +*/ + +.phui-object-box .phui-oi-list-view { + padding: 0; + border: none; +} + +.phui-object-box .phui-oi-frame { + border-right: none; +} + +.phui-object-box .phui-oi:last-child + .phui-oi-frame { + border-bottom: none; +} + + +/* - Subhead ------------------------------------------------------------------- + + Descriptive Text or Links under the main header, before attributes. + +*/ + +.phui-oi-subhead { + color: {$greytext}; + padding: 0 8px 6px; +} + + +/* - Attribute List ------------------------------------------------------------ + + Object attributes, commonly used to render created date, etc. + +*/ + +.phui-oi-attributes { + padding: 0 8px 6px; + line-height: 18px; + min-height: 21px; +} + +.phui-oi-attribute { + display: inline-block; + color: {$greytext}; + vertical-align: top; +} + +.phui-oi-attribute-spacer { + padding: 0 4px; +} + + +/* - Icons --------------------------------------------------------------------- + + Icons, which show object state. On mobile, they are rendered without labels + to save space. + +*/ + +.phui-object-icon-pane { + margin: 8px 0 4px; +} + +.device-phone .phui-object-icon-pane { + margin: 0 0 4px; +} + +.phui-oi-icons { + padding: 0 4px 0 0; +} + +.device-phone .phui-oi-icons { + padding: 0 0 0 8px; +} + +ul.phui-oi-icons { + margin: 0; +} + +.phui-oi-icon { + vertical-align: middle; + font-size: {$smallerfontsize}; + color: {$greytext}; + text-align: right; + white-space: nowrap; + overflow: hidden; + min-height: 18px; + line-height: 18px; +} + +.device-phone .phui-oi-icon { + text-align: left; + font-size: 13px; +} + +/* + * Items with icon 'none' still have on mobile, thus creating a weird vertical + * margin for elements which follow + */ +.device-phone .phui-oi-icon .none { + display: none; +} + +.phui-oi-icon-image { + width: 14px; + height: 14px; + font-size: 13px; + margin-right: 4px; +} + + +/* - Disabled ------------------------------------------------------------------ + + Disabled/inactive objects. + +*/ + + +.phui-oi.phui-oi-disabled .phui-oi-link, +.phui-oi.phui-oi-disabled .phui-oi-link a { + color: {$lightgreytext}; +} + +.phui-oi.phui-oi-disabled .phui-oi-frame { + border-color: #d7d7d7; +} + +.phui-oi.phui-oi-disabled .phui-oi-objname { + color: {$greytext}; + text-decoration: line-through; +} + + +/* - Effects ------------------------------------------------------------------- + + Effects like highlighted items. + +*/ + +.phui-oi.phui-oi-highlighted { + background: {$sh-yellowbackground}; +} + +ul.phui-oi-list-view .phui-oi-highlighted + .phui-oi-frame { + border-color: {$sh-yellowborder}; +} + +.phui-oi-selected { + background: {$sh-bluebackground}; +} + +ul.phui-oi-list-view .phui-oi-selected + .phui-oi-frame { + border-color: {$sh-blueborder}; +} + + +/* - Handle Icons -------------------------------------------------------------- + + Shows owners, reviewers, etc., using profile picture icons. + +*/ + +.phui-oi-handle-icons { + bottom: 0; + right: 4px; + position: absolute; +} + +.phui-oi-handle-icon { + width: 24px; + height: 24px; + display: inline-block; + background-size: 100%; + border-radius: 3px; + background-repeat: no-repeat; +} + + +/* - Bylines ------------------------------------------------------------------- + + Shows owners, authors, reviewers, etc., in text. + +*/ + +.phui-oi-bylines { + padding: 0 4px 0 8px; + margin: 4px 0 8px; + font-size: {$smallerfontsize}; + color: {$greytext}; + text-align: right; +} + +.phui-oi-byline { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.device-phone .phui-oi-bylines { + float: none; + text-align: left; + padding: 0 8px; + font-size: {$normalfontsize}; +} + + +/* - Draggable List ------------------------------------------------------------ + + These classes are applied by and/or provided for use with JX.DraggableList. + +*/ + +.drag-ghost { + position: relative; + background: {$sh-indigobackground}; + border-radius: 3px; + margin-bottom: 4px; + border: 1px dashed {$sh-indigoborder}; +} + +.drag-dragging { + opacity: 0.25; +} + +.drag-sending { + opacity: 0.5; +} + +.drag-clone, +.drag-frame { + /* This allows mousewheel events to pass through the clone and frame while + they are being dragged. Without this, the mousewheel does not work during + a drag operation. */ + pointer-events: none; +} + +.drag-frame { + position: fixed; + overflow: hidden; + left: 0; + right: 0; + top: 0; + bottom: 0; +} + +.drag-clone { + position: absolute; + list-style: none; +} + +/* - Badges ---------------------------------------------------------------- */ + +.phui-oi-col0.phui-oi-badge { + width: 28px; +} + +.phui-oi-col0.phui-oi-badge .phui-icon-view { + left: 0; +} + +/* - Countdowns ------------------------------------------------------------ */ + +.phui-oi-col0.phui-oi-countdown { + width: 52px; + padding: 0; +} + +.phui-oi-countdown .phui-oi-countdown-number { + border-right: 1px solid {$thinblueborder}; + text-align: center; + color: {$bluetext}; +} + + +/* - Dashboards ------------------------------------------------------------ */ + +.phui-object-box .phui-oi-list-view .phui-oi-frame { + border: none; + border-bottom: 1px solid {$thinblueborder}; +} + +.drag-clone.phui-oi-standard .phui-oi-frame { + border: none; + opacity: 0.8; + background: {$sh-bluebackground}; +} + +.phui-object-box .phui-oi-list-header { + font-size: {$normalfontsize}; + color: {$darkbluetext}; + border-top: 1px solid {$thinblueborder}; + border-bottom: 1px solid {$thinblueborder}; + padding: 8px; + background-color: {$lightgreybackground}; +} + +.phui-object-box .phui-header-shell + .phui-oi-list-view .phui-oi-list-header, +.phui-object-box .phui-object-box-hidden-content + .phui-oi-list-view + .phui-oi-list-header, +.phui-object-box .phui-object-box-hidden-content + .phui-oi-list-header { + border-top: none; + } + +.dashboard-pane .phui-oi-empty .phui-info-view { + border: none; + margin: 0; +} + +.device-desktop .aphront-multi-column-fluid .aphront-multi-column-2-up + .aphront-multi-column-column-outer.third .phui-oi-col2 { + display: none; + } + + +/* - Launcher List ---------------------------------------------------------- */ + +.phui-oi-image-icon { + background: none; + width: 40px; + height: 40px; + margin: 8px 6px; + position: absolute; +} + +.phui-oi-image-icon .phui-icon-view { + position: absolute; + width: 40px; + height: 40px; + font-size: 26px; + text-align: center; + line-height: 36px; +} + +.phui-oi-image { + width: 40px; + height: 40px; + border-radius: 3px; + background-size: 100%; + margin: 8px 6px; + position: absolute; +} + +.phui-oi-with-image-icon .phui-oi-frame, +.phui-oi-with-image .phui-oi-frame { + min-height: 52px; +} + +.phui-oi-with-image-icon .phui-oi-content-box, +.phui-oi-with-image .phui-oi-content-box { + margin-left: 46px; +} + +/* - Launcher Button -------------------------------------------------------- */ + +.phui-oi-col2.phui-oi-launch-button { + text-align: right; + vertical-align: middle; + padding-right: 4px; +} + +.device-phone .phui-oi-col2.phui-oi-launch-button { + padding: 0 8px 8px; + text-align: left; +} diff --git a/webroot/rsrc/css/phui/object-item/phui-oi-simple-ui.css b/webroot/rsrc/css/phui/object-item/phui-oi-simple-ui.css new file mode 100644 index 000000000..e838f1ce3 --- /dev/null +++ b/webroot/rsrc/css/phui/object-item/phui-oi-simple-ui.css @@ -0,0 +1,43 @@ +/** + * @provides phui-oi-simple-ui-css + * @requires phui-oi-list-view-css + */ + +.phui-oi-list-simple .phui-oi-with-image .phui-oi-frame { + min-height: 26px; +} + +.phui-oi-list-simple .phui-oi-image { + height: 26px; + width: 26px; + margin: 0; +} + +.phui-oi-list-simple .phui-oi-with-image + .phui-oi-content-box { + margin-left: 32px; +} + +.phui-oi-list-simple .phui-oi-name { + padding: 2px 0; +} + +.phui-oi-list-simple .phui-oi-name a { + color: {$darkbluetext}; +} + +.phui-oi-list-view.phui-oi-list-simple .phui-oi-frame { + border: none; + margin-bottom: 4px; +} + +.phui-oi-list-view.phui-oi-list-simple li:last-child + .phui-oi-frame { + margin: 0; +} + +.phui-oi-list-simple .phui-oi-actions { + top: 2px; + bottom: 2px; + right: 2px; +} diff --git a/webroot/rsrc/css/phui/phui-box.css b/webroot/rsrc/css/phui/phui-box.css index 8d2acd006..ef0816f82 100644 --- a/webroot/rsrc/css/phui/phui-box.css +++ b/webroot/rsrc/css/phui/phui-box.css @@ -1,116 +1,116 @@ /** * @provides phui-box-css */ .phui-box-border { border: 1px solid {$lightblueborder}; background-color: #fff; border-radius: 3px; } .phui-box.focus { box-shadow: 0 0 5px 5px rgba(255, 255, 0, 0.90); } .phui-box-grey { background-color: #F7F7F9; border-radius: 3px; border-color: rgba({$alphagrey},.2); } .phui-box-blue { background-color: {$bluebackground}; border-radius: 3px; border-color: {$thinblueborder}; } -.phui-box-blue .phui-object-item, -.phui-box-grey .phui-object-item { +.phui-box-blue .phui-oi, +.phui-box-grey .phui-oi { background: transparent; } -.phui-box-blue .phui-object-item-link, -.phui-box-grey .phui-object-item-link { +.phui-box-blue .phui-oi-link, +.phui-box-grey .phui-oi-link { color: {$darkbluetext}; } -.phui-box-blue .phui-object-item-list-view, -.phui-box-grey .phui-object-item-list-view { +.phui-box-blue .phui-oi-list-view, +.phui-box-grey .phui-oi-list-view { background-color: #fff; } .phui-box-blue .phui-header-shell { border-color: {$thinblueborder}; } .phui-box-grey .phui-header-shell { border-color: rgba({$alphagrey},.1); } .phui-object-box.phui-box-blue div.phui-info-severity-nodata, .phui-object-box.phui-box-grey div.phui-info-severity-nodata { background: transparent; padding: 20px 4px 24px; text-align: center; border: none; color: {$greytext}; } /* Property Boxes */ .phui-box.phui-box-blue-property { border-radius: 3px; border-color: {$lightblueborder}; margin: 0; padding: 0; } .phui-box.phui-box-blue-property .phui-header-header .phui-header-icon { margin-right: 6px; } .phui-box.phui-box-blue-property .phui-header-action-link { margin-top: 0; margin-bottom: 0; } .device .phui-box.phui-box-blue-property { padding: 0; } .phui-box.phui-object-box.phui-box-blue-property .phui-header-shell { background-color: #eff3fc; border-top-right-radius: 3px; border-top-left-radius: 3px; padding: 6px 16px; } body.device .phui-box.phui-box-blue-property .phui-header-shell, body.device .phui-box-blue-property.phui-object-box.phui-object-box-collapsed .phui-header-shell { padding: 6px 12px; margin-top: 0; } .phui-box.phui-box-blue-property .phui-header-header { font-size: {$biggerfontsize}; color: {$bluetext}; } -.phui-box-blue-property .phui-object-item-list-view { +.phui-box-blue-property .phui-oi-list-view { padding: 2px 8px; } body .phui-box-blue-property.phui-object-box.phui-object-box-collapsed { padding: 0; } body .phui-box-blue-property .phui-header-shell + .phui-object-box { margin-bottom: 0; } .phui-box-blue-property .phui-header-shell + .phui-object-box .phui-header-shell { background: #fff; } diff --git a/webroot/rsrc/css/phui/phui-crumbs-view.css b/webroot/rsrc/css/phui/phui-crumbs-view.css index 3cf801372..d2d074481 100644 --- a/webroot/rsrc/css/phui/phui-crumbs-view.css +++ b/webroot/rsrc/css/phui/phui-crumbs-view.css @@ -1,132 +1,132 @@ /** * @provides phui-crumbs-view-css */ .phui-crumbs-view { overflow: hidden; vertical-align: top; padding: 0 12px 0 20px; /* TODO: Position this over the slider for Differential's file tree view. Remove this once that gets sorted out. */ position: relative; -webkit-font-smoothing: antialiased; background-color: {$page.background}; } .printable .phui-crumbs-view { display: none; } .phui-crumbs-view, .phui-crumbs-view a.phui-crumb-view, .phui-crumbs-view a.phui-crumbs-action { color: {$darkbluetext}; font-weight: bold; text-decoration: none; } .device-tablet .phui-crumbs-view, .device-phone .phui-crumbs-view, .project-board-nav .phui-crumbs-view { padding-left: 8px; padding-right: 8px; } .phui-crumbs-view a.phui-crumbs-action-disabled, .phui-crumbs-view a.phui-crumbs-action-disabled .phui-icon-view { color: {$lightgreytext}; } .phui-crumbs-view + .phui-header-shell { border-top: none; } .device-desktop .phui-crumbs-view a:hover { text-decoration: underline; } .phui-crumb-view { float: left; padding: 8px 0; } .device-phone .phui-crumb-view.phabricator-last-crumb .phui-crumb-name, .device-phone .phui-crumb-view.phui-crumb-has-icon, .device-phone .phui-crumb-has-icon + .phui-crumb-divider { display: inline-block; } .device-phone .phui-crumb-name, .device-phone .phui-crumb-divider { display: none; } .phui-crumb-has-icon .phui-icon-view { margin: 0 4px; } .device-phone .phui-crumb-icon { margin-left: 7px; } .phui-crumbs-actions { float: right; white-space: nowrap; } .phui-crumbs-action { display: inline-block; height: 17px; padding: 8px 12px; position: relative; } .device-phone a.phui-crumbs-action { padding: 8px 6px; } .device-desktop .phui-crumbs-view a:hover, .device-desktop .phui-crumbs-view a:hover .phui-icon-view { color: {$blue}; text-decoration: none; } .device-phone .phui-crumbs-action-name { display: none; } a.phui-crumbs-action .phui-icon-view { color: {$darkbluetext}; } a.phui-crumbs-action .phui-crumbs-action-name { margin-left: 6px; } .device-phone a.phui-crumbs-action .phui-icon-view { margin-left: 4px; } .phui-crumb-divider { margin: 2px 8px; } .phui-crumbs-view.phui-crumbs-border { border-bottom: 1px solid rgba({$alphagrey},.1); } body .phui-crumbs-view + .phui-object-box { margin-top: 0; } -body .phui-crumbs-view + .phui-object-item-list-view { +body .phui-crumbs-view + .phui-oi-list-view { padding-top: 0; } .phui-crumb-action-divider { border-left: 1px solid {$lightgreyborder}; } .phui-crumbs-action-icon + .phui-crumbs-action-icon { padding-left: 4px; } diff --git a/webroot/rsrc/css/phui/phui-object-item-list-view.css b/webroot/rsrc/css/phui/phui-object-item-list-view.css deleted file mode 100644 index 2f77102f4..000000000 --- a/webroot/rsrc/css/phui/phui-object-item-list-view.css +++ /dev/null @@ -1,790 +0,0 @@ -/** - * @provides phui-object-item-list-view-css - */ - -ul.phui-object-item-list-view { - padding: 8px; - list-style: none; -} - -.device-desktop .phui-object-item-list-view { - padding: 16px; -} - -.phui-object-item-list-view + .phui-object-item-list-view { - padding-top: 0; -} - -.phui-object-item-list-view.phui-object-list-flush { - padding: 0; - margin: 0; -} - -.phui-object-box .phui-object-item-list-view .phui-object-item { - margin: 0; -} - -.phui-object-item-list-view .phui-info-view { - margin: 0; -} - -.phui-object-box .phui-object-item-list-view .phui-info-view { - color: {$greytext}; - border: none; -} - -.phui-object-item { - border-style: solid; - border-color: {$lightgreyborder}; - margin: 5px 0; - overflow: hidden; - background: #fff; - margin-bottom: 4px; -} - -.phui-object-item .phui-icon-view { - display: inline-block; -} - -.phui-object-item-frame { - border-color: {$lightblueborder}; - border-width: 1px 1px 1px 0; - border-style: solid; - position: relative; - min-height: 33px; - overflow: hidden; -} - -.phui-object-item-cover-image { - display: none; -} - -.phui-object-item-no-bar .phui-object-item-frame { - border-width: 1px; -} - -.device-desktop .phui-object-item { - margin: 0 0 4px 0; -} - -.phui-object-box .phui-object-list-flush .phui-object-item { - margin: 0; -} - -.phui-object-box .phui-object-item-list-view { - margin: 0; -} - -.phui-object-item-status-icon { - font-weight: bold; - padding: 3px; - font-size: 16px; -} - -.phui-object-item-list-view .phui-object-item-col0 .phui-icon-view { - width: 17px; - text-align: center; - overflow: visible; - position: relative; - left: -1px; -} - -.phui-object-item-name { - padding: 8px 8px 0; - white-space: nowrap; - word-wrap: break-word; - overflow: hidden; - text-overflow: ellipsis; - font-weight: bold; - -webkit-font-smoothing: antialiased; -} - -.device-phone .phui-object-item-name { - overflow: normal; - white-space: normal; - font-weight: bold; -} - -.phui-object-item-link { - display: inline; -} - -.phui-object-item-objname { - color: #000; - cursor: text; - font-weight: bold; -} - -.phui-object-item-content { - margin: 4px 8px 2px 0; - overflow: hidden; -} - -.phui-object-item-grippable { - cursor: move; -} - -.device .phui-object-item-grippable { - cursor: normal; -} - -.phui-object-item-grip { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 20px; - background: url('/rsrc/image/texture/grip.png') center center no-repeat; -} - -.device .phui-object-item-grip { - display: none; -} - -.phui-object-item-grippable .phui-object-item-frame { - padding-left: 16px; -} - -.device .phui-object-item-grippable .phui-object-item-frame { - padding-left: 0; -} - -.phui-object-item-list-header { - padding: 0 0 8px 0; - color: {$darkgreytext}; -} - -.phui-object-item-table { - display: table; - table-layout: fixed; - width: 100%; -} - -.phui-object-item-table-row { - display: table-row; -} - -.phui-object-item-col0 { - width: 20px; - display: table-cell; - vertical-align: middle; - padding-left: 4px; -} - -.device-phone .phui-object-item-col0 { - vertical-align: top; - padding-top: 8px; -} - -.phui-object-item-col1 { - display: table-cell; - vertical-align: top; -} - -.phui-object-item-col2 { - width: 160px; - display: table-cell; - vertical-align: top; -} - -.device-phone .phui-object-item-col1, -.device-phone .phui-object-item-col2 { - display: block; - width: auto; -} - -/* - Item Actions -------------------------------------------------------------- - - Action buttons, like "Edit" and "Delete". - -*/ - -.phui-object-item-actions { - position: absolute; - right: 4px; - top: 4px; - bottom: 4px; - vertical-align: middle; - text-align: right; -} - -.phui-object-item-actions .phui-list-item-view { - float: right; - height: 100%; - width: 24px; - display: inline-block; - position: relative; -} - -.phui-object-item-actions .phui-list-item-href { - display: inline-block; - position: relative; - width: 24px; - height: 100%; -} - -.device-desktop .phui-object-item-actions .phui-list-item-href:hover { - background: {$hoverblue}; - border-radius: 3px; -} - -.phui-object-item-actions .phui-list-item-icon { - width: 14px; - height: 14px; - position: absolute; - display: block; - top: 50%; - margin-top: -7px; - left: 3px; -} - -.phui-object-item-actions .phui-list-item-name { - display: none; -} - -.phui-object-item-with-1-actions .phui-object-item-content-box { - margin-right: 28px; - overflow: hidden; -} - -.phui-object-item-with-2-actions .phui-object-item-content-box { - margin-right: 54px; - overflow: hidden; -} - -.phui-object-item-with-3-actions .phui-object-item-content-box { - margin-right: 76px; - overflow: hidden; -} - - -/* - Object Box List ----------------------------------------------------------- - - Tighter, stacking list when inside an Object Box - -*/ - -.phui-object-box .phui-object-item-list-view { - padding: 0; - border: none; -} - -.phui-object-box .phui-object-item-frame { - border-right: none; -} - -.phui-object-box .phui-object-item:last-child - .phui-object-item-frame { - border-bottom: none; -} - - -/* - Subhead ------------------------------------------------------------------- - - Descriptive Text or Links under the main header, before attributes. - -*/ - -.phui-object-item-subhead { - color: {$greytext}; - padding: 0 8px 6px; -} - - -/* - Attribute List ------------------------------------------------------------ - - Object attributes, commonly used to render created date, etc. - -*/ - -.phui-object-item-attributes { - padding: 0 8px 6px; - line-height: 18px; - min-height: 21px; -} - -.phui-object-item-attribute { - display: inline-block; - color: {$greytext}; - vertical-align: top; -} - -.phui-object-item-attribute-spacer { - padding: 0 4px; -} - - -/* - Icons --------------------------------------------------------------------- - - Icons, which show object state. On mobile, they are rendered without labels - to save space. - -*/ - -.phui-object-icon-pane { - margin: 8px 0 4px; -} - -.device-phone .phui-object-icon-pane { - margin: 0 0 4px; -} - -.phui-object-item-icons { - padding: 0 4px 0 0; -} - -.device-phone .phui-object-item-icons { - padding: 0 0 0 8px; -} - -ul.phui-object-item-icons { - margin: 0; -} - -.phui-object-item-icon { - vertical-align: middle; - font-size: {$smallerfontsize}; - color: {$greytext}; - text-align: right; - white-space: nowrap; - overflow: hidden; - min-height: 18px; - line-height: 18px; -} - -.device-phone .phui-object-item-icon { - text-align: left; - font-size: 13px; -} - -/* - * Items with icon 'none' still have on mobile, thus creating a weird vertical - * margin for elements which follow - */ -.device-phone .phui-object-item-icon .none { - display: none; -} - -.phui-object-item-icon-image { - width: 14px; - height: 14px; - font-size: 13px; - margin-right: 4px; -} - -/* - Bar Colors ---------------------------------------------------------------- - Colors for the left-hand border bars, used to indicate object status or other - attributes. -*/ - -.phui-object-item { - border-left-width: 0; -} - -.phui-object-item-bar-color-red { - border-left-color: {$red}; -} - -.phui-object-item-bar-color-orange { - border-left-color: {$orange}; -} - -.phui-object-item-bar-color-yellow { - border-left-color: {$yellow}; -} - -.phui-object-item-bar-color-green { - border-left-color: {$green}; -} - -.phui-object-item-bar-color-sky { - border-left-color: {$sky}; -} - -.phui-object-item-bar-color-blue { - border-left-color: {$blue}; -} - -.phui-object-item-bar-color-indigo { - border-left-color: {$indigo}; -} - -.phui-object-item-bar-color-violet { - border-left-color: {$violet}; -} - -.phui-object-item-bar-color-pink { - border-left-color: {$pink}; -} - -.phui-object-item-bar-color-fire { - border-left-color: {$fire}; -} - -.phui-object-item-bar-color-bluegrey { - border-left-color: {$bluetext}; -} - -.phui-object-item-bar-color-lightbluetext { - border-left-color: {$lightbluetext}; -} - -.phui-object-item-bar-color-grey, -.phui-object-item-bar-color-lightgreytext { - border-left-color: {$lightgreytext}; -} - -.phui-object-item-bar-color-black, -.phui-object-item-bar-color-dark { - border-left-color: {$darkgreytext}; -} - - -/* - Disabled ------------------------------------------------------------------ - - Disabled/inactive objects. - -*/ - - -.phui-object-item.phui-object-item-disabled .phui-object-item-link, -.phui-object-item.phui-object-item-disabled .phui-object-item-link a { - color: {$lightgreytext}; -} - -.phui-object-item.phui-object-item-disabled .phui-object-item-frame { - border-color: #d7d7d7; -} - -.phui-object-item.phui-object-item-disabled .phui-object-item-objname { - color: {$greytext}; - text-decoration: line-through; -} - - -/* - Effects ------------------------------------------------------------------- - - Effects like highlighted items. - -*/ - -.phui-object-item.phui-object-item-highlighted { - background: {$sh-yellowbackground}; -} - -ul.phui-object-item-list-view .phui-object-item-highlighted - .phui-object-item-frame { - border-color: {$sh-yellowborder}; -} - -.phui-object-item-selected { - background: {$sh-bluebackground}; -} - -ul.phui-object-item-list-view .phui-object-item-selected - .phui-object-item-frame { - border-color: {$sh-blueborder}; -} - - -/* - Handle Icons -------------------------------------------------------------- - - Shows owners, reviewers, etc., using profile picture icons. - -*/ - -.phui-object-item-handle-icons { - bottom: 0; - right: 4px; - position: absolute; -} - -.phui-object-item-handle-icon { - width: 24px; - height: 24px; - display: inline-block; - background-size: 100%; - border-radius: 3px; - background-repeat: no-repeat; -} - - -/* - Bylines ------------------------------------------------------------------- - - Shows owners, authors, reviewers, etc., in text. - -*/ - -.phui-object-item-bylines { - padding: 0 4px 0 8px; - margin: 4px 0 8px; - font-size: {$smallerfontsize}; - color: {$greytext}; - text-align: right; -} - -.phui-object-item-byline { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} - -.device-phone .phui-object-item-bylines { - float: none; - text-align: left; - padding: 0 8px; - font-size: {$normalfontsize}; -} - - -/* - Draggable List ------------------------------------------------------------ - - These classes are applied by and/or provided for use with JX.DraggableList. - -*/ - -.drag-ghost { - position: relative; - background: {$sh-indigobackground}; - border-radius: 3px; - margin-bottom: 4px; - border: 1px dashed {$sh-indigoborder}; -} - -.drag-dragging { - opacity: 0.25; -} - -.drag-sending { - opacity: 0.5; -} - -.drag-clone, -.drag-frame { - /* This allows mousewheel events to pass through the clone and frame while - they are being dragged. Without this, the mousewheel does not work during - a drag operation. */ - pointer-events: none; -} - -.drag-frame { - position: fixed; - overflow: hidden; - left: 0; - right: 0; - top: 0; - bottom: 0; -} - -.drag-clone { - position: absolute; - list-style: none; -} - -/* - Badges ---------------------------------------------------------------- */ - -.phui-object-item-col0.phui-object-item-badge { - width: 28px; -} - -.phui-object-item-col0.phui-object-item-badge .phui-icon-view { - left: 0; -} - -/* - Countdowns ------------------------------------------------------------ */ - -.phui-object-item-col0.phui-object-item-countdown { - width: 52px; - padding: 0; -} - -.phui-object-item-countdown .phui-object-item-countdown-number { - border-right: 1px solid {$thinblueborder}; - text-align: center; - color: {$bluetext}; -} - - -/* - Dashboards ------------------------------------------------------------ */ - -.phui-object-box .phui-object-item-list-view .phui-object-item-frame { - border: none; - border-bottom: 1px solid {$thinblueborder}; -} - -.drag-clone.phui-object-item-standard .phui-object-item-frame { - border: none; - opacity: 0.8; - background: {$sh-bluebackground}; -} - -.phui-object-box .phui-object-item-list-header { - font-size: {$normalfontsize}; - color: {$darkbluetext}; - border-top: 1px solid {$thinblueborder}; - border-bottom: 1px solid {$thinblueborder}; - padding: 8px; - background-color: {$lightgreybackground}; -} - -.phui-object-box .phui-header-shell + .phui-object-item-list-view - .phui-object-item-list-header, -.phui-object-box .phui-object-box-hidden-content + .phui-object-item-list-view - .phui-object-item-list-header, -.phui-object-box .phui-object-box-hidden-content + - .phui-object-item-list-header { - border-top: none; - } - -.dashboard-pane .phui-object-item-empty .phui-info-view { - border: none; - margin: 0; -} - -.device-desktop .aphront-multi-column-fluid .aphront-multi-column-2-up - .aphront-multi-column-column-outer.third .phui-object-item-col2 { - display: none; - } - - -/* - Launcher List ---------------------------------------------------------- */ - -.phui-object-item-image-icon { - background: none; - width: 40px; - height: 40px; - margin: 8px 6px; - position: absolute; -} - -.phui-object-item-image-icon .phui-icon-view { - position: absolute; - width: 40px; - height: 40px; - font-size: 26px; - text-align: center; - line-height: 36px; -} - -.phui-object-item-image { - width: 40px; - height: 40px; - border-radius: 3px; - background-size: 100%; - margin: 8px 6px; - position: absolute; -} - -.phui-object-item-with-image-icon .phui-object-item-frame, -.phui-object-item-with-image .phui-object-item-frame { - min-height: 52px; -} - -.phui-object-item-with-image-icon .phui-object-item-content-box, -.phui-object-item-with-image .phui-object-item-content-box { - margin-left: 46px; -} - -/* - Launcher Button -------------------------------------------------------- */ - -.phui-object-item-col2.phui-object-item-launch-button { - text-align: right; - vertical-align: middle; - padding-right: 4px; -} - -.device-phone .phui-object-item-col2.phui-object-item-launch-button { - padding: 0 8px 8px; - text-align: left; -} - -/* - Simple List------------------------------------------------------------- */ - -.phui-object-list-simple .phui-object-item-with-image .phui-object-item-frame { - min-height: 26px; -} - -.phui-object-list-simple .phui-object-item-image { - height: 26px; - width: 26px; - margin: 0; -} - -.phui-object-list-simple .phui-object-item-with-image - .phui-object-item-content-box { - margin-left: 32px; -} - -.phui-object-list-simple .phui-object-item-name { - padding: 2px 0; -} - -.phui-object-list-simple .phui-object-item-name a { - color: {$darkbluetext}; -} - -.phui-object-item-list-view.phui-object-list-simple .phui-object-item-frame { - border: none; - margin-bottom: 4px; -} - -.phui-object-item-list-view.phui-object-list-simple li:last-child - .phui-object-item-frame { - margin: 0; -} - -.phui-object-list-simple .phui-object-item-actions { - top: 2px; - bottom: 2px; - right: 2px; -} - -/* - Big List---------------------------------------------------------------- */ - -.phui-object-list-big ul.phui-object-item-list-view { - margin: 0; - padding: 20px; -} - -.phui-object-list-big .phui-object-item-no-bar .phui-object-item-frame { - border: 0; -} - -.phui-object-list-big .phui-object-item-image-icon { - margin: 8px 2px 12px; -} - -.phui-object-list-big a.phui-object-item-link { - color: #000; - font-size: {$biggestfontsize}; -} - -.phui-object-list-big .phui-object-item-name { - padding-top: 6px; -} - -.phui-object-list-big .phui-object-item-launch-button a.button { - font-size: {$normalfontsize}; - padding: 3px 12px 4px; -} - -.device-desktop .phui-object-list-big .phui-object-item { - margin-bottom: 8px; -} - -.phui-object-list-big .phui-object-item-col0 { - vertical-align: top; - padding: 0; -} - -.phui-object-list-big .phui-object-item-status-icon { - padding: 5px; -} - -.phui-object-list-big .phui-object-item-visited a.phui-object-item-link { - color: {$violet}; -} - -.device-desktop .phui-object-list-big .phui-object-item-frame:hover { - -} diff --git a/webroot/rsrc/css/phui/phui-tag-view.css b/webroot/rsrc/css/phui/phui-tag-view.css index 729c4719e..f14909bc0 100644 --- a/webroot/rsrc/css/phui/phui-tag-view.css +++ b/webroot/rsrc/css/phui/phui-tag-view.css @@ -1,417 +1,417 @@ /** * @provides phui-tag-view-css */ .phui-tag-view { font-weight: bold; text-decoration: none; position: relative; -webkit-font-smoothing: antialiased; white-space: nowrap; } a.phui-tag-view:hover { text-decoration: none; } .phui-tag-core-closed { text-decoration: line-through; color: rgba({$alphablack},0.5); } .phui-tag-core-closed:hover { text-decoration: none; } .phui-tag-core { color: inherit; border: 1px solid transparent; border-radius: 3px; padding: 0 4px; } .phui-tag-type-state .phui-tag-core { padding: 1px 6px; } .phui-tag-view.phui-tag-type-state .phui-icon-view { margin: 0 6px 0 0; } .phui-tag-view .phui-icon-view { display: inline-block; margin: 0 4px 0 2px; } .phui-tag-dot { position: relative; display: inline-block; width: 6px; height: 6px; margin-right: 4px; top: -1px; border-radius: 6px; border: 1px solid transparent; } .phui-tag-type-state { color: #ffffff; text-shadow: rgba(100, 100, 100, 0.40) 0px -1px 1px; } .phui-tag-type-object, a.phui-tag-type-object, a.phui-tag-type-object:link, .phui-tag-core-closed .phui-tag-color-object { color: #000; } .phui-tag-type-person { white-space: nowrap; color: #19558d; } .phui-tag-color-red { background-color: {$red}; border-color: {$red}; } .phui-tag-color-orange { background-color: {$orange}; border-color: {$orange}; } .phui-tag-color-yellow { background-color: {$yellow}; border-color: {$yellow}; } .phui-tag-color-blue { background-color: {$blue}; border-color: {$blue}; } .phui-tag-color-indigo { background-color: {$indigo}; border-color: {$indigo}; } .phui-tag-color-green { background-color: {$green}; border-color: {$green}; } .phui-tag-color-violet { background-color: {$violet}; border-color: {$violet}; } .phui-tag-color-black { background-color: #333333; border-color: #333333; } .phui-tag-color-grey { background-color: {$lightgreytext}; border-color: {$lightgreytext}; } .phui-tag-color-white { background-color: #f7f7f7; border-color: #f7f7f7; } .phui-tag-color-object { background-color: #e7e7e7; border-color: #e7e7e7; } .phui-tag-color-person { background-color: #f1f7ff; border-color: #f1f7ff; } a.phui-tag-view:hover .phui-tag-core.phui-tag-color-person { border-color: #d9ebfd; } a.phui-tag-view:hover .phui-tag-core.phui-tag-color-object { border-color: #d7d7d7; } .phabricator-handle-tag-list-item + .phabricator-handle-tag-list-item { margin-top: 4px; } -.phui-object-item .phabricator-handle-tag-list { +.phui-oi .phabricator-handle-tag-list { display: inline; } -.phui-object-item .phabricator-handle-tag-list-item { +.phui-oi .phabricator-handle-tag-list-item { display: inline-block; margin: 0 4px 2px 0; } /* - Shaded Tags --------------------------------------------------------------- For object representation inside text areas and lists. */ .phui-tag-shade { font-weight: normal; } .phui-tag-shade .phui-icon-view { font-size: 12px; } .phui-tag-shade-slim .phui-icon-view { font-size: 11px; } .phui-tag-shade-slim .phui-tag-core { font-size: {$smallerfontsize}; } /* - Red -------------------------------------------------------------------- */ .phui-tag-shade-red .phui-tag-core, .jx-tokenizer-token.red { background: {$sh-redbackground}; border-color: {$sh-lightredborder}; color: {$sh-redtext}; } .phui-tag-shade-red .phui-icon-view, .jx-tokenizer-token.red .phui-icon-view, .jx-tokenizer-token.red .jx-tokenizer-x { color: {$sh-redicon}; } a.phui-tag-view:hover.phui-tag-shade-red .phui-tag-core, .jx-tokenizer-token.red:hover { border-color: {$sh-redborder}; } /* - Orange ----------------------------------------------------------------- */ .phui-tag-shade-orange .phui-tag-core, .jx-tokenizer-token.orange { background: {$sh-orangebackground}; border-color: {$sh-lightorangeborder}; color: {$sh-orangetext}; } .phui-tag-shade-orange .phui-icon-view, .jx-tokenizer-token.orange .phui-icon-view, .jx-tokenizer-token.orange .jx-tokenizer-x { color: {$sh-orangeicon}; } a.phui-tag-view:hover.phui-tag-shade-orange .phui-tag-core, .jx-tokenizer-token.orange:hover { border-color: {$sh-orangeborder}; } /* - Yellow ----------------------------------------------------------------- */ .phui-tag-shade-yellow .phui-tag-core, .jx-tokenizer-token.yellow { background: {$sh-yellowbackground}; border-color: {$sh-lightyellowborder}; color: {$sh-yellowtext}; } .phui-tag-shade-yellow .phui-icon-view, .jx-tokenizer-token.yellow .phui-icon-view, .jx-tokenizer-token.yellow .jx-tokenizer-x { color: {$sh-yellowicon}; } a.phui-tag-view:hover.phui-tag-shade-yellow .phui-tag-core, .jx-tokenizer-token.yellow:hover { border-color: {$sh-yellowborder}; } /* - Blue ------------------------------------------------------------------- */ .phui-tag-shade-blue .phui-tag-core, .jx-tokenizer-token.blue { background: {$sh-bluebackground}; border-color: {$sh-lightblueborder}; color: {$sh-bluetext}; } .phui-tag-shade-blue .phui-icon-view, .jx-tokenizer-token.blue .phui-icon-view, .jx-tokenizer-token.blue .jx-tokenizer-x { color: {$sh-blueicon}; } a.phui-tag-view:hover.phui-tag-shade-blue .phui-tag-core, .jx-tokenizer-token.blue:hover { border-color: {$sh-blueborder}; } /* - Sky ------------------------------------------------------------------- */ .phui-tag-shade-sky .phui-tag-core, .jx-tokenizer-token.sky { background: #E0F0FA; border-color: {$sh-lightblueborder}; color: {$sh-bluetext}; } .phui-tag-shade-sky .phui-icon-view, .jx-tokenizer-token.sky .phui-icon-view, .jx-tokenizer-token.sky .jx-tokenizer-x { color: {$sh-blueicon}; } a.phui-tag-view:hover.phui-tag-shade-sky .phui-tag-core, .jx-tokenizer-token.sky:hover { border-color: {$sh-blueborder}; } /* - Indigo ----------------------------------------------------------------- */ .phui-tag-shade-indigo .phui-tag-core, .jx-tokenizer-token.indigo { background: {$sh-indigobackground}; border-color: {$sh-lightindigoborder}; color: {$sh-indigotext}; } .phui-tag-shade-indigo .phui-icon-view, .jx-tokenizer-token.indigo .phui-icon-view, .jx-tokenizer-token.indigo .jx-tokenizer-x { color: {$sh-indigoicon}; } a.phui-tag-view:hover.phui-tag-shade-indigo .phui-tag-core, .jx-tokenizer-token.indigo:hover { border-color: {$sh-indigoborder}; } /* - Green ------------------------------------------------------------------ */ .phui-tag-shade-green .phui-tag-core, .jx-tokenizer-token.green { background: {$sh-greenbackground}; border-color: {$sh-lightgreenborder}; color: {$sh-greentext}; } .phui-tag-shade-green .phui-icon-view, .jx-tokenizer-token.green .phui-icon-view, .jx-tokenizer-token.green .jx-tokenizer-x { color: {$sh-greenicon}; } a.phui-tag-view:hover.phui-tag-shade-green .phui-tag-core, .jx-tokenizer-token.green:hover { border-color: {$sh-greenborder}; } /* - Violet ----------------------------------------------------------------- */ .phui-tag-shade-violet .phui-tag-core, .jx-tokenizer-token.violet { background: {$sh-violetbackground}; border-color: {$sh-lightvioletborder}; color: {$sh-violettext}; } .phui-tag-shade-violet .phui-icon-view, .jx-tokenizer-token.violet .phui-icon-view, .jx-tokenizer-token.violet .jx-tokenizer-x { color: {$sh-violeticon}; } a.phui-tag-view:hover.phui-tag-shade-violet .phui-tag-core, .jx-tokenizer-token.violet:hover { border-color: {$sh-violetborder}; } /* - Pink ------------------------------------------------------------------- */ .phui-tag-shade-pink .phui-tag-core, .jx-tokenizer-token.pink { background: {$sh-pinkbackground}; border-color: {$sh-lightpinkborder}; color: {$sh-pinktext}; } .phui-tag-shade-pink .phui-icon-view, .jx-tokenizer-token.pink .phui-icon-view, .jx-tokenizer-token.pink .jx-tokenizer-x { color: {$sh-pinkicon}; } a.phui-tag-view:hover.phui-tag-shade-pink .phui-tag-core, .jx-tokenizer-token.pink:hover { border-color: {$sh-pinkborder}; } /* - Grey ------------------------------------------------------------------- */ .phui-tag-shade-grey .phui-tag-core, .jx-tokenizer-token.grey { background: {$sh-greybackground}; border-color: {$sh-lightgreyborder}; color: {$sh-greytext}; } .phui-tag-shade-grey .phui-icon-view, .jx-tokenizer-token.grey .phui-icon-view, .jx-tokenizer-token.grey .jx-tokenizer-x { color: {$sh-greyicon}; } a.phui-tag-view:hover.phui-tag-shade-grey .phui-tag-core, .jx-tokenizer-token.grey:hover { border-color: {$sh-greyborder}; } /* - Checkered -------------------------------------------------------------- */ .phui-tag-shade-checkered .phui-tag-core, .jx-tokenizer-token.checkered { background: url(/rsrc/image/checker_lighter.png); border-style: dashed; border-color: {$sh-greyborder}; color: {$sh-greytext}; text-shadow: 1px 1px #fff; } .phui-tag-shade-checkered .phui-icon-view, .jx-tokenizer-token.checkered .phui-icon-view, .jx-tokenizer-token.checkered .jx-tokenizer-x { color: {$sh-greyicon}; } a.phui-tag-view:hover.phui-tag-shade-checkered .phui-tag-core, .jx-tokenizer-token.checkered:hover { border-style: solid; border-color: {$sh-greyborder}; } /* - Disabled --------------------------------------------------------------- */ .phui-tag-shade-disabled .phui-tag-core { background-color: {$sh-disabledbackground}; border-color: {$sh-lightdisabledborder}; color: {$sh-disabledtext}; } .phui-tag-shade-disabled .phui-icon-view { color: {$sh-disabledicon}; } a.phui-tag-view:hover.phui-tag-shade-disabled .phui-tag-core { border-color: {$sh-disabledborder}; } diff --git a/webroot/rsrc/css/phui/phui-two-column-view.css b/webroot/rsrc/css/phui/phui-two-column-view.css index a486231a6..0020df8b8 100644 --- a/webroot/rsrc/css/phui/phui-two-column-view.css +++ b/webroot/rsrc/css/phui/phui-two-column-view.css @@ -1,235 +1,235 @@ /** * @provides phui-two-column-view-css */ .phui-two-column-view .phui-two-column-header { background-color: #fff; border-bottom: 1px solid rgba({$alphagrey}, .12); margin-bottom: 24px; } .device .phui-two-column-view .phui-two-column-header { margin-bottom: 12px; } .phui-two-column-view.with-subheader .phui-two-column-header { margin-bottom: 0; } .phui-two-column-header .phui-header-header { font-size: 20px; font-family: 'Aleo', {$fontfamily}; color: #000; } .device-phone .phui-two-column-header .phui-header-header { font-size: 16px; } .phui-two-column-view .phui-two-column-header .phui-header-shell { padding: 24px 32px 28px; border: none; } .phui-two-column-view .phui-two-column-header .phui-profile-header.phui-header-shell { padding-bottom: 20px; } .device .phui-two-column-view .phui-two-column-header .phui-header-shell { padding: 12px 12px 16px; } .phui-two-column-header .phui-header-subheader { margin-top: 12px; } .phui-two-column-subheader { padding: 12px 32px; } .device .phui-two-column-subheader { padding: 12px 16px; } .device-desktop .phui-two-column-content { padding: 0 32px; } .device .phui-two-column-content { padding: 0 12px; } .device-desktop .phui-two-column-view .phui-main-column { float: left; width: calc(100% - 320px); } .device-desktop .phui-two-column-view .phui-side-column { float: right; width: 300px; } .device-desktop .phui-two-column-view.phui-side-column-left .phui-main-column { float: right; width: calc(100% - 280px); } .device-desktop .phui-two-column-view.phui-side-column-left .phui-side-column { float: left; width: 260px; } .device .phui-side-column { margin-bottom: 20px; } .phui-two-column-view .phui-two-column-content .phui-object-box { margin: 0 0 20px 0; } /* Timeline */ .phui-two-column-view .phui-timeline-view { padding: 0; background-position: 80px; } .phui-two-column-view .phui-main-column .phui-object-box + .phui-timeline-view { margin-top: -20px; } .device .phui-two-column-view .phui-timeline-view { background-position: 16px; padding: 0; } .device-phone .phui-two-column-view .phui-timeline-event-view { margin: 0; } .phui-main-column > .phui-timeline-view:first-child { border-top: 1px solid {$thinblueborder}; } .device-phone .phui-main-column .phui-timeline-older-transactions-are-hidden { margin: 0; } /* Main Column Properties */ .device-desktop .phui-main-column .phui-property-list-key { margin-left: 0; width: 160px; } .device-desktop .phui-main-column .phui-property-list-value { margin-left: 8px; width: calc(100% - 200px); } /* Property / Action List */ .phui-two-column-properties .phabricator-action-list-view { padding-top: 4px; padding-bottom: 12px; } .device-desktop .phui-two-column-view .phui-property-list-container { padding: 16px 0; } .device-desktop .phui-two-column-view .phui-property-list-properties-wrap.phui-property-list-stacked { padding: 0 16px; } .device .phui-two-column-view .phui-property-list-container { padding: 12px 8px; } .phui-two-column-view .phui-property-list-container .keyboard-shortcuts-available { display: none; } .device .phui-two-column-content .phui-two-column-properties.phui-object-box { padding: 0 12px; } .phabricator-action-view button.phabricator-action-view-item, .phabricator-action-view-item { padding: 5px 4px 5px 28px; } .device-desktop .phui-two-column-properties .phabricator-action-view-href:hover .phabricator-action-view-item { text-decoration: none; background-color: rgba({$alphablue}, .08); color: {$sky}; border-radius: 3px; } .device-desktop .phui-two-column-properties .phabricator-action-view-href:hover .phabricator-action-view-icon { color: {$sky}; } .phui-two-column-view .phui-property-list-section-header, .phui-two-column-view .phui-property-list-text-content { margin: 0 16px; } .device .phui-two-column-view .phui-property-list-section-header, .device .phui-two-column-view .phui-property-list-text-content { margin: 0 8px; } /* Info View */ .phui-two-column-view .phui-info-view { margin: 0 0 20px 0; padding: 16px; } .device .phui-two-column-view .phui-info-view { margin: 0 0 20px 0; padding: 12px; } -.phui-two-column-view .phui-side-column .phui-object-item-empty +.phui-two-column-view .phui-side-column .phui-oi-empty .phui-info-view { margin-bottom: 0; } .phui-two-column-view .phui-box-blue-property .phui-header-shell + .phui-info-view { margin: 16px; } .device .phui-two-column-view .phui-box-blue-property .phui-header-shell + .phui-info-view { margin: 8px; } /* Navigation */ .phui-two-column-view .side-has-nav .phabricator-nav-local { width: auto; position: static; margin: 0; } .device .phui-two-column-view .side-has-nav { display: none; } /* Document View */ .phui-two-column-view .phui-two-column-content .phui-document-fluid .phui-document-view { margin: 0 0 20px 0; } diff --git a/webroot/rsrc/css/phui/workboards/phui-workcard.css b/webroot/rsrc/css/phui/workboards/phui-workcard.css index 64792c691..5af162b4b 100644 --- a/webroot/rsrc/css/phui/workboards/phui-workcard.css +++ b/webroot/rsrc/css/phui/workboards/phui-workcard.css @@ -1,176 +1,176 @@ /** * @provides phui-workcard-view-css */ -.phui-workcard.phui-object-item { +.phui-workcard.phui-oi { background-color: #fff; border-radius: 3px; margin-bottom: 8px; border-left-width: 4px; box-sizing: border-box; } -.phui-workcard .phui-object-item-name { +.phui-workcard .phui-oi-name { padding-bottom: 4px; } -.phui-workcard .phui-object-item-content { +.phui-workcard .phui-oi-content { margin-top: 0; } -.phui-workcard .phui-object-item-frame { +.phui-workcard .phui-oi-frame { border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-color: {$thinblueborder}; border-bottom-color: {$lightblueborder}; } -.phui-workcard.phui-object-item .phui-object-item-objname { +.phui-workcard.phui-oi .phui-oi-objname { -webkit-touch-callout: text; -webkit-user-select: text; -khtml-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; } -.phui-workcard .phui-object-item-link { +.phui-workcard .phui-oi-link { white-space: normal; font-weight: normal; color: #000; margin-left: 2px; } -.phui-object-item-disabled.phui-workcard { +.phui-oi-disabled.phui-workcard { background-color: rgba({$alphawhite},.67); } -.phui-object-item-disabled.phui-workcard .phui-object-item-link { +.phui-oi-disabled.phui-workcard .phui-oi-link { color: {$greytext}; } -.device-desktop .phui-workcard .phui-object-item-with-1-actions - .phui-object-item-content-box { +.device-desktop .phui-workcard .phui-oi-with-1-actions + .phui-oi-content-box { margin-right: 0; overflow: hidden; } -.phui-workcard .phui-object-item-objname { +.phui-workcard .phui-oi-objname { vertical-align: top; } -.phui-workcard.phui-object-item-grippable .phui-object-item-frame { +.phui-workcard.phui-oi-grippable .phui-oi-frame { padding-left: 0; } -.phui-workcard .phui-object-item-grip { +.phui-workcard .phui-oi-grip { display: none; } .device-desktop .phui-workcard .phui-list-item-icon { display: none; } -.phui-workcard.phui-object-item .phui-list-item-href { +.phui-workcard.phui-oi .phui-list-item-href { height: 24px; width: 24px; } -.device-desktop .phui-workcard.phui-object-item:hover +.device-desktop .phui-workcard.phui-oi:hover .phui-list-item-href { background: #fff; opacity: .7; } -.device-desktop .phui-workcard.phui-object-item +.device-desktop .phui-workcard.phui-oi .phui-list-item-href:hover { background: {$sh-bluebackground}; opacity: 1; } -.phui-workcard.phui-object-item:hover .phui-list-item-icon { +.phui-workcard.phui-oi:hover .phui-list-item-icon { display: block; } -.phui-workcard .phui-object-item-attributes { +.phui-workcard .phui-oi-attributes { margin-right: 12px; } .phui-workpanel-view .drag-ghost { margin-bottom: 8px; } -.phui-workcard .phui-object-item-cover-image { +.phui-workcard .phui-oi-cover-image { display: block; padding: 8px 8px 0 8px; width: 263px; } -.phui-workcard.phui-object-item.phui-workcard-upload-target { +.phui-workcard.phui-oi.phui-workcard-upload-target { background-color: {$sh-greenbackground}; } -.phui-object-item-list-view .phui-workcard:last-child { +.phui-oi-list-view .phui-workcard:last-child { margin-bottom: 0; } -.phui-workcard .phui-object-item-attribute-spacer { +.phui-workcard .phui-oi-attribute-spacer { display: none; } .phui-workcard .phui-workcard-points { margin: 0 4px 2px 0; display: inline-block; } -.phui-workcard .phui-object-item-attribute { +.phui-workcard .phui-oi-attribute { display: inline; } /* - Draggable Colors --------------------------------------------------------*/ -.phui-workcard.phui-object-item.drag-clone { +.phui-workcard.phui-oi.drag-clone { box-shadow: {$dropshadow}; background-color: {$sh-greybackground}; } -.phui-workcard.phui-object-item.drag-clone .phui-list-item-href { +.phui-workcard.phui-oi.drag-clone .phui-list-item-href { display: none; } -.phui-workcard.drag-clone.phui-object-item-bar-color-red { +.phui-workcard.drag-clone.phui-oi-bar-color-red { background-color: {$sh-redbackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-orange { +.phui-workcard.drag-clone.phui-oi-bar-color-orange { background-color: {$sh-orangebackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-yellow { +.phui-workcard.drag-clone.phui-oi-bar-color-yellow { background-color: {$sh-yellowbackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-green { +.phui-workcard.drag-clone.phui-oi-bar-color-green { background-color: {$sh-greenbackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-blue { +.phui-workcard.drag-clone.phui-oi-bar-color-blue { background-color: {$sh-bluebackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-indigo { +.phui-workcard.drag-clone.phui-oi-bar-color-indigo { background-color: {$sh-indigobackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-violet { +.phui-workcard.drag-clone.phui-oi-bar-color-violet { background-color: {$sh-violetbackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-pink { +.phui-workcard.drag-clone.phui-oi-bar-color-pink { background-color: {$sh-pinkbackground}; } -.phui-workcard.drag-clone.phui-object-item-bar-color-sky { +.phui-workcard.drag-clone.phui-oi-bar-color-sky { background-color: {$sh-bluebackground}; } diff --git a/webroot/rsrc/css/phui/workboards/phui-workpanel.css b/webroot/rsrc/css/phui/workboards/phui-workpanel.css index 899c6f74e..617ff5aa6 100644 --- a/webroot/rsrc/css/phui/workboards/phui-workpanel.css +++ b/webroot/rsrc/css/phui/workboards/phui-workpanel.css @@ -1,139 +1,139 @@ /** * @provides phui-workpanel-view-css * @requires phui-workcard-view-css */ .phui-workpanel-view .phui-header-shell { padding: 8px; width: 284px; } .phui-workpanel-view .phui-header-shell .phui-header-header { font-size: {$biggerfontsize}; line-height: 18px; color: {$darkbluetext}; } .phui-workpanel-view .phui-header-shell .phui-header-subheader { padding: 0 4px; margin: 0; display: inline-block; color: {$lightgreytext}; font-size: {$normalfontsize}; } .device .phui-workpanel-view .phui-header-shell { width: auto; } .phui-workboard-view { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .phui-workpanel-view .phui-box-grey { background-color: rgba({$alphablue},0.1); } .phui-workpanel-view.phui-workboard-column-milestone .phui-box-grey { background-color: rgba(234, 230, 247, 0.85); } .phui-workpanel-view .phui-header-col2 .phui-icon-view { margin-right: 4px; } .phui-workpanel-view .phui-workpanel-header-action { float: right; width: 24px; } .phui-workpanel-view .phui-workpanel-body { padding: 8px 4px 8px 0; } .phui-workpanel-view .phui-workpanel-body-content { padding: 0 4px 0 8px; } .device .phui-workpanel-view .phui-workpanel-body { padding: 8px 0; } .phui-workpanel-view .phui-workpanel-footer-action a { color: {$darkbluetext}; font-weight: bold; } .device-desktop .phui-workpanel-view .phui-workpanel-footer-action:hover { background-color: rgba(100,100,100,.1); border-radius: 3px; } .device-desktop .aphront-multi-column-fixed .phui-workpanel-view { width: 300px; } .device-phone .aphront-multi-column-fixed .phui-workpanel-view, .device-phone .phui-workpanel-view .phui-header-shell { width: auto; } -.phui-workpanel-body .phui-object-item-list-view { +.phui-workpanel-body .phui-oi-list-view { min-height: 54px; background-color: transparent; } .device .aphront-multi-column-outer div.aphront-multi-column-column-outer .phui-workpanel-body { width: auto; } .project-panel-hidden { opacity: 0.75; } .device-desktop .phui-workpanel-body-content { max-height: calc(100vh - 162px); overflow-y: auto; overflow-x: hidden; } .device-desktop .phui-workpanel-body-content::-webkit-scrollbar { height: 8px; width: 8px; background: rgba({$alphablue},0.2); border-radius: 4px; } .device-desktop .phui-workpanel-body-content::-webkit-scrollbar-thumb { background: rgba({$alphablue},0.4); border-radius: 4px; } -.project-panel-empty .phui-object-item-list-view { +.project-panel-empty .phui-oi-list-view { background: rgba(234, 230, 247, 0.85); border-radius: 3px; margin-bottom: 4px; border: 1px dashed {$sh-indigoborder}; } -.project-panel-empty .phui-object-item-list-view .drag-ghost { +.project-panel-empty .phui-oi-list-view .drag-ghost { display: none; } -.project-panel-empty .phui-object-item-list-view.drag-target-list { +.project-panel-empty .phui-oi-list-view.drag-target-list { background: rgba({$alphawhite},.7); } .phui-workpanel-view.project-panel-over-limit .phui-header-header { color: {$red}; } .phui-workpanel-view.project-panel-over-limit .phui-header-shell { border-color: {$red}; } diff --git a/webroot/rsrc/js/application/maniphest/behavior-batch-selector.js b/webroot/rsrc/js/application/maniphest/behavior-batch-selector.js index 30a557e26..b7728abb5 100644 --- a/webroot/rsrc/js/application/maniphest/behavior-batch-selector.js +++ b/webroot/rsrc/js/application/maniphest/behavior-batch-selector.js @@ -1,170 +1,170 @@ /** * @provides javelin-behavior-maniphest-batch-selector * @requires javelin-behavior * javelin-dom * javelin-stratcom * javelin-util */ JX.behavior('maniphest-batch-selector', function(config) { var selected = {}; // Test if a task node is selected. var get_id = function(task) { return JX.Stratcom.getData(task).taskID; }; var is_selected = function(task) { return (get_id(task) in selected); }; // Change the selected state of a task. var change = function(task, to) { if (to === undefined) { to = !is_selected(task); } if (to) { selected[get_id(task)] = true; } else { delete selected[get_id(task)]; } JX.DOM.alterClass( task, - 'phui-object-item-selected', + 'phui-oi-selected', is_selected(task)); update(); }; var redraw = function (task) { var selected = is_selected(task); change(task, selected); }; JX.Stratcom.listen( 'subpriority-changed', null, function (e) { e.kill(); var data = e.getData(); redraw(data.task); }); // Change all tasks to some state (used by "select all" / "clear selection" // buttons). var changeall = function(to) { var inputs = JX.DOM.scry(document.body, 'li', 'maniphest-task'); for (var ii = 0; ii < inputs.length; ii++) { change(inputs[ii], to); } }; // Clear any document text selection after toggling a task via shift click, // since errant clicks tend to start selecting various ranges otherwise. var clear_selection = function() { if (window.getSelection) { if (window.getSelection().empty) { window.getSelection().empty(); } else if (window.getSelection().removeAllRanges) { window.getSelection().removeAllRanges(); } } else if (document.selection) { document.selection.empty(); } }; // Update the status text showing how many tasks are selected, and the button // state. var update = function() { var count = JX.keys(selected).length; var status; if (count === 0) { status = 'Shift-Click to Select Tasks'; } else if (status == 1) { status = '1 Selected Task'; } else { status = count + ' Selected Tasks'; } JX.DOM.setContent(JX.$(config.status), status); var submit = JX.$(config.submit); var disable = (count === 0); submit.disabled = disable; JX.DOM.alterClass(submit, 'disabled', disable); }; // When he user shift-clicks the task, update the rest of the application // state. JX.Stratcom.listen( 'click', 'maniphest-task', function(e) { var raw = e.getRawEvent(); if (!raw.shiftKey) { return; } if (raw.ctrlKey || raw.altKey || raw.metaKey || e.isRightButton()) { return; } if (JX.Stratcom.pass(e)) { return; } e.kill(); change(e.getNode('maniphest-task')); clear_selection(); }); // When the user clicks "Select All", select all tasks. JX.DOM.listen( JX.$(config.selectNone), 'click', null, function(e) { changeall(false); e.kill(); }); // When the user clicks "Clear Selection", clear the selection. JX.DOM.listen( JX.$(config.selectAll), 'click', null, function(e) { changeall(true); e.kill(); }); // When the user submits the form, dump selected state into it. JX.DOM.listen( JX.$(config.formID), 'submit', null, function() { var inputs = []; for (var k in selected) { inputs.push( JX.$N('input', {type: 'hidden', name: 'batch[]', value: k})); } JX.DOM.setContent(JX.$(config.idContainer), inputs); }); update(); });