forked from jc7447/BetterDynAdmin
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbda.actor.js
88 lines (81 loc) · 3.08 KB
/
bda.actor.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
(function($) {
"use strict";
var BDA_ACTOR = {
build : function()
{
console.time("bdaActor");
BDA_ACTOR.isActorChainPage = BDA_ACTOR.isActorChainPageFct();
if (BDA_ACTOR.isActorChainPage)
BDA_ACTOR.createActorCaller();
console.timeEnd("bdaActor");
},
isActorChainPageFct : function()
{
return $("h2:contains('Actor Chain:')").length == 1 && document.URL.indexOf('chainId=') != -1;
},
createActorCaller : function()
{
var componentPathName = getCurrentComponentPath();
var tableActor = $('table:first');
var tableActorHeaderRow = tableActor.find('tr:first');
var tableActorHeaderColumns = tableActorHeaderRow.find('th');
var tableActorHeaderColumnsCount = tableActorHeaderColumns.length;
var tableActorDataRow = tableActor.find('tr:eq(1)');
var tableActorDataRowCells = tableActorDataRow.find('td');
var actorChainIdValue = $("h2:contains('Actor Chain:')").text().replace("Actor Chain: ", "");
var inputsHeader = tableActorHeaderColumns.filter(function(index, element){
return $(element).text() === "Inputs";
});
var inputsIndex = $(inputsHeader).index();
var tableInputs = $(tableActorDataRow.children().get(inputsIndex)).children().get(0);
var inputs = [];
if(tableInputs !== undefined)
{
var inputRows = $(tableInputs).find('tr');
var inputsSize = inputRows.length;
for(var i = 1; i < inputsSize; i++)
{
var inputRow = $(inputRows.get(i));
var name = $(inputRow.children().get(0));
var value = $(inputRow.children().get(1));
var isNucleus = value.text().indexOf("nucleus") != -1;
if(!isNucleus)
{
inputs.push(name.text());
}
}
}
var inputsHTML = "";
for(var input in inputs)
{
inputsHTML += inputs[input] + " <textarea name='" + inputs[input] + "'></textarea><br />";
}
var url = window.location.origin + '/rest/model' + componentPathName + actorChainIdValue;
logTrace(url);
var actorChainCallHtml = "<div id='actorChainCall' border>"
+ "<h2>Call actor</h2>"
+ "<a href='javascript:void(0)' id='copyChainUrl'>Copy URL to clipboard</a>";
if (inputs.length > 0)
actorChainCallHtml += "<br />Post parameters are " + inputs + "<br />";
actorChainCallHtml += "<form method='POST' action='/rest/model" + componentPathName + actorChainIdValue + "'>"
+ inputsHTML
+ "<button type='submit'>Call <i class='fa fa-play fa-x'></button>"
+ "</form></div>";
tableActor.after(actorChainCallHtml);
$("#copyChainUrl").click(function(){
copyToClipboard(url);
});
},
};
// Reference to BDA
var BDA;
// Jquery plugin creation
$.fn.bdaActor = function(pBDA)
{
console.log('Init plugin {0}'.format('bdaActor'));
//settings = $.extend({}, defaults, options);
BDA = pBDA;
BDA_ACTOR.build();
return this;
};
})(jQuery);