Dashlets Datalists Custom

cancel
Showing results for 
Search instead for 
Did you mean: 
cchumi
Member II

Dashlets Datalists Custom

Bonjour à tous .

Je tente desesperement de developper un dashlets recuperant les données d'une datalists custom.
Je me suis donc inspiré du JS datagrid.js pour effectuer ma récupération de colonne qui se passe bien . Ma table possède bien les colonne correspondante a ma datalist.
Cependant je seche sur la récupération des données associés.Voici ma configuration du datasource.


_setupDataSources: function DemInter__setupDataSources()
      {

         var listNodeRef = new Alfresco.util.NodeRef('workspace://SpacesStore/4c5b7844-78f6-48f0-b753-e73709dd7317');
       //var listNodeRef = "workspace/SpacesStore/4c5b7844-78f6-48f0-b753-e73709dd7317";
console.log("nb colonne " + this.datalistColumns.length);
         for (var i = 0, ii = this.datalistColumns.length; i < ii; i++)
         {
            var column = this.datalistColumns[i],
               columnName = column.name.replace(":", "_"),
               fieldLookup = (column.type == "property" ? "prop" : "assoc") + "_" + columnName;
           
            this.dataRequestFields.push(columnName);
            this.dataResponseFields.push(fieldLookup);
            this.datalistColumns[fieldLookup] = column;
         }

         // DataSource definition
         this.widgets.dataSource = new YAHOO.util.DataSource(Alfresco.constants.PROXY_URI + 'slingshot/datalists/data/node/' + listNodeRef.uri,
         {

            connMethodPost: true,
         connXhrMode: "queueRequests",
            responseType: YAHOO.util.DataSource.TYPE_JSON,
            responseSchema:
            {
               resultsList: "items",
               metaFields:
               {
                  totalRecords: "totalRecords"
               }
            }
         });
      
         this.widgets.dataSource.connMgr.setDefaultPostHeader(Alfresco.util.Ajax.JSON);
         // Intercept data returned from data webscript to extract custom metadata
              this.widgets.dataSource.doBeforeCallback = function DemInter_doBeforeCallback(oRequest, oFullResponse, oParsedResponse)
         {
            // Container userAccess event
                  
            var permissions = oFullResponse.metadata.parent.permissions;
            if (permissions && permissions.userAccess)
            {
               Bubbling.fire("userAccess",
               {
                  userAccess: permissions.userAccess
               });
            }
         
            return oParsedResponse;
         };

      },

Lorsque celui s'execute j'obtiens une erreur 500 de ce type


12:35:08,157 ERROR [org.springframework.extensions.webscripts.AbstractRuntime] Exception from executeScript - redirecting to status template error: 03110005 Failed to convert request to JSON
org.springframework.extensions.webscripts.WebScriptException: 03110005 Failed to convert request to JSON
   at org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:82)
   at org.springframework.extensions.webscripts.json.JSONReader.createScriptParameters(JSONReader.java:93)
   at org.springframework.extensions.webscripts.AbstractWebScript.createScriptParameters(AbstractWebScript.java:407)
   at org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:81)
   at org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:377)
   at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:436)
   at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)
   at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)
   at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)
   at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Thread.java:619)
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at character 0
   at org.json.JSONTokener.syntaxError(JSONTokener.java:413)
   at org.json.JSONObject.<init>(JSONObject.java:180)
   at org.json.JSONObject.<init>(JSONObject.java:420)
   at org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:77)
   … 27 more

Le code est identique au datagrid.js à l'exception du listNodeRef qui est une valeur statique.
Ma liste contient bien des valeur , mon get.head.ftl inclu bien le fichier JS mais cette erreur ce produit.
Le noderef est le bon j'ai vérifié dans Alfresco Explorer ainsi que dans la page datalists.

J'ai beau avoir décortiqué le code pour comprendre le pourquoi du comment . Je me tourne vers vous en ésperant que vous pourrez m'aider….Et je n'en doutes pas .

Merci d'avance

Cordialement
7 Replies
bertrandf
Active Member

Re: Dashlets Datalists Custom

Le noderef est le bon j'ai vérifié dans Alfresco Explorer ainsi que dans la page datalists.

C'est à dire ?
Il ne faut pas se fier au paramètre ?list=57051343-67dd-4477-b7a4-46e710670ac1, ce n'est pas le nodeId de la datalist mais son nom.

Pour être sûr d'avoir le bon nodeRef, je vous conseille d'utiliser le Node Browser, de naviguer dans /company_home/sites/nom-de-votre-site/dataLists/ et de récupérer la référence de votre datalist.
cchumi
Member II

Re: Dashlets Datalists Custom

Bonjour BertrandF et merci de votre réponse.

Alors en effet je ne m'étais pas fier au paramètre ?list=57051343-67dd-4477-b7a4-46e710670ac1, j’étais aller tout simplement dans le nodeBrowser et j'avais récupérer la référence de ma liste. Chose que l'on peut également faire depuis l'explorer alfresco en naviguant dans le site correspondant.
Mon nodeRef est le bon et ce qui est étrange c'est que mon POST est identique à celui posté dans la page liste de données. Je le vois grace a firebug.  Mais sauf que sur le dashboard il me sort une erreur.

Dans firebug j'obtiens cette erreur :


{
    "status" :
  {
    "code" : 500,
    "name" : "Internal Error",
    "description" : "An error inside the HTTP server which prevented it from fulfilling the request."
  }, 
 
  "message" : "03110013 Failed to convert request to JSON", 
  "exception" : "org.springframework.extensions.webscripts.WebScriptException - 03110013 Failed to convert request to JSON",
 
  "callstack" :
  [
       ""      ,"org.json.JSONException: A JSONObject text must begin with '{' at character 0"
      ,"org.json.JSONTokener.syntaxError(JSONTokener.java:413)"
      ,"org.json.JSONObject.<init>(JSONObject.java:180)"
      ,"org.json.JSONObject.<init>(JSONObject.java:420)"
      ,"org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:77)"
      ,"org.springframework.extensions.webscripts.json.JSONReader.createScriptParameters(JSONReader.java:93)"
      ,"org.springframework.extensions.webscripts.AbstractWebScript.createScriptParameters(AbstractWebScript.java:407)"
      ,"org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:81)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:377)"
      ,"org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:436)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)"
      ,"org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)"
      ,"org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)"
      ,"org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)"
      ,"javax.servlet.http.HttpServlet.service(HttpServlet.java:717)"
      ,"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)"
      ,"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)"
      ,"org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)"
      ,"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)"
      ,"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)"
      ,"org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)"
      ,"org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)"
      ,"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)"
      ,"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)"
      ,"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)"
      ,"org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)"
      ,"org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)"
      ,"org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)"
      ,"org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)"
      ,"java.lang.Thread.run(Thread.java:619)"
      ,"org.springframework.extensions.webscripts.WebScriptException: 03110013 Failed to convert request to JSON"
      ,"org.springframework.extensions.webscripts.json.JSONReader.read(JSONReader.java:82)"

  ],
 
  "server" : "Community v3.4.0 (d 3370) schema 4 113",
  "time" : "11 avr. 2011 15:01:14"
}

Dans l'attente de vous lire. Cordialement
bertrandf
Active Member

Re: Dashlets Datalists Custom

Essayez de voir ce qui est renvoyé par le webscript Alfresco.
Dans votre fichier JS, faites un appel en POST au webscript et regardez ce qui est retourné, ça vous donnera peut être plus d'explication.
Quand on voit le détail de l'erreur, on s’aperçoit que le JSON retourné est mal formaté, peut être que ce qui est retourné n'est tout simplement pas du JSON mais une page d'erreur HTML 401 ou autre.

