• last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Introduce the toolbar parameter at the richtext superclass level, so

that formpages created with editors expecting this spec, like ckeditor4,

will not fail to load using other editors that do not expect it

Initializing a formfield with an invalid spec fails as expected, however, it appears to leave behind the formfield object, which many automated tests will now consider a failure

Ensure the formfield object is destroyed when reading the spec fails

Move functionality of xowiki::CSS to tempate::CSS

template CSS provides an abstraction for CSS class names and other

styling elements depending on user preferences or on the current theme

Backwards compatibility for xowiki::CSS was provided via a stub function

  1. … 22 more files in changeset.
added inline documentation for API browser

  1. … 4 more files in changeset.
Bugfixes for TinyMCE 7 richtext editor in the context of xowiki repeated fields

- handle via a specific snippet in repeat.js the case of a repeated field being deleted. The editor must be persisted and removed before it is eventually loaded again on the remaining fields.

- use a simpler and more solid logic in the mutation observer to handle cases like compound questions in LEARN that are repeated+compound+repeatedCompound

  1. … 1 more file in changeset.
merge with missing files

  1. … 54 more files in changeset.
merge with missing files

  1. … 1464 more files in changeset.
merge from oacs-5-10

    • -1230
    • +4175
    ./form-field-procs.tcl
  1. … 8099 more files in changeset.
spell "site-wide" consistently with a dash

  1. … 34 more files in changeset.
Always use "--" in "dom parse" when document is interpolated

This is a safety measure to make sure that the document parsed is

never confused with an option, when the document starts with a "-". In

the best case, the error message provided by "dom parse" might be

misleading. This might be a problem for user contributed documents

(passed as variables, or return values from functions).

The double dash is supported in tdom since version 0.9.0.

  1. … 18 more files in changeset.
Adjust TinyMCE behavior for the cornercase of a nested compound field with inline editor

Unset the "required" HTML5 attribute after the superclass initialization, because the textarea superclass will set it back again otherwise

improved spelling

  1. … 14 more files in changeset.
Make "standard" the default preset we apply to richtext editors

This is needed to have consistent site-wide default settings coming from the tcl level, such as connection context information and more.

  1. … 1 more file in changeset.
Render richtext as div reform

Some richtext editors, such as TinyMCE in inline mode, do not expect

to enhance a textarea, but a div.

We could already override the rendering in the richtext editor

subclass, but this has the consequence that inheritance would be

interrupted. This prevents from plugging behavior in subclasses of the

richtext formfield.

This reform refactors render_richtext_as_div from the richtext

formfield into render_as_div on the textarea class. It also supports a

flag for subclasses to instruct the superclass that they should render

the field as div AFTER the whole inheritance chain was applied.

Do not assume the repeated field will be attached as a direct child of the observed element

This is not the case in some downstream implementations

Include the attribute to identify a repeated field also when we render richtext as div

Port of downstream fix by Markus Moser on live since 2022-09-21

Fix regression after disabled formfield reform

improved spelling

  1. … 1 more file in changeset.
Provide a reference to the current object when configuring tinymce

Allow to completely override the imageSelectorDialog URL downstream

Introduce for richtext editors the concept of "preset"

A preset is an abstract set configurations designed to address a specific use case.

An example could be a preset for a "minimal" richtext editor, used in those forms where we want to limit the features a user should have access to. Other presets could address specific usages or applications.

Downstream developers can provide a set of ::richtext::$editor::preset::$preset procs, returning an options dict. This set of options will be merged other local configurations.

The same approach works in ad_forms and xowiki forms.

This also enables the use-case of switching to a different editor maintaining the existing application-specific configurations consistent.

  1. … 1 more file in changeset.
TinyMCE XoWiki formfield integration

We introduce a new richtext mixin richtext::tinymce, requiring the richtext-tinymce package, currently integrating TinyMCE editor 7.0.1.

This implementation has been tested with regular, repeat, compound and repeatedcompound fields.

Downstream implementations based on this formfield can customize the editor configuration further, e.g. provide custom plugins via the api parameters.

  1. … 1 more file in changeset.
Move back richtext formfield implementations in form-field-procs

Moving to a different file may affect dependencies defined on form-field-procs that also expect the richtext editor to be loaded. As breaking changes are not desirable now, we revert this reform.

  1. … 1 more file in changeset.
Move the specific richtext-editor implementations into an own file

  1. … 1 more file in changeset.
Improved readability of configuration parameter "parameterSecret"

- Switched to camelCase for better readabilty and uniformity

- NaviServer configuration parameters are case insensitive, so no danger for backward compatibility

  1. … 5 more files in changeset.
Introduce server-side validation for HTML5 date and time formfields

A "formats" parameter can be specified on the formfields indicating one or more formats that we want to enforce. The syntax for any of such format is that of the Tcl clock command.

Default values have been set according to the expected behavior of each form field type.

Empty values are always considered valid. If a field is required, this will be enforced in its own validator.

  1. … 3 more files in changeset.
move "-destroy_on_cleanup" towards the end of the parameter list

This change improves protection about ambiguous user input

  1. … 8 more files in changeset.
fix indentation

minor change in comment