ela 3.1.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 21146e6ffd264872dbf29ff635f1d3603ce2dd39
4
- data.tar.gz: 54b3f015f88caad0dfa844c8b3eb0212e2c6f467
3
+ metadata.gz: 931596436e4c496baf811835178c70761fe4e7b2
4
+ data.tar.gz: b548f627ac5a723a0f1ae3ee43afda8e525b5825
5
5
  SHA512:
6
- metadata.gz: 887c157174d7f832890d381db79538e5ecf44bd23b9e1e9f4eee5fd74150e29e5a53fbfe81d759e92cf5337f45a1422b43a55845efa857388e3cecf73460590f
7
- data.tar.gz: 4ac2252d34b224603c7d43548b0806417bdf0799129257b0524180e2b6734c07efe0feef77bc9872392eab0827e4cc10ab0a9c8cd3d59705f8134945bbbaa93a
6
+ metadata.gz: 827290ddd153f81e11049c5096feba7ac9fbeeeff00d034cd047a337cbd73c8a6c1c2ef00ec96b6590655e196e056cea2706c4a88d4fcc09747534c779d83997
7
+ data.tar.gz: ce6769b30ce2a1acf84265feaec2c703714eac5140f9698179466ab2cfce4179f4b43534a6c28ed83f39044e162a0e31e09059cb11b7b855450aaa2b7cba5c1a
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ela (3.1.1)
4
+ ela (3.2.0)
5
5
  andand (~> 1.3, >= 1.3.3)
6
6
  bundler (~> 1.13)
7
7
  coffee-script (~> 2.4, >= 2.4.1)
@@ -36,12 +36,12 @@ GEM
36
36
  http_parser.rb (~> 0.6.0)
37
37
  eventmachine (1.2.5)
38
38
  execjs (2.7.0)
39
- ffi (1.9.18)
39
+ ffi (1.9.23)
40
40
  formatador (0.2.5)
41
- guard (2.14.1)
41
+ guard (2.14.2)
42
42
  formatador (>= 0.2.4)
43
43
  listen (>= 2.7, < 4.0)
44
- lumberjack (~> 1.0)
44
+ lumberjack (>= 1.0.12, < 2.0)
45
45
  nenv (~> 0.1)
46
46
  notiffany (~> 0.0)
47
47
  pry (>= 0.9.12)
@@ -83,7 +83,7 @@ GEM
83
83
  rb-fsevent (~> 0.9, >= 0.9.4)
84
84
  rb-inotify (~> 0.9, >= 0.9.7)
85
85
  ruby_dep (~> 1.2)
86
- lumberjack (1.0.12)
86
+ lumberjack (1.0.13)
87
87
  method_source (0.9.0)
88
88
  multi_json (1.13.1)
89
89
  nenv (0.3.0)
@@ -97,10 +97,10 @@ GEM
97
97
  rack (1.6.9)
98
98
  rack-protection (1.5.5)
99
99
  rack
100
- rack-test (0.8.3)
100
+ rack-test (1.0.0)
101
101
  rack (>= 1.0, < 3)
102
102
  rake (10.5.0)
103
- rb-fsevent (0.10.2)
103
+ rb-fsevent (0.10.3)
104
104
  rb-inotify (0.9.10)
105
105
  ffi (>= 0.5.0, < 2)
106
106
  ruby_dep (1.5.0)
@@ -127,7 +127,7 @@ GEM
127
127
  stylus-source (0.54.5)
128
128
  thor (0.20.0)
129
129
  tilt (1.4.1)
130
- uglifier (4.1.8)
130
+ uglifier (4.1.9)
131
131
  execjs (>= 0.3.0, < 3)
132
132
 
133
133
  PLATFORMS
@@ -43,6 +43,8 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
43
43
  xPinchLocked: false
44
44
  yPinchLocked: false
45
45
  scaleLink: false
46
+ xAxis: { y: 0 }
47
+ yAxis: { x: 0 }
46
48
 
