2016-10-16 2 views
0

У меня есть View Policy кнопка в моем custom-toolbar.js. Когда я нажимаю кнопку, он должен открыть папку Policy на новой вкладке. Это то, что я сделал до сих пор.Как открыть папку на новой вкладке в Alfresco с помощью AJAX?

/** 
    * View Policy button click handler 
    * 
    * @method onViewDocument 
    * @param e {object} DomEvent 
    * 
    */ 
    onViewPolicy: function DLTB_onViewPolicy(e, p_obj) 
    {     
     var newPath = this.currentPath + "/Policy", 

     filter = this.currentFilter; 
     filter.filterData = newPath; 
     // Refresh the Document Library 
     YAHOO.Bubbling.fire("changeFilter", filter); 

    } 

Это открывает папку на той же вкладке. Как я могу использовать Alfresco.util.Ajax.request в этой ситуации и открыть его на новой вкладке? Также возможно отобразить сообщение об ошибке, если папка Policy ничего не возвращает?

ответ

0

Если все, что вы хотите сделать, это открыть путь на новой вкладке, вам нужно всего лишь использовать window.open(url);.

Если вы хотите сделать валидацию, позвонив по webscript, вы можете использовать Alfresco.util.Ajax.request.

Пример кода:

Alfresco.util.Ajax.request({ 
       type: "GET", 
       url: Alfresco.constants.PROXY_URI.replace('share/proxy/alfresco', 'alfresco/service') + {webscript url}, 
       dataType: 'text', 
       headers: { 
        Accept: "application/json", 
        "Access-Control-Allow-Origin": "*", 
        "Access-Control-Allow-Methods": "GET" 
       }, 
       successCallback: { 
        fn: function(response) { 
      //collect the output. 
      //if json 
      output = JSON.parse(response.serverResponse.responseText); 
      var result =output["result"]; 
      //if html is the output 
      output = (response.serverResponse.responseText); 
      var result =/<body.*?>([\s\S]*)<\/body>/.exec(output)[1];//to get contents inside body tag 
      if(result says folder is present) 
      { 
      window.open(newurl); 
      } 
      else 
      { 
      //show error popup. 
      } 
        }, 
        scope: this 
       }, 
       failureMessage: "", 
       execScripts: true 
      }); 
+0

Я не могу напрямую назначить NEWPATH к URL, и если я не делаю замены фильтра возвращает мне 404. Как я должен идти об этом? Я новичок в Alfresco. – BlueStar

+0

Я не могу напрямую назначить newPath URL-адресу, и если я не изменю фильтр, он вернет мне 404. Как мне это сделать? Я новичок в Alfresco. – BlueStar

+0

@BlueStar: Я также новичок. Я могу дать обходное решение, чтобы решить вашу проблему. Пожалуйста, попробуйте ниже, чтобы получить url 'url = window.location.href.substr (0, window.location.href.indexOf (" & ") - 3) +"% 2FPolicy% 7C & page = 1 ";' –

Смежные вопросы