@ -1,4 +1,5 @@
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( a , b , c ) { a != Array . prototype && a != Object . prototype && ( a [ b ] = c . value ) } ; $jscomp . getGlobal = function ( a ) { return "undefined" != typeof window && window === a ? a : "undefined" != typeof global && null != global ? global : a } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
var $jscomp = $jscomp || { } ; $jscomp . scope = { } ; $jscomp . ASSUME _ES5 = ! 1 ; $jscomp . ASSUME _NO _NATIVE _MAP = ! 1 ; $jscomp . ASSUME _NO _NATIVE _SET = ! 1 ; $jscomp . SIMPLE _FROUND _POLYFILL = ! 1 ; $jscomp . defineProperty = $jscomp . ASSUME _ES5 || "function" == typeof Object . defineProperties ? Object . defineProperty : function ( a , b , c ) { a != Array . prototype && a != Object . prototype && ( a [ b ] = c . value ) } ;
$jscomp . getGlobal = function ( a ) { a = [ "object" == typeof window && window , "object" == typeof self && self , "object" == typeof global && global , a ] ; for ( var b = 0 ; b < a . length ; ++ b ) { var c = a [ b ] ; if ( c && c . Math == Math ) return c } throw Error ( "Cannot find global object" ) ; } ; $jscomp . global = $jscomp . getGlobal ( this ) ;
$jscomp . polyfill = function ( a , b , c , d ) { if ( b ) { c = $jscomp . global ; a = a . split ( "." ) ; for ( d = 0 ; d < a . length - 1 ; d ++ ) { var e = a [ d ] ; e in c || ( c [ e ] = { } ) ; c = c [ e ] } a = a [ a . length - 1 ] ; d = c [ a ] ; b = b ( d ) ; b != d && null != b && $jscomp . defineProperty ( c , a , { configurable : ! 0 , writable : ! 0 , value : b } ) } } ; $jscomp . polyfill ( "Number.parseFloat" , function ( a ) { return a || parseFloat } , "es6" , "es3" ) ; $jscomp . polyfill ( "Number.parseInt" , function ( a ) { return a || parseInt } , "es6" , "es3" ) ;
$jscomp . polyfill = function ( a , b , c , d ) { if ( b ) { c = $jscomp . global ; a = a . split ( "." ) ; for ( d = 0 ; d < a . length - 1 ; d ++ ) { var e = a [ d ] ; e in c || ( c [ e ] = { } ) ; c = c [ e ] } a = a [ a . length - 1 ] ; d = c [ a ] ; b = b ( d ) ; b != d && null != b && $jscomp . defineProperty ( c , a , { configurable : ! 0 , writable : ! 0 , value : b } ) } } ; $jscomp . polyfill ( "Number.parseFloat" , function ( a ) { return a || parseFloat } , "es6" , "es3" ) ; $jscomp . polyfill ( "Number.parseInt" , function ( a ) { return a || parseInt } , "es6" , "es3" ) ;
$jscomp . polyfill ( "Array.prototype.fill" , function ( a ) { return a ? a : function ( a , c , d ) { var b = this . length || 0 ; 0 > c && ( c = Math . max ( 0 , b + c ) ) ; if ( null == d || d > b ) d = b ; d = Number ( d ) ; 0 > d && ( d = Math . max ( 0 , b + d ) ) ; for ( c = Number ( c || 0 ) ; c < d ; c ++ ) this [ c ] = a ; return this } } , "es6" , "es3" ) ; $jscomp . arrayIteratorImpl = function ( a ) { var b = 0 ; return function ( ) { return b < a . length ? { done : ! 1 , value : a [ b ++ ] } : { done : ! 0 } } } ; $jscomp . arrayIterator = function ( a ) { return { next : $jscomp . arrayIteratorImpl ( a ) } } ; $jscomp . SYMBOL _PREFIX = "jscomp_symbol_" ;
$jscomp . polyfill ( "Array.prototype.fill" , function ( a ) { return a ? a : function ( a , c , d ) { var b = this . length || 0 ; 0 > c && ( c = Math . max ( 0 , b + c ) ) ; if ( null == d || d > b ) d = b ; d = Number ( d ) ; 0 > d && ( d = Math . max ( 0 , b + d ) ) ; for ( c = Number ( c || 0 ) ; c < d ; c ++ ) this [ c ] = a ; return this } } , "es6" , "es3" ) ; $jscomp . arrayIteratorImpl = function ( a ) { var b = 0 ; return function ( ) { return b < a . length ? { done : ! 1 , value : a [ b ++ ] } : { done : ! 0 } } } ; $jscomp . arrayIterator = function ( a ) { return { next : $jscomp . arrayIteratorImpl ( a ) } } ; $jscomp . SYMBOL _PREFIX = "jscomp_symbol_" ;
$jscomp . initSymbol = function ( ) { $jscomp . initSymbol = function ( ) { } ; $jscomp . global . Symbol || ( $jscomp . global . Symbol = $jscomp . Symbol ) } ; $jscomp . SymbolClass = function ( a , b ) { this . $jscomp$symbol$id _ = a ; $jscomp . defineProperty ( this , "description" , { configurable : ! 0 , writable : ! 0 , value : b } ) } ; $jscomp . SymbolClass . prototype . toString = function ( ) { return this . $jscomp$symbol$id _ } ;
$jscomp . initSymbol = function ( ) { $jscomp . initSymbol = function ( ) { } ; $jscomp . global . Symbol || ( $jscomp . global . Symbol = $jscomp . Symbol ) } ; $jscomp . SymbolClass = function ( a , b ) { this . $jscomp$symbol$id _ = a ; $jscomp . defineProperty ( this , "description" , { configurable : ! 0 , writable : ! 0 , value : b } ) } ; $jscomp . SymbolClass . prototype . toString = function ( ) { return this . $jscomp$symbol$id _ } ;
@ -6,8 +7,8 @@ $jscomp.Symbol=function(){function a(c){if(this instanceof a)throw new TypeError
$jscomp . initSymbolIterator = function ( ) { $jscomp . initSymbol ( ) ; var a = $jscomp . global . Symbol . iterator ; a || ( a = $jscomp . global . Symbol . iterator = $jscomp . global . Symbol ( "Symbol.iterator" ) ) ; "function" != typeof Array . prototype [ a ] && $jscomp . defineProperty ( Array . prototype , a , { configurable : ! 0 , writable : ! 0 , value : function ( ) { return $jscomp . iteratorPrototype ( $jscomp . arrayIteratorImpl ( this ) ) } } ) ; $jscomp . initSymbolIterator = function ( ) { } } ;
$jscomp . initSymbolIterator = function ( ) { $jscomp . initSymbol ( ) ; var a = $jscomp . global . Symbol . iterator ; a || ( a = $jscomp . global . Symbol . iterator = $jscomp . global . Symbol ( "Symbol.iterator" ) ) ; "function" != typeof Array . prototype [ a ] && $jscomp . defineProperty ( Array . prototype , a , { configurable : ! 0 , writable : ! 0 , value : function ( ) { return $jscomp . iteratorPrototype ( $jscomp . arrayIteratorImpl ( this ) ) } } ) ; $jscomp . initSymbolIterator = function ( ) { } } ;
$jscomp . initSymbolAsyncIterator = function ( ) { $jscomp . initSymbol ( ) ; var a = $jscomp . global . Symbol . asyncIterator ; a || ( a = $jscomp . global . Symbol . asyncIterator = $jscomp . global . Symbol ( "Symbol.asyncIterator" ) ) ; $jscomp . initSymbolAsyncIterator = function ( ) { } } ; $jscomp . iteratorPrototype = function ( a ) { $jscomp . initSymbolIterator ( ) ; a = { next : a } ; a [ $jscomp . global . Symbol . iterator ] = function ( ) { return this } ; return a } ;
$jscomp . initSymbolAsyncIterator = function ( ) { $jscomp . initSymbol ( ) ; var a = $jscomp . global . Symbol . asyncIterator ; a || ( a = $jscomp . global . Symbol . asyncIterator = $jscomp . global . Symbol ( "Symbol.asyncIterator" ) ) ; $jscomp . initSymbolAsyncIterator = function ( ) { } } ; $jscomp . iteratorPrototype = function ( a ) { $jscomp . initSymbolIterator ( ) ; a = { next : a } ; a [ $jscomp . global . Symbol . iterator ] = function ( ) { return this } ; return a } ;
$jscomp . iteratorFromArray = function ( a , b ) { $jscomp . initSymbolIterator ( ) ; a instanceof String && ( a += "" ) ; var c = 0 , d = { next : function ( ) { if ( c < a . length ) { var e = c ++ ; return { value : b ( e , a [ e ] ) , done : ! 1 } } d . next = function ( ) { return { done : ! 0 , value : void 0 } } ; return d . next ( ) } } ; d [ Symbol . iterator ] = function ( ) { return d } ; return d } ; $jscomp . polyfill ( "Array.prototype.values" , function ( a ) { return a ? a : function ( ) { return $jscomp . iteratorFromArray ( this , function ( a , c ) { return c } ) } } , "es8" , "es3" ) ;
$jscomp . iteratorFromArray = function ( a , b ) { $jscomp . initSymbolIterator ( ) ; a instanceof String && ( a += "" ) ; var c = 0 , d = { next : function ( ) { if ( c < a . length ) { var e = c ++ ; return { value : b ( e , a [ e ] ) , done : ! 1 } } d . next = function ( ) { return { done : ! 0 , value : void 0 } } ; return d . next ( ) } } ; d [ Symbol . iterator ] = function ( ) { return d } ; return d } ; $jscomp . polyfill ( "Array.prototype.values" , function ( a ) { return a ? a : function ( ) { return $jscomp . iteratorFromArray ( this , function ( a , c ) { return c } ) } } , "es8" , "es3" ) ;
$jscomp . polyfill ( "Number.isNaN" , function ( a ) { return a ? a : function ( a ) { return "number" === typeof a && isNaN ( a ) } } , "es6" , "es3" ) ; $jscomp . owns = function ( a , b ) { return Object . prototype . hasOwnProperty . call ( a , b ) } ; $jscomp . assign = "function" == typeof Object . assign ? Object . assign : function ( a , b ) { for ( var c = 1 ; c < arguments . length ; c ++ ) { var d = arguments [ c ] ; if ( d ) for ( var e in d ) $jscomp . owns ( d , e ) && ( a [ e ] = d [ e ] ) } return a } ; $jscomp . polyfill ( "Object.assign" , function ( a ) { return a || $jscomp . assign } , "es6" , "es3" ) ; var netgis = netgis || { } ;
$jscomp . polyfill ( "Number.isFinite" , function ( a ) { return a ? a : function ( a ) { return "number" !== typeof a ? ! 1 : ! isNaN ( a ) && Infinity !== a && - Infinity !== a } } , "es6" , "es3" ) ; $jscomp . polyfill ( "Number.isNaN" , function ( a ) { return a ? a : function ( a ) { return "number" === typeof a && isNaN ( a ) } } , "es6" , "es3" ) ; $jscomp . owns = function ( a , b ) { return Object . prototype . hasOwnProperty . call ( a , b ) } ;
netgis . Attribution = function ( ) { this . layers = this . client = null ; this . items = [ ] } ;
$jscomp . assign = "function" == typeof Object . assign ? Object . assign : function ( a , b ) { for ( var c = 1 ; c < arguments . length ; c ++ ) { var d = arguments [ c ] ; if ( d ) for ( var e in d ) $jscomp . owns ( d , e ) && ( a [ e ] = d [ e ] ) } return a } ; $jscomp . polyfill ( "Object.assign" , function ( a ) { return a || $jscomp . assign } , "es6" , "es3" ) ; var netgis = netgis || { } ; netgis . Attribution = function ( ) { this . layers = this . client = null ; this . items = [ ] } ;
netgis . Attribution . prototype . load = function ( ) { this . root = document . createElement ( "section" ) ; this . root . className = "netgis-attribution netgis-text-primary" ; netgis . util . isDefined ( this . client . config . map ) && netgis . util . isDefined ( this . client . config . map . attribution ) && this . items . push ( this . client . config . map . attribution ) ; this . update ( ) ; this . client . root . appendChild ( this . root ) ; this . client . on ( netgis . Events . CONTEXT _UPDATE , this . onContextUpdate . bind ( this ) ) ; this . client . on ( netgis . Events . LAYER _SHOW , this . onLayerShow . bind ( this ) ) ;
netgis . Attribution . prototype . load = function ( ) { this . root = document . createElement ( "section" ) ; this . root . className = "netgis-attribution netgis-text-primary" ; netgis . util . isDefined ( this . client . config . map ) && netgis . util . isDefined ( this . client . config . map . attribution ) && this . items . push ( this . client . config . map . attribution ) ; this . update ( ) ; this . client . root . appendChild ( this . root ) ; this . client . on ( netgis . Events . CONTEXT _UPDATE , this . onContextUpdate . bind ( this ) ) ; this . client . on ( netgis . Events . LAYER _SHOW , this . onLayerShow . bind ( this ) ) ;
this . client . on ( netgis . Events . LAYER _HIDE , this . onLayerHide . bind ( this ) ) ; this . client . on ( netgis . Events . EDIT _FEATURES _CHANGE , this . onEditFeaturesChange . bind ( this ) ) } ; netgis . Attribution . prototype . update = function ( ) { var a = "© " + this . items . join ( ", " ) ; this . appendix && ( a += ", " + this . appendix ) ; this . root . innerHTML = a } ;
this . client . on ( netgis . Events . LAYER _HIDE , this . onLayerHide . bind ( this ) ) ; this . client . on ( netgis . Events . EDIT _FEATURES _CHANGE , this . onEditFeaturesChange . bind ( this ) ) } ; netgis . Attribution . prototype . update = function ( ) { var a = "© " + this . items . join ( ", " ) ; this . appendix && ( a += ", " + this . appendix ) ; this . root . innerHTML = a } ;
netgis . Attribution . prototype . onContextUpdate = function ( a ) { this . layers = [ ] ; for ( var b = 0 ; b < a . layers . length ; b ++ ) { var c = a . layers [ b ] ; c . attribution && 0 < c . attribution . length && ( this . layers [ c . id ] = c . attribution ) } for ( b = 0 ; b < a . layers . length ; b ++ ) if ( c = a . layers [ b ] , c . active ) this . onLayerShow ( { id : c . id } ) } ; netgis . Attribution . prototype . onLayerShow = function ( a ) { if ( a = this . layers [ a . id ] ) { for ( var b = 0 ; b < this . items . length ; b ++ ) if ( this . items [ b ] === a ) return ; this . items . push ( a ) ; this . update ( ) } } ;
netgis . Attribution . prototype . onContextUpdate = function ( a ) { this . layers = [ ] ; for ( var b = 0 ; b < a . layers . length ; b ++ ) { var c = a . layers [ b ] ; c . attribution && 0 < c . attribution . length && ( this . layers [ c . id ] = c . attribution ) } for ( b = 0 ; b < a . layers . length ; b ++ ) if ( c = a . layers [ b ] , c . active ) this . onLayerShow ( { id : c . id } ) } ; netgis . Attribution . prototype . onLayerShow = function ( a ) { if ( a = this . layers [ a . id ] ) { for ( var b = 0 ; b < this . items . length ; b ++ ) if ( this . items [ b ] === a ) return ; this . items . push ( a ) ; this . update ( ) } } ;
@ -17,20 +18,20 @@ this.hideLoader()};netgis.Client.Layers=Object.freeze({PARCEL_DISTRICTS:"parcel-
netgis . Client . prototype . initElements = function ( ) { } ;
netgis . Client . prototype . initElements = function ( ) { } ;
netgis . Client . prototype . initModules = function ( a ) { this . map = new netgis . MapOpenLayers ( a ) ; this . map . attach ( this . root ) ; this . controls = new netgis . Controls ; this . controls . attach ( this . root ) ; this . layerPanel = new netgis . Panel ( "Inhalte" ) ; this . layerPanel . attach ( this . root ) ; this . layerTree = new netgis . Tree ; this . layerTree . container . style . position = "absolute" ; this . layerTree . container . style . width = "100%" ; this . layerTree . container . style . top = "12mm" ; this . layerTree . container . style . bottom = "6mm" ; this . layerTree . container . style . overflow =
netgis . Client . prototype . initModules = function ( a ) { this . map = new netgis . MapOpenLayers ( a ) ; this . map . attach ( this . root ) ; this . controls = new netgis . Controls ; this . controls . attach ( this . root ) ; this . layerPanel = new netgis . Panel ( "Inhalte" ) ; this . layerPanel . attach ( this . root ) ; this . layerTree = new netgis . Tree ; this . layerTree . container . style . position = "absolute" ; this . layerTree . container . style . width = "100%" ; this . layerTree . container . style . top = "12mm" ; this . layerTree . container . style . bottom = "6mm" ; this . layerTree . container . style . overflow =
"auto" ; this . layerTree . attach ( this . layerPanel . container ) ; this . toolboxPanel = new netgis . Panel ( "Werkzeuge" ) ; this . toolboxPanel . attach ( this . root ) ; this . toolbox = new netgis . Toolbox ( a ) ; this . toolbox . attach ( this . toolboxPanel . container ) ; this . searchPlace = new netgis . SearchPlace ( a ) ; this . searchPlace . attach ( this . root ) ; this . parcelPanel = new netgis . Panel ( "Flurst\u00fccks-Suche" ) ; this . parcelPanel . container . style . minWidth = "92mm" ; this . parcelPanel . attach ( this . root ) ; this . searchParcel = new netgis . SearchParcel ( a ) ; this . searchParcel . attach ( this . parcelPanel . container ) ;
"auto" ; this . layerTree . attach ( this . layerPanel . container ) ; this . toolboxPanel = new netgis . Panel ( "Werkzeuge" ) ; this . toolboxPanel . attach ( this . root ) ; this . toolbox = new netgis . Toolbox ( a ) ; this . toolbox . attach ( this . toolboxPanel . container ) ; this . searchPlace = new netgis . SearchPlace ( a ) ; this . searchPlace . attach ( this . root ) ; this . parcelPanel = new netgis . Panel ( "Flurst\u00fccks-Suche" ) ; this . parcelPanel . container . style . minWidth = "92mm" ; this . parcelPanel . attach ( this . root ) ; this . searchParcel = new netgis . SearchParcel ( a ) ; this . searchParcel . attach ( this . parcelPanel . container ) ;
this . importModal = new netgis . Modal ( "Ebene hinzuf\u00fcgen" ) ; this . importModal . container . classList . add ( "netgis-import" ) ; this . importModal . attach ( this . root ) ; this . importTabs = new netgis . Tabs ( [ "Datei" , "Dienst" ] ) ; this . importTabs . attach ( this . importModal . content ) ; a = this . importTabs . getContentSection ( 0 ) ; a . classList . add ( "netgis-noselect" ) ; var b = document . createElement ( "div" ) ; b . innerHTML = "<h3>Unterst\u00fctzte Koordinatensysteme:</h3><ul><li>World Geodetic System 1984 (EPSG:4326)</li><li>ETRS89 / UTM zone 32N (EPSG:25832)</li></ul>" ;
this . importModal = new netgis . Modal ( "Ebene hinzuf\u00fcgen" ) ; this . importModal . container . classList . add ( "netgis-import" ) ; this . importModal . attach ( this . root ) ; a = document . createElement ( "div" ) ; a . className = "netgis-content netgis-form netgis-noselect" ; this . importModal . content . appendChild ( a ) ; var b = document . createElement ( "label" ) ; b . innerHTML = "Dateiformat:" ; a . appendChild ( b ) ; var c = document . createElement ( "select" ) ; c . innerHTML = "<option value='geojson'>GeoJSON</option><option value='gml'>GML</option><option value='gpkg'>GeoPackage</option><option value='shp'>Shapefile (Zip)</option><option value='spatialite'>Spatialite</option>" ;
a . appendChild ( b ) ; b = document . createElement ( "label" ) ; b . innerHTML = "Datei ausw\u00e4hlen/ablegen:" ; a . appendChild ( b ) ; var c = document . createElement ( "input" ) ; c . className = "netgis-color-d" ; c . setAttribute ( "type" , "file" ) ; c . setAttribute ( "accept" , ".geojson,.gml,.gpkg,.shp.zip,.sqlite" ) ; b . appendChild ( c ) ; this . importFileInput = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Hinzuf\u00fcgen</span>" ;
b . addEventListener ( "change" , this . onImportFileTypeChange . bind ( this ) ) ; b . appendChild ( c ) ; this . importFileSelect = c ; b = document . createElement ( "div" ) ; b . innerHTML = "<h3>Unterst\u00fctzte Koordinatensysteme:</h3><ul><li>World Geodetic System 1984 (EPSG:4326)</li><li>ETRS89 / UTM zone 32N (EPSG:25832)</li></ul>" ; a . appendChild ( b ) ; b = document . createElement ( "label" ) ; b . innerHTML = "Datei ausw\u00e4hlen/ablegen:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . className = "netgis-color-d" ; c . setAttribute ( "type" , "file" ) ;
b . addEventListener ( "click" , this . onImportFileClick . bind ( this ) ) ; a . appendChild ( b ) ; b = this . importTabs . getContentSection ( 1 ) ; b . classList . add ( "netgis-noselect" ) ; a = document . createElement ( "label" ) ; a . innerHTML = "WMS/WFS URL:" ; b . appendChild ( a ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "text" ) ; a . appendChild ( c ) ; this . importServiceInput = c ; a = document . createElement ( "button" ) ; a . setAttribute ( "type" , "button" ) ; a . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; a . innerHTML =
c . setAttribute ( "accept" , ".geojson,.json" ) ; b . appendChild ( c ) ; this . importFileInput = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Hinzuf\u00fcgen</span>" ; b . addEventListener ( "click" , this . onImportFileClick . bind ( this ) ) ; a . appendChild ( b ) ; this . importServiceModal = new netgis . Modal ( "Dienst hinzuf\u00fcgen" ) ; this . importServiceModal . container . classList . add ( "netgis-import" ) ;
"<i class='netgis-icon fas fa-cloud-download-alt'></i><span>Dienst laden</span>" ; a . style . marginBottom = "6mm" ; a . addEventListener ( "click" , this . onImportServiceClick . bind ( this ) ) ; b . appendChild ( a ) ; a = document . createElement ( "div" ) ; a . className = "netgis-hide" ; b . appendChild ( a ) ; this . importServiceDetails = a ; b = document . createElement ( "label" ) ; b . innerHTML = "Bezeichnung:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "text" ) ; b . appendChild ( c ) ; this . importServiceNameInput = c ; b = document . createElement ( "label" ) ;
this . importServiceModal . attach ( this . root ) ; b = document . createElement ( "div" ) ; b . className = "netgis-content netgis-form netgis-noselect" ; this . importServiceModal . content . appendChild ( b ) ; a = document . createElement ( "label" ) ; a . innerHTML = "WMS/WFS URL:" ; b . appendChild ( a ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "text" ) ; a . appendChild ( c ) ; this . importServiceInput = c ; a = document . createElement ( "button" ) ; a . setAttribute ( "type" , "button" ) ; a . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ;
a . innerHTML = "<i class='netgis-icon fas fa-cloud-download-alt'></i><span>Dienst laden</span>" ; a . style . marginBottom = "6mm" ; a . addEventListener ( "click" , this . onImportServiceClick . bind ( this ) ) ; b . appendChild ( a ) ; a = document . createElement ( "div" ) ; a . className = "netgis-hide" ; b . appendChild ( a ) ; this . importServiceDetails = a ; b = document . createElement ( "label" ) ; b . innerHTML = "Bezeichnung:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "text" ) ; b . appendChild ( c ) ; this . importServiceNameInput = c ; b = document . createElement ( "label" ) ;
b . innerHTML = "Kartenebene:" ; a . appendChild ( b ) ; c = document . createElement ( "select" ) ; b . appendChild ( c ) ; this . importServiceLayerSelect = c ; b = document . createElement ( "label" ) ; b . innerHTML = "Format:" ; a . appendChild ( b ) ; c = document . createElement ( "select" ) ; b . appendChild ( c ) ; this . importServiceFormatSelect = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Hinzuf\u00fcgen</span>" ;
b . innerHTML = "Kartenebene:" ; a . appendChild ( b ) ; c = document . createElement ( "select" ) ; b . appendChild ( c ) ; this . importServiceLayerSelect = c ; b = document . createElement ( "label" ) ; b . innerHTML = "Format:" ; a . appendChild ( b ) ; c = document . createElement ( "select" ) ; b . appendChild ( c ) ; this . importServiceFormatSelect = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Hinzuf\u00fcgen</span>" ;
b . addEventListener ( "click" , this . onImportServiceAccept . bind ( this ) ) ; a . appendChild ( b ) ; this . exportModal = new netgis . Modal ( "Exportieren" ) ; this . exportModal . container . classList . add ( "netgis-export" ) ; this . exportModal . attach ( this . root ) ; a = document . createElement ( "div" ) ; a . className = "netgis-form netgis-noselect" ; a . style . position = "absolute" ; a . style . width = "100%" ; a . style . top = "12mm" ; a . style . bottom = "0mm" ; a . style . overflow = "auto" ; a . style . padding = "12mm" ; this . exportModal . content . appendChild ( a ) ; b = document . createElement ( "label" ) ;
b . addEventListener ( "click" , this . onImportServiceAccept . bind ( this ) ) ; a . appendChild ( b ) ; this . exportModal = new netgis . Modal ( "Exportieren" ) ; this . exportModal . container . classList . add ( "netgis-export" ) ; this . exportModal . attach ( this . root ) ; a = document . createElement ( "div" ) ; a . className = "netgis-form netgis-noselect" ; a . style . position = "absolute" ; a . style . width = "100%" ; a . style . top = "12mm" ; a . style . bottom = "0mm" ; a . style . overflow = "auto" ; a . style . padding = "12mm" ; this . exportModal . content . appendChild ( a ) ; b = document . createElement ( "label" ) ;
b . innerHTML = "Format:" ; a . appendChild ( b ) ; c = document . createElement ( "select" ) ; c . innerHTML = "<option value='pdf'>PDF</option><option value='jpeg'>JPEG</option><option value='png'>PNG</option><option value='gif'>GIF</option>" ; c . addEventListener ( "change" , this . onExportFormatChange . bind ( this ) ) ; b . appendChild ( c ) ; this . exportFormatSelect = c ; b = document . createElement ( "label" ) ; b . innerHTML = "Breite (Pixel):" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "number" ) ; c . setAttribute ( "min" , 0 ) ; b . appendChild ( c ) ;
b . innerHTML = "Format:" ; a . appendChild ( b ) ; c = document . createElement ( "select" ) ; c . innerHTML = "<option value='pdf'>PDF</option><option value='jpeg'>JPEG</option><option value='png'>PNG</option><option value='gif'>GIF</option>" ; c . addEventListener ( "change" , this . onExportFormatChange . bind ( this ) ) ; b . appendChild ( c ) ; this . exportFormatSelect = c ; b = document . createElement ( "label" ) ; b . innerHTML = "Breite (Pixel):" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "number" ) ; c . setAttribute ( "min" , 0 ) ; b . appendChild ( c ) ;
this . exportWidthInput = c ; b = document . createElement ( "label" ) ; b . innerHTML = "H\u00f6he (Pixel):" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "number" ) ; c . setAttribute ( "min" , 0 ) ; b . appendChild ( c ) ; this . exportHeightInput = c ; b = document . createElement ( "label" ) ; b . innerHTML = "Seitenr\u00e4nder (Millimeter):" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "number" ) ; c . setAttribute ( "min" , 0 ) ; c . value = 10 ; b . appendChild ( c ) ; this . exportPaddingInput = c ; b = document . createElement ( "label" ) ;
this . exportWidthInput = c ; b = document . createElement ( "label" ) ; b . innerHTML = "H\u00f6he (Pixel):" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "number" ) ; c . setAttribute ( "min" , 0 ) ; b . appendChild ( c ) ; this . exportHeightInput = c ; b = document . createElement ( "label" ) ; b . innerHTML = "Seitenr\u00e4nder (Millimeter):" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "number" ) ; c . setAttribute ( "min" , 0 ) ; c . value = 10 ; b . appendChild ( c ) ; this . exportPaddingInput = c ; b = document . createElement ( "label" ) ;
b . innerHTML = "Querformat:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "checkbox" ) ; b . appendChild ( c ) ; this . exportLandscapeInput = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Exportieren</span>" ; b . addEventListener ( "click" , this . onExportButtonClick . bind ( this ) ) ; a . appendChild ( b ) } ;
b . innerHTML = "Querformat:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "checkbox" ) ; b . appendChild ( c ) ; this . exportLandscapeInput = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Exportieren</span>" ; b . addEventListener ( "click" , this . onExportButtonClick . bind ( this ) ) ; a . appendChild ( b ) } ;
netgis . Client . prototype . initConfig = function ( a ) { var b = [ ] , c = a . folders ; if ( c ) { for ( var d = 0 ; d < c . length ; d ++ ) { var e = 1E3 + d , f = this . layerTree . addFolder ( null , e , c [ d ] . title ) ; b . push ( f ) } for ( d = 0 ; d < c . length ; d ++ ) e = c [ d ] . parent , - 1 < e && this . layerTree . setFolderParent ( b [ d ] , b [ e ] ) } if ( c = a . layers ) for ( d = 0 ; d < c . length ; d ++ ) { var g = c [ d ] ; f = - 1 < g . folder ? b [ g . folder ] : null ; e = g . id ; e || ( e = 1E3 + d , g . id = e ) ; this . layerTree . addCheckbox ( f , e , g . title ) ; g . active && ( this . map . addLayer ( e , this . map . createLayer ( g ) ) , this . layerTree . setItemChecked ( e , ! 0 ) ) } this . importFolder =
netgis . Client . prototype . initConfig = function ( a ) { var b = [ ] , c = a . folders ; if ( c ) { for ( var d = 0 ; d < c . length ; d ++ ) { var e = 1E3 + d , f = this . layerTree . addFolder ( null , e , c [ d ] . title ) ; b . push ( f ) } for ( d = 0 ; d < c . length ; d ++ ) e = c [ d ] . parent , - 1 < e && this . layerTree . setFolderParent ( b [ d ] , b [ e ] ) } if ( c = a . layers ) for ( d = 0 ; d < c . length ; d ++ ) { var g = c [ d ] ; f = - 1 < g . folder ? b [ g . folder ] : null ; e = g . id ; e || ( e = 1E3 + d , g . id = e ) ; this . layerTree . addCheckbox ( f , e , g . title ) ; g . active && ( this . map . addLayer ( e , this . map . createLayer ( g ) ) , this . layerTree . setItemChecked ( e , ! 0 ) ) } this . importFolder =
this . layerTree . addFolder ( null , "import" , "Importierte Ebenen" , ! 0 ) ; this . importFolder . classList . add ( "netgis-hide" ) ; this . editFolder = this . layerTree . addFolder ( null , "edit-folder" , "Zeichnung" , ! 0 ) ; this . editFolder . classList . add ( "netgis-hide" ) ; this . layerTree . addCheckbox ( this . editFolder , "edit-layer" , "Zeichnung" ) ; this . layerTree . setItemChecked ( "edit-layer" , ! 0 ) ; this . importButton = this . layerTree . addButton ( null , "<i class='netgis-icon fas fa-plus' style='font-size: 1em;'></i><span> Ebene hinzuf\u00fcgen...</span>", this . onLayerTreeImportClick . bind ( this ) ) ;
this . layerTree . addFolder ( null , "import" , "Importierte Ebenen" , ! 0 ) ; this . importFolder . classList . add ( "netgis-hide" ) ; this . editFolder = this . layerTree . addFolder ( null , "edit-folder" , "Zeichnung" , ! 0 ) ; this . editFolder . classList . add ( "netgis-hide" ) ; this . layerTree . addCheckbox ( this . editFolder , "edit-layer" , "Zeichnung" ) ; this . layerTree . setItemChecked ( "edit-layer" , ! 0 ) ; this . importButton = this . layerTree . addButton ( null , "<i class='netgis-icon fas fa-plus' style='font-size: 1em;'></i><span> Dienst hinzuf\u00fcgen...</span>", this . onLayerTreeImportClick . bind ( this ) ) ;
this . attribution . onContextUpdate ( a ) } ;
this . attribution . onContextUpdate ( a ) } ;
netgis . Client . prototype . initOutput = function ( a ) { netgis . util . isDefined ( a . output ) ? netgis . util . isDefined ( a . output . id ) && ( this . output = document . getElementById ( a . output . id ) , this . output . value && 0 < this . output . value . length && ( a = JSON . parse ( this . output . value ) , this . map . addEditFeaturesGeoJSON ( a , ! 1 ) , this . map . map . updateSize ( ) , this . map . zoomGeoJSON ( a ) , this . editFolder . classList . remove ( "netgis-hide" ) ) ) : ( this . output = document . createElement ( "input" ) , this . output . setAttribute ( "type" , "hidden" ) , this . output . className = "netgis-edit-output" ,
netgis . Client . prototype . initOutput = function ( a ) { if ( a . output && a . output . id ) { if ( ( a = document . getElementById ( a . output . id ) ) && a . value && 0 < a . value . length ) { var b = JSON . parse ( a . value ) ; this . map . addEditFeaturesGeoJSON ( b , ! 1 ) ; var c = this ; window . setTimeout ( function ( ) { c . map . map . updateSize ( ) ; c . map . zoomGeoJSON ( b ) } , 50 ) ; this . editFolder . classList . remove ( "netgis-hide" ) } this . output = a } this . output || ( this . output = document . createElement ( "input" ) , this . output . setAttribute ( "type" , "hidden" ) , this . output . className = "netgis-storage" , this . root . appendChild ( this . output ) ) } ;
this . root . appendChild ( this . output ) ) } ;
netgis . Client . prototype . initEvents = function ( ) { this . container . addEventListener ( netgis . Events . SET _MODE , this . onSetMode . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _RESIZE , this . onPanelResize . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . LAYERS _TOGGLE , this . onLayersToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . SearchPlace . Events . TOGGLE , this . onSearchPlaceToggle . bind ( this ) ) ;
netgis . Client . prototype . initEvents = function ( ) { this . container . addEventListener ( netgis . Events . SET _MODE , this . onSetMode . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _RESIZE , this . onPanelResize . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . LAYERS _TOGGLE , this . onLayersToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . SearchPlace . Events . TOGGLE , this . onSearchPlaceToggle . bind ( this ) ) ;
this . container . addEventListener ( netgis . SearchParcel . Events . TOGGLE , this . onSearchParcelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM , this . onControlsZoom . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM _ALL , this . onControlsZoomAll . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . TOOLBOX _TOGGLE , this . onToolboxToggle . bind ( this ) ) ; this . parcelPanel . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onParcelsPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESET ,
this . container . addEventListener ( netgis . SearchParcel . Events . TOGGLE , this . onSearchParcelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM , this . onControlsZoom . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM _ALL , this . onControlsZoomAll . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . TOOLBOX _TOGGLE , this . onToolboxToggle . bind ( this ) ) ; this . parcelPanel . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onParcelsPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESET ,
this . onParcelsReset . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _FIELDS _RESPONSE , this . onParcelsFieldsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESPONSE , this . onParcelsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _ENTER , this . onParcelsItemEnter . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _LEAVE , this . onParcelsItemLeave . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _CLICK ,
this . onParcelsReset . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _FIELDS _RESPONSE , this . onParcelsFieldsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESPONSE , this . onParcelsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _ENTER , this . onParcelsItemEnter . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _LEAVE , this . onParcelsItemLeave . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _CLICK ,
@ -39,7 +40,7 @@ this.onLayerCreated.bind(this));this.layerTree.container.addEventListener(netgis
this . container . addEventListener ( netgis . Events . DRAW _BUFFER _RADIUS _CHANGE , this . onBufferRadiusChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE , this . onBufferSegmentsChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . BUFFER _CHANGE , this . onBufferFeatureChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . BUFFER _ACCEPT , this . onBufferFeatureAccept . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _SHAPEFILE _SHOW , this . onImportShapefileShow . bind ( this ) ) ;
this . container . addEventListener ( netgis . Events . DRAW _BUFFER _RADIUS _CHANGE , this . onBufferRadiusChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE , this . onBufferSegmentsChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . BUFFER _CHANGE , this . onBufferFeatureChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . BUFFER _ACCEPT , this . onBufferFeatureAccept . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _SHAPEFILE _SHOW , this . onImportShapefileShow . bind ( this ) ) ;
this . container . addEventListener ( netgis . Events . IMPORT _GEOJSON _SHOW , this . onImportGeoJSONShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _GML _SHOW , this . onImportGMLShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _SPATIALITE _SHOW , this . onImportSpatialiteShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _GEOPACKAGE _SHOW , this . onImportGeopackageShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _PDF _SHOW , this . onExportPDFShow . bind ( this ) ) ;
this . container . addEventListener ( netgis . Events . IMPORT _GEOJSON _SHOW , this . onImportGeoJSONShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _GML _SHOW , this . onImportGMLShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _SPATIALITE _SHOW , this . onImportSpatialiteShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT _GEOPACKAGE _SHOW , this . onImportGeopackageShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _PDF _SHOW , this . onExportPDFShow . bind ( this ) ) ;
this . container . addEventListener ( netgis . Events . EXPORT _PNG _SHOW , this . onExportPNGShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _JPEG _SHOW , this . onExportJPEGShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _GIF _SHOW , this . onExportGIFShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _PDF , this . onExportPDF . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _PNG , this . onExportPNG . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _JPEG ,
this . container . addEventListener ( netgis . Events . EXPORT _PNG _SHOW , this . onExportPNGShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _JPEG _SHOW , this . onExportJPEGShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _GIF _SHOW , this . onExportGIFShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _PDF , this . onExportPDF . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _PNG , this . onExportPNG . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _JPEG ,
this . onExportJPEG . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _GIF , this . onExportGIF . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EDIT _FEATURES _CHANGE , this . onEditFeaturesChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT_SHOW , this . onExportShow . bind ( this ) ) } ;
this . onExportJPEG . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT _GIF , this . onExportGIF . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EDIT _FEATURES _CHANGE , this . onEditFeaturesChange . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . IMPORT_SHOW , this . onImportShow . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . EXPORT_SHOW , this . onExportShow . bind ( this ) ) } ;
netgis . Client . prototype . createDefaultConfig = function ( ) { return { map : { projection : "EPSG:3857" , center : [ 1113194 , 6621293 ] , minZoom : 0 , maxZoom : 20 , zoom : 6 , attribution : "NetGIS" } , projections : [ ] , layers : [ { folder : 0 , type : netgis . LayerTypes . OSM , title : "Open Street Map" , attribution : "OSM Contributors" , active : ! 0 } ] , folders : [ { title : "Hintergrund" , parent : - 1 } ] , styles : { editLayer : { fill : "rgba( 255, 0, 0, 0.5 )" , stroke : "#ff0000" , strokeWidth : 3 , pointRadius : 6 } , select : { fill : "rgba( 0, 127, 255, 0.5 )" , stroke : "#007fff" , strokeWidth : 3 , pointRadius : 6 } ,
netgis . Client . prototype . createDefaultConfig = function ( ) { return { map : { projection : "EPSG:3857" , center : [ 1113194 , 6621293 ] , minZoom : 0 , maxZoom : 20 , zoom : 6 , attribution : "NetGIS" } , projections : [ ] , layers : [ { folder : 0 , type : netgis . LayerTypes . OSM , title : "Open Street Map" , attribution : "OSM Contributors" , active : ! 0 } ] , folders : [ { title : "Hintergrund" , parent : - 1 } ] , styles : { editLayer : { fill : "rgba( 255, 0, 0, 0.5 )" , stroke : "#ff0000" , strokeWidth : 3 , pointRadius : 6 } , select : { fill : "rgba( 0, 127, 255, 0.5 )" , stroke : "#007fff" , strokeWidth : 3 , pointRadius : 6 } ,
sketch : { fill : "rgba( 0, 127, 0, 0.5 )" , stroke : "#007f00" , strokeWidth : 3 , pointRadius : 6 } , modify : { fill : "rgba( 0, 127, 0, 0.5 )" , stroke : "#007f00" , strokeWidth : 3 , pointRadius : 6 } , parcel : { fill : "rgba( 127, 255, 255, 0.5 )" , stroke : "#7fffff" , strokeWidth : 3 } } } } ;
sketch : { fill : "rgba( 0, 127, 0, 0.5 )" , stroke : "#007f00" , strokeWidth : 3 , pointRadius : 6 } , modify : { fill : "rgba( 0, 127, 0, 0.5 )" , stroke : "#007f00" , strokeWidth : 3 , pointRadius : 6 } , parcel : { fill : "rgba( 127, 255, 255, 0.5 )" , stroke : "#7fffff" , strokeWidth : 3 } } } } ;
netgis . Client . prototype . create = function ( ) { this . root = document . createElement ( "section" ) ; this . root . className = "netgis-client" ; this . loader = document . createElement ( "div" ) ; this . loader . className = "netgis-loader netgis-dialog netgis-text-primary" ; this . loader . innerHTML = "<i class='fas fa-spinner'></i>" ; this . root . appendChild ( this . loader ) ; this . container . appendChild ( this . root ) } ;
netgis . Client . prototype . create = function ( ) { this . root = document . createElement ( "section" ) ; this . root . className = "netgis-client" ; this . loader = document . createElement ( "div" ) ; this . loader . className = "netgis-loader netgis-dialog netgis-text-primary" ; this . loader . innerHTML = "<i class='fas fa-spinner'></i>" ; this . root . appendChild ( this . loader ) ; this . container . appendChild ( this . root ) } ;
@ -55,7 +56,7 @@ this.map.editLayer):this.map.removeLayer(netgis.Client.Layers.EDIT_LAYER)}};netg
netgis . Client . prototype . onSearchParcelToggle = function ( a ) { this . parcelPanel . toggle ( ) ; this . parcelPanel . visible ( ) && ( this . layerPanel . hide ( ) , this . toolboxPanel . hide ( ) ) } ; netgis . Client . prototype . onControlsZoom = function ( a ) { this . map . zoom ( a . detail ) } ; netgis . Client . prototype . onControlsZoomAll = function ( a ) { this . map . zoomAll ( ) } ; netgis . Client . prototype . onParcelsPanelToggle = function ( a ) { this . searchParcel . reset ( ) } ;
netgis . Client . prototype . onSearchParcelToggle = function ( a ) { this . parcelPanel . toggle ( ) ; this . parcelPanel . visible ( ) && ( this . layerPanel . hide ( ) , this . toolboxPanel . hide ( ) ) } ; netgis . Client . prototype . onControlsZoom = function ( a ) { this . map . zoom ( a . detail ) } ; netgis . Client . prototype . onControlsZoomAll = function ( a ) { this . map . zoomAll ( ) } ; netgis . Client . prototype . onParcelsPanelToggle = function ( a ) { this . searchParcel . reset ( ) } ;
netgis . Client . prototype . onParcelsReset = function ( a ) { this . map . removeLayer ( netgis . Client . Layers . PARCEL _DISTRICTS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FIELDS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FEATURES ) ; if ( this . parcelPanel . visible ( ) ) { this . parcelsAdded = [ ] ; var b = this . config . searchParcel . districts _service ; a = this . map . createLayer ( b ) ; var c = this . config . styles . parcel ; this . map . setLayerStyleSimple ( a , c . fill , c . stroke , c . width ) ; this . map . addLayer ( netgis . Client . Layers . PARCEL _DISTRICTS , a ) ;
netgis . Client . prototype . onParcelsReset = function ( a ) { this . map . removeLayer ( netgis . Client . Layers . PARCEL _DISTRICTS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FIELDS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FEATURES ) ; if ( this . parcelPanel . visible ( ) ) { this . parcelsAdded = [ ] ; var b = this . config . searchParcel . districts _service ; a = this . map . createLayer ( b ) ; var c = this . config . styles . parcel ; this . map . setLayerStyleSimple ( a , c . fill , c . stroke , c . width ) ; this . map . addLayer ( netgis . Client . Layers . PARCEL _DISTRICTS , a ) ;
if ( b . minZoom ) { var d = this ; window . setTimeout ( function ( ) { d . map . zoomLevel ( b . minZoom + 1 ) } , 50 ) } this . setMode ( netgis . Modes . PARCEL _SELECT ) } else this . setMode ( netgis . Modes . VIEW ) } ;
if ( b . minZoom ) { var d = this ; window . setTimeout ( function ( ) { d . map . zoomLevel ( b . minZoom + 1 ) } , 50 ) } this . setMode ( netgis . Modes . PARCEL _SELECT ) } else this . setMode ( netgis . Modes . VIEW ) } ;
netgis . Client . prototype . onParcelsFieldsResponse = function ( a ) { var b = a . detail ; this . map . zoomGeoJSON ( b . geojson ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _DISTRICTS ) ; a = this . config . styles . parcel ; b = this . map . createLayerGeoJSON ( b . geojson ); this . map . setLayerStyleSimple ( b , a . fill , a . stroke , a . width ) ; this . map . setLayerOrder ( b , 4E4 ) ; this . map . addLayer ( netgis . Client . Layers . PARCEL _FIELDS , b ) } ;
netgis . Client . prototype . onParcelsFieldsResponse = function ( a ) { var b = a . detail ; this . map . zoomGeoJSON ( b . geojson ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _DISTRICTS ) ; a = this . config . styles . parcel ; b = this . map . createLayerGeoJSON ( b . geojson ,! 1 ); this . map . setLayerStyleSimple ( b , a . fill , a . stroke , a . width ) ; this . map . setLayerOrder ( b , 4E4 ) ; this . map . addLayer ( netgis . Client . Layers . PARCEL _FIELDS , b ) } ;
netgis . Client . prototype . onParcelsResponse = function ( a ) { a = this . map . createLayerWKT ( a . detail . parcels ) ; var b = this . config . styles . parcel ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _DISTRICTS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FIELDS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FEATURES ) ; this . map . setLayerStyleSimple ( a , b . fill , b . stroke , b . width ) ; this . map . addLayer ( netgis . Client . Layers . PARCEL _FEATURES , a ) ; this . map . zoomLayer ( netgis . Client . Layers . PARCEL _FEATURES ) } ;
netgis . Client . prototype . onParcelsResponse = function ( a ) { a = this . map . createLayerWKT ( a . detail . parcels ) ; var b = this . config . styles . parcel ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _DISTRICTS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FIELDS ) ; this . map . removeLayer ( netgis . Client . Layers . PARCEL _FEATURES ) ; this . map . setLayerStyleSimple ( a , b . fill , b . stroke , b . width ) ; this . map . addLayer ( netgis . Client . Layers . PARCEL _FEATURES , a ) ; this . map . zoomLayer ( netgis . Client . Layers . PARCEL _FEATURES ) } ;
netgis . Client . prototype . onMapFeatureEnter = function ( a ) { a = a . detail ; switch ( a . layer ) { case netgis . Client . Layers . PARCEL _DISTRICTS : a = a . properties . gemarkung ; this . map . container . setAttribute ( "title" , a ) ; break ; case netgis . Client . Layers . PARCEL _FIELDS : a = a . properties . flurname ; this . map . container . setAttribute ( "title" , a ) ; break ; case netgis . Client . Layers . PARCEL _FEATURES : a = "Flur: " + a . properties . fln + " / Z\u00e4hler: " + a . properties . fsn _zae + " / Nenner: " + a . properties . fsn _nen , this . map . container . setAttribute ( "title" , a + " (Klicken zum \u00dcbernehmen der Geometrie)" ) } } ;
netgis . Client . prototype . onMapFeatureEnter = function ( a ) { a = a . detail ; switch ( a . layer ) { case netgis . Client . Layers . PARCEL _DISTRICTS : a = a . properties . gemarkung ; this . map . container . setAttribute ( "title" , a ) ; break ; case netgis . Client . Layers . PARCEL _FIELDS : a = a . properties . flurname ; this . map . container . setAttribute ( "title" , a ) ; break ; case netgis . Client . Layers . PARCEL _FEATURES : a = "Flur: " + a . properties . fln + " / Z\u00e4hler: " + a . properties . fsn _zae + " / Nenner: " + a . properties . fsn _nen , this . map . container . setAttribute ( "title" , a + " (Klicken zum \u00dcbernehmen der Geometrie)" ) } } ;
netgis . Client . prototype . onMapFeatureClick = function ( a ) { a = a . detail ; switch ( a . layer ) { default : console . info ( "Feature Click:" , a ) ; break ; case netgis . Client . Layers . PARCEL _DISTRICTS : this . searchParcel . setDistrict ( a . properties . gemarkung + " (" + a . properties . ldkreis + ")" , a . properties . gmkgnr ) ; break ; case netgis . Client . Layers . PARCEL _FIELDS : this . searchParcel . setFieldNumber ( a . properties . flur ) ; break ; case netgis . Client . Layers . PARCEL _FEATURES : var b = a . properties . fsk ; - 1 === this . parcelsAdded . indexOf ( b ) && ( this . map . addEditFeature ( this . map . createFeatureJSON ( a . properties ) ) ,
netgis . Client . prototype . onMapFeatureClick = function ( a ) { a = a . detail ; switch ( a . layer ) { default : console . info ( "Feature Click:" , a ) ; break ; case netgis . Client . Layers . PARCEL _DISTRICTS : this . searchParcel . setDistrict ( a . properties . gemarkung + " (" + a . properties . ldkreis + ")" , a . properties . gmkgnr ) ; break ; case netgis . Client . Layers . PARCEL _FIELDS : this . searchParcel . setFieldNumber ( a . properties . flur ) ; break ; case netgis . Client . Layers . PARCEL _FEATURES : var b = a . properties . fsk ; - 1 === this . parcelsAdded . indexOf ( b ) && ( this . map . addEditFeature ( this . map . createFeatureJSON ( a . properties ) ) ,
@ -65,10 +66,11 @@ netgis.Client.prototype.onSnapToggle=function(a){(a=a.detail.target.checked)?(th
netgis . Client . prototype . onBufferToggle = function ( a ) { if ( a = a . detail . target . checked ) this . map . onDrawBufferOn ( ) ; else this . map . onDrawBufferOff ( ) ; this . toolbox . setBuffer ( a ) } ; netgis . Client . prototype . onBufferRadiusChange = function ( a ) { a = Number . parseFloat ( a . detail . target . value ) ; this . map . onDrawBufferRadiusChange ( a ) ; this . toolbox . setBufferRadius ( a ) } ; netgis . Client . prototype . onBufferSegmentsChange = function ( a ) { a = Number . parseInt ( a . detail . target . value ) ; this . map . onDrawBufferSegmentsChange ( a ) ; this . toolbox . setBufferSegments ( a ) } ;
netgis . Client . prototype . onBufferToggle = function ( a ) { if ( a = a . detail . target . checked ) this . map . onDrawBufferOn ( ) ; else this . map . onDrawBufferOff ( ) ; this . toolbox . setBuffer ( a ) } ; netgis . Client . prototype . onBufferRadiusChange = function ( a ) { a = Number . parseFloat ( a . detail . target . value ) ; this . map . onDrawBufferRadiusChange ( a ) ; this . toolbox . setBufferRadius ( a ) } ; netgis . Client . prototype . onBufferSegmentsChange = function ( a ) { a = Number . parseInt ( a . detail . target . value ) ; this . map . onDrawBufferSegmentsChange ( a ) ; this . toolbox . setBufferSegments ( a ) } ;
netgis . Client . prototype . onBufferFeatureChange = function ( a ) { this . map . onBufferChange ( a . detail ) } ; netgis . Client . prototype . onBufferFeatureAccept = function ( a ) { this . map . onBufferAccept ( ) } ; netgis . Client . prototype . onImportShapefileShow = function ( a ) { this . modal . onImportShapefileShow ( a ) } ; netgis . Client . prototype . onImportGeoJSONShow = function ( a ) { this . modal . onImportGeoJSONShow ( a ) } ; netgis . Client . prototype . onImportGMLShow = function ( a ) { this . modal . onImportGMLShow ( a ) } ; netgis . Client . prototype . onImportSpatialiteShow = function ( a ) { this . modal . onImportSpatialiteShow ( a ) } ;
netgis . Client . prototype . onBufferFeatureChange = function ( a ) { this . map . onBufferChange ( a . detail ) } ; netgis . Client . prototype . onBufferFeatureAccept = function ( a ) { this . map . onBufferAccept ( ) } ; netgis . Client . prototype . onImportShapefileShow = function ( a ) { this . modal . onImportShapefileShow ( a ) } ; netgis . Client . prototype . onImportGeoJSONShow = function ( a ) { this . modal . onImportGeoJSONShow ( a ) } ; netgis . Client . prototype . onImportGMLShow = function ( a ) { this . modal . onImportGMLShow ( a ) } ; netgis . Client . prototype . onImportSpatialiteShow = function ( a ) { this . modal . onImportSpatialiteShow ( a ) } ;
netgis . Client . prototype . onImportGeopackageShow = function ( a ) { this . modal . onImportGeopackageShow ( a ) } ; netgis . Client . prototype . onExportPDFShow = function ( a ) { this . modal . onExportPDFShow ( a ) } ; netgis . Client . prototype . onExportPNGShow = function ( a ) { this . modal . onExportPNGShow ( a ) } ; netgis . Client . prototype . onExportJPEGShow = function ( a ) { this . modal . onExportJPEGShow ( a ) } ; netgis . Client . prototype . onExportGIFShow = function ( a ) { this . modal . onExportGIFShow ( a ) } ; netgis . Client . prototype . onExportPDF = function ( a ) { this . map . onExportPDF ( a ) } ;
netgis . Client . prototype . onImportGeopackageShow = function ( a ) { this . modal . onImportGeopackageShow ( a ) } ; netgis . Client . prototype . onExportPDFShow = function ( a ) { this . modal . onExportPDFShow ( a ) } ; netgis . Client . prototype . onExportPNGShow = function ( a ) { this . modal . onExportPNGShow ( a ) } ; netgis . Client . prototype . onExportJPEGShow = function ( a ) { this . modal . onExportJPEGShow ( a ) } ; netgis . Client . prototype . onExportGIFShow = function ( a ) { this . modal . onExportGIFShow ( a ) } ; netgis . Client . prototype . onExportPDF = function ( a ) { this . map . onExportPDF ( a ) } ;
netgis . Client . prototype . onExportPNG = function ( a ) { this . map . onExportPNG ( a ) } ; netgis . Client . prototype . onExportJPEG = function ( a ) { this . map . onExportJPEG ( a ) } ; netgis . Client . prototype . onExportGIF = function ( a ) { this . map . onExportGIF ( a ) } ; netgis . Client . prototype . onLayerTreeImportClick = function ( a ) { this . importModal . show ( ) } ;
netgis . Client . prototype . onExportPNG = function ( a ) { this . map . onExportPNG ( a ) } ; netgis . Client . prototype . onExportJPEG = function ( a ) { this . map . onExportJPEG ( a ) } ; netgis . Client . prototype . onExportGIF = function ( a ) { this . map . onExportGIF ( a ) } ; netgis . Client . prototype . onLayerTreeImportClick = function ( a ) { this . importServiceModal . show ( ) } ;
netgis . Client . prototype . onImportFileClick = function ( a ) { if ( a = this . importFileInput . files [ 0 ] ) { var b = a . name , c = this ; switch ( netgis . util . getFileExtension ( a . name ) . toLowerCase ( ) ) { case "geojson" : console . info ( "GeoJSON detected:" , a . name ) ; var d = new FileReader ; d . onload = function ( a ) { a = JSON . parse ( a . target . result ) ; c . addImportLayer ( b , c . map . createLayerGeoJSON ( a , ! 0 ) ) } ; d . readAsText ( a ) ; break ; case "zip" : console . info ( "Shapefile Zip detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerShapefile ( a . target . result ) ) } ;
netgis . Client . prototype . onImportFileTypeChange = function ( a ) { a = this . importFileSelect . value ; var b = "*.*" ; console . info ( "File Type:" , a ) ; switch ( a ) { case "geojson" : b = ".geojson,.json" ; break ; case "gml" : b = ".gml,.xml" ; break ; case "gpkg" : b = ".gpkg" ; break ; case "shp" : b = "application/zip" ; break ; case "spatialite" : b = ".sqlite" } this . importFileInput . setAttribute ( "accept" , b ) } ;
d . readAsArrayBuffer ( a ) ; break ; case "gml" : console . info ( "GML detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerGML ( a . target . result ) ) } ; d . readAsText ( a ) ; break ; case "sqlite" : console . info ( "Spatialite detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerSpatialite ( a . target . result ) ) } ; d . readAsArrayBuffer ( a ) ; break ; case "gpkg" : console . info ( "GeoPackage detected:" , a . name ) , d = new FileReader , d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerGeopackage ( a . target . result ) ) } ,
netgis . Client . prototype . onImportFileClick = function ( a ) { if ( a = this . importFileInput . files [ 0 ] ) { var b = this ; switch ( netgis . util . getFileExtension ( a . name ) . toLowerCase ( ) ) { case "geojson" : console . info ( "GeoJSON detected:" , a . name ) ; var c = new FileReader ; c . onload = function ( a ) { a = JSON . parse ( a . target . result ) ; b . map . addEditFeaturesGeoJSON ( a , ! 0 ) ; b . map . zoomGeoJSON ( a ) ; b . editFolder . classList . remove ( "netgis-hide" ) } ; c . readAsText ( a ) ; break ; case "zip" : console . info ( "Shapefile Zip detected:" , a . name ) ; c = new FileReader ; c . onload = function ( a ) { b . map . addEditFeaturesShapefile ( a . target . result ) ;
d . readAsArrayBuffer ( a ) } } else alert ( "No file selected!" ) } ;
b . editFolder . classList . remove ( "netgis-hide" ) } ; c . readAsArrayBuffer ( a ) ; break ; case "gml" : console . info ( "GML detected:" , a . name ) ; c = new FileReader ; c . onload = function ( a ) { a = b . map . createLayerGML ( a . target . result ) ; b . map . addEditFeaturesFromLayer ( a ) ; b . editFolder . classList . remove ( "netgis-hide" ) } ; c . readAsText ( a ) ; break ; case "sqlite" : console . info ( "Spatialite detected:" , a . name ) ; c = new FileReader ; c . onload = function ( a ) { b . map . addEditFeaturesSpatialite ( a . target . result ) ; b . editFolder . classList . remove ( "netgis-hide" ) } ; c . readAsArrayBuffer ( a ) ;
break ; case "gpkg" : console . info ( "GeoPackage detected:" , a . name ) , c = new FileReader , c . onload = function ( a ) { b . map . addEditFeaturesGeopackage ( a . target . result ) ; b . editFolder . classList . remove ( "netgis-hide" ) } , c . readAsArrayBuffer ( a ) } this . importModal . hide ( ) } else alert ( "No file selected!" ) } ;
netgis . Client . prototype . addImportLayer = function ( a , b ) { this . importCounter || ( this . importCounter = 0 ) ; var c = this . importCounter + 1 ; c = "import-" + c ; this . importCounter += 1 ; this . layerTree . addCheckbox ( this . importFolder , c , a ) ; this . importFolder . classList . remove ( "netgis-hide" ) ; this . importLayers [ c ] = b ; this . map . setLayerOrder ( b , this . map . importLayerID ) ; a = this . config . styles [ "import" ] ; this . map . setLayerStyleSimple ( b , a . fill , a . stroke , a . width ) ; this . map . addLayer ( c , b ) ; this . layerTree . setItemChecked ( c , ! 0 ) ; this . map . zoomLayer ( c ) ; this . importModal . hide ( ) } ;
netgis . Client . prototype . addImportLayer = function ( a , b ) { this . importCounter || ( this . importCounter = 0 ) ; var c = this . importCounter + 1 ; c = "import-" + c ; this . importCounter += 1 ; this . layerTree . addCheckbox ( this . importFolder , c , a ) ; this . importFolder . classList . remove ( "netgis-hide" ) ; this . importLayers [ c ] = b ; this . map . setLayerOrder ( b , this . map . importLayerID ) ; a = this . config . styles [ "import" ] ; this . map . setLayerStyleSimple ( b , a . fill , a . stroke , a . width ) ; this . map . addLayer ( c , b ) ; this . layerTree . setItemChecked ( c , ! 0 ) ; this . map . zoomLayer ( c ) ; this . importModal . hide ( ) } ;
netgis . Client . prototype . onImportServiceClick = function ( a ) { this . importServiceDetails . classList . add ( "netgis-hide" ) ; var b = this . importServiceInput . value ; b = b . trim ( ) ; if ( ! ( 1 > b . length ) ) { var c = b . indexOf ( "?" ) ; this . importServiceBaseURL = a = - 1 < c ? b . substr ( 0 , c ) : b ; var d = [ "request=GetCapabilities" ] ; if ( - 1 < c ) for ( b = b . substr ( c + 1 ) , b = b . split ( "&" ) , c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; e = e . toLowerCase ( ) ; - 1 < e . search ( "service" ) ? d . push ( e ) : - 1 < e . search ( "version" ) && d . push ( e ) } a = a + "?" + d . join ( "&" ) ; - 1 === a . search ( "service=" ) ? ( netgis . util . request ( a +
netgis . Client . prototype . onImportServiceClick = function ( a ) { this . importServiceDetails . classList . add ( "netgis-hide" ) ; var b = this . importServiceInput . value ; b = b . trim ( ) ; if ( ! ( 1 > b . length ) ) { var c = b . indexOf ( "?" ) ; this . importServiceBaseURL = a = - 1 < c ? b . substr ( 0 , c ) : b ; var d = [ "request=GetCapabilities" ] ; if ( - 1 < c ) for ( b = b . substr ( c + 1 ) , b = b . split ( "&" ) , c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; e = e . toLowerCase ( ) ; - 1 < e . search ( "service" ) ? d . push ( e ) : - 1 < e . search ( "version" ) && d . push ( e ) } a = a + "?" + d . join ( "&" ) ; - 1 === a . search ( "service=" ) ? ( netgis . util . request ( a +
"&service=WMS" , this . onImportServiceCapsResponse . bind ( this ) ) , netgis . util . request ( a + "&service=WFS" , this . onImportServiceCapsResponse . bind ( this ) ) ) : netgis . util . request ( a , this . onImportServiceCapsResponse . bind ( this ) ) } } ;
"&service=WMS" , this . onImportServiceCapsResponse . bind ( this ) ) , netgis . util . request ( a + "&service=WFS" , this . onImportServiceCapsResponse . bind ( this ) ) ) : netgis . util . request ( a , this . onImportServiceCapsResponse . bind ( this ) ) } } ;
@ -77,7 +79,7 @@ netgis.Client.prototype.onImportServiceCapsResponse=function(a){var b=(new DOMPa
for ( g = 0 ; g < c . length ; g ++ ) d = c [ g ] , e = d . textContent , b . push ( e ) , d = document . createElement ( "option" ) , d . text = e , d . value = e , a . options . add ( d ) ; break ; case "WFS_Capabilities" : case "wfs:WFS_Capabilities" : this . importServiceType = "wfs" ; b . getAttribute ( "version" ) ; d = b . getElementsByTagName ( "ows:ServiceIdentification" ) [ 0 ] ; d = d . getElementsByTagName ( "ows:Title" ) [ 0 ] . textContent ; this . importServiceNameInput . value = d ; e = b . getElementsByTagName ( "FeatureType" ) ; f = [ ] ; for ( g = 0 ; g < e . length ; g ++ ) d = e [ g ] , h = d . getElementsByTagName ( "Name" ) [ 0 ] . textContent ,
for ( g = 0 ; g < c . length ; g ++ ) d = c [ g ] , e = d . textContent , b . push ( e ) , d = document . createElement ( "option" ) , d . text = e , d . value = e , a . options . add ( d ) ; break ; case "WFS_Capabilities" : case "wfs:WFS_Capabilities" : this . importServiceType = "wfs" ; b . getAttribute ( "version" ) ; d = b . getElementsByTagName ( "ows:ServiceIdentification" ) [ 0 ] ; d = d . getElementsByTagName ( "ows:Title" ) [ 0 ] . textContent ; this . importServiceNameInput . value = d ; e = b . getElementsByTagName ( "FeatureType" ) ; f = [ ] ; for ( g = 0 ; g < e . length ; g ++ ) d = e [ g ] , h = d . getElementsByTagName ( "Name" ) [ 0 ] . textContent ,
k = d . getElementsByTagName ( "Title" ) [ 0 ] . textContent , f . push ( { name : h , title : k } ) , d = document . createElement ( "option" ) , d . text = k , d . value = h , c . options . add ( d ) ; b = b . getElementsByTagName ( "ows:Operation" ) ; d = null ; for ( c = 0 ; c < b . length ; c ++ ) if ( "GetFeature" === b [ c ] . getAttribute ( "name" ) ) { d = b [ c ] ; break } b = null ; if ( d ) for ( d = d . getElementsByTagName ( "ows:Parameter" ) , c = 0 ; c < d . length ; c ++ ) if ( g = d [ c ] , "outputFormat" === g . getAttribute ( "name" ) ) { c = g . getElementsByTagName ( "ows:Value" ) ; for ( g = 0 ; g < c . length ; g ++ ) d = c [ g ] , e = d . textContent , d = document . createElement ( "option" ) ,
k = d . getElementsByTagName ( "Title" ) [ 0 ] . textContent , f . push ( { name : h , title : k } ) , d = document . createElement ( "option" ) , d . text = k , d . value = h , c . options . add ( d ) ; b = b . getElementsByTagName ( "ows:Operation" ) ; d = null ; for ( c = 0 ; c < b . length ; c ++ ) if ( "GetFeature" === b [ c ] . getAttribute ( "name" ) ) { d = b [ c ] ; break } b = null ; if ( d ) for ( d = d . getElementsByTagName ( "ows:Parameter" ) , c = 0 ; c < d . length ; c ++ ) if ( g = d [ c ] , "outputFormat" === g . getAttribute ( "name" ) ) { c = g . getElementsByTagName ( "ows:Value" ) ; for ( g = 0 ; g < c . length ; g ++ ) d = c [ g ] , e = d . textContent , d = document . createElement ( "option" ) ,
d . text = e , d . value = e , a . options . add ( d ) , - 1 < e . search ( "json" ) && ( b = e ) ; break } b && ( a . value = b ) } this . importServiceDetails . classList . remove ( "netgis-hide" ) } ;
d . text = e , d . value = e , a . options . add ( d ) , - 1 < e . search ( "json" ) && ( b = e ) ; break } b && ( a . value = b ) } this . importServiceDetails . classList . remove ( "netgis-hide" ) } ;
netgis . Client . prototype . onImportServiceAccept = function ( a ) { a = this . importServiceBaseURL ; var b = this . importServiceNameInput . value , c = this . importServiceLayerSelect . value , d = this . importServiceFormatSelect . value ; switch ( this . importServiceType ) { case "wms" : this . addImportLayer ( b , this . map . createLayerWMS ( a , c , d , ! 1 ) ) ; break ; case "wfs" : this . addImportLayer ( b , this . map . createLayerWFS ( a + "?" , c , null , d ) ) } } ;
netgis . Client . prototype . onImportServiceAccept = function ( a ) { a = this . importServiceBaseURL ; var b = this . importServiceNameInput . value , c = this . importServiceLayerSelect . value , d = this . importServiceFormatSelect . value ; switch ( this . importServiceType ) { case "wms" : this . addImportLayer ( b , this . map . createLayerWMS ( a , c , d , ! 1 ) ) ; break ; case "wfs" : this . addImportLayer ( b , this . map . createLayerWFS ( a + "?" , c , null , d ) ) } } ; netgis . Client . prototype . onImportShow = function ( a ) { this . importModal . show ( ) } ;
netgis . Client . prototype . onExportShow = function ( a ) { this . exportWidthInput . value = this . map . getWidth ( ) ; this . exportHeightInput . value = this . map . getHeight ( ) ; this . exportLandscapeInput . checked = this . exportWidthInput . value > this . exportHeightInput . value ; this . toolboxPanel . hide ( ) ; this . exportModal . show ( ) } ;
netgis . Client . prototype . onExportShow = function ( a ) { this . exportWidthInput . value = this . map . getWidth ( ) ; this . exportHeightInput . value = this . map . getHeight ( ) ; this . exportLandscapeInput . checked = this . exportWidthInput . value > this . exportHeightInput . value ; this . toolboxPanel . hide ( ) ; this . exportModal . show ( ) } ;
netgis . Client . prototype . onExportFormatChange = function ( a ) { "pdf" === this . exportFormatSelect . value ? ( this . exportPaddingInput . parentNode . classList . remove ( "netgis-hide" ) , this . exportLandscapeInput . parentNode . classList . remove ( "netgis-hide" ) ) : ( this . exportPaddingInput . parentNode . classList . add ( "netgis-hide" ) , this . exportLandscapeInput . parentNode . classList . add ( "netgis-hide" ) ) } ;
netgis . Client . prototype . onExportFormatChange = function ( a ) { "pdf" === this . exportFormatSelect . value ? ( this . exportPaddingInput . parentNode . classList . remove ( "netgis-hide" ) , this . exportLandscapeInput . parentNode . classList . remove ( "netgis-hide" ) ) : ( this . exportPaddingInput . parentNode . classList . add ( "netgis-hide" ) , this . exportLandscapeInput . parentNode . classList . add ( "netgis-hide" ) ) } ;
netgis . Client . prototype . onExportButtonClick = function ( a ) { a = this . exportFormatSelect . value ; var b = Number . parseInt ( this . exportWidthInput . value ) , c = Number . parseInt ( this . exportHeightInput . value ) , d = Number . parseInt ( this . exportPaddingInput . value ) ; this . map . exportImage ( a , b , c , this . exportLandscapeInput . checked , d ) } ; netgis = netgis || { } ; netgis . Controls = function ( ) { this . initElements ( ) } ;
netgis . Client . prototype . onExportButtonClick = function ( a ) { a = this . exportFormatSelect . value ; var b = Number . parseInt ( this . exportWidthInput . value ) , c = Number . parseInt ( this . exportHeightInput . value ) , d = Number . parseInt ( this . exportPaddingInput . value ) ; this . map . exportImage ( a , b , c , this . exportLandscapeInput . checked , d ) } ; netgis = netgis || { } ; netgis . Controls = function ( ) { this . initElements ( ) } ;
@ -87,13 +89,13 @@ netgis.Controls.prototype.load=function(){this.root=document.createElement("sect
a . title = "Herauszoomen" ; a . addEventListener ( "click" , this . onZoomOutClick . bind ( this ) ) ; this . root . appendChild ( a ) ; this . client . root . appendChild ( this . root ) } ; netgis . Controls . prototype . onZoomInClick = function ( a ) { netgis . util . invoke ( this . container , netgis . Events . CONTROLS _ZOOM , 1 ) } ; netgis . Controls . prototype . onZoomOutClick = function ( a ) { netgis . util . invoke ( this . container , netgis . Events . CONTROLS _ZOOM , - 1 ) } ;
a . title = "Herauszoomen" ; a . addEventListener ( "click" , this . onZoomOutClick . bind ( this ) ) ; this . root . appendChild ( a ) ; this . client . root . appendChild ( this . root ) } ; netgis . Controls . prototype . onZoomInClick = function ( a ) { netgis . util . invoke ( this . container , netgis . Events . CONTROLS _ZOOM , 1 ) } ; netgis . Controls . prototype . onZoomOutClick = function ( a ) { netgis . util . invoke ( this . container , netgis . Events . CONTROLS _ZOOM , - 1 ) } ;
netgis . Controls . prototype . onZoomAllClick = function ( a ) { netgis . util . invoke ( this . container , netgis . Events . CONTROLS _ZOOM _ALL , null ) } ; netgis . Controls . prototype . onSettings = function ( a ) { alert ( "TODO: settings dialog" ) } ; netgis = netgis || { } ;
netgis . Controls . prototype . onZoomAllClick = function ( a ) { netgis . util . invoke ( this . container , netgis . Events . CONTROLS _ZOOM _ALL , null ) } ; netgis . Controls . prototype . onSettings = function ( a ) { alert ( "TODO: settings dialog" ) } ; netgis = netgis || { } ;
netgis . Events = Object . freeze ( { PANEL _RESIZE : "panel-resize" , PANEL _TOGGLE : "panel-toggle" , LAYERS _TOGGLE : "layers-toggle" , TOOLBOX _TOGGLE : "toolbox-toggle" , CONTROLS _ZOOM : "controls-zoom" , CONTROLS _ZOOM _ALL : "controls-zoom-all" , MAP _FEATURE _ENTER : "map-feature-enter" , MAP _FEATURE _HOVER : "map-feature-hover" , MAP _FEATURE _CLICK : "map-feature-click" , MAP _FEATURE _LEAVE : "map-feature-leave" , PARCELS _RESET : "parcels-reset" , PARCELS _FIELDS _RESPONSE : "parcels-fields-response" , PARCELS _RESPONSE : "parcels-response" , PARCELS _ITEM _ENTER : "parcels-item-enter" ,
netgis . Events = Object . freeze ( { PANEL _RESIZE : "panel-resize" , PANEL _TOGGLE : "panel-toggle" , LAYERS _TOGGLE : "layers-toggle" , TOOLBOX _TOGGLE : "toolbox-toggle" , CONTROLS _ZOOM : "controls-zoom" , CONTROLS _ZOOM _ALL : "controls-zoom-all" , MAP _FEATURE _ENTER : "map-feature-enter" , MAP _FEATURE _HOVER : "map-feature-hover" , MAP _FEATURE _CLICK : "map-feature-click" , MAP _FEATURE _LEAVE : "map-feature-leave" , PARCELS _RESET : "parcels-reset" , PARCELS _FIELDS _RESPONSE : "parcels-fields-response" , PARCELS _RESPONSE : "parcels-response" , PARCELS _ITEM _ENTER : "parcels-item-enter" ,
PARCELS _ITEM _LEAVE : "parcels-item-leave" , PARCELS _ITEM _CLICK : "parcels-item-click" , PARCELS _ITEM _IMPORT _CLICK : "parcels-item-import-click" , SNAP _TOGGLE : "snap-toggle" , BUFFER _TOGGLE : "buffer-toggle" , TRACING _TOGGLE : "tracing-toggle" , EXPORT_SHOW : "export-show" , CONTEXT _UPDATE : "CONTEXT_UPDATE" , SET _MODE : "SET_MODE" , LAYER _LIST _TOGGLE : "LAYER_LIST_TOGGLE" , PANEL _SHOW : "PANEL_SHOW" , PANEL _HIDE : "PANEL_HIDE" , LAYER _SHOW : "LAYER_SHOW" , LAYER _HIDE : "LAYER_HIDE" , LAYER _CREATED : "LAYER_CREATED" , MAP _ZOOM _WKT : "MAP_ZOOM_WKT" , MAP _SET _EXTENT : "MAP_SET_EXTENT" ,
PARCELS _ITEM _LEAVE : "parcels-item-leave" , PARCELS _ITEM _CLICK : "parcels-item-click" , PARCELS _ITEM _IMPORT _CLICK : "parcels-item-import-click" , SNAP _TOGGLE : "snap-toggle" , BUFFER _TOGGLE : "buffer-toggle" , TRACING _TOGGLE : "tracing-toggle" , IMPORT_SHOW : "import-show" , EXPORT_SHOW : "export-show" , CONTEXT _UPDATE : "CONTEXT_UPDATE" , SET _MODE : "SET_MODE" , LAYER _LIST _TOGGLE : "LAYER_LIST_TOGGLE" , PANEL _SHOW : "PANEL_SHOW" , PANEL _HIDE : "PANEL_HIDE" , LAYER _SHOW : "LAYER_SHOW" , LAYER _HIDE : "LAYER_HIDE" , LAYER _CREATED : "LAYER_CREATED" , MAP _ZOOM _WKT : "MAP_ZOOM_WKT" ,
MAP _CHANGE _ZOOM : "MAP_CHANGE_ZOOM" , MAP _UPDATE _STYLE : "MAP_UPDATE_STYLE" , MAP _MODE _POINTS : "MAP_MODE_POINTS" , MAP _MODE _LINES : "MAP_MODE_LINES" , MAP _MODE _POLYGONS : "MAP_MODE_POLYGONS" , EDIT _FEATURES _LOADED : "EDIT_FEATURES_LOADED" , EDIT _FEATURES _CHANGE : "EDIT_FEATURES_CHANGE" , SEARCH _PLACE _REQUEST : "SEARCH_PLACE_REQUEST" , SEARCH _PLACE _RESPONSE : "SEARCH_PLACE_RESPONSE" , PARCEL _SHOW _PREVIEW : "PARCEL_SHOW_PREVIEW" , PARCEL _HIDE _PREVIEW : "PARCEL_HIDE_PREVIEW" , BUFFER _CHANGE : "BUFFER_CHANGE" , BUFFER _ACCEPT : "BUFFER_ACCEPT" , BUFFER _CANCEL : "BUFFER_CANCEL" ,
MAP _SET _EXTENT : "MAP_SET_EXTENT" , MAP _CHANGE _ZOOM : "MAP_CHANGE_ZOOM" , MAP _UPDATE _STYLE : "MAP_UPDATE_STYLE" , MAP _MODE _POINTS : "MAP_MODE_POINTS" , MAP _MODE _LINES : "MAP_MODE_LINES" , MAP _MODE _POLYGONS : "MAP_MODE_POLYGONS" , EDIT _FEATURES _LOADED : "EDIT_FEATURES_LOADED" , EDIT _FEATURES _CHANGE : "EDIT_FEATURES_CHANGE" , SEARCH _PLACE _REQUEST : "SEARCH_PLACE_REQUEST" , SEARCH _PLACE _RESPONSE : "SEARCH_PLACE_RESPONSE" , PARCEL _SHOW _PREVIEW : "PARCEL_SHOW_PREVIEW" , PARCEL _HIDE _PREVIEW : "PARCEL_HIDE_PREVIEW" , BUFFER _CHANGE : "BUFFER_CHANGE" , BUFFER _ACCEPT : "BUFFER_ACCEPT" ,
DRAW _BUFFER _ON : "DRAW_BUFFER_ON" , DRAW _BUFFER _OFF : "DRAW_BUFFER_OFF" , DRAW _BUFFER _RADIUS _CHANGE : "DRAW_BUFFER_RADIUS_CHANGE" , DRAW _BUFFER _SEGMENTS _CHANGE : "DRAW_BUFFER_SEGMENTS_CHANGE" , SNAP _ON : "SNAP_ON" , SNAP _OFF : "SNAP_OFF" , TRACING _ON : "TRACING_ON" , TRACING _OFF : "TRACING_OFF" , IMPORT _SHAPEFILE _SHOW : "IMPORT_SHAPEFILE_SHOW" , IMPORT _GEOJSON _SHOW : "IMPORT_GEOJSON_SHOW" , IMPORT _GML _SHOW : "IMPORT_GML_SHOW" , IMPORT _SPATIALITE _SHOW : "IMPORT_SPATIALITE_SHOW" , IMPORT _GEOPACKAGE _SHOW : "IMPORT_GEOPACKAGE_SHOW" , IMPORT _SHAPEFILE : "IMPORT_SHAPEFILE" ,
BUFFER _CANCEL : "BUFFER_CANCEL" , DRAW _BUFFER _ON : "DRAW_BUFFER_ON" , DRAW _BUFFER _OFF : "DRAW_BUFFER_OFF" , DRAW _BUFFER _RADIUS _CHANGE : "DRAW_BUFFER_RADIUS_CHANGE" , DRAW _BUFFER _SEGMENTS _CHANGE : "DRAW_BUFFER_SEGMENTS_CHANGE" , SNAP _ON : "SNAP_ON" , SNAP _OFF : "SNAP_OFF" , TRACING _ON : "TRACING_ON" , TRACING _OFF : "TRACING_OFF" , IMPORT _SHAPEFILE _SHOW : "IMPORT_SHAPEFILE_SHOW" , IMPORT _GEOJSON _SHOW : "IMPORT_GEOJSON_SHOW" , IMPORT _GML _SHOW : "IMPORT_GML_SHOW" , IMPORT _SPATIALITE _SHOW : "IMPORT_SPATIALITE_SHOW" , IMPORT _GEOPACKAGE _SHOW : "IMPORT_GEOPACKAGE_SHOW" ,
IMPORT _GEOJSON : "IMPORT_GEOJSON" , IMPORT _GML : "IMPORT_GML" , IMPORT _WKT : "IMPORT_WKT" , IMPORT _SPATIALITE : "IMPORT_SPATIALITE" , IMPORT _GEOPACKAGE : "IMPORT_GEOPACKAGE" , EXPORT _PDF _SHOW : "EXPORT_PDF_SHOW" , EXPORT _JPEG _SHOW : "EXPORT_JPEG_SHOW" , EXPORT _PNG _SHOW : "EXPORT_PNG_SHOW" , EXPORT _GIF _SHOW : "EXPORT_GIF_SHOW" , EXPORT _PDF : "EXPORT_PDF" , EXPORT _JPEG : "EXPORT_JPEG" , EXPORT _PNG : "EXPORT_PNG" , EXPORT _GIF : "EXPORT_GIF" , EXPORT _BEGIN : "EXPORT_BEGIN" , EXPORT _END : "EXPORT_END" , ADD _SERVICE _SHOW : "ADD_SERVICE_SHOW" , ADD _SERVICE _WMS : "ADD_SERVICE_WMS" ,
IMPORT _SHAPEFILE : "IMPORT_SHAPEFILE" , IMPORT _GEOJSON : "IMPORT_GEOJSON" , IMPORT _GML : "IMPORT_GML" , IMPORT _WKT : "IMPORT_WKT" , IMPORT _SPATIALITE : "IMPORT_SPATIALITE" , IMPORT _GEOPACKAGE : "IMPORT_GEOPACKAGE" , EXPORT _PDF _SHOW : "EXPORT_PDF_SHOW" , EXPORT _JPEG _SHOW : "EXPORT_JPEG_SHOW" , EXPORT _PNG _SHOW : "EXPORT_PNG_SHOW" , EXPORT _GIF _SHOW : "EXPORT_GIF_SHOW" , EXPORT _PDF : "EXPORT_PDF" , EXPORT _JPEG : "EXPORT_JPEG" , EXPORT _PNG : "EXPORT_PNG" , EXPORT _GIF : "EXPORT_GIF" , EXPORT _BEGIN : "EXPORT_BEGIN" , EXPORT _END : "EXPORT_END" , ADD _SERVICE _SHOW : "ADD_SERVICE_SHOW" ,
ADD _SERVICE _WFS : "ADD_SERVICE_WFS" } ) ; netgis = netgis || { } ; netgis . LayerTypes = Object . freeze ( { XYZ : "XYZ" , OSM : "OSM" , WMS : "WMS" , WFS : "WFS" , KML : "KML" } ) ; netgis = netgis || { } ; netgis . Map = function ( ) { this . attribution = this . root = this . client = null } ; netgis . Map . prototype . load = function ( ) { this . root = document . createElement ( "section" ) ; this . root . className = "netgis-map" ; this . client . root . appendChild ( this . root ) } ; netgis = netgis || { } ;
ADD _SERVICE _WMS : "ADD_SERVICE_WMS" , ADD _SERVICE _WFS : "ADD_SERVICE_WFS" } ) ; netgis = netgis || { } ; netgis . LayerTypes = Object . freeze ( { XYZ : "XYZ" , OSM : "OSM" , WMS : "WMS" , WFS : "WFS" , KML : "KML" } ) ; netgis = netgis || { } ; netgis . Map = function ( ) { this . attribution = this . root = this . client = null } ; netgis . Map . prototype . load = function ( ) { this . root = document . createElement ( "section" ) ; this . root . className = "netgis-map" ; this . client . root . appendChild ( this . root ) } ; netgis = netgis || { } ;
netgis . MapOpenLayers = function ( a ) { this . activeLayers = { } ; this . projection = a . map . projection ; this . geopackageLibURL= a [ "import" ] . geopackageLibURL ; this . config= a ; this . mode = null ; this . toolbars = { } ; this . map = this . view = null ; this . layers = [ ] ; this . interactions = { } ; this . sketch = this . selected = this . hoverLayer = this . hoverFeature = this . parcelLayer = this . editLayer = this . snapFeatures = this . snap = null ; this . editEventsSilent = ! 1 ; this . importLayerID = 2E4 ; this . editLayerID = 3E4 ; this . labelFont = "4mm Verdana, sans-serif" ; this . drawBufferRadius = 100 ;
netgis . MapOpenLayers = function ( a ) { this . activeLayers = { } ; this . projection = a . map . projection ; this . config= a ; this . mode = null ; this . toolbars = { } ; this . map = this . view = null ; this . layers = [ ] ; this . interactions = { } ; this . sketch = this . selected = this . hoverLayer = this . hoverFeature = this . parcelLayer = this . editLayer = this . snapFeatures = this . snap = null ; this . editEventsSilent = ! 1 ; this . importLayerID = 2E4 ; this . editLayerID = 3E4 ; this . labelFont = "4mm Verdana, sans-serif" ; this . drawBufferRadius = 100 ; this . drawBufferSegments = 3 ; this . initElements ( ) ; this . initMap ( a ) ;
this . drawBufferSegments = 3 ; this . initElements ( ) ; this . initMap ( a ) ; this . initStyles ( a ) ; this . initDefaultLayers ( ) ; this . initInteractions ( ) ; this . initEvents ( ) } ; netgis . MapOpenLayers . prototype . initElements = function ( ) { this . container = document . createElement ( "section" ) ; this . container . className = "netgis-map" } ; netgis . MapOpenLayers . prototype . attach = function ( a ) { a . appendChild ( this . container ) } ; netgis . MapOpenLayers . prototype . initEvents = function ( ) { this . container . addEventListener ( "pointerleave" , this . onPointerLeave . bind ( this ) ) } ;
this . initStyles ( a ) ; this . initDefaultLayers ( ) ; this . initInteractions ( ) ; this . initEvents ( ) } ; netgis . MapOpenLayers . prototype . initElements = function ( ) { this . container = document . createElement ( "section" ) ; this . container . className = "netgis-map" } ; netgis . MapOpenLayers . prototype . attach = function ( a ) { a . appendChild ( this . container ) } ; netgis . MapOpenLayers . prototype . initEvents = function ( ) { this . container . addEventListener ( "pointerleave" , this . onPointerLeave . bind ( this ) ) } ;
netgis . MapOpenLayers . prototype . load = function ( ) { netgis . Map . prototype . load . call ( this ) ; this . dropTarget = document . createElement ( "div" ) ; this . dropTarget . className = "netgis-drop-target netgis-hide" ; this . dropTarget . innerHTML = "Datei hier ablegen!" ; this . container . appendChild ( this . dropTarget ) ; this . container . addEventListener ( "dragenter" , this . onDragEnter . bind ( this ) ) ; this . container . addEventListener ( "dragover" , this . onDragEnter . bind ( this ) ) ; this . container . addEventListener ( "dragend" , this . onDragLeave . bind ( this ) ) ; this . container . addEventListener ( "dragleave" ,
netgis . MapOpenLayers . prototype . load = function ( ) { netgis . Map . prototype . load . call ( this ) ; this . dropTarget = document . createElement ( "div" ) ; this . dropTarget . className = "netgis-drop-target netgis-hide" ; this . dropTarget . innerHTML = "Datei hier ablegen!" ; this . container . appendChild ( this . dropTarget ) ; this . container . addEventListener ( "dragenter" , this . onDragEnter . bind ( this ) ) ; this . container . addEventListener ( "dragover" , this . onDragEnter . bind ( this ) ) ; this . container . addEventListener ( "dragend" , this . onDragLeave . bind ( this ) ) ; this . container . addEventListener ( "dragleave" ,
this . onDragLeave . bind ( this ) ) ; this . container . addEventListener ( "drop" , this . onDragDrop . bind ( this ) ) ; this . initMap ( ) ; this . initDefaultLayers ( ) ; this . initInteractions ( ) ; this . client . on ( netgis . Events . CONTEXT _UPDATE , this . onContextUpdate . bind ( this ) ) ; this . client . on ( netgis . Events . MAP _UPDATE _STYLE , this . onUpdateStyle . bind ( this ) ) ; this . client . on ( netgis . Events . EDIT _FEATURES _LOADED , this . onEditFeaturesLoaded . bind ( this ) ) ; this . client . on ( netgis . Events . SET _MODE , this . onSetMode . bind ( this ) ) ; this . client . on ( netgis . Events . SNAP _ON ,
this . onDragLeave . bind ( this ) ) ; this . container . addEventListener ( "drop" , this . onDragDrop . bind ( this ) ) ; this . initMap ( ) ; this . initDefaultLayers ( ) ; this . initInteractions ( ) ; this . client . on ( netgis . Events . CONTEXT _UPDATE , this . onContextUpdate . bind ( this ) ) ; this . client . on ( netgis . Events . MAP _UPDATE _STYLE , this . onUpdateStyle . bind ( this ) ) ; this . client . on ( netgis . Events . EDIT _FEATURES _LOADED , this . onEditFeaturesLoaded . bind ( this ) ) ; this . client . on ( netgis . Events . SET _MODE , this . onSetMode . bind ( this ) ) ; this . client . on ( netgis . Events . SNAP _ON ,
this . onSnapOn . bind ( this ) ) ; this . client . on ( netgis . Events . SNAP _OFF , this . onSnapOff . bind ( this ) ) ; this . client . on ( netgis . Events . TRACING _ON , this . onTracingOn . bind ( this ) ) ; this . client . on ( netgis . Events . TRACING _OFF , this . onTracingOff . bind ( this ) ) ; this . client . on ( netgis . Events . LAYER _SHOW , this . onLayerShow . bind ( this ) ) ; this . client . on ( netgis . Events . LAYER _HIDE , this . onLayerHide . bind ( this ) ) ; this . client . on ( netgis . Events . MAP _ZOOM _WKT , this . onZoomWKT . bind ( this ) ) ; this . client . on ( netgis . Events . MAP _SET _EXTENT , this . onSetExtent . bind ( this ) ) ;
this . onSnapOn . bind ( this ) ) ; this . client . on ( netgis . Events . SNAP _OFF , this . onSnapOff . bind ( this ) ) ; this . client . on ( netgis . Events . TRACING _ON , this . onTracingOn . bind ( this ) ) ; this . client . on ( netgis . Events . TRACING _OFF , this . onTracingOff . bind ( this ) ) ; this . client . on ( netgis . Events . LAYER _SHOW , this . onLayerShow . bind ( this ) ) ; this . client . on ( netgis . Events . LAYER _HIDE , this . onLayerHide . bind ( this ) ) ; this . client . on ( netgis . Events . MAP _ZOOM _WKT , this . onZoomWKT . bind ( this ) ) ; this . client . on ( netgis . Events . MAP _SET _EXTENT , this . onSetExtent . bind ( this ) ) ;
@ -111,16 +113,20 @@ this.interactions[netgis.Modes.DRAW_POLYGONS]=[new ol.interaction.Draw({type:"Po
this . interactions [ netgis . Modes . CUT _FEATURE _DRAW ] [ 0 ] . on ( "drawend" , this . onCutFeatureDrawEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] = [ new ol . interaction . DragPan , new ol . interaction . Modify ( { source : this . editLayer . getSource ( ) , deleteCondition : ol . events . condition . doubleClick , style : this . styleModify . bind ( this ) } ) , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] [ 0 ] . on ( "modifyend" , this . onModifyFeaturesEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . DELETE _FEATURES ] =
this . interactions [ netgis . Modes . CUT _FEATURE _DRAW ] [ 0 ] . on ( "drawend" , this . onCutFeatureDrawEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] = [ new ol . interaction . DragPan , new ol . interaction . Modify ( { source : this . editLayer . getSource ( ) , deleteCondition : ol . events . condition . doubleClick , style : this . styleModify . bind ( this ) } ) , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] [ 0 ] . on ( "modifyend" , this . onModifyFeaturesEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . DELETE _FEATURES ] =
[ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _BEGIN ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _EDIT ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . snapFeatures = new ol . Collection ; this . interactions [ netgis . Modes . SEARCH _PLACE ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . SEARCH _PARCEL ] = this . interactions [ netgis . Modes . VIEW ] } ;
[ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _BEGIN ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _EDIT ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . snapFeatures = new ol . Collection ; this . interactions [ netgis . Modes . SEARCH _PLACE ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . SEARCH _PARCEL ] = this . interactions [ netgis . Modes . VIEW ] } ;
netgis . MapOpenLayers . prototype . addLayer = function ( a , b ) { b && ( b . set ( "id" , a ) , this . map . addLayer ( b ) , this . activeLayers [ a ] = b ) } ; netgis . MapOpenLayers . prototype . removeLayer = function ( a ) { var b = this . activeLayers [ a ] ; b && ( this . map . removeLayer ( b ) , delete this . activeLayers [ a ] ) } ; netgis . MapOpenLayers . prototype . createStyle = function ( a , b , c ) { var d = { } ; a && ( d . fill = new ol . style . Fill ( { color : a } ) ) ; b && ( d . stroke = new ol . style . Stroke ( { color : b , width : c ? c : 3 } ) ) ; return new ol . style . Style ( d ) } ;
netgis . MapOpenLayers . prototype . addLayer = function ( a , b ) { b && ( b . set ( "id" , a ) , this . map . addLayer ( b ) , this . activeLayers [ a ] = b ) } ; netgis . MapOpenLayers . prototype . removeLayer = function ( a ) { var b = this . activeLayers [ a ] ; b && ( this . map . removeLayer ( b ) , delete this . activeLayers [ a ] ) } ; netgis . MapOpenLayers . prototype . createStyle = function ( a , b , c ) { var d = { } ; a && ( d . fill = new ol . style . Fill ( { color : a } ) ) ; b && ( d . stroke = new ol . style . Stroke ( { color : b , width : c ? c : 3 } ) ) ; return new ol . style . Style ( d ) } ;
netgis . MapOpenLayers . prototype . setLayerStyle = function ( a , b ) { a . setStyle ( b ) } ; netgis . MapOpenLayers . prototype . setLayerStyleSimple = function ( a , b , c , d ) { this . setLayerStyle ( a , this . createStyle ( b , c , d ) ) } ; netgis . MapOpenLayers . prototype . setLayerStyleEdit = function ( a ) { a . setStyle ( this . styleEdit . bind ( this ) ) } ; netgis . MapOpenLayers . prototype . setLayerOrder = function ( a , b ) { a . setZIndex ( Number . parseInt ( b ) ) } ;
netgis . MapOpenLayers . prototype . setLayerStyle = function ( a , b ) { a . setStyle ? a . setStyle ( b ) : console . warn ( "setting style on a non-vector layer" , a , b ) } ; netgis . MapOpenLayers . prototype . setLayerStyleSimple = function ( a , b , c , d ) { this . setLayerStyle ( a , this . createStyle ( b , c , d ) ) } ; netgis . MapOpenLayers . prototype . setLayerStyleEdit = function ( a ) { a . setStyle ( this . styleEdit . bind ( this ) ) } ; netgis . MapOpenLayers . prototype . setLayerOrder = function ( a , b ) { a . setZIndex ( Number . parseInt ( b ) ) } ;
netgis . MapOpenLayers . prototype . createLayer = function ( a ) { var b = null ; switch ( a . type ) { case netgis . LayerTypes . XYZ : b = this . createLayerXYZ ( a . url ) ; break ; case netgis . LayerTypes . OSM : b = this . createLayerOSM ( ) ; break ; case netgis . LayerTypes . WMS : b = this . createLayerWMS ( a . url , a . name , a . format , a . tiled , a . username , a . password ) ; break ; case netgis . LayerTypes . WFS : b = this . createLayerWFS ( a . url , a . name , this . projection , a . format , a . username , a . password ) , ( a . fill || a . stroke || a . width ) && b . setStyle ( this . createStyle ( a . fill , a . stroke , a . width ) ) } b &&
netgis . MapOpenLayers . prototype . createLayer = function ( a ) { var b = null ; switch ( a . type ) { case netgis . LayerTypes . XYZ : b = this . createLayerXYZ ( a . url ) ; break ; case netgis . LayerTypes . OSM : b = this . createLayerOSM ( ) ; break ; case netgis . LayerTypes . WMS : b = this . createLayerWMS ( a . url , a . name , a . format , a . tiled , a . username , a . password ) ; break ; case netgis . LayerTypes . WFS : b = this . createLayerWFS ( a . url , a . name , this . projection , a . format , a . username , a . password ) , ( a . fill || a . stroke || a . width ) && b . setStyle ( this . createStyle ( a . fill , a . stroke , a . width ) ) } b &&
( a . minZoom && b . setMinZoom ( Number . parseFloat ( a . minZoom ) ) , a . maxZoom && b . setMaxZoom ( Number . parseFloat ( a . maxZoom ) ) , a . order && b . setZIndex ( Number . parseInt ( a . order ) ) ) ; return b } ; netgis . MapOpenLayers . prototype . createLayerXYZ = function ( a ) { return new ol . layer . Tile ( { source : new ol . source . XYZ ( { url : a , crossOrigin : "anonymous" } ) } ) } ; netgis . MapOpenLayers . prototype . createLayerOSM = function ( ) { return new ol . layer . Tile ( { source : new ol . source . OSM } ) } ;
( a . minZoom && b . setMinZoom ( Number . parseFloat ( a . minZoom ) ) , a . maxZoom && b . setMaxZoom ( Number . parseFloat ( a . maxZoom ) ) , a . order && b . setZIndex ( Number . parseInt ( a . order ) ) ) ; return b } ; netgis . MapOpenLayers . prototype . createLayerXYZ = function ( a ) { return new ol . layer . Tile ( { source : new ol . source . XYZ ( { url : a , crossOrigin : "anonymous" } ) } ) } ; netgis . MapOpenLayers . prototype . createLayerOSM = function ( ) { return new ol . layer . Tile ( { source : new ol . source . OSM } ) } ;
netgis . MapOpenLayers . prototype . createLayerWMS = function ( a , b , c , d , e , f ) { a = { url : a , params : { LAYERS : b , FORMAT : c ? c : "image/png" , TRANSPARENT : "true" , VERSION : "1.1.1" } , serverType : "mapserver" , crossOrigin : "anonymous" , hidpi : ! 1 } ; e && f && ( a . imageLoadFunction = function ( a , b ) { var c = new XMLHttpRequest ; c . open ( "GET" , b ) ; c . setRequestHeader ( "Authorization" , "Basic " + window . btoa ( e + ":" + f ) ) ; c . onload = function ( ) { a . getImage ( ) . src = b } ; c . send ( ) } ) ; d ? ( d = new ol . source . TileWMS ( a ) , d = new ol . layer . Tile ( { source : d } ) ) : ( d = new ol . source . ImageWMS ( a ) ,
netgis . MapOpenLayers . prototype . createLayerWMS = function ( a , b , c , d , e , f ) { a = { url : a , params : { LAYERS : b , FORMAT : c ? c : "image/png" , TRANSPARENT : "true" , VERSION : "1.1.1" } , serverType : "mapserver" , crossOrigin : "anonymous" , hidpi : ! 1 } ; e && f && ( a . imageLoadFunction = function ( a , b ) { var c = new XMLHttpRequest ; c . open ( "GET" , b ) ; c . setRequestHeader ( "Authorization" , "Basic " + window . btoa ( e + ":" + f ) ) ; c . onload = function ( ) { a . getImage ( ) . src = b } ; c . send ( ) } ) ; d ? ( d = new ol . source . TileWMS ( a ) , d = new ol . layer . Tile ( { source : d } ) ) : ( d = new ol . source . ImageWMS ( a ) ,
d = new ol . layer . Image ( { source : d } ) ) ; return d } ;
d = new ol . layer . Image ( { source : d } ) ) ; return d } ;
netgis . MapOpenLayers . prototype . createLayerWFS = function ( a , b , c , d , e , f ) { a += "service=WFS&version=1.1.0&request=GetFeature" ; c || ( c = this . projection ) ; d = d ? netgis . util . replace ( d , " " , "+" ) : "application/json; subtype=geojson" ; var g = new ol . source . Vector ( { format : new ol . format . GeoJSON , strategy : ol . loadingstrategy . bbox , loader : function ( h , k , n , q , p ) { h = a + "&typename=" + b + "&srsname=" + c + "&bbox=" + h . join ( "," ) + "," + c + "&outputFormat=" + d ; var l = new XMLHttpRequest ; l . open ( "GET" , h ) ; e && f && l . setRequestHeader ( "Authorization" , "Basic " + window . btoa ( e +
netgis . MapOpenLayers . prototype . createLayerWFS = function ( a , b , c , d , e , f ) { a += "service=WFS&version=1.1.0&request=GetFeature" ; c || ( c = this . projection ) ; d = d ? netgis . util . replace ( d , " " , "+" ) : "application/json; subtype=geojson" ; var g = new ol . source . Vector ( { format : new ol . format . GeoJSON , strategy : ol . loadingstrategy . bbox , loader : function ( h , k , n , p , q ) { h = a + "&typename=" + b + "&srsname=" + c + "&bbox=" + h . join ( "," ) + "," + c + "&outputFormat=" + d ; var l = new XMLHttpRequest ; l . open ( "GET" , h ) ; e && f && l . setRequestHeader ( "Authorization" , "Basic " + window . btoa ( e +
":" + f ) ) ; l . onerror = function ( ) { console . error ( "WFS Request Error" ) ; p ( ) } ; l . onload = function ( ) { if ( 200 === l . status ) { var a = g . getFormat ( ) . readFeatures ( l . responseText ) ; g . clear ( ) ; g . addFeatures ( a ) ; q ( a ) } else console . error ( "WFS Request Status" , l . status ) , p ( ) } ; l . send ( ) } } ) , h = new ol . layer . Vector ( { source : g } ) , k = this ; g . on ( "featuresloadstart" , function ( a ) { k . removeSnapLayer ( h ) } ) ; g . on ( "featuresloadend" , function ( a ) { window . setTimeout ( function ( ) { k . addSnapLayer ( h ) } , 10 ) } ) ; return h } ;
":" + f ) ) ; l . onerror = function ( ) { console . error ( "WFS Request Error" ) ; q ( ) } ; l . onload = function ( ) { if ( 200 === l . status ) { var a = g . getFormat ( ) . readFeatures ( l . responseText ) ; g . clear ( ) ; g . addFeatures ( a ) ; p ( a ) } else console . error ( "WFS Request Status" , l . status ) , q ( ) } ; l . send ( ) } } ) , h = new ol . layer . Vector ( { source : g } ) , k = this ; g . on ( "featuresloadstart" , function ( a ) { k . removeSnapLayer ( h ) } ) ; g . on ( "featuresloadend" , function ( a ) { window . setTimeout ( function ( ) { k . addSnapLayer ( h ) } , 10 ) } ) ; return h } ;
netgis . MapOpenLayers . prototype . clearAll = function ( ) { for ( var a = 0 ; a < this . layers . length ; a ++ ) this . map . removeLayer ( this . layers [ a ] ) ; this . layers = [ ] ; this . snapFeatures . clear ( ) } ; netgis . MapOpenLayers . prototype . addFeature = function ( a , b ) { a . getSource ( ) . addFeature ( b ) } ; netgis . MapOpenLayers . prototype . addEditFeature = function ( a ) { this . editLayer . getSource ( ) . addFeature ( a ) } ;
netgis . MapOpenLayers . prototype . clearAll = function ( ) { for ( var a = 0 ; a < this . layers . length ; a ++ ) this . map . removeLayer ( this . layers [ a ] ) ; this . layers = [ ] ; this . snapFeatures . clear ( ) } ; netgis . MapOpenLayers . prototype . addFeature = function ( a , b ) { a . getSource ( ) . addFeature ( b ) } ; netgis . MapOpenLayers . prototype . addEditFeature = function ( a ) { this . editLayer . getSource ( ) . addFeature ( a ) } ; netgis . MapOpenLayers . prototype . addEditFeaturesFromLayer = function ( a ) { a = a . getSource ( ) . getFeatures ( ) ; this . addImportedFeatures ( a ) } ;
netgis . MapOpenLayers . prototype . addEditFeaturesGeoJSON = function ( a , b ) { var c = new ol . format . GeoJSON ; c . readProjection ( a ) ; a = b ? c . readFeatures ( a , { featureProjection : this . projection } ) : c . readFeatures ( a ) ; this . editLayer . getSource ( ) . addFeatures ( a ) ; this . updateSnapFeatures ( ) } ; netgis . MapOpenLayers . prototype . createFeatureWKT = function ( a , b ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; b . geometry = a ; return new ol . Feature ( b ) } ; netgis . MapOpenLayers . prototype . createFeatureJSON = function ( a ) { return new ol . Feature ( a ) } ;
netgis . MapOpenLayers . prototype . addEditFeaturesGeoJSON = function ( a , b ) { var c = new ol . format . GeoJSON ; c . readProjection ( a ) ; a = b ? c . readFeatures ( a , { featureProjection : this . projection } ) : c . readFeatures ( a ) ; this . addImportedFeatures ( a ) } ; netgis . MapOpenLayers . prototype . addEditFeaturesShapefile = function ( a ) { var b = this ; shp ( a ) . then ( function ( a ) { var c = new ol . format . GeoJSON ; c . readProjection ( a ) ; a = c . readFeatures ( a , { featureProjection : b . projection } ) ; b . addImportedFeatures ( a ) } ) } ;
netgis . MapOpenLayers . prototype . onUpdateStyle = function ( a ) { a = new ol . style . Style ( { fill : new ol . style . Fill ( { color : a . polygon . fill } ) , stroke : new ol . style . Stroke ( { color : a . polygon . stroke , width : a . polygon . strokeWidth } ) } ) ; this . editLayer . setStyle ( a ) } ;
netgis . MapOpenLayers . prototype . addEditFeaturesGeopackage = function ( a ) { var b = this ; a = new Uint8Array ( a ) ; window . GeoPackage . setSqljsWasmLocateFile ( function ( a ) { return b . config [ "import" ] . geopackageLibURL + a } ) ; window . GeoPackage . GeoPackageAPI . open ( a ) . then ( function ( a ) { for ( var c = [ ] , e = new ol . format . GeoJSON , f = a . getFeatureTables ( ) , g = 0 ; g < f . length ; g ++ ) for ( var h = a . queryForGeoJSONFeaturesInTable ( f [ g ] ) , k = 0 ; k < h . length ; k ++ ) { var l = e . readGeometry ( h [ k ] . geometry , { featureProjection : b . projection } ) ; l = new ol . Feature ( { geometry : l } ) ;
c . push ( l ) } b . addImportedFeatures ( c ) } ) } ;
netgis . MapOpenLayers . prototype . addEditFeaturesSpatialite = function ( a ) { var b = this ; window . initSqlJs ( ) . then ( function ( c ) { var d = [ ] , e = new Uint8Array ( a ) ; c = new c . Database ( e ) ; var f = c . exec ( "SELECT name FROM sqlite_schema WHERE type = 'table' \n\t\t\t\t\tAND name NOT LIKE 'sqlite_%' \n\t\t\t\t\tAND name NOT LIKE 'sql_%' \n\t\t\t\t\tAND name NOT LIKE 'idx_%' \n\t\t\t\t\tAND name NOT LIKE 'spatial_ref_sys%' \n\t\t\t\t\tAND name NOT LIKE 'spatialite_%' \n\t\t\t\t\tAND name NOT LIKE 'geometry_columns%' \n\t\t\t\t\tAND name NOT LIKE 'views_%' \n\t\t\t\t\tAND name NOT LIKE 'virts_%' \n\t\t\t\t\tAND name NOT LIKE 'SpatialIndex' \n\t\t\t\t\tAND name NOT LIKE 'ElementaryGeometries' \n\t\t\t\t;" ) ; e =
f [ 0 ] . values ; for ( var g = 0 ; g < e . length ; g ++ ) { f = c . exec ( "SELECT * FROM " + e [ g ] [ 0 ] ) ; var h = f [ 0 ] ; f = null ; for ( var k = 0 ; k < h . columns . length ; k ++ ) { if ( "geometry" === h . columns [ k ] . toLowerCase ( ) ) { f = k ; break } if ( "geom" === h . columns [ k ] . toLowerCase ( ) ) { f = k ; break } } h = h . values ; for ( k = 0 ; k < h . length ; k ++ ) { var l = h [ k ] [ f ] , m = new Uint8Array ( l . length - 43 - 1 + 5 ) ; m [ 0 ] = l [ 1 ] ; m [ 1 ] = l [ 39 ] ; m [ 2 ] = l [ 40 ] ; m [ 3 ] = l [ 41 ] ; m [ 4 ] = l [ 42 ] ; for ( var n = l . length - 43 - 1 , p = 0 ; p < n ; p ++ ) m [ 5 + p ] = l [ 43 + p ] ; l = ( new ol . format . WKB ) . readGeometry ( m , { featureProjection : b . projection } ) ; d . push ( new ol . Feature ( { geometry : l } ) ) } } b . addImportedFeatures ( d ) } ) } ;
netgis . MapOpenLayers . prototype . createFeatureWKT = function ( a , b ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; b . geometry = a ; return new ol . Feature ( b ) } ; netgis . MapOpenLayers . prototype . createFeatureJSON = function ( a ) { return new ol . Feature ( a ) } ; netgis . MapOpenLayers . prototype . onUpdateStyle = function ( a ) { a = new ol . style . Style ( { fill : new ol . style . Fill ( { color : a . polygon . fill } ) , stroke : new ol . style . Stroke ( { color : a . polygon . stroke , width : a . polygon . strokeWidth } ) } ) ; this . editLayer . setStyle ( a ) } ;
netgis . MapOpenLayers . prototype . styleEdit = function ( a ) { var b = a . getGeometry ( ) , c = this . hoverFeature === a , d = c ? this . config . styles . select . fill : this . config . styles . editLayer . fill ; a = c ? this . config . styles . select . stroke : this . config . styles . editLayer . stroke ; d = new ol . style . Style ( { image : new ol . style . Circle ( { radius : c ? this . config . styles . select . pointRadius : this . config . styles . editLayer . pointRadius , fill : new ol . style . Fill ( { color : a } ) } ) , fill : new ol . style . Fill ( { color : d } ) , stroke : new ol . style . Stroke ( { color : a , width : this . config . styles . editLayer . strokeWidth } ) } ) ;
netgis . MapOpenLayers . prototype . styleEdit = function ( a ) { var b = a . getGeometry ( ) , c = this . hoverFeature === a , d = c ? this . config . styles . select . fill : this . config . styles . editLayer . fill ; a = c ? this . config . styles . select . stroke : this . config . styles . editLayer . stroke ; d = new ol . style . Style ( { image : new ol . style . Circle ( { radius : c ? this . config . styles . select . pointRadius : this . config . styles . editLayer . pointRadius , fill : new ol . style . Fill ( { color : a } ) } ) , fill : new ol . style . Fill ( { color : d } ) , stroke : new ol . style . Stroke ( { color : a , width : this . config . styles . editLayer . strokeWidth } ) } ) ;
c && d . setZIndex ( 1 ) ; b instanceof ol . geom . Polygon && ( b = b . getArea ( ) , d . setText ( new ol . style . Text ( { text : [ netgis . util . formatArea ( b , ! 0 ) , "4mm sans-serif" ] , font : this . labelFont , fill : new ol . style . Fill ( { color : a } ) , backgroundFill : new ol . style . Fill ( { color : "rgba( 255, 255, 255, 0.5 )" } ) , padding : [ 2 , 4 , 2 , 4 ] } ) ) ) ; return d } ;
c && d . setZIndex ( 1 ) ; b instanceof ol . geom . Polygon && ( b = b . getArea ( ) , d . setText ( new ol . style . Text ( { text : [ netgis . util . formatArea ( b , ! 0 ) , "4mm sans-serif" ] , font : this . labelFont , fill : new ol . style . Fill ( { color : a } ) , backgroundFill : new ol . style . Fill ( { color : "rgba( 255, 255, 255, 0.5 )" } ) , padding : [ 2 , 4 , 2 , 4 ] } ) ) ) ; return d } ;
netgis . MapOpenLayers . prototype . styleSelect = function ( a ) { var b = a . getGeometry ( ) ; a = new ol . style . Style ( { image : new ol . style . Circle ( { radius : this . client . config . styles . select . pointRadius , fill : new ol . style . Fill ( { color : this . client . config . styles . select . stroke } ) } ) , fill : new ol . style . Fill ( { color : this . client . config . styles . select . fill } ) , stroke : new ol . style . Stroke ( { color : this . client . config . styles . select . stroke , width : this . client . config . styles . select . strokeWidth } ) } ) ; b instanceof ol . geom . Polygon && ( b = b . getArea ( ) , a . setText ( new ol . style . Text ( { text : [ netgis . util . formatArea ( b ,
netgis . MapOpenLayers . prototype . styleSelect = function ( a ) { var b = a . getGeometry ( ) ; a = new ol . style . Style ( { image : new ol . style . Circle ( { radius : this . client . config . styles . select . pointRadius , fill : new ol . style . Fill ( { color : this . client . config . styles . select . stroke } ) } ) , fill : new ol . style . Fill ( { color : this . client . config . styles . select . fill } ) , stroke : new ol . style . Stroke ( { color : this . client . config . styles . select . stroke , width : this . client . config . styles . select . strokeWidth } ) } ) ; b instanceof ol . geom . Polygon && ( b = b . getArea ( ) , a . setText ( new ol . style . Text ( { text : [ netgis . util . formatArea ( b ,
@ -139,10 +145,10 @@ netgis.MapOpenLayers.prototype.setSnapOff=function(){this.snap&&(this.map.remove
netgis . MapOpenLayers . prototype . setTracingOff = function ( ) { var a = this . interactions [ netgis . Modes . DRAW _POLYGONS ] ; a [ 0 ] . setActive ( ! 0 ) ; a . splice ( a . indexOf ( this . tracing ) , 1 ) ; this . setMode ( this . mode ) } ; netgis . MapOpenLayers . prototype . addSnapLayer = function ( a ) { a = a . getSource ( ) . getFeatures ( ) ; for ( var b = 0 ; b < a . length ; b ++ ) this . snapFeatures . push ( a [ b ] ) } ; netgis . MapOpenLayers . prototype . removeSnapLayer = function ( a ) { a = a . getSource ( ) . getFeatures ( ) ; for ( var b = 0 ; b < a . length ; b ++ ) this . snapFeatures . remove ( a [ b ] ) } ;
netgis . MapOpenLayers . prototype . setTracingOff = function ( ) { var a = this . interactions [ netgis . Modes . DRAW _POLYGONS ] ; a [ 0 ] . setActive ( ! 0 ) ; a . splice ( a . indexOf ( this . tracing ) , 1 ) ; this . setMode ( this . mode ) } ; netgis . MapOpenLayers . prototype . addSnapLayer = function ( a ) { a = a . getSource ( ) . getFeatures ( ) ; for ( var b = 0 ; b < a . length ; b ++ ) this . snapFeatures . push ( a [ b ] ) } ; netgis . MapOpenLayers . prototype . removeSnapLayer = function ( a ) { a = a . getSource ( ) . getFeatures ( ) ; for ( var b = 0 ; b < a . length ; b ++ ) this . snapFeatures . remove ( a [ b ] ) } ;
netgis . MapOpenLayers . prototype . updateSnapFeatures = function ( ) { this . snapFeatures . clear ( ) ; var a = this ; this . map . getLayers ( ) . forEach ( function ( b , c , d ) { c = b . get ( "id" ) ; c !== netgis . Client . Layers . PARCEL _DISTRICTS && c !== netgis . Client . Layers . PARCEL _FIELDS && c !== netgis . Client . Layers . PARCEL _FEATURES && b instanceof ol . layer . Vector && a . addSnapLayer ( b ) } ) } ;
netgis . MapOpenLayers . prototype . updateSnapFeatures = function ( ) { this . snapFeatures . clear ( ) ; var a = this ; this . map . getLayers ( ) . forEach ( function ( b , c , d ) { c = b . get ( "id" ) ; c !== netgis . Client . Layers . PARCEL _DISTRICTS && c !== netgis . Client . Layers . PARCEL _FIELDS && c !== netgis . Client . Layers . PARCEL _FEATURES && b instanceof ol . layer . Vector && a . addSnapLayer ( b ) } ) } ;
netgis . MapOpenLayers . prototype . zoomExtent = function ( a , b , c , d ) { a = ol . proj . fromLonLat ( [ a , b ] , this . projection ) ; c = ol . proj . fromLonLat ( [ c , d ] , this . projection ) ; this . view . fit ( [ a [ 0 ] , a [ 1 ] , c [ 0 ] , c [ 1 ] ] ) } ; netgis . MapOpenLayers . prototype . zoomWKT = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; this . view . fit ( a , { duration : 300 } ) } ;
netgis . MapOpenLayers . prototype . zoomExtent = function ( a , b , c , d ) { a = ol . proj . fromLonLat ( [ a , b ] , this . projection ) ; c = ol . proj . fromLonLat ( [ c , d ] , this . projection ) ; this . view . fit ( [ a [ 0 ] , a [ 1 ] , c [ 0 ] , c [ 1 ] ] ) } ; netgis . MapOpenLayers . prototype . zoomWKT = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; this . view . fit ( a , { duration : 300 } ) } ;
netgis . MapOpenLayers . prototype . zoomGeoJSON = function ( a ) { a = ( new ol . format . GeoJSON ) . readFeatures ( a ); for ( var b = a [ 0 ] . getGeometry ( ) . getExtent ( ) , c = 1 ; c < a . length ; c ++ ) ol . extent . extend ( b , a [ c ] . getGeometry ( ) . getExtent ( ) ) ; this . view . fit ( b , { duration : 300 } ) } ; netgis . MapOpenLayers . prototype . zoomLayer = function ( a ) { a = this . activeLayers [ a ] .getSource ( ) . getExtent ( ) ; this . view . fit ( a , { duration : 300 } ) } ; netgis . MapOpenLayers . prototype . zoomFeature = function ( a ) { this . view . fit ( a . getGeometry ( ) , { duration : 300 } ) } ;
netgis . MapOpenLayers . prototype . zoomGeoJSON = function ( a ) { a = ( new ol . format . GeoJSON ) . readFeatures ( a ,{ } ); for ( var b = a [ 0 ] . getGeometry ( ) . getExtent ( ) , c = 1 ; c < a . length ; c ++ ) ol . extent . extend ( b , a [ c ] . getGeometry ( ) . getExtent ( ) ) ; this . view . fit ( b , { duration : 300 } ) } ; netgis . MapOpenLayers . prototype . zoomLayer = function ( a ) { var b = this . activeLayers [ a ] ;b || ( b = a ) ; b . getSource && b .getSource ( ) . getExtent && ( a = b . getSource ( ) . getExtent ( ) ) && Number . isFinite ( a [ 0 ] ) && this . view . fit ( a , { duration : 300 } ) } ;
netgis . MapOpenLayers . prototype . zoom = function ( a ) { this . view . animate ( { zoom : this . view . getZoom ( ) + a , duration : 200 } ) } ; netgis . MapOpenLayers . prototype . zoomLevel = function ( a ) { this . view . animate ( { zoom : a , center : this . view . getCenter ( ) , duration : 300 } ) } ; netgis . MapOpenLayers . prototype . zoomAll = function ( ) { var a = this . config . map ; this . view . animate ( { zoom : a . zoom , center : a . center , duration : 500 } ) } ; netgis . MapOpenLayers . prototype . setPadding = function ( a , b , c , d ) { this . view . padding = [ a + 40 , b + 40 , c + 40 , d + 40 ] } ;
netgis . MapOpenLayers . prototype . zoomFeature = function ( a ) { this . view . fit ( a . getGeometry ( ) , { duration : 300 } ) } ; netgis . MapOpenLayers . prototype . zoom = function ( a ) { this . view . animate ( { zoom : this . view . getZoom ( ) + a , duration : 200 } ) } ; netgis . MapOpenLayers . prototype . zoomLevel = function ( a ) { this . view . animate ( { zoom : a , center : this . view . getCenter ( ) , duration : 300 } ) } ; netgis . MapOpenLayers . prototype . zoomAll = function ( ) { var a = this . config . map ; this . view . animate ( { zoom : a . zoom , center : a . center , duration : 500 } ) } ;
netgis . MapOpenLayers . prototype . onSnapOn = function ( a ) { this . setSnapOn ( ) } ; netgis . MapOpenLayers . prototype . onSnapOff = function ( a ) { this . setSnapOff ( ) } ; netgis . MapOpenLayers . prototype . onTracingOn = function ( a ) { this . setTracingOn ( ) } ; netgis . MapOpenLayers . prototype . onTracingOff = function ( a ) { this . setTracingOff ( ) } ; netgis . MapOpenLayers . prototype . onLayerShow = function ( a ) { if ( a = this . layers [ a . id ] ) this . map . addLayer ( a ) , a instanceof ol . layer . Vector && this . addSnapLayer ( a ) } ;
netgis . MapOpenLayers . prototype . setPadding = function ( a , b , c , d ) { this . view . padding = [ a + 40 , b + 40 , c + 40 , d + 40 ] } ; netgis . MapOpenLayers . prototype . onSnapOn = function ( a ) { this . setSnapOn ( ) } ; netgis . MapOpenLayers . prototype . onSnapOff = function ( a ) { this . setSnapOff ( ) } ; netgis . MapOpenLayers . prototype . onTracingOn = function ( a ) { this . setTracingOn ( ) } ; netgis . MapOpenLayers . prototype . onTracingOff = function ( a ) { this . setTracingOff ( ) } ;
netgis . MapOpenLayers . prototype . onLayerHide = function ( a ) { if ( a = this . layers [ a . id ] ) this . map . removeLayer ( a ) , a instanceof ol . layer . Vector && this . removeSnapLayer ( a ) } ;
netgis . MapOpenLayers . prototype . onLayerShow = function ( a ) { if ( a = this . layers [ a . id ] ) this . map . addLayer ( a ) , a instanceof ol . layer . Vector && this . addSnapLayer ( a ) } ; netgis . MapOpenLayers . prototype . onLayerHide = function ( a ) { if ( a = this . layers [ a . id ] ) this . map . removeLayer ( a ) , a instanceof ol . layer . Vector && this . removeSnapLayer ( a ) } ;
netgis . MapOpenLayers . prototype . onContextUpdate = function ( a ) { this . clearAll ( ) ; if ( a = a . bbox ) { if ( netgis . util . isDefined ( this . client . config . map ) && netgis . util . isDefined ( this . client . config . map . projection ) ) { var b = ol . proj . fromLonLat ( [ a [ 0 ] , a [ 1 ] ] , this . client . config . map . projection ) ; var c = ol . proj . fromLonLat ( [ a [ 2 ] , a [ 3 ] ] , this . client . config . map . projection ) } else b = ol . proj . fromLonLat ( [ a [ 0 ] , a [ 1 ] ] ) , c = ol . proj . fromLonLat ( [ a [ 2 ] , a [ 3 ] ] ) ; a [ 0 ] = b [ 0 ] ; a [ 1 ] = b [ 1 ] ; a [ 2 ] = c [ 0 ] ; a [ 3 ] = c [ 1 ] ; this . view . fit ( a ) } } ;
netgis . MapOpenLayers . prototype . onContextUpdate = function ( a ) { this . clearAll ( ) ; if ( a = a . bbox ) { if ( netgis . util . isDefined ( this . client . config . map ) && netgis . util . isDefined ( this . client . config . map . projection ) ) { var b = ol . proj . fromLonLat ( [ a [ 0 ] , a [ 1 ] ] , this . client . config . map . projection ) ; var c = ol . proj . fromLonLat ( [ a [ 2 ] , a [ 3 ] ] , this . client . config . map . projection ) } else b = ol . proj . fromLonLat ( [ a [ 0 ] , a [ 1 ] ] ) , c = ol . proj . fromLonLat ( [ a [ 2 ] , a [ 3 ] ] ) ; a [ 0 ] = b [ 0 ] ; a [ 1 ] = b [ 1 ] ; a [ 2 ] = c [ 0 ] ; a [ 3 ] = c [ 1 ] ; this . view . fit ( a ) } } ;
netgis . MapOpenLayers . prototype . onAddServiceWMS = function ( a ) { var b = this . createLayerWMS ( a . url , a . name , a . format ) ; b . setZIndex ( a . id ) ; this . layers [ a . id ] = b } ; netgis . MapOpenLayers . prototype . onAddServiceWFS = function ( a ) { var b = this . createLayerWFS ( a . url , a . name , this . client . config . map . projection , a . format ) ; b . setZIndex ( a . id ) ; this . layers [ a . id ] = b } ; netgis . MapOpenLayers . prototype . onSetMode = function ( a ) { this . setMode ( a ) } ;
netgis . MapOpenLayers . prototype . onAddServiceWMS = function ( a ) { var b = this . createLayerWMS ( a . url , a . name , a . format ) ; b . setZIndex ( a . id ) ; this . layers [ a . id ] = b } ; netgis . MapOpenLayers . prototype . onAddServiceWFS = function ( a ) { var b = this . createLayerWFS ( a . url , a . name , this . client . config . map . projection , a . format ) ; b . setZIndex ( a . id ) ; this . layers [ a . id ] = b } ; netgis . MapOpenLayers . prototype . onSetMode = function ( a ) { this . setMode ( a ) } ;
netgis . MapOpenLayers . prototype . onSetExtent = function ( a ) { var b = ol . proj . fromLonLat ( [ a . minx , a . miny ] , this . client . config . map . projection ) ; a = ol . proj . fromLonLat ( [ a . maxx , a . maxy ] , this . client . config . map . projection ) ; this . view . fit ( [ b [ 0 ] , b [ 1 ] , a [ 0 ] , a [ 1 ] ] ) } ; netgis . MapOpenLayers . prototype . onChangeZoom = function ( a ) { this . view . animate ( { zoom : this . view . getZoom ( ) + a , duration : 200 } ) } ; netgis . MapOpenLayers . prototype . onZoomWKT = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; this . view . fit ( a , { duration : 300 , padding : [ 40 , 40 , 40 , 40 ] } ) } ;
netgis . MapOpenLayers . prototype . onSetExtent = function ( a ) { var b = ol . proj . fromLonLat ( [ a . minx , a . miny ] , this . client . config . map . projection ) ; a = ol . proj . fromLonLat ( [ a . maxx , a . maxy ] , this . client . config . map . projection ) ; this . view . fit ( [ b [ 0 ] , b [ 1 ] , a [ 0 ] , a [ 1 ] ] ) } ; netgis . MapOpenLayers . prototype . onChangeZoom = function ( a ) { this . view . animate ( { zoom : this . view . getZoom ( ) + a , duration : 200 } ) } ; netgis . MapOpenLayers . prototype . onZoomWKT = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; this . view . fit ( a , { duration : 300 , padding : [ 40 , 40 , 40 , 40 ] } ) } ;
@ -177,17 +183,17 @@ netgis.MapOpenLayers.prototype.gmlParsePolygon=function(a,b){var c=[];a=a.getEle
netgis . MapOpenLayers . prototype . gmlParseMultiPolygon = function ( a , b ) { var c = [ ] ; a = a . getElementsByTagName ( "gml:polygonMember" ) ; for ( var d = 0 ; d < a . length ; d ++ ) { var e = a [ d ] . getElementsByTagName ( "gml:Polygon" ) [ 0 ] ; c . push ( this . gmlParsePolygon ( e , b ) ) } return new ol . geom . MultiPolygon ( c ) } ; netgis . MapOpenLayers . prototype . gmlParseCoordinates = function ( a , b ) { a = a . split ( " " ) ; for ( var c = 0 ; c < a . length ; c ++ ) { a [ c ] = a [ c ] . split ( "," ) ; for ( var d = 0 ; d < a [ c ] . length ; d ++ ) a [ c ] [ d ] = Number . parseFloat ( a [ c ] [ d ] ) ; b && ( a [ c ] = ol . proj . transform ( a [ c ] , b , this . projection ) ) } return a } ;
netgis . MapOpenLayers . prototype . gmlParseMultiPolygon = function ( a , b ) { var c = [ ] ; a = a . getElementsByTagName ( "gml:polygonMember" ) ; for ( var d = 0 ; d < a . length ; d ++ ) { var e = a [ d ] . getElementsByTagName ( "gml:Polygon" ) [ 0 ] ; c . push ( this . gmlParsePolygon ( e , b ) ) } return new ol . geom . MultiPolygon ( c ) } ; netgis . MapOpenLayers . prototype . gmlParseCoordinates = function ( a , b ) { a = a . split ( " " ) ; for ( var c = 0 ; c < a . length ; c ++ ) { a [ c ] = a [ c ] . split ( "," ) ; for ( var d = 0 ; d < a [ c ] . length ; d ++ ) a [ c ] [ d ] = Number . parseFloat ( a [ c ] [ d ] ) ; b && ( a [ c ] = ol . proj . transform ( a [ c ] , b , this . projection ) ) } return a } ;
netgis . MapOpenLayers . prototype . createLayerShapefile = function ( a ) { var b = new ol . layer . Vector ( { source : new ol . source . Vector ( { features : [ ] } ) } ) , c = this ; shp ( a ) . then ( function ( a ) { var d = new ol . format . GeoJSON ; d . readProjection ( a ) ; a = d . readFeatures ( a , { featureProjection : c . projection } ) ; b . getSource ( ) . addFeatures ( a ) } ) ; return b } ;
netgis . MapOpenLayers . prototype . createLayerShapefile = function ( a ) { var b = new ol . layer . Vector ( { source : new ol . source . Vector ( { features : [ ] } ) } ) , c = this ; shp ( a ) . then ( function ( a ) { var d = new ol . format . GeoJSON ; d . readProjection ( a ) ; a = d . readFeatures ( a , { featureProjection : c . projection } ) ; b . getSource ( ) . addFeatures ( a ) } ) ; return b } ;
netgis . MapOpenLayers . prototype . createLayerSpatialite = function ( a ) { var b = new ol . layer . Vector ( { source : new ol . source . Vector ( { features : [ ] } ) } ) , c = this ; window . initSqlJs ( ) . then ( function ( d ) { var e = [ ] , f = new Uint8Array ( a ) ; d = new d . Database ( f ) ; var g = d . exec ( "SELECT name FROM sqlite_schema WHERE type = 'table' \n\t\t\t\t\tAND name NOT LIKE 'sqlite_%' \n\t\t\t\t\tAND name NOT LIKE 'sql_%' \n\t\t\t\t\tAND name NOT LIKE 'idx_%' \n\t\t\t\t\tAND name NOT LIKE 'spatial_ref_sys%' \n\t\t\t\t\tAND name NOT LIKE 'spatialite_%' \n\t\t\t\t\tAND name NOT LIKE 'geometry_columns%' \n\t\t\t\t\tAND name NOT LIKE 'views_%' \n\t\t\t\t\tAND name NOT LIKE 'virts_%' \n\t\t\t\t\tAND name NOT LIKE 'SpatialIndex' \n\t\t\t\t\tAND name NOT LIKE 'ElementaryGeometries' \n\t\t\t\t;" ) ;
netgis . MapOpenLayers . prototype . createLayerSpatialite = function ( a ) { var b = new ol . layer . Vector ( { source : new ol . source . Vector ( { features : [ ] } ) } ) , c = this ; window . initSqlJs ( ) . then ( function ( d ) { var e = [ ] , f = new Uint8Array ( a ) ; d = new d . Database ( f ) ; var g = d . exec ( "SELECT name FROM sqlite_schema WHERE type = 'table' \n\t\t\t\t\tAND name NOT LIKE 'sqlite_%' \n\t\t\t\t\tAND name NOT LIKE 'sql_%' \n\t\t\t\t\tAND name NOT LIKE 'idx_%' \n\t\t\t\t\tAND name NOT LIKE 'spatial_ref_sys%' \n\t\t\t\t\tAND name NOT LIKE 'spatialite_%' \n\t\t\t\t\tAND name NOT LIKE 'geometry_columns%' \n\t\t\t\t\tAND name NOT LIKE 'views_%' \n\t\t\t\t\tAND name NOT LIKE 'virts_%' \n\t\t\t\t\tAND name NOT LIKE 'SpatialIndex' \n\t\t\t\t\tAND name NOT LIKE 'ElementaryGeometries' \n\t\t\t\t;" ) ;
f = g [ 0 ] . values ; for ( var h = 0 ; h < f . length ; h ++ ) { g = d . exec ( "SELECT * FROM " + f [ h ] [ 0 ] ) ; var k = g [ 0 ] ; g = null ; for ( var l = 0 ; l < k . columns . length ; l ++ ) { if ( "geometry" === k . columns [ l ] . toLowerCase ( ) ) { g = l ; break } if ( "geom" === k . columns [ l ] . toLowerCase ( ) ) { g = l ; break } } k = k . values ; for ( l = 0 ; l < k . length ; l ++ ) { var m = k [ l ] [ g ] , n = new Uint8Array ( m . length - 43 - 1 + 5 ) ; n [ 0 ] = m [ 1 ] ; n [ 1 ] = m [ 39 ] ; n [ 2 ] = m [ 40 ] ; n [ 3 ] = m [ 41 ] ; n [ 4 ] = m [ 42 ] ; for ( var q= m . length - 43 - 1 , p = 0 ; p < q ; p ++ ) n [ 5 + p ] = m [ 43 + p ] ; m = ( new ol . format . WKB ) . readGeometry ( n , { featureProjection : c . projection } ) ; e . push ( new ol . Feature ( { geometry : m } ) ) } } b . getSource ( ) . addFeatures ( e ) } ) ;
f = g [ 0 ] . values ; for ( var h = 0 ; h < f . length ; h ++ ) { g = d . exec ( "SELECT * FROM " + f [ h ] [ 0 ] ) ; var k = g [ 0 ] ; g = null ; for ( var l = 0 ; l < k . columns . length ; l ++ ) { if ( "geometry" === k . columns [ l ] . toLowerCase ( ) ) { g = l ; break } if ( "geom" === k . columns [ l ] . toLowerCase ( ) ) { g = l ; break } } k = k . values ; for ( l = 0 ; l < k . length ; l ++ ) { var m = k [ l ] [ g ] , n = new Uint8Array ( m . length - 43 - 1 + 5 ) ; n [ 0 ] = m [ 1 ] ; n [ 1 ] = m [ 39 ] ; n [ 2 ] = m [ 40 ] ; n [ 3 ] = m [ 41 ] ; n [ 4 ] = m [ 42 ] ; for ( var p= m . length - 43 - 1 , q = 0 ; q < p ; q ++ ) n [ 5 + q ] = m [ 43 + q ] ; m = ( new ol . format . WKB ) . readGeometry ( n , { featureProjection : c . projection } ) ; e . push ( new ol . Feature ( { geometry : m } ) ) } } b . getSource ( ) . addFeatures ( e ) } ) ;
return b } ;
return b } ;
netgis . MapOpenLayers . prototype . createLayerGeopackage = function ( a ) { var b = new ol . layer . Vector ( { source : new ol . source . Vector ( { features : [ ] } ) } ) , c = this ; a = new Uint8Array ( a ) ; window . GeoPackage . setSqljsWasmLocateFile ( function ( a ) { return c . geopackageLibURL+ a } ) ; window . GeoPackage . GeoPackageAPI . open ( a ) . then ( function ( a ) { for ( var d = [ ] , f = new ol . format . GeoJSON , g = a . getFeatureTables ( ) , h = 0 ; h < g . length ; h ++ ) for ( var k = a . queryForGeoJSONFeaturesInTable ( g [ h ] ) , l = 0 ; l < k . length ; l ++ ) { var m = f . readGeometry ( k [ l ] . geometry , { featureProjection : c . projection } ) ; m =
netgis . MapOpenLayers . prototype . createLayerGeopackage = function ( a ) { var b = new ol . layer . Vector ( { source : new ol . source . Vector ( { features : [ ] } ) } ) , c = this ; a = new Uint8Array ( a ) ; window . GeoPackage . setSqljsWasmLocateFile ( function ( a ) { return c . config[ "import" ] . geopackageLibURL+ a } ) ; window . GeoPackage . GeoPackageAPI . open ( a ) . then ( function ( a ) { for ( var d = [ ] , f = new ol . format . GeoJSON , g = a . getFeatureTables ( ) , h = 0 ; h < g . length ; h ++ ) for ( var k = a . queryForGeoJSONFeaturesInTable ( g [ h ] ) , l = 0 ; l < k . length ; l ++ ) { var m = f . readGeometry ( k [ l ] . geometry , { featureProjection : c . projection } ) ;
new ol . Feature ( { geometry : m } ) ; d . push ( m ) } b . getSource ( ) . addFeatures ( d ) } ) ; return b } ; netgis . MapOpenLayers . prototype . addImportedFeatures = function ( a ) { this . edit EventsSilent= ! 0 ; this . edit Layer. getSource ( ) . addFeatures ( a ) ; this . editEventsSilent= ! 1 ; this . updateEditOutput ( ) } ; netgis . MapOpenLayers . prototype . onImportWKT = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; a = new ol . Feature ( { geometry : a } ) ; this . addImportedFeatures ( [ a ] ) } ;
m = new ol . Feature ( { geometry : m } ) ; d . push ( m ) } b . getSource ( ) . addFeatures ( d ) } ) ; return b } ; netgis . MapOpenLayers . prototype . addImportedFeatures = function ( a ) { this . edit Layer. getSource ( ) . addFeatures ( a ) ; this . updateSnapFeatures( ) ; if ( 0 < a . length ) { for ( var b = a [ 0 ] . getGeometry ( ) . getExtent ( ) , c = 1 ; c < a . length ; c ++ ) ol . extent . extend ( b , a [ c ] . getGeometry ( ) . getExtent ( ) ) ; this . view . fit ( b , { duration : 300 } ) } } ; netgis . MapOpenLayers . prototype . onImportWKT = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; a = new ol . Feature ( { geometry : a } ) ; this . addImportedFeatures ( [ a ] ) } ;
netgis . MapOpenLayers . prototype . onExportPDF = function ( a ) { this . exportImage ( "pdf" , a . resx , a . resy , a . mode , a . margin ) } ; netgis . MapOpenLayers . prototype . onExportJPEG = function ( a ) { this . exportImage ( "jpeg" , a . resx , a . resy ) } ; netgis . MapOpenLayers . prototype . onExportPNG = function ( a ) { this . exportImage ( "png" , a . resx , a . resy ) } ; netgis . MapOpenLayers . prototype . onExportGIF = function ( a ) { this . exportImage ( "gif" , a . resx , a . resy ) } ;
netgis . MapOpenLayers . prototype . onExportPDF = function ( a ) { this . exportImage ( "pdf" , a . resx , a . resy , a . mode , a . margin ) } ; netgis . MapOpenLayers . prototype . onExportJPEG = function ( a ) { this . exportImage ( "jpeg" , a . resx , a . resy ) } ; netgis . MapOpenLayers . prototype . onExportPNG = function ( a ) { this . exportImage ( "png" , a . resx , a . resy ) } ; netgis . MapOpenLayers . prototype . onExportGIF = function ( a ) { this . exportImage ( "gif" , a . resx , a . resy ) } ;
netgis . MapOpenLayers . prototype . onParcelShowPreview = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a . geom ) ; a = new ol . Feature ( { geometry : a } ) ; this . parcelLayer . getSource ( ) . clear ( ) ; this . parcelLayer . getSource ( ) . addFeature ( a ) } ; netgis . MapOpenLayers . prototype . onParcelHidePreview = function ( a ) { this . parcelLayer . getSource ( ) . clear ( ) } ; netgis . MapOpenLayers . prototype . getWidth = function ( ) { return this . map . getSize ( ) [ 0 ] } ; netgis . MapOpenLayers . prototype . getHeight = function ( ) { return this . map . getSize ( ) [ 1 ] } ;
netgis . MapOpenLayers . prototype . onParcelShowPreview = function ( a ) { a = ( new ol . format . WKT ) . readGeometry ( a . geom ) ; a = new ol . Feature ( { geometry : a } ) ; this . parcelLayer . getSource ( ) . clear ( ) ; this . parcelLayer . getSource ( ) . addFeature ( a ) } ; netgis . MapOpenLayers . prototype . onParcelHidePreview = function ( a ) { this . parcelLayer . getSource ( ) . clear ( ) } ; netgis . MapOpenLayers . prototype . getWidth = function ( ) { return this . map . getSize ( ) [ 0 ] } ; netgis . MapOpenLayers . prototype . getHeight = function ( ) { return this . map . getSize ( ) [ 1 ] } ;
netgis . MapOpenLayers . prototype . exportImage = function ( a , b , c , d , e ) { netgis . util . invoke ( this . container , netgis . Events . EXPORT _BEGIN , null ) ; var f = this , g = this . container , h = this . map , k = this . config , l = new Image ; l . onload = function ( ) { var m = document . createElement ( "div" ) ; m . style . position = "fixed" ; m . style . top = "0px" ; m . style . left = "0px" ; m . style . width = b + "px" ; m . style . height = c + "px" ; m . style . background = "white" ; m . style . zIndex = - 1 ; m . style . opacity = 0 ; m . style . pointerEvents = "none" ; g . appendChild ( m ) ; h . setTarget ( m ) ; h . once ( "rendercomplete" ,
netgis . MapOpenLayers . prototype . exportImage = function ( a , b , c , d , e ) { netgis . util . invoke ( this . container , netgis . Events . EXPORT _BEGIN , null ) ; var f = this , g = this . container , h = this . map , k = this . config , l = new Image ; l . onload = function ( ) { var m = document . createElement ( "div" ) ; m . style . position = "fixed" ; m . style . top = "0px" ; m . style . left = "0px" ; m . style . width = b + "px" ; m . style . height = c + "px" ; m . style . background = "white" ; m . style . zIndex = - 1 ; m . style . opacity = 0 ; m . style . pointerEvents = "none" ; g . appendChild ( m ) ; h . setTarget ( m ) ; h . once ( "rendercomplete" ,
function ( ) { var n = document . createElement ( "canvas" ) ; n . width = b ; n . height = c ; var q= n . getContext ( "2d" ) ; q . webkitImageSmoothingEnabled = ! 1 ; q . mozImageSmoothingEnabled = ! 1 ; q . imageSmoothingEnabled = ! 1 ; Array . prototype . forEach . call ( document . querySelectorAll ( ".ol-layer canvas" ) , function ( a ) { if ( 0 < a . width ) { var b = a . parentNode . style . opacity ; q . globalAlpha = "" === b ? 1 : Number ( b ) ; b = a . style . transform . match ( /^matrix\(([^\(]*)\)$/ ) [ 1 ] . split ( "," ) . map ( Number ) ; CanvasRenderingContext2D . prototype . setTransform . apply ( q, b ) ; q . drawImage ( a ,
function ( ) { var n = document . createElement ( "canvas" ) ; n . width = b ; n . height = c ; var p= n . getContext ( "2d" ) ; p . webkitImageSmoothingEnabled = ! 1 ; p . mozImageSmoothingEnabled = ! 1 ; p . imageSmoothingEnabled = ! 1 ; Array . prototype . forEach . call ( document . querySelectorAll ( ".ol-layer canvas" ) , function ( a ) { if ( 0 < a . width ) { var b = a . parentNode . style . opacity ; p . globalAlpha = "" === b ? 1 : Number ( b ) ; b = a . style . transform . match ( /^matrix\(([^\(]*)\)$/ ) [ 1 ] . split ( "," ) . map ( Number ) ; CanvasRenderingContext2D . prototype . setTransform . apply ( p, b ) ; p . drawImage ( a ,
0 , 0 ) } } ) ; q . drawImage ( l , 0 , 0 ) ; q. fillStyle = "#fff" ; q . fillRect ( 0 , n . height - 30 , 140 , 30 ) ; q. fillStyle = "#000" ; q . font = "4mm sans-serif" ; q . fillText ( netgis . util . getTimeStamp ( ) , 10 , n . height - 10 ) ; var p = document . createElement ( "a" ) ; switch ( a ) { case "pdf" : e = e ? e : 0 ; var r = 297 - e - e , v = 210 - e - e , t = n . width / n . height ; if ( ! d ) { var w = r ; r = v ; v = w } if ( n . height > n . width ) { var u = v ; w = u * t ; w > r && ( w = r , u = w / t ) } else w = r , u = w / t , u > v && ( u = v , w = u * t ) ; t = new jsPDF ( d ? "l" : "p" ) ; var x = e ; x += ( r - w ) / 2 ; r = e ; r += ( v - u ) / 2 ; t . addImage ( n . toDataURL ( "image/png,1.0" , 1 ) , "PNG" , x , r , w , u ) ;
0 , 0 ) } } ) ; p . drawImage ( l , 0 , 0 ) ; p. fillStyle = "#fff" ; p . fillRect ( 0 , n . height - 30 , 140 , 30 ) ; p. fillStyle = "#000" ; p . font = "4mm sans-serif" ; p . fillText ( netgis . util . getTimeStamp ( ) , 10 , n . height - 10 ) ; var q = document . createElement ( "a" ) ; switch ( a ) { case "pdf" : e = e ? e : 0 ; var r = 297 - e - e , v = 210 - e - e , t = n . width / n . height ; if ( ! d ) { var w = r ; r = v ; v = w } if ( n . height > n . width ) { var u = v ; w = u * t ; w > r && ( w = r , u = w / t ) } else w = r , u = w / t , u > v && ( u = v , w = u * t ) ; t = new jsPDF ( d ? "l" : "p" ) ; var x = e ; x += ( r - w ) / 2 ; r = e ; r += ( v - u ) / 2 ; t . addImage ( n . toDataURL ( "image/png,1.0" , 1 ) , "PNG" , x , r , w , u ) ;
t . setFillColor ( 255 , 255 , 255 ) ; t . rect ( x , r + u - 11 , 80 , 11 , "F" ) ; t . setFontSize ( 8 ) ; t . text ( "Datum: " + netgis . util . getTimeStamp ( ) , x + 2 , r + u - 2 - 4 ) ; t . text ( "Quelle: " + window . location . href , x + 2 , r + u - 2 ) ; n = t . output ( "bloburl" , { filename : k . export . defaultFilename + ".pdf" } ) ; window . open ( n , "_blank" ) ; break ; case "jpeg" : window . navigator . msSaveBlob ? window . navigator . msSaveBlob ( n . msToBlob ( ) , k . export . defaultFilename + ".jpg" ) : ( p . setAttribute ( "download" , k . export . defaultFilename + ".jpg" ) , p . setAttribute ( "href" , n . toDataURL ( "image/jpeg" , 1 ) ) , p . click ( ) ) ;
t . setFillColor ( 255 , 255 , 255 ) ; t . rect ( x , r + u - 11 , 80 , 11 , "F" ) ; t . setFontSize ( 8 ) ; t . text ( "Datum: " + netgis . util . getTimeStamp ( ) , x + 2 , r + u - 2 - 4 ) ; t . text ( "Quelle: " + window . location . href , x + 2 , r + u - 2 ) ; n = t . output ( "bloburl" , { filename : k . export . defaultFilename + ".pdf" } ) ; window . open ( n , "_blank" ) ; break ; case "jpeg" : window . navigator . msSaveBlob ? window . navigator . msSaveBlob ( n . msToBlob ( ) , k . export . defaultFilename + ".jpg" ) : ( q . setAttribute ( "download" , k . export . defaultFilename + ".jpg" ) , q . setAttribute ( "href" , n . toDataURL ( "image/jpeg" , 1 ) ) , q . click ( ) ) ;
break ; case "png" : window . navigator . msSaveBlob ? window . navigator . msSaveBlob ( n . msToBlob ( ) , k . export . defaultFilename + ".png" ) : ( p . setAttribute ( "download" , k . export . defaultFilename + ".png" ) , p . setAttribute ( "href" , n . toDataURL ( "image/png" , 1 ) ) , p . click ( ) ) ; break ; case "gif" : p . setAttribute ( "download" , k . export . defaultFilename + ".gif" ) , v = new GIF ( { workerScript : k . export . gifWebWorker , quality : 1 } ) , v . addFrame ( n ) , v . on ( "finished" , function ( a ) { p . setAttribute ( "href" , window . URL . createObjectURL ( a ) ) ; p . click ( ) } ) , v . render ( ) } h . setTarget ( g ) ;
break ; case "png" : window . navigator . msSaveBlob ? window . navigator . msSaveBlob ( n . msToBlob ( ) , k . export . defaultFilename + ".png" ) : ( q . setAttribute ( "download" , k . export . defaultFilename + ".png" ) , q . setAttribute ( "href" , n . toDataURL ( "image/png" , 1 ) ) , q . click ( ) ) ; break ; case "gif" : q . setAttribute ( "download" , k . export . defaultFilename + ".gif" ) , v = new GIF ( { workerScript : k . export . gifWebWorker , quality : 1 } ) , v . addFrame ( n ) , v . on ( "finished" , function ( a ) { q . setAttribute ( "href" , window . URL . createObjectURL ( a ) ) ; q . click ( ) } ) , v . render ( ) } h . setTarget ( g ) ;
g . removeChild ( m ) ; netgis . util . invoke ( f . container , netgis . Events . EXPORT _END , null ) } ) ; h . renderSync ( ) } ; l . src = k . export . logo } ; netgis . MapOpenLayers . prototype . splitMultiPolygons = function ( a ) { a = a . getSource ( ) ; for ( var b = a . getFeatures ( ) , c = [ ] , d = [ ] , e = 0 ; e < b . length ; e ++ ) { var f = b [ e ] , g = f . getGeometry ( ) ; if ( g instanceof ol . geom . MultiPolygon ) { g = g . getPolygons ( ) ; for ( var h = 0 ; h < g . length ; h ++ ) { var k = new ol . Feature ( { geometry : g [ h ] } ) ; d . push ( k ) } c . push ( f ) } } for ( e = 0 ; e < c . length ; e ++ ) a . removeFeature ( c [ e ] ) ; a . addFeatures ( d ) } ; netgis = netgis || { } ; netgis . Menu = function ( ) { this . root = this . client = null ; this . sections = [ ] } ;
g . removeChild ( m ) ; netgis . util . invoke ( f . container , netgis . Events . EXPORT _END , null ) } ) ; h . renderSync ( ) } ; l . src = k . export . logo } ; netgis . MapOpenLayers . prototype . splitMultiPolygons = function ( a ) { a = a . getSource ( ) ; for ( var b = a . getFeatures ( ) , c = [ ] , d = [ ] , e = 0 ; e < b . length ; e ++ ) { var f = b [ e ] , g = f . getGeometry ( ) ; if ( g instanceof ol . geom . MultiPolygon ) { g = g . getPolygons ( ) ; for ( var h = 0 ; h < g . length ; h ++ ) { var k = new ol . Feature ( { geometry : g [ h ] } ) ; d . push ( k ) } c . push ( f ) } } for ( e = 0 ; e < c . length ; e ++ ) a . removeFeature ( c [ e ] ) ; a . addFeatures ( d ) } ; netgis = netgis || { } ; netgis . Menu = function ( ) { this . root = this . client = null ; this . sections = [ ] } ;
netgis . Menu . prototype . load = function ( ) { this . root = document . createElement ( "header" ) ; this . root . className = "netgis-menu netgis-color-a netgis-shadow" ; var a = document . createElement ( "div" ) ; this . root . appendChild ( a ) ; var b = this . createButton ( '<i class="fab fa-buffer"></i><span>Inhalte</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onToggleClick . bind ( this ) ) ; a . appendChild ( b ) ; b = this . createButton ( '<i class="fas fa-tools"></i><span>Werkzeuge</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onToolboxClick . bind ( this ) ) ; a . appendChild ( b ) ;
netgis . Menu . prototype . load = function ( ) { this . root = document . createElement ( "header" ) ; this . root . className = "netgis-menu netgis-color-a netgis-shadow" ; var a = document . createElement ( "div" ) ; this . root . appendChild ( a ) ; var b = this . createButton ( '<i class="fab fa-buffer"></i><span>Inhalte</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onToggleClick . bind ( this ) ) ; a . appendChild ( b ) ; b = this . createButton ( '<i class="fas fa-tools"></i><span>Werkzeuge</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onToolboxClick . bind ( this ) ) ; a . appendChild ( b ) ;
b = this . createButton ( '<i class="fas fa-vector-square"></i><span>Flurst\u00fccke</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onSearchParcelClick . bind ( this ) ) ; a . appendChild ( b ) ; b = this . createButton ( '<i class="fas fa-search"></i><span>Suche</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onSearchPlaceClick . bind ( this ) ) ; a . appendChild ( b ) ; this . client . editable && ( a = this . createMenu ( '<i class="fas fa-caret-down"></i>Zeichnen' ) . getElementsByTagName ( "ul" ) [ 0 ] , a . appendChild ( this . createMenuItem ( '<i class="fas fa-map-marker-alt"></i>Punkte' ,
b = this . createButton ( '<i class="fas fa-vector-square"></i><span>Flurst\u00fccke</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onSearchParcelClick . bind ( this ) ) ; a . appendChild ( b ) ; b = this . createButton ( '<i class="fas fa-search"></i><span>Suche</span>' , ! 0 ) ; b . addEventListener ( "click" , this . onSearchPlaceClick . bind ( this ) ) ; a . appendChild ( b ) ; this . client . editable && ( a = this . createMenu ( '<i class="fas fa-caret-down"></i>Zeichnen' ) . getElementsByTagName ( "ul" ) [ 0 ] , a . appendChild ( this . createMenuItem ( '<i class="fas fa-map-marker-alt"></i>Punkte' ,
@ -292,22 +298,22 @@ netgis.Toolbar.prototype.onDrawBufferRadiusChange=function(a){a=a.target;var b=N
netgis . Toolbar . prototype . onDrawBufferSegmentsChange = function ( a ) { a = a . target ; var b = Number . parseInt ( a . value ) ; this . client . invoke ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE , b ) ; var c = this . toolbars [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "input" ) [ 3 ] ; a !== c && ( c . value = b ) ; c = this . toolbars [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "input" ) [ 3 ] ; a !== c && ( c . value = b ) } ;
netgis . Toolbar . prototype . onDrawBufferSegmentsChange = function ( a ) { a = a . target ; var b = Number . parseInt ( a . value ) ; this . client . invoke ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE , b ) ; var c = this . toolbars [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "input" ) [ 3 ] ; a !== c && ( c . value = b ) ; c = this . toolbars [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "input" ) [ 3 ] ; a !== c && ( c . value = b ) } ;
netgis . Toolbar . prototype . showDrawBufferOptions = function ( a ) { var b = this . toolbars [ netgis . Modes . DRAW _POINTS ] . children [ 0 ] . children , c = this . toolbars [ netgis . Modes . DRAW _LINES ] . children [ 0 ] . children ; a ? ( b [ 3 ] . classList . remove ( "netgis-hide" ) , b [ 4 ] . classList . remove ( "netgis-hide" ) , c [ 3 ] . classList . remove ( "netgis-hide" ) , c [ 4 ] . classList . remove ( "netgis-hide" ) ) : ( b [ 3 ] . classList . add ( "netgis-hide" ) , b [ 4 ] . classList . add ( "netgis-hide" ) , c [ 3 ] . classList . add ( "netgis-hide" ) , c [ 4 ] . classList . add ( "netgis-hide" ) ) } ; netgis = netgis || { } ; netgis . Toolbox = function ( a ) { this . initElements ( a ) ; this . initEvents ( ) } ;
netgis . Toolbar . prototype . showDrawBufferOptions = function ( a ) { var b = this . toolbars [ netgis . Modes . DRAW _POINTS ] . children [ 0 ] . children , c = this . toolbars [ netgis . Modes . DRAW _LINES ] . children [ 0 ] . children ; a ? ( b [ 3 ] . classList . remove ( "netgis-hide" ) , b [ 4 ] . classList . remove ( "netgis-hide" ) , c [ 3 ] . classList . remove ( "netgis-hide" ) , c [ 4 ] . classList . remove ( "netgis-hide" ) ) : ( b [ 3 ] . classList . add ( "netgis-hide" ) , b [ 4 ] . classList . add ( "netgis-hide" ) , c [ 3 ] . classList . add ( "netgis-hide" ) , c [ 4 ] . classList . add ( "netgis-hide" ) ) } ; netgis = netgis || { } ; netgis . Toolbox = function ( a ) { this . initElements ( a ) ; this . initEvents ( ) } ;
netgis . Toolbox . prototype . initElements = function ( a ) { this . container = document . createElement ( "section" ) ; this . container . className = "netgis-toolbox" ; var b = document . createElement ( "section" ) ; this . container . appendChild ( b ) ; this . top = b ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-hand-paper'></i><span>Betrachten</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . VIEW ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-map-marker-alt'></i><span>Punkte</span>" ,
netgis . Toolbox . prototype . initElements = function ( a ) { this . container = document . createElement ( "section" ) ; this . container . className = "netgis-toolbox" ; var b = document . createElement ( "section" ) ; this . container . appendChild ( b ) ; this . top = b ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-hand-paper'></i><span>Betrachten</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . VIEW ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-map-marker-alt'></i><span>Punkte</span>" ,
netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DRAW _POINTS ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-minus'></i><span>Linien</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DRAW _LINES ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-vector-square'></i><span>Polygone</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DRAW _POLYGONS ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa- cut'></i><span>Ausschneid en</span>",
netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DRAW _POINTS ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-minus'></i><span>Linien</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DRAW _LINES ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-vector-square'></i><span>Polygone</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DRAW _POLYGONS ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa- arrows-alt'></i><span>Verschieb en</span>",
netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . CUT _FEATURE _BEGIN ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-arrows-alt'></i><span>Verschieben</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . MODIFY _FEATURES ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-eraser'></i><span>L\u00f6schen</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DELETE _FEATURES ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a far fa-dot-circle'></i><span>Puffern</span>" ,
netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . MODIFY _FEATURES ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-eraser'></i><span>L\u00f6schen</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . DELETE _FEATURES ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a far fa-dot-circle'></i><span>Puffern</span>" , netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . BUFFER _FEATURE _BEGIN ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-cut'></i><span>Ausschneiden</span>" ,
netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . BUFFER_FEATURE _BEGIN ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>Exportieren</span>" , netgis . util . handler ( netgis . Events . EXPORT _SHOW ) ) ; b = document . createElement ( "section" ) ; b . className = "netgis-hide" ; this . container . appendChild ( b ) ; this . bottom = b ; var c = document . createElement ( "button" ) ; c . className = "netgis-button netgis-clip-text netgis-color-c" ; c . innerHTML = "<span>Einstellungen</span><i class='netgis-icon fas fa-times'></i>" ;
netgis . util . handler ( netgis . Events . SET _MODE , netgis . Modes . CUT_FEATURE _BEGIN ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Importieren</span>" , netgis . util . handler ( netgis . Events . IMPORT _SHOW ) ) ; this . addButton ( this . top , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>Exportieren</span>" , netgis . util . handler ( netgis . Events . EXPORT _SHOW ) ) ; b = document . createElement ( "section" ) ; b . className = "netgis-hide" ; this . container . appendChild ( b ) ; this . bottom = b ;
c . setAttribute ( "type" , "button" ) ; c . addEventListener ( "click" , this . onBottomHeaderClick . bind ( this ) ) ; b . appendChild ( c ) ; this . bottomTitle = c . getElementsByTagName ( "span" ) [ 0 ] ; this . bottomPanels = { } ; b = a . tools . buffer . defaultRadius ; a = a . tools . buffer . defaultSegments ; c = document . createElement ( "div" ) ; this . addCheckbox ( c , "Einrasten" , netgis . util . handler ( netgis . Events . SNAP _TOGGLE ) ) ; this . addCheckbox ( c , "Puffern" , netgis . util . handler ( netgis . Events . BUFFER _TOGGLE ) ) ; this . addInputNumber ( c , "Radius (Meter):" , b , netgis . util . handler ( netgis . Events . DRAW _BUFFER _RADIUS _CHANGE ) ) ;
var c = document . createElement ( "button" ) ; c . className = "netgis-button netgis-clip-text netgis-color-c" ; c . innerHTML = "<span>Einstellungen</span><i class='netgis-icon fas fa-times'></i>" ; c . setAttribute ( "type" , "button" ) ; c . addEventListener ( "click" , this . onBottomHeaderClick . bind ( this ) ) ; b . appendChild ( c ) ; this . bottomTitle = c . getElementsByTagName ( "span" ) [ 0 ] ; this . bottomPanels = { } ; b = a . tools . buffer . defaultRadius ; a = a . tools . buffer . defaultSegments ; c = document . createElement ( "div" ) ; this . addCheckbox ( c , "Einrasten" , netgis . util . handler ( netgis . Events . SNAP _TOGGLE ) ) ;
this . addInputNumber ( c , "Segmente:" , a , netgis . util . handler ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE ) ) ; this . bottomPanels [ netgis . Modes . DRAW _POINTS ] = c ; c = document . createElement ( "div" ) ; this . addCheckbox ( c , "Einrasten" , netgis . util . handler ( netgis . Events . SNAP _TOGGLE ) ) ; this . addCheckbox ( c , "Puffern" , netgis . util . handler ( netgis . Events . BUFFER _TOGGLE ) ) ; this . addInputNumber ( c , "Radius (Meter):" , b , netgis . util . handler ( netgis . Events . DRAW _BUFFER _RADIUS _CHANGE ) ) ; this . addInputNumber ( c , "Segmente:" , a , netgis . util . handler ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE ) ) ;
this . addCheckbox ( c , "Puffern" , netgis . util . handler ( netgis . Events . BUFFER _TOGGLE ) ) ; this . addInputNumber ( c , "Radius (Meter):" , b , netgis . util . handler ( netgis . Events . DRAW _BUFFER _RADIUS _CHANGE ) ) ; this . addInputNumber ( c , "Segmente:" , a , netgis . util . handler ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE ) ) ; this . bottomPanels [ netgis . Modes . DRAW _POINTS ] = c ; c = document . createElement ( "div" ) ; this . addCheckbox ( c , "Einrasten" , netgis . util . handler ( netgis . Events . SNAP _TOGGLE ) ) ; this . addCheckbox ( c , "Puffern" , netgis . util . handler ( netgis . Events . BUFFER _TOGGLE ) ) ;
this . bottomPanels [ netgis . Modes . DRAW _LINES ] = c ; c = document . createElement ( "div" ) ; this . addCheckbox ( c , "Einrasten" , netgis . util . handler ( netgis . Events . SNAP _TOGGLE ) ) ; this . addCheckbox ( c , "Tracing" , netgis . util . handler ( netgis . Events . TRACING _TOGGLE ) ) ; this . bottomPanels [ netgis . Modes . DRAW _POLYGONS ] = c ; c = document . createElement ( "div" ) ; this . addInputNumber ( c , "Radius (Meter):" , b , this . onBufferFeatureChange . bind ( this ) ) ; this . addInputNumber ( c , "Segmente:" , a , this . onBufferFeatureChange . bind ( this ) ) ; this . addButton ( c , "<i class='netgis-icon netgis-text-a fas fa-arrow-circle-right'></i><span>Akzeptieren</span>" ,
this . addInputNumber ( c , "Radius (Meter):" , b , netgis . util . handler ( netgis . Events . DRAW _BUFFER _RADIUS _CHANGE ) ) ; this . addInputNumber ( c , "Segmente:" , a , netgis . util . handler ( netgis . Events . DRAW _BUFFER _SEGMENTS _CHANGE ) ) ; this . bottomPanels [ netgis . Modes . DRAW _LINES ] = c ; c = document . createElement ( "div" ) ; this . addCheckbox ( c , "Einrasten" , netgis . util . handler ( netgis . Events . SNAP _TOGGLE ) ) ; this . addCheckbox ( c , "Tracing" , netgis . util . handler ( netgis . Events . TRACING _TOGGLE ) ) ; this . bottomPanels [ netgis . Modes . DRAW _POLYGONS ] = c ; c = document . createElement ( "div" ) ;
this . onBufferFeatureAccept . bind ( this ) ) ; this . bottomPanels [ netgis . Modes . BUFFER _FEATURE _EDIT ] = c ; b = document . createElement ( "div" ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Shapefile</span>" , netgis . util . handler ( netgis . Events . IMPORT _SHAPEFILE _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>GeoJSON</span>" , netgis . util . handler ( netgis . Events . IMPORT _GEOJSON _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>GML</span>" ,
this . addInputNumber ( c , "Radius (Meter):" , b , this . onBufferFeatureChange . bind ( this ) ) ; this . addInputNumber ( c , "Segmente:" , a , this . onBufferFeatureChange . bind ( this ) ) ; this . addButton ( c , "<i class='netgis-icon netgis-text-a fas fa-arrow-circle-right'></i><span>Akzeptieren</span>" , this . onBufferFeatureAccept . bind ( this ) ) ; this . bottomPanels [ netgis . Modes . BUFFER _FEATURE _EDIT ] = c ; b = document . createElement ( "div" ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Shapefile</span>" , netgis . util . handler ( netgis . Events . IMPORT _SHAPEFILE _SHOW ) ) ;
netgis . util . handler ( netgis . Events . IMPORT _GML _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Spatialite</span>" , netgis . util . handler ( netgis . Events . IMPORT _SPATIALITE _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Geopackage</span>" , netgis . util . handler ( netgis . Events . IMPORT _GEOPACKAGE _SHOW ) ) ; this . bottomPanels [ netgis . Modes . IMPORT ] = b ; b = document . createElement ( "div" ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>PDF</span>" ,
this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>GeoJSON</span>" , netgis . util . handler ( netgis . Events . IMPORT _GEOJSON _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>GML</span>" , netgis . util . handler ( netgis . Events . IMPORT _GML _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Spatialite</span>" , netgis . util . handler ( netgis . Events . IMPORT _SPATIALITE _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-upload'></i><span>Geopackage</span>" ,
netgis . util . handler ( netgis . Events . EXPORT _PDF _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>JPEG</span>" , netgis . util . handler ( netgis . Events . EXPORT _JPEG _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>PNG</span>" , netgis . util . handler ( netgis . Events . EXPORT _PNG _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>GIF</span>" , netgis . util . handler ( netgis . Events . EXPORT _GIF _SHOW ) ) ;
netgis . util . handler ( netgis . Events . IMPORT _GEOPACKAGE _SHOW ) ) ; this . bottomPanels [ netgis . Modes . IMPORT ] = b ; b = document . createElement ( "div" ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>PDF</span>" , netgis . util . handler ( netgis . Events . EXPORT _PDF _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>JPEG</span>" , netgis . util . handler ( netgis . Events . EXPORT _JPEG _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>PNG</span>" ,
this . bottomPanels [ netgis . Modes . EXPORT ] = b ; this . setBuffer ( ! 1 ) } ; netgis . Toolbox . prototype . initEvents = function ( ) { this . resizeObserver = ( new ResizeObserver ( this . onTopResize . bind ( this ) ) ) . observe ( this . top ) } ; netgis . Toolbox . prototype . attach = function ( a ) { a . appendChild ( this . container ) } ;
netgis . util . handler ( netgis . Events . EXPORT _PNG _SHOW ) ) ; this . addButton ( b , "<i class='netgis-icon netgis-text-a fas fa-file-download'></i><span>GIF</span>" , netgis . util . handler ( netgis . Events . EXPORT _GIF _SHOW ) ) ; this . bottomPanels [ netgis . Modes . EXPORT ] = b ; this . setBuffer ( ! 1 ) } ; netgis . Toolbox . prototype . initEvents = function ( ) { this . resizeObserver = ( new ResizeObserver ( this . onTopResize . bind ( this ) ) ) . observe ( this . top ) } ; netgis . Toolbox . prototype . attach = function ( a ) { a . appendChild ( this . container ) } ;
netgis . Toolbox . prototype . addButton = function ( a , b , c ) { var d = document . createElement ( "button" ) ; d . className = "netgis-button netgis-clip-text netgis-color-e netgis-hover-a" ; d . innerHTML = b ; d . setAttribute ( "type" , "button" ) ; c && ( d . onclick = c ) ; a && a . appendChild ( d ) ; return d } ;
netgis . Toolbox . prototype . addButton = function ( a , b , c ) { var d = document . createElement ( "button" ) ; d . className = "netgis-button netgis-clip-text netgis-color-e netgis-hover-a" ; d . innerHTML = b ; d . setAttribute ( "type" , "button" ) ; c && ( d . onclick = c ) ; a && a . appendChild ( d ) ; return d } ;
netgis . Toolbox . prototype . addCheckbox = function ( a , b , c ) { var d = document . createElement ( "label" ) ; d . className = "netgis-noselect netgis-hover-a" ; var e = document . createElement ( "input" ) ; e . setAttribute ( "type" , "checkbox" ) ; d . appendChild ( e ) ; var f = document . createElement ( "span" ) ; f . innerHTML = b ; d . appendChild ( f ) ; c && ( e . onchange = c ) ; a && a . appendChild ( d ) ; return e } ;
netgis . Toolbox . prototype . addCheckbox = function ( a , b , c ) { var d = document . createElement ( "label" ) ; d . className = "netgis-noselect netgis-hover-a" ; var e = document . createElement ( "input" ) ; e . setAttribute ( "type" , "checkbox" ) ; d . appendChild ( e ) ; var f = document . createElement ( "span" ) ; f . innerHTML = b ; d . appendChild ( f ) ; c && ( e . onchange = c ) ; a && a . appendChild ( d ) ; return e } ;
netgis . Toolbox . prototype . addInputNumber = function ( a , b , c , d ) { var e = document . createElement ( "label" ) ; e . className = "netgis-noselect netgis-hover-a" ; var f = document . createElement ( "span" ) ; f . innerHTML = b ; e . appendChild ( f ) ; b = document . createElement ( "input" ) ; b . setAttribute ( "type" , "number" ) ; b . setAttribute ( "min" , 0 ) ; b . value = c ; e . appendChild ( b ) ; d && ( b . onchange = d , b . onkeyup = d ) ; a && a . appendChild ( e ) ; return b } ;
netgis . Toolbox . prototype . addInputNumber = function ( a , b , c , d ) { var e = document . createElement ( "label" ) ; e . className = "netgis-noselect netgis-hover-a" ; var f = document . createElement ( "span" ) ; f . innerHTML = b ; e . appendChild ( f ) ; b = document . createElement ( "input" ) ; b . setAttribute ( "type" , "number" ) ; b . setAttribute ( "min" , 0 ) ; b . value = c ; e . appendChild ( b ) ; d && ( b . onchange = d , b . onkeyup = d ) ; a && a . appendChild ( e ) ; return b } ;
netgis . Toolbox . prototype . setMode = function ( a ) { for ( var b = this . top . getElementsByTagName ( "button" ) , c = 0 ; c < b . length ; c ++ ) b [ c ] . classList . remove ( "netgis-bold" ) ; for ( var d in this . bottomPanels ) c = this . bottomPanels [ d ] , c . parentNode === this . bottom && this . bottom . removeChild ( c ) ; switch ( a ) { case netgis . Modes . VIEW : b [ 0 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "" ; break ; case netgis . Modes . DRAW _POINTS : b [ 1 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "Punkte" ; break ; case netgis . Modes . DRAW _LINES : b [ 2 ] . classList . add ( "netgis-bold" ) ;
netgis . Toolbox . prototype . setMode = function ( a ) { for ( var b = this . top . getElementsByTagName ( "button" ) , c = 0 ; c < b . length ; c ++ ) b [ c ] . classList . remove ( "netgis-bold" ) ; for ( var d in this . bottomPanels ) c = this . bottomPanels [ d ] , c . parentNode === this . bottom && this . bottom . removeChild ( c ) ; switch ( a ) { case netgis . Modes . VIEW : b [ 0 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "" ; break ; case netgis . Modes . DRAW _POINTS : b [ 1 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "Punkte" ; break ; case netgis . Modes . DRAW _LINES : b [ 2 ] . classList . add ( "netgis-bold" ) ;
this . bottomTitle . innerHTML = "Linien" ; break ; case netgis . Modes . DRAW _POLYGONS : b [ 3 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "Polygone" ; break ; case netgis . Modes . CUT_FEATURE _BEGIN : case netgis . Modes . CUT _FEATURE _DRAW : b [ 4 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = " Ausschneid en"; break ; case netgis . Modes . MODIFY _FEATURES : b [ 5 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = " Verschieb en"; break ; case netgis . Modes . DELETE_FEATURES : b [ 6 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML =
this . bottomTitle . innerHTML = "Linien" ; break ; case netgis . Modes . DRAW _POLYGONS : b [ 3 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "Polygone" ; break ; case netgis . Modes . MODIFY_FEATURES : b [ 4 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = " Verschieb en"; break ; case netgis . Modes . DELETE _FEATURES : b [ 5 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = " L\u00f6sch en"; break ; case netgis . Modes . BUFFER_FEATURE _BEGIN : case netgis . Modes . BUFFER _FEATURE _EDIT : b [ 6 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML =
" L\u00f6sche n"; break ; case netgis . Modes . BUFFER _FEATURE _BEGIN : case netgis . Modes . BUFFER_FEATURE _EDIT : b [ 7 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = " Puffer n"; break ; case netgis . Modes . IMPORT : b [ 8 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "Importieren" ; break ; case netgis . Modes . EXPORT : b [ 9 ] . classList . add ( "netgis-bold" ) , this . bottomTitle . innerHTML = "Exportieren" } ( c = this . bottomPanels [ a ] ) ? ( this . bottom . appendChild ( c ) , this . showBottom ( ) ) : this . hideBottom ( ) } ;
" Puffer n"; break ; case netgis . Modes . CUT _FEATURE _BEGIN : case netgis . Modes . CUT_FEATURE _DRAW : b [ 7 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = " Ausschneide n"; break ; case netgis . Modes . IMPORT : b [ 8 ] . classList . add ( "netgis-bold" ) ; this . bottomTitle . innerHTML = "Importieren" ; break ; case netgis . Modes . EXPORT : b [ 9 ] . classList . add ( "netgis-bold" ) , this . bottomTitle . innerHTML = "Exportieren" } ( c = this . bottomPanels [ a ] ) ? ( this . bottom . appendChild ( c ) , this . showBottom ( ) ) : this . hideBottom ( ) } ;
netgis . Toolbox . prototype . setSnap = function ( a ) { this . bottomPanels [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ; this . bottomPanels [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ; this . bottomPanels [ netgis . Modes . DRAW _POLYGONS ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a } ;
netgis . Toolbox . prototype . setSnap = function ( a ) { this . bottomPanels [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ; this . bottomPanels [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ; this . bottomPanels [ netgis . Modes . DRAW _POLYGONS ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a } ;
netgis . Toolbox . prototype . setBuffer = function ( a ) { var b = this . bottomPanels [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "label" ) , c = this . bottomPanels [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "label" ) ; b [ 1 ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ; ( c [ 1 ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ) ? ( b [ 2 ] . classList . remove ( "netgis-hide" ) , b [ 3 ] . classList . remove ( "netgis-hide" ) , c [ 2 ] . classList . remove ( "netgis-hide" ) , c [ 3 ] . classList . remove ( "netgis-hide" ) ) : ( b [ 2 ] . classList . add ( "netgis-hide" ) , b [ 3 ] . classList . add ( "netgis-hide" ) ,
netgis . Toolbox . prototype . setBuffer = function ( a ) { var b = this . bottomPanels [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "label" ) , c = this . bottomPanels [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "label" ) ; b [ 1 ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ; ( c [ 1 ] . getElementsByTagName ( "input" ) [ 0 ] . checked = a ) ? ( b [ 2 ] . classList . remove ( "netgis-hide" ) , b [ 3 ] . classList . remove ( "netgis-hide" ) , c [ 2 ] . classList . remove ( "netgis-hide" ) , c [ 3 ] . classList . remove ( "netgis-hide" ) ) : ( b [ 2 ] . classList . add ( "netgis-hide" ) , b [ 3 ] . classList . add ( "netgis-hide" ) ,
c [ 2 ] . classList . add ( "netgis-hide" ) , c [ 3 ] . classList . add ( "netgis-hide" ) ) } ; netgis . Toolbox . prototype . setBufferRadius = function ( a ) { var b = this . bottomPanels [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "input" ) , c = this . bottomPanels [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "input" ) ; b [ 2 ] . value = a ; c [ 2 ] . value = a } ;
c [ 2 ] . classList . add ( "netgis-hide" ) , c [ 3 ] . classList . add ( "netgis-hide" ) ) } ; netgis . Toolbox . prototype . setBufferRadius = function ( a ) { var b = this . bottomPanels [ netgis . Modes . DRAW _POINTS ] . getElementsByTagName ( "input" ) , c = this . bottomPanels [ netgis . Modes . DRAW _LINES ] . getElementsByTagName ( "input" ) ; b [ 2 ] . value = a ; c [ 2 ] . value = a } ;