PluginProbe
Lasso Lite – Affiliate Link Manager & Product Displays / 109
Lasso Lite – Affiliate Link Manager & Product Displays v109
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 109, at admin/assets/js/groups.js

190 lines 5.4 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 cat_id: jQuery('#grp_id').val(),
47 cat_name: grp_name,
48 cat_desc: cat_desc,
49 },
50 beforeSend: function (xhr) {
51 lasso_lite_helper.set_progress_bar(98, 20, modal_save_animation);
52
53 if (jQuery('#grp_name').val() == '') {
54 xhr.lasso_error = 'Name is required.';
55 return false;
56 }
57 }
58 })
59 .done(function (res) {
60 res = res.data;
61 let noti_type = res.cat_id > 0 ? 'green' : 'red';
62 lasso_lite_helper.do_notification(res.msg, noti_type, notification_template);
63 })
64 .fail(function (xhr, status, error) {
65 let error_msg = lasso_lite_helper.get_msg_ajax_error( xhr );
66 lasso_lite_helper.do_notification(error_msg, 'red', notification_template);
67 })
68 .always(function() {
69 lasso_lite_helper.set_progress_bar_complete();
70 setTimeout(function() {
71 // Hide update popup by setTimeout to make sure this run after lasso_update_popup.modal('show')
72 modal_save_animation.modal('hide');
73 }, 1000);
74 });
75 }
76 }
77
78 function load_groups( page_number = null, keyword = null) {
79 let container = jQuery('#report-content');
80 if ( page_number === null ) {
81 page_number = lasso_lite_helper.get_page_from_current_url();
82 }
83
84 jQuery.ajax({
85 url: lassoLiteOptionsData.ajax_url,
86 type: 'post',
87 data: {
88 action: 'lasso_lite_group_get_list',
89 page: page_number,
90 keyword: keyword
91 },
92 beforeSend: function () {
93 container.html(lasso_lite_helper.get_loading_image());
94 }
95 })
96 .done(function (res) {
97 if ( res.success === true ) {
98 let data = res.data;
99 let json_data = data.output;
100
101 // empty data
102 if (json_data.length == 0) {
103 container.html(lasso_lite_helper.empty_html());
104 return;
105 }
106
107 lasso_lite_helper.inject_to_template(jQuery("#report-content"), 'group-list', json_data);
108 lasso_lite_helper.generate_paging( jQuery('.dashboard-pagination'), data.page, data.total, function (page_number) {
109 load_groups(page_number);
110 }, data.limit_on_page);
111 } else {
112 container.html(lasso_lite_helper.empty_html());
113 }
114 })
115 .fail(function (xhr, status, error) {
116 container.html(lasso_lite_helper.empty_html());
117 });
118 }
119
120 function load_links() {
121 let container = jQuery('#report-content');
122 let group_id = jQuery('#post_id').val();
123 jQuery.ajax({
124 url: lassoLiteOptionsData.ajax_url,
125 type: 'post',
126 data: {
127 action: 'lasso_lite_group_get_links',
128 group_id: group_id
129 },
130 beforeSend: function () {
131 container.html(lasso_lite_helper.get_loading_image());
132 }
133 })
134 .done(function (res) {
135 if ( res.success === true ) {
136 let data = res.data;
137 let json_data = data.output;
138 if ( json_data.length > 0 ) {
139 lasso_lite_helper.inject_to_template(jQuery("#report-content"), 'group-urls', json_data);
140 } else {
141 container.html(lasso_lite_helper.empty_html());
142 }
143 } else {
144 container.html(lasso_lite_helper.empty_html());
145 }
146 })
147 .fail(function (xhr, status, error) {
148 container.html(lasso_lite_helper.empty_html());
149 });
150 }
151
152 function open_delete_group_popup() {
153 let url_count = jQuery("#url_count").val();
154 if(url_count > 0){
155 jQuery("#group_not_delete").modal("show");
156 } else {
157 jQuery("#group-delete").modal("show");
158 }
159 }
160
161 function delete_group() {
162 let delete_btn = jQuery(this);
163 let cat_id = jQuery("#post_id").val();
164 let modal_save_animation = jQuery('#modal-save-animation');
165
166 jQuery.ajax({
167 url: lassoLiteOptionsData.ajax_url,
168 type: 'post',
169 data: {
170 action: 'lasso_lite_delete_category',
171 cat_id: cat_id,
172 },
173 beforeSend: function () {
174 modal_save_animation.modal('show');
175 lasso_lite_helper.add_loading_button( delete_btn );
176 jQuery("#group-delete").modal("hide");
177 jQuery("#modal-save-animation").find("h3").text("Deleting Group");
178 lasso_lite_helper.set_progress_bar(100, 50, modal_save_animation);
179 }
180 })
181 .done(function (res) {
182 res = res.data;
183 let redirect_url = res.redirect_link;
184 window.location.replace(redirect_url);
185 })
186 .always(function(){
187 modal_save_animation.modal('hide');
188 });
189 }
190 });