{"id":13480735,"url":"https://github.com/ngrx/notify","last_synced_at":"2025-07-24T17:15:10.114Z","repository":{"id":56092772,"uuid":"60630695","full_name":"ngrx/notify","owner":"ngrx","description":"Web Notifications Powered by RxJS for Angular","archived":false,"fork":false,"pushed_at":"2018-01-11T21:47:27.000Z","size":10,"stargazers_count":101,"open_issues_count":3,"forks_count":10,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-02T17:59:48.848Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ngrx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-07T16:54:24.000Z","updated_at":"2024-01-23T15:38:21.000Z","dependencies_parsed_at":"2022-08-15T13:00:54.341Z","dependency_job_id":null,"html_url":"https://github.com/ngrx/notify","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngrx%2Fnotify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngrx%2Fnotify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngrx%2Fnotify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngrx%2Fnotify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngrx","download_url":"https://codeload.github.com/ngrx/notify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253774581,"owners_count":21962199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T17:00:44.360Z","updated_at":"2025-05-12T16:14:41.974Z","avatar_url":"https://github.com/ngrx.png","language":"TypeScript","readme":"# @ngrx/notify\n### Web Notifications Powered by RxJS for Angular 2\n[![Join the chat at https://gitter.im/ngrx/notify](https://badges.gitter.im/ngrx/notify.svg)](https://gitter.im/ngrx/notify?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nEasily create and handle desktop notifications in Angular 2\n\n### Installation\nInstall @ngrx/notify from npm:\n```bash\nnpm install @ngrx/notify --save\n```\n\nSetup the providers, optionally providing global notification options:\n```ts\nimport { NOTIFY_PROVIDERS, NOTIFY_GLOBAL_OPTIONS } from '@ngrx/notify';\n\nbootstrap(App, [\n  NOTIFY_PROVIDERS,\n  { provide: NOTIFY_GLOBAL_OPTIONS, multi: true, useValue: { /* global options here */ } }\n])\n```\n\n## Usage\n### Requesting Notification Permission\nBefore creating notifications, you must resolve the app's notification permission:\n\n```ts\nclass AppComponent {\n  constructor(notify: Notify) {\n    notify.requestPermission().subscribe(permission =\u003e {\n      if (permission) {\n        // continue\n      }\n    });\n  }\n}\n```\n\n### Creating a Notification\nTo create a notification observable, call the `open()` method with a title and optional config. The notification will be opened when you subscribe to the observable and will close after you unsubscribe from it. The observable will emit the instance of the notification every time it is clicked on:\n\n```ts\nnotify.open('Hello world!', options)\n  // Automatically close the notification after 5 seconds\n  .takeUntil(Observable.timer(5000))\n  // Close the notification after it has been clicked once\n  .take(1)\n  .subscribe(notification =\u003e {\n\n  });\n```\n\nSee the [documentation on MDN](https://developer.mozilla.org/en-US/docs/Web/API/Notification/Notification) for available options.\n","funding_links":[],"categories":["Uncategorized","UI Components","Awesome Angular [![Awesome TipeIO](https://img.shields.io/badge/Awesome%20Angular-@TipeIO-6C6AE7.svg)](https://github.com/gdi2290/awesome-angular) [![Awesome devarchy.com](https://img.shields.io/badge/Awesome%20Angular-@devarchy.com-86BDC1.svg)](https://github.com/brillout/awesome-angular-components)"],"sub_categories":["Uncategorized","Notification","Angular \u003ca id=\"angular\"\u003e\u003c/a\u003e"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngrx%2Fnotify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngrx%2Fnotify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngrx%2Fnotify/lists"}