From b1c04f9f6f4514de80bdc01dc28bd1c40d1abc9d Mon Sep 17 00:00:00 2001 From: root Date: Sat, 17 Feb 2024 03:18:03 -0500 Subject: [PATCH] Created form component for each ARE rule. --- extensions/admin_ui/api/handler.rb | 1 + .../javascript/ui/panel/AutoRunRuleForm.js | 30 +++++++++++++++++++ .../media/javascript/ui/panel/AutoRunTab.js | 6 ++-- 3 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 extensions/admin_ui/media/javascript/ui/panel/AutoRunRuleForm.js diff --git a/extensions/admin_ui/api/handler.rb b/extensions/admin_ui/api/handler.rb index 7f25af979..284d1d16c 100644 --- a/extensions/admin_ui/api/handler.rb +++ b/extensions/admin_ui/api/handler.rb @@ -91,6 +91,7 @@ module BeEF ui/panel/Logout.js ui/panel/WelcomeTab.js ui/panel/AutoRunTab.js + ui/panel/AutoRunRuleForm.js ui/panel/ModuleSearching.js ] diff --git a/extensions/admin_ui/media/javascript/ui/panel/AutoRunRuleForm.js b/extensions/admin_ui/media/javascript/ui/panel/AutoRunRuleForm.js new file mode 100644 index 000000000..3ba7080c1 --- /dev/null +++ b/extensions/admin_ui/media/javascript/ui/panel/AutoRunRuleForm.js @@ -0,0 +1,30 @@ + +/** + * Form for the user to read, update and delete a specific Auto Run rule. + * + * rule: The object definition of this rule from the Auto Run Engine. + * deleteFn: callback function to delete this rule. + * updateFn: callback function to update this rule. + */ +AutoRunRuleForm = function(rule, deleteFn, updateFn) { + + AutoRunRuleForm.superclass.constructor.call(this, { + padding:'10 10 10 10', + items: [{ + xtype: 'textfield', + value: rule.name ? rule.name : '', + fieldLabel: 'Name', + }], + buttons: [{ + text: 'Delete', + handler: deleteFn + }, { + text: 'Save', + handler: updateFn + }], + border: false, + closable: false + }); +}; + +Ext.extend(AutoRunRuleForm, Ext.FormPanel, {}); \ No newline at end of file diff --git a/extensions/admin_ui/media/javascript/ui/panel/AutoRunTab.js b/extensions/admin_ui/media/javascript/ui/panel/AutoRunTab.js index 75409ad13..9c29e1a9b 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/AutoRunTab.js +++ b/extensions/admin_ui/media/javascript/ui/panel/AutoRunTab.js @@ -55,10 +55,10 @@ AutoRunTab = function() { container.update(`

Number of Auto Run rules enabled: ${rules.length}.

`); for (let i = 0; i < rules.length; i++) { - ruleTitle = document.createElement('h4'); - ruleTitle.innerHTML = rules[i].name ? rules[i].name : `Rule ${i + 1}`; - container.getEl().appendChild(ruleTitle); + ruleForm = new AutoRunRuleForm(rules[i], function() {console.log('delete')}, function() {console.log('update')}); + container.add(ruleForm); } + container.doLayout(); } else { container.update("

Failed to load Auto Run rules.

"); }