Socket
Socket
Sign inDemoInstall

hmpo-date-controller

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hmpo-date-controller

A controller for the hmpo-form-wizard that provides out-of-the-box support for hmpo-template-mixins' 'input-date' mixin.


Version published
Maintainers
1
Created
Source

hmpo-date-controller

npm version Build Status

A controller for the hmpo-form-wizard that provides out-of-the-box support for hmpo-template-mixins' 'input-date' mixin. It is a drop-in replacement for the standard controller and, if need be, can be inherited from in your custom controllers.

The functionality in this module could, at some point, be merged into hmpo-form-controller as that already has knowledge of the date component fields provided by input-date.

Main Benefits

  • No more silly custom controllers just so that date fields can be handled.
  • The date validators from hmpo-form-controller can finally be leaveraged, giving us easy validation on date fields. (e.g. Date must not be in the future, person must be over 18 etc.)
  • No more date components in the steps definition. (Surely a source of confusion for new developers?)
  • The date components are also validated individually allowing a missing month, let's say, to be highlighted directly. The validators are automatically applied and come from hmpo-form-controller. i.e. 'date-year', 'date-month' and 'date-day'. This gives the developer a lot of date validation for free helping to avoid bugs in their forms.

Quality Assurance

The controller's functionality is fully documented in the unit test.

Whilst this is the first version of this module the code coverage is 100% as measured by [Istanbul]. This is tested for in CI to ensure new changes do not introduce untested code.

Linting is also checked in CI using the .eslintrc from hmpo-form-controller.

Migrating from HOF's date-controller

If you were using HOF's date-controller then you would have had a custom controller which declared a single field as being the only date field. You will also have added the date components to your steps definition. None of this is required in hmpo-date-controller so your migration is more about deleting this redundant code.

e.g. Consider the following steps definition:

[...]
'/step-one': {
  controller: require('dob-controller'),
  fields: [
    'fullname',
    'date-of-birth',
    'date-of-birth-day',
    'date-of-birth-month',
    'date-of-birth-year',
    'nationality'
  ],
  next:
  '/step-two'
},
[...]

This can now become simply:

[...]
'/step-one': {
  fields: [
    'fullname',
    'date-of-birth',
    'nationality'
  ],
  next:
  '/step-two'
},
[...]

This of course means that you are now free to have more than one date field per step.

If you were doing any validation on the date you might need to add it to the definition for the field.

The only thing left to do is to ensure the default controller is, or inherits from, hmpo-date-controller.

FAQs

Package last updated on 08 May 2016

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc