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 +4 -4
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +21 -11
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +10 -0
- data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +14 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.html.erb +26 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.html.erb +20 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.html.erb +22 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +5 -1
- data/app/pb_kits/playbook/plugins/pb_chart.js +55 -4
- data/lib/playbook/version.rb +1 -1
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18201295f38354edf0963e8a536728d406ba695521666e46bb8d9db0b1a51dac
|
4
|
+
data.tar.gz: '09be62b41d9777ac1f6269ce77a0955f06921ef8b4e1abdde30b9bfaee1dd435'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 281294533bb71d290eba1a93ab8dbe820074e727eb3c468383cadbcbd19be223056c537717fa4be2b090a70a197a9fdf2ae55a9366d19039c34a3446e0540101
|
7
|
+
data.tar.gz: ebfbddf2c64330f83ffd3c6eb949b8b745a1a4740431d6fcf93734bb6b63721131978ab6f45ceb78d6d927e89823be642255387e1fa4a479ea554c26f46aadef
|
@@ -1,12 +1,22 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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
|
-
|
16
|
+
|
17
|
+
<% if object.children %>
|
18
|
+
<div class="pb_circle_chart_block">
|
19
|
+
<%= capture(&object.children) %>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
@@ -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
|
})
|
data/lib/playbook/version.rb
CHANGED
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.
|
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-
|
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
|
-
|
1826
|
+
rubyforge_project:
|
1827
|
+
rubygems_version: 2.7.3
|
1824
1828
|
signing_key:
|
1825
1829
|
specification_version: 4
|
1826
1830
|
summary: Playbook Design System
|