rails-erd-d3 0.0.17 → 0.0.18

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: 609e081fe5033be3fe4e163f6f79b31ccaad2263
4
- data.tar.gz: 5ea5c46a0e0fc60be4d19844df712d9ccd1cff32
3
+ metadata.gz: 38658c61efe4ebf8e29642a91806d706365cf314
4
+ data.tar.gz: 81fa3ad4a2cce8318fbd77a78948a5491630e3ee
5
5
  SHA512:
6
- metadata.gz: 7734e3063d9fce108d9c84e8ef6ca71ddacfd6295c489061d398adbde5da4e022b4670d86b54cd3847db6bcaf2786e2f366646034694902845a87eb9f8316dea
7
- data.tar.gz: a026def9fde2e298f9d275874a0a9b1aa603fee8f15c34a72a658570e6df39077d29c794397bd881743f56927fa61fb9852a14bdd0b1006cda9cd5d875c4d445
6
+ metadata.gz: e424c6190f20e55c88520a523fff2a478b2b3c06d0acc2369686c08827e40b987aae1441f3bba94c88cfd6a45391597feb67226f6cc706ffbbb74c032712f26f
7
+ data.tar.gz: 8611e2c176c733f876b4c25f3f14e608f3c7c2be3c17fa983acea95c9ab38936d3610ee4b42fd69a1c927f35aa9ebf211b5413d0ff39cd38a0be9751f3880856
data/lib/rails_erd_d3.rb CHANGED
@@ -84,100 +84,14 @@ class RailsErdD3
84
84
  end
85
85
 
86
86
  def self.get_d3
87
- "<script>
88
- var data = #{get_data};
89
-
90
- var width = window.innerWidth
91
- || document.documentElement.clientWidth
92
- || document.body.clientWidth;
93
- var height = window.innerHeight
94
- || document.documentElement.clientHeight
95
- || document.body.clientHeight;
96
-
97
- var colorScale = d3.scaleOrdinal(d3.schemeCategory20);
98
-
99
- var svg = d3.select('#erd').append('svg')
100
- .attr('height', height)
101
- .attr('width', width)
102
- .style('background', 'white');
103
-
104
- var simulation = d3.forceSimulation()
105
- .force('link', d3.forceLink().id(function(d) { return d.index }))
106
- .force('collide',d3.forceCollide( function(d){return d.r + 20 }).iterations(30) )
107
- .force('charge', d3.forceManyBody())
108
- .force('center', d3.forceCenter(width / 2, height / 2))
109
- .force('y', d3.forceY(0))
110
- .force('x', d3.forceX(0));
111
-
112
- var link = svg.append('g')
113
- .classed('links', true)
114
- .selectAll('line')
115
- .data(data.links)
116
- .enter()
117
- .append('line')
118
- .attr('stroke', 'black');
119
-
120
- var node = svg.selectAll('.node')
121
- .data(data.nodes)
122
- .enter()
123
- .append('g')
124
- .classed('node', true)
125
- .style('cursor', 'pointer')
126
- .attr('data-toggle', 'modal')
127
- .attr('data-target', function(d, i){ return '#' + data.nodes[i].label })
128
- .call(d3.drag()
129
- .on('start', dragstarted)
130
- .on('drag', dragged)
131
- .on('end', dragended));
132
-
133
- node.append('circle')
134
- .classed('circle', true)
135
- .attr('r', function(d){ return d.r })
136
- .attr('fill', function(d, i){ return colorScale(i) });
137
-
138
- node.append('text')
139
- .classed('text', true)
140
- .text(function(d) {
141
- return d.label;
142
- });
143
-
144
- var ticked = function() {
145
- link
146
- .attr('x1', function(d) { return d.source.x; })
147
- .attr('y1', function(d) { return d.source.y; })
148
- .attr('x2', function(d) { return d.target.x; })
149
- .attr('y2', function(d) { return d.target.y; });
150
-
151
- node
152
- .attr('transform', function(d) {
153
- return 'translate(' + [d.x, d.y] + ')';
154
- });
155
- }
156
-
157
- simulation.nodes(data.nodes)
158
- .on('tick', ticked);
159
-
160
- simulation.force('link')
161
- .links(data.links);
162
-
163
- function dragstarted(d) {
164
- if (!d3.event.active) simulation.alphaTarget(0.3).restart();
165
- d.fx = d.x;
166
- d.fy = d.y;
167
- }
168
-
169
- function dragged(d) {
170
- d.fx = d3.event.x;
171
- d.fy = d3.event.y;
172
- }
173
-
174
- function dragended(d) {
175
- if (!d3.event.active) simulation.alphaTarget(0);
176
- d.fx = null;
177
- d.fy = null;
178
- }
179
- </script>
180
- "
87
+ ERB.new(
88
+ File.read(
89
+ File.expand_path(
90
+ "templates/d3.html.erb",
91
+ File.dirname(__FILE__)
92
+ )
93
+ )
94
+ ).result(binding)
181
95
  end
182
96
 
183
97
  def self.get_modals
data/rails-erd-d3.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
6
6
  spec.name = "rails-erd-d3"
7
7
  spec.authors = ["Roman Krasavtsev"]
8
8
  spec.email = ["mr.krasavtsev@gmail.com"]
9
- spec.version = "0.0.17"
9
+ spec.version = "0.0.18"
10
10
  spec.summary = "Entity–relationship diagram with D3.js for Rails application"
11
11
  spec.description = "This gem creates entity–relationship diagram with D3.js for your Rails application"
12
12
  spec.homepage = "https://github.com/RomanKrasavtsev/rails-erd-d3"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-erd-d3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Krasavtsev