Skip to content

Commit

Permalink
use ember-get-config
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelcobain committed Oct 2, 2017
1 parent 4a951c0 commit 88eca4d
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 24 deletions.
33 changes: 12 additions & 21 deletions addon/services/paper-toaster.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,17 @@
import Ember from 'ember';
const { computed, assign, run, A, Service, tryInvoke, Object: EObject, getOwner } = Ember;
const { computed, assign, run, A, Service, tryInvoke, Object: EObject } = Ember;
import config from 'ember-get-config';

const DEFAULT_PROPS = {
duration: 3000,
position: 'bottom left'
};

export default Service.extend({
queue: A(),

activeToast: computed.reads('queue.firstObject'),

defaultsOptions: {
duration: 3000,
position: 'bottom left'
},

init() {
this._super(...arguments);
let ENV = getOwner(this).factoryFor('config:environment').class;
if (ENV['ember-paper'] && ENV['ember-paper']['paper-toaster']) {
let defaultsAppOptions = ENV['ember-paper']['paper-toaster'];
['duration', 'position'].forEach((optKey) => {
let value = defaultsAppOptions[optKey];
if (value) {
this.set(`defaultsOptions.${optKey}`, value);
}
});
}
},

show(text, options) {
let t = EObject.create(assign({ text, show: true }, this.buildOptions(options)));
this.get('queue').pushObject(t);
Expand Down Expand Up @@ -52,6 +39,10 @@ export default Service.extend({
},

buildOptions(options) {
return assign({}, this.get('defaultsOptions'), options);
let toasterOptions = {};
if (config['ember-paper'] && config['ember-paper']['paper-toaster']) {
toasterOptions = config['ember-paper']['paper-toaster'];
}
return assign({}, DEFAULT_PROPS, toasterOptions, options);
}
});
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"ember-cli-htmlbars": "^2.0.1",
"ember-composability-tools": "0.0.8",
"ember-css-transitions": "0.1.10",
"ember-get-config": "^0.2.3",
"ember-power-select": "^1.8.5",
"ember-wormhole": "0.5.2",
"fastboot-transform": "^0.1.2",
Expand Down
6 changes: 5 additions & 1 deletion tests/dummy/app/templates/demo/toast.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,11 @@

<h3>Application defaults</h3>

<p>You can define a default <code>duration</code> and <code>position</code> for your application by adding in your <code>config/environment.js</code> file: </p>
<p>
You can define a default <code>duration</code>, <code>toastClass</code>
and <code>position</code> for your application by adding in your
<code>config/environment.js</code> file:
</p>

{{code-snippet name="paper-toaster-defaults.js"}}

Expand Down
3 changes: 2 additions & 1 deletion tests/dummy/snippets/paper-toaster-defaults.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
ENV['ember-paper'] = {
'paper-toaster': {
position: 'bottom right',
duration: 5000
duration: 5000,
toastClass: 'my-app-toast'
}
};
9 changes: 8 additions & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,7 @@ broccoli-debug@^0.6.1, broccoli-debug@^0.6.2:
symlink-or-copy "^1.1.8"
tree-sync "^1.2.2"

broccoli-file-creator@^1.0.0:
broccoli-file-creator@^1.0.0, broccoli-file-creator@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/broccoli-file-creator/-/broccoli-file-creator-1.1.1.tgz#1b35b67d215abdfadd8d49eeb69493c39e6c3450"
dependencies:
Expand Down Expand Up @@ -2836,6 +2836,13 @@ ember-factory-for-polyfill@^1.1.0:
dependencies:
ember-cli-version-checker "^1.2.0"

ember-get-config@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/ember-get-config/-/ember-get-config-0.2.3.tgz#546e77c991792fffde2f6757a5edb0c5dd122c0e"
dependencies:
broccoli-file-creator "^1.1.1"
ember-cli-babel "^6.3.0"

ember-getowner-polyfill@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ember-getowner-polyfill/-/ember-getowner-polyfill-1.1.1.tgz#6bb6603827dd2f8f33be2434570a86cc9e5273ff"
Expand Down

0 comments on commit 88eca4d

Please # to comment.