mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-02 11:35:57 +01:00
merge with feature/ui-extensions branch
This commit is contained in:
13
scm-plugins/scm-svn-plugin/package.json
Normal file
13
scm-plugins/scm-svn-plugin/package.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "@scm-manager/scm-svn-plugin",
|
||||
"main": "src/main/js/index.js",
|
||||
"scripts": {
|
||||
"build": "ui-bundler plugin"
|
||||
},
|
||||
"dependencies": {
|
||||
"@scm-manager/ui-extensions": "^0.0.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@scm-manager/ui-bundler": "^0.0.7"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
//@flow
|
||||
import React from 'react';
|
||||
|
||||
// TODO flow types ???
|
||||
type Props = {
|
||||
repository: Object
|
||||
}
|
||||
|
||||
class ProtocolInformation extends React.Component<Props> {
|
||||
|
||||
render() {
|
||||
const { repository } = this.props;
|
||||
if (!repository._links.httpProtocol) {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
<div>
|
||||
<h4>Checkout the repository</h4>
|
||||
<pre>
|
||||
<code>svn checkout {repository._links.httpProtocol.href}</code>
|
||||
</pre>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default ProtocolInformation;
|
||||
16
scm-plugins/scm-svn-plugin/src/main/js/SvnAvatar.js
Normal file
16
scm-plugins/scm-svn-plugin/src/main/js/SvnAvatar.js
Normal file
@@ -0,0 +1,16 @@
|
||||
//@flow
|
||||
import React from 'react';
|
||||
|
||||
type Props = {
|
||||
};
|
||||
|
||||
class SvnAvatar extends React.Component<Props> {
|
||||
|
||||
render() {
|
||||
// TODO we have to use Image from ui-components
|
||||
return <img src="/scm/images/svn-logo.gif" alt="Subversion Logo" />;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default SvnAvatar;
|
||||
10
scm-plugins/scm-svn-plugin/src/main/js/index.js
Normal file
10
scm-plugins/scm-svn-plugin/src/main/js/index.js
Normal file
@@ -0,0 +1,10 @@
|
||||
import { binder } from "@scm-manager/ui-extensions";
|
||||
import ProtocolInformation from './ProtocolInformation';
|
||||
import SvnAvatar from './SvnAvatar';
|
||||
|
||||
const svnPredicate = (props: Object) => {
|
||||
return props.repository && props.repository.type === "svn";
|
||||
};
|
||||
|
||||
binder.bind("repos.repository-details.information", ProtocolInformation, svnPredicate);
|
||||
binder.bind("repos.repository-avatar", SvnAvatar, svnPredicate);
|
||||
@@ -59,9 +59,5 @@
|
||||
<conditions>
|
||||
<min-version>${project.parent.version}</min-version>
|
||||
</conditions>
|
||||
|
||||
<resources>
|
||||
<script>/sonia/scm/svn.config.js</script>
|
||||
</resources>
|
||||
|
||||
</plugin>
|
||||
</plugin>
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
/*
|
||||
* 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.ns("Sonia.svn");
|
||||
|
||||
Sonia.svn.ConfigPanel = Ext.extend(Sonia.config.SimpleConfigForm, {
|
||||
|
||||
// labels
|
||||
titleText: 'Subversion Settings',
|
||||
repositoryDirectoryText: 'Repository directory',
|
||||
noneCompatibility: 'No compatibility modus',
|
||||
pre14CompatibleText: 'Pre 1.4 Compatible',
|
||||
pre15CompatibleText: 'Pre 1.5 Compatible',
|
||||
pre16CompatibleText: 'Pre 1.6 Compatible',
|
||||
pre17CompatibleText: 'Pre 1.7 Compatible',
|
||||
with17CompatibleText: 'With 1.7 Compatible',
|
||||
enableGZipText: 'Enable GZip Encoding',
|
||||
disabledText: 'Disabled',
|
||||
|
||||
// helpTexts
|
||||
repositoryDirectoryHelpText: 'Location of the Suberversion repositories.',
|
||||
disabledHelpText: 'Enable or disable the Subversion plugin.\n\
|
||||
Note you have to reload the page, after changing this value.',
|
||||
enableGZipHelpText: 'Enable GZip encoding for svn responses.',
|
||||
|
||||
initComponent: function(){
|
||||
|
||||
var config = {
|
||||
title : this.titleText,
|
||||
configUrl: restUrl + 'config/repositories/svn',
|
||||
items : [{
|
||||
xtype: 'textfield',
|
||||
name: 'repositoryDirectory',
|
||||
fieldLabel: this.repositoryDirectoryText,
|
||||
helpText: this.repositoryDirectoryHelpText,
|
||||
allowBlank : false
|
||||
},{
|
||||
xtype: 'radiogroup',
|
||||
name: 'compatibility',
|
||||
columns: 1,
|
||||
items: [{
|
||||
boxLabel: this.noneCompatibility,
|
||||
inputValue: 'NONE',
|
||||
name: 'compatibility'
|
||||
},{
|
||||
boxLabel: this.pre14CompatibleText,
|
||||
inputValue: 'PRE14',
|
||||
name: 'compatibility'
|
||||
},{
|
||||
boxLabel: this.pre15CompatibleText,
|
||||
inputValue: 'PRE15',
|
||||
name: 'compatibility'
|
||||
},{
|
||||
boxLabel: this.pre16CompatibleText,
|
||||
inputValue: 'PRE16',
|
||||
name: 'compatibility'
|
||||
},{
|
||||
boxLabel: this.pre17CompatibleText,
|
||||
inputValue: 'PRE17',
|
||||
name: 'compatibility'
|
||||
},{
|
||||
boxLabel: this.with17CompatibleText,
|
||||
inputValue: 'WITH17',
|
||||
name: 'compatibility'
|
||||
}]
|
||||
},{
|
||||
xtype: 'checkbox',
|
||||
name: 'enable-gzip',
|
||||
fieldLabel: this.enableGZipText,
|
||||
inputValue: 'true',
|
||||
helpText: this.enableGZipHelpText
|
||||
},{
|
||||
xtype: 'checkbox',
|
||||
name: 'disabled',
|
||||
fieldLabel: this.disabledText,
|
||||
inputValue: 'true',
|
||||
helpText: this.disabledHelpText
|
||||
}]
|
||||
};
|
||||
|
||||
Ext.apply(this, Ext.apply(this.initialConfig, config));
|
||||
Sonia.svn.ConfigPanel.superclass.initComponent.apply(this, arguments);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Ext.reg("svnConfigPanel", Sonia.svn.ConfigPanel);
|
||||
|
||||
// i18n
|
||||
|
||||
if ( i18n && i18n.country === 'de' ){
|
||||
|
||||
Ext.override(Sonia.svn.ConfigPanel, {
|
||||
|
||||
// labels
|
||||
titleText: 'Subversion Einstellungen',
|
||||
repositoryDirectoryText: 'Repository-Verzeichnis',
|
||||
noneCompatibility: 'Kein Kompatiblitätsmodus',
|
||||
pre14CompatibleText: 'Mit Versionen vor 1.4 kompatibel',
|
||||
pre15CompatibleText: 'Mit Versionen vor 1.5 kompatibel',
|
||||
pre16CompatibleText: 'Mit Versionen vor 1.6 kompatibel',
|
||||
pre17CompatibleText: 'Mit Versionen vor 1.7 kompatibel',
|
||||
with17CompatibleText: 'Mit Version 1.7 kompatibel',
|
||||
disabledText: 'Deaktivieren',
|
||||
|
||||
// helpTexts
|
||||
repositoryDirectoryHelpText: 'Verzeichnis der Subversion-Repositories.',
|
||||
disabledHelpText: 'Aktivieren oder deaktivieren des Subversion Plugins.\n\
|
||||
Die Seite muss neu geladen werden wenn dieser Wert geändert wird.'
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// register information panel
|
||||
|
||||
initCallbacks.push(function(main){
|
||||
main.registerInfoPanel('svn', {
|
||||
checkoutTemplate: 'svn checkout <a href="{0}" target="_blank">{0}</a>',
|
||||
xtype: 'repositoryExtendedInfoPanel'
|
||||
});
|
||||
});
|
||||
|
||||
// register panel
|
||||
|
||||
registerConfigPanel({
|
||||
xtype : 'svnConfigPanel'
|
||||
});
|
||||
|
||||
// register type icon
|
||||
|
||||
Sonia.repository.typeIcons['svn'] = 'resources/images/icons/16x16/subversion.png';
|
||||
BIN
scm-plugins/scm-svn-plugin/src/main/webapp/images/svn-logo.gif
Normal file
BIN
scm-plugins/scm-svn-plugin/src/main/webapp/images/svn-logo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
6640
scm-plugins/scm-svn-plugin/yarn.lock
Normal file
6640
scm-plugins/scm-svn-plugin/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user