📄 harvest-view.js.svn-base
字号:
var ctrl = $('waf.groups'); //--- discard group if it has already been added var list = $('waf.privileges').getElementsByTagName('TR'); for (var i=1; i<list.length; i++) { //-- 6 is the length of 'group_' var groupID = list[i].getAttribute('id').substring(6); if (id == groupID) return; } //--- retrieve group's name for(var i=0; i<ctrl.options.length; i++) if (ctrl.options[i].value == id) { name = ctrl.options[i].textContent;// ctrl.options[i].style.background = '#D0D0D0'; break; } xmlGroup.setAttribute('name', name); //--- add group's row this.privilTransf.transform(xmlGroup, gn.wrap(this, this.addGroupRowCallBack));}//-------------------------------------------------------------------------------------HarvestView.prototype.addGroupRowCallBack = function(xml){ var html= gn.xmlToString(xml); //--- add the new privilege row to list new Insertion.Bottom('waf.privileges', html);}//=====================================================================================HarvestView.prototype.removeGroupRow = function(groupId){ Element.remove(groupId);}//=====================================================================================HarvestView.prototype.removeAllGroupRows = function(){ gui.removeAllButFirst('waf.privileges');}//=====================================================================================//===//=== Private methods. Type = geonetwork//===//=====================================================================================HarvestView.prototype.setEmpty_GN = function(){ this.removeAllSearch(); $('gn.name') .value = ''; $('gn.host') .value = ''; $('gn.port') .value = ''; $('gn.servlet') .value = ''; $('gn.useAccount').checked = true; $('gn.username') .value = ''; $('gn.password') .value = ''; $('gn.createGroups').checked = true; $('gn.oneRunOnly') .checked = false; $('gn.every.days') .value = '0'; $('gn.every.hours').value = '1'; $('gn.every.mins') .value = '30'; this.clearSiteId(); this.gnShower.update();}//=====================================================================================HarvestView.prototype.setEdit_GN = function(xmlNode){ var xmlSite = xmlNode.getElementsByTagName('site') [0]; var searches = xmlNode.getElementsByTagName('search'); var xmlOptions= xmlNode.getElementsByTagName('options')[0]; $('gn.name').value = xmlNode.getAttribute('name'); this.set(xmlSite, 'host', 'gn.host'); this.set(xmlSite, 'port', 'gn.port'); this.set(xmlSite, 'servlet', 'gn.servlet'); this.set(xmlSite, 'use', 'gn.useAccount'); this.set(xmlSite, 'username', 'gn.username'); this.set(xmlSite, 'password', 'gn.password'); //--- add search entries this.removeAllSearch(); for (var i=0; i<searches.length; i++) this.addSearch(searches[i]); //--- setup other stuff this.set(xmlOptions, 'createGroups','gn.createGroups'); this.set(xmlOptions, 'oneRunOnly', 'gn.oneRunOnly'); var every = new Every(this.find(xmlOptions, 'every')); $('gn.every.days') .value = every.days; $('gn.every.hours').value = every.hours; $('gn.every.mins') .value = every.mins; this.clearSiteId(); this.gnShower.update();}//=====================================================================================HarvestView.prototype.getEdit_GN = function(){ var days = $('gn.every.days') .value; var hours = $('gn.every.hours').value; var mins = $('gn.every.mins') .value; var data = { ID : $('edit.id') .value, TYPE : $('edit.type').value, //--- site NAME : $('gn.name') .value, HOST : $('gn.host') .value, PORT : $('gn.port') .value, SERVLET : $('gn.servlet').value, USE_ACCOUNT: $('gn.useAccount').checked, USERNAME : $('gn.username') .value, PASSWORD : $('gn.password') .value, //--- options EVERY : Every.build(days, hours, mins), CREATE_GROUPS : $('gn.createGroups').checked, ONE_RUN_ONLY : $('gn.oneRunOnly') .checked } //--- retrieve search information var searchData = []; var searchList = $('gn.searches').childNodes; for(var i=0; i<searchList.length; i++) if (searchList[i].nodeType == Node.ELEMENT_NODE) { var divElem = searchList[i]; searchData.push( { TEXT : gn.getElementById(divElem, 'gn.text') .value, TITLE : gn.getElementById(divElem, 'gn.title') .value, ABSTRACT : gn.getElementById(divElem, 'gn.abstract').value, KEYWORDS : gn.getElementById(divElem, 'gn.keywords').value, DIGITAL : gn.getElementById(divElem, 'gn.digital') .checked, HARDCOPY : gn.getElementById(divElem, 'gn.hardcopy').checked, SITE_ID : divElem.getAttribute('id') }); } data.SEARCH_LIST = searchData; return data;}//=====================================================================================HarvestView.prototype.isValid_GN = function(){ if (!this.gnValid.validate()) return false; var days = $('gn.every.days') .value; var hours = $('gn.every.hours').value; var mins = $('gn.every.mins') .value; if (Every.build(days, hours, mins) == 0) { alert(this.xmlLoader.getText('everyZero')); return false; } return true;}//=====================================================================================//===//=== Private methods. Type = webFolder//===//=====================================================================================HarvestView.prototype.setEmpty_WAF = function(){ $('waf.name') .value = ''; $('waf.url') .value = ''; $('waf.useAccount').checked = true; $('waf.username') .value = ''; $('waf.password') .value = ''; $('waf.oneRunOnly').checked = false; $('waf.structure') .checked = false; $('waf.validate') .checked = false; $('waf.every.days') .value = '0'; $('waf.every.hours').value = '1'; $('waf.every.mins') .value = '30'; this.removeAllGroupRows(); this.wafShower.update();}//=====================================================================================HarvestView.prototype.setEdit_WAF = function(xmlNode){ var xmlSite = xmlNode.getElementsByTagName('site') [0]; var xmlPrivil = xmlNode.getElementsByTagName('privileges')[0]; var xmlOptions= xmlNode.getElementsByTagName('options') [0]; $('waf.name').value = xmlNode.getAttribute('name'); this.set(xmlSite, 'url', 'waf.url'); this.set(xmlSite, 'use', 'waf.useAccount'); this.set(xmlSite, 'username', 'waf.username'); this.set(xmlSite, 'password', 'waf.password'); //--- add privileges entries this.removeAllGroupRows(); var privil = xmlPrivil.getElementsByTagName('group'); for (var i=0; i<privil.length; i++) this.addGroupRow(privil[i]); //--- setup other stuff this.set(xmlOptions, 'oneRunOnly', 'waf.oneRunOnly'); this.set(xmlOptions, 'structure', 'waf.structure'); this.set(xmlOptions, 'validate', 'waf.validate'); var every = new Every(this.find(xmlOptions, 'every')); $('waf.every.days') .value = every.days; $('waf.every.hours').value = every.hours; $('waf.every.mins') .value = every.mins; this.wafShower.update();}//=====================================================================================HarvestView.prototype.getEdit_WAF = function(){ var days = $('waf.every.days') .value; var hours = $('waf.every.hours').value; var mins = $('waf.every.mins') .value; var data = { ID : $('edit.id') .value, TYPE : $('edit.type').value, //--- site NAME : $('waf.name').value, URL : $('waf.url') .value, USE_ACCOUNT: $('waf.useAccount').checked, USERNAME : $('waf.username') .value, PASSWORD : $('waf.password') .value, //--- options EVERY : Every.build(days, hours, mins), ONE_RUN_ONLY : $('waf.oneRunOnly').checked, VALIDATE : $('waf.validate') .checked, STRUCTURE : $('waf.structure') .checked } //--- retrieve privileges information data.PRIVILEGES = []; var privilList = $('waf.privileges').getElementsByTagName('TR'); for (var i=1; i<privilList.length; i++) { var trElem = privilList[i]; var inputList = trElem.getElementsByTagName('INPUT'); var groupData = []; //-- 6 is the length of 'group_' var groupID = trElem.getAttribute('id').substring(6); for (var j=0; j<inputList.length; j++) if (inputList[j].checked) groupData.push(inputList[j].name); if (groupData.length != 0) data.PRIVILEGES.push( { GROUP : groupID, OPERATIONS : groupData }); } return data;}//=====================================================================================HarvestView.prototype.isValid_WAF = function(){ if (!this.wafValid.validate()) return false; var days = $('waf.every.days') .value; var hours = $('waf.every.hours').value; var mins = $('waf.every.mins') .value; if (Every.build(days, hours, mins) == 0) { alert(this.xmlLoader.getText('everyZero')); return false; } return true;}//=====================================================================================//===//=== Generic private methods//===//=====================================================================================HarvestView.prototype.set = function(node, name, ctrlId){ var value = this.find(node, name); var ctrl = $(ctrlId); var type = ctrl.getAttribute('type'); if (value == null) throw 'Cannot find node with name : '+ name; if (!ctrl) throw 'Cannot find control with id : '+ ctrlId; if (type == 'checkbox') ctrl.checked = (value == 'true'); else ctrl.value = value;}//=====================================================================================HarvestView.prototype.find = function(node, name){ var array = [ node ]; while (array.length != 0) { node = array.shift(); if (node.nodeName == name) if (node.firstChild) return node.firstChild.nodeValue; else return ''; node = node.firstChild; while (node != null) { if (node.nodeType == Node.ELEMENT_NODE) array.push(node); node = node.nextSibling; } } return null;}//=====================================================================================//===//=== Every//===//=====================================================================================function Every(every){ if (typeof every == 'string') every = parseInt(every); this.mins = every % 60; every -= this.mins; this.hours = every / 60 % 24; this.days = (every - this.hours * 60) / 1440; }//=====================================================================================Every.build = function(days, hours, mins){ if (typeof days == 'string') days = parseInt(days); if (typeof hours == 'string') hours = parseInt(hours); if (typeof mins == 'string') mins = parseInt(mins); return days*1440 + hours*60 + mins;}//=====================================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -