30 lines
726 B
JavaScript
30 lines
726 B
JavaScript
import Controller from '@ember/controller';
|
|
import { inject as service } from '@ember/service';
|
|
import { alias } from '@ember/object/computed';
|
|
import { observer } from '@ember/object';
|
|
|
|
export default Controller.extend({
|
|
|
|
storage: service(),
|
|
|
|
connecting: alias('storage.connecting'),
|
|
connected: alias('storage.connected'),
|
|
|
|
categories: null,
|
|
|
|
handleConnected: observer('connected', function() {
|
|
this.fetchCategories();
|
|
}),
|
|
|
|
fetchCategories() {
|
|
const client = this.get('storage.client');
|
|
|
|
client.getListing('').then(listing => {
|
|
let dirnames = Object.keys(listing);
|
|
let categories = dirnames.map(i => i.replace('/', '')).sort();
|
|
this.set('categories', categories);
|
|
});
|
|
}
|
|
|
|
});
|