Plugin Directory

Changeset 3204890


Ignore:
Timestamp:
12/09/2024 01:30:25 PM (16 months ago)
Author:
boxtal
Message:

Release 1.3.3

Location:
boxtal-connect
Files:
125 added
15 edited

Legend:

Unmodified
Added
Removed
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/css/parcel-point.css

    r3127024 r3204890  
    1 .mapboxgl-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  
    7575        },
    7676
     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
    7799        getShippingMethodExtraLabel: function(shippingMethod, packageKey, resolve, reject) {
    78100            const self = this;
     
    117139
    118140    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
    119184        on: function(elSelector, eventName, selector, fn) {
    120185
     
    168233            const self = this;
    169234
    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
    173237            let result = null;
    174238            if ( null !== distance ) {
     
    210274
    211275                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) + ' ';
    216278                    var openingPeriods = openingDay.openingPeriods;
    217279                    var parsedPeriods = [];
     
    255317                && 'wcSettings' in window.wc
    256318                && 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;
    271319        },
    272320
     
    287335        map: null,
    288336        markers: [],
    289         mapUrl: null,
    290337        mapLogoImageUrl: null,
    291338        mapLogoHrefUrl: null,
    292339
    293         setMapConfiguration: function(mapUrl, mapLogoImageUrl, mapLogoHrefUrl) {
    294             const self = this;
    295             self.mapUrl = mapUrl;
     340        setMapConfiguration: function(mapLogoImageUrl, mapLogoHrefUrl) {
     341            const self = this;
    296342            self.mapLogoImageUrl = mapLogoImageUrl;
    297343            self.mapLogoHrefUrl = mapLogoHrefUrl;
    298344        },
    299345
    300         init: function() {
    301             const self = this;
     346        buildMapContainer: function(mapUrl) {
     347            const self = this;
     348
    302349            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');
    311351
    312352            mapClose.setAttribute('class', 'bw-close');
     
    332372            mapOuter.appendChild(mapPPContainer);
    333373
    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 mapboxgl.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({
    340380                container: 'bw-map-canvas',
    341                 style: self.mapUrl,
     381                style: mapUrl,
    342382                zoom: 14,
    343                 accessToken: 'whatever'
     383                accessToken: 'whatever'
    344384            });
    345             self.map.addControl(new mapboxgl.NavigationControl());
     385            self.map.addControl(new maplibregl.NavigationControl());
    346386
    347387            const logoImg = document.createElement('img');
     
    355395            logoContainer.appendChild(logoLink);
    356396
    357             const mapTopLeftCorner = document.querySelector('.mapboxgl-ctrl-top-left');
     397            const mapTopLeftCorner = document.querySelector('.maplibregl-ctrl-top-left');
    358398            if (mapTopLeftCorner) {
    359399                mapTopLeftCorner.appendChild(logoContainer);
    360400            }
     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
    361426        },
    362427
     
    386451            const self = this;
    387452
    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');
    394455
    395456            let info ='<div class="bw-marker-popup"><b>'+point.parcelPoint.name+'</b><br/>'+
     
    402463            const el = this.getMarkerHtmlElement(point.index + 1);
    403464
    404             const popup = new mapboxgl.Popup({ offset: 25 })
     465            const popup = new maplibregl.Popup({ offset: 25 })
    405466                .setHTML(info);
    406467
    407             const marker = new mapboxgl.Marker({
     468            const marker = new maplibregl.Marker({
    408469                element: el,
    409470                anchor: 'bottom'
    410471            })
    411                 .setLngLat(new mapboxgl.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)))
    412473                .setPopup(popup)
    413474                .addTo(self.map);
     
    442503            el.className = 'bw-marker-recipient';
    443504
    444             const marker = new mapboxgl.Marker({
     505            const marker = new maplibregl.Marker({
    445506                element: el,
    446507                anchor: 'bottom'
    447508            })
    448                 .setLngLat(new mapboxgl.LngLat(parseFloat(location.position.longitude), parseFloat(location.position.latitude)))
     509                .setLngLat(new maplibregl.LngLat(parseFloat(location.position.longitude), parseFloat(location.position.latitude)))
    449510                .addTo(self.map);
    450511
     
    454515        setMapBounds: function() {
    455516
    456             let bounds = new mapboxgl.LngLatBounds();
     517            let bounds = new maplibregl.LngLatBounds();
    457518
    458519            for (let i = 0; i < this.markers.length; i++) {
     
    473534            const self = this;
    474535
    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');
    478537
    479538            let html = '';
     
    544603            const settings = getSetting('boxtal-connect-parcel-point_data');
    545604
     605            Components.util.initTranslations();
     606
    546607            if (settings) {
    547608                Components.api.setApiConfiguration(
     
    552613                );
    553614                Components.map.setMapConfiguration(
    554                     settings.mapUrl,
    555615                    settings.mapLogoImageUrl,
    556616                    settings.mapLogoHrefUrl
     
    571631
    572632                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                    });
    576637                });
    577638
     
    785846            const data = self.getFrontendData();
    786847
     848            Components.util.initTranslations();
     849
    787850            if (data !== null) {
    788851
     
    794857                );
    795858                Components.map.setMapConfiguration(
    796                     data.mapUrl,
    797859                    data.mapLogoImageUrl,
    798860                    data.mapLogoHrefUrl
     
    801863                Components.util.on('body', 'click', '.bw-select-parcel', function(e) {
    802864                    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                    });
    806869                });
    807870
    808871                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');
    812873
    813874                    const carrier = self.getSelectedCarrier();
     
    870931
    871932        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:');
    875934            const selectParcelPoint = document.querySelector('.bw-parcel-client-' + this.packageKey);
    876935            selectParcelPoint.innerHTML = yourParcelPoint + ' ';
     
    883942            const self = this;
    884943
    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');
    888945            const carrier = self.getSelectedCarrier();
    889946            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  
    7676                    const disabled = e.target !== null && e.target.checked === false;
    7777                    const selectedLine = self.getParentRow(e.target);
    78                    
     78
    7979                    if (selectedLine !== null) {
    8080                        self.setRowState(selectedLine, disabled);
     
    8989            }
    9090        },
    91        
     91
    9292        getParentRow: function (element) {
    9393            while (element !== null && element !== undefined && element.tagName.toLowerCase() !== 'tr') {
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/assets/less/parcel-point.less

    r3127024 r3204890  
    1 .mapboxgl-ctrl-top-left {
     1.maplibregl-ctrl-top-left {
    22  pointer-events: auto;
    33
     
    1010}
    1111
    12 .bw-parcel-point { 
     12.bw-parcel-point {
    1313  background-color: rgba(black, 0.03);
    1414  display: inline-block;
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/class-plugin.php

    r3202868 r3204890  
    6161        $this['path']            = realpath( plugin_dir_path( $this['file'] ) ) . DIRECTORY_SEPARATOR;
    6262        $this['url']             = plugin_dir_url( $this['file'] );
    63         $this['version']         = '1.3.2';
     63        $this['version']         = '1.3.3';
    6464        $this['min-wc-version']  = '2.6.14';
    6565        $this['min-php-version'] = '5.6.0';
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-controller.php

    r3202868 r3204890  
    5858        add_action( 'wp_ajax_bw_get_points', array( $this, 'get_points_callback' ) );
    5959        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' ) );
    6061        add_action( 'wp_ajax_bw_get_shipping_method_extra_label', array( $this, 'get_shipping_method_extra_label_callback' ) );
    6162        add_action( 'wp_ajax_nopriv_bw_get_points', array( $this, 'get_points_callback' ) );
    6263        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' ) );
    6365        add_action( 'wp_ajax_nopriv_bw_get_shipping_method_extra_label', array( $this, 'get_shipping_method_extra_label_callback' ) );
    6466
     
    100102        if ( $this->is_checkout_or_cart() ) {
    101103            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_mapbox_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_mapbox_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 );
    104106            Frontend_Util::inject_inline_data( 'bw_shipping', 'bwData', Frontend_Util::get_frontend_data() );
    105107            wp_localize_script( 'bw_shipping', 'translations', Frontend_Util::get_map_translations() );
     
    115117    public function parcel_point_styles() {
    116118        if ( $this->is_checkout_or_cart() ) {
    117             wp_enqueue_style( 'bw_mapbox_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 );
    118120            wp_enqueue_style( 'bw_parcel_point', $this->plugin_url . 'Boxtal/BoxtalConnectWoocommerce/assets/css/parcel-point.css', array(), $this->plugin_version );
    119121        }
     
    210212        wp_send_json_success( array( 'label' => $label ) );
    211213    }
     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    }
    212221}
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/shipping-method/parcel-point/class-parcel-point-block-integration.php

    r3202868 r3204890  
    3636        $assets_path = plugins_url( 'boxtal-connect/Boxtal/BoxtalConnectWoocommerce/assets', 'boxtal-connect.php' );
    3737
    38         wp_enqueue_script( 'bw_polyfills', $assets_path . '/js/polyfills.min.js', array(), '1.3.2', false );
    39         wp_enqueue_script( 'bw_mapbox_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_mapbox_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' );
    4343        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.
    4447        wp_set_script_translations( 'bw_translation', 'boxtal-connect' );
     48
    4549        // frontend data injection for legacy scripts.
    4650        Frontend_Util::inject_inline_data( 'bw_shipping', 'bwData', $this->get_script_data() );
     
    5357     */
    5458    public function get_script_handles() {
    55         return array();
     59        return array(
     60            'bw_polyfills',
     61            'bw_maplibre_gl',
     62            'bw_shipping',
     63        );
    5664    }
    5765
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-api-util.php

    r3202868 r3204890  
    2525     */
    2626    public static function send_api_response( $code, $body = null ) {
    27         header( 'X-Version: 1.3.2' );
     27        header( 'X-Version: 1.3.3' );
    2828        http_response_code( $code );
    2929        if ( null !== $body ) {
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-configuration-report-util.php

    r3202868 r3204890  
    6868        $versions['wordpress']   = isset( $wp_version ) ? $wp_version : null;
    6969        $versions['woocommerce'] = defined( 'WC_VERSION' ) ? WC_VERSION : null;
    70         $versions['plugin']      = '1.3.2';
     70        $versions['plugin']      = '1.3.3';
    7171
    7272        return $versions;
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-frontend-util.php

    r3202868 r3204890  
    294294            /* translators: %s: distance in km */
    295295            '%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' ),
    303303        );
    304304    }
  • boxtal-connect/trunk/Boxtal/BoxtalConnectWoocommerce/util/class-shipping-api-util.php

    r3147056 r3204890  
    138138        }
    139139
    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 ) {
    143143            $args = array(
    144144                'method'  => 'POST',
     
    154154            }
    155155        } else {
    156             $parcel_points = $response;
     156            $parcel_points = $cache_parcel_points;
    157157        }
    158158
  • boxtal-connect/trunk/boxtal-connect.php

    r3202868 r3204890  
    77 * Text Domain: boxtal-connect
    88 * Domain Path: /Boxtal/BoxtalConnectWoocommerce/translation
    9  * Version: 1.3.2
     9 * Version: 1.3.3
    1010 * License: GPLv3
    1111 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
    1212 * WC requires at least: 2.6.14
    13  * WC tested up to: 9.3.3
     13 * WC tested up to: 9.4.3
    1414 *
    1515 * @package Boxtal\BoxtalConnectWoocommerce
  • boxtal-connect/trunk/changelog.txt

    r3202868 r3204890  
    11== Changelog ==
     2
     32024-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
    27
    382024-12-05 - version 1.3.2
  • boxtal-connect/trunk/readme.txt

    r3202868 r3204890  
    33Tags: shipping, delivery, parcel point, Mondial Relay, Chronopost
    44Requires at least: 4.6
    5 Tested up to: 6.7.0
     5Tested up to: 6.7.1
    66Requires PHP: 5.6.0
    7 Stable tag: 1.3.2
     7Stable tag: 1.3.3
    88License: GPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    2424
    2525This plugin rely on these third party services:
    26 - Mapbox gl: https://github.com/mapbox/mapbox-gl-js
     26- Maplibre gl: https://github.com/maplibre/maplibre-gl-js
    2727- tom-select: https://github.com/orchidjs/tom-select
    2828
     
    5151== Changelog ==
    5252
     532024-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
    53582024-12-05 - version 1.3.2
    5459* Fixed frontoffice translation issue
     
    6166* Fixed woocommerce block and legacy detection on cart and checkout page
    6267* Fixed typos
    63 
    64 2024-08-27 - version 1.2.25
    65 * Fixed an issue with cart and checkout translations
    66 * Offers are now correctly refreshed when the cart change
    67 
    68 2024-07-30 - version 1.2.24
    69 * Fixed a shipping method display issue when no shipping classes were selected
    70 * Fixed an error when updating a synchronized shipping order status
    71 
    72 2024-07-29 - version 1.2.23
    73 * Fixed many standard issues
    74 * Shipping api calls now use wordpress http api
    75 * Added logs
Note: See TracChangeset for help on using the changeset viewer.