PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / addons / wpml-dependencies / lib / res / js / otgs-notices.js
woocommerce-multilingual / addons / wpml-dependencies / lib / res / js Last commit date
icl-admin-notifier.js 4 years ago otgs-notices.js 4 years ago scripts.js 2 years ago
otgs-notices.js
127 lines
1 /*globals jQuery, ajaxurl */
2
3 (function (jQuery, ajaxurl) {
4 function bindEvents() {
5 'use strict';
6
7 var otgsNotice = jQuery('.otgs-notice');
8 var otgsCollapseText = '.otgs-notice-collapse-text';
9 var otgsCollapsedText = '.otgs-notice-collapsed-text';
10
11 jQuery(otgsCollapsedText).hide();
12
13 var preventDefaultEvent = function (event) {
14 if (typeof (event.preventDefault) !== 'undefined') {
15 event.preventDefault();
16 } else {
17 event.returnValue = false;
18 }
19 };
20
21 var noticeAction = function (noticeBox, action) {
22 if (noticeBox) {
23 var ajaxAction = 'otgs-' + action + '-notice';
24 var noticeId = _.escape(noticeBox.data('id'));
25 var noticeGroup = noticeBox.data('group');
26 var nonce = noticeBox.data('nonce');
27
28 jQuery.ajax({
29 url: ajaxurl,
30 type: 'POST',
31 data: {
32 action: ajaxAction,
33 'id': noticeId,
34 'group': noticeGroup,
35 nonce: nonce
36 },
37 dataType: 'json'
38 });
39
40 if (action === 'dismiss') {
41 noticeBox.remove();
42 }
43
44 document.dispatchEvent(new CustomEvent('otgs-notice-' + action, {'detail': noticeBox}));
45 }
46 };
47
48 var toggleNotice = function (contentToMinimize, contentToMaximize) {
49 contentToMinimize.toggle();
50 contentToMaximize.toggle();
51 };
52
53 otgsNotice.on('click', '.notice-dismiss, a.otgs-dismiss-link', function (event) {
54 preventDefaultEvent(event);
55
56 var noticeBox = jQuery(this).closest('.is-dismissible');
57 noticeAction(noticeBox, 'dismiss');
58 });
59
60 otgsNotice.on('click', '.notice-hide, a.otgs-hide-link', function (event) {
61 preventDefaultEvent(event);
62
63 var noticeBox = jQuery(this).closest('.is-dismissible');
64 noticeAction(noticeBox, 'hide');
65 });
66
67 otgsNotice.on('click', '.otgs-notice-collapse-hide', function (event) {
68 preventDefaultEvent(event);
69
70 jQuery(this).toggle();
71 var noticeCollapseText = jQuery(this).siblings(otgsCollapseText);
72 var noticeCollapsedText = jQuery(this).siblings(otgsCollapsedText);
73 toggleNotice(noticeCollapseText, noticeCollapsedText);
74 });
75
76 otgsNotice.on('click', '.otgs-notice-collapse-show', function (event) {
77 preventDefaultEvent(event);
78
79 jQuery(this).closest(otgsCollapsedText).siblings('.otgs-notice-collapse-hide').toggle();
80 var noticeCollapseCollapseText = jQuery(this).closest(otgsCollapsedText).siblings(otgsCollapseText);
81 var noticeCollapseCollapsedText = jQuery(this).closest(otgsCollapsedText);
82 toggleNotice(noticeCollapseCollapseText, noticeCollapseCollapsedText);
83 });
84
85 otgsNotice.on('click', '.notice-action.notice-action-link', function (event) {
86 var groupToDismiss = jQuery(this).data('dismiss-group');
87 var nonce = jQuery(this).data('nonce');
88 var jsCallback = jQuery(this).data('js-callback');
89
90 if (groupToDismiss) {
91
92 if (jsCallback && typeof window[jsCallback] === 'function') {
93 window[jsCallback](jQuery(this), function () {
94 dismissGroup(groupToDismiss, nonce);
95 });
96 } else {
97 dismissGroup(groupToDismiss, nonce);
98 }
99 }
100 });
101
102 var dismissGroup = function (groupToDismiss, nonce) {
103 jQuery.ajax({
104 url: ajaxurl,
105 type: 'POST',
106 data: {
107 action: 'otgs-dismiss-group',
108 group : groupToDismiss,
109 nonce : nonce
110 },
111 dataType: 'json',
112 complete: function () {
113 location.reload();
114 }
115 });
116 };
117 }
118
119 jQuery(function () {
120 bindEvents();
121
122 });
123
124 jQuery(document).on('otgs-notices-added', function (event) {
125 bindEvents();
126 });
127 })(jQuery, ajaxurl);