easy_modal_window 0.0.1 → 0.0.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: 1155b46ab7481647db5c3ddfe7e7208d68035f78
4
- data.tar.gz: 16e862310313f92a54cb5d3053fb8761ffd0f8d5
3
+ metadata.gz: c0f1edecbf457f9ac4ab4003d9f14cf68ff03180
4
+ data.tar.gz: 4669f37fba2c805592af32f9caeaaf2e2305b876
5
5
  SHA512:
6
- metadata.gz: ba2ed88b00202d70290041c91543ece201b4c62f54eae65f81b639dbe40a9f80c1bbbb30d960d44a5ba3a015c9d45188577210eb6d492fd58f060efa78e01bce
7
- data.tar.gz: 6762fda03e88ec40fe573e9f279c3916946919b6c981d52c72f7468dca9ae114f77608f13f7ea59b02438c31f59e839202a068077b9130a68bab95373bd0bf60
6
+ metadata.gz: b88551d6a2fed1f6b6dae6e7645b69a0fc6832c0af9a0d0f9f1c1c54ce88277147e29c9087d0f724aa60283481d023f2c690dc273e63f3eb0ba2403010b6cca3
7
+ data.tar.gz: 0bfb336f4c4d37054101dd486d24df8312f1f9cdbf8b7f749eccca02a2307ef5bdcf337c81421b7b1c9cd7c868428e570457e58219b58a286beb9fb58d44e11c
data/README.md CHANGED
@@ -6,7 +6,7 @@ This is wrapper for jQuery-UI Dialog. Additionaly it contain several templates f
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'easy_modal_window', git: 'https://github.com/Loriowar/easy_modal_window.git'
9
+ gem 'easy_modal_window'
10
10
 
11
11
  And then execute:
12
12
 
@@ -18,7 +18,56 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- Coming soon
21
+ Gem provide several helpers for easy render jQuery-UI dialog and list with ActiveRecord errors.
22
+
23
+ ### jQuery-UI dialog
24
+
25
+ Helper `render_base_dialog`. It take parameters like a `dialog`, but in more easy way and with less required parameters.
26
+
27
+ render_base_dialog(
28
+ render_template: 'example_template',
29
+ resizable: false,
30
+ height: 'auto',
31
+ width: 'auto',
32
+ before_close: {
33
+ condition: true,
34
+ action: 'return true;'
35
+ },
36
+ buttons: {
37
+ load_button: {
38
+ name: l(:load_button),
39
+ action: "$('#modal-window-ajax-form').submit();"
40
+ },
41
+ close_button: {
42
+ name: l(:close_button),
43
+ action: "$(this).dialog('close');"
44
+ }
45
+ }
46
+
47
+ Here we can skip any parameters except `render_template`.
48
+
49
+ **NOTE:** by default modal window puts in `#ajax-modal` element; you can specify other selector in `window_selector` option.
50
+
51
+ ### ActiveRecord errors
52
+
53
+ Helper `render_active_record_result` provide easy way to render list with several AR errors.
54
+
55
+ render_active_record_result(object: object,
56
+ success_message: l(:success_message))
57
+
58
+ If `object.errors.blank?` you see value of `success_message`.
59
+
60
+ ### ErrorsContainer errors
61
+
62
+ Helper `render_errors_container_result` provide easy way to render nested lists with messages from [ErrorsContainer](https://github.com/Loriowar/error_messages_container).
63
+
64
+ render_errors_container_result(object: object,
65
+ success_message: l(:success_message),
66
+ container_class: 'upper-ul-class', # class for upper ul element
67
+ element_class: 'first-li-class', # class for li elements which contain group name
68
+ errors_group_class: 'div-in-li-class') # class for div with errors group name
69
+
70
+ CSS-class parameters are optional.
22
71
 
23
72
  ## Contributing
24
73
 
@@ -2,8 +2,15 @@
2
2
 
3
3
  var $modalWindow = $('<%= modal_options.window_selector %>');
4
4
 
5
- $modalWindow.html("<%= j render template: modal_options.render_template,
6
- formats: modal_options.formats %>");
5
+ <% render_options = {formats: modal_options.formats,
6
+ locals: modal_options.locals} %>
7
+
8
+ <% if modal_options.render_template.present? %>
9
+ $modalWindow.html("<%= j render render_options.merge(template: modal_options.render_template) %>");
10
+ <% elsif modal_options.render_partial.present? %>
11
+ $modalWindow.html("<%= j render render_options.merge(partial: modal_options.render_partial) %>");
12
+ <% end %>
13
+
7
14
  var $titleElement = $modalWindow.find('<%= modal_options.title_selector %>');
8
15
  var title = $titleElement.text();
9
16
  $titleElement.hide();
@@ -1,3 +1,3 @@
1
1
  module EasyModalWindow
2
- VERSION = "0.0.1"
2
+ VERSION = '0.0.2'
3
3
  end
@@ -6,15 +6,17 @@ module EasyModalWindow
6
6
 
7
7
  attr_reader :modal_options
8
8
 
9
- ALLOVED_OPTIONS = [:window_selector, :title_selector, :render_template, :formats,
10
- :resizable, :height, :width, :buttons, :before_close, :success_message,
9
+ ALLOWED_OPTIONS = [:window_selector, :title_selector, :render_template, :render_partial, :formats,
10
+ :locals, :resizable, :height, :width, :buttons, :before_close, :success_message,
11
11
  :object, :container_class, :element_class, :errors_group_class].freeze
12
12
 
13
13
  def initialize(args)
14
14
  @modal_options = {}
15
15
  @modal_options[:window_selector] = '#ajax-modal'
16
16
  @modal_options[:title_selector] = 'h3.title'
17
- @modal_options[:render_template] = ''
17
+ @modal_options[:render_template] = nil
18
+ @modal_options[:render_partial] = nil
19
+ @modal_options[:locals] = {}
18
20
  @modal_options[:formats] = [:html]
19
21
  @modal_options[:resizable] = true
20
22
  @modal_options[:height] = 'auto'
@@ -35,10 +37,10 @@ module EasyModalWindow
35
37
  @modal_options[:element_class] = ''
36
38
  @modal_options[:errors_group_class] = ''
37
39
 
38
- @modal_options.merge!(args.slice(*EasyModalWindow::Dialog::ALLOVED_OPTIONS))
40
+ @modal_options.merge!(args.slice(*EasyModalWindow::Dialog::ALLOWED_OPTIONS))
39
41
  end
40
42
 
41
- (ALLOVED_OPTIONS - [:before_close, :buttons]).each do |method|
43
+ (ALLOWED_OPTIONS - [:before_close, :buttons]).each do |method|
42
44
  class_eval <<-EOT, __FILE__, __LINE__ + 1
43
45
  def #{method}
44
46
  @modal_options[:#{method}]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easy_modal_window
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Zabrovskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-11 00:00:00.000000000 Z
11
+ date: 2015-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler