Skip to content

Commit dda82ac

Browse files
committed
Merge pull request #158 from vincent99/master
Fix clone, support API without userpreferences
2 parents 7ee1801 + 66cec22 commit dda82ac

File tree

4 files changed

+39
-7
lines changed

4 files changed

+39
-7
lines changed

app/authenticated/route.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,17 @@ export default Ember.Route.extend(AuthenticatedRouteMixin, {
6161
},
6262

6363
loadPreferences: function() {
64-
return this.get('store').find('userpreference', null, {forceReload: true});
64+
var store = this.get('store');
65+
if ( store.hasRecordFor('schema','userpreference') )
66+
{
67+
this.set('app.hasUserPreferences', true);
68+
return this.get('store').find('userpreference', null, {forceReload: true});
69+
}
70+
else
71+
{
72+
this.set('app.hasUserPreferences', false);
73+
return Ember.RSVP.resolve();
74+
}
6575
},
6676

6777
selectDefaultProject: function(active, controller) {

app/containers/new/route.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default Ember.Route.extend({
3232
var data;
3333
if ( params.containerId )
3434
{
35-
data = results[3].serializeForNew();
35+
data = results[2].serializeForNew();
3636
}
3737
else
3838
{

app/initializers/prefs.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export function initialize(container, application) {
1010
var prefs = UserPreferences.create({
1111
// Store isn't automatically injected in
1212
store: container.lookup('store:main'),
13+
app: application,
1314
});
1415

1516
// Inject GitHub lookup as 'github' property

app/utils/user-preferences.js

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,34 @@
11
import Ember from "ember";
22
import UnremovedArrayProxy from 'ui/utils/unremoved-array-proxy';
3+
import LocalStorage from 'ui/utils/local-storage';
4+
5+
var localStore = LocalStorage.create();
36

47
export default Ember.Object.extend({
8+
app: null,
59
store: null,
10+
localStore: null,
11+
12+
init: function() {
13+
this._super();
14+
},
615

716
unremoved: function() {
8-
console.log('unremoved');
917
return UnremovedArrayProxy.create({
1018
sourceContent: this.get('store').all('userpreference')
1119
});
1220
}.property(),
1321

1422
findByName: function(key) {
15-
console.log('findByName',key);
1623
return this.get('unremoved').filterProperty('name',key)[0];
1724
},
1825

1926
unknownProperty: function(key) {
20-
console.log('unknownProperty',key);
27+
if ( !this.get('app.hasUserPreferences') )
28+
{
29+
return localStore.get(key);
30+
}
31+
2132
var value; // = undefined;
2233

2334
var existing = this.findByName(key);
@@ -38,7 +49,13 @@ export default Ember.Object.extend({
3849
},
3950

4051
setUnknownProperty: function(key, value) {
41-
console.log('setUnknownProperty', key, value);
52+
if ( !this.get('app.hasUserPreferences') )
53+
{
54+
var out = localStore.set(key,value);
55+
this.notifyPropertyChange(key);
56+
return out;
57+
}
58+
4259
var obj = this.findByName(key);
4360

4461
// Delete by set to undefined
@@ -69,7 +86,11 @@ export default Ember.Object.extend({
6986
},
7087

7188
clear: function() {
72-
console.log('clear');
89+
if ( !this.get('app.hasUserPreferences') )
90+
{
91+
return localStore.clear();
92+
}
93+
7394
this.beginPropertyChanges();
7495

7596
this.get('unremoved').forEach((obj) => {

0 commit comments

Comments
 (0)