PageSourceSearch

https://www.euroclix.nl/assets/f93cbd4b2ba5510d/core/t5-formfragment.js

js euroclix.nl collected 2026-10-01 10:32:28 UTC 2,567 bytes, 84 lines download raw bytes

1T5.extendInitializers(function() {
2
3    function init(spec) {
4
5        var element = $(spec.element);
6
7        var hidden = $(spec.element + "-hidden");
8        var form = $(hidden.form);
9
10        var opts = (spec.bound && { bound: spec.bound }) || {};
11        if (! spec.alwaysSubmit) {
12            hidden.disabled = !  element.isDeepVisible(opts);
13        }
14
15        function updateUI(makeVisible) {
16
17            if (! spec.alwaysSubmit) {
18                hidden.disabled = ! (makeVisible && element.parentNode.isDeepVisible(opts));
19            }
20
21            var effect = makeVisible ? Tapestry.ElementEffect[spec.show]
22                || Tapestry.ElementEffect.slidedown
23                : Tapestry.ElementEffect[spec.hide]
24                || Tapestry.ElementEffect.slideup;
25            return effect(element);
26        }
27
28        element.observe(Tapestry.CHANGE_VISIBILITY_EVENT, function(event) {
29            // Since events propagate up, you have to call event.stop()
30            // here to prevent hiding/revealing any container FormFragment elements.
31            event.stop();
32
33            var makeVisible = event.memo.visible;
34
35            if (makeVisible == element.visible())
36                return;
37
38            updateUI(makeVisible);
39        });
40
41        element.observe(Tapestry.HIDE_AND_REMOVE_EVENT,
42            function(event) {
43                event.stop();
44                var effect = updateUI(false);
45
46                effect.options.afterFinish = function() {
47                    Tapestry.remove(element);
48                };
49            });
50    }
51
52    /**
53     * Links a FormFragment to a trigger (a radio or a checkbox), such
54     * that changing the trigger will hide or show the FormFragment.
55     * Care should be taken to render the page with the checkbox and the
56     * FormFragment's visibility in agreement.
57     */
58    function linker(spec) {
59        var trigger = $(spec.triggerId);
60
61        function update() {
62            var checked = trigger.checked;
63            var makeVisible = checked == !spec.invert;
64
65            $(spec.fragmentId).fire(Tapestry.CHANGE_VISIBILITY_EVENT, {
66                visible : makeVisible
67            }, true);
68        }
69
70        // Let the event bubble up to the form level.
71        if (trigger.type == "radio") {
72            $(trigger.form).observe("click", update);
73            return;
74        }
75
76        // Normal trigger is a checkbox; listen just to it.
77        trigger.observe("click", update);
78    }
79
80    return {
81        formFragment : init,
82        linkTriggerToFormFragment : linker
83    };
84});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.