mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-18 19:40:55 +01:00
Remove Crop Image from Conpherence Edit UI
Summary: Ref T11730. Removes the front end crop feature. Will follow up with proper removal, but this seems broken outright. Test Plan: Edit a room, don't seen "Crop" feature. Upload new photo, works fine. - grep for `ConpherencePicCropControl` - grep for `aphront-crop` Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin Maniphest Tasks: T11730 Differential Revision: https://secure.phabricator.com/D16665
This commit is contained in:
parent
02b5a2b39b
commit
524906a439
5 changed files with 0 additions and 174 deletions
|
@ -547,7 +547,6 @@ return array(
|
||||||
'rsrc/js/core/behavior-autofocus.js' => '7319e029',
|
'rsrc/js/core/behavior-autofocus.js' => '7319e029',
|
||||||
'rsrc/js/core/behavior-badge-view.js' => '8ff5e24c',
|
'rsrc/js/core/behavior-badge-view.js' => '8ff5e24c',
|
||||||
'rsrc/js/core/behavior-choose-control.js' => '327a00d1',
|
'rsrc/js/core/behavior-choose-control.js' => '327a00d1',
|
||||||
'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-detect-timezone.js' => '4c193c96',
|
'rsrc/js/core/behavior-detect-timezone.js' => '4c193c96',
|
||||||
'rsrc/js/core/behavior-device.js' => 'bb1dd507',
|
'rsrc/js/core/behavior-device.js' => 'bb1dd507',
|
||||||
|
@ -655,7 +654,6 @@ return array(
|
||||||
'javelin-behavior-aphlict-listen' => 'fb20ac8d',
|
'javelin-behavior-aphlict-listen' => 'fb20ac8d',
|
||||||
'javelin-behavior-aphlict-status' => '5e2634b9',
|
'javelin-behavior-aphlict-status' => '5e2634b9',
|
||||||
'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884',
|
'javelin-behavior-aphront-basic-tokenizer' => 'b3a4b884',
|
||||||
'javelin-behavior-aphront-crop' => 'fa0f4fc2',
|
|
||||||
'javelin-behavior-aphront-drag-and-drop-textarea' => '484a6e22',
|
'javelin-behavior-aphront-drag-and-drop-textarea' => '484a6e22',
|
||||||
'javelin-behavior-aphront-form-disable-on-submit' => '5c54cbf3',
|
'javelin-behavior-aphront-form-disable-on-submit' => '5c54cbf3',
|
||||||
'javelin-behavior-aphront-more' => 'a80d0378',
|
'javelin-behavior-aphront-more' => 'a80d0378',
|
||||||
|
@ -2243,12 +2241,6 @@ return array(
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
'phabricator-busy',
|
'phabricator-busy',
|
||||||
),
|
),
|
||||||
'fa0f4fc2' => array(
|
|
||||||
'javelin-behavior',
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-vector',
|
|
||||||
'javelin-magical-init',
|
|
||||||
),
|
|
||||||
'fb20ac8d' => array(
|
'fb20ac8d' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-aphlict',
|
'javelin-aphlict',
|
||||||
|
|
|
@ -305,7 +305,6 @@ phutil_register_library_map(array(
|
||||||
'ConpherenceParticipantQuery' => 'applications/conpherence/query/ConpherenceParticipantQuery.php',
|
'ConpherenceParticipantQuery' => 'applications/conpherence/query/ConpherenceParticipantQuery.php',
|
||||||
'ConpherenceParticipantView' => 'applications/conpherence/view/ConpherenceParticipantView.php',
|
'ConpherenceParticipantView' => 'applications/conpherence/view/ConpherenceParticipantView.php',
|
||||||
'ConpherenceParticipationStatus' => 'applications/conpherence/constants/ConpherenceParticipationStatus.php',
|
'ConpherenceParticipationStatus' => 'applications/conpherence/constants/ConpherenceParticipationStatus.php',
|
||||||
'ConpherencePicCropControl' => 'applications/conpherence/view/ConpherencePicCropControl.php',
|
|
||||||
'ConpherenceQueryThreadConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceQueryThreadConduitAPIMethod.php',
|
'ConpherenceQueryThreadConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceQueryThreadConduitAPIMethod.php',
|
||||||
'ConpherenceQueryTransactionConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceQueryTransactionConduitAPIMethod.php',
|
'ConpherenceQueryTransactionConduitAPIMethod' => 'applications/conpherence/conduit/ConpherenceQueryTransactionConduitAPIMethod.php',
|
||||||
'ConpherenceReplyHandler' => 'applications/conpherence/mail/ConpherenceReplyHandler.php',
|
'ConpherenceReplyHandler' => 'applications/conpherence/mail/ConpherenceReplyHandler.php',
|
||||||
|
@ -4782,7 +4781,6 @@ phutil_register_library_map(array(
|
||||||
'ConpherenceParticipantQuery' => 'PhabricatorOffsetPagedQuery',
|
'ConpherenceParticipantQuery' => 'PhabricatorOffsetPagedQuery',
|
||||||
'ConpherenceParticipantView' => 'AphrontView',
|
'ConpherenceParticipantView' => 'AphrontView',
|
||||||
'ConpherenceParticipationStatus' => 'ConpherenceConstants',
|
'ConpherenceParticipationStatus' => 'ConpherenceConstants',
|
||||||
'ConpherencePicCropControl' => 'AphrontFormControl',
|
|
||||||
'ConpherenceQueryThreadConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
|
'ConpherenceQueryThreadConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
|
||||||
'ConpherenceQueryTransactionConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
|
'ConpherenceQueryTransactionConduitAPIMethod' => 'ConpherenceConduitAPIMethod',
|
||||||
'ConpherenceReplyHandler' => 'PhabricatorMailReplyHandler',
|
'ConpherenceReplyHandler' => 'PhabricatorMailReplyHandler',
|
||||||
|
|
|
@ -506,10 +506,6 @@ final class ConpherenceUpdateController
|
||||||
array(
|
array(
|
||||||
'src' => $crop_uri,
|
'src' => $crop_uri,
|
||||||
))))
|
))))
|
||||||
->appendChild(
|
|
||||||
id(new ConpherencePicCropControl())
|
|
||||||
->setLabel(pht('Crop Image'))
|
|
||||||
->setValue($image))
|
|
||||||
->appendChild(
|
->appendChild(
|
||||||
id(new ConpherenceFormDragAndDropUploadControl())
|
id(new ConpherenceFormDragAndDropUploadControl())
|
||||||
->setLabel(pht('Change Image')));
|
->setLabel(pht('Change Image')));
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
final class ConpherencePicCropControl extends AphrontFormControl {
|
|
||||||
|
|
||||||
protected function getCustomControlClass() {
|
|
||||||
return 'aphront-form-crop';
|
|
||||||
}
|
|
||||||
|
|
||||||
protected function renderInput() {
|
|
||||||
$width = ConpherenceImageData::CROP_WIDTH;
|
|
||||||
$height = ConpherenceImageData::CROP_HEIGHT;
|
|
||||||
|
|
||||||
$file = $this->getValue();
|
|
||||||
|
|
||||||
if ($file === null) {
|
|
||||||
return phutil_tag(
|
|
||||||
'img',
|
|
||||||
array(
|
|
||||||
'src' => PhabricatorUser::getDefaultProfileImageURI(),
|
|
||||||
),
|
|
||||||
'');
|
|
||||||
}
|
|
||||||
|
|
||||||
$c_id = celerity_generate_unique_node_id();
|
|
||||||
$metadata = $file->getMetadata();
|
|
||||||
$scale = PhabricatorImageTransformer::getScaleForCrop(
|
|
||||||
$file,
|
|
||||||
$width,
|
|
||||||
$height);
|
|
||||||
|
|
||||||
Javelin::initBehavior(
|
|
||||||
'aphront-crop',
|
|
||||||
array(
|
|
||||||
'cropBoxID' => $c_id,
|
|
||||||
'width' => $width,
|
|
||||||
'height' => $height,
|
|
||||||
'scale' => $scale,
|
|
||||||
'imageH' => $metadata[PhabricatorFile::METADATA_IMAGE_HEIGHT],
|
|
||||||
'imageW' => $metadata[PhabricatorFile::METADATA_IMAGE_WIDTH],
|
|
||||||
));
|
|
||||||
|
|
||||||
return javelin_tag(
|
|
||||||
'div',
|
|
||||||
array(
|
|
||||||
'id' => $c_id,
|
|
||||||
'sigil' => 'crop-box',
|
|
||||||
'mustcapture' => true,
|
|
||||||
'class' => 'crop-box',
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
javelin_tag(
|
|
||||||
'img',
|
|
||||||
array(
|
|
||||||
'src' => $file->getBestURI(),
|
|
||||||
'class' => 'crop-image',
|
|
||||||
'sigil' => 'crop-image',
|
|
||||||
),
|
|
||||||
''),
|
|
||||||
javelin_tag(
|
|
||||||
'input',
|
|
||||||
array(
|
|
||||||
'type' => 'hidden',
|
|
||||||
'name' => 'image_x',
|
|
||||||
'sigil' => 'crop-x',
|
|
||||||
),
|
|
||||||
''),
|
|
||||||
javelin_tag(
|
|
||||||
'input',
|
|
||||||
array(
|
|
||||||
'type' => 'hidden',
|
|
||||||
'name' => 'image_y',
|
|
||||||
'sigil' => 'crop-y',
|
|
||||||
),
|
|
||||||
''),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,82 +0,0 @@
|
||||||
/**
|
|
||||||
* @provides javelin-behavior-aphront-crop
|
|
||||||
* @requires javelin-behavior
|
|
||||||
* javelin-dom
|
|
||||||
* javelin-vector
|
|
||||||
* javelin-magical-init
|
|
||||||
*/
|
|
||||||
|
|
||||||
JX.behavior('aphront-crop', function(config) {
|
|
||||||
|
|
||||||
var dragging = false;
|
|
||||||
var startX, startY;
|
|
||||||
var finalX, finalY;
|
|
||||||
|
|
||||||
var cropBox = JX.$(config.cropBoxID);
|
|
||||||
var basePos = JX.$V(cropBox);
|
|
||||||
cropBox.style.height = config.height + 'px';
|
|
||||||
cropBox.style.width = config.width + 'px';
|
|
||||||
var baseD = JX.$V(config.width, config.height);
|
|
||||||
|
|
||||||
var image = JX.DOM.find(cropBox, 'img', 'crop-image');
|
|
||||||
image.style.height = (config.imageH * config.scale) + 'px';
|
|
||||||
image.style.width = (config.imageW * config.scale) + 'px';
|
|
||||||
var imageD = JX.$V(
|
|
||||||
config.imageW * config.scale,
|
|
||||||
config.imageH * config.scale
|
|
||||||
);
|
|
||||||
var minLeft = baseD.x - imageD.x;
|
|
||||||
var minTop = baseD.y - imageD.y;
|
|
||||||
|
|
||||||
var ondrag = function(e) {
|
|
||||||
e.kill();
|
|
||||||
dragging = true;
|
|
||||||
var p = JX.$V(e);
|
|
||||||
startX = p.x;
|
|
||||||
startY = p.y;
|
|
||||||
};
|
|
||||||
|
|
||||||
var onmove = function(e) {
|
|
||||||
if (!dragging) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
e.kill();
|
|
||||||
|
|
||||||
var p = JX.$V(e);
|
|
||||||
var dx = startX - p.x;
|
|
||||||
var dy = startY - p.y;
|
|
||||||
var imagePos = JX.$V(image);
|
|
||||||
var moveLeft = imagePos.x - basePos.x - dx;
|
|
||||||
var moveTop = imagePos.y - basePos.y - dy;
|
|
||||||
|
|
||||||
image.style.left = Math.min(Math.max(minLeft, moveLeft), 0) + 'px';
|
|
||||||
image.style.top = Math.min(Math.max(minTop, moveTop), 0) + 'px';
|
|
||||||
|
|
||||||
// reset these; a new beginning!
|
|
||||||
startX = p.x;
|
|
||||||
startY = p.y;
|
|
||||||
|
|
||||||
// save off where we are right now
|
|
||||||
imagePos = JX.$V(image);
|
|
||||||
finalX = Math.abs(imagePos.x - basePos.x);
|
|
||||||
finalY = Math.abs(imagePos.y - basePos.y);
|
|
||||||
JX.DOM.find(cropBox, 'input', 'crop-x').value = finalX;
|
|
||||||
JX.DOM.find(cropBox, 'input', 'crop-y').value = finalY;
|
|
||||||
};
|
|
||||||
|
|
||||||
var ondrop = function() {
|
|
||||||
if (!dragging) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
dragging = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
// NOTE: Javelin does not dispatch mousemove by default.
|
|
||||||
JX.enableDispatch(cropBox, 'mousemove');
|
|
||||||
|
|
||||||
JX.DOM.listen(cropBox, 'mousedown', [], ondrag);
|
|
||||||
JX.DOM.listen(cropBox, 'mousemove', [], onmove);
|
|
||||||
JX.DOM.listen(cropBox, 'mouseup', [], ondrop);
|
|
||||||
JX.DOM.listen(cropBox, 'mouseout', [], ondrop);
|
|
||||||
|
|
||||||
});
|
|
Loading…
Reference in a new issue