CORD GUI -- Users page has a panel with information about what each category blocks.
Change-Id: I035dbc139656abcb9f918a3197dda39aa05a0757
Showing
5 changed files
with
150 additions
and
5 deletions
| ... | @@ -78,10 +78,6 @@ th { | ... | @@ -78,10 +78,6 @@ th { |
| 78 | font-weight: lighter; | 78 | font-weight: lighter; |
| 79 | } | 79 | } |
| 80 | 80 | ||
| 81 | -div.container { | ||
| 82 | - min-height: 100%; | ||
| 83 | -} | ||
| 84 | - | ||
| 85 | button, | 81 | button, |
| 86 | input[type="button"], | 82 | input[type="button"], |
| 87 | input[type="reset"] { | 83 | input[type="reset"] { |
| ... | @@ -119,6 +115,7 @@ input[type="reset"][disabled]:hover { | ... | @@ -119,6 +115,7 @@ input[type="reset"][disabled]:hover { |
| 119 | div.container { | 115 | div.container { |
| 120 | width: 85%; | 116 | width: 85%; |
| 121 | margin: 0 auto; | 117 | margin: 0 auto; |
| 118 | + min-height: 100%; | ||
| 122 | } | 119 | } |
| 123 | div.main-left, div.main-right { | 120 | div.main-left, div.main-right { |
| 124 | float: left; | 121 | float: left; |
| ... | @@ -141,6 +138,9 @@ g.icon circle { | ... | @@ -141,6 +138,9 @@ g.icon circle { |
| 141 | g.icon use.glyph.checkMark { | 138 | g.icon use.glyph.checkMark { |
| 142 | fill: rgb(68, 189, 83) | 139 | fill: rgb(68, 189, 83) |
| 143 | } | 140 | } |
| 141 | +g.icon use.glyph.xMark { | ||
| 142 | + fill: #CE5650; | ||
| 143 | +} | ||
| 144 | 144 | ||
| 145 | th.user-pic { | 145 | th.user-pic { |
| 146 | background-color: white; | 146 | background-color: white; | ... | ... |
| 1 | +<!--Partial HTML for rating panel directive--> | ||
| 2 | +<div id="rating-panel"> | ||
| 3 | + <div ng-cloak class="ng-hide ng-cloak panel" ng-show="ratingsShown"> | ||
| 4 | + <table> | ||
| 5 | + <tr> | ||
| 6 | + <th class="title">Category</th> | ||
| 7 | + <th ng-repeat="rating in level_order">{{rating}}</th> | ||
| 8 | + </tr> | ||
| 9 | + <tr ng-repeat="cat in category_order"> | ||
| 10 | + <td class="title">{{cat}}</td> | ||
| 11 | + <td ng-repeat="r in level_order"> | ||
| 12 | + <div ng-if="prohibitedSites[r][cat]"> | ||
| 13 | + <icon size="15" id="xMark"></icon> | ||
| 14 | + </div> | ||
| 15 | + <div ng-if="!prohibitedSites[r][cat]"> | ||
| 16 | + <icon size="15" id="checkMark"></icon> | ||
| 17 | + </div> | ||
| 18 | + </td> | ||
| 19 | + </tr> | ||
| 20 | + </table> | ||
| 21 | + </div> | ||
| 22 | +</div> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -46,6 +46,11 @@ | ... | @@ -46,6 +46,11 @@ |
| 46 | padding: 2% 1%; | 46 | padding: 2% 1%; |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | +#user span.help:hover { | ||
| 50 | + cursor: pointer; | ||
| 51 | + color: #CE5650; | ||
| 52 | +} | ||
| 53 | + | ||
| 49 | #user div.main-left.family table.user-info th, | 54 | #user div.main-left.family table.user-info th, |
| 50 | #user div.main-right.family table.user-form th { | 55 | #user div.main-right.family table.user-form th { |
| 51 | padding: 17px; | 56 | padding: 17px; |
| ... | @@ -109,3 +114,67 @@ | ... | @@ -109,3 +114,67 @@ |
| 109 | #user td.buttons svg { | 114 | #user td.buttons svg { |
| 110 | vertical-align: middle; | 115 | vertical-align: middle; |
| 111 | } | 116 | } |
| 117 | + | ||
| 118 | +#rating-panel th, | ||
| 119 | +#rating-panel td { | ||
| 120 | + text-align: center; | ||
| 121 | + padding: 1%; | ||
| 122 | + font-weight: lighter; | ||
| 123 | +} | ||
| 124 | + | ||
| 125 | +#rating-panel th.title, | ||
| 126 | +#rating-panel td.title { | ||
| 127 | + width: 125px; | ||
| 128 | + text-align: left; | ||
| 129 | +} | ||
| 130 | + | ||
| 131 | +#rating-panel th { | ||
| 132 | + background-color: white; | ||
| 133 | + padding-top: 3%; | ||
| 134 | + border-bottom: 1px solid #CE5650; | ||
| 135 | + color: #3C3C3C; | ||
| 136 | + font-weight: normal; | ||
| 137 | +} | ||
| 138 | + | ||
| 139 | +#rating-panel tr th:first-child, | ||
| 140 | +#rating-panel tr td:first-child { | ||
| 141 | + padding-left: 5%; | ||
| 142 | +} | ||
| 143 | +#rating-panel tr th:last-child, | ||
| 144 | +#rating-panel tr td:last-child { | ||
| 145 | + padding-right: 5%; | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | +div#rating-panel { | ||
| 149 | + position: relative; | ||
| 150 | + pointer-events: none; | ||
| 151 | +} | ||
| 152 | + | ||
| 153 | +#rating-panel div.ng-hide-add.ng-hide-add-active, | ||
| 154 | +#rating-panel div.ng-hide-remove.ng-hide-remove-active { | ||
| 155 | + -webkit-transition: all linear 0.75s; | ||
| 156 | + transition: all linear 0.75s; | ||
| 157 | +} | ||
| 158 | + | ||
| 159 | +#rating-panel div.panel { | ||
| 160 | + position: absolute; | ||
| 161 | + top: 0; | ||
| 162 | + left: -6%; | ||
| 163 | + height: 545px; | ||
| 164 | + overflow: auto; | ||
| 165 | + padding: 0; | ||
| 166 | + pointer-events: auto; | ||
| 167 | + box-shadow: 0 3px 23px 7px rgb(118, 118, 118); | ||
| 168 | + border-radius: 3px; | ||
| 169 | +} | ||
| 170 | +#rating-panel table { | ||
| 171 | + table-layout: fixed; | ||
| 172 | + width: 500px; | ||
| 173 | + background-color: white; | ||
| 174 | + opacity: 1; | ||
| 175 | +} | ||
| 176 | + | ||
| 177 | +#rating-panel div.ng-hide { | ||
| 178 | + opacity: 0; | ||
| 179 | + left: -55%; | ||
| 180 | +} | ... | ... |
| ... | @@ -23,7 +23,11 @@ | ... | @@ -23,7 +23,11 @@ |
| 23 | name="changeLevels"> | 23 | name="changeLevels"> |
| 24 | <table class="user-form"> | 24 | <table class="user-form"> |
| 25 | <tr> | 25 | <tr> |
| 26 | - <th>Select Site Rating</th> | 26 | + <th> |
| 27 | + Select Site Rating | ||
| 28 | + <span class="help" | ||
| 29 | + ng-click="showRatings()"> (?)</span> | ||
| 30 | + </th> | ||
| 27 | </tr> | 31 | </tr> |
| 28 | <tr ng-repeat="user in users" class="options"> | 32 | <tr ng-repeat="user in users" class="options"> |
| 29 | <td> | 33 | <td> |
| ... | @@ -49,5 +53,8 @@ | ... | @@ -49,5 +53,8 @@ |
| 49 | </table> | 53 | </table> |
| 50 | </form> | 54 | </form> |
| 51 | </div> | 55 | </div> |
| 56 | + <div ng-if="isFamily"> | ||
| 57 | + <ratings-panel></ratings-panel> | ||
| 58 | + </div> | ||
| 52 | </div> | 59 | </div> |
| 53 | </div> | 60 | </div> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -30,6 +30,7 @@ | ... | @@ -30,6 +30,7 @@ |
| 30 | $scope.isFamily = false; | 30 | $scope.isFamily = false; |
| 31 | $scope.newLevels = {}; | 31 | $scope.newLevels = {}; |
| 32 | $scope.showCheck = false; | 32 | $scope.showCheck = false; |
| 33 | + $scope.ratingsShown = false; | ||
| 33 | 34 | ||
| 34 | // === Get data functions --- | 35 | // === Get data functions --- |
| 35 | 36 | ||
| ... | @@ -112,7 +113,53 @@ | ... | @@ -112,7 +113,53 @@ |
| 112 | $scope.showCheck = false; | 113 | $scope.showCheck = false; |
| 113 | }; | 114 | }; |
| 114 | 115 | ||
| 116 | + $scope.showRatings = function () { | ||
| 117 | + $scope.ratingsShown = !$scope.ratingsShown; | ||
| 118 | + }; | ||
| 119 | + | ||
| 115 | $log.debug('Cord User Ctrl has been created.'); | 120 | $log.debug('Cord User Ctrl has been created.'); |
| 121 | + }]) | ||
| 122 | + | ||
| 123 | + .directive('ratingsPanel', ['$log', function ($log) { | ||
| 124 | + return { | ||
| 125 | + templateUrl: 'app/view/user/ratingPanel.html', | ||
| 126 | + link: function (scope, elem, attrs) { | ||
| 127 | + function fillSubMap(order, bool) { | ||
| 128 | + var result = {}; | ||
| 129 | + $.each(order, function (index, cat) { | ||
| 130 | + result[cat] = bool; | ||
| 131 | + }); | ||
| 132 | + return result; | ||
| 133 | + } | ||
| 134 | + function processSubMap(prhbSites) { | ||
| 135 | + var result = {}; | ||
| 136 | + $.each(prhbSites, function (index, cat) { | ||
| 137 | + result[cat] = true; | ||
| 138 | + }); | ||
| 139 | + return result; | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + function preprocess(data, order) { | ||
| 143 | + return { | ||
| 144 | + ALL: fillSubMap(order, false), | ||
| 145 | + G: processSubMap(data.G), | ||
| 146 | + PG: processSubMap(data.PG), | ||
| 147 | + PG_13: processSubMap(data.PG_13), | ||
| 148 | + R: processSubMap(data.R), | ||
| 149 | + NONE: fillSubMap(order, true) | ||
| 150 | + }; | ||
| 151 | + } | ||
| 152 | + | ||
| 153 | + $.getJSON('/app/data/pc_cats.json', function (data) { | ||
| 154 | + scope.level_order = data.level_order; | ||
| 155 | + scope.category_order = data.category_order; | ||
| 156 | + scope.prohibitedSites = preprocess( | ||
| 157 | + data.prohibited, data.category_order | ||
| 158 | + ); | ||
| 159 | + scope.$apply(); | ||
| 160 | + }); | ||
| 161 | + } | ||
| 162 | + }; | ||
| 116 | }]); | 163 | }]); |
| 117 | 164 | ||
| 118 | }()); | 165 | }()); | ... | ... |
-
Please register or login to post a comment