Helper JavaScript per usare le API di DocsMarshal

Questa utility consente di usare le API di DocsMarshal in modo semplice da qualsiasi browser web moderno.
Lo script si appoggia a jQuery ed effettua richieste HTTP asincrone così che il browser rimanga responsive durante l'interazione con DM.

Requisiti

Per un corretto funzionamento dell'applicativo occorre includere nel corretto ordine le seguenti dipendenze:

  • Stili Tema
    DocsMarshalPortal offre nella sezione di configuration un Theme Builder, ovvero un'interfaccia che consente di configurare l'aspetto di DocsMarshal.
    Il Theme Builder consente di configurare due diversi temi: backend e frontend.
    • Backend (/DevExtremeThemeBackend)
      Il tema di backend è utilizzato di default da DocsMarshal nel normale utilizzo del sito.
    • Frontend (/DevExtremeThemeFrontend)
      Il tema di frontend non viene mai utilizzato da DocsMarshalPortal: il suo scopo è quello di essere utilizzato da siti satellite che utilizzano le API di DocsMarshal e che desiderano usufruire della funzionalità del ThemeBuilder per definire l'aspetto del sito custom e dei componenti DocsMarshal.
      Se si desidera che il tema configurato con il ThemeBuilder sia applicato a tutto il sito, e non solamente ai componenti di DocsMarshal, allora va applicata la classe CSS "dx-viewport" all'elemento <body>.
  • Stili DocsMarshal
  • jQuery (versione minima: 3.6.0)

    Includendo questa dipendenza direttamente da DocsMarshalPortal si ha la certezza di utilizzare la versione corretta, e di ricevere in automatico eventuali aggiornamenti necessari in versioni future.

  • Script DevExtreme
  • Localization
    Lo script /Localization/XX definisce la lingua di localizzazione dei componenti. La lingua influenza sia i testi mostrati all'utente che il formato utilizzato per visualizzare date e numeri.
    Sono disponibili le seguenti traduzioni:
    • Italiano (/IT)
    • Inglese (/EN)
  • Script DocsMarshal

Il seguente snippet esemplifica il modo corretto di includere tutti i riferimenti necessari:

<link href="https://dm.vacanzecolcuore.com/Content/DevExtremeThemeFrontend" rel="stylesheet" crossorigin="anonymous" />
<link href="https://dm.vacanzecolcuore.com/Style/DocsMarshal" rel="stylesheet" crossorigin="anonymous" />
<script src="https://dm.vacanzecolcuore.com/Scripts/jQuery"></script>
<script src="https://dm.vacanzecolcuore.com/Scripts/DevExtreme"></script>
<script src="https://dm.vacanzecolcuore.com/Scripts/Localization/IT"></script>
<script src="https://dm.vacanzecolcuore.com/Scripts/DocsMarshal"></script>

Note sull'utilizzo

L'API mette a disposizione l'oggetto DM, che espone parte dell'API, e aggiunge dei plugin a jQuery per fornire alcuni componenti.

Autenticazione

L'autenticazione verso l'API funziona tramite il passaggio del SessionId che identifica la sessione dell'utente connesso. È possibile passare il SessionId in due modi:

  1. Chiamare una volta prima del primo utilizzo della API il metodo DM.setSessionId('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'), che si occuperà di iniettare automaticamente il SessionId in tutte le chiamate successive;
    (metodo consigliato)
  2. Passare ad ogni chiamata della API esplicitamente il parametro SessionId.

URL del portal

È disponibile un metodo di utilità per ricavare URL del portal partendo da un path relativo.
Il metodo aggiunge automaticamente il SessionId specificato con DM.setSessionId().
Il metodo offre questi overload:

var url = DM.getPortalUrl('/Grid/Tasks');
var url = DM.getPortalUrl('/Tools/Dashboard', {
    DashboardExternalId: 'ProdKPI',
    ObjectState: 'InVendita'
});

Entities

Oggetto Descrizione
DM.Entities.Profile Entità rappresentante un profilo di DocsMarshal in JavaScript

Utility JS

Oggetto Descrizione
DM.Broadcast Permette di gestire notifiche su canali Broadcast cross-tab
DM.Utility.TaskWatcher Monitora e notifica la ricezione di nuovi task.

JQuery Plugins

Oggetto Descrizione
$().dmProfileInsert Componente per l'inserimento di un profilo.
$().dmProfileUpdate Componente per la modifica di un profilo.
$().dmProfileView Componente per la visualizzazione di un profilo.
$().dmViewWizard Componente per la configurazione delle Views.
$().dmSecurityIdentityPicker Componente per la selezione delle Security Identities.
$().dmRepeater Componente per la ripetizione grafica di profili di una ricerca.
$().dmScheduler Componente per la visualizzazione di uno Scheduler DocsMarshal.
$().dmProcessFollower Componente per la visualizzazione di un Processo DocsMarshal.
$().dmPopup Componente per la creazione di una finestra a comparsa.
$().dmTask Componente per la visualizzazione ed esecuzione di un task.
$().dmTaskAdmin Componente per la visualizzazione da amministratore di un task.
$().dmGantt Componente per la visualizzazione di un Gantt.

Templates

Oggetto Descrizione
Custom Item Documentazione relativa alla creazione di un custom item da utilizzare nelle maschere DocsMarshal.
Mask Template Documentazione relativa alla creazione di un mask template da poter utilizzare nelle pagine di DocsMarshal.