playbook_ui 5.5.0.pre.alpha1 → 5.5.1.pre.alpha4

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
  SHA256:
3
- metadata.gz: 80d3445db1a3c2f93076e12a4a582addb5187c6a5ef3c36ddebbab3fb82a045f
4
- data.tar.gz: 331cc223a6a087ff2a1f6799b25a3e8b91ec0cc85ec7904261843986075c4e62
3
+ metadata.gz: 18201295f38354edf0963e8a536728d406ba695521666e46bb8d9db0b1a51dac
4
+ data.tar.gz: '09be62b41d9777ac1f6269ce77a0955f06921ef8b4e1abdde30b9bfaee1dd435'
5
5
  SHA512:
6
- metadata.gz: 5af755abbf2e1350a3cfe728b9e1290b81994cf675b2ecda3c00c9bb43e6c5c64353c1577e31d29d63588ffed84ec3638397b8e3ea31401c0c8814519906d897
7
- data.tar.gz: 83b752409849ff081f195d317531dd16f1230954a712bdaaee15dfea65fe14de9e404394b1e9b0062513a7e95f5ebe6cb3149cbc86ce2be294be213cbb36708b
6
+ metadata.gz: 281294533bb71d290eba1a93ab8dbe820074e727eb3c468383cadbcbd19be223056c537717fa4be2b090a70a197a9fdf2ae55a9366d19039c34a3446e0540101
7
+ data.tar.gz: ebfbddf2c64330f83ffd3c6eb949b8b745a1a4740431d6fcf93734bb6b63721131978ab6f45ceb78d6d927e89823be642255387e1fa4a479ea554c26f46aadef
@@ -1,12 +1,22 @@
1
- <%= content_tag(:div, "",
2
- aria: object.aria,
3
- id: object.id,
4
- data: object.data,
5
- class: object.classname) %>
6
- <% content_for :pb_js do %>
7
- <%= javascript_tag do %>
8
- window.addEventListener('DOMContentLoaded', function() {
9
- new pbChart('.selector', <%= object.chart_options %>)
10
- })
1
+ <div id="wrapper-circle-chart-<%= object.id %>">
2
+ <%= content_tag(:div, "",
3
+ aria: object.aria,
4
+ id: object.id,
5
+ data: object.data,
6
+ class: object.classname) do %>
7
+ <% content_for :pb_js do %>
8
+ <%= javascript_tag do %>
9
+ window.addEventListener('DOMContentLoaded', function() {
10
+ new pbChart('.selector', <%= object.chart_options %>)
11
+
12
+ });
13
+ <% end %>
14
+ <% end %>
11
15
  <% end %>
12
- <% end %>
16
+
17
+ <% if object.children %>
18
+ <div class="pb_circle_chart_block">
19
+ <%= capture(&object.children) %>
20
+ </div>
21
+ <% end %>
22
+ </div>
@@ -4,3 +4,13 @@
4
4
  .pb_circle_chart {
5
5
 
6
6
  }
7
+
8
+ .pb_circle_chart_block {
9
+ position:absolute;
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+ z-index: 1;
14
+ text-align: center;
15
+ pointer-events: none;
16
+ }
@@ -29,6 +29,10 @@ module Playbook
29
29
  prop :use_html, type: Playbook::Props::Boolean, default: false
30
30
  prop :legend, type: Playbook::Props::Boolean, default: false
31
31
  prop :title, default: ''
32
+ prop :rounded, type: Playbook::Props::Boolean, default: false
33
+ prop :colors, type: Playbook::Props::Array,
34
+ default: []
35
+
32
36
 
33
37
  def chart_type
34
38
  style == "variablepie" ? "variablepie" : "pie"
@@ -50,12 +54,22 @@ module Playbook
50
54
  when "md"
51
55
  "50%"
52
56
  end
57
+ end
58
+
59
+ def rounded_border_width
60
+ rounded ? 20 : nil
61
+ end
53
62
 
63
+ def rounded_border_color
64
+ rounded == true ? 'null' : nil
54
65
  end
55
66
 
56
67
  def chart_options
57
68
  {
58
69
  id: id,
70
+ colors: colors,
71
+ borderColor: rounded_border_color,
72
+ borderWidth: rounded_border_width,
59
73
  chartData: chart_data_formatted,
60
74
  title: title,
61
75
  type: chart_type,
@@ -0,0 +1,26 @@
1
+ <% data_51 = [{
2
+ name: 'Waiting for Calls',
3
+ value: 41,
4
+ },
5
+ {
6
+ name: 'On Call',
7
+ value: 49,
8
+ },
9
+ {
10
+ name: 'After call',
11
+ value: 10,
12
+ }
13
+ ] %>
14
+
15
+ <br><br>
16
+
17
+ <%= pb_rails("circle_chart", props: {
18
+ chart_data: data_51,
19
+ id: "with-a-block-2",
20
+ rounded: true,
21
+ }) do %>
22
+ <%= pb_rails('title', props: {text: "83", size: 1, tag: 'div'}) %>
23
+ <% end %>
24
+
25
+
26
+
@@ -0,0 +1,20 @@
1
+ <% data_set = [{
2
+ name: 'Waiting for Calls',
3
+ value: 41,
4
+ },
5
+ {
6
+ name: 'On Call',
7
+ value: 49,
8
+ },
9
+ {
10
+ name: 'After call',
11
+ value: 10,
12
+ }
13
+ ] %>
14
+
15
+
16
+ <%= pb_rails("circle_chart", props: {
17
+ chart_data: data_set,
18
+ id: "default-test-colors",
19
+ colors: ['data-6', 'data-4', 'data-2']
20
+ }) %>
@@ -0,0 +1,22 @@
1
+ <% data_rounded = [{
2
+ name: 'Waiting for Calls',
3
+ value: 20,
4
+ },
5
+ {
6
+ name: 'On Call',
7
+ value: 49,
8
+ },
9
+ {
10
+ name: 'After call',
11
+ value: 10,
12
+ }
13
+ ] %>
14
+
15
+
16
+ <%= pb_rails("circle_chart", props: {
17
+ chart_data: data_rounded,
18
+ id: "default-test-rounded",
19
+ inner_size: "lg",
20
+ rounded: true,
21
+
22
+ }) %>
@@ -2,8 +2,12 @@ examples:
2
2
 
3
3
  rails:
4
4
  - circle_chart_default: Default Style
5
+ - circle_chart_rounded: Rounded Corners
6
+ - circle_chart_block: Accepts Any Block
7
+ - circle_chart_colors: Color Overrides
5
8
  - circle_chart_with_labels: Data Labels
6
9
  - circle_chart_with_legend_kit: Legend
7
10
  - circle_chart_with_title: Title
8
- - circle_chart_inner_sizes: Inner Circle Size Options
11
+ - circle_chart_inner_sizes: Inner Circle Size Options
12
+
9
13
 
@@ -1,9 +1,34 @@
1
1
  import Highcharts from 'highcharts'
2
2
 
3
3
  import { highchartsTheme } from '../pb_dashboard/pbChartsLightTheme.js'
4
+ import colors from '../tokens/_colors.scss'
4
5
 
5
6
  require('highcharts/modules/variable-pie')(Highcharts)
6
7
 
8
+ // Map Data Color String Props to our SCSS Variables
9
+ const mapColors = (array) => {
10
+ const newArray = array.map((item) => {
11
+ return item == 'data-1'
12
+ ? `${colors.data_1}`
13
+ : item == 'data-2'
14
+ ? `${colors.data_2}`
15
+ : item == 'data-3'
16
+ ? `${colors.data_3}`
17
+ : item == 'data-4'
18
+ ? `${colors.data_4}`
19
+ : item == 'data-5'
20
+ ? `${colors.data_5}`
21
+ : item == 'data-6'
22
+ ? `${colors.data_6}`
23
+ : item == 'data-7'
24
+ ? `${colors.data_7}`
25
+ : item == 'data-8'
26
+ ? `${colors.data_8}`
27
+ : ''
28
+ })
29
+ return newArray
30
+ }
31
+
7
32
  class pbChart {
8
33
  defaults = {
9
34
  callbackInitializeBefore: () => {},
@@ -30,24 +55,46 @@ class pbChart {
30
55
  this.settings = this.extendDefaults(this.defaults, options)
31
56
 
32
57
  if (this.options.type == 'variablepie' || this.options.type == 'pie'){
33
- this.setupPieChart()
58
+ this.setupPieChart(options)
34
59
  } else {
35
60
  this.setupChart()
36
61
  }
37
62
  }
38
63
 
39
- setupPieChart() {
64
+ setupPieChart(options) {
40
65
  Highcharts.setOptions(highchartsTheme)
41
-
42
66
  Highcharts.chart(this.defaults.id, {
43
67
  title: {
44
68
  text: this.defaults.title,
45
69
  },
46
70
  chart: {
47
71
  type: this.defaults.type,
72
+ events: {
73
+ render: function(event) {
74
+ const itemToMove = document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb_circle_chart_block`)
75
+ const chartContainer = document.querySelector(`#${event.target.renderTo.id}`)
76
+ if (itemToMove !== null) {
77
+ itemToMove.style.height = `${event.target.chartHeight}px`
78
+ itemToMove.style.width = `${event.target.chartWidth}px`;
79
+ (chartContainer.firstChild).before(itemToMove)
80
+ }
81
+ },
82
+
83
+ redraw: function(event){
84
+ const itemToMove = document.querySelector(`#wrapper-circle-chart-${event.target.renderTo.id} .pb_circle_chart_block`)
85
+ const chartContainer = document.querySelector(`#${event.target.renderTo.id}`)
86
+ if (itemToMove !== null) {
87
+ itemToMove.style.height = `${event.target.chartHeight}px`
88
+ itemToMove.style.width = `${event.target.chartWidth}px`;
89
+ (chartContainer.firstChild).before(itemToMove)
90
+ }
91
+ },
92
+ },
48
93
  },
94
+
49
95
  plotOptions: {
50
96
  pie: {
97
+ colors: options.colors.length > 0 ? mapColors(options.colors) : highchartsTheme.colors,
51
98
  dataLabels: {
52
99
  enabled: this.defaults.dataLabels,
53
100
  connectorShape: 'straight',
@@ -55,8 +102,10 @@ class pbChart {
55
102
  format: this.defaults.dataLabelHtml,
56
103
  },
57
104
  showInLegend: this.defaults.showInLegend,
105
+
58
106
  },
59
107
  },
108
+
60
109
  tooltip: {
61
110
  headerFormat: this.defaults.headerFormat,
62
111
  pointFormat: this.defaults.tooltipHtml,
@@ -65,10 +114,12 @@ class pbChart {
65
114
  series: [{
66
115
  minPointSize: this.defaults.minPointSize,
67
116
  maxPointSize: this.defaults.maxPointSize,
68
- innerSize: this.defaults.innerSize,
117
+ innerSize: options.borderWidth == 20 ? '100%' : this.defaults.innerSize,
69
118
  data: this.defaults.chartData,
70
119
  zMin: this.defaults.zMin,
71
120
  startAngle: this.defaults.startAngle,
121
+ borderWidth: this.defaults.borderWidth,
122
+ borderColor: options.borderWidth == 20 ? null : this.defaults.innerSize,
72
123
  }],
73
124
  credits: false,
74
125
  })
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Playbook
4
- VERSION = "5.5.0.pre.alpha1"
4
+ VERSION = "5.5.1-alpha4"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: playbook_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.0.pre.alpha1
4
+ version: 5.5.1.pre.alpha4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Power UX
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-07-23 00:00:00.000000000 Z
12
+ date: 2020-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: actionpack
@@ -591,8 +591,11 @@ files:
591
591
  - app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb
592
592
  - app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss
593
593
  - app/pb_kits/playbook/pb_circle_chart/circle_chart.rb
594
+ - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb
595
+ - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb
594
596
  - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.html.erb
595
597
  - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.html.erb
598
+ - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb
596
599
  - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.html.erb
597
600
  - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.html.erb
598
601
  - app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.html.erb
@@ -1820,7 +1823,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1820
1823
  - !ruby/object:Gem::Version
1821
1824
  version: 1.3.1
1822
1825
  requirements: []
1823
- rubygems_version: 3.1.4
1826
+ rubyforge_project:
1827
+ rubygems_version: 2.7.3
1824
1828
  signing_key:
1825
1829
  specification_version: 4
1826
1830
  summary: Playbook Design System