{"id":28404,"date":"2022-03-27T17:02:40","date_gmt":"2022-03-27T15:02:40","guid":{"rendered":"https:\/\/help.qualiware.it\/qw-help\/?p=28404"},"modified":"2023-01-28T19:13:10","modified_gmt":"2023-01-28T18:13:10","slug":"fd-oggetto-client","status":"publish","type":"post","link":"https:\/\/help.qualiware.it\/qw-help\/fd-oggetto-client\/","title":{"rendered":"OGGETTO CLIENT"},"content":{"rendered":"<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Descrizione<\/h4>\n<p>Consente di creare un oggetto in puro Javascript, consentendo cos\u00ec di utilizzare anche tipologie di oggetto differenti da quelle disponibili nella palette del Form Designer. E&#8217; anche possibile utilizzare oggetti di librerie esterne con la possibilit\u00e0 di specificare le URL degli script e dei CSS che ne costituiscono l&#8217;implementazione.<\/p>\n<p>Questo oggetto \u00e8 utilizzabile solo sulla piattaforma web desktop.<\/p>\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Propriet\u00e0 specifiche<\/h4>\n<ul>\n<li><strong><span style=\"color: #993300;\">ExternalScripts<\/span><\/strong>: consente di specificare una o pi\u00f9 URL degli script che implementano l&#8217;oggetto, nel caso questo non sia implementato dalle librerie standard di QualiWare.<\/li>\n<li><strong><span style=\"color: #993300;\">ExternalCSS<\/span><\/strong>: consente di specificare una o pi\u00f9 URL dei fogli di stile CSS che implementano l&#8217;oggetto, nel caso questo non sia implementato dalle librerie standard di QualiWare.<\/li>\n<\/ul>\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Eventi specifici<\/h4>\n<ul>\n<li><span style=\"color: #800000;\"><b>EventoRenderObject<\/b>:<\/span> evento attivato alla prima visualizzazione del form e in tutti i successivi postback. Pu\u00f2 essere utilizzato per specificare l&#8217;HTML che implementa l&#8217;oggetto. In questo caso deve prevedere l&#8217;istruzione &#8220;Return&#8221; che restituisce una variabile stringa che contiene l&#8217;HTML stesso.<\/li>\n<li><span style=\"color: #800000;\"><b>EventoRenderObjectClient<\/b>:<\/span> evento lato client attivato alla prima visualizzazione del form e in tutti i successivi postback. Deve essere scritto in linguaggio Javascript e deve essere utilizzato per inizializzare l&#8217;oggetto, assegnargli il valore e salvare il valore ad ogni cambiamento.<\/li>\n<\/ul>\n<p>Per maggiori informazioni sugli eventi leggi <a href=\"https:\/\/help.qualiware.it\/qw-help\/fd-eventi\">qui<\/a>.<\/p>\n<h4 align=\"left\"><a name=\"progettazione_form_proprieta\"><\/a>Propriet\u00e0 utilizzabili da codice lato Server (VB.NET\/C#)<\/h4>\n<ul>\n<li><strong><span style=\"color: #993300;\">Value<\/span>: <\/strong>se <em>True<\/em> restituisce il testo contenuto nell&#8217;oggetto.<\/li>\n<li><strong><span style=\"color: #993300;\">Visible<\/span>:&nbsp;<\/strong>se&nbsp;<em>True<\/em> il campo lo si rende visibile nel form, in caso contrario lo si assegna con <em>False<\/em>.<\/li>\n<\/ul>\n<h4 align=\"left\"><a name=\"eventi_form\"><\/a>Metodi utilizzabili da codice lato Client (Javascript)<\/h4>\n<ul>\n<li><strong><span style=\"color: #993300;\">show()<\/span>:&nbsp;<\/strong>visualizza l&#8217;oggetto.<\/li>\n<li><strong><span style=\"color: #993300;\">hide()<\/span>:&nbsp;<\/strong>nasconde l&#8217;oggetto.<\/li>\n<li><strong><span style=\"color: #993300;\">setValue(&lt;value&gt;)<\/span>: <\/strong>assegna il valore &lt;value&gt; all&#8217;oggetto.<\/li>\n<li><strong><span style=\"color: #993300;\">getValue()<\/span>: <\/strong>restituisce il valore dell&#8217;oggetto.<\/li>\n<\/ul>\n<p><strong>Suggerimenti per l&#8217;utilizzo<\/strong><\/p>\n<p>Grazie all&#8217;oggetto Client, \u00e8 possibile estendere, virtualmente senza limiti, le possibilit\u00e0 offerte dal Form Designer. andando ben oltre l&#8217;insieme di oggetti messi a disposizione nella palette.&nbsp;<br \/>\nUn oggetto Client \u00e8 implementato da oggetti nativi HTML che vengono trasformati nell&#8217;oggetto vero e proprio da apposite procedure contenute in librerie Javascript che possono essere quelle standard di QualiWare o altre che possono essere caricate da CDN o dal server di QualiWare stesso, e le cui URL vengono specificate nelle propriet\u00e0 <strong>ExternalScripts<\/strong> e <strong>ExternalCSS<\/strong>.<\/p>\n<p>Per consentire la memorizzazione e l&#8217;utilizzo dei valori inseriti in questa tipologia di oggetti, QualiWare consente di collegarli ai campi custom, esattamente come avviene per gli altri oggetti. Lato client, \u00e8 possibile assegnare e salvare i valori molto facilmente utilizzando i metodi <strong>setValue<\/strong> e <strong>getValue<\/strong>.<\/p>\n<p>L&#8217;HTML da utilizzare deve essere specificato utilizzando l&#8217;<strong>EventoRenderObject<\/strong>, mentre l&#8217;inizializzazione dell&#8217;oggetto lato client deve essere effettuata nell&#8217;<strong>EventoRenderObjectClient<\/strong>. In quest&#8217;ultimo evento deve anche essere prevista l&#8217;assegnazione del valore all&#8217;oggetto a partire da quello memorizzato nel buffer del form, utilizzando la primitiva <strong>getValue<\/strong>, e l&#8217;assegnazione del valore nel buffer del form ad ogni cambiamento, per la successiva memorizzazione sul database. Per quest&#8217;ultima attivit\u00e0, \u00e8 necessario implementare l&#8217;handler dell&#8217;evento &#8220;change&#8221; messo a disposizione dall&#8217;oggetto client, richiamando, in esso, il metodo <strong>setValue<\/strong>.<\/p>\n<p>Dai seguenti link \u00e8 possibile scaricare un esempio di form che utilizza alcuni componenti messi a disposizione dalla libreria <a href=\"https:\/\/ej2.syncfusion.com\/home\/javascript.html\" target=\"_blank\" rel=\"noopener\">Syncfusion EJ2<\/a> e un altro form che utilizza il controllo SpreadSheet sempre dalla stessa libreria. Tramite questi esempi, \u00e8 possibile comprendere facilmente la modalit\u00e0 di utilizzo dell&#8217;oggetto Client.<\/p>\n<ul>\n<li><a href=\"https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Esempio-oggetti-client-Syncfusion-EJ2.zip\">Esempio oggetti client Syncfusion EJ2<\/a><\/li>\n<li><a href=\"https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Esempio-oggetto-client-SpreadSheet-Syncfusion-EJ2.zip\">Esempio oggetto client SpreadSheet Syncfusion EJ2<\/a><\/li>\n<li><a href=\"https:\/\/help.qualiware.it\/qw-help\/wp-content\/uploads\/Form_con_FilePreview.zip\">Esempio oggetto client per anteprima file<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Descrizione Consente di creare un oggetto in puro Javascript, consentendo cos\u00ec di utilizzare anche tipologie di oggetto differenti da quelle disponibili nella palette del Form Designer. E&#8217; anche possibile utilizzare oggetti di librerie esterne con la possibilit\u00e0 di specificare le URL degli script e dei CSS che ne costituiscono l&#8217;implementazione. Questo oggetto \u00e8 utilizzabile solo&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ngg_post_thumbnail":0,"footnotes":""},"categories":[6],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/28404"}],"collection":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/comments?post=28404"}],"version-history":[{"count":2,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/28404\/revisions"}],"predecessor-version":[{"id":29843,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/posts\/28404\/revisions\/29843"}],"wp:attachment":[{"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/media?parent=28404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/categories?post=28404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/help.qualiware.it\/qw-help\/wp-json\/wp\/v2\/tags?post=28404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}