⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 harvest-view.js.svn-base

📁 由国外的一个著名的geonetwork修改而来
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
	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 + -