<style>
/* TODO: move me */
- /*.eg-grid > div:nth-child(odd) {background-color: rgb(248, 248, 248);}*/
- .eg-grid-row:hover > .eg-grid-cell {background-color: rgb(248, 248, 248)}
+ .eg-grid > div:nth-child(odd) {background-color: rgb(248, 248, 248);}
+ /*.eg-grid-row:hover > .eg-grid-cell {background-color: rgb(248, 248, 248)}*/
.eg-grid-scroll {overflow-y:scroll; height: 600px}
.eg-grid-header-row {
display: flex;
width: 100%;
border-left: 1px solid #ccc;
+ border-right: 1px solid #ccc;
}
.eg-grid-header-row > .eg-grid-cell {
}
.eg-grid-cell {
border-bottom: 1px solid #ccc;
- border-right: 1px solid #DDD;
+ /*border-right: 1px solid #DDD;*/
padding: 2px;
overflow: hidden;
}
- .eg-grid-cell-1 {
- flex: 1;
- }
+
+
+ /* stock columns need fixed-width controls */
+ .eg-grid-cell-1 {flex: 1}
+ .eg-grid-cell-2 {flex: 2}
.eg-grid-row-selected > .eg-grid-cell {
color: rgb(51, 51, 51);
- background-color: rgb(248, 248, 248);
+ /*background-color: rgb(248, 248, 248);*/
+ background-color: rgb(201, 221, 225);
border-bottom: 1px solid #888;
}
</style>
+<div ng-if="showGridConf">
+ <style>
+ .eg-grid-cell {
+ border-right: 1px solid #DDD;
+ }
+ </style>
+</div>
+
<div class="eg-grid">
<!-- import embedded eg-grid-field defs via no-op transclude -->
<div ng-transclude></div>
</div>
<div class="eg-grid-row eg-grid-header-row" ng-show="showGridConf">
- <div class="eg-grid-cell eg-grid-cell-1">
- </div>
- <div class="eg-grid-cell eg-grid-cell-1">
+ <div class="eg-grid-cell eg-grid-cell-2">
+ <div style="width:100%;text-align:right">[% l('Wider') %]</div>
+ <div style="width:100%;text-align:right;border-top:1px solid #ccc">
+ [% l('Narrower') %]</div>
+ <div style="width:100%;text-align:right;border-top:1px solid #ccc">
+ [% l('Sort') %]</div>
</div>
<div class="eg-grid-cell"
ng-repeat="column in dataList.allColumns"
}
// maps numeric sort priority to flattener sort blob
+ // e.g.
+ // name = 1; code = -2; type = 3
+ // compiles to:
+ // [{name : "asc"}, {code : "desc"}, {type : "asc"}]
this.compileSort = function() {
var sortList = $scope.dataList.allColumns.filter(
- function(col) { return Number(col.sortPriority) }
+ function(col) { return Number(col.sortPriority) != 0 }
).sort(
function(a, b) {
- return
- Math.abs(a.sortPriority) < Math.abs(b.sortPriority)
- ? -1 : 1;
+ if (Math.abs(a.sortPriority) < Math.abs(b.sortPriority))
+ return -1;
+ return 1;
}
);
blob[col.name] = col.sortPriority < 0 ? 'desc' : 'asc';
return blob;
});
- console.log(js2JSON($scope.sort));
},
$scope.toggleGridConf = function() {
if ($scope.showGridConf) {
$scope.showGridConf = false;
- // configuration done; reload data
- self.compileSort();
+ self.compileSort();
+
+ // config done;
+ // reload data in case sort priorities changed.
$scope.fetchData();
} else {
$scope.showGridConf = true;