Changeset View
Changeset View
Standalone View
Standalone View
webroot/rsrc/js/application/transactions/behavior-transaction-list.js
/** | /** | ||||
* @provides javelin-behavior-phabricator-transaction-list | * @provides javelin-behavior-phabricator-transaction-list | ||||
* @requires javelin-behavior | * @requires javelin-behavior | ||||
* javelin-stratcom | * javelin-stratcom | ||||
* javelin-workflow | * javelin-workflow | ||||
* javelin-dom | * javelin-dom | ||||
* javelin-fx | * javelin-fx | ||||
* javelin-util | * javelin-util | ||||
* phabricator-textareautils | |||||
*/ | */ | ||||
JX.behavior('phabricator-transaction-list', function(config) { | JX.behavior('phabricator-transaction-list', function(config) { | ||||
var list = JX.$(config.listID); | var list = JX.$(config.listID); | ||||
var xaction_nodes = null; | var xaction_nodes = null; | ||||
var next_anchor = config.nextAnchor; | var next_anchor = config.nextAnchor; | ||||
▲ Show 20 Lines • Show All 93 Lines • ▼ Show 20 Lines | function(e) { | ||||
JX.Workflow.newFromLink(e.getTarget()) | JX.Workflow.newFromLink(e.getTarget()) | ||||
.setData({anchor: e.getNodeData('transaction').anchor}) | .setData({anchor: e.getNodeData('transaction').anchor}) | ||||
.setHandler(JX.bind(null, edittransaction, transaction)) | .setHandler(JX.bind(null, edittransaction, transaction)) | ||||
.start(); | .start(); | ||||
e.kill(); | e.kill(); | ||||
}); | }); | ||||
JX.DOM.listen( | |||||
list, | |||||
'click', | |||||
'transaction-quote', | |||||
function(e) { | |||||
e.kill(); | |||||
var data = e.getNodeData('transaction-quote'); | |||||
new JX.Workflow(data.uri) | |||||
.setData({ref: data.ref}) | |||||
.setHandler(function(r) { | |||||
var textarea = JX.$(data.targetID); | |||||
JX.DOM.scrollTo(textarea); | |||||
var value = textarea.value; | |||||
if (value.length) { | |||||
value += "\n\n"; | |||||
} | |||||
value += r.quoteText; | |||||
value += "\n\n"; | |||||
textarea.value = value; | |||||
JX.TextAreaUtils.setSelectionRange( | |||||
textarea, | |||||
textarea.value.length, | |||||
textarea.value.length); | |||||
}) | |||||
.start(); | |||||
}); | |||||
JX.Stratcom.listen( | JX.Stratcom.listen( | ||||
['submit', 'didSyntheticSubmit'], | ['submit', 'didSyntheticSubmit'], | ||||
'transaction-append', | 'transaction-append', | ||||
function(e) { | function(e) { | ||||
var form = e.getTarget(); | var form = e.getTarget(); | ||||
if (JX.Stratcom.getData(form).objectPHID != config.objectPHID) { | if (JX.Stratcom.getData(form).objectPHID != config.objectPHID) { | ||||
// This indicates there are several forms on the page, and the user | // This indicates there are several forms on the page, and the user | ||||
// submitted a different one than the one we're in control of. | // submitted a different one than the one we're in control of. | ||||
▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines |