mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-30 02:32:42 +01:00
Moved rendering to PholioInlineCommentView
Summary: Rendering of inline comments has now been moved to PholioInlineCommentView controller. Delete almost deletes and edit... well not so much, but replaced google.fi with amazing popup. Test Plan: Verified that inline comments still show up. Verified that delete almost deletes. Reviewers: epriestley Reviewed By: epriestley CC: aran, Korvin Maniphest Tasks: T2446 Differential Revision: https://secure.phabricator.com/D4994 Conflicts: src/applications/pholio/controller/PholioInlineController.php
This commit is contained in:
parent
8eb404aea7
commit
f1bd1da062
11 changed files with 270 additions and 75 deletions
|
@ -1446,8 +1446,11 @@ phutil_register_library_map(array(
|
||||||
'PholioController' => 'applications/pholio/controller/PholioController.php',
|
'PholioController' => 'applications/pholio/controller/PholioController.php',
|
||||||
'PholioDAO' => 'applications/pholio/storage/PholioDAO.php',
|
'PholioDAO' => 'applications/pholio/storage/PholioDAO.php',
|
||||||
'PholioImage' => 'applications/pholio/storage/PholioImage.php',
|
'PholioImage' => 'applications/pholio/storage/PholioImage.php',
|
||||||
|
'PholioInlineCommentView' => 'applications/pholio/view/PholioInlineCommentView.php',
|
||||||
'PholioInlineController' => 'applications/pholio/controller/PholioInlineController.php',
|
'PholioInlineController' => 'applications/pholio/controller/PholioInlineController.php',
|
||||||
|
'PholioInlineDeleteController' => 'applications/pholio/controller/PholioInlineDeleteController.php',
|
||||||
'PholioInlineSaveController' => 'applications/pholio/controller/PholioInlineSaveController.php',
|
'PholioInlineSaveController' => 'applications/pholio/controller/PholioInlineSaveController.php',
|
||||||
|
'PholioInlineViewController' => 'applications/pholio/controller/PholioInlineViewController.php',
|
||||||
'PholioMock' => 'applications/pholio/storage/PholioMock.php',
|
'PholioMock' => 'applications/pholio/storage/PholioMock.php',
|
||||||
'PholioMockCommentController' => 'applications/pholio/controller/PholioMockCommentController.php',
|
'PholioMockCommentController' => 'applications/pholio/controller/PholioMockCommentController.php',
|
||||||
'PholioMockEditController' => 'applications/pholio/controller/PholioMockEditController.php',
|
'PholioMockEditController' => 'applications/pholio/controller/PholioMockEditController.php',
|
||||||
|
@ -2917,8 +2920,11 @@ phutil_register_library_map(array(
|
||||||
0 => 'PholioDAO',
|
0 => 'PholioDAO',
|
||||||
1 => 'PhabricatorMarkupInterface',
|
1 => 'PhabricatorMarkupInterface',
|
||||||
),
|
),
|
||||||
|
'PholioInlineCommentView' => 'AphrontView',
|
||||||
'PholioInlineController' => 'PholioController',
|
'PholioInlineController' => 'PholioController',
|
||||||
|
'PholioInlineDeleteController' => 'PholioController',
|
||||||
'PholioInlineSaveController' => 'PholioController',
|
'PholioInlineSaveController' => 'PholioController',
|
||||||
|
'PholioInlineViewController' => 'PholioController',
|
||||||
'PholioMock' =>
|
'PholioMock' =>
|
||||||
array(
|
array(
|
||||||
0 => 'PholioDAO',
|
0 => 'PholioDAO',
|
||||||
|
|
|
@ -43,8 +43,12 @@ final class PhabricatorApplicationPholio extends PhabricatorApplication {
|
||||||
'new/' => 'PholioMockEditController',
|
'new/' => 'PholioMockEditController',
|
||||||
'edit/(?P<id>\d+)/' => 'PholioMockEditController',
|
'edit/(?P<id>\d+)/' => 'PholioMockEditController',
|
||||||
'comment/(?P<id>\d+)/' => 'PholioMockCommentController',
|
'comment/(?P<id>\d+)/' => 'PholioMockCommentController',
|
||||||
'inline/(?P<id>\d+)/' => 'PholioInlineController',
|
'inline/' => array(
|
||||||
'inline/save/' => 'PholioInlineSaveController',
|
'(?P<id>\d+)/' => 'PholioInlineController',
|
||||||
|
'save/' => 'PholioInlineSaveController',
|
||||||
|
'delete/(?P<id>\d+)/' => 'PholioInlineDeleteController',
|
||||||
|
'view/(?P<id>\d+)/' => 'PholioInlineViewController'
|
||||||
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,35 +16,35 @@ final class PholioInlineController extends PholioController {
|
||||||
$user = $request->getUser();
|
$user = $request->getUser();
|
||||||
|
|
||||||
$inline_comments = id(new PholioTransactionComment())->loadAllWhere(
|
$inline_comments = id(new PholioTransactionComment())->loadAllWhere(
|
||||||
'imageid = %d AND transactionphid IS NOT NULL',
|
'imageid = %d AND (transactionphid IS NOT NULL
|
||||||
$this->id);
|
OR (authorphid = %s AND transactionphid IS NULL))',
|
||||||
|
|
||||||
$inline_comments = array_merge(
|
|
||||||
$inline_comments,
|
|
||||||
id(new PholioTransactionComment())->loadAllWhere(
|
|
||||||
'imageid = %d AND authorphid = %s AND transactionphid IS NULL',
|
|
||||||
$this->id,
|
$this->id,
|
||||||
$user->getPHID()));
|
$user->getPHID());
|
||||||
|
|
||||||
|
$author_phids = mpull($inline_comments, 'getAuthorPHID');
|
||||||
|
$authors = id(new PhabricatorObjectHandleData($author_phids))
|
||||||
|
->loadHandles();
|
||||||
|
|
||||||
$inlines = array();
|
$inlines = array();
|
||||||
|
|
||||||
foreach ($inline_comments as $inline_comment) {
|
foreach ($inline_comments as $inline_comment) {
|
||||||
$author = id(new PhabricatorUser())->loadOneWhere(
|
$inline_view = id(new PholioInlineCommentView())
|
||||||
'phid = %s',
|
->setHandle($authors[$inline_comment->getAuthorPHID()])
|
||||||
$inline_comment->getAuthorPHID());
|
->setInlineComment($inline_comment);
|
||||||
|
|
||||||
|
if ($inline_comment->getEditPolicy(PhabricatorPolicyCapability::CAN_EDIT)
|
||||||
|
== $user->getPHID() && $inline_comment->getTransactionPHID() === null) {
|
||||||
|
$inline_view->setEditable(true);
|
||||||
|
}
|
||||||
|
|
||||||
$inlines[] = array(
|
$inlines[] = array(
|
||||||
'phid' => $inline_comment->getPHID(),
|
'phid' => $inline_comment->getPHID(),
|
||||||
'userphid' => $author->getPHID(),
|
|
||||||
'username' => $author->getUserName(),
|
|
||||||
'canEdit' => ($inline_comment->
|
|
||||||
getEditPolicy(PhabricatorPolicyCapability::CAN_EDIT) ==
|
|
||||||
$user->getPHID()) ? true : false,
|
|
||||||
'transactionphid' => $inline_comment->getTransactionPHID(),
|
'transactionphid' => $inline_comment->getTransactionPHID(),
|
||||||
'imageID' => $inline_comment->getImageID(),
|
|
||||||
'x' => $inline_comment->getX(),
|
'x' => $inline_comment->getX(),
|
||||||
'y' => $inline_comment->getY(),
|
'y' => $inline_comment->getY(),
|
||||||
'width' => $inline_comment->getWidth(),
|
'width' => $inline_comment->getWidth(),
|
||||||
'height' => $inline_comment->getHeight(),
|
'height' => $inline_comment->getHeight(),
|
||||||
'content' => $inline_comment->getContent());
|
'contentHTML' => $inline_view->render());
|
||||||
}
|
}
|
||||||
|
|
||||||
return id(new AphrontAjaxResponse())->setContent($inlines);
|
return id(new AphrontAjaxResponse())->setContent($inlines);
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group pholio
|
||||||
|
*/
|
||||||
|
final class PholioInlineDeleteController extends PholioController {
|
||||||
|
|
||||||
|
private $id;
|
||||||
|
|
||||||
|
public function willProcessRequest(array $data) {
|
||||||
|
$this->id = $data['id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function processRequest() {
|
||||||
|
$request = $this->getRequest();
|
||||||
|
$user = $request->getUser();
|
||||||
|
|
||||||
|
$inline_comment = id(new PholioTransactionComment())->loadOneWhere(
|
||||||
|
'id = %d AND authorphid = %s AND transactionphid IS NULL',
|
||||||
|
$this->id,
|
||||||
|
$user->getPHID());
|
||||||
|
|
||||||
|
if ($inline_comment == null) {
|
||||||
|
return new Aphront404Response();
|
||||||
|
} else {
|
||||||
|
return id(new AphrontAjaxResponse())
|
||||||
|
->setContent(array('success' => true));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -11,10 +11,6 @@ final class PholioInlineSaveController extends PholioController {
|
||||||
|
|
||||||
$mock = id(new PholioMockQuery())
|
$mock = id(new PholioMockQuery())
|
||||||
->setViewer($user)
|
->setViewer($user)
|
||||||
->requireCapabilities(
|
|
||||||
array(
|
|
||||||
PhabricatorPolicyCapability::CAN_VIEW
|
|
||||||
))
|
|
||||||
->withIDs(array($request->getInt('mockID')))
|
->withIDs(array($request->getInt('mockID')))
|
||||||
->executeOne();
|
->executeOne();
|
||||||
|
|
||||||
|
@ -46,8 +42,22 @@ final class PholioInlineSaveController extends PholioController {
|
||||||
$draft->setContent($request->getStr('comment'));
|
$draft->setContent($request->getStr('comment'));
|
||||||
|
|
||||||
$draft->save();
|
$draft->save();
|
||||||
|
$inlineID = $draft->getID();
|
||||||
|
|
||||||
|
if ($request->isAjax()) {
|
||||||
|
$inline_view = id(new PholioInlineCommentView())
|
||||||
|
->setInlineComment($draft)
|
||||||
|
->setEditable(true)
|
||||||
|
->setHandle(
|
||||||
|
PhabricatorObjectHandleData::loadOneHandle($user->getPHID()));
|
||||||
|
|
||||||
|
return id(new AphrontAjaxResponse())
|
||||||
|
->setContent(array('contentHTML' => $inline_view->render()));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return id(new AphrontRedirectResponse())->setUri('/M'.$mock->getID());
|
||||||
|
}
|
||||||
|
|
||||||
return id(new AphrontAjaxResponse())->setContent(array());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @group pholio
|
||||||
|
*/
|
||||||
|
final class PholioInlineViewController extends PholioController {
|
||||||
|
|
||||||
|
private $id;
|
||||||
|
|
||||||
|
public function willProcessRequest(array $data) {
|
||||||
|
$this->id = $data['id'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function processRequest() {
|
||||||
|
$request = $this->getRequest();
|
||||||
|
$user = $request->getUser();
|
||||||
|
|
||||||
|
$inline_comment = id(new PholioTransactionComment())->load($this->id);
|
||||||
|
$handle = PhabricatorObjectHandleData::loadOneHandle(
|
||||||
|
$inline_comment->getAuthorPHID());
|
||||||
|
|
||||||
|
$inline_view = id(new PholioInlineCommentView())
|
||||||
|
->setHandle($handle)
|
||||||
|
->setInlineComment($inline_comment);
|
||||||
|
|
||||||
|
if ($inline_comment->getEditPolicy(PhabricatorPolicyCapability::CAN_EDIT)
|
||||||
|
== $user->getPHID() && $inline_comment->getTransactionPHID() === null) {
|
||||||
|
$inline_view->setEditable(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return id(new AphrontAjaxResponse())->setContent(
|
||||||
|
array('contentHTML' => $inline_view->render()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -12,6 +12,7 @@ final class PholioMockQuery
|
||||||
|
|
||||||
private $needCoverFiles;
|
private $needCoverFiles;
|
||||||
private $needImages;
|
private $needImages;
|
||||||
|
private $needInlineComments;
|
||||||
|
|
||||||
public function withIDs(array $ids) {
|
public function withIDs(array $ids) {
|
||||||
$this->ids = $ids;
|
$this->ids = $ids;
|
||||||
|
@ -92,6 +93,11 @@ final class PholioMockQuery
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function needInlineComments($need_inline_comments) {
|
||||||
|
$this->needInlineComments = $need_inline_comments;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
public function loadImages(array $mocks) {
|
public function loadImages(array $mocks) {
|
||||||
assert_instances_of($mocks, 'PholioMock');
|
assert_instances_of($mocks, 'PholioMock');
|
||||||
|
|
||||||
|
@ -105,8 +111,19 @@ final class PholioMockQuery
|
||||||
'phid IN (%Ls)',
|
'phid IN (%Ls)',
|
||||||
$file_phids), null, 'getPHID');
|
$file_phids), null, 'getPHID');
|
||||||
|
|
||||||
|
if ($this->needInlineComments) {
|
||||||
|
$all_inline_comments = id(new PholioTransactionComment())
|
||||||
|
->loadAllWhere('imageid IN (%Ld)',
|
||||||
|
mpull($all_images, 'getID'));
|
||||||
|
$all_inline_comments = mgroup($all_inline_comments, 'getImageID');
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($all_images as $image) {
|
foreach ($all_images as $image) {
|
||||||
$image->attachFile($all_files[$image->getFilePHID()]);
|
$image->attachFile($all_files[$image->getFilePHID()]);
|
||||||
|
if ($this->needInlineComments) {
|
||||||
|
$inlines = idx($all_images, $image->getID(), array());
|
||||||
|
$image->attachInlineComments($inlines);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$image_groups = mgroup($all_images, 'getMockID');
|
$image_groups = mgroup($all_images, 'getMockID');
|
||||||
|
|
|
@ -13,9 +13,24 @@ final class PholioImage extends PholioDAO
|
||||||
protected $name = '';
|
protected $name = '';
|
||||||
protected $description = '';
|
protected $description = '';
|
||||||
protected $sequence;
|
protected $sequence;
|
||||||
|
protected $inlineComments;
|
||||||
|
|
||||||
private $file;
|
private $file;
|
||||||
|
|
||||||
|
public function attachInlineComments(array $inline_comments) {
|
||||||
|
assert_instances_of($inline_comments, 'PholioTransactionComment');
|
||||||
|
$this->inlineComments = $inline_comments;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getInlineComments() {
|
||||||
|
if ($this->inlineComments === null) {
|
||||||
|
throw new Exception("Call attachImages() before getImages()!");
|
||||||
|
}
|
||||||
|
return $this->inlineComments;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -( PhabricatorMarkupInterface )----------------------------------------- */
|
/* -( PhabricatorMarkupInterface )----------------------------------------- */
|
||||||
|
|
||||||
|
|
||||||
|
|
93
src/applications/pholio/view/PholioInlineCommentView.php
Normal file
93
src/applications/pholio/view/PholioInlineCommentView.php
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
final class PholioInlineCommentView extends AphrontView {
|
||||||
|
|
||||||
|
private $inlineComment;
|
||||||
|
|
||||||
|
private $handle;
|
||||||
|
private $editable;
|
||||||
|
|
||||||
|
public function setInlineComment(PholioTransactionComment $inline_comment) {
|
||||||
|
if ($inline_comment->getImageID() === null) {
|
||||||
|
throw new Exception("Comment provided is not inline comment");
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->inlineComment = $inline_comment;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setHandle(PhabricatorObjectHandle $handle) {
|
||||||
|
$this->handle = $handle;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setEditable($editable) {
|
||||||
|
$this->editable = $editable;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render() {
|
||||||
|
if (!$this->inlineComment) {
|
||||||
|
throw new Exception("Call setInlineComment() before render()!");
|
||||||
|
}
|
||||||
|
|
||||||
|
$actions = null;
|
||||||
|
|
||||||
|
if ($this->editable) {
|
||||||
|
$edit_action = javelin_tag(
|
||||||
|
'a',
|
||||||
|
array(
|
||||||
|
'href' => '/pholio/inline/edit/'.$this->inlineComment->getID(),
|
||||||
|
'sigil' => 'inline-edit',
|
||||||
|
'meta' => array(
|
||||||
|
'phid' => $this->inlineComment->getPHID()
|
||||||
|
)
|
||||||
|
),
|
||||||
|
pht('Edit'));
|
||||||
|
|
||||||
|
$delete_action = javelin_tag(
|
||||||
|
'a',
|
||||||
|
array(
|
||||||
|
'href' => '/pholio/inline/delete/'.$this->inlineComment->getID(),
|
||||||
|
'sigil' => 'inline-delete',
|
||||||
|
'meta' => array(
|
||||||
|
'phid' => $this->inlineComment->getPHID()
|
||||||
|
)
|
||||||
|
),
|
||||||
|
pht('Delete'));
|
||||||
|
|
||||||
|
|
||||||
|
$actions = phutil_tag(
|
||||||
|
'span',
|
||||||
|
array(
|
||||||
|
'class' => 'pholio-inline-head-links'
|
||||||
|
),
|
||||||
|
array($edit_action, $delete_action));
|
||||||
|
}
|
||||||
|
|
||||||
|
$comment_header = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'class' => 'pholio-inline-comment-header'
|
||||||
|
),
|
||||||
|
array($this->handle->getName(), $actions));
|
||||||
|
|
||||||
|
$comment_body = phutil_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
|
||||||
|
),
|
||||||
|
$this->inlineComment->getContent());
|
||||||
|
|
||||||
|
$comment_block = javelin_tag(
|
||||||
|
'div',
|
||||||
|
array(
|
||||||
|
'id' => $this->inlineComment->getPHID()."_comment",
|
||||||
|
'class' => 'pholio-inline-comment'
|
||||||
|
),
|
||||||
|
array($comment_header, $comment_body));
|
||||||
|
|
||||||
|
|
||||||
|
return $this->renderSingleView($comment_block);
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ final class PholioMockImagesView extends AphrontView {
|
||||||
|
|
||||||
public function setMock(PholioMock $mock) {
|
public function setMock(PholioMock $mock) {
|
||||||
$this->mock = $mock;
|
$this->mock = $mock;
|
||||||
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function render() {
|
public function render() {
|
||||||
|
|
|
@ -127,7 +127,9 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
var saveURL = "/pholio/inline/save/";
|
var saveURL = "/pholio/inline/save/";
|
||||||
|
|
||||||
var inlineComment = new JX.Request(saveURL, function(r) {
|
var inlineComment = new JX.Request(saveURL, function(r) {
|
||||||
|
JX.DOM.appendContent(
|
||||||
|
JX.$('mock-inline-comments'),
|
||||||
|
JX.$H(r.contentHTML));
|
||||||
});
|
});
|
||||||
|
|
||||||
var commentToAdd = {
|
var commentToAdd = {
|
||||||
|
@ -141,50 +143,8 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
|
|
||||||
inlineComment.addData(commentToAdd);
|
inlineComment.addData(commentToAdd);
|
||||||
inlineComment.send();
|
inlineComment.send();
|
||||||
load_inline_comments();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function forge_inline_comment(data) {
|
|
||||||
var comment_head = data.username;
|
|
||||||
if (data.transactionphid == null) comment_head += " (draft)";
|
|
||||||
|
|
||||||
var links = null;
|
|
||||||
if (data.canEdit && data.transactionphid == null) {
|
|
||||||
links = JX.$N(
|
|
||||||
'span',
|
|
||||||
{
|
|
||||||
className: 'pholio-inline-head-links'
|
|
||||||
},
|
|
||||||
[
|
|
||||||
JX.$N('a',{href: 'http://www.google.fi'},'Edit'),
|
|
||||||
JX.$N('a',{href: 'http://www.google.fi'},'Delete')
|
|
||||||
]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
var comment_header = JX.$N(
|
|
||||||
'div',
|
|
||||||
{
|
|
||||||
className: 'pholio-inline-comment-header'
|
|
||||||
},
|
|
||||||
[comment_head, links]);
|
|
||||||
|
|
||||||
var comment_body = JX.$N(
|
|
||||||
'div',
|
|
||||||
{},
|
|
||||||
data.content);
|
|
||||||
|
|
||||||
var inline_comment = JX.$N(
|
|
||||||
'div',
|
|
||||||
{
|
|
||||||
id: data.phid + "_comment",
|
|
||||||
className: 'pholio-inline-comment'
|
|
||||||
},
|
|
||||||
[comment_header, comment_body]);
|
|
||||||
|
|
||||||
return inline_comment;
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_inline_comments() {
|
function load_inline_comments() {
|
||||||
var data = JX.Stratcom.getData(JX.$(config.mainID));
|
var data = JX.Stratcom.getData(JX.$(config.mainID));
|
||||||
var comment_holder = JX.$('mock-inline-comments');
|
var comment_holder = JX.$('mock-inline-comments');
|
||||||
|
@ -199,8 +159,7 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
'div',
|
'div',
|
||||||
{
|
{
|
||||||
id: r[i].phid + "_selection",
|
id: r[i].phid + "_selection",
|
||||||
className: 'pholio-mock-select-border',
|
className: 'pholio-mock-select-border'
|
||||||
title: r[i].content
|
|
||||||
});
|
});
|
||||||
|
|
||||||
JX.Stratcom.addData(
|
JX.Stratcom.addData(
|
||||||
|
@ -208,7 +167,7 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
{phid: r[i].phid});
|
{phid: r[i].phid});
|
||||||
|
|
||||||
JX.Stratcom.addSigil(inlineSelection, "image_selection");
|
JX.Stratcom.addSigil(inlineSelection, "image_selection");
|
||||||
JX.DOM.appendContent(comment_holder, forge_inline_comment(r[i]));
|
JX.DOM.appendContent(comment_holder, JX.$H(r[i].contentHTML));
|
||||||
|
|
||||||
JX.DOM.appendContent(wrapper, inlineSelection);
|
JX.DOM.appendContent(wrapper, inlineSelection);
|
||||||
|
|
||||||
|
@ -218,7 +177,11 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
if (r[i].transactionphid == null) {
|
if (r[i].transactionphid == null) {
|
||||||
|
|
||||||
var inlineDraft = JX.$N(
|
var inlineDraft = JX.$N(
|
||||||
'div',{className: 'pholio-mock-select-fill'});
|
'div',
|
||||||
|
{
|
||||||
|
className: 'pholio-mock-select-fill',
|
||||||
|
id: r[i].phid + "_fill"
|
||||||
|
});
|
||||||
|
|
||||||
JX.$V(r[i].x, r[i].y).setPos(inlineDraft);
|
JX.$V(r[i].x, r[i].y).setPos(inlineDraft);
|
||||||
JX.$V(r[i].width, r[i].height).setDim(inlineDraft);
|
JX.$V(r[i].width, r[i].height).setDim(inlineDraft);
|
||||||
|
@ -233,6 +196,28 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JX.Stratcom.listen(
|
||||||
|
'click',
|
||||||
|
'inline-delete',
|
||||||
|
function(e) {
|
||||||
|
var data = e.getNodeData('inline-delete');
|
||||||
|
e.kill();
|
||||||
|
JX.DOM.hide(
|
||||||
|
JX.$(data.phid + "_comment"),
|
||||||
|
JX.$(data.phid + "_fill"),
|
||||||
|
JX.$(data.phid + "_selection")
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
JX.Stratcom.listen(
|
||||||
|
'click',
|
||||||
|
'inline-edit',
|
||||||
|
function(e) {
|
||||||
|
e.kill();
|
||||||
|
alert("WIP");
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
JX.Stratcom.listen(
|
JX.Stratcom.listen(
|
||||||
'mouseover',
|
'mouseover',
|
||||||
'image_selection',
|
'image_selection',
|
||||||
|
@ -261,6 +246,3 @@ JX.behavior('pholio-mock-view', function(config) {
|
||||||
|
|
||||||
load_inline_comments();
|
load_inline_comments();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue