graft-react
Version:
react admin and helper components for graft-db
45 lines (44 loc) • 1.62 kB
JavaScript
;
var React = require("react");
var App_1 = require("./App");
var TypeList_1 = require("./TypeList");
var TypeEdit_1 = require("./TypeEdit");
var ObjectList_1 = require("./ObjectList");
var ObjectEdit_1 = require("./ObjectEdit");
var MediaList_1 = require("./MediaList");
var graft_db_1 = require("graft-db");
var Router_1 = require("./Router");
var globalDefaults = {
sidebar: false,
preview: false,
};
var globalTypes = {
preview: 'boolean',
sidebar: 'boolean',
};
function route(key, route, render) {
return {
key: key,
route: route,
render: function (params) {
var out = render(params);
return React.createElement(App_1.App, null, out);
},
defaults: globalDefaults,
defaultTypes: globalTypes,
};
}
exports.Admin = Router_1.Router([
route('index', '', function () { return 'INDEX'; }),
route('types', '/types', function () { return React.createElement(TypeList_1.TypeList, null); }),
route('type', '/type/{id}', function (_a) {
var id = _a.id;
return React.createElement(TypeEdit_1.TypeEdit, { params: { id: graft_db_1.toGlobalId('Type', id) } });
}),
route('objects', '/content', function () { return React.createElement(ObjectList_1.ObjectList, null); }),
route('object', '/content/{id}', function (_a) {
var id = _a.id;
return React.createElement(ObjectEdit_1.ObjectEdit, { params: { id: graft_db_1.toGlobalId('Object', id) } });
}),
route('media', '/media', function () { return React.createElement(MediaList_1.MediaList, null); }),
]);