mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-29 13:52:10 +03:00
Add ghostPaths util and initializer
No Issue - Move the ghostPaths from base model to utils - Add initializer that injects it into every route, model and controller - Add a adminUrl and apiUrl helper method
This commit is contained in:
parent
d0e70501fb
commit
edfbfd7336
@ -4,6 +4,7 @@ import injectCurrentUser from 'ghost/initializers/current-user';
|
||||
import injectCsrf from 'ghost/initializers/csrf';
|
||||
import {registerNotifications, injectNotifications} from 'ghost/initializers/notifications';
|
||||
import registerTrailingLocationHistory from 'ghost/initializers/trailing-history';
|
||||
import injectGhostPaths from 'ghost/initializers/ghost-paths';
|
||||
import 'ghost/utils/link-view';
|
||||
import 'ghost/utils/text-field';
|
||||
|
||||
@ -24,6 +25,7 @@ initFixtures();
|
||||
|
||||
App.initializer(injectCurrentUser);
|
||||
App.initializer(injectCsrf);
|
||||
App.initializer(injectGhostPaths);
|
||||
App.initializer(registerNotifications);
|
||||
App.initializer(injectNotifications);
|
||||
App.initializer(registerTrailingLocationHistory);
|
||||
|
13
ghost/admin/initializers/ghost-paths.js
Normal file
13
ghost/admin/initializers/ghost-paths.js
Normal file
@ -0,0 +1,13 @@
|
||||
import ghostPaths from 'ghost/utils/ghost-paths';
|
||||
|
||||
export default {
|
||||
name: 'ghost-paths',
|
||||
|
||||
initialize: function (container) {
|
||||
container.register('ghost:paths', ghostPaths(), {instantiate: false});
|
||||
|
||||
container.injection('route', 'ghostPaths', 'ghost:paths');
|
||||
container.injection('model', 'ghostPaths', 'ghost:paths');
|
||||
container.injection('controller', 'ghostPaths', 'ghost:paths');
|
||||
}
|
||||
};
|
@ -1,14 +1,4 @@
|
||||
|
||||
function ghostPaths() {
|
||||
var path = window.location.pathname,
|
||||
subdir = path.substr(0, path.search('/ghost/'));
|
||||
|
||||
return {
|
||||
subdir: subdir,
|
||||
adminRoot: subdir + '/ghost',
|
||||
apiRoot: subdir + '/ghost/api/v0.1'
|
||||
};
|
||||
}
|
||||
import ghostPaths from 'ghost/utils/ghost-paths';
|
||||
|
||||
var BaseModel = Ember.Object.extend({
|
||||
|
||||
|
29
ghost/admin/utils/ghost-paths.js
Normal file
29
ghost/admin/utils/ghost-paths.js
Normal file
@ -0,0 +1,29 @@
|
||||
var makeRoute = function (root, args) {
|
||||
var parts = Array.prototype.slice.call(args, 0).join('/'),
|
||||
route = [root, parts].join('/');
|
||||
|
||||
if (route.slice(-1) !== '/') {
|
||||
route += '/';
|
||||
}
|
||||
|
||||
return route;
|
||||
};
|
||||
|
||||
export default function ghostPaths() {
|
||||
var path = window.location.pathname,
|
||||
subdir = path.substr(0, path.search('/ghost/'));
|
||||
|
||||
return {
|
||||
subdir: subdir,
|
||||
adminRoot: subdir + '/ghost',
|
||||
apiRoot: subdir + '/ghost/api/v0.1',
|
||||
|
||||
adminUrl: function () {
|
||||
return makeRoute(this.adminRoot, arguments);
|
||||
},
|
||||
|
||||
apiUrl: function () {
|
||||
return makeRoute(this.apiRoot, arguments);
|
||||
}
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user