PluginProbe
User Access Manager / 2.2.25
User Access Manager v2.2.25
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 +5 -111 2.3.19 → 2.2.25 View file →
@@ -1,116 +1,10 @@
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 - }
85 - });
86 -
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 - }
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();
113 7 });
114 8
115 9 //Functions for the setting page
116 10 var toggleGroup = function (group, elementIndex, hiddenFlag, elementsToHide) {