247 |
248 | ${notification}
249 |
250 |
251 | ```
252 |
253 | And the corresponding view-model:
254 | ```javascript
255 | export class SimpleNotification {
256 | activate(model) {
257 | this.notification = model.notification;
258 | }
259 | }
260 | ```
261 |
262 | The next step is to configure the plugin to use this view/view-model (it is also possible to use it for one service call only by adjusting the settings of a service method).
263 | It may look like this:
264 |
265 | ```javascript
266 | import {SimpleNotification} from './simple-notification';
267 |
268 | export function configure(aurelia) {
269 | aurelia.use
270 | .standardConfiguration()
271 | .developmentLogging()
272 | .plugin('aurelia-notify', settings => {
273 | settings.viewModel = SimpleNotification;
274 | });
275 |
276 | aurelia.start().then(a => a.setRoot('app', document.body));
277 | }
278 | ```
279 |
280 | Now, the customized view/view-model is used instead of the default one.
281 |
282 | It is also possible to hand over additional data to the view model beside the notification message and the notification level.
283 | The ```notify(model, settings, level)``` method can take a complete data object as the first argument. It must at least contain a ```notification``` property, otherwise, an exception is thrown.
284 | The data is available in the view models ```activate()``` method via the ```data``` property of the activation parameter, e.g:
285 |
286 | ```javascript
287 | export class SimpleNotification {
288 | activate(model) {
289 | this.notification = model.notification;
290 | this.date = model.data.date;
291 | this.username = model.data.username;
292 | }
293 | }
294 | ```
295 |
296 | And the corresponding service call:
297 |
298 | ```javascript
299 | this.notificationService.notify({notification: 'A success message', date: '2016/10/09', username: 'Marc'}, {timeout: 5}, NotificationLevel.success);
300 | ```
301 |
--------------------------------------------------------------------------------
/doc/api.json:
--------------------------------------------------------------------------------
1 | {"name":"aurelia-notify","children":[{"id":9,"name":"BSNotification","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":11,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":12,"name":"new BSNotification","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":13,"name":"controller","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationController","id":2}}],"type":{"type":"reference","name":"BSNotification","id":9}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":21,"character":21}]},{"id":10,"name":"inject","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":21,"character":15}],"type":{"type":"instrinct","name":"any"}},{"id":14,"name":"activate","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":15,"name":"activate","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":16,"name":"model","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":23,"character":10}]}],"groups":[{"title":"Constructors","kind":512,"children":[11]},{"title":"Properties","kind":1024,"children":[10]},{"title":"Methods","kind":2048,"children":[14]}],"sources":[{"fileName":"aurelia-notify.d.ts","line":20,"character":35}]},{"id":2,"name":"NotificationController","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":3,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":4,"name":"new NotificationController","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":5,"name":"renderer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationRenderer","id":17}},{"id":6,"name":"settings","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"NotificationController","id":2}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":16,"character":45}]},{"id":7,"name":"close","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":8,"name":"close","kind":4096,"kindString":"Call signature","flags":{},"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":18,"character":7}]}],"groups":[{"title":"Constructors","kind":512,"children":[3]},{"title":"Methods","kind":2048,"children":[7]}],"sources":[{"fileName":"aurelia-notify.d.ts","line":16,"character":43}]},{"id":17,"name":"NotificationRenderer","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":19,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":20,"name":"new NotificationRenderer","kind":16384,"kindString":"Constructor signature","flags":{},"type":{"type":"reference","name":"NotificationRenderer","id":17}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":27,"character":23}]},{"id":18,"name":"defaultSettings","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":27,"character":17}],"type":{"type":"instrinct","name":"any"}},{"id":21,"name":"createNotificationHost","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":22,"name":"createNotificationHost","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":23,"name":"notificationController","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationController","id":2}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":29,"character":24}]},{"id":30,"name":"destroyNotificationHost","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":31,"name":"destroyNotificationHost","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":32,"name":"notificationController","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationController","id":2}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":32,"character":25}]},{"id":33,"name":"getNotificationContainer","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":34,"name":"getNotificationContainer","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":35,"name":"containerSelector","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":33,"character":26}]},{"id":27,"name":"hideNotification","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":28,"name":"hideNotification","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":29,"name":"notificationController","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationController","id":2}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":31,"character":18}]},{"id":24,"name":"showNotification","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":25,"name":"showNotification","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":26,"name":"notificationController","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationController","id":2}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":30,"character":18}]}],"groups":[{"title":"Constructors","kind":512,"children":[19]},{"title":"Properties","kind":1024,"children":[18]},{"title":"Methods","kind":2048,"children":[21,30,33,27,24]}],"sources":[{"fileName":"aurelia-notify.d.ts","line":26,"character":41}]},{"id":36,"name":"NotificationService","kind":128,"kindString":"Class","flags":{"isExported":true},"children":[{"id":41,"name":"constructor","kind":512,"kindString":"Constructor","flags":{"isExported":true},"signatures":[{"id":42,"name":"new NotificationService","kind":16384,"kindString":"Constructor signature","flags":{},"parameters":[{"id":43,"name":"compositionEngine","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"CompositionEngine"}},{"id":44,"name":"container","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"Container"}},{"id":45,"name":"notificationRenderer","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"reference","name":"NotificationRenderer","id":17}}],"type":{"type":"reference","name":"NotificationService","id":36}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":39,"character":45}]},{"id":38,"name":"compositionEngine","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":37,"character":19}],"type":{"type":"reference","name":"CompositionEngine"}},{"id":39,"name":"container","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":38,"character":11}],"type":{"type":"reference","name":"Container"}},{"id":40,"name":"notificationRenderer","kind":1024,"kindString":"Property","flags":{"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":39,"character":22}],"type":{"type":"reference","name":"NotificationRenderer","id":17}},{"id":37,"name":"inject","kind":1024,"kindString":"Property","flags":{"isStatic":true,"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":36,"character":15}],"type":{"type":"instrinct","name":"any"}},{"id":63,"name":"danger","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":64,"name":"danger","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":65,"name":"message","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":66,"name":"settings","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":45,"character":8}]},{"id":51,"name":"info","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":52,"name":"info","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":53,"name":"message","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":54,"name":"settings","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":42,"character":6}]},{"id":46,"name":"notify","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":47,"name":"notify","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":48,"name":"model","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":49,"name":"settings","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}},{"id":50,"name":"level","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"string"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":41,"character":8}]},{"id":55,"name":"success","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":56,"name":"success","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":57,"name":"message","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":58,"name":"settings","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":43,"character":9}]},{"id":59,"name":"warning","kind":2048,"kindString":"Method","flags":{"isExported":true},"signatures":[{"id":60,"name":"warning","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":61,"name":"message","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":62,"name":"settings","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"instrinct","name":"any"}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":44,"character":9}]}],"groups":[{"title":"Constructors","kind":512,"children":[41]},{"title":"Properties","kind":1024,"children":[38,39,40,37]},{"title":"Methods","kind":2048,"children":[63,51,46,55,59]}],"sources":[{"fileName":"aurelia-notify.d.ts","line":35,"character":40}]},{"id":67,"name":"NotificationLevel","kind":32,"kindString":"Variable","flags":{"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":14,"character":36}],"type":{"type":"instrinct","name":"any"}},{"id":73,"name":"globalSettings","kind":32,"kindString":"Variable","flags":{"isExported":true},"sources":[{"fileName":"aurelia-notify.d.ts","line":25,"character":33}],"type":{"type":"instrinct","name":"any"}},{"id":68,"name":"invokeLifecycle","kind":64,"kindString":"Function","flags":{"isExported":true},"signatures":[{"id":69,"name":"invokeLifecycle","kind":4096,"kindString":"Call signature","flags":{},"parameters":[{"id":70,"name":"instance","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"any"}},{"id":71,"name":"name","kind":32768,"kindString":"Parameter","flags":{},"type":{"type":"instrinct","name":"string"}},{"id":72,"name":"model","kind":32768,"kindString":"Parameter","flags":{"isOptional":true},"type":{"type":"instrinct","name":"any"}}],"type":{"type":"reference","name":"Promise","typeArguments":[{"type":"instrinct","name":"any"}]}}],"sources":[{"fileName":"aurelia-notify.d.ts","line":15,"character":39}]}],"groups":[{"title":"Classes","kind":128,"children":[9,2,17,36]},{"title":"Variables","kind":32,"children":[67,73]},{"title":"Functions","kind":64,"children":[68]}]}
--------------------------------------------------------------------------------
/doc/core-js.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'core-js' {
2 | var coreJs;
3 | export default coreJs;
4 | }
5 |
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | require('require-dir')('build/tasks');
2 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | let paths = require('./build/paths');
2 |
3 | module.exports = function (config) {
4 | let configuration = {
5 | basePath: '',
6 |
7 | frameworks: ['jspm', 'jasmine'],
8 |
9 | jspm: {
10 | loadFiles: ['test/unit/setup.js', paths.tests],
11 | serveFiles: [paths.source]
12 | },
13 |
14 | // list of files / patterns to load in the browser
15 | files: [],
16 |
17 | // list of files to exclude
18 | exclude: [],
19 |
20 | // preprocess matching files before serving them to the browser
21 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
22 | preprocessors: {
23 | [paths.tests]: ['babel'],
24 | [paths.source]: ['babel']
25 | },
26 |
27 | 'babelPreprocessor': {
28 | options: {
29 | sourceMap: 'inline',
30 | presets: [['es2015', {loose: true}], 'stage-1'],
31 | plugins: [
32 | 'syntax-flow',
33 | 'transform-decorators-legacy',
34 | 'transform-flow-strip-types',
35 | 'istanbul'
36 | ]
37 | }
38 | },
39 |
40 | reporters: ['progress'],
41 |
42 | port: 9876,
43 |
44 | colors: true,
45 |
46 | logLevel: config.LOG_INFO,
47 |
48 | autoWatch: true,
49 |
50 | customLaunchers: {
51 | Chrome_travis_ci: {
52 | base: 'Chrome',
53 | flags: ['--no-sandbox']
54 | }
55 | },
56 |
57 | browsers: ['Chrome'],
58 |
59 | singleRun: false
60 | };
61 |
62 | if (process.env.TRAVIS) {
63 | configuration.browsers = ['Chrome_travis_ci'];
64 | }
65 |
66 | config.set(configuration);
67 | };
68 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aurelia-notify",
3 | "version": "0.8.1",
4 | "description": "A notification plugin for Aurelia.",
5 | "keywords": [
6 | "aurelia",
7 | "notify",
8 | "notifications",
9 | "plugin"
10 | ],
11 | "homepage": "http://aurelia.io",
12 | "bugs": {
13 | "url": "https://github.com/MarcScheib/aurelia-notify/issues"
14 | },
15 | "license": "MIT",
16 | "author": "Marc Scheib