mirror of
https://github.com/ntop/ntopng.git
synced 2026-04-29 15:39:33 +00:00
98 lines
2.6 KiB
Vue
98 lines
2.6 KiB
Vue
<!-- (C) 2022 - ntop.org -->
|
|
<template>
|
|
<modal @showed="showed()" ref="modal_id">
|
|
<template v-slot:title>{{title}}</template>
|
|
<template v-slot:body>
|
|
{{ body }}
|
|
<NoteList v-if="show_note_list"
|
|
:note_list="note_list">
|
|
</NoteList>
|
|
</template>
|
|
<template v-slot:footer>
|
|
<template v-if="delete_type == 'delete_all' || delete_type == 'delete_single_row' || delete_type == 'delete_single_report'">
|
|
<button type="button" @click="delete_" class="btn btn-danger">{{_i18n('delete')}}</button>
|
|
</template>
|
|
<template v-else>
|
|
<button type="button" @click="delete_" class="btn btn-primary">{{_i18n('hosts_stats.page_scan_hosts.schedule_scan')}}</button>
|
|
|
|
</template>
|
|
</template>
|
|
</modal>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref, onMounted, computed, watch } from "vue";
|
|
import { default as modal } from "./modal.vue";
|
|
import { default as NoteList } from "./note-list.vue";
|
|
|
|
const modal_id = ref(null);
|
|
const emit = defineEmits(['delete','delete_all']);
|
|
|
|
const showed = () => {};
|
|
|
|
const props = defineProps({
|
|
body: String,
|
|
title: String,
|
|
});
|
|
const body = ref('');
|
|
const title = ref('');
|
|
const delete_type = ref('');
|
|
const show_note_list = ref(true);
|
|
const note_list = [
|
|
i18n('note_scan_host')
|
|
];
|
|
|
|
const show = (type, value) => {
|
|
show_note_list.value = false;
|
|
delete_type.value = type
|
|
|
|
if(type == "delete_all") {
|
|
title.value = i18n("delete_all_entries");
|
|
body.value = value;
|
|
} else if(type == "delete_single_row") {
|
|
title.value = i18n("delete_vs_host_title");
|
|
body.value = value;
|
|
} else if(type == "scan_all_rows") {
|
|
title.value = i18n("scan_all_hosts_title");
|
|
body.value = value;
|
|
} else if(type == "scan_row") {
|
|
show_note_list.value = true;
|
|
title.value = i18n("scan_host_title");
|
|
body.value = value;
|
|
} else if (type == "delete_single_report") {
|
|
title.value = i18n("hosts_stats.page_scan_hosts.reports_page.delete_title");
|
|
body.value = i18n("hosts_stats.page_scan_hosts.reports_page.delete_description");
|
|
}
|
|
|
|
modal_id.value.show();
|
|
};
|
|
|
|
const delete_ = () => {
|
|
if (delete_type.value == "delete_all") {
|
|
emit('delete_all');
|
|
} else if ( delete_type.value == "delete_single_row" || delete_type.value == "delete_single_report") {
|
|
emit('delete');
|
|
} else if (delete_type.value == "scan_all_rows") {
|
|
emit('scan_all_rows');
|
|
} else if (delete_type.value == "scan_row") {
|
|
emit('scan_row');
|
|
}
|
|
close();
|
|
};
|
|
|
|
const close = () => {
|
|
modal_id.value.close();
|
|
};
|
|
|
|
|
|
defineExpose({ show, close });
|
|
|
|
onMounted(() => {
|
|
});
|
|
|
|
const _i18n = (t) => i18n(t);
|
|
|
|
</script>
|
|
|
|
<style scoped>
|
|
</style>
|