netzke-basepack 0.7.7 → 0.8.0

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.
Files changed (192) hide show
  1. data/.travis.yml +15 -10
  2. data/{CHANGELOG.rdoc → CHANGELOG.md} +146 -110
  3. data/LICENSE +7 -1
  4. data/README.md +47 -56
  5. data/Rakefile +5 -5
  6. data/config/before-travis.sh +10 -0
  7. data/javascripts/basepack.js +0 -130
  8. data/javascripts/netzkeremotecombo.js +59 -0
  9. data/lib/netzke/basepack.rb +9 -14
  10. data/lib/netzke/basepack/accordion.rb +45 -0
  11. data/lib/netzke/basepack/active_record.rb +12 -0
  12. data/lib/netzke/basepack/active_record/relation_extensions.rb +27 -0
  13. data/lib/netzke/basepack/columns.rb +309 -0
  14. data/lib/netzke/basepack/data_accessor.rb +22 -12
  15. data/lib/netzke/basepack/data_adapters/abstract_adapter.rb +75 -11
  16. data/lib/netzke/basepack/data_adapters/active_record_adapter.rb +154 -49
  17. data/lib/netzke/basepack/fields.rb +162 -0
  18. data/lib/netzke/basepack/form.rb +136 -0
  19. data/lib/netzke/basepack/{form_panel → form}/javascripts/comma_list_cbg.js +0 -1
  20. data/lib/netzke/basepack/{form_panel/javascripts/form_panel.js → form/javascripts/form.js} +20 -26
  21. data/lib/netzke/basepack/{form_panel → form}/javascripts/n_radio_group.js +0 -1
  22. data/lib/netzke/basepack/{form_panel → form}/javascripts/readonly_mode.js +0 -0
  23. data/lib/netzke/basepack/form/services.rb +115 -0
  24. data/lib/netzke/basepack/{form_panel → form}/stylesheets/readonly_mode.css +0 -0
  25. data/lib/netzke/basepack/grid.rb +355 -0
  26. data/lib/netzke/basepack/{grid_panel → grid}/javascripts/advanced_search.js +1 -1
  27. data/lib/netzke/basepack/{grid_panel → grid}/javascripts/check_column_fix.js +0 -0
  28. data/lib/netzke/basepack/{grid_panel → grid}/javascripts/edit_in_form.js +3 -3
  29. data/lib/netzke/basepack/{grid_panel → grid}/javascripts/event_handling.js +5 -2
  30. data/lib/netzke/basepack/{grid_panel/javascripts/grid_panel.js → grid/javascripts/grid.js} +120 -132
  31. data/lib/netzke/basepack/{grid_panel → grid}/javascripts/misc.js +0 -0
  32. data/lib/netzke/basepack/grid/services.rb +216 -0
  33. data/lib/netzke/basepack/item_persistence.rb +44 -0
  34. data/lib/netzke/basepack/item_persistence/events_plugin.rb +47 -0
  35. data/lib/netzke/basepack/{paging_form_panel.rb → paging_form.rb} +24 -30
  36. data/lib/netzke/basepack/{paging_form_panel/javascripts/paging_form_panel.js → paging_form/javascripts/paging_form.js} +2 -4
  37. data/lib/netzke/basepack/query_builder.rb +44 -73
  38. data/lib/netzke/basepack/query_builder/javascripts/query_builder.js +16 -2
  39. data/lib/netzke/basepack/record_form_window.rb +67 -0
  40. data/lib/netzke/basepack/search_panel.rb +22 -24
  41. data/lib/netzke/basepack/search_panel/javascripts/condition_field.js +2 -2
  42. data/lib/netzke/basepack/search_window.rb +47 -53
  43. data/lib/netzke/basepack/simple_app.rb +10 -13
  44. data/lib/netzke/basepack/simple_app/javascripts/simple_app.js +2 -8
  45. data/lib/netzke/basepack/tab_panel.rb +5 -4
  46. data/lib/netzke/basepack/tab_panel/javascripts/tab_panel.js +5 -5
  47. data/lib/netzke/basepack/version.rb +2 -2
  48. data/lib/netzke/basepack/viewport.rb +16 -0
  49. data/lib/netzke/basepack/window.rb +27 -18
  50. data/lib/netzke/basepack/window/javascripts/window.js +7 -1
  51. data/lib/netzke/basepack/wrap_lazy_loaded.rb +18 -18
  52. data/locales/en.yml +40 -24
  53. data/netzke-basepack.gemspec +51 -82
  54. data/stylesheets/basepack.css +0 -41
  55. data/test/basepack_test_app/Gemfile +9 -46
  56. data/test/basepack_test_app/Gemfile.lock +61 -96
  57. data/test/basepack_test_app/app/components/author_form.rb +8 -5
  58. data/test/basepack_test_app/app/components/author_grid.rb +2 -2
  59. data/test/basepack_test_app/app/components/book_form.rb +34 -31
  60. data/test/basepack_test_app/app/components/book_form_with_defaults.rb +6 -7
  61. data/test/basepack_test_app/app/components/book_form_with_file_upload.rb +10 -0
  62. data/test/basepack_test_app/app/components/book_form_with_nested_attributes.rb +5 -6
  63. data/test/basepack_test_app/app/components/book_grid.rb +19 -8
  64. data/test/basepack_test_app/app/components/book_grid_filtering.rb +4 -7
  65. data/test/basepack_test_app/app/components/book_grid_loader.rb +28 -15
  66. data/test/basepack_test_app/app/components/book_grid_with_custom_columns.rb +45 -21
  67. data/test/basepack_test_app/app/components/book_grid_with_default_values.rb +26 -8
  68. data/test/basepack_test_app/app/components/book_grid_with_excluded_columns.rb +11 -0
  69. data/test/basepack_test_app/app/components/book_grid_with_extra_feedback.rb +2 -2
  70. data/test/basepack_test_app/app/components/book_grid_with_extra_filters.rb +7 -6
  71. data/test/basepack_test_app/app/components/book_grid_with_mass_assignment_security.rb +9 -0
  72. data/test/basepack_test_app/app/components/book_grid_with_nested_attributes.rb +9 -9
  73. data/test/basepack_test_app/app/components/book_grid_with_overridden_columns.rb +5 -3
  74. data/test/basepack_test_app/app/components/book_grid_with_paging.rb +6 -8
  75. data/test/basepack_test_app/app/components/book_grid_with_persistence.rb +6 -4
  76. data/test/basepack_test_app/app/components/book_grid_with_scope.rb +6 -0
  77. data/test/basepack_test_app/app/components/book_grid_with_scoped_authors.rb +10 -7
  78. data/test/basepack_test_app/app/components/book_grid_with_virtual_attributes.rb +21 -13
  79. data/test/basepack_test_app/app/components/book_paging_form.rb +21 -0
  80. data/test/basepack_test_app/app/components/book_query_builder.rb +7 -6
  81. data/test/basepack_test_app/app/components/book_with_custom_primary_key_grid.rb +6 -7
  82. data/test/basepack_test_app/app/components/books_bound_to_author.rb +9 -7
  83. data/test/basepack_test_app/app/components/border_layout_panel_with_persistence.rb +12 -0
  84. data/test/basepack_test_app/app/components/double_book_grid.rb +19 -14
  85. data/test/basepack_test_app/app/components/form_without_model.rb +15 -16
  86. data/test/basepack_test_app/app/components/grid_with_initial_sorting.rb +7 -0
  87. data/test/basepack_test_app/app/components/grid_with_inline_data.rb +7 -0
  88. data/test/basepack_test_app/app/components/paging_form_with_search.rb +2 -2
  89. data/test/basepack_test_app/app/components/panel_with_persistent_regions.rb +35 -0
  90. data/test/basepack_test_app/app/components/query_builder.rb +7 -0
  91. data/test/basepack_test_app/app/components/simple_panel.rb +16 -11
  92. data/test/basepack_test_app/app/components/simple_window.rb +7 -6
  93. data/test/basepack_test_app/app/components/some_accordion.rb +18 -0
  94. data/test/basepack_test_app/app/components/some_auth_app.rb +5 -5
  95. data/test/basepack_test_app/app/components/some_border_layout.rb +20 -20
  96. data/test/basepack_test_app/app/components/some_search_panel.rb +6 -0
  97. data/test/basepack_test_app/app/components/some_simple_app.rb +30 -16
  98. data/test/basepack_test_app/app/components/some_tab_panel.rb +18 -15
  99. data/test/basepack_test_app/app/components/user_form.rb +18 -16
  100. data/test/basepack_test_app/app/components/user_form_with_default_fields.rb +5 -6
  101. data/test/basepack_test_app/app/components/user_grid.rb +11 -6
  102. data/test/basepack_test_app/app/components/user_grid_with_customized_form_fields.rb +5 -3
  103. data/test/basepack_test_app/app/components/window_component_loader.rb +25 -21
  104. data/test/basepack_test_app/app/models/address.rb +0 -26
  105. data/test/basepack_test_app/app/models/author.rb +0 -31
  106. data/test/basepack_test_app/app/models/book.rb +1 -42
  107. data/test/basepack_test_app/app/models/book_with_custom_primary_key.rb +1 -23
  108. data/test/basepack_test_app/app/models/role.rb +0 -21
  109. data/test/basepack_test_app/app/models/user.rb +0 -24
  110. data/test/basepack_test_app/app/views/layouts/components.html.erb +1 -1
  111. data/test/basepack_test_app/config/application.rb +1 -1
  112. data/test/basepack_test_app/config/database.yml.travis +2 -6
  113. data/test/basepack_test_app/config/initializers/netzke.rb +1 -6
  114. data/test/basepack_test_app/db/schema.rb +14 -14
  115. data/test/basepack_test_app/features/accordion_panel.feature +2 -2
  116. data/test/basepack_test_app/features/form_panel.feature +7 -7
  117. data/test/basepack_test_app/features/grid_panel.feature +93 -39
  118. data/test/basepack_test_app/features/grid_panel_with_custom_primary_key.feature +2 -1
  119. data/test/basepack_test_app/features/grid_sorting.feature +30 -6
  120. data/test/basepack_test_app/features/paging_form_panel.feature +7 -7
  121. data/test/basepack_test_app/features/persistent_regions.feature +30 -0
  122. data/test/basepack_test_app/features/search_in_grid.feature +5 -5
  123. data/test/basepack_test_app/features/simple_app.feature +6 -7
  124. data/test/basepack_test_app/features/step_definitions/form_panel_steps.rb +1 -1
  125. data/test/basepack_test_app/features/step_definitions/generic_steps.rb +109 -4
  126. data/test/basepack_test_app/features/step_definitions/grid_panel_steps.rb +8 -10
  127. data/test/basepack_test_app/features/step_definitions/window_steps.rb +27 -0
  128. data/test/basepack_test_app/features/tab_panel.feature +1 -1
  129. data/test/basepack_test_app/features/window.feature +17 -0
  130. data/test/unit/accordion_panel_test.rb +2 -2
  131. data/test/unit/grid_panel_test.rb +4 -4
  132. metadata +57 -83
  133. data/TODO.rdoc +0 -8
  134. data/lib/generators/netzke/basepack_generator.rb +0 -10
  135. data/lib/generators/netzke/templates/assets/ts-checkbox.gif +0 -0
  136. data/lib/generators/netzke/templates/create_netzke_field_lists.rb +0 -18
  137. data/lib/netzke/active_record.rb +0 -20
  138. data/lib/netzke/active_record/attributes.rb +0 -259
  139. data/lib/netzke/active_record/combobox_options.rb +0 -16
  140. data/lib/netzke/active_record/relation_extensions.rb +0 -37
  141. data/lib/netzke/basepack/accordion_panel.rb +0 -39
  142. data/lib/netzke/basepack/action_column.rb +0 -68
  143. data/lib/netzke/basepack/action_column/javascripts/action_column.js +0 -61
  144. data/lib/netzke/basepack/auth_app.rb +0 -159
  145. data/lib/netzke/basepack/basic_app.rb +0 -7
  146. data/lib/netzke/basepack/border_layout_panel.rb +0 -53
  147. data/lib/netzke/basepack/border_layout_panel/javascripts/border_layout_panel.js +0 -40
  148. data/lib/netzke/basepack/data_adapters/data_mapper_adapter.rb +0 -264
  149. data/lib/netzke/basepack/data_adapters/sequel_adapter.rb +0 -260
  150. data/lib/netzke/basepack/form_panel.rb +0 -144
  151. data/lib/netzke/basepack/form_panel/fields.rb +0 -208
  152. data/lib/netzke/basepack/form_panel/javascripts/misc.js +0 -4
  153. data/lib/netzke/basepack/form_panel/services.rb +0 -142
  154. data/lib/netzke/basepack/grid_panel.rb +0 -441
  155. data/lib/netzke/basepack/grid_panel/columns.rb +0 -400
  156. data/lib/netzke/basepack/grid_panel/javascripts/rows-dd.js +0 -281
  157. data/lib/netzke/basepack/grid_panel/record_form_window.rb +0 -41
  158. data/lib/netzke/basepack/grid_panel/services.rb +0 -235
  159. data/lib/netzke/basepack/panel.rb +0 -11
  160. data/lib/netzke/basepack/wrapper.rb +0 -28
  161. data/lib/netzke/data_mapper.rb +0 -18
  162. data/lib/netzke/data_mapper/attributes.rb +0 -273
  163. data/lib/netzke/data_mapper/combobox_options.rb +0 -11
  164. data/lib/netzke/data_mapper/relation_extensions.rb +0 -38
  165. data/lib/netzke/sequel.rb +0 -18
  166. data/lib/netzke/sequel/attributes.rb +0 -274
  167. data/lib/netzke/sequel/combobox_options.rb +0 -10
  168. data/lib/netzke/sequel/relation_extensions.rb +0 -40
  169. data/locales/zh-cn.yml +0 -79
  170. data/test/basepack_test_app/app/components/book_form_with_custom_fields.rb +0 -21
  171. data/test/basepack_test_app/app/components/book_grid_with_column_actions.rb +0 -15
  172. data/test/basepack_test_app/app/components/book_grid_with_defaults.rb +0 -6
  173. data/test/basepack_test_app/app/components/book_paging_form_panel.rb +0 -22
  174. data/test/basepack_test_app/app/components/generic_user_form.rb +0 -12
  175. data/test/basepack_test_app/app/components/simple_accordion.rb +0 -11
  176. data/test/basepack_test_app/app/components/simple_tab_panel.rb +0 -11
  177. data/test/basepack_test_app/app/components/simple_wrapper.rb +0 -7
  178. data/test/basepack_test_app/app/components/some_accordion_panel.rb +0 -22
  179. data/test/basepack_test_app/app/presenters/forms/generic_user.rb +0 -6
  180. data/test/basepack_test_app/app/views/components/loadable_window.html.erb +0 -9
  181. data/test/basepack_test_app/app/views/components/simple_panel.html.erb +0 -1
  182. data/test/basepack_test_app/features/components_in_view.feature +0 -11
  183. data/test/basepack_test_app/features/simple_panel.feature +0 -11
  184. data/test/basepack_test_app/features/validations_in_grid.feature +0 -13
  185. data/test/basepack_test_app/features/virtual_attributes.feature +0 -16
  186. data/test/basepack_test_app/spec/components/form_panel_spec.rb +0 -53
  187. data/test/basepack_test_app/spec/components/grid_panel_spec.rb +0 -10
  188. data/test/basepack_test_app/spec/data_adapter/adapter_spec.rb +0 -68
  189. data/test/basepack_test_app/spec/data_adapter/attributes_spec.rb +0 -56
  190. data/test/basepack_test_app/spec/data_adapter/relation_extensions_spec.rb +0 -125
  191. data/test/basepack_test_app/spec/factories.rb +0 -28
  192. data/test/basepack_test_app/spec/spec_helper.rb +0 -39
