mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-20 17:32:15 +03:00
2f4f6db133
no issue - add ember-suave dependency - upgrade grunt-jscs dependency - add a new .jscsrc for the client's tests directory that extends from client's base .jscsrc - separate client tests in Gruntfile jscs task so they pick up the test's .jscsrc - standardize es6 usage across client
37 lines
776 B
JavaScript
37 lines
776 B
JavaScript
import Ember from 'ember';
|
|
import {request as ajax} from 'ic-ajax';
|
|
|
|
const {RSVP, inject} = Ember;
|
|
|
|
export default Ember.Object.extend({
|
|
slugType: null,
|
|
value: null,
|
|
|
|
ghostPaths: inject.service('ghost-paths'),
|
|
|
|
toString() {
|
|
return this.get('value');
|
|
},
|
|
|
|
generateSlug(textToSlugify) {
|
|
let url;
|
|
|
|
if (!textToSlugify) {
|
|
return RSVP.resolve('');
|
|
}
|
|
|
|
url = this.get('ghostPaths.url').api('slugs', this.get('slugType'), encodeURIComponent(textToSlugify));
|
|
|
|
return ajax(url, {
|
|
type: 'GET'
|
|
}).then((response) => {
|
|
let [firstSlug] = response.slugs;
|
|
let {slug} = firstSlug;
|
|
|
|
this.set('value', slug);
|
|
|
|
return slug;
|
|
});
|
|
}
|
|
});
|