Vous pouvez essayer quelque chose dans le genre :
Alfresco.util.Ajax.jsonPost({
  url: Alfresco.constants.PROXY_URI + "slingshot/datalists/data/node/workspace/SpacesStore/4c5b7844-78f6-48f0-b753-e73709dd7317",
  successCallback: {
    fn: function (res) {
      console.log(res.json);
    }
  },
  failureCallback: {
    fn: function (response) {
      console.log('error');
    }
  }
});
cchumi
Member II

Re: Dashlets Datalists Custom

Bonjour BertrandF.

Et oui c'est bien ce que je pensais niveau formatage mais je ne trouvais pas du tout le message d'erreur explicite…
Avec ton bout de code tout est plus clair , dans les datalist un champ filter est utilisé ( situé dans la partie droite de la page ). Je me retrouve donc avec cette erreur :


{
    "status" :
  {
    "code" : 500,
    "name" : "Internal Error",
    "description" : "An error inside the HTTP server which prevented it from fulfilling the request."
  }, 
 
  "message" : "03120008 Wrapped Exception (with status template): 03120005 Failed to execute script 'classpath*:alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js': 03120004 TypeError: Cannot read property \"filterData\" from null (file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js#290)", 
  "exception" : "org.springframework.extensions.webscripts.WebScriptException - 03120008 Wrapped Exception (with status template): 03120005 Failed to execute script 'classpath*:alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js': 03120004 TypeError: Cannot read property \"filterData\" from null (file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js#290)",
 
  "callstack" :
  [
       ""      ,"org.mozilla.javascript.EcmaError: TypeError: Cannot read property \"filterData\" from null (file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js#290)"
      ,"org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350)"
      ,"org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340)"
      ,"org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3356)"
      ,"org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3375)"
      ,"org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3388)"
      ,"org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1362)"
      ,"org.mozilla.javascript.gen.c7._c5(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js:290)"
      ,"org.mozilla.javascript.gen.c7.call(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js)"
      ,"org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)"
      ,"org.mozilla.javascript.gen.c7._c10(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js:698)"
      ,"org.mozilla.javascript.gen.c7.call(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js)"
      ,"org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108)"
      ,"org.mozilla.javascript.gen.c7._c0(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js:748)"
      ,"org.mozilla.javascript.gen.c7.call(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js)"
      ,"org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)"
      ,"org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)"
      ,"org.mozilla.javascript.gen.c7.call(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js)"
      ,"org.mozilla.javascript.gen.c7.exec(file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js)"
      ,"org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:472)"
      ,"org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:190)"
      ,"org.alfresco.repo.processor.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:282)"
      ,"org.alfresco.repo.web.scripts.RepositoryScriptProcessor.executeScript(RepositoryScriptProcessor.java:102)"
      ,"org.springframework.extensions.webscripts.AbstractWebScript.executeScript(AbstractWebScript.java:981)"
      ,"org.springframework.extensions.webscripts.DeclarativeWebScript.execute(DeclarativeWebScript.java:86)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer$2.execute(RepositoryContainer.java:377)"
      ,"org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:381)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:436)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:466)"
      ,"org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:304)"
      ,"org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:333)"
      ,"org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:189)"
      ,"org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)"
      ,"javax.servlet.http.HttpServlet.service(HttpServlet.java:717)"
      ,"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)"
      ,"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)"
      ,"org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)"
      ,"org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)"
      ,"org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)"
      ,"org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)"
      ,"org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)"
      ,"org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)"
      ,"org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)"
      ,"org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)"
      ,"org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)"
      ,"org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)"
      ,"org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)"
      ,"org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)"
      ,"java.lang.Thread.run(Thread.java:619)"
      ,"org.alfresco.error.AlfrescoRuntimeException: 03120004 TypeError: Cannot read property \"filterData\" from null (file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js#290)"
      ,"org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:488)"
      ,"org.alfresco.scripts.ScriptException: 03120005 Failed to execute script 'classpath*:alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js': 03120004 TypeError: Cannot read property \"filterData\" from null (file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js#290)"
      ,"org.alfresco.repo.jscript.RhinoScriptProcessor.execute(RhinoScriptProcessor.java:194)"
      ,"org.springframework.extensions.webscripts.WebScriptException: 03120008 Wrapped Exception (with status template): 03120005 Failed to execute script 'classpath*:alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js': 03120004 TypeError: Cannot read property \"filterData\" from null (file:\/opt\/alfresco-3.4.d\/tomcat\/webapps\/alfresco\/WEB-INF\/classes\/alfresco\/templates\/webscripts\/org\/alfresco\/slingshot\/datalists\/data.post.json.js#290)"
      ,"org.springframework.extensions.webscripts.AbstractWebScript.createStatusException(AbstractWebScript.java:758)"

  ],
 
  "server" : "Community v3.4.0 (d 3370) schema 4,113",
  "time" : "Apr 12, 2011 8:46:20 AM"
}

