frendms-rails 0.2.0 → 0.3.2

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