You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/07/10 12:39:30 UTC
svn commit: r1359579 [1/2] - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp:
index.html js/archiva/main.js js/archiva/startup.js js/sammy.0.7.1.js
js/templates/archiva/menu.html
Author: olamy
Date: Tue Jul 10 10:39:29 2012
New Revision: 1359579
URL: http://svn.apache.org/viewvc?rev=1359579&view=rev
Log:
[MRM-1639] History navigation
Submitted by Eric Barboni.
Added:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/sammy.0.7.1.js (with props)
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/startup.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/menu.html
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html?rev=1359579&r1=1359578&r2=1359579&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/index.html Tue Jul 10 10:39:29 2012
@@ -32,6 +32,7 @@
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
+ <script type="text/javascript" src="js/sammy.0.7.1.js"></script>
<script type="text/javascript" src="js/require.2.0.2.js"></script>
@@ -102,6 +103,10 @@
require.config({
baseUrl: "js/",
urlArgs: ""+appendJsNoCacheUrl(),
+ shim: {
+ 'sammy':['jquery'],
+ 'archiva.main':["jquery","sammy"]
+ },
paths: {
"i18n":"jquery.i18n.properties-1.0.9",
"jquery": "jquery-1.7.2",
@@ -124,6 +129,7 @@
"jquery.fileupload.ui":"jquery.fileupload-ui-6.6.3",
"tmpl": "tmpl.min",
"prettify": "prettify",
+ "sammy": "sammy.0.7.1",
"jqueryFileTree": "jqueryFileTree-1.0.1",
"redback": "redback/redback",
"redback.roles": "redback/roles",
@@ -145,7 +151,7 @@
- require(['domReady!','jquery','i18n','startup'], function (domReady) {
+ require(['jquery','i18n','sammy','startup','domReady!'], function (domReady) {
loadi18n(function () {
$.ajax({
url: "restServices/archivaUiServices/runtimeInfoService/archivaRuntimeInfo/"+usedLang(),
@@ -155,7 +161,7 @@
window.archivaJavascriptLog=data.javascriptLog;
window.archivaRuntimeInfo=data;
- require(['domReady!','archiva.main'],function (domReady) {
+ require(['sammy','archiva.main','domReady!'],function (domReady) {
$.log("startArchivaApplication");
startArchivaApplication();
$("#loadingDiv").hide();
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js?rev=1359579&r1=1359578&r2=1359579&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/main.js Tue Jul 10 10:39:29 2012
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-define("archiva.main",["jquery","jquery.ui","jquery.cookie","bootstrap","archiva.search",
+define("archiva.main",["jquery","sammy","jquery.ui","jquery.cookie","bootstrap","archiva.search",
"jquery.validate","jquery.json","knockout","redback.templates","archiva.templates",
"redback.roles","redback","archiva.general-admin","archiva.repositories",
"archiva.network-proxies","archiva.proxy-connectors","archiva.repository-groups","archiva.artifacts-management"],
@@ -256,58 +256,105 @@ function() {
});
}
- //------------------------------------//
- // Change UI with appearance settings //
- //------------------------------------//
- updateAppearanceToolBar=function() {
- $.ajax("restServices/archivaServices/archivaAdministrationService/getOrganisationInformation", {
- type: "GET",
- dataType: 'json',
- success: function(data) {
- if(data.url){
- var url = data.url.startsWith("http://") || data.url.startsWith("https://") ? data.url : "http://"+data.url;
- var link="<a href='"+url+"' class='brand'>";
- if (data.logoLocation) {
- link+="<img src='"+data.logoLocation+"' style='max-height: 30px'/>";
- } else if (data.name) {
- link+=data.name;
- } else {
- link+="Archiva";
- }
- link+="</a>";
- $("#organisation-logo").html(link);
+ //------------------------------------//
+ // Change UI with appearance settings //
+ //------------------------------------//
+ updateAppearanceToolBar=function() {
+ $.ajax("restServices/archivaServices/archivaAdministrationService/getOrganisationInformation", {
+ type: "GET",
+ dataType: 'json',
+ success: function(data) {
+ if(data.url){
+ var url = data.url.startsWith("http://") || data.url.startsWith("https://") ? data.url : "http://"+data.url;
+ var link="<a href='"+url+"' class='brand'>";
+ if (data.logoLocation) {
+ link+="<img src='"+data.logoLocation+"' style='max-height: 30px'/>";
+ } else if (data.name) {
+ link+=data.name;
+ } else {
+ link+="Archiva";
}
- if (!data.url && data.name){
- $("#organisation-logo").html("<a href='/' class='brand'>"+data.name+"</a>");
+ link+="</a>";
+ $("#organisation-logo").html(link);
}
- if (!data.url && !data.name){
- $("#organisation-logo").html("<a href='/' class='brand'>Archiva</a>");
- }
- },
- error: function() {
- $("#organisation-logo").html("<a href='/' class='brand'>Archiva</a>");
+ if (!data.url && data.name){
+ $("#organisation-logo").html("<a href='/' class='brand'>"+data.name+"</a>");
}
- });
- }
+ if (!data.url && !data.name){
+ $("#organisation-logo").html("<a href='/' class='brand'>Archiva</a>");
+ }
+ },
+ error: function() {
+ $("#organisation-logo").html("<a href='/' class='brand'>Archiva</a>");
+ }
+ });
+ }
+
+ MainMenuViewModel=function() {
+
+ var self = this;
+ this.artifactMenuItems = [
+ { text : $.i18n.prop('menu.artifacts') , id: null},
+ { text : $.i18n.prop('menu.artifacts.search') , id: "menu-find-search-a", href: "#Search" , func: function(){displaySearch(this)}},
+ { text : $.i18n.prop('menu.artifacts.browse') , id: "menu-find-browse-a", href: "#Browse" , func: function(){displayBrowse(true)}},
+ { text : $.i18n.prop('menu.artifacts.upload') , id: "menu-find-upload-a", href: "#Upload" , redback: "{permissions: ['archiva-upload-repository']}", func: function(){displayUploadArtifact(true)}}
+ ];
+ this.administrationMenuItems = [
+ { text : $.i18n.prop('menu.administration') , id: null},
+ { text : $.i18n.prop('menu.repository.groups') , id: "mmenu-repository-groups-list-a" , href: "#RepositoryGroup" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayRepositoryGroups()}},
+ { text : $.i18n.prop('menu.repositories') , id: "menu-repositories-list-a" , href: "#RepositoryList" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayRepositoriesGrid()}},
+ { text : $.i18n.prop('menu.proxy-connectors') , id: "menu-proxy-connectors-list-a" , href: "#ProxyConnectors" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayProxyConnectors()}},
+ { text : $.i18n.prop('menu.network-proxies') , id: "menu-network-proxies-list-a" , href: "#NetProxies" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayNetworkProxies()}},
+ { text : $.i18n.prop('menu.legacy-artifact-support') , id: "menu-legacy-support-list-a" , href: "#Legacy" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayLegacyArtifactPathSupport()}},
+ { text : $.i18n.prop('menu.repository-scanning') , id: "menu-repository-scanning-list-a" , href: "#ScanningList" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayRepositoryScanning()}},
+ { text : $.i18n.prop('menu.network-configuration') , id: "menu-network-configuration-list-a" , href: "#Network" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayNetworkConfiguration()}},
+ { text : $.i18n.prop('menu.system-status') , id: "menu-system-status-list-a" , href: "#Status" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displaySystemStatus()}},
+ { text : $.i18n.prop('menu.appearance-configuration') , id: "menu-appearance-list-a" , href: "#Appearance" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayAppearanceConfiguration()}},
+ { text : $.i18n.prop('menu.ui-configuration') , id: "menu-ui-configuration-list-a" , href: "#UIConfig" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayUiConfiguration()}}
+ ]
+
+ this.usersMenuItems = [
+ { text : $.i18n.prop('menu.users') , id: null},
+ { text : $.i18n.prop('menu.users.manage') , id: "menu-users-list-a", href: "#Users" , redback: "{permissions: ['archiva-manage-users']}", func: function(){displayUsersGrid()}},
+ { text : $.i18n.prop('menu.users.roles') , id: "menu-roles-list-a", href: "#Roles" , redback: "{permissions: ['archiva-manage-users']}", func: function(){displayRolesGrid()}}
+ ]
+ this.activeMenuId = ko.observable();
+
+ Sammy(function () {
+ this.get('#:folder', function () {
+ self.activeMenuId(this.params.folder);
+ ko.utils.arrayFirst(self.artifactMenuItems.concat(self.usersMenuItems, self.administrationMenuItems), function(p) {
+ if ( p.href == "#"+self.activeMenuId()) {
+ p.func();
+ }
+ });
+
+ });
+ this.get('', function () { this.app.runRoute('get', '#Search') });
+ } ).run();
+
+ }
startArchivaApplication=function(){
$.log("startArchivaApplication");
$('#topbar-menu-container').html($("#topbar_menu_tmpl" ).tmpl());
$('#sidebar-content').html($("#main_menu_tmpl").tmpl());
+ ko.bindingHandlers.redbackP = {
+ init: function(element, valueAccessor) {
+ $(element).attr("redback-permissions",valueAccessor);
+ }
+ };
+ ko.applyBindings(new MainMenuViewModel());
+
hideElementWithKarma();
checkSecurityLinks();
checkCreateAdminLink();
$('#footer-content').html($('#footer-tmpl').tmpl(window.archivaRuntimeInfo));
- // create handlers on menu entries to add class active on click
- var alinkNodes=$("#sidebar-content #main-menu").find("li a");
- alinkNodes.on("click",function(){
- alinkNodes.parent("li").removeClass("active");
- $(this).parent("li").addClass("active");
- })
-
+
+
$( "#quick-search-autocomplete" ).autocomplete({
minLength: 3,
delay: 600,
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/startup.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/startup.js?rev=1359579&r1=1359578&r2=1359579&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/startup.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/startup.js Tue Jul 10 10:39:29 2012
@@ -17,7 +17,7 @@
* under the License.
*/
-define("startup",["jquery","utils"],
+define("startup",["jquery","sammy","utils"],
function() {
// define a container object with various datas