acdc-gis-utils
Version:
Requires following dependencies: <br/> "bootstrap": "^4.4.1" or "@angular/material": "^8.0.0" <br/> "leaflet": "^1.6.0", <br/> "terraformer": "^1.0.10", <br/> "terraformer-wkt-parser": "^1.2.1"
2 lines • 10.2 kB
JavaScript
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("terraformer-wkt-parser"),require("@angular/forms"),require("leaflet"),require("@angular/common")):"function"==typeof define&&define.amd?define("acdc-gis-utils",["exports","@angular/core","terraformer-wkt-parser","@angular/forms","leaflet","@angular/common"],e):e((t=t||self)["acdc-gis-utils"]={},t.ng.core,t.terraformerWktParser,t.ng.forms,t.leaflet,t.ng.common)}(this,(function(t,e,o,n,i,a){"use strict";var p=function(){function t(){}return t.prototype.toWkt=function(t){return t&&t.lat&&t.lng?"POINT("+t.lng+" "+t.lat+")":t.type&&t.coordinates?o.convert(t):null},t.prototype.fromWkt=function(t){return o.parse(t)},t.decorators=[{type:e.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[]},t.ɵprov=e["ɵɵdefineInjectable"]({factory:function(){return new t},token:t,providedIn:"root"}),t}(),r=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:e.Component,args:[{selector:"lib-acdc-gis-utils",template:"\n <p>\n acdc-gis-utils works!\n </p>\n "}]}],t.ctorParameters=function(){return[]},t}(),c=function(){function t(t){this.acdcGisUtilsService=t,this.mapHeight="200px",this.mapWidth="100%",this.configs={showMap:!0,map:null,expandOnInputClick:!1},this.propagateChange=function(t){}}return Object.defineProperty(t.prototype,"defaultShowMap",{get:function(){return this._defaultShowMap},set:function(t){this._defaultShowMap=t,this.configs.showMap=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"locationValue",{get:function(){return this._locationValue},set:function(t){if(this._locationValue=t,this.propagateChange(this._locationValue),t){var e=this.acdcGisUtilsService.fromWkt(this.locationValue),o=i.latLng(e.coordinates[1],e.coordinates[0]);this.setMapView(o)}},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t=this;this.configs.showMap=this.defaultShowMap,this.configs.expandOnInputClick=this.expandOnInputClick,this.initMap(),this.map&&(setTimeout((function(){t.map.invalidateSize(!1)}),100),this.configs.map=this.map)},t.prototype.initMap=function(){var t,e;t=this.initialLongitude&&this.initialLatitude?i.latLng(this.initialLatitude,this.initialLongitude):i.latLng(0,0),e=this.initialZoom&&this.initialZoom>0&&this.initialZoom<23?this.initialZoom:1,this.map=i.map(this.leafletMapDivRef.nativeElement,{drawControl:!1}).setView(t,e),i.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(this.map),this.initMapLocate()},t.prototype.initMapLocate=function(){var t=this;this.map.on("click",(function(e){if(!t.readonly){var o=t.acdcGisUtilsService.toWkt(e.latlng);t._locationValue=o,t.propagateChange(t._locationValue),t.setMapView(e.latlng),t.closeOnChoose&&setTimeout((function(){t.configs.showMap=!1}),500)}}))},t.prototype.offMapLocate=function(){this.map.off("click")},t.prototype.onChooseLocation=function(t){t.configs.showMap=!t.configs.showMap,setTimeout((function(){t.configs.map.invalidateSize(!1)}))},t.prototype.onInputClick=function(t){t.configs.expandOnInputClick&&(t.configs.showMap=!0,setTimeout((function(){t.configs.map.invalidateSize(!1)})))},t.prototype.onCloseMapBtnClick=function(){var t=this;this.configs.showMap=!1,setTimeout((function(){t.map.invalidateSize(!1)}))},t.prototype.writeValue=function(t){this.locationValue=t},t.prototype.registerOnChange=function(t){this.propagateChange=t},t.prototype.registerOnTouched=function(t){},t.prototype.setDisabledState=function(t){},t.prototype.setMapView=function(t){this.map.flyTo(t,this.map.getZoom(),{pan:{animate:!0,duration:3},zoom:{animate:!0,duration:3}}),this.locateMarker(t)},t.prototype.locateMarker=function(t){if(this.marker)this.marker.setLatLng(t);else{var e=new i.Icon({iconUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=",iconAnchor:[12,41],shadowUrl:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC"});this.marker=i.marker(t,{icon:e}).addTo(this.map)}},t.prototype.ngOnDestroy=function(){this.offMapLocate()},t.decorators=[{type:e.Component,args:[{selector:"location-picker-input",template:'\n\x3c!-- leaflet map --\x3e\n<div [hidden]="!configs.showMap" #leafletMapDivRef [style.width]="mapWidth" [style.height]="mapHeight">\n <div class="app-close-map-button" *ngIf="showCloseBtn" (click)="onCloseMapBtnClick();$event.stopPropagation();">x</div>\n</div>\n\n\x3c!-- container for input template --\x3e\n<ng-container *ngTemplateOutlet="inputFIeldTpl || defaultInputFIeldTpl; context: {\n props: {locationValue: locationValue, configs: configs}, \n onChooseLocation: onChooseLocation,\n propagateChange: propagateChange,\n onInputClick: onInputClick\n}"></ng-container>\n\n\x3c!-- default template --\x3e\n<ng-template #defaultInputFIeldTpl let-onInputClick="onInputClick" let-props="props" let-onChooseLocation="onChooseLocation">\n <div class="input-group">\n <input type="text" class="form-control" name="locationValue" (click)="onInputClick(props)" [(ngModel)]="props.locationValue" placeholder="Click on map to choose location..." aria-label="Location" readonly>\n <div class="input-group-append">\n <span class="input-group-text" style="cursor: pointer;" (click)="onChooseLocation(props)">\n <svg aria-hidden="true" class="acdc-svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z"></path></svg>\n </span>\n </div>\n </div>\n</ng-template>',providers:[{provide:n.NG_VALUE_ACCESSOR,useExisting:e.forwardRef((function(){return t})),multi:!0}],styles:[":host ::ng-deep .acdc-svg{fill:#fff;width:16px;height:16px}.app-close-map-button{width:30px;height:30px;position:absolute;right:5px;top:5px;color:gray;z-index:1001;font-size:20px;background:0 0;font-weight:700;text-align:center;cursor:pointer;vertical-align:middle}"]}]}],t.ctorParameters=function(){return[{type:p}]},t.propDecorators={leafletMapDivRef:[{type:e.ViewChild,args:["leafletMapDivRef",{static:!0}]}],initialZoom:[{type:e.Input}],initialLongitude:[{type:e.Input}],initialLatitude:[{type:e.Input}],closeOnChoose:[{type:e.Input}],readonly:[{type:e.Input}],expandOnInputClick:[{type:e.Input}],showCloseBtn:[{type:e.Input}],defaultShowMap:[{type:e.Input}],mapHeight:[{type:e.Input}],mapWidth:[{type:e.Input}],_locationValue:[{type:e.Input}],inputFIeldTpl:[{type:e.Input}]},t}();var s=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{imports:[a.CommonModule,n.FormsModule],declarations:[r,c],exports:[r,c]}]}],t}();t.AcdcGisUtilsComponent=r,t.AcdcGisUtilsModule=s,t.AcdcGisUtilsService=p,t.LocationPickerInputComponent=c,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=acdc-gis-utils.umd.min.js.map