UNPKG

reiso

Version:
85 lines 7.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const ReactRouter = require("react-router"); const ApolloReact = require("react-apollo"); const graphql_tag_1 = require("graphql-tag"); const Translation = require("../Modules/Translation"); const BothHook_1 = require("../Modules/BothHook"); let Html = null; function GetHtml() { return Html; } exports.GetHtml = GetHtml; function DeclareHtml() { return function (target, ...args) { Html = target; }; } exports.DeclareHtml = DeclareHtml; exports.withRouter = ReactRouter.withRouter; exports.matchPath = ReactRouter.matchPath; exports.gql = graphql_tag_1.default; // TODO: Create an issue ticket // export type ApolloClient = ApolloReact.ApolloClient; exports.graphql = ApolloReact.graphql; let Routes = []; // TODO: Remove if is not necessary // export const connectProps = (name: string, defaultData: object, target): any => { // let state = defaultData ? { ...defaultData } : {}; // const newProps = {}; // newProps[name] = state; // return function(props) { // return React.createElement(target, { ...props, ...newProps }); // } // } // export const ConnectProps = (name: string, defaultData: object): any => { // return function (target) { // return connectProps(name, defaultData, target); // } // } class RouteModel { } function cleanRoutes() { Routes = []; } exports.cleanRoutes = cleanRoutes; function route(path, render, order = 0) { let route = new RouteModel(); route.path = path; route.order = order; route.render = render; Routes.push(route); } exports.route = route; function Route(path, render, order = 0) { return function (target, ...args) { route(path, render, order); return target; }; } exports.Route = Route; function GetRoutes(stores, language) { let routes = []; Routes = Routes.sort((a, b) => a.order > b.order ? 1 : -1); Routes.forEach(route => { let context = { stores }; BothHook_1.getHooksRouter().forEach(hook => hook(context)); Translation.getLanguages().forEach(language => { routes.push(React.createElement(ReactRouter.Route, { exact: true, path: '/' + language + (route.path || '/*'), key: '/' + language + (route.path || '/*'), render: ({ match, location, history }) => { // if (process.env.MODE == "client") Translation.setLanguage(language); BothHook_1.getBeforeRenderRouter().forEach(hook => hook(match, location, history)); return route.render(Object.assign({}, context, { trans: (query, ...args) => Translation.trans(language, query, ...args), location, history, match })); } })); }); routes.push(React.createElement(ReactRouter.Route, { exact: true, path: route.path, key: route.path, render: ({ match, location, history }) => route.render(Object.assign({}, context, { trans: (query, ...args) => Translation.trans(language, query, ...args), location, history, match })) })); }); if (routes.length > 0) return React.createElement(ReactRouter.Switch, null, routes); else return null; } exports.GetRoutes = GetRoutes; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0JvdGgvUm91dGVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUErQjtBQUUvQiw0Q0FBNEM7QUFFNUMsNENBQTRDO0FBRTVDLDZDQUFxQztBQUVyQyxzREFBc0Q7QUFDdEQsa0RBQTRFO0FBRTVFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQTtBQUNmO0lBQ0UsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRkQsMEJBRUM7QUFDRDtJQUNFLE9BQU8sVUFBVSxNQUFNLEVBQUUsR0FBRyxJQUFJO1FBQzlCLElBQUksR0FBRyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUpELGtDQUlDO0FBRVksUUFBQSxVQUFVLEdBQVEsV0FBVyxDQUFDLFVBQVUsQ0FBQztBQUN6QyxRQUFBLFNBQVMsR0FBUSxXQUFXLENBQUMsU0FBUyxDQUFDO0FBQ3ZDLFFBQUEsR0FBRyxHQUFHLHFCQUFVLENBQUM7QUFFOUIsK0JBQStCO0FBQy9CLHVEQUF1RDtBQUMxQyxRQUFBLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO0FBRTNDLElBQUksTUFBTSxHQUFpQixFQUFFLENBQUM7QUFFOUIsbUNBQW1DO0FBQ25DLG9GQUFvRjtBQUNwRix1REFBdUQ7QUFDdkQseUJBQXlCO0FBQ3pCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IscUVBQXFFO0FBQ3JFLE1BQU07QUFDTixJQUFJO0FBRUosNEVBQTRFO0FBQzVFLCtCQUErQjtBQUMvQixzREFBc0Q7QUFDdEQsTUFBTTtBQUNOLElBQUk7QUFFSjtDQVdDO0FBRUQ7SUFDRSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ2QsQ0FBQztBQUZELGtDQUVDO0FBRUQsZUFBc0IsSUFBWSxFQUFFLE1BT3JCLEVBQUUsUUFBZ0IsQ0FBQztJQUNoQyxJQUFJLEtBQUssR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lB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