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