Skip to content

Commit

Permalink
adding csv and excel export
Browse files Browse the repository at this point in the history
  • Loading branch information
Tendrid committed Jul 25, 2012
1 parent 607cfda commit 2f46c1c
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 13 deletions.
23 changes: 16 additions & 7 deletions SimpleSeer/static/app/collections/filtercollection.coffee
Expand Up @@ -38,29 +38,38 @@ module.exports = class FilterCollection extends Collection
@sortParams.sortkey = sortkey
@sortParams.sortorder = sortorder
@sortParams.sorttype = sorttype
@fetch()
return

fetch: (params={}) =>
getUrl: (total=false)=>
#todo: map .error to params.error
_json = []
for o in @filters
val = o.toJson()
if val
_json.push val
if total
skip = 0
limit = @skip+@limit
else
skip=@skip
limit=@limit
_json =
skip:@skip
limit:@limit
skip:skip
limit:limit
query:_json
sortkey: @sortParams.sortkey || 'capturetime'
sortorder: @sortParams.sortorder || -1
sortinfo:
type: @sortParams.sorttype || ''
name: @sortParams.sortkey || 'capturetime'
order: @sortParams.sortorder || -1
url = @url+"/"+JSON.stringify _json
"/"+JSON.stringify _json

fetch: (params={}) =>
#console.dir _json
$.getJSON(url, (data) =>
if params.before
params.before()
$.getJSON(@url+@getUrl(), (data) =>
@.totalavail = data.total_frames
if @skip == 0
@reset data.frames
Expand Down
2 changes: 1 addition & 1 deletion SimpleSeer/static/app/styles/main.less
Expand Up @@ -477,7 +477,7 @@ a.video{
#second-tier-footer{
color:#0090d6;
border-top:#e0dede solid 1px;
height:30px;
height:45px;
text-align:center;
padding-top:10px;
}
Expand Down
23 changes: 18 additions & 5 deletions SimpleSeer/static/app/views/framelist_view.coffee
Expand Up @@ -34,8 +34,17 @@ module.exports = class FramelistView extends View
'click #data-tab' : 'tabData'
'click #image-tab' : 'tabImage'

preFetch:()=>
$('#loadThrob').modal "show"

postFetch:()=>
$('#loadThrob').modal "hide"
url = @filtercollection.getUrl(true)
$('#csvlink').attr('href','/downloadFrames/csv'+url)
$('#excellink').attr('href','/downloadFrames/excel'+url)


tabData: ()=>
$('#loadThrob').modal("show");
$('#data-view').show()
$('#data-tab').removeClass('unselected')
$('#image-view').hide()
Expand All @@ -46,12 +55,13 @@ module.exports = class FramelistView extends View
@filtercollection.limit = 65536
@filtercollection.skip = 0
@filtercollection.fetch
before: @preFetch
success: () =>
$('#loadThrob').modal("hide");
$('#data-views-controls').show()
$('#views-contain').addClass('wide scroll')
$('#views').addClass('wide')
$('#content').addClass('wide')
@postFetch()

tabImage: () =>
$('#loadThrob').modal("show");
Expand All @@ -64,11 +74,13 @@ module.exports = class FramelistView extends View
@filtercollection.limit = @filtercollection._defaults.limit
@filtercollection.skip = @filtercollection._defaults.skip
@filtercollection.fetch
before: @preFetch
success: () =>
$('#loadThrob').modal("hide");
$('#data-views-controls').hide()
$('#views-controls').show()
$('#views-contain').removeClass('wide')
@postFetch()


toggleMenu: ()=>
Expand All @@ -88,6 +100,7 @@ module.exports = class FramelistView extends View
sortComboVals: @updateFilterCombo(false)
metakeys: application.settings.ui_metadata_keys
featurekeys: application.settings.ui_feature_keys
filter_url:@filtercollection.getUrl()

render: =>
@filtercollection.limit = @filtercollection._defaults.limit
Expand All @@ -109,14 +122,14 @@ module.exports = class FramelistView extends View
if !application.settings.showMenu?
application.settings.showMenu = true
@$el.find("#stage").css('margin-left','252px')
@filtercollection.fetch()
@filtercollection.fetch({before: @preFetch,success:@postFetch})
@$el.find('#sortCombo').combobox
selected: (event, ui) =>
if ui.item
v = ui.item.value
v = v.split(',')
@filtercollection.sortList(v[0],v[1],v[2])
#set sort order and key
@filtercollection.fetch({before: @preFetch,success:@postFetch})
width:"50px"
@$el.find("#tabDataTable").tablesorter()

Expand All @@ -132,7 +145,7 @@ module.exports = class FramelistView extends View
@$el.find('#loading_message').fadeIn('fast')
@loading=true
@filtercollection.skip += @filtercollection._defaults.limit
@filtercollection.fetch()
@filtercollection.fetch({before: @preFetch,success:@postFetch})

clearLoading: (callback=->)=>
@loading = false
Expand Down
3 changes: 3 additions & 0 deletions SimpleSeer/static/app/views/templates/framelist.hbs
Expand Up @@ -14,6 +14,9 @@
<div id="filter_form"></div>
<div id="second-tier-footer">
<p style="clear:both;">Viewing <span id="count_viewing">{{count_viewing}}</span> of <span id="count_total">{{count_total}}</span> frames.</p>
<div>
<a href="#" id="excellink" target="_blank">CSV</a> | <a href="#" id="csvlink" target="_blank">Excel</a>
</div>
</div>
</div>
</div>
Expand Down

0 comments on commit 2f46c1c

Please sign in to comment.