Added table pagination support.
This commit is contained in:
parent
734c821abc
commit
1a71444c22
4 changed files with 331 additions and 7 deletions
|
@ -112,12 +112,14 @@ class App.ControllerTable extends App.Controller
|
||||||
renderState: undefined
|
renderState: undefined
|
||||||
groupBy: undefined
|
groupBy: undefined
|
||||||
|
|
||||||
|
shownPerPage: 150
|
||||||
|
shownPage: 0
|
||||||
|
|
||||||
destroy: false
|
destroy: false
|
||||||
|
|
||||||
columnsLength: undefined
|
columnsLength: undefined
|
||||||
headers: undefined
|
headers: undefined
|
||||||
headerWidth: {}
|
headerWidth: {}
|
||||||
maxShown: 150
|
|
||||||
|
|
||||||
currentRows: []
|
currentRows: []
|
||||||
|
|
||||||
|
@ -142,8 +144,7 @@ class App.ControllerTable extends App.Controller
|
||||||
@overviewAttributes ||= @overview || @model.configure_overview || []
|
@overviewAttributes ||= @overview || @model.configure_overview || []
|
||||||
@attributesListRaw ||= @attribute_list || @model.configure_attributes || {}
|
@attributesListRaw ||= @attribute_list || @model.configure_attributes || {}
|
||||||
@attributesList = App.Model.attributesGet(false, @attributesListRaw)
|
@attributesList = App.Model.attributesGet(false, @attributesListRaw)
|
||||||
#@setHeaderWidths = App.Model.setHeaderWidthsGet(false, @attributesList)
|
@destroy = @model.configure_delete
|
||||||
@destroy = @model.configure_delete
|
|
||||||
|
|
||||||
throw 'overviewAttributes needed' if _.isEmpty(@overviewAttributes)
|
throw 'overviewAttributes needed' if _.isEmpty(@overviewAttributes)
|
||||||
throw 'attributesList needed' if _.isEmpty(@attributesList)
|
throw 'attributesList needed' if _.isEmpty(@attributesList)
|
||||||
|
@ -182,7 +183,25 @@ class App.ControllerTable extends App.Controller
|
||||||
App.QueueManager.add('tableRender', localeRender)
|
App.QueueManager.add('tableRender', localeRender)
|
||||||
App.QueueManager.run('tableRender')
|
App.QueueManager.run('tableRender')
|
||||||
|
|
||||||
|
renderPager: (el, find = false) =>
|
||||||
|
pages = parseInt(((@objects.length - 1) / @shownPerPage))
|
||||||
|
if pages < 1
|
||||||
|
if find
|
||||||
|
el.find('.js-pager').html('')
|
||||||
|
else
|
||||||
|
el.filter('.js-pager').html('')
|
||||||
|
return
|
||||||
|
pager = App.view('generic/table_pager')(
|
||||||
|
page: @shownPage
|
||||||
|
pages: pages
|
||||||
|
)
|
||||||
|
if find
|
||||||
|
el.find('.js-pager').html(pager)
|
||||||
|
else
|
||||||
|
el.filter('.js-pager').html(pager)
|
||||||
|
|
||||||
render: =>
|
render: =>
|
||||||
|
@setMaxPage()
|
||||||
if @renderState is undefined
|
if @renderState is undefined
|
||||||
|
|
||||||
# check if table is empty
|
# check if table is empty
|
||||||
|
@ -246,6 +265,7 @@ class App.ControllerTable extends App.Controller
|
||||||
@$("tbody > tr:nth-child(#{position})").after(newCurrentRows[position])
|
@$("tbody > tr:nth-child(#{position})").after(newCurrentRows[position])
|
||||||
@currentRows = newCurrentRows
|
@currentRows = newCurrentRows
|
||||||
console.log('fullRender.contentRemoved', removePositions, addPositions)
|
console.log('fullRender.contentRemoved', removePositions, addPositions)
|
||||||
|
@renderPager(@el, true)
|
||||||
return ['fullRender.contentRemoved', removePositions, addPositions]
|
return ['fullRender.contentRemoved', removePositions, addPositions]
|
||||||
|
|
||||||
if newRows.length isnt @currentRows.length
|
if newRows.length isnt @currentRows.length
|
||||||
|
@ -282,6 +302,8 @@ class App.ControllerTable extends App.Controller
|
||||||
@currentRows = clone(rows)
|
@currentRows = clone(rows)
|
||||||
container.find('.js-tableBody').html(rows)
|
container.find('.js-tableBody').html(rows)
|
||||||
|
|
||||||
|
@renderPager(container)
|
||||||
|
|
||||||
cursorMap =
|
cursorMap =
|
||||||
click: 'pointer'
|
click: 'pointer'
|
||||||
dblclick: 'pointer'
|
dblclick: 'pointer'
|
||||||
|
@ -402,6 +424,17 @@ class App.ControllerTable extends App.Controller
|
||||||
update: @dndCallback
|
update: @dndCallback
|
||||||
container.find('tbody').sortable(dndOptions)
|
container.find('tbody').sortable(dndOptions)
|
||||||
|
|
||||||
|
# click on pager
|
||||||
|
container.delegate('.js-page', 'click', (e) =>
|
||||||
|
e.stopPropagation()
|
||||||
|
page = $(e.currentTarget).attr 'data-page'
|
||||||
|
render = =>
|
||||||
|
@shownPage = page
|
||||||
|
@renderTableFull()
|
||||||
|
App.QueueManager.add('tableRender', render)
|
||||||
|
App.QueueManager.run('tableRender')
|
||||||
|
)
|
||||||
|
|
||||||
@el.html(container)
|
@el.html(container)
|
||||||
@setBulkSelected(bulkIds)
|
@setBulkSelected(bulkIds)
|
||||||
|
|
||||||
|
@ -424,7 +457,7 @@ class App.ControllerTable extends App.Controller
|
||||||
columnsLength++
|
columnsLength++
|
||||||
groupLast = ''
|
groupLast = ''
|
||||||
tableBody = []
|
tableBody = []
|
||||||
objectsToShow = @objects.slice(0, @maxShown)
|
objectsToShow = @objectsOfPage(@shownPage)
|
||||||
for object in objectsToShow
|
for object in objectsToShow
|
||||||
if object
|
if object
|
||||||
position++
|
position++
|
||||||
|
@ -549,6 +582,15 @@ class App.ControllerTable extends App.Controller
|
||||||
console.log('tableHeaders: new headers', @headers)
|
console.log('tableHeaders: new headers', @headers)
|
||||||
['new headers', @headers]
|
['new headers', @headers]
|
||||||
|
|
||||||
|
setMaxPage: =>
|
||||||
|
pages = parseInt(((@objects.length - 1) / @shownPerPage))
|
||||||
|
if parseInt(@shownPage) > pages
|
||||||
|
@shownPage = pages
|
||||||
|
|
||||||
|
objectsOfPage: (page = 0) =>
|
||||||
|
page = parseInt(page)
|
||||||
|
@objects.slice(page * @shownPerPage, (page + 1) * @shownPerPage)
|
||||||
|
|
||||||
sortList: =>
|
sortList: =>
|
||||||
return if _.isEmpty(@objects)
|
return if _.isEmpty(@objects)
|
||||||
|
|
||||||
|
@ -680,8 +722,6 @@ class App.ControllerTable extends App.Controller
|
||||||
@objects = localObjects
|
@objects = localObjects
|
||||||
@lastSortedobjects = localObjects
|
@lastSortedobjects = localObjects
|
||||||
|
|
||||||
localObjects
|
|
||||||
|
|
||||||
# bind on delete dialog
|
# bind on delete dialog
|
||||||
deleteRow: (id, e) =>
|
deleteRow: (id, e) =>
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
<div class="js-pager"></div>
|
||||||
<table class="table table-hover<%- " #{@class}" if @class %>">
|
<table class="table table-hover<%- " #{@class}" if @class %>">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -36,3 +37,4 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="js-tableBody"><%- @tableBody %></tbody>
|
<tbody class="js-tableBody"><%- @tableBody %></tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<div class="js-pager"></div>
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<div class="btn-group btn-group--full" role="group" aria-label="" style="margin-bottom: 5px;">
|
||||||
|
<% for page in [0..@pages]: %>
|
||||||
|
<div class="btn btn--text btn--large js-page<%- ' is-selected' if @page is page || @page is page.toString() %>" data-page="<%= page %>"><%= page + 1 %></div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
|
@ -1044,4 +1044,281 @@ test('table new - initial list', function() {
|
||||||
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014')
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014')
|
||||||
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true')
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true')
|
||||||
equal(el.find('tbody > tr:nth-child(2) > td').length, 0)
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 0)
|
||||||
|
|
||||||
|
$('#table').append('<hr><h1>table with large data and pager</h1><div id="table-new5"></div>')
|
||||||
|
var el = $('#table-new5')
|
||||||
|
|
||||||
|
var objects = [];
|
||||||
|
var created_at = Date.parse('2014-06-10T11:17:34.000Z')
|
||||||
|
|
||||||
|
for (i = 0; i < 151; i++) {
|
||||||
|
local_created_at = new Date(created_at - (1000 * 60 * 60 * 24 * i)).toISOString()
|
||||||
|
item = {
|
||||||
|
id: i,
|
||||||
|
name: i + ' prio',
|
||||||
|
note: 'some note',
|
||||||
|
active: true,
|
||||||
|
created_at: local_created_at,
|
||||||
|
}
|
||||||
|
objects.push(item)
|
||||||
|
}
|
||||||
|
|
||||||
|
App.TicketPriority.refresh(objects, {clear: true})
|
||||||
|
|
||||||
|
var table = new App.ControllerTable({
|
||||||
|
tableId: 'large_table_test_pager',
|
||||||
|
el: el,
|
||||||
|
overviewAttributes: ['name', 'created_at', 'active'],
|
||||||
|
model: App.TicketPriority,
|
||||||
|
objects: App.TicketPriority.all(),
|
||||||
|
checkbox: false,
|
||||||
|
radio: false,
|
||||||
|
ttt: true
|
||||||
|
})
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '0 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '1 prio', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '09.06.2014', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 3, 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:first').text().trim(), '2 prio', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(2)').text().trim(), '08.06.2014', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(3)').text().trim(), 'true', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr').length, 150)
|
||||||
|
equal(el.find('tbody > tr:nth-child(151) > td').length, 0)
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 2)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').length, 1)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').text(), '1')
|
||||||
|
el.find('.js-pager').first().find('.js-page:nth-child(2)').click()
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '150 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '11.01.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr').length, 1)
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 0)
|
||||||
|
|
||||||
|
objects = [
|
||||||
|
{
|
||||||
|
id: 500,
|
||||||
|
name: '500 prio',
|
||||||
|
note: 'some note',
|
||||||
|
active: true,
|
||||||
|
created_at: '2014-06-10T10:17:30.000Z',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
App.TicketPriority.refresh(objects)
|
||||||
|
|
||||||
|
result = table.update({sync: true, objects: App.TicketPriority.all()})
|
||||||
|
equal(result[0], 'fullRender.contentRemoved')
|
||||||
|
equal(result[1][0], undefined)
|
||||||
|
equal(result[2][0], 1)
|
||||||
|
equal(result[2][1], undefined)
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '150 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '11.01.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '500 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr').length, 2)
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 0)
|
||||||
|
|
||||||
|
objects = App.TicketPriority.all()
|
||||||
|
objects.splice(2,1)
|
||||||
|
result = table.update({sync: true, objects: objects})
|
||||||
|
equal(result[0], 'fullRender.lenghtChanged')
|
||||||
|
//equal(result[1][0], 1)
|
||||||
|
//equal(result[1][1], undefined)
|
||||||
|
//equal(result[2][0], undefined)
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '500 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr').length, 1)
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 0)
|
||||||
|
|
||||||
|
objects.splice(2,1)
|
||||||
|
result = table.update({sync: true, objects: objects})
|
||||||
|
|
||||||
|
equal(result[0], 'fullRender.lenghtChanged')
|
||||||
|
//equal(result[0], 'fullRender.contentRemoved')
|
||||||
|
//equal(result[1][0], 1)
|
||||||
|
//equal(result[1][1], undefined)
|
||||||
|
//equal(result[2][0], undefined)
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '0 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '1 prio', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '09.06.2014', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 3, 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:first').text().trim(), '4 prio', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(2)').text().trim(), '06.06.2014', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(3)').text().trim(), 'true', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr').length, 150)
|
||||||
|
equal(el.find('tbody > tr:nth-child(151) > td').length, 0)
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 0)
|
||||||
|
|
||||||
|
objects = [
|
||||||
|
{
|
||||||
|
id: 500,
|
||||||
|
name: '500 prio',
|
||||||
|
note: 'some note',
|
||||||
|
active: true,
|
||||||
|
created_at: '2014-06-10T10:17:30.000Z',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
App.TicketPriority.refresh(objects)
|
||||||
|
|
||||||
|
objects = App.TicketPriority.all()
|
||||||
|
|
||||||
|
result = table.update({sync: true, objects: objects})
|
||||||
|
equal(result[0], 'fullRender.contentRemoved')
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 2)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').length, 1)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').text(), '1')
|
||||||
|
el.find('.js-pager').first().find('.js-page:nth-child(2)').click()
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '150 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '11.01.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '500 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr').length, 2)
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 0)
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 2)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').length, 1)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').text(), '2')
|
||||||
|
el.find('.js-pager').first().find('.js-page:nth-child(1)').click()
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '0 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '1 prio', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '09.06.2014', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 3, 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:first').text().trim(), '2 prio', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(2)').text().trim(), '08.06.2014', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(3)').text().trim(), 'true', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr').length, 150)
|
||||||
|
equal(el.find('tbody > tr:nth-child(151) > td').length, 0)
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 2)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').length, 1)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').text(), '1')
|
||||||
|
|
||||||
|
objects.splice(2,2)
|
||||||
|
|
||||||
|
result = table.update({sync: true, objects: objects})
|
||||||
|
equal(result[0], 'fullRender.contentRemoved')
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 0)
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '0 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '1 prio', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '09.06.2014', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 3, 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:first').text().trim(), '4 prio', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(2)').text().trim(), '06.06.2014', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(3)').text().trim(), 'true', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr').length, 150)
|
||||||
|
equal(el.find('tbody > tr:nth-child(151) > td').length, 0)
|
||||||
|
|
||||||
|
objects = [
|
||||||
|
{
|
||||||
|
id: 501,
|
||||||
|
name: '501 prio',
|
||||||
|
note: 'some note',
|
||||||
|
active: true,
|
||||||
|
created_at: '2014-06-10T10:17:30.000Z',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
App.TicketPriority.refresh(objects)
|
||||||
|
objects = App.TicketPriority.all()
|
||||||
|
|
||||||
|
result = table.update({sync: true, objects: objects})
|
||||||
|
equal(result[0], 'fullRender.contentRemoved')
|
||||||
|
|
||||||
|
equal(el.find('table > thead > tr').length, 1, 'row count')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(1)').text().trim(), 'Name', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(2)').text().trim(), 'Erstellt', 'check header')
|
||||||
|
equal(el.find('table > thead > tr > th:nth-child(3)').text().trim(), 'Aktiv', 'check header')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td').length, 3, 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:first').text().trim(), '0 prio', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(2)').text().trim(), '10.06.2014', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(1) > td:nth-child(3)').text().trim(), 'true', 'check row 1')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td').length, 3, 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:first').text().trim(), '1 prio', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(2)').text().trim(), '09.06.2014', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(2) > td:nth-child(3)').text().trim(), 'true', 'check row 2')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td').length, 3, 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:first').text().trim(), '2 prio', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(2)').text().trim(), '08.06.2014', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr:nth-child(3) > td:nth-child(3)').text().trim(), 'true', 'check row 3')
|
||||||
|
equal(el.find('tbody > tr').length, 150)
|
||||||
|
equal(el.find('tbody > tr:nth-child(151) > td').length, 0)
|
||||||
|
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page').length, 2)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').length, 1)
|
||||||
|
equal(el.find('.js-pager').first().find('.js-page.is-selected').text(), '1')
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in a new issue