Skip to content

Commit 49c31c4

Browse files
committed
feat: ember table for mail logs
1 parent 9c9f51f commit 49c31c4

File tree

5 files changed

+71
-45
lines changed

5 files changed

+71
-45
lines changed
Lines changed: 40 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,42 @@
11
import Controller from '@ember/controller';
2+
import { computed } from '@ember/object';
3+
import EmberTableControllerMixin from 'open-event-frontend/mixins/ember-table-controller';
24

3-
export default Controller.extend({
4-
columns: [
5-
{
6-
propertyName : 'recipient',
7-
title : 'To',
8-
disableSorting : true,
9-
disableFiltering : true
10-
},
11-
{
12-
propertyName : 'time',
13-
template : 'components/ui-table/cell/admin/reports/system-logs/activity-logs/cell-time',
14-
title : 'Time'
15-
},
16-
{
17-
propertyName : 'action',
18-
title : 'Actions',
19-
disableSorting : true,
20-
disableFiltering : true
21-
},
22-
{
23-
propertyName : 'message',
24-
title : 'Message',
25-
template : 'components/ui-table/cell/admin/reports/system-logs/mail-logs/cell-mail-message',
26-
disableSorting : true,
27-
disableFiltering : true
28-
}
29-
]
30-
});
5+
6+
export default class extends Controller.extend(EmberTableControllerMixin) {
7+
per_page = 100;
8+
sort_by = 'time';
9+
sort_dir = 'ASC';
10+
11+
@computed()
12+
get columns() {
13+
return [
14+
{
15+
name : 'To',
16+
valuePath : 'recipient',
17+
headerComponent : 'tables/headers/sort',
18+
isSortable : true
19+
},
20+
{
21+
name : 'Time',
22+
valuePath : 'time',
23+
cellComponent : 'ui-table/cell/admin/reports/system-logs/activity-logs/cell-time',
24+
headerComponent : 'tables/headers/sort',
25+
isSortable : true
26+
},
27+
{
28+
name : 'Actions',
29+
valuePath : 'action',
30+
headerComponent : 'tables/headers/sort',
31+
isSortable : true
32+
},
33+
{
34+
name : 'Message',
35+
valuePath : 'message',
36+
extraValuePaths : ['subject'],
37+
cellComponent : 'ui-table/cell/admin/reports/system-logs/mail-logs/cell-mail-message'
38+
}
39+
];
40+
}
41+
42+
}
Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
import Route from '@ember/routing/route';
2+
import EmberTableRouteMixin from 'open-event-frontend/mixins/ember-table-route';
23

3-
export default Route.extend({
4+
export default class extends Route.extend(EmberTableRouteMixin) {
45
titleToken() {
56
return this.l10n.t('Mail Logs');
6-
},
7+
}
8+
9+
async model(params) {
10+
const searchField = 'recipient';
11+
let filterOptions = this.applySearchFilters([], params, searchField);
712

8-
model() {
9-
return this.store.query('mail', {
10-
'page[size]' : 100,
11-
sort : '-time'
12-
});
13+
let queryString = {
14+
filter : filterOptions,
15+
'page[size]' : params.per_page || 100,
16+
'page[number]' : params.page || 1
17+
};
18+
queryString = this.applySortFilters(queryString, params);
19+
return this.asArray(this.store.query('mail', queryString));
1320
}
14-
});
21+
}
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
{{events/events-table columns=columns data=model
2-
useNumericPagination=true
3-
showGlobalFilter=true
4-
showPageSize=true
5-
customGlobalFilter='recipient'
6-
}}
1+
{{tables/default columns=columns
2+
rows=model.data
3+
currentPage=page
4+
pageSize=per_page
5+
searchQuery=search
6+
sortBy=sort_by
7+
sortDir=sort_dir
8+
metaData=model.meta
9+
filterOptions=filterOptions
10+
widthConstraint="eq-container"
11+
resizeMode="fluid"
12+
fillMode="equal-column"
13+
}}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{{moment-from-now record.time}}
1+
{{moment-from-now record}}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<h5 class="ui header">
2-
{{record.subject}}
2+
{{extraRecords.subject}}
33
</h5>
44
<span>
5-
{{sanitize record.message}}
5+
{{sanitize record}}
66
</span>

0 commit comments

Comments
 (0)