netzke-basepack-zh 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. data/.autotest +1 -0
  2. data/.travis.yml +11 -0
  3. data/CHANGELOG.rdoc +445 -0
  4. data/LICENSE +1 -0
  5. data/README.md +94 -0
  6. data/Rakefile +44 -0
  7. data/TODO.rdoc +8 -0
  8. data/config/ci/before-travis.sh +28 -0
  9. data/init.rb +1 -0
  10. data/install.rb +1 -0
  11. data/javascripts/basepack.js +139 -0
  12. data/javascripts/xdatetime.js +196 -0
  13. data/lib/generators/netzke/basepack_generator.rb +10 -0
  14. data/lib/generators/netzke/templates/assets/ts-checkbox.gif +0 -0
  15. data/lib/generators/netzke/templates/create_netzke_field_lists.rb +18 -0
  16. data/lib/netzke-basepack.rb +26 -0
  17. data/lib/netzke/active_record.rb +20 -0
  18. data/lib/netzke/active_record/attributes.rb +256 -0
  19. data/lib/netzke/active_record/combobox_options.rb +16 -0
  20. data/lib/netzke/active_record/relation_extensions.rb +37 -0
  21. data/lib/netzke/basepack.rb +45 -0
  22. data/lib/netzke/basepack/accordion_panel.rb +39 -0
  23. data/lib/netzke/basepack/action_column.rb +68 -0
  24. data/lib/netzke/basepack/action_column/javascripts/action_column.js +61 -0
  25. data/lib/netzke/basepack/auth_app.rb +159 -0
  26. data/lib/netzke/basepack/basic_app.rb +7 -0
  27. data/lib/netzke/basepack/border_layout_panel.rb +53 -0
  28. data/lib/netzke/basepack/border_layout_panel/javascripts/border_layout_panel.js +40 -0
  29. data/lib/netzke/basepack/data_accessor.rb +53 -0
  30. data/lib/netzke/basepack/data_adapters/abstract_adapter.rb +164 -0
  31. data/lib/netzke/basepack/data_adapters/active_record_adapter.rb +279 -0
  32. data/lib/netzke/basepack/data_adapters/data_mapper_adapter.rb +264 -0
  33. data/lib/netzke/basepack/data_adapters/sequel_adapter.rb +260 -0
  34. data/lib/netzke/basepack/form_panel.rb +144 -0
  35. data/lib/netzke/basepack/form_panel/fields.rb +208 -0
  36. data/lib/netzke/basepack/form_panel/javascripts/comma_list_cbg.js +51 -0
  37. data/lib/netzke/basepack/form_panel/javascripts/form_panel.js +225 -0
  38. data/lib/netzke/basepack/form_panel/javascripts/misc.js +4 -0
  39. data/lib/netzke/basepack/form_panel/javascripts/n_radio_group.js +43 -0
  40. data/lib/netzke/basepack/form_panel/javascripts/readonly_mode.js +35 -0
  41. data/lib/netzke/basepack/form_panel/services.rb +142 -0
  42. data/lib/netzke/basepack/form_panel/stylesheets/readonly_mode.css +14 -0
  43. data/lib/netzke/basepack/grid_panel.rb +440 -0
  44. data/lib/netzke/basepack/grid_panel/columns.rb +394 -0
  45. data/lib/netzke/basepack/grid_panel/javascripts/advanced_search.js +27 -0
  46. data/lib/netzke/basepack/grid_panel/javascripts/check_column_fix.js +6 -0
  47. data/lib/netzke/basepack/grid_panel/javascripts/edit_in_form.js +51 -0
  48. data/lib/netzke/basepack/grid_panel/javascripts/event_handling.js +179 -0
  49. data/lib/netzke/basepack/grid_panel/javascripts/grid_panel.js +438 -0
  50. data/lib/netzke/basepack/grid_panel/javascripts/misc.js +4 -0
  51. data/lib/netzke/basepack/grid_panel/javascripts/rows-dd.js +281 -0
  52. data/lib/netzke/basepack/grid_panel/record_form_window.rb +41 -0
  53. data/lib/netzke/basepack/grid_panel/services.rb +235 -0
  54. data/lib/netzke/basepack/paging_form_panel.rb +72 -0
  55. data/lib/netzke/basepack/paging_form_panel/javascripts/paging_form_panel.js +76 -0
  56. data/lib/netzke/basepack/panel.rb +11 -0
  57. data/lib/netzke/basepack/query_builder.rb +107 -0
  58. data/lib/netzke/basepack/query_builder/javascripts/query_builder.js +153 -0
  59. data/lib/netzke/basepack/search_panel.rb +79 -0
  60. data/lib/netzke/basepack/search_panel/javascripts/condition_field.js +160 -0
  61. data/lib/netzke/basepack/search_panel/javascripts/search_panel.js +65 -0
  62. data/lib/netzke/basepack/search_window.rb +66 -0
  63. data/lib/netzke/basepack/simple_app.rb +104 -0
  64. data/lib/netzke/basepack/simple_app/javascripts/simple_app.js +64 -0
  65. data/lib/netzke/basepack/simple_app/javascripts/statusbar_ext.js +8 -0
  66. data/lib/netzke/basepack/tab_panel.rb +21 -0
  67. data/lib/netzke/basepack/tab_panel/javascripts/tab_panel.js +11 -0
  68. data/lib/netzke/basepack/version.rb +11 -0
  69. data/lib/netzke/basepack/window.rb +29 -0
  70. data/lib/netzke/basepack/window/javascripts/window.js +20 -0
  71. data/lib/netzke/basepack/wrap_lazy_loaded.rb +28 -0
  72. data/lib/netzke/basepack/wrapper.rb +28 -0
  73. data/lib/netzke/data_mapper.rb +18 -0
  74. data/lib/netzke/data_mapper/attributes.rb +273 -0
  75. data/lib/netzke/data_mapper/combobox_options.rb +11 -0
  76. data/lib/netzke/data_mapper/relation_extensions.rb +38 -0
  77. data/lib/netzke/sequel.rb +18 -0
  78. data/lib/netzke/sequel/attributes.rb +274 -0
  79. data/lib/netzke/sequel/combobox_options.rb +10 -0
  80. data/lib/netzke/sequel/relation_extensions.rb +40 -0
  81. data/lib/tasks/netzke_basepack_tasks.rake +4 -0
  82. data/locales/de.yml +79 -0
  83. data/locales/en.yml +79 -0
  84. data/netzke-basepack.gemspec +306 -0
  85. data/stylesheets/basepack.css +72 -0
  86. data/stylesheets/datetimefield.css +54 -0
  87. data/test/basepack_test_app/.gitignore +6 -0
  88. data/test/basepack_test_app/.rvmrc +1 -0
  89. data/test/basepack_test_app/Gemfile +59 -0
  90. data/test/basepack_test_app/Gemfile.lock +196 -0
  91. data/test/basepack_test_app/Guardfile +46 -0
  92. data/test/basepack_test_app/README +1 -0
  93. data/test/basepack_test_app/Rakefile +7 -0
  94. data/test/basepack_test_app/app/components/author_form.rb +32 -0
  95. data/test/basepack_test_app/app/components/author_grid.rb +3 -0
  96. data/test/basepack_test_app/app/components/book_form.rb +38 -0
  97. data/test/basepack_test_app/app/components/book_form_with_custom_fields.rb +21 -0
  98. data/test/basepack_test_app/app/components/book_form_with_defaults.rb +8 -0
  99. data/test/basepack_test_app/app/components/book_form_with_nested_attributes.rb +18 -0
  100. data/test/basepack_test_app/app/components/book_grid.rb +12 -0
  101. data/test/basepack_test_app/app/components/book_grid_filtering.rb +10 -0
  102. data/test/basepack_test_app/app/components/book_grid_loader.rb +24 -0
  103. data/test/basepack_test_app/app/components/book_grid_with_column_actions.rb +15 -0
  104. data/test/basepack_test_app/app/components/book_grid_with_custom_columns.rb +27 -0
  105. data/test/basepack_test_app/app/components/book_grid_with_default_values.rb +9 -0
  106. data/test/basepack_test_app/app/components/book_grid_with_extra_feedback.rb +8 -0
  107. data/test/basepack_test_app/app/components/book_grid_with_extra_filters.rb +14 -0
  108. data/test/basepack_test_app/app/components/book_grid_with_nested_attributes.rb +13 -0
  109. data/test/basepack_test_app/app/components/book_grid_with_overridden_columns.rb +15 -0
  110. data/test/basepack_test_app/app/components/book_grid_with_paging.rb +10 -0
  111. data/test/basepack_test_app/app/components/book_grid_with_persistence.rb +8 -0
  112. data/test/basepack_test_app/app/components/book_grid_with_scoped_authors.rb +8 -0
  113. data/test/basepack_test_app/app/components/book_grid_with_virtual_attributes.rb +21 -0
  114. data/test/basepack_test_app/app/components/book_paging_form_panel.rb +22 -0
  115. data/test/basepack_test_app/app/components/book_query_builder.rb +8 -0
  116. data/test/basepack_test_app/app/components/book_search_panel.rb +5 -0
  117. data/test/basepack_test_app/app/components/book_search_panel/javascripts/i18n_de.js +6 -0
  118. data/test/basepack_test_app/app/components/book_with_custom_primary_key_grid.rb +10 -0
  119. data/test/basepack_test_app/app/components/books_bound_to_author.rb +10 -0
  120. data/test/basepack_test_app/app/components/double_book_grid.rb +18 -0
  121. data/test/basepack_test_app/app/components/extras/book_presentation.rb +27 -0
  122. data/test/basepack_test_app/app/components/form_without_model.rb +21 -0
  123. data/test/basepack_test_app/app/components/generic_user_form.rb +12 -0
  124. data/test/basepack_test_app/app/components/lockable_book_form.rb +17 -0
  125. data/test/basepack_test_app/app/components/lockable_user_form.rb +7 -0
  126. data/test/basepack_test_app/app/components/paging_form_with_search.rb +40 -0
  127. data/test/basepack_test_app/app/components/simple_accordion.rb +11 -0
  128. data/test/basepack_test_app/app/components/simple_panel.rb +17 -0
  129. data/test/basepack_test_app/app/components/simple_tab_panel.rb +11 -0
  130. data/test/basepack_test_app/app/components/simple_window.rb +10 -0
  131. data/test/basepack_test_app/app/components/simple_wrapper.rb +7 -0
  132. data/test/basepack_test_app/app/components/some_accordion_panel.rb +22 -0
  133. data/test/basepack_test_app/app/components/some_auth_app.rb +32 -0
  134. data/test/basepack_test_app/app/components/some_border_layout.rb +28 -0
  135. data/test/basepack_test_app/app/components/some_simple_app.rb +35 -0
  136. data/test/basepack_test_app/app/components/some_tab_panel.rb +20 -0
  137. data/test/basepack_test_app/app/components/user_form.rb +25 -0
  138. data/test/basepack_test_app/app/components/user_form_with_default_fields.rb +8 -0
  139. data/test/basepack_test_app/app/components/user_grid.rb +8 -0
  140. data/test/basepack_test_app/app/components/user_grid_with_customized_form_fields.rb +18 -0
  141. data/test/basepack_test_app/app/components/window_component_loader.rb +27 -0
  142. data/test/basepack_test_app/app/controllers/application_controller.rb +9 -0
  143. data/test/basepack_test_app/app/controllers/components_controller.rb +10 -0
  144. data/test/basepack_test_app/app/controllers/welcome_controller.rb +9 -0
  145. data/test/basepack_test_app/app/helpers/application_helper.rb +8 -0
  146. data/test/basepack_test_app/app/helpers/embedded_components_helper.rb +2 -0
  147. data/test/basepack_test_app/app/models/address.rb +29 -0
  148. data/test/basepack_test_app/app/models/author.rb +38 -0
  149. data/test/basepack_test_app/app/models/book.rb +49 -0
  150. data/test/basepack_test_app/app/models/book_with_custom_primary_key.rb +26 -0
  151. data/test/basepack_test_app/app/models/role.rb +24 -0
  152. data/test/basepack_test_app/app/models/user.rb +29 -0
  153. data/test/basepack_test_app/app/presenters/forms/generic_user.rb +6 -0
  154. data/test/basepack_test_app/app/views/components/loadable_window.html.erb +9 -0
  155. data/test/basepack_test_app/app/views/components/simple_panel.html.erb +1 -0
  156. data/test/basepack_test_app/app/views/layouts/application.html.erb +12 -0
  157. data/test/basepack_test_app/app/views/layouts/components.html.erb +13 -0
  158. data/test/basepack_test_app/app/views/layouts/nested.html.erb +5 -0
  159. data/test/basepack_test_app/app/views/welcome/index.html.erb +10 -0
  160. data/test/basepack_test_app/config.ru +4 -0
  161. data/test/basepack_test_app/config/application.rb +57 -0
  162. data/test/basepack_test_app/config/boot.rb +13 -0
  163. data/test/basepack_test_app/config/cucumber.yml +8 -0
  164. data/test/basepack_test_app/config/database.yml.sample +41 -0
  165. data/test/basepack_test_app/config/database.yml.travis +15 -0
  166. data/test/basepack_test_app/config/environment.rb +6 -0
  167. data/test/basepack_test_app/config/environments/development.rb +22 -0
  168. data/test/basepack_test_app/config/environments/production.rb +49 -0
  169. data/test/basepack_test_app/config/environments/test.rb +35 -0
  170. data/test/basepack_test_app/config/initializers/backtrace_silencers.rb +7 -0
  171. data/test/basepack_test_app/config/initializers/data_mapper_logging.rb +3 -0
  172. data/test/basepack_test_app/config/initializers/inflections.rb +10 -0
  173. data/test/basepack_test_app/config/initializers/mime_types.rb +5 -0
  174. data/test/basepack_test_app/config/initializers/netzke.rb +9 -0
  175. data/test/basepack_test_app/config/initializers/secret_token.rb +7 -0
  176. data/test/basepack_test_app/config/initializers/sequel.rb +26 -0
  177. data/test/basepack_test_app/config/initializers/session_store.rb +8 -0
  178. data/test/basepack_test_app/config/locales/de.yml +35 -0
  179. data/test/basepack_test_app/config/locales/es.yml +96 -0
  180. data/test/basepack_test_app/config/routes.rb +68 -0
  181. data/test/basepack_test_app/db/development_structure.sql +88 -0
  182. data/test/basepack_test_app/db/migrate/20100914104207_create_users.rb +15 -0
  183. data/test/basepack_test_app/db/migrate/20100914104236_create_roles.rb +13 -0
  184. data/test/basepack_test_app/db/migrate/20101026185816_create_authors.rb +14 -0
  185. data/test/basepack_test_app/db/migrate/20101026190021_create_books.rb +19 -0
  186. data/test/basepack_test_app/db/migrate/20110101143818_create_addresses.rb +17 -0
  187. data/test/basepack_test_app/db/migrate/20110213213050_create_netzke_component_states.rb +20 -0
  188. data/test/basepack_test_app/db/migrate/20110701070052_create_book_with_custom_primary_keys.rb +15 -0
  189. data/test/basepack_test_app/db/migrate/20110901114016_add_last_read_at_to_books.rb +9 -0
  190. data/test/basepack_test_app/db/migrate/20110909071740_add_published_on_to_books.rb +5 -0
  191. data/test/basepack_test_app/db/schema.rb +81 -0
  192. data/test/basepack_test_app/db/seeds.rb +44 -0
  193. data/test/basepack_test_app/features/accordion_panel.feature +12 -0
  194. data/test/basepack_test_app/features/components_in_view.feature +11 -0
  195. data/test/basepack_test_app/features/form_panel.feature +142 -0
  196. data/test/basepack_test_app/features/grid_panel.feature +277 -0
  197. data/test/basepack_test_app/features/grid_panel_filters.feature +73 -0
  198. data/test/basepack_test_app/features/grid_panel_with_custom_primary_key.feature +15 -0
  199. data/test/basepack_test_app/features/grid_sorting.feature +47 -0
  200. data/test/basepack_test_app/features/i18n.feature +18 -0
  201. data/test/basepack_test_app/features/nested_attributes.feature +26 -0
  202. data/test/basepack_test_app/features/paging_form_panel.feature +43 -0
  203. data/test/basepack_test_app/features/search_in_grid.feature +49 -0
  204. data/test/basepack_test_app/features/simple_app.feature +15 -0
  205. data/test/basepack_test_app/features/simple_panel.feature +11 -0
  206. data/test/basepack_test_app/features/step_definitions/accordion_steps.rb +5 -0
  207. data/test/basepack_test_app/features/step_definitions/ext_steps.rb +16 -0
  208. data/test/basepack_test_app/features/step_definitions/form_panel_steps.rb +46 -0
  209. data/test/basepack_test_app/features/step_definitions/generic_steps.rb +44 -0
  210. data/test/basepack_test_app/features/step_definitions/grid_panel_steps.rb +186 -0
  211. data/test/basepack_test_app/features/step_definitions/pickle_steps.rb +100 -0
  212. data/test/basepack_test_app/features/step_definitions/web_steps.rb +219 -0
  213. data/test/basepack_test_app/features/support/env.rb +81 -0
  214. data/test/basepack_test_app/features/support/paths.rb +65 -0
  215. data/test/basepack_test_app/features/support/pickle.rb +24 -0
  216. data/test/basepack_test_app/features/support/selectors.rb +39 -0
  217. data/test/basepack_test_app/features/tab_panel.feature +12 -0
  218. data/test/basepack_test_app/features/validations_in_grid.feature +13 -0
  219. data/test/basepack_test_app/features/virtual_attributes.feature +16 -0
  220. data/test/basepack_test_app/features/window.feature +11 -0
  221. data/test/basepack_test_app/lib/tasks/.gitkeep +0 -0
  222. data/test/basepack_test_app/lib/tasks/cucumber.rake +71 -0
  223. data/test/basepack_test_app/lib/tasks/travis.rake +7 -0
  224. data/test/basepack_test_app/public/404.html +26 -0
  225. data/test/basepack_test_app/public/422.html +26 -0
  226. data/test/basepack_test_app/public/500.html +26 -0
  227. data/test/basepack_test_app/public/favicon.ico +0 -0
  228. data/test/basepack_test_app/public/images/header-deco.gif +0 -0
  229. data/test/basepack_test_app/public/images/rails.png +0 -0
  230. data/test/basepack_test_app/public/javascripts/application.js +2 -0
  231. data/test/basepack_test_app/public/javascripts/controls.js +965 -0
  232. data/test/basepack_test_app/public/javascripts/dragdrop.js +974 -0
  233. data/test/basepack_test_app/public/javascripts/effects.js +1123 -0
  234. data/test/basepack_test_app/public/javascripts/prototype.js +6001 -0
  235. data/test/basepack_test_app/public/javascripts/rails.js +175 -0
  236. data/test/basepack_test_app/public/robots.txt +5 -0
  237. data/test/basepack_test_app/public/stylesheets/.gitkeep +0 -0
  238. data/test/basepack_test_app/script/cucumber +10 -0
  239. data/test/basepack_test_app/script/rails +6 -0
  240. data/test/basepack_test_app/spec/components/form_panel_spec.rb +53 -0
  241. data/test/basepack_test_app/spec/components/grid_panel_spec.rb +10 -0
  242. data/test/basepack_test_app/spec/data_adapter/adapter_spec.rb +68 -0
  243. data/test/basepack_test_app/spec/data_adapter/attributes_spec.rb +56 -0
  244. data/test/basepack_test_app/spec/data_adapter/relation_extensions_spec.rb +125 -0
  245. data/test/basepack_test_app/spec/factories.rb +28 -0
  246. data/test/basepack_test_app/spec/spec_helper.rb +39 -0
  247. data/test/basepack_test_app/test/performance/browsing_test.rb +9 -0
  248. data/test/basepack_test_app/test/test_helper.rb +13 -0
  249. data/test/basepack_test_app/vendor/plugins/.gitkeep +0 -0
  250. data/test/console_with_fixtures.rb +4 -0
  251. data/test/fixtures/books.yml +11 -0
  252. data/test/fixtures/categories.yml +7 -0
  253. data/test/fixtures/cities.yml +21 -0
  254. data/test/fixtures/continents.yml +7 -0
  255. data/test/fixtures/countries.yml +9 -0
  256. data/test/fixtures/genres.yml +9 -0
  257. data/test/fixtures/roles.yml +8 -0
  258. data/test/fixtures/users.yml +11 -0
  259. data/test/schema.rb +10 -0
  260. data/test/test_helper.rb +21 -0
  261. data/test/unit/accordion_panel_test.rb +20 -0
  262. data/test/unit/active_record_basepack_test.rb +54 -0
  263. data/test/unit/fields_configuration_test.rb +18 -0
  264. data/test/unit/grid_panel_test.rb +52 -0
  265. data/test/unit/netzke_basepack_test.rb +4 -0
  266. data/test/unit/tab_panel_test.rb +21 -0
  267. data/uninstall.rb +1 -0
  268. metadata +332 -0
