rails-erd-d3 0.0.17 → 0.0.18

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: 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