Funzionalità aggiuntive di Windchill > Gestione dati assistenza > Personalizzazione di Windchill Service Information Manager e Windchill Service Parts > Panoramica della personalizzazione dell'effettività del servizio > Creazione di un pannello di configurazione di effettività del servizio personalizzato
  
Creazione di un pannello di configurazione di effettività del servizio personalizzato
È possibile personalizzare i campi visualizzati nelle finestre di dialogo di aggiunta/modifica e nel filtro di effettività del servizio per l'assegnazione dei valori a un determinato attributo di un oggetto di effettività del servizio.
Questo argomento illustra come creare un pannello di configurazione con i campi riportati di seguito. Il pannello è l'area sotto ai campi Tipo e Contesto.
Notare i requisiti riportati di seguito:
1. Una classe Java che estende la classe ServiceEffectivityConfigType
Fare riferimento alla classe riportata di seguito come esempio (ignorare le interruzioni di riga):
codebase\com\ptc\arbortext\windchill\serviceEffectivityFilter\client\ui
\renderers\configTypes\SerialNumberDateConfigType.class
2. La classe utilizza i layout e i componenti di GXT per i campi desiderati.
3. L'attributo e la classe personalizzata ServiceEffectivityConfigType vengono registrati nel file ServiceEffectivityConfig.xml.
Per informazioni, fare riferimento a Personalizzazione effettività del servizio.
Riepilogo dei metodi
I metodi obbligatori descritti di seguito vengono ereditati dalla classe ServiceEffectivtityConfigType e devono essere sovrascritti o implementati. Ulteriori dettagli per ciascun metodo sono disponibili nelle sezioni successive.
renderConfigType()
resetConfigType()>
getLocalizedLabel()
populateConfigType(JSONObject jsonObject)
isContextMandatory()
addDetailSummary()
initializeConfigType(JSONObject innerObject)
addConfigType()
getJsonFromFields()
getAllowAddingConfigType()
renderConfigType()
Questo metodo consente di creare il pannello e i campi contenuti.
Nell'esempio, le voci riportate di seguito consentono di configurare i campi:
Il pannello di base è rappresentato da una voce ContentPanel
La voce ContentPanel include le voci NoLegendFieldSet per le aree Numero di serie e data e Riepilogo.
La voce FieldSet per l'area Numero di serie e data contiene una voce HorizontalPanel per i campi Numero di serie e una voce per i campi Data.
La voce HorizontalPanel per i campi Numero di serie contiene le voci Radio e TextField per la rappresentazione dei due tipi di informazioni che è possibile specificare.
La voce HorizontalPanel per i campi Data contiene le voci DateTimePicker.
La voce FieldSet per il testo visualizzato nel campo Riepilogo viene aggiornata quando si modifica uno degli altri valori del campo.
Con questo metodo, i listener facoltativi vengono aggiunti ai campi per controllare i valori validi e lo stato di attivazione/disattivazione dei campi e dei pulsanti.
resetConfigType()
Questo metodo cancella e reimposta tutti i campi e viene utilizzato con le seguenti azioni:
Aggiunta di criteri alla tabella Da applicare nella scheda del filtro di effettività del servizio.
Selezione del pulsante Applica durante l'aggiunta dell'effettività del servizio.
Rimozione del contesto, se l'azione è obbligatoria.
Nell'esempio, questo metodo consente inoltre di disattivare tutti i campi per garantire che il contesto venga scelto prima di procedere. Il contesto è obbligatorio per il tipo di effettività del servizio.
getLocalizedLabel()
Questo metodo restituisce la stringa della risorsa localizzata per il tipo di effettività del servizio.
Per utilizzare il nome visualizzato per l'attributo che viene registrato nell'utilità Gestione tipi e attributi, ripristinare la voce getDisplayName(), impostata con questo valore nella superclasse.
populateConfigType(JSONObject jsonObject)
Quando si creano i criteri filtro o un oggetto ServiceEffectivity, i valori del campo vengono convertiti in un oggetto JSONObject. Questo metodo recupera l'oggetto JSONObject, legge i valori del campo e li utilizza per completare nuovamente i campi nell'interfaccia utente.
Viene utilizzato quando si eseguono le azioni riportate di seguito.
Una riga viene selezionata nella tabella Da applicare del filtro.
La scheda del filtro viene riaperta quando si applica un filtro.
Si applica un filtro salvato e la scheda viene riaperta.
Si modifica un oggetto ServiceEffectivity esistente.
L'oggetto JSONObject può disporre di qualsiasi attributo e valore, ma richiede un delegato di filtro personalizzato in grado di leggerli e gestirli.
isContextMandatory()
Specifica se il campo del contesto è obbligatorio per il tipo di effettività del servizio selezionato. Può essere utilizzato per verificare se i campi vengono disattivati quando l'opzione non è impostata e se vengono cancellati durante la rimozione del contesto.
addDetailSummary()
Viene utilizzato solo se è stato creato l'insieme di campi Riepilogo. Aggiorna il testo all'interno del campo. Se il campo Riepilogo non è obbligatorio, non è necessario implementare questo metodo.
initializeConfigType(JSONObject innerObject)
Se l'oggetto JSONObject rappresenta i campi di effettività del servizio, questo metodo viene utilizzato nella scheda del filtro per inizializzare i modelli nella tabella Da applicare durante il completamento della scheda.
addConfigType()
Nella scheda del filtro Effettività servizio, questo metodo crea il modello e lo aggiunge alla tabella Da applicare.
detail rappresenta la stringa visualizzata nella colonna Valore della tabella.
Esempio:
JSONObject latestJSON = getJsonFromFields();
String detail = valueText.getRawValue();
SETabInfoModel cm = new SETabInfoModel(getLocalizedLabel(),
ServiceEffectivityHelper.
getEffContextAsStringFromWidget(getEffContext(), true), detail, latestJSON,
getConfigTypeId());
return cm;
getJsonFromFields()
Questo metodo consente di creare un oggetto JSONObject dai valori impostati nei campi. Questo oggetto è differente per ciascun tipo di effettività del servizio e viene gestito mediante il delegato di filtro.
getAllowAddingConfigType()
Questo metodo restituisce la proprietà booleana allowAddingConfigType che viene utilizzata per attivare/disattivare i pulsanti sulle forme se i campi non superano la convalida.