data/.travis.yml CHANGED
@@ -1,11 +1,16 @@
1
+ language: ruby
1
2
  rvm:
2
- - 1.9.2
3
-
4
- env:
5
- - ORM=ar
6
- - ORM=dm
7
- - ORM=sq
8
-
9
- bundler_args: "--without development production profiling"
10
- before_script: "./config/ci/before-travis.sh"
11
- script: "cd test/basepack_test_app ; bundle exec rake travis"
3
+ - 1.9.3
4
+ gemfile:
5
+ - test/basepack_test_app/Gemfile
6
+ before_script:
7
+ - chmod 777 ./config/before-travis.sh
8
+ - ./config/before-travis.sh
9
+ script:
10
+ - export DISPLAY=:99.0
11
+ - cd test/basepack_test_app
12
+ - bundle exec rake db:create db:migrate RAILS_ENV=test
13
+ - bundle exec cucumber features
14
+ branches:
15
+ only:
16
+ - master
@@ -1,29 +1,65 @@
1
- = 0.7.7 - 2012-10-20
2
- * Ext JS 4.1.x support
1
+ # 0.8.0 - WIP
2
+ * Basepack component renaming:
3
+ * GridPanel -> Grid
4
+ * FormPanel -> Form
5
+ * AccordionPanel -> Accordion
3
6
 
