Mostra paginaRevisioni precedentiPuntano quiEsporta in PDFTorna su Questa pagina è in sola lettura. Puoi visualizzare il sorgente, ma non puoi modificarlo. Contatta l'amministratore se pensi che ci sia un errore. ====== [select|insert|update|delete|manage] gwClass record ====== Esistono tutta una serie di function predefinite per selezionare, inserire, modificare, cancellare, gestire i record di Classe. In genrale, è possibile eseguire callback ad azione eseguita, e errorCallback in caso di errore. * [[:custom:api_js_x_class_record#selectGwClassRecord|selectGwClassRecord()]] * [[:custom:api_js_x_class_record#selectGwClassRecordByCode|selectGwClassRecordByCode()]] * [[:custom:api_js_x_class_record#selectGwClassRecordRaw|selectGwClassRecordRaw()]] * [[:custom:api_js_x_class_record#selectGwClassRecords|selectGwClassRecords()]] * [[:custom:api_js_x_class_record#selectGwClassRecordsRaw|selectGwClassRecordsRaw()]] * [[:custom:api_js_x_class_record#insertGwClassRecord|insertGwClassRecord()]] * [[:custom:api_js_x_class_record#updateGwClassRecord|updateGwClassRecord()]] * [[:custom:api_js_x_class_record#deleteGwClassRecord|deleteGwClassRecord()]] * [[:custom:api_js_x_class_record#manageGwClassRecords|manageGwClassRecords()]] ===== selectGwClassRecord() ===== Seleziona un singolo record, dato itemId e gwClassName. Se l'itemId non è riconosciuto la callback è invocata con null come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. Se il gwRecord esiste, ma l'utente non ha il permesso di visualizzazione su di esso, un'eccezione è generata, e la errorCallback è invocata con il messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required * **itemId** String, required * **callback** function, optional. Funzione eseguita con primo parametro l'item (Il record ritornato come argomento può essere nullo se non trovato in base ai parametri forniti) e come secondo parametro altre informazioni contenti metadati * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Non usato al momento === Esempi === <code javascript> var gwClassName = 'class_name'; var itemId = '123'; var callback = function(item){ alert('hello '+item.name); }; selectGwClassRecord(gwClassName, itemId, callback); </code> <code javascript> var gwClassName = 'class_name'; var itemId = '123'; var callback = function(item){ invisibleStandbyWidget.hide(); //optionally alert('hello '+item.name); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = {}; selectGwClassRecord(gwClassName, itemId, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> ===== selectGwClassRecordByCode() ===== Seleziona un singolo record, dato code, codeField e gwClassName. Se nessun record è trovato dati i parametri in ingresso la callback è invocata con null come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. Se il gwRecord esiste, ma l'utente non ha il permesso di visualizzazione su di esso, un'eccezione è generata, e la errorCallback è invocata con il messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required. Name della gwClass * **code** String|Number, required. Codice, si presume univoco, del record * **codeField** String, required. Nome del campo della tabella che ospita il codice * **callback** function, optional. Funzione eseguita con primo parametro l'item (Il record ritornato come argomento può essere nullo se non trovato in base ai parametri forniti) e come secondo parametro altre informazioni contenti metadati * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Non usato al momento === Esempi === <code javascript> var gwClassName = 'class_name'; var code = 'abc_123'; var codeField = 'cod_field'; var callback = function(item, metadata){ alert('hello '+item.name); }; selectGwClassRecordByCode(gwClassName, code, codeField, callback); </code> <code javascript> var gwClassName = 'class_name'; var code = 'abc_123'; var codeField = 'cod_field'; var callback = function(item, metadata){ invisibleStandbyWidget.hide(); //optionally alert('hello '+item.name); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { }; selectGwClassRecordByCode(gwClassName, code, codeField, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> ===== selectGwClassRecordRaw() ===== **(dalla 4.6.8)** Seleziona un singolo record, dato itemId e gwClassName. Se l'itemId non è riconosciuto la callback è invocata con null come parametro. 'Raw' significa che il record è restituito cosi come è sul DB (i nomi dei campi (le chiavi del resultse) di widget come dbComboBoxWidget etc.. sono alterate nel nome nel selectGwClassRecord() standard). Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. Se il gwRecord esiste, ma l'utente non ha il permesso di visualizzazione su di esso, un'eccezione è generata, e la errorCallback è invocata con il messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required * **itemId** String, required * **callback** function, optional. Funzione eseguita con primo parametro l'item (Il record ritornato come argomento può essere nullo se non trovato in base ai parametri forniti) e come secondo parametro altre informazioni contenti metadati * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Non usato al momento === Esempi === <code javascript> var gwClassName = 'class_name'; var itemId = '123'; var callback = function(item){ alert('hello '+item.name); }; selectGwClassRecordRaw(gwClassName, itemId, callback); </code> <code javascript> var gwClassName = 'class_name'; var itemId = '123'; var callback = function(item){ alert('hello '+item.name); }; var errorCallback = function(errorMessage){ showErrorDialog(errorMessage); }; var options = {}; selectGwClassRecordRaw(gwClassName, itemId, callback, errorCallback, options); </code> ===== selectGwClassRecords() ===== Seleziona tutti i record, dati una lista di filtri e gwClassName. Vengono in automatico applicati tutte le eventuali restrizioni imposte dai permessi statici e dinamici configurati. Se nessun record è trovato dati i parametri in ingresso la callback è invocata con un array vuoto ([]) come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required. Name della gwClass * **filters ** Object[], required. Lista di oggetti filtro, costruiti nella forma: <code javascript> [{columnName: 'status', condition: 'AND', filterType: 'STRING', operator: '=', value: 'CLO'}, ..] </code> * **sort** String, optional. Elenco criteri di ordinamento, separati da virgola (','). Anteporre, opzionalmente, '+' per ordinamento ascendente (default). Anteporre '-' per ordinamento discendente (FROM VERSION 4.4.5) * **callback** function, optional. Funzione eseguita con primo parametro l'item (Il record ritornato come argomento può essere nullo se non trovato in base ai parametri forniti) e come secondo parametro altre informazioni contenti metadati * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Non usato al momento === Esempi === <code javascript> var gwClassName = 'class_name'; var filters = [{columnName: 'drawing', condition: 'AND', filterType: 'INTEGER', operator: 'IN', value: ['1', '2', '3']}]; var sort = null; var callback = function(items){ //items is a Object[] alert('hello '+items[0].name); }; selectGwClassRecords(gwClassName, filters, sort, callback); </code> <code javascript> var gwClassName = 'class_name'; var filters = [{columnName: 'drawing', condition: 'AND', filterType: 'INTEGER', operator: 'IN', value: ['1', '2', '3']}]; var callback = function(items){ //items is a Object[] alert('hello '+items[0].name); }; selectGwClassRecords(gwClassName, filters, sort, callback); </code> <code javascript> var gwClassName = 'class_name'; var filters = [{columnName: 'drawing', condition: 'AND', filterType: 'INTEGER', operator: 'IN', value: ['1', '2', '3']}]; var sort = 'cod_status,-start_date,+priority'; var callback = function(items){ invisibleStandbyWidget.hide(); //optionally //items is a Object[] alert('hello '+items[0].name); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { }; selectGwClassRecords(gwClassName, filters, sort, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> <code javascript> var gwClassName = 'class_name'; var filters = [{columnName: 'drawing', condition: 'AND', filterType: 'INTEGER', operator: 'IN', value: ['1', '2', '3']}]; var callback = function(items){ invisibleStandbyWidget.hide(); //optionally //items is a Object[] alert('hello '+items[0].name); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { }; selectGwClassRecords(gwClassName, filters, sort, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> ===== selectGwClassRecordsRaw() ===== **(dalla 4.6.8)** Seleziona tutti i record, dati una lista di filtri e gwClassName. 'Raw' significa che il record è restituito cosi come è sul DB (i nomi dei campi (le chiavi del resultse) di widget come dbComboBoxWidget etc.. sono alterate nel nome nel selectGwClassRecord() standard). Vengono in automatico applicati tutte le eventuali restrizioni imposte dai permessi statici e dinamici configurati. Se nessun record è trovato dati i parametri in ingresso la callback è invocata con un array vuoto ([]) come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required. Name della gwClass * **filters ** Object[], required. Lista di oggetti filtro, costruiti nella forma: <code javascript> [{columnName: 'status', condition: 'AND', filterType: 'STRING', operator: '=', value: 'CLO'}, ..] </code> * **sort** String, optional. Elenco criteri di ordinamento, separati da virgola (','). Anteporre, opzionalmente, '+' per ordinamento ascendente (default). Anteporre '-' per ordinamento discendente (FROM VERSION 4.4.5) * **callback** function, optional. Funzione eseguita con primo parametro l'item (Il record ritornato come argomento può essere nullo se non trovato in base ai parametri forniti) e come secondo parametro altre informazioni contenti metadati * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Non usato al momento === Esempi === <code javascript> var gwClassName = 'class_name'; var filters = [{columnName: 'drawing', condition: 'AND', filterType: 'INTEGER', operator: 'IN', value: ['1', '2', '3']}]; var sort = null; var callback = function(items){ //items is a Object[] alert('hello '+items[0].name); }; selectGwClassRecordsRaw(gwClassName, filters, sort, callback); </code> <code javascript> var gwClassName = 'class_name'; var filters = [{columnName: 'drawing', condition: 'AND', filterType: 'INTEGER', operator: 'IN', value: ['1', '2', '3']}]; var sort = null; var callback = function(items){ //items is a Object[] alert('hello '+items[0].name); }; var errorCallback = function(errorMessage){ showErrorDialog(errorMessage); }; var options = { }; selectGwClassRecordsRaw(gwClassName, filters, sort, callback, errorCallback, options); </code> ===== insertGwClassRecord() ===== Inserisce un singolo record, data il record e gwClassName. In caso di successo la callback è invocata con l'oggetto serverResponse come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required. Name della gwClass * **valuesMap** Object[], required. Oggetto javascript le cui proprietà sono i gwAttribute columnName <code javascript> {prop_1: 'abc', prop_2: 123} </code> * **callback** function, optional. Funzione eseguita con primo parametro la serverResponse (oggetto che contiene un flag success, una description, e una mappa responseHashMap contenente, fra l'altro, l'identificativo del record appena creato: itemId) * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Parametri: * **silent** Boolean, optional, default true. Flag che quando posto a true fa si che ad azione eseguita, ne venga fatto il relativo dojo //publish// lato client. Questo //publish// dell'evento permette che tutti i componenti e le schede aperte, potenzialmente interessate al risultato dell'azione, possano effettaure il refresh. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. * **exclusionIds** String, optional. Valutato solo quando //silent// è post a false. E' un unica stringa contenente gli id, separati da virgola [,], dei componenti i quali non devono elaborare in alcun modo la notifica del publish. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. === Esempi === <code javascript> var gwClassName = 'class_name'; var valuesMap = { column_name: 'value' }; var callback = function(serverResponse){ var description = serverResponse.description; var itemId = serverResponse.responseHashMap.itemId; var gwClassName = serverResponse.responseHashMap.gwClassName; var gwProjectName = serverResponse.responseHashMap.gwProjectName; alert(itemId); }; insertGwClassRecord(gwClassName, valuesMap, callback); </code> <code javascript> var gwClassName = 'class_name'; var valuesMap = { column_name: 'value' }; var callback = function(serverResponse){ invisibleStandbyWidget.hide(); //optionally var description = serverResponse.description; var itemId = serverResponse.responseHashMap.itemId; var gwClassName = serverResponse.responseHashMap.gwClassName; var gwProjectName = serverResponse.responseHashMap.gwProjectName; alert(itemId); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { silent: false, exclusionIds: null }; insertGwClassRecord(gwClassName, valuesMap, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> ===== updateGwClassRecord() ===== Modifica un singolo record, dato un oggetto contenente le modifiche per i vari campi e la gwClassName. In caso di successo la callback è invocata con l'oggetto serverResponse come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required. Name della gwClass * **valuesMap** Object[], required. Oggetto javascript le cui proprietà sono i gwAttribute columnName. Fra questi deve essere anche sempre presente il campo configurato come chiave primaria per la gwClass (keyColumnName) <code javascript> {pk_column_name: 1, prop_1: 'abc', prop_2: 123} </code> * **callback** function, optional. Funzione eseguita con primo parametro la serverResponse (oggetto che contiene un flag success, una description, e una mappa responseHashMap contenente, fra l'altro, l'identificativo del record appena creato: itemId) * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Parametri: * **silent** Boolean, optional, default true. Flag che quando posto a true fa si che ad azione eseguita, ne venga fatto il relativo dojo //publish// lato client. Questo //publish// dell'evento permette che tutti i componenti e le schede aperte, potenzialmente interessate al risultato dell'azione, possano effettaure il refresh. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. * **exclusionIds** String, optional. Valutato solo quando //silent// è post a false. E' un unica stringa contenente gli id, separati da virgola [,], dei componenti i quali non devono elaborare in alcun modo la notifica del publish. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. === Esempi === <code javascript> var gwClassName = 'class_name'; var valuesMap = { pk_column_name: 1234, column_name: 'value' }; var callback = function(serverResponse){ var description = serverResponse.description; var itemId = serverResponse.responseHashMap.itemId; alert(itemId); }; updateGwClassRecord(gwClassName, valuesMap, callback); </code> <code javascript> var gwClassName = 'class_name'; var valuesMap = { pk_column_name: 1234, column_name: 'value' }; var callback = function(serverResponse){ invisibleStandbyWidget.hide(); //optionally var description = serverResponse.description; var itemId = serverResponse.responseHashMap.itemId; var gwClassName = serverResponse.responseHashMap.gwClassName; var gwProjectName = serverResponse.responseHashMap.gwProjectName; alert(itemId); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { silent: false, exclusionIds: null }; updateGwClassRecord(gwClassName, valuesMap, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> ===== deleteGwClassRecord() ===== Elimina un singolo record, dati l'itemId e la gwClassName. In caso di successo la callback è invocata con l'oggetto serverResponse come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. === Parametri === * **gwClassName** String, required. Name della gwClass * **itemId** String|Number, required. Identificativo del record. E' la stessa entità itemId ritornata nella callback della api insertGwClassRecord() * **callback** function, optional. Funzione eseguita con primo parametro la serverResponse (oggetto che contiene un flag success, una description, e una mappa responseHashMap contenente, fra l'altro, l'identificativo del record appena creato: itemId) * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Parametri: * **silent** Boolean, optional, default false. Flag che quando posto a true fa si che ad azione eseguita, ne venga fatto il relativo dojo //publish// lato client. Questo //publish// dell'evento permette che tutti i componenti e le schede aperte, potenzialmente interessate al risultato dell'azione, possano effettaure il refresh. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. * **exclusionIds** String, optional. Valutato solo quando //silent// è post a false. E' un unica stringa contenente gli id, separati da virgola [,], dei componenti i quali non devono elaborare in alcun modo la notifica del publish. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. === Esempi === <code javascript> var gwClassName = 'class_name'; var itemId = '123'; var callback = function(serverResponse){ var description = serverResponse.description; var itemId = serverResponse.responseHashMap.itemId; var gwClassName = serverResponse.responseHashMap.gwClassName; var gwProjectName = serverResponse.responseHashMap.gwProjectName; alert(itemId); }; deleteGwClassRecord(gwClassName, itemId, callback); </code> <code javascript> var gwClassName = 'class_name'; var itemId = '123'; var callback = function(serverResponse){ invisibleStandbyWidget.hide(); //optionally var description = serverResponse.description; var itemId = serverResponse.responseHashMap.itemId; var gwClassName = serverResponse.responseHashMap.gwClassName; var gwProjectName = serverResponse.responseHashMap.gwProjectName; alert(itemId); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { silent: false, exclusionIds: null }; deleteGwClassRecord(gwClassName, itemId, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> ===== manageGwClassRecords() ===== Function di utilità che permette di eseguire in un'unica invocazione l'inserimento, la modifica, la cancellazione di più record, dati le liste con i set delle modifiche e la gwClassName. In caso di successo la callback è invocata con l'oggetto serverResponse come parametro. Se il gwClassName usato fa riferimento ad una classe non esistente, un'eccezione è generata, e la errorCallback è invocata con messaggio d'errore (string) come parametro. Se un qualsiasi errore, compresi anche quelli dovuti alla mancanza dei permessi da parte dell'utente, dovesse occorrere durante l'esecuzione. === Parametri === * **gwClassName** String, required. Name della gwClass * **addList** Object[], optional. Lista dei record da inserire. Ogni elemento della lista segue le stesse convenzioni del parametro //valuesMap// della api js [[:custom:api_js_x_class_record#insertGwClassRecord|insertGwClassRecord()]] * **updateList ** Object[], optional. Lista dei record da modificare. Ogni elemento della lista segue le stesse convenzioni del parametro //valuesMap// della api js [[:custom:api_js_x_class_record#updateGwClassRecord|updateGwClassRecord()]] * **removeList** String[]|Number[], optional. Lista degli identificativi dei reord da rimuovere. Ogni elemento della lista segue le stesse convenzioni del parametro //itemId// della api js [[:custom:api_js_x_class_record#deleteGwClassRecord|deleteGwClassRecord()]] * **callback** function, optional. Funzione eseguita con primo parametro la serverResponse (oggetto che contiene un flag success, una description, e una mappa responseHashMap contenente, fra l'altro, addedItemIdList, updatedItemIdList, removedItemIdList) * **errorCallback ** function, optional. Funzione eseguita in caso di errore, con il messaggio di errore (string) come parametro * **options ** Object, optional. Parametri: * **silent** Boolean, optional, default true. Flag che quando posto a true fa si che ad azione eseguita, ne venga fatto il relativo dojo //publish// lato client. Questo //publish// dell'evento permette che tutti i componenti e le schede aperte, potenzialmente interessate al risultato dell'azione, possano effettaure il refresh. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. * **exclusionIds** String, optional. Valutato solo quando //silent// è post a false. E' un unica stringa contenente gli id, separati da virgola [,], dei componenti i quali non devono elaborare in alcun modo la notifica del publish. Non ne dovrebbe essere in generale mai necessario l'utilizzo da parte dell'utente configuratore. === Esempi === <code javascript> var gwClassName = 'class_name'; var addList = [ { column_name_1: 'value', column_name_2: 2 }, .. ]; var updateList = [ { pk_column_name: 1234, column_name_1: 'value', column_name_2: 2 }, .. ]; var removeList = ['123', '456', ..]; manageGwClassRecords(gwClassName, addList, updateList, removeList); </code> <code javascript> var gwClassName = 'class_name'; var addList = [ { column_name_1: 'value', column_name_2: 2 }, .. ]; var updateList = [ { pk_column_name: 1234, column_name_1: 'value', column_name_2: 2 }, .. ]; var removeList = ['123', '456', ..]; var callback = function(serverResponse){ invisibleStandbyWidget.hide(); //optionally var description = serverResponse.description; var addedItemIdList = serverResponse.responseHashMap.addedItemIdList; var updatedItemIdList = serverResponse.responseHashMap.updatedItemIdList; var removedItemIdList= serverResponse.responseHashMap.removedItemIdList; alert(description); }; var errorCallback = function(errorMessage){ invisibleStandbyWidget.hide(); //optionally showErrorDialog(errorMessage); }; var options = { silent: false, exclusionIds: null }; manageGwClassRecords(gwClassName, addList, updateList, removeList, callback, errorCallback, options); invisibleStandbyWidget.show(); //optionally </code> custom/api_js_x_class_record.txt Ultima modifica: 2024/04/18 15:27da andrea.bocconi