From cef78f16c3a3a54ff9ed8a9dc4080211ed724dff Mon Sep 17 00:00:00 2001 From: "Mark M. Florida" <mflorida@gmail.com> Date: Mon, 2 May 2016 16:12:28 -0500 Subject: [PATCH] Cleanup and tweaks. --- src/main/webapp/page/admin/content.jsp | 68 +------------------ .../data/config/site-admin-sample-new.yaml | 39 +++++++++-- src/main/webapp/page/admin/tabs.js | 3 +- src/main/webapp/scripts/lib/spawn/spawn.js | 4 ++ src/main/webapp/scripts/xnat/spawner.js | 19 +++--- 5 files changed, 49 insertions(+), 84 deletions(-) diff --git a/src/main/webapp/page/admin/content.jsp b/src/main/webapp/page/admin/content.jsp index 687dfd47..fd16510e 100755 --- a/src/main/webapp/page/admin/content.jsp +++ b/src/main/webapp/page/admin/content.jsp @@ -30,55 +30,7 @@ </div> - <script> - (function(){ - - function fixSlashes(str){ - - var HTTP = /^http:\/+/i; - var HTTPS = /^https:\/+/i; - var FTP = /^ftp:\/+/i; - - // initially remove multiple slashes - str = str.replace(/\/+/g, '/'); - - // if there's a protocol specified, - // restore '//' to that - if (HTTP.test(str)) { - str = str.replace(HTTP, 'http://') - } - else if (HTTPS.test(str)) { - str = str.replace(HTTPS, 'https://') - } - else if (FTP.test(str)) { - str = str.replace(FTP, 'ftp://') - } - - return str; - - } - - function setUrl(url){ - return XNAT.url.rootUrl(url); - //return fixSlashes(PAGE.siteRoot + url); - } - - function dataUrl(url){ - return setUrl('/page/admin/data' + url); - } - - var getTabs = $.getJSON({ - url: dataUrl('/config/site-admin-sample-new.json'), - success: function(obj){ - var adminTabs = XNAT.spawner.spawn(obj); - adminTabs.render('#admin-config-tabs', true); - } - }); - - - - })(); - </script> + <script src="${sessionScope.siteRoot}/page/admin/tabs.js"></script> </div> @@ -86,24 +38,6 @@ </div> <!-- /#page-body --> - <div id="page-footer"> - <div class="pad"> - <div id="mylogger"></div> - </div> - </div> - <!-- /#page-footer --> - - <div id="sticky-footer"> - <div> - <div class="pad"> - <a class="xnat-version" target="_blank" href="http://www.xnat.org/" style="">XNAT v1.7</a> - <a id="xnat_power" class="pull-right" target="_blank" href="http://www.xnat.org/" style=""> - <img src="${sessionScope.siteRoot}/images/xnat_power_small.jpg"> - </a> - </div> - </div> - </div> - <div id="xnat-scripts"> <script> // $(window).load(function(){ diff --git a/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml b/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml index e6175fcf..14018dc2 100644 --- a/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml +++ b/src/main/webapp/page/admin/data/config/site-admin-sample-new.yaml @@ -11,24 +11,19 @@ root: projectCustomization: Project Customization advanced: Advanced XNAT Settings contains: tabs - tabs: # this property name is the same as 'contains', so it will be treated like 'contents' - siteSetup: kind: tab name: siteSetup label: Site Setup group: xnatSetup contains: panels # the value for 'contains' can be a custom name for 'contents' - panels: - siteInfo: kind: panel.form name: siteInfo label: Site Information contents: - siteId: kind: input.text name: siteId @@ -38,12 +33,10 @@ root: id: site-id style: display: block - adminEmail: kind: input.email name: adminEmail label: Administrator Email Address - someInfo: #kind: element tag: div.message @@ -52,3 +45,35 @@ root: style: padding: 20px color: red + security: + kind: tab + name: security + label: Security + contents: + generalSecuritySettings: + kind: panel.form + name: generalSecuritySettings + label: General Site Security Settings + contents: + securityChannel: + kind: element + tag: select + name: securityChannel + label: Security Channel + contains: options + options: + http: + tag: option + name: http + value: http + https: + tag: option + name: https + value: https + config: + id: security-channel + title: Security Channel + + + + diff --git a/src/main/webapp/page/admin/tabs.js b/src/main/webapp/page/admin/tabs.js index 73aea0c4..9b437147 100644 --- a/src/main/webapp/page/admin/tabs.js +++ b/src/main/webapp/page/admin/tabs.js @@ -26,7 +26,8 @@ success: function(data){ var json = YAML.parse(data); var adminTabs = XNAT.spawner.spawn(json); - console.log(adminTabs); + adminTabs.render('#admin-config-tabs > .xnat-tab-content'); + XNAT.app.adminTabs = adminTabs; } }); diff --git a/src/main/webapp/scripts/lib/spawn/spawn.js b/src/main/webapp/scripts/lib/spawn/spawn.js index 602acd0d..c0d0f7ff 100644 --- a/src/main/webapp/scripts/lib/spawn/spawn.js +++ b/src/main/webapp/scripts/lib/spawn/spawn.js @@ -331,6 +331,10 @@ // alias for convenience el.html = el.outerHTML; + el.get = function(){ + return el; + }; + return el; } diff --git a/src/main/webapp/scripts/xnat/spawner.js b/src/main/webapp/scripts/xnat/spawner.js index 5c0f1bbf..c75cabcf 100644 --- a/src/main/webapp/scripts/xnat/spawner.js +++ b/src/main/webapp/scripts/xnat/spawner.js @@ -101,7 +101,9 @@ var XNAT = getObject(XNAT); // only spawn elements with defined methods if (isFunction(method)) { - // 'spawnedElement' item will be an HTML element + // 'spawnedElement' item will be an + // object with a .get() method that + // will retrieve the spawned item spawnedElement = method(prop); // add spawnedElement to the master frag @@ -121,6 +123,7 @@ var XNAT = getObject(XNAT); // a property matching the value of either 'contains' or 'kind' if (prop.contains || prop.contents || prop.content || prop.children || prop[prop.kind]) { prop.contents = prop[prop.contains] || prop.contents || prop.content || prop.children || prop[prop.kind]; + // if there's a 'target' property, put contents in there if (spawnedElement.target) { $spawnedElement = $(spawnedElement.target); } @@ -133,13 +136,18 @@ var XNAT = getObject(XNAT); }); _spawn.spawned = frag; + _spawn.element = frag; - _spawn.children = $frag.contents(); + _spawn.children = frag.children; _spawn.get = function(){ return frag; }; + + _spawn.getContents = function(){ + return $frag.contents(); + }; _spawn.render = function(element, empty){ var $el = $$(element); @@ -153,13 +161,6 @@ var XNAT = getObject(XNAT); _spawn.foo = '(spawn.foo)'; - // console.log('spawned:') - // console.log(frag); - console.log('children:'); - console.log(_spawn.children); - // console.log('get():') - // console.log(_spawn.get()); - return _spawn; }; -- GitLab