Changeset 3204890
- Timestamp:
- 12/09/2024 01:30:25 PM (16 months ago)
- Location:
- boxtal-connect
- Files:
-
- 125 added
- 15 edited
-
tags/1.3.3 (added)
-
tags/1.3.3/Boxtal (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/component.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/maplibre-gl.min.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/notices.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/parcel-point.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/shipping-method.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/tom-select.bootstrap5.min.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/css/tracking.css (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/img (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/img/icon-close.png (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/img/marker-recipient.png (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/img/marker.png (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/component.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/component.min.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/maplibre-gl.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/notices.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/notices.min.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.min.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/polyfills.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/polyfills.min.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/shipping-method.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/shipping-method.min.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/js/tom-select.complete.min.js (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/less (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/less/component.less (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/less/notices.less (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/less/parcel-point.less (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/less/shipping-method.less (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/less/tracking.less (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-order-edit-page-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-order-edit-page-tracking.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-order-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-order-tracking.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-order-view-modal-print-tracking.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-order-view-modal-tracking.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-shipping-method-rate.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-shipping-method-rates-table.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-subscription-edit-page-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-admin-subscription-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-configuration-failure-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-custom-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-environment-warning-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-front-order-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-front-order-tracking.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-front-subscription-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-order-parcelpoint.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-order-tracking.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-pairing-failure-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-pairing-success-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-pairing-update-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-settings-page.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-setup-wizard-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/assets/views/html-update-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/autoloader.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/class-plugin.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/init (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/init/class-api-action.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/init/class-component.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/init/class-environment-check.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/init/class-setup-wizard.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-abstract-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-configuration-failure-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-custom-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-environment-warning-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-notice-controller.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-pairing-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-pairing-update-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/notice/class-setup-wizard-notice.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/order (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/order/class-admin-order-page.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/order/class-controller.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/order/class-front-order-page.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/resource (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/resource/publickey (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/rest-controller (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/rest-controller/class-order.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/rest-controller/class-shop.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/settings (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/settings/class-page.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/class-controller.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/class-settings-override.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/class-shipping-method.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-checkout.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-controller.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-parcel-point-block-integration.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-render.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/subscription (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/subscription/class-admin-subscription-page.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/subscription/class-front-subscription-page.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-api-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-auth-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-cart-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-configuration-report-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-configuration-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-country-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-customer-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-database-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-environment-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-frontend-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-logger-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-misc-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-order-item-shipping-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-order-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-parcelpoint-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-product-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-shipping-api-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-shipping-method-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-shipping-rate-util.php (added)
-
tags/1.3.3/Boxtal/BoxtalConnectWoocommerce/util/class-subscription-util.php (added)
-
tags/1.3.3/boxtal-connect.php (added)
-
tags/1.3.3/changelog.txt (added)
-
tags/1.3.3/readme.txt (added)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/css/maplibre-gl.min.css (added)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/css/parcel-point.css (modified) (1 diff)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/maplibre-gl.js (added)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.js (modified) (21 diffs)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.min.js (modified) (1 diff)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/shipping-method.js (modified) (2 diffs)
-
trunk/Boxtal/BoxtalConnectWoocommerce/assets/less/parcel-point.less (modified) (2 diffs)
-
trunk/Boxtal/BoxtalConnectWoocommerce/class-plugin.php (modified) (1 diff)
-
trunk/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-controller.php (modified) (4 diffs)
-
trunk/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-parcel-point-block-integration.php (modified) (2 diffs)
-
trunk/Boxtal/BoxtalConnectWoocommerce/util/class-api-util.php (modified) (1 diff)
-
trunk/Boxtal/BoxtalConnectWoocommerce/util/class-configuration-report-util.php (modified) (1 diff)
-
trunk/Boxtal/BoxtalConnectWoocommerce/util/class-frontend-util.php (modified) (1 diff)
-
trunk/Boxtal/BoxtalConnectWoocommerce/util/class-shipping-api-util.php (modified) (2 diffs)
-
trunk/boxtal-connect.php (modified) (1 diff)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/css/parcel-point.css
r3127024 r3204890 1 .map boxgl-ctrl-top-left{pointer-events:auto}.mapboxgl-ctrl-top-left #bw-logo{margin:5px;height:24px;width:100px;cursor:pointer}.bw-parcel-point{background-color:rgba(0,0,0,.03);display:inline-block;padding:12px}.bw-select-parcel{cursor:pointer;text-decoration:underline}.bw-parcel-address{display:inline}#bw-map{width:80%;max-width:1200px;height:auto;display:none;position:absolute;top:100px;padding:10px;left:0;right:0;margin-left:auto;margin-right:auto;z-index:11111;background:#f9f9f9;-webkit-box-shadow:3px 3px 30px rgba(0,0,0,.4),3px 3px 30px rgba(0,0,0,.4);box-shadow:3px 3px 30px rgba(0,0,0,.4),3px 3px 30px rgba(0,0,0,.4)}#bw-map .bw-parcel-point-schedule{padding:0;background-color:#fff;margin-top:5px;line-height:15px;font-size:14px;color:inherit}#bw-map.bw-modal-show{display:block}#bw-map .bw-marker{background-image:url(../img/marker.png);color:#fff;font-size:14px;text-align:center;padding-top:6px;width:28px;height:35px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin-right:5px;vertical-align:middle}#bw-map .bw-marker-recipient{background-image:url(../img/marker-recipient.png);width:30px;height:35px}#bw-map #bw-map-inner{background:#fff}#bw-map #bw-map-inner .bw-close{background-image:url(../img/icon-close.png);height:40px;width:40px;cursor:pointer;top:-20px;right:-20px;position:absolute;z-index:11222}#bw-map #bw-map-inner #bw-map-container{float:left;width:100%;padding-right:268px;-webkit-box-sizing:border-box;box-sizing:border-box}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas{overflow:hidden;height:500px}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas .leaflet-popup-content-wrapper{border-radius:0}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas .leaflet-popup-content-wrapper .bw-marker-popup{width:250px;color:#777;line-height:20px}#bw-map #bw-map-inner #bw-pp-container{overflow-y:scroll;height:500px;padding:0 10px;width:268px;margin-left:-268px;float:right;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Roboto,Arial,sans-serif}#bw-map #bw-map-inner #bw-pp-container table{border:0}#bw-map #bw-map-inner #bw-pp-container table td{border-top:1px solid #ddd;padding:9px 10px;text-align:left;color:#777;font-size:13px;line-height:20px;border-right-width:0;border-bottom-width:0}#bw-map #bw-map-inner #bw-pp-container table td img{max-height:30px;margin-right:5px;vertical-align:middle}#bw-map #bw-map-inner #bw-pp-container table td .bw-parcel-point-title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:180px;display:inline-block;vertical-align:middle;cursor:pointer}#bw-map #bw-map-inner #bw-pp-container table td a{color:#337ab7}#bw-map #bw-map-inner #bw-pp-container table td a:hover{text-decoration:none}#bw-map #bw-map-inner .bw-parcel-point-button{width:190px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px;color:#fff!important;background-color:#5bc0de;border:1px solid #46b8da;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer}#bw-map #bw-map-inner .bw-parcel-point-button:hover{text-decoration:none}@media (max-width:767px){#bw-map{width:90%;height:90%;max-height:600px}#bw-map #bw-map-inner{height:100%}#bw-map #bw-map-inner #bw-map-container{padding-right:0;height:100%}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas{height:100%}#bw-map #bw-map-inner #bw-pp-container{display:none}}1 .maplibregl-ctrl-top-left{pointer-events:auto}.maplibregl-ctrl-top-left #bw-logo{margin:5px;height:24px;width:100px;cursor:pointer}.bw-parcel-point{background-color:rgba(0,0,0,.03);display:inline-block;padding:12px}.bw-select-parcel{cursor:pointer;text-decoration:underline}.bw-parcel-address{display:inline}#bw-map{width:80%;max-width:1200px;height:auto;display:none;position:absolute;top:100px;padding:10px;left:0;right:0;margin-left:auto;margin-right:auto;z-index:11111;background:#f9f9f9;-webkit-box-shadow:3px 3px 30px rgba(0,0,0,.4),3px 3px 30px rgba(0,0,0,.4);box-shadow:3px 3px 30px rgba(0,0,0,.4),3px 3px 30px rgba(0,0,0,.4)}#bw-map .bw-parcel-point-schedule{padding:0;background-color:#fff;margin-top:5px;line-height:15px;font-size:14px;color:inherit}#bw-map.bw-modal-show{display:block}#bw-map .bw-marker{background-image:url(../img/marker.png);color:#fff;font-size:14px;text-align:center;padding-top:6px;width:28px;height:35px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin-right:5px;vertical-align:middle}#bw-map .bw-marker-recipient{background-image:url(../img/marker-recipient.png);width:30px;height:35px}#bw-map #bw-map-inner{background:#fff}#bw-map #bw-map-inner .bw-close{background-image:url(../img/icon-close.png);height:40px;width:40px;cursor:pointer;top:-20px;right:-20px;position:absolute;z-index:11222}#bw-map #bw-map-inner #bw-map-container{float:left;width:100%;padding-right:268px;-webkit-box-sizing:border-box;box-sizing:border-box}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas{overflow:hidden;height:500px}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas .leaflet-popup-content-wrapper{border-radius:0}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas .leaflet-popup-content-wrapper .bw-marker-popup{width:250px;color:#777;line-height:20px}#bw-map #bw-map-inner #bw-pp-container{overflow-y:scroll;height:500px;padding:0 10px;width:268px;margin-left:-268px;float:right;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Roboto,Arial,sans-serif}#bw-map #bw-map-inner #bw-pp-container table{border:0}#bw-map #bw-map-inner #bw-pp-container table td{border-top:1px solid #ddd;padding:9px 10px;text-align:left;color:#777;font-size:13px;line-height:20px;border-right-width:0;border-bottom-width:0}#bw-map #bw-map-inner #bw-pp-container table td img{max-height:30px;margin-right:5px;vertical-align:middle}#bw-map #bw-map-inner #bw-pp-container table td .bw-parcel-point-title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:180px;display:inline-block;vertical-align:middle;cursor:pointer}#bw-map #bw-map-inner #bw-pp-container table td a{color:#337ab7}#bw-map #bw-map-inner #bw-pp-container table td a:hover{text-decoration:none}#bw-map #bw-map-inner .bw-parcel-point-button{width:190px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px;color:#fff!important;background-color:#5bc0de;border:1px solid #46b8da;display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer}#bw-map #bw-map-inner .bw-parcel-point-button:hover{text-decoration:none}@media (max-width:767px){#bw-map{width:90%;height:90%;max-height:600px}#bw-map #bw-map-inner{height:100%}#bw-map #bw-map-inner #bw-map-container{padding-right:0;height:100%}#bw-map #bw-map-inner #bw-map-container #bw-map-canvas{height:100%}#bw-map #bw-map-inner #bw-pp-container{display:none}} -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.js
r3202868 r3204890 75 75 }, 76 76 77 getMapUrl: function(resolve, reject) { 78 const self = this; 79 const httpRequest = new XMLHttpRequest(); 80 httpRequest.onreadystatechange = function() { 81 if (httpRequest.readyState === 4) { 82 const response = self.getRequestResponse(httpRequest); 83 if (self.isValidResponse(response)) { 84 resolve(response.data.mapUrl); 85 } else { 86 reject(response); 87 } 88 } 89 }; 90 httpRequest.open('POST', self.ajaxUrl); 91 httpRequest.setRequestHeader( 92 'Content-Type', 93 'application/x-www-form-urlencoded' 94 ); 95 httpRequest.responseType = 'json'; 96 httpRequest.send('action=bw_get_map_url'); 97 }, 98 77 99 getShippingMethodExtraLabel: function(shippingMethod, packageKey, resolve, reject) { 78 100 const self = this; … … 117 139 118 140 Components.util = { 141 translations: {}, 142 143 initTranslations: function() { 144 const self = this; 145 const hasI18n = typeof wp !== 'undefined' && 'i18n' in wp; 146 147 /* translators: %s: distance in km */ 148 self.translations['%skm away'] = hasI18n ? wp.i18n.__('%skm away', 'boxtal-connect' ) : '%skm away'; 149 self.translations['Unable to find carrier'] = hasI18n ? wp.i18n.__('Unable to find carrier', 'boxtal-connect' ) : 'Unable to find carrier'; 150 self.translations['Opening hours'] = hasI18n ? wp.i18n.__('Opening hours', 'boxtal-connect' ) : 'Opening hours'; 151 self.translations['Choose this parcel point'] = hasI18n ? wp.i18n.__('Choose this parcel point', 'boxtal-connect' ) : 'Choose this parcel point'; 152 self.translations['Your parcel point:'] = hasI18n ? wp.i18n.__('Your parcel point:', 'boxtal-connect' ) : 'Your parcel point:'; 153 self.translations['Close map'] = hasI18n ? wp.i18n.__('Close map', 'boxtal-connect' ) : 'Close map'; 154 self.translations['MONDAY'] = hasI18n ? wp.i18n.__('MONDAY', 'boxtal-connect' ) : 'MONDAY'; 155 self.translations['TUESDAY' ] = hasI18n ? wp.i18n.__('TUESDAY', 'boxtal-connect' ) : 'TUESDAY'; 156 self.translations['WEDNESDAY'] = hasI18n ? wp.i18n.__('WEDNESDAY', 'boxtal-connect' ) : 'WEDNESDAY'; 157 self.translations['THURSDAY'] = hasI18n ? wp.i18n.__('THURSDAY', 'boxtal-connect' ) : 'THURSDAY'; 158 self.translations['FRIDAY'] = hasI18n ? wp.i18n.__('FRIDAY', 'boxtal-connect' ) : 'FRIDAY'; 159 self.translations['SATURDAY'] = hasI18n ? wp.i18n.__('SATURDAY', 'boxtal-connect' ) : 'SATURDAY'; 160 self.translations['SUNDAY'] = hasI18n ? wp.i18n.__('SUNDAY', 'boxtal-connect' ) : 'SUNDAY'; 161 162 // legacy translation override i18n as fallback 163 if (translations) { 164 const keys = Object.keys(self.translations); 165 for (const key of keys) { 166 if (key in self.translations && self.translations[key] !== translations[key]) { 167 self.translations[key] = translations[key]; 168 } 169 } 170 } 171 }, 172 173 translate(key) { 174 const self = this; 175 let result = key; 176 177 if (result in translations) { 178 result = self.translations[result]; 179 } 180 181 return result; 182 }, 183 119 184 on: function(elSelector, eventName, selector, fn) { 120 185 … … 168 233 const self = this; 169 234 170 var kmAway = typeof wp !== 'undefined' && 'i18n' in wp 171 ? wp.i18n.__('%skm away', 'boxtal-connect' ) 172 : Components.util.translate( '%skm away' ); 235 var kmAway = Components.util.translate( '%skm away' ); 236 173 237 let result = null; 174 238 if ( null !== distance ) { … … 210 274 211 275 if (openingDay.weekday) { 212 var weekdayInitial = Components.util.isI18nEnabled() 213 ? wp.i18n.__(openingDay.weekday, 'boxtal-connect' ).charAt(0) 214 : Components.util.translate( openingDay.weekday ); 215 var parsedDay = weekdayInitial + ' '; 276 var weekday = Components.util.translate( openingDay.weekday ); 277 var parsedDay = weekday.charAt(0) + ' '; 216 278 var openingPeriods = openingDay.openingPeriods; 217 279 var parsedPeriods = []; … … 255 317 && 'wcSettings' in window.wc 256 318 && window.wc.wcSettings.getSetting('boxtal-connect-parcel-point_data'); 257 },258 259 isI18nEnabled() {260 return false;261 },262 263 translate(key) {264 let result = key;265 266 if (typeof translations !== 'undefined' && key in translations) {267 result = translations[key];268 }269 270 return result;271 319 }, 272 320 … … 287 335 map: null, 288 336 markers: [], 289 mapUrl: null,290 337 mapLogoImageUrl: null, 291 338 mapLogoHrefUrl: null, 292 339 293 setMapConfiguration: function(mapUrl, mapLogoImageUrl, mapLogoHrefUrl) { 294 const self = this; 295 self.mapUrl = mapUrl; 340 setMapConfiguration: function(mapLogoImageUrl, mapLogoHrefUrl) { 341 const self = this; 296 342 self.mapLogoImageUrl = mapLogoImageUrl; 297 343 self.mapLogoHrefUrl = mapLogoHrefUrl; 298 344 }, 299 345 300 init: function() { 301 const self = this; 346 buildMapContainer: function(mapUrl) { 347 const self = this; 348 302 349 const mapClose = document.createElement('div'); 303 self.mapContainer = document.querySelector('#bw-map'); 304 if (self.mapContainer) { 305 return; 306 } 307 308 var mapCloseTitle = Components.util.isI18nEnabled() 309 ? wp.i18n.__( 'Close map', 'boxtal-connect' ) 310 : Components.util.translate('Close map'); 350 var mapCloseTitle = Components.util.translate('Close map'); 311 351 312 352 mapClose.setAttribute('class', 'bw-close'); … … 332 372 mapOuter.appendChild(mapPPContainer); 333 373 334 self.mapContainer = document.createElement('div');335 self.mapContainer.setAttribute('id', 'bw-map');336 self.mapContainer.appendChild(mapOuter);337 document.body.appendChild( self.mapContainer);338 339 self.map = new map boxgl.Map({374 const mapContainer = document.createElement('div'); 375 mapContainer.setAttribute('id', 'bw-map'); 376 mapContainer.appendChild(mapOuter); 377 document.body.appendChild(mapContainer); 378 379 self.map = new maplibregl.Map({ 340 380 container: 'bw-map-canvas', 341 style: self.mapUrl,381 style: mapUrl, 342 382 zoom: 14, 343 accessToken: 'whatever'383 accessToken: 'whatever' 344 384 }); 345 self.map.addControl(new map boxgl.NavigationControl());385 self.map.addControl(new maplibregl.NavigationControl()); 346 386 347 387 const logoImg = document.createElement('img'); … … 355 395 logoContainer.appendChild(logoLink); 356 396 357 const mapTopLeftCorner = document.querySelector('.map boxgl-ctrl-top-left');397 const mapTopLeftCorner = document.querySelector('.maplibregl-ctrl-top-left'); 358 398 if (mapTopLeftCorner) { 359 399 mapTopLeftCorner.appendChild(logoContainer); 360 400 } 401 402 return mapContainer; 403 }, 404 405 init: function(callback) { 406 const self = this; 407 self.mapContainer = document.querySelector('#bw-map'); 408 409 if (self.mapContainer) { 410 callback(); 411 } else { 412 Components.api.getMapUrl( 413 function(mapUrl) { 414 self.mapContainer = self.buildMapContainer(mapUrl); 415 callback(); 416 }, 417 function(err) { 418 if (typeof err === 'object' && 'data' in err) { 419 self.showError(err.data.message); 420 } 421 } 422 ); 423 424 } 425 361 426 }, 362 427 … … 386 451 const self = this; 387 452 388 var chooseParcelPoint = Components.util.isI18nEnabled() 389 ? wp.i18n.__( 'Choose this parcel point', 'boxtal-connect' ) 390 : Components.util.translate('Choose this parcel point'); 391 var openingHours = Components.util.isI18nEnabled() 392 ? wp.i18n.__( 'Opening hours', 'boxtal-connect' ) 393 : Components.util.translate('Opening hours'); 453 var chooseParcelPoint = Components.util.translate('Choose this parcel point'); 454 var openingHours = Components.util.translate('Opening hours'); 394 455 395 456 let info ='<div class="bw-marker-popup"><b>'+point.parcelPoint.name+'</b><br/>'+ … … 402 463 const el = this.getMarkerHtmlElement(point.index + 1); 403 464 404 const popup = new map boxgl.Popup({ offset: 25 })465 const popup = new maplibregl.Popup({ offset: 25 }) 405 466 .setHTML(info); 406 467 407 const marker = new map boxgl.Marker({468 const marker = new maplibregl.Marker({ 408 469 element: el, 409 470 anchor: 'bottom' 410 471 }) 411 .setLngLat(new map boxgl.LngLat(parseFloat(point.parcelPoint.location.position.longitude), parseFloat(point.parcelPoint.location.position.latitude)))472 .setLngLat(new maplibregl.LngLat(parseFloat(point.parcelPoint.location.position.longitude), parseFloat(point.parcelPoint.location.position.latitude))) 412 473 .setPopup(popup) 413 474 .addTo(self.map); … … 442 503 el.className = 'bw-marker-recipient'; 443 504 444 const marker = new map boxgl.Marker({505 const marker = new maplibregl.Marker({ 445 506 element: el, 446 507 anchor: 'bottom' 447 508 }) 448 .setLngLat(new map boxgl.LngLat(parseFloat(location.position.longitude), parseFloat(location.position.latitude)))509 .setLngLat(new maplibregl.LngLat(parseFloat(location.position.longitude), parseFloat(location.position.latitude))) 449 510 .addTo(self.map); 450 511 … … 454 515 setMapBounds: function() { 455 516 456 let bounds = new map boxgl.LngLatBounds();517 let bounds = new maplibregl.LngLatBounds(); 457 518 458 519 for (let i = 0; i < this.markers.length; i++) { … … 473 534 const self = this; 474 535 475 var chooseParcelPoint = Components.util.isI18nEnabled() 476 ? wp.i18n.__( 'Choose this parcel point', 'boxtal-connect' ) 477 : Components.util.translate('Choose this parcel point'); 536 var chooseParcelPoint = Components.util.translate('Choose this parcel point'); 478 537 479 538 let html = ''; … … 544 603 const settings = getSetting('boxtal-connect-parcel-point_data'); 545 604 605 Components.util.initTranslations(); 606 546 607 if (settings) { 547 608 Components.api.setApiConfiguration( … … 552 613 ); 553 614 Components.map.setMapConfiguration( 554 settings.mapUrl,555 615 settings.mapLogoImageUrl, 556 616 settings.mapLogoHrefUrl … … 571 631 572 632 jQuery('body').on('click', '.bw-select-parcel', function() { 573 Components.map.init(); 574 Components.map.open(); 575 self.getMapPoints(); 633 Components.map.init(function() { 634 Components.map.open(); 635 self.getMapPoints(); 636 }); 576 637 }); 577 638 … … 785 846 const data = self.getFrontendData(); 786 847 848 Components.util.initTranslations(); 849 787 850 if (data !== null) { 788 851 … … 794 857 ); 795 858 Components.map.setMapConfiguration( 796 data.mapUrl,797 859 data.mapLogoImageUrl, 798 860 data.mapLogoHrefUrl … … 801 863 Components.util.on('body', 'click', '.bw-select-parcel', function(e) { 802 864 self.setPackageKey(e); 803 Components.map.init(); 804 Components.map.open(); 805 self.getMapPoints(); 865 Components.map.init(function() { 866 Components.map.open(); 867 self.getMapPoints(); 868 }); 806 869 }); 807 870 808 871 Components.util.on('body', 'click', '.bw-parcel-point-button', function() { 809 var carrierNotFound = Components.util.isI18nEnabled() 810 ? wp.i18n.__( 'Unable to find carrier', 'boxtal-connect' ) 811 : Components.util.translate('Unable to find carrier'); 872 var carrierNotFound = Components.util.translate('Unable to find carrier'); 812 873 813 874 const carrier = self.getSelectedCarrier(); … … 870 931 871 932 initSelectedParcelPoint: function() { 872 var yourParcelPoint = Components.util.isI18nEnabled() 873 ? wp.i18n.__( 'Your parcel point:', 'boxtal-connect' ) 874 : Components.util.translate('Your parcel point:'); 933 var yourParcelPoint = Components.util.translate('Your parcel point:'); 875 934 const selectParcelPoint = document.querySelector('.bw-parcel-client-' + this.packageKey); 876 935 selectParcelPoint.innerHTML = yourParcelPoint + ' '; … … 883 942 const self = this; 884 943 885 var carrierNotfound = Components.util.isI18nEnabled() 886 ? wp.i18n.__( 'Unable to find carrier', 'boxtal-connect' ) 887 : Components.util.translate('Unable to find carrier'); 944 var carrierNotfound = Components.util.translate('Unable to find carrier'); 888 945 const carrier = self.getSelectedCarrier(); 889 946 if (!carrier) { -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.min.js
r3202868 r3204890 1 "use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){var e={};e.api={ajaxUrl:null,getShippingMethodExtraLabelNonce:null,getPointsNonce:null,setPointNonce:null,setApiConfiguration:function(e,t,n,o){this.ajaxUrl=e,this.getShippingMethodExtraLabelNonce=t,this.getPointsNonce=n,this.setPointNonce=o},selectPoint:function(e,t,n,o,a,i,r,c, l,s,p,d,u){var h=this,g=new XMLHttpRequest;g.onreadystatechange=function(){if(4===g.readyState){var e=h.getRequestResponse(g);h.isValidResponse(e)?d({data:e.data,name:o,address:i,zipcode:r,city:c,distance:p}):u(e)}},g.open("POST",h.ajaxUrl),g.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),g.responseType="json",g.send("action=bw_set_point&carrier="+encodeURIComponent(e)+"&code="+encodeURIComponent(n)+"&name="+encodeURIComponent(o)+"&address="+encodeURIComponent(i)+"&zipcode="+encodeURIComponent(r)+"&city="+encodeURIComponent(c)+"&country="+encodeURIComponent(l)+"&openingHours="+encodeURIComponent(s)+"&network="+encodeURIComponent(a)+"&packageKey="+encodeURIComponent(t)+"&_wpnonce="+encodeURIComponent(h.setPointNonce))},getParcelPoints:function(e,t,n,o){var a=this,i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){var e=a.getRequestResponse(i);a.isValidResponse(e)?n(e.data):o(e)}},i.open("POST",a.ajaxUrl),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.responseType="json",i.send("action=bw_get_points&carrier="+encodeURIComponent(e)+"&packageKey="+encodeURIComponent(t)+"&_wpnonce="+encodeURIComponent(a.getPointsNonce))},getShippingMethodExtraLabel:function(e,t,n,o){var a=this,i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){var e=a.getRequestResponse(i);a.isValidResponse(e)?n(e.data):o(e)}},i.open("POST",a.ajaxUrl),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.responseType="json",i.send("action=bw_get_shipping_method_extra_label&shippingMethod="+encodeURIComponent(e)+"&packageKey="+encodeURIComponent(t)+"&_wpnonce="+encodeURIComponent(a.getShippingMethodExtraLabelNonce))},isValidResponse:function(e){return"object"===(void 0===e?"undefined":_typeof(e))&&null!==e&&!0===e.success&&"data"in e},getRequestResponse:function(e){return"object"===_typeof(e.response)&&null!==e.response?e.response:JSON.parse(e.response)}},e.util={on:function(e,t,n,o){if("undefined"!=typeof jQuery)jQuery(e).on(t,n,o);else{var a=document.querySelector(e);a.addEventListener(t,function(e){for(var t=a.querySelectorAll(n),i=e.target,r=0,c=t.length;r<c;r++)for(var l=i,s=t[r];l&&l!==a;){if(l===s)return o.call(s,e);l=l.parentNode}})}},observeDom:function(e,t,n){var o=void 0;return(o=new MutationObserver(function(e){var o=!0,a=!1,i=undefined;try{for(var r,c=e[Symbol.iterator]();!(o=(r=c.next()).done);o=!0){var l=r.value;if(t(l)){setTimeout(function(){return n()});break}}}catch(s){a=!0,i=s}finally{try{!o&&c["return"]&&c["return"]()}finally{if(a)throw i}}})).observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!1}),o},formatDistance:function(t){var n="undefined"!=typeof wp&&"i18n"in wp?wp.i18n.__("%skm away","boxtal-connect"):e.util.translate("%skm away"),o=null;return null!==t&&(t=Math.round(t/100)/10,isNaN(t)||(o=" ("+this.sprintf(n,t)+")")),o},formatParcelPoingAddress:function(t,n,o,a){var i=[t,[o,n].filter(function(e){return null!==e}).join(", ")].join(" ");return null!==(a=e.util.formatDistance(a))&&(i+=" "+a),i},fillSpaces:function(e,t){for(;e.length<t;)e+=" ";return e},formatOpeningDays:function(t){for(var n=[],o=e.util.fillSpaces("",11),a=0;a<t.length;a++){var i=t[a];if(i.weekday){for(var r=(e.util.isI18nEnabled()?wp.i18n.__(i.weekday,"boxtal-connect").charAt(0):e.util.translate(i.weekday))+" ",c=i.openingPeriods,l=[],s=0;s<c.length;s++){var p=c[s],d=p.openingTime===undefined?"":p.openingTime,u=p.closingTime===undefined?"":p.closingTime;""!==d&&""!==u?l.push(d+"-"+u):l.push(o)}r+=l.join(" "),a%2==1&&(r='<span style="background-color: #d8d8d8;">'+r+"</span>"),n.push(r)}}return'<pre class="bw-parcel-point-schedule">'+n.join("\n")+"</pre>"},formatHours:function(e){var t=e.split(":");return 3===t.length&&(e=t[0]+":"+t[1]),e},isWoocommerceBlocks:function(){return"wc"in window&&"blocksCheckout"in window.wc&&"wcSettings"in window.wc&&window.wc.wcSettings.getSetting("boxtal-connect-parcel-point_data")},isI18nEnabled:function(){return!1},translate:function(e){var t=e;return"undefined"!=typeof translations&&e in translations&&(t=translations[e]),t},sprintf:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];if("undefined"!=typeof sprintf)return sprintf.apply(undefined,[e].concat(n));var a=!0,i=!1,r=undefined;try{for(var c,l=n[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var s=c.value;e=e.replace("%s",s)}}catch(p){i=!0,r=p}finally{try{!a&&l["return"]&&l["return"]()}finally{if(i)throw r}}return e})},e.map={mapContainer:null,map:null,markers:[],mapUrl:null,mapLogoImageUrl:null,mapLogoHrefUrl:null,setMapConfiguration:function(e,t,n){this.mapUrl=e,this.mapLogoImageUrl=t,this.mapLogoHrefUrl=n},init:function(){var t=this,n=document.createElement("div");if(t.mapContainer=document.querySelector("#bw-map"),!t.mapContainer){var o=e.util.isI18nEnabled()?wp.i18n.__("Close map","boxtal-connect"):e.util.translate("Close map");n.setAttribute("class","bw-close"),n.setAttribute("title",o),n.addEventListener("click",function(){t.close()});var a=document.createElement("div");a.setAttribute("id","bw-map-canvas");var i=document.createElement("div");i.setAttribute("id","bw-map-container"),i.appendChild(a);var r=document.createElement("div");r.setAttribute("id","bw-pp-container");var c=document.createElement("div");c.setAttribute("id","bw-map-inner"),c.appendChild(n),c.appendChild(i),c.appendChild(r),t.mapContainer=document.createElement("div"),t.mapContainer.setAttribute("id","bw-map"),t.mapContainer.appendChild(c),document.body.appendChild(t.mapContainer),t.map=new mapboxgl.Map({container:"bw-map-canvas",style:t.mapUrl,zoom:14,accessToken:"whatever"}),t.map.addControl(new mapboxgl.NavigationControl);var l=document.createElement("img");l.setAttribute("src",t.mapLogoImageUrl);var s=document.createElement("a");s.setAttribute("href",t.mapLogoHrefUrl),s.setAttribute("target","_blank"),s.appendChild(l);var p=document.createElement("div");p.setAttribute("id","bw-logo"),p.appendChild(s);var d=document.querySelector(".mapboxgl-ctrl-top-left");d&&d.appendChild(p)}},open:function(){this.mapContainer.classList.add("bw-modal-show");var e=window.pageYOffset+(window.innerHeight-this.mapContainer.offsetHeight)/2;e<window.pageYOffset&&(e=window.pageYOffset),this.mapContainer.style.top=e+"px",this.map.resize()},close:function(){this.mapContainer.classList.remove("bw-modal-show"),this.clearMarkers()},addParcelPointMarkers:function(e){for(var t=0;t<e.length;t++)e[t].index=t,this.addParcelPointMarker(e[t])},addParcelPointMarker:function(t){var n=e.util.isI18nEnabled()?wp.i18n.__("Choose this parcel point","boxtal-connect"):e.util.translate("Choose this parcel point"),o=e.util.isI18nEnabled()?wp.i18n.__("Opening hours","boxtal-connect"):e.util.translate("Opening hours"),a='<div class="bw-marker-popup"><b>'+t.parcelPoint.name+'</b><br/><a href="#" class="bw-parcel-point-button" '+this.generateParcelPointTagData(t)+"><b>"+n+"</b></a><br/>"+t.parcelPoint.location.street+", "+t.parcelPoint.location.zipCode+" "+t.parcelPoint.location.city+"<br/><b>"+o+"</b><br/>";a+=e.util.formatOpeningDays(t.parcelPoint.openingDays);var i=this.getMarkerHtmlElement(t.index+1),r=new mapboxgl.Popup({offset:25}).setHTML(a),c=new mapboxgl.Marker({element:i,anchor:"bottom"}).setLngLat(new mapboxgl.LngLat(parseFloat(t.parcelPoint.location.position.longitude),parseFloat(t.parcelPoint.location.position.latitude))).setPopup(r).addTo(this.map);this.markers.push(c),this.addRightColMarkerEvent(c,t.parcelPoint.code)},generateParcelPointTagData:function(e){return' data-code="'+e.parcelPoint.code+'" data-name="'+encodeURIComponent(e.parcelPoint.name)+'" data-network="'+e.parcelPoint.network+'" data-zipcode="'+encodeURIComponent(e.parcelPoint.location.zipCode)+'" data-country="'+encodeURIComponent(e.parcelPoint.location.country)+'" data-city="'+encodeURIComponent(e.parcelPoint.location.city)+'" data-street="'+encodeURIComponent(e.parcelPoint.location.street)+'" data-openinghours="'+encodeURIComponent(JSON.stringify(e.parcelPoint.openingDays))+'" data-distance="'+encodeURIComponent(JSON.stringify(e.distanceFromSearchLocation))+'" '},addRightColMarkerEvent:function(t,n){e.util.on("body","click",".bw-show-info-"+n,function(){t.togglePopup()})},addRecipientMarker:function(e){var t=document.createElement("div");t.className="bw-marker-recipient";var n=new mapboxgl.Marker({element:t,anchor:"bottom"}).setLngLat(new mapboxgl.LngLat(parseFloat(e.position.longitude),parseFloat(e.position.latitude))).addTo(this.map);this.markers.push(n)},setMapBounds:function(){for(var e=new mapboxgl.LngLatBounds,t=0;t<this.markers.length;t++){var n=this.markers[t];e=e.extend(n.getLngLat())}this.map.fitBounds(e,{padding:30,linear:!0})},fillParcelPointPanel:function(t){var n=e.util.isI18nEnabled()?wp.i18n.__("Choose this parcel point","boxtal-connect"):e.util.translate("Choose this parcel point"),o="";o+="<table><tbody>";for(var a=0;a<t.length;a++){var i=t[a],r=e.util.formatDistance(i.distanceFromSearchLocation);o+="<tr>",o+="<td>"+this.getMarkerHtmlElement(a+1).outerHTML,o+='<div class="bw-parcel-point-title"><a class="bw-show-info-'+i.parcelPoint.code+'">'+i.parcelPoint.name+"</a></div><br/>",o+=i.parcelPoint.location.street+"<br/>",o+=i.parcelPoint.location.zipCode+" "+i.parcelPoint.location.city+(null!==r?r:"")+"<br/>",o+='<a class="bw-parcel-point-button" '+this.generateParcelPointTagData(i)+"><b>"+n+"</b></a>",o+="</td>",o+="</tr>"}o+="</tbody></table>",document.querySelector("#bw-pp-container").innerHTML=o},getMarkerHtmlElement:function(e){var t=document.createElement("div");return t.className="bw-marker",t.innerHTML=e,t},clearMarkers:function(){for(var e=0;e<this.markers.length;e++)this.markers[e].remove();this.markers=[]},getPoints:function(t,n,o){var a=this;e.api.getParcelPoints(t,n,function(e){a.addParcelPointMarkers(e.nearbyParcelPoints),a.fillParcelPointPanel(e.nearbyParcelPoints),a.addRecipientMarker(e.searchLocation),a.setMapBounds()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&a.showError(e.data.message)})}},e.blocks={cache:{},loading:!1,init:function(){var t=this,n=(0,window.wc.wcSettings.getSetting)("boxtal-connect-parcel-point_data");if(n){e.api.setApiConfiguration(n.ajaxurl,n.getShippingMethodExtraLabelNonce,n.getPointsNonce,n.setPointNonce),e.map.setMapConfiguration(n.mapUrl,n.mapLogoImageUrl,n.mapLogoHrefUrl);var o=!1;t.onCartChange(function(){t.updateSelectedShippingMethodExtraLabel(),o||(o=!0,jQuery("body").on("input",t.getShippintMethodInputsSelector(),function(){return t.updateSelectedShippingMethodExtraLabel()}))}),jQuery("body").on("click",".bw-select-parcel",function(){e.map.init(),e.map.open(),t.getMapPoints()}),jQuery("body").on("click",".bw-parcel-point-button",function(){var n=wp.i18n.__,o=t.getSelectedShippingMethod(),a=t.getSelectedPackageKey();o||t.showError(n("Unable to find carrier","boxtal-connect")),e.api.selectPoint(o,a,this.getAttribute("data-code"),decodeURIComponent(this.getAttribute("data-name")),this.getAttribute("data-network"),decodeURIComponent(this.getAttribute("data-street")),decodeURIComponent(this.getAttribute("data-zipcode")),decodeURIComponent(this.getAttribute("data-city")),decodeURIComponent(this.getAttribute("data-country")),decodeURIComponent(this.getAttribute("data-openinghours")),decodeURIComponent(this.getAttribute("data-distance")),function(n){var i=n.data;t.updateShippingMethodExtraLabelCache(a,o,i.label),t.refreshShippingMethodExtraLabel(),e.map.close()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&t.showError(e.data.message)})})}else console.error("[boxtal-connect] Failed to load plugin configuration (blocks)")},getMapPoints:function(){var t=wp.i18n.__,n=this,o=n.getSelectedShippingMethod(),a=n.getSelectedPackageKey();o&&null!==a||n.showError(t("Unable to find carrier","boxtal-connect")),e.map.getPoints(o,a,function(e){return n.showError(e)})},updateSelectedShippingMethodExtraLabel:function(){var t=wp.i18n.__,n=this;n.refreshShippingMethodExtraLabel();var o=n.getSelectedShippingMethod(),a=n.getSelectedPackageKey();o===undefined||a===undefined||n.loading||(n.loading=!0,e.api.getShippingMethodExtraLabel(o,a,function(e){n.updateShippingMethodExtraLabelCache(a,o,e.label),n.refreshShippingMethodExtraLabel(),n.loading=!1},function(){n.showError(t("Unable to find carrier","boxtal-connect")),n.loading=!1}))},getSelectedShippingMethod:function(){return jQuery(this.getShippintMethodInputsSelector()).filter(":checked").val()},getSelectedPackageKey:function(){var e=0,t=jQuery(this.getShippintMethodInputsSelector()).filter(":checked").attr("name");if(t){var n=t.split("-");e=n[n.length-1]}return e},getShippintMethodInputsSelector:function(){var e=this;return e.getShippingMethodsBlockClasses().map(function(t){return"."+t+" "+e.getShippintMethodsRadioControlSelector()}).join(", ")},getShippintMethodsBlockSelector:function(){return this.getShippingMethodsBlockClasses().map(function(e){return"."+e}).join(", ")},getShippintMethodTextLabelSelector:function(){return".wc-block-components-radio-control__label"},getShippingMethodsBlockClasses:function(){return["wp-block-woocommerce-checkout-shipping-methods-block","wp-block-woocommerce-cart-order-summary-shipping-block"]},getShippintMethodsRadioControlSelector:function(){return".wc-block-components-radio-control input"},showError:function(e){console.error(e)},onCartChange:function(t){var n=this;jQuery(n.getShippintMethodsBlockSelector()).filter(function(e,t){return n.isBlockReady(t)}).length>0&&t(),e.util.observeDom(document.body,function(e){var t=!1;if(e.addedNodes)for(var o=0;o<e.addedNodes.length;o++){var a=e.addedNodes[o];if(n.isBlockReady(a)){t=!0;break}}if(e.removedNodes&&!t)for(var i=0;i<e.removedNodes.length;i++){var r=e.removedNodes[i];if(n.isLoaderBlock(r)){t=!0;break}}return t},t)},isBlockReady:function(e){return this.getShippingMethodsBlockClasses().filter(function(t){return e.classList&&e.classList.contains(t)}).length>0&&jQuery(e).find(this.getShippintMethodsRadioControlSelector()).has(":checked")},isLoaderBlock:function(e){return e.classList&&e.classList.contains("wc-block-components-spinner")},updateShippingMethodExtraLabelCache:function(e,t,n){e in this.cache||(this.cache[e]={}),this.cache[e][t]=n},getShippingMethodCachedExtraLabel:function(e,t){return e in this.cache&&t in this.cache[e]?this.cache[e][t]:null},refreshShippingMethodExtraLabel:function(){var e=this.getSelectedShippingMethod(),t=this.getSelectedPackageKey(),n=this.getShippingMethodCachedExtraLabel(t,e);(jQuery(this.getShippintMethodsBlockSelector()).find("label "+this.getShippintMethodTextLabelSelector()).find(".bw-extra-label").remove(),null!==n)&&jQuery(this.getShippintMethodsBlockSelector()).find("label").has("input:checked").find(this.getShippintMethodTextLabelSelector()).first().append('<span class="bw-extra-label"><br/>'+n+"</span>")}},e.legacy={packageKey:null,init:function(){var t=this,n=t.getFrontendData();null!==n?(e.api.setApiConfiguration(n.ajaxurl,n.getShippingMethodExtraLabelNonce,n.getPointsNonce,n.setPointNonce),e.map.setMapConfiguration(n.mapUrl,n.mapLogoImageUrl,n.mapLogoHrefUrl),e.util.on("body","click",".bw-select-parcel",function(n){t.setPackageKey(n),e.map.init(),e.map.open(),t.getMapPoints()}),e.util.on("body","click",".bw-parcel-point-button",function(){var n=e.util.isI18nEnabled()?wp.i18n.__("Unable to find carrier","boxtal-connect"):e.util.translate("Unable to find carrier"),o=t.getSelectedCarrier();o||t.showError(n),e.api.selectPoint(o,t.packageKey,this.getAttribute("data-code"),decodeURIComponent(this.getAttribute("data-name")),this.getAttribute("data-network"),decodeURIComponent(this.getAttribute("data-street")),decodeURIComponent(this.getAttribute("data-zipcode")),decodeURIComponent(this.getAttribute("data-city")),decodeURIComponent(this.getAttribute("data-country")),decodeURIComponent(this.getAttribute("data-openinghours")),decodeURIComponent(this.getAttribute("data-distance")),function(n){var o=n.name,a=n.address,i=n.zipcode,r=n.city,c=n.distance;t.initSelectedParcelPoint();var l=document.querySelector(".bw-parcel-address-"+t.packageKey),s=document.querySelector(".bw-parcel-name-"+t.packageKey);l&&(l.innerHTML=e.util.formatParcelPoingAddress(a,r,i,c)),s&&(s.innerHTML=o),e.map.close()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&t.showError(e.data.message)})})):console.error("[boxtal-connect] Failed to load plugin configuration (legacy)")},setPackageKey:function(e){this.packageKey=e.target.attributes.getNamedItem("data-package_key").value},getFrontendData:function(){var e=null;if("undefined"!=typeof bwData)e=bwData;else if("wc"in window&&"wcSettings"in window.wc){var t=window.wc.wcSettings.getSetting("boxtal-connect-parcel-point_data");t&&(e=t)}return e},initSelectedParcelPoint:function(){var t=e.util.isI18nEnabled()?wp.i18n.__("Your parcel point:","boxtal-connect"):e.util.translate("Your parcel point:"),n=document.querySelector(".bw-parcel-client-"+this.packageKey);n.innerHTML=t+" ";var o=document.createElement("span");o.setAttribute("class","bw-parcel-name-"+this.packageKey),n.appendChild(o)},getMapPoints:function(){var t=this,n=e.util.isI18nEnabled()?wp.i18n.__("Unable to find carrier","boxtal-connect"):e.util.translate("Unable to find carrier"),o=t.getSelectedCarrier();o||t.showError(n),e.map.getPoints(o,t.packageKey,function(e){return t.showError(e)})},getSelectedCarrier:function(){var e=void 0,t=document.querySelector('input[type="hidden"].shipping_method');t?e=t.getAttribute("value"):e=document.querySelector("input.shipping_method:checked").getAttribute("value");return e},showError:function(t){e.map.close(),alert(t)}},document.addEventListener("DOMContentLoaded",function(){e.util.isWoocommerceBlocks()?e.blocks.init():e.legacy.init()})}();1 "use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(){var e={};e.api={ajaxUrl:null,getShippingMethodExtraLabelNonce:null,getPointsNonce:null,setPointNonce:null,setApiConfiguration:function(e,t,n,o){this.ajaxUrl=e,this.getShippingMethodExtraLabelNonce=t,this.getPointsNonce=n,this.setPointNonce=o},selectPoint:function(e,t,n,o,a,i,r,c,s,l,p,d,u){var h=this,g=new XMLHttpRequest;g.onreadystatechange=function(){if(4===g.readyState){var e=h.getRequestResponse(g);h.isValidResponse(e)?d({data:e.data,name:o,address:i,zipcode:r,city:c,distance:p}):u(e)}},g.open("POST",h.ajaxUrl),g.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),g.responseType="json",g.send("action=bw_set_point&carrier="+encodeURIComponent(e)+"&code="+encodeURIComponent(n)+"&name="+encodeURIComponent(o)+"&address="+encodeURIComponent(i)+"&zipcode="+encodeURIComponent(r)+"&city="+encodeURIComponent(c)+"&country="+encodeURIComponent(s)+"&openingHours="+encodeURIComponent(l)+"&network="+encodeURIComponent(a)+"&packageKey="+encodeURIComponent(t)+"&_wpnonce="+encodeURIComponent(h.setPointNonce))},getParcelPoints:function(e,t,n,o){var a=this,i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){var e=a.getRequestResponse(i);a.isValidResponse(e)?n(e.data):o(e)}},i.open("POST",a.ajaxUrl),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.responseType="json",i.send("action=bw_get_points&carrier="+encodeURIComponent(e)+"&packageKey="+encodeURIComponent(t)+"&_wpnonce="+encodeURIComponent(a.getPointsNonce))},getMapUrl:function(e,t){var n=this,o=new XMLHttpRequest;o.onreadystatechange=function(){if(4===o.readyState){var a=n.getRequestResponse(o);n.isValidResponse(a)?e(a.data.mapUrl):t(a)}},o.open("POST",n.ajaxUrl),o.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),o.responseType="json",o.send("action=bw_get_map_url")},getShippingMethodExtraLabel:function(e,t,n,o){var a=this,i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){var e=a.getRequestResponse(i);a.isValidResponse(e)?n(e.data):o(e)}},i.open("POST",a.ajaxUrl),i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.responseType="json",i.send("action=bw_get_shipping_method_extra_label&shippingMethod="+encodeURIComponent(e)+"&packageKey="+encodeURIComponent(t)+"&_wpnonce="+encodeURIComponent(a.getShippingMethodExtraLabelNonce))},isValidResponse:function(e){return"object"===(void 0===e?"undefined":_typeof(e))&&null!==e&&!0===e.success&&"data"in e},getRequestResponse:function(e){return"object"===_typeof(e.response)&&null!==e.response?e.response:JSON.parse(e.response)}},e.util={translations:{},initTranslations:function(){var e="undefined"!=typeof wp&&"i18n"in wp;if(this.translations["%skm away"]=e?wp.i18n.__("%skm away","boxtal-connect"):"%skm away",this.translations["Unable to find carrier"]=e?wp.i18n.__("Unable to find carrier","boxtal-connect"):"Unable to find carrier",this.translations["Opening hours"]=e?wp.i18n.__("Opening hours","boxtal-connect"):"Opening hours",this.translations["Choose this parcel point"]=e?wp.i18n.__("Choose this parcel point","boxtal-connect"):"Choose this parcel point",this.translations["Your parcel point:"]=e?wp.i18n.__("Your parcel point:","boxtal-connect"):"Your parcel point:",this.translations["Close map"]=e?wp.i18n.__("Close map","boxtal-connect"):"Close map",this.translations.MONDAY=e?wp.i18n.__("MONDAY","boxtal-connect"):"MONDAY",this.translations.TUESDAY=e?wp.i18n.__("TUESDAY","boxtal-connect"):"TUESDAY",this.translations.WEDNESDAY=e?wp.i18n.__("WEDNESDAY","boxtal-connect"):"WEDNESDAY",this.translations.THURSDAY=e?wp.i18n.__("THURSDAY","boxtal-connect"):"THURSDAY",this.translations.FRIDAY=e?wp.i18n.__("FRIDAY","boxtal-connect"):"FRIDAY",this.translations.SATURDAY=e?wp.i18n.__("SATURDAY","boxtal-connect"):"SATURDAY",this.translations.SUNDAY=e?wp.i18n.__("SUNDAY","boxtal-connect"):"SUNDAY",translations){var t=Object.keys(this.translations),n=!0,o=!1,a=undefined;try{for(var i,r=t[Symbol.iterator]();!(n=(i=r.next()).done);n=!0){var c=i.value;c in this.translations&&this.translations[c]!==translations[c]&&(this.translations[c]=translations[c])}}catch(s){o=!0,a=s}finally{try{!n&&r["return"]&&r["return"]()}finally{if(o)throw a}}}},translate:function(e){var t=e;return t in translations&&(t=this.translations[t]),t},on:function(e,t,n,o){if("undefined"!=typeof jQuery)jQuery(e).on(t,n,o);else{var a=document.querySelector(e);a.addEventListener(t,function(e){for(var t=a.querySelectorAll(n),i=e.target,r=0,c=t.length;r<c;r++)for(var s=i,l=t[r];s&&s!==a;){if(s===l)return o.call(l,e);s=s.parentNode}})}},observeDom:function(e,t,n){var o=void 0;return(o=new MutationObserver(function(e){var o=!0,a=!1,i=undefined;try{for(var r,c=e[Symbol.iterator]();!(o=(r=c.next()).done);o=!0){var s=r.value;if(t(s)){setTimeout(function(){return n()});break}}}catch(l){a=!0,i=l}finally{try{!o&&c["return"]&&c["return"]()}finally{if(a)throw i}}})).observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!1}),o},formatDistance:function(t){var n=e.util.translate("%skm away"),o=null;return null!==t&&(t=Math.round(t/100)/10,isNaN(t)||(o=" ("+this.sprintf(n,t)+")")),o},formatParcelPoingAddress:function(t,n,o,a){var i=[t,[o,n].filter(function(e){return null!==e}).join(", ")].join(" ");return null!==(a=e.util.formatDistance(a))&&(i+=" "+a),i},fillSpaces:function(e,t){for(;e.length<t;)e+=" ";return e},formatOpeningDays:function(t){for(var n=[],o=e.util.fillSpaces("",11),a=0;a<t.length;a++){var i=t[a];if(i.weekday){for(var r=e.util.translate(i.weekday).charAt(0)+" ",c=i.openingPeriods,s=[],l=0;l<c.length;l++){var p=c[l],d=p.openingTime===undefined?"":p.openingTime,u=p.closingTime===undefined?"":p.closingTime;""!==d&&""!==u?s.push(d+"-"+u):s.push(o)}r+=s.join(" "),a%2==1&&(r='<span style="background-color: #d8d8d8;">'+r+"</span>"),n.push(r)}}return'<pre class="bw-parcel-point-schedule">'+n.join("\n")+"</pre>"},formatHours:function(e){var t=e.split(":");return 3===t.length&&(e=t[0]+":"+t[1]),e},isWoocommerceBlocks:function(){return"wc"in window&&"blocksCheckout"in window.wc&&"wcSettings"in window.wc&&window.wc.wcSettings.getSetting("boxtal-connect-parcel-point_data")},sprintf:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}(function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];if("undefined"!=typeof sprintf)return sprintf.apply(undefined,[e].concat(n));var a=!0,i=!1,r=undefined;try{for(var c,s=n[Symbol.iterator]();!(a=(c=s.next()).done);a=!0){var l=c.value;e=e.replace("%s",l)}}catch(p){i=!0,r=p}finally{try{!a&&s["return"]&&s["return"]()}finally{if(i)throw r}}return e})},e.map={mapContainer:null,map:null,markers:[],mapLogoImageUrl:null,mapLogoHrefUrl:null,setMapConfiguration:function(e,t){this.mapLogoImageUrl=e,this.mapLogoHrefUrl=t},buildMapContainer:function(t){var n=this,o=document.createElement("div"),a=e.util.translate("Close map");o.setAttribute("class","bw-close"),o.setAttribute("title",a),o.addEventListener("click",function(){n.close()});var i=document.createElement("div");i.setAttribute("id","bw-map-canvas");var r=document.createElement("div");r.setAttribute("id","bw-map-container"),r.appendChild(i);var c=document.createElement("div");c.setAttribute("id","bw-pp-container");var s=document.createElement("div");s.setAttribute("id","bw-map-inner"),s.appendChild(o),s.appendChild(r),s.appendChild(c);var l=document.createElement("div");l.setAttribute("id","bw-map"),l.appendChild(s),document.body.appendChild(l),n.map=new maplibregl.Map({container:"bw-map-canvas",style:t,zoom:14,accessToken:"whatever"}),n.map.addControl(new maplibregl.NavigationControl);var p=document.createElement("img");p.setAttribute("src",n.mapLogoImageUrl);var d=document.createElement("a");d.setAttribute("href",n.mapLogoHrefUrl),d.setAttribute("target","_blank"),d.appendChild(p);var u=document.createElement("div");u.setAttribute("id","bw-logo"),u.appendChild(d);var h=document.querySelector(".maplibregl-ctrl-top-left");return h&&h.appendChild(u),l},init:function(t){var n=this;n.mapContainer=document.querySelector("#bw-map"),n.mapContainer?t():e.api.getMapUrl(function(e){n.mapContainer=n.buildMapContainer(e),t()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&n.showError(e.data.message)})},open:function(){this.mapContainer.classList.add("bw-modal-show");var e=window.pageYOffset+(window.innerHeight-this.mapContainer.offsetHeight)/2;e<window.pageYOffset&&(e=window.pageYOffset),this.mapContainer.style.top=e+"px",this.map.resize()},close:function(){this.mapContainer.classList.remove("bw-modal-show"),this.clearMarkers()},addParcelPointMarkers:function(e){for(var t=0;t<e.length;t++)e[t].index=t,this.addParcelPointMarker(e[t])},addParcelPointMarker:function(t){var n=e.util.translate("Choose this parcel point"),o=e.util.translate("Opening hours"),a='<div class="bw-marker-popup"><b>'+t.parcelPoint.name+'</b><br/><a href="#" class="bw-parcel-point-button" '+this.generateParcelPointTagData(t)+"><b>"+n+"</b></a><br/>"+t.parcelPoint.location.street+", "+t.parcelPoint.location.zipCode+" "+t.parcelPoint.location.city+"<br/><b>"+o+"</b><br/>";a+=e.util.formatOpeningDays(t.parcelPoint.openingDays);var i=this.getMarkerHtmlElement(t.index+1),r=new maplibregl.Popup({offset:25}).setHTML(a),c=new maplibregl.Marker({element:i,anchor:"bottom"}).setLngLat(new maplibregl.LngLat(parseFloat(t.parcelPoint.location.position.longitude),parseFloat(t.parcelPoint.location.position.latitude))).setPopup(r).addTo(this.map);this.markers.push(c),this.addRightColMarkerEvent(c,t.parcelPoint.code)},generateParcelPointTagData:function(e){return' data-code="'+e.parcelPoint.code+'" data-name="'+encodeURIComponent(e.parcelPoint.name)+'" data-network="'+e.parcelPoint.network+'" data-zipcode="'+encodeURIComponent(e.parcelPoint.location.zipCode)+'" data-country="'+encodeURIComponent(e.parcelPoint.location.country)+'" data-city="'+encodeURIComponent(e.parcelPoint.location.city)+'" data-street="'+encodeURIComponent(e.parcelPoint.location.street)+'" data-openinghours="'+encodeURIComponent(JSON.stringify(e.parcelPoint.openingDays))+'" data-distance="'+encodeURIComponent(JSON.stringify(e.distanceFromSearchLocation))+'" '},addRightColMarkerEvent:function(t,n){e.util.on("body","click",".bw-show-info-"+n,function(){t.togglePopup()})},addRecipientMarker:function(e){var t=document.createElement("div");t.className="bw-marker-recipient";var n=new maplibregl.Marker({element:t,anchor:"bottom"}).setLngLat(new maplibregl.LngLat(parseFloat(e.position.longitude),parseFloat(e.position.latitude))).addTo(this.map);this.markers.push(n)},setMapBounds:function(){for(var e=new maplibregl.LngLatBounds,t=0;t<this.markers.length;t++){var n=this.markers[t];e=e.extend(n.getLngLat())}this.map.fitBounds(e,{padding:30,linear:!0})},fillParcelPointPanel:function(t){var n=e.util.translate("Choose this parcel point"),o="";o+="<table><tbody>";for(var a=0;a<t.length;a++){var i=t[a],r=e.util.formatDistance(i.distanceFromSearchLocation);o+="<tr>",o+="<td>"+this.getMarkerHtmlElement(a+1).outerHTML,o+='<div class="bw-parcel-point-title"><a class="bw-show-info-'+i.parcelPoint.code+'">'+i.parcelPoint.name+"</a></div><br/>",o+=i.parcelPoint.location.street+"<br/>",o+=i.parcelPoint.location.zipCode+" "+i.parcelPoint.location.city+(null!==r?r:"")+"<br/>",o+='<a class="bw-parcel-point-button" '+this.generateParcelPointTagData(i)+"><b>"+n+"</b></a>",o+="</td>",o+="</tr>"}o+="</tbody></table>",document.querySelector("#bw-pp-container").innerHTML=o},getMarkerHtmlElement:function(e){var t=document.createElement("div");return t.className="bw-marker",t.innerHTML=e,t},clearMarkers:function(){for(var e=0;e<this.markers.length;e++)this.markers[e].remove();this.markers=[]},getPoints:function(t,n,o){var a=this;e.api.getParcelPoints(t,n,function(e){a.addParcelPointMarkers(e.nearbyParcelPoints),a.fillParcelPointPanel(e.nearbyParcelPoints),a.addRecipientMarker(e.searchLocation),a.setMapBounds()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&a.showError(e.data.message)})}},e.blocks={cache:{},loading:!1,init:function(){var t=this,n=(0,window.wc.wcSettings.getSetting)("boxtal-connect-parcel-point_data");if(e.util.initTranslations(),n){e.api.setApiConfiguration(n.ajaxurl,n.getShippingMethodExtraLabelNonce,n.getPointsNonce,n.setPointNonce),e.map.setMapConfiguration(n.mapLogoImageUrl,n.mapLogoHrefUrl);var o=!1;t.onCartChange(function(){t.updateSelectedShippingMethodExtraLabel(),o||(o=!0,jQuery("body").on("input",t.getShippintMethodInputsSelector(),function(){return t.updateSelectedShippingMethodExtraLabel()}))}),jQuery("body").on("click",".bw-select-parcel",function(){e.map.init(function(){e.map.open(),t.getMapPoints()})}),jQuery("body").on("click",".bw-parcel-point-button",function(){var n=wp.i18n.__,o=t.getSelectedShippingMethod(),a=t.getSelectedPackageKey();o||t.showError(n("Unable to find carrier","boxtal-connect")),e.api.selectPoint(o,a,this.getAttribute("data-code"),decodeURIComponent(this.getAttribute("data-name")),this.getAttribute("data-network"),decodeURIComponent(this.getAttribute("data-street")),decodeURIComponent(this.getAttribute("data-zipcode")),decodeURIComponent(this.getAttribute("data-city")),decodeURIComponent(this.getAttribute("data-country")),decodeURIComponent(this.getAttribute("data-openinghours")),decodeURIComponent(this.getAttribute("data-distance")),function(n){var i=n.data;t.updateShippingMethodExtraLabelCache(a,o,i.label),t.refreshShippingMethodExtraLabel(),e.map.close()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&t.showError(e.data.message)})})}else console.error("[boxtal-connect] Failed to load plugin configuration (blocks)")},getMapPoints:function(){var t=wp.i18n.__,n=this,o=n.getSelectedShippingMethod(),a=n.getSelectedPackageKey();o&&null!==a||n.showError(t("Unable to find carrier","boxtal-connect")),e.map.getPoints(o,a,function(e){return n.showError(e)})},updateSelectedShippingMethodExtraLabel:function(){var t=wp.i18n.__,n=this;n.refreshShippingMethodExtraLabel();var o=n.getSelectedShippingMethod(),a=n.getSelectedPackageKey();o===undefined||a===undefined||n.loading||(n.loading=!0,e.api.getShippingMethodExtraLabel(o,a,function(e){n.updateShippingMethodExtraLabelCache(a,o,e.label),n.refreshShippingMethodExtraLabel(),n.loading=!1},function(){n.showError(t("Unable to find carrier","boxtal-connect")),n.loading=!1}))},getSelectedShippingMethod:function(){return jQuery(this.getShippintMethodInputsSelector()).filter(":checked").val()},getSelectedPackageKey:function(){var e=0,t=jQuery(this.getShippintMethodInputsSelector()).filter(":checked").attr("name");if(t){var n=t.split("-");e=n[n.length-1]}return e},getShippintMethodInputsSelector:function(){var e=this;return e.getShippingMethodsBlockClasses().map(function(t){return"."+t+" "+e.getShippintMethodsRadioControlSelector()}).join(", ")},getShippintMethodsBlockSelector:function(){return this.getShippingMethodsBlockClasses().map(function(e){return"."+e}).join(", ")},getShippintMethodTextLabelSelector:function(){return".wc-block-components-radio-control__label"},getShippingMethodsBlockClasses:function(){return["wp-block-woocommerce-checkout-shipping-methods-block","wp-block-woocommerce-cart-order-summary-shipping-block"]},getShippintMethodsRadioControlSelector:function(){return".wc-block-components-radio-control input"},showError:function(e){console.error(e)},onCartChange:function(t){var n=this;jQuery(n.getShippintMethodsBlockSelector()).filter(function(e,t){return n.isBlockReady(t)}).length>0&&t(),e.util.observeDom(document.body,function(e){var t=!1;if(e.addedNodes)for(var o=0;o<e.addedNodes.length;o++){var a=e.addedNodes[o];if(n.isBlockReady(a)){t=!0;break}}if(e.removedNodes&&!t)for(var i=0;i<e.removedNodes.length;i++){var r=e.removedNodes[i];if(n.isLoaderBlock(r)){t=!0;break}}return t},t)},isBlockReady:function(e){return this.getShippingMethodsBlockClasses().filter(function(t){return e.classList&&e.classList.contains(t)}).length>0&&jQuery(e).find(this.getShippintMethodsRadioControlSelector()).has(":checked")},isLoaderBlock:function(e){return e.classList&&e.classList.contains("wc-block-components-spinner")},updateShippingMethodExtraLabelCache:function(e,t,n){e in this.cache||(this.cache[e]={}),this.cache[e][t]=n},getShippingMethodCachedExtraLabel:function(e,t){return e in this.cache&&t in this.cache[e]?this.cache[e][t]:null},refreshShippingMethodExtraLabel:function(){var e=this.getSelectedShippingMethod(),t=this.getSelectedPackageKey(),n=this.getShippingMethodCachedExtraLabel(t,e);(jQuery(this.getShippintMethodsBlockSelector()).find("label "+this.getShippintMethodTextLabelSelector()).find(".bw-extra-label").remove(),null!==n)&&jQuery(this.getShippintMethodsBlockSelector()).find("label").has("input:checked").find(this.getShippintMethodTextLabelSelector()).first().append('<span class="bw-extra-label"><br/>'+n+"</span>")}},e.legacy={packageKey:null,init:function(){var t=this,n=t.getFrontendData();e.util.initTranslations(),null!==n?(e.api.setApiConfiguration(n.ajaxurl,n.getShippingMethodExtraLabelNonce,n.getPointsNonce,n.setPointNonce),e.map.setMapConfiguration(n.mapLogoImageUrl,n.mapLogoHrefUrl),e.util.on("body","click",".bw-select-parcel",function(n){t.setPackageKey(n),e.map.init(function(){e.map.open(),t.getMapPoints()})}),e.util.on("body","click",".bw-parcel-point-button",function(){var n=e.util.translate("Unable to find carrier"),o=t.getSelectedCarrier();o||t.showError(n),e.api.selectPoint(o,t.packageKey,this.getAttribute("data-code"),decodeURIComponent(this.getAttribute("data-name")),this.getAttribute("data-network"),decodeURIComponent(this.getAttribute("data-street")),decodeURIComponent(this.getAttribute("data-zipcode")),decodeURIComponent(this.getAttribute("data-city")),decodeURIComponent(this.getAttribute("data-country")),decodeURIComponent(this.getAttribute("data-openinghours")),decodeURIComponent(this.getAttribute("data-distance")),function(n){var o=n.name,a=n.address,i=n.zipcode,r=n.city,c=n.distance;t.initSelectedParcelPoint();var s=document.querySelector(".bw-parcel-address-"+t.packageKey),l=document.querySelector(".bw-parcel-name-"+t.packageKey);s&&(s.innerHTML=e.util.formatParcelPoingAddress(a,r,i,c)),l&&(l.innerHTML=o),e.map.close()},function(e){"object"===(void 0===e?"undefined":_typeof(e))&&"data"in e&&t.showError(e.data.message)})})):console.error("[boxtal-connect] Failed to load plugin configuration (legacy)")},setPackageKey:function(e){this.packageKey=e.target.attributes.getNamedItem("data-package_key").value},getFrontendData:function(){var e=null;if("undefined"!=typeof bwData)e=bwData;else if("wc"in window&&"wcSettings"in window.wc){var t=window.wc.wcSettings.getSetting("boxtal-connect-parcel-point_data");t&&(e=t)}return e},initSelectedParcelPoint:function(){var t=e.util.translate("Your parcel point:"),n=document.querySelector(".bw-parcel-client-"+this.packageKey);n.innerHTML=t+" ";var o=document.createElement("span");o.setAttribute("class","bw-parcel-name-"+this.packageKey),n.appendChild(o)},getMapPoints:function(){var t=this,n=e.util.translate("Unable to find carrier"),o=t.getSelectedCarrier();o||t.showError(n),e.map.getPoints(o,t.packageKey,function(e){return t.showError(e)})},getSelectedCarrier:function(){var e=void 0,t=document.querySelector('input[type="hidden"].shipping_method');t?e=t.getAttribute("value"):e=document.querySelector("input.shipping_method:checked").getAttribute("value");return e},showError:function(t){e.map.close(),alert(t)}},document.addEventListener("DOMContentLoaded",function(){e.util.isWoocommerceBlocks()?e.blocks.init():e.legacy.init()})}(); -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/js/shipping-method.js
r3127024 r3204890 76 76 const disabled = e.target !== null && e.target.checked === false; 77 77 const selectedLine = self.getParentRow(e.target); 78 78 79 79 if (selectedLine !== null) { 80 80 self.setRowState(selectedLine, disabled); … … 89 89 } 90 90 }, 91 91 92 92 getParentRow: function (element) { 93 93 while (element !== null && element !== undefined && element.tagName.toLowerCase() !== 'tr') { -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/less/parcel-point.less
r3127024 r3204890 1 .map boxgl-ctrl-top-left {1 .maplibregl-ctrl-top-left { 2 2 pointer-events: auto; 3 3 … … 10 10 } 11 11 12 .bw-parcel-point { 12 .bw-parcel-point { 13 13 background-color: rgba(black, 0.03); 14 14 display: inline-block; -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/class-plugin.php
r3202868 r3204890 61 61 $this['path'] = realpath( plugin_dir_path( $this['file'] ) ) . DIRECTORY_SEPARATOR; 62 62 $this['url'] = plugin_dir_url( $this['file'] ); 63 $this['version'] = '1.3. 2';63 $this['version'] = '1.3.3'; 64 64 $this['min-wc-version'] = '2.6.14'; 65 65 $this['min-php-version'] = '5.6.0'; -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-controller.php
r3202868 r3204890 58 58 add_action( 'wp_ajax_bw_get_points', array( $this, 'get_points_callback' ) ); 59 59 add_action( 'wp_ajax_bw_set_point', array( $this, 'set_point_callback' ) ); 60 add_action( 'wp_ajax_bw_get_map_url', array( $this, 'get_map_url_callback' ) ); 60 61 add_action( 'wp_ajax_bw_get_shipping_method_extra_label', array( $this, 'get_shipping_method_extra_label_callback' ) ); 61 62 add_action( 'wp_ajax_nopriv_bw_get_points', array( $this, 'get_points_callback' ) ); 62 63 add_action( 'wp_ajax_nopriv_bw_set_point', array( $this, 'set_point_callback' ) ); 64 add_action( 'wp_ajax_nopriv_bw_get_map_url', array( $this, 'get_map_url_callback' ) ); 63 65 add_action( 'wp_ajax_nopriv_bw_get_shipping_method_extra_label', array( $this, 'get_shipping_method_extra_label_callback' ) ); 64 66 … … 100 102 if ( $this->is_checkout_or_cart() ) { 101 103 wp_enqueue_script( 'bw_polyfills', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/js/polyfills.min.js', array(), $this->plugin_version, false ); 102 wp_enqueue_script( 'bw_map box_gl', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/js/mapbox-gl.js', array( 'bw_polyfills' ), $this->plugin_version, false );103 wp_enqueue_script( 'bw_shipping', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.min.js', array( 'bw_map box_gl', 'bw_polyfills' ), $this->plugin_version, false );104 wp_enqueue_script( 'bw_maplibre_gl', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/js/maplibre-gl.js', array( 'bw_polyfills' ), $this->plugin_version, false ); 105 wp_enqueue_script( 'bw_shipping', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/js/parcel-point.min.js', array( 'bw_maplibre_gl', 'bw_polyfills' ), $this->plugin_version, false ); 104 106 Frontend_Util::inject_inline_data( 'bw_shipping', 'bwData', Frontend_Util::get_frontend_data() ); 105 107 wp_localize_script( 'bw_shipping', 'translations', Frontend_Util::get_map_translations() ); … … 115 117 public function parcel_point_styles() { 116 118 if ( $this->is_checkout_or_cart() ) { 117 wp_enqueue_style( 'bw_map box_gl', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/css/mapbox-gl.min.css', array(), $this->plugin_version );119 wp_enqueue_style( 'bw_maplibre_gl', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/css/maplibre-gl.min.css', array(), $this->plugin_version ); 118 120 wp_enqueue_style( 'bw_parcel_point', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/css/parcel-point.css', array(), $this->plugin_version ); 119 121 } … … 210 212 wp_send_json_success( array( 'label' => $label ) ); 211 213 } 214 215 /** 216 * Return maplibre configuration map url 217 */ 218 public function get_map_url_callback() { 219 wp_send_json_success( array( 'mapUrl' => Frontend_Util::get_map_url() ) ); 220 } 212 221 } -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-parcel-point-block-integration.php
r3202868 r3204890 36 36 $assets_path = plugins_url( 'boxtal-connect/Boxtal/BoxtalConnectWoocommerce/assets', 'boxtal-connect.php' ); 37 37 38 wp_enqueue_script( 'bw_polyfills', $assets_path . '/js/polyfills.min.js', array(), '1.3. 2', false );39 wp_enqueue_script( 'bw_map box_gl', $assets_path . '/js/mapbox-gl.js', array( 'bw_polyfills' ), '1.3.2', false );40 wp_enqueue_script( 'bw_shipping', $assets_path . '/js/parcel-point.min.js', array( ' bw_mapbox_gl', 'bw_polyfills', 'jquery-core', 'wp-hooks' ), '1.3.2', false );41 wp_enqueue_style( 'bw_map box_gl', $assets_path . '/css/mapbox-gl.min.css', array(), '1.3.2' );42 wp_enqueue_style( 'bw_parcel_point', $assets_path . '/css/parcel-point.css', array(), '1.3. 2' );38 wp_enqueue_script( 'bw_polyfills', $assets_path . '/js/polyfills.min.js', array(), '1.3.3', false ); 39 wp_enqueue_script( 'bw_maplibre_gl', $assets_path . '/js/maplibre-gl.js', array(), '1.3.3', false ); 40 wp_enqueue_script( 'bw_shipping', $assets_path . '/js/parcel-point.min.js', array( 'jquery-core', 'wp-hooks', 'wp-i18n' ), '1.3.3', false ); 41 wp_enqueue_style( 'bw_maplibre_gl', $assets_path . '/css/maplibre-gl.min.css', array(), '1.3.3' ); 42 wp_enqueue_style( 'bw_parcel_point', $assets_path . '/css/parcel-point.css', array(), '1.3.3' ); 43 43 wp_localize_script( 'bw_shipping', 'translations', Frontend_Util::get_map_translations() ); 44 45 // Je n'ai pas trouvé de docs de wp_set_script_translations n'utilisant pas les traductions en dur en 3ème paramètre. 46 // Je laisse quand même vu que ça a fonctionné au moins une fois. 44 47 wp_set_script_translations( 'bw_translation', 'boxtal-connect' ); 48 45 49 // frontend data injection for legacy scripts. 46 50 Frontend_Util::inject_inline_data( 'bw_shipping', 'bwData', $this->get_script_data() ); … … 53 57 */ 54 58 public function get_script_handles() { 55 return array(); 59 return array( 60 'bw_polyfills', 61 'bw_maplibre_gl', 62 'bw_shipping', 63 ); 56 64 } 57 65 -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-api-util.php
r3202868 r3204890 25 25 */ 26 26 public static function send_api_response( $code, $body = null ) { 27 header( 'X-Version: 1.3. 2' );27 header( 'X-Version: 1.3.3' ); 28 28 http_response_code( $code ); 29 29 if ( null !== $body ) { -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-configuration-report-util.php
r3202868 r3204890 68 68 $versions['wordpress'] = isset( $wp_version ) ? $wp_version : null; 69 69 $versions['woocommerce'] = defined( 'WC_VERSION' ) ? WC_VERSION : null; 70 $versions['plugin'] = '1.3. 2';70 $versions['plugin'] = '1.3.3'; 71 71 72 72 return $versions; -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-frontend-util.php
r3202868 r3204890 294 294 /* translators: %s: distance in km */ 295 295 '%skm away' => __( '%skm away', 'boxtal-connect' ), 296 'MONDAY' => substr( __( 'MONDAY', 'boxtal-connect' ), 0, 1),297 'TUESDAY' => substr( __( 'TUESDAY', 'boxtal-connect' ), 0, 1),298 'WEDNESDAY' => substr( __( 'WEDNESDAY', 'boxtal-connect' ), 0, 1),299 'THURSDAY' => substr( __( 'THURSDAY', 'boxtal-connect' ), 0, 1),300 'FRIDAY' => substr( __( 'FRIDAY', 'boxtal-connect' ), 0, 1),301 'SATURDAY' => substr( __( 'SATURDAY', 'boxtal-connect' ), 0, 1),302 'SUNDAY' => substr( __( 'SUNDAY', 'boxtal-connect' ), 0, 1),296 'MONDAY' => __( 'MONDAY', 'boxtal-connect' ), 297 'TUESDAY' => __( 'TUESDAY', 'boxtal-connect' ), 298 'WEDNESDAY' => __( 'WEDNESDAY', 'boxtal-connect' ), 299 'THURSDAY' => __( 'THURSDAY', 'boxtal-connect' ), 300 'FRIDAY' => __( 'FRIDAY', 'boxtal-connect' ), 301 'SATURDAY' => __( 'SATURDAY', 'boxtal-connect' ), 302 'SUNDAY' => __( 'SUNDAY', 'boxtal-connect' ), 303 303 ); 304 304 } -
boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-shipping-api-util.php
r3147056 r3204890 138 138 } 139 139 140 $transient_key = 'bw_get_parcel_points_' . wp_json_encode( $body );141 $ response= get_transient( $transient_key );142 if ( false === $ response) {140 $transient_key = 'bw_get_parcel_points_' . wp_json_encode( $body ); 141 $cache_parcel_points = get_transient( $transient_key ); 142 if ( false === $cache_parcel_points ) { 143 143 $args = array( 144 144 'method' => 'POST', … … 154 154 } 155 155 } else { 156 $parcel_points = $ response;156 $parcel_points = $cache_parcel_points; 157 157 } 158 158 -
boxtal-connect/trunk/boxtal-connect.php
r3202868 r3204890 7 7 * Text Domain: boxtal-connect 8 8 * Domain Path: /Boxtal/BoxtalConnectWoocommerce/translation 9 * Version: 1.3. 29 * Version: 1.3.3 10 10 * License: GPLv3 11 11 * License URI: https://www.gnu.org/licenses/gpl-3.0.html 12 12 * WC requires at least: 2.6.14 13 * WC tested up to: 9. 3.313 * WC tested up to: 9.4.3 14 14 * 15 15 * @package Boxtal\BoxtalConnectWoocommerce -
boxtal-connect/trunk/changelog.txt
r3202868 r3204890 1 1 == Changelog == 2 3 2024-12-09 - version 1.3.3 4 * Fixed translation issues with woocommerce blocks 5 * Replaced mapbox with maplibre 6 * Maplibre token is now loaded when opening the parcel point map 2 7 3 8 2024-12-05 - version 1.3.2 -
boxtal-connect/trunk/readme.txt
r3202868 r3204890 3 3 Tags: shipping, delivery, parcel point, Mondial Relay, Chronopost 4 4 Requires at least: 4.6 5 Tested up to: 6.7. 05 Tested up to: 6.7.1 6 6 Requires PHP: 5.6.0 7 Stable tag: 1.3. 27 Stable tag: 1.3.3 8 8 License: GPLv3 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 24 24 25 25 This plugin rely on these third party services: 26 - Map box gl: https://github.com/mapbox/mapbox-gl-js26 - Maplibre gl: https://github.com/maplibre/maplibre-gl-js 27 27 - tom-select: https://github.com/orchidjs/tom-select 28 28 … … 51 51 == Changelog == 52 52 53 2024-12-09 - version 1.3.3 54 * Fixed translation issues with woocommerce blocks 55 * Replaced mapbox with maplibre 56 * Maplibre token is now loaded when opening the parcel point map 57 53 58 2024-12-05 - version 1.3.2 54 59 * Fixed frontoffice translation issue … … 61 66 * Fixed woocommerce block and legacy detection on cart and checkout page 62 67 * Fixed typos 63 64 2024-08-27 - version 1.2.2565 * Fixed an issue with cart and checkout translations66 * Offers are now correctly refreshed when the cart change67 68 2024-07-30 - version 1.2.2469 * Fixed a shipping method display issue when no shipping classes were selected70 * Fixed an error when updating a synchronized shipping order status71 72 2024-07-29 - version 1.2.2373 * Fixed many standard issues74 * Shipping api calls now use wordpress http api75 * Added logs
Note: See TracChangeset
for help on using the changeset viewer.