cancel
Showing results for 
Search instead for 
Did you mean: 

Custom action rule paremeters

kaecius
Champ on-the-rise
Champ on-the-rise

Buenos Días,

Estoy creando una acción en java que necesita de dos parametros, dichos paremetros son de tipo nodeRef (destination-folder) y un texto o una selección de diferentes valores(pattern). El problema reside en que al definir en Customizations una nueva para mi acción que muestre por share un seleccionador de archivos y un textbox para el segundo parametro, no consigo que el segundo parametro sea recogido. Al definir la regla me aparecen los dos parametros tal y como los he definido pero a la hora de guardar, el noderef que he seleccionado con el seleccionador se guarda pero lo que habia puesto en el textbox del segundo parametro no se guarda y no se por que sucede.

Mi pregunta es, como puedo solucionar esto y que ambos parametros recojan los datos escritos y si se puede, eliminar el textbox y añadir un combobox con diferentes valores

Folderizer:
{
   text: function(configDef, ruleConfig, configEl)
   {
     // Display as path
     this._getParamDef(configDef, "destination-folder")._type = "path";
     this._getParamDef(configDef, "date-pattern")._type = "d:text";
     return configDef;
   },
   edit: function(configDef, ruleConfig, configEl)
   {
       configDef.parameterDefinitions.unshift({
          type: "arca:destination-dialog-button",
          displayLabel: this.msg("action.label.destinationFolder"),
          _buttonLabel: this.msg("button.select-folder"),
          _destinationParam: "destination-folder"
       },{
          type:"d:text",
          displayLabel : this.msg("action.label.pattern"),
          _destinationParam: "date-pattern"
       });
       return configDef;
   }
}
6 REPLIES 6

angelborroy
Community Manager Community Manager
Community Manager

Puedes basarte en este ejemplo: https://github.com/jpotts/alfresco-developer-series/blob/master/actions/actions-tutorial-share/src/m...

Lo cierto es que es algo que nunca he hecho.

Hyland Developer Evangelist

Me basé en ese ejemplo para realizarlo , pero al parecer , al añadir otro parametro más no se comporta de la misma manera, se visualiza tal y como tiene que hacerlo y el seleccionador de carpetas sí que recoge el parametro que le pongo pero el textbox da igual lo que le ponga que no lo recoge

En ese ejemplo, los parámetros de la acción se definen aquí: alfresco-developer-series/MoveReplacedActionExecuter.java at master · jpotts/alfresco-developer-seri... 

Quizá te falta añadirlo.

Hyland Developer Evangelist

Tengo ambos parametros añadidos en el metodo addParameterDefinitions

angelborroy
Community Manager Community Manager
Community Manager

¿Y tienes el parámetro en "configDef.parameterDefinitions" en la opción de "edit"? ¿Lo muestra en pantalla?

Hyland Developer Evangelist

Si , está definido y se muestra en pantalla. 

He conseguido solucionarlo eliminando del unshift lo referente al segundo parámetro:

,{
          type:"d:text",
          displayLabel : this.msg("action.label.pattern"),
          _destinationParam: "date-pattern"
       }

y añadiendo a continuación:

this._getParamDef(configDef, "date-pattern").isMandatory = true;
this._getParamDef(configDef, "date-pattern").displayLabel =
            this.msg("zylk-folderizer-action.label.pattern");

el resultado gráficamente sería: