diff --git a/Readme.md b/Readme.md index 428e35e..8a6b437 100644 --- a/Readme.md +++ b/Readme.md @@ -1,11 +1,17 @@ [bbGrid](http://direct-fuel-injection.github.com/bbGrid/) ==================== -That's an extendable grid system (jqGrid like) developed on Backbone.js, Twitter Bootstrap and jQuery frameworks. + +[](https://gitter.im/direct-fuel-injection/bbGrid?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +That's an extendable grid system (jqGrid like) developed on Backbone.js, Bootstrap and jQuery frameworks. #### Requirements - Backbone.js > 1.0.0 -- Twitter Bootstrap v2.2.1 +- Bootstrap v3 - jQuery v1.8.3 +#### Install + +`bower install bbGrid --save` + Include bbGrid.js and bbGrid.css into your project. [Documentation and examples.](http://direct-fuel-injection.github.com/bbGrid/) diff --git a/bbGrid.css b/bbGrid.css index 5b63fb7..6aa820c 100644 --- a/bbGrid.css +++ b/bbGrid.css @@ -1,4 +1,4 @@ -/*! bbGrid.css 0.6.4 +/*! bbGrid.css 0.9.1 * * (c) 2012-2013 Minin Alexey, direct-fuel-injection. * bbGrid may be freely distributed under the MIT license. @@ -9,44 +9,60 @@ .bbGrid-grid td{ cursor: default; overflow: hidden; white-space:nowrap; line-height: 1; vertical-align: middle} .bbGrid-grid tr{height:2.4em;} .bbGrid-grid .bbGrid-grid-head{font-size: 12px; cursor: pointer} -.bbGrid-grid .bbGrid-grid-head th, .bbGrid-grid .bbGrid-grid-head td{overflow: hidden; white-space: normal; background-color: #F5F5F5} +.bbGrid-grid .bbGrid-grid-head th, .bbGrid-grid .bbGrid-grid-head td{box-sizing: content-box; overflow: hidden; white-space: normal; border-bottom: 0px; background-color: #f8f8f8} .bbGrid-grid .bbGrid-grid-head i{ float: right} -.bbGrid-grid .bbGrid-grid-head .bbGrid-filter-bar input,.bbGrid-grid .bbGrid-grid-head .bbGrid-filter-bar select{display: block;padding: 1px 6px;box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; margin: 0px; font-size: 12px; width:100%; height: 22px} +.bbGrid-grid .bbGrid-grid-head .bbGrid-filter-bar input,.bbGrid-grid .bbGrid-grid-head .bbGrid-filter-bar select{display: block;padding: 1px 6px;box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; margin: 0px; font-size: 12px; width:100%; height: 24px} .bbGrid-grid .bbGrid-grid-head .bbGrid-filter-bar select{height: 24px;padding:2px 2px;} .bbGrid-grid .bbGrid-actions-cell { padding: 2px 5px; text-align: center} .bbGrid-grid .bbGrid-subgrid-control { padding: 2px 5px; text-align: center} +.bbGrid-row .bbGrid-subgrid-control {padding: 5px; font-size: 12px} .bbGrid-grid .bbGrid-multiselect-control input{margin: 0} .bbGrid-container {width: auto} .bbGrid-container .bbGrid-loading{ margin: 3px 0 2px 40%;width: 20% } .bbGrid-container .bbGrid-loading .bbGrid-loading-progress{ width: 100%; line-height: 20px} .bbGrid-container .table{ margin: 0 } -.bbGrid-container .bbGrid-pager-container{height: 26px; width: 380px; left: 50%; margin-left:-190px; position: absolute} -.bbGrid-container .bbGrid-pager-container-norowslist{width: 200px; margin-left:-100px} -.bbGrid-container .bbGrid-grid-nav{ margin: 0; background-color: #F5F5F5; background-repeat: repeat-x; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #A2A2A2; border-image: none; border-radius: 4px 4px 4px 4px; border-style: solid; border-width: 1px; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05); color: #333333; padding: 0 0 1px 1px; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); vertical-align: middle; position: relative; height: 28px} +.bbGrid-container .bbGrid-pager-container{height: 26px; width: 410px; left: 50%; margin-left:-190px; margin-top: 2px; position: absolute} +.bbGrid-container .bbGrid-pager-container-norowslist{width: 205px; margin-left:-100px} +.bbGrid-container .bbGrid-grid-nav{ margin: 0; background-color: #f8f8f8; background-repeat: repeat-x; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) #A2A2A2; border-image: none; border-radius: 4px 4px 4px 4px; border-style: solid; border-width: 1px; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05); color: #333333; padding: 0 0 1px 1px; text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); vertical-align: middle; position: relative; height: 30px} .bbGrid-container .bbGrid-subgrid-row:hover{ background-color: transparent} -.bbGrid-container .bbGrid-pager{ margin: 2px 0 0; cursor: pointer} -.bbGrid-container .bbGrid-pager .nav{ margin-bottom: 0; padding-bottom: 0} -.bbGrid-container .bbGrid-pager i{ margin: 0} -.bbGrid-container .bbGrid-pager a{margin: 0 1px; padding: 4px; border: 1px solid #CCCCCC} +.bbGrid-container .bbGrid-pager {width: 220px; margin: 0; height: 24px;} +.bbGrid-container .bbGrid-pager .nav{ margin-bottom: 0; padding-bottom: 0; width: 220px} +.bbGrid-container .bbGrid-pager i{margin: 0; top: -1px;} +.bbGrid-container .bbGrid-pager a{margin: 0 1px; padding: 4px; border: 1px solid #CCCCCC; height: 24px; cursor: pointer; color: #000} .bbGrid-container .bbGrid-pager a:hover{background-color: #FAF2CC;} .bbGrid-container .bbGrid-pager a:active{box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) inset, 0 1px 2px rgba(0, 0, 0, 0.05);} -.bbGrid-container .bbGrid-pager li.active a{ background-color:#F5F5F5} +.bbGrid-container .bbGrid-pager li.active a{ background-color:#f8f8f8} .bbGrid-container .bbGrid-pager li.active a:active{box-shadow: none;} -.bbGrid-container .bbGrid-page-counter {font-size: 11px; padding: 2px 0px 0px 4px} -.bbGrid-container .bbGrid-page-counter-right {font-size: 11px; padding: 2px 2px 0px 4px} -.bbGrid-container .bbGrid-grid-nav .bbGrid-page-input{float: left; padding: 1px; margin: 0 0 0 1px; width: 30px; font-size: 11px;text-align: center } -.bbGrid-navBar-buttonsContainer {margin: 2px 0 0} +.bbGrid-container .bbGrid-page-counter {font-size: 11px; padding: 4px 0px 0px 4px} +.bbGrid-container .bbGrid-page-counter-right {font-size: 11px; padding: 4px 2px 0px 4px} +.bbGrid-container .bbGrid-grid-nav .bbGrid-page-input{float: left; padding: 1px; margin: 0 0 0 1px; width: 30px; font-size: 11px;text-align: center; height: 24px } +.bbGrid-grid-nav .bbGrid-navBar-buttonsContainer {margin: 3px 0px 0; padding-left: 2px} .bbGrid-navBar-buttonsContainer button{margin-right: 1px} -.bbGrid-container .bbGrid-grid-nav .bbGrid-pager-rowlist {width: 56px; margin-top: 2px; margin-left:2px; padding: 3px 2px; height: 24px; font-size: 11px} +.bbGrid-container .bbGrid-grid-nav .bbGrid-pager-rowlist {width: 56px; margin-left:2px; padding: 3px 2px; height: 24px; font-size: 11px} .bbGrid-pager-container .bbGrid-pager ul li {list-style:none;padding-left: 0;} -.bbGrid-container .bbGrid-pager-rowlist-label {line-height: 20px; font-size: 11px; margin-top:2px; padding: 2px 0px 0px 4px} -.bbGrid-grid tbody tr.bbGrid-row:hover td{background-color:#f5f5f5;} +.bbGrid-container .bbGrid-pager-rowlist-label {line-height: 20px; font-size: 11px; margin-top:2px; padding: 0px} +.bbGrid-grid tbody tr.bbGrid-row:hover td{background-color:#f8f8f8;} .bbGrid-grid tbody tr.success:hover td{background-color:#d0e9c6;} .bbGrid-grid tbody tr.error:hover td{background-color:#ebcccc;} .bbGrid-grid tbody tr.warning:hover td{background-color:#faf2cc;} .bbGrid-grid tbody tr.info:hover td{background-color:#c4e3f3;} .bbGrid-grid caption{font-size: 1.4em;font-weight: bold;line-height: 2em} -.bbGrid-search-bar {padding: 2px} -.bbGrid-search-bar input, .bbGrid-search-bar button{padding: 1px 6px;} +.bbGrid-search-bar {padding: 2px; max-width: 310px} +.bbGrid-search-bar input, .bbGrid-search-bar button{padding: 1px 6px; float: right!important} +.bbGrid-search-bar button{overflow: hidden; max-width: 80px} .bbGrid-search-bar input{ font-size: 12px} .bbGrid-search-bar li > a{font-size: 12px; padding-top: 1px; padding-bottom: 1px} +.bbGrid-rshandle-container {position: relative;} +.bbGrid-rshandle {position: absolute;width: 7px;cursor: ew-resize;margin-left: -3px;z-index: 2;} +.bbGrid-table-resizing {cursor: ew-resize;} +.bbGrid-table-resizing thead, .bbGrid-table-resizing thead > th, .bbGrid-table-resizing thead > th > a {cursor: ew-resize;} +.table-curved {border-collapse: separate;} +.table-curved {border: solid #ccc 1px;border-radius: 4px;border-left:0px;} +.table-curved td, .table-curved th {border-left: 1px solid #ccc;border-top: 1px solid #ccc;} +.table-curved th {border-top: none;} +.table-curved th:first-child {border-radius: 4px 0 0 0;} +.table-curved th:last-child {border-radius: 0 4px 0 0;} +.table-curved th:only-child{border-radius: 4px 4px 0 0;} +.table-curved tr:last-child td:first-child {border-radius: 0 0 0 4px;} +.table-curved tr:last-child td:last-child {border-radius: 0 0 4px 0;} +.table-curved thead tr:last-child td:first-child {border-radius: 0;} diff --git a/bbGrid.js b/bbGrid.js index 6e10f0e..54d7ccc 100644 --- a/bbGrid.js +++ b/bbGrid.js @@ -1,4 +1,4 @@ -// bbGrid.js 0.8.5 +// bbGrid.js 0.9.1 // (c) 2012-2013 Minin Alexey, direct-fuel-injection. // bbGrid may be freely distributed under the MIT license. @@ -18,6 +18,15 @@ this.lang = lang; } } + }, + parseWidth = function (node) { + return parseFloat(node.style.width.replace('%', '')); + }, + pointerX = function (e) { + if (e.type.indexOf('touch') === 0) { + return (e.originalEvent.touches[0] || e.originalEvent.changedTouches[0]).pageX; + } + return e.pageX; }; bbGrid.Dict = { @@ -41,11 +50,11 @@ } }; - viewOptions = ['autofetch', 'buttons', 'actions', 'colModel', 'container', - 'enableSearch', 'multiselect', 'rows', 'rowList', 'selectedRows', + viewOptions = ['autofetch', 'buttons', 'actions', 'colModel', 'container', 'loadDynamic', + 'enableSearch', 'multiselect', 'rows', 'rowList', 'selectedRows', 'caption', 'subgrid', 'subgridControl', 'subgridAccordion', 'onRowClick', 'onRowDblClick', 'onReady', - 'onBeforeRender', 'onBeforeCollectionRequest', 'onRowExpanded', - 'onRowCollapsed', 'events', 'searchList']; + 'onBeforeRender', 'onBeforeCollectionRequest', 'onRowExpanded', 'escape', + 'onRowCollapsed', 'events', 'searchList', 'sortSequence', 'resizable', 'resizeFromBody']; bbGrid.RowView = function (options) { this.events = { @@ -69,11 +78,14 @@