AfterShip – WooCommerce Tracking - Version 1.3.8

Version Description

  • Force load the script to display the plugin if the script didn't execute normally after 2 seconds while the page loaded.
Download this release

Release Info

Developer aftership
Plugin Icon 128x128 AfterShip – WooCommerce Tracking
Version 1.3.8
Comparing to
See all releases

Code changes from version 1.3.7 to 1.3.8

Files changed (4) hide show
  1. aftership.php +2 -1
  2. assets/js/admin.js +124 -112
  3. assets/js/footer.js +3 -0
  4. readme.txt +4 -1
aftership.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: AfterShip - WooCommerce Tracking
4
  Plugin URI: http://aftership.com/
5
  Description: Add tracking number and carrier name to WooCommerce, display tracking info at order history page, auto import tracking numbers to AfterShip.
6
- Version: 1.3.7
7
  Author: AfterShip
8
  Author URI: http://aftership.com
9
 
@@ -142,6 +142,7 @@ if (is_woocommerce_active()) {
142
  wp_enqueue_script('aftership_script_util', plugins_url(basename(dirname(__FILE__))) . '/assets/js/util.js');
143
  wp_enqueue_script('aftership_script_couriers', plugins_url(basename(dirname(__FILE__))) . '/assets/js/couriers.js');
144
  wp_enqueue_script('aftership_script_admin', plugins_url(basename(dirname(__FILE__))) . '/assets/js/admin.js');
 
145
  }
146
 
