@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix border on Actions List.

Summary: This adds setActionList to PropertyListView and properly places it in an archaic HTML 1.0 table.

Test Plan: test layouts with actions really tall or properties really tall. Always see a full height border.

Reviewers: epriestley, btrahan

CC: Korvin, aran

Differential Revision: https://secure.phabricator.com/D7239

+138 -136
+64 -64
src/__celerity_resource_map__.php
··· 1059 1059 ), 1060 1060 'differential-results-table-css' => 1061 1061 array( 1062 - 'uri' => '/res/7d9150bb/rsrc/css/application/differential/results-table.css', 1062 + 'uri' => '/res/14d79541/rsrc/css/application/differential/results-table.css', 1063 1063 'type' => 'css', 1064 1064 'requires' => 1065 1065 array( ··· 3018 3018 ), 3019 3019 'phabricator-action-list-view-css' => 3020 3020 array( 3021 - 'uri' => '/res/89534fee/rsrc/css/layout/phabricator-action-list-view.css', 3021 + 'uri' => '/res/2dce4556/rsrc/css/layout/phabricator-action-list-view.css', 3022 3022 'type' => 'css', 3023 3023 'requires' => 3024 3024 array( ··· 3371 3371 ), 3372 3372 'phabricator-property-list-view-css' => 3373 3373 array( 3374 - 'uri' => '/res/7835f74e/rsrc/css/layout/phabricator-property-list-view.css', 3374 + 'uri' => '/res/31912bb1/rsrc/css/layout/phabricator-property-list-view.css', 3375 3375 'type' => 'css', 3376 3376 'requires' => 3377 3377 array( ··· 3805 3805 ), 3806 3806 'phui-object-box-css' => 3807 3807 array( 3808 - 'uri' => '/res/9e56634a/rsrc/css/phui/phui-object-box.css', 3808 + 'uri' => '/res/8504279f/rsrc/css/phui/phui-object-box.css', 3809 3809 'type' => 'css', 3810 3810 'requires' => 3811 3811 array( ··· 4184 4184 ), array( 4185 4185 'packages' => 4186 4186 array( 4187 - '1fa81138' => 4187 + 'eab97939' => 4188 4188 array( 4189 4189 'name' => 'core.pkg.css', 4190 4190 'symbols' => ··· 4233 4233 41 => 'phabricator-tag-view-css', 4234 4234 42 => 'phui-list-view-css', 4235 4235 ), 4236 - 'uri' => '/res/pkg/1fa81138/core.pkg.css', 4236 + 'uri' => '/res/pkg/eab97939/core.pkg.css', 4237 4237 'type' => 'css', 4238 4238 ), 4239 4239 '64eeda79' => ··· 4295 4295 'uri' => '/res/pkg/4ccfeb47/darkconsole.pkg.js', 4296 4296 'type' => 'js', 4297 4297 ), 4298 - 'b55e602f' => 4298 + 'f09bc1cf' => 4299 4299 array( 4300 4300 'name' => 'differential.pkg.css', 4301 4301 'symbols' => ··· 4314 4314 11 => 'differential-local-commits-view-css', 4315 4315 12 => 'inline-comment-summary-css', 4316 4316 ), 4317 - 'uri' => '/res/pkg/b55e602f/differential.pkg.css', 4317 + 'uri' => '/res/pkg/f09bc1cf/differential.pkg.css', 4318 4318 'type' => 'css', 4319 4319 ), 4320 4320 '5e9e5c4e' => ··· 4425 4425 ), 4426 4426 'reverse' => 4427 4427 array( 4428 - 'aphront-dialog-view-css' => '1fa81138', 4429 - 'aphront-error-view-css' => '1fa81138', 4430 - 'aphront-list-filter-view-css' => '1fa81138', 4431 - 'aphront-pager-view-css' => '1fa81138', 4432 - 'aphront-panel-view-css' => '1fa81138', 4433 - 'aphront-table-view-css' => '1fa81138', 4434 - 'aphront-tokenizer-control-css' => '1fa81138', 4435 - 'aphront-tooltip-css' => '1fa81138', 4436 - 'aphront-typeahead-control-css' => '1fa81138', 4437 - 'differential-changeset-view-css' => 'b55e602f', 4438 - 'differential-core-view-css' => 'b55e602f', 4428 + 'aphront-dialog-view-css' => 'eab97939', 4429 + 'aphront-error-view-css' => 'eab97939', 4430 + 'aphront-list-filter-view-css' => 'eab97939', 4431 + 'aphront-pager-view-css' => 'eab97939', 4432 + 'aphront-panel-view-css' => 'eab97939', 4433 + 'aphront-table-view-css' => 'eab97939', 4434 + 'aphront-tokenizer-control-css' => 'eab97939', 4435 + 'aphront-tooltip-css' => 'eab97939', 4436 + 'aphront-typeahead-control-css' => 'eab97939', 4437 + 'differential-changeset-view-css' => 'f09bc1cf', 4438 + 'differential-core-view-css' => 'f09bc1cf', 4439 4439 'differential-inline-comment-editor' => '5e9e5c4e', 4440 - 'differential-local-commits-view-css' => 'b55e602f', 4441 - 'differential-results-table-css' => 'b55e602f', 4442 - 'differential-revision-add-comment-css' => 'b55e602f', 4443 - 'differential-revision-comment-css' => 'b55e602f', 4444 - 'differential-revision-comment-list-css' => 'b55e602f', 4445 - 'differential-revision-history-css' => 'b55e602f', 4446 - 'differential-revision-list-css' => 'b55e602f', 4447 - 'differential-table-of-contents-css' => 'b55e602f', 4440 + 'differential-local-commits-view-css' => 'f09bc1cf', 4441 + 'differential-results-table-css' => 'f09bc1cf', 4442 + 'differential-revision-add-comment-css' => 'f09bc1cf', 4443 + 'differential-revision-comment-css' => 'f09bc1cf', 4444 + 'differential-revision-comment-list-css' => 'f09bc1cf', 4445 + 'differential-revision-history-css' => 'f09bc1cf', 4446 + 'differential-revision-list-css' => 'f09bc1cf', 4447 + 'differential-table-of-contents-css' => 'f09bc1cf', 4448 4448 'diffusion-commit-view-css' => 'c8ce2d88', 4449 4449 'diffusion-icons-css' => 'c8ce2d88', 4450 - 'global-drag-and-drop-css' => '1fa81138', 4451 - 'inline-comment-summary-css' => 'b55e602f', 4450 + 'global-drag-and-drop-css' => 'eab97939', 4451 + 'inline-comment-summary-css' => 'f09bc1cf', 4452 4452 'javelin-aphlict' => '64eeda79', 4453 4453 'javelin-behavior' => '9564fa17', 4454 4454 'javelin-behavior-aphlict-dropdown' => '64eeda79', ··· 4522 4522 'javelin-util' => '9564fa17', 4523 4523 'javelin-vector' => '9564fa17', 4524 4524 'javelin-workflow' => '9564fa17', 4525 - 'lightbox-attachment-css' => '1fa81138', 4525 + 'lightbox-attachment-css' => 'eab97939', 4526 4526 'maniphest-task-summary-css' => '49898640', 4527 - 'phabricator-action-list-view-css' => '1fa81138', 4528 - 'phabricator-application-launch-view-css' => '1fa81138', 4527 + 'phabricator-action-list-view-css' => 'eab97939', 4528 + 'phabricator-application-launch-view-css' => 'eab97939', 4529 4529 'phabricator-busy' => '64eeda79', 4530 - 'phabricator-content-source-view-css' => 'b55e602f', 4531 - 'phabricator-core-css' => '1fa81138', 4532 - 'phabricator-crumbs-view-css' => '1fa81138', 4530 + 'phabricator-content-source-view-css' => 'f09bc1cf', 4531 + 'phabricator-core-css' => 'eab97939', 4532 + 'phabricator-crumbs-view-css' => 'eab97939', 4533 4533 'phabricator-drag-and-drop-file-upload' => '5e9e5c4e', 4534 4534 'phabricator-dropdown-menu' => '64eeda79', 4535 4535 'phabricator-file-upload' => '64eeda79', 4536 - 'phabricator-filetree-view-css' => '1fa81138', 4537 - 'phabricator-flag-css' => '1fa81138', 4536 + 'phabricator-filetree-view-css' => 'eab97939', 4537 + 'phabricator-flag-css' => 'eab97939', 4538 4538 'phabricator-hovercard' => '64eeda79', 4539 - 'phabricator-jump-nav' => '1fa81138', 4539 + 'phabricator-jump-nav' => 'eab97939', 4540 4540 'phabricator-keyboard-shortcut' => '64eeda79', 4541 4541 'phabricator-keyboard-shortcut-manager' => '64eeda79', 4542 - 'phabricator-main-menu-view' => '1fa81138', 4542 + 'phabricator-main-menu-view' => 'eab97939', 4543 4543 'phabricator-menu-item' => '64eeda79', 4544 - 'phabricator-nav-view-css' => '1fa81138', 4544 + 'phabricator-nav-view-css' => 'eab97939', 4545 4545 'phabricator-notification' => '64eeda79', 4546 - 'phabricator-notification-css' => '1fa81138', 4547 - 'phabricator-notification-menu-css' => '1fa81138', 4548 - 'phabricator-object-selector-css' => 'b55e602f', 4546 + 'phabricator-notification-css' => 'eab97939', 4547 + 'phabricator-notification-menu-css' => 'eab97939', 4548 + 'phabricator-object-selector-css' => 'f09bc1cf', 4549 4549 'phabricator-phtize' => '64eeda79', 4550 4550 'phabricator-prefab' => '64eeda79', 4551 4551 'phabricator-project-tag-css' => '49898640', 4552 - 'phabricator-property-list-view-css' => '1fa81138', 4553 - 'phabricator-remarkup-css' => '1fa81138', 4552 + 'phabricator-property-list-view-css' => 'eab97939', 4553 + 'phabricator-remarkup-css' => 'eab97939', 4554 4554 'phabricator-shaped-request' => '5e9e5c4e', 4555 - 'phabricator-side-menu-view-css' => '1fa81138', 4556 - 'phabricator-standard-page-view' => '1fa81138', 4557 - 'phabricator-tag-view-css' => '1fa81138', 4555 + 'phabricator-side-menu-view-css' => 'eab97939', 4556 + 'phabricator-standard-page-view' => 'eab97939', 4557 + 'phabricator-tag-view-css' => 'eab97939', 4558 4558 'phabricator-textareautils' => '64eeda79', 4559 4559 'phabricator-tooltip' => '64eeda79', 4560 - 'phabricator-transaction-view-css' => '1fa81138', 4561 - 'phabricator-zindex-css' => '1fa81138', 4562 - 'phui-button-css' => '1fa81138', 4563 - 'phui-form-css' => '1fa81138', 4564 - 'phui-form-view-css' => '1fa81138', 4565 - 'phui-header-view-css' => '1fa81138', 4566 - 'phui-icon-view-css' => '1fa81138', 4567 - 'phui-list-view-css' => '1fa81138', 4568 - 'phui-object-item-list-view-css' => '1fa81138', 4569 - 'phui-spacing-css' => '1fa81138', 4570 - 'sprite-apps-large-css' => '1fa81138', 4571 - 'sprite-gradient-css' => '1fa81138', 4572 - 'sprite-icons-css' => '1fa81138', 4573 - 'sprite-menu-css' => '1fa81138', 4574 - 'sprite-status-css' => '1fa81138', 4575 - 'syntax-highlighting-css' => '1fa81138', 4560 + 'phabricator-transaction-view-css' => 'eab97939', 4561 + 'phabricator-zindex-css' => 'eab97939', 4562 + 'phui-button-css' => 'eab97939', 4563 + 'phui-form-css' => 'eab97939', 4564 + 'phui-form-view-css' => 'eab97939', 4565 + 'phui-header-view-css' => 'eab97939', 4566 + 'phui-icon-view-css' => 'eab97939', 4567 + 'phui-list-view-css' => 'eab97939', 4568 + 'phui-object-item-list-view-css' => 'eab97939', 4569 + 'phui-spacing-css' => 'eab97939', 4570 + 'sprite-apps-large-css' => 'eab97939', 4571 + 'sprite-gradient-css' => 'eab97939', 4572 + 'sprite-icons-css' => 'eab97939', 4573 + 'sprite-menu-css' => 'eab97939', 4574 + 'sprite-status-css' => 'eab97939', 4575 + 'syntax-highlighting-css' => 'eab97939', 4576 4576 ), 4577 4577 ));
+26 -10
src/view/layout/PhabricatorPropertyListView.php
··· 6 6 private $hasKeyboardShortcuts; 7 7 private $object; 8 8 private $invokedWillRenderEvent; 9 + private $actionList; 9 10 10 11 protected function canAppendChild() { 11 12 return false; ··· 13 14 14 15 public function setObject($object) { 15 16 $this->object = $object; 17 + return $this; 18 + } 19 + 20 + public function setActionList(PhabricatorActionListView $list) { 21 + $this->actionList = $list; 16 22 return $this; 17 23 } 18 24 ··· 150 156 $shortcuts = new AphrontKeyboardShortcutsAvailableView(); 151 157 } 152 158 153 - return array( 154 - $shortcuts, 155 - phutil_tag( 159 + $list = phutil_tag( 160 + 'div', 161 + array( 162 + 'class' => 'phabricator-property-list-properties-wrap', 163 + ), 164 + array($shortcuts, $list)); 165 + 166 + $action_list = null; 167 + if ($this->actionList) { 168 + $action_list = phutil_tag( 156 169 'div', 157 170 array( 158 - 'class' => 'phabricator-property-list-container', 171 + 'class' => 'phabricator-property-list-actions', 159 172 ), 173 + $this->actionList); 174 + $this->actionList = null; 175 + } 176 + 177 + return phutil_tag( 178 + 'div', 160 179 array( 161 - $list, 162 - phutil_tag( 163 - 'div', 164 - array('class' => 'phabriator-property-list-view-end'), 165 - ''), 166 - ))); 180 + 'class' => 'phabricator-property-list-container grouped', 181 + ), 182 + array($action_list, $list)); 167 183 } 168 184 169 185 private function renderSectionPart(array $part) {
+5 -1
src/view/phui/PHUIObjectBoxView.php
··· 78 78 } 79 79 } 80 80 81 + $property_list = $this->propertyList; 82 + if ($this->actionList && $this->propertyList) { 83 + $property_list->setActionList($this->actionList); 84 + } 85 + 81 86 $content = id(new PHUIBoxView()) 82 87 ->appendChild( 83 88 array( ··· 85 90 $this->formError, 86 91 $exception_errors, 87 92 $this->form, 88 - $this->actionList, 89 93 $this->propertyList, 90 94 $this->renderChildren(), 91 95 ))
+8 -13
webroot/rsrc/css/application/differential/results-table.css
··· 4 4 5 5 table.differential-results-table { 6 6 border-collapse: separate; 7 - border-spacing: 1px; 8 - width: 100%; 7 + width: 96%; 9 8 font-size: 11px; 10 - background: #fcfcec; 11 9 } 12 10 13 11 .differential-results-table th { 14 - font-weight: bold; 15 12 text-align: center; 16 13 white-space: nowrap; 17 14 vertical-align: middle; 18 15 padding: 2px 4px; 19 - margin: 0; 20 - width: 70px; 16 + width: 40px; 17 + border-right: 1px solid #fff; 21 18 } 22 19 23 20 .differential-results-table td { 24 - padding: 2px 8px; 21 + padding: 0px 8px; 25 22 margin: 0; 26 23 vertical-align: middle; 27 24 } 28 25 29 26 .differential-results-table tr.differential-results-row-star th, 30 27 .differential-results-table tr.differential-results-row-star td { 31 - font-weight: bold; 32 - background: #dfe3ec; 28 + background: {$greybackground}; 33 29 } 34 30 35 31 36 32 .differential-results-table tr.differential-results-row-section th { 37 - font-weight: bold; 38 33 padding-top: 4px; 39 34 text-align: left; 40 35 } ··· 44 39 } 45 40 46 41 .differential-results-table tr.differential-results-row-excuse td { 47 - padding-top: 1em; 48 - padding-right: 1em; 49 - padding-bottom: 1em; 42 + padding-top: 8px; 43 + padding-right: 8px; 44 + padding-bottom: 8px; 50 45 } 51 46 52 47 .differential-results-table tr.differential-results-row-red th {
+5 -35
webroot/rsrc/css/layout/phabricator-action-list-view.css
··· 2 2 * @provides phabricator-action-list-view-css 3 3 */ 4 4 5 - .phabricator-action-list-view { 6 - background: #ffffff; 7 - } 8 - 9 5 .device-desktop .phabricator-action-list-view { 10 - border: 1px solid {$lightblueborder}; 11 - border-bottom: 1px solid {$blueborder}; 12 - padding: 4px 0; 13 - float: right; 14 - margin-top: 0px; 15 - width: 20%; 16 6 font-size: 12px; 17 7 } 18 8 19 - .device-desktop .phui-header-shell + .phabricator-action-list-view { 20 - margin-top: -33px; 21 - } 22 - 23 - .device-desktop .phui-header-shell.phui-header-tall + .phabricator-action-list-view { 24 - margin-top: -55px; 25 - } 26 - 27 - .device-desktop .phui-header-shell.phui-header-has-image + 28 - .phabricator-action-list-view { 29 - margin-top: -53px; 30 - } 31 - 32 - .device .phui-header-shell + .phabricator-action-list-view { 33 - margin-top: -1px; 34 - } 35 - 36 9 .device .phabricator-action-list-view { 37 - border-top: 1px solid #dcdcdc; 38 10 padding: 4px 0; 39 - } 40 - 41 - .device .phabricator-action-list-view { 42 11 display: none; 43 12 } 44 13 ··· 50 19 .device .phabricator-action-view-item { 51 20 font-size: 14px; 52 21 line-height: 22px; 22 + padding-bottom: 4px; 23 + border-bottom: 1px solid {$thinblueborder}; 53 24 } 54 25 55 26 .phabricator-action-view { ··· 78 49 79 50 .phabricator-action-view button.phabricator-action-view-item, 80 51 .phabricator-action-view-item { 81 - padding: 1px 0 1px 28px; 82 - line-height: 20px; 52 + padding: 2px 4px 2px 28px; 53 + line-height: 18px; 83 54 display: block; 84 - font-size: 12px; 85 55 text-decoration: none; 86 56 color: {$darkgreytext}; 87 57 } ··· 91 61 height: 14px; 92 62 position: absolute; 93 63 top: 5px; 94 - left: 8px; 64 + left: 9px; 95 65 } 96 66 97 67 .device-desktop .phabricator-action-view:hover .phabricator-action-view-item {
+30 -6
webroot/rsrc/css/layout/phabricator-property-list-view.css
··· 19 19 url('/rsrc/image/icon/fatcow/key_question.png') right center no-repeat; 20 20 } 21 21 22 + .device .keyboard-shortcuts-available { 23 + display: none; 24 + } 25 + 22 26 .phabricator-property-list-container + 23 27 .phabricator-property-list-section-header { 24 28 border-color: {$lightgreyborder}; ··· 28 32 29 33 .device-desktop .phabricator-property-list-container { 30 34 padding: 12px 0 12px 0; 35 + width: 100%; 31 36 } 32 37 33 38 .device .phabricator-property-list-container { ··· 42 47 } 43 48 44 49 .device-desktop .phabricator-property-list-key { 45 - width: 15%; 50 + width: 18%; 46 51 margin-left: 1%; 47 52 text-align: right; 48 53 float: left; ··· 61 66 } 62 67 63 68 .device-desktop .phabricator-property-list-value { 64 - width: 50%; 69 + width: 78%; 65 70 margin-left: 1%; 66 71 float: left; 67 72 margin-bottom: 4px; ··· 72 77 margin-bottom: 8px; 73 78 } 74 79 75 - .phabriator-property-list-view-end { 76 - clear: both; 77 - } 78 - 79 80 .phabricator-property-list-section-header { 80 81 color: {$bluetext}; 81 82 padding: 12px 16px 0px; ··· 125 126 .phabricator-property-list-view .phabricator-tag-view { 126 127 margin: 2px 0; 127 128 } 129 + 130 + .phabricator-property-list-properties-wrap { 131 + float: left; 132 + width: 78%; 133 + } 134 + 135 + .device .phabricator-property-list-properties-wrap { 136 + width: auto; 137 + border: none; 138 + } 139 + 140 + .phabricator-property-list-actions { 141 + width: 20%; 142 + float: right; 143 + margin-right: 12px; 144 + border-left: 1px solid {$thinblueborder}; 145 + } 146 + 147 + .device .phabricator-property-list-actions { 148 + float: none; 149 + width: auto; 150 + margin: -12px 0 12px 0; 151 + }
-7
webroot/rsrc/css/phui/phui-object-box.css
··· 26 26 margin-bottom: 0; 27 27 } 28 28 29 - .device-desktop .phui-object-box 30 - .phui-header-shell + .phabricator-action-list-view { 31 - margin-top: 0; 32 - margin-bottom: -12px; 33 - border-width: 0 0 0 1px; 34 - } 35 - 36 29 .device-phone .phui-object-box { 37 30 margin-top: 0; 38 31 }