var mygroup = new Ext.WindowGroup();
var mygroup1 = new Ext.WindowGroup();
var mygroup2 = new Ext.WindowGroup();
var ddrow;
var cm;
var store;
var count;
var mytb= new Ext.Toolbar();
var mytb1=new Ext.Toolbar();;
Ext.BLANK_IMAGE_URL = '../extjs/resources/images/default/s.gif';
var MyRecord=Ext.data.Record.create
{
[
{name:'name',type:'string'},
{name:'email',type:'string'},
{name:'country',type:'string'},
{name:'company',type:'string'},
{name:'phone',type:'string'},
{name:'fax',type:'string'},
{name:'mobile',type:'string'},
{name:'group',type:'string'},
{name:'notes',type:'string'}
]
};
var Record = Ext.data.Record.create([
{name: 'name', type: 'string'},
{name: 'email', type: 'string'},
{name: 'country', type: 'string'},
{name: 'company',type: 'string'},
{name: 'phone', type: 'string'},
{name: 'fax', type: 'string'},
{name: 'mobile',type: 'string'},
{name: 'group',type: 'string'},
{name: 'notes',type: 'string'}
]);
var rid;
var grid;
var form;
var uploadform;
var data =new Array();
var allcountry="Andorra,United Arab Emirates,Afghanistan,Antigua and Barbuda,Anguilla,Albania,Armenia,Netherlands Antilles,Angola,Argentina,American Samoa,Austria,Australia,Aruba,Azerbaijan,Bosnia Hercegovina,Barbados,Bangladesh,Belgium,Burkina Faso,Bulgaria,Bahrain,Burundi,Benin,Brunei Darussalam,Bolivia,Brazil,Bahamas,Bhutan,Botswana,Belarus,Belize,Canada,Cocos Islands,Central African Republic,Congo,Switzerland,Ivory Coast,Cook Islands,Chile,Cameroon,China,Colombia,Equatorial Guinea,Costa Rica,Cuba,Christmas Island,Cyprus,Czech Republic,Germany,Djibouti,Denmark,Dominica,Dominican Republic,Algeria,Ecuador,Estonia,Egypt,Western Sahara,Spain,Ethiopia,El Salvador,Finland,Fiji,Falkland Islands,Micronesia,Faroe Islands,France,Gobon,Great Britain (UK),Grenada,Georgia,French Guiana,Ghana,Gibraltar,Greenland,Gambia,Guynea,Guadeloupe,Greece,Guatemala,Guam,Guinea-Bissau,Guyana,Honduras,Croatia,Haiti,Hungary,Indonesia,Ireland,Israel,India,British Indian Ocean Territory,Iraq,Iran,Iceland,Italy ,Jamaica,Jordan,Japan,Kenya,Kyrgyzstan,Cambodia,Kiribati,Comoros,Korea-North ,Korea-South ,Kuwait ,Cayman Islands,Kazakhstan ,Lao People's Republic,Lebanon,St.Lucia,Liechtenstein,Sri Lanka ,Liberia ,Lesotho,Lithuania ,Luxembourg,Latvia,Libya,Morocco,Monaco,Moldova,Madagascar,Marshall Islands ,Mali,Myanmar,Mongolia ,Northern Mariana Islands,Martinique ,Mauritania ,Montserrat,Malta ,Maldives ,Malawi ,Mexico,Malaysia ,Mozambique,Namibia ,New Caledonia,Niger,Norfolk Island,Nigeria,Nicaragua,Netherlands,Norway,Nepal,Nauru,Niue,New Zealand ,Oman ,Panama ,Peru ,French Polynesia ,Papua New Guinea,Philippines,Pakistan,Poland,Pitcairn Island,Puerto Rico,Portugal,Palau,Paraguay,Qatar,Reunion Island,Romania,Russian Federation,Rwanda,Saudi Arabia,Solomon Islands,Seychelles,Sudan,Sweden,Singapore,St.Helena,Slovakia,Sierra Leone,San Marino,Senegal,Somalia,Suriname,Syrian Arab Republic,Swaziland,Chad,French Southern Territories,Togo,Thailand,Tajikistan,tokelau,Turkmenistan,Tunisia,Tonga,East Timor,Turkey,Tuvalu,Tanzania,Ukrainian SSR,Uganda ,United Kingdom,United States,Uruguay ,Vatican City State,Venezuela,Virgin Islands,Vietnam,Vanuatu,Samoa,Yemen,Yugoslavia,South Africa,Zambia,Zaire,Zimbabwe";
var countrys=allcountry.split(',');
for(var i=0;i<countrys.length;i++)
{
data[i]=[countrys[i],countrys[i]];
}
Ext.onReady(function()
{
var GroupsDt =Web_Memo.ReturnGroup().value;
var tb = new Ext.Toolbar();
tb.render('menu');
//add menu
var menu1_1= new Ext.menu.Menu();
if(GroupsDt.Rows.length!=0)
{
for(var i=0;i<GroupsDt.Rows.length;i++)
{
var mygroupid=GroupsDt.Rows[i].groupid;
var mygroupname=GroupsDt.Rows[i].GroupName;
menu1_1.add(
new Ext.menu.CheckItem({
text:"<tr><td align=/"left/"><span style=/"font-size:10px;/" οnclick=/"showTree('"+mygroupid+"','"+mygroupname+"')/">"+mygroupname+"</span></td></tr>",
checked:false,
group:'group1_1',
handler:function(item,checked)
{
//debugger
//showTree(mygroupid,mygroupname);
}
})
);
}
}
else
{
menu1_1.add(
new Ext.menu.CheckItem({
text:'<span style="color:Gray;font-style:italic;">No Group.</span>',
checked:false,
group:'group6',
handler:function(item,checked)
{
}
})
)
}
//
var menu1 = new Ext.menu.Menu();
menu1.add(
new Ext.menu.CheckItem({
text:"Input contact info",
checked:false,
group:'group1',
handler:function(item,checked)
{
inputInfo();
}
})
);
menu1.add(
new Ext.menu.CheckItem({
text:"Drag and drop from groups",
checked:false,
group:'group1',
menu:menu1_1,
handler:function(item,checked)
{
}
})
);
//sort by menu
var menu2= new Ext.menu.Menu();
menu2.add(
new Ext.menu.CheckItem({
text:"Company",
checked:false,
group:'group2',
handler:function(item,checked)
{
Groupby('company');
}
}),
new Ext.menu.CheckItem({
text:"Country",
checked:false,
group:'group2',
handler:function(item,checked)
{
Groupby('country');
}
}),
new Ext.menu.CheckItem({
text:"Group",
checked:false,
group:'group2',
handler:function(item,checked)
{
Groupby('group');
}
})
)
// Impot menu
var menu3= new Ext.menu.Menu();
menu3.add(
new Ext.menu.CheckItem({
text:"Download Template",
checked:false,
group:'group3',
handler:function(item,checked)
{
window.open('../Templates/Template.xlsx');
}
}),
new Ext.menu.CheckItem({
text:"Upload Excel worksheet",
checked:false,
group:'group3',
handler:function(item,checked)
{
UploadExcel();
}
}),
new Ext.menu.CheckItem({
text:"<span style=/"color:Gray;/">Upload Outlook file</span>",
checked:false,
group:'group3',
handler:function(item,checked)
{
}
})
)
//orgiginal view
var menu4= new Ext.menu.Menu();
//
menu4.add(
new Ext.menu.CheckItem({
text:"Save",
checked:true,
group:'group4',
handler:function(item,checked)
{
SaveUpdates();
}
})
);
menu4.add(
new Ext.menu.CheckItem({
text:"Return to original view",
checked:false,
group:'group4',
handler:function(item,checked)
{
reload();
}
})
);
//
tb.add(
{text:'Add',menu:menu1},
{text:'Group by',menu:menu2},
{text:'Import',menu:menu3},
{text:'Action',menu:menu4}
)
tb.addClass("toolbarclass");
//grid
cm = new Ext.grid.ColumnModel([
{header:'Name',dataIndex:'name',width:200,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank:false
})),clicksToEdit:2},
{header:'Email',dataIndex:'email',width:200,sortable:true},
{header:'Country',dataIndex:'country',width:200,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Company',dataIndex:'company',width:200,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Phone',dataIndex:'phone',width:200,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Fax',dataIndex:'fax',width:200,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Mobile',dataIndex:'mobile',width:200,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
// {header:'Address',dataIndex:'address',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
// allowBlank: true
// })),clicksToEdit:2},
{header:'Group',dataIndex:'group',width:200,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Notes',dataIndex:'notes',width:200,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2}
]);
store = new Ext.data.Store({
//proxy: new Ext.data.HttpProxy({url:'MemoData.aspx'}),
proxy: document.getElementById("ctl00_ContentPlaceHolder1_reflag").value==""?(new Ext.data.HttpProxy({url:'MemoData.aspx'})):(new Ext.data.HttpProxy({url:'MemoData.aspx?flag='+document.getElementById("ctl00_ContentPlaceHolder1_reflag").value})),
reader: new Ext.data.JsonReader({totalProperty:'totalProperty',root:'root'
}, [
{name:'name'},
{name:'email'},
{name:'country'},
{name:'company'},
{name:'phone'},
{name:'fax'},
{name:'mobile'},
//{name:'address'},
{name:'group'},
{name:'notes'}
])
});
//
grid = new Ext.grid.EditorGridPanel({
loadMask:true,
autoHeight: true,
//autoWidth:false,
//autoScroll:true,
stripeRows:true,
renderTo: 'grid',
//enableDragDrop:true,
store:store,
cm: cm,
viewConfig:{
forceFit:true
},
autoExpandColumn:'notes',
bbar:new Ext.PagingToolbar(
{
pageSize:20,
store:store,
displayInfo:true,
displayMsg:'Item{0} To {1},Total{2}',
emptyMsg:"No Message"
}
)
});
store.load({params:{start:0,limit:20}});
ddrow = new Ext.dd.DropTarget(grid.container, {
ddGroup : 'GridDD',
copy : false,
notifyDrop : function(dd, e, data){
//debugger
var node =data;
if(node.node.attributes.value=='person')
{
var name = node.node.attributes.text;
var country=node.node.childNodes[0].text;
var company=node.node.childNodes[1].text;
var email= node.node.childNodes[2].text;
var phone= node.node.childNodes[3].text;
var mobile= node.node.childNodes[4].text;
var fax= node.node.childNodes[5].text;
var p = new Record({
name: '',
email: '',
country: '',
company:'',
phone:'',
fax:'',
mobile:'',
group:'',
notes:''
});
grid.stopEditing();
grid.bbar.addClass("toolbarclass");
store.insert(0, p);
//grid.startEditing(0, 7);
p.set("name",name);
p.set("email",email);
p.set("country",country);
p.set("company",company);
p.set("phone",phone);
p.set("fax",fax);
p.set("mobile",mobile);
p.dirty=true;
p.id="new";
}
else
{
Ext.Msg.alert('Info','Drag and drop contact from list..',function(btn){});
}
}
});
//右键菜单
var contextmenu = new Ext.menu.Menu({
id: 'theContextMenu',
items: [{
text: 'Remove',
handler: function(){
// var cell=MyRecord.getSelectedCell();
// debugger
MyRecord=store.getAt(rid);
if(MyRecord.id=="new")
{
Ext.Msg.confirm('','Are you sure you want to delete this record?',function(btn){if(btn=='yes'){store.remove(MyRecord);}});
}
else
{
var deleteemail=store.getAt(rid).data.email;
Ext.Msg.confirm('','Are you sure you want to delete this record?',function(btn)
{
if(btn=='yes')
{
var flag=Web_Memo.deleteRecord(deleteemail).value;
if(flag=="1")
{Ext.Msg.alert('','Record deleted.',function(btn){ reload();});}
else
{Ext.Msg.alert('','Action failed. Please try again.',function(btn){});}
}
})
}
}
}]
});
grid.on("rowcontextmenu", function(grid, rowIndex, e){
e.preventDefault();
// MyRecord=grid.getSelectionModel();
//sm.selectFirstRow(rowIndex);
//sm.getSelections();
rid=rowIndex;
contextmenu.showAt(e.getXY());
});
//grid.getView().mainBody.dom.style.width = grid.getView().getTotalWidth();
//grid.getView().mainBody.dom.style.height = '1px';
//grid.getSelectionModel().selectFirstRow();
//加载菜单
addtoolbar();
//结束
}
)
function showTree(groupid,groupname)
{
document.getElementById("ctl00_ContentPlaceHolder1_groupid").value=groupid;
document.getElementById("ctl00_ContentPlaceHolder1_groupname").value=groupname;
var win =mygroup.getActive();
if(win!=null&&win!=undefined)
{
win.close();
}
newWinNew(groupid);
}
//群组信息
function newWinNew(groupid)
{//debugger
var groupname=document.getElementById("ctl00_ContentPlaceHolder1_groupname").value;
win = new Ext.Window({title:groupname,
width:260,
height:530,
maximizable:false,
manager:mygroup,
constrain:true,
modal:false,
autoLoad : {url:'GroupPersons.aspx',method:'GET',scripts :true}
});
win.show();
}
//加载群组树形结构
function showgroup()
{
//grid.destroy() ;
Ext.getDom("NameLabel").innerHTML=document.getElementById("ctl00_ContentPlaceHolder1_groupname").value;
//debugger
var dt =Web_Memo.ReturnGroupInfo(document.getElementById("ctl00_ContentPlaceHolder1_groupid").value).value;
var selectnode;
if(dt!=null&&dt!=undefined)
{
var tree = new Ext.tree.TreePanel({
el:'tree',
enableDrag:true,
ddGroup: 'GridDD',
hlColor : "#3333FF",
hlDrop : true,
baseCls:"x-plain",
singleExpand :true,
autoHeight:true
});
var root = new Ext.tree.TreeNode({text:document.getElementById("ctl00_ContentPlaceHolder1_groupname").innerHTML,leaf:false,icon:'../images/ren-3.png'});
//debugger
for(var i=0;i<=dt.Rows.length-1;i++)
{
var cardemail=dt.Rows[i].cardemail;
var name = dt.Rows[i].name;
var phone = dt.Rows[i].phone.replace(/-/g," ");
var mobile = dt.Rows[i].mobile.replace(/-/g," ");
var fax = dt.Rows[i].fax.replace(/-/g," ");
var country=dt.Rows[i].country;
var company=dt.Rows[i].companyname;
var admin=dt.Rows[i].admin;
var node1;
if(admin==0)
{
node1= new Ext.tree.TreeNode({text:name,leaf:false,qtip:"User",icon:'../images/ren-2.png',value:'person'});
}
else if(admin==1)
{
node1= new Ext.tree.TreeNode({text:name,leaf:false,qtip:"Administrator",icon:'../images/ren-4.png',value:'person'});
}
else if(admin==2)
{
node1= new Ext.tree.TreeNode({text:name,leaf:false,qtip:"Creator",icon:'../images/ren-1.png',value:'person'});
}
var node2 =new Ext.tree.TreeNode({text:cardemail,leaf:true,icon:'../images/email.png',qtip:"email" });
var node3 =new Ext.tree.TreeNode({text:phone,leaf:true,icon:'../images/phone(1).png',qtip:"phone"});
var node4 =new Ext.tree.TreeNode({text:mobile,leaf:true,icon:'../images/mobile.png',qtip:"mobile"});
var node5 =new Ext.tree.TreeNode({text:fax,leaf:true,icon:'../images/fax.png',qtip:"fax"});
var node6 =new Ext.tree.TreeNode({text:company,leaf:true,icon:'../images/gongsi.png',qtip:"fax"});
var node7 =new Ext.tree.TreeNode({text:country,leaf:true,icon:'../images/guojia.png',qtip:"fax"});
node1.appendChild(node7);
node1.appendChild(node6);
node1.appendChild(node2);
node1.appendChild(node3);
node1.appendChild(node4);
node1.appendChild(node5);
root.appendChild(node1);
//debugger
}
//debugger
tree.setRootNode(root);
tree.render();
//grid.render();
tree.root.expand(false,true);
//reload();
}
}
function inputInfo()
{
Ext.QuickTips.init();
var winA =mygroup1.getActive();
if(winA!=null&&winA!=undefined)
{
winA.close();
}
form = new Ext.form.FormPanel
({
labelAlign:'right',
labelWidth:50,
frame:true,
//defaultType:'textfield',
items: [{
layout:'column',
items: [{
columnWidth:.5,
layout: 'form',
defaultType: 'textfield',
items:[
{fieldLabel:'Name',name:'name',allowBlank:false,vtype:'alpha',maxLength:50},
{fieldLabel:'Email',name:'email',allowBlank:false,minLength:5,maxLength:50,vtype:'email'},
{fieldLabel:'Country',name:'country',xtype: 'combo',maxLength:20,width:129,
store: new Ext.data.Store({
proxy:new Ext.data.MemoryProxy(data),
reader:new Ext.data.ArrayReader({},[
{name:'value'},
{name:'text'}
]),
fields: ['value', 'text']
}),
triggerAction: 'all',
valueField: 'value',
displayField: 'text'
},
{fieldLabel:'Company',name:'company',vtype:'alpha',maxLength:30}
]
},
{
columnWidth:.5,
layout: 'form',
defaultType:'textfield',
items:[
{fieldLabel:'Phone',name:'phone',maxLength:25},
{fieldLabel:'fax',name:'fax',maxLength:25},
{fieldLabel:'mobile',name:'mobile',maxLength:25},
{fieldLabel:'Groups',name:'groups',vtype:'alpha',maxLength:30}
]
}
]
},
{
width:317,
height:50,
fieldLabel:'Notes',
xtype:'textarea',
name:'notes',
maxLength:100
}
]
});
var win = new Ext.Window({title:'Input your contact info',
//el:'window-win',
layout:'fit',
width:400,
height:250,
closeAction:'close',
manager:mygroup1,
items:[form],
buttons:[{text:'Save',handler:function(btn){
var flag =form.getForm().isValid()
{
if(flag==true)
{
addnew();
}
else
{
return false;
}
}
}
},
{text:'Cancel',handler:function(btn){win.close();}}]
})
win.show();
}
function Groupby(groupbyvalue)
{
//document.getElementById("grid").style.display="none";
grid.destroy() ;
Ext.QuickTips.init();
cm = new Ext.grid.ColumnModel([
{header:'Name',dataIndex:'name',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank:false
})),clicksToEdit:2},
{header:'Email',dataIndex:'email',width:80,sortable:true},
{header:'Country',dataIndex:'country',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Company',dataIndex:'company',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Phone',dataIndex:'phone',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Fax',dataIndex:'fax',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Mobile',dataIndex:'mobile',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
// {header:'Address',dataIndex:'address',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
// allowBlank: true
// })),clicksToEdit:2},
{header:'Group',dataIndex:'group',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Notes',dataIndex:'notes',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2}
]);
//debugger
store = new Ext.data.GroupingStore({
//proxy: new Ext.data.HttpProxy({url:'MemoData.aspx'}),
proxy: document.getElementById("ctl00_ContentPlaceHolder1_reflag").value==""?(new Ext.data.HttpProxy({url:'MemoData.aspx'})):(new Ext.data.HttpProxy({url:'MemoData.aspx?flag='+document.getElementById("ctl00_ContentPlaceHolder1_reflag").value})),
reader: new Ext.data.JsonReader({totalProperty:'totalProperty',root:'root'
}, [
{name:'name'},
{name:'email'},
{name:'country'},
{name:'company'},
{name:'phone'},
{name:'fax'},
{name:'mobile'},
//{name:'address'},
{name:'group'},
{name:'notes'}
]),
groupField: groupbyvalue,
sortInfo: {field: groupbyvalue, direction: "ASC"}
});
//debugger
grid = new Ext.grid.EditorGridPanel({
store: store,
cm:cm,
view:new Ext.grid.GroupingView(),
loadMask:true,
autoHeight: true,
stripeRows:true,
renderTo: 'grid',
//:true,
//cm: cm1,
viewConfig:{
forceFit:true
},
//autoExpandColumn:'notes',
bbar:new Ext.PagingToolbar(
{
pageSize:20,
store:store,
displayInfo:true,
displayMsg:'Item{0} To {1},Total{2}',
emptyMsg:"No Message"
}
)
});
store.load({params:{start:0,limit:20}});
ddrow = new Ext.dd.DropTarget(grid.container, {
ddGroup : 'GridDD',
copy : false,
notifyDrop : function(dd, e, data){
//debugger
//count = store.getCount();
var node =data;
if(node.node.attributes.value=='person')
{
var name = node.node.attributes.text;
var country=node.node.childNodes[0].text;
var company=node.node.childNodes[1].text;
var email= node.node.childNodes[2].text;
var phone= node.node.childNodes[3].text;
var mobile= node.node.childNodes[4].text;
var fax= node.node.childNodes[5].text;
var p = new Record({
name: '',
email: '',
country: '',
company:'',
phone:'',
fax:'',
mobile:'',
group:'',
notes:''
});
grid.stopEditing();
store.insert(0, p);
//grid.startEditing(0, 0);
p.set("name",name);
p.set("email",email);
p.set("country",country);
p.set("company",company);
p.set("phone",phone);
p.set("fax",fax);
p.set("mobile",mobile);
p.dirty=true;
p.id="new";
}
else
{
Ext.Msg.alert('','Drag and drop contact from list.',function(btn){});
}
}
});
//右键菜单
var contextmenu = new Ext.menu.Menu({
id: 'theContextMenu',
items: [{
text: 'Remove',
handler: function(){
// var cell=MyRecord.getSelectedCell();
// debugger
MyRecord=store.getAt(rid);
if(MyRecord.id=="new")
{
Ext.Msg.confirm('','Are you sure you want to delete this record?',function(btn){if(btn=='yes'){store.remove(MyRecord);}});
}
else
{
var deleteemail=store.getAt(rid).data.email;
Ext.Msg.confirm('','Are you sure you want to delete this record?',function(btn)
{
if(btn=='yes')
{
var flag=Web_Memo.deleteRecord(deleteemail).value;
if(flag=="1")
{Ext.Msg.alert('','Record deleted.',function(btn){ reload();});}
else
{Ext.Msg.alert('','Action failed. Please try again.',function(btn){});}
}
})
}
}
}]
});
grid.on("rowcontextmenu", function(grid, rowIndex, e){
e.preventDefault();
// MyRecord=grid.getSelectionModel();
//sm.selectFirstRow(rowIndex);
//sm.getSelections();
rid=rowIndex;
contextmenu.showAt(e.getXY());
});
}
function reload()
{
grid.destroy() ;
cm = new Ext.grid.ColumnModel([
{header:'Name',dataIndex:'name',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank:false
})),clicksToEdit:2},
{header:'Email',dataIndex:'email',width:80,sortable:true},
{header:'Country',dataIndex:'country',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Company',dataIndex:'company',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Phone',dataIndex:'phone',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Fax',dataIndex:'fax',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Mobile',dataIndex:'mobile',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
// {header:'Address',dataIndex:'address',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
// allowBlank: true
// })),clicksToEdit:2},
{header:'Group',dataIndex:'group',width:80,sortable:true,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2},
{header:'Notes',dataIndex:'notes',width:80,editor:new Ext.grid.GridEditor(new Ext.form.TextField({
allowBlank: true
})),clicksToEdit:2}
]);
//debugger
store = new Ext.data.Store({
proxy: document.getElementById("ctl00_ContentPlaceHolder1_reflag").value==""?(new Ext.data.HttpProxy({url:'MemoData.aspx'})):(new Ext.data.HttpProxy({url:'MemoData.aspx?flag='+document.getElementById("ctl00_ContentPlaceHolder1_reflag").value})),
reader: new Ext.data.JsonReader({totalProperty:'totalProperty',root:'root'
}, [
{name:'name'},
{name:'email'},
{name:'country'},
{name:'company'},
{name:'phone'},
{name:'fax'},
{name:'mobile'},
//{name:'address'},
{name:'group'},
{name:'notes'}
])
});
//
grid = new Ext.grid.EditorGridPanel({
loadMask:true,
autoHeight: true,
stripeRows:true,
renderTo: 'grid',
//enableDragDrop:true,
store: store,
cm: cm,
viewConfig:{
forceFit:true
},
autoExpandColumn:'notes',
bbar:new Ext.PagingToolbar(
{
pageSize:20,
store:store,
displayInfo:true,
displayMsg:'Item{0} To {1},Total{2}',
emptyMsg:"No Message"
}
)
});
store.load({params:{start:0,limit:20}});
ddrow = new Ext.dd.DropTarget(grid.container, {
ddGroup : 'GridDD',
copy : false,
notifyDrop : function(dd, e, data){
//debugger
//count = store.getCount();
var node =data;
if(node.node.attributes.value=='person')
{
var name = node.node.attributes.text;
var country=node.node.childNodes[0].text;
var company=node.node.childNodes[1].text;
var email= node.node.childNodes[2].text;
var phone= node.node.childNodes[3].text;
var mobile= node.node.childNodes[4].text;
var fax= node.node.childNodes[5].text;
var p = new Record({
name: '',
email: '',
country: '',
company:'',
phone:'',
fax:'',
mobile:'',
group:'',
notes:''
});
grid.stopEditing();
store.insert(0, p);
//grid.startEditing(0, 0);
p.set("name",name);
p.set("email",email);
p.set("country",country);
p.set("company",company);
p.set("phone",phone);
p.set("fax",fax);
p.set("mobile",mobile);
p.dirty=true;
p.id="new";
}
else
{
Ext.Msg.alert('','Drag and drop contact from list..',function(btn){});
}
}
});
//右键菜单
var contextmenu = new Ext.menu.Menu({
id: 'theContextMenu',
items: [{
text: 'Remove',
handler: function(){
// var cell=MyRecord.getSelectedCell();
// debugger
MyRecord=store.getAt(rid);
if(MyRecord.id=="new")
{
Ext.Msg.confirm('','Are you sure you want to delete this record?',function(btn){if(btn=='yes'){store.remove(MyRecord);}});
}
else
{
var deleteemail=store.getAt(rid).data.email;
Ext.Msg.confirm('','Are you sure you want to delete this record?',function(btn)
{
if(btn=='yes')
{
var flag=Web_Memo.deleteRecord(deleteemail).value;
if(flag=="1")
{Ext.Msg.alert('','Record deleted.',function(btn){ reload();});}
else
{Ext.Msg.alert('','Action failed. Please try again.',function(btn){});}
}
})
}
}
}]
});
grid.on("rowcontextmenu", function(grid, rowIndex, e){
e.preventDefault();
rid=rowIndex;
contextmenu.showAt(e.getXY());
});
//grid.render();
}
function addnew()
{
//debugger
var name = form.getForm().findField('name').getValue();
var email = form.getForm().findField('email').getValue();
var country = form.getForm().findField('country').getValue();
var company = form.getForm().findField('company').getValue();
var phone = form.getForm().findField('phone').getValue();
var fax = form.getForm().findField('fax').getValue();
var mobile = form.getForm().findField('mobile').getValue();
var groups = form.getForm().findField('groups').getValue();
var notes = form.getForm().findField('notes').getValue();
if(email!=""&& email.length>=5)
{ var flag=Web_Memo.InsertPerson(name,email,country,company,phone,fax,mobile,groups,notes).value;
if(flag=="1")
{
Ext.MessageBox.alert('','Information saved.',function(btn){mygroup1.getActive().close();reload();})
}
else
{
Ext.MessageBox.alert('','Action failed. Please try again.',function(btn){})
}
}
else
{
Ext.MessageBox.alert('','The length of e-mail can not be less than 5',function(btn){})
}
}
function SaveUpdates()
{
var m = store.modified.slice(0);
var jsonArray = [];
var info=new Array();
Ext.each(m, function(item) {
jsonArray.push(item.data);
//debugger
});
for(var i=0;i<jsonArray.length;i++)
{
info[i]=jsonArray[i].name+" &"+jsonArray[i].email+" &"+jsonArray[i].country+" &"+jsonArray[i].company+" &"+jsonArray[i].phone+" &"+jsonArray[i].fax+" &"+jsonArray[i].mobile+" &"+jsonArray[i].group+" &"+jsonArray[i].notes;
//debugger
}
if(info.length!=0)
{
var flag=Web_Memo.UpdatePerson(info).value;
if(flag=='1')
{
Ext.MessageBox.alert('','Information saved.',function(btn){});
}
else
{
Ext.MessageBox.alert('','The operation failed because the service is unavailable or you may have attempted to input data containing the character /"&/". Please try again',function(btn){});
}
}
}
function UploadExcel()
{
uploadform = new Ext.form.FormPanel({
labelAlign:'right',
labelwidth:25,
frame:true,
fileUpload:true,
width:280,
items:
[{
xtype: 'textfield',//表单域类型
fieldLabel:'Excel',
id: 'form-file',
emptyText: 'Select your Excel worksheet',
name:'file',
inputType:'file'
}]
});
var win = new Ext.Window({title:'Upload Excel',
//el:'window-win',
layout:'fit',
width:330,
height:100,
closeAction:'close',
modal:true,
manager:mygroup2,
items:[uploadform],
buttons:[{text:'Save',handler:function(btn){saveexcel()}},{text:'Cancel',handler:function(btn){win.close();}}]
})
win.show();
}
function saveexcel()
{
if(uploadform.getForm().isValid())
{
uploadform.getForm().submit({
url: 'upload.aspx', //后台处理页面
waitMsg: 'loading...',
success: function(fp, o){Ext.MessageBox.alert('','Uploaded.',function(btn){
var winA =mygroup2.getActive();
if(winA!=null&&winA!=undefined)
{
winA.close();
}
reload();
});
},
failure: function(fp, o){Ext.MessageBox.alert('','The operation failed because the service is unavailable or you may have attempted to input data containing the character /" &/ " or /" , /" or /" /' /".Please try again',function(btn){});}
});
}
}
function clickExcel()
{
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton8").onClick="LinkButton8_Click";
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton8").click();
}
function SubmitKeyClick(button)
{
if (event.keyCode == 13)
{
event.keyCode=9;
event.returnValue = false;
document.all[button].click();
}
}
function Tolistview()
{
//menumouseclick(td_1,2,'Mouseovers5','Mouseouts5','');
var flag= document.getElementById("ctl00_ContentPlaceHolder1_reflag").value;
if(flag=="")
{window.location="N_CardInfoList.aspx";}
else
{window.location="N_CardInfoList.aspx?flag="+flag;}
}
function Tocardview()
{
var flag= document.getElementById("ctl00_ContentPlaceHolder1_reflag").value;
if(flag=="")
{window.location="N_CardInfoViewList.aspx";}
else
{window.location="N_CardInfoViewList.aspx?flag="+flag;}
}
function addConnection()
{
window.location="MyCardsInfo3.aspx";
}
function addtoolbar()
{
var groups = Web_Memo.GetContactGroups().value;
mytb.destroy();
mytb1.destroy();
mytb= new Ext.Toolbar();
mytb.render('toolbar');
mytb1= new Ext.Toolbar();
mytb1.render('toolbar1');
var menu1=new Ext.menu.Menu(
{
items:[
new Ext.menu.CheckItem({
text:'Name',
checked:true,
group:'group11',
handler:function(item,checked)
{
sort('name');
}
}),
new Ext.menu.CheckItem({
text:'Email',
checked:false,
group:'group11',
handler:function(item,checked)
{
sort('cardemail');
}
}),
new Ext.menu.CheckItem({
text:'Company',
checked:false,
group:'group11',
handler:function(item,checked)
{
sort('companyname');
}
}),
new Ext.menu.CheckItem({
text:'Country',
checked:false,
group:'group11',
handler:function(item,checked)
{
sort('country');
}
}),
new Ext.menu.CheckItem({
text:'Group',
checked:false,
group:'group11',
handler:function(item,checked)
{
sort('Groups');
}
}),
new Ext.menu.CheckItem({
text:'Connect To',
checked:false,
group:'group11',
handler:function(item,checked)
{
sort('Email1');
}
})
]
});
mytb.add({
text:'Sort by',
menu:menu1
})
var menu5 = new Ext.menu.Menu();
for(var i=0;i<groups.Rows.length;i++)
{
menu5.add(
new Ext.menu.CheckItem({
text:groups.Rows[i].Groups+" ( "+groups.Rows[i].Count+" )",
value:groups.Rows[i].Groups,
checked:false,
group:'group15',
handler:function(item,checked)
{
if(document.getElementById("ctl00_ContentPlaceHolder1_selectcount").innerHTML=='0')
{
alert("Please select contacts for group");
}
else
{
window.document.getElementById("ctl00_ContentPlaceHolder1_groupbyvalue").value=item.value;
Groupby1();
}
}
})
)
}
//
var sysgroup="Friends;Family;Co-workers;Do not list;Others";
var sysgroups=sysgroup.split(";");
for(var j=0;j<5;j++)
{ var p=0;
for(var i=0;i<groups.Rows.length;i++)
{
if(groups.Rows[i].Groups==sysgroups[j])
{
break;
}
else
{
p++;
}
}
if(p==groups.Rows.length)
{
menu5.add(
new Ext.menu.CheckItem({
text:sysgroups[j]+" ( 0 )",
value:sysgroups[j],
checked:false,
group:'group15',
handler:function(item,checked)
{
if(document.getElementById("ctl00_ContentPlaceHolder1_selectcount").innerHTML=='0')
{
alert("Please select contacts for group");
}
else
{
window.document.getElementById("ctl00_ContentPlaceHolder1_groupbyvalue").value=item.value;
Groupby1();
}
}
})
)
}
}
//
var menus= new Array();
for(var i=0;i<groups.Rows.length;i++)
{
var menun = new Ext.menu.Menu();
menun.add(
new Ext.menu.CheckItem({
text:"<tr><td align=/"left/" colspan=/"2/">This contacts in this group <br/> Will be moved to /"Others/"<br/><td></tr><tr><td style=/"font-size:10px;/">       <span style=/"font-size:10px;/" οnclick=/"RemoveGroups('"+groups.Rows[i].Groups+"')/">Delete </span></td><td> <span style=/"font-size:10px;/">Cancel</span> </td></tr>",
checked:false,
group:'group17',
handler:function(item,checked)
{
}
})
);
menus[i]=menun;
}
//
var menu6 = new Ext.menu.Menu();
for(var i=0;i<groups.Rows.length;i++)
{if(groups.Rows[i].Groups!="Others")
{
menu6.add(
new Ext.menu.CheckItem({
text:groups.Rows[i].Groups+" ( "+groups.Rows[i].Count+" )",
checked:false,
group:'group16',
menu:menus[i],
handler:function(item,checked)
{
//window.document.getElementById("ctl00_ContentPlaceHolder1_groupbyvalue").value=item.text;
//deleteCategory();
}
})
)
}
else
{
if(groups.Rows.length==1)
{
menu6.add(
new Ext.menu.CheckItem({
text:'<span style="color:Gray;font-style:italic;">No Group.</span>',
checked:false,
group:'group16',
handler:function(item,checked)
{
}
})
)
}
}
}
//
var menu4=new Ext.menu.Menu(
{
items:[
new Ext.menu.CheckItem({
text:'Add Group',
checked:true,
group:'group14',
handler:function(item,checked)
{
if(document.getElementById("ctl00_ContentPlaceHolder1_selectcount").innerHTML=='0')
{
alert("Please select contacts for group");
}
else
{
Ext.MessageBox.prompt('Add Group','Please enter group name.',function(btn,text)
{
if(btn=="ok")
{
if(text!=""&&text!=undefined)
{
window.document.getElementById("ctl00_ContentPlaceHolder1_groupbyvalue").value=text;
Groupby1();
}
else
{
alert('You must input groupname');
}
}
}
)
}
}
}),
new Ext.menu.CheckItem({
text:'My Group',
checked:false,
group:'group14',
menu:menu5,
handler:function(item,checked)
{
}
}),
new Ext.menu.CheckItem({
text:'Remove Group',
checked:false,
group:'group14',
menu:menu6,
handler:function(item,checked)
{
// var deflag =window.confirm("Are you sure delete the Categorys?");
// if(deflag==true)
// {
// window.document.getElementById("ctl00_ContentPlaceHolder1_groupbyvalue").value='Others';
// Groupby();
// }
}
})
]
});
var menu2=new Ext.menu.Menu(
{
items:[
// new Ext.menu.CheckItem({
// text:'Display',
// checked:true,
// group:'group2',
// handler:function(item,checked)
// {
// filter();
// }
// }),
new Ext.menu.CheckItem({
text:'Delete',
checked:false,
group:'group12',
handler:function(item,checked)
{
if(document.getElementById("ctl00_ContentPlaceHolder1_selectcount").innerHTML=='0')
{
alert("Please select contacts to delete.");
}
else
{
Delete();
}
}
}),
new Ext.menu.CheckItem({
text:'Group',
menu:menu4,
checked:false,
group:'group12',
handler:function(item,checked)
{}
})
]
});
mytb1.add({
text:'Actions',
menu:menu2
})
}
//全选
function selectall()
{
var check = document.getElementById("ctl00_ContentPlaceHolder1_checkall").checked;
var checkboxlist = document.getElementById("ctl00_ContentPlaceHolder1_CheckBoxlist1");
if(checkboxlist!=null&&checkboxlist!=undefined)
{
var checkboxes = checkboxlist.getElementsByTagName("input");
if(checkboxes!=null&&checkboxes!=undefined)
{
for(var i=0;i<checkboxes.length;i++)
{
var mycheckbox = checkboxes[i];
mycheckbox.checked =check;
}
}
}
sumcount();
}
function sumcount()
{
var count =0;
var checkboxlist = document.getElementById("ctl00_ContentPlaceHolder1_CheckBoxlist1");
if(checkboxlist!=null&&checkboxlist!=undefined)
{
var checkboxes = checkboxlist.getElementsByTagName("input");
if(checkboxes!=null&&checkboxes!=undefined)
{
for(var i=0;i<checkboxes.length;i++)
{
var mycheckbox = checkboxes[i];
if(mycheckbox.checked ==true)
{
count=count+1;
}
}
}
}
document.getElementById("ctl00_ContentPlaceHolder1_selectcount").innerHTML=count;
}
//排序
function sort(message)
{
window.document.getElementById("ctl00_ContentPlaceHolder1_LinkButton3").onCommand="LinkButton3_Command";
window.document.getElementById("ctl00_ContentPlaceHolder1_sortbyvalue").value=message;
window.document.getElementById("ctl00_ContentPlaceHolder1_LinkButton3").click();
}
function image(img)
{
var image= img='../TempFile/'?'../images/renlogo1.jpg':img;
return img;
}
function front()
{
window.document.getElementById("ctl00_ContentPlaceHolder1_front").click();
}
function Next()
{
window.document.getElementById("ctl00_ContentPlaceHolder1_after").click();
}
function RemoveGroups(groupname)
{
window.document.getElementById("ctl00_ContentPlaceHolder1_groupbyvalue").value=groupname;
deleteCategory();
}
function Groupby1()
{
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton4").onClick="LinkButton4_Click";
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton4").click();
}
function deleteCategory()
{
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton5").onClick="LinkButton5_Click";
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton5").click();
}
function Delete()
{
var dflag =window.confirm("Are you sure you want to delete the contacts?");
if(dflag==true)
{
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton1").onClick="LinkButton1_Click";
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton1").click();
}
else
{
return;
}
}
function filter()
{
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton2").onClick="LinkButton2_Click";
document.getElementById("ctl00_ContentPlaceHolder1_LinkButton2").click();
}