mirror of
https://github.com/Hopiu/webapi-eca.git
synced 2026-04-12 02:41:04 +00:00
129 lines
No EOL
4.1 KiB
HTML
129 lines
No EOL
4.1 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Forge A Rule</title>
|
|
{{{head_requires}}}
|
|
|
|
<script type = "text/template" id="templ_rule">
|
|
{
|
|
"id": "rule_id",
|
|
"event": "custom",
|
|
"condition": { "property": "yourValue" },
|
|
"actions": [
|
|
{
|
|
"module": "probinder->newContent",
|
|
"arguments": {
|
|
"content": "Rule#2: $X.subject"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
{{{div_menubar}}}
|
|
<div id="mainbody">
|
|
<div id="pagetitle">Hi {{user.username}}, forge your own rules!</div>
|
|
<p>
|
|
<form id="form_rule">
|
|
<div id="div_left">
|
|
<input type="hidden" id="command" value="store_rule" />
|
|
<textarea id="textarea_rule" rows="20" cols="60"> </textarea>
|
|
<p id="required_params">
|
|
|
|
</p>
|
|
<p>
|
|
<button id="but_submit">save</button>
|
|
</p>
|
|
</div>
|
|
<div id="div_middle">
|
|
<p><b>Available Event Modules:</b></p>
|
|
<ul> </ul>
|
|
</div>
|
|
<div id="div_right">
|
|
<p><b>Available Action Modules:</b></p>
|
|
<ul> </ul>
|
|
</div>
|
|
</form>
|
|
</p>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$( "#form_rule" ).submit(function( event ) {
|
|
var arrInputs = $( "#form_rule .inp_param" );
|
|
console.log(arrInputs);
|
|
for( var i = 0; i < arrInputs.length; i++) {
|
|
console.log(arrInputs[i]);
|
|
}
|
|
event.preventDefault();
|
|
});
|
|
$('#but_submit').click(function() {
|
|
// var req_fields =
|
|
var obj = {
|
|
command : 'store_rule',
|
|
data: $('#textarea_rule').val()
|
|
};
|
|
$.post('/usercommand', obj)
|
|
// $.post('/usercommand', $('form#rules_form').serialize())
|
|
.done(function(data) {
|
|
$('#required_params').children().remove();
|
|
if(data.success) {
|
|
alert(data.info);
|
|
} else {
|
|
// TODO fix, same logic twice
|
|
console.log(data.actionmodules);
|
|
console.log(data.eventmodules);
|
|
for(var el in data.eventmodules) {
|
|
var oEM = JSON.parse(data.eventmodules[el]);
|
|
console.log(oEM);
|
|
$('#required_params').append($('<p>').html($('<b>Event Module "'+el+'" requires parameters:</b>')));
|
|
for(var eel in oEM){
|
|
var inp = '<b>' + eel + ': </b><input type="password" id="em_'+el+'_'+eel+'" class="inp_param" />('+oEM[eel].description+')';
|
|
$('#required_params').append($('<p>').html(inp));
|
|
}
|
|
}
|
|
for(var el in data.actionmodules) {
|
|
$('#required_params').append($('<p>').html($('<b>Action Module "'+el+'" requires parameters:</b>')));
|
|
var oAM = JSON.parse(data.actionmodules[el]);
|
|
console.log(oAM);
|
|
for(var ael in oAM){
|
|
var inp = '<b>' + ael + ': </b><input type="password" id="am_'+el+'_'+ael+'" class="inp_param" />('+oAM[ael].description+')';
|
|
$('#required_params').append($('<p>').html(inp));
|
|
}
|
|
}
|
|
}
|
|
})
|
|
.fail(function(err) {
|
|
console.log(err);
|
|
alert('Posting of rule failed: ' + err.responseText);
|
|
});
|
|
});
|
|
// TODO fix, same logic twice
|
|
$.post('/usercommand', { command: 'get_eventmodules' })
|
|
.done(function(data) {
|
|
for(var mod in data) {
|
|
var mthds = data[mod].methods;
|
|
if(mthds) {
|
|
var arr = mthds.split(',');
|
|
for(var i = 0; i < arr.length; i++) {
|
|
$('#div_middle ul').append($('<li>').text(mod + '->' + arr[i]));
|
|
}
|
|
}
|
|
}
|
|
});
|
|
$.post('/usercommand', { command: 'get_actionmodules' })
|
|
.done(function(data) {
|
|
for(var mod in data) {
|
|
var mthds = data[mod].methods;
|
|
if(mthds) {
|
|
var arr = mthds.split(',');
|
|
for(var i = 0; i < arr.length; i++) {
|
|
$('#div_right ul').append($('<li>').text(mod + '->' + arr[i]));
|
|
}
|
|
}
|
|
}
|
|
});
|
|
$('#textarea_rule').val($('#templ_rule').html());
|
|
</script>
|
|
</body>
|
|
</html> |