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 +4 -4
- data/.gitignore +1 -0
- data/README.md +2 -2
- data/frendms-rails.gemspec +4 -4
- data/lib/frendms/rails/version.rb +1 -1
- data/vendor/assets/javascripts/dompath.js +8 -8
- data/vendor/assets/javascripts/frendms.js +6 -37
- data/vendor/assets/stylesheets/frendms.css +1 -2
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c55a23b726edfce96a7c0ae48e7debff78de9ee1
|
4
|
+
data.tar.gz: ca5bf05805e23810c39878e422f913a75112f898
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16a0a6cdeaca42b803f3a7b0546564858d0d0387d489b0d9782702008344ee1fe2c0a3839bb187eafbf7e9c1d452ef78576ace522ce1a68425bd05d719d039f4
|
7
|
+
data.tar.gz: 7f14064c0b09586fd1d800ed32fc514867b642d3de65d1ab661d5f7a851ab582250a865803ef25041c8893879c08994cde961048ba9d79a4f8dd46a520d06edc
|
data/.gitignore
CHANGED
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 %>
|
data/frendms-rails.gemspec
CHANGED
@@ -3,18 +3,18 @@
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "frendms-rails"
|
6
|
-
s.version = "0.2
|
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-
|
14
|
-
s.description = "Click
|
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 = "
|
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"
|
@@ -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
|
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.
|
30
|
-
var index = $(id).toArray().indexOf(element
|
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
|
-
|
59
|
-
|
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).
|
81
|
-
$(this).
|
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
|
})
|
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
|
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-
|
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
|
42
|
-
|
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:
|
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.
|
90
|
+
rubygems_version: 2.2.2
|
92
91
|
signing_key:
|
93
92
|
specification_version: 4
|
94
93
|
summary: The Front End Management System
|