Give IconSetControl a meaningful disabled state
Summary: Ref T10004. This control doesn't disable visually or behaviorally, e.g. when locked in an EditEngine configuration. Test Plan: - Locked field for Projects. - Reviewed form in EditEngine. - Created/edited a project. - Swapped default. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10004 Differential Revision: https://secure.phabricator.com/D14911
This commit is contained in:
		| @@ -465,7 +465,7 @@ return array( | |||||||
|     'rsrc/js/core/behavior-active-nav.js' => 'e379b58e', |     'rsrc/js/core/behavior-active-nav.js' => 'e379b58e', | ||||||
|     'rsrc/js/core/behavior-audio-source.js' => '59b251eb', |     'rsrc/js/core/behavior-audio-source.js' => '59b251eb', | ||||||
|     'rsrc/js/core/behavior-autofocus.js' => '7319e029', |     'rsrc/js/core/behavior-autofocus.js' => '7319e029', | ||||||
|     'rsrc/js/core/behavior-choose-control.js' => 'dfaafb14', |     'rsrc/js/core/behavior-choose-control.js' => '8fee767e', | ||||||
|     'rsrc/js/core/behavior-crop.js' => 'fa0f4fc2', |     'rsrc/js/core/behavior-crop.js' => 'fa0f4fc2', | ||||||
|     'rsrc/js/core/behavior-dark-console.js' => 'f411b6ae', |     'rsrc/js/core/behavior-dark-console.js' => 'f411b6ae', | ||||||
|     'rsrc/js/core/behavior-device.js' => 'a205cf28', |     'rsrc/js/core/behavior-device.js' => 'a205cf28', | ||||||
| @@ -571,7 +571,7 @@ return array( | |||||||
|     'javelin-behavior-audio-source' => '59b251eb', |     'javelin-behavior-audio-source' => '59b251eb', | ||||||
|     'javelin-behavior-audit-preview' => 'd835b03a', |     'javelin-behavior-audit-preview' => 'd835b03a', | ||||||
|     'javelin-behavior-bulk-job-reload' => 'edf8a145', |     'javelin-behavior-bulk-job-reload' => 'edf8a145', | ||||||
|     'javelin-behavior-choose-control' => 'dfaafb14', |     'javelin-behavior-choose-control' => '8fee767e', | ||||||
|     'javelin-behavior-comment-actions' => 'b65559c0', |     'javelin-behavior-comment-actions' => 'b65559c0', | ||||||
|     'javelin-behavior-config-reorder-fields' => 'b6993408', |     'javelin-behavior-config-reorder-fields' => 'b6993408', | ||||||
|     'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a', |     'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a', | ||||||
| @@ -1517,6 +1517,12 @@ return array( | |||||||
|       'javelin-install', |       'javelin-install', | ||||||
|       'javelin-dom', |       'javelin-dom', | ||||||
|     ), |     ), | ||||||
|  |     '8fee767e' => array( | ||||||
|  |       'javelin-behavior', | ||||||
|  |       'javelin-stratcom', | ||||||
|  |       'javelin-dom', | ||||||
|  |       'javelin-workflow', | ||||||
|  |     ), | ||||||
|     '9007c197' => array( |     '9007c197' => array( | ||||||
|       'javelin-behavior', |       'javelin-behavior', | ||||||
|       'javelin-dom', |       'javelin-dom', | ||||||
| @@ -1909,12 +1915,6 @@ return array( | |||||||
|     'df5e11d2' => array( |     'df5e11d2' => array( | ||||||
|       'javelin-install', |       'javelin-install', | ||||||
|     ), |     ), | ||||||
|     'dfaafb14' => array( |  | ||||||
|       'javelin-behavior', |  | ||||||
|       'javelin-stratcom', |  | ||||||
|       'javelin-dom', |  | ||||||
|       'javelin-workflow', |  | ||||||
|     ), |  | ||||||
|     'e10f8e18' => array( |     'e10f8e18' => array( | ||||||
|       'javelin-behavior', |       'javelin-behavior', | ||||||
|       'javelin-dom', |       'javelin-dom', | ||||||
|   | |||||||
| @@ -102,7 +102,7 @@ final class PhabricatorProjectTransactionEditor | |||||||
|       case PhabricatorProjectTransaction::TYPE_NAME: |       case PhabricatorProjectTransaction::TYPE_NAME: | ||||||
|         $name = $xaction->getNewValue(); |         $name = $xaction->getNewValue(); | ||||||
|         $object->setName($name); |         $object->setName($name); | ||||||
|         if ($this->getIsMilestone()) { |         if (!$this->getIsMilestone()) { | ||||||
|           $object->setPrimarySlug(PhabricatorSlug::normalizeProjectSlug($name)); |           $object->setPrimarySlug(PhabricatorSlug::normalizeProjectSlug($name)); | ||||||
|         } |         } | ||||||
|         return; |         return; | ||||||
|   | |||||||
| @@ -26,11 +26,21 @@ final class PHUIFormIconSetControl | |||||||
|     $input_id = celerity_generate_unique_node_id(); |     $input_id = celerity_generate_unique_node_id(); | ||||||
|     $display_id = celerity_generate_unique_node_id(); |     $display_id = celerity_generate_unique_node_id(); | ||||||
|  |  | ||||||
|  |     $is_disabled = $this->getDisabled(); | ||||||
|  |  | ||||||
|  |     $classes = array(); | ||||||
|  |     $classes[] = 'button'; | ||||||
|  |     $classes[] = 'grey'; | ||||||
|  |  | ||||||
|  |     if ($is_disabled) { | ||||||
|  |       $classes[] = 'disabled'; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     $button = javelin_tag( |     $button = javelin_tag( | ||||||
|       'a', |       'a', | ||||||
|       array( |       array( | ||||||
|         'href' => '#', |         'href' => '#', | ||||||
|         'class' => 'button grey', |         'class' => implode(' ', $classes), | ||||||
|         'sigil' => 'phui-form-iconset-button', |         'sigil' => 'phui-form-iconset-button', | ||||||
|       ), |       ), | ||||||
|       $set->getChooseButtonText()); |       $set->getChooseButtonText()); | ||||||
| @@ -79,6 +89,7 @@ final class PHUIFormIconSetControl | |||||||
|       'input', |       'input', | ||||||
|       array( |       array( | ||||||
|         'type' => 'hidden', |         'type' => 'hidden', | ||||||
|  |         'disabled' => ($is_disabled ? 'disabled' : null), | ||||||
|         'name' => $this->getName(), |         'name' => $this->getName(), | ||||||
|         'value' => $this->getValue(), |         'value' => $this->getValue(), | ||||||
|         'id' => $input_id, |         'id' => $input_id, | ||||||
|   | |||||||
| @@ -15,14 +15,19 @@ JX.behavior('choose-control', function() { | |||||||
|       e.kill(); |       e.kill(); | ||||||
|  |  | ||||||
|       var data = e.getNodeData('phui-form-iconset'); |       var data = e.getNodeData('phui-form-iconset'); | ||||||
|  |       var input = JX.$(data.inputID); | ||||||
|  |  | ||||||
|  |       if (input.disabled) { | ||||||
|  |         return; | ||||||
|  |       } | ||||||
|  |  | ||||||
|       var params = { |       var params = { | ||||||
|         value: JX.$(data.inputID).value |         value: input.value | ||||||
|       }; |       }; | ||||||
|  |  | ||||||
|       new JX.Workflow(data.uri, params) |       new JX.Workflow(data.uri, params) | ||||||
|         .setHandler(function(r) { |         .setHandler(function(r) { | ||||||
|           JX.$(data.inputID).value = r.value; |           input.value = r.value; | ||||||
|           JX.DOM.setContent(JX.$(data.displayID), JX.$H(r.display)); |           JX.DOM.setContent(JX.$(data.displayID), JX.$H(r.display)); | ||||||
|         }) |         }) | ||||||
|         .start(); |         .start(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 epriestley
					epriestley