/*! * Piwik - Web Analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later */ /** * @constructor */ function widgetize() { var self = this; this.getInputFormWithHtml = function (inputId, htmlEmbed) { return ''; }; this.getEmbedUrl = function (parameters, exportFormat) { var copyParameters = {}; for (var variableName in parameters) { copyParameters[variableName] = parameters[variableName]; } copyParameters['moduleToWidgetize'] = parameters['module']; copyParameters['actionToWidgetize'] = parameters['action']; delete copyParameters['action']; delete copyParameters['module']; var sourceUrl; sourceUrl = document.location.protocol + '//' + document.location.hostname + (document.location.port == '' ? '' : (':' + document.location.port)) + document.location.pathname + '?'; sourceUrl += "module=Widgetize" + "&action=" + exportFormat + "&" + piwikHelper.getQueryStringFromParameters(copyParameters) + "&idSite=" + piwik.idSite + "&period=" + piwik.period + "&date=" + broadcast.getValueFromUrl('date') + "&disableLink=1&widget=1"; return sourceUrl; }; this.htmlentities = function (s) { return s.replace(/[<>&]/g, function (m) { return "&" + m.charCodeAt(0) + ";"; }); }; this.callbackAddExportButtonsUnderWidget = function (widgetUniqueId, loadedWidgetElement) { var widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId); var widgetParameters = widget['parameters']; var exportButtonsElement = $(''); var urlIframe = self.getEmbedUrl(widgetParameters, "iframe"); // We first build the HTML code that will load the widget in an IFRAME var widgetIframeHtml = '
' + '' + '
'; // Add the input field containing the widget in an Iframe $(exportButtonsElement).append( '
' + '' + '' + self.getInputFormWithHtml('iframeEmbed', widgetIframeHtml) + '' + '
' + '
' + ' ' + self.getInputFormWithHtml('directLinkEmbed', urlIframe) + ' - ' + _pk_translate('Widgetize_OpenInNewWindow') + '' + '
' ); // We then replace the div iframeDivToExport with the actual Iframe html $('#iframeDivToExport') .html(widgetIframeHtml); // Finally we append the content to the parent widget DIV $(loadedWidgetElement) .parent() .append(exportButtonsElement); // JS is buggy at least on IE //var widgetJS = '