Modifica dei componenti funzionali forniti dall'applicazione
L'applicazione fornisce componenti funzionali riutilizzabili inclusi nella libreria angolare @store/functional-components . Questi componenti sono creati per indirizzare un dominio specifico o un caso di utilizzo funzionale e sono ampiamente utilizzati nell'applicazione.
È possibile personalizzare i componenti funzionali forniti dall'applicazione o creare nuovi componenti personalizzati in base alle esigenze aziendali.
Prima di iniziare
I componenti funzionali forniti dall'applicazione sono presenti nella cartella <store-temp>/packages/libs/functional-components/src/lib . Ciascuno di questi componenti racchiude una funzione specifica ed è ampiamente utilizzato nell'applicazione.
Per associare il componente funzionale fornito dall'applicazione al componente personalizzato, utilizzare il file <store-temp>/extensions/features/override-component/src/assets/override-component/config/isf-component-extn-config.json . Nel file JSON, assicurati di associare gli identificativi univoci dei componenti forniti dall'applicazione con i componenti personalizzati o sovrascritti.
La tabella riportata di seguito descrive la definizione di schema del file isf-component-extn-config.json :
| Nome attributo | Descrizione |
|---|---|
| applicationProvidedComponentId | Un identificativo univoco assegnato al componente funzionale fornito dall'applicazione. Ad esempio, |
| overrideComponentId | Un identificativo univoco assegnato al componente sovrascritto o personalizzato. Ad esempio, |
Quando si sovrascrive un componente funzionale fornito dall'applicazione, aggiornare <store-temp>/extensions/features/override-component/src/assets/override-component/config/isf-component-extn-config.json con gli attributi descritti nella tabella.
Procedura
- Modificare un componente funzionale fornito dall'applicazione in uno dei seguenti modi:
- Crea un nuovo componente personalizzato.
- Passare alla directory <store-temp>/extensions/features/override-component/src/app/components ed eseguire il seguente comando:
ng g c <componentName> --prefix=isf - Aggiungere la variabile di stringa statica componentName con il valore come nome della classe del componente nel modo seguente:
public static componentName = 'MiniCartCustomComponent';
- Passare alla directory <store-temp>/extensions/features/override-component/src/app/components ed eseguire il seguente comando:
- Copiare e modificare il componente fornito dall'applicazione come necessario per il proprio business.
- Identificare il componente funzionale fornito dall'applicazione che si desidera estendere.
- Copiare l'intera cartella di origine del componente e copiarla nella directory <store-temp>/extensions/features/override-component/src/app/components .
- Crea un nuovo componente personalizzato.
- Aggiornare il nome classe del componente personalizzato.
Andare alla directory <store-temp>/extensions/features/override-component/src/app . Aprire il file
app.module.tse aggiornare il nome della classe del componente personalizzato nell'oggettocustomComponentDeclarations.Nota: se il componente esteso importa i file all'esterno della cartella del componente, assicurarsi di copiare manualmente tali file nell'ubicazione appropriata all'interno della cartella del componente. Inoltre, assicurarsi di importare e dichiarare i componenti nel fileapp.module.tspresente nella cartella<store-temp>/extensions/features/override_component/src/app. Se l'applicazione ha una dipendenza su un altro modulo angolare, importare il modulo appropriato. Ad esempio,FormsModule,CommonModule,ReactiveFormsModulee così via. - Aggiornare il file <store-temp>/extensions/features/override-component/src/assets/override-component/config/isf-component-extn-config.json con i dettagli appropriati. Ad esempio, per sostituire il componente mini - carrello fornito dall'applicazione con il componente mini - carrello personalizzato, aggiornare come segue:
[{ "applicationProvidedComponentId": "MiniCartComponent", "overrideComponentId": "MiniCartCustomComponent" }]
Per supportare la localizzazione e l'internazionalizzazione, le cartelle i18n vengono conservate nella cartella <store-temp>/extensions/features/override-component/src/assets/override-component/i18n/ . Il file bundle en.json per la lingua inglese è incluso nella cartella i18n . Puoi anche creare un file JSON del bundle specifico della lingua.
- Se si modificano le
AddressCaptureComponentoAddressDisplayComponentfornite dall'applicazione, completare la seguente procedura:- Copiare
AddressRegistryServiceeAddressConfigListda <store-temp>/packages/libs/functional-components/src/lib/address nella cartella <store-temp>/extensions/features/override-component/src/app/components/customAddress .Qui,
customAddressfa riferimento al nome della cartella che contiene i componenti di visualizzazione o di cattura dell'indirizzo esteso. - Importare
AddressRegistryServiceeAddressConfigListnel fileapp.module.ts. - Registrare
AddressConfigListinAddressRegistryServicenel costruttore del fileapp.module.tscome segue:class AppModule implements OnDestroy, DoBootstrap { ...... constructor() { ..... AddressRegistryService.registerAddress(AddressConfigList, []); ..... } ....... }
- Copiare
- Se si modifica l'
GlobalSearchRegistryServicefornito dall'applicazione, completare la seguente procedura:- Copiare
GlobalSearchRegistryServiceda <store-temp>/packages/libs/functional-components/src/lib/global-search nella cartella <store-temp>/extensions/features/override-component/src/app/components/global-search-extn .Qui,
global-search-extnfa riferimento al nome della cartella che contiene i componenti della ricerca globale estesa. - Importare
GlobalSearchRegistryServicenel fileapp.module.ts. - Dichiarare
searchComponentDeclarations.const searchComponentDeclarations = [ OrderSearchComponent, CustomerSearchComponent, ProductSearchComponent, ShipmentSearchComponent ]; - Registrare
searchComponentDeclarationsinGlobalSearchRegistryServicenel costruttore del fileapp.module.tscome segue:GlobalSearchRegistryService.registerSearchComponents(searchComponentDeclarations);
- Copiare
Cosa fare successivamente
- Per verificare localmente il componente funzionale fornito dall'applicazione estesa, avviare l'applicazione eseguendo il seguente comando e passare alla schermata in cui viene visualizzato il componente funzionale.
yarn start-app - Per verificare le modifiche nel toolkit sviluppatori, estrarre e distribuire le personalizzazioni. Per ulteriori informazioni sull'estrazione e la distribuzione delle personalizzazioni, vedere Estrazione delle personalizzazioni.