Move active monitoring dialogs to template files (#3929)

This commit is contained in:
Emanuele Faranda 2020-05-13 15:22:00 +00:00 committed by GitHub
parent 77a32cb19b
commit ac03865c01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 189 additions and 145 deletions

View file

@ -0,0 +1,59 @@
<div id='am-add-modal' class="modal fade" tabindex="-1" role="dialog">
<form method="post" id='am-add-form'>
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">{{ dialog.add_record }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body container-fluid">
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.measurement }}</label>
<div class="col-sm-5">
{* dialog.add_measurement_select *}
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.am_host }}</label>
<div class="col-sm-5">
<input placeholder="yourhostname.org" required id="input-add-host" type="text" name="host" class="form-control measurement-host" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.periodicity }}</label>
<div class="col-sm-5">
{* dialog.add_granularity_select *}
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.threshold }}</label>
<div class="col-sm-5">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text measurement-operator"></span>
</div>
<input required id="input-add-threshold" value="100" name="threshold" type="number" class="form-control rounded-right measurement-threshold" min="1" max="10000">
<span class="my-auto ml-1 measurement-unit"></span>
</div>
</div>
</div>
<div id='script-description' class='alert alert-light' role='alert'>
{{ dialog.notes }}
<ul>
<li>{{ dialog.note_icmp }}</li>
<li>{{ dialog.note_http }}</li>
<li>{{ dialog.note_alert }}</li>
</ul>
</div>
<span class="invalid-feedback"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ dialog.cancel }}</button>
<button type="submit" class="btn btn-primary">{{ dialog.add }}</button>
</div>
</div>
</div>
</form>
</div>

View file

@ -0,0 +1,24 @@
<div id='am-delete-modal' class="modal fade" tabindex="-1" role="dialog">
<form id='am-delete-form'>
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">{{ dialog.delete }}: <span id="delete-host"></span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>
{{ dialog.confirm_delete }}
</p>
<span class="invalid-feedback"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ dialog.cancel }}</button>
<button id="btn-delete-am" type="submit" class="btn btn-danger">{{ dialog.delete }}</button>
</div>
</div>
</div>
</form>
</div>

View file

@ -0,0 +1,61 @@
<div id='am-edit-modal' class="modal fade" tabindex="-1" role="dialog">
<form method="post" id='am-edit-form'>
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">{{ dialog.edit_record }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body container-fluid">
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.measurement }}</label>
<div class="col-sm-5">
{* dialog.edit_measurement_select *}
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.am_host }}</label>
<div class="col-sm-5">
<input placeholder="yourhostname.org" required id="input-edit-host" type="text" name="host" class="form-control measurement-host" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.periodicity }}</label>
<div class="col-sm-5">
{* dialog.edit_granularity_select *}
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">{{ dialog.threshold }}</label>
<div class="col-sm-5">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text measurement-operator"></span>
</div>
<input required id="input-edit-threshold" name="threshold" type="number" class="form-control rounded-right measurement-threshold" min="10" max="10000">
<span class="my-auto ml-1 measurement-unit"></span>
</div>
</div>
</div>
<div id='script-description' class='alert alert-light' role='alert'>
{{ dialog.notes }}
<ul>
<li>{{ dialog.note_icmp }}</li>
<li>{{ dialog.note_http }}</li>
<li>{{ dialog.note_alert }}</li>
<li>{{ dialog.note_periodicity_change }}</li>
</ul>
</div>
<span class="invalid-feedback"></span>
</div>
<div class="modal-footer">
<button id="btn-reset-defaults" type="button" class="btn btn-danger mr-auto">{{ dialog.reset }}</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ dialog.cancel }}</button>
<button type="submit" class="btn btn-primary">{{ dialog.apply }}</button>
</div>
</div>
</div>
</form>
</div>

View file

@ -157,155 +157,55 @@ if(page == "overview") then
</table>
</div>
</div>
</div>
</div>]])
<div id='am-edit-modal' class="modal fade" tabindex="-1" role="dialog">
<form method="post" id='am-edit-form'>
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">]] .. i18n("active_monitoring_stats.edit_record") .. [[</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body container-fluid">
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("active_monitoring_stats.measurement") .. [[</label>
<div class="col-sm-5">
]].. generate_select("select-edit-measurement", "measurement", true, false, {}, "measurement-select") ..[[
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("about.host_callbacks_directory") .. [[</label>
<div class="col-sm-5">
<input placeholder="yourhostname.org" required id="input-edit-host" type="text" name="host" class="form-control measurement-host" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("internals.periodicity") .. [[</label>
<div class="col-sm-5">
]].. generate_select("select-edit-granularity", "granularity", true, false, {}, "measurement-granularity") ..[[
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("threshold") .. [[</label>
<div class="col-sm-5">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text measurement-operator"></span>
</div>
<input required id="input-edit-threshold" name="threshold" type="number" class="form-control rounded-right measurement-threshold" min="10" max="10000">
<span class="my-auto ml-1 measurement-unit"></span>
</div>
</div>
</div>
<div id='script-description' class='alert alert-light' role='alert'>
]] .. i18n("notes") ..[[
<ul>
<li>]] .. i18n("active_monitoring_stats.am_note_icmp") ..[[</li>
<li>]] .. i18n("active_monitoring_stats.am_note_http") ..[[</li>
<li>]] .. i18n("active_monitoring_stats.note_alert") ..[[</li>
<li>]] .. i18n("active_monitoring_stats.note_periodicity_change") ..[[</li>
</ul>
</div>
<span class="invalid-feedback"></span>
</div>
<div class="modal-footer">
<button id="btn-reset-defaults" type="button" class="btn btn-danger mr-auto">]] .. i18n("reset") .. [[</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">]] .. i18n("cancel") .. [[</button>
<button type="submit" class="btn btn-primary">]] .. i18n("apply") .. [[</button>
</div>
</div>
</div>
</form>
</div>
print(plugins_utils.renderTemplate("active_monitoring", "am_edit_host_modal.html", {
dialog = {
measurement = i18n("active_monitoring_stats.measurement"),
edit_measurement_select = generate_select("select-edit-measurement", "measurement", true, false, {}, "measurement-select"),
am_host = i18n("about.host_callbacks_directory"),
periodicity = i18n("internals.periodicity"),
edit_granularity_select = generate_select("select-edit-granularity", "granularity", true, false, {}, "measurement-granularity"),
edit_record = i18n("active_monitoring_stats.edit_record"),
notes = i18n("notes"),
note_icmp = i18n("active_monitoring_stats.am_note_icmp"),
note_http = i18n("active_monitoring_stats.am_note_http"),
note_alert = i18n("active_monitoring_stats.note_alert"),
note_periodicity_change = i18n("active_monitoring_stats.note_periodicity_change"),
reset = i18n("reset"),
apply = i18n("apply"),
cancel = i18n("cancel"),
threshold = i18n("threshold"),
}
}))
<div id='am-add-modal' class="modal fade" tabindex="-1" role="dialog">
<form method="post" id='am-add-form'>
<div class="modal-dialog modal-lg modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">]] .. i18n("active_monitoring_stats.add_record") .. [[</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body container-fluid">
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("active_monitoring_stats.measurement") .. [[</label>
<div class="col-sm-5">
]] .. generate_select("select-add-measurement", "measurement", true, false, {}, "measurement-select") ..[[
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("about.host_callbacks_directory") .. [[</label>
<div class="col-sm-5">
<input placeholder="yourhostname.org" required id="input-add-host" type="text" name="host" class="form-control measurement-host" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("internals.periodicity") .. [[</label>
<div class="col-sm-5">
]].. generate_select("select-add-granularity", "granularity", true, false, {}, "measurement-granularity") ..[[
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">]] .. i18n("threshold") .. [[</label>
<div class="col-sm-5">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text measurement-operator"></span>
</div>
<input required id="input-add-threshold" value="100" name="threshold" type="number" class="form-control rounded-right measurement-threshold" min="1" max="10000">
<span class="my-auto ml-1 measurement-unit"></span>
</div>
</div>
</div>
<div id='script-description' class='alert alert-light' role='alert'>
]] .. i18n("notes") ..[[
<ul>
<li>]] .. i18n("active_monitoring_stats.am_note_icmp") ..[[</li>
<li>]] .. i18n("active_monitoring_stats.am_note_http") ..[[</li>
<li>]] .. i18n("active_monitoring_stats.note_alert") ..[[</li>
</ul>
</div>
<span class="invalid-feedback"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">]] .. i18n("cancel") .. [[</button>
<button type="submit" class="btn btn-primary">]] .. i18n("add") .. [[</button>
</div>
</div>
</div>
</form>
</div>
print(plugins_utils.renderTemplate("active_monitoring", "am_add_host_modal.html", {
dialog = {
add_record = i18n("active_monitoring_stats.add_record"),
measurement = i18n("active_monitoring_stats.measurement"),
add_measurement_select = generate_select("select-add-measurement", "measurement", true, false, {}, "measurement-select"),
am_host = i18n("about.host_callbacks_directory"),
periodicity = i18n("internals.periodicity"),
add_granularity_select = generate_select("select-add-granularity", "granularity", true, false, {}, "measurement-granularity"),
threshold = i18n("threshold"),
notes = i18n("notes"),
note_icmp = i18n("active_monitoring_stats.am_note_icmp"),
note_http = i18n("active_monitoring_stats.am_note_http"),
note_alert = i18n("active_monitoring_stats.note_alert"),
cancel = i18n("cancel"),
add = i18n("add"),
}
}))
<div id='am-delete-modal' class="modal fade" tabindex="-1" role="dialog">
<form id='am-delete-form'>
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">]] .. i18n("delete") .. [[: <span id="delete-host"></span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p>
]] .. i18n("active_monitoring_stats.confirm_delete") .. [[
</p>
<span class="invalid-feedback"></span>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">]] .. i18n("cancel") .. [[</button>
<button id="btn-delete-am" type="submit" class="btn btn-danger">]] .. i18n("delete") .. [[</button>
</div>
</div>
</div>
</form>
</div>
print(plugins_utils.renderTemplate("active_monitoring", "am_delete_host_modal.html", {
dialog = {
confirm_delete = "active_monitoring_stats.confirm_delete",
delete = i18n("delete"),
cancel = i18n("cancel"),
}
}))
print([[
<div style="margin-bottom: 1rem">
<form action="]] .. ntop.getHttpPrefix() .. [[/plugins/get_active_monitoring_config.lua" class="form-inline" method="GET">
<button type="submit" class="btn btn-secondary"><span>]] .. i18n('config_scripts.config_export') .. [[</span></button>