It is currently 7 June 2025, 22:48 Advanced search

Estensione componente cordova

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Estensione componente cordova

Postby Gabri1495 » 8 September 2023, 14:10

Salve a tutti,
sto cercando di estendere un componente cordova, nello specifico il barcodeScanner già incluso nell'ApplicationLibrary.
La necessità nasce dalla mancata gestione delle options passate alla funzione scan. La mia unica necessità è quindi effettuare l'override della scan esistente.

Per far ciò ho provato a creare un nuovo componente che si limita ad estendere l'originale usando l'interfaccia solo per ridefinire la scan.

Screenshot 2023-09-08 155629.png
Nuovo componente Plugin estendendo BarcodeScanner
Screenshot 2023-09-08 155629.png (112.91 KiB) Viewed 915 times


In app device ho poi cambiato il tipo di oggetto dell'originale oggetto barcodeScanner per far sì che vedesse la nuova firma della scan

Screenshot 2023-09-08 160359.png
Cambio del tipo d'oggetto
Screenshot 2023-09-08 160359.png (25.83 KiB) Viewed 915 times


e rimosso il nuovo oggetto automaticamente creato in app.device, così da non dover definire nuovamente il parametro ed evitare di avere componenti inutilizzati e ridondanti (il mio unico scopo è estendere quello esistente e usare solo la versione estesa)

Screenshot 2023-09-08 160540.png
Oggetto rimosso da app.device
Screenshot 2023-09-08 160540.png (70.75 KiB) Viewed 915 times


In questo modo però non viene riportato nell'apk l'interfaccia js dell'estensione, il file che nel mio caso si dovrebbe chiamare mioBarcode.js in assets/www/js/plugins.

Ho letto anche le guide e cercato nel forum, ma sembra che nessuno abbia mai esteso un componente cordova.
Qualcuno sa quale sia il modo giusto e pulito per farlo?
Grazie a tutti per aver letto sino a qui :)
Gabri1495
 
Posts: 51
Joined: 30 September 2019, 13:48

Re: Estensione componente cordova

Postby fgiardini » 8 September 2023, 15:56

Ciao,
io ho fatto una cosa simile per lo stesso motivo (nello specifico mi interessava dare la possibilità di utilizzare la torcia durante la scansione).
Però mi sono fermato un passaggio prima e non ho esteso/rimpiazzato il plugin predefinito ma semplicemente ne ho creato uno aggiuntivo.
Quindi ho creato la classe, caricato la risorsa Plugin e definito metodo e parametri, più o meno come hai fatto tu, ma lasciando vuoto il campo Estende della classe.
Nella variabile che viene aggiunta in automatico su app.device ho indicato il nome del plugin Cordova e utilizzo quell'oggetto al posto di quello predefinito.
Francesco
fgiardini
 
Posts: 17
Joined: 10 March 2022, 16:37

Re: Estensione componente cordova

Postby Gabri1495 » 8 September 2023, 16:58

fgiardini wrote:Ciao,
io ho fatto una cosa simile per lo stesso motivo (nello specifico mi interessava dare la possibilità di utilizzare la torcia durante la scansione).
Però mi sono fermato un passaggio prima e non ho esteso/rimpiazzato il plugin predefinito ma semplicemente ne ho creato uno aggiuntivo.
Quindi ho creato la classe, caricato la risorsa Plugin e definito metodo e parametri, più o meno come hai fatto tu, ma lasciando vuoto il campo Estende della classe.
Nella variabile che viene aggiunta in automatico su app.device ho indicato il nome del plugin Cordova e utilizzo quell'oggetto al posto di quello predefinito.


Quindi di fatto hai creato un plugin nuovo e completamente svincolato.
Quello che volevo evitare era di definire un'altra variabile in app.device con un altro argomento da mettere, il tutto solo per aggiungere un paio di righe di codice all'interfaccia adapter.
In ogni caso grazie per la risposta e per aver confermato che anche tu hai dovuto far così.
Gabri1495
 
Posts: 51
Joined: 30 September 2019, 13:48


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 3 guests