frendms-rails 0.2.0 → 0.3.2

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: b3e3f98672eae3d9f518f416c77ab315a9b44fde
4
- data.tar.gz: 11f47583bbeffe034fca369f0f63210f577e38fb
3
+ metadata.gz: c55a23b726edfce96a7c0ae48e7debff78de9ee1
4
+ data.tar.gz: ca5bf05805e23810c39878e422f913a75112f898
5
5
  SHA512:
6
- metadata.gz: 5a4cd1f2e8c318c7b1ac653dfa78ef98c99f7742abfbe53491c305c6ae7c1445bd5bc74ca5dbdcb48960ce9a7a9e2369bd3586acce9caa1cf026ee05a3f5da20
7
- data.tar.gz: ae84dfeb5cda8b0f46fc412f9d068f8c413341fa55fe4eebb87ca9c6c27297d015a4631b3a5cdb9430712a9f887123ca825cad9946ce45f8ffa23ca3d947f5e2
6
+ metadata.gz: 16a0a6cdeaca42b803f3a7b0546564858d0d0387d489b0d9782702008344ee1fe2c0a3839bb187eafbf7e9c1d452ef78576ace522ce1a68425bd05d719d039f4
7
+ data.tar.gz: 7f14064c0b09586fd1d800ed32fc514867b642d3de65d1ab661d5f7a851ab582250a865803ef25041c8893879c08994cde961048ba9d79a4f8dd46a520d06edc
data/.gitignore CHANGED
@@ -8,3 +8,4 @@
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  .DS_Store
11
+ *.gem
data/README.md CHANGED
@@ -34,7 +34,7 @@ Add to the bottom of your layout file
34
34
  <% if user_signed_in? %>
35
35
  <script>
36
36
  $(document).ready(function(){
37
- $('.frend').addClass('enabled')
37
+ $('.frend').addClass('enabled').attr('contenteditable', 'true')
38
38
  })
39
39
  </script>
40
40
  <% end %>
@@ -61,7 +61,7 @@ Example of an editable layout:
61
61
  <% if user_signed_in? %>
62
62
  <script>
63
63
  $(document).ready(function(){
64
- $('.frend').addClass('enabled')
64
+ $('.frend').addClass('enabled').attr('contenteditable', 'true')
65
65
  })
66
66
  </script>
67
67
  <% end %>
@@ -3,18 +3,18 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "frendms-rails"
6
- s.version = "0.2.0"
6
+ s.version = "0.3.2"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.metadata = { "allowed_push_host" => "https://rubygems.org" } if s.respond_to? :metadata=
10
10
  s.require_paths = ["lib"]
11
11
  s.authors = ["Tyson Holub"]
12
12
  s.bindir = "exe"
13
- s.date = "2016-10-10"
14
- s.description = "Click a html element to make it an editable textarea. Changes are saved to the database via ajax. When the page is loaded the changes will be injected into that element."
13
+ s.date = "2016-01-27"
14
+ s.description = "Click and edit any html element. Changes are saved to the database via ajax. When the page is loaded the changes will be injected into that element."
15
15
  s.email = ["tyson@tysonholub.com"]
16
16
  s.files = [".gitignore", ".travis.yml", "CODE_OF_CONDUCT.md", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "app/controllers/frendms/element_controller.rb", "app/models/frendms/element.rb", "bin/console", "bin/setup", "config/routes.rb", "frendms-rails.gemspec", "lib/frendms/rails.rb", "lib/frendms/rails/version.rb", "lib/generators/frendms/frendms_generator.rb", "lib/generators/frendms/templates/migration.rb", "vendor/assets/javascripts/dompath.js", "vendor/assets/javascripts/frendms.js", "vendor/assets/stylesheets/frendms.css"]
17
- s.homepage = "http://frendms.tysonholub.com"
17
+ s.homepage = "https://github.com/tysonholub/frendms-rails"
18
18
  s.licenses = ["MIT"]
19
19
  s.rubygems_version = "2.2.2"
20
20
  s.summary = "The Front End Management System"
@@ -1,5 +1,5 @@
1
1
  module Frendms
2
2
  module Rails
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.2"
4
4
  end
5
5
  end
