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