From 1ff983a03b172730334522b707ed87d710fecd68 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ga=C3=ABl=20M=C3=A9tais?=
Date: Fri, 22 May 2015 17:44:54 +0200
Subject: [PATCH] Add specific sub-filters on warnings in the timeline
---
front/src/css/timeline.css | 26 +++++++++++++--
front/src/js/controllers/timelineCtrl.js | 8 +++++
.../src/js/directives/offendersDirectives.js | 15 ++++++++-
front/src/less/timeline.less | 33 +++++++++++++++++--
front/src/views/timeline.html | 25 ++++++++++++--
lib/tools/jsExecutionTransformer.js | 6 ++--
6 files changed, 102 insertions(+), 11 deletions(-)
diff --git a/front/src/css/timeline.css b/front/src/css/timeline.css
index 2816533..9ecf796 100644
--- a/front/src/css/timeline.css
+++ b/front/src/css/timeline.css
@@ -143,6 +143,10 @@
border: 1px dotted #aaa;
text-align: left;
}
+.subFilters {
+ margin-left: 3em;
+ font-size: 0.9em;
+}
.table {
display: table;
width: 100%;
@@ -306,9 +310,27 @@
color: #e74c3c;
cursor: pointer;
}
-.warningsFilterOn > div {
+.queryWithoutResultsFilterOn > div {
display: none;
}
-.warningsFilterOn > div.warning {
+.queryWithoutResultsFilterOn > div.queryWithoutResults {
+ display: table-row;
+}
+.jQueryCallOnEmptyObjectFilterOn > div {
+ display: none;
+}
+.jQueryCallOnEmptyObjectFilterOn > div.jQueryCallOnEmptyObject {
+ display: table-row;
+}
+.eventNotDelegatedFilterOn > div {
+ display: none;
+}
+.eventNotDelegatedFilterOn > div.eventNotDelegated {
+ display: table-row;
+}
+.jsErrorFilterOn > div {
+ display: none;
+}
+.jsErrorFilterOn > div.jsError {
display: table-row;
}
diff --git a/front/src/js/controllers/timelineCtrl.js b/front/src/js/controllers/timelineCtrl.js
index 3887ff1..0dac9eb 100644
--- a/front/src/js/controllers/timelineCtrl.js
+++ b/front/src/js/controllers/timelineCtrl.js
@@ -4,6 +4,14 @@ timelineCtrl.controller('TimelineCtrl', ['$scope', '$rootScope', '$routeParams',
$scope.runId = $routeParams.runId;
$scope.Menu = Menu.setCurrentPage('timeline', $scope.runId);
+ $scope.warningsFilterOn = false;
+ $scope.warningsFilters = {
+ queryWithoutResults: true,
+ jQueryCallOnEmptyObject: true,
+ eventNotDelegated: true,
+ jsError: true
+ };
+
function loadResults() {
// Load result if needed
if (!$rootScope.loadedResult || $rootScope.loadedResult.runId !== $routeParams.runId) {
diff --git a/front/src/js/directives/offendersDirectives.js b/front/src/js/directives/offendersDirectives.js
index df2b35c..0eb0693 100644
--- a/front/src/js/directives/offendersDirectives.js
+++ b/front/src/js/directives/offendersDirectives.js
@@ -766,10 +766,23 @@
element.append(getProfilerLineHTML(scope.index, scope.node));
element[0].id = 'line_' + scope.index;
- if (scope.node.warning || scope.node.error) {
+ if (scope.node.warning) {
element[0].classList.add('warning');
+
+ if (scope.node.queryWithoutResults) {
+ element[0].classList.add('queryWithoutResults');
+ }
+
+ if (scope.node.jQueryCallOnEmptyObject) {
+ element[0].classList.add('jQueryCallOnEmptyObject');
+ }
+
+ if (scope.node.eventNotDelegated) {
+ element[0].classList.add('eventNotDelegated');
+ }
}
+
// Bind click on the details icon
var detailsIcon = element[0].querySelector('.details div');
if (detailsIcon) {
diff --git a/front/src/less/timeline.less b/front/src/less/timeline.less
index 1968752..ab9bd80 100644
--- a/front/src/less/timeline.less
+++ b/front/src/less/timeline.less
@@ -162,6 +162,11 @@
text-align: left;
}
+.subFilters {
+ margin-left: 3em;
+ font-size: 0.9em;
+}
+
.table {
display: table;
width: 100%;
@@ -346,10 +351,34 @@
color: #e74c3c;
cursor: pointer;
}
-.warningsFilterOn {
+.queryWithoutResultsFilterOn {
> div {
display: none;
- &.warning {
+ &.queryWithoutResults {
+ display: table-row;
+ }
+ }
+}
+.jQueryCallOnEmptyObjectFilterOn {
+ > div {
+ display: none;
+ &.jQueryCallOnEmptyObject {
+ display: table-row;
+ }
+ }
+}
+.eventNotDelegatedFilterOn {
+ > div {
+ display: none;
+ &.eventNotDelegated {
+ display: table-row;
+ }
+ }
+}
+.jsErrorFilterOn {
+ > div {
+ display: none;
+ &.jsError {
display: table-row;
}
}
diff --git a/front/src/views/timeline.html b/front/src/views/timeline.html
index 497340e..e0bc1e0 100644
--- a/front/src/views/timeline.html
+++ b/front/src/views/timeline.html
@@ -60,11 +60,30 @@
+ {{queryWithoutResultsFilterOn}}
-