gridx-rails 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/LICENSE +2 -0
- data/README.md +18 -0
- data/Rakefile +36 -0
- data/app/assets/images/gridx/mobile/themes/iphone/images/ajax-loader.gif +0 -0
- data/app/assets/images/gridx/mobile/themes/iphone/images/arrow.png +0 -0
- data/app/assets/images/gridx/resources/images/checkboxpartial.png +0 -0
- data/app/assets/images/gridx/resources/images/checkboxpartialdisabled.png +0 -0
- data/app/assets/images/gridx/resources/images/claro-grid-header-onepixel.bmp +0 -0
- data/app/assets/images/gridx/resources/images/dndCopy.png +0 -0
- data/app/assets/images/gridx/resources/images/dndMove.png +0 -0
- data/app/assets/images/gridx/resources/images/dndNoCopy.png +0 -0
- data/app/assets/images/gridx/resources/images/dndNoMove.png +0 -0
- data/app/assets/images/gridx/resources/images/gridxCellChanged.png +0 -0
- data/app/assets/images/gridx/resources/images/header.png +0 -0
- data/app/assets/images/gridx/resources/images/header_shadow.png +0 -0
- data/app/assets/images/gridx/resources/images/loadingAnimation.gif +0 -0
- data/app/assets/images/gridx/resources/images/row_back.png +0 -0
- data/app/assets/images/gridx/resources/images/row_back_changed.png +0 -0
- data/app/assets/images/gridx/resources/images/sprite_icons.png +0 -0
- data/app/assets/images/gridx/resources/images/treeExpandImages.png +0 -0
- data/app/assets/images/gridx/resources/images/treeExpand_loading.gif +0 -0
- data/app/assets/javascripts/gridx/Grid.js +224 -0
- data/app/assets/javascripts/gridx/GridCommon.js +52 -0
- data/app/assets/javascripts/gridx/allModules.js +105 -0
- data/app/assets/javascripts/gridx/core/Cell.js +86 -0
- data/app/assets/javascripts/gridx/core/Column.js +183 -0
- data/app/assets/javascripts/gridx/core/Core.js +447 -0
- data/app/assets/javascripts/gridx/core/Row.js +174 -0
- data/app/assets/javascripts/gridx/core/_Module.js +285 -0
- data/app/assets/javascripts/gridx/core/model/Model.js +495 -0
- data/app/assets/javascripts/gridx/core/model/_Extension.js +84 -0
- data/app/assets/javascripts/gridx/core/model/cache/Async.js +469 -0
- data/app/assets/javascripts/gridx/core/model/cache/Sync.js +59 -0
- data/app/assets/javascripts/gridx/core/model/cache/_Cache.js +386 -0
- data/app/assets/javascripts/gridx/core/model/extensions/ClientFilter.js +303 -0
- data/app/assets/javascripts/gridx/core/model/extensions/FormatSort.js +103 -0
- data/app/assets/javascripts/gridx/core/model/extensions/Mark.js +370 -0
- data/app/assets/javascripts/gridx/core/model/extensions/Modify.js +418 -0
- data/app/assets/javascripts/gridx/core/model/extensions/Move.js +429 -0
- data/app/assets/javascripts/gridx/core/model/extensions/Query.js +50 -0
- data/app/assets/javascripts/gridx/core/model/extensions/Sort.js +81 -0
- data/app/assets/javascripts/gridx/core/util.js +13 -0
- data/app/assets/javascripts/gridx/mobile/Grid.js +300 -0
- data/app/assets/javascripts/gridx/mobile/LazyLoad.js +88 -0
- data/app/assets/javascripts/gridx/mobile/PullRefresh.js +117 -0
- data/app/assets/javascripts/gridx/mobile/Sort.js +66 -0
- data/app/assets/javascripts/gridx/mobile/nls/LazyLoad.js +38 -0
- data/app/assets/javascripts/gridx/mobile/nls/PullRefresh.js +39 -0
- data/app/assets/javascripts/gridx/mobile/nls/ar/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/ar/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/ar/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/bg/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/bg/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/bg/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/ca/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/ca/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/ca/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/common.js +37 -0
- data/app/assets/javascripts/gridx/mobile/nls/cs/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/cs/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/cs/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/da/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/da/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/da/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/de/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/de/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/de/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/el/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/el/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/el/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/es/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/es/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/es/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/fi/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/fi/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/fi/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/fr/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/fr/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/fr/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/he/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/he/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/he/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/hr/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/hr/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/hr/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/hu/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/hu/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/hu/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/it/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/it/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/it/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/ja/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/ja/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/ja/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/kk/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/kk/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/kk/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/ko/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/ko/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/ko/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/nb/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/nb/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/nb/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/nl/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/nl/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/nl/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/pl/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/pl/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/pl/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/pt/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/pt/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/pt/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/pt-pt/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/pt-pt/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/pt-pt/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/ro/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/ro/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/ro/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/ru/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/ru/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/ru/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/sk/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/sk/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/sk/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/sl/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/sl/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/sl/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/sv/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/sv/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/sv/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/th/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/th/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/th/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/tr/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/tr/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/tr/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/uk/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/uk/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/uk/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/zh/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/zh/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/zh/common.js +5 -0
- data/app/assets/javascripts/gridx/mobile/nls/zh-tw/LazyLoad.js +6 -0
- data/app/assets/javascripts/gridx/mobile/nls/zh-tw/PullRefresh.js +7 -0
- data/app/assets/javascripts/gridx/mobile/nls/zh-tw/common.js +5 -0
- data/app/assets/javascripts/gridx/modules/AutoScroll.js +100 -0
- data/app/assets/javascripts/gridx/modules/Bar.js +322 -0
- data/app/assets/javascripts/gridx/modules/Body.js +1059 -0
- data/app/assets/javascripts/gridx/modules/CellWidget.js +538 -0
- data/app/assets/javascripts/gridx/modules/ColumnLock.js +254 -0
- data/app/assets/javascripts/gridx/modules/ColumnResizer.js +278 -0
- data/app/assets/javascripts/gridx/modules/ColumnWidth.js +320 -0
- data/app/assets/javascripts/gridx/modules/Dod.js +368 -0
- data/app/assets/javascripts/gridx/modules/Edit.js +1024 -0
- data/app/assets/javascripts/gridx/modules/Filter.js +482 -0
- data/app/assets/javascripts/gridx/modules/Focus.js +439 -0
- data/app/assets/javascripts/gridx/modules/GroupHeader.js +437 -0
- data/app/assets/javascripts/gridx/modules/HLayout.js +139 -0
- data/app/assets/javascripts/gridx/modules/HScroller.js +172 -0
- data/app/assets/javascripts/gridx/modules/Header.js +289 -0
- data/app/assets/javascripts/gridx/modules/HeaderMenu.js +63 -0
- data/app/assets/javascripts/gridx/modules/HeaderRegions.js +201 -0
- data/app/assets/javascripts/gridx/modules/HiddenColumns.js +274 -0
- data/app/assets/javascripts/gridx/modules/IndirectSelect.js +287 -0
- data/app/assets/javascripts/gridx/modules/IndirectSelectColumn.js +277 -0
- data/app/assets/javascripts/gridx/modules/Menu.js +167 -0
- data/app/assets/javascripts/gridx/modules/NavigableCell.js +170 -0
- data/app/assets/javascripts/gridx/modules/NestedSort.js +280 -0
- data/app/assets/javascripts/gridx/modules/PagedBody.js +409 -0
- data/app/assets/javascripts/gridx/modules/Pagination.js +293 -0
- data/app/assets/javascripts/gridx/modules/Persist.js +266 -0
- data/app/assets/javascripts/gridx/modules/Printer.js +49 -0
- data/app/assets/javascripts/gridx/modules/RowHeader.js +412 -0
- data/app/assets/javascripts/gridx/modules/RowLock.js +143 -0
- data/app/assets/javascripts/gridx/modules/SingleSort.js +276 -0
- data/app/assets/javascripts/gridx/modules/SummaryBar.js +33 -0
- data/app/assets/javascripts/gridx/modules/TitleBar.js +51 -0
- data/app/assets/javascripts/gridx/modules/ToolBar.js +55 -0
- data/app/assets/javascripts/gridx/modules/TouchScroll.js +103 -0
- data/app/assets/javascripts/gridx/modules/TouchVScroller.js +89 -0
- data/app/assets/javascripts/gridx/modules/Traverse.js +159 -0
- data/app/assets/javascripts/gridx/modules/Tree.js +646 -0
- data/app/assets/javascripts/gridx/modules/VLayout.js +152 -0
- data/app/assets/javascripts/gridx/modules/VScroller.js +342 -0
- data/app/assets/javascripts/gridx/modules/View.js +540 -0
- data/app/assets/javascripts/gridx/modules/VirtualVScroller.js +445 -0
- data/app/assets/javascripts/gridx/modules/barPlugins/DropDownPager.js +16 -0
- data/app/assets/javascripts/gridx/modules/barPlugins/DropDownSizer.js +16 -0
- data/app/assets/javascripts/gridx/modules/barPlugins/GotoPageButton.js +16 -0
- data/app/assets/javascripts/gridx/modules/barPlugins/LinkPager.js +16 -0
- data/app/assets/javascripts/gridx/modules/barPlugins/LinkSizer.js +16 -0
- data/app/assets/javascripts/gridx/modules/barPlugins/Summary.js +16 -0
- data/app/assets/javascripts/gridx/modules/dnd/Avatar.js +45 -0
- data/app/assets/javascripts/gridx/modules/dnd/Column.js +210 -0
- data/app/assets/javascripts/gridx/modules/dnd/Row.js +286 -0
- data/app/assets/javascripts/gridx/modules/dnd/_Base.js +60 -0
- data/app/assets/javascripts/gridx/modules/dnd/_Dnd.js +371 -0
- data/app/assets/javascripts/gridx/modules/exporter/CSV.js +43 -0
- data/app/assets/javascripts/gridx/modules/exporter/Exporter.js +34 -0
- data/app/assets/javascripts/gridx/modules/exporter/Table.js +42 -0
- data/app/assets/javascripts/gridx/modules/extendedSelect/Cell.js +491 -0
- data/app/assets/javascripts/gridx/modules/extendedSelect/Column.js +290 -0
- data/app/assets/javascripts/gridx/modules/extendedSelect/Row.js +458 -0
- data/app/assets/javascripts/gridx/modules/extendedSelect/_Base.js +244 -0
- data/app/assets/javascripts/gridx/modules/extendedSelect/_RowCellBase.js +35 -0
- data/app/assets/javascripts/gridx/modules/filter/DistinctComboBoxMenu.js +22 -0
- data/app/assets/javascripts/gridx/modules/filter/Filter.js +16 -0
- data/app/assets/javascripts/gridx/modules/filter/FilterBar.js +649 -0
- data/app/assets/javascripts/gridx/modules/filter/FilterConfirmDialog.js +33 -0
- data/app/assets/javascripts/gridx/modules/filter/FilterDialog.js +179 -0
- data/app/assets/javascripts/gridx/modules/filter/FilterPane.js +340 -0
- data/app/assets/javascripts/gridx/modules/filter/FilterTooltip.js +103 -0
- data/app/assets/javascripts/gridx/modules/filter/QuickFilter.js +33 -0
- data/app/assets/javascripts/gridx/modules/move/Column.js +223 -0
- data/app/assets/javascripts/gridx/modules/move/Row.js +154 -0
- data/app/assets/javascripts/gridx/modules/pagination/Pagination.js +16 -0
- data/app/assets/javascripts/gridx/modules/pagination/PaginationBar.js +68 -0
- data/app/assets/javascripts/gridx/modules/pagination/PaginationBarDD.js +40 -0
- data/app/assets/javascripts/gridx/modules/pagination/_PaginationBarBase.js +105 -0
- data/app/assets/javascripts/gridx/modules/select/Cell.js +229 -0
- data/app/assets/javascripts/gridx/modules/select/Column.js +209 -0
- data/app/assets/javascripts/gridx/modules/select/Row.js +302 -0
- data/app/assets/javascripts/gridx/modules/select/_Base.js +99 -0
- data/app/assets/javascripts/gridx/modules/select/_RowCellBase.js +51 -0
- data/app/assets/javascripts/gridx/nls/Body.js +47 -0
- data/app/assets/javascripts/gridx/nls/FilterBar.js +133 -0
- data/app/assets/javascripts/gridx/nls/NestedSort.js +45 -0
- data/app/assets/javascripts/gridx/nls/PaginationBar.js +68 -0
- data/app/assets/javascripts/gridx/nls/QuickFilter.js +40 -0
- data/app/assets/javascripts/gridx/nls/SummaryBar.js +38 -0
- data/app/assets/javascripts/gridx/nls/ar/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/ar/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/ar/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/ar/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/ar/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/ar/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/bg/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/bg/FilterBar.js +88 -0
- data/app/assets/javascripts/gridx/nls/bg/NestedSort.js +12 -0
- data/app/assets/javascripts/gridx/nls/bg/PaginationBar.js +28 -0
- data/app/assets/javascripts/gridx/nls/bg/QuickFilter.js +8 -0
- data/app/assets/javascripts/gridx/nls/bg/SummaryBar.js +6 -0
- data/app/assets/javascripts/gridx/nls/ca/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/ca/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/ca/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/ca/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/ca/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/ca/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/cs/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/cs/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/cs/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/cs/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/cs/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/cs/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/da/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/da/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/da/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/da/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/da/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/da/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/de/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/de/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/de/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/de/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/de/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/de/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/el/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/el/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/el/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/el/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/el/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/el/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/es/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/es/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/es/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/es/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/es/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/es/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/fi/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/fi/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/fi/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/fi/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/fi/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/fi/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/fr/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/fr/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/fr/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/fr/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/fr/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/fr/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/he/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/he/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/he/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/he/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/he/QuickFilter.js +6 -0
- data/app/assets/javascripts/gridx/nls/he/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/hr/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/hr/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/hr/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/hr/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/hr/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/hr/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/hu/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/hu/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/hu/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/hu/PaginationBar.js +33 -0
- data/app/assets/javascripts/gridx/nls/hu/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/hu/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/it/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/it/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/it/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/it/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/it/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/it/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/ja/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/ja/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/ja/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/ja/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/ja/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/ja/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/kk/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/kk/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/kk/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/kk/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/kk/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/kk/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/ko/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/ko/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/ko/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/ko/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/ko/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/ko/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/nb/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/nb/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/nb/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/nb/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/nb/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/nb/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/nl/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/nl/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/nl/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/nl/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/nl/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/nl/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/pl/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/pl/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/pl/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/pl/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/pl/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/pl/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/pt/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/pt/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/pt/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/pt/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/pt/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/pt/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/pt-br/Body.js +6 -0
- data/app/assets/javascripts/gridx/nls/pt-br/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/pt-br/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/pt-br/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/pt-br/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/pt-br/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/pt-pt/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/pt-pt/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/pt-pt/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/pt-pt/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/pt-pt/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/pt-pt/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/ro/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/ro/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/ro/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/ro/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/ro/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/ro/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/ru/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/ru/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/ru/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/ru/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/ru/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/ru/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/sk/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/sk/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/sk/NestedSort.js +13 -0
- data/app/assets/javascripts/gridx/nls/sk/PaginationBar.js +30 -0
- data/app/assets/javascripts/gridx/nls/sk/QuickFilter.js +9 -0
- data/app/assets/javascripts/gridx/nls/sk/SummaryBar.js +7 -0
- data/app/assets/javascripts/gridx/nls/sl/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/sl/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/sl/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/sl/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/sl/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/sl/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/sv/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/sv/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/sv/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/sv/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/sv/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/sv/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/th/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/th/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/th/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/th/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/th/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/th/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/tr/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/tr/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/tr/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/tr/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/tr/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/tr/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/uk/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/uk/FilterBar.js +88 -0
- data/app/assets/javascripts/gridx/nls/uk/NestedSort.js +12 -0
- data/app/assets/javascripts/gridx/nls/uk/PaginationBar.js +28 -0
- data/app/assets/javascripts/gridx/nls/uk/QuickFilter.js +8 -0
- data/app/assets/javascripts/gridx/nls/uk/SummaryBar.js +6 -0
- data/app/assets/javascripts/gridx/nls/zh/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/zh/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/zh/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/zh/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/zh/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/zh/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/nls/zh-tw/Body.js +11 -0
- data/app/assets/javascripts/gridx/nls/zh-tw/FilterBar.js +89 -0
- data/app/assets/javascripts/gridx/nls/zh-tw/NestedSort.js +11 -0
- data/app/assets/javascripts/gridx/nls/zh-tw/PaginationBar.js +34 -0
- data/app/assets/javascripts/gridx/nls/zh-tw/QuickFilter.js +7 -0
- data/app/assets/javascripts/gridx/nls/zh-tw/SummaryBar.js +5 -0
- data/app/assets/javascripts/gridx/support/DropDownPager.js +111 -0
- data/app/assets/javascripts/gridx/support/DropDownSizer.js +112 -0
- data/app/assets/javascripts/gridx/support/GotoPageButton.js +92 -0
- data/app/assets/javascripts/gridx/support/GotoPagePane.js +61 -0
- data/app/assets/javascripts/gridx/support/LinkPager.js +180 -0
- data/app/assets/javascripts/gridx/support/LinkSizer.js +138 -0
- data/app/assets/javascripts/gridx/support/QuickFilter.js +138 -0
- data/app/assets/javascripts/gridx/support/Summary.js +49 -0
- data/app/assets/javascripts/gridx/support/_LinkPageBase.js +92 -0
- data/app/assets/javascripts/gridx/support/exporter/exporter.js +350 -0
- data/app/assets/javascripts/gridx/support/exporter/toCSV.js +75 -0
- data/app/assets/javascripts/gridx/support/exporter/toTable.js +92 -0
- data/app/assets/javascripts/gridx/support/menu/AZFilterMenu.js +57 -0
- data/app/assets/javascripts/gridx/support/menu/NumberFilterMenu.js +87 -0
- data/app/assets/javascripts/gridx/support/menu/_FilterMenuBase.js +83 -0
- data/app/assets/javascripts/gridx/support/printer.js +157 -0
- data/app/assets/javascripts/gridx/templates/FilterBar.html +8 -0
- data/app/assets/javascripts/gridx/templates/FilterConfirmDialog.html +5 -0
- data/app/assets/javascripts/gridx/templates/FilterDialog.html +19 -0
- data/app/assets/javascripts/gridx/templates/FilterPane.html +64 -0
- data/app/assets/javascripts/gridx/templates/GotoPagePane.html +28 -0
- data/app/assets/javascripts/gridx/templates/Grid.html +19 -0
- data/app/assets/javascripts/gridx/templates/LinkPager.html +24 -0
- data/app/assets/javascripts/gridx/templates/PaginationBar.html +60 -0
- data/app/assets/javascripts/gridx/templates/PaginationBarDD.html +23 -0
- data/app/assets/javascripts/gridx/templates/QuickFilter.html +38 -0
- data/app/assets/stylesheets/gridx/mobile/themes/iphone/Grid.css +107 -0
- data/app/assets/stylesheets/gridx/resources/Dod.css +39 -0
- data/app/assets/stylesheets/gridx/resources/Gridx.css +10 -0
- data/app/assets/stylesheets/gridx/resources/Gridx_rtl.css +5 -0
- data/app/assets/stylesheets/gridx/resources/Tree.css +46 -0
- data/app/assets/stylesheets/gridx/resources/Tree_rtl.css +4 -0
- data/app/assets/stylesheets/gridx/resources/bar.css +24 -0
- data/app/assets/stylesheets/gridx/resources/basic.css +482 -0
- data/app/assets/stylesheets/gridx/resources/basic_rtl.css +37 -0
- data/app/assets/stylesheets/gridx/resources/claro/Gridx.css +16 -0
- data/app/assets/stylesheets/gridx/resources/claro/Gridx_rtl.css +7 -0
- data/app/assets/stylesheets/gridx/resources/claro/basic.css +109 -0
- data/app/assets/stylesheets/gridx/resources/claro/basic_rtl.css +21 -0
- data/app/assets/stylesheets/gridx/resources/claro/filter.css +47 -0
- data/app/assets/stylesheets/gridx/resources/claro/lock.css +19 -0
- data/app/assets/stylesheets/gridx/resources/claro/pagination.css +33 -0
- data/app/assets/stylesheets/gridx/resources/claro/select.css +20 -0
- data/app/assets/stylesheets/gridx/resources/dnd.css +108 -0
- data/app/assets/stylesheets/gridx/resources/filter.css +321 -0
- data/app/assets/stylesheets/gridx/resources/filter_rtl.css +38 -0
- data/app/assets/stylesheets/gridx/resources/lock.css +20 -0
- data/app/assets/stylesheets/gridx/resources/pagination.css +142 -0
- data/app/assets/stylesheets/gridx/resources/pagination_rtl.css +54 -0
- data/app/assets/stylesheets/gridx/resources/select.css +39 -0
- data/app/assets/stylesheets/gridx/resources/sort.css +154 -0
- data/app/assets/stylesheets/gridx/resources/sort_rtl.css +51 -0
- data/lib/gridx-rails/engine.rb +8 -0
- data/lib/gridx-rails/version.rb +3 -0
- data/lib/gridx-rails.rb +4 -0
- data/lib/tasks/gridx-rails_tasks.rake +52 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +78 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/gridx-rails_test.rb +7 -0
- data/test/test_helper.rb +15 -0
- metadata +621 -0
@@ -0,0 +1,112 @@
|
|
1
|
+
define([
|
2
|
+
"dojo/_base/declare",
|
3
|
+
"dojo/_base/lang",
|
4
|
+
"dijit/_WidgetBase",
|
5
|
+
"dijit/_FocusMixin",
|
6
|
+
"dijit/_TemplatedMixin",
|
7
|
+
"dojo/i18n",
|
8
|
+
"dijit/form/Select",
|
9
|
+
"dojo/i18n!../nls/PaginationBar"
|
10
|
+
], function(declare, lang, _WidgetBase, _FocusMixin, _TemplatedMixin, i18n, Select){
|
11
|
+
|
12
|
+
/*=====
|
13
|
+
return declare([_WidgetBase, _FocusMixin, _TemplatedMixin], {
|
14
|
+
// summary:
|
15
|
+
// This grid bar plugin is to switch page sizes using select widget.
|
16
|
+
|
17
|
+
// grid: [const] gridx.Grid
|
18
|
+
// The grid widget this plugin works for.
|
19
|
+
grid: null,
|
20
|
+
|
21
|
+
// sizes: Integer[]
|
22
|
+
// An array of available page sizes. Non-positive number means "all"
|
23
|
+
sizes: [10, 25, 50, 100, 0],
|
24
|
+
|
25
|
+
// sizerClass: Function
|
26
|
+
// The constructor of the select widget
|
27
|
+
sizerClass: Select,
|
28
|
+
|
29
|
+
// sizerProps: Object
|
30
|
+
// The properties passed to select widget when creating it.
|
31
|
+
sizerProps: null,
|
32
|
+
|
33
|
+
refresh: function(){}
|
34
|
+
});
|
35
|
+
=====*/
|
36
|
+
|
37
|
+
return declare([_WidgetBase, _FocusMixin, _TemplatedMixin], {
|
38
|
+
templateString: '<div class="gridxDropDownSizer"><label class="gridxPagerLabel">${pageSizeLabel}</label></div>',
|
39
|
+
|
40
|
+
constructor: function(args){
|
41
|
+
lang.mixin(this, i18n.getLocalization('gridx', 'PaginationBar', this.lang || args.grid.lang));
|
42
|
+
},
|
43
|
+
|
44
|
+
postCreate: function(){
|
45
|
+
var t = this;
|
46
|
+
t.connect(t.grid.pagination, 'onChangePageSize', '_onChange');
|
47
|
+
t.grid.pagination.loaded.then(function(){
|
48
|
+
t.refresh();
|
49
|
+
});
|
50
|
+
},
|
51
|
+
startup: function(){
|
52
|
+
this.inherited(arguments);
|
53
|
+
//Set initial page size after pagination module is ready.
|
54
|
+
this._onChange(this.grid.pagination.pageSize());
|
55
|
+
},
|
56
|
+
|
57
|
+
//Public-----------------------------------------------------------------------------
|
58
|
+
grid: null,
|
59
|
+
|
60
|
+
sizes: [10, 25, 50, 100, 0],
|
61
|
+
|
62
|
+
sizerClass: Select,
|
63
|
+
|
64
|
+
sizerProps: null,
|
65
|
+
|
66
|
+
refresh: function(){
|
67
|
+
var t = this,
|
68
|
+
options = [],
|
69
|
+
p = t.grid.pagination,
|
70
|
+
currentSize = p.pageSize(),
|
71
|
+
sizeSwitch = t._sizeSwitchSelect,
|
72
|
+
sizes = t.sizes;
|
73
|
+
for(var i = 0, len = sizes.length; i < len; ++i){
|
74
|
+
var pageSize = sizes[i],
|
75
|
+
isAll = !(pageSize > 0);
|
76
|
+
options.push({
|
77
|
+
label: String(isAll ? t.pageSizeAll : pageSize),
|
78
|
+
value: String(isAll ? -1 : pageSize),
|
79
|
+
selected: currentSize == pageSize || (isAll && p.isAll())
|
80
|
+
});
|
81
|
+
}
|
82
|
+
if(!sizeSwitch){
|
83
|
+
var cls = t.sizerClass,
|
84
|
+
props = lang.mixin({
|
85
|
+
options: options,
|
86
|
+
'class': 'gridxPagerSizeSwitchWidget',
|
87
|
+
'aria-label': 'switch page size',
|
88
|
+
onChange: function(ps){
|
89
|
+
p.setPageSize(ps < 0 ? 0 : ps);
|
90
|
+
}
|
91
|
+
}, t.sizerProps || {});
|
92
|
+
sizeSwitch = t._sizeSwitchSelect = new cls(props);
|
93
|
+
sizeSwitch.placeAt(t.domNode, "last");
|
94
|
+
sizeSwitch.startup();
|
95
|
+
}else{
|
96
|
+
sizeSwitch.removeOption(sizeSwitch.getOptions());
|
97
|
+
sizeSwitch.addOption(options);
|
98
|
+
}
|
99
|
+
},
|
100
|
+
|
101
|
+
//Private----------------------------------------------------------------------------
|
102
|
+
_onChange: function(size){
|
103
|
+
var select = this._sizeSwitchSelect;
|
104
|
+
if(this.grid.pagination.isAll()){
|
105
|
+
size = -1;
|
106
|
+
}
|
107
|
+
if(select && select.get('value') != size){
|
108
|
+
select.set('value', size);
|
109
|
+
}
|
110
|
+
}
|
111
|
+
});
|
112
|
+
});
|
@@ -0,0 +1,92 @@
|
|
1
|
+
define([
|
2
|
+
"dojo/_base/declare",
|
3
|
+
"dojo/_base/lang",
|
4
|
+
"dojo/string",
|
5
|
+
"./_LinkPageBase",
|
6
|
+
"./GotoPagePane",
|
7
|
+
"dijit/Dialog",
|
8
|
+
"dijit/form/Button",
|
9
|
+
"dijit/form/NumberTextBox",
|
10
|
+
"dojo/keys",
|
11
|
+
"dojo/_base/event"
|
12
|
+
], function(declare, lang, string, _LinkPageBase, GotoPagePane, Dialog, Button, NumberTextBox, keys, event){
|
13
|
+
|
14
|
+
/*=====
|
15
|
+
return declare(_LinkPageBase, {
|
16
|
+
gotoPagePane: GotoPagePane,
|
17
|
+
|
18
|
+
// dialogClass: [private]
|
19
|
+
dialogClass: Dialog,
|
20
|
+
|
21
|
+
// buttonClass: [private]
|
22
|
+
buttonClass: Button,
|
23
|
+
|
24
|
+
// numberTextBoxClass: [private]
|
25
|
+
numberTextBoxClass: NumberTextBox,
|
26
|
+
|
27
|
+
refresh: function(){
|
28
|
+
// summary:
|
29
|
+
// TODOC
|
30
|
+
}
|
31
|
+
});
|
32
|
+
=====*/
|
33
|
+
|
34
|
+
return declare(_LinkPageBase, {
|
35
|
+
templateString: "<span class='gridxPagerGotoBtn' tabindex='${_tabIndex}' title='${gotoBtnTitle}' aria-label='${gotoBtnTitle}' data-dojo-attach-event='onclick: _showGotoDialog'><span class='gridxPagerA11yInner'>▲</span></span>",
|
36
|
+
|
37
|
+
gotoPagePane: GotoPagePane,
|
38
|
+
|
39
|
+
dialogClass: Dialog,
|
40
|
+
|
41
|
+
buttonClass: Button,
|
42
|
+
|
43
|
+
numberTextBoxClass: NumberTextBox,
|
44
|
+
|
45
|
+
refresh: function(){},
|
46
|
+
|
47
|
+
//Private-----------------------------------------
|
48
|
+
_showGotoDialog: function(){
|
49
|
+
var t = this;
|
50
|
+
if(!t._gotoDialog){
|
51
|
+
var cls = t.dialogClass,
|
52
|
+
gppane = t.gotoPagePane,
|
53
|
+
props = lang.mixin({
|
54
|
+
title: t.gotoDialogTitle,
|
55
|
+
content: new gppane({
|
56
|
+
pager: t,
|
57
|
+
pagination: t.grid.pagination
|
58
|
+
})
|
59
|
+
}, t.dialogProps || {});
|
60
|
+
var dlg = t._gotoDialog = new cls(props);
|
61
|
+
dlg.content.dialog = dlg;
|
62
|
+
}
|
63
|
+
var pageCount = t.grid.pagination.pageCount(),
|
64
|
+
pane = t._gotoDialog.content;
|
65
|
+
pane.pageCountMsgNode.innerHTML = string.substitute(t.gotoDialogPageCount, [pageCount]);
|
66
|
+
pane.pageInputBox.constraints = {
|
67
|
+
fractional: false,
|
68
|
+
min: 1,
|
69
|
+
max: pageCount
|
70
|
+
};
|
71
|
+
t._gotoDialog.show();
|
72
|
+
},
|
73
|
+
|
74
|
+
_onKey: function(evt){
|
75
|
+
if(evt.keyCode == keys.ENTER){
|
76
|
+
this._showGotoDialog();
|
77
|
+
event.stop(evt);
|
78
|
+
}
|
79
|
+
},
|
80
|
+
|
81
|
+
_focusNextBtn: function(){
|
82
|
+
},
|
83
|
+
|
84
|
+
destroy: function(){
|
85
|
+
var t = this;
|
86
|
+
if(t._gotoDialog){
|
87
|
+
t._gotoDialog.destroy();
|
88
|
+
}
|
89
|
+
t.inherited(arguments);
|
90
|
+
}
|
91
|
+
});
|
92
|
+
});
|
@@ -0,0 +1,61 @@
|
|
1
|
+
define([
|
2
|
+
"dojo/_base/declare",
|
3
|
+
"dojo/_base/lang",
|
4
|
+
"dojo/_base/event",
|
5
|
+
"dojo/keys",
|
6
|
+
"dijit/_WidgetBase",
|
7
|
+
"dijit/_TemplatedMixin",
|
8
|
+
"dijit/_WidgetsInTemplateMixin",
|
9
|
+
"dojo/text!../templates/GotoPagePane.html",
|
10
|
+
"dojo/i18n",
|
11
|
+
"dojo/i18n!../nls/PaginationBar"
|
12
|
+
], function(declare, lang, event, keys, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, goToTemplate, i18n){
|
13
|
+
|
14
|
+
/*=====
|
15
|
+
return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
|
16
|
+
});
|
17
|
+
=====*/
|
18
|
+
|
19
|
+
return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
|
20
|
+
templateString: goToTemplate,
|
21
|
+
|
22
|
+
pager: null,
|
23
|
+
|
24
|
+
pagination: null,
|
25
|
+
|
26
|
+
dialog: null,
|
27
|
+
|
28
|
+
postMixInProperties: function(){
|
29
|
+
var t = this;
|
30
|
+
lang.mixin(t, i18n.getLocalization('gridx', 'PaginationBar', t.pagination.grid.lang));
|
31
|
+
t.numberTextBoxClass = t.pager.numberTextBoxClass.prototype.declaredClass;
|
32
|
+
t.buttonClass = t.pager.buttonClass.prototype.declaredClass;
|
33
|
+
t.connect(t.domNode, 'onkeydown', '_onKeyDown');
|
34
|
+
},
|
35
|
+
|
36
|
+
postCreate: function(){
|
37
|
+
this._updateStatus();
|
38
|
+
},
|
39
|
+
|
40
|
+
_updateStatus: function(){
|
41
|
+
var b = this.pageInputBox;
|
42
|
+
this.okBtn.set('disabled', !b.isValid() || b.get('displayedValue') === "");
|
43
|
+
},
|
44
|
+
|
45
|
+
_onOK: function(){
|
46
|
+
this.pagination.gotoPage(this.pageInputBox.get('value') - 1);
|
47
|
+
this.dialog.hide();
|
48
|
+
},
|
49
|
+
|
50
|
+
_onCancel: function(){
|
51
|
+
this.dialog.hide();
|
52
|
+
},
|
53
|
+
|
54
|
+
_onKeyDown: function(evt){
|
55
|
+
if(!this.okBtn.get('disabled') && keys.ENTER == evt.keyCode){
|
56
|
+
this._onOK();
|
57
|
+
event.stop(evt);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
});
|
61
|
+
});
|
@@ -0,0 +1,180 @@
|
|
1
|
+
define([
|
2
|
+
"dojo/_base/declare",
|
3
|
+
"dojo/query",
|
4
|
+
"dojo/_base/event",
|
5
|
+
"dojo/string",
|
6
|
+
"dojo/dom-class",
|
7
|
+
"dojo/keys",
|
8
|
+
"./_LinkPageBase",
|
9
|
+
"dojo/text!../templates/LinkPager.html"
|
10
|
+
], function(declare, query, event, string, domClass, keys, _LinkPageBase, template){
|
11
|
+
|
12
|
+
/*=====
|
13
|
+
return declare(_LinkPageBase, {
|
14
|
+
// summary:
|
15
|
+
// This is a grid bar plugin to switch pages for grid using link buttons.
|
16
|
+
|
17
|
+
// visibleSteppers: Integer
|
18
|
+
// Number of visible page steppers. If invalid, default to 3.
|
19
|
+
visibleSteppers: 3,
|
20
|
+
|
21
|
+
refresh: function(){
|
22
|
+
}
|
23
|
+
});
|
24
|
+
=====*/
|
25
|
+
|
26
|
+
var hasClass = domClass.contains;
|
27
|
+
|
28
|
+
return declare(_LinkPageBase, {
|
29
|
+
templateString: template,
|
30
|
+
|
31
|
+
postMixInProperties: function(){
|
32
|
+
var t = this,
|
33
|
+
c = 'connect',
|
34
|
+
p = t.grid.pagination;
|
35
|
+
t.inherited(arguments);
|
36
|
+
t[c](p, 'onSwitchPage', 'refresh');
|
37
|
+
t[c](p, 'onChangePageSize', 'refresh');
|
38
|
+
t[c](t.grid.model, 'onSizeChange', 'refresh');
|
39
|
+
},
|
40
|
+
|
41
|
+
startup: function(){
|
42
|
+
this.inherited(arguments);
|
43
|
+
//Set initial page after pagination module is ready.
|
44
|
+
//FIXME: this causes 2 times refresh, any better way?
|
45
|
+
this.refresh();
|
46
|
+
},
|
47
|
+
|
48
|
+
//Public-----------------------------------------------------------------------------
|
49
|
+
|
50
|
+
// visibleSteppers: Integer
|
51
|
+
// Number of visible page steppers. If invalid, default to 3.
|
52
|
+
visibleSteppers: 3,
|
53
|
+
|
54
|
+
refresh: function(){
|
55
|
+
var t = this,
|
56
|
+
p = t.grid.pagination,
|
57
|
+
pageCount = p.pageCount(),
|
58
|
+
currentPage = p.currentPage(),
|
59
|
+
count = t.visibleSteppers,
|
60
|
+
sb = [], tabIndex = t._tabIndex,
|
61
|
+
disableNext = false,
|
62
|
+
disablePrev = false,
|
63
|
+
ellipsis = '<span class="gridxPagerStepperEllipsis">…</span>',
|
64
|
+
substitute = string.substitute,
|
65
|
+
stepper = function(page){
|
66
|
+
return ['<span class="gridxPagerStepperBtn gridxPagerPage ',
|
67
|
+
currentPage == page ? 'gridxPagerStepperBtnActive' : '',
|
68
|
+
'" pageindex="', page,
|
69
|
+
'" title="', substitute(t.pageIndexTitle, [page + 1]),
|
70
|
+
'" aria-label="', substitute(t.pageIndexTitle, [page + 1]),
|
71
|
+
'" tabindex="', tabIndex, '">', substitute(t.pageIndex, [page + 1]),
|
72
|
+
'</span>'].join('');
|
73
|
+
};
|
74
|
+
if(typeof count != 'number' || count <= 0){
|
75
|
+
count = 3;
|
76
|
+
}
|
77
|
+
if(pageCount){
|
78
|
+
var firstPage = currentPage - Math.floor((count - 1) / 2),
|
79
|
+
lastPage = firstPage + count - 1;
|
80
|
+
if(firstPage < 1){
|
81
|
+
firstPage = 1;
|
82
|
+
lastPage = count - 1;
|
83
|
+
}else if(pageCount > count && firstPage >= pageCount - count){
|
84
|
+
firstPage = pageCount - count;
|
85
|
+
}
|
86
|
+
if(lastPage >= pageCount - 1){
|
87
|
+
lastPage = pageCount - 2;
|
88
|
+
}
|
89
|
+
sb.push(stepper(0));
|
90
|
+
if(pageCount > 2){
|
91
|
+
if(firstPage > 1){
|
92
|
+
sb.push(ellipsis);
|
93
|
+
}
|
94
|
+
for(var i = firstPage; i <= lastPage; ++i){
|
95
|
+
sb.push(stepper(i));
|
96
|
+
}
|
97
|
+
if(lastPage < pageCount - 2){
|
98
|
+
sb.push(ellipsis);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
if(pageCount > 1){
|
102
|
+
sb.push(stepper(pageCount - 1));
|
103
|
+
}
|
104
|
+
}
|
105
|
+
t._pageBtnContainer.innerHTML = sb.join('');
|
106
|
+
|
107
|
+
if(!currentPage || currentPage === pageCount - 1){
|
108
|
+
disablePrev = !currentPage || pageCount <= 1;
|
109
|
+
disableNext = currentPage || pageCount <= 1;
|
110
|
+
}
|
111
|
+
domClass.toggle(t._nextPageBtn, 'gridxPagerStepperBtnDisable gridxPagerNextPageDisable', disableNext);
|
112
|
+
domClass.toggle(t._prevPageBtn, 'gridxPagerStepperBtnDisable gridxPagerPrevPageDisable', disablePrev);
|
113
|
+
|
114
|
+
t.grid.vLayout.reLayout();
|
115
|
+
if(t.focused){
|
116
|
+
t._focusNextBtn();
|
117
|
+
}
|
118
|
+
},
|
119
|
+
|
120
|
+
//Private----------------------------------------------------------------------------
|
121
|
+
_onHover: function(evt){
|
122
|
+
this._toggleHover(evt, 'gridxPagerStepperBtn', 'gridxPagerPages', 'gridxPagerStepperBtnHover');
|
123
|
+
},
|
124
|
+
|
125
|
+
_prevPage: function(){
|
126
|
+
this._focusPageIndex = 'prev';
|
127
|
+
var p = this.grid.pagination;
|
128
|
+
p.gotoPage(p.currentPage() - 1);
|
129
|
+
},
|
130
|
+
|
131
|
+
_nextPage: function(){
|
132
|
+
this._focusPageIndex = 'next';
|
133
|
+
var p = this.grid.pagination;
|
134
|
+
p.gotoPage(p.currentPage() + 1);
|
135
|
+
},
|
136
|
+
|
137
|
+
_gotoPage: function(evt){
|
138
|
+
var n = this._findNodeByEvent(evt, 'gridxPagerStepperBtn', 'gridxPagerPages');
|
139
|
+
if(n){
|
140
|
+
var page = this._focusPageIndex = n.getAttribute('pageindex');
|
141
|
+
this.grid.pagination.gotoPage(parseInt(page, 10));
|
142
|
+
}
|
143
|
+
},
|
144
|
+
|
145
|
+
//Focus------------------------
|
146
|
+
_onKey: function(evt){
|
147
|
+
var t = this,
|
148
|
+
p = t.grid.pagination,
|
149
|
+
leftKey = t.grid.isLeftToRight() ? keys.LEFT_ARROW : keys.RIGHT_ARROW;
|
150
|
+
if(evt.keyCode == keys.LEFT_ARROW || evt.keyCode == keys.RIGHT_ARROW){
|
151
|
+
event.stop(evt);
|
152
|
+
t._focusNextBtn(true, evt.keyCode == leftKey);
|
153
|
+
}else if(evt.keyCode == keys.ENTER &&
|
154
|
+
hasClass(evt.target, 'gridxPagerStepperBtn') &&
|
155
|
+
!hasClass(evt.target, 'gridxPagerStepperBtnActive') &&
|
156
|
+
!hasClass(evt.target, 'gridxPagerStepperBtnDisable')){
|
157
|
+
event.stop(evt);
|
158
|
+
if(isNaN(parseInt(t._focusPageIndex, 10))){
|
159
|
+
t['_' + t._focusPageIndex + 'Page']();
|
160
|
+
}else{
|
161
|
+
p.gotoPage(parseInt(t._focusPageIndex, 10));
|
162
|
+
}
|
163
|
+
}
|
164
|
+
},
|
165
|
+
|
166
|
+
_focusNextBtn: function(isMove, isLeft){
|
167
|
+
var t = this,
|
168
|
+
c = t.domNode,
|
169
|
+
n = query('[pageindex="' + t._focusPageIndex + '"]', c)[0];
|
170
|
+
n = t._focus(query('.gridxPagerStepperBtn', c), n, isMove, isLeft, function(node){
|
171
|
+
return !hasClass(node, 'gridxPagerStepperBtnActive') &&
|
172
|
+
!hasClass(node, 'gridxPagerStepperBtnDisable');
|
173
|
+
});
|
174
|
+
if(n){
|
175
|
+
t._focusPageIndex = n.getAttribute('pageindex');
|
176
|
+
}
|
177
|
+
return n;
|
178
|
+
}
|
179
|
+
});
|
180
|
+
});
|
@@ -0,0 +1,138 @@
|
|
1
|
+
define([
|
2
|
+
"dojo/_base/declare",
|
3
|
+
"dojo/query",
|
4
|
+
"dojo/_base/event",
|
5
|
+
"dojo/string",
|
6
|
+
"dojo/dom-class",
|
7
|
+
"dojo/keys",
|
8
|
+
"./_LinkPageBase"
|
9
|
+
], function(declare, query, event, string, domClass, keys, _LinkPageBase){
|
10
|
+
|
11
|
+
/*=====
|
12
|
+
return declare(_LinkPageBase, {
|
13
|
+
// summary:
|
14
|
+
// This is a grid bar plugin that can be used to switch page sizes using link buttons.
|
15
|
+
|
16
|
+
// sizeSpearator: String
|
17
|
+
// The string used to separate page sizes.
|
18
|
+
sizeSeparator: '|',
|
19
|
+
|
20
|
+
// sizes: Integer[]
|
21
|
+
// An array of available page sizes. Non-positive number means "all"
|
22
|
+
sizes: [10, 25, 50, 100, 0],
|
23
|
+
|
24
|
+
refresh: function(){
|
25
|
+
// summary:
|
26
|
+
// Refresh the UI using current arguments.
|
27
|
+
}
|
28
|
+
});
|
29
|
+
=====*/
|
30
|
+
|
31
|
+
var hasClass = domClass.contains;
|
32
|
+
|
33
|
+
return declare(_LinkPageBase, {
|
34
|
+
templateString: '<div class="gridxLinkSizer" role="toolbar" aria-label="switch page size" data-dojo-attach-event="onclick: _changePageSize, onmouseover: _onHover, onmouseout: _onHover"></div>',
|
35
|
+
|
36
|
+
postMixInProperties: function(){
|
37
|
+
var t = this;
|
38
|
+
t.inherited(arguments);
|
39
|
+
t.connect(t.grid.pagination, 'onChangePageSize', '_onChange');
|
40
|
+
},
|
41
|
+
|
42
|
+
startup: function(){
|
43
|
+
this.inherited(arguments);
|
44
|
+
//Set initial page size after pagination module is ready.
|
45
|
+
this._onChange(this.grid.pagination.pageSize());
|
46
|
+
},
|
47
|
+
|
48
|
+
|
49
|
+
//Public-----------------------------------------------------------------------------
|
50
|
+
sizeSeparator: '|',
|
51
|
+
|
52
|
+
sizes: [10, 25, 50, 100, 0],
|
53
|
+
|
54
|
+
refresh: function(){
|
55
|
+
var t = this,
|
56
|
+
sb = [],
|
57
|
+
tabIndex = t._tabIndex,
|
58
|
+
separator = t.sizeSeparator,
|
59
|
+
currentSize = t.grid.pagination.pageSize(),
|
60
|
+
substitute = string.substitute;
|
61
|
+
for(var i = 0, len = t.sizes.length; i < len; ++i){
|
62
|
+
var pageSize = t.sizes[i],
|
63
|
+
isAll = false;
|
64
|
+
//pageSize might be invalid inputs, so be strict here.
|
65
|
+
if(!(pageSize > 0)){
|
66
|
+
pageSize = 0;
|
67
|
+
isAll = true;
|
68
|
+
}
|
69
|
+
sb.push('<span class="gridxPagerSizeSwitchBtn ',
|
70
|
+
currentSize === pageSize ? 'gridxPagerSizeSwitchBtnActive' : '',
|
71
|
+
'" pagesize="', pageSize,
|
72
|
+
'" title="', isAll ? t.pageSizeAllTitle : substitute(t.pageSizeTitle, [pageSize]),
|
73
|
+
'" aria-label="', isAll ? t.pageSizeTitle : substitute(t.pageSizeTitle, [pageSize]),
|
74
|
+
'" tabindex="', tabIndex, '">', isAll ? t.pageSizeAll : substitute(t.pageSize, [pageSize]),
|
75
|
+
'</span>',
|
76
|
+
//Separate the "separator, so we can pop the last one.
|
77
|
+
'<span class="gridxPagerSizeSwitchSeparator">' + separator + '</span>');
|
78
|
+
}
|
79
|
+
sb.pop();
|
80
|
+
t.domNode.innerHTML = sb.join('');
|
81
|
+
t.grid.vLayout.reLayout();
|
82
|
+
},
|
83
|
+
|
84
|
+
//Private----------------------------------------------------------------------------
|
85
|
+
_onHover: function(evt){
|
86
|
+
this._toggleHover(evt, 'gridxPagerSizeSwitchBtn', 'gridxLinkSizer', 'gridxPagerSizeSwitchBtnHover');
|
87
|
+
},
|
88
|
+
|
89
|
+
_onChange: function(size, oldSize){
|
90
|
+
var dn = this.domNode,
|
91
|
+
n = query('[pagesize="' + size + '"]', dn)[0];
|
92
|
+
if(n){
|
93
|
+
domClass.add(n, 'gridxPagerSizeSwitchBtnActive');
|
94
|
+
}
|
95
|
+
n = query('[pagesize="' + oldSize + '"]', dn)[0];
|
96
|
+
if(n){
|
97
|
+
domClass.remove(n, 'gridxPagerSizeSwitchBtnActive');
|
98
|
+
}
|
99
|
+
},
|
100
|
+
|
101
|
+
_changePageSize: function(evt){
|
102
|
+
var n = this._findNodeByEvent(evt, 'gridxPagerSizeSwitchBtn', 'gridxLinkSizer');
|
103
|
+
if(n){
|
104
|
+
var pageSize = this._focusPageSize = n.getAttribute('pagesize');
|
105
|
+
this.grid.pagination.setPageSize(parseInt(pageSize, 10));
|
106
|
+
}
|
107
|
+
},
|
108
|
+
|
109
|
+
//Focus------------------------
|
110
|
+
_onKey: function(evt){
|
111
|
+
var t = this,
|
112
|
+
p = t.grid.pagination,
|
113
|
+
leftKey = t.grid.isLeftToRight() ? keys.LEFT_ARROW : keys.RIGHT_ARROW;
|
114
|
+
if(evt.keyCode == keys.LEFT_ARROW || evt.keyCode == keys.RIGHT_ARROW){
|
115
|
+
event.stop(evt);
|
116
|
+
t._focusNextBtn(true, evt.keyCode == leftKey);
|
117
|
+
}else if(evt.keyCode == keys.ENTER &&
|
118
|
+
hasClass(evt.target, 'gridxPagerSizeSwitchBtn') &&
|
119
|
+
!hasClass(evt.target, 'gridxPagerSizeSwitchBtnActive')){
|
120
|
+
event.stop(evt);
|
121
|
+
p.setPageSize(parseInt(t._focusPageSize, 10));
|
122
|
+
}
|
123
|
+
},
|
124
|
+
|
125
|
+
_focusNextBtn: function(isMove, isLeft){
|
126
|
+
var t = this,
|
127
|
+
c = t.domNode,
|
128
|
+
n = query('[pagesize="' + t._focusPageSize + '"]', c)[0];
|
129
|
+
n = t._focus(query('.gridxPagerSizeSwitchBtn', c), n, isMove, isLeft, function(node){
|
130
|
+
return !hasClass(node, 'gridxPagerSizeSwitchBtnActive');
|
131
|
+
});
|
132
|
+
if(n){
|
133
|
+
t._focusPageSize = n.getAttribute('pagesize');
|
134
|
+
}
|
135
|
+
return n;
|
136
|
+
}
|
137
|
+
});
|
138
|
+
});
|