From 18cfaceb7f48fa7119c1fa4be25f287372e1d1e3 Mon Sep 17 00:00:00 2001 From: Ilya Radchenko Date: Fri, 8 Apr 2016 15:46:01 -0400 Subject: [PATCH] v1.3.0 - Add `setParams` method --- README.md | 6 ++++++ addon/mixins/query-params.js | 7 +++++++ package.json | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a400aa..b72fb5b 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,12 @@ Function signature `paramsRelay.setParam('name', value)`. Function signature `paramsRelay.getParam('name')`. Returns the value, can be anything. +#### `setParams` + +Function signature `paramsRelay.setParams(obj)`. +A helper method to set many query params at once. Suggested usage includes +using in the route, i.e. `paramsRelay.setParams(this.paramsFor(this.routeName))`. + #### `subscribe` Function signature `paramsRelay.subscribe('name', (key, value) => { //do something });`. diff --git a/addon/mixins/query-params.js b/addon/mixins/query-params.js index 927a5a3..0c3103e 100644 --- a/addon/mixins/query-params.js +++ b/addon/mixins/query-params.js @@ -30,6 +30,13 @@ export default Ember.Mixin.create({ return item ? item.value : undefined; }, + setParams(hash) { + Object.keys(hash).forEach(key => { + let value = hash[key]; + this.setParam(key, value); + }); + }, + subscribe(name, cb) { let map = this._map; let item = map[name]; diff --git a/package.json b/package.json index d0baaba..f4d8aa4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ember-query-params", - "version": "1.2.0", + "version": "1.3.0", "description": "Ember service for your query params", "directories": { "doc": "doc",