dynaspan 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +21 -1
- data/app/helpers/dynaspan/application_helper.rb +9 -7
- data/app/views/dynaspan/_dynaspan_text_area.html.erb +1 -1
- data/app/views/dynaspan/_dynaspan_text_field.html.erb +1 -1
- data/lib/dynaspan/version.rb +1 -1
- data/vendor/assets/javascripts/dynaspan/dynaspan.js +20 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 594c27faf04b8c51de65d4f8e6101d0062b9b863
|
4
|
+
data.tar.gz: 6e5a1b2b1a091dc17f1e86a0d98af328caa8eb42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 616eadcaff9b70872a1776a62f0879a3696e1609c6bbf045ed57370a279f89711dfad0979e7a52d371ebeee0c1185f79f1f31b2c105b82ac1a29ed1cf7e471b4
|
7
|
+
data.tar.gz: d663df0da430cab97a4c0b280276db167349eef59b252ab5cb4d42e9680d0b1f6109b03742e34de49f37e0417be7a5fd3fb0f14e05810068a148fb4f5b05d867
|
data/README.md
CHANGED
@@ -23,7 +23,11 @@ Example #1:
|
|
23
23
|
Example #2:
|
24
24
|
|
25
25
|
dynaspan_text_field(profile, profile.websites, :url, '[edit]',
|
26
|
-
|
26
|
+
{
|
27
|
+
hidden_fields: {page_name: 'page2'},
|
28
|
+
callback_on_update: "alert('Awesome!');"
|
29
|
+
}
|
30
|
+
)
|
27
31
|
|
28
32
|
This will show the value of note in the comment object as plain text. It can be clicked on to instantly become a text field input. And once unselected the `@article` object will update with its nested attribute object `comment` and its new value in the `note` attribute.
|
29
33
|
|
@@ -73,6 +77,22 @@ calling parents with selectors. Example usage:
|
|
73
77
|
|
74
78
|
###What's New
|
75
79
|
|
80
|
+
####Version 0.1.1
|
81
|
+
|
82
|
+
Added a JavaScript callback that will **append** a Hash/Dictionary of the updated Dynaspan Object to the end of your
|
83
|
+
functions parameters. The method is named **callback_with_values**.
|
84
|
+
|
85
|
+
{
|
86
|
+
callback_with_values: "console.log();"
|
87
|
+
}
|
88
|
+
|
89
|
+
This will be called everytime the Dynaspan field submits and it will **inject** the following result **as the last parameter**:
|
90
|
+
|
91
|
+
{
|
92
|
+
ds_selector: "dyna_span_unique_label<#>",
|
93
|
+
ds_input: "the entered text from the input field"
|
94
|
+
}
|
95
|
+
|
76
96
|
####Version 0.1.0
|
77
97
|
|
78
98
|
Added the same hidden_fields from version 0.0.8 to support non-nested Objects. You can use them now on anything.
|
@@ -29,16 +29,18 @@ module Dynaspan
|
|
29
29
|
end
|
30
30
|
edit_text = nil unless edit_text.is_a? String
|
31
31
|
options = (parameters[-1].is_a?(Hash) ? parameters[-1] : {})
|
32
|
+
options.default = nil
|
32
33
|
render(
|
33
34
|
partial: "dynaspan/dynaspan_text_#{kind}",
|
34
35
|
locals: {
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
master_ds_object: master_ds_object,
|
37
|
+
attr_object: attr_object,
|
38
|
+
attrib: attrib,
|
39
|
+
unique_ref_id: dynaspan_counter,
|
40
|
+
dyna_span_edit_text: edit_text,
|
41
|
+
hidden_fields: options[:hidden_fields],
|
42
|
+
ds_callback_on_update: options[:callback_on_update],
|
43
|
+
ds_callback_with_values: options[:callback_with_values]
|
42
44
|
}
|
43
45
|
)
|
44
46
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%# This is used through the helper method dynaspan_text_area %>
|
2
|
-
<div id="dyna_span_block<%= unique_ref_id %>" <%= "data-ds-callback-on-update=\"#{ds_callback_on_update}\" " if ds_callback_on_update.present? %>class='dyna-span<%= ' ds-content-present' if (attr_object.try(attrib).present? || master_ds_object.try(attrib).present?) %>'>
|
2
|
+
<div id="dyna_span_block<%= unique_ref_id %>" <%= "data-ds-callback-on-update=\"#{ds_callback_on_update}\" " if ds_callback_on_update.present? %> <%= "data-ds-callback-with-values=\"#{ds_callback_with_values}\" " if ds_callback_with_values.present? %>class='dyna-span<%= ' ds-content-present' if (attr_object.try(attrib).present? || master_ds_object.try(attrib).present?) %>'>
|
3
3
|
<%= hidden_field_tag "last_dyna_span_val_#{unique_ref_id}", attr_object.try(attrib) || master_ds_object.try(attrib), id: "last_dyna_span_val_#{unique_ref_id}" %>
|
4
4
|
<div id="<%= "dyna_span_div#{unique_ref_id}" %>" style="display:none;">
|
5
5
|
<%= form_for(master_ds_object, method: :patch, remote: true, authenticity_token: true) do |f| %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%# This is used through the helper method dynaspan_text_field %>
|
2
|
-
<div id="dyna_span_block<%= unique_ref_id %>" <%= "data-ds-callback-on-update=\"#{ds_callback_on_update}\" " if ds_callback_on_update.present? %>class='dyna-span<%= ' ds-content-present' if (attr_object.try(attrib).present? || master_ds_object.try(attrib).present?) %>'>
|
2
|
+
<div id="dyna_span_block<%= unique_ref_id %>" <%= "data-ds-callback-on-update=\"#{ds_callback_on_update}\" " if ds_callback_on_update.present? %> <%= "data-ds-callback-with-values=\"#{ds_callback_with_values}\" " if ds_callback_with_values.present? %>class='dyna-span<%= ' ds-content-present' if (attr_object.try(attrib).present? || master_ds_object.try(attrib).present?) %>'>
|
3
3
|
<%= hidden_field_tag "last_dyna_span_val_#{unique_ref_id}", attr_object.try(attrib) || master_ds_object.try(attrib), id: "last_dyna_span_val_#{unique_ref_id}" %>
|
4
4
|
<div id="<%= "dyna_span_div#{unique_ref_id}" %>" style="display:none;">
|
5
5
|
<%= form_for(master_ds_object, method: :patch, remote: true, authenticity_token: true) do |f| %>
|
data/lib/dynaspan/version.rb
CHANGED
@@ -3,6 +3,18 @@
|
|
3
3
|
(function($){
|
4
4
|
$.fn.dynaspan = function(){};
|
5
5
|
|
6
|
+
$.fn.dynaspan.appendParameter = function(excmd,append_param){
|
7
|
+
var regExp = [/\(([^)]+)\);?$/,/\(\);?$/];
|
8
|
+
var matches = [regExp[0].exec(excmd), regExp[1].exec(excmd)];
|
9
|
+
if (matches[0]){
|
10
|
+
return(excmd.replace(matches[0][0],'(' + matches[0][1] + ',' + append_param +');'));
|
11
|
+
} else if (matches[1]) {
|
12
|
+
return(excmd.replace(matches[1][0],'(' + append_param + ');'));
|
13
|
+
} else {
|
14
|
+
return excmd.replace(/;$/,'') + '(' + append_param + ');';
|
15
|
+
}
|
16
|
+
};
|
17
|
+
|
6
18
|
$.fn.dynaspan.upLast = function(uniq_id_ref){
|
7
19
|
$('#dyna_span_field_val_' + uniq_id_ref).val($('#last_dyna_span_val_' + uniq_id_ref).val());
|
8
20
|
};
|
@@ -26,6 +38,14 @@
|
|
26
38
|
} else {
|
27
39
|
ds_block.addClass("ds-content-present")
|
28
40
|
}
|
41
|
+
if (ds_block.data('dsCallbackWithValues')){
|
42
|
+
eval(
|
43
|
+
$.fn.dynaspan.appendParameter(
|
44
|
+
ds_block.data('dsCallbackWithValues'),
|
45
|
+
"{ds_selector:'#dyna_span_block" + uniq_id_ref + "',ds_input:'" + field_val + "'}"
|
46
|
+
)
|
47
|
+
)
|
48
|
+
}
|
29
49
|
if (ds_block.data('dsCallbackOnUpdate')){
|
30
50
|
eval(ds_block.data('dsCallbackOnUpdate'))
|
31
51
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dynaspan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel P. Clark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: In place text editing with AJAX substituting text to input field.
|
14
14
|
email:
|