blob: 34a4eaa3f4b7a7f4e9aff989b6461c628f10b034 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<ui:composition template="/main.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:tc="http://myfaces.apache.org/tobago/component"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<tc:script file="https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js" referrerpolicy="origin"/>
<tc:script file="#{request.contextPath}/content/20-component/110-wysiwyg/00-tinymce/init-tinymce.js"/>
<tc:section label="Setup">
<p>
This demo uses the CDN of TinyMCE as a showcase.
There are other integration possibilities.
For more information to setup see
<tc:link image="fa-external-link" link="https://www.tiny.cloud/" label="TinyMCE"/>.
</p>
<p>
<tc:badge
value="Only working with internet access of the browser, because of the use of a CDN."
markup="info"/>
</p>
<p>
The setup needs entries in <code>tobago-config.xml</code> for CSP.
More infomation about these entries you find also on their webside.
</p>
<p>
This page contains two <code class="language-markup">&lt;tc:script/></code> tags,
one for the TinyMCE itself and the other for the initialization in this demo.
The <code class="language-markup">&lt;tc:textarea/></code> contain
<code class="language-markup">&lt;tc:dataAttribute name="html-editor" value="tinymce"/></code>,
to mark this textarea to be used as rich text editor. The initialization is done by the
<code>init-tinymce.js</code> script.
</p>
<tc:box id="sourceCodeBox" label="init-tinymce.js" collapsed="true" collapsedMode="hidden">
<f:facet name="bar">
<tc:buttons>
<tc:button label="show" omit="true">
<tc:operation name="show" for="sourceCodeBox"/>
</tc:button>
<tc:button label="hide" omit="true">
<tc:operation name="hide" for="sourceCodeBox"/>
</tc:button>
</tc:buttons>
</f:facet>
<demo-highlight language="javascript"><tc:out value="#{tinyMceController.source}"/></demo-highlight>
</tc:box>
<tc:textarea value="#{tinyMceController.text}">
<tc:dataAttribute name="html-editor" value="tinymce"/>
</tc:textarea>
<tc:button label="Submit"/>
</tc:section>
</ui:composition>