height: 25px;
}
+.eg-grid-columns-modal-body {
+ max-height: 400px;
+ overflow: scroll;
+}
+
+.eg-grid-columns-modal-body .row {
+ padding: 2px 0px 2px 0px;
+ border-bottom: 1px solid #aaa;
+}
+
+.eg-grid-columns-modal-body .visible {
+ color: rgb(51, 51, 51);
+ background-color: rgb(201, 221, 225);
+ border-bottom: 1px solid #888;
+}
+
+
eg-grid-field {
display: none;
}
[% l('Print Full Grid') %]
</a></li>
<li role="presentation" class="divider"></li>
+ <li>
+ <a href ng-click="showColumnDialog()">
+ <span class="glyphicon glyphicon-print"></span>
+ [% l('Configure Column Visibility') %]
+ </a>
+ </li>
+ <li role="presentation" class="divider"></li>
<li ng-repeat="col in columns">
<a href title="{{col.idlclass}}" ng-click="toggleColumnVisibility(col)">
<span ng-if="col.visible"
--- /dev/null
+<div>
+ <div class="modal-header">
+ <button type="button" class="close"
+ ng-click="cancel()" aria-hidden="true">×</button>
+ <h4 class="modal-title alert alert-info">[% l('Grid Column Picker') %]</h4>
+ </div>
+ <div class="modal-body eg-grid-columns-modal-body">
+ <div class="row grid-header-row">
+ <div class="col-md-1">[% l('Visible') %]</div>
+ <div class="col-md-4">[% l('Column Name') %]</div>
+ </div>
+ <div class="row" ng-repeat="col in columns" ng-class="{visible : col.visible}">
+ <div class="col-md-1">
+ <input type='checkbox' ng-model="col.visible"/>
+ </div>
+ <div class="col-md-4" title="{{col.idlclass}}">{{col.label}}</div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <input type="submit" class="btn btn-primary"
+ ng-click="ok()" value="[% l('Close') %]"/>
+ </div>
+</div>
controller : [
'$scope','$q','egCore','egGridFlatDataProvider','$location',
'egGridColumnsProvider','$filter','$window','$sce','$timeout',
- 'egProgressDialog',
+ 'egProgressDialog','$uibModal',
function($scope, $q , egCore, egGridFlatDataProvider , $location,
egGridColumnsProvider , $filter , $window , $sce , $timeout,
- egProgressDialog) {
+ egProgressDialog , $uibModal) {
var grid = this;
});
}
+ $scope.showColumnDialog = function() {
+ return $uibModal.open({
+ templateUrl: './share/t_grid_columns',
+ backdrop: 'static',
+ controller: ['$scope', '$uibModalInstance',
+ function($dialogScope, $uibModalInstance) {
+ // Passing the columns object directly into
+ // the dialog means any changes are applied
+ // directly to the column configs. If we need
+ // to support a "cancel" option, where applied
+ // changes are ignored, then angular.copy()
+ // the columns into the dialog then pull the
+ // values back out when saved.
+ $dialogScope.columns = $scope.columns;
+ $dialogScope.ok = function() {
+ $uibModalInstance.close()
+ }
+ }
+ ]
+ });
+ },
+
// generates CSV for the currently visible grid contents
grid.generateCSV = function() {
return grid.getAllItemsAsText().then(function(text_items) {