Crear widgets personalizados

Puede utilizar la página Analytics de IBM Process Mining para crear widgets personalizados y analizar los datos en función de sus necesidades. También puede utilizar estos widgets personalizados para personalizar la forma en que se procesan y muestran sus datos.

Comprender los scripts para crear widgets personalizados

Puede utilizar los siguientes archivos para crear con éxito un widget personalizado:

frontend.js
Indica el archivo JavaScript que se ejecuta en su navegador para procesar y mostrar sus datos. Para obtener más información sobre el contenido del archivo frontend.js , consulte Comprender el archivo frontend.js.
view.html
Indica el archivo HTML que incluye el contenido de tu widget. Para obtener más información sobre el contenido del archivo view.html , consulte Comprender el archivo view.html.
style.css
Indica el archivo CSS que puedes utilizar para dar estilo a tu widget. Para obtener más información sobre el contenido del archivo style.css , consulte Comprender el archivo style.css.
schema
Indica la tabla de parámetros que puedes utilizar para añadir parámetros configurables en tu widget personalizado. Para más información sobre schema, consulte Comprender el esquema.
Nota: Para más información sobre backend.js, consulte las versiones anteriores de la documentación.

Descripción del archivo frontend.js

Utilizando las funciones siguientes, puede configurar el archivo frontend.js para que devuelva un objeto:

init(context)
Esta función se ejecuta al inicializar un widget. El parámetro context incluye dos propiedades: element y scope. La propiedad element indica el objeto jQuery que contiene el nodo DOM de su widget. La propiedad scope indica el contexto angular de tu widget. También puedes cambiar el elemento DOM de tu widget con jQuery o cambiar el ámbito con AngularJS.
update(data, context)
Esta función se ejecuta cada vez que se recarga el cuadro de mandos. El objeto data contiene los datos que pueden vincularse al ámbito para su visualización. El objeto context es similar al parámetro utilizado en la función init . Ejemplo:
 javascript
 update: function(data, context) {
 // set your data in scope so you can use it where you need
 context.scope.data = data;}
También puede utilizar jQuery o Underscore.js para modificar sus datos como se indica en el siguiente ejemplo. Ejemplo:
javascript
update: function(data, context) {
// set your data in scope after transforming it so you can use it where you need
context.scope.data = _.map(data, function(element) {
  return {
      name: element.id,
      text: element.value }; });}
resize(size, context)
Esta función se ejecuta cada vez que se cambia el tamaño del widget. El objeto size debe incluir las direcciones width y height del widget. El objeto context es similar al parámetro utilizado en la función init .
El siguiente código es un ejemplo de cómo se pueden recuperar datos de un widget de tabla de otro cuadro de mando:

return {
  init: function (context) {
    var org = context.scope.utils.organizationKey;
    //context.scope.utils.organizationKey makes it possible to retrieve the organization of the current dashboard.
    var pId = context.scope.utils.projectName;
    //context.scope.utils.projectName makes it possible to retrieve the project name of the current dashboard.
    var dSlug = 'beautiful-dashboard';
    var wId = 'simpletable';
    //wId is the widget's name.
    
    var callback = function(data){
      console.info('Data: ',data);
      //Here you can process the data get by the API.
      return data;
    }
    context.scope.utils.loadWidgetData('dataFromWidget', dSlug, wId,pId, org, callback);
    //dataFromWidget is the name of the attribute from which the data of the widget view can be retrieved. 
  },
  update: function (data, context) {},
  resize: function (size, context) {}
};

También puede utilizar un código compactado sin argumentos opcionales:

  init: function (context) {
    var dSlug = 'beautiful-dashboard';
    var wId = 'simpletable';
    context.scope.utils.loadWidgetData('dataFromWidget', dSlug, wId);
  },
//In the compacted code, organization and processId are retrieved from the currently chosen dashboard.
El slug del cuadro de mandos puede recuperarse del modelo de información del cuadro de mandos: Información del panel de control

Descripción del archivo view.html

El archivo view.html contiene el contenido del widget.

Puedes utilizar los siguientes helpers de angular para mostrar tus datos y cambiar elementos HTML basados en el contenido sin modificar el DOM con JavaScript:


