UNPKG

@ima/core

Version:

IMA.js framework for isomorphic javascript application

86 lines (85 loc) 3.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "PageRenderer", { enumerable: true, get: function() { return PageRenderer; } }); class PageRenderer { /** * Renders the page using the provided controller and view. The actual * behavior of this method differs at the client-side and the at * server-side in the following way: * * At the server, the method first waits for all the resources to load, and * then renders the page to a string containing HTML markup to send to the * client. * * At the client, the method uses the already available resources to render * the page into DOM, re-using the DOM created from the HTML markup send by * the server if possible. After this the method will re-render the page * every time another resource being loaded finishes its loading and * becomes available. * * Note that the method renders the page at the client-side only after all * resources have been loaded if this is the first time this method is * invoked at the client. * * @param controller The current page controller. * @param view The page's view. * @param pageResources The resources for * the view loaded by the controller. * @param routeOptions The current route options. * @return A promise that will resolve to information about the * rendered page. The `status` will contain the HTTP status * code to send to the client (at the server side) or determine the * type of error page to navigate to (at the client side). */ mount(controller, view, pageResources, routeOptions) { return Promise.reject(); } /** * Handles update of the current route that does not replace the current * controller and view. * * The method will use the already available resource to update the * controller's state and the view immediately. After that, the method will * update the controller's state and view with every resource that becomes * resolved. * * @param controller The current page controller. * @param view The page's view. * @param resourcesUpdate The resources * that represent the update the of current state according to the * current route and its parameters. * @param routeOptions The current route options. * @return A promise that will resolve to information about the * rendered page. The `status` will contain the HTTP status * code to send to the client (at the server side) or determine the * type of error page to navigate to (at the client side). * The `content` field will contain the rendered markup of * the page at the server-side, or `null` at the client-side. */ update(controller, view, resourcesUpdate, routeOptions) { return Promise.reject(); } /** * Unmounts the view from the DOM. * * This method has no effect at the server-side. */ unmount() { return; } /** * Sets the provided state to the currently rendered view. * * This method has no effect at the server-side. * * @param state The state to set to the currently * rendered view. */ setState(state) { return Promise.reject(); } } //# sourceMappingURL=PageRenderer.js.map