Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
@daffodil/contact
Advanced tools
The `@daffodil/contact` library allows you quickly to scaffold a contact form UI feature in an Angular application. It supports drivers for a variety of ecommerce platforms in order to make connecting your UI to your platform's contact feature easy. <!--
The @daffodil/contact
library allows you quickly to scaffold a contact form UI feature in an Angular application. It supports drivers for a variety of ecommerce platforms in order to make connecting your UI to your platform's contact feature easy.
This overview assumes that you have already set up an Angular project and have gone through the contact installation guide. If you have not, we recommend you do that first.
To get started, import the DaffContactModule
in your app.module. Next, import StoreModule.forRoot({})
, which will be relevant later on when utilizing the redux and state management features of the contact module.
@ngModule({
imports:[
StoreModule.forRoot({}),
DaffContactModule
]
})
The DaffContactModule
provides a DaffContactFacade
that wraps the complexities of the library into one place. This facade will handle sending your contact form to your application's backend and can also be utilized to build your UI with behaviors common to a contact.
To inject the facade inside your component, include an instance of DaffContactFacade
in your component's constructor.
export class contactComponent {
constructor(public contactFacade: DaffContactFacade) {}
}
The DaffContactFacade
is built generically, so feel free to create your own submission object that represents your app's contact form. A simple example is given below.
export interface ContactForm {
email: string;
}
The ContactForm
only contains a value of email
and will represent the payload of data that is sent when a user submits their contact form.
Once the DaffContactFacade
has been set up in your component, it can now be used to send off your contact data. To do so, use the facade.dispatch()
method to dispatch a DaffContactSubscribe<T>()
action with T being the type of submission object you are using. In addition, it will also update three observable streams of success$
, error$
, and loading$
. These can be used to enhance your application's UI.
import { DaffContactSubscribe, DaffContactSubmission, DaffContactFacade } from '@daffodil/contact';
export class contactComponent implements OnInit{
ngOnInit(){
success$: Observable<boolean> = this.contactFacade.success$;
error$: Observable<string> = this.contactFacade.error$;
loading$: Observable<boolean> = this.contactFacade.loading$;
}
email:string = "JohnDoe@email.com"
constructor(public contactFacade: DaffContactFacade){}
submitData(){
this.contactFacade.dispatch(new DaffContactSubscribe<DaffContactSubmission>(this.email));
}
}
In this example, three observable streams are assigned from
contactFacade
. Then whensubmitData
is called, thecontactFacade
will call itsdispatch
function which will send your data off to the backend and update the three observable streams.
FAQs
`@daffodil/contact` allows you to quickly scaffold a contact form feature in an Angular application.
The npm package @daffodil/contact receives a total of 55 weekly downloads. As such, @daffodil/contact popularity was classified as not popular.
We found that @daffodil/contact demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.