• last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
provided a helper proc to query the mapping of a generic icon name to a concrete

This function is necessary in boundary cases, where e.g. a display_template passes the generic

name of the icon via template variables which have to be

@-substituted before adp-tag resolution, which performs the

regular icon name mapping (otherwise, the tag resolver receives

e.g. ...name=@icon@...)

  1. … 3 more files in changeset.
prefer adp:icon over old-style .gif and .png mages

  1. … 2 more files in changeset.
prefer adp:icon over old-style .gif images

  1. … 2 more files in changeset.
Rset, rather than count, existing handlers in the test

improve spelling

  1. … 7 more files in changeset.
Make so that the path where the file is stored is returned by the request, in a way that should be correct on MacOS where the temp folder is user specific and cannot be therefore assumed to be /tmp for everyone

provide img icon for reload operations

main purpose is to provide a more reasonable look&feel when no iconsets are installed.

  1. … 1 more file in changeset.
improve log message

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

  1. … 1 more file in changeset.
reduce verbosity

improve comments

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