Richard Hansen
11c86e677a
ace2_inner: Consistently use outerWin
and outerDoc
2021-08-16 00:31:09 -04:00
Richard Hansen
98c1ba5808
ace2_inner: Use destructuring assignment to simplify
2021-08-16 00:31:09 -04:00
Richard Hansen
c7be4f9d2d
ace2_inner: Move sidedivinner
creation to ace.js
2021-08-16 00:31:09 -04:00
Richard Hansen
15b1d4cb75
ace2_inner: Build sidedivinner
programmatically
2021-08-16 00:31:09 -04:00
Richard Hansen
b80295c228
ace2_inner: Combine declaration and initialization
2021-08-16 00:31:09 -04:00
Richard Hansen
7a8edc816b
ace2_inner: Replace initLineNumbers()
with an IIFE
2021-08-16 00:31:09 -04:00
Richard Hansen
b5bfff43cf
ace2_inner: Delete redundant class assignment
2021-08-16 00:31:08 -04:00
Richard Hansen
e581ee01f2
ace2_inner: Formatting improvements
2021-08-16 00:30:50 -04:00
Richard Hansen
0ca5a3459f
Timeslider: Install an error handler
2021-08-14 07:44:05 -04:00
Richard Hansen
b6fba9d66d
Pad: Improve page load error handler
...
* Install the error handler early.
* Include stack trace.
* Remove unnecessary escaping.
* Improve formatting.
* Move to a separate script file.
2021-08-14 07:44:05 -04:00
Richard Hansen
4a1f21ce34
pad_editbar: Convert snake case to camel case
2021-08-14 07:26:31 -04:00
Richard Hansen
5478d2ce60
pad_editbar: Use ES6 class syntax for readability
2021-08-14 07:26:31 -04:00
Richard Hansen
97ccf9e082
pad_editbar: Factor out duplicate code
2021-08-14 07:08:57 -04:00
Richard Hansen
ee41de4809
pad_editbar: Deprecate the toggleDropDown
callback
2021-08-14 07:08:57 -04:00
Richard Hansen
c629ee09a8
pad_editbar: Call the callback asynchronously
...
This follows JavaScript best practices.
2021-08-14 07:08:57 -04:00
Richard Hansen
148e10821b
pad_editbar: Always call the callback
2021-08-14 07:08:57 -04:00
Richard Hansen
07e05a92eb
pad_editbar: Call the callback after all work is done
2021-08-14 07:08:57 -04:00
Richard Hansen
a1b924f746
pad_editbar: Don't pass a callback to toggleDropDown()
...
The function is synchronous so there's no point.
2021-08-14 07:08:57 -04:00
Richard Hansen
59d6a8b321
pad_editbar: Delete unnecessary returned
variable
2021-08-14 07:01:50 -04:00
Richard Hansen
a4652d67a0
pad_editbar: Move commands
up for readability
2021-08-14 07:01:50 -04:00
Richard Hansen
fda34407f9
pad_editbar: Move dropdowns
initialization to constructor
...
This avoids null dereference if a buggy caller calls
`toggleDropDown('none')` before `init()`. (Ideally the caller would be
fixed, but this is not always feasible.)
2021-08-14 07:01:34 -04:00
Richard Hansen
42b0b1bf00
pad_editbar: Move syncAnimation
out of padeditbar
IIFE
...
This avoids the need for an IIFE.
2021-08-14 07:01:13 -04:00
Richard Hansen
ee996f530f
pad_editbar: Remove unnecessary syncAnimationFn
variable
2021-08-14 07:01:13 -04:00
Richard Hansen
4b4eef5f4a
pad_editbar: Convert registerDefaultCommands()
into a method
2021-08-14 07:01:13 -04:00
Richard Hansen
0d4f147349
pad_editbar: Simplify iteration
2021-08-14 07:01:13 -04:00
Richard Hansen
11faf6104a
pad_editbar: Convert bodyKeyEvent()
into a method
2021-08-14 07:01:13 -04:00
Richard Hansen
b2fe6e3e7e
pad_editbar: Fix invalid use of this
2021-08-14 07:01:12 -04:00
Richard Hansen
b884628a5a
pad_editbar: Use arrow functions for callbacks, IIFEs
2021-08-14 07:01:12 -04:00
Richard Hansen
bdaa66c346
pad_editbar: Use this
instead of self
2021-08-14 07:01:12 -04:00
Richard Hansen
c816c20bc7
HTML import: Replace cheerio with jsdom to simplify contentcollector
...
Cheerio provides jQuery-like objects but they wrap DOM Node-like
objects that are not 100% API compatible with the DOM spec. Because of
this, contentcollector, which is used in browsers and in Node.js
during HTML import, has until now needed to support two different
APIs. This commit modifies HTML import to use jsdom instead of cheerio
and simplifies contentcollector.
2021-08-12 13:53:23 -04:00
Volker Bijewitz
84d6d277d7
Accessibility fix for JAWS screen readers
...
ace.js: removed the role 'application' from innerDocument.body. JAWS
do not read any text from the edit lines if this role is set.
domline.createDomLine: to give JAWS the ability to read the lines
correctly, it is required to set the attribute 'aria-live' to
'assertive'.
2021-08-12 13:48:08 -04:00
webzwo0i
e61888dfe2
ace.js: Don't use srcdoc when creating iframes (see #4975 )
...
Using srcdoc, especially with multiple nested iframes, seems to be
problematic when using `self` in CSP policies.
2021-07-30 03:51:57 -04:00
Richard Hansen
9fda5adcef
ace2_inner.js: Improve discovery of sidediv
and linemetricsdiv
...
The `Node.nextSibling` property returns the next Node, not the next
Element. If whitespace, an HTML comment, or any other type of
non-Element Node is ever introduced between the Elements then
`.nextSibling` no longer returns the desired Element. Switching to
`Element.nextElementSibling` would work, but finding the Elements by
ID is more readable and future-proof.
2021-07-30 03:51:56 -04:00
Richard Hansen
0c963a817a
ace2_inner.js: Delete unnecessary ace_outerWin
variable
2021-07-30 03:51:56 -04:00
Richard Hansen
8d869ec927
Pad: Delete non-functional debug logging facility
2021-07-30 03:50:23 -04:00
Richard Hansen
5d39a57507
Pad: Delete dead ace_getFormattedCode()
2021-07-30 03:49:35 -04:00
Richard Hansen
4ceb3ca4c8
Chat: Allow Shift-Enter to insert a newline
2021-07-19 23:44:33 +02:00
Richard Hansen
cf86ae8b63
Chat: Use KeyboardEvent.key
instead of deprecated .which
2021-07-19 23:44:33 +02:00
Richard Hansen
faf84f0143
Chat: Display whitespace in chat messages
2021-07-19 23:44:33 +02:00
Richard Hansen
834e05fc9c
Chat: Use a <textarea>
for message input
2021-07-19 23:44:33 +02:00
Xavier Mehrenberger
ca4cc2d7c0
Fix settings.useMonospaceFontGlobal
...
When settings.useMonospaceFontGlobal is set to `true`, it sets the default
font to 'monospace'. This font seems to have been removed in
a5164dad43
.
This commit sets the default font to "RobotoMono" which is a valid
option.
Tested in a Docker environment, setting `PAD_OPTIONS_USE_MONOSPACE_FONT`
to `true`
Signed-off-by: Xavier Mehrenberger <xavier.mehrenberger@gmail.com>
2021-07-14 04:33:38 -04:00
Richard Hansen
336d48add7
Add support for square brackets in URLs
...
This reverts commit 9022877cc6
.
2021-07-10 22:22:31 -04:00
Richard Hansen
5f39a1ee7f
CSS: Underline links in error dialogs
...
Underlining was removed for unknown reasons by commit
d872b42e31
.
2021-07-09 18:43:13 -04:00
Richard Hansen
3d40ab7e8c
CSS: Move author color padding to setAuthorStyle()
...
This prevents the padding from clashing with plugins that use the
`aceSetAuthorStyle` hook.
2021-06-22 14:43:22 -04:00
Richard Hansen
9fcd86b3cd
Pad: Fix <script>
elements in aceInitInnerdocbodyHead
hook
...
Using `.innerHTML` to create a `<script>` element does create a DOM
node, but the script is not actually executed. Fortunately, creating a
DocumentFragment does cause the script to execute.
2021-06-18 17:50:15 -04:00
Richard Hansen
251cc7ab32
CSS: Fix button icon centering
2021-06-16 18:27:52 -04:00
Richard Hansen
cccabf45b8
pad: Move error message to the top of the gritter box
2021-06-06 21:31:49 -04:00
Richard Hansen
b2e94685fb
pad: Display error name in the gritter box
2021-06-06 21:31:40 -04:00
webzwo0i
3c087af038
caretPosition: fix loading when iframe is hidden
2021-05-04 23:56:13 +02:00
Richard Hansen
c00031a8d8
skiplist: Use Map.size
to get number of nodes
2021-05-03 01:42:03 -04:00