diff --git a/scm-webapp/src/main/webapp/index.html b/scm-webapp/src/main/webapp/index.html index 6afef699d3..cfa56d08d8 100644 --- a/scm-webapp/src/main/webapp/index.html +++ b/scm-webapp/src/main/webapp/index.html @@ -61,7 +61,12 @@ - + + + + + + diff --git a/scm-webapp/src/main/webapp/resources/js/override/ext.data.store.js b/scm-webapp/src/main/webapp/resources/js/override/ext.data.store.js new file mode 100644 index 0000000000..0e6806df4f --- /dev/null +++ b/scm-webapp/src/main/webapp/resources/js/override/ext.data.store.js @@ -0,0 +1,56 @@ +/* * + * Copyright (c) 2010, Sebastian Sdorra + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of SCM-Manager; nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * http://bitbucket.org/sdorra/scm-manager + * + */ + +Ext.override(Ext.data.Store,{ + + addField: function(field){ + field = new Ext.data.Field(field); + this.recordType.prototype.fields.replace(field); + if(typeof field.defaultValue != 'undefined'){ + this.each(function(r){ + if(typeof r.data[field.name] == 'undefined'){ + r.data[field.name] = field.defaultValue; + } + }); + } + }, + + removeField: function(name){ + this.recordType.prototype.fields.removeKey(name); + this.each(function(r){ + delete r.data[name]; + if(r.modified){ + delete r.modified[name]; + } + }); + } + +}); diff --git a/scm-webapp/src/main/webapp/resources/js/sonia.override.js b/scm-webapp/src/main/webapp/resources/js/override/ext.form.field.js similarity index 60% rename from scm-webapp/src/main/webapp/resources/js/sonia.override.js rename to scm-webapp/src/main/webapp/resources/js/override/ext.form.field.js index 9c4272c9f8..59a5bf5108 100644 --- a/scm-webapp/src/main/webapp/resources/js/sonia.override.js +++ b/scm-webapp/src/main/webapp/resources/js/override/ext.form.field.js @@ -29,6 +29,7 @@ * */ + Ext.form.Field.prototype.afterRenderExt = Ext.form.Field.prototype.afterRender; Ext.override(Ext.form.Field, { @@ -82,86 +83,3 @@ Ext.override(Ext.form.Field, { } }); - - -Ext.override(Ext.data.Store,{ - - addField: function(field){ - field = new Ext.data.Field(field); - this.recordType.prototype.fields.replace(field); - if(typeof field.defaultValue != 'undefined'){ - this.each(function(r){ - if(typeof r.data[field.name] == 'undefined'){ - r.data[field.name] = field.defaultValue; - } - }); - } - }, - - removeField: function(name){ - this.recordType.prototype.fields.removeKey(name); - this.each(function(r){ - delete r.data[name]; - if(r.modified){ - delete r.modified[name]; - } - }); - } - -}); - -Ext.override(Ext.grid.ColumnModel,{ - - addColumn: function(column, colIndex){ - if(typeof column == 'string'){ - column = { - header: column, - dataIndex: column - }; - } - var config = this.config; - this.config = []; - if(typeof colIndex == 'number'){ - config.splice(colIndex, 0, column); - }else{ - colIndex = config.push(column); - } - this.setConfig(config); - return colIndex; - }, - - removeColumn: function(colIndex){ - var config = this.config; - this.config = [config[colIndex]]; - config.splice(colIndex, 1); - this.setConfig(config); - } - -}); - -Ext.override(Ext.grid.GridPanel,{ - - addColumn: function(field, column, colIndex){ - if(!column){ - if(field.dataIndex){ - column = field; - field = field.dataIndex; - } else{ - column = field.name || field; - } - } - this.store.addField(field); - return this.colModel.addColumn(column, colIndex); - }, - - removeColumn: function(name, colIndex){ - this.store.removeField(name); - if(typeof colIndex != 'number'){ - colIndex = this.colModel.findColumnIndex(name); - } - if(colIndex >= 0){ - this.colModel.removeColumn(colIndex); - } - } - -}); \ No newline at end of file diff --git a/scm-webapp/src/main/webapp/resources/js/override/ext.grid.columnmodel.js b/scm-webapp/src/main/webapp/resources/js/override/ext.grid.columnmodel.js new file mode 100644 index 0000000000..feb2e49e0f --- /dev/null +++ b/scm-webapp/src/main/webapp/resources/js/override/ext.grid.columnmodel.js @@ -0,0 +1,59 @@ +/* * + * Copyright (c) 2010, Sebastian Sdorra + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of SCM-Manager; nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * http://bitbucket.org/sdorra/scm-manager + * + */ + +Ext.override(Ext.grid.ColumnModel,{ + + addColumn: function(column, colIndex){ + if(typeof column == 'string'){ + column = { + header: column, + dataIndex: column + }; + } + var config = this.config; + this.config = []; + if(typeof colIndex == 'number'){ + config.splice(colIndex, 0, column); + }else{ + colIndex = config.push(column); + } + this.setConfig(config); + return colIndex; + }, + + removeColumn: function(colIndex){ + var config = this.config; + this.config = [config[colIndex]]; + config.splice(colIndex, 1); + this.setConfig(config); + } + +}); diff --git a/scm-webapp/src/main/webapp/resources/js/override/ext.grid.gridpanel.js b/scm-webapp/src/main/webapp/resources/js/override/ext.grid.gridpanel.js new file mode 100644 index 0000000000..80a6d1d17a --- /dev/null +++ b/scm-webapp/src/main/webapp/resources/js/override/ext.grid.gridpanel.js @@ -0,0 +1,58 @@ +/* * + * Copyright (c) 2010, Sebastian Sdorra + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of SCM-Manager; nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * http://bitbucket.org/sdorra/scm-manager + * + */ + + +Ext.override(Ext.grid.GridPanel,{ + + addColumn: function(field, column, colIndex){ + if(!column){ + if(field.dataIndex){ + column = field; + field = field.dataIndex; + } else{ + column = field.name || field; + } + } + this.store.addField(field); + return this.colModel.addColumn(column, colIndex); + }, + + removeColumn: function(name, colIndex){ + this.store.removeField(name); + if(typeof colIndex != 'number'){ + colIndex = this.colModel.findColumnIndex(name); + } + if(colIndex >= 0){ + this.colModel.removeColumn(colIndex); + } + } + +});