Skip to content
Snippets Groups Projects
Commit 5364f1b4 authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

ENH: Add button for inline-reference templates

parent 45fa9845
Branches
Tags
1 merge request!1ENH: Add inline reference button
......@@ -5,3 +5,4 @@ tmp/
sample/ckeditor.dist.js
/package-lock.json
*~
indiscale-ckeditor5-complexitywiki-plugins-*.tgz
......@@ -104,7 +104,8 @@ ClassicEditor
'codeBlock',
'|',
'inlineMathButton',
'displayMathButton'
'displayMathButton',
'inlineReferenceButton'
],
image: {
toolbar: [ 'imageStyle:inline', 'imageStyle:block', 'imageStyle:side', '|', 'imageTextAlternative' ]
......
......@@ -31,6 +31,7 @@ import {
import Code from '@ckeditor/ckeditor5-basic-styles/src/code';
import Markdown from '@ckeditor/ckeditor5-markdown-gfm/src/markdown.js';
import caosdbIcon from '../theme/icons/caosdb_icon.svg';
import displayIcon from '../theme/icons/display.svg';
import inlineIcon from '../theme/icons/inline.svg';
......@@ -101,5 +102,31 @@ export default class ComplexitywikiPlugins extends Plugin {
return view;
} );
// Add the inline-link button
editor.ui.componentFactory.add( 'inlineReferenceButton', locale => {
const view = new ButtonView( locale );
view.set( {
label: t( 'Insert an inlne-reference link to another CaosDB entity' ),
icon: caosdbIcon,
tooltip: true,
isToggleable: true
} );
this.listenTo( view, 'execute', () => {
// const entityId = prompt( 'Entity Id' );
// const propName = prompt( 'Property name (optional)' );
// const linkName = prompt( 'Link text (alt text in case of images, optional)' );
// const idAndProp = propName ? `${entityId}.${propName}` : `${entityId}`;
model.change( writer => {
const textNode = writer.createText( '[<link text (optional)>](entity:<id or id.propertyName>', { 'code': true } );
model.insertContent( textNode );
} );
} );
return view;
} );
}
}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="5.6886401mm"
height="5.6886401mm"
viewBox="0 0 5.6886402 5.6886402"
version="1.1"
id="svg1380"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="caosdb_icon.svg"
inkscape:export-filename="/home/daniel/indiscale/management/internal/docs/grafiken.2018-10-23/logo/caosdb_logo.2019-08-05/caosdb_icon.512.png"
inkscape:export-xdpi="2286.1001"
inkscape:export-ydpi="2286.1001">
<defs
id="defs1374" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="51.429643"
inkscape:cy="-1.736402"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1135"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata1377">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(133.29358,119.81429)">
<g
transform="matrix(1.9221593,0,0,1.9221593,-234.19285,-614.98811)"
id="g10471">
<path
id="path3054"
style="fill:none;stroke:#abc837;stroke-width:0.13006206;stroke-linecap:square;stroke-linejoin:round;stroke-opacity:1"
sodipodi:type="arc"
sodipodi:cx="53.972397"
sodipodi:cy="259.6973"
sodipodi:rx="1.4368194"
sodipodi:ry="0.47309005"
sodipodi:start="5.8755288"
sodipodi:end="3.5501368"
sodipodi:open="true"
d="m 55.291472,259.50974 a 1.4368194,0.47309005 0 0 1 -0.439058,0.56153 1.4368194,0.47309005 0 0 1 -1.761042,-2.6e-4 1.4368194,0.47309005 0 0 1 -0.437545,-0.56166" />
<path
id="path3054-3"
style="fill:none;stroke:#abc837;stroke-width:0.13006206;stroke-linecap:square;stroke-linejoin:round;stroke-opacity:1"
sodipodi:type="arc"
sodipodi:cx="53.972397"
sodipodi:cy="259.29422"
sodipodi:rx="1.4368194"
sodipodi:ry="0.47309005"
sodipodi:start="5.8773562"
sodipodi:end="3.5475948"
sodipodi:open="true"
d="m 55.292511,259.10745 a 1.4368194,0.47309005 0 0 1 -0.440519,0.56085 1.4368194,0.47309005 0 0 1 -1.759387,-5e-5 1.4368194,0.47309005 0 0 1 -0.440224,-0.56087" />
<path
id="path3054-3-7"
style="fill:none;stroke:#abc837;stroke-width:0.13006206;stroke-linecap:square;stroke-linejoin:round;stroke-opacity:1"
sodipodi:type="arc"
sodipodi:cx="53.972397"
sodipodi:cy="258.8912"
sodipodi:rx="1.4368194"
sodipodi:ry="0.47309005"
sodipodi:start="5.9082337"
sodipodi:end="3.5426036"
sodipodi:open="true"
d="m 55.309394,258.71795 a 1.4368194,0.47309005 0 0 1 -0.479055,0.55275 1.4368194,0.47309005 0 0 1 -1.745625,-0.007 1.4368194,0.47309005 0 0 1 -0.435149,-0.55668" />
<ellipse
id="path3054-3-7-8"
style="fill:none;fill-opacity:1;stroke:#abc837;stroke-width:0.13006206;stroke-linecap:square;stroke-linejoin:round;stroke-opacity:1"
cx="53.972397"
cy="258.48816"
rx="1.4368194"
ry="0.47309005" />
</g>
</g>
</svg>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment