{"version":3,"file":"main.c2df9bb0.js","mappings":";;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;ACAwC;AACiE;AACxD;AACjD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB,WAAW,SAAS;AACpB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,YAAY,4DAAU,CAAC,oEAAkB;AACzC,UAAU;AACV,YAAY,6DAAW,CAAC,oEAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA,IAAI,gEAAc;AAClB,UAAU,iDAAW;AACrB;AACA;AACA,YAAY,gEAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,gCAAgC,iBAAiB;AACjD,6DAA6D,YAAY,IAAI,cAAc;AAC3F;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mEAAqB;AACzC;AACA,aAAa;AACb;AACA,gBAAgB,oEAAsB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,kBAAkB;AAClB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;AACA;AAC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W,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oEAAkB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,8EAA4B;AAChC,IAAI,8EAA4B;AAChC;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,oEAAkB;AAC1B,mBAAmB,oEAAkB;AACrC;AACA;AACA,QAAQ,wEAAsB;AAC9B,QAAQ,kGAAgD;AACxD;AACA;AACA,YAAY,yFAAuC;AACnD,gBAAgB,uDAAiB;AACjC,aAAa;AACb;AACA;AACA;AACA,YAAY,yEAAuB;AACnC,uBAAuB,yEAAuB;AAC9C,uBAAuB,4EAA0B;AACjD;AACA;AACA;AACA,YAAY,yEAAuB;AACnC,uBAAuB,yEAAuB;AAC9C,uBAAuB,0EAAwB;AAC/C,uBAAuB,0EAAwB;AAC/C;AACA,2BAA2B,iFAA+B;AAC1D,2BAA2B,iFAA+B;AAC1D,2BAA2B,8EAA4B;AACvD,2BAA2B,8EAA4B;AACvD;AACA;AACA;AACA;AACA,oBAAoB,oEAAkB;AACtC,oBAAoB,gFAA8B;AAClD;AACA,QAAQ,4FAA0C;AAClD,uBAAuB,8EAA4B;AACnD,uBAAuB,8EAA4B;AACnD,wBAAwB,gFAA8B;AACtD,YAAY,sFAAoC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iDAAW;AACjC;AACA;AACA;AACA,gCAAgC,sFAAoC;AACpE,4CAA4C,8EAA4B;AACxE;AACA;AACA;AACA,gCAAgC,sFAAoC;AACpE,4CAA4C,8EAA4B;AACxE;AACA;AACA,uCAAuC,gFAA8B;AACrE,4BAA4B,uEAAiC;AAC7D,yBAAyB;AACzB;AACA,cAAc;AACd,gBAAgB,sFAAoC;AACpD,gBAAgB,sFAAoC;AACpD;AACA,+BAA+B,gFAA8B;AAC7D;AACA,oBAAoB,sFAAoC;AACxD,oBAAoB,uEAAiC;AACrD,iBAAiB;AACjB;AACA;AACA;AACA,oCAAoC,qGAAmD;AACvF,uCAAuC,+GAA6D;AACpG,wBAAwB,+GAA6D;AACrF,oBAAoB,sFAAoC;AACxD,oBAAoB,uEAAc,CAAC,4FAA0C;AAC7E,oBAAoB,0GAAwD;AAC5E;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,YAAY,wEAAsB;AAClC,4BAA4B,+EAA6B;AACzD;AACA,YAAY,yFAAuC;AACnD;AACA,oBAAoB,wEAAsB,CAAC,sFAAoC,gBAAgB,wEAAsB,CAAC,sFAAoC;AAC1J;AACA,kEAAkE,4CAA4C,EAAE,uEAAuE,EAAE,2CAA2C;AACpO,kBAAkB;AAClB;AACA,kEAAkE,uEAAuE,EAAE,2CAA2C;AACtL;AACA,aAAa;AACb,gBAAgB,8EAA4B;AAC5C,4BAA4B,2EAAyB;AACrD,4BAA4B,+EAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;;;;;;;;;;;;;;ACvsBwC;AACxC;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yFAAyF;AACzF;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAW;AACzB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACzGkD;AACM;AACb;AAC8D;AACxD;AAClC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,KAAK,gEAAc;AACnB,WAAW,iDAAW;AACtB;AACA;AACA,GAAG,gEAAa;AAChB;AACA,GAAG,mEAAqB;AACxB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC,+CAA+C,YAAY,IAAI,cAAc;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,MAAM;AACN,CAAC,mEAAqB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAU,sDAAsD;AACtE;AACA;AACA;AACA;AACA,MAAM,mEAAqB;AAC3B,IAAI;AACJ,MAAM,mEAAqB;AAC3B;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAU,sDAAsD;AACtE;AACA;AACA;AACA;AACA,MAAM,mEAAqB;AAC3B,IAAI;AACJ,MAAM,mEAAqB;AAC3B;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA,yCAAyC,YAAY,IAAI,cAAc;AACvE;AACA;AACA;AACA;AACA,IAAI,4DAAU,qDAAqD;AACnE;AACA;AACA;AACA,OAAO,mEAAqB;AAC5B,IAAI;AACJ;AACA,IAAI;AACJ,wCAAwC,YAAY,IAAI,cAAc;AACtE;AACA;AACA,MAAM,mEAAqB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC;AACA,yCAAyC,YAAY,IAAI,cAAc;AACvE;AACA;AACA;AACA;AACA,IAAI,4DAAU,qDAAqD;AACnE;AACA;AACA;AACA,OAAO,mEAAqB;AAC5B,IAAI;AACJ;AACA,IAAI;AACJ,wCAAwC,YAAY,IAAI,cAAc;AACtE;AACA;AACA,MAAM,mEAAqB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC,qEAAY;AACb;AACA;AACA,KAAK,mEAAqB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAU,sDAAsD;AACtE;AACA;AACA;AACA,EAAE,mEAAqB;AACvB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,+EAA6B;AAClC,KAAK,6FAA2C;AAChD,KAAK,wFAAsC;AAC3C;AACA,CAAC,qEAAY,wIAAwI,oEAAsB;AAC3K;AACA;AACA;AACA,SAAS,oEAAsB;AAC/B,EAAE,wEAAsB;AACxB,OAAO,SAAS,oEAAsB;AACtC,QAAQ,iDAAW;AACnB;AACA;AACA;AACA,IAAI,mEAAqB;AACzB,SAAS;AACT,IAAI,mEAAqB;AACzB;AACA,IAAI;AACJ;AACA,OAAO;AACP,EAAE,mEAAqB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,mEAAqB;AAC1B,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK,oEAAsB;AAC3B;AACA;AACA;AACA;AACA,CAAC,qEAAY,sIAAsI,oEAAsB;AACzK;AACA;AACA;AACA;AACA,KAAK,mEAAqB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC,qEAAY,mHAAmH,oEAAsB;AACtJ;AACA,KAAK,0EAAwB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iBAAiB;AACtC,qCAAqC,YAAY,aAAa,qBAAqB,IAAI,cAAc;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,2DAAqB;AAC5B,aAAa,iDAAW;AACxB;AACA;AACA;AACA;AACA,SAAS,8EAA4B;AACrC;AACA;AACA,SAAS,8EAA4B;AACrC;AACA,SAAS;AACT;AACA,KAAK,mEAAqB;AAC1B,SAAS;AACT;AACA,KAAK;AACL,OAAO,mEAAqB;AAC5B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,gEAAc;AACf,KAAK,+EAAiC;AACtC,WAAW,iDAAW;AACtB;AACA;AACA,GAAG,+DAAa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ClC;AACA,KAAK,wEAAsB;AAC3B,KAAK,8EAA4B;AACjC;AACA,KAAK,wEAAsB;AAC3B,KAAK,8EAA4B;AACjC;AACA,KAAK,mEAAiB;AACtB,KAAK,yEAAuB;AAC5B;AACA,KAAK,yEAAuB;AAC5B,KAAK,+EAA6B;AAClC;AACA,KAAK,mEAAiB;AACtB,KAAK,yEAAuB;AAC5B;AACA,KAAK,uEAAqB;AAC1B,KAAK,6EAA2B;AAChC;AACA,KAAK,0EAAwB;AAC7B,KAAK,gFAA8B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,wEAAsB;AACpF;AACA;AACA;AACA,KAAK,6DAAW;AAChB,EAAE;AACF;AACA;AACA;;;;;;;;;;;;;;;;;;;;;ACxsBA;AACA;;AAE2B;AAC6B;AACQ;AACO;AACtB;;AAE1C;;AAEP;AACO,qBAAqB,8DAAc;AAC1C,qEAAmB;AACnB,6EAAc;;AAEd;AACA,kFAAgC;AAChC;AACA,IAAI,0FAAwC;AAC5C;AACA,IAAI,oFAAkC;AACtC;AACA;AACA,UAAU;AACV,qEAAqE,gBAAgB;AACrF;AACA,KAAK;AACL;AACA,IAAI,kFAAgC;AACpC,CAAC;;;;;;;;;;;;;;;;;AC9BoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,oBAAoB,4EAAsC;AAC1D;AACA;AACA;AACA;AACA;AACA,oBAAoB,4EAAsC;AAC1D;AACA;AACA;AACA;AACA;AACA,oBAAoB,4EAAsC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4EAAsC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4EAAsC;AAC1D;AACA;AACA;;;;;;;;;;;;;;;;;AC/FqC;AACY;AACjD;AACO;AACP;AACA,gBAAgB,8CAAQ;AACxB;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC,+CAA+C,YAAY,aAAa,qBAAqB,IAAI,cAAc;AAC/G;AACA;AACA;AACA;AACA,QAAQ,2EAAyB;AACjC,gBAAgB,2EAAqC,EAAE,2EAAyB;AAChF;AACA,YAAY,iFAA+B,GAAG,iFAA2C;AACzF,YAAY,qFAAmC,GAAG,iFAA2C;AAC7F,YAAY,8EAA4B,GAAG,0EAAoC;AAC/E,YAAY,+DAAyB,CAAC,wEAAsB;AAC5D;AACA;AACA,QAAQ,2EAAyB;AACjC,gBAAgB,wEAAkC,EAAE,2EAAyB;AAC7E;AACA;AACA;AACA;;;;;;;;;;;;;;AC9BO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;UCpFA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;UENA;UACA;UACA;UACA","sources":["webpack://kuba_devstack/./www/src/scss/main.scss?88e7","webpack://kuba_devstack/./www/src/js/autocomplete-module.js","webpack://kuba_devstack/./www/src/js/form-manager.js","webpack://kuba_devstack/./www/src/js/gps-transformation-module.js","webpack://kuba_devstack/./www/src/js/identification-module.js","webpack://kuba_devstack/./www/src/js/main.js","webpack://kuba_devstack/./www/src/js/map-module.js","webpack://kuba_devstack/./www/src/js/proposal-module.js","webpack://kuba_devstack/./www/src/js/selectors-module.js","webpack://kuba_devstack/webpack/bootstrap","webpack://kuba_devstack/webpack/runtime/define property getters","webpack://kuba_devstack/webpack/runtime/hasOwnProperty shorthand","webpack://kuba_devstack/webpack/runtime/make namespace object","webpack://kuba_devstack/webpack/before-startup","webpack://kuba_devstack/webpack/startup","webpack://kuba_devstack/webpack/after-startup"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","import { DOMAIN_NAME } from \"./main.js\";\r\nimport { stateManager, startPreloader, stopPreloader, setDisabled, setEnabled } from \"./form-manager.js\";\r\nimport { selector } from \"./selectors-module.js\";\r\n\r\nlet debounceTimer;\r\n\r\n/**\r\n * This function send request and generate options (based on JSON response) for autocomplete selectBox\r\n * @param {string} textInput - class/id of input (type = text) into which the text is written \r\n * @param {string} selectInput - class/id of selectBox into which autocomplete result (options) is added\r\n * @param {string} fce - calling function name \r\n * @param {function=} callback - optional callback function which will be executed after user pick the option\r\n * @param {string=} otherAttr - optional other attribute for calling function * \r\n */\r\nexport function autocomplete(textInput, selectInput, fce, callback = false, otherAttr = '') {\r\n let input = document.querySelector(textInput);\r\n let select = document.querySelector(selectInput);\r\n input.addEventListener('input', () => {\r\n //clear existing debounce timer\r\n clearTimeout(debounceTimer);\r\n //set new debounce timer\r\n debounceTimer = setTimeout(() => {\r\n let text = input.value;\r\n if (text !== \"\") {\r\n isProposalType(select)\r\n fetchData(input, select, fce, callback, otherAttr, text);\r\n } else {\r\n select.classList.add('none');\r\n }\r\n }, 300);\r\n });\r\n}\r\n\r\n/** Check if autocomplete box is in the proposal section. \r\n * If yes, submit btn is disabled when autocomplete is activated.\r\n * If result is picked then enable submit Btn \r\n * @param {Object} select - selectBox into which autocomplete result (options) is added\r\n * @param (bool) result - set true if result is picked from selectbox options\r\n * */\r\nexport function isProposalType(select, result = false) {\r\n let proposalPart = document.querySelector('.proposal');\r\n let isAtcBoxInProposal = proposalPart.contains(select);\r\n let isResultPicked = result;\r\n if (isAtcBoxInProposal != false) {\r\n if (isResultPicked === true) {\r\n setEnabled(selector.submitBtn);\r\n } else {\r\n setDisabled(selector.submitBtn);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Fetch the data from server, fill selectbox and add eventlisteners\r\n * @param {Object} input - text input into which the text is written \r\n * @param {Object} select - selectBox into which autocomplete result (options) is added\r\n * @param {string} fce - calling function name\r\n * @param {function} callback - optional callback function which will be executed after user pick the option\r\n * @param {string=} otherAttr - optional other attribute for calling function \r\n * @param {string} text - value of textinput\r\n */\r\nfunction fetchData(input, select, fce, callback, otherAttr, text) {\r\n startPreloader()\r\n fetch(DOMAIN_NAME + 'reklamaceRUIAN/' + fce + '?text=' + text + otherAttr)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n stopPreloader()\r\n let optionOfSelectInput = [];\r\n if (data.length <= 0) {\r\n optionOfSelectInput += ``;\r\n select.setAttribute(\"size\", data.length);\r\n select.classList.remove(\"none\");\r\n select.innerHTML = optionOfSelectInput;\r\n } else {\r\n for (let i = 0; i < data.length; i++) {\r\n optionOfSelectInput += ``;\r\n select.setAttribute(\"size\", data.length);\r\n select.classList.remove(\"none\");\r\n select.innerHTML = optionOfSelectInput;\r\n }\r\n }\r\n })\r\n .then(() => {\r\n //reset obec input when user click outside of autocomplete select (not choose any option)\r\n document.addEventListener('click', (e) => {\r\n let isClickInside = select.contains(e.target);\r\n if (!isClickInside && !select.classList.contains('none') && select.classList.contains('obec_atc')) {\r\n input.value = '';\r\n select.classList.add('none');\r\n isProposalType(select, true);\r\n stateManager.setState('initialization');\r\n }\r\n });\r\n //reset ulice proposal input when user click outside of autocomplete select (not choose any option) / only for ad-du type\r\n if (stateManager.form_type === 'ad-du') {\r\n document.addEventListener('click', (e) => {\r\n let isClickInside = select.contains(e.target);\r\n if (!isClickInside && !select.classList.contains('none') && select.classList.contains('ulice_proposal_atc')) {\r\n input.value = '';\r\n isProposalType(select, true);\r\n select.classList.add('none');\r\n }\r\n });\r\n }\r\n //check if the element already has a listener. If not, add one.\r\n if (!select.getAttribute('listener')) {\r\n //detect if device is touchable\r\n function is_touchable_device() {\r\n if ((navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)) {\r\n return true;\r\n }\r\n }\r\n //eventlistener for click on option in selectBox\r\n if (is_touchable_device() === true) {\r\n select.addEventListener(\"touchend\", () => {\r\n if (select.value !== 'not-found') {\r\n resultPickHandler(input, select, callback);\r\n }\r\n }, select.setAttribute('listener', true));\r\n } else {\r\n select.addEventListener(\"click\", () => {\r\n if (select.value !== 'not-found') {\r\n resultPickHandler(input, select, callback);\r\n }\r\n }, select.setAttribute('listener', true));\r\n }\r\n //eventlistener for key events in textBox (choosing from selectBox)\r\n input.addEventListener(\"keydown\", (e) => {\r\n let s = select;\r\n // for esc\r\n if (e.keyCode === 27) {\r\n s.classList.add('none');\r\n return;\r\n }\r\n // for arrow down\t\r\n if (e.keyCode == 40) {\r\n s.selectedIndex = s.selectedIndex >= 0 && s.selectedIndex < s.length - 1 ? s.selectedIndex + 1 : 0;\r\n input.value = s[s.selectedIndex].innerHTML;\r\n return;\r\n }\r\n // for arrow up\t\r\n else if (e.keyCode === 38) {\r\n s.selectedIndex = s.selectedIndex > 0 ? s.selectedIndex - 1 : s.length - 1;\r\n input.value = s[s.selectedIndex].innerHTML;\r\n return;\r\n }\r\n // for enter\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n if (select.value !== 'not-found') {\r\n resultPickHandler(input, s, callback);\r\n }\r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => console.error('There was a problem with the request: ' + error));\r\n}\r\n\r\n/**\r\n * handler for picking options from generated combo box. This function add value of selected option to parent text input. \r\n * Execute the callback function if specified.\r\n * @param {HTML Element} textInput - text input into which the text is written \r\n * @param {HTML Element} selectInput - autocomplete selectBox form which is option picked\r\n * @param {function} callback - callback function which will be executed after user pick the option\r\n */\r\nfunction resultPickHandler(textInput, selectInput, callback) {\r\n let select = selectInput;\r\n let text = select[select.selectedIndex].innerHTML;\r\n textInput.value = text.replace(/&/g, '&');\r\n select.classList.add('none');\r\n isProposalType(select, true)\r\n if (callback === false) {\r\n return\r\n } else {\r\n callback(textInput.value, select[select.selectedIndex].value);\r\n }\r\n}\r\n","import { building } from \"./main.js\";\r\nimport { autocomplete, isProposalType } from \"./autocomplete-module.js\";\r\nimport { initProposal } from \"./proposal-module.js\";\r\nimport { selector } from \"./selectors-module.js\";\r\nimport { DOMAIN_NAME } from \"./main.js\";\r\n\r\n\r\n/**\r\n * stateManager is an object which hold current state of form. \r\n * Information about the current state is passed to formManager\r\n * (formManager manage bahavior of form)\r\n */\r\nexport let stateManager = {\r\n form_type: getTypeOfForm(),\r\n state: \"initialization\",\r\n\r\n setState(value) {\r\n this.state = value\r\n formManager(this.state)\r\n }\r\n}\r\n\r\n/**\r\n * manage bahavior of whole form (based of current state).\r\n * @param {string} state - current state of form\r\n */\r\nexport function formManager(state) {\r\n switch (state) {\r\n case 'initialization':\r\n if (selector.kodRuianInput) {\r\n resetToInitialState('.identification');\r\n setEnabled(selector.kodRuianInput);\r\n setEnabled(selector.obecTextInput);\r\n setDisabled(selector.fetchBtn);\r\n } else {\r\n resetToInitialState('.proposal');\r\n initiateProposalSpecificTypeOfForms();\r\n }\r\n building.resetAllValues();\r\n break;\r\n case 'by_ruian_code':\r\n resetToInitialState('.identification');\r\n setEnabled(selector.fetchBtn);\r\n setDisabled(selector.obecTextInput);\r\n selector.obecTextInput.value = '';\r\n setEnabled(selector.fetchBtn);\r\n break;\r\n case 'by_params':\r\n building.resetAllValues();\r\n if (stateManager.form_type === 'so-d' || stateManager.form_type === 'ad-d' || stateManager.form_type === 'ul-d') {\r\n resetToInitialState('.proposal');\r\n initiateProposalSpecificTypeOfForms();\r\n } else {\r\n resetToInitialState('.identification');\r\n setDisabled(selector.kodRuianInput);\r\n }\r\n break;\r\n case 'not_found':\r\n selector.notFoundBox.classList.remove('none');\r\n selector.notFoundBox.innerText = 'Objekt nenalezen!';\r\n selector.kodRuianInput.classList.add('notFound');\r\n break;\r\n case 'not_cislo_popisne':\r\n selector.notFoundBox.classList.remove('none');\r\n selector.notFoundBox.innerText = 'Reklamovat lze pouze stavební objekty s č.p. nebo č.ev.';\r\n selector.kodRuianInput.classList.add('notFound');\r\n break;\r\n case 'is_cislo_popisne':\r\n selector.notFoundBox.classList.remove('none');\r\n selector.notFoundBox.innerText = 'Reklamovat lze pouze stavební objekty bez č.p. s č.ev.';\r\n selector.kodRuianInput.classList.add('notFound');\r\n break;\r\n case 'no_street_delete':\r\n selector.notFoundBox.classList.remove('none');\r\n if (stateManager.form_type === 'ad-doc') {\r\n selector.notFoundBox.innerText = 'Adresní místo se nenachází v žádné ulici.';\r\n } else {\r\n selector.notFoundBox.innerText = 'V obci není uliční síť!';\r\n }\r\n selector.kodRuianInput.classList.add('notFound');\r\n break;\r\n case 'no_street':\r\n selector.noStreetBox.classList.remove('none');\r\n selector.noStreetBox.innerText = 'V obci není uliční síť!';\r\n selector.obecTextInput.classList.add('notFound');\r\n setDisabled(selector.submitBtn);\r\n break;\r\n case 'no_street_for_number':\r\n selector.noStreetForNumberBox.classList.remove('none');\r\n selector.noStreetForNumberBox.innerText = 'Toto číslo domovní se nenachází v žádné ulici. Doplnění orientačního čísla lze použít pouze pro adresy s uvedenou ulicí.';\r\n selector.cisloPopisne.classList.add('notFound');\r\n setDisabled(selector.submitBtn);\r\n break;\r\n case 'obec':\r\n if (selector.kodRuianInput) {\r\n setDisabled(selector.kodRuianInput);\r\n }\r\n if ((stateManager.form_type === 'ad-du' || (stateManager.form_type.startsWith(\"ul\") && stateManager.form_type != 'ul-d') || stateManager.form_type === 'ad-zu') && building.init_data.ulice.length < 1) {\r\n stateManager.setState('no_street');\r\n } else if (stateManager.form_type.startsWith(\"ul\") && stateManager.form_type != 'ul-d') {\r\n setEnabled(selector.ulice);\r\n selector.obecKod.value = building.obec;\r\n building.getUlice('.ulice', '.ulice_atc');\r\n } else if (stateManager.form_type === 'ul-d') {\r\n setEnabled(selector.uliceProposal);\r\n selector.obecKod.value = building.obec;\r\n // building.getUlice('.ulice', '.ulice_atc');\r\n } else if (stateManager.form_type === 'pdb') {\r\n setEnabled(selector.katUzemi);\r\n selector.obecKod.value = building.obec;\r\n building.getKatUzemi(selector.katUzemi);\r\n } else {\r\n setEnabled(selector.momc);\r\n building.getMomc(selector.momc);\r\n }\r\n // to deactivate typ_so option for so without cislo_popisne\r\n if (stateManager.form_type === 'so-dc' || stateManager.form_type === 'so-ta') {\r\n let options = document.querySelector('.typ_so').children;\r\n for (let i = 0; i < options.length; i++) {\r\n if (options[i].value == 3) {\r\n options[i].disabled = true;\r\n }\r\n }\r\n }\r\n if (stateManager.form_type === 'so-td') {\r\n let options = document.querySelector('.typ_so').children;\r\n//\t\tconsole.log(options);\r\n for (let i = 0; i < options.length; i++) {\r\n if (options[i].value == 3) {\r\n options[i].selected = true;\r\n stateManager.setState('typ_so_without_number');\r\n } else {\r\n options[i].disabled = true;\r\n }\r\n }\r\n }\r\n break;\r\n case 'momc':\r\n if (stateManager.form_type.startsWith(\"so\")) {\r\n building.getTypSo(selector.typSo);\r\n setEnabled(selector.typSo, selector.cisloPopisne, selector.cisloPopisneAutocomplete);\r\n } else {\r\n setEnabled(selector.castObce);\r\n building.getCastObce(selector.castObce);\r\n }\r\n break;\r\n case 'momc_without':\r\n setDisabled(selector.momc);\r\n selector.momc.innerText = \"\";\r\n if (stateManager.form_type.startsWith(\"so\") || stateManager.form_type === 'obu') {\r\n setEnabled(selector.typSo);\r\n building.getTypSo(selector.typSo, selector.cisloPopisne, selector.cisloPopisneAutocomplete);\r\n } else {\r\n setEnabled(selector.castObce);\r\n building.getCastObce(selector.castObce);\r\n }\r\n break;\r\n case 'typ_so':\r\n building.getCastObce(selector.castObce);\r\n setEnabled(selector.castObce, selector.cisloPopisne, selector.cisloPopisneAutocomplete);\r\n setDisabled(selector.katUzemi);\r\n setDisabled(selector.typParcely1);\r\n setDisabled(selector.typParcely2);\r\n setDisabled(selector.parcelniCislo);\r\n\r\n if (selector.fetchBtn) {\r\n setDisabled(selector.fetchBtn);\r\n }\r\n selector.katUzemi.innerHTML = ``;\r\n selector.parcelniCislo.value = \"\";\r\n if (selector.parcelaId) {\r\n selector.parcelaId.value = '';\r\n }\r\n uncheckBothTypParcely()\r\n if (stateManager.form_type === 'so-d') {\r\n setEnabled(selector.katUzemi, selector.typParcely1, selector.typParcely2, selector.parcelniCislo);\r\n building.getKatUzemi(selector.katUzemi);\r\n }\r\n break;\r\n case 'typ_so_without_number':\r\n setDisabled(selector.castObce);\r\n setDisabled(selector.cisloPopisne);\r\n if (selector.fetchBtn) {\r\n setDisabled(selector.fetchBtn);\r\n }\r\n selector.castObce.innerHTML = ''\r\n selector.cisloPopisne.value = '';\r\n if (selector.parcelaId) {\r\n selector.parcelaId.value = '';\r\n }\r\n setEnabled(selector.katUzemi);\r\n building.getKatUzemi(selector.katUzemi);\r\n break;\r\n case 'typ_so_proposal':\r\n console.log(\"here with cp\");\r\n setEnabled(selector.castObceProposal);\r\n setEnabled(selector.cisloPopisneProposal);\r\n break;\r\n case 'typ_so_without_number_proposal':\r\n console.log(\"here without cp\");\r\n setDisabled(selector.castObceProposal);\r\n setDisabled(selector.cisloPopisneProposal);\r\n// selector.castObceProposal.innerHTML = '';\r\n// selector.cisloPopisneProposal.value = '';\r\n break;\r\n case 'cast_obce':\r\n if (stateManager.form_type.startsWith('so') || stateManager.form_type === 'obu') {\r\n if (stateManager.form_type != 'so-d') {\r\n building.getCisloPopisne();\r\n setEnabled(selector.cisloPopisneAutocomplete);\r\n }\r\n setEnabled(selector.cisloPopisne);\r\n } else {\r\n if (stateManager.form_type === 'ad-d' && building.init_data.ulice.length > 0) {\r\n setEnabled(selector.uliceProposal)\r\n }\r\n selector.cisloDomovniTyp.value = '';\r\n selector.cisloPopisne.value = null;\r\n if (selector.noStreetForNumberBox) {\r\n selector.noStreetForNumberBox.classList.add('none');\r\n selector.cisloPopisne.classList.remove('notFound');\r\n }\r\n selector.cisloPopisneAutocomplete.classList.add('none');\r\n if (selector.fetchBtn) {\r\n setDisabled(selector.fetchBtn)\r\n }\r\n ;\r\n setDisabled(selector.cisloPopisne);\r\n setEnabled(selector.cisloDomovniTyp);\r\n building.getCisloDomovniTyp(selector.cisloDomovniTyp, selector.cisloPopisne, selector.cisloPopisneAutocomplete);\r\n }\r\n break;\r\n case 'ulice':\r\n if (stateManager.form_type.startsWith('ul') && stateManager.form_type != 'ul-d') {\r\n building.setKodRuian(building.ulice);\r\n stateManager.setState('params_completed');\r\n }\r\n if (stateManager.form_type === 'ad-d') {\r\n selector.uliceKod.value = building.ulice;\r\n selector.uliceProposal.addEventListener('input', () => {\r\n if (selector.uliceProposal.value === '') {\r\n setDisabled(selector.cisloOrientacniProposal);\r\n building.setUlice(undefined);\r\n selector.uliceKod.value = \"\";\r\n selector.cisloOrientacniProposal.value = '';\r\n }\r\n })\r\n setEnabled(selector.cisloOrientacniProposal);\r\n }\r\n if (stateManager.form_type === 'ad-du') {\r\n selector.uliceKod.value = building.ulice;\r\n }\r\n break;\r\n case 'cislo_domovni_typ':\r\n if (stateManager.form_type != 'ad-d') {\r\n setEnabled(selector.cisloPopisne);\r\n building.getCisloPopisne();\r\n } else {\r\n setEnabled(selector.cisloPopisne);\r\n building.getCisloPopisne();\r\n setEnabled(selector.psc);\r\n }\r\n break;\r\n case 'cislo_popisne':\r\n stateManager.setState('params_completed');\r\n break;\r\n case 'kat_uzemi':\r\n setDisabled(selector.typParcely1);\r\n setDisabled(selector.typParcely2);\r\n setDisabled(selector.parcelniCislo);\r\n selector.parcelniCislo.value = \"\";\r\n if (building.ciselna_rada === '2') {\r\n uncheckBothTypParcely()\r\n setEnabled(selector.typParcely1);\r\n setEnabled(selector.typParcely2);\r\n building.getTypParcely();\r\n } else {\r\n setEnabled(selector.parcelniCislo);\r\n if (stateManager.form_type === 'so-d') {\r\n if (building.typ_parcely === 2) {\r\n selector.typParcely2.checked = true;\r\n }\r\n if (building.typ_parcely === 1) {\r\n selector.typParcely1.checked = true;\r\n }\r\n }\r\n building.getParcelniCislo(building.typ_parcely, '.parcelni_cislo', '.parcelni_cislo_atc');\r\n }\r\n break;\r\n case 'typ_parcely':\r\n selector.parcelniCislo.value = '';\r\n if (selector.fetchBtn) {\r\n setDisabled(selector.fetchBtn);\r\n }\r\n setEnabled(selector.parcelniCislo);\r\n building.getParcelniCislo(building.typ_parcely, '.parcelni_cislo', '.parcelni_cislo_atc');\r\n break;\r\n case 'parcelni_cislo':\r\n if (stateManager.form_type === 'so-d') {\r\n //returning parcela id\r\n selector.parcelaId.value = building.kod_ruian;\r\n // building.getFinalDataByCode(building.kod_ruian);\r\n } else {\r\n stateManager.setState('params_completed');\r\n }\r\n break;\r\n case 'params_completed':\r\n setEnabled(selector.fetchBtn);\r\n break;\r\n\r\n case 'vice_cislo_popisne':\r\n selector.moreResultsBox.classList.remove('none');\r\n selector.moreResultsBox.innerText = 'Návrh na změnu technickoekonomických atributů jednotlivých vchodů lze uvést do popisu reklamace.';\r\n break;\r\n\r\n case 'final_data':\r\n selector.fetchBtn.classList.add('none');\r\n openProposalSection();\r\n initProposal(state);\r\n initiateProposalSpecificTypeOfForms();\r\n break;\r\n default:\r\n }\r\n}\r\n\r\n/**\r\n * Function for initialization of identification section of the form. \r\n * Add listeners and handle toggle all necessary atributes between cases \"insert \r\n * by ruian code\" or \"by parameters\"\r\n */\r\nexport function startIdentification() {\r\n //insert by ruian code\r\n if (selector.kodRuianInput) {\r\n selector.kodRuianInput.addEventListener('input', () => {\r\n if (selector.kodRuianInput.value === '') {\r\n if (selector.noStreetForNumberBox) {\r\n selector.noStreetForNumberBox.classList.add('none');\r\n }\r\n if (selector.noStreetBox) {\r\n selector.noStreetBox.innerText = '';\r\n }\r\n if (selector.notFoundBox) {\r\n selector.notFoundBox.innerText = '';\r\n }\r\n selector.kodRuianInput.classList.remove('notFound');\r\n selector.obecTextInput.classList.remove('notFound');\r\n selector.obecTextInput.value = '';\r\n stateManager.setState('initialization');\r\n } else {\r\n stateManager.setState('by_ruian_code');\r\n }\r\n })\r\n selector.kodRuianInput.addEventListener('keydown', (e) => {\r\n let invalidChars = [\r\n \"-\",\r\n \"+\",\r\n \"e\",\r\n ];\r\n if (invalidChars.includes(e.key)) {\r\n e.preventDefault();\r\n }\r\n });\r\n }\r\n\r\n\r\n //insert by parameters\r\n if (selector.obecTextInput) {\r\n selector.obecAutocompleteInput.classList.add('none');\r\n autocomplete('.obec', '.obec_atc', 'getobec', building.getObec.bind(building));\r\n selector.obecTextInput.addEventListener('input', () => {\r\n if (selector.obecTextInput.value === '') {\r\n if (selector.noStreetBox) {\r\n selector.noStreetBox.classList.add('none');\r\n }\r\n if (selector.noStreetForNumberBox) {\r\n selector.noStreetForNumberBox.classList.add('none');\r\n selector.cisloPopisne.classList.remove('notFound');\r\n }\r\n selector.obecTextInput.classList.remove('notFound');\r\n stateManager.setState('initialization');\r\n } else {\r\n stateManager.setState('by_params');\r\n }\r\n })\r\n }\r\n //fetch button for fetch object based on parameters\r\n if (selector.fetchBtn) {\r\n selector.fetchBtn.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n let ruianErrMsg = document.querySelector('#frm-mainForm-mainForm-i_kod_ruian_msg');\r\n if (!ruianErrMsg.classList.contains('has-error-msg')) {\r\n if (stateManager.state === 'params_completed') {\r\n selector.notFoundBox.classList.add('none');\r\n selector.notFoundBox.innerText = '';\r\n selector.kodRuianInput.classList.remove('notFound');\r\n building.getFinalDataByCode(building.kod_ruian);\r\n } else {\r\n selector.notFoundBox.classList.add('none');\r\n selector.notFoundBox.innerText = '';\r\n selector.kodRuianInput.classList.remove('notFound');\r\n building.getFinalDataByCode(selector.kodRuianInput.value);\r\n }\r\n }\r\n }, selector.fetchBtn.setAttribute('listener', true));\r\n }\r\n //initiate type specific types of forms (proposal only etc.)\r\n if (stateManager.form_type === 'so-d' || stateManager.form_type === 'ad-d' || stateManager.form_type === 'ul-d'\r\n || stateManager.form_type === 'ad-du' || stateManager.form_type === 'ul-dnu' || stateManager.form_type === 'xmlruian'\r\n || stateManager.form_type === 'xmliskn' || stateManager.form_type === 'so-dt' || stateManager.form_type === 'so-dp'\r\n || stateManager.form_type === 'so-ta') {\r\n initiateProposalSpecificTypeOfForms();\r\n }\r\n\r\n if (selector.submitBtn) {\r\n //start preloader if submit btn is clicked and there is no validation errors on client side\r\n selector.submitBtn.addEventListener('click', () => {\r\n setTimeout(() => {\r\n let errors = document.querySelectorAll('.has-error-msg');\r\n if (errors.length === 0) {\r\n startPreloader();\r\n }\r\n }, 300);\r\n });\r\n //stop preloader if there was an error returned from db and error snippet is redrawn\r\n naja.snippetHandler.addEventListener('afterUpdate', (event) => {\r\n if (event.detail.snippet.id === 'snippet-mainForm-error') {\r\n setTimeout(() => {\r\n event.preventDefault();\r\n stopPreloader();\r\n }, 300);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n/**\r\n * reset all values of all inputs (in part of form focused on identification) and set them as disabled.\r\n * for proper function add the (html) class \"autocomplete\" to the corresponding autocomplete select box. \r\n * Add the class \"noreset\" to the fields which can NOT be reseted.\r\n * Add the class \"to-default\" to the selectbox which you want to provide with default option.\r\n */\r\nexport function resetToInitialState(wrapingElement) {\r\n let wrap = document.querySelector(wrapingElement);\r\n let selectInputs = wrap.querySelectorAll('select:not(.autocomplete):not(.noreset)');\r\n let textInputs = wrap.querySelectorAll('input:not(.noreset)');\r\n let toDefault = wrap.querySelectorAll('.to-default');\r\n let autocompleteBoxes = document.querySelectorAll('.autocomplete');\r\n let allInputs = Array.from(selectInputs).concat(Array.from(textInputs));\r\n\r\n if (selector.noStreetBox) {\r\n selector.noStreetBox.classList.add('none');\r\n }\r\n if (selector.obecTextInput) {\r\n selector.obecTextInput.classList.remove('notFound');\r\n }\r\n if (selector.fetchBtn) {\r\n setDisabled(selector.fetchBtn);\r\n }\r\n if (selector.typParcely1 || selector.typParcely2) {\r\n uncheckBothTypParcely();\r\n setDisabled(selector.typParcely1);\r\n setDisabled(selector.typParcely2);\r\n }\r\n autocompleteBoxes.forEach(selectBox => selectBox.classList.add('none'));\r\n toDefault.forEach(selectBox => selectBox.innerHTML = ``);\r\n allInputs.forEach(input => {\r\n setDisabled(input);\r\n input.value = '';\r\n })\r\n}\r\n\r\n/**\r\n * Reset parameters of individual field\r\n * @param {string} textField - css selector (id/class) of text input\r\n * @param {string=} selectField - css selector (id/class) of select input\r\n */\r\nexport function resetField(textField, selectField) {\r\n setDisabled(textField);\r\n textField.value = null;\r\n if (selectField) {\r\n selectField.value = null;\r\n selectField.classList.add('none');\r\n }\r\n}\r\n\r\n/**\r\n * Facade for set element as disabled\r\n * @param {object} element - HTML element\r\n */\r\nexport function setDisabled(element) {\r\n element.setAttribute('disabled', '');\r\n}\r\n\r\n/**\r\n * Facade for remove attribute 'disabled' of element\r\n * @param {object} element - HTML element \r\n */\r\nexport function setEnabled(element) {\r\n element.removeAttribute('disabled');\r\n}\r\n/**\r\n * Facade for add class 'lock' of element\r\n * @param {object} element - HTML element \r\n */\r\nexport function setLocked(element) {\r\n element.classList.add(\"lock\");\r\n}\r\n\r\n/**\r\n * get type of Form from url and set them as property of 'stateManager' object\r\n */\r\nfunction getTypeOfForm() {\r\n let url_string = window.location.href;\r\n let url = new URL(url_string);\r\n let type = url.searchParams.get(\"type\");\r\n return type;\r\n}\r\n\r\n/**\r\n * open the proposal section of form after the final data od identification are fetched\r\n */\r\nfunction openProposalSection() {\r\n let wrap = document.querySelector('.proposal');\r\n let selectInputs = wrap.querySelectorAll('select:not(.ident)');\r\n let textInputs = wrap.querySelectorAll('input:not(.ident)');\r\n let textarea = wrap.querySelectorAll('textarea:not(.ident)');\r\n let allInputs = Array.from(selectInputs).concat(Array.from(textInputs)).concat(Array.from(textarea));\r\n\r\n let selectInputsLocked = wrap.querySelectorAll('select.ident');\r\n let textInputsLocked = wrap.querySelectorAll('input.ident');\r\n let textareaLocked = wrap.querySelectorAll('textarea.ident');\r\n let allInputsLocked = Array.from(selectInputsLocked).concat(Array.from(textInputsLocked)).concat(Array.from(textareaLocked));\r\n\r\n allInputsLocked.forEach(input => setLocked(input));\r\n allInputs.forEach(input => setEnabled(input));\r\n setEnabled(selector.submitBtn);\r\n}\r\n\r\n/**\r\n * uncheck both typ_parcely radio buttons\r\n */\r\nfunction uncheckBothTypParcely() {\r\n selector.typParcely1.checked = false;\r\n selector.typParcely2.checked = false;\r\n}\r\n\r\n/**\r\n * facade for start a preloader\r\n */\r\nexport function startPreloader() {\r\n document.querySelector(\".spinner\").classList.remove(\"none\");\r\n}\r\n\r\n/**\r\n * facade for stop a preloader\r\n */\r\nexport function stopPreloader() {\r\n document.querySelector(\".spinner\").classList.add(\"none\");\r\n}\r\n\r\n/** \r\n * initial field open of definition point and complaint description for \r\n * ad-d, so-d, ul-d and other type specific type of form \r\n * */\r\nfunction initiateProposalSpecificTypeOfForms() {\r\n if (selector.submitBtn && !(stateManager.form_type === 'ul-dnu' || stateManager.form_type === 'ad-du')) {\r\n setEnabled(selector.submitBtn);\r\n }\r\n //for ulice input (case where ulice is in proposal section)\r\n if (selector.uliceProposal) {\r\n selector.uliceProposalAutocomplete.classList.add('none');\r\n // if autocomplete is needed for this boxes\r\n if (stateManager.form_type === 'ad-du' || stateManager.form_type === 'ad-d') {\r\n selector.uliceProposal.addEventListener('focus', () => {\r\n building.getUlice('.ulice_proposal', '.ulice_proposal_atc')\r\n })\r\n }\r\n }\r\n if (stateManager.form_type === 'ul-d') {\r\n if (selector.popisReklamace) {\r\n setEnabled(selector.popisReklamace);\r\n setEnabled(selector.caraUliceProposal);\r\n }\r\n }\r\n if (stateManager.form_type === 'so-d' || stateManager.form_type === 'ad-d') {\r\n if (selector.popisReklamace) {\r\n setEnabled(selector.popisReklamace);\r\n setEnabled(selector.defb_x_Proposal);\r\n setEnabled(selector.defb_y_Proposal);\r\n if (stateManager.form_type === 'ad-d') {\r\n setEnabled(selector.defb_x_hasici_Proposal);\r\n setEnabled(selector.defb_y_hasici_Proposal);\r\n setEnabled(selector.defb_y_zzs_Proposal);\r\n setEnabled(selector.defb_x_zzs_Proposal)\r\n }\r\n }\r\n }\r\n if (stateManager.form_type === 'so-dp') {\r\n setDisabled(selector.submitBtn);\r\n setDisabled(selector.parcelniCisloProposal);\r\n // handle katuze selectbox and behavior of typ_parcely inputs based on selected katuze\r\n selector.katUzemiProposal.addEventListener('input', (e) => {\r\n setEnabled(selector.typParcely1Proposal);\r\n setEnabled(selector.typParcely2Proposal);\r\n setDisabled(selector.parcelniCisloProposal);\r\n selector.parcelniCisloProposal.value = '';\r\n let katuze = e.target[e.target.selectedIndex].value;\r\n let rada = e.target[e.target.selectedIndex].getAttribute('data-cr');\r\n let typParcely;\r\n let radioProposal = document.querySelector('.radio_proposal');\r\n //check type of parcel numbering for each type of rada\r\n if (rada === '1') {\r\n fetch(DOMAIN_NAME + 'reklamaceRUIAN/getdruhcislovani' + '?katuze=' + katuze)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n if (data === 2) {\r\n selector.typParcely2Proposal.checked = true;\r\n setDisabled(selector.typParcely1Proposal);\r\n typParcely = 2;\r\n }\r\n if (data === 1) {\r\n selector.typParcely1Proposal.checked = true;\r\n setDisabled(selector.typParcely2Proposal);\r\n typParcely = 1;\r\n }\r\n setEnabled(selector.parcelniCisloProposal);\r\n building.getParcelniCisloProposal(typParcely, '.parcelni_cislo_proposal', '.parcelni_cislo_proposal_atc', katuze);\r\n })\r\n .catch((error) => console.error('There was a problem with the request: ' + error));\r\n } else {\r\n selector.typParcely2Proposal.checked = false;\r\n selector.typParcely1Proposal.checked = false;\r\n radioProposal.addEventListener('click', (e) => {\r\n setEnabled(selector.parcelniCisloProposal);\r\n typParcely = e.target.value;\r\n selector.parcelniCisloProposal.value = '';\r\n building.getParcelniCisloProposal(typParcely, '.parcelni_cislo_proposal', '.parcelni_cislo_proposal_atc', katuze);\r\n })\r\n }\r\n // control if user click outside of autocomplete selectbox (not choose any option) and reset the value in the cislo_popisne\r\n document.addEventListener('click', (e) => {\r\n let isClickInside = selector.parcelniCisloAutocompleteProposal.contains(e.target);\r\n if (!isClickInside && !selector.parcelniCisloAutocompleteProposal.classList.contains('none') &&\r\n selector.parcelniCisloAutocompleteProposal.classList.contains('parcelni_cislo_proposal_atc')) {\r\n selector.parcelniCisloProposal.value = '';\r\n isProposalType(selector.parcelniCisloAutocompleteProposal, true);\r\n selector.parcelniCisloAutocompleteProposal.classList.add('none');\r\n }\r\n });\r\n });\r\n }\r\n if (stateManager.form_type === 'so-dt') {\r\n if (selector.typSoProposal) {\r\n let textInput = selector.cisloPopisneProposal;\r\n console.log(textInput);\r\n selector.typSoProposal.addEventListener('input', (e) => {\r\n textInput.removeAttribute('data-nette-rules');\r\n if (selector.typSoProposal[selector.typSoProposal.selectedIndex].value == 1 || selector.typSoProposal[selector.typSoProposal.selectedIndex].value == 2) {\r\n textInput.setAttribute('required', 'required');\r\n textInput.setAttribute('data-nette-rules', '[{\"op\":\":filled\",\"msg\":\"Toto pole je povinné\"},{\"op\":\":maxLength\",\"msg\":\"Povolený rozsah je maximálně 4 znaky\",\"arg\":4},{\"op\":\":integer\",\"msg\":\"Kód musí být číslo\"}]');\r\n } else {\r\n textInput.removeAttribute('required', null);\r\n textInput.setAttribute('data-nette-rules', '[{\"op\":\":maxLength\",\"msg\":\"Povolený rozsah je maximálně 4 znaky\",\"arg\":4},{\"op\":\":integer\",\"msg\":\"Kód musí být číslo\"}]');\r\n }\r\n });\r\n if (selector.typSoProposal.value == 3) {\r\n setDisabled(selector.castObceProposal);\r\n setDisabled(selector.cisloPopisneProposal);\r\n }\r\n }\r\n }\r\n // postupne otevirani formularu\r\n// if (stateManager.form_type === 'so-ta') {\r\n//// setDisabled(selector.tea2);\r\n// selector.tea.addEventListener('input', (e) => {\r\n// let tea = e.target[e.target.selectedIndex];\r\n// if (tea.value == 1) {\r\n// setEnabled(selector.tea2);\r\n// } else {\r\n// setDisabled(selector.tea2);\r\n// selector.tea2.value = '';\r\n// }\r\n// });\r\n//\r\n// }\r\n}\r\n\r\n\r\n// /**\r\n// * get data about the parcel number (based on autocomplete) and put them into the selectbox.\r\n// * its only for solving a proposal of parcel in so-dp type of form\r\n// */\r\n// function getParcelniCisloProposal(typ_parcely, textInput, selectInput, katuze, typ_Parcely) {\r\n// let typParcely;\r\n// if (typ_parcely != undefined) {\r\n// typParcely = typ_parcely;\r\n// } else {\r\n// typParcely = 'undefined';\r\n// }\r\n\r\n// autocomplete(textInput, selectInput, 'getparcelnicislo', setPC.bind(this), '&katuze=' + katuze + '&typparcely=' + typParcely + '&form=' + stateManager.form_type)\r\n// // autocomplete('.parcelni_cislo', '.parcelni_cislo_atc', 'getparcelnicislo', setPC.bind(this), '&katuze=' + this.kat_uzemi + '&typparcely=' + typParcely + '&form=' + stateManager.form_type)\r\n// function setPC(cislo, kodRuian) {\r\n// fetch(DOMAIN_NAME + 'reklamaceRUIAN/getsobycode' + '?so_code=' + kodRuian)\r\n// .then((response) => response.json())\r\n// .then((data) => {\r\n// selector.parcelaId.value = data.forObject.parcela_id;\r\n// })\r\n// .catch((error) => console.error('There was a problem with the request: ' + error));\r\n// }\r\n// }","import { DOMAIN_NAME } from \"./main.js\";\r\n\r\nexport function transformation() {\r\n\r\n let errorMessage =\r\n `Vložte souřadnice v podporovaném formátu z území České republiky
\r\n
  • 50.1263414N, 14.6709333E
  • \r\n
  • 50.1263414,14.6709333
  • \r\n
  • 50.1263414 14.6709333
  • `;\r\n let callFrom = null;\r\n\r\n // SELECTORS \r\n const gpsOpenBtns = document.querySelectorAll(\".gps-box-btn\");\r\n const gpsTransformBtn = document.querySelector(\".gps_transform_btn\");\r\n const transformationBox = document.querySelector(\".modal\");\r\n const gpsMsgBox = document.querySelector(\".gps-msgBox\");\r\n const gpsCloseBtn = document.querySelector(\".gps-closeBtn\");\r\n const gpsInput = document.querySelector(\"#gps\");\r\n const xInput = document.querySelector(\"#x_tmp\");\r\n const yInput = document.querySelector(\"#y_tmp\");\r\n const insertBtn = document.querySelector(\".btn-insert\");\r\n\r\n gpsOpenBtns?.forEach(gpsOpenBtn => {\r\n gpsOpenBtn.addEventListener(\"click\", (e) => {\r\n e.preventDefault;\r\n callFrom = e.target.parentElement;\r\n transformationBox.classList.add('modal-active');\r\n gpsMsgBox.innerText = \"\";\r\n gpsInput.value = \"\";\r\n xInput.value = \"\";\r\n yInput.value = \"\";\r\n });\r\n });\r\n\r\n gpsTransformBtn?.addEventListener(\"click\", () => {\r\n checkTransformation();\r\n });\r\n\r\n gpsCloseBtn?.addEventListener(\"click\", () => {\r\n transformationBox.classList.remove('modal-active');\r\n });\r\n\r\n insertBtn?.addEventListener(\"click\", (e) => {\r\n e.preventDefault;\r\n saveResults();\r\n });\r\n\r\n function validateGPS(input) {\r\n let gps = input.toUpperCase().trim().replace(\"N\", \"\").replace(\"E\", \"\").replace(\";\", \",\").replace(\",\", \" \").replace(\" \", \" \").split(\" \");\r\n if (gps.length !== 2) {\r\n return \"CHYBA FORMÁTU\";\r\n } else {\r\n let x = new RegExp('((48|49|50|51)(.d+)?)');\r\n let y = new RegExp('((12|13|14|15|16|17|18)(.d+)?)');\r\n if (x.test(gps[0]) && y.test(gps[1])) {\r\n return gps;\r\n } else {\r\n return \"CHYBA SOUŘADNIC\";\r\n }\r\n }\r\n }\r\n\r\n function transform(x, y) {\r\n fetch(DOMAIN_NAME + 'reklamaceRUIAN/' + \"transform?x=\" + x + \"&y=\" + y)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n let result = data.split(\";\");\r\n if (result instanceof Array && result.length === 2) {\r\n gpsMsgBox.innerHTML = \"Transformace proběhla úspěšně\";\r\n gpsMsgBox.classList.add('gps-success');\r\n yInput.value = Math.round(result[1] * 100) / 100;\r\n xInput.value = Math.round(result[0] * 100) / 100;\r\n } else {\r\n gpsMsgBox.innerHTML = \"CHYBA TRANSFORMACE
    \" + errorMessage;\r\n gpsMsgBox.classList.add('gps-error');\r\n }\r\n })\r\n .catch((error) => console.error('There was a problem with the request: ' + error));\r\n }\r\n\r\n function checkTransformation() {\r\n xInput.value = \"\";\r\n yInput.value = \"\";\r\n gpsMsgBox.innerHTML = \"Probíhá transformace...\";\r\n let validation = validateGPS(gpsInput.value);\r\n if (validation instanceof Array) {\r\n // if validation of input is ok\r\n transform(validation[0], validation[1]);\r\n } else {\r\n gpsMsgBox.innerHTML = \"\" + validation + \"
    \" + errorMessage;\r\n gpsMsgBox.classList.add('gps-error');\r\n }\r\n }\r\n\r\n function saveResults() {\r\n if (xInput.value && yInput.value) {\r\n let formYInput = callFrom.querySelectorAll('input')[0];\r\n let formXInput = callFrom.querySelectorAll('input')[1];\r\n formXInput.value = xInput.value;\r\n formYInput.value = yInput.value;\r\n transformationBox.classList.remove('modal-active');\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { building, DOMAIN_NAME } from \"./main.js\";\r\nimport { autocomplete } from \"./autocomplete-module.js\";\r\nimport { fetchMap } from \"./map-module.js\";\r\nimport { stateManager, setDisabled, resetField, startPreloader, stopPreloader } from \"./form-manager.js\";\r\nimport { selector } from \"./selectors-module.js\";\r\nexport default class Identification {\r\n\r\n constructor(kod_ruian, init_data, final_data, obec, momc, cast_obce, typ_so, ulice, cislo_domovni_typ, cislo_popisne, kat_uzemi, ciselna_rada, typ_parcely, parcelni_cislo,\r\n\t tea_vodovod, tea_podlazi, tea_vytah, tea_dokonceno, tea_konstrukce, tea_obestaveno, tea_zastaveno,\r\n\t tea_byty, tea_podlahova, tea_kanalizace, tea_plyn, tea_vytapeni) {\r\n\tthis.kod_ruian = kod_ruian;\r\n\tthis.init_data = init_data;\r\n\tthis.final_data = final_data;\r\n\tthis.obec = obec;\r\n\tthis.momc = momc;\r\n\tthis.cast_obce = cast_obce;\r\n\tthis.typ_so = typ_so;\r\n\tthis.ulice = ulice;\r\n\tthis.cislo_domovni_typ = cislo_domovni_typ;\r\n\tthis.cislo_popisne = cislo_popisne;\r\n\tthis.kat_uzemi = kat_uzemi;\r\n\tthis.ciselna_rada = ciselna_rada;\r\n\tthis.typ_parcely = typ_parcely;\r\n\tthis.parcelni_cislo = parcelni_cislo;\r\n\tthis.tea_podlazi = tea_podlazi;\r\n\tthis.tea_vytah = tea_vytah;\r\n\tthis.tea_dokonceno = tea_dokonceno;\r\n\tthis.tea_konstrukce = tea_konstrukce;\r\n\tthis.tea_obestaveno = tea_obestaveno;\r\n\tthis.tea_zastaveno = tea_zastaveno;\r\n\tthis.tea_byty = tea_byty;\r\n\tthis.tea_podlahova = tea_podlahova;\r\n\tthis.tea_kanalizace = tea_kanalizace;\r\n\tthis.tea_plyn = tea_plyn;\r\n\tthis.tea_vodovod = tea_vodovod;\r\n\tthis.tea_vytapeni = tea_vytapeni;\r\n \r\n this.typ_so_proposal;\r\n this.cast_obce_proposal;\r\n\r\n }\r\n\r\n setObec(obec) {\r\n\tthis.obec = obec;\r\n }\r\n\r\n setKodRuian(kod_ruian) {\r\n\tthis.kod_ruian = kod_ruian;\r\n }\r\n\r\n setInitData(init_data) {\r\n\tthis.init_data = init_data;\r\n\r\n }\r\n\r\n setFinalData(final_data) {\r\n\tthis.final_data = final_data;\r\n }\r\n\r\n setMomc(momc) {\r\n\tthis.momc = momc;\r\n }\r\n\r\n setCastObce(cast_obce) {\r\n\tthis.cast_obce = cast_obce;\r\n }\r\n \r\n setCastObceProposal(cast_obce_proposal) {\r\n\tthis.cast_obce_proposal = cast_obce_proposal;\r\n }\r\n\r\n setTypSo(typ_so) {\r\n\tthis.typ_so = typ_so;\r\n }\r\n \r\n setTypSoProposal(typ_so_proposal) {\r\n\tthis.typ_so_proposal = typ_so_proposal;\r\n }\r\n\r\n setUlice(ulice) {\r\n\tthis.ulice = ulice;\r\n }\r\n\r\n setCisloDomovniTyp(typ) {\r\n\tthis.cislo_domovni_typ = typ;\r\n }\r\n\r\n setCisloPop(cislo_popisne) {\r\n\tthis.cislo_popisne = cislo_popisne;\r\n }\r\n setKatUzemi(kat_uzemi) {\r\n\tthis.kat_uzemi = kat_uzemi;\r\n }\r\n setCiselnaRada(cislena_rada) {\r\n\tthis.ciselna_rada = cislena_rada;\r\n }\r\n setTypParcely(typ_parcely) {\r\n\tthis.typ_parcely = typ_parcely;\r\n }\r\n setParcelniCislo(parcelni_cislo) {\r\n\tthis.parcelni_cislo = parcelni_cislo;\r\n }\r\n setTeaVodovod(tea_vodovod) {\r\n\tthis.tea_vodovod = tea_vodovod;\r\n }\r\n setTeaPodlazi(tea_podlazi) {\r\n\tthis.tea_podlazi = tea_podlazi;\r\n }\r\n resetAllValues() {\r\n\tthis.momc = undefined;\r\n\tthis.resetAfterTypSoValues();\r\n }\r\n resetAfterTypSoValues() {\r\n\tthis.kod_ruian = undefined;\r\n\tthis.obec = undefined;\r\n\tthis.typ_so = undefined;\r\n\tthis.cast_obce = undefined;\r\n\tthis.cislo_popisne = undefined;\r\n\tthis.typ_parcely = undefined;\r\n\tthis.final_data = undefined;\r\n\tthis.kat_uzemi = undefined;\r\n\tthis.ciselna_rada = undefined;\r\n }\r\n\r\n /**\r\n * Fetch data for relevant administrative unit 'obec' (also reset all previous values and trigger callback)\r\n * @param {string} obec - code of administrative unit 'obec'\r\n */\r\n getObec(obec, kod) {\r\n\tthis.setObec(kod);\r\n\tif (kod) {\r\n\t startPreloader()\r\n\t fetch(DOMAIN_NAME + 'reklamaceRUIAN/getobecdata' + '?kod=' + kod)\r\n\t\t .then((response) => response.json())\r\n\t\t .then((data) => {\r\n\t\t\tstopPreloader();\r\n\t\t\tthis.setInitData(data);\r\n\t\t\tstateManager.setState('obec');\r\n\t\t })\r\n\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the administrative unit (city district) and put them into the selectbox.\r\n * sets the momc property of the 'this' object to the selected value\r\n */\r\n getMomc(selectorElement) {\r\n\t// let momc = this.init_data.momc;\r\n\t// let input = selectorElement;\r\n\t// let defaultOption = ``;\r\n\t// if (momc.length > 0) {\r\n\t// for (let i = 0; i < momc.length; i++) {\r\n\t// defaultOption += ``;\r\n\t// input.innerHTML = defaultOption;\r\n\t// }\r\n\t// //eventlistener for click on option in selectBox\r\n\t// if (!input.getAttribute('listener')) {\r\n\t// input.addEventListener('change', (e) => {\r\n\t// let momc_kod = e.target[e.target.selectedIndex].value;\r\n\t// this.setMomc(momc_kod);\r\n\t// stateManager.setState('momc');\r\n\t// }, input.setAttribute('listener', true));\r\n\t// }\r\n\t// } else {\r\n\tstateManager.setState('momc_without');\r\n\t// }\r\n }\r\n\r\n /**\r\n * add listener to select box. \r\n * sets the typ_so property of the object to the selected value\r\n */\r\n getTypSo(selectorElement, selectorTextForReset, selectorAutocompleteForReset) {\r\n\tlet input = selectorElement;\r\n\tif (!input.getAttribute('listener')) {\r\n\t input.addEventListener('change', (e) => {\r\n\t\tthis.resetAfterTypSoValues();\r\n\t\tif (selectorTextForReset && selectorAutocompleteForReset) {\r\n\t\t resetField(selectorTextForReset, selectorAutocompleteForReset); //reset already filled field 'cislo popisne' if changed\r\n\t\t}\r\n\t\tlet typ_so = e.target[e.target.selectedIndex].value\r\n\t\tthis.setTypSo(typ_so);\r\n\t\tif (this.typ_so != 3) {\r\n\t\t stateManager.setState('typ_so');\r\n\t\t} else {\r\n\t\t stateManager.setState('typ_so_without_number');\r\n\t\t}\r\n\r\n\t }, input.setAttribute('listener', true));\r\n\t}\r\n }\r\n /**\r\n * add listener to select box. \r\n * sets the typ_so property of the object to the selected value\r\n */\r\n getTypSoProposal(selectorElement, selectorTextForReset, selectorAutocompleteForReset) {\r\n\tlet input = selectorElement;\r\n\tif (!input.getAttribute('listener')) {\r\n\t input.addEventListener('change', (e) => {\r\n\t\tthis.resetAfterTypSoValues();\r\n\t\tif (selectorTextForReset && selectorAutocompleteForReset) {\r\n\t\t resetField(selectorTextForReset, selectorAutocompleteForReset); //reset already filled field 'cislo popisne' if changed\r\n\t\t}\r\n\t\tlet typ_so = e.target[e.target.selectedIndex].value\r\n\t\tthis.setTypSoProposal(typ_so);\r\n\t\tif (this.typ_so_proposal != 3) {\r\n\t\t stateManager.setState('typ_so_proposal');\r\n\t\t} else {\r\n\t\t stateManager.setState('typ_so_without_number_proposal');\r\n\t\t}\r\n\r\n\t }, input.setAttribute('listener', true));\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the administrative unit (part of administrative unit) and put them into the selectbox.\r\n * sets the cast_obce property of the 'this' object to the selected value\r\n */\r\n getCastObce(selectorElement, selectorTextForReset, selectorAutocompleteForReset) {\r\n\tlet data = this.init_data.cast_obce;\r\n\tlet input = selectorElement;\r\n\tlet defaultOption = ``;\r\n\tif (data.length > 0) {\r\n\t for (let i = 0; i < data.length; i++) {\r\n\t\tif (this.init_data.cast_obce.length > 1) {\r\n\t\t defaultOption += ``;\r\n\t\t input.innerHTML = defaultOption;\r\n\t\t if (!input.getAttribute('listener')) {\r\n\t\t\tinput.addEventListener('change', (e) => {\r\n\t\t\t if (selectorTextForReset && selectorAutocompleteForReset) {\r\n\t\t\t\tresetField(selectorTextForReset, selectorAutocompleteForReset);//if changed reset already filled field 'cislo popisne'\r\n\t\t\t }\r\n\t\t\t let cast = e.target[e.target.selectedIndex].value;\r\n\t\t\t this.setCastObce(cast);\r\n\t\t\t stateManager.setState('cast_obce');\r\n\t\t\t}, input.setAttribute('listener', true));\r\n\t\t }\r\n\t\t} else {\r\n\t\t defaultOption = ``;\r\n\t\t input.innerHTML = defaultOption;\r\n\t\t this.setCastObce(data[i].KOD);\r\n\t\t stateManager.setState('cast_obce');\r\n\t\t}\r\n\r\n\t }\r\n\t}\r\n }\r\n \r\n /**\r\n * get data about the administrative unit (part of administrative unit) and put them into the selectbox.\r\n * sets the cast_obce property of the 'this' object to the selected value\r\n */\r\n getCastObceProposal(selectorElement, selectorTextForReset, selectorAutocompleteForReset) {\r\n\tlet data = this.init_data.cast_obce_proposal;\r\n\tlet input = selectorElement;\r\n\tlet defaultOption = ``;\r\n\tif (data.length > 0) {\r\n\t for (let i = 0; i < data.length; i++) {\r\n\t\tif (this.init_data.cast_obce_proposal.length > 1) {\r\n\t\t defaultOption += ``;\r\n\t\t input.innerHTML = defaultOption;\r\n\t\t if (!input.getAttribute('listener')) {\r\n\t\t\tinput.addEventListener('change', (e) => {\r\n\t\t\t if (selectorTextForReset && selectorAutocompleteForReset) {\r\n\t\t\t\tresetField(selectorTextForReset, selectorAutocompleteForReset);//if changed reset already filled field 'cislo popisne'\r\n\t\t\t }\r\n\t\t\t let cast = e.target[e.target.selectedIndex].value;\r\n\t\t\t this.setCastObceProposal(cast);\r\n\t\t\t stateManager.setState('cast_obce_proposal');\r\n\t\t\t}, input.setAttribute('listener', true));\r\n\t\t }\r\n\t\t} else {\r\n\t\t defaultOption = ``;\r\n\t\t input.innerHTML = defaultOption;\r\n\t\t this.setCastObceProposal(data[i].KOD);\r\n\t\t stateManager.setState('cast_obce_proposal');\r\n\t\t}\r\n\r\n\t }\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the street (part of administrative unit) and put them into the selectbox.\r\n * sets the ulice property of the 'this' object to the selected value\r\n */\r\n getUlice(textinput, selectInput) {\r\n\tlet obec;\r\n\tif (this.obec) {\r\n\t obec = this.obec;\r\n\t} else {\r\n\t obec = this.final_data.forObject.obec_kod;\r\n\t}\r\n\tautocomplete(textinput, selectInput, 'getulice', setStreet.bind(this), '&obec=' + obec)\r\n\tfunction setStreet(ulice, kod) {\r\n\t this.setUlice(kod);\r\n\t stateManager.setState('ulice');\r\n\t}\r\n }\r\n\r\n /**\r\n * add listener to select box. \r\n * sets the typ_so property of the object to the selected value\r\n */\r\n getCisloDomovniTyp(selectorElement, selectorTextForReset, selectorAutocompleteForReset) {\r\n\tlet input = selectorElement;\r\n\tif (!input.getAttribute('listener')) {\r\n\t input.addEventListener('change', (e) => {\r\n\t\tif (selectorTextForReset && selectorAutocompleteForReset) {\r\n\t\t resetField(selectorTextForReset, selectorAutocompleteForReset); //reset already filled field 'cislo popisne' if changed\r\n\t\t}\r\n\t\tlet typ = e.target[e.target.selectedIndex].value\r\n\t\tthis.setTypSo(typ);\r\n\t\tstateManager.setState('cislo_domovni_typ');\r\n\t }, input.setAttribute('listener', true));\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the house number (based on autocomplete) and put them into the selectbox.\r\n * sets the cislo_popisne property of the 'this' object to the selected value\r\n */\r\n getCisloPopisne() {\r\n\tif (selector.noStreetForNumberBox) {\r\n\t selector.noStreetForNumberBox.classList.add('none');\r\n\t selector.cisloPopisne.classList.remove('notFound');\r\n\t}\r\n\tautocomplete('.cislo_popisne', '.cislo_popisne_atc', 'getcislopop', setCP.bind(this), '&kod=' + this.cast_obce + '&typ=' + this.typ_so + '&form=' + stateManager.form_type)\r\n\tfunction setCP(cislo, kodRuian) {\r\n\t this.setCisloPop(cislo);\r\n\t this.setKodRuian(kodRuian);\r\n\t if (stateManager.form_type === \"ad-d\") {\r\n\t\tselector.idRuian.value = this.kod_ruian;\r\n\t } else if (stateManager.form_type === \"ad-doc\") {\r\n\t\tfetch(DOMAIN_NAME + 'reklamaceRUIAN/getambycode' + '?am_code=' + kodRuian)\r\n\t\t\t.then((response) => response.json())\r\n\t\t\t.then((data) => {\r\n\t\t\t if (data.forObject.ulice_kod === null) {\r\n\t\t\t\tstateManager.setState('no_street_for_number');\r\n\t\t\t } else {\r\n\t\t\t\tstateManager.setState('cislo_popisne');\r\n\t\t\t }\r\n\t\t\t})\r\n\t\t\t.catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t } else {\r\n\t\tstateManager.setState('cislo_popisne');\r\n\t }\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the parcel type.\r\n * sets the typ parcely property of the 'this' object to the selected value\r\n */\r\n getTypParcely() {\r\n\tlet radio = document.querySelector('.radio');\r\n\tradio.addEventListener('click', (e) => {\r\n\t this.setTypParcely(parseInt(e.target.value));\r\n\t stateManager.setState('typ_parcely');\r\n\t})\r\n }\r\n\r\n /**\r\n * get data about the parcel number (based on autocomplete) and put them into the selectbox.\r\n * sets the parcelni_cislo property of the 'this' object to the selected value\r\n */\r\n getParcelniCislo(typ_par, textInput, selectInput) {\r\n\tlet typParcely;\r\n\tlet future_data = false;\r\n\tif (typ_par != undefined) {\r\n\t typParcely = typ_par;\r\n\t} else {\r\n\t typParcely = 'undefined';\r\n\t}\r\n\r\n\tif (stateManager.form_type === 'so-d') {\r\n\t future_data = true;\r\n\t}\r\n\r\n\r\n\tautocomplete(textInput, selectInput, 'getparcelnicislo', setPC.bind(this), '&katuze=' + this.kat_uzemi + '&typparcely=' + typParcely + '&form=' + stateManager.form_type + '&future=' + future_data)\r\n\t// autocomplete('.parcelni_cislo', '.parcelni_cislo_atc', 'getparcelnicislo', setPC.bind(this), '&katuze=' + this.kat_uzemi + '&typparcely=' + typParcely + '&form=' + stateManager.form_type)\r\n\tfunction setPC(cislo, kodRuian) {\r\n\t this.setParcelniCislo(cislo);\r\n\t this.setKodRuian(kodRuian);\r\n\t stateManager.setState('parcelni_cislo');\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the parcel number (based on autocomplete) and put them into the selectbox.\r\n * its only for solving a proposal of parcel number in so-dp type of form\r\n */\r\n getParcelniCisloProposal(typ_parcely, textInput, selectInput, katuze) {\r\n\tlet typParcely;\r\n\tlet future_data = true;\r\n\tif (typ_parcely != undefined) {\r\n\t typParcely = typ_parcely;\r\n\t} else {\r\n\t typParcely = 'undefined';\r\n\t}\r\n\r\n\tautocomplete(textInput, selectInput, 'getparcelnicislo', setPC, '&katuze=' + katuze + '&typparcely=' + typParcely + '&form=' + stateManager.form_type + '&future=' + future_data)\r\n\tfunction setPC(cislo, par_id) {\r\n\t selector.parcelaId.value = par_id;\r\n\t}\r\n }\r\n\r\n /**\r\n * get data about the cadestral unit and put them into the selectbox.\r\n * sets the kat_uzemi property of the 'this' object to the selected value\r\n */\r\n getKatUzemi(selectorElement) {\r\n\tlet data = this.init_data.katuze;\r\n\tlet input = selectorElement;\r\n\tlet defaultOption = ``;\r\n\tthis.setCastObce(undefined);\r\n\tthis.setCisloPop(undefined);\r\n\tif (data.length > 0) {\r\n\t for (let i = 0; i < data.length; i++) {\r\n\t\tdefaultOption += ``;\r\n\t\tinput.innerHTML = defaultOption;\r\n\t\tif (!input.getAttribute('listener')) {\r\n\t\t input.addEventListener('change', (e) => {\r\n\t\t\tlet katuze = e.target[e.target.selectedIndex].value;\r\n\t\t\tlet rada = e.target[e.target.selectedIndex].getAttribute('data-cr');\r\n\t\t\tthis.setKatUzemi(katuze);\r\n\t\t\tthis.setCiselnaRada(rada);\r\n\t\t\tif (building.ciselna_rada === '1') {\r\n\t\t\t fetch(DOMAIN_NAME + 'reklamaceRUIAN/getdruhcislovani' + '?katuze=' + katuze)\r\n\t\t\t\t .then((response) => response.json())\r\n\t\t\t\t .then((data) => {\r\n\t\t\t\t\tthis.setTypParcely(data);\r\n\t\t\t\t\tif (data === 2) {\r\n\t\t\t\t\t selector.typParcely2.checked = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (data === 1) {\r\n\t\t\t\t\t selector.typParcely1.checked = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t })\r\n\t\t\t\t .then(() => {\r\n\t\t\t\t\tstateManager.setState('kat_uzemi');\r\n\t\t\t\t })\r\n\t\t\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t\t\t} else {\r\n\t\t\t stateManager.setState('kat_uzemi');\r\n\t\t\t}\r\n\r\n\t\t }, input.setAttribute('listener', true));\r\n\t\t}\r\n\t }\r\n\t}\r\n }\r\n\r\n /**\r\n * fetch final data based on code ruian\r\n */\r\n getFinalDataByCode(code) {\r\n\t\r\n\tstartPreloader();\r\n\tif (stateManager.form_type.startsWith(\"so\")) {\r\n\t fetch(DOMAIN_NAME + 'reklamaceRUIAN/getsobycode' + '?so_code=' + code)\r\n\t\t .then((response) => response.json())\r\n\t\t .then((data) => {\r\n\t\t\tstopPreloader();\r\n\t\t\t\r\n\t\t\tif (Object.keys(data.forObject).length) {\r\n\t\t\t if ((stateManager.form_type === 'so-dc' || stateManager.form_type === 'so-ta') && data.forObject.cislo_popisne == \"\") {\r\n\t\t\t\tstateManager.setState('not_cislo_popisne');\r\n\t\t\t } else if ((stateManager.form_type === 'so-td' && data.forObject.typ_so != 3)) {\r\n\t\t\t\tstateManager.setState('is_cislo_popisne');\r\n\t\t\t } else {\r\n\t\t\t\tthis.afterFinalData(data)\r\n\t\t\t }\r\n\t\t\t} else {\r\n\t\t\t stateManager.setState('not_found');\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t} else if (stateManager.form_type.startsWith(\"ad\")) {\r\n\t fetch(DOMAIN_NAME + 'reklamaceRUIAN/getambycode' + '?am_code=' + code)\r\n\t\t .then((response) => response.json())\r\n\t\t .then((data) => {\r\n\t\t\tstopPreloader()\r\n\t\t\tif (Object.keys(data.forObject).length) {\r\n\t\t\t if (stateManager.form_type === 'ad-zu' && data.forObec.ulice.length === 0) {\r\n\t\t\t\tstateManager.setState('no_street_delete');\r\n\t\t\t } else if (stateManager.form_type === 'ad-doc' && data.forObject.ulice_kod == null) {\r\n\t\t\t\tstateManager.setState('no_street_delete');\r\n\t\t\t } else {\r\n\t\t\t\tthis.afterFinalData(data)\r\n\t\t\t }\r\n\t\t\t} else {\r\n\t\t\t stateManager.setState('not_found');\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t} else if (stateManager.form_type === 'obu') {\r\n\t fetch(DOMAIN_NAME + 'reklamaceISKN/getbudbycode' + '?bud_code=' + code)\r\n\t\t .then((response) => response.json())\r\n\t\t .then((data) => {\r\n\t\t\tstopPreloader()\r\n\t\t\tif (Object.keys(data.forObject).length) {\r\n\t\t\t this.afterFinalData(data)\r\n\t\t\t} else {\r\n\t\t\t stateManager.setState('not_found');\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t} else if (stateManager.form_type === 'pdb') {\r\n\t fetch(DOMAIN_NAME + 'reklamaceISKN/getparbycode' + '?par_code=' + code)\r\n\t\t .then((response) => response.json())\r\n\t\t .then((data) => {\r\n\t\t\tstopPreloader()\r\n\t\t\tif (Object.keys(data.forObject).length) {\r\n\t\t\t this.afterFinalData(data)\r\n\t\t\t} else {\r\n\t\t\t stateManager.setState('not_found');\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t} else {\r\n\t fetch(DOMAIN_NAME + 'reklamaceRUIAN/getulicebycode' + '?ulice_code=' + code)\r\n\t\t .then((response) => response.json())\r\n\t\t .then((data) => {\r\n\t\t\tstopPreloader()\r\n\t\t\tif (Object.keys(data.forObject).length) {\r\n\t\t\t if (stateManager.form_type.startsWith(\"ul\") && stateManager.form_type != 'ul-d') {\r\n\t\t\t\tselector.obecKod.value = data.forObject.obec_kod;\r\n\t\t\t }\r\n\t\t\t this.afterFinalData(data)\r\n\t\t\t} else {\r\n\t\t\t stateManager.setState('not_found');\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((error) => console.error('There was a problem with the request: ' + error));\r\n\t}\r\n }\r\n\r\n /**\r\n * facade for callback after fetching the final data\r\n */\r\n afterFinalData(data) {\r\n\tthis.setFinalData(data);\r\n\tif (stateManager.form_type === 'ad-du' && this.final_data.forObec.ulice.length < 1) {\r\n\t selector.obecTextInput.value = this.final_data.forObject.obec;\r\n\t stateManager.setState('no_street');\r\n\t} else {\r\n\t if (stateManager.form_type.startsWith('so')) {\r\n\t\tfetchMap('so');\r\n\t\tif (stateManager.form_type === 'so-ta' && this.final_data.forObject.cislo_popisne.includes(\",\")) {\r\n\t\t stateManager.setState('vice_cislo_popisne');\r\n\t\t}\r\n\t }\r\n\t if (stateManager.form_type.startsWith('ad')) {\r\n\t\tfetchMap('ad');\r\n\t }\r\n\t if (stateManager.form_type === 'obu') {\r\n\t\tfetchMap('obu');\r\n\t }\r\n\t if (stateManager.form_type === 'pdb') {\r\n\t\tfetchMap('pdb');\r\n\t }\r\n\t if (stateManager.form_type.startsWith('ul')) {\r\n\t\tfetchMap('ul');\r\n\t }\r\n\t this.fillBoxesWithFinalData();\r\n\t stateManager.setState('final_data');\r\n\r\n\t}\r\n }\r\n\r\n /**\r\n * fill boxes in form identation section with responsed final data about the object\r\n */\r\n fillBoxesWithFinalData() {\r\n\tlet setOption = (code, text) => {\r\n\t return ``;\r\n\t}\r\n\t//fill boxes with data\r\n\tselector.obecTextInput.value = this.final_data.forObject.obec;\r\n\tif (this.final_data.forObject.momc) {\r\n\t if (this.final_data.forObject.momc != undefined) {\r\n\t\tselector.momc.innerHTML = setOption(this.final_data.forObject.momc_kod, this.final_data.forObject.momc);\r\n\t } else {\r\n\t\tselector.momc.innerText = \"\"\r\n\t }\r\n\t}\r\n\tif (selector.typSo) {\r\n\t selector.typSo.value = this.final_data.forObject.typ_so;\r\n\t}\r\n\tif (this.final_data.forObject.cast_obce) {\r\n\t if (this.final_data.forObject.cast_obce != undefined) {\r\n\t\tselector.castObce.innerHTML = setOption(this.final_data.forObject.cast_obce_kod, this.final_data.forObject.cast_obce);\r\n\t } else {\r\n\t\tselector.castObce.innerText = \"\"\r\n\t }\r\n\t}\r\n\tif (selector.ulice) {\r\n\t selector.ulice.value = this.final_data.forObject.ulice_nazev;\r\n\t}\r\n\tif (stateManager.form_type.startsWith('so')) {\r\n\t selector.cisloPopisne.value = this.final_data.forObject.cislo_popisne;\r\n\t} else if (stateManager.form_type.startsWith('ad')) {\r\n\t selector.cisloPopisne.value = this.final_data.forObject.cislo_domovni_vse;\r\n\t}\r\n\tif (selector.cisloPopisnePuvodni) {\r\n\t selector.cisloPopisnePuvodni.value = this.final_data.forObject.cislo_popisne;\r\n\t}\r\n\r\n\tselector.idRuian.value = this.final_data.forObject.kodruian;\r\n\tselector.kodRuianInput.value = this.final_data.forObject.kodruian;\r\n\tif (stateManager.form_type.startsWith('so') || stateManager.form_type === 'obu' || stateManager.form_type === 'pdb') {\r\n\t if (this.final_data.forObject.katuze_kod != null) {\r\n\t\tselector.katUzemi.innerHTML = setOption(this.final_data.forObject.katuze.kod, this.final_data.forObject.katuze);\r\n\t }\r\n\t if (selector.parcelaId) {\r\n\t\tselector.parcelaId.value = this.final_data.forObject.parcela_id;\r\n\t }\r\n\t selector.parcelniCislo.value = this.final_data.forObject.parcela_cislo;\r\n\t if (this.final_data.forObject.parcela_typ === 1) {\r\n\t\tselector.typParcely1.checked = true;\r\n\t } else {\r\n\t\tselector.typParcely2.checked = true;\r\n\t }\r\n\t}\r\n\tif (selector.zpusobVyuziti) {\r\n\t selector.zpusobVyuziti.value = this.final_data.forObject.zpvyuzso;\r\n\t}\r\n\tif (selector.psc) {\r\n\t selector.psc.value = this.final_data.forObject.psc\r\n\t}\r\n\tif (selector.defb_x) {\r\n\t selector.defb_x.value = this.final_data.forObject.defbx\r\n\t}\r\n\tif (selector.defb_y) {\r\n\t selector.defb_y.value = this.final_data.forObject.defby\r\n\t}\r\n\tif (selector.defb_x_hasici) {\r\n\t selector.defb_x_hasici.value = this.final_data.forObject.defbx_hasici\r\n\t}\r\n\tif (selector.defb_y_hasici) {\r\n\t selector.defb_y_hasici.value = this.final_data.forObject.defby_hasici\r\n\t}\r\n\tif (selector.defb_x_zzs) {\r\n\t selector.defb_x_zzs.value = this.final_data.forObject.defbx_zzs\r\n\t}\r\n\tif (selector.defb_y_zzs) {\r\n\t selector.defb_y_zzs.value = this.final_data.forObject.defby_zzs\r\n\t}\r\n\tif (selector.tea_podlazi) {\r\n\t selector.tea_podlazi.value = this.final_data.forObject.pocet_podlazi\r\n\t}\r\n\tif (selector.tea_vodovod) {\r\n\t selector.tea_vodovod.value = this.final_data.forObject.vodovod_kod\r\n\t}\r\n\tif (selector.tea_dokonceno) {\r\n\t selector.tea_dokonceno.value = this.final_data.forObject.dokonceni\r\n\t}\r\n\tif (selector.tea_vytah) {\r\n\t selector.tea_vytah.value = this.final_data.forObject.vytah_kod\r\n\t}\r\n\tif (selector.tea_konstrukce) {\r\n\t selector.tea_konstrukce.value = this.final_data.forObject.konstrukce_kod\r\n\t}\r\n\tif (selector.tea_obestaveno) {\r\n\t selector.tea_obestaveno.value = this.final_data.forObject.obestaveny_prostor\r\n\t}\r\n\tif (selector.tea_podlahova) {\r\n\t selector.tea_podlahova.value = this.final_data.forObject.podlahova_plocha\r\n\t}\r\n\tif (selector.tea_zastaveno) {\r\n\t selector.tea_zastaveno.value = this.final_data.forObject.zastavena_plocha\r\n\t}\r\n\tif (selector.tea_byty) {\r\n\t selector.tea_byty.value = this.final_data.forObject.pocet_bytu\r\n\t}\r\n\tif (selector.tea_kanalizace) {\r\n\t selector.tea_kanalizace.value = this.final_data.forObject.kanalizace_kod\r\n\t}\r\n\tif (selector.tea_plyn) {\r\n\t selector.tea_plyn.value = this.final_data.forObject.plyn_kod\r\n\t}\r\n\tif (selector.tea_vytapeni) {\r\n\t selector.tea_vytapeni.value = this.final_data.forObject.vytapeni_kod\r\n\t}\r\n\tif (selector.cisloDomovniTyp) {\r\n\t selector.cisloDomovniTyp.value = this.final_data.forObject.typ_so;\r\n\t}\r\n\r\n\t//add .lock class for all inputs (for styling purpose)\r\n\tthis.addLockAttribute();\r\n }\r\n\r\n /**\r\n * add .lock class to all input in identificatin section. \r\n * This is for styling purpose only.\r\n */\r\n addLockAttribute() {\r\n\tlet wrap = document.querySelector('.identification');\r\n\tlet selects = wrap.querySelectorAll('select');\r\n\tlet text = wrap.querySelectorAll('input');\r\n\tlet all = Array.from(selects).concat(Array.from(text).concat(selector.kodRuianInput));\r\n\tall.forEach(input => {\r\n\t input.classList.add('lock');\r\n\t // input.setAttribute('readonly');\r\n\t setDisabled(input);\r\n\t});\r\n }\r\n}\r\n\r\n","// eslint-disable-next-line no-undef\ndocument.addEventListener('DOMContentLoaded', () => naja.initialize());\n\nimport \"../scss/main.scss\";\nimport Identification from \"./identification-module.js\";\nimport { transformation } from \"./gps-transformation-module.js\";\nimport { startIdentification, stopPreloader } from \"./form-manager.js\";\nimport { selector } from \"./selectors-module.js\";\n\nexport const DOMAIN_NAME = \"/formular/\";\n\n// Initialzation of identification part of form \nexport const building = new Identification();\nstartIdentification();\ntransformation();\n\n//for situation when navigation is controled via burger icon (to toggle navigation menu)\nselector.burger.addEventListener('click', () => {\n //toggle nav\n selector.main_nav_links.classList.toggle('nav-active');\n //animate links\n selector.main_nav_links_li.forEach((link, index) => {\n if (link.style.animation) {\n link.style.animation = ''\n } else {\n link.style.animation = `navLinkFade 0.5s ease forwards ${index / 7 + 0.7}s`;\n }\n });\n //burger animation\n selector.burger.classList.toggle('toggle');\n});\n\n","import { building } from './main.js';\r\n\r\nlet map = {\r\n marQueryId: \"\",\r\n paramCount: 1,\r\n code: null,\r\n iskn: false,\r\n marushkaId: false,\r\n divWrapper: null,\r\n setCode(code) {\r\n this.code = code;\r\n },\r\n setDivWrapper(selector) {\r\n this.divWrapper = document.querySelector(selector);\r\n }\r\n}\r\n\r\n/**\r\n * Fetch the localization map from server (create and set the src atribute, append it to wrapping div)\r\n * @param {string} type - type of view (e.g. 'so' for buliding)\r\n */\r\nexport function fetchMap(type) {\r\n setProps(type);\r\n const img = document.createElement(\"img\");\r\n const vdp = document.createElement(\"a\");\r\n\r\n img.src = \"https://katastralnimapy.cuzk.cz/Handlers/vratlokalizacninahled.ashx?themeid=69&MarQueryID=\" + map.marQueryId +\r\n \"&MarWidth=360&MarHeight=340&MarQParamCount=\" + map.paramCount +\r\n \"&MarUid=90BA7CE9%20C2EDF424&MarQParam0=\" + map.code +\r\n \"&MarQParam1=\";\r\n\r\n\r\n img.onload = function () {\r\n img.setAttribute('class', 'localization-map');\r\n vdp.setAttribute('class', 'vdp-link');\r\n vdp.setAttribute('target', '_blank');\r\n vdp.setAttribute('title', 'Odkaz do mapy');\r\n if (map.iskn === true) {\r\n vdp.setAttribute('href', 'http://sgi-nahlizenidokn.cuzk.cz/marushka/default.aspx?themeid=3&MarQueryID=' + map.marushkaId + '&MarQParamCount=1&MarPanelLegend=false&MarQParam0=' + map.code);\r\n } else {\r\n vdp.setAttribute('href', 'https://vdp.cuzk.cz/marushka/?ThemeID=1&InfoURL=http://vdp.cuzk.cz/vdp/ruian&MarUid=0D3E163B%206EAC62F2&MarUidi=0D3E163B%206EAC62F2&MarQueryID=' + type.toUpperCase() + '&MarQParamCount=1&MarPanelLegend=false&MarQParam0=' + map.code);\r\n }\r\n vdp.innerHTML = ``\r\n map.divWrapper.appendChild(img);\r\n map.divWrapper.appendChild(vdp);\r\n }\r\n img.onerror = function () {\r\n let mapError = document.createElement(\"p\");\r\n mapError.innerText = 'Náhled prvku není k dispozici.';\r\n mapError.classList.add('map-error');\r\n map.divWrapper.appendChild(mapError);\r\n }\r\n\r\n\r\n}\r\n\r\n/**\r\n * set properties of map object\r\n * @param {type} type - type of view (e.g. 'so' for buliding)\r\n */\r\nfunction setProps(type) {\r\n if (type === 'so') {\r\n map.marQueryId = \"2B74A08D\";\r\n map.paramCount = 2;\r\n map.setCode(building.final_data.forObject.kodruian);\r\n map.setDivWrapper('.map_so');\r\n }\r\n else if (type === 'ad') {\r\n map.marQueryId = \"4D5ADD32\";\r\n map.paramCount = 1;\r\n map.setCode(building.final_data.forObject.kodruian);\r\n map.setDivWrapper('.map_so');\r\n }\r\n else if (type === 'ul') {\r\n map.marQueryId = \"69F6E545\";\r\n map.paramCount = 1;\r\n map.setCode(building.final_data.forObject.kodruian);\r\n map.setDivWrapper('.map_so');\r\n }\r\n else if (type === 'bdb') {\r\n map.marQueryId = \"950D0575\";\r\n map.marushkaId = \"81F2A805\";\r\n map.paramCount = 1;\r\n map.iskn = true;\r\n map.setCode(building.final_data.forObject.kodruian);\r\n map.setDivWrapper('.map_so');\r\n }\r\n else if (type === 'pdb') {\r\n map.marQueryId = \"26E1EED6\";\r\n map.marushkaId = \"2EDA9E08\";\r\n map.paramCount = 1;\r\n map.iskn = true;\r\n map.setCode(building.final_data.forObject.kodruian);\r\n map.setDivWrapper('.map_so');\r\n }\r\n}\r\n","import { building } from \"./main.js\";\r\nimport { selector } from \"./selectors-module.js\";\r\n\r\nexport function initProposal(state) {\r\n console.log(state);\r\n console.log(building);\r\n const fillBox = (objectData, inputField) => {\r\n let defaultOption = ``;\r\n let data = objectData;\r\n let input = inputField;\r\n for (let i = 0; i < data.length; i++) {\r\n defaultOption += ``;\r\n input.innerHTML = defaultOption;\r\n }\r\n }\r\n\r\n if (selector.castObceProposal) {\r\n fillBox(building.final_data.forObec.cast_obce, selector.castObceProposal);\r\n // pridano kvuli navrhu\r\n selector.castObceProposal.value = building.final_data.forObject.cast_obce_kod;\r\n selector.cisloPopisneProposal.value = building.final_data.forObject.cislo_popisne;\r\n selector.typSoProposal.value = building.final_data.forObject.typ_so;\r\n building.getTypSoProposal(selector.typSoProposal);\r\n }\r\n\r\n if (selector.katUzemiProposal) {\r\n fillBox(building.final_data.forObec.katuze, selector.katUzemiProposal);\r\n }\r\n \r\n \r\n}","export const selector = {\r\n kodRuianInput: isElement('.kod_ruian'),\r\n notFoundBox: isElement('.notFound-desc'),\r\n moreResultsBox: isElement('.moreResults-desc'),\r\n noStreetBox: isElement('.noStreet'),\r\n noStreetForNumberBox: isElement('.noStreetForNumber'),\r\n fetchBtn: isElement('.fetchBtn'),\r\n submitBtn: isElement('#send'),\r\n obecTextInput: isElement('.obec'),\r\n obecKod: isElement('#obec_kod'),\r\n obecAutocompleteInput: isElement('.obec_atc'),\r\n obecProposalTextInput: isElement('.obec_proposal'),\r\n obecProposalAutocompleteInput: isElement('.obec_proposal_atc'),\r\n momc: isElement('.obec_obvod'),\r\n momcProposal: isElement('.obec_obvod_proposal'),\r\n typSo: isElement('.typ_so'),\r\n typSoProposal: isElement('.typ_so_proposal'),\r\n castObce: isElement('.cast_obce'),\r\n castObceProposal: isElement('.cast_obce_proposal'),\r\n ulice: isElement('.ulice'),\r\n uliceKod: isElement('#ulice_kod'),\r\n uliceAutocomplete: isElement('.ulice_atc'),\r\n uliceProposal: isElement('.ulice_proposal'),\r\n uliceProposalAutocomplete: isElement('.ulice_proposal_atc'),\r\n cisloPopisne: isElement('.cislo_popisne'),\r\n cisloPopisneProposal: isElement('.cislo_popisne_proposal'),\r\n cisloPopisnePuvodni: isElement('.cislo_popisne_puvodni'),\r\n cisloPopisneAutocomplete: isElement('.cislo_popisne_atc'),\r\n cisloDomovniTyp: isElement('.cislo_domovni_typ'),\r\n cisloDomovni: isElement('.cislo_domovni'),\r\n cisloOrientacni: isElement('.cislo_orientacni'),\r\n cisloOrientacniProposal: isElement('.cislo_orientacni_proposal'),\r\n idRuian: isElement('#id_ruian'),\r\n katUzemi: isElement('.kat_uzemi'),\r\n katUzemiProposal: isElement('.kat_uzemi_proposal'),\r\n parcelaId: isElement('.parcela_id'),\r\n parcelniCislo: isElement('.parcelni_cislo'),\r\n parcelniCisloProposal: isElement('.parcelni_cislo_proposal'),\r\n parcelniCisloAutocomplete: isElement('.parcelni_cislo_atc'),\r\n parcelniCisloAutocompleteProposal: isElement('.parcelni_cislo_proposal_atc'),\r\n typParcely1: isElement('.typ_parcely_1'),\r\n typParcely2: isElement('.typ_parcely_2'),\r\n typParcely1Proposal: isElement('.typ_parcely_1_proposal'),\r\n typParcely2Proposal: isElement('.typ_parcely_2_proposal'),\r\n zpusobVyuziti: isElement('.zpusob_vyuziti'),\r\n tea_vodovod: isElement('.tea_vodovod'),\r\n tea_podlazi: isElement('.tea_podlazi'),\r\n tea_plyn: isElement('.tea_plyn'),\r\n tea_vytah: isElement('.tea_vytah'),\r\n tea_dokonceno: isElement('.tea_dokonceno'),\r\n tea_konstrukce: isElement('.tea_konstrukce'),\r\n tea_obestaveno: isElement('.tea_obestaveno'),\r\n tea_zastaveno: isElement('.tea_zastaveno'),\r\n tea_byty: isElement('.tea_byty'),\r\n tea_podlahova: isElement('.tea_podlahova'),\r\n tea_kanalizace: isElement('.tea_kanalizace'),\r\n tea_vytapeni: isElement('.tea_vytapeni'),\r\n psc: isElement('.psc'),\r\n defb_x: isElement('.defb_x'),\r\n defb_y: isElement('.defb_y'),\r\n defb_x_hasici: isElement('.defb_x_hasici'),\r\n defb_y_hasici: isElement('.defb_y_hasici'),\r\n defb_x_zzs: isElement('.defb_x_zzs'),\r\n defb_y_zzs: isElement('.defb_y_zzs'),\r\n defb_x_Proposal: isElement('.defb_x_proposal'),\r\n defb_y_Proposal: isElement('.defb_y_proposal'),\r\n defb_x_hasici_Proposal: isElement('.defb_x_hasici_proposal'),\r\n defb_y_hasici_Proposal: isElement('.defb_y_hasici_proposal'),\r\n defb_x_zzs_Proposal: isElement('.defb_x_zzs_proposal'),\r\n defb_y_zzs_Proposal: isElement('.defb_y_zzs_proposal'),\r\n caraUliceProposal: isElement('.cara_ulice_proposal'),\r\n popisReklamace: isElement('.popis_proposal'),\r\n errorField: isElement('.error'),\r\n burger: isElement('.burger'),\r\n main_nav_links: isElement('.main-nav-links'),\r\n main_nav_links_li: isElements('.main-nav-links li'),\r\n}\r\n\r\nfunction isElement(element) {\r\n return document.querySelector(element);\r\n}\r\n\r\nfunction isElements(element) {\r\n return document.querySelectorAll(element);\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./www/src/js/main.js\");\n",""],"names":[],"sourceRoot":""}