diff options
author | Matthias <ilovemilk@wusa.io> | 2020-04-13 19:57:10 +0300 |
---|---|---|
committer | Matthias <ilovemilk@wusa.io> | 2020-04-13 19:57:10 +0300 |
commit | 6f3f5d1cc6a020615ebc2f2bd2489a8f72de6eaa (patch) | |
tree | cd1bf7c9dec7708a0f51e05d4e85bb50dd8d791a | |
parent | 3fb91cdaae51b0096a1c21bc254e7b3e478b8509 (diff) |
add icons and styling
-rw-r--r-- | lib/Controller/FileOperationController.php | 12 | ||||
-rw-r--r-- | src/components/FileOperationsTable.vue | 41 |
2 files changed, 33 insertions, 20 deletions
diff --git a/lib/Controller/FileOperationController.php b/lib/Controller/FileOperationController.php index f47d301..ce1ef86 100644 --- a/lib/Controller/FileOperationController.php +++ b/lib/Controller/FileOperationController.php @@ -22,6 +22,7 @@ namespace OCA\RansomwareDetection\Controller; use OCA\RansomwareDetection\Monitor; +use OCA\RansomwareDetection\Classifier; use OCA\RansomwareDetection\AppInfo\Application; use OCA\RansomwareDetection\Db\FileOperation; use OCA\RansomwareDetection\Service\FileOperationService; @@ -54,6 +55,9 @@ class FileOperationController extends Controller /** @var FileOperationService */ protected $service; + /** @var Classifier */ + protected $classifier; + /** @var string */ protected $userId; @@ -75,6 +79,7 @@ class FileOperationController extends Controller ILogger $logger, Folder $userFolder, FileOperationService $service, + Classifier $classifier, $userId ) { parent::__construct($appName, $request); @@ -84,6 +89,7 @@ class FileOperationController extends Controller $this->userFolder = $userFolder; $this->logger = $logger; $this->service = $service; + $this->classifier = $classifier; $this->userId = $userId; } @@ -99,6 +105,10 @@ class FileOperationController extends Controller { $files = $this->service->findAll(); + foreach ($files as $file) { + $this->classifier->classifyFile($file); + } + return new JSONResponse($files, Http::STATUS_OK); } @@ -114,6 +124,8 @@ class FileOperationController extends Controller { $file = $this->service->find($id); + $this->classifier->classifyFile($file); + return new JSONResponse($file, Http::STATUS_OK); } diff --git a/src/components/FileOperationsTable.vue b/src/components/FileOperationsTable.vue index a4db953..e5e1af0 100644 --- a/src/components/FileOperationsTable.vue +++ b/src/components/FileOperationsTable.vue @@ -15,6 +15,7 @@ import '@vaadin/vaadin-grid/vaadin-grid-sort-column.js'; import '@vaadin/vaadin-grid/vaadin-grid-column.js'; import '@polymer/iron-icon/iron-icon.js'; import '@polymer/iron-icons/iron-icons.js'; +import '@polymer/iron-icons/editor-icons.js'; import '../webcomponents/ransomware-icons' import 'time-elements/dist/time-elements'; import moment from 'moment' @@ -48,23 +49,25 @@ export default { mounted () { document.querySelector('#status').renderer = (root, grid, rowData) => { const icon = document.createElement('iron-icon'); - switch (rowData.item.status) { - case 0: - icon.setAttribute('icon', 'ransomware:timelapse'); - icon.style = "color: blue;"; - break; - case 1: - icon.setAttribute('icon', 'verified-user'); - icon.style = "color: green;"; - break; - case 2: - icon.setAttribute('icon', 'error'); - icon.style = "color: red;"; - break; - default: - icon.setAttribute('icon', 'ransomware:timelapse'); - icon.style = "color: blue;"; - break; + if (rowData.item.suspicionClass > 1) { + icon.setAttribute('icon', 'ransomware:locked'); + icon.style = "color: #ED0012;" + } else if (rowData.item.suspicionClass == 1) { + if (rowData.item.type == "folder") { + icon.setAttribute('icon', 'folder'); + } + if (rowData.item.type == "file") { + icon.setAttribute('icon', 'editor:insert-drive-file'); + } + icon.style = "color: #7ED221;" + } else { + if (rowData.item.type == "folder") { + icon.setAttribute('icon', 'folder'); + } + if (rowData.item.type == "file") { + icon.setAttribute('icon', 'editor:insert-drive-file'); + } + icon.style = "color: #9B9A9B;" } root.innerHTML = ''; root.appendChild(icon); @@ -79,6 +82,7 @@ export default { } document.querySelector('#operation').renderer = (root, grid, rowData) => { + root.style = "color: #878787;" switch (rowData.item.command) { case 1: if (rowData.item.type == 'file') { @@ -128,7 +132,4 @@ export default { vaadin-grid { border: none; } - .operation { - color: #878787 !important; - } </style>
\ No newline at end of file |