Upgrade guide
1. Provide default configuration
Options totally reworked.
Now you have setDefaults method to change toast dock configuration.
// Import your library
import { SnotifyModule, SnotifyService, ToastDefaults } from 'ng-snotify';
@NgModule({
imports: [
SnotifyModule
],
providers: [
{ provide: 'SnotifyToastConfig', useValue: ToastDefaults}, // Default configuration
SnotifyService
]
})
export class AppModule { }
Now you can play with this, and create toast.json
configuration for example
2. Callbacks totally removed from SnotifyService
Now you have jQuery-like syntax on toast object
service.prompt('Accept license', {
placeholder: 'Enter your age',
buttons: [
{text: 'Accept', action: (toast) => { toast.valid ? service.remove(toast.id) : false }, bold: true},
{text: 'Cancel' }
]
}).on('input', (toast: Snotify) => {
if (+toast.value >= 21) {
toast.valid = true;
} else {
toast.valid = false;
}
}).on('hidden', () => {
/* do some stuff */
})
3. Custom arguments order
I worked on usability, and i hope this change should help with that.
Now you can pass skip arguments if you don't want to pass them.
In that case we don't need to pass null
in title order. We just skip it.
Unfortunately for now I can not do the same for body
and title
because both parameters are typeof string and I can't determine what exactly you are going to pass
Before
service.simple(body)
service.simple(body, null, config)
service.async(body, null, action, config)
service.async(null, null, action, config)
Now
service.simple(body)
service.simple(body, config)
service.async(body, action)
service.async(body, action, config)
4. Buttons
Now button action get only one param of type SnotifyToast and by default removes toast
action: (toast: SnotifyToast) => service.remove(toast.id)
5. REMOVED
setConfig
maxHeight
All another stuff should not touch you
- Renamed
- SnotifyToastConfig -> SnotifyToastConfig
- SnotifyOptions -> SnotifyGlobalConfig