Framework.Modules={};


Framework.Modules.NotificationWidget = {
 title: "Contacts",
 add_title: "Contact title",
 infos: "Test info",
 defaultObj: {status:1, share:0, title:"", moduleName:"Notification", data:{},  isntEditable: true, evalScripts: true,  views:{}},
 path: ["modules/test/test.js?v=10114"],
 icon: "images/monitis/test.gif",
 className:"portletIcon portletIconTest",
 extendClass:"Notification",
 extendFile:"modules/notification.js",
 tableConfig:[{"headerName":"Name","dataType":"string","sortable":true,"hidden":false},
 			{"headerName":"Account","dataType":"string","sortable":true,"hidden":false},
 			{"headerName":"Type","dataType":"string","sortable":true,"hidden":false},
 			{"headerName":"Confirmed","dataType":"string","sortable":true,"hidden":false},
 			{"headerName":"","dataType":"num","sortable":false,"hidden":false},//active flag
 			{"headerName":"IsPortable","dataType":"num","sortable":false,"hidden":true},
 			{"headerName":"CounrtyID","dataType":"num","sortable":false,"hidden":true}
 			],
 moduleParams:{
 	"type":{"label":"Type","defaultValue":"","uiElement":"input","add":true,"required":true}
 },
 serviceURL:Framework.serverPath+"/notification/",
 infoAction:"info",
 dataAction:{"url":"notification"}, 
 addAction:"notification",
  moduleParams:{
		"type":{"label":"Type","valueList":ContactManager.CONTACT_TYPES,"valueType":"list","defaultValue":"","uiElement":"select","add":true,"required":false,"onchange":{"callback":ContactManager.changeContactType,"param":""}},
		"firstName":{"label":"First Name","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true},
		"lastName":{"label":"Last Name","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true},
		"account":{"label":"Account","defaultValue":"","uiElement":"input","dataType":"mail","edit":true,"add":true,"required":true},
		"countryCode":{"label":"Country Code","evalType":"url","valueList":Framework.serverPath+"/notification/0/countrycode","cached":true,"defaultValue":"","uiElement":"select","dataType":"num","add":false,"required":false},
		"portable":{"label":"Portable","defaultValue":false,"uiElement":"checkbox","dataType":"","edit":true,"add":false,"required":false},		
		"imType":{"label":"IM Type","valueList":ContactManager.IM_TYPES,"valueType":"list","defaultValue":"","uiElement":"select","add":false,"required":false},
		"activeFlag":{"label":"Active Flag","defaultValue":"1","uiElement":"input","edit":true,"add":true,"hidden":true,"required":true}
 },
   menu:{
 	add:{name:"Add Contact",tooltip:"",url:"",callback:ContactManager.drawAddForm,childItems:[],width:340,height:250} 
 }
};

Framework.Modules.SnmpWidget = {
	title: "SNMP Table",
 	add_title: "SNMP Table",
	infos: "SNMP info",
	defaultObj: {status:1, share:0, title:"", moduleName:"Snmp", data:{},  isntEditable: false, evalScripts: true,  views:{hasTableView: "loadTable"}},
	path: ["modules/test/test.js?v=10114"],
	icon: "images/monitis/test.gif",
	className:"portletIcon portletIconTest",
	tableConfig:[{"headerName":"Snmp table header","dataType":"num","sortable":true}],
	serviceURL:Framework.serverPath+"/agent/",
	infoAction:"snmptableinfo",
	dataAction:{"url":"snmptableresults"},
	addAction:"snmptable",
	editAction:"snmptable",
	listAction:"snmplist",
	deleteAction:"snmptable",
	extendClass:"Snmp",
	extendFile:"modules/snmp.js?v=4545",
	menu:{
		add:{name:"Add SNMP Table",tooltip:"",url:"",callback:SNMPManager.checkSnmpAgentsExistance,childItems:[],width:300,height:380},
	 	existing:{name:"My SNMP Tables",tooltip:"",url:"",callback:ModuleMyManager.getMyModulesTable,childItems:[],width:400,height:400}
	},
  	moduleParams:{
  		"name":{"label":"Name","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true,"myList":true},
		"agentKey":{"label":"Agent Key","evalType":"function","valueList":"requestUserAgents","defaultValue":"AGENT_KEY","uiElement":"select","dataType":"string","add":true,"required":false,"edit":false},
 		"host":{"label":"Host","uiElement":"input","dataType":"string","defaultValue":"","edit":true,"add":true,"required":true,"myList":true},
		"port":{"label":"Port","defaultValue":"161","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"bulk":{"label":"Bulk","defaultValue":"0","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"version":{"label":"Version","valueList":SNMP_VERSIONS,"valueType":"list","defaultValue":"","uiElement":"select","dataType":"num","edit":false,"add":true,"required":false,"onchange":{"callback":SNMPManager.changeSNMPVersion,"param":"table"}},
		"oid":{"label":"OId","defaultValue":"","uiElement":"input","dataType":"oid","edit":true,"add":true,"required":true,"myList":true},
		"community":{"label":"Community","defaultValue":"public","uiElement":"input","edit":true,"add":true,"required":true},
		//"authProto":{"label":"Auth. Protocol","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":false,"required":true},
		"authProto":{"label":"Auth. Protocol","valueList":AUTH_PROTOS,"valueType":"list","defaultValue":"","uiElement":"select","edit":true,"add":true,"required":true,"active":false},
		"login":{"label":"Login","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true,"active":false},
		"pass":{"label":"Password","defaultValue":"","uiElement":"password","dataType":"string","edit":true,"add":true,"required":true,"active":false},
		//"privProto":{"label":"Private Protocol","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":false,"required":true},
		"privProto":{"label":"Private Protocol","valueList":PRIV_PROTOS,"valueType":"list","defaultValue":"","uiElement":"select","edit":true,"add":true,"required":true,"active":false},
		"privPass":{"label":"Private Password","defaultValue":"","uiElement":"password","dataType":"string","edit":true,"add":true,"required":true,"active":false},
		"timeout":{"label":"Timeout","defaultValue":"5","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"retries":{"label":"Retries","defaultValue":"3","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"view":{"label":"View","valueList":VIEWS,"valueType":"list","defaultValue":"0","uiElement":"select","dataType":"num","edit":false,"add":true,"required":false,"hidden":true}
 	}
}; 


Framework.Modules.SnmpObjectWidget = {
 title: "SNMP Object ",
 add_title: "SNMP Object",
 infos: "SNMP Object info",
 defaultObj: {status:1, share:0, title:"", moduleName:"SnmpObject", data:{},  isntEditable: false, evalScripts: true,  views:{hasTableView: "loadTable",hasLineChartView: "loadLineChart"}},
 path: ["modules/test/test.js?v=10114"],
 icon: "images/monitis/test.gif",
 className:"portletIcon portletIconTest",
 tableConfig:[{"headerName":"Time","dataType":"num","sortable":true,"name":"time"},
 			  {"headerName":"Response Time","dataType":"string","sortable":true,"name":"responseTime"},
 			  {"headerName":"Value","dataType":"num","sortable":true,"name":"value"},
			  {"headerName":"Status","dataType":"string","sortable":true,"name":"status"},
			  {"headerName":"Timestamp","dataType":"num","sortable":true,"name":"time", "hidden":true}
			  ],
charts:[{"type":"line","x-axis":{"name":"time","type":"timestamp"},"y-axis":{"name":["value"]},"statuses":{"name":"status"}}],
 serviceURL:Framework.serverPath+"/agent/",
 infoAction:"snmpobjectinfo",
 dataAction:{"url":"snmpobjectresults","dateType":'last',"interval":'4','unit':'hour'},
 addAction:"snmpobject",
 editAction:"snmpobject",
 listAction:"snmpobjectlist",
 historyEnabled:true,
 refreshInterval:60,
 deleteAction:"item",
 menu:{
 	add:{name:"Add SNMP Monitor",tooltip:"",url:"",callback:SNMPManager.checkSnmpAgentsExistance,childItems:[],width:330,height:380},
 	existing:{name:"My SNMP Monitors",tooltip:"",url:"",callback:ModuleMyManager.getMyModulesTable,childItems:[],width:400,height:400}
 },
  moduleParams:{
  		"name":{"label":"Name","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true,"myList":true},
		"agentKey":{"label":"Agent Key","evalType":"function","valueList":"requestUserAgents","defaultValue":"AGENT_KEY","uiElement":"select","dataType":"string","add":true,"required":false,"edit":false},
 		"host":{"label":"Host","uiElement":"input","dataType":"string","defaultValue":"","edit":true,"add":true,"required":true,"myList":true},
		"port":{"label":"Port","defaultValue":"161","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"version":{"label":"Version","valueList":SNMP_VERSIONS,"valueType":"list","defaultValue":"","uiElement":"select","dataType":"num","edit":false,"add":true,"required":false,"onchange":{"callback":SNMPManager.changeSNMPVersion,"param":"object"}},
		"oid":{"label":"OId","defaultValue":"Click to Browse","uiElement":"input","dataType":"oid","edit":true,"add":true,"required":true,"myList":true,"browse":{"active":true,"callback":"MibTreeManager.init('add',this)"}},
		
		//"mib":{"label":"","defaultValue":"Browse","uiElement":"link","dataType":"mib","edit":true,"add":true,"required":true,"onclick":{"callback":"MibTreeManager.init()"}},
		"community":{"label":"Community","defaultValue":"public","uiElement":"input","edit":true,"add":true,"required":true},
		"authProto":{"label":"Auth. Protocol","valueList":AUTH_PROTOS,"valueType":"list","defaultValue":"","uiElement":"select","edit":true,"add":true,"required":true,"active":false},
		//"authProto":{"label":"Auth. Protocol","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true},
		"login":{"label":"Login","defaultValue":"","uiElement":"input","dataType":"string","edit":true,"add":true,"required":true,"active":false},
		"pass":{"label":"Password","defaultValue":"","uiElement":"password","dataType":"string","edit":true,"add":true,"required":true,"active":false},
		"privProto":{"label":"Private Protocol","valueList":PRIV_PROTOS,"valueType":"list","defaultValue":"","uiElement":"select","edit":true,"add":true,"required":true,"active":false},
		//"privProto":{"label":"Private Protocol","defaultValue":"","uiElement":"input","dataType":"string","edit":false,"add":false,"required":true},
		"privPass":{"label":"Private Password","defaultValue":"","uiElement":"password","dataType":"string","edit":false,"add":true,"required":true,"active":false},
		"timeout":{"label":"Timeout","defaultValue":"5","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"retries":{"label":"Retries","defaultValue":"3","uiElement":"input","dataType":"num","edit":true,"add":true,"required":true},
		"minValue":{"label":"Min Value","defaultValue":"","uiElement":"input","dataType":"num","edit":true,"add":true},
		"maxValue":{"label":"Max Value","defaultValue":"","uiElement":"input","dataType":"num","edit":true,"add":true},
		"view":{"label":"View","valueList":VIEWS,"valueType":"list","defaultValue":"0","uiElement":"select","dataType":"num","edit":false,"add":true,"required":false,"hidden":true}
 }
};



Framework.Modules.NoteWidget = {
 title: "Note title",
 add_title: "Note title",
 infos: "Test info",
 defaultObj: {status:1, share:0, title:"", moduleName:"Notification", data:{},  isntEditable: true, evalScripts: true,  views:{}},
 path: ["modules/note/note.js?v=10114"],
 icon: "images/monitis/test.gif",
 className:"portletIcon portletIconTest",
 extendClass:"Note",
 extendFile:"modules/note.js",
 tableConfig:[],
 serviceURL:Framework.serverPath+"/notes/",
 infoAction:"info",
 dataAction:"note"
};