<div>
  <p>widgetId: {{ widgetId }}</p>
  <p>utils.organizationKey: {{ utils.organizationKey }}</p>
  <p>utils.projectName: {{ utils.projectName }}</p>

  <table class="table table-striped table-condensed">
    <tr ng-repeat=" row in dataFromWidget " >
      <td>{{ row['attr-process']}}</td>
      <td>{{ row['attr-activity']}}</td>
      <td>{{ row['NOW']}}</td>
    </tr>
  </table>
</div>

Ejemplo El ejemplo siguiente describe el contenido de un archivo view.html basado en un archivo frontend.js .

Supongamos que el archivo frontend.js del widget personalizado incluye el script siguiente:

javascript
init: function(context) {
    context.scope.myVariable = 'Plugin widget test';
    context.scope.myIntVariable = 8;
}

Puede utilizar los scripts siguientes para crear un archivo view.html correspondiente:



<p>{{myVariable}}</p>


<p ng-if="myIntVariable > 5">{{myIntVariable | number}}</p>

Para obtener más información sobre la secuencia de comandos del archivo view.html , consulte la documentación de Angular.

Filtros avanzados

Además de los filtros angulares, puede utilizar el siguiente filtro personalizado en función de sus requisitos.

  • formatMeasure: parám

La tabla siguiente describe los diversos parámetros que puede utilizar con el filtro personalizado:

Parámetro Finalidad
auto Formateador automático
date Formateador de fecha con soporte de localización
datetime Formateador de fecha y hora con soporte de localización
duration Formateador de duración
number Formateador de números con soporte de localización
text Formateador de texto
percentage Formateador de porcentaje

El ejemplo siguiente describe cómo utilizar los filtros personalizados en el archivo view.html .



<p>{{myDateVariable | formatMeasure:'datetime'}}</p>

Descripción del archivo style.css

El archivo style.css contiene la hoja de estilo para el widget. Por ejemplo, el archivo style.css incluye el contenido:

p {
    font-size: 14px;
    color: red;
}
Nota: El widget creado se muestra en el estilo que se menciona en el archivo style.css .

Descripción del esquema

La tabla schema contiene parámetros opcionales que puede establecer en las opciones de widget.

Puede utilizar cualquiera de los tipos siguientes para definir parámetros en schema:

  • string
  • dimension

Creación de un widget personalizado de ejemplo

Para crear un widget personalizado, siga estos pasos:

  1. En la página Proyectos, abra el proceso deseado.

  2. Abra la página Analytics y abra el panel en el que desea crear el widget personalizado.

  3. En el panel de control, haga clic en Editar.

  4. En el panel de widgets, haga clic en el icono Personalizar y, a continuación, en Nuevo.

    Widget personalizado

    Nota: Puede elegir cualquiera de los widgets del menú o crear un widget personalizado utilizando los scripts que se mencionan en el apartado Comprender los scripts para crear widgets personalizados.
  5. En el recuadro de mensaje Los cambios pendientes se perderán , pulse .

  6. En el recuadro Nombre de la pestaña Información , escriba un nombre para el widget personalizado.

    Nombre de widget

    Importante: No incluya espacios ni caracteres especiales en el nombre de los widgets personalizados.
  7. En el panel izquierdo, haga clic en Esquema y, a continuación, en Añadir nueva propiedad para gestionar las entradas de los usuarios. Por ejemplo, puede pedir a los usuarios que introduzcan su nombre en el widget definiendo un parámetro Nombre como se indica en la siguiente figura. Tenga en cuenta que esta es una característica opcional que puede establecer para el widget.

    Esquema de widget

  8. En el panel izquierdo, pulse frontend.jsy, a continuación, utilice las funciones que se mencionan en Comprender el archivo frontend.js para definir el script.

    Archivo frontal

  9. En el panel izquierdo, pulse view.htmly, a continuación, utilice las funciones que se mencionan en Comprender el archivo view.html para definir el script.

    Ver archivo

  10. Pulse Guardar.

El nuevo widget aparece en la lista de widgets personalizados.