@@ -0,0 +1 @@
1
+ require 'autotest/redgreen'
@@ -0,0 +1,11 @@
1
+ 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"
@@ -0,0 +1,445 @@
1
+ = 0.7.7 - ?
2
+ * Ext JS 4.1.x support
3
+
4
+ * improvements
5
+ * cleaner handling of association column editing in GridPanel
6
+
7
+ * bug fix
8
+ * models with non-conventional primary keys could not be updated by gridpanel (davide)
9
+
10
+ = 0.7.6 - 2012-07-27
11
+ * Fix netzke-core version dependency in gemspec
12
+
13
+ = 0.7.5 - 2012-07-27
14
+ * Rails 3.2
15
+
16
+ * improvements
17
+ * data-related operations in grids and forms are moved to data adapters; implemented (partial) support for DataMapper and Sequel (see updated README)
18
+ * afterApply event in forms and grids (pschyska)
19
+ * apply event fired before apply button is processed in FormPanel (pschyska)
20
+
21
+ * bug fix
22
+ * advanced search panel works again (pididi)
23
+ * fixed a problem with session and GridPanel
24
+
25
+ = 0.7.4 - 2012-03-05
26
+ * bug fix
27
+ * :enable_pagination is now respected in GridPanel
28
+ * Virtual columns are not sortable by default now
29
+ * Datetime column now works
30
+ * Make Window respect persistence: false
31
+ * Disable persistence for search window in GridPanel
32
+
33
+ = 0.7.3 - 2011-10-23
34
+ * bug fix
35
+ * :sorting_scope is now respected in GridPanel
36
+ * regression: filtering on association column is fix (covered with tests)
37
+
38
+ = 0.7.2 - 2011-10-20
39
+ * bug fix
40
+ * Filter on a date column
41
+ * Using date column caused FormPanel to crash
42
+ * Virtual columns are no longer editable by default
43
+
44
+ * improvements
45
+ * New DSL method (model) for declaring a model for grids
46
+ * New DSL method (column) for declaring columns for grids
47
+ * New :override_columns config option for grid allows overriding specified column config without influencing other columns' order/presence
48
+ * New DSL method (override_column) to override a specific column config without influencing other columns' order/presence.
49
+ * Grid's title is set to model's pluralized name by default.
50
+ * New :read_only option for FormPanel - makes all fields read-only and removes the "Apply" button.
51
+ * FormPanel implements DSL shortcuts for the following options in default config: :model, :items, :record_id.
52
+ * GridPanel implements DSL shortcuts for the following options in default config: :model, :add_form_config, :edit_form_config, :multi_edit_form_config.
53
+ * New FormPanel option :multi_edit - set when the form is used for editing multiple records at a time
54
+ * Introduce action columns (see BookGridWithColumnActions)
55
+
56
+ * API changes
57
+ * Skip supporting ModelExtensions. The preferred way is using setters and getters on columns/fields.
58
+
59
+ = 0.7.1 - 2011-09-04
60
+ * bug fix
61
+ * FormPanel: fix the netzke_load endpoint when association fields are present
62
+ * dates were not displayed in date fields, and submitting a form with date fields might result in erasing those fields
63
+
64
+ * Rails 3.1 compatibility
65
+ * no meta_where dependencies (searching and filtering done with Arel)
66
+
67
+ = 0.7.0 - 2011-08-09
68
+ * Core 0.7.0 and Ext 4 compatibility
69
+ * API changes
70
+ * [JS] Removed the helper BorderLayoutPanel#get<Region>Component method altogether. Use Ext 4 Container#child instead
71
+
72
+ = v0.6.5 - to be released
73
+ * enhancements
74
+ * When columns states are saved in the persistent storage, adding/removing columns (e.g. in the code) will reset the saved states
75
+ * Moved features and specs to test/basepack_test_app
76
+ * bug fix
77
+ * FormPanel with multiple association fields wouldn't submit data correctly
78
+ * GridPanel's forms take over the +text+ configuration option for columns as +fieldLabel+ for default fields
79
+
80
+ = v0.6.4 - 2011-02-26
81
+ * API changes
82
+ * 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.
83
+ * xdatetime is no more. datetimefield is used instead.
84
+
85
+ * enhancements
86
+ * Components updated to use Ext.Direct (by @pschyska)
87
+ * New, improved advanced search for GridPanel and PagingFormPanel.
88
+ * 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).
89
+ * GridPanel now memorizes its columns visibility, position and size (when :persistence is set to true)
90
+ * I18n for GridPanel
91
+ * A default value can now also be assigned to association column/field (the value must be the associated record's ID)
92
+ * Slightly optimized selenium tests (no artificial sleeping whenever possible)
93
+
94
+ * bug fix
95
+ * Long-standing visual issues with datetime columns in grid panel are solved.
96
+
97
+ = v0.6.3 - 2011-01-14
98
+ * compatibility with netzke-core 0.6.5
99
+
100
+ * refactoring
101
+ * GridPanel code restructured, using the new +js_mixin+ method
102
+
103
+ * bug fix
104
+ * GridPanel respects strong_default_attrs
105
+ * TabPanel doesn't fire multiple load requests per tab in case of lazy-loaded tabs and fast clicking
106
+ * Filtering/sorting on virtual columns is now disabled by default
107
+ * Filtering on date columns
108
+
109
+ * enhancements
110
+ * I18n for Grid/FormPanel
111
+ * new +getter+ config option for columns/fields, a lambda receiving the record as parameter
112
+ * new +setter+ config option for columns/fields, a lambda receiving the record as first parameter, new value as the second
113
+ * GridPanel passes columns' default values to the "Add in form" form
114
+ * FormPanel can now be used without specifying a model
115
+ * New +commalistcbg+ form field for checkboxes, where boxLabels of selected checkboxes are serialized into comma-separated string (the separator is configurable)
116
+ * New +nradiogroup+ form field for radio buttons, where the value is defined by the boxLabel of the selected radio button
117
+ * 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.
118
+ * 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).
119
+ * FormPanel shows the "Updating..." mask while sending values to the server (configurable with updateMask option/property)
120
+ * 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)
121
+
122
+ = v0.6.2 - 2010-11-05
123
+ * compatibility with netzke-core 0.6.4
124
+ * bug fix
125
+ * BorderLayoutPanel persistence fix
126
+
127
+ = v0.6.1 - 2010-11-04
128
+ * enhancements
129
+ * BorderLayoutPanel persistence: remembers region sizes and collapsed/expanded states
130
+ * tooltips for grid buttons
131
+
132
+ * bug fix
133
+ * auto-detection of association's method when the latter is virtual was broken in 1.9.2
134
+
135
+ = v0.6.0 - 2010-10-24
136
+ * netzke-core 0.6.0 compatibility, thorough refactoring
137
+ * Much more thorough testing (cucumber and rspec)
138
+ * FormPanel/GridPanel dynamic column/field configuration has been left out (planned for a separate gem)
139
+ * different bug fixes
140
+
141
+ * enhancements
142
+ * if omitted in config, a column for the primary key is automatically added to Grid/FormPanel
143
+
144
+ * API incompatibilities
145
+ * in FormPanel, define the fields layout directly in :items, not in :fields or :columns
146
+
147
+ * new
148
+ * FormPanel allows for arbitrary layout of fields
149
+
150
+ = v0.5.14 - 2010-09-08
151
+ * bug fix
152
+ * fields configurator wouldn't open in some cases
153
+ * icons location was hardcoded in search panel (credits to @pschyska)
154
+ * quick fix for datetimes not being displayed in the preferred timezone
155
+ * ext_config options :enable_edit_in_form and :enable_advanced_search now do have effect
156
+ * PropertyEditor fixed for Grid/FormPanel
157
+ * Grid/FormPanel again obeys persistent_config option when loading columns/fields
158
+
159
+ * enhancements
160
+ * numberfield is default in grids also for columns of type float
161
+ * more narrow exception rescuing in GridPanel code
162
+ * combobox options can now be searched ("type ahead") also in virtual columns (not efficient though, use at own risk!)
163
+ * overriding an already existing attribute with `netzke_attribute` now also has effect on association attributes, such as boss__name
164
+
165
+ = v0.5.13 - 2010-08-11
166
+ * regression
167
+ * combobox options configuration again has effect
168
+
169
+ * bug fix
170
+ * when a TabPanel was used as a standalone widget, the first tab was rendered empty
171
+ * 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
172
+
173
+ * enhancements
174
+ * scopes can now be specified for an association combobox in Grid/FormPanels
175
+ * 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)
176
+ * minor refactoring GridPanel: moved static js out of grid_panel_js.rb
177
+
178
+ = v0.5.12 - 2010-06-21
179
+ * Fix: when used with Bundler, was crashing with the "uninitialized constant" exception
180
+
181
+ = v0.5.11 - 2010-06-20
182
+ * Fix: Partial fix for IE's (the rest to be fixed in Ext).
183
+ * Fix: In some circumstances Netzke::ActiveRecord modules were not loading.
184
+
185
+ = v0.5.10 - 2010-06-14
186
+ * Impr: Checkbox replaced with tri-state checkbox in multi-edit form in GridPanel.
187
+ * Impr: Column renderers reworked, allowing for more flexibility and cleanness.
188
+ * Fix: After applying changes to a grid disable "Edit in form" action.
189
+ * Impr: A grid's forms are now getting the same fields as specified for the grid.
190
+
191
+ = v0.5.9 - 2010-06-11
192
+ * !!!: after updating to this version, run script/generate netzke_basepack
193
+ * New: tri-state checkbox introduced into the search form
194
+ * Impr: better defaults for the search form
195
+ * Impr: GridPanel now displays the total amount of records
196
+ * Fix: GridPanel's "local filters" are back (they were out since the release of Ext 3.0)
197
+ * Impr: obey "preloaded" option for tabs better: really add the widgets into their respective tabs from the start
198
+ * Fix: datetime filters now also are take into account when searching in GridPanel is performed
199
+ * Fix: FieldsConfigurator should now work on Heroku
200
+ * Fix: GridPanel date filter now should work
201
+ * New: GridPanel now has a method on_data_changed that can be overridden by children to detect actions that modify data
202
+ * New: New way of configuring Netzke (virtual) attributes for AR models.
203
+ * Impr: Grid/FormPanel refactoring.
204
+ * Impr: Multi-level column/fields configuration reworked and made more consistent.
205
+ * New: New configuration layer introduced between the AR models and the rest of Netzke widgets. Use AttributesConfigurator to access it.
206
+ * New: FamFamFam Silk icons support.
207
+ * Impr: Reworked defining Netzke (virtual) attributes for Grid/FormPanel.
208
+
209
+ = v0.5.8 - 2010-03-12
210
+ * Fix: GertThiel's method_missing-related fix enabling better compatibility with other Ruby libs
211
+ * Fix: acts_as_list runtime dependency
212
+
213
+ = v0.5.7 - 2010-02-26
214
+ * 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"])
215
+ * Fix: Window resize/move now works correctly
216
+ * Code: taking care of deprecated methods
217
+
218
+ = v0.5.6 - 2010-01-10
219
+ * Compatibility with latest netzke-core
220
+ * Compatibility with Ext JS v3.1
221
+ * Impr: Code reorganization
222
+ * Impr: Non-standard primary key support in GridPanel and FormPanel
223
+ * Impr: Search button in GridPanel indicates that records filtering is active
224
+ * Fix: by default, SearchPanel excludes boolean fields for now (until a 3-state checkbox is introduced)
225
+ * Impr: made it possible to create new AR records with assigned associations using double-underscore notation, e.g.: Clerk.new(:boss__last_name => "Aguraijuja ")
226
+ * Impr: specifying an item for Netzke::Window is now optional
227
+ * Fix: xtype field in FieldsConfigurator is now a combobox
228
+ * Fix: FieldsConfigurator was crashing when fired consequently for grid and form
229
+ * Depr: :data_class_name option is deprecated, use :model
230
+ * Impr: "gear" tool is now hidden on FieldsConfigurator
231
+ * Impr: Grid/FormPanel layouts are now not stored into the netzke_preferences table unless the defaults are modified (cleaner table)
232
+
233
+ = v0.5.5.1 - 2009-11-09
234
+ * Compatibility with latest netzke-core
235
+
236
+ = v0.5.5 - 2009-11-09
237
+ * Compatibility with latest netzke-core
238
+ * Regression: pressing "enter" was not submitting the form (FormPanel)
239
+ * Regression: "Restore defaults" button was not working in FieldsConfigurator and PropertyEditor
240
+ * Fix: excluding columns in FieldsConfigurator was causing inconsistent column behavior (move/hide/resize)
241
+ * Fix: resolving conflicts with Ext.form.FormPanel's <tt>submit</tt> and <tt>load</tt> methods
242
+ * New: rudimentary FileUploadField support in FormPanel (it will do a normal, non-AJAX, form submit)
243
+ * New: Netzke::Window widget, supports persistent moving/resizing.
244
+ * 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.
245
+
246
+ = v0.5.4 - 2009-10-12
247
+ * Dependencies updated
248
+
249
+ = v0.5.3 - 2009-10-12
250
+ * Compatibility with Ext 3.0 (and dropping compatibility with 2.x).
251
+ * Compatibility with netzke-core v0.4.4.
252
+ * Impr: Form/GridPanel-based widgets: more consistent Ext.Action-related functionality and code, like (context) menu, bbar, etc.
253
+ * Impr: GridPanel: <tt>rows_reordering_available</tt> is now true by default.
254
+ * Impr: TreePanel now sets "leaf" attribute to true if the node has no children.
255
+ * Impr: Grid/TreePanel now have persistent config enabled by default.
256
+ * Impr: if persistent_config is disabled, a widget won't be talking to the server in vain any more.
257
+ * Fix: GridPanel didn't fire row editing when the first column was a "checkbox" column.
258
+ * Fix: the GridPanel's <tt>:scopes</tt> parameter now correctly processes named scopes as strings inside the array, e.g.
259
+ :scopes => ["current", [:id_gt, 100]]
260
+ * Fix: on deleting records from GridPanel, <tt>destroy</tt> method is being called instead of <tt>delete</tt>.
261
+ * Fix: FieldsConfigurator made a little bit more stable.
262
+ * Fix: patching Ext's bug that caused double firing of "columnmove" in GridPanel.
263
+ * Fix: moving columns around in GridPanel was causing erroneous mapping of data to columns after data reload.
264
+
265
+ = v0.5.2 - 2009-09-24
266
+ * Fix: combobox options for association columns didn't work properly.
267
+ * Fix: GridPanel's multi-edit functionality didn't work.
268
+ * Fix: gem dependencies are now correct.
269
+
270
+ = v0.5.1 - 2009-09-11
271
+ * Fix: crash when FormPanel has no data_class_name specified.
272
+ * 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.
273
+ * Fix: DataAccessor widgets (Form/GridPanel) now don't crash when calculating default columns/fields for the underlying model that has polymorphic columns.
274
+ * Fix: TabPanel was sending redundant "tabchange" event to server when initially instantiated.
275
+ * Fix: column filters were making GridPanel crash when the column editor was set to "textarea".
276
+ * Fix: dongling comma and "delete" object properties caused problems in IE and Safari.
277
+ * Fix: a stand-alone TabPanel would not render the active item.
278
+ * New: BasicApp: masquerading as "World". In this mode all the "touched" persistent preferences will be overwritten for all roles and users.
279
+ * Impr: configuration panel's header now shows the underlying model's name for convenience.
280
+ * Fix: MasqueradeSelector widget added.
281
+
282
+ = v0.5.0 - 2009-09-06
283
+ * Major refactoring and code reorganization.
284
+ * Compatibility with netzke-core v0.4.0.
285
+ * New: GridPanel now supports adding/editing records in a form and extended configurable search.
286
+ * New: GridPanel now can be loaded along with initial data (saves a request to the server).
287
+ * New: context menu in GridPanel
288
+ * New: "scopes" configuration option added to GridPanel to specify the searchlogic-compatible scope for the data.
289
+ * 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.
290
+ * Usability: GridPanel's actions now get enabled/disabled according to the current selection.
291
+ * Configuration panel for grids and forms now works more consistently.
292
+ * New: some smart defaults for column/fields in Grid/FormPanel.
293
+ * New: BasicApp supports masquerading and application-wide AJAX activity indicator.
294
+
295
+ = v0.4.2 - 2009-05-07
296
+ * Fix: afterlayout event bind removed completely because of some tricky inconsistent behavior of Ext. BasicApp initializing code put directly into js_after_constructor.
297
+
298
+ = v0.4.1 - 2009-05-07
299
+ * Fix: afterlayout call moved to js_after_constructor in BasicApp
300
+ * Fix: cleaner persistent_config handling
301
+ * New: default's configuration enabled for FormPanel on class-level
302
+ * Fix: differently configured forms on the same page were showing the same columns
303
+ * Fix: TableEditor was showing config-tool by default (must be hidden)
304
+
305
+ = v0.4.0 - 2009-05-07
306
+ * Refactor: got rid of NetzkeFormPanelField and NetzkeGridPanelColumn classes along with their tables. The layout is now stored in netzke_preferences.
307
+ * New: dynamic hiding of columns from column menu in GridPanel.
308
+ * New: FormPanel now supports combo boxes.
309
+ * Fix: config[:bbar] set to 'false' now works in grids with pagination
310
+ * New: you can specify :preloaded => true in a tab config in TabPanel to preload the widget in that tab along with the TabPanel itself
311
+ * New: hideBusy added to Ext.StatusBar
312
+ * Fix: assigning association (a Boss to a Clerk) by virtual column (like boss__name) works now
313
+ * Fix: an old bug that made GridPanel misbehave after reordering the columns
314
+
315
+ = v0.3.10
316
+ * BasicApp-based widgets can now introduce arbitrary layout, following the convention of defining "main-panel" and "main-toolbar" panels with layout 'fit'.
317
+
318
+ = v0.3.9.1
319
+ * Bug fix: (regression) appLoaded() in BasicApp gets executed again
320
+
321
+ = v0.3.9
322
+ * AccordionPanel tests added
323
+ * TabPanel works now
324
+ * AccordionPanel replaced with more intuitive TabPanel in the configuration window
325
+ * Code clean-up by using "single" option to call appLoaded() on "afterlayout"
326
+ * Table editor bug fix
327
+
328
+ = v0.3.8
329
+ * Fixing Ext's EditableItem render problem.
330
+ * Filters by default enabled again in GridPanel.
331
+ * GridPanel enhancement: base_params get sent along with post_data.
332
+
333
+ = v0.3.7
334
+ * Netzke-core version sync.
335
+ * Rails 2.3.2 compatibility.
336
+
337
+ = v0.3.6
338
+ * Netzke-core v0.2.9 compatibility.
339
+ * Cleaner handling of custom renderers in GridPanel.
340
+ * New FormPanel-based PropertyEditor replaces PropertyGrid.
341
+ * Xcheckbox and check-column introduced.
342
+ * TODO file added.
343
+ * Bug fix: in TableEditor, the grid now responses on events also after being reconfigured.
344
+ * Bug fix: a couple of IE-related bugs.
345
+ * Significant code clean-up.
346
+
347
+ = v0.3.5
348
+ * Netzke-core v0.2.8 compatibility.
349
+
350
+ = v0.3.4
351
+ * Quick tips added to the "tools".
352
+ * Regression: the "General" configuration panel for GridPanel works again.
353
+ * GridPanel: rows_per_page configuration is now read from General config panel.
354
+
355
+ = v0.3.3.1
356
+ * Obviously using "new" as a property name in JavaScript isn't liked by Safari. Fixed.
357
+
358
+ = v0.3.3
359
+ * Bug fix: application not loading the widget specified in the URL (Ext.History-related).
360
+ * Some code refactoring and readability improvements.
361
+ * Ext.componentCache renamed into Ext.netzke.cache.
362
+ * New widget: TableEditor (a compound widget containing a grid and a form for editing table data).
363
+ * BorderLayoutPanel: a function getRegionWidget(region) added to access a widget in the specified region.
364
+ * Bug fix: BasicApp: FeedbackGhost now gets instantiated before BasicApp.
365
+ * Clearer handling of requests to non-existing aggregatees.
366
+ * Bug fix: now Ext 2.2.1 compatible.
367
+ * Column operations are now handled properly when :persistent_layout is set to false.
368
+ * Grid/Form fields configuration is extended with "ext_config" field which stores (in JSON-format) all the extra configuration, which gives extra flexibility to individual column/field configuration.
369
+ * :persistent_layout set to false now makes a widget ignore what's in the DB.
370
+ * Bug fix: AccordionPanel doesn't crash when no active item is specified.
371
+ * Bug fix: redundant flash messages for GridPanel.
372
+ * FeedbackGhost won't be showing anything if given an empty array.
373
+ * Cleaner handling of validations in GridPanel.
374
+ * FormPanel ready for the demo.
375
+
376
+ = v0.3.2
377
+ * Minor code restructuring.
378
+ * Working on FormPanel cont'd.
379
+
380
+ = v0.3.1
381
+ * Added the "conditions" configuration option to GridPanel to limit the search
382
+ * Basic column editor for grids has been replaced with FieldsConfigurator, which can do a bit more
383
+ * Added Checkbox column/form-field type for boolean fields
384
+ * "renderer" configuration option added for grid columns - any Ext.util.Format renderer can be specified there (thanks to Josh Holt for the initial idea)
385
+
386
+ = v0.3.0
387
+ * 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
388
+
389
+ = v0.2.2
390
+ * Meta: updated netzke-core version (dependency)
391
+
392
+ = v0.2.1
393
+ * Regression: BorderLayoutPanel now restores the region sizes from the database
394
+
395
+ = v0.2.0.1
396
+ * Meta: updated netzke-core version (dependency)
397
+
398
+ = v0.2.0
399
+ * Some re-factoring and redesign along with netzke-core
400
+ * Panel widget added
401
+ * BorderLayoutPanel added
402
+ * AccordionPanel added
403
+ * Bug fix: column operations configuration misbehaving
404
+ * Renamed Grid into GridPanel
405
+ * Bug fix: exception was thrown at a column operation when no layout_manager was present
406
+ * Reworked permission handling in GridPanel.
407
+
408
+ = v0.1.4.1
409
+ * Meta: updated netzke-core version (dependency)
410
+
411
+ = v0.1.4
412
+ * Grid#get_columns provides default columns even if none of layout_manager_class & column_manager_class are available
413
+
414
+ = v0.1.3.1
415
+ * Meta: updated netzke-core version (dependency)
416
+
417
+ = v0.1.3
418
+ * Path to javascript for grid filters corrected
419
+ * Bug with creating new records in the grid fixed
420
+ * Optimized away redundant sql queries when calling Grid#get_columns (sort of memoization)
421
+ * README updated
422
+
423
+ = v0.1.2.1
424
+ * Meta: trying to succeed publishing on RubyForge
425
+
426
+ = v0.1.2
427
+ * Updated README with an example of stand-alone widget usage
428
+ * Meta: updated netzke-core version (dependency)
429
+
430
+ = v0.1.1.2
431
+ * Meta: updated netzke-core version (dependency)
432
+
433
+ = v0.1.1.1
434
+ * Meta: github gem naming convention
435
+
436
+ = v0.1.1
437
+ * Cleaner exception handling while loading data to grid
438
+ * Column resize & move functionality enabled by default
439
+ * Column filters added
440
+
441
+ = v0.1.0.1
442
+ * Meta work: replacing underscore with dash in the name
443
+
444
+ = v0.1.0 - 2008-12-20
445
+ * Initial release