@kineticdata/react 6.0.3 → 6.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -24,7 +24,7 @@ var login = exports.login = function login(_ref) {
|
|
|
24
24
|
})["catch"](_http.handleErrors);
|
|
25
25
|
};
|
|
26
26
|
var logoutDirect = exports.logoutDirect = function logoutDirect(isSaml) {
|
|
27
|
-
return _axios["default"].get(isSaml === true ? "".concat(_helpers.bundle.spaceLocation(), "/app/logout") : "".concat(_helpers.bundle.spaceLocation(), "/app/
|
|
27
|
+
return _axios["default"].get(isSaml === true ? "".concat(_helpers.bundle.spaceLocation(), "/app/saml/logout") : "".concat(_helpers.bundle.spaceLocation(), "/app/logout"));
|
|
28
28
|
};
|
|
29
29
|
var checkedOrigin = process.env.REACT_APP_API_HOST ? process.env.REACT_APP_API_HOST : typeof window !== 'undefined' ? window.location.origin : null;
|
|
30
30
|
var clientId = process.env.REACT_APP_OAUTH_CLIENT_ID ? process.env.REACT_APP_OAUTH_CLIENT_ID : process.env.NODE_ENV === 'production' ? 'system' : 'system-dev';
|
package/lib/apis/task/index.js
CHANGED
|
@@ -332,7 +332,8 @@ var fetchPolicyRules = exports.fetchPolicyRules = function fetchPolicyRules() {
|
|
|
332
332
|
return _axios["default"].get("".concat(_helpers.bundle.spaceLocation(), "/app/components/task/app/api/v2/policyRules"), {
|
|
333
333
|
params: {
|
|
334
334
|
include: options.include,
|
|
335
|
-
type: options.type
|
|
335
|
+
type: options.type,
|
|
336
|
+
limit: options.limit
|
|
336
337
|
}
|
|
337
338
|
}).then(function (response) {
|
|
338
339
|
return {
|
|
@@ -433,7 +434,8 @@ var fetchHandlers = exports.fetchHandlers = function fetchHandlers() {
|
|
|
433
434
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
434
435
|
return _axios["default"].get("".concat(_helpers.bundle.spaceLocation(), "/app/components/task/app/api/v2/handlers"), {
|
|
435
436
|
params: {
|
|
436
|
-
include: options.include
|
|
437
|
+
include: options.include,
|
|
438
|
+
limit: options.limit
|
|
437
439
|
}
|
|
438
440
|
}).then(function (response) {
|
|
439
441
|
return {
|
|
@@ -25,7 +25,8 @@ var dataSources = function dataSources(_ref) {
|
|
|
25
25
|
handlers: {
|
|
26
26
|
fn: _apis.fetchHandlers,
|
|
27
27
|
params: [{
|
|
28
|
-
include: 'details'
|
|
28
|
+
include: 'details',
|
|
29
|
+
limit: 0
|
|
29
30
|
}],
|
|
30
31
|
transform: function transform(result) {
|
|
31
32
|
return result.handlers;
|
|
@@ -35,7 +36,8 @@ var dataSources = function dataSources(_ref) {
|
|
|
35
36
|
fn: _apis.fetchTrees,
|
|
36
37
|
params: [{
|
|
37
38
|
type: 'Global Routine',
|
|
38
|
-
include: 'details'
|
|
39
|
+
include: 'details',
|
|
40
|
+
limit: 0
|
|
39
41
|
}],
|
|
40
42
|
transform: function transform(result) {
|
|
41
43
|
return result.trees;
|
|
@@ -45,7 +47,8 @@ var dataSources = function dataSources(_ref) {
|
|
|
45
47
|
fn: _apis.fetchPolicyRules,
|
|
46
48
|
params: [{
|
|
47
49
|
type: 'Category Access',
|
|
48
|
-
include: 'details'
|
|
50
|
+
include: 'details',
|
|
51
|
+
limit: 0
|
|
49
52
|
}],
|
|
50
53
|
transform: function transform(result) {
|
|
51
54
|
return result.policyRules;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kineticdata/react",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.4",
|
|
4
4
|
"description": "A React library for the Kinetic Platform",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"files": [
|
|
@@ -77,5 +77,5 @@
|
|
|
77
77
|
"classNameTemplate": "{classname}",
|
|
78
78
|
"titleTemplate": "{title}"
|
|
79
79
|
},
|
|
80
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "cd94ee7c16756e39778c7c80ed1d47fd63fdee4c"
|
|
81
81
|
}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _Table = require("./Table.redux");
|
|
4
|
-
var _immutable = require("immutable");
|
|
5
|
-
describe('<Table /> redux', function () {
|
|
6
|
-
describe('setup', function () {
|
|
7
|
-
test('true dat', function () {
|
|
8
|
-
expect(true).toBeTruthy();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
describe('client-side operations', function () {
|
|
12
|
-
test('startsWith', function () {
|
|
13
|
-
var op = _Table.operations.get('startsWith');
|
|
14
|
-
expect(op('currentValue', 'cur')).toBeTruthy();
|
|
15
|
-
});
|
|
16
|
-
test('equals', function () {
|
|
17
|
-
var op = _Table.operations.get('equals');
|
|
18
|
-
expect(op('currentValue', 'cur')).toBeFalsy();
|
|
19
|
-
expect(op('currentValue', 'currentValue')).toBeTruthy();
|
|
20
|
-
expect(op('CURRENTVALUE', 'currentValue')).toBeTruthy();
|
|
21
|
-
expect(op(1, 2)).toBeFalsy();
|
|
22
|
-
expect(op(1, 1)).toBeTruthy();
|
|
23
|
-
});
|
|
24
|
-
test('lt', function () {
|
|
25
|
-
var op = _Table.operations.get('lt');
|
|
26
|
-
expect(op(10, 9)).toBeFalsy();
|
|
27
|
-
expect(op(10, 11)).toBeTruthy();
|
|
28
|
-
});
|
|
29
|
-
test('lteq', function () {
|
|
30
|
-
var op = _Table.operations.get('lteq');
|
|
31
|
-
expect(op(10, 9)).toBeFalsy();
|
|
32
|
-
expect(op(10, 10)).toBeTruthy();
|
|
33
|
-
expect(op(10, 11)).toBeTruthy();
|
|
34
|
-
});
|
|
35
|
-
test('gt', function () {
|
|
36
|
-
var op = _Table.operations.get('gt');
|
|
37
|
-
expect(op(10, 9)).toBeTruthy();
|
|
38
|
-
expect(op(10, 11)).toBeFalsy();
|
|
39
|
-
});
|
|
40
|
-
test('gteq', function () {
|
|
41
|
-
var op = _Table.operations.get('gteq');
|
|
42
|
-
expect(op(10, 9)).toBeTruthy();
|
|
43
|
-
expect(op(10, 10)).toBeTruthy();
|
|
44
|
-
expect(op(10, 11)).toBeFalsy();
|
|
45
|
-
});
|
|
46
|
-
test('between', function () {
|
|
47
|
-
var op = _Table.operations.get('between');
|
|
48
|
-
expect(op(10, (0, _immutable.List)([1, 20]))).toBeTruthy();
|
|
49
|
-
expect(op(1, (0, _immutable.List)([1, 20]))).toBeTruthy();
|
|
50
|
-
expect(op(20, (0, _immutable.List)([1, 20]))).toBeFalsy();
|
|
51
|
-
expect(op(21, (0, _immutable.List)([1, 20]))).toBeFalsy();
|
|
52
|
-
expect(op(0, (0, _immutable.List)([1, 20]))).toBeFalsy();
|
|
53
|
-
});
|
|
54
|
-
test('in', function () {
|
|
55
|
-
var op = _Table.operations.get('in');
|
|
56
|
-
expect(op('a', (0, _immutable.List)(['a', 'b', 'c']))).toBeTruthy();
|
|
57
|
-
expect(op('A', (0, _immutable.List)(['a', 'b', 'c']))).toBeTruthy();
|
|
58
|
-
expect(op('b', (0, _immutable.List)(['a', 'b', 'c']))).toBeTruthy();
|
|
59
|
-
expect(op('c', (0, _immutable.List)(['a', 'b', 'c']))).toBeTruthy();
|
|
60
|
-
expect(op('d', (0, _immutable.List)(['a', 'b', 'c']))).toBeFalsy();
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
describe('#isValueEmpty', function () {
|
|
64
|
-
test('is empty when undefined', function () {
|
|
65
|
-
var a;
|
|
66
|
-
expect((0, _Table.isValueEmpty)(a)).toBeTruthy();
|
|
67
|
-
});
|
|
68
|
-
test('is empty when empty string', function () {
|
|
69
|
-
var a = '';
|
|
70
|
-
expect((0, _Table.isValueEmpty)(a)).toBeTruthy();
|
|
71
|
-
});
|
|
72
|
-
test('is not empty when it is string', function () {
|
|
73
|
-
var a = 'a';
|
|
74
|
-
expect((0, _Table.isValueEmpty)(a)).toBeFalsy();
|
|
75
|
-
});
|
|
76
|
-
test('is empty when empty List', function () {
|
|
77
|
-
var a = (0, _immutable.List)();
|
|
78
|
-
expect((0, _Table.isValueEmpty)(a)).toBeTruthy();
|
|
79
|
-
});
|
|
80
|
-
test('is empty when List of empty strings', function () {
|
|
81
|
-
var a = (0, _immutable.List)(['', '']);
|
|
82
|
-
expect((0, _Table.isValueEmpty)(a)).toBeTruthy();
|
|
83
|
-
});
|
|
84
|
-
test('is not empty when List of items', function () {
|
|
85
|
-
var a = (0, _immutable.List)(['a', 'b']);
|
|
86
|
-
expect((0, _Table.isValueEmpty)(a)).toBeFalsy();
|
|
87
|
-
a = (0, _immutable.List)([1, 2]);
|
|
88
|
-
expect((0, _Table.isValueEmpty)(a)).toBeFalsy();
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
describe('#clientSideGotoPage', function () {
|
|
92
|
-
var tableData;
|
|
93
|
-
beforeEach(function () {
|
|
94
|
-
tableData = (0, _immutable.Map)({
|
|
95
|
-
pageSize: 5,
|
|
96
|
-
pageOffset: 0,
|
|
97
|
-
data: (0, _immutable.Range)(1, 25).toList()
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
describe('when pageNumber is invalid', function () {
|
|
101
|
-
test('invalid type does not affect tableData', function () {
|
|
102
|
-
expect((0, _Table.clientSideGotoPage)(tableData, 'foo')).toEqualImmutable(tableData);
|
|
103
|
-
});
|
|
104
|
-
test('invalid number does not affect tableData', function () {
|
|
105
|
-
expect((0, _Table.clientSideGotoPage)(tableData, -1)).toEqualImmutable(tableData);
|
|
106
|
-
});
|
|
107
|
-
});
|
|
108
|
-
test('pageNumber 1 offset is 0', function () {
|
|
109
|
-
var newTableData = (0, _Table.clientSideGotoPage)(tableData.set('pageOffset', 10), 1);
|
|
110
|
-
expect(newTableData.get('pageOffset')).toBe(0);
|
|
111
|
-
});
|
|
112
|
-
test('pageNumber 2 offset is 5', function () {
|
|
113
|
-
var newTableData = (0, _Table.clientSideGotoPage)(tableData, 2);
|
|
114
|
-
expect(newTableData.get('pageOffset')).toBe(5);
|
|
115
|
-
});
|
|
116
|
-
test('pageNumber 6 offset is unchanged (past the end of the data)', function () {
|
|
117
|
-
var newTableData = (0, _Table.clientSideGotoPage)(tableData, 6);
|
|
118
|
-
expect(newTableData.get('pageOffset')).toBe(0);
|
|
119
|
-
});
|
|
120
|
-
test('pageNumber 5 offset is 20 (last page)', function () {
|
|
121
|
-
var newTableData = (0, _Table.clientSideGotoPage)(tableData, 5);
|
|
122
|
-
expect(newTableData.get('pageOffset')).toBe(20);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
describe('#serverSideGotoPage', function () {
|
|
126
|
-
var tableData;
|
|
127
|
-
beforeEach(function () {
|
|
128
|
-
tableData = (0, _immutable.Map)({
|
|
129
|
-
loading: false,
|
|
130
|
-
nextPageToken: 'abc',
|
|
131
|
-
pageTokens: (0, _immutable.List)([2, 3, 4])
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
describe('when pageNumber is invalid', function () {
|
|
135
|
-
test('invalid type does not affect tableData', function () {
|
|
136
|
-
expect((0, _Table.serverSideGotoPage)(tableData, 'foo')).toEqualImmutable(tableData);
|
|
137
|
-
});
|
|
138
|
-
test('invalid number does not affect tableData', function () {
|
|
139
|
-
expect((0, _Table.serverSideGotoPage)(tableData, -1)).toEqualImmutable(tableData);
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
test('when there are not enough pageTokens it does not affect tableData', function () {
|
|
143
|
-
expect((0, _Table.serverSideGotoPage)(tableData, 5)).toEqualImmutable(tableData);
|
|
144
|
-
});
|
|
145
|
-
test('when going to the first page reset the page tokens', function () {
|
|
146
|
-
var newTableData = (0, _Table.serverSideGotoPage)(tableData, 1);
|
|
147
|
-
expect(newTableData.get('loading')).toBe(true);
|
|
148
|
-
expect(newTableData.get('nextPageToken')).toBeNull();
|
|
149
|
-
expect(newTableData.get('pageTokens').size).toBe(0);
|
|
150
|
-
});
|
|
151
|
-
test('when going to a valid page use its pageToken and adjust the page tokens', function () {
|
|
152
|
-
var secondTableData = (0, _Table.serverSideGotoPage)(tableData, 2);
|
|
153
|
-
var thirdTableData = (0, _Table.serverSideGotoPage)(tableData, 3);
|
|
154
|
-
expect(secondTableData.get('loading')).toBe(true);
|
|
155
|
-
expect(secondTableData.get('nextPageToken')).toBe(2);
|
|
156
|
-
expect(secondTableData.get('pageTokens').size).toBe(0);
|
|
157
|
-
expect(thirdTableData.get('loading')).toBe(true);
|
|
158
|
-
expect(thirdTableData.get('nextPageToken')).toBe(3);
|
|
159
|
-
expect(thirdTableData.get('pageTokens').size).toBe(1);
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
});
|
|
@@ -1,700 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
5
|
-
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
|
|
6
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
7
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _index = require("../../index");
|
|
10
|
-
var _store = require("../../store");
|
|
11
|
-
var _enzyme = require("enzyme");
|
|
12
|
-
var _immutable = require("immutable");
|
|
13
|
-
var _fixtures = require("../../../tests/fixtures");
|
|
14
|
-
var _defaults = require("./defaults");
|
|
15
|
-
var _Table = require("./Table");
|
|
16
|
-
var _excluded = ["dataSource", "filters", "filterDataSources", "columns", "tableOptions", "tableKey", "TableView"];
|
|
17
|
-
var buildProps = function buildProps(props) {
|
|
18
|
-
props.columnComponents = (0, _Table.extractColumnComponents)(props.columns);
|
|
19
|
-
return props;
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// Things passed in from generateTables
|
|
23
|
-
// tableOptions, columns, dataSource, sortable
|
|
24
|
-
|
|
25
|
-
var TABLE_KEY = 'mock-table-key';
|
|
26
|
-
var TableViewMock = function TableViewMock(props) {
|
|
27
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, props.table, props.pagination, props.filter);
|
|
28
|
-
};
|
|
29
|
-
var mountTable = function mountTable(_ref) {
|
|
30
|
-
var dataSource = _ref.dataSource,
|
|
31
|
-
filters = _ref.filters,
|
|
32
|
-
filterDataSources = _ref.filterDataSources,
|
|
33
|
-
_ref$columns = _ref.columns,
|
|
34
|
-
columns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
35
|
-
_ref$tableOptions = _ref.tableOptions,
|
|
36
|
-
tableOptions = _ref$tableOptions === void 0 ? {} : _ref$tableOptions,
|
|
37
|
-
_ref$tableKey = _ref.tableKey,
|
|
38
|
-
tableKey = _ref$tableKey === void 0 ? TABLE_KEY : _ref$tableKey,
|
|
39
|
-
_ref$TableView = _ref.TableView,
|
|
40
|
-
TableView = _ref$TableView === void 0 ? TableViewMock : _ref$TableView,
|
|
41
|
-
tableProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
42
|
-
// Generate a new Table type using the options.
|
|
43
|
-
var Table = (0, _Table.generateTable)({
|
|
44
|
-
dataSource: dataSource,
|
|
45
|
-
columns: columns,
|
|
46
|
-
filters: filters,
|
|
47
|
-
filterDataSources: filterDataSources,
|
|
48
|
-
tableOptions: Object.keys(tableOptions)
|
|
49
|
-
});
|
|
50
|
-
return new Promise(function (resolve) {
|
|
51
|
-
var result = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement(Table, Object.assign({
|
|
52
|
-
tableKey: tableKey,
|
|
53
|
-
uncontrolled: true
|
|
54
|
-
}, tableProps, tableOptions), function (props) {
|
|
55
|
-
return /*#__PURE__*/_react["default"].createElement(TableView, props);
|
|
56
|
-
})));
|
|
57
|
-
var ready = function ready() {
|
|
58
|
-
return !(_store.store.getState().getIn(['tables', tableKey, 'loading'], true) || _store.store.getState().getIn(['tables', tableKey, 'initializing'], true));
|
|
59
|
-
};
|
|
60
|
-
if (ready()) {
|
|
61
|
-
result.update();
|
|
62
|
-
resolve(result);
|
|
63
|
-
} else {
|
|
64
|
-
var unsub = _store.store.subscribe(function () {
|
|
65
|
-
if (ready()) {
|
|
66
|
-
result.update();
|
|
67
|
-
resolve(result);
|
|
68
|
-
// Remove the store listener since we're done.
|
|
69
|
-
unsub();
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
/*
|
|
77
|
-
|
|
78
|
-
* Repeat for: server-side, server-side w/client sort and paginate, client-side
|
|
79
|
-
* test sorting by column
|
|
80
|
-
* test sorting changing direction
|
|
81
|
-
* test default sort parameters
|
|
82
|
-
|
|
83
|
-
* test pure-client-side (data prop passed)
|
|
84
|
-
|
|
85
|
-
* test overriding default components for whole table
|
|
86
|
-
* test altering columns
|
|
87
|
-
** changing component
|
|
88
|
-
** What else *can* be changed???
|
|
89
|
-
* test adding columns
|
|
90
|
-
* test valueTransform
|
|
91
|
-
* test columnSet
|
|
92
|
-
* test pageSize
|
|
93
|
-
* test sortable
|
|
94
|
-
* test omit header
|
|
95
|
-
* test include footer
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
*/
|
|
99
|
-
|
|
100
|
-
describe('<Table />', function () {
|
|
101
|
-
describe('render', function () {
|
|
102
|
-
var data, columns, wrapper, dataSourceFn;
|
|
103
|
-
beforeEach(function () {
|
|
104
|
-
data = {
|
|
105
|
-
mockData: [{
|
|
106
|
-
name: 'test',
|
|
107
|
-
status: 'active'
|
|
108
|
-
}]
|
|
109
|
-
};
|
|
110
|
-
columns = [{
|
|
111
|
-
value: 'name',
|
|
112
|
-
title: 'Name',
|
|
113
|
-
sortable: true,
|
|
114
|
-
filter: 'startsWith',
|
|
115
|
-
type: 'text'
|
|
116
|
-
}, {
|
|
117
|
-
value: 'status',
|
|
118
|
-
title: 'Status',
|
|
119
|
-
sortable: true,
|
|
120
|
-
filter: 'equals',
|
|
121
|
-
type: 'text',
|
|
122
|
-
options: function options() {
|
|
123
|
-
return [{
|
|
124
|
-
label: 'Active',
|
|
125
|
-
value: 'active'
|
|
126
|
-
}, {
|
|
127
|
-
label: 'Inactive',
|
|
128
|
-
value: 'inactive'
|
|
129
|
-
}];
|
|
130
|
-
}
|
|
131
|
-
}];
|
|
132
|
-
dataSourceFn = jest.fn(function () {
|
|
133
|
-
return Promise.resolve(data);
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
afterEach(function () {
|
|
137
|
-
if (wrapper) {
|
|
138
|
-
wrapper.unmount();
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
test('kitchen sink', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee() {
|
|
142
|
-
var ActionCell, addColumns;
|
|
143
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
144
|
-
while (1) switch (_context.prev = _context.next) {
|
|
145
|
-
case 0:
|
|
146
|
-
ActionCell = function ActionCell(props) {
|
|
147
|
-
return /*#__PURE__*/_react["default"].createElement("td", null, props.value);
|
|
148
|
-
};
|
|
149
|
-
addColumns = [{
|
|
150
|
-
value: '_action',
|
|
151
|
-
label: 'Actions',
|
|
152
|
-
components: {
|
|
153
|
-
BodyCell: ActionCell
|
|
154
|
-
}
|
|
155
|
-
}];
|
|
156
|
-
_context.next = 4;
|
|
157
|
-
return mountTable({
|
|
158
|
-
columns: columns,
|
|
159
|
-
addColumns: addColumns,
|
|
160
|
-
dataSource: function dataSource(_tableOptions) {
|
|
161
|
-
return {
|
|
162
|
-
fn: dataSourceFn,
|
|
163
|
-
params: function params(_paramData) {
|
|
164
|
-
return [];
|
|
165
|
-
},
|
|
166
|
-
transform: function transform(result) {
|
|
167
|
-
return {
|
|
168
|
-
data: result.mockData
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
case 4:
|
|
175
|
-
wrapper = _context.sent;
|
|
176
|
-
expect(wrapper).toMatchSnapshot();
|
|
177
|
-
case 6:
|
|
178
|
-
case "end":
|
|
179
|
-
return _context.stop();
|
|
180
|
-
}
|
|
181
|
-
}, _callee);
|
|
182
|
-
})));
|
|
183
|
-
describe('filters', function () {
|
|
184
|
-
test('legacy filters', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee2() {
|
|
185
|
-
var filterLayout;
|
|
186
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function _callee2$(_context2) {
|
|
187
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
188
|
-
case 0:
|
|
189
|
-
_context2.next = 2;
|
|
190
|
-
return mountTable({
|
|
191
|
-
dataSource: function dataSource(_tableOptions) {
|
|
192
|
-
return {
|
|
193
|
-
fn: dataSourceFn,
|
|
194
|
-
params: function params(_paramData) {
|
|
195
|
-
return [];
|
|
196
|
-
},
|
|
197
|
-
transform: function transform(result) {
|
|
198
|
-
return {
|
|
199
|
-
data: result.mockData
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
case 2:
|
|
206
|
-
wrapper = _context2.sent;
|
|
207
|
-
filterLayout = wrapper.find('FilterLayout');
|
|
208
|
-
expect(filterLayout).toBeDefined();
|
|
209
|
-
expect(filterLayout).toMatchSnapshot();
|
|
210
|
-
case 6:
|
|
211
|
-
case "end":
|
|
212
|
-
return _context2.stop();
|
|
213
|
-
}
|
|
214
|
-
}, _callee2);
|
|
215
|
-
})));
|
|
216
|
-
test('filter form', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee3() {
|
|
217
|
-
var filterForm;
|
|
218
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function _callee3$(_context3) {
|
|
219
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
220
|
-
case 0:
|
|
221
|
-
_context3.next = 2;
|
|
222
|
-
return mountTable({
|
|
223
|
-
filters: function filters() {
|
|
224
|
-
return function () {
|
|
225
|
-
return [{
|
|
226
|
-
name: 'name',
|
|
227
|
-
label: 'Name',
|
|
228
|
-
type: 'text'
|
|
229
|
-
}, {
|
|
230
|
-
name: 'status',
|
|
231
|
-
label: 'Status',
|
|
232
|
-
type: 'text'
|
|
233
|
-
}];
|
|
234
|
-
};
|
|
235
|
-
},
|
|
236
|
-
dataSource: function dataSource(_tableOptions) {
|
|
237
|
-
return {
|
|
238
|
-
fn: dataSourceFn,
|
|
239
|
-
params: function params(_paramData) {
|
|
240
|
-
return [];
|
|
241
|
-
},
|
|
242
|
-
transform: function transform(result) {
|
|
243
|
-
return {
|
|
244
|
-
data: result.mockData
|
|
245
|
-
};
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
});
|
|
250
|
-
case 2:
|
|
251
|
-
wrapper = _context3.sent;
|
|
252
|
-
filterForm = wrapper.find('FilterForm');
|
|
253
|
-
expect(filterForm).toBeDefined();
|
|
254
|
-
expect(filterForm).toMatchSnapshot();
|
|
255
|
-
case 6:
|
|
256
|
-
case "end":
|
|
257
|
-
return _context3.stop();
|
|
258
|
-
}
|
|
259
|
-
}, _callee3);
|
|
260
|
-
})));
|
|
261
|
-
});
|
|
262
|
-
describe('dataSource', function () {
|
|
263
|
-
test('dataSource resolves', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee4() {
|
|
264
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function _callee4$(_context4) {
|
|
265
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
266
|
-
case 0:
|
|
267
|
-
_context4.next = 2;
|
|
268
|
-
return mountTable({
|
|
269
|
-
dataSource: function dataSource(_tableOptions) {
|
|
270
|
-
return {
|
|
271
|
-
fn: dataSourceFn,
|
|
272
|
-
params: function params(_paramData) {
|
|
273
|
-
return [];
|
|
274
|
-
},
|
|
275
|
-
transform: function transform(result) {
|
|
276
|
-
return {
|
|
277
|
-
data: result.mockData
|
|
278
|
-
};
|
|
279
|
-
}
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
case 2:
|
|
284
|
-
wrapper = _context4.sent;
|
|
285
|
-
expect(wrapper).toMatchSnapshot();
|
|
286
|
-
expect(dataSourceFn.mock.calls).toMatchSnapshot();
|
|
287
|
-
case 5:
|
|
288
|
-
case "end":
|
|
289
|
-
return _context4.stop();
|
|
290
|
-
}
|
|
291
|
-
}, _callee4);
|
|
292
|
-
})));
|
|
293
|
-
});
|
|
294
|
-
});
|
|
295
|
-
describe('build methods', function () {
|
|
296
|
-
var props;
|
|
297
|
-
var data = [];
|
|
298
|
-
var columns = (0, _immutable.List)([]);
|
|
299
|
-
var columnSet = (0, _immutable.List)([]);
|
|
300
|
-
beforeEach(function () {
|
|
301
|
-
data = (0, _fixtures.users)(2);
|
|
302
|
-
columns = (0, _immutable.List)([(0, _immutable.Map)({
|
|
303
|
-
value: 'username',
|
|
304
|
-
title: 'Username'
|
|
305
|
-
})]);
|
|
306
|
-
columnSet = (0, _immutable.List)(['username']);
|
|
307
|
-
props = {
|
|
308
|
-
// Spread in the default components since the method tests will not be getting
|
|
309
|
-
// any components from the context since we're bypassing the top level `Table`
|
|
310
|
-
// component for testing.
|
|
311
|
-
components: (0, _objectSpread2["default"])({}, _defaults.DefaultTableConfig.toJS()),
|
|
312
|
-
data: data,
|
|
313
|
-
columns: columns,
|
|
314
|
-
columnSet: columnSet,
|
|
315
|
-
rows: (0, _immutable.List)(data).map(function (r) {
|
|
316
|
-
return (0, _immutable.Map)(r);
|
|
317
|
-
})
|
|
318
|
-
};
|
|
319
|
-
});
|
|
320
|
-
describe('#buildTable', function () {
|
|
321
|
-
test('it renders normally', function () {
|
|
322
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTable)(buildProps(props))));
|
|
323
|
-
expect(wrapper.is('table')).toBeTruthy();
|
|
324
|
-
expect(wrapper.is('table.custom-table')).toBeFalsy();
|
|
325
|
-
});
|
|
326
|
-
test('it renders a custom table', function () {
|
|
327
|
-
var TableLayout = function TableLayout() {
|
|
328
|
-
return /*#__PURE__*/_react["default"].createElement("table", {
|
|
329
|
-
className: "custom-table"
|
|
330
|
-
});
|
|
331
|
-
};
|
|
332
|
-
props.components.TableLayout = TableLayout;
|
|
333
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTable)(buildProps(props))));
|
|
334
|
-
expect(wrapper.is('table.custom-table')).toBeTruthy();
|
|
335
|
-
});
|
|
336
|
-
});
|
|
337
|
-
describe('#buildTableHeader', function () {
|
|
338
|
-
test('it renders normally', function () {
|
|
339
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeader)(buildProps(props))));
|
|
340
|
-
expect(wrapper.is('thead')).toBeTruthy();
|
|
341
|
-
expect(wrapper.is('thead.custom-thead')).toBeFalsy();
|
|
342
|
-
});
|
|
343
|
-
test('it does not render when omitHeader is set', function () {
|
|
344
|
-
props.omitHeader = true;
|
|
345
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeader)(buildProps(props))));
|
|
346
|
-
expect(wrapper.is('thead')).toBeFalsy();
|
|
347
|
-
});
|
|
348
|
-
test('it renders a custom thead', function () {
|
|
349
|
-
var Header = function Header() {
|
|
350
|
-
return /*#__PURE__*/_react["default"].createElement("thead", {
|
|
351
|
-
className: "custom-thead"
|
|
352
|
-
});
|
|
353
|
-
};
|
|
354
|
-
props.components.Header = Header;
|
|
355
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeader)(buildProps(props))));
|
|
356
|
-
expect(wrapper.is('thead.custom-thead')).toBeTruthy();
|
|
357
|
-
});
|
|
358
|
-
});
|
|
359
|
-
describe('#buildTableHeaderRow', function () {
|
|
360
|
-
test('it renders normally', function () {
|
|
361
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeaderRow)(buildProps(props))));
|
|
362
|
-
expect(wrapper.is('tr')).toBeTruthy();
|
|
363
|
-
expect(wrapper.is('tr.custom-tr')).toBeFalsy();
|
|
364
|
-
});
|
|
365
|
-
test('it renders a custom thead', function () {
|
|
366
|
-
var HeaderRow = function HeaderRow() {
|
|
367
|
-
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
368
|
-
className: "custom-tr"
|
|
369
|
-
});
|
|
370
|
-
};
|
|
371
|
-
props.components.HeaderRow = HeaderRow;
|
|
372
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeaderRow)(buildProps(props))));
|
|
373
|
-
expect(wrapper.is('tr.custom-tr')).toBeTruthy();
|
|
374
|
-
});
|
|
375
|
-
});
|
|
376
|
-
describe('#buildTableHeaderCell', function () {
|
|
377
|
-
test('it renders normally', function () {
|
|
378
|
-
var column = columns.first();
|
|
379
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeaderCell)(buildProps(props))(column, 0)));
|
|
380
|
-
expect(wrapper.is('th')).toBeTruthy();
|
|
381
|
-
expect(wrapper.is('td.custom-td')).toBeFalsy();
|
|
382
|
-
});
|
|
383
|
-
test('it renders a custom th', function () {
|
|
384
|
-
var column = columns.first();
|
|
385
|
-
var HeaderCell = function HeaderCell() {
|
|
386
|
-
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
387
|
-
className: "custom-th"
|
|
388
|
-
});
|
|
389
|
-
};
|
|
390
|
-
props.components.HeaderCell = HeaderCell;
|
|
391
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeaderCell)(buildProps(props))(column, 0)));
|
|
392
|
-
expect(wrapper.is('th.custom-th')).toBeTruthy();
|
|
393
|
-
});
|
|
394
|
-
test('it renders a custom th for a specific column', function () {
|
|
395
|
-
var HeaderCell = function HeaderCell() {
|
|
396
|
-
return /*#__PURE__*/_react["default"].createElement("th", {
|
|
397
|
-
className: "custom-cell-th"
|
|
398
|
-
});
|
|
399
|
-
};
|
|
400
|
-
props.columns = props.columns.push((0, _immutable.Map)({
|
|
401
|
-
value: 'displayName',
|
|
402
|
-
title: 'DisplayName',
|
|
403
|
-
components: {
|
|
404
|
-
HeaderCell: HeaderCell
|
|
405
|
-
}
|
|
406
|
-
}));
|
|
407
|
-
props.columnSet = props.columnSet.push('displayName');
|
|
408
|
-
var column = props.columns.last();
|
|
409
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeaderCell)(buildProps(props))(column, 0)));
|
|
410
|
-
expect(wrapper.hasClass('custom-cell-th')).toBeTruthy();
|
|
411
|
-
});
|
|
412
|
-
});
|
|
413
|
-
describe('#buildTableBody', function () {
|
|
414
|
-
test('it renders normally', function () {
|
|
415
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableBody)(buildProps(props))));
|
|
416
|
-
expect(wrapper.is('tbody')).toBeTruthy();
|
|
417
|
-
expect(wrapper.is('tbody.custom-tbody')).toBeFalsy();
|
|
418
|
-
});
|
|
419
|
-
test('it renders a custom tbody', function () {
|
|
420
|
-
var Header = function Header() {
|
|
421
|
-
return /*#__PURE__*/_react["default"].createElement("tbody", {
|
|
422
|
-
className: "custom-tbody"
|
|
423
|
-
});
|
|
424
|
-
};
|
|
425
|
-
props.components.Header = Header;
|
|
426
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableHeader)(buildProps(props))));
|
|
427
|
-
expect(wrapper.is('tbody.custom-tbody')).toBeTruthy();
|
|
428
|
-
});
|
|
429
|
-
});
|
|
430
|
-
describe('#buildTableBodyRows', function () {
|
|
431
|
-
test('it renders rows normally', function () {
|
|
432
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, (0, _Table.buildTableBodyRows)(buildProps(props))))));
|
|
433
|
-
expect(wrapper.find('tr')).toHaveLength(props.rows.size);
|
|
434
|
-
expect(wrapper.find('tr').first().hasClass('custom-tr')).toBeFalsy();
|
|
435
|
-
});
|
|
436
|
-
test('it renders custom rows', function () {
|
|
437
|
-
var BodyRow = function BodyRow() {
|
|
438
|
-
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
439
|
-
className: "custom-tr"
|
|
440
|
-
});
|
|
441
|
-
};
|
|
442
|
-
props.components.BodyRow = BodyRow;
|
|
443
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, (0, _Table.buildTableBodyRows)(buildProps(props))))));
|
|
444
|
-
expect(wrapper.find('tr')).toHaveLength(props.rows.size);
|
|
445
|
-
expect(wrapper.find('tr').first().hasClass('custom-tr')).toBeTruthy();
|
|
446
|
-
});
|
|
447
|
-
test('it renders default empty row', function () {
|
|
448
|
-
props.rows = (0, _immutable.List)([]);
|
|
449
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, (0, _Table.buildTableBodyRows)(buildProps(props))))));
|
|
450
|
-
expect(wrapper.find('tr')).toHaveLength(1);
|
|
451
|
-
expect(wrapper.find('tr').first().hasClass('custom-empty-tr')).toBeFalsy();
|
|
452
|
-
});
|
|
453
|
-
test('it renders custom empty row', function () {
|
|
454
|
-
var EmptyBodyRow = function EmptyBodyRow() {
|
|
455
|
-
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
456
|
-
className: "custom-empty-tr"
|
|
457
|
-
});
|
|
458
|
-
};
|
|
459
|
-
props.rows = (0, _immutable.List)([]);
|
|
460
|
-
props.components.EmptyBodyRow = EmptyBodyRow;
|
|
461
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, (0, _Table.buildTableBodyRows)(buildProps(props))))));
|
|
462
|
-
expect(wrapper.find('tr')).toHaveLength(1);
|
|
463
|
-
expect(wrapper.find('tr').hasClass('custom-empty-tr')).toBeTruthy();
|
|
464
|
-
});
|
|
465
|
-
});
|
|
466
|
-
describe('#buildTableBodyCells', function () {
|
|
467
|
-
test('it renders cells normally', function () {
|
|
468
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, (0, _Table.buildTableBodyCells)(buildProps(props), props.rows.first(), 0))))));
|
|
469
|
-
expect(wrapper.find('tr td')).toHaveLength(1);
|
|
470
|
-
expect(wrapper.find('tr td').first().hasClass('custom-td')).toBeFalsy();
|
|
471
|
-
});
|
|
472
|
-
test('it renders custom cells', function () {
|
|
473
|
-
var BodyCell = function BodyCell() {
|
|
474
|
-
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
475
|
-
className: "custom-td"
|
|
476
|
-
});
|
|
477
|
-
};
|
|
478
|
-
props.components.BodyCell = BodyCell;
|
|
479
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, (0, _Table.buildTableBodyCells)(buildProps(props), props.rows.first(), 0))))));
|
|
480
|
-
expect(wrapper.find('tr td')).toHaveLength(props.columnSet.size);
|
|
481
|
-
expect(wrapper.find('tr td').first().hasClass('custom-td')).toBeTruthy();
|
|
482
|
-
});
|
|
483
|
-
test('it renders custom column cells', function () {
|
|
484
|
-
var BodyCell = function BodyCell() {
|
|
485
|
-
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
486
|
-
className: "custom-td"
|
|
487
|
-
});
|
|
488
|
-
};
|
|
489
|
-
props.columns = props.columns.push((0, _immutable.Map)({
|
|
490
|
-
value: 'displayName',
|
|
491
|
-
title: 'DisplayName',
|
|
492
|
-
components: {
|
|
493
|
-
BodyCell: BodyCell
|
|
494
|
-
}
|
|
495
|
-
}));
|
|
496
|
-
props.columnSet = props.columnSet.push('displayName');
|
|
497
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("table", null, /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, (0, _Table.buildTableBodyCells)(buildProps(props), props.rows.first(), 0))))));
|
|
498
|
-
expect(wrapper.find('tr td')).toHaveLength(props.columns.size);
|
|
499
|
-
expect(wrapper.find('tr td').first().hasClass('custom-td')).toBeFalsy();
|
|
500
|
-
expect(wrapper.find('tr td').last().hasClass('custom-td')).toBeTruthy();
|
|
501
|
-
});
|
|
502
|
-
});
|
|
503
|
-
describe('#buildTableFooter', function () {
|
|
504
|
-
test('it does not render normally', function () {
|
|
505
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooter)(buildProps(props))));
|
|
506
|
-
expect(wrapper.is('tfoot')).toBeFalsy();
|
|
507
|
-
});
|
|
508
|
-
test('it renders with includeFooter', function () {
|
|
509
|
-
props.includeFooter = true;
|
|
510
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooter)(buildProps(props))));
|
|
511
|
-
expect(wrapper.is('tfoot')).toBeTruthy();
|
|
512
|
-
expect(wrapper.is('tfoot.custom-tfoot')).toBeFalsy();
|
|
513
|
-
});
|
|
514
|
-
test('it renders a custom tfoot', function () {
|
|
515
|
-
var Footer = function Footer() {
|
|
516
|
-
return /*#__PURE__*/_react["default"].createElement("tfoot", {
|
|
517
|
-
className: "custom-tfoot"
|
|
518
|
-
});
|
|
519
|
-
};
|
|
520
|
-
props.includeFooter = true;
|
|
521
|
-
props.components.Footer = Footer;
|
|
522
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooter)(buildProps(props))));
|
|
523
|
-
expect(wrapper.is('tfoot.custom-tfoot')).toBeTruthy();
|
|
524
|
-
});
|
|
525
|
-
});
|
|
526
|
-
describe('#buildTableFooterRow', function () {
|
|
527
|
-
test('it renders normally', function () {
|
|
528
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooterRow)(buildProps(props))));
|
|
529
|
-
expect(wrapper.is('tr')).toBeTruthy();
|
|
530
|
-
expect(wrapper.is('tr.custom-tr')).toBeFalsy();
|
|
531
|
-
});
|
|
532
|
-
test('it renders a custom tr', function () {
|
|
533
|
-
var FooterRow = function FooterRow() {
|
|
534
|
-
return /*#__PURE__*/_react["default"].createElement("tr", {
|
|
535
|
-
className: "custom-tr"
|
|
536
|
-
});
|
|
537
|
-
};
|
|
538
|
-
props.components.FooterRow = FooterRow;
|
|
539
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooterRow)(buildProps(props))));
|
|
540
|
-
expect(wrapper.is('tr.custom-tr')).toBeTruthy();
|
|
541
|
-
});
|
|
542
|
-
});
|
|
543
|
-
describe('#buildTableFooterCells', function () {
|
|
544
|
-
test('it renders normally', function () {
|
|
545
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooterCells)(buildProps(props))));
|
|
546
|
-
expect(wrapper.first().is('td')).toBeTruthy();
|
|
547
|
-
expect(wrapper.first().is('td.custom-td')).toBeFalsy();
|
|
548
|
-
});
|
|
549
|
-
test('it renders a custom td', function () {
|
|
550
|
-
var FooterCell = function FooterCell() {
|
|
551
|
-
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
552
|
-
className: "custom-td"
|
|
553
|
-
});
|
|
554
|
-
};
|
|
555
|
-
props.components.FooterCell = FooterCell;
|
|
556
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, (0, _Table.buildTableFooterCells)(buildProps(props))));
|
|
557
|
-
expect(wrapper.is('td.custom-td')).toBeTruthy();
|
|
558
|
-
});
|
|
559
|
-
test('it renders a custom td for a specific column', function () {
|
|
560
|
-
var FooterCell = function FooterCell() {
|
|
561
|
-
return /*#__PURE__*/_react["default"].createElement("td", {
|
|
562
|
-
className: "custom-td"
|
|
563
|
-
});
|
|
564
|
-
};
|
|
565
|
-
props.columns = props.columns.push((0, _immutable.Map)({
|
|
566
|
-
value: 'displayName',
|
|
567
|
-
title: 'DisplayName',
|
|
568
|
-
components: {
|
|
569
|
-
FooterCell: FooterCell
|
|
570
|
-
}
|
|
571
|
-
}));
|
|
572
|
-
props.columnSet = props.columnSet.push('displayName');
|
|
573
|
-
var wrapper = (0, _enzyme.render)( /*#__PURE__*/_react["default"].createElement(_index.KineticLib, null, /*#__PURE__*/_react["default"].createElement("tfoot", null, /*#__PURE__*/_react["default"].createElement("tr", null, (0, _Table.buildTableFooterCells)(buildProps(props))))));
|
|
574
|
-
expect(wrapper.find('td')).toHaveLength(props.columns.size);
|
|
575
|
-
expect(wrapper.find('td').first().hasClass('custom-td')).toBeFalsy();
|
|
576
|
-
expect(wrapper.find('td').last().hasClass('custom-td')).toBeTruthy();
|
|
577
|
-
});
|
|
578
|
-
});
|
|
579
|
-
});
|
|
580
|
-
describe('data manipulators', function () {
|
|
581
|
-
describe('#generateColumns', function () {
|
|
582
|
-
var columns;
|
|
583
|
-
var addColumns;
|
|
584
|
-
var alterColumns;
|
|
585
|
-
beforeEach(function () {
|
|
586
|
-
columns = [{
|
|
587
|
-
value: 'a',
|
|
588
|
-
title: 'A'
|
|
589
|
-
}];
|
|
590
|
-
addColumns = [{
|
|
591
|
-
value: 'b',
|
|
592
|
-
title: 'B'
|
|
593
|
-
}];
|
|
594
|
-
alterColumns = {};
|
|
595
|
-
});
|
|
596
|
-
test('combines the column config and additional columns', function () {
|
|
597
|
-
var total = columns.length + addColumns.length;
|
|
598
|
-
expect((0, _Table.generateColumns)(columns, addColumns, alterColumns).size).toBe(total);
|
|
599
|
-
});
|
|
600
|
-
test('alters columns with config', function () {
|
|
601
|
-
alterColumns.a = {
|
|
602
|
-
sortable: true
|
|
603
|
-
};
|
|
604
|
-
var columnConfig = (0, _Table.generateColumns)(columns, addColumns, alterColumns);
|
|
605
|
-
var column = columnConfig.find(function (c) {
|
|
606
|
-
return c.get('value') === columns[0].value;
|
|
607
|
-
});
|
|
608
|
-
expect(column.get('sortable')).toBeTruthy();
|
|
609
|
-
});
|
|
610
|
-
test('alters columns does not change value key', function () {
|
|
611
|
-
alterColumns.a = {
|
|
612
|
-
value: 'c'
|
|
613
|
-
};
|
|
614
|
-
var columnConfig = (0, _Table.generateColumns)(columns, addColumns, alterColumns);
|
|
615
|
-
var column = columnConfig.find(function (c) {
|
|
616
|
-
return c.get('value') === 'a';
|
|
617
|
-
});
|
|
618
|
-
expect(column).not.toBeUndefined();
|
|
619
|
-
});
|
|
620
|
-
});
|
|
621
|
-
describe('#sortColumns', function () {
|
|
622
|
-
test('sort columns returns expected sort order', function () {
|
|
623
|
-
var columns = (0, _immutable.List)([(0, _immutable.Map)({
|
|
624
|
-
value: 'a',
|
|
625
|
-
title: 'A'
|
|
626
|
-
}), (0, _immutable.Map)({
|
|
627
|
-
value: 'b',
|
|
628
|
-
title: 'B'
|
|
629
|
-
}), (0, _immutable.Map)({
|
|
630
|
-
value: 'c',
|
|
631
|
-
title: 'C'
|
|
632
|
-
})]);
|
|
633
|
-
var columnSet = (0, _immutable.List)(['b', 'a']);
|
|
634
|
-
expect((0, _Table.sortColumns)(columns, columnSet).toJS().map(function (c) {
|
|
635
|
-
return c.value;
|
|
636
|
-
}).join('')).toBe('bca');
|
|
637
|
-
});
|
|
638
|
-
});
|
|
639
|
-
describe('#getToggleableColumns', function () {
|
|
640
|
-
test('toggleable columns list is correct', function () {
|
|
641
|
-
var columns = (0, _immutable.List)([(0, _immutable.Map)({
|
|
642
|
-
value: 'a',
|
|
643
|
-
title: 'A',
|
|
644
|
-
toggleable: true
|
|
645
|
-
}), (0, _immutable.Map)({
|
|
646
|
-
value: 'b',
|
|
647
|
-
title: 'B'
|
|
648
|
-
}), (0, _immutable.Map)({
|
|
649
|
-
value: 'c',
|
|
650
|
-
title: 'C'
|
|
651
|
-
}), (0, _immutable.Map)({
|
|
652
|
-
value: 'd'
|
|
653
|
-
})]);
|
|
654
|
-
var columnSet = (0, _immutable.List)(['a', 'b', 'd']);
|
|
655
|
-
expect((0, _Table.getToggleableColumns)(columns, columnSet, 'table-key').toJS().map(function (c) {
|
|
656
|
-
return c.value;
|
|
657
|
-
}).join('')).toBe('ab');
|
|
658
|
-
});
|
|
659
|
-
});
|
|
660
|
-
xdescribe('#extractColumnComponents', function () {
|
|
661
|
-
var columns, addColumns, alterColumns;
|
|
662
|
-
beforeEach(function () {
|
|
663
|
-
columns = [{
|
|
664
|
-
value: 'first'
|
|
665
|
-
}, {
|
|
666
|
-
value: 'second',
|
|
667
|
-
components: {
|
|
668
|
-
BodyCell: 'two'
|
|
669
|
-
}
|
|
670
|
-
}, {
|
|
671
|
-
value: 'third'
|
|
672
|
-
}];
|
|
673
|
-
addColumns = [{
|
|
674
|
-
value: 'fourth'
|
|
675
|
-
}, {
|
|
676
|
-
value: 'fifth',
|
|
677
|
-
components: {
|
|
678
|
-
BodyCell: 'five'
|
|
679
|
-
}
|
|
680
|
-
}];
|
|
681
|
-
alterColumns = {
|
|
682
|
-
third: {
|
|
683
|
-
components: {
|
|
684
|
-
BodyCell: 'three'
|
|
685
|
-
}
|
|
686
|
-
}
|
|
687
|
-
};
|
|
688
|
-
});
|
|
689
|
-
xtest('returns a map of components with overrides', function () {
|
|
690
|
-
var result = (0, _Table.extractColumnComponents)({
|
|
691
|
-
columns: columns,
|
|
692
|
-
addColumns: addColumns,
|
|
693
|
-
alterColumns: alterColumns
|
|
694
|
-
});
|
|
695
|
-
console.log(columns);
|
|
696
|
-
expect(result.toJS()).toBe([]);
|
|
697
|
-
});
|
|
698
|
-
});
|
|
699
|
-
});
|
|
700
|
-
});
|