Skip to content
This repository was archived by the owner on Dec 4, 2019. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions demos/grouping-prop-path.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<!doctype html>
<html lang="en">
<head>
<meta charset=" utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="width = device-width, minimal-ui, initial-scale = 1, user-scalable = no" />
<meta name="apple-mobile-web-app-title" content="Datagrid">
<title>Datagrid - Grouping with property path</title>
<base href="/">
<style>
*, *:after, *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

body{
font-family: 'RobotoDraft', 'Roboto', 'Helvetica Neue, Helvetica, Arial', sans-serif;
font-style: normal;
font-weight: 300;
font-size: 1.4rem;
line-height: 2rem;
letter-spacing: 0.01rem;
color: #212121;
background-color: #f5f5f5;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
}

.dt{
width:75%;
margin:50px auto;
height:400px;
}

</style>
<link href="../dist/dataTable.css" media="all" rel="stylesheet" />
<link href="../dist/themes/material.css" media="all" rel="stylesheet" />
<link href="http://fontastic.s3.amazonaws.com/Jnf54BZCm7mSjGCxNRbfp3/icons.css" rel="stylesheet">
</head>
<body ng-app="app" ng-controller="HomeController">

<button type="button" ng-click="groupCountry()">Group on Country</button>
<button type="button" ng-click="groupYear()">Group on Year</button>

<dtable options="options" rows="data" class="material"></dtable>

<script src="../jspm_packages/system.js"></script>
<script src="../config.js"></script>

<script>

System.import('dataTable').then(function(dt){
var module = angular.module('app', [ dt.default.name ]);

module.controller('HomeController', function($scope, $http){
$scope.options = {
rowHeight: 50,
footerHeight: false,
scrollbarV: true,
headerHeight: 50,
forceFillColumns: true,
columns: [
{ name: 'Name', width: 300 },
{ name: 'State', prop: 'address.state', group: true },
{ name: 'age' },
{ name: 'gender' }
]
};

$http.get('/demos/data/complex-100000.json').success(function(data) {
$scope.data = data.slice(0, 100);
});

$scope.groupCountry = function(){
var col = $scope.options.columns.find(function(c){
return c.prop === 'country';
});

col.group = !col.group;
};

$scope.groupYear = function(){
var col = $scope.options.columns.find(function(c){
return c.prop === 'year';
});

col.group = !col.group;
};

});
});
</script>

</body>
</html>
1 change: 1 addition & 0 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ <h1>Table Demos</h1>
<li><a href="demos/pins.html">Column Pinning</a></li>
<li><a href="demos/tree.html">Tree</a></li>
<li><a href="demos/grouping.html">Row Grouping</a></li>
<li><a href="demos/grouping-prop-path.html">Row Grouping with property path</a></li>
</ul>
</li>
<li>Performance
Expand Down
12 changes: 10 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "angular-data-table",
"title": "AngularJS Data-Table",
"description": "A feature-rich but lightweight ES6 AngularJS Data Table crafted for large data sets!",
"version": "0.7.0",
"version": "0.7.3",
"repository": {
"type": "git",
"url": "git@github.com:Swimlane/angular-data-table.git",
Expand All @@ -21,10 +21,16 @@
"url": "http://opensource.org/licenses/mit-license.php"
}
],
"scripts": {
"start": "npm install && jspm install && gulp watch",
"test": "npm install && jspm install && gulp test",
"preversion": "npm test && gulp release",
"version": "git add release && git commit -m 'Release'",
"postversion": "git push && git push --tags"
},
"devDependencies": {
"angular": "^1.4.4",
"angular-mocks": "^1.4.3",
"babelify": "7.3.0",
"babel-core": "^6.9.0",
"babel-eslint": "^6.0.2",
"babel-plugin-external-helpers": "^6.5.0",
Expand All @@ -33,7 +39,9 @@
"babel-plugin-transform-es2015-modules-umd": "^6.8.0",
"babel-preset-es2015": "^6.9.0",
"babel-preset-stage-0": "^6.5.0",
"babelify": "7.3.0",
"browser-sync": "^2.7.2",
"chai": "^4.0.2",
"chai-as-promised": "^5.3.0",
"del": "^1.2.0",
"gulp": "^3.8.11",
Expand Down
6 changes: 3 additions & 3 deletions release/dataTable.cjs.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* angular-data-table - A feature-rich but lightweight ES6 AngularJS Data Table crafted for large data sets!
* @version v0.7.0
* @version v0.7.2
* @link http://swimlane.com/
* @license
*/
Expand Down Expand Up @@ -957,7 +957,7 @@ var BodyController = function () {
}, {
key: "calculateDepth",
value: function calculateDepth(row) {
var depth = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

var parentProp = this.treeColumn ? this.treeColumn.relationProp : this.groupColumn.prop;
var prop = this.treeColumn.prop;
Expand Down Expand Up @@ -993,7 +993,7 @@ var BodyController = function () {
for (var i = 0, len = this.rows.length; i < len; i++) {
var row = this.rows[i];

var relVal = row[parentProp];
var relVal = DeepValueGetter(row, parentProp);
if (relVal) {
if (this.rowsByGroup[relVal]) {
this.rowsByGroup[relVal].push(row);
Expand Down
2 changes: 1 addition & 1 deletion release/dataTable.es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -1228,7 +1228,7 @@ class BodyController{
for(var i = 0, len = this.rows.length; i < len; i++) {
var row = this.rows[i];
// build groups
var relVal = row[parentProp];
var relVal = DeepValueGetter(row, parentProp);
if(relVal){
if(this.rowsByGroup[relVal]){
this.rowsByGroup[relVal].push(row);
Expand Down
6 changes: 3 additions & 3 deletions release/dataTable.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* angular-data-table - A feature-rich but lightweight ES6 AngularJS Data Table crafted for large data sets!
* @version v0.7.0
* @version v0.7.2
* @link http://swimlane.com/
* @license
*/
Expand Down Expand Up @@ -998,7 +998,7 @@
}, {
key: "calculateDepth",
value: function calculateDepth(row) {
var depth = arguments.length <= 1 || arguments[1] === undefined ? 0 : arguments[1];
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;

var parentProp = this.treeColumn ? this.treeColumn.relationProp : this.groupColumn.prop;
var prop = this.treeColumn.prop;
Expand Down Expand Up @@ -1034,7 +1034,7 @@
for (var i = 0, len = this.rows.length; i < len; i++) {
var row = this.rows[i];

var relVal = row[parentProp];
var relVal = DeepValueGetter(row, parentProp);
if (relVal) {
if (this.rowsByGroup[relVal]) {
this.rowsByGroup[relVal].push(row);
Expand Down
6 changes: 3 additions & 3 deletions release/dataTable.min.js

Large diffs are not rendered by default.

88 changes: 0 additions & 88 deletions release/icons.css

This file was deleted.

3 changes: 2 additions & 1 deletion src/components/body/BodyController.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import angular from 'angular';
import { DeepValueGetter } from '../../utils/utils';

export class BodyController{

Expand Down Expand Up @@ -204,7 +205,7 @@ export class BodyController{
for(var i = 0, len = this.rows.length; i < len; i++) {
var row = this.rows[i];
// build groups
var relVal = row[parentProp];
var relVal = DeepValueGetter(row, parentProp);
if(relVal){
if(this.rowsByGroup[relVal]){
this.rowsByGroup[relVal].push(row);
Expand Down