easy_modal_window 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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