@@ -2,29 +2,29 @@
2
2
  $.fn.dompath = function(config) {
3
3
  var dompath = [],
4
4
  node,
5
- sender = $(this)[0],
5
+ sender = $(this)[0],
6
6
  tag;
7
-
7
+
8
8
  // dompath.push(_buildTag(sender))
9
9
 
10
- for (node = sender.parentNode; node; node = node.parentNode) {
10
+ for (node = sender; node; node = node.parentNode) {
11
11
  if(node.tagName.toLowerCase() == "html") break;
12
12
  dompath.push(_buildTag(node))
13
13
  }
14
-
14
+
15
15
  function _buildTag(node) {
16
16
  tag = node.tagName.toLowerCase();
17
-
17
+
18
18
  if (node.id) {
19
19
  tag += "#" + node.id.replace(/ /g, '#');
20
20
  }
21
21
  else if (node.className) {
22
22
  tag += "." + node.className.replace(/ /g, '.');
23
23
  }
24
-
24
+
25
25
  return tag;
26
26
  }
27
-
27
+
28
28
  return dompath.reverse().join(" ");
29
29
  }
30
- })(jQuery);
30
+ })(jQuery);
@@ -24,10 +24,9 @@ function getElements(frender){
24
24
  }
25
25
 
26
26
  function updateElement(element){
27
- element.parent().toggleClass('focused');
28
27
  var id = element.dompath().replace('.enabled', '');
29
- var text = element.val().trim();
30
- var index = $(id).toArray().indexOf(element.parent()[0]);
28
+ var text = element.html().trim();
29
+ var index = $(id).toArray().indexOf(element[0]);
31
30
  var frender = element.closest('.frender').attr('id');
32
31
 
33
32
  $.ajax({
@@ -55,41 +54,11 @@ $(window).load(function(){
55
54
  getElements(frender.id);
56
55
  });
57
56
 
58
- var value = '';
59
- $('.frend.enabled').on('click', function(){
60
- if(($(this).find('textarea').prop('tagName')) != 'TEXTAREA'){
61
- var height = $(this).height()
62
- var width = $(this).width()
63
- $(this).toggleClass('focused')
64
- var content = $(this).text()
65
- value = content
66
- $(this).html('<textarea id="box-in-frend" class="frend-input-box" />')
67
- $('#box-in-frend').val(content.trim())
68
- $(this).find('.frend-input-box').css({
69
- 'height' : height + 'px',
70
- 'width' : width + 'px'
71
- }).select()
72
- }
73
- })
74
-
75
- $('.frend.enabled').on('blur', 'textarea', function(){
76
- if($(this).val() != value){
77
- updateElement($(this))
78
- }
57
+ $('.frender').on('blur', '.enabled', function(){
58
+ updateElement($(this))
79
59
 
80
- if($(this).val().length < 1){
81
- $(this).parent().html($(this).parent().dompath().replace('.enabled', ''))
82
- } else {
83
- $(this).parent().html($(this).val())
60
+ if($(this).html().length < 1){
61
+ $(this).html($(this).dompath().replace('.enabled', ''))
84
62
  }
85
- $('.frend').removeClass('focused')
86
- })
87
-
88
- $('.frend.enabled').on('keyup', 'textarea', function(){
89
- var h = $(this).height()
90
- $(this).css('height', '0px')
91
- var sh = $(this).prop('scrollHeight')
92
- var minh = $(this).css('min-height').replace('px', '')
93
- $(this).css('height', Math.max(sh,minh)+'px')
94
63
  })
95
64
  })
@@ -1,6 +1,5 @@
1
1
  .frend{
2
2
  display:none;
3
- white-space:pre-wrap;
4
3
  }
5
4
 
6
5
  .frend-input-box{
@@ -31,4 +30,4 @@
31
30
  .frend.enabled:hover{
32
31
  cursor:pointer;
33
32
  outline:1px dotted green;
34
- }
33
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frendms-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyson Holub
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-10 00:00:00.000000000 Z
11
+ date: 2016-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,9 +38,8 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
- description: Click a html element to make it an editable textarea. Changes are saved
42
- to the database via ajax. When the page is loaded the changes will be injected into
43
- that element.
41
+ description: Click and edit any html element. Changes are saved to the database via
42
+ ajax. When the page is loaded the changes will be injected into that element.
44
43
  email:
45
44
  - tyson@tysonholub.com
46
45
  executables: []
@@ -67,7 +66,7 @@ files:
67
66
  - vendor/assets/javascripts/dompath.js
68
67
  - vendor/assets/javascripts/frendms.js
69
68
  - vendor/assets/stylesheets/frendms.css
70
- homepage: http://frendms.tysonholub.com
69
+ homepage: https://github.com/tysonholub/frendms-rails
71
70
  licenses:
72
71
  - MIT
73
72
  metadata:
@@ -88,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
87
  version: '0'
89
88
  requirements: []
90
89
  rubyforge_project:
91
- rubygems_version: 2.4.8
90
+ rubygems_version: 2.2.2
92
91
  signing_key:
93
92
  specification_version: 4
94
93
  summary: The Front End Management System