147
  /**
3
  Plugin Name: AfterShip - WooCommerce Tracking
4
  Plugin URI: http://aftership.com/
5
  Description: Add tracking number and carrier name to WooCommerce, display tracking info at order history page, auto import tracking numbers to AfterShip.
6
+ Version: 1.3.8
7
  Author: AfterShip
8
  Author URI: http://aftership.com
9
 
142
  wp_enqueue_script('aftership_script_util', plugins_url(basename(dirname(__FILE__))) . '/assets/js/util.js');
143
  wp_enqueue_script('aftership_script_couriers', plugins_url(basename(dirname(__FILE__))) . '/assets/js/couriers.js');
144
  wp_enqueue_script('aftership_script_admin', plugins_url(basename(dirname(__FILE__))) . '/assets/js/admin.js');
145
+ wp_enqueue_script('aftership_script_footer', plugins_url(basename(dirname(__FILE__))) . '/assets/js/footer.js', true);
146
  }
147
 
148
  /**
assets/js/admin.js CHANGED
@@ -1,115 +1,127 @@
1
- jQuery(function () {
2
-
3
- var fields_id = {
4
- 'tracking_ship_date': 'aftership_tracking_shipdate',
5
- 'tracking_postal_code': 'aftership_tracking_postal',
6
- 'tracking_account_number': 'aftership_tracking_account',
7
- 'tracking_key': 'aftership_tracking_key',
8
- 'tracking_destination_country': 'aftership_tracking_destination_country'
9
- };
10
-
11
- var providers;
12
-
13
- function hide_input_and_label(id) {
14
- jQuery('#' + id).hide();
15
- jQuery('label[for=' + id + ']').hide();
16
- }
17
-
18
- function show_input_and_label(id) {
19
- jQuery('#' + id).show();
20
- jQuery('label[for=' + id + ']').show();
21
- }
22
-
23
- function set_aftership_tracking_provider() {
24
-
25
- jQuery('#aftership_tracking_provider').change(function () {
26
- jQuery.each(fields_id, function (index, item) {
27
- hide_input_and_label(item);
28
- });
29
-
30
- var slug = jQuery(this).val();
31
- if (slug) {
32
- var provider = providers[slug];
33
- var fields = [];
34
- if (jQuery.isArray(provider.required_fields)) {
35
- fields = provider.required_fields;
36
- } else {
37
- fields.push(provider.required_fields);
38
- }
39
- jQuery.each(fields, function (index, item) {
40
- if (fields_id[item]){
41
- show_input_and_label(fields_id[item]);
42
- }
43
- });
44
- jQuery('#aftership_tracking_provider_name').val(provider.name);
45
- jQuery('#aftership_tracking_required_fields').val(fields.join());
46
- }
47
- });
48
- }
49
-
50
-
51
- function fill_meta_box(couriers_selected) {
52
- var response = get_couriers();
53
- var couriers = [];
54
- jQuery.each(response, function (index, courier) {
55
- if (couriers_selected.indexOf(courier.slug) != -1) {
56
- couriers.push(courier);
57
- }
58
- });
59
-
60
- var selected_provider = jQuery('#aftership_tracking_provider_hidden').val();
61
- var find_selected_provider = couriers_selected.indexOf(selected_provider) != -1;
62
- if (!find_selected_provider && selected_provider) {
63
- couriers.push({
64
- slug: selected_provider,
65
- name: jQuery("#aftership_tracking_provider_name").val(),
66
- required_fields: jQuery("#aftership_tracking_required_fields").val()
67
- });
68
- }
 
 
 
 
 
 
69
  // console.log(couriers);
70
 
71
- couriers = sort_couriers(couriers);
72
-
73
- jQuery.each(couriers, function (key, courier) {
74
- var str = '<option ';
75
- if (!find_selected_provider && courier['slug'] == selected_provider) {
76
- str += 'style="display:none;" ';
77
- }
78
- str += 'value="' + courier['slug'] + '" ';
79
- if (courier['slug'] == selected_provider) {
80
- str += 'selected="selected"';
81
- }
82
- str += '>' + courier['name'] + '</option>';
83
- jQuery('#aftership_tracking_provider').append(str);
84
- });
85
  // jQuery('#aftership_tracking_provider').val(selected_provider);
86
- jQuery('#aftership_tracking_provider').trigger("chosen:updated");
87
- jQuery('#aftership_tracking_provider_chosen').css({width: '100%'});
88
-
89
- providers = {};
90
- jQuery.each(couriers, function (index, courier) {
91
- providers[courier.slug] = courier;
92
- });
93
- set_aftership_tracking_provider();
94
- jQuery('#aftership_tracking_provider').trigger('change');
95
- }
96
-
97
- if (jQuery('#aftership_tracking_provider').length > 0) {
98
-
99
- jQuery.each(fields_id, function (index, item) {
100
- hide_input_and_label(item);
101
- });
102
-
103
- var couriers_selected = jQuery('#aftership_couriers_selected').val();
104
- var couriers_selected_arr = (couriers_selected) ? couriers_selected.split(',') : [];
105
- fill_meta_box(couriers_selected_arr);
106
- }
107
-
108
- if (jQuery('#aftership_tracking_provider_name').length > 0) {
109
- jQuery('#aftership_tracking_provider_name').parent().hide();
110
- }
111
-
112
- if (jQuery('#aftership_tracking_required_fields').length > 0) {
113
- jQuery('#aftership_tracking_required_fields').parent().hide();
114
- }
115
- });
 
 
 
 
 
 
1
+ var aftership_woocommerce_tracking_onload_run = false;
2
+
3
+ var aftership_woocommerce_tracking_onload = function () {
4
+ if (aftership_woocommerce_tracking_onload_run) {
5
+ return aftership_woocommerce_tracking_onload_run;
6
+ }
7
+ aftership_woocommerce_tracking_onload_run = true;
8
+
9
+ var fields_id = {
10
+ 'tracking_ship_date': 'aftership_tracking_shipdate',
11
+ 'tracking_postal_code': 'aftership_tracking_postal',
12
+ 'tracking_account_number': 'aftership_tracking_account',
13
+ 'tracking_key': 'aftership_tracking_key',
14
+ 'tracking_destination_country': 'aftership_tracking_destination_country'
15
+ };
16
+
17
+ var providers;
18
+
19
+ function hide_input_and_label(id) {
20
+ jQuery('#' + id).hide();
21
+ jQuery('label[for=' + id + ']').hide();
22
+ }
23
+
24
+ function show_input_and_label(id) {
25
+ jQuery('#' + id).show();
26
+ jQuery('label[for=' + id + ']').show();
27
+ }
28
+
29
+ function set_aftership_tracking_provider() {
30
+
31
+ jQuery('#aftership_tracking_provider').change(function () {
32
+ jQuery.each(fields_id, function (index, item) {
33
+ hide_input_and_label(item);
34
+ });
35
+
36
+ var slug = jQuery(this).val();
37
+ if (slug) {
38
+ var provider = providers[slug];
39
+ var fields = [];
40
+ if (jQuery.isArray(provider.required_fields)) {
41
+ fields = provider.required_fields;
42
+ } else {
43
+ fields.push(provider.required_fields);
44
+ }
45
+ jQuery.each(fields, function (index, item) {
46
+ if (fields_id[item]) {
47
+ show_input_and_label(fields_id[item]);
48
+ }
49
+ });
50
+ jQuery('#aftership_tracking_provider_name').val(provider.name);
51
+ jQuery('#aftership_tracking_required_fields').val(fields.join());
52
+ }
53
+ });
54
+ }
55
+
56
+
57
+ function fill_meta_box(couriers_selected) {
58
+ var response = get_couriers();
59
+ var couriers = [];
60
+ jQuery.each(response, function (index, courier) {
61
+ if (couriers_selected.indexOf(courier.slug) != -1) {
62
+ couriers.push(courier);
63
+ }
64
+ });
65
+
66
+ var selected_provider = jQuery('#aftership_tracking_provider_hidden').val();
67
+ var find_selected_provider = couriers_selected.indexOf(selected_provider) != -1;
68
+ if (!find_selected_provider && selected_provider) {
69
+ couriers.push({
70
+ slug: selected_provider,
71
+ name: jQuery("#aftership_tracking_provider_name").val(),
72
+ required_fields: jQuery("#aftership_tracking_required_fields").val()
73
+ });
74
+ }
75
  // console.log(couriers);
76
 
77
+ couriers = sort_couriers(couriers);
78
+
79
+ jQuery.each(couriers, function (key, courier) {
80
+ var str = '<option ';
81
+ if (!find_selected_provider && courier['slug'] == selected_provider) {
82
+ str += 'style="display:none;" ';
83
+ }
84
+ str += 'value="' + courier['slug'] + '" ';
85
+ if (courier['slug'] == selected_provider) {
86
+ str += 'selected="selected"';
87
+ }
88
+ str += '>' + courier['name'] + '</option>';
89
+ jQuery('#aftership_tracking_provider').append(str);
90
+ });
91
  // jQuery('#aftership_tracking_provider').val(selected_provider);
92
+ jQuery('#aftership_tracking_provider').trigger("chosen:updated");
93
+ jQuery('#aftership_tracking_provider_chosen').css({width: '100%'});
94
+
95
+ providers = {};
96
+ jQuery.each(couriers, function (index, courier) {
97
+ providers[courier.slug] = courier;
98
+ });
99
+ set_aftership_tracking_provider();
100
+ jQuery('#aftership_tracking_provider').trigger('change');
101
+ }
102
+
103
+ if (jQuery('#aftership_tracking_provider').length > 0) {
104
+
105
+ jQuery.each(fields_id, function (index, item) {
106
+ hide_input_and_label(item);
107
+ });
108
+
109
+ var couriers_selected = jQuery('#aftership_couriers_selected').val();
110
+ var couriers_selected_arr = (couriers_selected) ? couriers_selected.split(',') : [];
111
+ fill_meta_box(couriers_selected_arr);
112
+ }
113
+
114
+ if (jQuery('#aftership_tracking_provider_name').length > 0) {
115
+ jQuery('#aftership_tracking_provider_name').parent().hide();
116
+ }
117
+
118
+ if (jQuery('#aftership_tracking_required_fields').length > 0) {
119
+ jQuery('#aftership_tracking_required_fields').parent().hide();
120
+ }
121
+
122
+ return aftership_woocommerce_tracking_onload_run;
123
+ };
124
+
125
+ jQuery(function () {
126
+ aftership_woocommerce_tracking_onload();
127
+ });
assets/js/footer.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ setTimeout(function(){
2
+ aftership_woocommerce_tracking_onload();
3
+ }, 2000);
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.aftership.com/
4
  Tags: shipping, tracking, ups, usps, fedex, dhl, tnt, dpd, post, shipment, woocommerce, tracking number, aftership, package tracking, fulfilment, tracking link, carrier, courier, woo commerce, woocommerce shipment tracking, shipping details plugin, widget, shipstation, track, package
5
  Requires at least: 2.9
6
  Tested up to: 4.1
7
- Stable tag: 1.3.7
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -95,6 +95,9 @@ You'll find the FAQ on [AfterShip.com](https://aftership.uservoice.com/knowledge
95
 
96
  == Changelog ==
97
 
 
 
 
98
  = 1.3.7 =
99
  * Add new courier
100
 
4
  Tags: shipping, tracking, ups, usps, fedex, dhl, tnt, dpd, post, shipment, woocommerce, tracking number, aftership, package tracking, fulfilment, tracking link, carrier, courier, woo commerce, woocommerce shipment tracking, shipping details plugin, widget, shipstation, track, package
5
  Requires at least: 2.9
6
  Tested up to: 4.1
7
+ Stable tag: 1.3.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
95
 
96
  == Changelog ==
97
 
98
+ = 1.3.8 =
99
+ * Force load the script to display the plugin if the script didn't execute normally after 2 seconds while the page loaded.
100
+
101
  = 1.3.7 =
102
  * Add new courier
103