_ico.removeIcoid刪除圖標(biāo)

2018-02-07 15:03 更新
  • 函數(shù)原型

/* 創(chuàng)建圖標(biāo)

 * @number  icoid    被刪除的icoid

* 注意:此函數(shù)只在前端桌面上刪除圖標(biāo),后端刪除應(yīng)該在此之前完成

 */

_ico.removeIcoid=function(icoid){

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

if(!data) return;

//關(guān)閉打開的目錄

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();

}

}

}

//獲取圖標(biāo)所在的目錄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']){ //桌面時(shí)

//移除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){//此圖標(biāo)的后排圖標(biāo)前移

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{ //居中排列時(shí),重排桌面圖標(biāo)

_ico.refreshList(pfid);

}

_layout.resize(); //重新計(jì)算桌面布局

}

_select.SelectedStyle(obj.container,icoid,false); //刪除選中

//刪除圖標(biāo),清除占用內(nèi)存

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上時(shí)

//移除_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超過此的圖標(biāo)全部向左移動(dòng)一格

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';

}

});

//刪除圖標(biāo),清理內(nèi)存

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

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

delete _dock.icos[taskid][key];

}

delete _dock.icos[taskid];

_dock.setDockSize();   //重新計(jì)算任務(wù)欄

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

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

_ico.checkRecycleStatus(); //檢測(cè)回收站狀態(tài)

}

//刪除資源管理器和目錄內(nèi)的元素,維護(hù)目錄樹

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]);

}

}

};


  • 此函數(shù)只是在前端刪除圖標(biāo),如果想連帶后端一起刪除,請(qǐng)使用下面的調(diào)用方法

/* 刪除圖標(biāo)

* @ number  icoid      //刪除的圖標(biāo)icoid

* @ boolean noconfirm  //是否彈出提示刪除對(duì)話框

*/

_ajax.delIco(icoid,noconfirm);

注:此方法刪除的圖標(biāo)如果在回收站或在我的云中,徹底刪除;否則刪除到回收站。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)