readd sonia.config.js and sonia.plugins

This commit is contained in:
Sebastian Sdorra
2010-11-06 16:56:27 +01:00
parent 71a1c5cd11
commit f415e68266
3 changed files with 147 additions and 1 deletions

View File

@@ -53,7 +53,9 @@
<script type="text/javascript" src="resources/js/sonia.login.js"></script>
<script type="text/javascript" src="resources/js/sonia.rest.js"></script>
<script type="text/javascript" src="resources/js/sonia.repository.js"></script>
<script type="text/javascript" src="resources/js/sonia.config.js"></script>
<script type="text/javascript" src="resources/js/sonia.scm.js"></script>
<script type="text/javascript" src="plugins/sonia.plugin.js"></script>
<title>SCM-WebAPP</title>
</head>

View File

@@ -0,0 +1,142 @@
/* *
* 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
*
*/
// config form panels
var repositoryConfigPanels = [];
function registerConfigPanel(panel){
repositoryConfigPanels.push( panel );
}
Ext.ns("Sonia.config");
Sonia.config.ConfigPanel = Ext.extend(Ext.Panel, {
initComponent: function(){
var config = {
region: 'center',
bodyCssClass: 'x-panel-mc',
trackResetOnLoad: true,
autoScroll: true,
border: false,
frame: false,
collapsible: false,
collapsed: false,
items: repositoryConfigPanels
}
Ext.apply(this, Ext.apply(this.initialConfig, config));
Sonia.config.ConfigPanel.superclass.initComponent.apply(this, arguments);
}
});
Ext.reg("configPanel", Sonia.config.ConfigPanel);
Sonia.config.ConfigForm = Ext.extend(Ext.form.FormPanel, {
title: 'Config Form',
items: null,
onSubmit: null,
getValues: null,
initComponent: function(){
var config = {
title: null,
style: 'margin: 10px',
trackResetOnLoad : true,
autoScroll : true,
border : false,
frame : false,
collapsible : false,
collapsed : false,
layoutConfig : {
labelSeparator : ''
},
items : [{
xtype : 'fieldset',
checkboxToggle : false,
title : this.title,
collapsible : true,
autoHeight : true,
labelWidth : 140,
buttonAlign: 'left',
layoutConfig : {
labelSeparator : ''
},
listeners: {
render: function(){
if ( this.onLoad != null && Ext.isFunction( this.onLoad ) ){
this.onLoad(this.el);
}
},
scope: this
},
items: this.items,
buttons: [{
text: 'Save',
scope: this,
formBind: true,
handler: this.submitForm
},{
text: 'Reset',
scope: this,
handler: function(){
this.getForm().reset();
}
}]
}]
};
Ext.apply(this, Ext.apply(this.initialConfig, config));
Sonia.config.ConfigForm.superclass.initComponent.apply(this, arguments);
},
load: function(values){
this.getForm().loadRecord({
success: true,
data: values
});
},
submitForm: function(){
var form = this.getForm();
if ( this.onSubmit != null && Ext.isFunction( this.onSubmit ) ){
this.onSubmit( form.getValues() );
}
}
});
Ext.reg("configForm", Sonia.config.ConfigForm);

View File

@@ -124,7 +124,9 @@ Ext.onReady(function(){
fn: function(){console.debug( 'General Config' );}
},{
label: 'Repository Types',
fn: function(){console.debug( 'RepositoryType Config' );}
fn: function(){
addTabPanel('repositoryConfig', 'configPanel', 'Repository Config');
}
},{
label: 'Server',
fn: function(){console.debug( 'Server Config' );}