var AddressPicker=function(){var l="region_list",i="common_address_picker",a="city";function e(e,t,i){var s,n,r,o;this.$pickerElement=$(e),a=t,this.selectedAddress=null,this.beforeSelectListeners=BJUtil.idx(i,"beforeSelect",[]),this.onSelectListeners=BJUtil.idx(i,"onSelect",[]),this.options=i,s=this,BJUtil.idx(s.options,"load")&&bridgeCallHandler("load",{key:d(BJUtil.idx(s.options,"key"))},function(e){e.data&&(e=JSON.parse(e.data),s.setAddress(e))}),n=this,r=t,o=BJUtil.idx(i,"key",l),n.$pickerElement.on("tap",function(e){var t=r,i=o;e.stopImmediatePropagation(),e=i?{key:i}:{},t&&(e.lowest_level=t),bridgeCallHandler("navigate",{url:generateGetUri(location.origin+"/addresses/regions/",e),presentModalWebOnly:!0})}),bridgeRegisterHandler("viewWillReappear",function(e){var t;e.data&&(e=JSON.parse(BJUtil.idx(e,"data","{}")),t=e.address,e=e.key,_.isEmpty(t)||e!==o||(e=n,(t=t)&&function(e,t){if(f(t))return!e.some(function(e){return!BJUtil.callFunction(e,t)})}(e.beforeSelectListeners,t)&&(c(e,t,BJUtil.idx(e.options,"format")),u(e.onSelectListeners,t,p(t)))))})}function d(e){var t=i;return e&&(t+="_"+e),t}function c(e,t,i){var s,n,r;f(t)&&(e.selectedAddress=t,s=e,n=t,(r=BJUtil.idx(s.options,"save"))&&bridgeCallHandler("save",{key:d(BJUtil.idx(s.options,"key")),data:JSON.stringify(n),persist:"persist"===r?1:0}),e.$pickerElement.find(".js-selected-address").text(p(t,i).toLowerCase()))}function p(e,t){var i="district"==a?"{{district}}, {{city}}":"{{city}}, {{state}}";return"ID"==LOCALE&&(i="{{city}}"),(t=t||i).kFormat(e)}function u(e,t,i){f(t)&&e.forEach(function(e){BJUtil.callFunction(e,t,i)})}function f(e){return 0<_.intersection(_.keys(e),["state","city","district","town"]).length}return e.prototype.beforeSelect=function(e){this.beforeSelectListeners.push(e)},e.prototype.onSelect=function(e){this.onSelectListeners.push(e)},e.prototype.setAddress=function(e){c(this,e,BJUtil.idx(this.options,"format")),u(this.onSelectListeners,e,p(e))},e.prototype.displayAddress=p,e}();
//# sourceMappingURL=../../../source_maps/common/module/address_picker.js.map
