diff --git a/.gitignore b/.gitignore index 8d078e8..37db380 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,6 @@ node_modules bower_components .vagrant results/* -coverage \ No newline at end of file +coverage + +har.json \ No newline at end of file diff --git a/app/node_views/results.html b/app/node_views/results.html index de5816e..9386d79 100644 --- a/app/node_views/results.html +++ b/app/node_views/results.html @@ -6,9 +6,10 @@ + - +

Yellow Lab Tools

@@ -45,16 +46,18 @@
@@ -64,9 +67,16 @@
DOM read and write
@@ -76,7 +86,8 @@
@@ -87,7 +98,8 @@
@@ -98,19 +110,22 @@
@@ -121,10 +136,10 @@
@@ -136,10 +151,11 @@
@@ -150,28 +166,36 @@
@@ -182,31 +206,39 @@
@@ -217,22 +249,28 @@
diff --git a/app/public/fonts/icons.woff b/app/public/fonts/icons.woff index 31de2c7..51197d5 100644 Binary files a/app/public/fonts/icons.woff and b/app/public/fonts/icons.woff differ diff --git a/app/public/fonts/svg-icons/eye.svg b/app/public/fonts/svg-icons/eye.svg new file mode 100755 index 0000000..59ff3c2 --- /dev/null +++ b/app/public/fonts/svg-icons/eye.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/public/scripts/app.js b/app/public/scripts/app.js index 7742ca8..f8b9dd7 100644 --- a/app/public/scripts/app.js +++ b/app/public/scripts/app.js @@ -1,3 +1,5 @@ angular.module('YellowLabTools', [ - 'Results' + 'Results', + 'ngModal', + 'ShowOffendersDirective' ]); \ No newline at end of file diff --git a/app/public/scripts/filters.js b/app/public/scripts/filters.js deleted file mode 100644 index e69de29..0000000 diff --git a/app/public/scripts/showOffenders.js b/app/public/scripts/showOffenders.js new file mode 100644 index 0000000..900d62f --- /dev/null +++ b/app/public/scripts/showOffenders.js @@ -0,0 +1,17 @@ +var app = angular.module("ShowOffendersDirective", []); + +app.directive('showOffenders', function() { + return { + restrict: 'E', + transclude: true, + scope: { + modalTitle: "@", + metricName: "@", + phantomasResults: "=" + }, + controller: function($scope, $element, $attrs, $location) { + $scope.dialogShown = false; + }, + template: ' ' + }; +}); \ No newline at end of file diff --git a/app/public/styles/less/icons.less b/app/public/styles/less/icons.less index d1f20b7..3bc4d60 100644 --- a/app/public/styles/less/icons.less +++ b/app/public/styles/less/icons.less @@ -1,24 +1,27 @@ +@arrow-left3-font-family: "fontsmith-icons"; +@arrow-left3-value: "\e007"; +@arrow-left3: '"fontsmith-icons"' '"\\e007"'; @list-font-family: "fontsmith-icons"; @list-value: "\e002"; @list: '"fontsmith-icons"' '"\\e002"'; -@arrow-left3-font-family: "fontsmith-icons"; -@arrow-left3-value: "\e006"; -@arrow-left3: '"fontsmith-icons"' '"\\e006"'; -@question-font-family: "fontsmith-icons"; -@question-value: "\e001"; -@question: '"fontsmith-icons"' '"\\e001"'; @warning-font-family: "fontsmith-icons"; @warning-value: "\e000"; @warning: '"fontsmith-icons"' '"\\e000"'; -@bars-font-family: "fontsmith-icons"; -@bars-value: "\e005"; -@bars: '"fontsmith-icons"' '"\\e005"'; -@drawer3-font-family: "fontsmith-icons"; -@drawer3-value: "\e004"; -@drawer3: '"fontsmith-icons"' '"\\e004"'; +@eye-font-family: "fontsmith-icons"; +@eye-value: "\e004"; +@eye: '"fontsmith-icons"' '"\\e004"'; +@question-font-family: "fontsmith-icons"; +@question-value: "\e001"; +@question: '"fontsmith-icons"' '"\\e001"'; @lab-font-family: "fontsmith-icons"; @lab-value: "\e003"; @lab: '"fontsmith-icons"' '"\\e003"'; +@bars-font-family: "fontsmith-icons"; +@bars-value: "\e006"; +@bars: '"fontsmith-icons"' '"\\e006"'; +@drawer3-font-family: "fontsmith-icons"; +@drawer3-value: "\e005"; +@drawer3: '"fontsmith-icons"' '"\\e005"'; .icon-font-family(@char) { font-family: ~`@{char}[0]`; diff --git a/app/public/styles/less/main.less b/app/public/styles/less/main.less index 4d8d27b..571064a 100644 --- a/app/public/styles/less/main.less +++ b/app/public/styles/less/main.less @@ -67,4 +67,7 @@ h1 span { } .icon-metrics { .icon(@drawer3); +} +.icon-eye { + .icon(@eye); } \ No newline at end of file diff --git a/app/public/styles/less/results.less b/app/public/styles/less/results.less index 490a3bc..3f61da4 100644 --- a/app/public/styles/less/results.less +++ b/app/public/styles/less/results.less @@ -128,6 +128,11 @@ h4 { /* Non applicable */ background: #CCC; } +.notations .icon-eye { + color: #9c4274; + cursor: pointer; +} + .timeline { margin: 2em 0 5em; @@ -404,4 +409,66 @@ input.textFilter { .table .icon-warning { color: #e74c3c; -} \ No newline at end of file +} + + +/**** NgModal popin (have a look inside bower_components) ****/ +.ng-modal { + position: fixed; + z-index: 9999; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ng-modal-overlay { + position: absolute; + z-index: 9999; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #000; + opacity: 0.5; +} +.ng-modal-dialog { + z-index: 10000; + position: absolute; + top: 50%; + left: 50%; + width: 50%; + transform: translate(-50%, -50%); + -webkit-transform: translate(-50%, -50%); + background-color: #fff; + padding: 10px; + border: 3px solid #f1c40f; + border-radius: 0.5em; +} +.ng-modal-dialog-content { + overflow-x: hidden; + overflow-y: scroll; + word-wrap: break-word; + /*height: calc(~"100% - 47px");*/ + max-height: 20em; +} +.ng-modal-close { + position: absolute; + top: 3px; + right: 5px; + cursor: pointer; + font-size: 120%; + padding: 5px; + display: inline-block; +} +.ng-modal-close-x { + font-weight: bold; + font-family: Arial, sans-serif; +} +.ng-modal-title { + font-weight: bold; + font-size: 1.5em; + display: block; + margin-bottom: 10px; + padding-bottom: 7px; + border-bottom: solid 1px #999; +} diff --git a/app/public/styles/main.css b/app/public/styles/main.css index 143b63d..e92c2e7 100644 --- a/app/public/styles/main.css +++ b/app/public/styles/main.css @@ -95,7 +95,7 @@ h1 span { -webkit-font-smoothing: antialiased; } .icon-back:before { - content: "\e006"; + content: "\e007"; } .icon-summary { font-family: "fontsmith-icons"; @@ -121,7 +121,7 @@ h1 span { -webkit-font-smoothing: antialiased; } .icon-spaghetti:before { - content: "\e005"; + content: "\e006"; } .icon-metrics { font-family: "fontsmith-icons"; @@ -134,5 +134,18 @@ h1 span { -webkit-font-smoothing: antialiased; } .icon-metrics:before { + content: "\e005"; +} +.icon-eye { + font-family: "fontsmith-icons"; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; +} +.icon-eye:before { content: "\e004"; } diff --git a/app/public/styles/results.css b/app/public/styles/results.css index bdcbb47..83425d1 100644 --- a/app/public/styles/results.css +++ b/app/public/styles/results.css @@ -118,6 +118,10 @@ h4 { /* Non applicable */ background: #CCC; } +.notations .icon-eye { + color: #9c4274; + cursor: pointer; +} .timeline { margin: 2em 0 5em; } @@ -376,3 +380,63 @@ input.textFilter { .table .icon-warning { color: #e74c3c; } +/**** NgModal popin (have a look inside bower_components) ****/ +.ng-modal { + position: fixed; + z-index: 9999; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ng-modal-overlay { + position: absolute; + z-index: 9999; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #000; + opacity: 0.5; +} +.ng-modal-dialog { + z-index: 10000; + position: absolute; + top: 50%; + left: 50%; + width: 50%; + transform: translate(-50%, -50%); + -webkit-transform: translate(-50%, -50%); + background-color: #fff; + padding: 10px; + border: 3px solid #f1c40f; + border-radius: 0.5em; +} +.ng-modal-dialog-content { + overflow-x: hidden; + overflow-y: scroll; + word-wrap: break-word; + /*height: calc(~"100% - 47px");*/ + max-height: 20em; +} +.ng-modal-close { + position: absolute; + top: 3px; + right: 5px; + cursor: pointer; + font-size: 120%; + padding: 5px; + display: inline-block; +} +.ng-modal-close-x { + font-weight: bold; + font-family: Arial, sans-serif; +} +.ng-modal-title { + font-weight: bold; + font-size: 1.5em; + display: block; + margin-bottom: 10px; + padding-bottom: 7px; + border-bottom: solid 1px #999; +} diff --git a/bower.json b/bower.json index ff498ef..4ef373c 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,7 @@ { "name": "yellowlabtools", "dependencies": { - "angular": "^1.3.0" + "angular": "^1.3.0", + "ngModal": "1.2.2" } }