47
49
  initialize: ->
48
50
  super
@@ -321,7 +323,7 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
321
323
  renderCurves: ->
322
324
  # stub
323
325
 
324
- renderXAxis: ->
326
+ renderXAxis: (y) ->
325
327
  @context.setLineDash []
326
328
  @context.font = @defaultFont
327
329
  @context.strokeStyle = "#999999"
@@ -329,29 +331,30 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
329
331
  @context.lineWidth = 2
330
332
 
331
333
  @context.beginPath()
332
- @context.moveTo(0, @yOrigin)
333
- @context.lineTo(@width, @yOrigin)
334
+ yPos = @yOrigin - y * @height / @yRange
335
+ @context.moveTo(0, yPos)
336
+ @context.lineTo(@width, yPos)
334
337
 
335
338
  unless @params.get('xLabelPosition') is 'none'
336
339
  labelY = dashY = 0
337
340
  if @params.get('xLabelPosition') is 'bottom'
338
- labelY = @yOrigin + 15
339
- dashY = @yOrigin + 5
341
+ labelY = yPos + 15
342
+ dashY = yPos + 5
340
343
  else
341
- labelY = @yOrigin - 15
342
- dashY = @yOrigin - 5
344
+ labelY = yPos - 15
345
+ dashY = yPos - 5
343
346
 
344
347
  @context.textBaseline = 'middle'
345
348
  @context.textAlign = 'center'
346
349
 
347
- xRange = @maxRangeX() unless xRange?
350
+ xRange = @maxRangeX()
348
351
  xMin = -@xOrigin * xRange / @width
349
352
  xMax = (@width - @xOrigin) * xRange / @width
350
353
  xStepSize = @roundStepSize(100 * xRange / @width)
351
354
  for x in [(xMin - xMin % xStepSize) .. xMax] by xStepSize
352
355
  if x <= (0 - xStepSize / 2) or (0 + xStepSize / 2) <= x
353
356
  xPos = @xOrigin + x * @width / xRange
354
- @context.moveTo(xPos, @yOrigin)
357
+ @context.moveTo(xPos, yPos)
355
358
  @context.lineTo(xPos, dashY)
356
359
  @context.fillText("#{@xAxisValueLabel(x, xStepSize)}", xPos, labelY)
357
360
 
@@ -361,14 +364,14 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
361
364
  else
362
365
  @xOrigin/2
363
366
  xPos = Math.round(xPos) if @context.pixelRatio is 1
364
- @context.translate(xPos, @yOrigin + 15)
367
+ @context.translate(xPos, yPos + 15)
365
368
  MarkupText.render(@context, @xAxisLabel(), @defaultFont)
366
369
  @context.restore()
367
370
 
368
371
  @context.stroke()
369
372
  @context.closePath()
370
373
 
371
- renderYAxis: (yRange) ->
374
+ renderYAxis: (x) ->
372
375
  @context.setLineDash []
373
376
  @context.font = @defaultFont
374
377
  @context.strokeStyle = "#999999"
@@ -376,29 +379,30 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
376
379
  @context.lineWidth = 2
377
380
 
378
381
  @context.beginPath()
379
- @context.moveTo(@xOrigin, 0)
380
- @context.lineTo(@xOrigin, @height)
382
+ xPos = @xOrigin + x * @width / @xRange
383
+ @context.moveTo(xPos, 0)
384
+ @context.lineTo(xPos, @height)
381
385
 
382
386
  unless @params.get('yLabelPosition') is 'none'
383
387
  labelX = dashX = 0
384
388
  if @params.get('yLabelPosition') is 'right'
385
- labelX = @xOrigin + 10
386
- dashX = @xOrigin + 5
389
+ labelX = xPos + 10
390
+ dashX = xPos + 5
387
391
  @context.textAlign = 'left'
388
392
  else
389
- labelX = @xOrigin - 10
390
- dashX = @xOrigin - 5
393
+ labelX = xPos - 10
394
+ dashX = xPos - 5
391
395
  @context.textAlign = 'right'
392
396
  @context.textBaseline = 'middle'
393
397
 
394
- yRange = @maxRangeY() unless yRange?
398
+ yRange = @maxRangeY()
395
399
  yMin = -(@height - @yOrigin) * yRange / @height
396
400
  yMax = @yOrigin * yRange / @height
397
401
  yStepSize = @roundStepSize(100 * yRange / @height)
398
402
  for y in [(yMin - yMin % yStepSize) .. yMax] by yStepSize
399
403
  if y <= (0 - yStepSize / 2) or y >= (0 + yStepSize / 2)
400
404
  yPos = @yOrigin - y * @height / yRange
401
- @context.moveTo(@xOrigin, yPos)
405
+ @context.moveTo(xPos, yPos)
402
406
  @context.lineTo(dashX, yPos)
403
407
  @context.fillText(@yAxisValueLabel(y, yStepSize), labelX, yPos)
404
408
 
@@ -408,7 +412,7 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
408
412
  else
409
413
  @yOrigin/2
410
414
  yPos = Math.round(yPos) if @context.pixelRatio is 1
411
- @context.translate(@xOrigin - 15, yPos);
415
+ @context.translate(xPos - 15, yPos);
412
416
  @context.rotate(-Math.PI / 2);
413
417
  MarkupText.render(@context, @yAxisLabel(), @defaultFont)
414
418
  @context.restore()
@@ -470,8 +474,16 @@ class ELA.Views.BaseGraph extends ELA.Views.Canvas
470
474
  @beforeRender()
471
475
 
472
476
  @renderGrid()
473
- @renderXAxis()
474
- @renderYAxis()
477
+ xAxis = @params.get('xAxis')
478
+ if $.isArray(xAxis.y)
479
+ @renderXAxis(y) for y in xAxis.y
480
+ else
481
+ @renderXAxis(xAxis.y)
482
+ yAxis = @params.get('yAxis')
483
+ if $.isArray(yAxis.x)
484
+ @renderYAxis(x) for x in yAxis.x
485
+ else
486
+ @renderYAxis(yAxis.x)
475
487
  @renderCurves()
476
488
 
477
489
  this
@@ -22,10 +22,15 @@ class ELA.Views.GraphView extends ELA.Views.ViewportView
22
22
  if options.graphOverlay?.view?
23
23
  @GraphOverlayView = options.graphOverlay.view.toFunction()
24
24
 
25
+ if options.graph?.axes?.x?.y?
26
+ @xAxis = _.pick(options.graph.axes.x, 'y')
27
+
28
+ if options.graph?.axes?.y?.x?
29
+ @yAxis = _.pick(options.graph.axes.y, 'x')
30
+
25
31
  for axis, props of options.graph?.axes
26
32
  if props.handler
27
- attribute: props.attribute
28
- position: switch axis
33
+ switch axis
29
34
  when 'x' then @bottomAxisHandler = attribute: props.attribute
30
35
  when 'y' then @leftAxisHandler = attribute: props.attribute
31
36
 
@@ -105,6 +110,8 @@ class ELA.Views.GraphView extends ELA.Views.ViewportView
105
110
  guides: guides
106
111
  curves: @curves
107
112
  axisLabelingForCurve: @axisLabelingForCurve
113
+ xAxis: @xAxis
114
+ yAxis: @yAxis
108
115
  localePrefix: @localePrefix
109
116
  if @leftAxisHandler?
110
117
  view.$el.on('tap', @subviews.leftAxisHandler.updateValue)
@@ -1,3 +1,3 @@
1
1
  module ELA
2
- VERSION = '3.1.1'
2
+ VERSION = '3.2.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ela
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franz Kißig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-26 00:00:00.000000000 Z
11
+ date: 2018-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler