PHP Classes

File: public/js/tinymce/src/plugins/template/src/main/js/ui/Dialog.js

Recommend this page to a friend!
  Classes of Abed Nego Ragil Putra   GoLavaCMS   public/js/tinymce/src/plugins/template/src/main/js/ui/Dialog.js   Download  
File: public/js/tinymce/src/plugins/template/src/main/js/ui/Dialog.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: GoLavaCMS
Publish content on Web pages with SEO support
Author: By
Last change:
Date: 6 years ago
Size: 4,073 bytes
 

Contents

Class file image Download
/** * Dialog.js * * Released under LGPL License. * Copyright (c) 1999-2017 Ephox Corp. All rights reserved * * License: http://www.tinymce.com/license * Contributing: http://www.tinymce.com/contributing */ define( 'tinymce.plugins.template.ui.Dialog', [ 'tinymce.core.dom.DOMUtils', 'tinymce.core.util.Tools', 'tinymce.core.util.XHR', 'tinymce.plugins.template.api.Settings', 'tinymce.plugins.template.core.Templates' ], function (DOMUtils, Tools, XHR, Settings, Templates) { var insertIframeHtml = function (editor, win, html) { if (html.indexOf('<html>') === -1) { var contentCssLinks = ''; Tools.each(editor.contentCSS, function (url) { contentCssLinks += '<link type="text/css" rel="stylesheet" href="' + editor.documentBaseURI.toAbsolute(url) + '">'; }); var bodyClass = editor.settings.body_class || ''; if (bodyClass.indexOf('=') !== -1) { bodyClass = editor.getParam('body_class', '', 'hash'); bodyClass = bodyClass[editor.id] || ''; } html = ( '<!DOCTYPE html>' + '<html>' + '<head>' + contentCssLinks + '</head>' + '<body class="' + bodyClass + '">' + html + '</body>' + '</html>' ); } html = Templates.replaceTemplateValues(editor, html, Settings.getPreviewReplaceValues(editor)); var doc = win.find('iframe')[0].getEl().contentWindow.document; doc.open(); doc.write(html); doc.close(); }; var open = function (editor, templateList) { var win, values = [], templateHtml; if (!templateList || templateList.length === 0) { var message = editor.translate('No templates defined.'); editor.notificationManager.open({ text: message, type: 'info' }); return; } Tools.each(templateList, function (template) { values.push({ selected: !values.length, text: template.title, value: { url: template.url, content: template.content, description: template.description } }); }); var onSelectTemplate = function (e) { var value = e.control.value(); if (value.url) { XHR.send({ url: value.url, success: function (html) { templateHtml = html; insertIframeHtml(editor, win, templateHtml); } }); } else { templateHtml = value.content; insertIframeHtml(editor, win, templateHtml); } win.find('#description')[0].text(e.control.value().description); }; win = editor.windowManager.open({ title: 'Insert template', layout: 'flex', direction: 'column', align: 'stretch', padding: 15, spacing: 10, items: [ { type: 'form', flex: 0, padding: 0, items: [ { type: 'container', label: 'Templates', items: { type: 'listbox', label: 'Templates', name: 'template', values: values, onselect: onSelectTemplate } } ] }, { type: 'label', name: 'description', label: 'Description', text: '\u00a0' }, { type: 'iframe', flex: 1, border: 1 } ], onsubmit: function () { Templates.insertTemplate(editor, false, templateHtml); }, minWidth: Settings.getDialogWidth(editor), minHeight: Settings.getDialogHeight(editor) }); win.find('listbox')[0].fire('select'); }; return { open: open }; } );