mirror of
https://github.com/ansible/awx.git
synced 2026-03-02 09:18:48 -03:30
fix tests with search updates
This commit is contained in:
31
awx/ui_next/package-lock.json
generated
31
awx/ui_next/package-lock.json
generated
@@ -13354,6 +13354,17 @@
|
|||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.6.2",
|
||||||
"scheduler": "^0.13.6"
|
"scheduler": "^0.13.6"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"scheduler": {
|
||||||
|
"version": "0.13.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
|
||||||
|
"integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"object-assign": "^4.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-codemirror2": {
|
"react-codemirror2": {
|
||||||
@@ -13370,6 +13381,17 @@
|
|||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.6.2",
|
||||||
"scheduler": "^0.13.6"
|
"scheduler": "^0.13.6"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"scheduler": {
|
||||||
|
"version": "0.13.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
|
||||||
|
"integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"object-assign": "^4.1.1"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-fast-compare": {
|
"react-fast-compare": {
|
||||||
@@ -14398,15 +14420,6 @@
|
|||||||
"xmlchars": "^2.1.1"
|
"xmlchars": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scheduler": {
|
|
||||||
"version": "0.13.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
|
|
||||||
"integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
|
|
||||||
"requires": {
|
|
||||||
"loose-envify": "^1.1.0",
|
|
||||||
"object-assign": "^4.1.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"scheduler": {
|
"scheduler": {
|
||||||
"version": "0.15.0",
|
"version": "0.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.15.0.tgz",
|
||||||
|
|||||||
@@ -5,6 +5,13 @@ import DataListToolbar from './DataListToolbar';
|
|||||||
describe('<DataListToolbar />', () => {
|
describe('<DataListToolbar />', () => {
|
||||||
let toolbar;
|
let toolbar;
|
||||||
|
|
||||||
|
const QS_CONFIG = {
|
||||||
|
namespace: 'organization',
|
||||||
|
dateFields: [ 'modified', 'created' ],
|
||||||
|
defaultParams: { page: 1, page_size: 5, order_by: 'name' },
|
||||||
|
integerFields: ['page', 'page_size'],
|
||||||
|
};
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
if (toolbar) {
|
if (toolbar) {
|
||||||
toolbar.unmount();
|
toolbar.unmount();
|
||||||
@@ -28,6 +35,7 @@ describe('<DataListToolbar />', () => {
|
|||||||
|
|
||||||
toolbar = mountWithContexts(
|
toolbar = mountWithContexts(
|
||||||
<DataListToolbar
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
isAllSelected={false}
|
isAllSelected={false}
|
||||||
showExpandCollapse
|
showExpandCollapse
|
||||||
sortedColumnKey="name"
|
sortedColumnKey="name"
|
||||||
@@ -77,6 +85,7 @@ describe('<DataListToolbar />', () => {
|
|||||||
|
|
||||||
toolbar = mountWithContexts(
|
toolbar = mountWithContexts(
|
||||||
<DataListToolbar
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
sortedColumnKey="foo"
|
sortedColumnKey="foo"
|
||||||
sortOrder="ascending"
|
sortOrder="ascending"
|
||||||
columns={multipleColumns}
|
columns={multipleColumns}
|
||||||
@@ -151,6 +160,7 @@ describe('<DataListToolbar />', () => {
|
|||||||
|
|
||||||
toolbar = mountWithContexts(
|
toolbar = mountWithContexts(
|
||||||
<DataListToolbar
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
sortedColumnKey="id"
|
sortedColumnKey="id"
|
||||||
sortOrder="descending"
|
sortOrder="descending"
|
||||||
columns={numericColumns}
|
columns={numericColumns}
|
||||||
@@ -173,6 +183,7 @@ describe('<DataListToolbar />', () => {
|
|||||||
|
|
||||||
toolbar = mountWithContexts(
|
toolbar = mountWithContexts(
|
||||||
<DataListToolbar
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
sortedColumnKey="name"
|
sortedColumnKey="name"
|
||||||
sortOrder="descending"
|
sortOrder="descending"
|
||||||
columns={alphaColumns}
|
columns={alphaColumns}
|
||||||
@@ -184,6 +195,7 @@ describe('<DataListToolbar />', () => {
|
|||||||
|
|
||||||
toolbar = mountWithContexts(
|
toolbar = mountWithContexts(
|
||||||
<DataListToolbar
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
sortedColumnKey="name"
|
sortedColumnKey="name"
|
||||||
sortOrder="ascending"
|
sortOrder="ascending"
|
||||||
columns={alphaColumns}
|
columns={alphaColumns}
|
||||||
@@ -204,6 +216,7 @@ describe('<DataListToolbar />', () => {
|
|||||||
|
|
||||||
toolbar = mountWithContexts(
|
toolbar = mountWithContexts(
|
||||||
<DataListToolbar
|
<DataListToolbar
|
||||||
|
qsConfig={QS_CONFIG}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
onSearch={onSearch}
|
onSearch={onSearch}
|
||||||
onSort={onSort}
|
onSort={onSort}
|
||||||
|
|||||||
@@ -114,14 +114,15 @@ class Search extends React.Component {
|
|||||||
const { searchKey, searchValue } = this.state;
|
const { searchKey, searchValue } = this.state;
|
||||||
const { onSearch, qsConfig } = this.props;
|
const { onSearch, qsConfig } = this.props;
|
||||||
|
|
||||||
const isNonStringField = key => qsConfig
|
const isNonStringField = key =>
|
||||||
.integerFields
|
qsConfig.integerFields.filter(field => field === key).length ||
|
||||||
.filter(field => field === key).length || qsConfig.dateFields
|
qsConfig.dateFields.filter(field => field === key).length;
|
||||||
.filter(field => field === key).length;
|
|
||||||
|
|
||||||
// TODO: this will probably become more sophisticated, where date
|
// TODO: this will probably become more sophisticated, where date
|
||||||
// fields and string fields are passed to a formatter
|
// fields and string fields are passed to a formatter
|
||||||
const actualSearchKey = isNonStringField(searchKey) ? searchKey : `${searchKey}__icontains`;
|
const actualSearchKey = isNonStringField(searchKey)
|
||||||
|
? searchKey
|
||||||
|
: `${searchKey}__icontains`;
|
||||||
|
|
||||||
onSearch(actualSearchKey, searchValue);
|
onSearch(actualSearchKey, searchValue);
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,13 @@ import Search from './Search';
|
|||||||
describe('<Search />', () => {
|
describe('<Search />', () => {
|
||||||
let search;
|
let search;
|
||||||
|
|
||||||
|
const QS_CONFIG = {
|
||||||
|
namespace: 'organization',
|
||||||
|
dateFields: [ 'modified', 'created' ],
|
||||||
|
defaultParams: { page: 1, page_size: 5, order_by: 'name' },
|
||||||
|
integerFields: ['page', 'page_size'],
|
||||||
|
};
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
if (search) {
|
if (search) {
|
||||||
search = null;
|
search = null;
|
||||||
@@ -22,7 +29,7 @@ describe('<Search />', () => {
|
|||||||
const onSearch = jest.fn();
|
const onSearch = jest.fn();
|
||||||
|
|
||||||
search = mountWithContexts(
|
search = mountWithContexts(
|
||||||
<Search sortedColumnKey="name" columns={columns} onSearch={onSearch} />
|
<Search qsConfig={QS_CONFIG} sortedColumnKey="name" columns={columns} onSearch={onSearch} />
|
||||||
);
|
);
|
||||||
|
|
||||||
search.find(searchTextInput).instance().value = 'test-321';
|
search.find(searchTextInput).instance().value = 'test-321';
|
||||||
@@ -39,7 +46,7 @@ describe('<Search />', () => {
|
|||||||
];
|
];
|
||||||
const onSearch = jest.fn();
|
const onSearch = jest.fn();
|
||||||
const wrapper = mountWithContexts(
|
const wrapper = mountWithContexts(
|
||||||
<Search sortedColumnKey="name" columns={columns} onSearch={onSearch} />
|
<Search qsConfig={QS_CONFIG} sortedColumnKey="name" columns={columns} onSearch={onSearch} />
|
||||||
).find('Search');
|
).find('Search');
|
||||||
expect(wrapper.state('isSearchDropdownOpen')).toEqual(false);
|
expect(wrapper.state('isSearchDropdownOpen')).toEqual(false);
|
||||||
wrapper.instance().handleDropdownToggle(true);
|
wrapper.instance().handleDropdownToggle(true);
|
||||||
@@ -58,7 +65,7 @@ describe('<Search />', () => {
|
|||||||
];
|
];
|
||||||
const onSearch = jest.fn();
|
const onSearch = jest.fn();
|
||||||
const wrapper = mountWithContexts(
|
const wrapper = mountWithContexts(
|
||||||
<Search sortedColumnKey="name" columns={columns} onSearch={onSearch} />
|
<Search qsConfig={QS_CONFIG} sortedColumnKey="name" columns={columns} onSearch={onSearch} />
|
||||||
).find('Search');
|
).find('Search');
|
||||||
expect(wrapper.state('searchKey')).toEqual('name');
|
expect(wrapper.state('searchKey')).toEqual('name');
|
||||||
wrapper
|
wrapper
|
||||||
|
|||||||
@@ -41,6 +41,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
items={Array []}
|
items={Array []}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -91,6 +95,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
items={Array []}
|
items={Array []}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -157,6 +165,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
}
|
}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -221,6 +233,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
itemCount={0}
|
itemCount={0}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -278,6 +294,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
}
|
}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -329,6 +349,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
onRemoveAll={[Function]}
|
onRemoveAll={[Function]}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -353,6 +377,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
onRemoveAll={[Function]}
|
onRemoveAll={[Function]}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -391,6 +419,10 @@ exports[`<OrganizationAccess /> initially renders succesfully 1`] = `
|
|||||||
onRemoveAll={[Function]}
|
onRemoveAll={[Function]}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "first_name",
|
"order_by": "first_name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
|
|||||||
@@ -67,6 +67,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
}
|
}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -137,6 +141,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
}
|
}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -222,6 +230,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
}
|
}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -286,6 +298,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
itemCount={2}
|
itemCount={2}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -344,6 +360,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
}
|
}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -1713,6 +1733,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
onRemoveAll={[Function]}
|
onRemoveAll={[Function]}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -1737,6 +1761,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
onRemoveAll={[Function]}
|
onRemoveAll={[Function]}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
@@ -1775,6 +1803,10 @@ exports[`<OrganizationNotifications /> initially renders succesfully 1`] = `
|
|||||||
onRemoveAll={[Function]}
|
onRemoveAll={[Function]}
|
||||||
qsConfig={
|
qsConfig={
|
||||||
Object {
|
Object {
|
||||||
|
"dateFields": Array [
|
||||||
|
"modified",
|
||||||
|
"created",
|
||||||
|
],
|
||||||
"defaultParams": Object {
|
"defaultParams": Object {
|
||||||
"order_by": "name",
|
"order_by": "name",
|
||||||
"page": 1,
|
"page": 1,
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ describe('<OrganizationTeams />', () => {
|
|||||||
expect(list.prop('itemCount')).toEqual(listData.data.count);
|
expect(list.prop('itemCount')).toEqual(listData.data.count);
|
||||||
expect(list.prop('qsConfig')).toEqual({
|
expect(list.prop('qsConfig')).toEqual({
|
||||||
namespace: 'team',
|
namespace: 'team',
|
||||||
|
dateFields: [ 'modified', 'created' ],
|
||||||
defaultParams: {
|
defaultParams: {
|
||||||
page: 1,
|
page: 1,
|
||||||
page_size: 5,
|
page_size: 5,
|
||||||
|
|||||||
@@ -166,14 +166,20 @@ export function getQSConfig(
|
|||||||
) {
|
) {
|
||||||
if (!namespace) {
|
if (!namespace) {
|
||||||
throw new Error('a QS namespace is required');
|
throw new Error('a QS namespace is required');
|
||||||
} else if (Object.keys(defaultParams).filter(key => key !== 'page' || key !== 'page_size' || key !== 'order_by').length > 0) {
|
} else if (
|
||||||
throw new Error('Only page, page_size, and order_by allowed as default params for QS.')
|
Object.keys(defaultParams).filter(
|
||||||
|
key => key !== 'page' && key !== 'page_size' && key !== 'order_by'
|
||||||
|
).length > 0
|
||||||
|
) {
|
||||||
|
throw new Error(
|
||||||
|
'Only page, page_size, and order_by allowed as default params for QS.'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
namespace,
|
namespace,
|
||||||
defaultParams,
|
defaultParams,
|
||||||
integerFields,
|
integerFields,
|
||||||
dateFields
|
dateFields,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ describe('qs (qs.js)', () => {
|
|||||||
test('should get default QS config object', () => {
|
test('should get default QS config object', () => {
|
||||||
expect(getQSConfig('organization')).toEqual({
|
expect(getQSConfig('organization')).toEqual({
|
||||||
namespace: 'organization',
|
namespace: 'organization',
|
||||||
|
dateFields: [ 'modified', 'created' ],
|
||||||
defaultParams: { page: 1, page_size: 5, order_by: 'name' },
|
defaultParams: { page: 1, page_size: 5, order_by: 'name' },
|
||||||
integerFields: ['page', 'page_size'],
|
integerFields: ['page', 'page_size'],
|
||||||
});
|
});
|
||||||
@@ -94,6 +95,7 @@ describe('qs (qs.js)', () => {
|
|||||||
};
|
};
|
||||||
expect(getQSConfig('inventory', defaults)).toEqual({
|
expect(getQSConfig('inventory', defaults)).toEqual({
|
||||||
namespace: 'inventory',
|
namespace: 'inventory',
|
||||||
|
dateFields: [ 'modified', 'created' ],
|
||||||
defaultParams: { page: 1, page_size: 15 },
|
defaultParams: { page: 1, page_size: 15 },
|
||||||
integerFields: ['page', 'page_size'],
|
integerFields: ['page', 'page_size'],
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user