Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Aplicação client Perl File Explorer
- *
- * A aplicacao FILE EXPLORER tem como base principal um obj DHTMLX do tipo LAYOUT
- */
- /**
- * Obj Perl_File_Explorer
- *
- * Objeto representando toda a aplicação FILE EXPLORER contendo componentes DHTMLX e diversos
- * outros métodos e propriedades auxiliares
- */
- function Perl_File_Explorer()
- {
- /**
- * Precisamos declarar diversas variáveis que serão utilizadas dentro dos objetos como GLOBAL, e assim, permitindo
- * o uso de um objeto externo diretamente de dentro do objeto sem necessitar usar a propriedade PROTOTYPE diversas vezes.
- *
- * Javascript não possui variáveis GLOBAIS, porém podemos simular através do escopo.
- */
- var layout_explorer; //===> var placeholder do obj layout DHTMLX
- var arquivoselecionado; //===> var placeholder ID do arquivo selecionado no momento
- var InterfaceX, dhxWins, w1, waux; //===> var placeholder dos objs window DHTMLX
- var documentos_files; //===> var placeholder do obj DHTMLXFolder
- var menu; //===> var placeholder do obj toolbar DHTMLX. Usada como menu bar principal do File Explorer
- var layout_window; //===> var placeholder do obj layout DHTMLX usado no interior de cada janela
- var tree_dirs; //===> var placeholder do menu to tipo treeview
- var toolbar_files; //===> var placeholder da toolbar que fica sobre os arquivos
- var alterafoto; //===> var placeholder do objeto VAULT
- var taskbar; //===> var placeholder da taskbar da aplicação
- var barra_status; //===> var placeholder do obj statusbar herdado do obj layout DHTMLX. Usada como status bar principal do File Explorer
- var barrastatus; //===> var placeholder do obj statusbar herdado do obj layout DHTMLX. Usada como status bar de windows auxiliares do File Explorer
- var strabertas = "";//===> var placeholder de IDs de janelas abertas
- /**
- * Método init
- *
- * Através deste método iremos fazer o parser inicial dos componentes principais do FILE EXPLORER
- */
- this.init = function()
- {
- /**
- * Vamos criar uma instancia do obj DHTMLX WINDOW e fazer o append do objeto ao body
- * do arquivo view.html
- */
- InterfaceX = new dhtmlXWindows();
- InterfaceX.enableAutoViewport(false);
- InterfaceX.attachViewportTo("body"); //=========> appendo ao body.id="body"
- InterfaceX.setImagePath("codebase/imgs/"); //====> dir de imgs base para o objeto
- /**
- * Vamos o layout principal da aplicação utilizando o componente DHTMLX LAYOUT
- *
- * O layout será do tipo 2U (2 celulas verticais - célula ¨a¨ e ¨b¨)
- */
- layout_explorer = new dhtmlXLayoutObject(document.body, "2U");
- layout_explorer.cells("a").setWidth(160); //==> seta a largura da célula a
- layout_explorer.cells("a").hideHeader(); //==> esconde o cabeçalho da célula
- layout_explorer.cells("b").hideHeader(); //==> esconde o cabeçalho da célula
- /**
- * Vamos criar o menu principal da aplicação utlizando o componente DHTMLX MENU
- */
- menu = layout_explorer.attachMenu();
- menu.setIconsPath("codebase/imgs/"); //====> dir de imgs base para o objeto
- menu.setOpenMode("win"); //==> seta tipo de abertura do menus - win(estilo windows explorer)
- menu.setTopText("Gerenciador de Documentos"); //==> seta texto informativo impresso do lado direito do menu
- menu.addNewSibling(null, "arquivo", "Arquivo", false); //==> cria grupo de menu para submenus
- /**
- * Vamos criar uma taskbar para a aplicação utilizando o componente DHTMLX TOOLBAR
- *
- * Usaremos a taskbar para controlar as janelas abertas em nossa aplicação
- * A cada janela aberta, será incluído um novo botão correspondente à janela na taskbar
- */
- //===========> TOOLBAR MULTITAREFA - placeholder das janelas abertas
- taskbar = layout_explorer.attachToolbar();
- taskbar.setIconsPath("codebase/imgs/"); //====> dir de imgs base para o objeto
- /**
- * Utilizaremos o evento onClick atribuido aos botões serão incluídos na taskbar
- */
- taskbar.attachEvent("onClick", function(id)
- {
- /**
- * Trazemos a janela representada pelo botão para frente caso outra
- * janela esteja em foco
- */
- InterfaceX.window(id).bringToTop();
- /**
- * Exibimos a janela representada pelo botão caso ela esteja minimizada
- */
- InterfaceX.window(id).show();
- });
- /**
- * Vamos criar uma toolbar que ficará sobre a célula ¨a¨ da aplicação contendo diversas funções
- */
- var toolbar_tree = layout_explorer.cells("a").attachToolbar();
- toolbar_tree.setIconsPath("codebase/imgs/"); //====> dir de imgs base para o objeto
- /**
- * Utilizaremos o evento onClick atribuido aos botões do menu
- */
- toolbar_tree.attachEvent("onClick", function(id)
- {
- //==== se o id do botao for eq
- if(id=="novoarquivo")// novo arquivo
- {
- //==> para futura implementacao de upload de arquivos utilizando o DHTMLX VAULT
- }
- /**
- * Rotina que responsável pela criação de um novo diretório
- */
- else if(id=="novo")// novo diretorio
- {
- toolbar_tree.disableItem("novo"); // bloqueia multiplo clicks
- /**
- * Pergunta ao usuário o nome do novo diretório e atribui o valor à
- * variavel nomedir
- */
- var nomedir = prompt("Digite o nome do novo diretório", "");
- /**
- * Se for digitado um nome para o diretório, continua
- */
- if(nomedir!= '' && nomedir!==null) // null compara-se com === ou !== (comparacao de valor e tipagem)
- {
- /**
- * inicia o efeito loading sobre a célula ¨a¨ da aplicação até que o diretório seja criado
- */
- layout_explorer.cells("a").progressOn();
- /**
- * pega o dir selecionado para criar o novo dir como subdir do dir selecionado
- */
- var dirtarget=tree_dirs.getSelectedItemText();
- /**
- * Declaramos a string URL que será despachada ao servidor via POST contendo o nome do novo dir o nome do
- * diretório onde ele será salvado
- */
- var urlposcriadir="dirtarget="+dirtarget+"&nomenovo="+nomedir+"";
- /**
- * Despacha o post para a criação do diretório
- */
- dhtmlxAjax.post("../cgi-bin/makedir.pl", encodeURI(urlposcriadir), function(loader)
- {
- /**
- * Transforma a string da resposta recebida pelo server em JSON usando eval
- */
- var obj_retorno = eval('(' + loader.xmlDoc.responseText + ')'); // evaluate a string vinda no ajax em um obj JSON
- if(obj_retorno.status=="sucesso")
- {
- alert(obj_retorno.resposta);
- toolbar_tree.enableItem("novo");
- tree_dirs.deleteChildItems(0);
- tree_dirs.loadXML("../cgi-bin/tree_files.pl");
- toolbar_files.disableItem("abrir");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("baixar");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("excluir");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- layout_explorer.cells("a").progressOff(); // finaliza efeito de loading
- }
- else if(obj_retorno.status=="erro")
- {
- alert(obj_retorno.resposta);
- toolbar_tree.enableItem("novo");
- layout_explorer.cells("a").progressOff(); // finaliza efeito de loading
- }
- else
- {
- alert(loader.xmlDoc.responseText);
- toolbar_tree.enableItem("novo");
- layout_explorer.cells("a").progressOff(); // finaliza efeito de loading
- }
- });
- }
- else
- {
- alert("Você não digitou um nome para o nomvo diretório. Tente novamente.");
- toolbar_tree.enableItem("novo");
- }
- }
- /**
- * Rotina responsável pela exclusão do diretório
- */
- else if(id=="excluir") // exclui dir
- {
- if (window.confirm('Deseja realmente excluir?\nTodos os arquivos dentro deste diretório serão perdidos!'))
- {
- layout_explorer.cells("a").progressOn(); // inicia efeito loading na celula A do layout
- var nomeexclui=tree_dirs.getSelectedItemText(); // pega o nome do dir selecionado
- if (nomeexclui!='documentos' && nomeexclui!='contratos' && nomeexclui!='files' && nomeexclui!='publico') // dirs proibidos de exclusao
- {
- var urlposexcluidir="nomeexclui="+nomeexclui+"";
- dhtmlxAjax.post("documentos_gerenciador.aspl?sessao=excluidir", encodeURI(urlposexcluidir), function(loader)
- {
- var obj_retorno = eval('(' + loader.xmlDoc.responseText + ')'); // evaluate a string vinda no ajax em um obj JSON
- if(obj_retorno.status=="sucesso")
- {
- alert(obj_retorno.resposta);
- toolbar_tree.enableItem("novo");
- tree_dirs.deleteChildItems(0);
- tree_dirs.loadXML("documentos_gerenciador.aspl?sessao=geraxml");
- toolbar_tree.disableItem("excluir");// desabilita botao ate que um dir seja selecionado para evitar callback com erro
- layout_explorer.cells("a").progressOff(); // finaliza efeito de loading
- }
- else
- {
- alert(loader.xmlDoc.responseText);
- toolbar_tree.enableItem("novo");
- layout_explorer.cells("a").progressOff(); // finaliza efeito de loading
- }
- });
- }
- else
- {
- alert("Você não tem permissão para apagar esse diretório");
- layout_explorer.cells("a").progressOff(); // finaliza efeito de loading
- }
- }
- }
- });
- /**
- * Vamos criar os botões da toolbar que ficará sobre a célula ¨a¨ da aplicação
- */
- toolbar_tree.addButton("novo", 0, "", "folder.gif", "folder.gif"); // botao criar diretório
- //toolbar_tree.addButton("novoarquivo", 1, "", "upload.png", "upload.png"); // botao upload de arquivos
- toolbar_tree.addSeparator("sep2", 4); // separador
- toolbar_tree.addButton("excluir", 5, "", "excluir.png", "excluir.png"); // botao excluir diretório
- /**
- * desabilita o botao excluir ate que um dir seja selecionado para evitar callback com erro
- */
- toolbar_tree.disableItem("excluir");
- /**
- * Vamos criar o TreeView da aplicação utlizando o compoenente DHTMLX TREE
- * que ficará na celulá ¨a¨ da aplicação
- */
- tree_dirs = layout_explorer.cells("a").attachTree(); // appenda o tree a celula A do layout
- tree_dirs.setImagePath("codebase/imgs/csh_vista/"); //====> dir de imgs base para o objeto
- /**
- * O treeview precisa ser alimentado com as informações dos diretórios para parseá-los na telas
- * assim, utlizaremos XML como é por default na lib
- */
- tree_dirs.loadXML("../cgi-bin/tree_files.pl");
- /**
- * escuta evento click nos dirs presente no treeview
- */
- tree_dirs.setOnClickHandler(function(id)
- {
- layout_explorer.cells("b").progressOn();
- explorer.carregadocumentos(id);
- toolbar_tree.enableItem("excluir");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("abrir");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("baixar");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("excluir");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- });
- //======> BARRA DE FERRAMENTAS SUPERIOR A EXIBICAO DOS FILES
- toolbar_files = layout_explorer.cells("b").attachToolbar();// appenda a barra de ferramentas sobre o dataview de files. Celula B do layout
- toolbar_files.setIconsPath("codebase/imgs/"); //====> dir de imgs base para o objeto
- // escuta evento click nos botoes da barra de ferramentas sobre o dataview
- toolbar_files.attachEvent("onClick", function(id)
- {
- var idarquivo=documentos_files.getSelectedId();
- var arquivo = documentos_files.getItemDataObject(idarquivo);
- var nome = arquivo.getAttribute("name");
- var tipo = arquivo.getAttribute("tipo");
- var tamanho = arquivo.getAttribute("filesize");
- var path = arquivo.getAttribute("path");
- var pathm = arquivo.getAttribute("pathm");
- //==== se o id do botao for eq
- if(id=="baixar")// baixar file
- {
- window.open("gerenciadordearquivos_download.asp?file="+nome+"&path="+path+"&name="+nome+"","","");
- }
- //==== se o id do botao for eq
- else if(id=="abrir") // visualizar file
- {
- if(tipo=='jpg' || tipo=='png' || tipo=='gif' || tipo=='pdf' || tipo=='swf' || tipo=='txt') // se forem files do tipo "legiveis" pelo browser
- {
- var objeto="janelaabrir"+nome;
- var txtjanela=nome;
- var idjanela="janela_abrir"+nome;
- var titulotask="Arquivo: "+nome+" | tipo: "+tipo+" | tamanho: "+tamanho+" KB | local: "+pathm+"";
- var icone="arquivo_abrir.png";
- var tipolayout="1C";
- var wlargura=250;
- var waltura=300;
- var tipoconteudo="iframe";
- var url=pathm+"/"+nome;
- //=======> ABRE VISUALIZACAO DO FILE
- explorer.visualizaarquivo(objeto,txtjanela,idjanela,titulotask,icone,tipolayout, wlargura, waltura, tipoconteudo, url);
- }
- else // SE NAO FOR LEGIVEL PELO BROWSER
- {
- // BAIXA ARQUIVO
- window.open("gerenciadordearquivos_download.asp?file="+nome+"&path="+path+"&name="+nome+"","","");
- }
- }
- else if(id=="excluir")// exclui arquivo
- {
- //confirma exclusao
- if (window.confirm('Deseja realmente excluir?'))
- {
- //======> exclui o file
- explorer.excluirarquivo();
- }
- }
- });
- /**
- * Vamos criar os botões da toolbar que ficará sobre a célula ¨a¨ da aplicaçã
- */
- toolbar_files.addButton("abrir", 4, "abrir", "arquivo_abrir.png", "arquivo_abrir.png"); // botao abrir file
- toolbar_files.addButton("baixar", 5, "baixar", "download.png", "download.png"); // botao baixar file
- toolbar_files.addButton("excluir", 6, "excluir", "excluir.png", "excluir.png"); // botao excluir file
- toolbar_files.disableItem("abrir"); // desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("baixar");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- toolbar_files.disableItem("excluir");// desabilita botao ate que um file seja selecionado para evitar callback com erro
- //===========> barra de status do modulo
- barra_status = layout_explorer.attachStatusBar();
- barra_status.setText("usuário: | aplicativo: | módulo: | ");
- };
- this.upload = function(txtjanela,idjanela,titulotask,icone,id,diretorio)
- {
- //==> para futura implementacao de upload usando o DHTMLX Vault
- };
- /**
- * Este método é responsável por selecionar o diretório arquivo no momento e alimentar o componente
- * DHTMLX FOLDER da célula ¨b¨ da aplicação reponsável por listar os arquivos contido no diretório
- */
- this.carregadocumentos = function(oque)
- {
- /**
- * pega o diretório ativo selecionado
- */
- var diretorio=tree_dirs.getItemText(oque);
- /**
- * Cria, na célula ¨b¨ do layout principal, o objeto responsavel pela exibicao dos arquivos presentes no diretório selecionado
- * utilizando o componente DHTMLX FOLDER e
- */
- documentos_files=layout_explorer.cells("b").attachFolders();
- /**
- * Seta o tipo de listagem dos arquivos
- * tipos = ftiles , F-table , ficon
- */
- documentos_files.setItemType("ftiles");
- /**
- * seta o diretorio home onde estao as imagens utilidas para representar o mimetype dos arquivos
- */
- documentos_files.setUserData("icons_src_dir", "codebase/imgs");
- documentos_files.enableSelection(2);
- /**
- * Chama o XML que alimentará o componente de acordo com o diretório selecionado
- */
- if(oque=="documentos")
- {
- documentos_files.loadXML("../cgi-bin/folder_files.pl?diretorio=raiz", "codebase/types/ftiles.xsl");
- }
- else
- {
- documentos_files.loadXML("../cgi-bin/folder_files.pl?diretorio="+diretorio+"", "codebase/types/ftiles.xsl");
- }
- /**
- * habilita o evento indicando o carregamento 100% dos arquivos dentro do componente FOLDER
- */
- documentos_files.attachEvent("onXLE", function(itemId){
- //alert("Arquivos do processo carregados");
- /**
- * finaliza efeito de loading sobre a célula ¨b¨ do layout principal
- */
- layout_explorer.cells("b").progressOff();
- });
- /**
- * Habilita evento onclick nos arquivos listados na FOLDER
- */
- documentos_files.attachEvent("onclick", function(itemId)
- {
- arquivoselecionado=itemId;
- /**
- * habilita botoes de funcoes do arquivo na TOOLBAR que fica sobre a FOLDER listando os arquivos
- */
- toolbar_files.enableItem("abrir");
- toolbar_files.enableItem("baixar");
- toolbar_files.enableItem("excluir");
- });
- /**
- * Habilita o evento ondblclick nos arquivos listados na FOLDER
- * ao duplo clique, abre-se o documento
- */
- documentos_files.attachEvent("ondblclick", function(itemId){
- explorer.abredocumento(itemId);
- });
- };
- /**
- * Este método será utlizado para abrir arquivo sempre que clicado duas vezes sobre o arquivo
- */
- this.abredocumento = function(itemId)
- {
- /**
- * Pega o arquivo selecionado na FOLDER
- */
- var arquivo = documentos_files.getItemDataObject(itemId);
- /**
- * Lê atributos do arquivo
- * Os atributos estão sendo informados pelo XML que alimenta a FOLDER
- */
- var nome = arquivo.getAttribute("name");
- var tipo = arquivo.getAttribute("tipo").toLowerCase();
- var tamanho = arquivo.getAttribute("filesize");
- var path = arquivo.getAttribute("path");
- var pathm = arquivo.getAttribute("pathm");
- var url=pathm+"/"+nome;
- /**
- * Se o arquivo for de mimetype interpretável pelo browser, ele será aberto dentro da própria
- * aplicação dentro de uma nova WINDOW utilizando o DHTMLX WINDOW, se não, forçará o donwload do arquivo
- * atraves de window.open(urldoarquivo)
- */
- if(tipo=='jpg' || tipo=='png' || tipo=='gif' || tipo=='pdf' || tipo=='swf' || tipo=='txt' || tipo=='html' || tipo=='htm')
- {
- var objeto="janelaabrir"+nome;
- var txtjanela=nome;
- var idjanela="janela_abrir"+nome;
- var titulotask="Arquivo: "+nome+" | tipo: "+tipo+" | tamanho: "+tamanho+" KB | local: "+pathm+"";
- var icone="arquivo_abrir.png";
- var tipolayout="1C";
- var wlargura=250;
- var waltura=300;
- var tipoconteudo="iframe";
- /**
- * abre DHTMLX WINDOW para visualizacao do arquivo
- */
- explorer.visualizaarquivo(objeto,txtjanela,idjanela,titulotask,icone,tipolayout, wlargura, waltura, tipoconteudo, url);
- }
- else
- {
- /**
- * força o download do arquivo ao tentar acessá-lo pelo browser em outra window do browser
- * poderá sem implementando também da seguinte forma:
- * self.location = url;
- */
- window.open(url,"","");
- }
- };
- /**
- * Este método é responsável por criar uma nova WINDOW para exibir os arquivos que tenham um mimetype
- * interpretável pelo browser
- */
- this.visualizaarquivo = function(objeto,txtjanela,idjanela,titulotask,icone,tipolayout, wlargura, waltura, tipoconteudo, url)
- {
- var aberta=strabertas.indexOf(idjanela);
- /**
- * Se a janela ainda nao estiver aberta
- */
- if(aberta==-1)
- {
- /**
- * Adiciona o ID da janela na var placeholder que armazena os IDs das janelas abertas
- */
- strabertas=strabertas+""+idjanela+", ";
- /**
- * Cria nova janela utilizando o DHTMLX WINDOW
- */
- waux = InterfaceX.createWindow(idjanela, 100, 100, wlargura, waltura);
- InterfaceX.window(idjanela).progressOn();
- /**
- * Seta o título da janela de acordol com o nome do arquivo
- */
- waux.setText(txtjanela);
- /**
- * Adiciona o evento onClose á janela de exibição do aquivo que acabamos de criar
- */
- waux.attachEvent("onClose", function(win)
- {
- /**
- * remove o botao referente a janela que foi inserido na taskbar
- */
- taskbar.removeItem(idjanela);
- /**
- * Esconde a janela
- */
- InterfaceX.window(idjanela).hide();
- var estaaba=""+idjanela+", ";
- var auxabas=strabertas;
- /**
- * Remove o ID da janela da var placeholder que armazena os IDs das janelas abertas
- */
- strabertas=auxabas.replace(estaaba, "");
- });
- /**
- * Atribuimos o evento onClick ao botao minimizar da janela
- */
- waux.button("park").attachEvent("onClick", function() {
- /**
- * Escondemos a janela ao clicar no botao minimize
- */
- InterfaceX.window(idjanela).hide();
- });
- /**
- * Adicionamos um layout DHTMLX LAYOUT à janela
- */
- layout_window = waux.attachLayout(tipolayout);
- /**
- * Escondemos o header da celula do layout
- */
- layout_window.cells("a").hideHeader();
- /**
- * append da URL do arquivo a ser aberto na janela como iframe
- */
- layout_window.cells("a").attachURL(url);
- /**
- * seta o icone da janela
- */
- InterfaceX.window(idjanela).setIcon(icone, icone);
- /**
- * cria status bar para a janela
- */
- var barrastatus_janelaauxiliar = waux.attachStatusBar();
- /**
- * seta o texto da statusbar de acordo com o nome do file
- */
- barrastatus_janelaauxiliar.setText(titulotask);
- /**
- * adiciona um novo botao à taskbar referente a janela
- */
- taskbar.addButton(idjanela, 2, txtjanela, icone, icone);
- /**
- * finaliza efeito de loading da janela
- */
- InterfaceX.window(idjanela).progressOff();
- }
- else
- {
- alert("Esta janela já está aberta!");
- }
- };
- /**
- * método responsável pela exclusão de arquivos
- * Propositalmente, esse método estára incompleto a fim do leitor utilizá-lo como um ¨home work¨ sobre o assunto
- * terminando, por conta, própria a implementação
- *
- * O arquivo exclui_file.pl não será feito e fica a cargo do leitor fazer ou não
- */
- this.excluirarquivo = function()
- {
- /**
- * desabilita botoes de funcoes para o arquivo ja que o mesmo será excluído
- * evita erros de callbacks referentes a arquivos que nao existem mais
- */
- toolbar_files.disableItem("abrir");
- toolbar_files.disableItem("baixar");
- toolbar_files.disableItem("excluir");
- /**
- * Lê atributos do arquivo
- */
- var idarquivo=documentos_files.getSelectedId();
- var arquivo = documentos_files.getItemDataObject(idarquivo);
- var nome = arquivo.getAttribute("name");
- var path = arquivo.getAttribute("path");
- var diretorio;
- var ddiretorio=tree_dirs.getSelectedItemText();
- /**
- * seta a localização do arquivo
- */
- if(ddiretorio=="documentos")
- {
- diretorio="raiz";
- }
- else
- {
- diretorio=tree_dirs.getSelectedItemText();
- }
- /**
- * seta a string URL que será enviada como POST contendo os dados do arquivo a ser excluido
- */
- var postexclui="arquivo="+nome+"&arquivo_path="+path+"";
- /**
- * realiza requisicao ajax
- */
- dhtmlxAjax.post("../cgi-bin/exclui_file.pl", encodeURI(postexclui), function(loader)
- {
- /**
- * transforma a string de reposta retornada pelo servidor em JSON
- */
- var obj_retorno = eval('(' + loader.xmlDoc.responseText + ')'); // evaluate a string vinda no ajax em um obj JSON
- if(obj_retorno.status=="sucesso")
- {
- alert(obj_retorno.resposta);
- /**
- * recarrega o FOLDER na celula ¨b¨ do layout principal
- */
- documentos_files.clearAll();
- documentos_files.loadXML("../cgi-bin/folder_files.pl?diretorio="+diretorio+"");
- //InterfaceX.window(idjanela).progressOff(); // finaliza efeito de loading
- }
- else if(obj_retorno.status=="erro")
- {
- window.parent.notificaerro(obj_retorno.resposta);
- /**
- * re-habilita botoes de funcoes para o arquivo ja que o mesmo nao foi excluido
- */
- toolbar_files.enableItem("abrir");
- toolbar_files.enableItem("baixar");
- toolbar_files.enableItem("excluir");
- //InterfaceX.window(idjanela).progressOff(); // finaliza efeito de loading
- }
- });
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement