var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; /// <reference path="IRenderer.ts" /> /// <reference path="../../../util/DomHelper.ts" /> /// <reference path="../../../base/BaseClass.ts" /> /// <reference path="../../Widget.ts" /> /// <reference path="../../response/Response.ts" /> var econda; (function (econda) { var recengine; (function (recengine) { var widget; (function (widget_1) { var renderer; (function (renderer) { /** * Class to render widgets using websale template system * @class econda.recengine.widget.renderer.WebsaleRenderer * @extends econda.base.BaseClass */ var WebsaleRenderer = (function (_super) { __extends(WebsaleRenderer, _super); function WebsaleRenderer(cfg) { if (cfg === void 0) { cfg = null; } _super.call(this); /** * Widget instance containing response data and target element information * @private * @accessor */ this.widget = null; /** * File name of template on websale server * @cfg {string} [template=econda.htm] * @accessor */ this.template = "econda.htm"; /** * Callback Function to render template * @cfg {Function} [callback=null] * @accessor */ this.callback = null; if (cfg instanceof WebsaleRenderer) { return cfg; } this.initConfig(cfg); } WebsaleRenderer.prototype.getWidget = function () { return this.widget; }; WebsaleRenderer.prototype.setWidget = function (widget) { this.widget = widget; }; WebsaleRenderer.prototype.getTemplate = function () { return this.template; }; WebsaleRenderer.prototype.setTemplate = function (name) { this.template = name; return this; }; WebsaleRenderer.prototype.getCallback = function () { return this.callback; }; WebsaleRenderer.prototype.setCallback = function (func) { this.callback = func; return this; }; /** * Websale creates a callback outside of this sdk that will use one of their templates to render * this result. * @param {econda.recengine.response.Response} result * @returns {boolean} Must return false to tell the Widget class, that the result is already rendered */ WebsaleRenderer.prototype.render = function (result, success) { // provide target element var targetElement = econda.util.DomHelper.element(this.getWidget().getElement()); var templateName = this.getTemplate(); var callbackFnc = this.getCallback(); // targetElement => reference to dom node // result => result data as object s. http://downloads.econda.org/support/releases/js-sdk/0.3.1/docs/api/#!/api/econda.recengine.Response // templateName => string with tempalte name, defaults to "econda.htm" //econda_websale_callback(targetElement, result, templateName); if (callbackFnc != null) { callbackFnc(targetElement, result, templateName); } success(false); // false = do not update target element with result }; return WebsaleRenderer; }(econda.base.BaseClass)); renderer.WebsaleRenderer = WebsaleRenderer; // end of class })(renderer = widget_1.renderer || (widget_1.renderer = {})); })(widget = recengine.widget || (recengine.widget = {})); })(recengine = econda.recengine || (econda.recengine = {})); })(econda || (econda = {})); // end of module