codecamp

_ico.removeIcoid删除图标

  • 函数原型

/* 创建图标

 * @number  icoid    被删除的icoid

* 注意:此函数只在前端桌面上删除图标,后端删除应该在此之前完成

 */

_ico.removeIcoid=function(icoid){

var data=_config.sourcedata.icos[icoid];

if(!data) return;

//关闭打开的目录

if(data.type=='folder'){ 

for(var winid in _window.windows){

if(_window.windows[winid].type=='folder' && _window.windows[winid].fid==data.oid){

_window.windows[winid].Close();

}

}

}

//获取图标所在的目录fid

var pfid=_config.sourcedata.icos[icoid].pfid;

if(_config.sourcedata.icos[icoid].isdelete>0){

pfid=_config.space.typefid['recycle'];

}

if(pfid==_config.space.typefid['desktop']){ //桌面时

//移除screneList;

var arr=new Array();

var icoids=_config.screenList;

for(var i=0;i<icoids.length;i++){

if(icoids[i]!=icoid) arr[arr.length]=icoids[i];

}

_config.screenList=arr;

var autolist=_layout.autolist;

if(autolist){

var obj=_ico.icos[icoid];

if(_layout.iconposition<4){//此图标的后排图标前移

jQuery('#icosContainer_body_'+_layout.fid).find('.Icoblock').each(function(){

var id1=this.id.replace('icon_','');

var obj1=_ico.icos[id1];

if(obj1.pos>obj.pos) {

obj1.pos-=1;

var pos=obj1.getpos(obj1.pos,'icosContainer_body_'+_layout.fid);

obj1.left=pos[0];

obj1.top=pos[1];

obj1.board.style.left=obj1.left+'px';

obj1.board.style.top=obj1.top+'px';

}

});

}else{ //居中排列时,重排桌面图标

_ico.refreshList(pfid);

}

_layout.resize(); //重新计算桌面布局

}

_select.SelectedStyle(obj.container,icoid,false); //删除选中

//删除图标,清除占用内存

jQuery(obj.board).remove();

for(var key in _ico.icos[icoid]){

delete _ico.icos[icoid][key];

}

delete _ico.icos[icoid];

}else if(pfid==_config.space.typefid['dock']){//在dock上时

//移除_config.dockList 中的icoid;

   var icoarr=_config.sourcedata.icos[icoid];

if(icoarr.type=='app') var taskid='app_'+icoarr.oid;

else var taskid=icoid

var arr=new Array();

for(var i=0;i<_config.dockTaskList.length;i++){

if(_config.dockTaskList[i]!=taskid) arr.push(_config.dockTaskList[i]);

}

_config.dockTaskList=arr;

//pos超过此的图标全部向左移动一格

var obj=_dock.icos[taskid];

jQuery('#taskbar_dock').find('.task_Icoblock').each(function(){

var id1=this.id.replace('task_','');

var obj1=_dock.icos[id1];

if(obj1.pos>obj.pos) {

obj1.pos-=1;

var pos=obj1.getpos(obj1.pos);

obj1.left=pos[0];

obj1.top=pos[1];

obj1.board.style.left=obj1.left+'px';

obj1.board.style.top=obj1.top+'px';

}

});

//删除图标,清理内存

jQuery('#task_'+taskid).remove();

for(var key in _dock.icos[taskid]){

delete _dock.icos[taskid][key];

}

delete _dock.icos[taskid];

_dock.setDockSize();   //重新计算任务栏

}else if(pfid==_config.space.typefid['recycle']){//在回收站内

_config.sourcedata.folder[pfid].iconum=parseInt(_config.sourcedata.folder[pfid].iconum)-1;

_ico.checkRecycleStatus(); //检测回收站状态

}

//删除资源管理器和目录内的元素,维护目录树

for(var id in _filemanage.cons){

var filemanage=_filemanage.cons[id]

if(filemanage.data[icoid]){

_select.SelectedStyle('icosContainer_content_'+filemanage.winid+'_'+id,icoid,false);

filemanage.delIcos(_config.sourcedata.icos[icoid]);

}

}

};


  • 此函数只是在前端删除图标,如果想连带后端一起删除,请使用下面的调用方法

/* 删除图标

* @ number  icoid      //删除的图标icoid

* @ boolean noconfirm  //是否弹出提示删除对话框

*/

_ajax.delIco(icoid,noconfirm);

注:此方法删除的图标如果在回收站或在我的云中,彻底删除;否则删除到回收站。

_ico.createIco 创建图标
_login.click(logout) 退出登录
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Dzz系统框架

输入数据处理

数据DB层

安全相关

上传组件

评论组件

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }