• last updated 1 hour ago
Constraints: committers
Constraints: files
Constraints: dates
improved spelling

Move custom calendar widget javascript implementation out of the core.js and into a separate file

In core/maintained packages, this widget is used only by template::widget::textdate (which in turn is used nowhere). For this widget, we can include the relevant code on-demand.

Direct usages found in unsupported packages have been adapted by adding the extra requirement on the fly.

It is unclear if we should keep maintaining a calendar widget in our codebase, however, as the current one still works (kudos to the original author), we do not deprecate it for the time being.

It is also true that a custom widget provides a way to customize the look and feel of date fields, which is otherwise completely delegated to the browser.

Various packages, including the core, provide custom css styling for the current widget.

  1. … 2 more files in changeset.
Factor richtext-or-file javascript outside of the core.js

This may or not be a step on the road to deprecating this widget, which still sports inline event handlers and is used only by unmaintained packages.

  1. … 2 more files in changeset.
template::widget::merge_tag_attributes has to be public already, as it is used by template::widget::select_locales

Fix typo

Form widget attributes reform:

- consolidate the logics to merge tag attributes coming from the adp and the tcl definitions of widgets into a private api

- change the previous behavior of having attributes coming from the adp (aka the tag_attributes argument) take over attributes coming from the element

See https://openacs.org/forums/message-view?message_id=5799349

  1. … 1 more file in changeset.
Revert in order to provide a meaningful log message

*** empty log message ***

Do not override existing classes on the submit button

Many thanks to Jonathan Kelley for reporting the issue

Reinstate behavior:

behave again that when a date fragment value is empty, the padded value will also be empty and not a sequence of zeroes

See https://openacs.org/forums/message-view?message_id=5798230

Improve fix: if any other click handler would take longer than the timeout (e.g. an alert) don't wait again

Make sure disabling the button always happens before re-enabling the button and that both happen after all other click handlers have completed

adp:toggle_button: added "id" attribute

skip "-url" in "export_vars -url" since it is the default

  1. … 11 more files in changeset.
fix cut&paste error

Cleanup debug statements, re-instate safe tmpfile check

Fixes acs-templating automated tests

adp:toggle_button: add "href" (default "#") for use when ... tag="a" ...

Added attributes "tag" and "type" to "adp:toggle_button" to increase applicability

- Bootstrap3 is picky and allows just "<a>" tags for the navigation

buttons, whereas Bootstrap4 and 5 would also allow <button> with

appropriate classes for nav-items and nav-links.

So, use <... tag="a"... > for use of nav buttons with potential

Dropdowns with Bootstrap 3.

- Potential attributes for this tag are:

- "tag" (default "button")

- "toggle"

- "target"

- "type" (default "button")

The attribute "type" is just valid when "tag" is "button".

- Many thanks to Monika Andergassen for the suggestion.

improved spelling

  1. … 2 more files in changeset.
minor changes: fixed typo, ease debugging, ...

Use modern api

Update api to streamline idiom

Update api

  1. … 1 more file in changeset.
Localize error message

Use a better regexp to reimplement ad_looks_like_html_p, use the improved api to port downstream feature: an ad_form datatype validator that won't allow to insert markup

Many thanks to Günter Ernst

  1. … 1 more file in changeset.
Gracefully reject invalid lists supplied as a file triple instead of failing and log the occurrence

Do not introduce extra newline in the content when writing to file

Test read/write of files via the templating api:

this will fail because we currently introduce an extra newline in the content

Deprecate template::form::export, superseded by export_vars

Cover additional api