PluginProbe
Lasso Lite – Affiliate Link Manager & Product Displays / 158
Lasso Lite – Affiliate Link Manager & Product Displays v158
158 157 155 156 154 153 152 151 150 149 148 trunk 0.9.9 104 105 106 107 108 109 110 111 112 113 114 115 All 57 releases
simple-urls / admin / assets / js / groups.js

groups.js in Lasso Lite – Affiliate Link Manager & Product Displays 158, at admin/assets/js/groups.js

194 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 jQuery(document).ready(function() {
2 jQuery('#modal-save-animation h3').text("Updating Group");
3 jQuery(document)
4 .on('click', '#lasso-lite-group-save', group_save)
5 .on('click', '#group_delete_pop', open_delete_group_popup)
6 .on('click', '#group_delete_btn', delete_group);
7
8 jQuery("#links-filter").submit(function (e) {
9 e.preventDefault();
10 let keyword = jQuery("#link-search-input").val().trim();
11 lasso_lite_helper.update_url_parameter('link-search-input', keyword);
12 load_groups(null, keyword );
13 });
14
15 init_page();
16
17 function init_page() {
18 let subpage = lasso_lite_helper.get_url_parameter('subpage');
19 let page = lasso_lite_helper.get_url_parameter('page');
20 if ( page === 'surl-groups' ) {
21 load_groups();
22 } else if ( page === 'surl-group-detail' && subpage === 'urls' ) {
23 load_links();
24 }
25 }
26
27 function group_save( event ) {
28 event.preventDefault();
29
30 let btn_save = jQuery('#group_save');
31 let grp_name = jQuery('#grp_name').val().trim();
32 let cat_desc = jQuery('#grp_desc').val().trim();
33 let modal_save_animation = jQuery('#modal-save-animation');
34 let notification_template = 'default-template-notification-group';
35
36 if ( grp_name !== '' ) {
37 jQuery("#url-save").find("h3").text("Updating Group");
38 lasso_lite_helper.add_loading_button( btn_save );
39 modal_save_animation.modal('show');
40
41 jQuery.ajax({
42 url: lassoLiteOptionsData.ajax_url,
43 type: 'post',
44 data: {
45 action: 'lasso_lite_store_category',
46 nonce: lassoLiteOptionsData.optionsNonce,
47 cat_id: jQuery('#grp_id').val(),
48 cat_name: grp_name,
49 cat_desc: cat_desc,
50 },
51 beforeSend: function (xhr) {
52 lasso_lite_helper.set_progress_bar(98, 20, modal_save_animation);
53
54 if (jQuery('#grp_name').val() == '') {
55 xhr.lasso_error = 'Name is required.';
56 return false;
57 }
58 }
59 })
60 .done(function (res) {
61 res = res.data;
62 let noti_type = res.cat_id > 0 ? 'green' : 'red';
63 lasso_lite_helper.do_notification(res.msg, noti_type, notification_template);
64 })
65 .fail(function (xhr, status, error) {
66 let error_msg = lasso_lite_helper.get_msg_ajax_error( xhr );
67 lasso_lite_helper.do_notification(error_msg, 'red', notification_template);
68 })
69 .always(function() {
70 lasso_lite_helper.set_progress_bar_complete();
71 setTimeout(function() {
72 // Hide update popup by setTimeout to make sure this run after lasso_update_popup.modal('show')
73 modal_save_animation.modal('hide');
74 }, 1000);
75 });
76 }
77 }
78
79 function load_groups( page_number = null, keyword = null) {
80 let container = jQuery('#report-content');
81 if ( page_number === null ) {
82 page_number = lasso_lite_helper.get_page_from_current_url();
83 }
84
85 jQuery.ajax({
86 url: lassoLiteOptionsData.ajax_url,
87 type: 'post',
88 data: {
89 action: 'lasso_lite_group_get_list',
90 nonce: lassoLiteOptionsData.optionsNonce,
91 page: page_number,
92 keyword: keyword
93 },
94 beforeSend: function () {
95 container.html(lasso_lite_helper.get_loading_image());
96 }
97 })
98 .done(function (res) {
99 if ( res.success === true ) {
100 let data = res.data;
101 let json_data = data.output;
102
103 // empty data
104 if (json_data.length == 0) {
105 container.html(lasso_lite_helper.empty_html());
106 return;
107 }
108
109 lasso_lite_helper.inject_to_template(jQuery("#report-content"), 'group-list', json_data);
110 lasso_lite_helper.generate_paging( jQuery('.dashboard-pagination'), data.page, data.total, function (page_number) {
111 load_groups(page_number);
112 }, data.limit_on_page);
113 } else {
114 container.html(lasso_lite_helper.empty_html());
115 }
116 })
117 .fail(function (xhr, status, error) {
118 container.html(lasso_lite_helper.empty_html());
119 });
120 }
121
122 function load_links() {
123 let container = jQuery('#report-content');
124 let group_id = jQuery('#post_id').val();
125 jQuery.ajax({
126 url: lassoLiteOptionsData.ajax_url,
127 type: 'post',
128 data: {
129 action: 'lasso_lite_group_get_links',
130 nonce: lassoLiteOptionsData.optionsNonce,
131 group_id: group_id
132 },
133 beforeSend: function () {
134 container.html(lasso_lite_helper.get_loading_image());
135 }
136 })
137 .done(function (res) {
138 if ( res.success === true ) {
139 let data = res.data;
140 let json_data = data.output;
141 if ( json_data.length > 0 ) {
142 lasso_lite_helper.inject_to_template(jQuery("#report-content"), 'group-urls', json_data);
143 } else {
144 container.html(lasso_lite_helper.empty_html());
145 }
146 } else {
147 container.html(lasso_lite_helper.empty_html());
148 }
149 })
150 .fail(function (xhr, status, error) {
151 container.html(lasso_lite_helper.empty_html());
152 });
153 }
154
155 function open_delete_group_popup() {
156 let url_count = jQuery("#url_count").val();
157 if(url_count > 0){
158 jQuery("#group_not_delete").modal("show");
159 } else {
160 jQuery("#group-delete").modal("show");
161 }
162 }
163
164 function delete_group() {
165 let delete_btn = jQuery(this);
166 let cat_id = jQuery("#post_id").val();
167 let modal_save_animation = jQuery('#modal-save-animation');
168
169 jQuery.ajax({
170 url: lassoLiteOptionsData.ajax_url,
171 type: 'post',
172 data: {
173 action: 'lasso_lite_delete_category',
174 nonce: lassoLiteOptionsData.optionsNonce,
175 cat_id: cat_id,
176 },
177 beforeSend: function () {
178 modal_save_animation.modal('show');
179 lasso_lite_helper.add_loading_button( delete_btn );
180 jQuery("#group-delete").modal("hide");
181 jQuery("#modal-save-animation").find("h3").text("Deleting Group");
182 lasso_lite_helper.set_progress_bar(100, 50, modal_save_animation);
183 }
184 })
185 .done(function (res) {
186 res = res.data;
187 let redirect_url = res.redirect_link;
188 window.location.replace(redirect_url);
189 })
190 .always(function(){
191 modal_save_animation.modal('hide');
192 });
193 }
194 });