Skip to content

Commit

Permalink
fixed timeline bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
workergnome committed Jan 7, 2015
1 parent 62119da commit 9eff5ec
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 23 deletions.
8 changes: 4 additions & 4 deletions app.rb
Expand Up @@ -56,10 +56,10 @@ def maintain_history(data,results)
p = MuseumProvenance::Period.new("test ")
p.parse_time_string(params[:str])
hash = {}
hash[:eotb] = p.eotb ? p.eotb.to_time.to_i : nil
hash[:eote] = p.eote ? p.eote.to_time.to_i : nil
hash[:botb] = p.botb ? p.botb.to_time.to_i : nil
hash[:bote] = p.bote ? p.bote.to_time.to_i : nil
hash[:eotb] = p.eotb ? p.eotb.jd : nil
hash[:eote] = p.eote ? p.eote.jd : nil
hash[:botb] = p.botb ? p.botb.jd : nil
hash[:bote] = p.bote ? p.bote.jd : nil
hash[:botb_precision] = p.beginning.earliest_raw.precision rescue nil
hash[:eotb_precision] = p.beginning.latest_raw.precision rescue nil
hash[:bote_precision] = p.ending.earliest_raw.precision rescue nil
Expand Down
24 changes: 17 additions & 7 deletions views/ember/components/provenance-timeline_component.js
Expand Up @@ -252,13 +252,23 @@ App.ProvenanceTimelineComponent = Ember.Component.extend({
.attr("y", function(d) { return y(+d.order) + y.rangeBand()/2; })
.transition()
.attr("width", function(d) {
var val = x(d.latest_definite) - x(d.earliest_definite);
return Math.abs(val) || 0;
if (d.earliest_definite && d.latest_definite) {
var val = x(d.latest_definite) - x(d.earliest_definite);
return Math.abs(val) || 0;
}
else {
return 0;
}
})
.attr("x", function(d) {
var date = Math.min(d.earliest_definite,d.latest_definite);
if (date == undefined) return -1000;
return x(date);
if (d.earliest_definite && d.latest_definite) {
var date = Math.min(d.earliest_definite,d.latest_definite);
if (date == undefined) return -1000;
return x(date);
}
else {
return -1000;
}
})

// update possible range
Expand All @@ -277,14 +287,14 @@ App.ProvenanceTimelineComponent = Ember.Component.extend({
.attr("y", function(d) { return y(+d.order) + y.rangeBand()/2 -1; })
.attr("height", y.rangeBand()/2 + 2)
.transition()
.attr("x", function(d) { return x(d.earliest_definite) || -1000; })
.attr("x", function(d) { return d.earliest_definite ? x(d.earliest_definite) : -1000; })

// update end bars
elements.selectAll(".end_of_definite").data(data,key)
.attr("height", y.rangeBand()/2 + 2)
.attr("y", function(d) { return y(+d.order) + y.rangeBand()/2 -1; })
.transition()
.attr("x", function(d) { return x(d.latest_definite) || -1000; })
.attr("x", function(d) { return d.latest_definite ? x(d.latest_definite) : -1000; })

//Update text on change
elements.selectAll("text").data(data,key)
Expand Down
8 changes: 4 additions & 4 deletions views/ember/controllers/period_controller.js
Expand Up @@ -39,12 +39,12 @@ App.PeriodController = Ember.ObjectController.extend( Ember.Evented, App.HelpTex
this.model.rollback();
Ember.$.post('/parsers/timestring', {str: val})
.then(function(data){
self.model.set('botb',moment.unix(data.botb))
self.model.set('eotb',moment.unix(data.eotb))
self.model.set('botb',jd_to_cal(data.botb))
self.model.set('eotb',jd_to_cal(data.eotb))
self.model.set('botb_precision',data.botb_precision)
self.model.set('eotb_precision',data.eotb_precision)
self.model.set('bote',moment.unix(data.bote))
self.model.set('eote',moment.unix(data.eote))
self.model.set('bote',jd_to_cal(data.bote))
self.model.set('eote',jd_to_cal(data.eote))
self.model.set('bote_precision',data.bote_precision)
self.model.set('eote_precision',data.eote_precision)
self.model.set('updated',true);
Expand Down
15 changes: 8 additions & 7 deletions views/ember/libs/jd_to_cal.js
Expand Up @@ -4,17 +4,18 @@ function cal_to_jd(y, m, d) { // Fast. y += 7e8, result -= ...
365*y + ((y/4)|0) - ((y/100)|0) + ((y/400)|0) +2400001; }

function jd_to_cal(X) { // X = CMJD
if (!X) return null
// http://www.hermetic.ch/cal_stud/jdn.htm via dateprox.pas
L = X + 68569
N = Math.floor((4*L) / 146097)
var L = X + 68569
var N = Math.floor((4*L) / 146097)
L = L - Math.floor((146097*N+3) / 4)
K = Math.floor((4000*(L+1)) / 1461001)
var K = Math.floor((4000*(L+1)) / 1461001)
L = L - Math.floor((1461*K) / 4) + 31
J = Math.floor((80*L) / 2447)
D = L - Math.floor((2447*J) / 80)
var J = Math.floor((80*L) / 2447)
var D = L - Math.floor((2447*J) / 80)
L = Math.floor(J / 11)
M = J + 2 - 12*L
Y = 100*(N-49) + K + L
var M = J + 2 - 12*L
var Y = 100*(N-49) + K + L
var obj = [Y, M-1, D];
console.log(obj);
return moment.utc(obj);
Expand Down
2 changes: 1 addition & 1 deletion views/ember/models/period_model.js
Expand Up @@ -133,7 +133,7 @@ App.Period = DS.Model.extend({
computed_earliest_possible: function() {
var e = this.get("earliest_possible");
var c = this.get("artwork.creation_earliest");
return e ? Math.max(e,c) : c;
return e ? moment.max(e,c) : c;
}.property("earliest_possible","artwork.creation_earliest"),

footnote_number: function() {
Expand Down

0 comments on commit 9eff5ec

Please sign in to comment.