on_the_spot 0.0.10 → 0.0.11

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.
data/README.markdown CHANGED
@@ -67,6 +67,7 @@ The `on_the_spot_edit` also accepts options:
67
67
  * `:data`: for select, the lookup-data, should be in an array of id-value pairs. E.g. `[[1, 'ok'], [2, 'not ok'], [3, 'not decided']]`.
68
68
  * `:loadurl`: for select, an url that will return the data in JSON format (use instead of `:data`)
69
69
  * `:url`: URL to post to if you don't want to use the standard routes
70
+ * `:selected`: Text selected by default on edit (boolean, default is false)
70
71
 
71
72
 
72
73
  For the texts: if a text is not specified, the default is taken from the `on_the_spot.en.yml` (or your current language).
data/Rakefile CHANGED
@@ -21,8 +21,12 @@ rescue LoadError
21
21
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
22
22
  end
23
23
 
24
+
24
25
  RSpec::Core::RakeTask.new(:spec)
25
26
 
27
+ task :default => :spec
28
+
29
+
26
30
  desc "Run all specs with rcov"
27
31
  RSpec::Core::RakeTask.new("test_cov") do |t|
28
32
  t.rcov = true
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.10
1
+ 0.0.11
@@ -6,52 +6,56 @@ $(document).ready(function() {
6
6
  $(".on_the_spot_editing").mouseout(function() {
7
7
  $(this).css('background-color', 'inherit');
8
8
  });
9
- $('.on_the_spot_editing').each(function(n){
10
- var el = $(this),
11
- auth_token = el.attr('data-auth'),
12
- data_url = el.attr('data-url'),
13
- ok_text = el.attr('data-ok') || 'OK',
14
- cancel_text = el.attr('data-cancel') || 'Cancel',
15
- tooltip_text = el.attr('data-tooltip') || 'Click to edit ...',
16
- edit_type = el.attr('data-edittype'),
17
- select_data = el.attr('data-select'),
18
- rows = el.attr('data-rows'),
19
- columns = el.attr('data-columns'),
20
- load_url = el.attr('data-loadurl');
9
+ $('.on_the_spot_editing').each(initializeOnTheSpot);
21
10
 
22
- var options = {
23
- tooltip: tooltip_text,
24
- placeholder: tooltip_text,
25
- cancel: cancel_text,
26
- submit: ok_text,
27
- onerror: function (settings, original, xhr) {
28
- original.reset();
29
- //just show the error-msg for now
30
- alert(xhr.responseText);
31
- },
32
- submitdata: {
33
- authenticity_token: auth_token,
34
- _method: 'put'
35
- }
36
- };
37
- if (edit_type != null) {
38
- options.type = edit_type;
11
+ });
12
+
13
+ function initializeOnTheSpot(n){
14
+ var el = $(this),
15
+ auth_token = el.attr('data-auth'),
16
+ data_url = el.attr('data-url'),
17
+ ok_text = el.attr('data-ok') || 'OK',
18
+ cancel_text = el.attr('data-cancel') || 'Cancel',
19
+ tooltip_text = el.attr('data-tooltip') || 'Click to edit ...',
20
+ edit_type = el.attr('data-edittype'),
21
+ select_data = el.attr('data-select'),
22
+ rows = el.attr('data-rows'),
23
+ columns = el.attr('data-columns'),
24
+ load_url = el.attr('data-loadurl'),
25
+ selected = el.attr('data-selected');
26
+
27
+ var options = {
28
+ tooltip: tooltip_text,
29
+ placeholder: tooltip_text,
30
+ cancel: cancel_text,
31
+ submit: ok_text,
32
+ select: selected,
33
+ onerror: function (settings, original, xhr) {
34
+ original.reset();
35
+ //just show the error-msg for now
36
+ alert(xhr.responseText);
37
+ },
38
+ submitdata: {
39
+ authenticity_token: auth_token,
40
+ _method: 'put'
39
41
  }
40
- if (edit_type == 'select') {
41
- if (select_data != null) {
42
- options.data = select_data;
43
- options.submitdata['select_array'] = select_data;
44
- }
45
- if (load_url != null) {
46
- options.loadurl = load_url;
47
- }
42
+ };
43
+ if (edit_type != null) {
44
+ options.type = edit_type;
45
+ }
46
+ if (edit_type == 'select') {
47
+ if (select_data != null) {
48
+ options.data = select_data;
49
+ options.submitdata['select_array'] = select_data;
48
50
  }
49
- else if (edit_type == 'textarea') {
50
- options.rows = rows;
51
- options.cols = columns;
51
+ if (load_url != null) {
52
+ options.loadurl = load_url;
52
53
  }
54
+ }
55
+ else if (edit_type == 'textarea') {
56
+ options.rows = rows;
57
+ options.cols = columns;
58
+ }
53
59
 
54
- el.editable(data_url, options)
55
- })
56
-
57
- });
60
+ el.editable(data_url, options)
61
+ }
@@ -17,6 +17,7 @@ module OnTheSpot
17
17
  # display_text : either overrule the normal display-value, or needed when using loadurl
18
18
  # data : (for select) an array of options in the form [id, value]
19
19
  # url : (optional) URL to post to if you don't want to use the standard routes
20
+ # selected : (optional) boolean, text selected on edit
20
21
  def on_the_spot_edit(object, field, options={})
21
22
  #!!! to do: translate options to data-fields
22
23
  # Possible fields:
@@ -63,7 +64,8 @@ module OnTheSpot
63
64
  html_options[:'data-cancel'] = options[:cancel_text]
64
65
  html_options[:'data-tooltip'] = options[:tooltip]
65
66
  html_options[:'data-auth'] = form_authenticity_token if defined? form_authenticity_token
66
-
67
+ html_options[:'data-selected'] = options[:selected]
68
+
67
69
  content_tag("span", html_options) do
68
70
  if options[:display_text]
69
71
  options[:display_text]
data/on_the_spot.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{on_the_spot}
8
- s.version = "0.0.10"
8
+ s.version = "0.0.11"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Nathan Van der Auwera"]
12
- s.date = %q{2011-05-08}
12
+ s.date = %q{2011-05-29}
13
13
  s.description = %q{Unobtrusive in place editing, using jEditable; only works in Rails 3}
14
14
  s.email = %q{nathan@dixis.com}
15
15
  s.extra_rdoc_files = [
@@ -56,6 +56,11 @@ describe "OnTheSpot" do
56
56
  @result = @tester.on_the_spot_edit @dummy, :content
57
57
  @result.should == "<span class=\"on_the_spot_editing\" data-cancel=\"cancel\" data-ok=\"ok\" data-tooltip=\"tooltip\" data-url=\"/bla\" id=\"r_spec/mocks/mock__content__123\">test</span>"
58
58
  end
59
+
60
+ it "should make the correct html for an edit-field with text selected on click" do
61
+ @result = @tester.on_the_spot_edit @dummy, :content, :selected => true
62
+ @result.should == "<span class=\"on_the_spot_editing\" data-cancel=\"cancel\" data-ok=\"ok\" data-selected=\"true\" data-tooltip=\"tooltip\" data-url=\"/bla\" id=\"r_spec/mocks/mock__content__123\">test</span>"
63
+ end
59
64
 
60
65
  it "should make the correct html for an edit-field and overrule display-text" do
61
66
  @result = @tester.on_the_spot_edit @dummy, :content, :display_text => 'jediknight'
@@ -66,6 +71,11 @@ describe "OnTheSpot" do
66
71
  @result = @tester.on_the_spot_edit @dummy, :content, :type => :textarea
67
72
  @result.should == "<span class=\"on_the_spot_editing\" data-cancel=\"cancel\" data-columns=\"40\" data-edittype=\"textarea\" data-ok=\"ok\" data-rows=\"5\" data-tooltip=\"tooltip\" data-url=\"/bla\" id=\"r_spec/mocks/mock__content__123\">test</span>"
68
73
  end
74
+
75
+ it "should make the correct html for a text-area with text selected on click" do
76
+ @result = @tester.on_the_spot_edit @dummy, :content, :type => :textarea, :selected => true
77
+ @result.should == "<span class=\"on_the_spot_editing\" data-cancel=\"cancel\" data-columns=\"40\" data-edittype=\"textarea\" data-ok=\"ok\" data-rows=\"5\" data-selected=\"true\" data-tooltip=\"tooltip\" data-url=\"/bla\" id=\"r_spec/mocks/mock__content__123\">test</span>"
78
+ end
69
79
 
70
80
  it "should make the correct html for a select-box" do
71
81
  @result = @tester.on_the_spot_edit @dummy, :content, :type => :select, :data => [['test', 'This a test'], ['prod', 'Pure Production'], ['QA', 'Quality Assurance']]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 10
9
- version: 0.0.10
8
+ - 11
9
+ version: 0.0.11
10
10
  platform: ruby
11
11
  authors:
12
12
  - Nathan Van der Auwera
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-05-08 00:00:00 +02:00
17
+ date: 2011-05-29 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency