• last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
show that test fails under macOS

Fix acs-templating templates_and_scripts test, the multirow is called "body_script" with no s

Define js snippet as an onload handler with identifier so that it is loaded only once

Support for handler for double-click prevention via CSS class

This change makes it possible to provide a double click prevention for

HTML elements via the CSS class "prevent-double-click". The double

click prevention deactivates a button or an anchor element after

clicking for a short time (per default for 1s) and ignores in this

time window further clicks. The time window can be specified via the

data element oacs-timeout. When a double click occurs, the duplicate

click is determined at the client side (in the browser) such that the

first request will continue to run and will render its result when

finished. Without double-click prevention (or with the

double-click-prevention on the server side), the results of the first

request are lost for the client, although these are still computed at

the server side.

Usage Example:

<p>text with a <a class="prevent-double-click" data-oacs-timeout="2000" href="/slow.tcl?t=10s">link</a>

<p>

<form action="/slow.tcl">

<input class="btn prevent-double-click" data-oacs-timeout="2000" type="submit" value="Submit">

...

</form>

By reactivating the button automatically after the timeout, this

approach works also reasonable well when opening additional tabs or

browser windows.

The handler and implementation are designed to work with streaming

HTML, provided that "template::collect_body_scripts" is called (like

the reset of the template::* styling interface).

When HTML elements are deactivated, the DOM property "disabled" is set

as well as a CSS class "disabled". Since disabled anchors are

visually not different from non-disabled anchors, this CSS class can

be used for styling disabled anchors differently.

adp:icon: extended list of generic names and support reloading

- adp:icon: added "next" and "previous" to generic names

- moved variable ::template::icon::map from *init.tcl to style-procs.tcl

to support changes via dynamic reloading via package manager

- bumped version number to 5.10.1d17

reduce verbosity

improve comments

Update italian localization

    • -0
    • +1
    ./catalog/acs-templating.it_IT.ISO-8859-1.xml
Document public api

  1. … 1 more file in changeset.
Centralize retrieval of the test URL

  1. … 4 more files in changeset.
Fix reference in doc

Deprecate export_ns_set_vars and extend export_vars to be able to export also a custom ns_set, which was the real added value provided by this api

  1. … 11 more files in changeset.
Small improvements:

- use "string is space" instead of trimming the string and checking if empty, at least 2x faster on development, wherever we don't need the trimmed value

- modernize leftover foreach trick with lassign

  1. … 5 more files in changeset.
Claim additional coverage

Count already exisring handlers before introducing new ones

Improve acs::test::form_reply so that when the attributes of a file upload (*.tmpfile or *.content-type) are part of the update argument, it will switch automatically to a multipart request and implement a "real" file upload

This is important on newer NaviServer versions that will reject any *.tmpfile parameter in a request that was not produced internally after a file upload

  1. … 1 more file in changeset.
Test also nonce rendering

Make test more precise

Test a bunch more api

Test template::adp_level, fix test coverage declaration

Test template::adp_parse_string

Deprecate template::adp_levels, found nowhere in the upstream codebase and superseded by template::adp_level

Increase proc coverage

State additional proc coverage, improve documentation

Make template::head::prepare_multirows a private interface: its stated purpose is to be used inside of the blank-master and it has no practical use otherwise

Make adp_parse_ad_conn_file a private interface: its stated purpose is to be registered via rp_register_extension_handler in acs-templating/tcl/acs-integration-init.tcl and it has no practical use otherwise

Test ad_return_template

    • -5
    • +76
    ./tcl/test/acs-integration-procs.tcl
Test ad_return_exception_template

    • -0
    • +76
    ./tcl/test/acs-integration-procs.tcl
file acs-integration-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./tcl/test/acs-integration-procs.tcl
Test ad_dimensional_sql