Maintenant il faut que je trouve comment forcer ce parametre a ALL. pour que toutes les données me soient retournée. En regardant de plus près j'ai vu que le paramètre était passé dans l'url, qui n'a rien a voir avec la method POST. Comment puis je passer ce parametre dans la methode post…

Je vais investiguer de mon coté .
En tout cas encore merci car vous me lancez sur une nouvelle piste. Et comprendre le mécanisme d'alfresco n'est pas des plus simple mais je commence a me familiariser.

Dans l'attente de vous lire

Cordialement

Cchumi
bertrandf
Active Member

Re: Dashlets Datalists Custom

Je serais tenté de dire avec :
dataObj: {
  filter: "all"
}


Ce qui donnerait :
Alfresco.util.Ajax.jsonPost({
  url: Alfresco.constants.PROXY_URI + "slingshot/datalists/data/node/workspace/SpacesStore/4c5b7844-78f6-48f0-b753-e73709dd7317",
  dataObj: {
    filter: "all"
  },
  successCallback: {
    fn: function (res) {
      console.log(res.json);
    }
  },
  failureCallback: {
    fn: function (response) {
      console.log('error');
    }
  }
});

Mais je suis étonné que si aucun filtre n'est passé, le filtre "all" ne soit pas sélectionné par défaut.
cchumi
Member II

Re: Dashlets Datalists Custom

Merci BertrandF et désolé d'abuser de votre gentillesse.
En effet en ajoutant :

      dataObj: {

        filter: {filterId: "all", filterData: ""}
      }

Cela fonctionne parfaitement. Il me retourne les valeurs correspondantes.
Mais juste pour ma compréhension.
Comment puis je passer ses paramètre filter directement dans ma définition de la Datasource ?
j'ai essayé ceci mais en vain :


// DataSource definition
         this.widgets.dataSource = new YAHOO.util.DataSource(Alfresco.constants.PROXY_URI + 'slingshot/datalists/data/node/' + listNodeRef.uri,
         {
       connMethodPost: true,
            responseType: YAHOO.util.DataSource.TYPE_JSON,
            connXhrMode: "queueRequests",
            responseSchema:
            {
               resultsList: "items",
           fields :{
              "filter" :{   "filterData" : "",
                     "filterId" : "all"
                  }
          },
               metaFields:
               {
                  paginationRecordOffset: "startIndex",
                  totalRecords: "totalRecords"
               }
            }
         });

C'est purement par esprit de curiosité.

Cordialement et encore merci BertrandF.
C'est très agréable de tomber sur des pros comme vous.

Cchumi
bertrandf
Active Member

Re: Dashlets Datalists Custom

Je ne sais pas si c'est possible de passer directement les filtres dans la définition de la dataSource.

Il faudrait creuser et voir si il est mentionné dans la documentation YUI la possibilité de passer des paramètres en POST: http://developer.yahoo.com/yui/datasource/

Mais je pense qu'il faut regarder du coté de la fonction : sendRequest, vous pouvez jeter un coup d’œil à ce qui est fait par Alfresco dans datagrid.js, plus particulièrement la fonction _updateDataGrid