PluginProbe
User Access Manager / 2.2.9
User Access Manager v2.2.9
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | assets/js/functions.js +6 -112 trunk2.2.9 View file →
@@ -1,118 +1,12 @@
1 1 jQuery(document).ready(function ($) {
2 - /**
3 - * Click triggered flyouts, modelled on the popovers WordPress uses for the
4 - * publish date. Only one is open at a time; escape and outside clicks close
5 - * it and return focus to the trigger it belongs to.
6 - */
7 - var flyoutIdCounter = 0;
8 - var $openToggle = null;
9 -
10 - var getPanel = function ($toggle) {
11 - return $toggle.next('.uam_flyout_panel');
12 - };
13 -
14 - var positionPanel = function ($toggle, $panel) {
15 - $panel.removeClass('uam_flyout_panel_above').css('left', 0);
16 -
17 - var rect = $panel[0].getBoundingClientRect();
18 - var overflowRight = rect.right - (window.innerWidth - 8);
19 -
20 - if (overflowRight > 0) {
21 - $panel.css('left', -overflowRight + 'px');
22 - }
23 -
24 - var left = $panel[0].getBoundingClientRect().left;
25 -
26 - if (left < 8) {
27 - $panel.css('left', (parseFloat($panel.css('left')) || 0) + (8 - left) + 'px');
28 - }
29 -
30 - // Flip above the trigger when there is no room below, the way the
31 - // publish date popover does.
32 - var panelRect = $panel[0].getBoundingClientRect();
33 - var toggleTop = $toggle[0].getBoundingClientRect().top;
34 -
35 - if (panelRect.bottom > window.innerHeight - 8 && toggleTop > panelRect.height + 8) {
36 - $panel.addClass('uam_flyout_panel_above');
37 - }
38 - };
39 -
40 - var closeFlyout = function (returnFocus) {
41 - if ($openToggle === null) {
42 - return;
43 - }
44 -
45 - getPanel($openToggle).hide();
46 - $openToggle.attr('aria-expanded', 'false');
47 -
48 - if (returnFocus === true) {
49 - $openToggle.trigger('focus');
50 - }
51 -
52 - $openToggle = null;
53 - };
54 -
55 - var openFlyout = function ($toggle) {
56 - var $panel = getPanel($toggle);
57 -
58 - if ($panel.length === 0) {
59 - return;
60 - }
61 -
62 - if (!$panel.attr('id')) {
63 - flyoutIdCounter++;
64 - $panel.attr('id', 'uam_flyout_panel_' + flyoutIdCounter);
65 - }
66 -
67 - $toggle.attr('aria-controls', $panel.attr('id'));
68 - $toggle.attr('aria-expanded', 'true');
69 - $panel.show();
70 - positionPanel($toggle, $panel);
71 - $openToggle = $toggle;
72 - };
73 -
74 - jQuery(document).on('click', '.uam_flyout_toggle', function (event) {
75 - var $toggle = jQuery(this);
76 - var wasOpen = $toggle.attr('aria-expanded') === 'true';
77 -
78 - event.preventDefault();
79 - event.stopPropagation();
80 - closeFlyout(false);
81 -
82 - if (wasOpen === false) {
83 - openFlyout($toggle);
84 - }
2 + jQuery('.uam_group_selection').on('click', '.uam_group_date', function () {
3 + var $element = jQuery(this);
4 + var $next = $element.next('.uam_group_date_form');
5 + $next.toggle();
6 + $element.hide();
85 7 });
86 8
87 - // Clearing both fields removes the time restriction on save, because an
88 - // empty value makes the server store no date at all.
89 - jQuery(document).on('click', '.uam_clear_dates', function () {
90 - var $panel = jQuery(this).closest('.uam_flyout_panel');
91 - var $toggle = $panel.prev('.uam_flyout_toggle');
92 - var emptyLabel = $toggle.data('empty-label');
93 -
94 - $panel.find('input').val('');
95 -
96 - if (emptyLabel) {
97 - $toggle.text(emptyLabel);
98 - }
99 -
100 - closeFlyout(true);
101 - });
102 -
103 - jQuery(document).on('click', function (event) {
104 - if ($openToggle !== null && jQuery(event.target).closest('.uam_flyout_panel').length === 0) {
105 - closeFlyout(false);
106 - }
107 - });
108 -
109 - jQuery(document).on('keydown', function (event) {
110 - if (event.key === 'Escape' && $openToggle !== null) {
111 - closeFlyout(true);
112 - }
113 - });
114 -
115 9 //Functions for the setting page
116 10 var toggleGroup = function (group, elementIndex, hiddenFlag, elementsToHide) {
117 11 hiddenFlag = hiddenFlag || 'true';
118 12 var $group = jQuery(group);
@@ -142,9 +36,9 @@
142 36 $subElement.toggle(showElement);
143 37 }
144 38 };
145 39
146 - $inputs.on('change', function () {
40 + $inputs.change(function () {
147 41 toggleElement(this);
148 42 });
149 43
150 44 toggleElement($inputs.filter(':checked'));