diff options
author | Nicolas Hennion <nicolashennion@gmail.com> | 2022-10-16 12:17:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-16 12:17:10 +0200 |
commit | 4cdd2d9f803df6254b769ff3b97fa2d8947b8acd (patch) | |
tree | 0047292c858bc4737a481b0ffa61f317bfb39eec | |
parent | a0006b4a05a6a65d06ffd2b8c2777fcd8d11668b (diff) | |
parent | 5b5db2aa389bd4b4678b829569ab2313f6504937 (diff) |
Merge pull request #2153 from fr4nc0is/2150-now-plugin
added now plugin
22 files changed, 968 insertions, 615 deletions
diff --git a/glances/outputs/static/css/style.scss b/glances/outputs/static/css/style.scss index 502e1b37..ba76e0b5 100644 --- a/glances/outputs/static/css/style.scss +++ b/glances/outputs/static/css/style.scss @@ -20,12 +20,11 @@ body { text-align: right; } -.top-plugin { - margin-bottom: 20px; -} - .plugin { margin-bottom: 20px; + .table:last-child { + margin-bottom: 0; + } } .plugin.table-row-group .table-row:last-child .table-cell { padding-bottom: 20px; @@ -116,7 +115,7 @@ body { white-space: nowrap; } -#quicklook-plugin { +#quicklook { .progress { margin-bottom: 0px; min-width: 100px; diff --git a/glances/outputs/static/js/App.vue b/glances/outputs/static/js/App.vue index 7911fdc8..cd6dcf84 100644 --- a/glances/outputs/static/js/App.vue +++ b/glances/outputs/static/js/App.vue @@ -4,8 +4,8 @@ <div class="loader">Loading...</div> </div> <glances-help v-else-if="args.help_tag"></glances-help> - <div v-else class="container-fluid"> - <div class="top-plugin"> + <main v-else> + <div class="container-fluid"> <div class="row"> <div class="col-sm-24"> <div class="pull-left"> @@ -19,6 +19,8 @@ </div> </div> </div> + </div> + <div class="container-fluid"> <div class="row"> <div class="col-sm-24"> <div class="pull-left"> @@ -26,115 +28,124 @@ </div> </div> </div> - </div> - <div class="row"> - <div class="hidden-xs hidden-sm hidden-md col-lg-6" v-if="!args.disable_quicklook"> - <glances-plugin-quicklook :data="data"></glances-plugin-quicklook> - </div> - <div class="col-sm-6 col-md-8 col-lg-6" v-if="!args.disable_cpu && !args.percpu"> - <glances-plugin-cpu :data="data"></glances-plugin-cpu> - </div> - <div class="col-sm-12 col-md-8 col-lg-6" v-if="!args.disable_cpu && args.percpu"> - <glances-plugin-percpu :data="data"></glances-plugin-percpu> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_gpu && hasGpu"> - <glances-plugin-gpu :data="data"></glances-plugin-gpu> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_mem"> - <glances-plugin-mem :data="data"></glances-plugin-mem> - </div> - <!-- NOTE: display if MEM enabled and GPU disabled --> - <div - v-if="!args.disable_mem && !(!args.disable_gpu && hasGpu)" - class="hidden-xs hidden-sm col-md-4 col-lg-3" - > - <glances-plugin-mem-more :data="data"></glances-plugin-mem-more> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_memswap"> - <glances-plugin-memswap :data="data"></glances-plugin-memswap> - </div> - <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_load"> - <glances-plugin-load :data="data"></glances-plugin-load> + <div class="row"> + <div class="hidden-xs hidden-sm hidden-md col-lg-6" v-if="!args.disable_quicklook"> + <glances-plugin-quicklook :data="data"></glances-plugin-quicklook> + </div> + <div class="col-sm-6 col-md-8 col-lg-6" v-if="!args.disable_cpu && !args.percpu"> + <glances-plugin-cpu :data="data"></glances-plugin-cpu> + </div> + <div class="col-sm-12 col-md-8 col-lg-6" v-if="!args.disable_cpu && args.percpu"> + <glances-plugin-percpu :data="data"></glances-plugin-percpu> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_gpu && hasGpu"> + <glances-plugin-gpu :data="data"></glances-plugin-gpu> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_mem"> + <glances-plugin-mem :data="data"></glances-plugin-mem> + </div> + <!-- NOTE: display if MEM enabled and GPU disabled --> + <div + v-if="!args.disable_mem && !(!args.disable_gpu && hasGpu)" + class="hidden-xs hidden-sm col-md-4 col-lg-3" + > + <glances-plugin-mem-more :data="data"></glances-plugin-mem-more> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_memswap"> + <glances-plugin-memswap :data="data"></glances-plugin-memswap> + </div> + <div class="col-sm-6 col-md-4 col-lg-3" v-if="!args.disable_load"> + <glances-plugin-load :data="data"></glances-plugin-load> + </div> </div> </div> - <div class="row"> - <div class="col-sm-6 sidebar" v-if="!args.disable_left_sidebar"> - <div class="table"> - <glances-plugin-network - id="plugin-network" - class="plugin table-row-group" - v-if="!args.disable_network" - :data="data" - ></glances-plugin-network> - <glances-plugin-connections - id="plugin-connections" - class="plugin table-row-group" - v-if="isLinux && !args.disable_connections" - :data="data" - ></glances-plugin-connections> - <glances-plugin-wifi - id="plugin-wifi" - class="plugin table-row-group" - v-if="!args.disable_wifi" - :data="data" - ></glances-plugin-wifi> - <glances-plugin-ports - id="plugin-ports" - class="plugin table-row-group" - v-if="!args.disable_ports" - :data="data" - ></glances-plugin-ports> - <glances-plugin-diskio - id="plugin-diskio" - class="plugin table-row-group" - v-if="!args.disable_diskio" - :data="data" - ></glances-plugin-diskio> - <glances-plugin-fs - id="plugin-fs" - class="plugin table-row-group" - v-if="!args.disable_fs" - :data="data" - ></glances-plugin-fs> - <glances-plugin-irq - id="plugin-irq" - class="plugin table-row-group" - v-if="args.enable_irq" - :data="data" - ></glances-plugin-irq> - <glances-plugin-folders - id="plugin-folders" - class="plugin table-row-group" - v-if="!args.disable_folders" - :data="data" - ></glances-plugin-folders> - <glances-plugin-raid - id="plugin-raid" - class="plugin table-row-group" - v-if="!args.raid" + <div class="container-fluid"> + <div class="row"> + <div class="col-sm-6 sidebar" v-if="!args.disable_left_sidebar"> + <div class="table"> + <glances-plugin-network + id="plugin-network" + class="plugin table-row-group" + v-if="!args.disable_network" + :data="data" + ></glances-plugin-network> + <glances-plugin-connections + id="plugin-connections" + class="plugin table-row-group" + v-if="isLinux && !args.disable_connections" + :data="data" + ></glances-plugin-connections> + <glances-plugin-wifi + id="plugin-wifi" + class="plugin table-row-group" + v-if="!args.disable_wifi" + :data="data" + ></glances-plugin-wifi> + <glances-plugin-ports + id="plugin-ports" + class="plugin table-row-group" + v-if="!args.disable_ports" + :data="data" + ></glances-plugin-ports> + <glances-plugin-diskio + id="plugin-diskio" + class="plugin table-row-group" + v-if="!args.disable_diskio" + :data="data" + ></glances-plugin-diskio> + <glances-plugin-fs + id="plugin-fs" + class="plugin table-row-group" + v-if="!args.disable_fs" + :data="data" + ></glances-plugin-fs> + <glances-plugin-irq + id="plugin-irq" + class="plugin table-row-group" + v-if="args.enable_irq" + :data="data" + ></glances-plugin-irq> + <glances-plugin-folders + id="plugin-folders" + class="plugin table-row-group" + v-if="!args.disable_folders" + :data="data" + ></glances-plugin-folders> + <glances-plugin-raid + id="plugin-raid" + class="plugin table-row-group" + v-if="!args.raid" + :data="data" + ></glances-plugin-raid> + <glances-plugin-sensors + id="plugin-sensors" + class="plugin table-row-group" + v-if="!args.disable_sensors" + :data="data" + ></glances-plugin-sensors> + </div> + </div> + <div class="col-sm-18"> + <glances-plugin-docker + v-if="!args.disable_docker" :data="data" - ></glances-plugin-raid> - <glances-plugin-sensors - id="plugin-sensors" - class="plugin table-row-group" - v-if="!args.disable_sensors" + ></glances-plugin-docker> + <glances-plugin-process :data="data"></glances-plugin-process> + <glances-plugin-alert + v-if="!args.disable_alert" :data="data" - ></glances-plugin-sensors> + ></glances-plugin-alert> </div> </div> - <div class="col-sm-18"> - <glances-plugin-docker - v-if="!args.disable_docker" - :data="data" - ></glances-plugin-docker> - <glances-plugin-alert - v-if="!args.disable_alert" - :data="data" - ></glances-plugin-alert> - <glances-plugin-process :data="data"></glances-plugin-process> + </div> + <div class="container-fluid"> + <div class="row"> + <div class="col-sm-24"> + <glances-plugin-now :data="data"></glances-plugin-now> + </div> </div> </div> - </div> + </main> </template> <script> @@ -159,6 +170,7 @@ import GlancesPluginMem from './components/plugin-mem.vue'; import GlancesPluginMemMore from './components/plugin-mem-more.vue'; import GlancesPluginMemswap from './components/plugin-memswap.vue'; import GlancesPluginNetwork from './components/plugin-network.vue'; +import GlancesPluginNow from './components/plugin-now.vue'; import GlancesPluginPercpu from './components/plugin-percpu.vue'; import GlancesPluginPorts from './components/plugin-ports.vue'; import GlancesPluginProcess from './components/plugin-process.vue'; @@ -188,6 +200,7 @@ export default { GlancesPluginMemMore, GlancesPluginMemswap, GlancesPluginNetwork, + GlancesPluginNow, GlancesPluginPercpu, GlancesPluginPorts, GlancesPluginProcess, @@ -268,7 +281,7 @@ export default { hotkeys('t', () => { this.store.args.sort_processes_key = 'timemillis'; }); - + // A => Enable/disable AMPs hotkeys('shift+A', () => { this.store.args.disable_amps = !this.store.args.disable_amps; diff --git a/glances/outputs/static/js/components/plugin-alert.vue b/glances/outputs/static/js/components/plugin-alert.vue index 9affe21d..73db0502 100644 --- a/glances/outputs/static/js/components/plugin-alert.vue +++ b/glances/outputs/static/js/components/plugin-alert.vue @@ -1,12 +1,12 @@ <template> - <div> + <div class="plugin"> <section id="alerts"> <span class="title" v-if="hasAlerts"> Warning or critical alerts (last {{ countAlerts }} entries) </span> <span class="title" v-else>No warning or critical alert detected</span> </section> - <section id="alert" class="plugin"> + <section id="alert"> <div class="table"> <div class="table-row" v-for="(alert, alertId) in alerts" :key="alertId"> <div class="table-cell text-left"> diff --git a/glances/outputs/static/js/components/plugin-cloud.vue b/glances/outputs/static/js/components/plugin-cloud.vue index 796cec66..1cebc903 100644 --- a/glances/outputs/static/js/components/plugin-cloud.vue +++ b/glances/outputs/static/js/components/plugin-cloud.vue @@ -1,5 +1,5 @@ <template> - <section id="cloud"> + <section id="cloud" class="plugin" v-if="instance || provider"> <span class="title">{{ provider }}</span> {{ instance }} </section> </template> diff --git a/glances/outputs/static/js/components/plugin-connections.vue b/glances/outputs/static/js/components/plugin-connections.vue index 6b5de96a..5cf65ecd 100644 --- a/glances/outputs/static/js/components/plugin-connections.vue +++ b/glances/outputs/static/js/components/plugin-connections.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="connections"> <div class="table-row"> <div class="table-cell text-left title">TCP CONNECTIONS</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/js/components/plugin-diskio.vue b/glances/outputs/static/js/components/plugin-diskio.vue index 739a3f02..143879f2 100644 --- a/glances/outputs/static/js/components/plugin-diskio.vue +++ b/glances/outputs/static/js/components/plugin-diskio.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="diskio"> <div class="table-row" v-if="disks.length > 0"> <div class="table-cell text-left title">DISK I/O</div> <div class="table-cell" v-show="!args.diskio_iops">R/s</div> diff --git a/glances/outputs/static/js/components/plugin-folders.vue b/glances/outputs/static/js/components/plugin-folders.vue index 69f92526..7e6f704b 100644 --- a/glances/outputs/static/js/components/plugin-folders.vue +++ b/glances/outputs/static/js/components/plugin-folders.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="folders"> <div class="table-row" v-if="folders.length > 0"> <div class="table-cell text-left title">FOLDERS</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/js/components/plugin-fs.vue b/glances/outputs/static/js/components/plugin-fs.vue index eeb0df95..f7dd5880 100644 --- a/glances/outputs/static/js/components/plugin-fs.vue +++ b/glances/outputs/static/js/components/plugin-fs.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="fs"> <div class="table-row"> <div class="table-cell text-left title">FILE SYS</div> <div class="table-cell"> diff --git a/glances/outputs/static/js/components/plugin-ip.vue b/glances/outputs/static/js/components/plugin-ip.vue index 17be6b93..01c9d4c8 100644 --- a/glances/outputs/static/js/components/plugin-ip.vue +++ b/glances/outputs/static/js/components/plugin-ip.vue @@ -1,5 +1,5 @@ <template> - <section id="ip" v-if="address != undefined"> + <section class="plugin" id="ip" v-if="address != undefined"> <span v-if="address != undefined" class="title">IP</span> <span v-if="address != undefined">{{ address }}/{{ maskCdir }}</span> <span v-if="publicAddress != undefined" class="title">Pub</span> diff --git a/glances/outputs/static/js/components/plugin-irq.vue b/glances/outputs/static/js/components/plugin-irq.vue index df093455..174230f3 100644 --- a/glances/outputs/static/js/components/plugin-irq.vue +++ b/glances/outputs/static/js/components/plugin-irq.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="irq"> <div class="table-row" v-if="irqs.length > 0"> <div class="table-cell text-left title">IRQ</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/js/components/plugin-network.vue b/glances/outputs/static/js/components/plugin-network.vue index b4846db5..3eb42bcf 100644 --- a/glances/outputs/static/js/components/plugin-network.vue +++ b/glances/outputs/static/js/components/plugin-network.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="network"> <div class="table-row"> <div class="table-cell text-left title">NETWORK</div> <div class="table-cell" v-show="!args.network_cumul && !args.network_sum">Rx/s</div> diff --git a/glances/outputs/static/js/components/plugin-now.vue b/glances/outputs/static/js/components/plugin-now.vue new file mode 100644 index 00000000..f35688c5 --- /dev/null +++ b/glances/outputs/static/js/components/plugin-now.vue @@ -0,0 +1,20 @@ +<template> + <section id="now" class="plugin"> + <span>{{ value }}</span> + </section> +</template> + +<script> +export default { + props: { + data: { + type: Object + } + }, + computed: { + value() { + return this.data.stats['now']; + } + } +}; +</script>
\ No newline at end of file diff --git a/glances/outputs/static/js/components/plugin-ports.vue b/glances/outputs/static/js/components/plugin-ports.vue index c2801c6a..040a75e5 100644 --- a/glances/outputs/static/js/components/plugin-ports.vue +++ b/glances/outputs/static/js/components/plugin-ports.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="ports"> <div class="table-row" v-for="(port, portId) in ports" :key="portId"> <div class="table-cell text-left"> <!-- prettier-ignore --> diff --git a/glances/outputs/static/js/components/plugin-quicklook.vue b/glances/outputs/static/js/components/plugin-quicklook.vue index aa12f553..1b806275 100644 --- a/glances/outputs/static/js/components/plugin-quicklook.vue +++ b/glances/outputs/static/js/components/plugin-quicklook.vue @@ -1,5 +1,5 @@ <template> - <section id="quicklook-plugin" class="plugin"> + <section id="quicklook" class="plugin"> <div class="cpu-name"> {{ cpu_name }} </div> diff --git a/glances/outputs/static/js/components/plugin-raid.vue b/glances/outputs/static/js/components/plugin-raid.vue index 67c75e82..4c32daf6 100644 --- a/glances/outputs/static/js/components/plugin-raid.vue +++ b/glances/outputs/static/js/components/plugin-raid.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="raid"> <div class="table-row" v-if="hasDisks"> <div class="table-cell text-left title">RAID disks</div> <div class="table-cell">Used</div> diff --git a/glances/outputs/static/js/components/plugin-sensors.vue b/glances/outputs/static/js/components/plugin-sensors.vue index bce35429..d1c44a3b 100644 --- a/glances/outputs/static/js/components/plugin-sensors.vue +++ b/glances/outputs/static/js/components/plugin-sensors.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="sensors"> <div class="table-row" v-if="sensors.length > 0"> <div class="table-cell text-left title">SENSORS</div> </div> diff --git a/glances/outputs/static/js/components/plugin-system.vue b/glances/outputs/static/js/components/plugin-system.vue index 68e4c769..85758164 100644 --- a/glances/outputs/static/js/components/plugin-system.vue +++ b/glances/outputs/static/js/components/plugin-system.vue @@ -1,5 +1,5 @@ <template> - <section id="system"> + <section class="plugin" id="system"> <span v-if="isDisconnected" class="critical">Disconnected from</span> <span class="title">{{ hostname }}</span> <span v-if="isLinux" class="hidden-xs hidden-sm"> diff --git a/glances/outputs/static/js/components/plugin-uptime.vue b/glances/outputs/static/js/components/plugin-uptime.vue index 7b28e9aa..7c72b415 100644 --- a/glances/outputs/static/js/components/plugin-uptime.vue +++ b/glances/outputs/static/js/components/plugin-uptime.vue @@ -1,5 +1,5 @@ <template> - <section id="uptime"> + <section class="plugin" id="uptime"> <span>Uptime: {{ value }}</span> </section> </template> diff --git a/glances/outputs/static/js/components/plugin-wifi.vue b/glances/outputs/static/js/components/plugin-wifi.vue index 6999e1bd..b4d43343 100644 --- a/glances/outputs/static/js/components/plugin-wifi.vue +++ b/glances/outputs/static/js/components/plugin-wifi.vue @@ -1,5 +1,5 @@ <template> - <section> + <section class="plugin" id="wifi"> <div class="table-row" v-if="hotspots.length > 0"> <div class="table-cell text-left title">WIFI</div> <div class="table-cell"></div> diff --git a/glances/outputs/static/package-lock.json b/glances/outputs/static/package-lock.json index d37a91b3..de4c4d07 100644 --- a/glances/outputs/static/package-lock.json +++ b/glances/outputs/static/package-lock.json @@ -7,28 +7,28 @@ "dependencies": { "bootstrap": "^3.4.1", "favico.js": "^0.3.10", - "hotkeys-js": "^3.9.5", + "hotkeys-js": "^3.10.0", "lodash": "^4.17.21", - "sanitize-html": "^2.7.1", - "vue": "^3.2.38" + "sanitize-html": "^2.7.2", + "vue": "^3.2.41" }, "devDependencies": { - "copy-webpack-plugin": "^9.0.1", - "css-loader": "^6.5.1", - "del": "^6.0.0", - "eslint": "^8.23.0", - "eslint-plugin-vue": "^9.4.0", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.7.1", + "del": "^7.0.0", + "eslint": "^8.25.0", + "eslint-plugin-vue": "^9.6.0", "html-webpack-plugin": "^5.5.0", - "less": "^4.0.0", - "less-loader": "^10.2.0", - "sass": "^1.54.5", - "sass-loader": "^12.6.0", + "less": "^4.1.3", + "less-loader": "^11.1.0", + "sass": "^1.55.0", + "sass-loader": "^13.1.0", "style-loader": "^3.3.1", "url-loader": "^4.1.1", "vue-loader": "^17.0.0", - "webpack": "^5.63.0", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.10.0" + "webpack": "^5.74.0", + "webpack-cli": "^4.10.0", + "webpack-dev-server": "^4.11.1" } }, "node_modules/@babel/code-frame": { @@ -147,9 +147,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.13.tgz", - "integrity": "sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -167,9 +167,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz", - "integrity": "sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "dev": |