adopted-ember-addons / ember-cli-flash

Simple, highly configurable flash messages for ember-cli
https://www.npmjs.com/package/ember-cli-flash
MIT License
355 stars 113 forks source link

preventDuplicates w/ custom dedupe property #337

Open Techn1x opened 3 years ago

Techn1x commented 3 years ago

I would like to be able to specify what key I want my flash messages to be de-duped on - sometimes I'll have flashes with the same message, but they'll have a different characteristic that means they should still be shown.

eg

{ type: 'warning', area: 'maths', message: 'please update your students' }
{ type: 'warning', area: 'reading', message: 'please update your students' }
{ type: 'warning', area: 'maths', message: 'please update your students' }

I think this could work well - providing a dedupe property

{ type: 'warning', area: 'maths', message: 'please update your students', dedupe: `${area}-${message}` }
{ type: 'warning', area: 'reading', message: 'please update your students', dedupe: `${area}-${message}` }
{ type: 'warning', area: 'maths', message: 'please update your students', dedupe: `${area}-${message}` } // should be de-duped

dedupe could default to ${message}, Then this could be changed to dedupe https://github.com/poteto/ember-cli-flash/blob/49aec796a5123481f9b546cd53409455f38c0c41/addon/flash/object.js#L12-L13

Would this be a welcome/useful addition? should I write a PR for it?