Last active
August 29, 2015 14:09
-
-
Save t2k/ccde4a35397ee661b47b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#AMD MODULE | |
define ['apps/lp/list/templates', 'views/_base', 'moment', 'nprogress', 'calheatmap'], (Templates, AppViews, Moment, NP, CalHeatMap) -> | |
class LPItem extends AppViews.ItemView | |
template: _.template(Templates.lpItem) | |
className: "well" | |
ui: | |
li: "li" | |
onShow: -> | |
@ui.li.tooltip() | |
triggers: | |
'click': "lp:item:clicked" #passes (child,args) | |
templateHelpers: | |
moment: Moment | |
HeatMapView: class HeatMapItemView extends AppViews.ItemView | |
template: _.template(Templates.heatmap) | |
className: "well well-sm" | |
ui: | |
heatmap: "#heatmap" | |
prev: "#hm-prev" | |
next: "#hm-next" | |
onShow: -> | |
cal = new CalHeatMap() | |
minDate = new Date(@collection.at(0).get("timestamp")) | |
start = Moment().subtract(11, 'M').toDate() | |
cal.init | |
itemSelector: "#heatmap" | |
previousSelector: "#hm-prev" | |
nextSelector: "#hm-next" | |
cellSize: 12 | |
domainGutter: 3 | |
start: start | |
data : @collection.toJSON() | |
range: 12 | |
itemName: ['loan processed', 'loans processed'] | |
format: | |
date: (date)-> | |
Moment(date).format("L") | |
legend: null | |
# parse data coming from .NET | |
afterLoadData: (data)-> | |
stats = {} | |
for d of data | |
secs = new Date(data[d].timestamp).getTime()/1000 | |
# note the format is time in seconds! | |
stats[secs] = data[d].value | |
stats | |
legend: [1, 5, 10, 20] | |
domain: "month" | |
subDomain: "day" | |
onClick: (date,nb)=> | |
@trigger "filter:date", date, nb | |
LPList: class _listview extends AppViews.CompositeView | |
template: _.template(Templates.lpItems) | |
childView: LPItem | |
childViewContainer: ".scrollable-inner" | |
className: "scrollable-container" | |
ui: | |
scroll: ".scrollable-inner" | |
events: | |
"scroll": "checkScroll" | |
collectionEvents: | |
"request": -> | |
NP.start() | |
NP.inc() | |
"sync error": -> | |
NP.done() | |
checkScroll: (e) => | |
virtualHeight = @ui.scroll.height() | |
margin = .05 * virtualHeight # 10% | |
scrollTop = @$el.scrollTop() + @$el.height() | |
@trigger "scroll:more:lpitems" if (scrollTop + margin) >= virtualHeight | |
LayoutView: class _layout extends AppViews.LayoutView | |
template: _.template(Templates.layout) | |
className: "panel panel-body" | |
regions: | |
titleRegion: "#title-region" | |
panelRegion: "#panel-region" | |
newRegion: "#new-region" | |
listRegion: "#lp-region" | |
heatMapRegion: "#heatmap-region" | |
Panel: class _panel extends AppViews.ItemView | |
template: _.template(Templates.panel) | |
ui: | |
loanMod: ".loanmod" | |
manLoanMod: ".manloanmod" | |
idFilter: ".filter-id" | |
portFilter: ".filter-port" | |
typeFilter: ".filter-type" | |
filters: ".filter" | |
triggers: | |
"click @ui.loanMod" : "new:lp:button:clicked" | |
"click @ui.manLoanMod" : "new:lpsimple:button:clicked" | |
events: | |
"blur @ui.idFilter": -> | |
v = @ui.idFilter.val() | |
if v | |
@resetFilters() | |
@ui.idFilter.val(v) | |
@trigger "filter:id", v | |
"blur @ui.portFilter":-> | |
[email protected]() | |
if v | |
@resetFilters() | |
@ui.portFilter.val(v) | |
@trigger "filter:port", v | |
"blur @ui.typeFilter":-> | |
[email protected]() | |
if v | |
@resetFilters() | |
@ui.typeFilter.val(v) | |
@trigger "filter:type", v | |
resetFilters:-> | |
@ui.filters.val("") | |
Title: class _title extends AppViews.ItemView | |
template: _.template(Templates.title) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment