think_feel_do_engine 3.12.3 → 3.12.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 294cb733b7d6aaab9041418769aadaf0af82f003
4
- data.tar.gz: ea4ca81298e6edfc3f6d92fcd559910c195c71ee
3
+ metadata.gz: d2f279384413ae9527ed63dccf63ac46f933d377
4
+ data.tar.gz: aa19128c6c22d29d07d829ec1cf65e9eb67c8303
5
5
  SHA512:
6
- metadata.gz: d82dfd3f54e0bbb82f27c16dd77f8e33d184a71df5598f5bba85c627e6988855645d857e06049f07b789277615fff3aed79b27a2c9c0df298cf2790e6d10abc3
7
- data.tar.gz: 4c7a4ae3116ef79dd1495b5ef419b48db9482494eafdede5519f9aa5ce01550d69eb2ab7a270634e10ef3d75435e524cdf787f608588adca5b494347842a8882
6
+ metadata.gz: 28b0dc6f1d139ee57be4f1eee004dba48269bfaa606f171dd8f89077f8077404d0696b3e81ea45f836e9626475f54f4d4374e29b6ed05090c193c4c9d8e2847c
7
+ data.tar.gz: 3a664d335ad7e15538aeaf5c9f1ef22db659d8d245eb1bb0400f7af99a34467196ae8c5c2b2df6c0103b5e32164231a5dd739d956aa46a24519bee28e051f75e
data/Rakefile CHANGED
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  require "jshintrb/jshinttask"
27
27
  Jshintrb::JshintTask.new :jshint do |t|
28
- t.pattern = %w( spec/dummy/spec/javascripts/**/*.js app/assets/javascripts/think_feel_do_engine/**/mood.js )
28
+ t.pattern = %w( spec/dummy/spec/javascripts/**/*.js app/assets/javascripts/think_feel_do_engine/**/draw_graphs.js )
29
29
  t.options = :defaults
30
30
  t.globals = ["$".to_sym, :spyOn, :afterEach, :beforeEach, :describe, :expect, :it, :jasmine, :sc, :Graph, :appendDateRange, :columnChart, :d3, :moment]
31
31
  end
@@ -0,0 +1,78 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ sc.appendDateRange = function (graphParameters) {
5
+ var FORMAT = 'MMM DD YYYY';
6
+
7
+ $('div#date-range strong')
8
+ .empty()
9
+ .append(graphParameters.startDate.format(FORMAT) + ' - ' + graphParameters.endDate.format(FORMAT));
10
+ };
11
+
12
+ sc.drawEmotionViz = function(graphParameters) {
13
+ var GRAPH_DIV_ID = '#emotions';
14
+ var GRAPH_TITLE = 'Positive and Negative Emotions*';
15
+ var LEGEND = [['Positive', '#4682B4'], ['Negative', '#A52A2A'], ['Daily Average', 'green']];
16
+ var LEGEND_DIV_ID = '#emotion-legend';
17
+ var PIXEL_HEIGHT = 400;
18
+ var Y_MAX = 10;
19
+ var Y_MIN = -10;
20
+ var YLABEL = 'Intensity';
21
+
22
+ $('div#emotions, div#emotion-legend').empty();
23
+ d3.select(GRAPH_DIV_ID)
24
+ .datum(graphParameters.emotionsData)
25
+ .call(columnChart(graphParameters.startDate, graphParameters.endDate, Y_MIN, Y_MAX, GRAPH_TITLE, YLABEL)
26
+ .width(graphParameters.graphWidth)
27
+ .height(PIXEL_HEIGHT)
28
+ .drawLegend(LEGEND_DIV_ID, LEGEND, ['*Click each day for more information.']));
29
+ };
30
+
31
+ sc.drawMoodViz = function(graphParameters) {
32
+ var GRAPH_DIV_ID = '#mood';
33
+ var GRAPH_TITLE = 'Mood*';
34
+ var LEGEND = [['Mood', '#4682B4'], ['Daily Average', 'green']];
35
+ var LEGEND_DIV_ID = '#mood-legend';
36
+ var PIXEL_HEIGHT = 300;
37
+ var Y_MAX = 10;
38
+ var Y_MIN = 0;
39
+ var YLABEL = 'mood';
40
+
41
+ $('div#mood, div#mood-legend').empty();
42
+ d3.select(GRAPH_DIV_ID)
43
+ .datum(graphParameters.moodData)
44
+ .call(columnChart(graphParameters.startDate, graphParameters.endDate, Y_MIN, Y_MAX, GRAPH_TITLE, YLABEL)
45
+ .width(graphParameters.graphWidth)
46
+ .height(PIXEL_HEIGHT)
47
+ .y(function(date, i) {
48
+ return date.intensity;
49
+ })
50
+ .drawLegend(LEGEND_DIV_ID, LEGEND, ['*Click each day for more information.']));
51
+ };
52
+
53
+ sc.drawPHQViz = function(graphParameters) {
54
+ var GRAPH_DIV_ID = '#phq';
55
+ var GRAPH_TITLE = "PHQ9";
56
+ var PIXEL_HEIGHT = 300;
57
+ var Y_MAX = 27;
58
+ var Y_MIN = 0;
59
+ var YLABEL = 'Score';
60
+
61
+ $(GRAPH_DIV_ID).empty();
62
+ d3.select(GRAPH_DIV_ID)
63
+ .datum(graphParameters.phqData)
64
+ .call(columnChart(graphParameters.startDate, graphParameters.endDate, Y_MIN, Y_MAX, GRAPH_TITLE, YLABEL)
65
+ .width(graphParameters.graphWidth)
66
+ .height(PIXEL_HEIGHT)
67
+ .y(function(date, i) {
68
+ return date.intensity;
69
+ }));
70
+ };
71
+
72
+ sc.drawGraphs = function(graphParameters) {
73
+ sc.drawPHQViz(graphParameters);
74
+ sc.drawMoodViz(graphParameters);
75
+ sc.drawEmotionViz(graphParameters);
76
+ sc.appendDateRange(graphParameters);
77
+ };
78
+ })();
@@ -11,7 +11,7 @@
11
11
  graphParameters.interval = input.val();
12
12
  graphParameters.offset = 1;
13
13
  sc.offsetInterval(graphParameters);
14
- sc.drawGraphs();
14
+ sc.drawGraphs(graphParameters);
15
15
  });
16
16
 
17
17
  $('.offset').on('click', function(event) {
@@ -24,7 +24,7 @@
24
24
  } else {
25
25
  graphParameters.offset += parseInt($(this).data('value'), 10);
26
26
  sc.offsetInterval(graphParameters);
27
- sc.drawGraphs();
27
+ sc.drawGraphs(graphParameters);
28
28
  }
29
29
  });
30
30
  };
@@ -438,13 +438,6 @@ sc.offsetInterval = function (graphParameters) {
438
438
  graphParameters.endDate = moment().subtract(endOffset, 'days').startOf('day');
439
439
  }
440
440
 
441
- function appendDateRange (graphParameters) {
442
- var FORMAT = 'MMM DD YYYY'
443
- $('div#date-range strong')
444
- .empty()
445
- .append(graphParameters.startDate.format(FORMAT) + ' - ' + graphParameters.endDate.format(FORMAT));
446
- }
447
-
448
441
  function maxOffset (activationDate, interval) {
449
442
  return Math.ceil(moment().diff(activationDate, 'days')/interval)
450
443
  }
@@ -1,6 +1,7 @@
1
1
  module ContentModules
2
2
  # Container for didactic content.
3
3
  class LessonModule < BitCore::ContentModule
4
+ SLIDESHOW_PROVIDER_TYPE = "BitCore::ContentProviders::SlideshowProvider"
4
5
  after_save :update_slideshow
5
6
 
6
7
  def self.sort(arm_id, lesson_ids)
@@ -39,9 +40,9 @@ module ContentModules
39
40
  end
40
41
 
41
42
  def lesson_provider
42
- @lesson_provider ||= (content_providers.first ||
43
- add_content_provider("BitCore::ContentProviders::SlideshowProvider")
44
- )
43
+ @lesson_provider ||=
44
+ (content_providers.find_by_type(SLIDESHOW_PROVIDER_TYPE) ||
45
+ add_content_provider(SLIDESHOW_PROVIDER_TYPE))
45
46
  end
46
47
 
47
48
  def slides
@@ -280,7 +280,7 @@ class Participant < ActiveRecord::Base
280
280
  def emotional_rating_daily_averages
281
281
  averaged_ratings = []
282
282
 
283
- daily_ratings = emotional_ratings.group_by { |er| er.created_at.to_date }
283
+ daily_ratings = emotional_ratings.group_by(&:created_at)
284
284
  # rubocop:disable all
285
285
  daily_ratings.each do |day, emotion_array|
286
286
  # rubocop:enable all
@@ -25,49 +25,15 @@
25
25
  <div id="mood"></div>
26
26
  <div id="emotions"></div>
27
27
  <script>
28
- // starting graph parameters assume 7 day view ending in today
29
- var activationDate = activation("<%= patient.created_at %>")
30
- var graphParameters = new Graph(
31
- <%= sanitize(patient.mood_rating_daily_averages.to_json) %>,
32
- <%= sanitize(patient.emotional_rating_daily_averages.to_json) %>,
33
- <%= phq_features? ? sanitize(patient.phq_scores.to_json) : "null" %>,
34
- $("div#viz-container")
35
- );
28
+ // starting graph parameters assume 7 day view ending in today
29
+ var activationDate = activation("<%= patient.created_at %>")
30
+ var graphParameters = new Graph(
31
+ <%= sanitize(patient.mood_rating_daily_averages.to_json) %>,
32
+ <%= sanitize(patient.emotional_rating_daily_averages.to_json) %>,
33
+ <%= phq_features? ? sanitize(patient.phq_scores.to_json) : "null" %>,
34
+ $("div#viz-container")
35
+ );
36
36
 
37
- sc.drawGraphs = function() {
38
- $("div#mood, div#emotions").empty();
39
-
40
- <% if phq_features? %>
41
- $("div#phq").empty();
42
- var phqGraphTitle = "PHQ9";
43
- d3.select("#phq")
44
- .datum(graphParameters.phqData)
45
- .call(columnChart(graphParameters.startDate, graphParameters.endDate, 0, 27, phqGraphTitle, "Score")
46
- .width(graphParameters.graphWidth)
47
- .height(300)
48
- .x(function(d, i) { return moment(d.day).startOf('day')._d; })
49
- .y(function(d, i) { return d.intensity; }));
50
- <% end %>
51
-
52
- var moodGraphTitle = "Mood";
53
- d3.select("#mood")
54
- .datum(graphParameters.moodData)
55
- .call(columnChart(graphParameters.startDate, graphParameters.endDate, 0, 10, moodGraphTitle, "mood")
56
- .width(graphParameters.graphWidth)
57
- .height(300)
58
- .x(function(d, i) { return moment(d.day).startOf('day')._d; })
59
- .y(function(d, i) { return d.intensity; }));
60
-
61
- var emotionGraphTitle = "Positive and Negative Emotions";
62
- d3.select("#emotions")
63
- .datum(graphParameters.emotionsData)
64
- .call(columnChart(graphParameters.startDate, graphParameters.endDate, -10, 10, emotionGraphTitle, "Intensity")
65
- .width(graphParameters.graphWidth)
66
- .height(400));
67
-
68
- appendDateRange(graphParameters);
69
- }
70
-
71
- sc.drawGraphs();
72
- sc.filterEmotionMoodViz(graphParameters);
37
+ sc.drawGraphs(graphParameters);
38
+ sc.filterEmotionMoodViz(graphParameters);
73
39
  </script>
@@ -32,6 +32,6 @@
32
32
 
33
33
  var graphParameters = new Graph(<%= sanitize(mood_ratings.to_json) %>, <%= sanitize(emotional_ratings.to_json) %>, null, $("#viz-container"));
34
34
 
35
- sc.drawMoodEmotionGraphs(graphParameters);
35
+ sc.drawGraphs(graphParameters);
36
36
  sc.filterEmotionMoodViz(graphParameters);
37
37
  </script>
@@ -1,4 +1,4 @@
1
1
  # nodoc
2
2
  module ThinkFeelDoEngine
3
- VERSION = "3.12.3"
3
+ VERSION = "3.12.4"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: think_feel_do_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.3
4
+ version: 3.12.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Carty-Fickes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-26 00:00:00.000000000 Z
11
+ date: 2016-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -347,9 +347,9 @@ files:
347
347
  - app/assets/javascripts/think_feel_do_engine/dateWrapper.js
348
348
  - app/assets/javascripts/think_feel_do_engine/devise/passwords/edit.js.erb
349
349
  - app/assets/javascripts/think_feel_do_engine/event_capture/init.js
350
+ - app/assets/javascripts/think_feel_do_engine/feel/draw_graphs.js
350
351
  - app/assets/javascripts/think_feel_do_engine/feel/emotion_mood_viz.js
351
352
  - app/assets/javascripts/think_feel_do_engine/feel/emotions.js
352
- - app/assets/javascripts/think_feel_do_engine/feel/mood.js
353
353
  - app/assets/javascripts/think_feel_do_engine/feel/timeago.js
354
354
  - app/assets/javascripts/think_feel_do_engine/forms/multi_page.js.erb
355
355
  - app/assets/javascripts/think_feel_do_engine/forms/multi_page_thought.js.erb
@@ -1,63 +0,0 @@
1
- (function () {
2
- 'use strict';
3
-
4
- sc.calcStartOfDay = function(date) {
5
- return moment(date.day, 'YYYY-MM-DDTHH:mm:ss.sssZ').startOf('day')._d;
6
- };
7
-
8
- sc.drawMoodEmotionGraphs = function(graphParameters) {
9
- var NOTES = '*Click each day for more information.';
10
-
11
- function clearContainers() {
12
- $('div#mood, div#mood-legend, div#emotions, div#emotion-legend')
13
- .empty();
14
- }
15
-
16
- function drawMoodViz(graphParameters) {
17
- var GRAPH_DIV_ID = '#mood';
18
- var GRAPH_TITLE = 'Mood*';
19
- var LEGEND = [['Mood', '#4682B4'], ['Daily Average', 'green']];
20
- var LEGEND_DIV_ID = '#mood-legend';
21
- var PIXEL_HEIGHT = 300;
22
- var Y_MAX = 10;
23
- var Y_MIN = 0;
24
- var YLABEL = 'mood';
25
-
26
- d3.select(GRAPH_DIV_ID)
27
- .datum(graphParameters.moodData)
28
- .call(columnChart(graphParameters.startDate, graphParameters.endDate, Y_MIN, Y_MAX, GRAPH_TITLE, YLABEL)
29
- .width(graphParameters.graphWidth)
30
- .height(PIXEL_HEIGHT)
31
- .x(function(date, i) {
32
- return sc.calcStartOfDay(date);
33
- })
34
- .y(function(d, i) {
35
- return d.intensity;
36
- })
37
- .drawLegend(LEGEND_DIV_ID, LEGEND, [NOTES]));
38
- }
39
-
40
- function drawEmotionViz(graphParameters) {
41
- var GRAPH_DIV_ID = '#emotions';
42
- var GRAPH_TITLE = 'Positive and Negative Emotions*';
43
- var LEGEND = [['Positive', '#4682B4'], ['Negative', '#A52A2A'], ['Daily Average', 'green']];
44
- var LEGEND_DIV_ID = '#emotion-legend';
45
- var PIXEL_HEIGHT = 400;
46
- var Y_MAX = 10;
47
- var Y_MIN = -10;
48
- var YLABEL = 'Intensity';
49
-
50
- d3.select(GRAPH_DIV_ID)
51
- .datum(graphParameters.emotionsData)
52
- .call(columnChart(graphParameters.startDate, graphParameters.endDate, Y_MIN, Y_MAX, GRAPH_TITLE, YLABEL)
53
- .width(graphParameters.graphWidth)
54
- .height(PIXEL_HEIGHT)
55
- .drawLegend(LEGEND_DIV_ID, LEGEND, [NOTES]));
56
- }
57
-
58
- clearContainers();
59
- drawMoodViz(graphParameters);
60
- drawEmotionViz(graphParameters);
61
- return appendDateRange(graphParameters);
62
- };
63
- })();