@@ -0,0 +1,438 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ A slight adaptation of fossil's legacy wysiwyg wiki editor which
3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ makes it usable with the newer editor's edit widget replacement
4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ API.
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Requires: window.fossil, fossil.dom, and that the current page is
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /wikiedit. If called from another page it returns without effect.
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ditor-widget-swapping API.
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (function(F/*fossil object*/){
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'use strict';
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!F || !F.page || F.page.name!=='wikiedit') return;
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const D = F.dom;
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ////////////////////////////////////////////////////////////////////////
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Install an app-specific stylesheet...
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (function(){
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const head = document.head || document.querySelector('head'),
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ styleTag = document.createElement('style'),
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ styleCSS = `
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ .intLink { cursor: pointer; }
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ img.intLink { border: 0; }
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwyg-container {
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ display: flex;
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flex-direction: column;
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ max-width: 100% /* w/o this, toolbars don't wrap properly! */
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwygBox {
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ border: 1px solid rgba(127,127,127,0.3);
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ border-radius: 0.25em;
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ padding: 0.25em 1em;
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ margin: 0;
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ overflow: auto;
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ min-height: 20em;
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ resize: vertical;
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwygEditMode { /* wrapper for radio buttons */
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ border: 1px solid rgba(127,127,127,0.3);
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ border-radius: 0.25em;
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ padding: 0 0.35em 0 0.35em
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwygEditMode > * {
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vertical-align: text-top;
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwygEditMode label { cursor: pointer; }
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwyg-toolbars {
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ margin: 0 0 0.25em 0;
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ display: flex;
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flex-wrap: wrap;
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flex-direction: column;
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ align-items: flex-start;
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwyg-toolbars > * {
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ margin: 0 0.5em 0.25em 0;
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwyg-toolBar1, #wysiwyg-toolBar2 {
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ margin: 0 0.2em 0.2em 0;
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ display: flex;
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ flex-flow: row wrap;
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwyg-toolBar1 > * { /* formatting buttons */
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vertical-align: middle;
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ margin: 0 0.25em 0.25em 0;
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ #wysiwyg-toolBar2 > * { /* icons */
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ border: 1px solid rgba(127,127,127,0.3);
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ vertical-align: baseline;
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ma/* Adapted from https://st
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ styleTag.type = 'text/css';
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(styleTag, styleCSS);
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ })();
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const outerContainer = D.attr(D.div(), 'id', 'wysiwyg-container'),
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ toolbars = D.attr(D.div(), 'id', 'wysiwyg-toolbars'),
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ toolbar1 = D.attr(D.div(), 'id', 'wysiwyg-toolBar1'),
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // ^^^ formatting options
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ toolbar2 = D.attr(D.div(), 'id', 'wysiwyg-toolBar2')
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // ^^^^ action icon buttons
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ;
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(outerContainer, D.append(toolbars, toolbar1, toolbar2));
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** Returns a function which simplifies adding a list of options
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ to the given select element. See below for example usage. */
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const addOptions = function(select){
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return function ff(value, label){
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.option(select, value, label || value);
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return ff;
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ////////////////////////////////////////////////////////////////////////
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Edit mode selection (radio buttons).
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const radio0 =
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.input('radio'),
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'name','wysiwyg-mode',
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'id', 'wysiwyg-mode-0',
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'value',0,
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'checked',true),
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ radio1 = D.attr(
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.input('radio'),
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'id','wysiwyg-mode-1',
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'name','wysiwyg-mode',
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'value',1),
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ radios = D.append(
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(D.span(), 'id', 'wysiwygEditMode'),
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ radio0, D.append(
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(D.label(), 'for', 'wysiwyg-mode-0'),
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "WYSIWYG"
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ),
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ radio1, D.append(
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(D.label(), 'for', 'wysiwyg-mode-1'),
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Raw HTML"
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(toolbar1, radios);
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const radioHandler = function(){setDocMode(+this.value)};
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ radio0.addEventListener('change',radioHandler, false);
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ radio1.addEventListener('change',radioHandler, false);
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ////////////////////////////////////////////////////////////////////////
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Text formatting options...
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var select;
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select = D.addClass(D.select(), 'format');
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select.dataset.format = "formatblock";
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(toolbar1, select);
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOptions(select)(
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ '', '- formatting -')(
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "h1", "Title 1 <h1>")(
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "h2", "Title 2 <h2>")(
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "h3", "Title 3 <h3>")(
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "h4", "Title 4 <h4>")(
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "h5", "Title 5 <h5>")(
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "h6", "Subtitle <h6>")(
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "p", "Paragraph <p>")(
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "pre", "Preformatted <pre>");
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select = D.addClass(D.select(), 'format');
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select.dataset.format = "fontname";
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(toolbar1, select);
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.addClass(
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.option(select, '', '- font -'),
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "heading"
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOptions(select)(
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'Arial')(
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'Arial Black')(
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'Courier New')(
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'Times New Roman');
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select = D.addClass(D.select(), 'format');
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(toolbar1, select);
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select.dataset.format = "fontsize";
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.addClass(
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.option(select, '', '- size -'),
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "heading"
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOptions(select)(
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "1", "Very small")(
162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "2", "A bit small")(
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "3", "Normal")(
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "4", "Medium-large")(
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "5", "Big")(
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "6", "Very big")(
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "7", "Maximum");
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select = D.addClass(D.select(), 'format');
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(toolbar1, select);
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ select.dataset.format = 'forecolor';
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.addClass(
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.option(select, '', '- color -'),
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "heading"
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOptions(select)(
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "red", "Red")(
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "blue", "Blue")(
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "green", "Green")(
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "black", "Black")(
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "grey", "Grey")(
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "yellow", "Yellow")(
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "cyan", "Cyan")(
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "magenta", "Magenta");
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ////////////////////////////////////////////////////////////////////////
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Icon-based toolbar...
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Inject the icons...
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ mkbuiltins strips anything which looks like a C++-style comment,
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ even if it's in a string literal, and thus the runs of "/"
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ characters in the DOM element data attributes have been mangled
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ to work around that: we simply use \x2f for every 2nd slash.
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ (function f(title,format,src){
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const img = D.img();
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(toolbar2, img);
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.addClass(img, 'intLink');
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(img, 'title', title);
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ img.dataset.format = format;
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(img, 'src', 'string'===typeof src ? src : src.join(''));
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return f;
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ })(
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'Undo', 'undo',
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAOMKADljwliE33mOrpGjuYKl8aezxqPD+7",
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/I19DV3NHa7P/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/yH5BAEKAA8ALAAAAAAWABYAAARR8MlJq704680",
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "7TkaYeJJBnES4EeUJvIGapWYAC0CsocQ7SDlWJkAkCA6ToMYWIARGQF3mRQVIEjkkSVLIbSfE",
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "whdRIH4fh/DZMICe3/C4nBQBADs="]
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 'Redo','redo',
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAMIHAB1ChDljwl9vj1iE34Kl8aPD+7/I1/",
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/yH5BAEKAAcALAAAAAAWABYAAANKeLrc/jDKSesyphi7SiEgsVXZEATDICqBVJjpqWZt9Na",
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "EDNbQK1wCQsxlYnxMAImhyDoFAElJasRRvAZVRqqQXUy7Cgx4TC6bswkAOw=="]
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Remove formatting",
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "removeFormat",
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AA",
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "AABGdBTUEAALGPC/xhBQAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwA",
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "AAAd0SU1FB9oECQMCKPI8CIIAAAAIdEVYdENvbW1lbnQA9syWvwAAAuhJREFUOMtjYBgFxAB5",
223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "01ZWBvVaL2nHnlmk6mXCJbF69zU+Hz/9fB5O1lx+bg45qhl8/fYr5it3XrP/YWTUvvvk3VeqG",
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Xz70TvbJy8+Wv39+2/Hz19/mGwjZzuTYjALuoBv9jImaXHeyD3H7kU8fPj2ICML8z92dlbtMz",
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "deiG3fco7J08foH1kurkm3E9iw54YvKwuTuom+LPt/BgbWf3/\x2fsf37/1/c02cCG1lB8f/\x2ff95",
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "DZx74MTMzshhoSm6szrQ/a6Ir/Z2RkfEjBxuLYFpDiDi6Af/\x2f/2ckaHBp7+7wmavP5n76+P2C",
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "lrLIYl8H9W36auJCbCxM4szMTJac7Kza/\x2f/\x2fR3H1w2cfWAgafPbqs5g7D95++/P1B4+ECK8tA",
228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "wMDw/1H7159+/7r7ZcvPz4fOHbzEwMDwx8GBgaGnNatfHZx8zqrJ+4VJBh5CQEGOySEua/v3n",
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "7hXmqI8WUGBgYGL3vVG7fuPK3i5GD9/fja7ZsMDAzMG/Ze52mZeSj4yu1XEq/ff7W5dvfVAS1",
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "lsXc4Db7z8C3r8p7Qjf/\x2f/2dnZGxlqJuyr3rPqQd/Hhyu7oSpYWScylDQsd3kzvnH738wMDzj",
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "5GBN1VIWW4c3KDon7VOvm7S3paB9u5qsU5/x5KUnlY+eexQbkLNsErK61+++VnAJcfkyMTIwf",
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "fj0QwZbJDKjcETs1Y8evyd48toz8y/ffzv/\x2fvPP4veffxpX77z6l5JewHPu8MqTDAwMDLzyrj",
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "b/mZm0JcT5Lj+89+Ybm6zz95oMh7s4XbygN3Sluq4Mj5K8iKMgP4f0/\x2f/\x2ffv77/\x2f8nLy+7MCc",
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "XmyYDAwODS9jM9tcvPypd35pne3ljdjvj26+H2dhYpuENikgfvQeXNmSl3tqepxXsqhXPyc66",
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "6s+fv1fMdKR3TK72zpix8nTc7bdfhfkEeVbC9KhbK/9iYWHiErbu6MWbY/7/\x2f8/4/\x2f9/pgOnH",
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "6jGVazvFDRtq2VgiBIZrUTIBgCk+ivHvuEKwAAAAABJRU5ErkJggg=="]
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Bold",
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "bold",
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWAB",
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "YAQAInhI+pa+H9mJy0LhdgtrxzDG5WGFVk6aXqyk6Y9kXvKKNuLbb6zgMFADs="]
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Italic",
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "italic",
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAKEDAAAAAF9vj5WIbf/\x2f/yH5BAEAAAMALA",
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "AAAAAWABYAAAIjnI+py+0Po5x0gXvruEKHrF2BB1YiCWgbMFIYpsbyTNd2UwAAOw=="]
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Underline",
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "underline",
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAKECAAAAAF9vj/\x2f/\x2f/\x2f/\x2fyH5BAEAAAIALA",
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "AAAAAWABYAAAIrlI+py+0Po5zUgAsEzvEeL4Ea15EiJJ5PSqJmuwKBEKgxVuXWtun+DwxCCgA",
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "7"]
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Left align",
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "justifyleft",
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWAB",
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "YAQAIghI+py+0Po5y02ouz3jL4D4JMGELkGYxo+qzl4nKyXAAAOw=="]
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Center align",
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "justifycenter",
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWAB",
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "YAQAIfhI+py+0Po5y02ouz3jL4D4JOGI7kaZ5Bqn4sycVbAQA7"]
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Right align",
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "justifyright",
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAID/AMDAwAAAACH5BAEAAAAALAAAAAAWAB",
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "YAQAIghI+py+0Po5y02ouz3jL4D4JQGDLkGYxouqzl43JyVgAAOw=="]
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Numbered list",
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "insertorderedlist",
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAMIGAAAAADljwliE35GjuaezxtHa7P/\x2f/\x2f",
272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKSespwjoRFvggCBUBoTFBeq6QIAysQnRHaEO",
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "zyaZ07Lu9lUBnC0UGQU1K52s6n5oEADs="]
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Dotted list",
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "insertunorderedlist",
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv/\x2f/\x2f",
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud6",
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "4UwiuKnigGQliQuWOyKQykgAAOw=="]
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Quote",
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "formatblock",
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAIQXAC1NqjFRjkBgmT9nqUJnsk9xrFJ7u2",
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "R9qmKBt1iGzHmOrm6Sz4OXw3Odz4Cl2ZSnw6KxyqO306K63bG70bTB0rDI3bvI4P",
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/\x2f/",
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2fyH5BAEKAB8ALAAAAAAWABYAAAVP4CeOZGmeaKqubEs2Cekk",
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "ErvEI1zZuOgYFlakECEZFi0GgTGKEBATFmJAVXweVOoKEQgABB9IQDCmrLpjETrQQlhHjINrT",
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "q/b7/i8fp8PAQA7"]
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Delete indentation",
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "outdent",
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAMIHAAAAADljwliE35GjuaezxtDV3NHa7P",
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKCQG9F2i7u8agQgyK1z2EIBil+TWqEMxhMcz",
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "sYVJ3e4ahk+sFnAgtxSQDqWw6n5cEADs="]
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Add indentation",
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "indent",
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAOMIAAAAADljwl9vj1iE35GjuaezxtDV3N",
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Ha7P/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/yH5BAEAAAgALAAAAAAWABYAAAQ7EMlJq704650",
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "B/x8gemMpgugwHJNZXodKsO5oqUOgo5KhBwWESyMQsCRDHu9VOyk5TM9zSpFSr9gsJwIAOw=="
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ]
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Hyperlink",
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "createlink",
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAOMKAB1ChDRLY19vj3mOrpGjuaezxrCztb",
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/I19Ha7Pv8/f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/yH5BAEKAA8ALAAAAAAWABYAAARY8MlJq704682",
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "7/2BYIQVhHg9pEgVGIklyDEUBy/RlE4FQF4dCj2AQXAiJQDCWQCAEBwIioEMQBgSAFhDAGghG",
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "i9XgHAhMNoSZgJkJei33UESv2+/4vD4TAQA7"]
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Cut",
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "cut",
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAIQSAB1ChBFNsRJTySJYwjljwkxwl19vj1",
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "dusYODhl6MnHmOrpqbmpGjuaezxrCztcDCxL/I18rL1P/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/",
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "yH5BAEAAB8ALAAAAAAWABYAAAVu4CeOZGmeaKqubDs6TNnE",
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "bGNApNG0kbGMi5trwcA9GArXh+FAfBAw5UexUDAQESkRsfhJPwaH4YsEGAAJGisRGAQY7UCC9",
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "ZAXBB+74LGCRxIEHwAHdWooDgGJcwpxDisQBQRjIgkDCVlfmZqbmiEAOw=="]
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Copy",
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "copy",
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAIQcAB1ChBFNsTRLYyJYwjljwl9vj1iE31",
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "iGzF6MnHWX9HOdz5GjuYCl2YKl8ZOt4qezxqK63aK/9KPD+7DI3b/I17LM/MrL1MLY9NHa7OP",
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "s++bx/Pv8/f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/yH5BAEAAB8ALAAAAAAWABYAAAWG4CeOZGmeaKqubOum1SQ/",
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "kPVOW749BeVSus2CgrCxHptLBbOQxCSNCCaF1GUqwQbBd0JGJAyGJJiobE+LnCaDcXAaEoxhQ",
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "ACgNw0FQx9kP+wmaRgYFBQNeAoGihCAJQsCkJAKOhgXEw8BLQYciooHf5o7EA+kC40qBKkAAA",
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Grpy+wsbKzIiEAOw=="]
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ )(
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Paste, when activated via JS, has no effect in some (maybe all)
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ environments. Activated externally, e.g. keyboard, it works. */
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Paste (does not work in all environments)",
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "paste",
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ["data:image/gif;base64,R0lGODlhFgAWAIQUAD04KTRLY2tXQF9vj414WZWIbXmOrp",
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "qbmpGjudClFaezxsa0cb/I1+3YitHa7PrkIPHvbuPs+/fvrvv8/f/\x2f/\x2f/\x2f",
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/",
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f/\x2f",
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "yH5BAEAAB8ALAAAAAAWABYAAAWN4CeOZGmeaKqubGsusPvB",
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SyFJjVDs6nJLB0khR4AkBCmfsCGBQAoCwjF5gwquVykSFbwZE+AwIBV0GhFog2EwIDchjwRiQ",
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "o9E2Fx4XD5R+B0DDAEnBXBhBhN2DgwDAQFjJYVhCQYRfgoIDGiQJAWTCQMRiwwMfgicnVcAAA",
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "MOaK+bLAOrtLUyt7i5uiUhADs="]
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ );
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ////////////////////////////////////////////////////////////////////////
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // The main editor area...
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const oDoc = D.attr(D.div(), 'id', "wysiwygBox");
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.attr(oDoc, 'contenteditable', 'true');
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(outerContainer, oDoc);
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Initialize the document editor */
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function initDoc() {
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ initEventHandlers();
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!isWysiwyg()) { setDocMode(true); }
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function initEventHandlers() {
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //console.debug("initEventHandlers()");
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const handleDropDown = function() {
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ formatDoc(this.dataset.format,this[this.selectedIndex].value);
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.selectedIndex = 0;
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const handleFormatButton = function() {
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var extra;
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch (this.dataset.format) {
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 'createlink':
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const sLnk = prompt('Target URL:','');
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(sLnk) extra = sLnk;
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case 'formatblock':
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ extra = 'blockquote';
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ formatDoc(this.dataset.format, extra);
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var i, controls = outerContainer.querySelectorAll('select.format');
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i = 0; i < controls.length; i++) {
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ controls[i].addEventListener('change', handleDropDown, false);;
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ controls = outerContainer.querySelectorAll('.intLink');
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for(i = 0; i < controls.length; i++) {
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ controls[i].addEventListener('click', handleFormatButton, false);
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Return true if the document editor is in WYSIWYG mode. Return
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** false if it is in Markup mode */
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function isWysiwyg() {
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return radio0.checked;
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Run the editing command if in WYSIWYG mode */
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function formatDoc(sCmd, sValue) {
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ioDoc.innerHTML = content){
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // First, try the W3C draft standard way, which has
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // been working on all non-IE browsers for a while.
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // It is also supported by IE11 and higher.
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ document.execCommand("styleWithCSS", false, false);
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (e) {
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // For IE9 or IE10, this should work.
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ document.execCommand("useCSS", 0, true);
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (e) {
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // OK, that apparently did not work, do nothing.
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ document.execCommand(sCmd, false, sValue);
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ oDoc.focus();
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Change the editing mode. Convert to markup if the argument
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** is true and wysiwyg if the argument is false. */
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function setDocMode(bToMarkup, content) {
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(undefined===content){
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ content = bToMarkup ? oDoc.innerHTML : oDoc.innerText;
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!setDocMode.linebreak){
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ setDocMode.linebreak = new RegExp("</p><p>","ig");
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if(!setDocMode.toHide){
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ setDocMode.toHide = toolbars.querySelectorAll(
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ '#wysiwyg-toolBar1 > *:not(#wysiwygEditMode), '
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ +'#wysiwyg-toolBar2');
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (bToMarkup) {
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* WYSIWYG -> Markup */
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Legacy did this: content=content.replace(setDocMode.linebreak,"</p>\n\n<p>")
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ D.append(D.clearElement(oDoc), content)
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ oDoc.style.whInvoke this routine prior to submitting the HTML content back
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** to the server */
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*functio /* Return true if th=="pre-wrap"){setDocMode(0);}
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ document.getElementById("wysiwygValue").