4
7
  * improvements
5
- * cleaner handling of association column editing in GridPanel
8
+ * Grid/Form respect `attr_accessible` and `attr_protected` on the model; set the `role` config option on them to tune mass-assignment security
9
+ * New `data_store` config option in Grid
10
+ * Major internal refactorings
11
+ * Window now also stores its 'maximized' state
6
12
 
7
- * bug fix
8
- * models with non-conventional primary keys could not be updated by gridpanel (davide)
9
- * GridPanel's default forms respect "read_only" and "editable" config in fields
13
+ * changes
14
+ * BorderLayoutPanel is removed. Any component can now enable its items persistence by including `Netzke::Basepack::ItemPersistence` module
15
+ * Methods like `netzke_attribute`, `netzke_expose_attributes` etc are gone. Define your columns/fields directly in your grids/forms.
16
+ * Accordion and TabPanel now lazily load the Netzke components by default; set `eager_loading` to true for the components that should be loaded eagerly.
17
+
18
+ ## Grid
19
+
20
+ ### Customizing grid's forms
21
+
22
+ The windows with a form inside, which is used for adding/(multi-)editing of records, are now referred as: `add_window`, `edit_window` (instead of `add_form` and `edit_form`). Both accept a config param `form_config`, which can be used to configure the contained Form - e.g., to change its layout or even class. For example, to change the layout of a form that is found in the edit window, do the following in your grid class:
23
+
24
+ component :edit_window do |c|
25
+ super(c)
26
+ c.form_config.items = [:name, :author__name]
27
+ end
28
+
29
+ DSL methods `add_form_config`, `edit_form_config`, `multi_edit_form_config`, `add_form_window_config`, `edit_form_window_config`, `multi_edit_form_window_config` are gone.
30
+
31
+ ### Customizing columns
32
+
33
+ Use the new `column` DSL method that accepts a block:
34
+
35
+ column :extra_column do |c|
36
+ c.text = "Extra"
37
+ end
38
+
39
+ If needed, this can be overridden in the subclass the same way as components and actions can be.
40
+
41
+ DSL method `override_column` is gone.
42
+
43
+ ### Misc
44
+
45
+ `Grid.extended_search_available` -> `Grid.advanced_search_available`
10
46
 
11
- = 0.7.6 - 2012-07-27
47
+ # 0.7.6 - 2012-07-27
12
48
  * Fix netzke-core version dependency in gemspec
13
49
 
14
- = 0.7.5 - 2012-07-27
50
+ # 0.7.5 - 2012-07-27
15
51
  * Rails 3.2
16
52
 
17
53
  * improvements
18
54
  * data-related operations in grids and forms are moved to data adapters; implemented (partial) support for DataMapper and Sequel (see updated README)
19
55
  * afterApply event in forms and grids (pschyska)
20
- * apply event fired before apply button is processed in FormPanel (pschyska)
56
+ * apply event fired before apply button is processed in Form (pschyska)
21
57
 
22
58
  * bug fix
23
59
  * advanced search panel works again (pididi)
24
60
  * fixed a problem with session and GridPanel
25
61
 
26
- = 0.7.4 - 2012-03-05
62
+ # 0.7.4 - 2012-03-05
27
63
  * bug fix
28
64
  * :enable_pagination is now respected in GridPanel
29
65
  * Virtual columns are not sortable by default now
@@ -31,15 +67,15 @@
31
67
  * Make Window respect persistence: false
32
68
  * Disable persistence for search window in GridPanel
33
69
 
34
- = 0.7.3 - 2011-10-23
70
+ # 0.7.3 - 2011-10-23
35
71
  * bug fix
36
72
  * :sorting_scope is now respected in GridPanel
37
73
  * regression: filtering on association column is fix (covered with tests)
38
74
 
39
- = 0.7.2 - 2011-10-20
75
+ # 0.7.2 - 2011-10-20
40
76
  * bug fix
41
77
  * Filter on a date column
42
- * Using date column caused FormPanel to crash
78
+ * Using date column caused Form to crash
43
79
  * Virtual columns are no longer editable by default
44
80
 
45
81
  * improvements
@@ -48,44 +84,44 @@
48
84
  * New :override_columns config option for grid allows overriding specified column config without influencing other columns' order/presence
49
85
  * New DSL method (override_column) to override a specific column config without influencing other columns' order/presence.
50
86
  * Grid's title is set to model's pluralized name by default.
51
- * New :read_only option for FormPanel - makes all fields read-only and removes the "Apply" button.
52
- * FormPanel implements DSL shortcuts for the following options in default config: :model, :items, :record_id.
87
+ * New :read_only option for Form - makes all fields read-only and removes the "Apply" button.
88
+ * Form implements DSL shortcuts for the following options in default config: :model, :items, :record_id.
53
89
  * GridPanel implements DSL shortcuts for the following options in default config: :model, :add_form_config, :edit_form_config, :multi_edit_form_config.
54
- * New FormPanel option :multi_edit - set when the form is used for editing multiple records at a time
90
+ * New Form option :multi_edit - set when the form is used for editing multiple records at a time
55
91
  * Introduce action columns (see BookGridWithColumnActions)
56
92
 
57
93
  * API changes
58
94
  * Skip supporting ModelExtensions. The preferred way is using setters and getters on columns/fields.
59
95
 
60
- = 0.7.1 - 2011-09-04
96
+ # 0.7.1 - 2011-09-04
61
97
  * bug fix
62
- * FormPanel: fix the netzke_load endpoint when association fields are present
98
+ * Form: fix the netzke_load endpoint when association fields are present
63
99
  * dates were not displayed in date fields, and submitting a form with date fields might result in erasing those fields
64
100
 
65
101
  * Rails 3.1 compatibility
66
102
  * no meta_where dependencies (searching and filtering done with Arel)
67
103
 
68
- = 0.7.0 - 2011-08-09
104
+ # 0.7.0 - 2011-08-09
69
105
  * Core 0.7.0 and Ext 4 compatibility
70
106
  * API changes
71
107
  * [JS] Removed the helper BorderLayoutPanel#get<Region>Component method altogether. Use Ext 4 Container#child instead
72
108
 
73
- = v0.6.5 - to be released
109
+ # v0.6.5 - to be released
74
110
  * enhancements
75
111
  * When columns states are saved in the persistent storage, adding/removing columns (e.g. in the code) will reset the saved states
76
112
  * Moved features and specs to test/basepack_test_app
77
113
  * bug fix
78
- * FormPanel with multiple association fields wouldn't submit data correctly
79
- * GridPanel's forms take over the +text+ configuration option for columns as +fieldLabel+ for default fields
114
+ * Form with multiple association fields wouldn't submit data correctly
115
+ * GridPanel's forms take over the `text` configuration option for columns as `fieldLabel` for default fields
80
116
 
81
- = v0.6.4 - 2011-02-26
117
+ # v0.6.4 - 2011-02-26
82
118
  * API changes
83
119
  * The combo field able to talk to the server has changed its xtype from combobox to netzkeremotecombo. When getting values from the server via AJAX, it expects a 2-dimensional array now, where the first value is the real value (which gets submitted), and the second value is the display value.
84
120
  * xdatetime is no more. datetimefield is used instead.
85
121
 
86
122
  * enhancements
87
123
  * Components updated to use Ext.Direct (by @pschyska)
88
- * New, improved advanced search for GridPanel and PagingFormPanel.
124
+ * New, improved advanced search for GridPanel and PagingForm.
89
125
  * One-to-many association support in Form/GridPanel reworked to use the foreign id instead of a string. This gives us more flexibility about what to display in the association column/field, and also provides for performance improvements (no more need to search for the associated record based on the value provided from the column/field).
90
126
  * GridPanel now memorizes its columns visibility, position and size (when :persistence is set to true)
91
127
  * I18n for GridPanel
@@ -95,11 +131,11 @@
95
131
  * bug fix
96
132
  * Long-standing visual issues with datetime columns in grid panel are solved.
97
133
 
98
- = v0.6.3 - 2011-01-14
134
+ # v0.6.3 - 2011-01-14
99
135
  * compatibility with netzke-core 0.6.5
100
136
 
101
137
  * refactoring
102
- * GridPanel code restructured, using the new +js_mixin+ method
138
+ * GridPanel code restructured, using the new `js_mixin` method
103
139
 
104
140
  * bug fix
105
141
  * GridPanel respects strong_default_attrs
@@ -108,24 +144,24 @@
108
144
  * Filtering on date columns
109
145
 
110
146
  * enhancements
111
- * I18n for Grid/FormPanel
112
- * new +getter+ config option for columns/fields, a lambda receiving the record as parameter
113
- * new +setter+ config option for columns/fields, a lambda receiving the record as first parameter, new value as the second
147
+ * I18n for Grid/Form
148
+ * new `getter` config option for columns/fields, a lambda receiving the record as parameter
149
+ * new `setter` config option for columns/fields, a lambda receiving the record as first parameter, new value as the second
114
150
  * GridPanel passes columns' default values to the "Add in form" form
115
- * FormPanel can now be used without specifying a model
116
- * New +commalistcbg+ form field for checkboxes, where boxLabels of selected checkboxes are serialized into comma-separated string (the separator is configurable)
117
- * New +nradiogroup+ form field for radio buttons, where the value is defined by the boxLabel of the selected radio button
118
- * New +no_binding+ option for configuring a form field. Set it to "true" when you don't want Netzke to expand the field configuration based on the +name+ property. May be needed in some cases, e.g. when using checkboxes/radio buttons in the form.
119
- * New +nested_attribute+ option for configuring data attributes (thus applicable for a column, a field, or a +netzke_attribute+ in the model). When set to true for an association attribute (e.g. author__name), assigning a value to it will change the association's attribute, *not* trying to find an association by name and reassign it if found (default behavior).
120
- * FormPanel shows the "Updating..." mask while sending values to the server (configurable with updateMask option/property)
121
- * FormPanel now can be used in the "lockable" mode (:config => :lockable), which makes it load initially in "display mode", then "unlock" it, change the values, and "lock" it again (updating the values on the server)
122
-
123
- = v0.6.2 - 2010-11-05
151
+ * Form can now be used without specifying a model
152
+ * New `commalistcbg` form field for checkboxes, where boxLabels of selected checkboxes are serialized into comma-separated string (the separator is configurable)
153
+ * New `nradiogroup` form field for radio buttons, where the value is defined by the boxLabel of the selected radio button
154
+ * New `no_binding` option for configuring a form field. Set it to "true" when you don't want Netzke to expand the field configuration based on the `name` property. May be needed in some cases, e.g. when using checkboxes/radio buttons in the form.
155
+ * New `nested_attribute` option for configuring data attributes (thus applicable for a column, a field, or a `netzke_attribute` in the model). When set to true for an association attribute (e.g. author__name), assigning a value to it will change the association's attribute, *not* trying to find an association by name and reassign it if found (default behavior).
156
+ * Form shows the "Updating..." mask while sending values to the server (configurable with updateMask option/property)
157
+ * Form now can be used in the "lockable" mode (:config => :lockable), which makes it load initially in "display mode", then "unlock" it, change the values, and "lock" it again (updating the values on the server)
158
+
159
+ # v0.6.2 - 2010-11-05
124
160
  * compatibility with netzke-core 0.6.4
125
161
  * bug fix
126
162
  * BorderLayoutPanel persistence fix
127
163
 
128
- = v0.6.1 - 2010-11-04
164
+ # v0.6.1 - 2010-11-04
129
165
  * enhancements
130
166
  * BorderLayoutPanel persistence: remembers region sizes and collapsed/expanded states
131
167
  * tooltips for grid buttons
@@ -133,29 +169,29 @@
133
169
  * bug fix
134
170
  * auto-detection of association's method when the latter is virtual was broken in 1.9.2
135
171
 
136
- = v0.6.0 - 2010-10-24
172
+ # v0.6.0 - 2010-10-24
137
173
  * netzke-core 0.6.0 compatibility, thorough refactoring
138
174
  * Much more thorough testing (cucumber and rspec)
139
- * FormPanel/GridPanel dynamic column/field configuration has been left out (planned for a separate gem)
175
+ * Form/GridPanel dynamic column/field configuration has been left out (planned for a separate gem)
140
176
  * different bug fixes
141
177
 
142
178
  * enhancements
143
- * if omitted in config, a column for the primary key is automatically added to Grid/FormPanel
179
+ * if omitted in config, a column for the primary key is automatically added to Grid/Form
144
180
 
145
181
  * API incompatibilities
146
- * in FormPanel, define the fields layout directly in :items, not in :fields or :columns
182
+ * in Form, define the fields layout directly in :items, not in :fields or :columns
147
183
 
148
184
  * new
149
- * FormPanel allows for arbitrary layout of fields
185
+ * Form allows for arbitrary layout of fields
150
186
 
151
- = v0.5.14 - 2010-09-08
187
+ # v0.5.14 - 2010-09-08
152
188
  * bug fix
153
189
  * fields configurator wouldn't open in some cases
154
190
  * icons location was hardcoded in search panel (credits to @pschyska)
155
191
  * quick fix for datetimes not being displayed in the preferred timezone
156
192
  * ext_config options :enable_edit_in_form and :enable_advanced_search now do have effect
157
- * PropertyEditor fixed for Grid/FormPanel
158
- * Grid/FormPanel again obeys persistent_config option when loading columns/fields
193
+ * PropertyEditor fixed for Grid/Form
194
+ * Grid/Form again obeys persistent_config option when loading columns/fields
159
195
 
160
196
  * enhancements
161
197
  * numberfield is default in grids also for columns of type float
@@ -163,33 +199,33 @@
163
199
  * combobox options can now be searched ("type ahead") also in virtual columns (not efficient though, use at own risk!)
164
200
  * overriding an already existing attribute with `netzke_attribute` now also has effect on association attributes, such as boss__name
165
201
 
166
- = v0.5.13 - 2010-08-11
202
+ # v0.5.13 - 2010-08-11
167
203
  * regression
168
204
  * combobox options configuration again has effect
169
205
 
170
206
  * bug fix
171
207
  * when a TabPanel was used as a standalone widget, the first tab was rendered empty
172
- * Grid/FormPanel: dynamically changing of columns doesn't erase those column settings that are not configurable via GUI, but which were specified in the code
208
+ * Grid/Form: dynamically changing of columns doesn't erase those column settings that are not configurable via GUI, but which were specified in the code
173
209
 
174
210
  * enhancements
175
- * scopes can now be specified for an association combobox in Grid/FormPanels
211
+ * scopes can now be specified for an association combobox in Grid/Forms
176
212
  * GridPanel: you can now configure add/edit/multi_edit/search panels (e.g. to override the fields) and corresponding windows (e.g. to override the title)
177
213
  * minor refactoring GridPanel: moved static js out of grid_panel_js.rb
178
214
 
179
- = v0.5.12 - 2010-06-21
215
+ # v0.5.12 - 2010-06-21
180
216
  * Fix: when used with Bundler, was crashing with the "uninitialized constant" exception
181
217
 
182
- = v0.5.11 - 2010-06-20
218
+ # v0.5.11 - 2010-06-20
183
219
  * Fix: Partial fix for IE's (the rest to be fixed in Ext).
184
220
  * Fix: In some circumstances Netzke::ActiveRecord modules were not loading.
185
221
 
186
- = v0.5.10 - 2010-06-14
222
+ # v0.5.10 - 2010-06-14
187
223
  * Impr: Checkbox replaced with tri-state checkbox in multi-edit form in GridPanel.
188
224
  * Impr: Column renderers reworked, allowing for more flexibility and cleanness.
189
225
  * Fix: After applying changes to a grid disable "Edit in form" action.
190
226
  * Impr: A grid's forms are now getting the same fields as specified for the grid.
191
227
 
192
- = v0.5.9 - 2010-06-11
228
+ # v0.5.9 - 2010-06-11
193
229
  * !!!: after updating to this version, run script/generate netzke_basepack
194
230
  * New: tri-state checkbox introduced into the search form
195
231
  * Impr: better defaults for the search form
@@ -201,26 +237,26 @@
201
237
  * Fix: GridPanel date filter now should work
202
238
  * New: GridPanel now has a method on_data_changed that can be overridden by children to detect actions that modify data
203
239
  * New: New way of configuring Netzke (virtual) attributes for AR models.
204
- * Impr: Grid/FormPanel refactoring.
240
+ * Impr: Grid/Form refactoring.
205
241
  * Impr: Multi-level column/fields configuration reworked and made more consistent.
206
242
  * New: New configuration layer introduced between the AR models and the rest of Netzke widgets. Use AttributesConfigurator to access it.
207
243
  * New: FamFamFam Silk icons support.
208
- * Impr: Reworked defining Netzke (virtual) attributes for Grid/FormPanel.
244
+ * Impr: Reworked defining Netzke (virtual) attributes for Grid/Form.
209
245
 
210
- = v0.5.8 - 2010-03-12
246
+ # v0.5.8 - 2010-03-12
211
247
  * Fix: GertThiel's method_missing-related fix enabling better compatibility with other Ruby libs
212
248
  * Fix: acts_as_list runtime dependency
213
249
 
214
- = v0.5.7 - 2010-02-26
250
+ # v0.5.7 - 2010-02-26
215
251
  * Regression: column config for GridPanel again accepts a renderer along with its parameters (as array, where the first element is the renderers name, the second - the parameters passed to the renderer, e.g.: :renderer => ["date", "y-m-d"])
216
252
  * Fix: Window resize/move now works correctly
217
253
  * Code: taking care of deprecated methods
218
254
 
219
- = v0.5.6 - 2010-01-10
255
+ # v0.5.6 - 2010-01-10
220
256
  * Compatibility with latest netzke-core
221
257
  * Compatibility with Ext JS v3.1
222
258
  * Impr: Code reorganization
223
- * Impr: Non-standard primary key support in GridPanel and FormPanel
259
+ * Impr: Non-standard primary key support in GridPanel and Form
224
260
  * Impr: Search button in GridPanel indicates that records filtering is active
225
261
  * Fix: by default, SearchPanel excludes boolean fields for now (until a 3-state checkbox is introduced)
226
262
  * Impr: made it possible to create new AR records with assigned associations using double-underscore notation, e.g.: Clerk.new(:boss__last_name => "Aguraijuja ")
@@ -229,25 +265,25 @@
229
265
  * Fix: FieldsConfigurator was crashing when fired consequently for grid and form
230
266
  * Depr: :data_class_name option is deprecated, use :model
231
267
  * Impr: "gear" tool is now hidden on FieldsConfigurator
232
- * Impr: Grid/FormPanel layouts are now not stored into the netzke_preferences table unless the defaults are modified (cleaner table)
268
+ * Impr: Grid/Form layouts are now not stored into the netzke_preferences table unless the defaults are modified (cleaner table)
233
269
 
234
- = v0.5.5.1 - 2009-11-09
270
+ # v0.5.5.1 - 2009-11-09
235
271
  * Compatibility with latest netzke-core
236
272
 
237
- = v0.5.5 - 2009-11-09
273
+ # v0.5.5 - 2009-11-09
238
274
  * Compatibility with latest netzke-core
239
- * Regression: pressing "enter" was not submitting the form (FormPanel)
275
+ * Regression: pressing "enter" was not submitting the form (Form)
240
276
  * Regression: "Restore defaults" button was not working in FieldsConfigurator and PropertyEditor
241
277
  * Fix: excluding columns in FieldsConfigurator was causing inconsistent column behavior (move/hide/resize)
242
- * Fix: resolving conflicts with Ext.form.FormPanel's <tt>submit</tt> and <tt>load</tt> methods
243
- * New: rudimentary FileUploadField support in FormPanel (it will do a normal, non-AJAX, form submit)
278
+ * Fix: resolving conflicts with Ext.form.Form's <tt>submit</tt> and <tt>load</tt> methods
279
+ * New: rudimentary FileUploadField support in Form (it will do a normal, non-AJAX, form submit)
244
280
  * New: Netzke::Window widget, supports persistent moving/resizing.
245
281
  * New: (experimental) GridPanel's "Add in form" button now opens the new Window widget. Later all other windows will be slowly rewritten to do the same.
246
282
 
247
- = v0.5.4 - 2009-10-12
283
+ # v0.5.4 - 2009-10-12
248
284
  * Dependencies updated
249
285
 
250
- = v0.5.3 - 2009-10-12
286
+ # v0.5.3 - 2009-10-12
251
287
  * Compatibility with Ext 3.0 (and dropping compatibility with 2.x).
252
288
  * Compatibility with netzke-core v0.4.4.
253
289
  * Impr: Form/GridPanel-based widgets: more consistent Ext.Action-related functionality and code, like (context) menu, bbar, etc.
@@ -263,13 +299,13 @@
263
299
  * Fix: patching Ext's bug that caused double firing of "columnmove" in GridPanel.
264
300
  * Fix: moving columns around in GridPanel was causing erroneous mapping of data to columns after data reload.
265
301
 
266
- = v0.5.2 - 2009-09-24
302
+ # v0.5.2 - 2009-09-24
267
303
  * Fix: combobox options for association columns didn't work properly.
268
304
  * Fix: GridPanel's multi-edit functionality didn't work.
269
305
  * Fix: gem dependencies are now correct.
270
306
 
271
- = v0.5.1 - 2009-09-11
272
- * Fix: crash when FormPanel has no data_class_name specified.
307
+ # v0.5.1 - 2009-09-11
308
+ * Fix: crash when Form has no data_class_name specified.
273
309
  * New: DataAccessor widgets (Form/GridPanel) now let the underlying model know which widget (i.e. which instance) accesses its data. Can be useful in virtual attributes for generating widget-specific HTML.
274
310
  * Fix: DataAccessor widgets (Form/GridPanel) now don't crash when calculating default columns/fields for the underlying model that has polymorphic columns.
275
311
  * Fix: TabPanel was sending redundant "tabchange" event to server when initially instantiated.
@@ -280,7 +316,7 @@
280
316
  * Impr: configuration panel's header now shows the underlying model's name for convenience.
281
317
  * Fix: MasqueradeSelector widget added.
282
318
 
283
- = v0.5.0 - 2009-09-06
319
+ # v0.5.0 - 2009-09-06
284
320
  * Major refactoring and code reorganization.
285
321
  * Compatibility with netzke-core v0.4.0.
286
322
  * New: GridPanel now supports adding/editing records in a form and extended configurable search.
@@ -290,73 +326,73 @@
290
326
  * New: "strong_default_attrs" config option added to GridPanel to specify the attributes that will be assigned to each record that is created or modified by the grid.
291
327
  * Usability: GridPanel's actions now get enabled/disabled according to the current selection.
292
328
  * Configuration panel for grids and forms now works more consistently.
293
- * New: some smart defaults for column/fields in Grid/FormPanel.
329
+ * New: some smart defaults for column/fields in Grid/Form.
294
330
  * New: BasicApp supports masquerading and application-wide AJAX activity indicator.
295
331
 
296
- = v0.4.2 - 2009-05-07
332
+ # v0.4.2 - 2009-05-07
297
333
  * Fix: afterlayout event bind removed completely because of some tricky inconsistent behavior of Ext. BasicApp initializing code put directly into js_after_constructor.
298
334
 
299
- = v0.4.1 - 2009-05-07
335
+ # v0.4.1 - 2009-05-07
300
336
  * Fix: afterlayout call moved to js_after_constructor in BasicApp
301
337
  * Fix: cleaner persistent_config handling
302
- * New: default's configuration enabled for FormPanel on class-level
338
+ * New: default's configuration enabled for Form on class-level
303
339
  * Fix: differently configured forms on the same page were showing the same columns
304
340
  * Fix: TableEditor was showing config-tool by default (must be hidden)
305
341
 
306
- = v0.4.0 - 2009-05-07
307
- * Refactor: got rid of NetzkeFormPanelField and NetzkeGridPanelColumn classes along with their tables. The layout is now stored in netzke_preferences.
342
+ # v0.4.0 - 2009-05-07
343
+ * Refactor: got rid of NetzkeFormField and NetzkeGridPanelColumn classes along with their tables. The layout is now stored in netzke_preferences.
308
344
  * New: dynamic hiding of columns from column menu in GridPanel.
309
- * New: FormPanel now supports combo boxes.
345
+ * New: Form now supports combo boxes.
310
346
  * Fix: config[:bbar] set to 'false' now works in grids with pagination
311
347
  * New: you can specify :preloaded => true in a tab config in TabPanel to preload the widget in that tab along with the TabPanel itself
312
348
  * New: hideBusy added to Ext.StatusBar
313
349
  * Fix: assigning association (a Boss to a Clerk) by virtual column (like boss__name) works now
314
350
  * Fix: an old bug that made GridPanel misbehave after reordering the columns
315
351
 
316
- = v0.3.10
352
+ # v0.3.10
317
353
  * BasicApp-based widgets can now introduce arbitrary layout, following the convention of defining "main-panel" and "main-toolbar" panels with layout 'fit'.
318
354
 
319
- = v0.3.9.1
355
+ # v0.3.9.1
320
356
  * Bug fix: (regression) appLoaded() in BasicApp gets executed again
321
357
 
322
- = v0.3.9
358
+ # v0.3.9
323
359
  * AccordionPanel tests added
324
360
  * TabPanel works now
325
361
  * AccordionPanel replaced with more intuitive TabPanel in the configuration window
326
362
  * Code clean-up by using "single" option to call appLoaded() on "afterlayout"
327
363
  * Table editor bug fix
328
364
 
329
- = v0.3.8
365
+ # v0.3.8
330
366
  * Fixing Ext's EditableItem render problem.
331
367
  * Filters by default enabled again in GridPanel.
332
368
  * GridPanel enhancement: base_params get sent along with post_data.
333
369
 
334
- = v0.3.7
370
+ # v0.3.7
335
371
  * Netzke-core version sync.
336
372
  * Rails 2.3.2 compatibility.
337
373
 
338
- = v0.3.6
374
+ # v0.3.6
339
375
  * Netzke-core v0.2.9 compatibility.
340
376
  * Cleaner handling of custom renderers in GridPanel.
341
- * New FormPanel-based PropertyEditor replaces PropertyGrid.
377
+ * New Form-based PropertyEditor replaces PropertyGrid.
342
378
  * Xcheckbox and check-column introduced.
343
379
  * TODO file added.
344
380
  * Bug fix: in TableEditor, the grid now responses on events also after being reconfigured.
345
381
  * Bug fix: a couple of IE-related bugs.
346
382
  * Significant code clean-up.
347
383
 
348
- = v0.3.5
384
+ # v0.3.5
349
385
  * Netzke-core v0.2.8 compatibility.
350
386
 
351
- = v0.3.4
387
+ # v0.3.4
352
388
  * Quick tips added to the "tools".
353
389
  * Regression: the "General" configuration panel for GridPanel works again.
354
390
  * GridPanel: rows_per_page configuration is now read from General config panel.
355
391
 
356
- = v0.3.3.1
392
+ # v0.3.3.1
357
393
  * Obviously using "new" as a property name in JavaScript isn't liked by Safari. Fixed.
358
394
 
359
- = v0.3.3
395
+ # v0.3.3
360
396
  * Bug fix: application not loading the widget specified in the URL (Ext.History-related).
361
397
  * Some code refactoring and readability improvements.
362
398
  * Ext.componentCache renamed into Ext.netzke.cache.
@@ -372,31 +408,31 @@
372
408
  * Bug fix: redundant flash messages for GridPanel.
373
409
  * FeedbackGhost won't be showing anything if given an empty array.
374
410
  * Cleaner handling of validations in GridPanel.
375
- * FormPanel ready for the demo.
411
+ * Form ready for the demo.
376
412
 
377
- = v0.3.2
413
+ # v0.3.2
378
414
  * Minor code restructuring.
379
- * Working on FormPanel cont'd.
415
+ * Working on Form cont'd.
380
416
 
381
- = v0.3.1
417
+ # v0.3.1
382
418
  * Added the "conditions" configuration option to GridPanel to limit the search
383
419
  * Basic column editor for grids has been replaced with FieldsConfigurator, which can do a bit more
384
420
  * Added Checkbox column/form-field type for boolean fields
385
421
  * "renderer" configuration option added for grid columns - any Ext.util.Format renderer can be specified there (thanks to Josh Holt for the initial idea)
386
422
 
387
- = v0.3.0
423
+ # v0.3.0
388
424
  * Added BasicApp widget - the base for a Ext.Viewport based ("application") widget with support for dynamic widget loading, browser history, authentification, and more. See the demo an http://netzke-demo.writelesscode.com
389
425
 
390
- = v0.2.2
426
+ # v0.2.2
391
427
  * Meta: updated netzke-core version (dependency)
392
428
 
393
- = v0.2.1
429
+ # v0.2.1
394
430
  * Regression: BorderLayoutPanel now restores the region sizes from the database
395
431
 
396
- = v0.2.0.1
432
+ # v0.2.0.1
397
433
  * Meta: updated netzke-core version (dependency)
398
434
 
399
- = v0.2.0
435
+ # v0.2.0
400
436
  * Some re-factoring and redesign along with netzke-core
401
437
  * Panel widget added
402
438
  * BorderLayoutPanel added
@@ -406,41 +442,41 @@
406
442
  * Bug fix: exception was thrown at a column operation when no layout_manager was present
407
443
  * Reworked permission handling in GridPanel.
408
444
 
409
- = v0.1.4.1
445
+ # v0.1.4.1
410
446
  * Meta: updated netzke-core version (dependency)
411
447
 
412
- = v0.1.4
448
+ # v0.1.4
413
449
  * Grid#get_columns provides default columns even if none of layout_manager_class & column_manager_class are available
414
450
 
415
- = v0.1.3.1
451
+ # v0.1.3.1
416
452
  * Meta: updated netzke-core version (dependency)
417
453
 
418
- = v0.1.3
454
+ # v0.1.3
419
455
  * Path to javascript for grid filters corrected
420
456
  * Bug with creating new records in the grid fixed
421
457
  * Optimized away redundant sql queries when calling Grid#get_columns (sort of memoization)
422
458
  * README updated
423
459
 
424
- = v0.1.2.1
460
+ # v0.1.2.1
425
461
  * Meta: trying to succeed publishing on RubyForge
426
462
 
427
- = v0.1.2
463
+ # v0.1.2
428
464
  * Updated README with an example of stand-alone widget usage
429
465
  * Meta: updated netzke-core version (dependency)
430
466
 
431
- = v0.1.1.2
467
+ # v0.1.1.2
432
468
  * Meta: updated netzke-core version (dependency)
433
469
 
434
- = v0.1.1.1
470
+ # v0.1.1.1
435
471
  * Meta: github gem naming convention
436
472
 
437
- = v0.1.1
473
+ # v0.1.1
438
474
  * Cleaner exception handling while loading data to grid
439
475
  * Column resize & move functionality enabled by default
440
476
  * Column filters added
441
477
 
442
- = v0.1.0.1
478
+ # v0.1.0.1
443
479
  * Meta work: replacing underscore with dash in the name
444
480
 
445
- = v0.1.0 - 2008-12-20
481
+ # v0.1.0 - 2008-12-20
446
482
  * Initial release