{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/admin/admin.component.css","webpack:///./src/app/admin/admin.component.html","webpack:///./src/app/admin/admin.component.ts","webpack:///./src/app/admin/m2sync/m2sync.component.css","webpack:///./src/app/admin/m2sync/m2sync.component.html","webpack:///./src/app/admin/m2sync/m2sync.component.ts","webpack:///./src/app/admin/objects/object-location-map-modal/object-location-map-modal.component.html","webpack:///./src/app/admin/objects/object-location-map-modal/object-location-map-modal.component.scss","webpack:///./src/app/admin/objects/object-location-map-modal/object-location-map-modal.component.ts","webpack:///./src/app/admin/objects/objects.component.html","webpack:///./src/app/admin/objects/objects.component.scss","webpack:///./src/app/admin/objects/objects.component.ts","webpack:///./src/app/admin/services/admin.service.ts","webpack:///./src/app/admin/users/models/UserVM.ts","webpack:///./src/app/admin/users/users.component.css","webpack:///./src/app/admin/users/users.component.html","webpack:///./src/app/admin/users/users.component.ts","webpack:///./src/app/admin/users/users.service.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.config.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/auth.routing.ts","webpack:///./src/app/auth/auth.guard.ts","webpack:///./src/app/auth/auth.service.ts","webpack:///./src/app/auth/login/login.component.css","webpack:///./src/app/auth/login/login.component.html","webpack:///./src/app/auth/login/login.component.ts","webpack:///./src/app/auth/models/AppUser.ts","webpack:///./src/app/clusterdetails/clusterdetails.component.css","webpack:///./src/app/clusterdetails/clusterdetails.component.html","webpack:///./src/app/clusterdetails/clusterdetails.component.ts","webpack:///./src/app/common/app-component-base.ts","webpack:///./src/app/common/datatable/datatable/datatable.component.css","webpack:///./src/app/common/datatable/datatable/datatable.component.html","webpack:///./src/app/common/datatable/datatable/datatable.component.ts","webpack:///./src/app/common/directives/click-outside.ts","webpack:///./src/app/common/html-helpers/inputs/bool-dropdown/bool-dropdown.component.html","webpack:///./src/app/common/html-helpers/inputs/bool-dropdown/bool-dropdown.component.scss","webpack:///./src/app/common/html-helpers/inputs/bool-dropdown/bool-dropdown.component.ts","webpack:///./src/app/common/html-helpers/inputs/dropdown/dropdown.component.html","webpack:///./src/app/common/html-helpers/inputs/dropdown/dropdown.component.scss","webpack:///./src/app/common/html-helpers/inputs/dropdown/dropdown.component.ts","webpack:///./src/app/common/html-helpers/inputs/multiselect/multiselect.component.css","webpack:///./src/app/common/html-helpers/inputs/multiselect/multiselect.component.html","webpack:///./src/app/common/html-helpers/inputs/multiselect/multiselect.component.ts","webpack:///./src/app/common/localizations/loc.service.ts","webpack:///./src/app/common/localizations/localizations.ts","webpack:///./src/app/common/pipes/DisplayPipe.ts","webpack:///./src/app/common/pipes/KDecimalPipe.ts","webpack:///./src/app/common/pipes/LocalizePipe.ts","webpack:///./src/app/common/pipes/NullString.ts","webpack:///./src/app/common/pipes/PeriodPipe.ts","webpack:///./src/app/common/services/colour.service.ts","webpack:///./src/app/common/services/msg.service.ts","webpack:///./src/app/common/services/site.service.ts","webpack:///./src/app/common/services/validation.service.ts","webpack:///./src/app/dataAccess/ZemApi/Admin/AdminClientZemApi.ts","webpack:///./src/app/dataAccess/ZemApi/Auth/AuthClientZemApi.ts","webpack:///./src/app/dataAccess/ZemApi/ClientBase.ts","webpack:///./src/app/dataAccess/ZemApi/Localization/LocalizationZemApi.ts","webpack:///./src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi.ts","webpack:///./src/app/dataAccess/data-access.module.ts","webpack:///./src/app/error/error.component.css","webpack:///./src/app/error/error.component.html","webpack:///./src/app/error/error.component.ts","webpack:///./src/app/map/building-info-modal/building-info-modal.component.css","webpack:///./src/app/map/building-info-modal/building-info-modal.component.html","webpack:///./src/app/map/building-info-modal/building-info-modal.component.ts","webpack:///./src/app/map/building-info-modal/šildymas-tab/šildymas-tab.component.css","webpack:///./src/app/map/building-info-modal/šildymas-tab/šildymas-tab.component.html","webpack:///./src/app/map/building-info-modal/šildymas-tab/šildymas-tab.component.ts","webpack:///./src/app/map/comparison/FormControls/period-picker/period-picker.component.css","webpack:///./src/app/map/comparison/FormControls/period-picker/period-picker.component.html","webpack:///./src/app/map/comparison/FormControls/period-picker/period-picker.component.ts","webpack:///./src/app/map/comparison/FormControls/period-to-picker/period-to-picker.component.css","webpack:///./src/app/map/comparison/FormControls/period-to-picker/period-to-picker.component.html","webpack:///./src/app/map/comparison/FormControls/period-to-picker/period-to-picker.component.ts","webpack:///./src/app/map/comparison/comparison.component.css","webpack:///./src/app/map/comparison/comparison.component.html","webpack:///./src/app/map/comparison/comparison.component.ts","webpack:///./src/app/map/comparison/comparison.service.ts","webpack:///./src/app/map/comparison/group-same-height-comparison/group-same-height-comp.service.ts","webpack:///./src/app/map/comparison/group-same-height-comparison/group-same-height-comparison.component.css","webpack:///./src/app/map/comparison/group-same-height-comparison/group-same-height-comparison.component.html","webpack:///./src/app/map/comparison/group-same-height-comparison/group-same-height-comparison.component.ts","webpack:///./src/app/map/comparison/heating-costs-comparison/heating-costs-comp.service.ts","webpack:///./src/app/map/comparison/heating-costs-comparison/heating-costs-comparison.component.css","webpack:///./src/app/map/comparison/heating-costs-comparison/heating-costs-comparison.component.html","webpack:///./src/app/map/comparison/heating-costs-comparison/heating-costs-comparison.component.ts","webpack:///./src/app/map/comparison/heating-seasons-comparison/heating-seasons-comp.service.ts","webpack:///./src/app/map/comparison/heating-seasons-comparison/heating-seasons-comparison.component.css","webpack:///./src/app/map/comparison/heating-seasons-comparison/heating-seasons-comparison.component.html","webpack:///./src/app/map/comparison/heating-seasons-comparison/heating-seasons-comparison.component.ts","webpack:///./src/app/map/comparison/kwhm2-dlcomparison/kwhm2-dlcomparison.component.css","webpack:///./src/app/map/comparison/kwhm2-dlcomparison/kwhm2-dlcomparison.component.html","webpack:///./src/app/map/comparison/kwhm2-dlcomparison/kwhm2-dlcomparison.component.ts","webpack:///./src/app/map/manonamas/manonamas.component.css","webpack:///./src/app/map/manonamas/manonamas.component.html","webpack:///./src/app/map/manonamas/manonamas.component.ts","webpack:///./src/app/map/manonamas/manonamas.service.ts","webpack:///./src/app/map/manonamas/mn.component.ts","webpack:///./src/app/map/map.component.css","webpack:///./src/app/map/map.component.html","webpack:///./src/app/map/map.component.ts","webpack:///./src/app/map/services/map.service.ts","webpack:///./src/app/map/services/models/HeatComparisonRangeEnumFile.ts","webpack:///./src/app/mapfilter/mapfilter.component.css","webpack:///./src/app/mapfilter/mapfilter.component.html","webpack:///./src/app/mapfilter/mapfilter.component.ts","webpack:///./src/app/mapfilter/models/MapFilterModel.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;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;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;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \".admin-body{\\r\\n height:100vh;\\r\\n overflow:auto;\\r\\n}\\r\\n.layout-middle{\\r\\n padding:0;\\r\\n\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixhQUFhO0FBQ2Y7QUFDQTtFQUNFLFNBQVM7O0FBRVgiLCJmaWxlIjoic3JjL2FwcC9hZG1pbi9hZG1pbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFkbWluLWJvZHl7XHJcbiAgaGVpZ2h0OjEwMHZoO1xyXG4gIG92ZXJmbG93OmF1dG87XHJcbn1cclxuLmxheW91dC1taWRkbGV7XHJcbiAgcGFkZGluZzowO1xyXG5cclxufVxyXG4iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n Žemėlapis\\r\\n Mokesta2 sinchronizavimas\\r\\n Vartotojai\\r\\n Objektai\\r\\n Atsijungti\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, ViewChild } from '@angular/core';\r\nimport { AdminService } from './services/admin.service';\r\nimport { ValidationService } from '../common/services/validation.service';\r\n\r\nimport { Site } from '../common/services/site.service';\r\nimport { LocService } from \"../common/localizations/loc.service\";\r\nimport { AuthService } from \"../auth/auth.service\";\r\n\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css']\r\n})\r\n/** admin component*/\r\nexport class AdminComponent {\r\n\r\n\r\n constructor(\r\n\r\n private authService:AuthService) {\r\n\r\n }\r\n\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL20yc3luYy9tMnN5bmMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Data „nuo“ turi būti ne vėlesnė už datą „iki“

\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\"","import { Component } from '@angular/core';\r\nimport { Site } from \"../../common/services/site.service\";\r\nimport { AdminService } from \"../services/admin.service\";\r\nimport { ValidationService } from \"../../common/services/validation.service\";\r\n//import { MessageService } from \"primeng/components/common/messageservice\";\r\nimport { LocService } from \"../../common/localizations/loc.service\";\r\nimport { MsgService } from 'src/app/common/services/msg.service';\r\nimport { M2Source, SyncSTIInfoInput, ObjectLocFilterBase } from \"../../dataAccess/ZemApi/Admin/AdminClientZemApi\";\r\n\r\n@Component({\r\n selector: 'app-m2sync',\r\n templateUrl: './m2sync.component.html',\r\n styleUrls: ['./m2sync.component.css']\r\n})\r\n/** M2Sync component*/\r\nexport class M2SyncComponent {\r\n sourceId: number;\r\n dateFrom: Date=null;\r\n dateTo: Date=null;\r\n dateFromString: string;\r\n dateToString: string;\r\n allSources: M2Source[];\r\n blocked: boolean = false;\r\n\r\n constructor(\r\n private adminService: AdminService,\r\n private validService: ValidationService,\r\n private messageService: MsgService,\r\n public locService: LocService\r\n ) {\r\n this.dateFromString = this.dateToString = '';\r\n var pažadas = this.adminService.GetSources();\r\n pažadas.then(re => {\r\n this.allSources = re;\r\n if (re.length > 0)\r\n this.sourceId = re[0].id;\r\n }).catch(function (re) { console.log(arguments); });\r\n }\r\n\r\n validForm() {\r\n\r\n //return (//this.dateFromString == '' ||\r\n // this.validService.ValidDate(this.dateFromString)) &&\r\n // (//this.dateToString == '' ||\r\n // this.validService.ValidDate(this.dateToString)) &&\r\n return this.dateFrom != null && this.dateTo != null \r\n && this.dateTo>=this.dateFrom &&\r\n\r\n this.sourceId != 0 && this.sourceId != null\r\n\r\n ;\r\n }\r\n\r\n syncObjects() {\r\n\r\n if (!this.validForm()) {\r\n alert('not valid');\r\n return;\r\n }\r\n Site.startGlobalLoad();\r\n\r\n\r\n //this.dateFrom = this.validService.MakeDate(this.dateFromString);\r\n //this.dateTo = this.validService.MakeDate(this.dateToString);\r\n var filter = new SyncSTIInfoInput({ fromPeriod: Site.makeDateUTC(this.dateFrom), toPeriod: Site.makeDateUTC(this.dateTo), sourceId: this.sourceId });\r\n //this.blocked = true;\r\n //this.blockuiel.block();\r\n var that = this;\r\n //this.messageService.add({ severity: 'warn', summary: 'Pradėta', detail: 'Sinchronizuojama' });\r\n this.adminService.SyncObjects(filter)\r\n .then(function () {\r\n that.messageService.success('Objektai sėkmingai parkopijuoti');\r\n //Site.stopGlobalLoad();\r\n //that.blocked = false;\r\n //that.messageService.add({ severity: 'info', summary: 'Baigta', detail: 'Sinchronizuojama' });\r\n })\r\n .catch(function (re) {\r\n that.messageService.error(re);\r\n //this.messageService.add({ severity: 'error', summary: 'Klaida', detail: re });\r\n }).then(function () {\r\n Site.stopGlobalLoad();});\r\n\r\n }\r\n\r\n fillObjectsLocations() {\r\n Site.startGlobalLoad();\r\n this.adminService.fillObjectsLocations(new ObjectLocFilterBase({ sourceId: this.sourceId }))\r\n .then(re => { console.log(re); }).catch(re => { console.log(re); }).then(Site.stopGlobalLoad);\r\n }\r\n}\r\n","module.exports = \"\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\"","module.exports = \".centerMarker {\\n position: absolute;\\n z-index: 999;\\n top: 50%;\\n left: 50%;\\n margin-left: -12.5px;\\n margin-top: -41px; }\\n\\n.inputControlsWrapper {\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n z-index: 500; }\\n\\n.coordinput {\\n height: 29px;\\n width: 100px;\\n display: inline-block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vb2JqZWN0cy9vYmplY3QtbG9jYXRpb24tbWFwLW1vZGFsL0M6XFxLYXJvbGlzXFxQcm9qZWN0c1xcxb1lbcSXbGFwaXMgTTIgb2JqZWt0YW1zXFxDb2RlXFx6ZW1lbGFwaXMtbTItb2JqZWt0YW1zXFxaZW1lbGFwaXNDbGllbnRcXENsaWVudEFwcC9zcmNcXGFwcFxcYWRtaW5cXG9iamVjdHNcXG9iamVjdC1sb2NhdGlvbi1tYXAtbW9kYWxcXG9iamVjdC1sb2NhdGlvbi1tYXAtbW9kYWwuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFFBQVE7RUFDUixTQUFTO0VBQ1Qsb0JBQW9CO0VBQ3BCLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFlBQVksRUFBQTs7QUFHZDtFQUNFLFlBQVc7RUFDWCxZQUFXO0VBQ1gscUJBQW9CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hZG1pbi9vYmplY3RzL29iamVjdC1sb2NhdGlvbi1tYXAtbW9kYWwvb2JqZWN0LWxvY2F0aW9uLW1hcC1tb2RhbC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uY2VudGVyTWFya2VyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogOTk5O1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICBtYXJnaW4tbGVmdDogLTEyLjVweDtcclxuICBtYXJnaW4tdG9wOiAtNDFweDtcclxufVxyXG4uaW5wdXRDb250cm9sc1dyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiA1MDA7XHJcbn1cclxuXHJcbi5jb29yZGlucHV0e1xyXG4gIGhlaWdodDoyOXB4O1xyXG4gIHdpZHRoOjEwMHB4O1xyXG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gIH1cclxuIl19 */\"","import { Component, Input, Injector } from '@angular/core';\r\nimport { ObjectAdminListItem, ObjectsAdminClient, UpdateObjectLocationInput, PointCoords } from \"../../../dataAccess/ZemApi/Admin/AdminClientZemApi\";\r\nimport * as L from 'leaflet';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\nimport { faRetweet } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { AppComponentBase } from \"../../../common/app-component-base\";\r\n\r\n@Component({\r\n selector: 'html-object-location-map-modal',\r\n templateUrl: './object-location-map-modal.component.html',\r\n styleUrls: ['./object-location-map-modal.component.scss']\r\n})\r\n/** object-location-map-modal component*/\r\nexport class ObjectLocationMapModalComponent extends AppComponentBase {\r\n @Input() obj: ObjectAdminListItem ;\r\n map: L.Map;\r\n faRecycle = faRetweet;\r\n options: any = null;\r\n successCallback: (coords:PointCoords)=>void;\r\n\r\n constructor(private bsModalRef: BsModalRef, private injector: Injector, private api: ObjectsAdminClient) {\r\n super(injector);\r\n\r\n }\r\n defaultLat = 55.330068;\r\n defaultLon = 23.905734;\r\n\r\n ngOnInit() {\r\n\r\n if (this.obj != null) {\r\n var loc = this.obj.coordinates_Override || this.obj.location_Coordinates;\r\n\r\n if (loc) {\r\n this.defaultLat = loc.lat;\r\n this.defaultLon = loc.lon;\r\n }\r\n\r\n this.options = {\r\n layers: [\r\n L.tileLayer(\r\n //'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'\r\n 'http://a.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png'\r\n , {\r\n maxZoom: 18,//attribution: '...'\r\n })\r\n ],\r\n scrollWheelZoom:'center',\r\n zoom: loc?17:8,\r\n center: L.latLng(this.defaultLat, this.defaultLon)\r\n };\r\n\r\n\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n var that = this;\r\n that.fitMap();\r\n setTimeout(function () { that.fitMap(); }, 10);\r\n }\r\n onMapReady(map: L.Map) {\r\n this.map = map;\r\n }\r\n fitMap() {\r\n if (this.map) {\r\n this.map.invalidateSize();\r\n }\r\n }\r\n\r\n actualLatitudeStr: string;\r\n get actualLatitude(): any\r\n {\r\n if (this.actualLatitudeStr && /^\\d+([,.]\\d+)?$/.test(this.actualLatitudeStr)) {\r\n return Number(this.actualLatitudeStr.replace(',', '.')) || this.defaultLat;\r\n } else\r\n return this.actualLatitudeStr;\r\n }\r\n set actualLatitude(val: any) { \r\n this.actualLatitudeStr = val.toString();\r\n }\r\n\r\n actualLongitudeStr: string;\r\n get actualLongitude(): any {\r\n if (this.actualLongitudeStr && /^\\d+([,.]\\d+)?$/.test(this.actualLongitudeStr)) {\r\n return Number(this.actualLongitudeStr.replace(',', '.')) || this.defaultLat;\r\n } else\r\n return this.actualLongitudeStr;\r\n }\r\n set actualLongitude(val: any) {\r\n this.actualLongitudeStr = val.toString();\r\n }\r\n\r\n goToClicked() {\r\n this.map.panTo(new L.LatLng(this.actualLatitude, this.actualLongitude));\r\n }\r\n\r\n saveClicked() {\r\n var that = this;\r\n if (isNaN(that.actualLatitude) || isNaN(that.actualLongitude)) {\r\n that.error(that.l('KoordinatėsNėraSkaičiai'));\r\n return;\r\n }\r\n var result = ({ lat: that.actualLatitude, lon: that.actualLongitude } as any);\r\n that.api.updateObjectLocation({\r\n id: that.obj.id,\r\n loc: result\r\n }).then(function (re) {\r\n that.bsModalRef.hide();\r\n if (that.successCallback)\r\n that.successCallback(result);\r\n }).catch(function (err) { that.error(err); });\r\n\r\n }\r\n onMapMoveEnd(event) {\r\n var center = this.map.getCenter();\r\n this.actualLatitude = this.round(center.lat);\r\n this.actualLongitude = this.round(center.lng);\r\n }\r\n round(num:number) {\r\n return Math.round(num * 1000000) / 1000000;\r\n }\r\n\r\n resetClicked() {\r\n this.map.panTo(new L.LatLng(this.defaultLat, this.defaultLon));\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value.lon}}, {{value.lat}}\\r\\n \\r\\n \\r\\n {{row.coordinates_Override.lon}}, {{row.coordinates_Override.lat}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","module.exports = \"@charset \\\"UTF-8\\\";\\n\\n@font-face {\\n font-family: 'data-table';\\n src: url('data-table.eot');\\n src: url('data-table.eot?#iefix') format('embedded-opentype'), url('data-table.woff') format('woff'),\\n url('data-table.ttf') format('truetype'), url('data-table.svg#data-table') format('svg');\\n font-weight: normal;\\n font-style: normal;\\n}\\n\\n[data-icon]:before {\\n font-family: 'data-table' !important;\\n content: attr(data-icon);\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n[class^='datatable-icon-']:before,\\n[class*=' datatable-icon-']:before {\\n font-family: 'data-table' !important;\\n font-style: normal !important;\\n font-weight: normal !important;\\n font-variant: normal !important;\\n text-transform: none !important;\\n speak: none;\\n line-height: 1;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.datatable-icon-filter:before {\\n content: '\\\\62';\\n}\\n\\n.datatable-icon-collapse:before {\\n content: '\\\\61';\\n}\\n\\n.datatable-icon-expand:before {\\n content: '\\\\63';\\n}\\n\\n.datatable-icon-close:before {\\n content: '\\\\64';\\n}\\n\\n.datatable-icon-up:before {\\n content: '\\\\65';\\n}\\n\\n.datatable-icon-down:before {\\n content: '\\\\66';\\n}\\n\\n.datatable-icon-sort:before {\\n content: '\\\\67';\\n}\\n\\n.datatable-icon-done:before {\\n content: '\\\\68';\\n}\\n\\n.datatable-icon-done-all:before {\\n content: '\\\\69';\\n}\\n\\n.datatable-icon-search:before {\\n content: '\\\\6a';\\n}\\n\\n.datatable-icon-pin:before {\\n content: '\\\\6b';\\n}\\n\\n.datatable-icon-add:before {\\n content: '\\\\6d';\\n}\\n\\n.datatable-icon-left:before {\\n content: '\\\\6f';\\n}\\n\\n.datatable-icon-right:before {\\n content: '\\\\70';\\n}\\n\\n.datatable-icon-skip:before {\\n content: '\\\\71';\\n}\\n\\n.datatable-icon-prev:before {\\n content: '\\\\72';\\n}\\n\\n.ngx-datatable {\\n display: block;\\n overflow: hidden;\\n justify-content: center;\\n position: relative;\\n -webkit-transform: translate3d(0, 0, 0);\\n /**\\n * Vertical Scrolling Adjustments\\n */\\n /**\\n * Horizontal Scrolling Adjustments\\n */\\n /**\\n * Fixed Header Height Adjustments\\n */\\n /**\\n * Fixed row height adjustments\\n */\\n /**\\n * Shared Styles\\n */\\n /**\\n * Header Styles\\n */\\n /**\\n * Body Styles\\n */\\n /**\\n * Footer Styles\\n */ }\\n\\n.ngx-datatable [hidden] {\\n display: none !important; }\\n\\n.ngx-datatable *,\\n .ngx-datatable *:before,\\n .ngx-datatable *:after {\\n box-sizing: border-box; }\\n\\n.ngx-datatable.scroll-vertical .datatable-body {\\n overflow-y: auto; }\\n\\n.ngx-datatable.scroll-vertical.virtualized .datatable-body .datatable-row-wrapper {\\n position: absolute; }\\n\\n.ngx-datatable.scroll-horz .datatable-body {\\n overflow-x: auto;\\n -webkit-overflow-scrolling: touch; }\\n\\n.ngx-datatable.fixed-header .datatable-header .datatable-header-inner {\\n white-space: nowrap; }\\n\\n.ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis; }\\n\\n.ngx-datatable.fixed-row .datatable-scroll {\\n white-space: nowrap; }\\n\\n.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row {\\n white-space: nowrap; }\\n\\n.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-cell {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n\\n.ngx-datatable.fixed-row .datatable-scroll .datatable-body-row .datatable-body-group-cell {\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis; }\\n\\n.ngx-datatable .datatable-body-row,\\n .ngx-datatable .datatable-row-center,\\n .ngx-datatable .datatable-header-inner {\\n display: flex;\\n flex-direction: row;\\n -o-flex-flow: row;\\n flex-flow: row; }\\n\\n.ngx-datatable .datatable-body-cell,\\n .ngx-datatable .datatable-header-cell {\\n overflow-x: hidden;\\n vertical-align: top;\\n display: inline-block;\\n line-height: 1.625; }\\n\\n.ngx-datatable .datatable-body-cell:focus,\\n .ngx-datatable .datatable-header-cell:focus {\\n outline: none; }\\n\\n.ngx-datatable .datatable-row-left,\\n .ngx-datatable .datatable-row-right {\\n z-index: 9; }\\n\\n.ngx-datatable .datatable-row-left,\\n .ngx-datatable .datatable-row-center,\\n .ngx-datatable .datatable-row-group,\\n .ngx-datatable .datatable-row-right {\\n position: relative; }\\n\\n.ngx-datatable .datatable-header {\\n display: block;\\n overflow: hidden; }\\n\\n.ngx-datatable .datatable-header .datatable-header-inner {\\n align-items: stretch;\\n -webkit-align-items: stretch; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell {\\n position: relative;\\n display: inline-block; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell.sortable .datatable-header-cell-wrapper {\\n cursor: pointer; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell.longpress .datatable-header-cell-wrapper {\\n cursor: move; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .sort-btn {\\n line-height: 100%;\\n vertical-align: middle;\\n display: inline-block;\\n cursor: pointer; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .resize-handle,\\n .ngx-datatable .datatable-header .datatable-header-cell .resize-handle--not-resizable {\\n display: inline-block;\\n position: absolute;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n width: 5px;\\n padding: 0 4px;\\n visibility: hidden; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .resize-handle {\\n cursor: ew-resize; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell.resizeable:hover .resize-handle {\\n visibility: visible; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell:hover .resize-handle--not-resizable {\\n visibility: visible; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .targetMarker {\\n position: absolute;\\n top: 0;\\n bottom: 0; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromLeft {\\n right: 0; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .targetMarker.dragFromRight {\\n left: 0; }\\n\\n.ngx-datatable .datatable-header .datatable-header-cell .datatable-header-cell-template-wrap {\\n height: inherit; }\\n\\n.ngx-datatable .datatable-body {\\n position: relative;\\n z-index: 10;\\n display: block; }\\n\\n.ngx-datatable .datatable-body .datatable-scroll {\\n display: inline-block; }\\n\\n.ngx-datatable .datatable-body .datatable-row-detail {\\n overflow-y: hidden; }\\n\\n.ngx-datatable .datatable-body .datatable-row-wrapper {\\n display: flex;\\n flex-direction: column; }\\n\\n.ngx-datatable .datatable-body .datatable-body-row {\\n outline: none; }\\n\\n.ngx-datatable .datatable-body .datatable-body-row > div {\\n display: flex; }\\n\\n.ngx-datatable .datatable-footer {\\n display: block;\\n width: 100%;\\n overflow: auto; }\\n\\n.ngx-datatable .datatable-footer .datatable-footer-inner {\\n display: flex;\\n align-items: center;\\n width: 100%; }\\n\\n.ngx-datatable .datatable-footer .selected-count .page-count {\\n flex: 1 1 40%; }\\n\\n.ngx-datatable .datatable-footer .selected-count .datatable-pager {\\n flex: 1 1 60%; }\\n\\n.ngx-datatable .datatable-footer .page-count {\\n flex: 1 1 20%; }\\n\\n.ngx-datatable .datatable-footer .datatable-pager {\\n flex: 1 1 80%;\\n text-align: right; }\\n\\n.ngx-datatable .datatable-footer .datatable-pager .pager,\\n .ngx-datatable .datatable-footer .datatable-pager .pager li {\\n padding: 0;\\n margin: 0;\\n display: inline-block;\\n list-style: none; }\\n\\n.ngx-datatable .datatable-footer .datatable-pager .pager li,\\n .ngx-datatable .datatable-footer .datatable-pager .pager li a {\\n outline: none; }\\n\\n.ngx-datatable .datatable-footer .datatable-pager .pager li a {\\n cursor: pointer;\\n display: inline-block; }\\n\\n.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a {\\n cursor: not-allowed; }\\n\\n/*\\nbootstrap table theme\\n*/\\n\\n.ngx-datatable.bootstrap {\\n box-shadow: none;\\n font-size: 13px; }\\n\\n.ngx-datatable.bootstrap .datatable-header {\\n height: unset !important; }\\n\\n.ngx-datatable.bootstrap .datatable-header .datatable-header-cell {\\n vertical-align: bottom;\\n padding: 0.75rem;\\n border-bottom: 1px solid #d1d4d7; }\\n\\n.ngx-datatable.bootstrap .datatable-header .datatable-header-cell .datatable-header-cell-label {\\n line-height: 24px; }\\n\\n.ngx-datatable.bootstrap .datatable-body .datatable-body-row {\\n vertical-align: top;\\n border-top: 1px solid #d1d4d7; }\\n\\n.ngx-datatable.bootstrap .datatable-body .datatable-body-row.datatable-row-even {\\n background-color: rgba(0, 0, 0, 0.05); }\\n\\n.ngx-datatable.bootstrap .datatable-body .datatable-body-row.active {\\n background-color: #1483ff;\\n color: #fff; }\\n\\n.ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell {\\n padding: 0.75rem;\\n text-align: left;\\n vertical-align: top; }\\n\\n.ngx-datatable.bootstrap .datatable-body .empty-row {\\n position: relative;\\n padding: 0.75rem 1.25rem;\\n margin-bottom: 0; }\\n\\n.ngx-datatable.bootstrap .datatable-footer {\\n background: #424242;\\n color: #ededed;\\n margin-top: -1px; }\\n\\n.ngx-datatable.bootstrap .datatable-footer .page-count {\\n line-height: 50px;\\n height: 50px;\\n padding: 0 1.2rem; }\\n\\n.ngx-datatable.bootstrap .datatable-footer .datatable-pager {\\n margin: 0 10px;\\n vertical-align: top; }\\n\\n.ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li {\\n margin: 10px 0px; }\\n\\n.ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled).active a, .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li:not(.disabled):hover a {\\n background-color: #545454;\\n font-weight: bold; }\\n\\n.ngx-datatable.bootstrap .datatable-footer .datatable-pager a {\\n height: 22px;\\n min-width: 24px;\\n line-height: 22px;\\n padding: 0;\\n border-radius: 3px;\\n margin: 0 3px;\\n text-align: center;\\n vertical-align: top;\\n text-decoration: none;\\n vertical-align: bottom;\\n color: #ededed; }\\n\\n.ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-left,\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-skip,\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-right,\\n .ngx-datatable.bootstrap .datatable-footer .datatable-pager .datatable-icon-prev {\\n font-size: 18px;\\n line-height: 27px;\\n padding: 0 3px; }\\n\\n.ngx-datatable.bootstrap .datatable-summary-row .datatable-body-row .datatable-body-cell {\\n font-weight: bold; }\\n\\n.ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell {\\n padding: 0.15rem; }\\n\\n.overridenCoordinates {\\n color: rgba(170, 110, 30, 0.8); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS9hc3NldHMvaWNvbnMuY3NzIiwic3JjL2FwcC9hZG1pbi9vYmplY3RzL0M6XFxLYXJvbGlzXFxQcm9qZWN0c1xcxb1lbcSXbGFwaXMgTTIgb2JqZWt0YW1zXFxDb2RlXFx6ZW1lbGFwaXMtbTItb2JqZWt0YW1zXFxaZW1lbGFwaXNDbGllbnRcXENsaWVudEFwcC9ub2RlX21vZHVsZXNcXEBzd2ltbGFuZVxcbmd4LWRhdGF0YWJsZVxcaW5kZXguc2NzcyIsInNyYy9hcHAvYWRtaW4vb2JqZWN0cy9vYmplY3RzLmNvbXBvbmVudC5zY3NzIiwic3JjL2FwcC9hZG1pbi9vYmplY3RzL0M6XFxLYXJvbGlzXFxQcm9qZWN0c1xcxb1lbcSXbGFwaXMgTTIgb2JqZWt0YW1zXFxDb2RlXFx6ZW1lbGFwaXMtbTItb2JqZWt0YW1zXFxaZW1lbGFwaXNDbGllbnRcXENsaWVudEFwcC9ub2RlX21vZHVsZXNcXEBzd2ltbGFuZVxcbmd4LWRhdGF0YWJsZVxcdGhlbWVzXFxib290c3RyYXAuc2NzcyIsInNyYy9hcHAvYWRtaW4vb2JqZWN0cy9DOlxcS2Fyb2xpc1xcUHJvamVjdHNcXMW9ZW3El2xhcGlzIE0yIG9iamVrdGFtc1xcQ29kZVxcemVtZWxhcGlzLW0yLW9iamVrdGFtc1xcWmVtZWxhcGlzQ2xpZW50XFxDbGllbnRBcHAvc3JjXFxhcHBcXGFkbWluXFxvYmplY3RzXFxvYmplY3RzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjs7QUFFaEI7RUFDRSx5QkFBeUI7RUFDekIsMEJBQWdDO0VBQ2hDOzRGQUNzRztFQUN0RyxtQkFBbUI7RUFDbkIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLHdCQUF3QjtFQUN4Qiw2QkFBNkI7RUFDN0IsOEJBQThCO0VBQzlCLCtCQUErQjtFQUMvQiwrQkFBK0I7RUFDL0IsV0FBVztFQUNYLGNBQWM7RUFD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O0lBQ2QsZ0JBQWdCLEVBQUE7O0FBMUNwQjtNQTRDTSxpQkFBaUI7TUFDakIsWUFBWTtNQUNaLGlCQUFpQixFQUFBOztBQTlDdkI7TUFpRE0sY0FBYztNQUNkLG1CQUFtQixFQUFBOztBQWxEekI7UUFxRFUsZ0JBQWdCLEVBQUE7O0FBckQxQjtVQTBEZ0IseUJBQXlCO1VBQ3pCLGlCQUFpQixFQUFBOztBQTNEakM7UUFrRVEsWUFBWTtRQUNaLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLGNBQWMsRUFBQTs7QUE1RXRCOzs7O1FBa0ZRLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYyxFQUFBOztBQXBGdEI7SUE0RlEsaUJBQWlCLEVBQUE7O0FDM0Z6QjtFQUNFLGdCQUFlLEVBQUE7O0FBRWpCO0VBQ0UsOEJBQXlCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9hZG1pbi9vYmplY3RzL29iamVjdHMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2RhdGEtdGFibGUnO1xuICBzcmM6IHVybCgnZm9udHMvZGF0YS10YWJsZS5lb3QnKTtcbiAgc3JjOiB1cmwoJ2ZvbnRzL2RhdGEtdGFibGUuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdmb250cy9kYXRhLXRhYmxlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJ2ZvbnRzL2RhdGEtdGFibGUudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL2RhdGEtdGFibGUuc3ZnI2RhdGEtdGFibGUnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnZGF0YS10YWJsZScgIWltcG9ydGFudDtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5bY2xhc3NePSdkYXRhdGFibGUtaWNvbi0nXTpiZWZvcmUsXG5bY2xhc3MqPScgZGF0YXRhYmxlLWljb24tJ106YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdkYXRhLXRhYmxlJyAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uZGF0YXRhYmxlLWljb24tZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDYyJztcbn1cbi5kYXRhdGFibGUtaWNvbi1jb2xsYXBzZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFw2MSc7XG59XG4uZGF0YXRhYmxlLWljb24tZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDYzJztcbn1cbi5kYXRhdGFibGUtaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFw2NCc7XG59XG4uZGF0YXRhYmxlLWljb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjUnO1xufVxuLmRhdGF0YWJsZS1pY29uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjYnO1xufVxuLmRhdGF0YWJsZS1pY29uLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjcnO1xufVxuLmRhdGF0YWJsZS1pY29uLWRvbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNjgnO1xufVxuLmRhdGF0YWJsZS1pY29uLWRvbmUtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDY5Jztcbn1cbi5kYXRhdGFibGUtaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcNmEnO1xufVxuLmRhdGF0YWJsZS1pY29uLXBpbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFw2Yic7XG59XG4uZGF0YXRhYmxlLWljb24tYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDZkJztcbn1cbi5kYXRhdGFibGUtaWNvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXDZmJztcbn1cbi5kYXRhdGFibGUtaWNvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiAnXFw3MCc7XG59XG4uZGF0YXRhYmxlLWljb24tc2tpcDpiZWZvcmUge1xuICBjb250ZW50OiAnXFw3MSc7XG59XG4uZGF0YXRhYmxlLWljb24tcHJldjpiZWZvcmUge1xuICBjb250ZW50OiAnXFw3Mic7XG59XG4iLCIubmd4LWRhdGF0YWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvKipcbiAgICogVmVydGljYWwgU2Nyb2xsaW5nIEFkanVzdG1lbnRzXG4gICAqL1xuICAmLnNjcm9sbC12ZXJ0aWNhbCB7XG4gICAgLmRhdGF0YWJsZS1ib2R5IHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuICAgICYudmlydHVhbGl6ZWQge1xuICAgICAgLmRhdGF0YWJsZS1ib2R5IHtcbiAgICAgICAgLmRhdGF0YWJsZS1yb3ctd3JhcHBlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhvcml6b250YWwgU2Nyb2xsaW5nIEFkanVzdG1lbnRzXG4gICAqL1xuICAmLnNjcm9sbC1ob3J6IHtcbiAgICAuZGF0YXRhYmxlLWJvZHkge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRml4ZWQgSGVhZGVyIEhlaWdodCBBZGp1c3RtZW50c1xuICAgKi9cbiAgJi5maXhlZC1oZWFkZXIge1xuICAgIC5kYXRhdGFibGUtaGVhZGVyIHtcbiAgICAgIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLmRhdGF0YWJsZS1oZWFkZXItY2VsbCB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpeGVkIHJvdyBoZWlnaHQgYWRqdXN0bWVudHNcbiAgICovXG4gICYuZml4ZWQtcm93IHtcbiAgICAuZGF0YXRhYmxlLXNjcm9sbCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAuZGF0YXRhYmxlLWJvZHktcm93IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAuZGF0YXRhYmxlLWJvZHktY2VsbCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGF0YWJsZS1ib2R5LWdyb3VwLWNlbGwge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTaGFyZWQgU3R5bGVzXG4gICAqL1xuICAuZGF0YXRhYmxlLWJvZHktcm93LFxuICAuZGF0YXRhYmxlLXJvdy1jZW50ZXIsXG4gIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6IHJvdztcbiAgICAtbW96LWZsZXgtZmxvdzogcm93O1xuICAgIC1tcy1mbGV4LWZsb3c6IHJvdztcbiAgICAtby1mbGV4LWZsb3c6IHJvdztcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgfVxuXG4gIC5kYXRhdGFibGUtYm9keS1jZWxsLFxuICAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5kYXRhdGFibGUtcm93LWxlZnQsXG4gIC5kYXRhdGFibGUtcm93LXJpZ2h0IHtcbiAgICB6LWluZGV4OiA5O1xuICB9XG5cbiAgLmRhdGF0YWJsZS1yb3ctbGVmdCxcbiAgLmRhdGF0YWJsZS1yb3ctY2VudGVyLFxuICAuZGF0YXRhYmxlLXJvdy1ncm91cCxcbiAgLmRhdGF0YWJsZS1yb3ctcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWFkZXIgU3R5bGVzXG4gICAqL1xuICAuZGF0YXRhYmxlLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJi5zb3J0YWJsZSB7XG4gICAgICAgIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwtd3JhcHBlciB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubG9uZ3ByZXNzIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwtd3JhcHBlciB7XG4gICAgICAgIGN1cnNvcjogbW92ZTtcbiAgICAgIH1cblxuICAgICAgLnNvcnQtYnRuIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAucmVzaXplLWhhbmRsZSxcbiAgICAgIC5yZXNpemUtaGFuZGxlLS1ub3QtcmVzaXphYmxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnJlc2l6ZS1oYW5kbGUge1xuICAgICAgICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJi5yZXNpemVhYmxlOmhvdmVyIHtcbiAgICAgICAgLnJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5yZXNpemUtaGFuZGxlLS1ub3QtcmVzaXphYmxlIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YXJnZXRNYXJrZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICYuZHJhZ0Zyb21MZWZ0IHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHJhZ0Zyb21SaWdodCB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLXRlbXBsYXRlLXdyYXAge1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEJvZHkgU3R5bGVzXG4gICAqL1xuICAuZGF0YXRhYmxlLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC5kYXRhdGFibGUtc2Nyb2xsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZGF0YXRhYmxlLXJvdy1kZXRhaWwge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5kYXRhdGFibGUtcm93LXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIC1tb3otYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5kYXRhdGFibGUtYm9keS1yb3cge1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvb3RlciBTdHlsZXNcbiAgICovXG4gIC5kYXRhdGFibGUtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcblxuICAgIC5kYXRhdGFibGUtZm9vdGVyLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlbGVjdGVkLWNvdW50IHtcbiAgICAgIC5wYWdlLWNvdW50IHtcbiAgICAgICAgZmxleDogMSAxIDQwJTtcbiAgICAgIH1cbiAgICAgIC5kYXRhdGFibGUtcGFnZXIge1xuICAgICAgICBmbGV4OiAxIDEgNjAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWNvdW50IHtcbiAgICAgIGZsZXg6IDEgMSAyMCU7XG4gICAgfVxuXG4gICAgLmRhdGF0YWJsZS1wYWdlciB7XG4gICAgICBmbGV4OiAxIDEgODAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgIC5wYWdlcixcbiAgICAgIC5wYWdlciBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgfVxuXG4gICAgICAucGFnZXIge1xuICAgICAgICBsaSxcbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmRpc2FibGVkIGEge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKH5Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS9hc3NldHMvaWNvbnMuY3NzKTtcbi5uZ3gtZGF0YXRhYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLyoqXG4gICAqIFZlcnRpY2FsIFNjcm9sbGluZyBBZGp1c3RtZW50c1xuICAgKi9cbiAgLyoqXG4gICAqIEhvcml6b250YWwgU2Nyb2xsaW5nIEFkanVzdG1lbnRzXG4gICAqL1xuICAvKipcbiAgICogRml4ZWQgSGVhZGVyIEhlaWdodCBBZGp1c3RtZW50c1xuICAgKi9cbiAgLyoqXG4gICAqIEZpeGVkIHJvdyBoZWlnaHQgYWRqdXN0bWVudHNcbiAgICovXG4gIC8qKlxuICAgKiBTaGFyZWQgU3R5bGVzXG4gICAqL1xuICAvKipcbiAgICogSGVhZGVyIFN0eWxlc1xuICAgKi9cbiAgLyoqXG4gICAqIEJvZHkgU3R5bGVzXG4gICAqL1xuICAvKipcbiAgICogRm9vdGVyIFN0eWxlc1xuICAgKi8gfVxuICAubmd4LWRhdGF0YWJsZSBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5uZ3gtZGF0YXRhYmxlICosXG4gIC5uZ3gtZGF0YXRhYmxlICo6YmVmb3JlLFxuICAubmd4LWRhdGF0YWJsZSAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLm5neC1kYXRhdGFibGUuc2Nyb2xsLXZlcnRpY2FsIC5kYXRhdGFibGUtYm9keSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubmd4LWRhdGF0YWJsZS5zY3JvbGwtdmVydGljYWwudmlydHVhbGl6ZWQgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtcm93LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAubmd4LWRhdGF0YWJsZS5zY3JvbGwtaG9yeiAuZGF0YXRhYmxlLWJvZHkge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5uZ3gtZGF0YXRhYmxlLmZpeGVkLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlLmZpeGVkLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLm5neC1kYXRhdGFibGUuZml4ZWQtcm93IC5kYXRhdGFibGUtc2Nyb2xsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLm5neC1kYXRhdGFibGUuZml4ZWQtcm93IC5kYXRhdGFibGUtc2Nyb2xsIC5kYXRhdGFibGUtYm9keS1yb3cge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLm5neC1kYXRhdGFibGUuZml4ZWQtcm93IC5kYXRhdGFibGUtc2Nyb2xsIC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWNlbGwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgICAgLm5neC1kYXRhdGFibGUuZml4ZWQtcm93IC5kYXRhdGFibGUtc2Nyb2xsIC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWdyb3VwLWNlbGwge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWJvZHktcm93LFxuICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLXJvdy1jZW50ZXIsXG4gIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC13ZWJraXQtZmxleC1mbG93OiByb3c7XG4gICAgLW1vei1mbGV4LWZsb3c6IHJvdztcbiAgICAtbXMtZmxleC1mbG93OiByb3c7XG4gICAgLW8tZmxleC1mbG93OiByb3c7XG4gICAgZmxleC1mbG93OiByb3c7IH1cbiAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1ib2R5LWNlbGwsXG4gIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS42MjU7IH1cbiAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWJvZHktY2VsbDpmb2N1cyxcbiAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlci1jZWxsOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1yb3ctbGVmdCxcbiAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1yb3ctcmlnaHQge1xuICAgIHotaW5kZXg6IDk7IH1cbiAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1yb3ctbGVmdCxcbiAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1yb3ctY2VudGVyLFxuICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLXJvdy1ncm91cCxcbiAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1yb3ctcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLnNvcnRhYmxlIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwtd3JhcHBlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5sb25ncHJlc3MgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC13cmFwcGVyIHtcbiAgICAgICAgY3Vyc29yOiBtb3ZlOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIC5zb3J0LWJ0biB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbCAucmVzaXplLWhhbmRsZSxcbiAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwgLnJlc2l6ZS1oYW5kbGUtLW5vdC1yZXNpemFibGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIC5yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgY3Vyc29yOiBldy1yZXNpemU7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwucmVzaXplYWJsZTpob3ZlciAucmVzaXplLWhhbmRsZSB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGw6aG92ZXIgLnJlc2l6ZS1oYW5kbGUtLW5vdC1yZXNpemFibGUge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIC50YXJnZXRNYXJrZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwOyB9XG4gICAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwgLnRhcmdldE1hcmtlci5kcmFnRnJvbUxlZnQge1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwgLnRhcmdldE1hcmtlci5kcmFnRnJvbVJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwtdGVtcGxhdGUtd3JhcCB7XG4gICAgICAgIGhlaWdodDogaW5oZXJpdDsgfVxuICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLXNjcm9sbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1yb3ctZGV0YWlsIHtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLXJvdy13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgLW1vei1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWZvb3RlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLWZvb3Rlci1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1mb290ZXIgLnNlbGVjdGVkLWNvdW50IC5wYWdlLWNvdW50IHtcbiAgICAgIGZsZXg6IDEgMSA0MCU7IH1cbiAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWZvb3RlciAuc2VsZWN0ZWQtY291bnQgLmRhdGF0YWJsZS1wYWdlciB7XG4gICAgICBmbGV4OiAxIDEgNjAlOyB9XG4gICAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1mb290ZXIgLnBhZ2UtY291bnQge1xuICAgICAgZmxleDogMSAxIDIwJTsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIge1xuICAgICAgZmxleDogMSAxIDgwJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAubmd4LWRhdGF0YWJsZSAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5wYWdlcixcbiAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgLnBhZ2VyIGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgLnBhZ2VyIGxpLFxuICAgICAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciAucGFnZXIgbGkgYSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgLnBhZ2VyIGxpIGEge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLm5neC1kYXRhdGFibGUgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciAucGFnZXIgbGkuZGlzYWJsZWQgYSB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLypcbmJvb3RzdHJhcCB0YWJsZSB0aGVtZVxuKi9cbi5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTNweDsgfVxuICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1oZWFkZXIge1xuICAgIGhlaWdodDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQ0ZDc7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwtbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQ0ZDc7IH1cbiAgICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cuZGF0YXRhYmxlLXJvdy1ldmVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDgzZmY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyAuZGF0YXRhYmxlLWJvZHktY2VsbCB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm5neC1kYXRhdGFibGUuYm9vdHN0cmFwIC5kYXRhdGFibGUtYm9keSAuZW1wdHktcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm5neC1kYXRhdGFibGUuYm9vdHN0cmFwIC5kYXRhdGFibGUtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDI0MjQyO1xuICAgIGNvbG9yOiAjZWRlZGVkO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1mb290ZXIgLnBhZ2UtY291bnQge1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbTsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgLm5neC1kYXRhdGFibGUuYm9vdHN0cmFwIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgdWwgbGkge1xuICAgICAgICBtYXJnaW46IDEwcHggMHB4OyB9XG4gICAgICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIHVsIGxpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSBhLCAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciB1bCBsaTpub3QoLmRpc2FibGVkKTpob3ZlciBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciBhIHtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBjb2xvcjogI2VkZWRlZDsgfVxuICAgICAgLm5neC1kYXRhdGFibGUuYm9vdHN0cmFwIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgLmRhdGF0YWJsZS1pY29uLWxlZnQsXG4gICAgICAubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciAuZGF0YXRhYmxlLWljb24tc2tpcCxcbiAgICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5kYXRhdGFibGUtaWNvbi1yaWdodCxcbiAgICAgIC5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5kYXRhdGFibGUtaWNvbi1wcmV2IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7IH1cbiAgLm5neC1kYXRhdGFibGUuYm9vdHN0cmFwIC5kYXRhdGFibGUtc3VtbWFyeS1yb3cgLmRhdGF0YWJsZS1ib2R5LXJvdyAuZGF0YXRhYmxlLWJvZHktY2VsbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm5neC1kYXRhdGFibGUuYm9vdHN0cmFwIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsIHtcbiAgcGFkZGluZzogMC4xNXJlbTsgfVxuXG4ub3ZlcnJpZGVuQ29vcmRpbmF0ZXMge1xuICBjb2xvcjogcmdiYSgxNzAsIDExMCwgMzAsIDAuOCk7IH1cbiIsIi8qXG5ib290c3RyYXAgdGFibGUgdGhlbWVcbiovXG5cbi5uZ3gtZGF0YXRhYmxlLmJvb3RzdHJhcCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgLmRhdGF0YWJsZS1oZWFkZXIge1xuICAgIGhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMWQ0ZDc7XG4gICAgICAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLWxhYmVsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXRhdGFibGUtYm9keSB7XG4gICAgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMWQ0ZDc7XG4gICAgICAmLmRhdGF0YWJsZS1yb3ctZXZlbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDgzZmY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgLmRhdGF0YWJsZS1ib2R5LWNlbGwge1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuICAgIH1cbiAgICAuZW1wdHktcm93IHtcbiAgICAgICRhbGVydC1wYWRkaW5nLXk6IDAuNzVyZW0gIWRlZmF1bHQ7XG4gICAgICAkYWxlcnQtcGFkZGluZy14OiAxLjI1cmVtICFkZWZhdWx0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLmRhdGF0YWJsZS1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0MjQyNDI7XG4gICAgY29sb3I6ICNlZGVkZWQ7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAucGFnZS1jb3VudCB7XG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xuICAgIH1cbiAgICAuZGF0YXRhYmxlLXBhZ2VyIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogMTBweCAwcHg7XG4gICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBjb2xvcjogI2VkZWRlZDtcbiAgICAgIH1cbiAgICAgIC5kYXRhdGFibGUtaWNvbi1sZWZ0LFxuICAgICAgLmRhdGF0YWJsZS1pY29uLXNraXAsXG4gICAgICAuZGF0YXRhYmxlLWljb24tcmlnaHQsXG4gICAgICAuZGF0YXRhYmxlLWljb24tcHJldiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBTdW1tYXJ5IHJvdyBzdHlsZXNcbiAgLmRhdGF0YWJsZS1zdW1tYXJ5LXJvdyB7XG4gICAgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XG4gICAgICAuZGF0YXRhYmxlLWJvZHktY2VsbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnfkBzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlL2luZGV4JztcclxuQGltcG9ydCAnfkBzd2ltbGFuZS9uZ3gtZGF0YXRhYmxlL3RoZW1lcy9ib290c3RyYXAuc2Nzcyc7XHJcbkBpbXBvcnQgJ35Ac3dpbWxhbmUvbmd4LWRhdGF0YWJsZS9hc3NldHMvaWNvbnMuY3NzJztcclxuXHJcblxyXG4ubmd4LWRhdGF0YWJsZS5ib290c3RyYXAgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWNlbGx7XHJcbiAgcGFkZGluZzowLjE1cmVtO1xyXG4gIH1cclxuLm92ZXJyaWRlbkNvb3JkaW5hdGVzIHtcclxuICBjb2xvcjpyZ2JhKDE3MCwxMTAsMzAsLjgpO1xyXG59XHJcbiJdfQ== */\"","import { Component, Injector, ViewEncapsulation, ViewChild, TemplateRef } from '@angular/core';\r\nimport { ObjectsAdminClient, ObjectAdminListFilter, DataTableResultBaseOfObjectAdminListItem, ObjectAdminListItem,\r\n PointCoords,\r\n ChangeObjectVisibilityInput\r\n} from \"../../dataAccess/ZemApi/Admin/AdminClientZemApi\";\r\nimport { AppComponentBase } from \"../../common/app-component-base\";\r\nimport { DatatableComponent } from \"../../common/datatable/datatable/datatable.component\";\r\nimport { faMap, faMapPin, faMapMarked, faMapMarkedAlt, faMapMarker, faMapMarkerAlt, faRecycle,faTrashAlt } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { ObjectLocationMapModalComponent } from \"./object-location-map-modal/object-location-map-modal.component\";\r\nimport { BsModalService } from \"ngx-bootstrap/modal\";\r\n\r\n@Component({\r\n selector: 'app-objects',\r\n templateUrl: './objects.component.html',\r\n styleUrls: ['./objects.component.scss'\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n/** objects component*/\r\nexport class ObjectsComponent extends AppComponentBase {\r\n changeLocBtnIcon = faMapMarkedAlt;\r\n deleteBtnIcon = faTrashAlt;\r\n @ViewChild('table') table: any;\r\n @ViewChild('locationTemplate') locationTemplate: TemplateRef;\r\n @ViewChild('hiddenTemplate') hiddenTemplate: TemplateRef;\r\n get offset() { return this.filter.pagenr - 1; }\r\n set offset(val) { this.filter.pagenr = val + 1; }\r\n JSON = window['JSON'];\r\n rows = new Array();\r\n columns = [];\r\n filter: ObjectAdminListFilter = new ObjectAdminListFilter();\r\n loadingIndicator = true;\r\n\r\n /** objects ctor */\r\n constructor(private objApi: ObjectsAdminClient, private injector: Injector, private modalService: BsModalService) {\r\n super(injector);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.filter.ordercol = 'address';\r\n this.filter.pagenr = 1;\r\n this.refreshTable();\r\n }\r\n\r\n\r\n setPage(pageInfo: { count?: number, pageSize?: number, limit?: number, offset: number }) {\r\n var that = this;\r\n that.filter.pagenr = pageInfo.offset + 1;\r\n that.refreshTable();\r\n }\r\n\r\n refreshTable() {\r\n var that = this;\r\n that.loadingIndicator = true;\r\n that.table.offset = that.filter.pagenr - 1;\r\n that.objApi.objectsList(that.filter).then(function (re: DataTableResultBaseOfObjectAdminListItem) {\r\n\r\n const colTemp = DatatableComponent.FixResponseCols(re.columns);\r\n\r\n const coordColData = colTemp.find(c => c.prop == 'location_Coordinates');\r\n coordColData.cellTemplate = that.locationTemplate;\r\n coordColData.name = that.l('Koordinatės (ilguma, platuma)');\r\n\r\n const hiddenColData = colTemp.find(c => c.prop == 'hidden');\r\n hiddenColData.cellTemplate = that.hiddenTemplate;\r\n //coordColData.name = that.l('Rodomas');\r\n\r\n that.columns = colTemp;\r\n\r\n //const rowsTemp = DatatableComponent.FixResponseRows(re.rows);\r\n if(re.rows && re.rows.length)\r\n for (var row of re.rows){\r\n (row).showing = !row.hidden;\r\n }\r\n that.rows = re.rows;//rowsTemp;\r\n that.filter.filteredCount = re.filteredCount;\r\n that.filter.totalCount = re.totalCount;\r\n that.filter.length = 25;\r\n that.loadingIndicator = false;\r\n\r\n }).catch(function (re) {\r\n that.msgService.error(re);\r\n that.loadingIndicator = false;\r\n });\r\n }\r\n\r\n /*sorts: [{dir: \"asc\", prop: \"address\"}]\r\ncolumn: {name: \"Adresas\", prop: \"address\", $$id: \"smcr\", resizeable: true, $$valueGetter: ƒ, …}\r\nprevValue: \"desc\"\r\nnewValue: \"asc\"*/\r\n onSortClick(event) {\r\n var that = this;\r\n that.filter.ordercol = event.sorts[0].prop;\r\n that.filter.orderdir = event.sorts[0].dir;\r\n that.refreshTable();\r\n }\r\n changeLocation(row: ObjectAdminListItem) {\r\n var that = this;\r\n var initialState = {\r\n obj: row, successCallback: function (result: PointCoords) {\r\n row.coordinates_Override = result;\r\n that.success(that.l('Išsaugota'));\r\n }\r\n };\r\n var modalRef = that.modalService.show(ObjectLocationMapModalComponent, { 'class': 'wide-modal', initialState });\r\n var modalComponent = modalRef.content as ObjectLocationMapModalComponent;\r\n }\r\n\r\n removeCoordinatesOverrideClick(row: ObjectAdminListItem) {\r\n var that = this;\r\n var numid = Number(row.id);\r\n if (isNaN(numid)) {\r\n that.error(that.l('NeSkaičius'));\r\n return;\r\n }\r\n that.objApi.removeObjLocOverride(numid).then(function (re) {\r\n row.coordinates_Override = null;\r\n that.success('Išsaugota');\r\n }).catch(function (err) { that.error(err); });\r\n }\r\n\r\n changeObjectVisibility(row: ObjectAdminListItem) {\r\n var that = this;\r\n that.objApi.changeObjectVisibility(new ChangeObjectVisibilityInput({ objectId: parseInt(row.id), hidden: !(row).showing }))\r\n .then(() => {\r\n row.hidden = !(row).showing;\r\n that.success('Išsaugota');\r\n }).catch((re) => {\r\n (row).showing = !(row).showing;\r\n console.log(re);\r\n that.error(that.l('ĮvykoKlaida'));\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Client, ObjectsClient } from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { AppConfig } from 'src/app/app.config';\r\nimport { M2SyncClient, SyncSTIInfoInput, ObjectLocFilterBase, ObjectsAdminClient } from \"../../dataAccess/ZemApi/Admin/AdminClientZemApi\";\r\n\r\n@Injectable()\r\nexport class AdminService {\r\n constructor(private m2SyncClient: M2SyncClient,\r\n private objectsAdminClient: ObjectsAdminClient) {\r\n\r\n console.log('injecting ' + this.m2SyncClient);\r\n }\r\n GetSources() {\r\n console.log('injected '+this.m2SyncClient);\r\n return this.m2SyncClient.m2Sources();//AppConfig.settings.APIBaseUrl\r\n }\r\n\r\n SyncObjects(filter: SyncSTIInfoInput) {\r\n return this.m2SyncClient.syncSTIInfo(filter);\r\n }\r\n\r\n fillObjectsLocations(filter: ObjectLocFilterBase) {\r\n return this.objectsAdminClient.fillObjectsLocations(filter);\r\n }\r\n}\r\n","export class UserVM\r\n{\r\n public constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n\r\n UserName: string;\r\n DisplayName: string;\r\n Id: number;\r\n OldPassword: string;\r\n NewPassword: string;\r\n ChangingPassword: boolean;\r\n Roles: RoleVM[];\r\n DataSources: any[];\r\n\r\n addRoles?: number[] | undefined;\r\n removeRoles?: number[] | undefined;\r\n addDataSources?: number[] | undefined;\r\n removeDataSources?: number[] | undefined;\r\n}\r\n\r\n\r\nexport class RoleVM{\r\n public constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n\r\n Name: string;\r\n Id:number;\r\n }\r\n","module.exports = \"\\r\\n.inputwr{\\r\\n margin:5px;\\r\\n }\\r\\n.inputwr .ui-float-label{\\r\\n margin-top:20px;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWRtaW4vdXNlcnMvdXNlcnMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7RUFDRSxVQUFVO0VBQ1Y7QUFDRjtFQUNFLGVBQWU7RUFDZiIsImZpbGUiOiJzcmMvYXBwL2FkbWluL3VzZXJzL3VzZXJzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLmlucHV0d3J7XHJcbiAgbWFyZ2luOjVweDtcclxuICB9XHJcbi5pbnB1dHdyIC51aS1mbG9hdC1sYWJlbHtcclxuICBtYXJnaW4tdG9wOjIwcHg7XHJcbiAgfVxyXG4iXX0= */\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • {{user.DisplayName || user.UserName}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Vaidmenys

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n * pažymėti laukai privalomi\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component } from '@angular/core';\r\nimport { UsersService } from \"./users.service\";\r\nimport { UserVM, RoleVM } from \"./models/UserVM\";\r\nimport { UserModel, RoleModel } from \"../../dataAccess/ZemApi/Auth/AuthClientZemApi\";\r\nimport { Site } from \"../../common/services/site.service\";\r\nimport { MsgService } from \"../../common/services/msg.service\";\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html',\r\n styleUrls: ['./users.component.css']\r\n})\r\n/** users component*/\r\nexport class UsersComponent {\r\n\r\n userList: UserVM[] = [];\r\n allRoles: RoleVM[] = [];\r\n selectedUser: UserVM = null;\r\n creatingUser: UserVM = null;\r\n selectedUserSelectedRoles: number[];\r\n creating: boolean = false;\r\n\r\n\r\n\r\n constructor(private service: UsersService,\r\n private messageService: MsgService) {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n this.fillUsers();\r\n }\r\n fillUsers() {\r\n var mapuserfunc = (u: UserModel): UserVM => {\r\n var result = new UserVM({\r\n UserName: u.userName,\r\n DisplayName: u.displayName,\r\n Id: u.id,\r\n Roles: u.roles.map(function (r: RoleModel) {\r\n var result = {};\r\n result.Name = r.name;\r\n result.Id = r.id;\r\n return result;\r\n }),\r\n DataSources: u.dataSources.map(ds => { Name: ds.name, Id: ds.id })\r\n\r\n });\r\n return result;\r\n }\r\n var that = this;\r\n that.service.getList().then(re => {\r\n that.userList = re.users.map(mapuserfunc);\r\n that.allRoles = re.allRoles.map(r => new RoleVM({ Id: r.id, Name: r.name }));\r\n });\r\n }\r\n selectUser(id: number, username: string = null) {\r\n this.creating = false;\r\n var usr = null;\r\n if (id != null)\r\n usr = this.userList.filter(u => u.Id == id)[0];\r\n else usr = this.userList.filter(u => u.UserName == username)[0];\r\n if (usr) {\r\n this.selectedUser = new UserVM(usr);\r\n this.selectedUserSelectedRoles = this.selectedUser.Roles.map(r => r.Id);\r\n } else\r\n this.selectedUser = null;\r\n }\r\n SaveUser() {\r\n var that = this;\r\n this.selectedUser.addRoles = this.selectedUserSelectedRoles.filter(srId => !that.selectedUser.Roles.some((val) => srId == val.Id));\r\n this.selectedUser.removeRoles = this.selectedUser.Roles.filter(val => !that.selectedUserSelectedRoles.some((srId) => srId == val.Id)).map(r => r.Id);\r\n Site.startGlobalLoad();\r\n this.service.saveUser(this.selectedUser).then(re => {\r\n if (re.success) {\r\n that.messageService.success('Išsaugota');\r\n this.userList.filter(u => u.Id == that.selectedUser.Id)[0].DisplayName = that.selectedUser.DisplayName;\r\n } else {\r\n for (var err of re.errors) {\r\n that.messageService.error(err);\r\n }\r\n\r\n }\r\n\r\n\r\n }).catch(re => console.log(re)).then(re => Site.stopGlobalLoad());\r\n }\r\n showForm(): boolean {\r\n\r\n return this.selectedUser && (['', null, undefined].indexOf(this.selectedUser.UserName) == -1);\r\n }\r\n\r\n\r\n selectedRolesChanged(event) {\r\n console.log(event);\r\n //TODO:selectedUserSelectedRoles.indexOf(role.Id)>-1?selectedUserSelectedRoles.splice(selectedUserSelectedRoles.indexOf(role.Id),1)\r\n }\r\n\r\n AddUserClick(event) {\r\n var that = this;\r\n if (!that.creating) {\r\n that.creating = true;\r\n that.selectedUser = null;\r\n that.creatingUser = new UserVM({ UserName: '', DisplayName: '', NewPassword: '' });\r\n that.CreatePasswordCheck = '';\r\n }\r\n }\r\n DeleteUserClick(event) {\r\n var that = this;\r\n Site.startGlobalLoad();\r\n that.service.deleteUser(that.selectedUser.UserName).then(re => {\r\n that.fillUsers();\r\n that.creating = false;\r\n that.selectedUser = null;\r\n that.creatingUser = null;\r\n that.messageService.success('Vartotojas pašalintas');\r\n }).catch(re => {\r\n console.log(re);\r\n that.messageService.error('Įvyko klaida');\r\n }).then(re => Site.stopGlobalLoad());\r\n }\r\n CreatePasswordCheck: string = '';\r\n CreateUserClick(event) {\r\n if (document.getElementById('creationform').getElementsByClassName('is-invalid').length ||\r\n !this.creatingUser.NewPassword || !this.CreatePasswordCheck\r\n ) {\r\n this.messageService.error('Užpildykite formą');\r\n return;\r\n }\r\n var that = this;\r\n Site.startGlobalLoad();\r\n this.service.saveUser(that.creatingUser).then(re => {\r\n if (re.success) {\r\n that.fillUsers();\r\n that.creating = false;\r\n that.selectUser(null, that.creatingUser.UserName);\r\n that.creatingUser = null;\r\n } else {\r\n for (var err of re.errors) {\r\n that.messageService.error(err);\r\n }\r\n }\r\n }).catch(re => console.log(re)).then(re => Site.stopGlobalLoad());\r\n\r\n\r\n\r\n }\r\n\r\n creatingPswsInvalid() {\r\n return this.creatingUser\r\n && this.creatingUser.NewPassword\r\n && this.CreatePasswordCheck\r\n && this.creatingUser.NewPassword != this.CreatePasswordCheck;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthClient, UserListFilter, UserListModel, UsersClient, EditUserModel, UserModel, EditUserResultModel,\r\n DeleteUserResultModel,\r\n DeleteUserModel\r\n} from \"../../dataAccess/ZemApi/Auth/AuthClientZemApi\";\r\nimport { AppConfig } from \"../../app.config\";\r\nimport { UserVM } from \"./models/UserVM\";\r\n\r\n@Injectable()\r\nexport class UsersService {\r\n constructor(private client :UsersClient) {\r\n\r\n }\r\n\r\n getList(): Promise {\r\n return new UsersClient(AppConfig.settings.APIBaseUrl).userList(new UserListFilter({userName:null}));\r\n }\r\n saveUser(model: UserVM): Promise {\r\n var usermodel = new EditUserModel({\r\n displayName: model.DisplayName,\r\n id: model.Id,\r\n addDataSources: model.addDataSources,\r\n addRoles: model.addRoles,\r\n removeDataSources: model.removeDataSources,\r\n removeRoles: model.removeRoles,\r\n userName: model.UserName,\r\n newPassword: model.NewPassword,\r\n oldPassword:model.OldPassword\r\n });\r\n\r\n return new UsersClient(AppConfig.settings.APIBaseUrl).editUser(usermodel);\r\n }\r\n\r\n deleteUser(username:string): Promise {\r\n return this.client.deleteUser(new DeleteUserModel({ userName: username}));\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Kraunama...

\\r\\n\\r\\n\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n \n constructor() {\n\n }\n}\n","import { Injectable, Injector } from '@angular/core';\r\nimport { Http, Response } from '@angular/http';\r\nimport { environment } from '../environments/environment';\r\nimport { Client } from './dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { Site } from './common/services/site.service';\r\nimport { ClientBase } from \"./dataAccess/ZemApi/ClientBase\";\r\nimport { LocalizationClient } from \"./dataAccess/ZemApi/Localization/LocalizationZemApi\";\r\nimport * as Locs from \"./common/localizations/localizations\";\r\n\r\nexport class IAppConfig {\r\n APIBaseUrl: string;\r\n SystemsToQuery: string;\r\n db: any;\r\n locale: string;\r\n}\r\n\r\n@Injectable()\r\nexport class AppConfig {\r\n\r\n static settings: IAppConfig;\r\n constructor(private http: Http, private injector:Injector ) {\r\n }\r\n\r\nload():Promise {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n this.loadAppConfigJson().then(() => {\r\n Promise.all([\r\n this.loadDBSettings(),\r\n this.loadLocalizations()\r\n ])\r\n .then(function () { resolve(); })\r\n .catch(function (err) { reject(err); });\r\n\r\n }).catch(function (err) { reject(err); });;\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n//užkrauti iš failo;\r\n loadAppConfigJson(): Promise {\r\n const jsonFile = 'assets/appconfig.json';\r\n return new Promise((resolve, reject) => {\r\n this.http.get(jsonFile).toPromise().then((response: Response) => {\r\n AppConfig.settings = response.json();\r\n ClientBase.apiURL = AppConfig.settings.APIBaseUrl;//kad nebūtų kirkular dependentsi\r\n AppConfig.settings.locale = 'lt';//įkietakoduota lokalė;\r\n resolve();\r\n }).catch((response: any) => {\r\n reject(`Could not load file '${jsonFile}': ${JSON.stringify(response)}`);\r\n });\r\n });\r\n }\r\n\r\n\r\n //užkrauti iš DB;\r\n loadDBSettings():Promise {\r\n return new Promise((resolve, reject) => {\r\n new Client(AppConfig.settings.APIBaseUrl).settings().then(re => {\r\n AppConfig.settings.db = re;\r\n resolve();\r\n }).catch((re) => {\r\n console.log(re);\r\n Site.error(re);\r\n reject(re);\r\n });\r\n });\r\n }\r\n\r\n loadLocalizations(): Promise {\r\n var that = this;\r\n return new Promise((resolve, reject) => {\r\n new LocalizationClient()\r\n //that.injector.get(LocalizationClient)\r\n .jR().then((re: { [key: string]: string; }) => {\r\n for (var key in re) {\r\n Locs.Localizations[AppConfig.settings.locale].Translations[key] = re[key];\r\n }\r\n \r\n resolve();\r\n }).catch(err => {\r\n\r\n reject(err);\r\n });\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { NgModule, Injector, APP_INITIALIZER,LOCALE_ID } from '@angular/core';\r\nimport { LeafletModule } from '@asymmetrik/ngx-leaflet';\r\nimport { AppComponent } from './app.component';\r\nimport { HttpModule } from '@angular/http';\r\nimport { MapComponent } from './map/map.component';\r\n\r\nimport { MapService } from './map/services/map.service';\r\n//import { PindetailsComponent } from './pindetails/pindetails.component';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { AppConfig } from './app.config';\r\n\r\n\r\nimport { MapfilterComponent } from './mapfilter/mapfilter.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { ClusterdetailsComponent } from './clusterdetails/clusterdetails.component';\r\nimport { MomentModule } from 'angular2-moment';\r\nimport { LoginComponent } from './auth/login/login.component';\r\n\r\nimport { AuthGuard } from './auth/auth.guard';\r\nimport { routing } from './auth.routing';\r\n//import { DataLoadModalComponent } from './network/data-load-modal/data-load-modal.component';\r\n//import {HotkeyModule} from 'angular2-hotkeys';\r\nexport function initializeApp(appConfig: AppConfig) {\r\n return () => appConfig.load();\r\n}\r\n\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeLt from '@angular/common/locales/lt';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { AdminService } from './admin/services/admin.service';\r\nimport { ValidationService } from './common/services/validation.service';\r\nimport { ComparisonComponent } from './map/comparison/comparison.component';\r\nimport { ComparisonService } from './map/comparison/comparison.service';\r\nimport { MsgService } from './common/services/msg.service';\r\nimport { Kwhm2DlcomparisonComponent } from './map/comparison/kwhm2-dlcomparison/kwhm2-dlcomparison.component';\r\nimport { Site } from './common/services/site.service';\r\nimport { GroupSameHeightComparisonComponent } from './map/comparison/group-same-height-comparison/group-same-height-comparison.component';\r\nimport { GroupSameHeightCompService } from './map/comparison/group-same-height-comparison/group-same-height-comp.service';\r\nimport { LocService } from './common/localizations/loc.service';\r\n//import { KrKCalendarModule } from './krkcalendar/calendar';\r\nimport { HeatingSeasonsComparisonComponent } from './map/comparison/heating-seasons-comparison/heating-seasons-comparison.component';\r\nimport { PeriodPickerComponent } from './map/comparison/FormControls/period-picker/period-picker.component';\r\nimport { PeriodToPickerComponent } from './map/comparison/FormControls/period-to-picker/period-to-picker.component';\r\nimport { HeatingSeasonsCompService } from './map/comparison/heating-seasons-comparison/heating-seasons-comp.service';\r\nimport { HeatingCostsCompService } from './map/comparison/heating-costs-comparison/heating-costs-comp.service';\r\nimport { HeatingCostsComparisonComponent } from './map/comparison/heating-costs-comparison/heating-costs-comparison.component';\r\nimport { PeriodPipe } from './common/pipes/PeriodPipe';\r\nimport { KDecimalPipe } from './common/pipes/KDecimalPipe';\r\nimport { AuthService } from \"./auth/auth.service\";\r\nimport { UsersComponent } from \"./admin/users/users.component\";\r\nimport { UsersService } from \"./admin/users/users.service\";\r\nimport { M2SyncComponent } from \"./admin/m2sync/m2sync.component\";\r\nimport { ManoNamasComponent } from \"./map/manonamas/manonamas.component\";\r\nimport { ManoNamasService } from \"./map/manonamas/manonamas.service\";\r\nimport { mnComponent } from \"./map/manonamas/mn.component\";\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { fas } from '@fortawesome/free-solid-svg-icons';\r\nimport { ColourService } from \"./common/services/colour.service\";\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\n//būctrap\r\nimport { TabsModule } from 'ngx-bootstrap/tabs';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport { defineLocale } from 'ngx-bootstrap/chronos';\r\nimport { ltLocale } from 'ngx-bootstrap/locale';\r\nimport { PopoverModule } from 'ngx-bootstrap/popover';\r\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\r\ndefineLocale('lt', ltLocale);\r\n\r\n//TODO:pašalinti primeng\r\nimport { ChartModule } from 'primeng/chart';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { TableModule } from 'primeng/table';\r\n\r\n\r\n\r\nimport { NullStringPipe } from \"./common/pipes/NullString\";\r\nimport { BuildingInfoModalComponent } from \"./map/building-info-modal/building-info-modal.component\";\r\nimport { DisplayPipe } from \"./common/pipes/DisplayPipe\";\r\nimport { ErrorComponent } from \"./error/error.component\";\r\nimport { LocalizePipe } from \"./common/pipes/LocalizePipe\";\r\nimport { ClickOutsideDirective } from './common/directives/click-outside';\r\nimport { ŠildymasTabComponent } from './map/building-info-modal/šildymas-tab/šildymas-tab.component';\r\nimport { ObjectsComponent } from \"./admin/objects/objects.component\";\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { DataAccessModule } from \"./dataAccess/data-access.module\";\r\nimport { MultiselectComponent } from \"./common/html-helpers/inputs/multiselect/multiselect.component\";\r\nimport { DropdownComponent } from \"./common/html-helpers/inputs/dropdown/dropdown.component\";\r\nimport { BoolDropdownComponent } from \"./common/html-helpers/inputs/bool-dropdown/bool-dropdown.component\";\r\nimport { ObjectLocationMapModalComponent } from\r\n \"./admin/objects/object-location-map-modal/object-location-map-modal.component\";\r\nimport { DatatableComponent } from \"./common/datatable/datatable/datatable.component\";\r\n\r\n\r\nregisterLocaleData(localeLt, 'lt');\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n MapComponent,\r\n //PindetailsComponent,\r\n MapfilterComponent,\r\n ClusterdetailsComponent,\r\n LoginComponent,\r\n AdminComponent, UsersComponent, M2SyncComponent, ObjectsComponent,\r\n \r\n ComparisonComponent, Kwhm2DlcomparisonComponent, HeatingSeasonsComparisonComponent, ObjectLocationMapModalComponent,\r\n PeriodPickerComponent, PeriodToPickerComponent, HeatingCostsComparisonComponent, PeriodPipe, KDecimalPipe, NullStringPipe, DisplayPipe, LocalizePipe,\r\n ManoNamasComponent,\r\n BuildingInfoModalComponent, GroupSameHeightComparisonComponent, mnComponent, ŠildymasTabComponent,\r\n MultiselectComponent, ErrorComponent, ClickOutsideDirective, DropdownComponent, BoolDropdownComponent, DatatableComponent\r\n ],\r\n imports: [\r\n DataAccessModule,\r\n BrowserModule, FontAwesomeModule, BrowserAnimationsModule, ToastrModule.forRoot(), ModalModule.forRoot(), BsDropdownModule.forRoot(),\r\n PopoverModule.forRoot(),\r\n BsDatepickerModule.forRoot(),\r\n LeafletModule.forRoot(),\r\n HttpModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxSpinnerModule,\r\n MomentModule,\r\n routing,\r\n //HotkeyModule.forRoot(),\r\n NgxDatatableModule,\r\n //būctrap\r\n TabsModule.forRoot(), TypeaheadModule.forRoot(), TooltipModule.forRoot(),\r\n\r\n //TODO:pašalinti primeng\r\n ChartModule, DialogModule, TableModule\r\n ],\r\n providers: [\r\n AuthGuard,\r\n MapService,\r\n AppConfig, \r\n AdminService,UsersService,\r\n \r\n ComparisonService,\r\n MsgService,\r\n GroupSameHeightCompService,\r\n LocService, HeatingSeasonsCompService, HeatingCostsCompService, ManoNamasService,\r\n AuthService, ColourService,\r\n { provide: APP_INITIALIZER, useFactory: initializeApp, deps: [AppConfig], multi: true },\r\n { provide: LOCALE_ID, useValue: 'lt' }//neveikia\r\n ,\r\n\r\n //, MultiselectComponent\r\n ],\r\n entryComponents: [\r\n //PindetailsComponent,\r\n MapfilterComponent,\r\n ClusterdetailsComponent,\r\n BuildingInfoModalComponent, GroupSameHeightComparisonComponent, HeatingSeasonsComparisonComponent, Kwhm2DlcomparisonComponent, ObjectLocationMapModalComponent\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor(private injector: Injector) {\r\n // Register the custom element with the browser.\r\n //const PinPopupElement = createCustomElement(PindetailsComponent, { injector });\r\n //customElements.define('pin-popup-element', PinPopupElement);\r\n\r\n //const MapFilterElement = createCustomElement(MapfilterComponent, { injector });\r\n //customElements.define('mapfilter-element', MapFilterElement);\r\n\r\n const ClusterPopupElement = createCustomElement(ClusterdetailsComponent, { injector });\r\n customElements.define('cluster-popup-element', ClusterPopupElement);\r\n\r\n \r\n Site.injector = injector;\r\n Site.Setup();\r\n library.add(fas);\r\n }\r\n}\r\n","import { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { MapComponent } from './map/map.component';\r\nimport { LoginComponent } from './auth/login/login.component';\r\nimport { AuthGuard } from './auth/auth.guard';\r\nimport { AdminComponent } from './admin/admin.component';\r\nimport { HeatingCostsComparisonComponent } from './map/comparison/heating-costs-comparison/heating-costs-comparison.component';\r\nimport { UsersComponent } from \"./admin/users/users.component\";\r\nimport { M2SyncComponent } from \"./admin/m2sync/m2sync.component\";\r\nimport { mnComponent } from './map/manonamas/mn.component';\r\nimport { ObjectsComponent } from \"./admin/objects/objects.component\";\r\n\r\nconst appRoutes: Routes = [\r\n {\r\n path: '', component: MapComponent//, canActivate: [AuthGuard]\r\n },\r\n { path: 'login', component: LoginComponent },\r\n {\r\n path: 'admin', component: AdminComponent, canActivate: [AuthGuard], data:{permissions:['Admin']},\r\n children: [\r\n { path: 'm2sync', component: M2SyncComponent, canActivate: [AuthGuard] },\r\n { path: 'users', component: UsersComponent, canActivate: [AuthGuard] },\r\n { path: 'objects', component: ObjectsComponent, canActivate: [AuthGuard] },\r\n\r\n \r\n ]\r\n },\r\n {path:'mn/:mn',component:mnComponent},\r\n { path: 'Reports/HeatingCosts', component: HeatingCostsComparisonComponent},\r\n { path: '**', redirectTo: '' }\r\n];\r\n\r\nexport const routing = RouterModule.forRoot(appRoutes);\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AppConfig } from \"../app.config\";\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n var permissions = [];\r\n if (route.data && route.data.permissions) {\r\n permissions = route.data.permissions;\r\n }\r\n for (var key in permissions) {\r\n if (!AppConfig.settings.db || !AppConfig.settings.db.permissions || AppConfig.settings.db.permissions.indexOf(permissions[key]) == -1) {\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n }\r\n if (localStorage.getItem('silumosZemelapisUser')) {\r\n return true;\r\n }\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AppUser } from \"./models/AppUser\";\r\nimport { Router } from \"@angular/router\";\r\nimport { AuthClient, LoginResult } from \"../dataAccess/ZemApi/Auth/AuthClientZemApi\";\r\nimport { AppConfig } from \"../app.config\";\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n\r\n logout() {\r\n var that = this;\r\n new AuthClient(AppConfig.settings.APIBaseUrl).logout().then(re => {\r\n console.log('ok', re);\r\n }).catch(re => {\r\n console.log('not ok', re);\r\n }).then(re => {\r\n\r\n that.router.navigate(['/login']);\r\n localStorage.removeItem(\"silumosZemelapisUser\");});\r\n }\r\n login(result: LoginResult, username: string) {\r\n AppConfig.settings.db.permissions=result.permissions;\r\n localStorage.setItem(\"silumosZemelapisUser\", JSON.stringify(new AppUser({ LoggedIn: new Date(), UserName:username})));\r\n \r\n }\r\n\r\n //register(user: AppUser) {\r\n // new AuthClient(AppConfig.settings.APIBaseUrl).register(new UserRegister({ userName:user.UserName, password:user.Password}));\r\n // }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2F1dGgvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport * as moment from 'moment';\r\nimport { Router } from '@angular/router';\r\nimport { AppConfig } from \"../../app.config\";\r\nimport { Site } from \"../../common/services/site.service\";\r\nimport { AuthClient, UserLogin } from \"../../dataAccess/ZemApi/Auth/AuthClientZemApi\";\r\nimport { AuthService } from \"../auth.service\";\r\nimport { AppUser } from \"../models/AppUser\";\r\nimport { MsgService } from \"../../common/services/msg.service\";\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n userform: FormGroup;\r\n submitted: boolean;\r\n description: string;\r\n username: string;\r\n password:string;\r\n\r\n constructor(private fb: FormBuilder, private messageService: MsgService, private router: Router, public service:AuthService) {}\r\n\r\n ngOnInit() {\r\n this.userform = this.fb.group({\r\n 'username': new FormControl('', Validators.required),\r\n 'password': new FormControl('', Validators.compose([Validators.required, Validators.minLength(1)])),\r\n });\r\n }\r\n\r\n onSubmit(value: any) {\r\n var that = this;\r\n Site.startGlobalLoad();\r\n new AuthClient(AppConfig.settings.APIBaseUrl).login(new UserLogin({ userName: value.username, password: value.password })).then(\r\n re => {\r\n if (re.success) \r\n {\r\n that.service.login(re, value.usernname);\r\n that.router.navigate(['/admin']);\r\n } else {\r\n\r\n that.router.navigate(['/login']);\r\n }\r\n }\r\n ).catch(re => {\r\n console.log(re);\r\n this.messageService.error('Neteisingas vartotojo vardas arba slaptažodis');\r\n }).then(re => {\r\n console.log(re);\r\n Site.stopGlobalLoad();\r\n });\r\n \r\n \r\n\r\n }\r\n\r\n get diagnostic() { return JSON.stringify(this.userform.value); }\r\n\r\n //register() {\r\n // this.service.register(new AppUser({UserName:this.username, Password:this.password}));\r\n //}\r\n\r\n}\r\n","export class AppUser{\r\n public constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n public UserName: string;\r\n public Password:string;\r\n public LoggedIn:Date;\r\n }\r\n","module.exports = \"#clusterdetails {\\r\\n width:100%;\\r\\n /*min-width:400px;*/\\r\\n}\\r\\n\\r\\n.popoversource{\\r\\n -webkit-text-decoration-line:underline;\\r\\n text-decoration-line:underline;\\r\\n -webkit-text-decoration-style:dotted;\\r\\n text-decoration-style:dotted;\\r\\n\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2x1c3RlcmRldGFpbHMvY2x1c3RlcmRldGFpbHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFVBQVU7RUFDVixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxzQ0FBOEI7VUFBOUIsOEJBQThCO0VBQzlCLG9DQUE0QjtVQUE1Qiw0QkFBNEI7O0FBRTlCIiwiZmlsZSI6InNyYy9hcHAvY2x1c3RlcmRldGFpbHMvY2x1c3RlcmRldGFpbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNjbHVzdGVyZGV0YWlscyB7XHJcbiAgd2lkdGg6MTAwJTtcclxuICAvKm1pbi13aWR0aDo0MDBweDsqL1xyXG59XHJcblxyXG4ucG9wb3ZlcnNvdXJjZXtcclxuICB0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmU7XHJcbiAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOmRvdHRlZDtcclxuXHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n
{{ message }}
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
Šilumos kaina su PVM{{kainaEurkWh|kdecimal}} €/kWh
Šildomas plotas{{bendrasPlotas|kdecimal}}
Pigiausias šildymas{{geriausiasEurm2|kdecimal:2}} €/m²
Mano namo šildymas{{manonamasSilKaina()|kdecimal:2}} €/m²
Brangiausias šildymas{{prasciausiasEurm2|kdecimal:2}} €/m²
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Geriausias{{geriausiasVal|kdecimal}} kWh/m²/DL
Prasčiausias{{prasciausiasVal|kdecimal}} kWh/m²/DL
Lyginamojo santykio vidurkis{{lyginamojoSantykioVidutinisDydis|kdecimal}} kWh/m²/DL
Mano namas
Šildomas plotas{{manoNamoPlotas()|kdecimal}}
Lyginamasis santykis{{mnService.manonamas.kwhm2DL|kdecimal}} kWh/m²/DL
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{showingDetailed?'...Glausčiau':'Detaliau...'}}\\r\\n\\r\\n\\r\\n
\\r\\n\"","import { Component, Input, AfterContentInit } from '@angular/core';\r\nimport { ManoNamasService } from \"../map/manonamas/manonamas.service\";\r\nimport { MapService } from \"../map/services/map.service\";\r\nimport { Site } from \"../common/services/site.service\";\r\n\r\n@Component({\r\n selector: 'app-clusterdetails',\r\n templateUrl: './clusterdetails.component.html',\r\n styleUrls: ['./clusterdetails.component.css']\r\n})\r\nexport class ClusterdetailsComponent implements AfterContentInit {\r\n\r\n @Input(\"p\") p: any[];\r\n namuSkaicius: number;\r\n bendrasPlotas: number;\r\n geriausias: string;\r\n prasciausias: string;\r\n geriausiasVal: number;\r\n prasciausiasVal: number;\r\n lyginamojoSantykioVidutinisDydis: number;\r\n kainaEurkWh: number;\r\n geriausiasEurm2: number;\r\n prasciausiasEurm2: number;\r\n geriausiasEurm2Addr: string;\r\n prasciausiasEurm2Addr: string;\r\n vidurkisEurm2: number;\r\n\r\n showingDetailed:boolean=false;\r\n\r\n constructor(public mnService:ManoNamasService,public mapService:MapService) {\r\n }\r\n\r\n ngAfterContentInit() {\r\n var that = this;\r\n this.namuSkaicius = this.p.length;\r\n this.bendrasPlotas = this.p.reduce((total, item) => total + item.stiInfoItems[0].iaPlotasSildSum, 0);\r\n this.lyginamojoSantykioVidutinisDydis = this.lygSantCalc();\r\n this.lygSantMaxMinCalc();\r\n\r\n if (this.p.length) {\r\n var šilumoskainossuma = this.p.reduce((a, b) => a + (b.stiInfoItems[0].tariffŠILDYMOEVENTSERVICEKODAIValue||0),0)*Site.ŠilumosPVM;\r\n this.kainaEurkWh = šilumoskainossuma / this.p.length;\r\n var kurieturikainą = this.p.filter(obj => obj.stiInfoItems[0].tariffŠILDYMOEVENTSERVICEKODAIValue != null\r\n && obj.stiInfoItems[0].tariffŠILDYMOEVENTSERVICEKODAIValue!=0\r\n && obj.stiInfoItems[0].iaPlotasSildSum != null && obj.stiInfoItems[0].iaPlotasSildSum !=0 &&\r\n obj.stiInfoItems[0].iaQpbr != null && obj.stiInfoItems[0].iaQpbr != 0 && obj.stiInfoItems[0].iaQpš != 0 &&\r\n obj.stiInfoItems[0].iaQpš != null && obj.stiInfoItems[0].iaPlotasSildSum != 0 && obj.stiInfoItems[0].iaPlotasSildSum!=0);\r\n var kainos = kurieturikainą.map(x => {\r\n return {\r\n 'addr': x.address,\r\n 'val': x.stiInfoItems[0].tariffŠILDYMOEVENTSERVICEKODAIValue * (x.stiInfoItems[0].iaQpš + x.stiInfoItems[0].iaQpbr) / x.stiInfoItems[0].iaPlotasSildSum * Site.ŠilumosPVM\r\n };\r\n }\r\n );\r\n this.prasciausiasEurm2 = null;\r\n this.geriausiasEurm2 = null;\r\n if (kainos.length){\r\n this.geriausiasEurm2 = Math.min(...(kainos.map(x=>x.val)));\r\n this.prasciausiasEurm2 = Math.max(...kainos.map(x => x.val));\r\n this.prasciausiasEurm2Addr = isNaN(this.prasciausiasEurm2) ? \"\" : kainos.filter(o => o.val === this.prasciausiasEurm2)[0].addr;\r\n this.geriausiasEurm2Addr = isNaN(that.geriausiasEurm2) ? \"\" : kainos.filter(o => o.val === this.geriausiasEurm2)[0].addr;\r\n }\r\n \r\n }\r\n }\r\n\r\n lygSantCalc() {\r\n var plotaiSum = 0;\r\n var santykisSum = 0;\r\n this.p.forEach(element => {\r\n plotaiSum += element.stiInfoItems[0].iaPlotasSildSum;\r\n santykisSum += element.stiInfoItems[0].iaPlotasSildSum * element.stiInfoItems[0].iaQlygM2;\r\n });\r\n let result = santykisSum / plotaiSum;\r\n return isNaN(result) ? 0 : result;\r\n }\r\n\r\n lygSantMaxMinCalc() {\r\n this.p.map(function (o) {\r\n return o.efektyvumas = o.stiInfoItems[0].iaQlygM2;\r\n });\r\n var kurieturiefektyvumą = this.p.filter(x => x.efektyvumas != null);\r\n let prasciausias = null;\r\n let geriausias = null;\r\n this.geriausiasVal =null;\r\n this.prasciausiasVal = null;\r\n this.prasciausias = null;\r\n this.geriausias= null;\r\n\r\n if (kurieturiefektyvumą.length){\r\n prasciausias = Math.max(...kurieturiefektyvumą.map(x => x.efektyvumas));\r\n geriausias = Math.min(...kurieturiefektyvumą.map(x => x.efektyvumas));\r\n this.geriausiasVal = geriausias;\r\n this.prasciausiasVal = prasciausias;\r\n this.prasciausias = isNaN(prasciausias) ? \"\" : kurieturiefektyvumą.filter(function (o) { return o.efektyvumas === prasciausias; })[0].address;\r\n this.geriausias = isNaN(geriausias) ? \"\" : kurieturiefektyvumą.filter(function (o) { return o.efektyvumas === geriausias; })[0].address;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n manoNamoPlotas() {\r\n if (this.mnService && this.mnService.manonamas)\r\n return this.mnService.manonamas.šildomasPlotas;\r\n else return null;\r\n }\r\n manonamasSilKaina() {\r\n if (this.mnService && this.mnService.manonamas)\r\n return this.mnService.manonamas.šilumosKainaEurm2*Site.ŠilumosPVM;\r\n else return null;\r\n }\r\n\r\n}\r\n","import { Injector } from '@angular/core';\r\nimport { MsgService } from \"./services/msg.service\";\r\nimport { LocService } from \"./localizations/loc.service\";\r\n\r\nexport class AppComponentBase {\r\n\r\n msgService: MsgService;\r\n\r\n constructor(injector: Injector) {\r\n\r\n this.msgService = injector.get(MsgService);\r\n }\r\n typeof(value) {\r\n return typeof value;\r\n }\r\n l(str: string): string {\r\n return LocService.Translate(str);\r\n }\r\n\r\n error(err) { this.msgService.error(err);};\r\n success(msg: string) { this.msgService.success(msg);};\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9kYXRhdGFibGUvZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
datatable Component
\"","import { Component } from '@angular/core';\r\nimport { DataTableColumnConfig } from \"../../../dataAccess/ZemApi/Admin/AdminClientZemApi\";\r\n\r\n@Component({\r\n selector: 'app-datatable',\r\n templateUrl: './datatable.component.html',\r\n styleUrls: ['./datatable.component.css']\r\n})\r\n/** datatable component*/\r\nexport class DatatableComponent {\r\n\r\n public static cols = [];\r\n\r\n /** datatable ctor */\r\n constructor() {\r\n\r\n }\r\n\r\n\r\n public static FixResponseRows(responseRows: any) {\r\n var result = [];\r\n for (var row of responseRows) {\r\n result.push(row);\r\n }\r\n return result;\r\n //return responseRows;\r\n }\r\n\r\n public static FixResponseCols(responseCols: DataTableColumnConfig[]) {\r\n var result= [];\r\n for (var col of responseCols) {\r\n var code = col.code;\r\n result.push({\r\n name: col.name,\r\n prop: code[0].toLowerCase() + code.substr(1),\r\n sortable:col.orderable==true\r\n });\r\n }\r\n\r\n this.cols = result;\r\n return result;\r\n }\r\n}\r\n","import {Directive, ElementRef, Output, EventEmitter, HostListener, Input} from '@angular/core';\r\n \r\n@Directive({\r\n selector: '[clickOutside]'\r\n})\r\nexport class ClickOutsideDirective {\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n \r\n @Output()\r\n public clickOutside = new EventEmitter();\r\n @Input() public exceptionClasses: string[];\r\n \r\n @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) {\r\n if (this.exceptionClasses)\r\n for (var excclass of this.exceptionClasses)\r\n if (targetElement.classList.contains(excclass)) return; //kai kurie elementai išnyksta prieš const clickInside patikrinimą\r\n\r\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(targetElement);\r\n }\r\n }\r\n}\r\n\r\n//import { Directive, ElementRef, HostListener, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n//@Directive({\r\n// selector: '[clickOutside]'\r\n//})\r\n//export class ClickOutsideDirective {\r\n\r\n// constructor(private _elementRef: ElementRef) { }\r\n\r\n// @Output('clickOutside') clickOutside: EventEmitter = new EventEmitter();\r\n\r\n// @HostListener('document:click', ['$event.target']) onMouseEnter(targetElement) {\r\n// const clickedInside = this._elementRef.nativeElement.contains(targetElement);\r\n// if (!clickedInside) {\r\n// this.clickOutside.emit(null);\r\n// }\r\n// }\r\n\r\n\r\n//}\r\n","module.exports = \"\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9odG1sLWhlbHBlcnMvaW5wdXRzL2Jvb2wtZHJvcGRvd24vYm9vbC1kcm9wZG93bi5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, Injector, Input, Output, EventEmitter } from '@angular/core';\r\nimport { DropdownOption } from \"../dropdown/models/DropdownOption\";\r\nimport { AppComponentBase } from \"../../../app-component-base\";\r\n\r\n@Component({\r\n selector: 'html-bool-dropdown',\r\n templateUrl: './bool-dropdown.component.html',\r\n styleUrls: ['./bool-dropdown.component.scss']\r\n})\r\n/** bool-dropdown component*/\r\nexport class BoolDropdownComponent extends AppComponentBase {\r\n\r\n boolopts = [{ value: 'true', display: this.l('Taip') },\r\n { value: 'false', display: this.l('Ne') }];\r\n @Input() label = '';\r\n @Input() value: boolean = null;\r\n @Output() valueChange: EventEmitter = new EventEmitter();\r\n\r\n valueStr: string = '';\r\n valueStrChange(valStr: string) {\r\n this.value = null;\r\n if (valStr == 'true') {\r\n this.value = true;\r\n } else if (valStr == 'false')\r\n this.value = false;\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n /** bool-dropdown ctor */\r\n constructor(private injector: Injector) {\r\n super(injector);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"select {\\n width: auto;\\n display: inline-block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2h0bWwtaGVscGVycy9pbnB1dHMvZHJvcGRvd24vQzpcXEthcm9saXNcXFByb2plY3RzXFzFvWVtxJdsYXBpcyBNMiBvYmpla3RhbXNcXENvZGVcXHplbWVsYXBpcy1tMi1vYmpla3RhbXNcXFplbWVsYXBpc0NsaWVudFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxjb21tb25cXGh0bWwtaGVscGVyc1xcaW5wdXRzXFxkcm9wZG93blxcZHJvcGRvd24uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDQSxXQUFVO0VBQ1YscUJBQW9CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb21tb24vaHRtbC1oZWxwZXJzL2lucHV0cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5zZWxlY3R7XHJcbndpZHRoOmF1dG87XHJcbmRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gIH1cclxuIl19 */\"","import { Component, Input, forwardRef, EventEmitter, Output, ChangeDetectorRef } from '@angular/core';\r\nimport { DropdownOption } from \"./models/DropdownOption\";\r\nimport { Site } from \"../../../services/site.service\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'html-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.scss']\r\n})\r\n/** dropdown component*/\r\nexport class DropdownComponent{\r\n\r\n @Input() id: string=null;\r\n @Input() options: DropdownOption[];\r\n @Input() unselectedText: string=null;\r\n @Input() includeUnselected: boolean = false;\r\n @Input() label: string = null;\r\n unselected: boolean = true;\r\n\r\n @Input() value: any = null;\r\n @Output() valueChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {\r\n\r\n }\r\n innerChange(val:string) {\r\n this.valueChange.emit( val);\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.id == null) {\r\n this.id = Site.uuidv4();\r\n this.cdRef.detectChanges();\r\n }\r\n this.unselected = this.options && !this.options.find(opt => opt.selected);\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9odG1sLWhlbHBlcnMvaW5wdXRzL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\"","import { Component, Input, EventEmitter, Output } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DropdownOption } from \"../dropdown/models/DropdownOption\";\r\n\r\n@Component({\r\n selector: 'input-multiselect',\r\n templateUrl: './multiselect.component.html',\r\n styleUrls: ['./multiselect.component.css'],\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: MultiselectComponent, multi: true }]\r\n})\r\n/** multiselect component*/\r\nexport class MultiselectComponent {\r\n\r\n @Input() options: DropdownOption[];\r\n @Input() model: DropdownOption[] =[];\r\n @Output() modelChange: EventEmitter = new EventEmitter();\r\n\r\n\r\n optionClicked(option) {\r\n for (var key = 0; key < this.model.length; key++) {\r\n var item = this.model[key];\r\n if (item.value == option.value) {\r\n this.model.splice(key, 1);\r\n this.modelChange.emit(this.model);\r\n return;\r\n }\r\n }\r\n\r\n this.model.push({ display: option.label, value: option.value });\r\n this.modelChange.emit(this.model);\r\n\r\n }\r\n\r\n itemSelected(opt: DropdownOption): boolean {\r\n return typeof (this.model.find(item => item.value === opt.value)) != 'undefined';\r\n }\r\n\r\n buttonLabel(): string {\r\n if (!this.model || !this.model.length) {\r\n return '< neparinkta >';\r\n }\r\n if (this.model.length == this.options.length) {\r\n return '< visi >';\r\n }\r\n return this.model.map(item => item.display).join(', ');\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Localizations, ILocalization } from './localizations';\r\n\r\n@Injectable()\r\nexport class LocService {\r\n constructor() {\r\n\r\n }\r\n static CurrentLocale: string = 'lt';\r\n private static DefaultLocale: string = 'lt';\r\n private static GetLocalization(): ILocalization {\r\n return Localizations[LocService.CurrentLocale] || Localizations[LocService.DefaultLocale];\r\n }\r\n static CalLoc() {\r\n return null;//LocService.GetLocalization().Calendar;\r\n }\r\n static Translate(code: string) {\r\n return LocService.GetLocalization().Translations[code] || code;\r\n }\r\n\r\n getCalLoc() {//kur statinių negalima naudoti (nesąmonė, angularas yra karvės blynas)\r\n var result = LocService.CalLoc();\r\n return result;\r\n }\r\n}\r\n","//import { LocaleSettings } from 'src/app/krkcalendar/calendar';\r\n\r\n//import { LocaleSettings } from 'primeng/calendar';\r\n\r\nexport interface ILocalization {\r\n Translations: { [key: string]: string };\r\n //Calendar: LocaleSettings;\r\n}\r\n\r\nlet Localizations: { [key: string]: ILocalization } = {\r\n lt: {\r\n Translations: {\r\n MinimaliosReikšmėsGrupėje: 'Minimalios reikšmės grupėje',\r\n ServerisNepasiekiamas: 'Serveris nepasiekiamas',\r\n NurodykiteVisusPeriodus: 'Nurodykite visus periodus',\r\n '< administratorius >': '< administratorius >',\r\n '< prižiūrėtojas >': '< prižiūrėtojas >',\r\n PeriodasNuoNegaliBūtiVėlesnisUžPeriodąIki: 'Periodas „nuo“ negali būti vėlesnis už periodą „iki“',\r\n ManoNamasNeparinktas: 'Mano namas neparinktas',\r\n ĮvykoKlaida:'Įvyko klaida',\r\n }, \r\n //Calendar: {\r\n // firstDayOfWeek: 1,\r\n // dayNames: [\"sekmadienis\", \"pirmadienis\", \"antradienis\", \"trečiadienis\", \"ketvirtadienis\", \"penktadienis\", \"šeštadienis\"],\r\n // dayNamesShort: [\"sek\", \"pir\", \"ant\", \"tre\", \"ket\", \"pen\", \"šeš\"],\r\n // dayNamesMin: [\"Se\", \"Pr\", \"An\", \"Tr\", \"Ke\", \"Pe\", \"Še\"],\r\n // monthNames: [\"Sausis\", \"Vasaris\", \"Kovas\", \"Balandis\", \"Gegužė\", \"Birželis\", \"Liepa\", \"Rugpjūtis\", \"Rugsėjis\", \"Spalis\", \"Lapkritis\", \"Gruodis\"],\r\n // monthNamesShort: [\"Sau\", \"Vas\", \"Kov\", \"Bal\", \"Geg\", \"Bir\", \"Lie\", \"Rugp\", \"Rugs\", \"Spa\", \"Lap\", \"Gru\"],\r\n // today: 'Šiandien',\r\n // clear: 'Išvalyti'\r\n //}\r\n }\r\n}\r\n\r\nexport { Localizations }\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Site } from \"../services/site.service\";\r\n\r\n@Pipe({ name: 'display' })\r\nexport class DisplayPipe implements PipeTransform {\r\n transform(val: any, p: any=null): string {\r\n switch (typeof val) {\r\n case 'boolean':\r\n if (val as boolean) return 'Taip';\r\n return 'Ne';\r\n case 'object':\r\n if (val as Date != null)\r\n return Site.FormatDate(val);\r\n case 'number':\r\n var precision = null;\r\n if (p != null && (typeof p.precision != 'undefined')) {\r\n precision = p.precision;\r\n }\r\n\r\n var result = Site.FormatNumber(val, precision,\r\n precision != 2//hack: tikslumas 2, tai turbūt pinigų suma\r\n );\r\n return result;\r\n default:\r\n return (val || '').toString();\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Site } from '../services/site.service';\r\n\r\n@Pipe({ name: 'kdecimal' })\r\nexport class KDecimalPipe implements PipeTransform {\r\n transform(number: number, p: number = 6): string {\r\n if (p == null) p = 6;\r\n if (number == undefined || number == null)\r\n return '';\r\n if (number < 0.0000001 && number>0)\r\n {\r\n var exp=1;\r\n for (; 1 > (number * Math.pow(10, exp)); exp++);\r\n var p1 = number * Math.pow(10, exp);\r\n return Site.FormatNumber(p1, 6) +' × 10-'+exp+'';\r\n }else\r\n return Site.FormatNumber(number,p);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LocService } from \"../localizations/loc.service\";\r\n\r\n@Pipe({ name: 'localize' })\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n transform(str: string): string {\r\n return LocService.Translate(str);\r\n return str;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'nullstring' })\r\nexport class NullStringPipe implements PipeTransform {\r\n transform(str: string): string {\r\n return str || '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Site } from '../services/site.service';\r\n\r\n@Pipe({ name: 'period' })\r\nexport class PeriodPipe implements PipeTransform {\r\n transform(period: Date): string {\r\n return Site.FormatPeriod(period);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class ColourService {\r\n constructor() {\r\n\r\n }\r\n\r\n\r\n hex(c) {\r\n var s = \"0123456789abcdef\";\r\n var i = parseInt(c);\r\n if (i == 0 || isNaN(c))\r\n return \"00\";\r\n i = Math.round(Math.min(Math.max(0, i), 255));\r\n return s.charAt((i - i % 16) / 16) + s.charAt(i % 16);\r\n }\r\n\r\n/* Convert an RGB triplet to a hex string */\r\n convertToHex(rgb) {\r\n return this.hex(rgb[0]) + this.hex(rgb[1]) + this.hex(rgb[2]);\r\n }\r\n\r\n/* Remove '#' in color hex string */\r\n trim(s) { return (s.charAt(0) == '#') ? s.substring(1, 7) : s }\r\n\r\n/* Convert a hex string to an RGB triplet */\r\n convertToRGB(hex) {\r\n var color = [];\r\n color[0] = parseInt((this.trim(hex)).substring(0, 2), 16);\r\n color[1] = parseInt((this.trim(hex)).substring(2, 4), 16);\r\n color[2] = parseInt((this.trim(hex)).substring(4, 6), 16);\r\n return color;\r\n }\r\n\r\n generateColor(colorStart:string, colorEnd:string, colorCount:number):string[] {\r\n\r\n // The beginning of your gradient\r\n var start = this.convertToRGB(colorStart);\r\n\r\n // The end of your gradient\r\n var end = this.convertToRGB(colorEnd);\r\n\r\n // The number of colors to compute\r\n var len = colorCount;\r\n\r\n //Alpha blending amount\r\n var alpha = 0.0;\r\n\r\n var saida = [];\r\n\r\n for (var i = 0; i < len; i++) {\r\n var c = [];\r\n alpha += (1.0 / len);\r\n\r\n c[0] = start[0] * alpha + (1 - alpha) * end[0];\r\n c[1] = start[1] * alpha + (1 - alpha) * end[1];\r\n c[2] = start[2] * alpha + (1 - alpha) * end[2];\r\n\r\n saida.push(this.convertToHex(c));\r\n\r\n }\r\n\r\n return saida;\r\n\r\n }\r\n\r\n// Exemplo de como usar\r\n\r\n\r\n// var tmp = generateColor('#000000', '#ff0ff0', 10);\r\n\r\n// for (cor in tmp) {\r\n// $('#result_show').append(\"
COLOR \" + cor + \"° - #\" + tmp[cor] + \"
\")\r\n\r\n//}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { LocService } from \"../localizations/loc.service\";\r\n\r\n@Injectable()\r\nexport class MsgService {\r\n constructor(private toastr: ToastrService) {\r\n\r\n }\r\n success(msg: string) {\r\n this.toastr.success(msg);\r\n }\r\n\r\n error(msg: any) {\r\n \r\n if (typeof msg == 'string')\r\n this.toastr.error(msg);\r\n else if (msg && typeof msg.response == 'string' && msg.response.length<1000) {\r\n this.toastr.error(msg.response);\r\n }\r\n else this.toastr.error(LocService.Translate('Įvyko klaida'));\r\n //this.messageService.add({ severity: 'error'/*, summary: 'Klaida'*/, detail: msg, closable:false, sticky:false });\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { MsgService } from './msg.service';\r\nimport { LocService } from '../localizations/loc.service';\r\n\r\n@Injectable()\r\nexport class Site {\r\n public static Setup() {\r\n moment.locale('lt');\r\n }\r\n\r\n\r\n public static makeDateUTC(period: Date): Date {\r\n return new Date(Date.UTC(period.getFullYear(), period.getMonth(), period.getDate()));\r\n }\r\n public static DecimalSeparator: string = ',';\r\n public static injector: Injector;\r\n public static colours: string[] = [\"#36a2eb\", \"#4bc0c0\", \"#ff9f40\", \"#ffcd56\", \"#ff6384\"];\r\n constructor() {\r\n\r\n }\r\n public static FormatDate(date: Date, format?: string): string {\r\n if (!date)return '';\r\n var f = format || 'YYYY-MM-DD';\r\n return moment(date).format(f);\r\n }\r\n public static FormatPeriod(date: Date, format?: string): string {\r\n return moment(date).format('YYYY-MM');\r\n }\r\n\r\n public static startGlobalLoad() {\r\n var spinner = Site.injector.get(NgxSpinnerService);\r\n spinner.show(\"globalLoad\");\r\n }\r\n public static stopGlobalLoad() {\r\n var spinner = Site.injector.get(NgxSpinnerService);\r\n spinner.hide(\"globalLoad\");\r\n }\r\n public static error(msg: any) {\r\n var msgserv = Site.injector.get(MsgService);\r\n if (typeof msg == 'string') {\r\n msgserv.error(msg);\r\n }\r\n else if (typeof msg.response == 'string') {\r\n msgserv.error(msg.response);\r\n } else\r\n msgserv.error(LocService.Translate('ĮvykoKlaida'));\r\n }\r\n public static FormatNumber(val: number, precision: number = 6, removeTrailingZeroes: boolean = true) {\r\n if (precision == null) precision = 6;\r\n if (val == null || typeof val == 'undefined') return '';\r\n var res = val.toFixed(precision).replace('.', Site.DecimalSeparator);\r\n if (removeTrailingZeroes)\r\n res = res.replace(/0+$/, '').replace(/,$/, '');\r\n return res;\r\n }\r\n\r\n static ŠilumosPVM :number= 1.09;\r\n\r\n static BoolToString(b: boolean): string {\r\n switch (b) {\r\n case true: return 'Taip';\r\n case false: return 'Ne';\r\n default: return '';\r\n }\r\n }\r\n\r\n \r\n static uuidv4() {\r\n //@ts-ignore\r\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ValidationService {\r\n constructor() {\r\n\r\n }\r\n\r\n ValidDate(dateString) {\r\n return !isNaN(Date.parse(dateString));\r\n }\r\n\r\n MakeDate(dateString) {\r\n var ticks = Date.parse(dateString);\r\n var netinka = isNaN(ticks);\r\n if (netinka) {\r\n return null;\r\n } else {\r\n return new Date(ticks);\r\n }\r\n\r\n\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.10.9.0 (NJsonSchema v10.4.1.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { ClientBase } from \"../ClientBase\";\r\n\r\nexport class M2SyncClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param input (optional) \r\n * @return Success\r\n */\r\n syncSTIInfo(input: SyncSTIInfoInput | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/M2Sync/SyncSTIInfo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSyncSTIInfo(_response);\r\n });\r\n }\r\n\r\n protected processSyncSTIInfo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n m2Sources(): Promise {\r\n let url_ = this.baseUrl + \"/M2Sync/M2Sources\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processM2Sources(_response);\r\n });\r\n }\r\n\r\n protected processM2Sources(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(M2Source.fromJS(item));\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ObjectsAdminClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param filterBase (optional) \r\n * @return Success\r\n */\r\n fillObjectsLocations(filterBase: ObjectLocFilterBase | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ObjectsAdmin/FillObjectsLocations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filterBase);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processFillObjectsLocations(_response);\r\n });\r\n }\r\n\r\n protected processFillObjectsLocations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n objectsList(filter: ObjectAdminListFilter | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ObjectsAdmin/ObjectsList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processObjectsList(_response);\r\n });\r\n }\r\n\r\n protected processObjectsList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataTableResultBaseOfObjectAdminListItem.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param input (optional) \r\n * @return Success\r\n */\r\n updateObjectLocation(input: UpdateObjectLocationInput | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ObjectsAdmin/UpdateObjectLocation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUpdateObjectLocation(_response);\r\n });\r\n }\r\n\r\n protected processUpdateObjectLocation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n removeObjLocOverride(id: number | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ObjectsAdmin/RemoveObjLocOverride?\";\r\n if (id !== undefined && id !== null)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRemoveObjLocOverride(_response);\r\n });\r\n }\r\n\r\n protected processRemoveObjLocOverride(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param input (optional) \r\n * @return Success\r\n */\r\n changeObjectVisibility(input: ChangeObjectVisibilityInput | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/ObjectsAdmin/ChangeObjectVisibility\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processChangeObjectVisibility(_response);\r\n });\r\n }\r\n\r\n protected processChangeObjectVisibility(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class SyncSTIInfoInput implements ISyncSTIInfoInput {\r\n sourceId?: number | undefined;\r\n fromPeriod?: Date | undefined;\r\n toPeriod?: Date | undefined;\r\n\r\n constructor(data?: ISyncSTIInfoInput) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.fromPeriod = _data[\"fromPeriod\"] ? new Date(_data[\"fromPeriod\"].toString()) : undefined;\r\n this.toPeriod = _data[\"toPeriod\"] ? new Date(_data[\"toPeriod\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SyncSTIInfoInput {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SyncSTIInfoInput();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"fromPeriod\"] = this.fromPeriod ? this.fromPeriod.toISOString() : undefined;\r\n data[\"toPeriod\"] = this.toPeriod ? this.toPeriod.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISyncSTIInfoInput {\r\n sourceId?: number | undefined;\r\n fromPeriod?: Date | undefined;\r\n toPeriod?: Date | undefined;\r\n}\r\n\r\nexport class M2Source implements IM2Source {\r\n name?: string | undefined;\r\n id?: number | undefined;\r\n apiAddress?: string | undefined;\r\n dataSourceTypes?: DataSourceTypes[] | undefined;\r\n\r\n constructor(data?: IM2Source) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n this.apiAddress = _data[\"apiAddress\"];\r\n if (Array.isArray(_data[\"dataSourceTypes\"])) {\r\n this.dataSourceTypes = [] as any;\r\n for (let item of _data[\"dataSourceTypes\"])\r\n this.dataSourceTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): M2Source {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new M2Source();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n data[\"apiAddress\"] = this.apiAddress;\r\n if (Array.isArray(this.dataSourceTypes)) {\r\n data[\"dataSourceTypes\"] = [];\r\n for (let item of this.dataSourceTypes)\r\n data[\"dataSourceTypes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IM2Source {\r\n name?: string | undefined;\r\n id?: number | undefined;\r\n apiAddress?: string | undefined;\r\n dataSourceTypes?: DataSourceTypes[] | undefined;\r\n}\r\n\r\nexport class ObjectLocFilterBase implements IObjectLocFilterBase {\r\n sourceId?: number | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: ObjectLocFilterBaseOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: IObjectLocFilterBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.sourceId = _data[\"sourceId\"];\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectLocFilterBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectLocFilterBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IObjectLocFilterBase {\r\n sourceId?: number | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: ObjectLocFilterBaseOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class ObjectAdminListFilter implements IObjectAdminListFilter {\r\n hasLocation?: boolean | undefined;\r\n address?: string | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: ObjectAdminListFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: IObjectAdminListFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hasLocation = _data[\"hasLocation\"];\r\n this.address = _data[\"address\"];\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectAdminListFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectAdminListFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasLocation\"] = this.hasLocation;\r\n data[\"address\"] = this.address;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IObjectAdminListFilter {\r\n hasLocation?: boolean | undefined;\r\n address?: string | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: ObjectAdminListFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class DataTableResultBaseOfObjectAdminListItem implements IDataTableResultBaseOfObjectAdminListItem {\r\n rows?: ObjectAdminListItem[] | undefined;\r\n readonly columns?: DataTableColumnConfig[] | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n\r\n constructor(data?: IDataTableResultBaseOfObjectAdminListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(ObjectAdminListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"columns\"])) {\r\n (this).columns = [] as any;\r\n for (let item of _data[\"columns\"])\r\n (this).columns!.push(DataTableColumnConfig.fromJS(item));\r\n }\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataTableResultBaseOfObjectAdminListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataTableResultBaseOfObjectAdminListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.columns)) {\r\n data[\"columns\"] = [];\r\n for (let item of this.columns)\r\n data[\"columns\"].push(item.toJSON());\r\n }\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDataTableResultBaseOfObjectAdminListItem {\r\n rows?: ObjectAdminListItem[] | undefined;\r\n columns?: DataTableColumnConfig[] | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n}\r\n\r\nexport class ObjectAdminListItem implements IObjectAdminListItem {\r\n address?: string | undefined;\r\n title?: string | undefined;\r\n location_Coordinates?: PointCoords | undefined;\r\n dataSource_Name?: string | undefined;\r\n coordinates_Override?: PointCoords | undefined;\r\n dataSource_Id?: number | undefined;\r\n hidden?: boolean | undefined;\r\n id?: string | undefined;\r\n\r\n constructor(data?: IObjectAdminListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.address = _data[\"address\"];\r\n this.title = _data[\"title\"];\r\n this.location_Coordinates = _data[\"location_Coordinates\"] ? PointCoords.fromJS(_data[\"location_Coordinates\"]) : undefined;\r\n this.dataSource_Name = _data[\"dataSource_Name\"];\r\n this.coordinates_Override = _data[\"coordinates_Override\"] ? PointCoords.fromJS(_data[\"coordinates_Override\"]) : undefined;\r\n this.dataSource_Id = _data[\"dataSource_Id\"];\r\n this.hidden = _data[\"hidden\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjectAdminListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjectAdminListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address;\r\n data[\"title\"] = this.title;\r\n data[\"location_Coordinates\"] = this.location_Coordinates ? this.location_Coordinates.toJSON() : undefined;\r\n data[\"dataSource_Name\"] = this.dataSource_Name;\r\n data[\"coordinates_Override\"] = this.coordinates_Override ? this.coordinates_Override.toJSON() : undefined;\r\n data[\"dataSource_Id\"] = this.dataSource_Id;\r\n data[\"hidden\"] = this.hidden;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IObjectAdminListItem {\r\n address?: string | undefined;\r\n title?: string | undefined;\r\n location_Coordinates?: PointCoords | undefined;\r\n dataSource_Name?: string | undefined;\r\n coordinates_Override?: PointCoords | undefined;\r\n dataSource_Id?: number | undefined;\r\n hidden?: boolean | undefined;\r\n id?: string | undefined;\r\n}\r\n\r\nexport class DataTableColumnConfig implements IDataTableColumnConfig {\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n data_format?: string | undefined;\r\n data_type?: string | undefined;\r\n orderable?: boolean | undefined;\r\n editable?: boolean | undefined;\r\n prop?: string | undefined;\r\n\r\n constructor(data?: IDataTableColumnConfig) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.data_format = _data[\"data_format\"];\r\n this.data_type = _data[\"data_type\"];\r\n this.orderable = _data[\"orderable\"];\r\n this.editable = _data[\"editable\"];\r\n this.prop = _data[\"prop\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataTableColumnConfig {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataTableColumnConfig();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"data_format\"] = this.data_format;\r\n data[\"data_type\"] = this.data_type;\r\n data[\"orderable\"] = this.orderable;\r\n data[\"editable\"] = this.editable;\r\n data[\"prop\"] = this.prop;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDataTableColumnConfig {\r\n name?: string | undefined;\r\n code?: string | undefined;\r\n data_format?: string | undefined;\r\n data_type?: string | undefined;\r\n orderable?: boolean | undefined;\r\n editable?: boolean | undefined;\r\n prop?: string | undefined;\r\n}\r\n\r\nexport class PointCoords implements IPointCoords {\r\n lon?: number | undefined;\r\n lat?: number | undefined;\r\n lonDouble?: number | undefined;\r\n latDouble?: number | undefined;\r\n\r\n constructor(data?: IPointCoords) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lon = _data[\"lon\"];\r\n this.lat = _data[\"lat\"];\r\n this.lonDouble = _data[\"lonDouble\"];\r\n this.latDouble = _data[\"latDouble\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PointCoords {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PointCoords();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lon\"] = this.lon;\r\n data[\"lat\"] = this.lat;\r\n data[\"lonDouble\"] = this.lonDouble;\r\n data[\"latDouble\"] = this.latDouble;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPointCoords {\r\n lon?: number | undefined;\r\n lat?: number | undefined;\r\n lonDouble?: number | undefined;\r\n latDouble?: number | undefined;\r\n}\r\n\r\nexport class UpdateObjectLocationInput implements IUpdateObjectLocationInput {\r\n loc!: PointCoords;\r\n id!: number;\r\n\r\n constructor(data?: IUpdateObjectLocationInput) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.loc = new PointCoords();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loc = _data[\"loc\"] ? PointCoords.fromJS(_data[\"loc\"]) : new PointCoords();\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateObjectLocationInput {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateObjectLocationInput();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loc\"] = this.loc ? this.loc.toJSON() : undefined;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateObjectLocationInput {\r\n loc: PointCoords;\r\n id: number;\r\n}\r\n\r\nexport class ChangeObjectVisibilityInput implements IChangeObjectVisibilityInput {\r\n objectId?: number | undefined;\r\n hidden?: boolean | undefined;\r\n\r\n constructor(data?: IChangeObjectVisibilityInput) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.objectId = _data[\"objectId\"];\r\n this.hidden = _data[\"hidden\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeObjectVisibilityInput {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeObjectVisibilityInput();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"objectId\"] = this.objectId;\r\n data[\"hidden\"] = this.hidden;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeObjectVisibilityInput {\r\n objectId?: number | undefined;\r\n hidden?: boolean | undefined;\r\n}\r\n\r\nexport enum DataSourceTypes {\r\n _0 = 0,\r\n}\r\n\r\nexport enum ObjectLocFilterBaseOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport enum ObjectAdminListFilterOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new SwaggerException(message, status, response, headers, null);\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.4.1.0 (NJsonSchema v10.1.11.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { ClientBase } from \"../ClientBase\";\r\n\r\nexport class AuthClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * opauth\r\n * @param model (optional) \r\n * @return Success\r\n */\r\n login(model: UserLogin | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Auth/Login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n\r\n protected processLogin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoginResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * opauth\r\n * @return Success\r\n */\r\n logout(): Promise {\r\n let url_ = this.baseUrl + \"/api/Auth/Logout\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n\r\n protected processLogout(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class RolesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n roleList(): Promise {\r\n let url_ = this.baseUrl + \"/api/Roles/RoleList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processRoleList(_response);\r\n });\r\n }\r\n\r\n protected processRoleList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RoleModel.fromJS(item));\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param model (optional) \r\n * @return Success\r\n */\r\n editRole(model: RoleModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Roles/EditRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEditRole(_response);\r\n });\r\n }\r\n\r\n protected processEditRole(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param model (optional) \r\n * @return Success\r\n */\r\n createRole(model: RoleModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Roles/CreateRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateRole(_response);\r\n });\r\n }\r\n\r\n protected processCreateRole(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class UsersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param tokenpsw (optional) \r\n * @return Success\r\n */\r\n setupAdmin(tokenpsw: string | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Users/SetupAdmin?\";\r\n if (tokenpsw !== undefined)\r\n url_ += \"tokenpsw=\" + encodeURIComponent(\"\" + tokenpsw) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSetupAdmin(_response);\r\n });\r\n }\r\n\r\n protected processSetupAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n userList(filter: UserListFilter | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Users/UserList\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processUserList(_response);\r\n });\r\n }\r\n\r\n protected processUserList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserListModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param model (optional) \r\n * @return Success\r\n */\r\n editUser(model: EditUserModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Users/EditUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processEditUser(_response);\r\n });\r\n }\r\n\r\n protected processEditUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EditUserResultModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param model (optional) \r\n * @return Success\r\n */\r\n createUser(model: CreateUserModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Users/CreateUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCreateUser(_response);\r\n });\r\n }\r\n\r\n protected processCreateUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateUserResultModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param model (optional) \r\n * @return Success\r\n */\r\n deleteUser(model: DeleteUserModel | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Users/DeleteUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processDeleteUser(_response);\r\n });\r\n }\r\n\r\n protected processDeleteUser(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DeleteUserResultModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class UserLogin implements IUserLogin {\r\n userName!: string;\r\n password!: string;\r\n\r\n constructor(data?: IUserLogin) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserLogin {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserLogin();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserLogin {\r\n userName: string;\r\n password: string;\r\n}\r\n\r\nexport class LoginResult implements ILoginResult {\r\n success?: boolean | undefined;\r\n permissions?: string[] | undefined;\r\n\r\n constructor(data?: ILoginResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginResult {\r\n success?: boolean | undefined;\r\n permissions?: string[] | undefined;\r\n}\r\n\r\nexport class RoleModel implements IRoleModel {\r\n name?: string | undefined;\r\n id?: number | undefined;\r\n permissions?: Permissions[] | undefined;\r\n\r\n constructor(data?: IRoleModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RoleModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RoleModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRoleModel {\r\n name?: string | undefined;\r\n id?: number | undefined;\r\n permissions?: Permissions[] | undefined;\r\n}\r\n\r\nexport class UserListFilter implements IUserListFilter {\r\n userName?: string | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: UserListFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: IUserListFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserListFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserListFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserListFilter {\r\n userName?: string | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: UserListFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class UserListModel implements IUserListModel {\r\n allRoles?: RoleModel[] | undefined;\r\n users?: UserModel[] | undefined;\r\n\r\n constructor(data?: IUserListModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"allRoles\"])) {\r\n this.allRoles = [] as any;\r\n for (let item of _data[\"allRoles\"])\r\n this.allRoles!.push(RoleModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(UserModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserListModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserListModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.allRoles)) {\r\n data[\"allRoles\"] = [];\r\n for (let item of this.allRoles)\r\n data[\"allRoles\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserListModel {\r\n allRoles?: RoleModel[] | undefined;\r\n users?: UserModel[] | undefined;\r\n}\r\n\r\nexport class UserModel implements IUserModel {\r\n displayName?: string | undefined;\r\n userName?: string | undefined;\r\n id?: number | undefined;\r\n roles?: RoleModel[] | undefined;\r\n dataSources?: DataSourceModel[] | undefined;\r\n\r\n constructor(data?: IUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayName = _data[\"displayName\"];\r\n this.userName = _data[\"userName\"];\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(RoleModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"dataSources\"])) {\r\n this.dataSources = [] as any;\r\n for (let item of _data[\"dataSources\"])\r\n this.dataSources!.push(DataSourceModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayName\"] = this.displayName;\r\n data[\"userName\"] = this.userName;\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.dataSources)) {\r\n data[\"dataSources\"] = [];\r\n for (let item of this.dataSources)\r\n data[\"dataSources\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserModel {\r\n displayName?: string | undefined;\r\n userName?: string | undefined;\r\n id?: number | undefined;\r\n roles?: RoleModel[] | undefined;\r\n dataSources?: DataSourceModel[] | undefined;\r\n}\r\n\r\nexport class DataSourceModel implements IDataSourceModel {\r\n name?: string | undefined;\r\n id?: number | undefined;\r\n\r\n constructor(data?: IDataSourceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataSourceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataSourceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDataSourceModel {\r\n name?: string | undefined;\r\n id?: number | undefined;\r\n}\r\n\r\nexport class EditUserModel implements IEditUserModel {\r\n id?: number | undefined;\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n addRoles?: number[] | undefined;\r\n removeRoles?: number[] | undefined;\r\n addDataSources?: number[] | undefined;\r\n removeDataSources?: number[] | undefined;\r\n\r\n constructor(data?: IEditUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.oldPassword = _data[\"oldPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n if (Array.isArray(_data[\"addRoles\"])) {\r\n this.addRoles = [] as any;\r\n for (let item of _data[\"addRoles\"])\r\n this.addRoles!.push(item);\r\n }\r\n if (Array.isArray(_data[\"removeRoles\"])) {\r\n this.removeRoles = [] as any;\r\n for (let item of _data[\"removeRoles\"])\r\n this.removeRoles!.push(item);\r\n }\r\n if (Array.isArray(_data[\"addDataSources\"])) {\r\n this.addDataSources = [] as any;\r\n for (let item of _data[\"addDataSources\"])\r\n this.addDataSources!.push(item);\r\n }\r\n if (Array.isArray(_data[\"removeDataSources\"])) {\r\n this.removeDataSources = [] as any;\r\n for (let item of _data[\"removeDataSources\"])\r\n this.removeDataSources!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"oldPassword\"] = this.oldPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n if (Array.isArray(this.addRoles)) {\r\n data[\"addRoles\"] = [];\r\n for (let item of this.addRoles)\r\n data[\"addRoles\"].push(item);\r\n }\r\n if (Array.isArray(this.removeRoles)) {\r\n data[\"removeRoles\"] = [];\r\n for (let item of this.removeRoles)\r\n data[\"removeRoles\"].push(item);\r\n }\r\n if (Array.isArray(this.addDataSources)) {\r\n data[\"addDataSources\"] = [];\r\n for (let item of this.addDataSources)\r\n data[\"addDataSources\"].push(item);\r\n }\r\n if (Array.isArray(this.removeDataSources)) {\r\n data[\"removeDataSources\"] = [];\r\n for (let item of this.removeDataSources)\r\n data[\"removeDataSources\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditUserModel {\r\n id?: number | undefined;\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n oldPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n addRoles?: number[] | undefined;\r\n removeRoles?: number[] | undefined;\r\n addDataSources?: number[] | undefined;\r\n removeDataSources?: number[] | undefined;\r\n}\r\n\r\nexport class EditUserResultModel implements IEditUserResultModel {\r\n success?: boolean | undefined;\r\n errors?: string[] | undefined;\r\n\r\n constructor(data?: IEditUserResultModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n if (Array.isArray(_data[\"errors\"])) {\r\n this.errors = [] as any;\r\n for (let item of _data[\"errors\"])\r\n this.errors!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditUserResultModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditUserResultModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n if (Array.isArray(this.errors)) {\r\n data[\"errors\"] = [];\r\n for (let item of this.errors)\r\n data[\"errors\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditUserResultModel {\r\n success?: boolean | undefined;\r\n errors?: string[] | undefined;\r\n}\r\n\r\nexport class CreateUserModel implements ICreateUserModel {\r\n password?: string | undefined;\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n\r\n constructor(data?: ICreateUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.password = _data[\"password\"];\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"password\"] = this.password;\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateUserModel {\r\n password?: string | undefined;\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n}\r\n\r\nexport class CreateUserResultModel implements ICreateUserResultModel {\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n\r\n constructor(data?: ICreateUserResultModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateUserResultModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateUserResultModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateUserResultModel {\r\n userName?: string | undefined;\r\n displayName?: string | undefined;\r\n}\r\n\r\nexport class DeleteUserModel implements IDeleteUserModel {\r\n userName?: string | undefined;\r\n\r\n constructor(data?: IDeleteUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userName = _data[\"userName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userName\"] = this.userName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteUserModel {\r\n userName?: string | undefined;\r\n}\r\n\r\nexport class DeleteUserResultModel implements IDeleteUserResultModel {\r\n\r\n constructor(data?: IDeleteUserResultModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): DeleteUserResultModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteUserResultModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteUserResultModel {\r\n}\r\n\r\nexport enum Permissions {\r\n _0 = 0,\r\n}\r\n\r\nexport enum UserListFilterOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new SwaggerException(message, status, response, headers, null);\r\n}\r\n\r\n","import { RequestOptionsArgs } from '@angular/http';\r\n//TODO:circular dependency import { AppConfig } from \"../../app.config\";\r\n\r\nexport class ClientBase {\r\n public static apiURL:string;\r\n transformOptions(options: RequestInit) {\r\n options.credentials='include';\r\n\r\n return Promise.resolve(options);\r\n }\r\n\r\n getBaseUrl(kažkas1, baseUrlOverride) {\r\n \r\n if (!baseUrlOverride && !ClientBase.apiURL) {\r\n throw 'neaišku, kur kreiptis';\r\n }\r\n\r\n return baseUrlOverride || ClientBase.apiURL; //AppConfig.settings.APIBaseUrl;\r\n }\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.3.0.0 (NJsonSchema v10.1.11.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { ClientBase } from \"../ClientBase\";\r\n\r\nexport class LocalizationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n jR(): Promise<{ [key: string]: string; }> {\r\n let url_ = this.baseUrl + \"/api/Localization/JR\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processJR(_response);\r\n });\r\n }\r\n\r\n protected processJR(response: Response): Promise<{ [key: string]: string; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n result200![key] = resultData200[key];\r\n }\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: string; }>(null);\r\n }\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number; \r\n response: string; \r\n headers: { [key: string]: any; };\r\n result: any; \r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new SwaggerException(message, status, response, headers, null);\r\n}\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.10.9.0 (NJsonSchema v10.4.1.0 (Newtonsoft.Json v11.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\nimport { ClientBase } from \"../ClientBase\";\r\nexport class BuildingComparisonClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param filterBase (optional) \r\n * @return Success\r\n */\r\n comparekWhm2DL(filterBase: CompareiakWhm2DlFilterBase | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/BuildingComparison/ComparekWhm2DL\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filterBase);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processComparekWhm2DL(_response);\r\n });\r\n }\r\n\r\n protected processComparekWhm2DL(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CompareiaKWhm2DLModel.fromJS(item));\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n compareGroupSameHeight(filter: CompareGroupSameHeightFilter | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/BuildingComparison/CompareGroupSameHeight\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCompareGroupSameHeight(_response);\r\n });\r\n }\r\n\r\n protected processCompareGroupSameHeight(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CompareGroupSameHeightModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n compareHeatingSeasons(filter: CompareHeatingSeasonsFilter | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/BuildingComparison/CompareHeatingSeasons\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processCompareHeatingSeasons(_response);\r\n });\r\n }\r\n\r\n protected processCompareHeatingSeasons(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CompareHeatingSeasonsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n heatingCostsTrends(filter: HeatingCostsTrendsFilter | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/BuildingComparison/HeatingCostsTrends\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processHeatingCostsTrends(_response);\r\n });\r\n }\r\n\r\n protected processHeatingCostsTrends(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HeatingCostsTrendsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class Client extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n settings(): Promise<{ [key: string]: any; }> {\r\n let url_ = this.baseUrl + \"/Settings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processSettings(_response);\r\n });\r\n }\r\n\r\n protected processSettings(response: Response): Promise<{ [key: string]: any; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n result200![key] = resultData200[key];\r\n }\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: any; }>(null);\r\n }\r\n}\r\n\r\nexport class ObjectsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n objectInfo(filter: TollObjectInfoFilterWithExprs | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Objects/ObjectInfo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processObjectInfo(_response);\r\n });\r\n }\r\n\r\n protected processObjectInfo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TollObjectInfoResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filter (optional) \r\n * @return Success\r\n */\r\n objSearch(filter: ObjSearchFilter | null | undefined): Promise {\r\n let url_ = this.baseUrl + \"/Objects/ObjSearch\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(filter);\r\n\r\n let options_ = {\r\n body: content_,\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.processObjSearch(_response);\r\n });\r\n }\r\n\r\n protected processObjSearch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ObjSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class CompareiakWhm2DlFilterBase implements ICompareiakWhm2DlFilterBase {\r\n tollObjectIds?: number[] | undefined;\r\n periodFrom?: Date | undefined;\r\n readonly periodFromSeasonal?: Date | undefined;\r\n periodTo?: Date | undefined;\r\n readonly periodToSeasonal?: Date | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: CompareiakWhm2DlFilterBaseOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: ICompareiakWhm2DlFilterBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"tollObjectIds\"])) {\r\n this.tollObjectIds = [] as any;\r\n for (let item of _data[\"tollObjectIds\"])\r\n this.tollObjectIds!.push(item);\r\n }\r\n this.periodFrom = _data[\"periodFrom\"] ? new Date(_data[\"periodFrom\"].toString()) : undefined;\r\n (this).periodFromSeasonal = _data[\"periodFromSeasonal\"] ? new Date(_data[\"periodFromSeasonal\"].toString()) : undefined;\r\n this.periodTo = _data[\"periodTo\"] ? new Date(_data[\"periodTo\"].toString()) : undefined;\r\n (this).periodToSeasonal = _data[\"periodToSeasonal\"] ? new Date(_data[\"periodToSeasonal\"].toString()) : undefined;\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareiakWhm2DlFilterBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareiakWhm2DlFilterBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.tollObjectIds)) {\r\n data[\"tollObjectIds\"] = [];\r\n for (let item of this.tollObjectIds)\r\n data[\"tollObjectIds\"].push(item);\r\n }\r\n data[\"periodFrom\"] = this.periodFrom ? this.periodFrom.toISOString() : undefined;\r\n data[\"periodFromSeasonal\"] = this.periodFromSeasonal ? this.periodFromSeasonal.toISOString() : undefined;\r\n data[\"periodTo\"] = this.periodTo ? this.periodTo.toISOString() : undefined;\r\n data[\"periodToSeasonal\"] = this.periodToSeasonal ? this.periodToSeasonal.toISOString() : undefined;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareiakWhm2DlFilterBase {\r\n tollObjectIds?: number[] | undefined;\r\n periodFrom?: Date | undefined;\r\n periodFromSeasonal?: Date | undefined;\r\n periodTo?: Date | undefined;\r\n periodToSeasonal?: Date | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: CompareiakWhm2DlFilterBaseOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class CompareiaKWhm2DLModel implements ICompareiaKWhm2DLModel {\r\n kWhm2DLDataPoints?: KWhm2DLDataPoint[] | undefined;\r\n title?: string | undefined;\r\n tollObjectId?: number | undefined;\r\n\r\n constructor(data?: ICompareiaKWhm2DLModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"kWhm2DLDataPoints\"])) {\r\n this.kWhm2DLDataPoints = [] as any;\r\n for (let item of _data[\"kWhm2DLDataPoints\"])\r\n this.kWhm2DLDataPoints!.push(KWhm2DLDataPoint.fromJS(item));\r\n }\r\n this.title = _data[\"title\"];\r\n this.tollObjectId = _data[\"tollObjectId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareiaKWhm2DLModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareiaKWhm2DLModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.kWhm2DLDataPoints)) {\r\n data[\"kWhm2DLDataPoints\"] = [];\r\n for (let item of this.kWhm2DLDataPoints)\r\n data[\"kWhm2DLDataPoints\"].push(item.toJSON());\r\n }\r\n data[\"title\"] = this.title;\r\n data[\"tollObjectId\"] = this.tollObjectId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareiaKWhm2DLModel {\r\n kWhm2DLDataPoints?: KWhm2DLDataPoint[] | undefined;\r\n title?: string | undefined;\r\n tollObjectId?: number | undefined;\r\n}\r\n\r\nexport class KWhm2DLDataPoint implements IKWhm2DLDataPoint {\r\n period?: Date | undefined;\r\n kWhm2DL?: number | undefined;\r\n\r\n constructor(data?: IKWhm2DLDataPoint) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n this.kWhm2DL = _data[\"kWhm2DL\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KWhm2DLDataPoint {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KWhm2DLDataPoint();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n data[\"kWhm2DL\"] = this.kWhm2DL;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKWhm2DLDataPoint {\r\n period?: Date | undefined;\r\n kWhm2DL?: number | undefined;\r\n}\r\n\r\nexport class CompareGroupSameHeightFilter implements ICompareGroupSameHeightFilter {\r\n tollObjectIds?: number[] | undefined;\r\n periodFrom?: Date | undefined;\r\n readonly periodFromSeasonal?: Date | undefined;\r\n periodTo?: Date | undefined;\r\n readonly periodToSeasonal?: Date | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: CompareGroupSameHeightFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: ICompareGroupSameHeightFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"tollObjectIds\"])) {\r\n this.tollObjectIds = [] as any;\r\n for (let item of _data[\"tollObjectIds\"])\r\n this.tollObjectIds!.push(item);\r\n }\r\n this.periodFrom = _data[\"periodFrom\"] ? new Date(_data[\"periodFrom\"].toString()) : undefined;\r\n (this).periodFromSeasonal = _data[\"periodFromSeasonal\"] ? new Date(_data[\"periodFromSeasonal\"].toString()) : undefined;\r\n this.periodTo = _data[\"periodTo\"] ? new Date(_data[\"periodTo\"].toString()) : undefined;\r\n (this).periodToSeasonal = _data[\"periodToSeasonal\"] ? new Date(_data[\"periodToSeasonal\"].toString()) : undefined;\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareGroupSameHeightFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareGroupSameHeightFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.tollObjectIds)) {\r\n data[\"tollObjectIds\"] = [];\r\n for (let item of this.tollObjectIds)\r\n data[\"tollObjectIds\"].push(item);\r\n }\r\n data[\"periodFrom\"] = this.periodFrom ? this.periodFrom.toISOString() : undefined;\r\n data[\"periodFromSeasonal\"] = this.periodFromSeasonal ? this.periodFromSeasonal.toISOString() : undefined;\r\n data[\"periodTo\"] = this.periodTo ? this.periodTo.toISOString() : undefined;\r\n data[\"periodToSeasonal\"] = this.periodToSeasonal ? this.periodToSeasonal.toISOString() : undefined;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareGroupSameHeightFilter {\r\n tollObjectIds?: number[] | undefined;\r\n periodFrom?: Date | undefined;\r\n periodFromSeasonal?: Date | undefined;\r\n periodTo?: Date | undefined;\r\n periodToSeasonal?: Date | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: CompareGroupSameHeightFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class CompareGroupSameHeightModel implements ICompareGroupSameHeightModel {\r\n title?: string | undefined;\r\n objectId?: number | undefined;\r\n aukštai?: number | undefined;\r\n namųGrupėje?: number | undefined;\r\n compItems?: ComparisonGroupSameHeightItem[] | undefined;\r\n\r\n constructor(data?: ICompareGroupSameHeightModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.objectId = _data[\"objectId\"];\r\n this.aukštai = _data[\"aukštai\"];\r\n this.namųGrupėje = _data[\"namųGrupėje\"];\r\n if (Array.isArray(_data[\"compItems\"])) {\r\n this.compItems = [] as any;\r\n for (let item of _data[\"compItems\"])\r\n this.compItems!.push(ComparisonGroupSameHeightItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareGroupSameHeightModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareGroupSameHeightModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"objectId\"] = this.objectId;\r\n data[\"aukštai\"] = this.aukštai;\r\n data[\"namųGrupėje\"] = this.namųGrupėje;\r\n if (Array.isArray(this.compItems)) {\r\n data[\"compItems\"] = [];\r\n for (let item of this.compItems)\r\n data[\"compItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareGroupSameHeightModel {\r\n title?: string | undefined;\r\n objectId?: number | undefined;\r\n aukštai?: number | undefined;\r\n namųGrupėje?: number | undefined;\r\n compItems?: ComparisonGroupSameHeightItem[] | undefined;\r\n}\r\n\r\nexport class ComparisonGroupSameHeightItem implements IComparisonGroupSameHeightItem {\r\n readonly period?: Date | undefined;\r\n readonly butųTūriųSuma?: number | undefined;\r\n readonly faktinisPlotas?: number | undefined;\r\n readonly šildomasPlotas?: number | undefined;\r\n šildomasTūris?: number | undefined;\r\n readonly šildytaPerMėnesįVal?: number | undefined;\r\n readonly tiektaKarštoVandensVal?: number | undefined;\r\n readonly laukoTemperatūra?: number | undefined;\r\n readonly iaDienolaipsniai?: number | undefined;\r\n readonly kWhm2?: number | undefined;\r\n readonly šilumosSrvcTariffValue?: number | undefined;\r\n kWhm2s?: CompareGroupSameHeightModelkWhm2s | undefined;\r\n\r\n constructor(data?: IComparisonGroupSameHeightItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n (this).period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n (this).butųTūriųSuma = _data[\"butųTūriųSuma\"];\r\n (this).faktinisPlotas = _data[\"faktinisPlotas\"];\r\n (this).šildomasPlotas = _data[\"šildomasPlotas\"];\r\n this.šildomasTūris = _data[\"šildomasTūris\"];\r\n (this).šildytaPerMėnesįVal = _data[\"šildytaPerMėnesįVal\"];\r\n (this).tiektaKarštoVandensVal = _data[\"tiektaKarštoVandensVal\"];\r\n (this).laukoTemperatūra = _data[\"laukoTemperatūra\"];\r\n (this).iaDienolaipsniai = _data[\"iaDienolaipsniai\"];\r\n (this).kWhm2 = _data[\"kWhm2\"];\r\n (this).šilumosSrvcTariffValue = _data[\"šilumosSrvcTariffValue\"];\r\n this.kWhm2s = _data[\"kWhm2s\"] ? CompareGroupSameHeightModelkWhm2s.fromJS(_data[\"kWhm2s\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ComparisonGroupSameHeightItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ComparisonGroupSameHeightItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n data[\"butųTūriųSuma\"] = this.butųTūriųSuma;\r\n data[\"faktinisPlotas\"] = this.faktinisPlotas;\r\n data[\"šildomasPlotas\"] = this.šildomasPlotas;\r\n data[\"šildomasTūris\"] = this.šildomasTūris;\r\n data[\"šildytaPerMėnesįVal\"] = this.šildytaPerMėnesįVal;\r\n data[\"tiektaKarštoVandensVal\"] = this.tiektaKarštoVandensVal;\r\n data[\"laukoTemperatūra\"] = this.laukoTemperatūra;\r\n data[\"iaDienolaipsniai\"] = this.iaDienolaipsniai;\r\n data[\"kWhm2\"] = this.kWhm2;\r\n data[\"šilumosSrvcTariffValue\"] = this.šilumosSrvcTariffValue;\r\n data[\"kWhm2s\"] = this.kWhm2s ? this.kWhm2s.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IComparisonGroupSameHeightItem {\r\n period?: Date | undefined;\r\n butųTūriųSuma?: number | undefined;\r\n faktinisPlotas?: number | undefined;\r\n šildomasPlotas?: number | undefined;\r\n šildomasTūris?: number | undefined;\r\n šildytaPerMėnesįVal?: number | undefined;\r\n tiektaKarštoVandensVal?: number | undefined;\r\n laukoTemperatūra?: number | undefined;\r\n iaDienolaipsniai?: number | undefined;\r\n kWhm2?: number | undefined;\r\n šilumosSrvcTariffValue?: number | undefined;\r\n kWhm2s?: CompareGroupSameHeightModelkWhm2s | undefined;\r\n}\r\n\r\nexport class CompareGroupSameHeightModelkWhm2s implements ICompareGroupSameHeightModelkWhm2s {\r\n period?: Date | undefined;\r\n readonly vidkWhm2?: number | undefined;\r\n readonly makskWhm2?: number | undefined;\r\n readonly minkWhm2?: number | undefined;\r\n\r\n constructor(data?: ICompareGroupSameHeightModelkWhm2s) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n (this).vidkWhm2 = _data[\"vidkWhm2\"];\r\n (this).makskWhm2 = _data[\"makskWhm2\"];\r\n (this).minkWhm2 = _data[\"minkWhm2\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareGroupSameHeightModelkWhm2s {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareGroupSameHeightModelkWhm2s();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n data[\"vidkWhm2\"] = this.vidkWhm2;\r\n data[\"makskWhm2\"] = this.makskWhm2;\r\n data[\"minkWhm2\"] = this.minkWhm2;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareGroupSameHeightModelkWhm2s {\r\n period?: Date | undefined;\r\n vidkWhm2?: number | undefined;\r\n makskWhm2?: number | undefined;\r\n minkWhm2?: number | undefined;\r\n}\r\n\r\nexport class CompareHeatingSeasonsFilter implements ICompareHeatingSeasonsFilter {\r\n tollObjectIds?: number[] | undefined;\r\n periodFrom?: Date | undefined;\r\n readonly periodFromSeasonal?: Date | undefined;\r\n periodTo?: Date | undefined;\r\n readonly periodToSeasonal?: Date | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: CompareHeatingSeasonsFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: ICompareHeatingSeasonsFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"tollObjectIds\"])) {\r\n this.tollObjectIds = [] as any;\r\n for (let item of _data[\"tollObjectIds\"])\r\n this.tollObjectIds!.push(item);\r\n }\r\n this.periodFrom = _data[\"periodFrom\"] ? new Date(_data[\"periodFrom\"].toString()) : undefined;\r\n (this).periodFromSeasonal = _data[\"periodFromSeasonal\"] ? new Date(_data[\"periodFromSeasonal\"].toString()) : undefined;\r\n this.periodTo = _data[\"periodTo\"] ? new Date(_data[\"periodTo\"].toString()) : undefined;\r\n (this).periodToSeasonal = _data[\"periodToSeasonal\"] ? new Date(_data[\"periodToSeasonal\"].toString()) : undefined;\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareHeatingSeasonsFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareHeatingSeasonsFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.tollObjectIds)) {\r\n data[\"tollObjectIds\"] = [];\r\n for (let item of this.tollObjectIds)\r\n data[\"tollObjectIds\"].push(item);\r\n }\r\n data[\"periodFrom\"] = this.periodFrom ? this.periodFrom.toISOString() : undefined;\r\n data[\"periodFromSeasonal\"] = this.periodFromSeasonal ? this.periodFromSeasonal.toISOString() : undefined;\r\n data[\"periodTo\"] = this.periodTo ? this.periodTo.toISOString() : undefined;\r\n data[\"periodToSeasonal\"] = this.periodToSeasonal ? this.periodToSeasonal.toISOString() : undefined;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareHeatingSeasonsFilter {\r\n tollObjectIds?: number[] | undefined;\r\n periodFrom?: Date | undefined;\r\n periodFromSeasonal?: Date | undefined;\r\n periodTo?: Date | undefined;\r\n periodToSeasonal?: Date | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: CompareHeatingSeasonsFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class CompareHeatingSeasonsModel implements ICompareHeatingSeasonsModel {\r\n itemsList?: CompareHeatingSeasonsItem[] | undefined;\r\n title?: string | undefined;\r\n tollObjectId?: number | undefined;\r\n\r\n constructor(data?: ICompareHeatingSeasonsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"itemsList\"])) {\r\n this.itemsList = [] as any;\r\n for (let item of _data[\"itemsList\"])\r\n this.itemsList!.push(CompareHeatingSeasonsItem.fromJS(item));\r\n }\r\n this.title = _data[\"title\"];\r\n this.tollObjectId = _data[\"tollObjectId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareHeatingSeasonsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareHeatingSeasonsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.itemsList)) {\r\n data[\"itemsList\"] = [];\r\n for (let item of this.itemsList)\r\n data[\"itemsList\"].push(item.toJSON());\r\n }\r\n data[\"title\"] = this.title;\r\n data[\"tollObjectId\"] = this.tollObjectId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareHeatingSeasonsModel {\r\n itemsList?: CompareHeatingSeasonsItem[] | undefined;\r\n title?: string | undefined;\r\n tollObjectId?: number | undefined;\r\n}\r\n\r\nexport class CompareHeatingSeasonsItem implements ICompareHeatingSeasonsItem {\r\n yearFrom?: number | undefined;\r\n yearTo?: number | undefined;\r\n kWhm2DL?: number | undefined;\r\n\r\n constructor(data?: ICompareHeatingSeasonsItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.yearFrom = _data[\"yearFrom\"];\r\n this.yearTo = _data[\"yearTo\"];\r\n this.kWhm2DL = _data[\"kWhm2DL\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CompareHeatingSeasonsItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CompareHeatingSeasonsItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"yearFrom\"] = this.yearFrom;\r\n data[\"yearTo\"] = this.yearTo;\r\n data[\"kWhm2DL\"] = this.kWhm2DL;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompareHeatingSeasonsItem {\r\n yearFrom?: number | undefined;\r\n yearTo?: number | undefined;\r\n kWhm2DL?: number | undefined;\r\n}\r\n\r\nexport class HeatingCostsTrendsFilter implements IHeatingCostsTrendsFilter {\r\n comparingPeriods?: Date[] | undefined;\r\n\r\n constructor(data?: IHeatingCostsTrendsFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"comparingPeriods\"])) {\r\n this.comparingPeriods = [] as any;\r\n for (let item of _data[\"comparingPeriods\"])\r\n this.comparingPeriods!.push(new Date(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsTrendsFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsTrendsFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.comparingPeriods)) {\r\n data[\"comparingPeriods\"] = [];\r\n for (let item of this.comparingPeriods)\r\n data[\"comparingPeriods\"].push(item.toISOString());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsTrendsFilter {\r\n comparingPeriods?: Date[] | undefined;\r\n}\r\n\r\nexport class HeatingCostsTrendsModel implements IHeatingCostsTrendsModel {\r\n comparingPeriods?: Date[] | undefined;\r\n heatingCostsSources?: HeatingCostsMokesta[] | undefined;\r\n\r\n constructor(data?: IHeatingCostsTrendsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"comparingPeriods\"])) {\r\n this.comparingPeriods = [] as any;\r\n for (let item of _data[\"comparingPeriods\"])\r\n this.comparingPeriods!.push(new Date(item));\r\n }\r\n if (Array.isArray(_data[\"heatingCostsSources\"])) {\r\n this.heatingCostsSources = [] as any;\r\n for (let item of _data[\"heatingCostsSources\"])\r\n this.heatingCostsSources!.push(HeatingCostsMokesta.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsTrendsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsTrendsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.comparingPeriods)) {\r\n data[\"comparingPeriods\"] = [];\r\n for (let item of this.comparingPeriods)\r\n data[\"comparingPeriods\"].push(item.toISOString());\r\n }\r\n if (Array.isArray(this.heatingCostsSources)) {\r\n data[\"heatingCostsSources\"] = [];\r\n for (let item of this.heatingCostsSources)\r\n data[\"heatingCostsSources\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsTrendsModel {\r\n comparingPeriods?: Date[] | undefined;\r\n heatingCostsSources?: HeatingCostsMokesta[] | undefined;\r\n}\r\n\r\nexport class HeatingCostsMokesta implements IHeatingCostsMokesta {\r\n systemId?: number | undefined;\r\n title?: string | undefined;\r\n heatingCostsObjectSources?: HeatingCostsObjectSource[] | undefined;\r\n readonly kWhm2DLAverages?: { [key: string]: number; } | undefined;\r\n\r\n constructor(data?: IHeatingCostsMokesta) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.systemId = _data[\"systemId\"];\r\n this.title = _data[\"title\"];\r\n if (Array.isArray(_data[\"heatingCostsObjectSources\"])) {\r\n this.heatingCostsObjectSources = [] as any;\r\n for (let item of _data[\"heatingCostsObjectSources\"])\r\n this.heatingCostsObjectSources!.push(HeatingCostsObjectSource.fromJS(item));\r\n }\r\n if (_data[\"kWhm2DLAverages\"]) {\r\n (this).kWhm2DLAverages = {} as any;\r\n for (let key in _data[\"kWhm2DLAverages\"]) {\r\n if (_data[\"kWhm2DLAverages\"].hasOwnProperty(key))\r\n (this).kWhm2DLAverages![key] = _data[\"kWhm2DLAverages\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsMokesta {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsMokesta();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"systemId\"] = this.systemId;\r\n data[\"title\"] = this.title;\r\n if (Array.isArray(this.heatingCostsObjectSources)) {\r\n data[\"heatingCostsObjectSources\"] = [];\r\n for (let item of this.heatingCostsObjectSources)\r\n data[\"heatingCostsObjectSources\"].push(item.toJSON());\r\n }\r\n if (this.kWhm2DLAverages) {\r\n data[\"kWhm2DLAverages\"] = {};\r\n for (let key in this.kWhm2DLAverages) {\r\n if (this.kWhm2DLAverages.hasOwnProperty(key))\r\n data[\"kWhm2DLAverages\"][key] = this.kWhm2DLAverages[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsMokesta {\r\n systemId?: number | undefined;\r\n title?: string | undefined;\r\n heatingCostsObjectSources?: HeatingCostsObjectSource[] | undefined;\r\n kWhm2DLAverages?: { [key: string]: number; } | undefined;\r\n}\r\n\r\nexport class HeatingCostsObjectSource implements IHeatingCostsObjectSource {\r\n objectSourceId?: number | undefined;\r\n title?: string | undefined;\r\n heatingCostsGroupsByStory?: HeatingCostsGroupByStory[] | undefined;\r\n readonly kWhm2DLAverages?: { [key: string]: number; } | undefined;\r\n\r\n constructor(data?: IHeatingCostsObjectSource) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.objectSourceId = _data[\"objectSourceId\"];\r\n this.title = _data[\"title\"];\r\n if (Array.isArray(_data[\"heatingCostsGroupsByStory\"])) {\r\n this.heatingCostsGroupsByStory = [] as any;\r\n for (let item of _data[\"heatingCostsGroupsByStory\"])\r\n this.heatingCostsGroupsByStory!.push(HeatingCostsGroupByStory.fromJS(item));\r\n }\r\n if (_data[\"kWhm2DLAverages\"]) {\r\n (this).kWhm2DLAverages = {} as any;\r\n for (let key in _data[\"kWhm2DLAverages\"]) {\r\n if (_data[\"kWhm2DLAverages\"].hasOwnProperty(key))\r\n (this).kWhm2DLAverages![key] = _data[\"kWhm2DLAverages\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsObjectSource {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsObjectSource();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"objectSourceId\"] = this.objectSourceId;\r\n data[\"title\"] = this.title;\r\n if (Array.isArray(this.heatingCostsGroupsByStory)) {\r\n data[\"heatingCostsGroupsByStory\"] = [];\r\n for (let item of this.heatingCostsGroupsByStory)\r\n data[\"heatingCostsGroupsByStory\"].push(item.toJSON());\r\n }\r\n if (this.kWhm2DLAverages) {\r\n data[\"kWhm2DLAverages\"] = {};\r\n for (let key in this.kWhm2DLAverages) {\r\n if (this.kWhm2DLAverages.hasOwnProperty(key))\r\n data[\"kWhm2DLAverages\"][key] = this.kWhm2DLAverages[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsObjectSource {\r\n objectSourceId?: number | undefined;\r\n title?: string | undefined;\r\n heatingCostsGroupsByStory?: HeatingCostsGroupByStory[] | undefined;\r\n kWhm2DLAverages?: { [key: string]: number; } | undefined;\r\n}\r\n\r\nexport class HeatingCostsGroupByStory implements IHeatingCostsGroupByStory {\r\n stories?: number | undefined;\r\n readonly kWhm2DLAverages?: { [key: string]: number; } | undefined;\r\n heatingCostsBuildings?: HeatingCostsBuilding[] | undefined;\r\n\r\n constructor(data?: IHeatingCostsGroupByStory) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.stories = _data[\"stories\"];\r\n if (_data[\"kWhm2DLAverages\"]) {\r\n (this).kWhm2DLAverages = {} as any;\r\n for (let key in _data[\"kWhm2DLAverages\"]) {\r\n if (_data[\"kWhm2DLAverages\"].hasOwnProperty(key))\r\n (this).kWhm2DLAverages![key] = _data[\"kWhm2DLAverages\"][key];\r\n }\r\n }\r\n if (Array.isArray(_data[\"heatingCostsBuildings\"])) {\r\n this.heatingCostsBuildings = [] as any;\r\n for (let item of _data[\"heatingCostsBuildings\"])\r\n this.heatingCostsBuildings!.push(HeatingCostsBuilding.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsGroupByStory {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsGroupByStory();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"stories\"] = this.stories;\r\n if (this.kWhm2DLAverages) {\r\n data[\"kWhm2DLAverages\"] = {};\r\n for (let key in this.kWhm2DLAverages) {\r\n if (this.kWhm2DLAverages.hasOwnProperty(key))\r\n data[\"kWhm2DLAverages\"][key] = this.kWhm2DLAverages[key];\r\n }\r\n }\r\n if (Array.isArray(this.heatingCostsBuildings)) {\r\n data[\"heatingCostsBuildings\"] = [];\r\n for (let item of this.heatingCostsBuildings)\r\n data[\"heatingCostsBuildings\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsGroupByStory {\r\n stories?: number | undefined;\r\n kWhm2DLAverages?: { [key: string]: number; } | undefined;\r\n heatingCostsBuildings?: HeatingCostsBuilding[] | undefined;\r\n}\r\n\r\nexport class HeatingCostsBuilding implements IHeatingCostsBuilding {\r\n tollObjectTitle?: string | undefined;\r\n tollObjectId?: number | undefined;\r\n heatingCostsPeriodInfos?: HeatingCostsPeriodInfo[] | undefined;\r\n\r\n constructor(data?: IHeatingCostsBuilding) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.tollObjectTitle = _data[\"tollObjectTitle\"];\r\n this.tollObjectId = _data[\"tollObjectId\"];\r\n if (Array.isArray(_data[\"heatingCostsPeriodInfos\"])) {\r\n this.heatingCostsPeriodInfos = [] as any;\r\n for (let item of _data[\"heatingCostsPeriodInfos\"])\r\n this.heatingCostsPeriodInfos!.push(HeatingCostsPeriodInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsBuilding {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsBuilding();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"tollObjectTitle\"] = this.tollObjectTitle;\r\n data[\"tollObjectId\"] = this.tollObjectId;\r\n if (Array.isArray(this.heatingCostsPeriodInfos)) {\r\n data[\"heatingCostsPeriodInfos\"] = [];\r\n for (let item of this.heatingCostsPeriodInfos)\r\n data[\"heatingCostsPeriodInfos\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsBuilding {\r\n tollObjectTitle?: string | undefined;\r\n tollObjectId?: number | undefined;\r\n heatingCostsPeriodInfos?: HeatingCostsPeriodInfo[] | undefined;\r\n}\r\n\r\nexport class HeatingCostsPeriodInfo implements IHeatingCostsPeriodInfo {\r\n period?: Date | undefined;\r\n iiValSild?: number | undefined;\r\n giLo?: number | undefined;\r\n iaDL?: number | undefined;\r\n iaQpš?: number | undefined;\r\n kWhm2DL?: number | undefined;\r\n heatingCostsChange?: number | undefined;\r\n\r\n constructor(data?: IHeatingCostsPeriodInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n this.iiValSild = _data[\"iiValSild\"];\r\n this.giLo = _data[\"giLo\"];\r\n this.iaDL = _data[\"iaDL\"];\r\n this.iaQpš = _data[\"iaQpš\"];\r\n this.kWhm2DL = _data[\"kWhm2DL\"];\r\n this.heatingCostsChange = _data[\"heatingCostsChange\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatingCostsPeriodInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatingCostsPeriodInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n data[\"iiValSild\"] = this.iiValSild;\r\n data[\"giLo\"] = this.giLo;\r\n data[\"iaDL\"] = this.iaDL;\r\n data[\"iaQpš\"] = this.iaQpš;\r\n data[\"kWhm2DL\"] = this.kWhm2DL;\r\n data[\"heatingCostsChange\"] = this.heatingCostsChange;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatingCostsPeriodInfo {\r\n period?: Date | undefined;\r\n iiValSild?: number | undefined;\r\n giLo?: number | undefined;\r\n iaDL?: number | undefined;\r\n iaQpš?: number | undefined;\r\n kWhm2DL?: number | undefined;\r\n heatingCostsChange?: number | undefined;\r\n}\r\n\r\nexport class TollObjectInfoFilterWithExprs implements ITollObjectInfoFilterWithExprs {\r\n period?: Date | undefined;\r\n aukstai?: number[] | undefined;\r\n fromLon?: number | undefined;\r\n fromLat?: number | undefined;\r\n toLon?: number | undefined;\r\n toLat?: number | undefined;\r\n objectIds?: number[] | undefined;\r\n renovuotas?: boolean | undefined;\r\n naujaStatyba?: boolean | undefined;\r\n statybosMetaiNuo?: number | undefined;\r\n statybosMetaiIki?: number | undefined;\r\n administratorius?: string | undefined;\r\n prižiūrėtojas?: string | undefined;\r\n objektoPaskirtisValue?: string | undefined;\r\n quicklyFoundTollObject?: TollObjectSearchVM | undefined;\r\n addressSearch?: string | undefined;\r\n readonly rodytiŽemėlapyje?: boolean | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: TollObjectInfoFilterWithExprsOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: ITollObjectInfoFilterWithExprs) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"aukstai\"])) {\r\n this.aukstai = [] as any;\r\n for (let item of _data[\"aukstai\"])\r\n this.aukstai!.push(item);\r\n }\r\n this.fromLon = _data[\"fromLon\"];\r\n this.fromLat = _data[\"fromLat\"];\r\n this.toLon = _data[\"toLon\"];\r\n this.toLat = _data[\"toLat\"];\r\n if (Array.isArray(_data[\"objectIds\"])) {\r\n this.objectIds = [] as any;\r\n for (let item of _data[\"objectIds\"])\r\n this.objectIds!.push(item);\r\n }\r\n this.renovuotas = _data[\"renovuotas\"];\r\n this.naujaStatyba = _data[\"naujaStatyba\"];\r\n this.statybosMetaiNuo = _data[\"statybosMetaiNuo\"];\r\n this.statybosMetaiIki = _data[\"statybosMetaiIki\"];\r\n this.administratorius = _data[\"administratorius\"];\r\n this.prižiūrėtojas = _data[\"prižiūrėtojas\"];\r\n this.objektoPaskirtisValue = _data[\"objektoPaskirtisValue\"];\r\n this.quicklyFoundTollObject = _data[\"quicklyFoundTollObject\"] ? TollObjectSearchVM.fromJS(_data[\"quicklyFoundTollObject\"]) : undefined;\r\n this.addressSearch = _data[\"addressSearch\"];\r\n (this).rodytiŽemėlapyje = _data[\"rodytiŽemėlapyje\"];\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TollObjectInfoFilterWithExprs {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TollObjectInfoFilterWithExprs();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n if (Array.isArray(this.aukstai)) {\r\n data[\"aukstai\"] = [];\r\n for (let item of this.aukstai)\r\n data[\"aukstai\"].push(item);\r\n }\r\n data[\"fromLon\"] = this.fromLon;\r\n data[\"fromLat\"] = this.fromLat;\r\n data[\"toLon\"] = this.toLon;\r\n data[\"toLat\"] = this.toLat;\r\n if (Array.isArray(this.objectIds)) {\r\n data[\"objectIds\"] = [];\r\n for (let item of this.objectIds)\r\n data[\"objectIds\"].push(item);\r\n }\r\n data[\"renovuotas\"] = this.renovuotas;\r\n data[\"naujaStatyba\"] = this.naujaStatyba;\r\n data[\"statybosMetaiNuo\"] = this.statybosMetaiNuo;\r\n data[\"statybosMetaiIki\"] = this.statybosMetaiIki;\r\n data[\"administratorius\"] = this.administratorius;\r\n data[\"prižiūrėtojas\"] = this.prižiūrėtojas;\r\n data[\"objektoPaskirtisValue\"] = this.objektoPaskirtisValue;\r\n data[\"quicklyFoundTollObject\"] = this.quicklyFoundTollObject ? this.quicklyFoundTollObject.toJSON() : undefined;\r\n data[\"addressSearch\"] = this.addressSearch;\r\n data[\"rodytiŽemėlapyje\"] = this.rodytiŽemėlapyje;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITollObjectInfoFilterWithExprs {\r\n period?: Date | undefined;\r\n aukstai?: number[] | undefined;\r\n fromLon?: number | undefined;\r\n fromLat?: number | undefined;\r\n toLon?: number | undefined;\r\n toLat?: number | undefined;\r\n objectIds?: number[] | undefined;\r\n renovuotas?: boolean | undefined;\r\n naujaStatyba?: boolean | undefined;\r\n statybosMetaiNuo?: number | undefined;\r\n statybosMetaiIki?: number | undefined;\r\n administratorius?: string | undefined;\r\n prižiūrėtojas?: string | undefined;\r\n objektoPaskirtisValue?: string | undefined;\r\n quicklyFoundTollObject?: TollObjectSearchVM | undefined;\r\n addressSearch?: string | undefined;\r\n rodytiŽemėlapyje?: boolean | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: TollObjectInfoFilterWithExprsOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class TollObjectSearchVM implements ITollObjectSearchVM {\r\n id?: number | undefined;\r\n address?: string | undefined;\r\n šildomasPlotas?: number | undefined;\r\n kwhm2DL?: number | undefined;\r\n šilumosKainaEurm2?: number | undefined;\r\n\r\n constructor(data?: ITollObjectSearchVM) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.address = _data[\"address\"];\r\n this.šildomasPlotas = _data[\"šildomasPlotas\"];\r\n this.kwhm2DL = _data[\"kwhm2DL\"];\r\n this.šilumosKainaEurm2 = _data[\"šilumosKainaEurm2\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TollObjectSearchVM {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TollObjectSearchVM();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"address\"] = this.address;\r\n data[\"šildomasPlotas\"] = this.šildomasPlotas;\r\n data[\"kwhm2DL\"] = this.kwhm2DL;\r\n data[\"šilumosKainaEurm2\"] = this.šilumosKainaEurm2;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITollObjectSearchVM {\r\n id?: number | undefined;\r\n address?: string | undefined;\r\n šildomasPlotas?: number | undefined;\r\n kwhm2DL?: number | undefined;\r\n šilumosKainaEurm2?: number | undefined;\r\n}\r\n\r\nexport class TollObjectInfoResult implements ITollObjectInfoResult {\r\n list?: TollObjectInfo[] | undefined;\r\n prižiūrėtojai?: Prižiūrėtojas[] | undefined;\r\n administratoriai?: Administratorius[] | undefined;\r\n objektoPaskirtys?: ObjektoPaskirtis[] | undefined;\r\n\r\n constructor(data?: ITollObjectInfoResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"list\"])) {\r\n this.list = [] as any;\r\n for (let item of _data[\"list\"])\r\n this.list!.push(TollObjectInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"prižiūrėtojai\"])) {\r\n this.prižiūrėtojai = [] as any;\r\n for (let item of _data[\"prižiūrėtojai\"])\r\n this.prižiūrėtojai!.push(Prižiūrėtojas.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"administratoriai\"])) {\r\n this.administratoriai = [] as any;\r\n for (let item of _data[\"administratoriai\"])\r\n this.administratoriai!.push(Administratorius.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"objektoPaskirtys\"])) {\r\n this.objektoPaskirtys = [] as any;\r\n for (let item of _data[\"objektoPaskirtys\"])\r\n this.objektoPaskirtys!.push(ObjektoPaskirtis.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TollObjectInfoResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TollObjectInfoResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.list)) {\r\n data[\"list\"] = [];\r\n for (let item of this.list)\r\n data[\"list\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.prižiūrėtojai)) {\r\n data[\"prižiūrėtojai\"] = [];\r\n for (let item of this.prižiūrėtojai)\r\n data[\"prižiūrėtojai\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.administratoriai)) {\r\n data[\"administratoriai\"] = [];\r\n for (let item of this.administratoriai)\r\n data[\"administratoriai\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.objektoPaskirtys)) {\r\n data[\"objektoPaskirtys\"] = [];\r\n for (let item of this.objektoPaskirtys)\r\n data[\"objektoPaskirtys\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITollObjectInfoResult {\r\n list?: TollObjectInfo[] | undefined;\r\n prižiūrėtojai?: Prižiūrėtojas[] | undefined;\r\n administratoriai?: Administratorius[] | undefined;\r\n objektoPaskirtys?: ObjektoPaskirtis[] | undefined;\r\n}\r\n\r\nexport class TollObjectInfo implements ITollObjectInfo {\r\n title?: string | undefined;\r\n address?: string | undefined;\r\n location?: PointCoords | undefined;\r\n tollObjectId?: number | undefined;\r\n objectType?: string | undefined;\r\n stiInfoItems?: STIInfoItem[] | undefined;\r\n\r\n constructor(data?: ITollObjectInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.address = _data[\"address\"];\r\n this.location = _data[\"location\"] ? PointCoords.fromJS(_data[\"location\"]) : undefined;\r\n this.tollObjectId = _data[\"tollObjectId\"];\r\n this.objectType = _data[\"objectType\"];\r\n if (Array.isArray(_data[\"stiInfoItems\"])) {\r\n this.stiInfoItems = [] as any;\r\n for (let item of _data[\"stiInfoItems\"])\r\n this.stiInfoItems!.push(STIInfoItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TollObjectInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TollObjectInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"address\"] = this.address;\r\n data[\"location\"] = this.location ? this.location.toJSON() : undefined;\r\n data[\"tollObjectId\"] = this.tollObjectId;\r\n data[\"objectType\"] = this.objectType;\r\n if (Array.isArray(this.stiInfoItems)) {\r\n data[\"stiInfoItems\"] = [];\r\n for (let item of this.stiInfoItems)\r\n data[\"stiInfoItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITollObjectInfo {\r\n title?: string | undefined;\r\n address?: string | undefined;\r\n location?: PointCoords | undefined;\r\n tollObjectId?: number | undefined;\r\n objectType?: string | undefined;\r\n stiInfoItems?: STIInfoItem[] | undefined;\r\n}\r\n\r\nexport class Prižiūrėtojas implements IPrižiūrėtojas {\r\n name?: string | undefined;\r\n\r\n constructor(data?: IPrižiūrėtojas) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Prižiūrėtojas {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Prižiūrėtojas();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPrižiūrėtojas {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class Administratorius implements IAdministratorius {\r\n name?: string | undefined;\r\n\r\n constructor(data?: IAdministratorius) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Administratorius {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Administratorius();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAdministratorius {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class ObjektoPaskirtis implements IObjektoPaskirtis {\r\n name?: string | undefined;\r\n\r\n constructor(data?: IObjektoPaskirtis) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjektoPaskirtis {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjektoPaskirtis();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IObjektoPaskirtis {\r\n name?: string | undefined;\r\n}\r\n\r\nexport class PointCoords implements IPointCoords {\r\n lon?: number | undefined;\r\n lat?: number | undefined;\r\n lonDouble?: number | undefined;\r\n latDouble?: number | undefined;\r\n\r\n constructor(data?: IPointCoords) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lon = _data[\"lon\"];\r\n this.lat = _data[\"lat\"];\r\n this.lonDouble = _data[\"lonDouble\"];\r\n this.latDouble = _data[\"latDouble\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PointCoords {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PointCoords();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lon\"] = this.lon;\r\n data[\"lat\"] = this.lat;\r\n data[\"lonDouble\"] = this.lonDouble;\r\n data[\"latDouble\"] = this.latDouble;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPointCoords {\r\n lon?: number | undefined;\r\n lat?: number | undefined;\r\n lonDouble?: number | undefined;\r\n latDouble?: number | undefined;\r\n}\r\n\r\nexport class STIInfoItem implements ISTIInfoItem {\r\n period?: Date | undefined;\r\n coords?: PointCoords | undefined;\r\n stories?: number | undefined;\r\n newlyBuilt?: boolean | undefined;\r\n renovated?: boolean | undefined;\r\n renovationDate?: Date | undefined;\r\n buildingDate?: Date | undefined;\r\n energyClass?: string | undefined;\r\n boilerRoomType?: string | undefined;\r\n administrator?: string | undefined;\r\n superintendent?: string | undefined;\r\n giLo?: number | undefined;\r\n iiValSild?: number | undefined;\r\n iaPlotasSildSum?: number | undefined;\r\n iaDienolaipsniai?: number | undefined;\r\n isdalintasSilumosKiekisKVRuosti?: number | undefined;\r\n isdalintasSilumosKiekisSuNepaskirstytuKV?: number | undefined;\r\n isdalintasSilumosKiekisCirkuliacijai?: number | undefined;\r\n iaQpbr?: number | undefined;\r\n iaQpš?: number | undefined;\r\n komerciniaiNuostoliai?: number | undefined;\r\n iaQlygM2?: number | undefined;\r\n iaQlygM3?: number | undefined;\r\n faktSilumosSantykis?: number | undefined;\r\n tariffŠILDYMOEVENTSERVICEKODAIValue?: number | undefined;\r\n averageHeatPrice?: number | undefined;\r\n objektoPaskirtisValue?: string | undefined;\r\n\r\n constructor(data?: ISTIInfoItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n this.coords = _data[\"coords\"] ? PointCoords.fromJS(_data[\"coords\"]) : undefined;\r\n this.stories = _data[\"stories\"];\r\n this.newlyBuilt = _data[\"newlyBuilt\"];\r\n this.renovated = _data[\"renovated\"];\r\n this.renovationDate = _data[\"renovationDate\"] ? new Date(_data[\"renovationDate\"].toString()) : undefined;\r\n this.buildingDate = _data[\"buildingDate\"] ? new Date(_data[\"buildingDate\"].toString()) : undefined;\r\n this.energyClass = _data[\"energyClass\"];\r\n this.boilerRoomType = _data[\"boilerRoomType\"];\r\n this.administrator = _data[\"administrator\"];\r\n this.superintendent = _data[\"superintendent\"];\r\n this.giLo = _data[\"giLo\"];\r\n this.iiValSild = _data[\"iiValSild\"];\r\n this.iaPlotasSildSum = _data[\"iaPlotasSildSum\"];\r\n this.iaDienolaipsniai = _data[\"iaDienolaipsniai\"];\r\n this.isdalintasSilumosKiekisKVRuosti = _data[\"isdalintasSilumosKiekisKVRuosti\"];\r\n this.isdalintasSilumosKiekisSuNepaskirstytuKV = _data[\"isdalintasSilumosKiekisSuNepaskirstytuKV\"];\r\n this.isdalintasSilumosKiekisCirkuliacijai = _data[\"isdalintasSilumosKiekisCirkuliacijai\"];\r\n this.iaQpbr = _data[\"iaQpbr\"];\r\n this.iaQpš = _data[\"iaQpš\"];\r\n this.komerciniaiNuostoliai = _data[\"komerciniaiNuostoliai\"];\r\n this.iaQlygM2 = _data[\"iaQlygM2\"];\r\n this.iaQlygM3 = _data[\"iaQlygM3\"];\r\n this.faktSilumosSantykis = _data[\"faktSilumosSantykis\"];\r\n this.tariffŠILDYMOEVENTSERVICEKODAIValue = _data[\"tariffŠILDYMOEVENTSERVICEKODAIValue\"];\r\n this.averageHeatPrice = _data[\"averageHeatPrice\"];\r\n this.objektoPaskirtisValue = _data[\"objektoPaskirtisValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): STIInfoItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new STIInfoItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n data[\"coords\"] = this.coords ? this.coords.toJSON() : undefined;\r\n data[\"stories\"] = this.stories;\r\n data[\"newlyBuilt\"] = this.newlyBuilt;\r\n data[\"renovated\"] = this.renovated;\r\n data[\"renovationDate\"] = this.renovationDate ? this.renovationDate.toISOString() : undefined;\r\n data[\"buildingDate\"] = this.buildingDate ? this.buildingDate.toISOString() : undefined;\r\n data[\"energyClass\"] = this.energyClass;\r\n data[\"boilerRoomType\"] = this.boilerRoomType;\r\n data[\"administrator\"] = this.administrator;\r\n data[\"superintendent\"] = this.superintendent;\r\n data[\"giLo\"] = this.giLo;\r\n data[\"iiValSild\"] = this.iiValSild;\r\n data[\"iaPlotasSildSum\"] = this.iaPlotasSildSum;\r\n data[\"iaDienolaipsniai\"] = this.iaDienolaipsniai;\r\n data[\"isdalintasSilumosKiekisKVRuosti\"] = this.isdalintasSilumosKiekisKVRuosti;\r\n data[\"isdalintasSilumosKiekisSuNepaskirstytuKV\"] = this.isdalintasSilumosKiekisSuNepaskirstytuKV;\r\n data[\"isdalintasSilumosKiekisCirkuliacijai\"] = this.isdalintasSilumosKiekisCirkuliacijai;\r\n data[\"iaQpbr\"] = this.iaQpbr;\r\n data[\"iaQpš\"] = this.iaQpš;\r\n data[\"komerciniaiNuostoliai\"] = this.komerciniaiNuostoliai;\r\n data[\"iaQlygM2\"] = this.iaQlygM2;\r\n data[\"iaQlygM3\"] = this.iaQlygM3;\r\n data[\"faktSilumosSantykis\"] = this.faktSilumosSantykis;\r\n data[\"tariffŠILDYMOEVENTSERVICEKODAIValue\"] = this.tariffŠILDYMOEVENTSERVICEKODAIValue;\r\n data[\"averageHeatPrice\"] = this.averageHeatPrice;\r\n data[\"objektoPaskirtisValue\"] = this.objektoPaskirtisValue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISTIInfoItem {\r\n period?: Date | undefined;\r\n coords?: PointCoords | undefined;\r\n stories?: number | undefined;\r\n newlyBuilt?: boolean | undefined;\r\n renovated?: boolean | undefined;\r\n renovationDate?: Date | undefined;\r\n buildingDate?: Date | undefined;\r\n energyClass?: string | undefined;\r\n boilerRoomType?: string | undefined;\r\n administrator?: string | undefined;\r\n superintendent?: string | undefined;\r\n giLo?: number | undefined;\r\n iiValSild?: number | undefined;\r\n iaPlotasSildSum?: number | undefined;\r\n iaDienolaipsniai?: number | undefined;\r\n isdalintasSilumosKiekisKVRuosti?: number | undefined;\r\n isdalintasSilumosKiekisSuNepaskirstytuKV?: number | undefined;\r\n isdalintasSilumosKiekisCirkuliacijai?: number | undefined;\r\n iaQpbr?: number | undefined;\r\n iaQpš?: number | undefined;\r\n komerciniaiNuostoliai?: number | undefined;\r\n iaQlygM2?: number | undefined;\r\n iaQlygM3?: number | undefined;\r\n faktSilumosSantykis?: number | undefined;\r\n tariffŠILDYMOEVENTSERVICEKODAIValue?: number | undefined;\r\n averageHeatPrice?: number | undefined;\r\n objektoPaskirtisValue?: string | undefined;\r\n}\r\n\r\nexport class ObjSearchFilter implements IObjSearchFilter {\r\n query?: string | undefined;\r\n id?: number | undefined;\r\n period?: Date | undefined;\r\n compId?: string | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: ObjSearchFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n readonly start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n\r\n constructor(data?: IObjSearchFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.query = _data[\"query\"];\r\n this.id = _data[\"id\"];\r\n this.period = _data[\"period\"] ? new Date(_data[\"period\"].toString()) : undefined;\r\n this.compId = _data[\"compId\"];\r\n this.ordercol = _data[\"ordercol\"];\r\n this.orderdir = _data[\"orderdir\"];\r\n this.orderby = _data[\"orderby\"];\r\n this.length = _data[\"length\"];\r\n (this).start = _data[\"start\"];\r\n this.pagenr = _data[\"pagenr\"];\r\n this.totalCount = _data[\"totalCount\"];\r\n this.filteredCount = _data[\"filteredCount\"];\r\n this.loadAll = _data[\"loadAll\"];\r\n this.filterName = _data[\"filterName\"];\r\n this.newFilterName = _data[\"newFilterName\"];\r\n this.fetchCount = _data[\"fetchCount\"];\r\n this.searchstr = _data[\"searchstr\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjSearchFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjSearchFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"query\"] = this.query;\r\n data[\"id\"] = this.id;\r\n data[\"period\"] = this.period ? this.period.toISOString() : undefined;\r\n data[\"compId\"] = this.compId;\r\n data[\"ordercol\"] = this.ordercol;\r\n data[\"orderdir\"] = this.orderdir;\r\n data[\"orderby\"] = this.orderby;\r\n data[\"length\"] = this.length;\r\n data[\"start\"] = this.start;\r\n data[\"pagenr\"] = this.pagenr;\r\n data[\"totalCount\"] = this.totalCount;\r\n data[\"filteredCount\"] = this.filteredCount;\r\n data[\"loadAll\"] = this.loadAll;\r\n data[\"filterName\"] = this.filterName;\r\n data[\"newFilterName\"] = this.newFilterName;\r\n data[\"fetchCount\"] = this.fetchCount;\r\n data[\"searchstr\"] = this.searchstr;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IObjSearchFilter {\r\n query?: string | undefined;\r\n id?: number | undefined;\r\n period?: Date | undefined;\r\n compId?: string | undefined;\r\n ordercol?: string | undefined;\r\n orderdir?: ObjSearchFilterOrderdir | undefined;\r\n orderby?: number | undefined;\r\n length?: number | undefined;\r\n start?: number | undefined;\r\n pagenr?: number | undefined;\r\n totalCount?: number | undefined;\r\n filteredCount?: number | undefined;\r\n loadAll?: boolean | undefined;\r\n filterName?: string | undefined;\r\n newFilterName?: string | undefined;\r\n fetchCount?: boolean | undefined;\r\n searchstr?: string | undefined;\r\n}\r\n\r\nexport class ObjSearchResult implements IObjSearchResult {\r\n result?: TollObjectSearchVM[] | undefined;\r\n\r\n constructor(data?: IObjSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"result\"])) {\r\n this.result = [] as any;\r\n for (let item of _data[\"result\"])\r\n this.result!.push(TollObjectSearchVM.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ObjSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ObjSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.result)) {\r\n data[\"result\"] = [];\r\n for (let item of this.result)\r\n data[\"result\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IObjSearchResult {\r\n result?: TollObjectSearchVM[] | undefined;\r\n}\r\n\r\nexport enum CompareiakWhm2DlFilterBaseOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport enum CompareGroupSameHeightFilterOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport enum CompareHeatingSeasonsFilterOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport enum TollObjectInfoFilterWithExprsOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport enum ObjSearchFilterOrderdir {\r\n _0 = 0,\r\n _1 = 1,\r\n}\r\n\r\nexport class SwaggerException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isSwaggerException = true;\r\n\r\n static isSwaggerException(obj: any): obj is SwaggerException {\r\n return obj.isSwaggerException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new SwaggerException(message, status, response, headers, null);\r\n}\r\n","import { NgModule, Provider } from '@angular/core';\r\nimport { ObjectsAdminClient, M2SyncClient } from \"./ZemApi/Admin/AdminClientZemApi\";\r\nimport { LocalizationClient } from \"./ZemApi/Localization/LocalizationZemApi\";\r\nimport { Client, ObjectsClient } from \"./ZemApi/TollObjects/TollObjectZemApi\";\r\nimport { UsersClient } from \"./ZemApi/Auth/AuthClientZemApi\";\r\n\r\n//let clientClasses = [\r\n// //dėti klientus čia\r\n\r\n\r\n\r\n\r\n\r\n// LocalizationClient,\r\n// ObjectsAdminClient,\r\n// M2SyncClient,\r\n// Client,\r\n// ObjectsClient\r\n\r\n\r\n\r\n//];\r\n\r\n//let provs = [];\r\n\r\n\r\n//clientClasses.forEach(function (clientClass) {\r\n// console.log(clientClass);\r\n// provs.push({\r\n// provide: clientClass, useFactory: function () { return new clientClass(); }\r\n// });\r\n//});\r\n\r\n//console.log('provided');\r\n\r\n@NgModule({\r\n providers:\r\n [\r\n { provide: LocalizationClient, useFactory: () => new LocalizationClient() },\r\n { provide: ObjectsAdminClient, useFactory: () => new ObjectsAdminClient() },\r\n { provide: M2SyncClient, useFactory: () => new M2SyncClient()},\r\n { provide: Client, useFactory: () => new Client() },\r\n { provide: ObjectsClient, useFactory: () => new ObjectsClient() },\r\n { provide: UsersClient, useFactory: () => new UsersClient() }\r\n\r\n\r\n ]\r\n //provs//autogeneruojama aukščiau\r\n})\r\nexport class DataAccessModule {\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Vycm9yL2Vycm9yLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
{{errorMsg}}
\\r\\n

{{errorDetail}}

\\r\\n\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.css']\r\n})\r\n/** error component*/\r\nexport class ErrorComponent {\r\n /** error ctor */\r\n constructor() {\r\n\r\n }\r\n errorMsg: string;\r\n errorDetail: string;\r\n\r\n ngAfterViewInit() {\r\n console.log(arguments);\r\n console.log(this.errorMsg, this.errorDetail);\r\n }\r\n isDevMode() {\r\n return false;\r\n }\r\n}\r\n","module.exports = \".heatinfo1 {\\r\\n display: block;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.averageAptHeatPrice {\\r\\n font-size: 5em;\\r\\n}\\r\\n\\r\\n\\r\\n.averageAptHeatPriceLabel {\\r\\n font-weight: bold;\\r\\n padding-top: 1em;\\r\\n}\\r\\n\\r\\n\\r\\n.averageHeatPriceWithVAT {\\r\\n font-size: 3em;\\r\\n}\\r\\n\\r\\n\\r\\n.averageHeatPriceWithVATLabel {\\r\\n font-weight: bold;\\r\\n }\\r\\n\\r\\n\\r\\n.heatPricePerkWh{\\r\\n font-size:2em;\\r\\n\\r\\n}\\r\\n\\r\\n\\r\\n.heatPricePerkWhLabel {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n\\r\\n.modal-footer{\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2J1aWxkaW5nLWluZm8tbW9kYWwvYnVpbGRpbmctaW5mby1tb2RhbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtBQUNwQjs7O0FBR0E7RUFDRSxjQUFjO0FBQ2hCOzs7QUFDQTtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7OztBQUtBO0VBQ0UsY0FBYztBQUNoQjs7O0FBQUM7R0FDRSxpQkFBaUI7Q0FDbkI7OztBQUVEO0VBQ0UsYUFBYTs7QUFFZjs7O0FBQ0E7RUFDRSxpQkFBaUI7QUFDbkI7OztBQUVBO0VBQ0UsYUFBYTtFQUNiLDhCQUE4Qjs7QUFFaEMiLCJmaWxlIjoic3JjL2FwcC9tYXAvYnVpbGRpbmctaW5mby1tb2RhbC9idWlsZGluZy1pbmZvLW1vZGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhdGluZm8xIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4uYXZlcmFnZUFwdEhlYXRQcmljZSB7XHJcbiAgZm9udC1zaXplOiA1ZW07XHJcbn1cclxuLmF2ZXJhZ2VBcHRIZWF0UHJpY2VMYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcGFkZGluZy10b3A6IDFlbTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmF2ZXJhZ2VIZWF0UHJpY2VXaXRoVkFUIHtcclxuICBmb250LXNpemU6IDNlbTtcclxufS5hdmVyYWdlSGVhdFByaWNlV2l0aFZBVExhYmVsIHtcclxuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiB9XHJcblxyXG4uaGVhdFByaWNlUGVya1doe1xyXG4gIGZvbnQtc2l6ZToyZW07XHJcblxyXG59XHJcbi5oZWF0UHJpY2VQZXJrV2hMYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5tb2RhbC1mb290ZXJ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG59XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
Pastato informacija
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Administratorius{{sti.administrator}}
Adresas{{p.address}}
Aukštų sk.{{sti.stories}}
Daugiabutis{{p.title}}
Koordinatės{{p.location.lat | kdecimal}}° {{p.location.lon|kdecimal}}°
Nauja statyba{{sti.newlyBuilt | display}}
Prižiūrėtojas{{sti.superintendent}}
Renovacijos data{{sti.renovationDate | display }}
Renovuotas{{sti.renovated | display}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
Telefone ataskaitos nepalaikomos
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Palyginimai, grafikai ir t.t.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Palyginimai, grafikai ir t.t.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","import { Component, Input, ViewChild, ChangeDetectorRef, Injector } from '@angular/core';\r\nimport { TollObjectInfo, STIInfoItem, PointCoords } from \"../../dataAccess/ZemApi/TollObjects/TollObjectZemApi\";\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { Site } from \"../../common/services/site.service\";\r\nimport { ComparisonService } from \"../comparison/comparison.service\";\r\nimport { GroupSameHeightComparisonComponent } from\r\n \"../comparison/group-same-height-comparison/group-same-height-comparison.component\";\r\nimport { HeatingSeasonsComparisonComponent } from\r\n \"../comparison/heating-seasons-comparison/heating-seasons-comparison.component\";\r\nimport { ComparableItem } from '../comparison/models/ComparableItem';\r\nimport { MapService } from '../services/map.service';\r\nimport { ObjectAdminListItem } from \"../../dataAccess/ZemApi/Admin/AdminClientZemApi\";\r\nimport { ObjectLocationMapModalComponent } from\r\n \"../../admin/objects/object-location-map-modal/object-location-map-modal.component\";\r\nimport { AppComponentBase } from \"../../common/app-component-base\";\r\nimport { AppConfig } from \"../../app.config\";\r\n\r\n@Component({\r\n selector: 'app-building-info-modal',\r\n templateUrl: './building-info-modal.component.html',\r\n styleUrls: ['./building-info-modal.component.css']\r\n})\r\n/** BuildingInfoModal component*/\r\nexport class BuildingInfoModalComponent extends AppComponentBase {\r\n adminPermission:boolean = false;\r\n @Input(\"p\") p: TollObjectInfo;\r\n get sti(): STIInfoItem {\r\n if (this.p && this.p.stiInfoItems && this.p.stiInfoItems.length)\r\n return this.p.stiInfoItems[0];\r\n else return new STIInfoItem();\r\n }\r\n\r\n\r\n\r\n constructor(public bsModalRef: BsModalRef,\r\n public mapService: MapService, public compservice: ComparisonService, private modalService: BsModalService,\r\n private injector: Injector) {\r\n super(injector);\r\n try {\r\n if (AppConfig.settings.db.permissions) {\r\n this.adminPermission = AppConfig.settings.db.permissions.indexOf('Admin') != -1;\r\n }\r\n } catch (exc) { console.log(exc);}\r\n }\r\n compareSameHeight() {\r\n this.compservice.compareSameHeight(this.p.tollObjectId);\r\n this.modalService.show(GroupSameHeightComparisonComponent, {'class':'wide-modal'});\r\n }\r\n compareHeatingSeasons() {\r\n this.compservice.compareHeatingSeasons(this.p.tollObjectId);\r\n this.modalService.show(HeatingSeasonsComparisonComponent, { 'class': 'wide-modal' });\r\n }\r\n\r\n addToComparison() {\r\n this.compservice.pushComparable({ period: null, title: this.p.title, tollObjectId: this.p.tollObjectId });\r\n\r\n this.bsModalRef.hide();\r\n\r\n var mapService = this.injector.get(MapService);//nes injection yra before initialization\r\n setTimeout(function () {//kitaip clickOutside uždaro\r\n mapService.sideopened = true;\r\n mapService.ActivateTab(\"ataskaitosTab\");\r\n },0);\r\n }\r\n\r\n changeObjLocClick(event) {\r\n var that = this;\r\n let obj = new ObjectAdminListItem();\r\n obj.id = that.p.tollObjectId.toString();\r\n obj.coordinates_Override = that.p.location;\r\n\r\n var initialState = {\r\n obj: obj, successCallback: function (result: PointCoords) {\r\n that.success(that.l('Išsaugota'));\r\n that.mapService.getAllPins(that.mapService.currentFilter);\r\n }\r\n };\r\n var modalRef = that.modalService.show(ObjectLocationMapModalComponent, { 'class': 'wide-modal', initialState });\r\n var modalComponent = modalRef.content as ObjectLocationMapModalComponent;\r\n }\r\n}\r\n","module.exports = \".heatinfo1 {\\r\\n display: block;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n\\r\\n.averageAptHeatPrice {\\r\\n font-size: 5em;\\r\\n}\\r\\n\\r\\n\\r\\n.averageAptHeatPriceLabel {\\r\\n font-weight: bold;\\r\\n padding-top: 1em;\\r\\n}\\r\\n\\r\\n\\r\\n.averageHeatPriceWithVAT {\\r\\n font-size: 3em;\\r\\n}\\r\\n\\r\\n\\r\\n.averageHeatPriceWithVATLabel {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n\\r\\n.heatPricePerkWh {\\r\\n font-size: 2em;\\r\\n}\\r\\n\\r\\n\\r\\n.heatPricePerkWhLabel {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n\\r\\n.modal-footer {\\r\\n display: flex;\\r\\n justify-content: space-between;\\r\\n}\\r\\n\\r\\n\\r\\n.ComparisonRange0 {\\r\\n background-color: #7e7e7e;\\r\\n background-color: rgba(126, 126, 126, 0.2);\\r\\n}\\r\\n\\r\\n\\r\\n.ComparisonRange1 {\\r\\n background-color: #cc2c47;\\r\\n background-color: rgba(204, 44, 71, 0.2);\\r\\n}\\r\\n\\r\\n\\r\\n.ComparisonRange2 {\\r\\n background-color: #cbc529;\\r\\n background-color: rgba(203, 197, 41, 0.2);\\r\\n}\\r\\n\\r\\n\\r\\n.ComparisonRange3 {\\r\\n background-color: #25aa22;\\r\\n background-color: rgba(37, 170, 34, 0.2);\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2J1aWxkaW5nLWluZm8tbW9kYWwvxaFpbGR5bWFzLXRhYi/FoWlsZHltYXMtdGFiLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0FBQ3BCOzs7QUFHQTtFQUNFLGNBQWM7QUFDaEI7OztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtBQUNsQjs7O0FBS0E7RUFDRSxjQUFjO0FBQ2hCOzs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOzs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsOEJBQThCO0FBQ2hDOzs7QUFHQTtFQUNFLHlCQUF5QjtFQUN6QiwwQ0FBMEM7QUFDNUM7OztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLHdDQUF3QztBQUMxQzs7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIseUNBQXlDO0FBQzNDOzs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qix3Q0FBd0M7QUFDMUMiLCJmaWxlIjoic3JjL2FwcC9tYXAvYnVpbGRpbmctaW5mby1tb2RhbC/FoWlsZHltYXMtdGFiL8WhaWxkeW1hcy10YWIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWF0aW5mbzEge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuXHJcbi5hdmVyYWdlQXB0SGVhdFByaWNlIHtcclxuICBmb250LXNpemU6IDVlbTtcclxufVxyXG5cclxuLmF2ZXJhZ2VBcHRIZWF0UHJpY2VMYWJlbCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcGFkZGluZy10b3A6IDFlbTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuLmF2ZXJhZ2VIZWF0UHJpY2VXaXRoVkFUIHtcclxuICBmb250LXNpemU6IDNlbTtcclxufVxyXG5cclxuLmF2ZXJhZ2VIZWF0UHJpY2VXaXRoVkFUTGFiZWwge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uaGVhdFByaWNlUGVya1doIHtcclxuICBmb250LXNpemU6IDJlbTtcclxufVxyXG5cclxuLmhlYXRQcmljZVBlcmtXaExhYmVsIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm1vZGFsLWZvb3RlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcblxyXG4uQ29tcGFyaXNvblJhbmdlMCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdlN2U3ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNiwgMTI2LCAxMjYsIDAuMik7XHJcbn1cclxuXHJcbi5Db21wYXJpc29uUmFuZ2UxIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2MyYzQ3O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCA0NCwgNzEsIDAuMik7XHJcbn1cclxuXHJcbi5Db21wYXJpc29uUmFuZ2UyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JjNTI5O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAzLCAxOTcsIDQxLCAwLjIpO1xyXG59XHJcblxyXG4uQ29tcGFyaXNvblJhbmdlMyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1YWEyMjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCAxNzAsIDM0LCAwLjIpO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Apskaitos periodas{{sti.period | period }}
Vidutinė lauko oro temperatūra{{sti.giLo |display}} °C
Šildymo valandos{{sti.iiValSild |display}}
Šildomas plotas{{sti.iaPlotasSildSum | display}} m²
Dienolaipsniai{{sti.iaDienolaipsniai | display}} DL
Išdalinta šiluma, kWh
Karštam vandeniui ruošti{{sti.isdalintasSilumosKiekisKVRuosti|display}}
Su nepaskirstytu karštu vandeniu{{sti.isdalintasSilumosKiekisSuNepaskirstytuKV|display}}
Cirkuliacijai{{sti.isdalintasSilumosKiekisCirkuliacijai|display}}
Bendroms reikmėms{{sti.iaQpbr|display}}
Patalpų šildymui{{sti['iaQpš']|display}}
Komerciniai nuostoliai{{sti.komerciniaiNuostoliai|display}}
Lyginamasis santykis, kWh/DL/m2{{sti.iaQlygM2|display}}
Lyginamasis santykis, kWh/DL/m3{{sti.iaQlygM3|display}}
Faktinis šilumos sąntykis, kWh/m2{{sti.faktSilumosSantykis|display}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{(sti.averageHeatPrice* silumosPVM * 60)|display:{precision:2} }} €\\r\\n \\r\\n Mokestis už vidutinio buto (60 m2) šildymą\\r\\n \\r\\n {{sti.averageHeatPrice* silumosPVM | display:{precision:2} }} €/m2\\r\\n Vidutinis mokestis už šildymą\\r\\n\\r\\n
\\r\\n {{(sti['tariffŠILDYMOEVENTSERVICEKODAIValue'] * silumosPVM) |display:{precision:6} }} €/kWh\\r\\n Šilumos kaina su PVM\\r\\n
\\r\\n
\\r\\n\"","import { Component, Input } from '@angular/core';\r\nimport { STIInfoItem } from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { Site } from 'src/app/common/services/site.service';\r\n\r\n@Component({\r\n selector: 'app-sildymas-tab',\r\n templateUrl: './šildymas-tab.component.html',\r\n styleUrls: ['./šildymas-tab.component.css']\r\n})\r\n/** ŠildymasTab component*/\r\nexport class ŠildymasTabComponent {\r\n @Input() sti: STIInfoItem;\r\n get silumosPVM(): number {\r\n return Site.ŠilumosPVM;\r\n }\r\n constructor() {\r\n\r\n }\r\n}\r\n","module.exports = \"\\r\\n.šiandiena\\r\\n{\\r\\n background:green;\\r\\n\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2NvbXBhcmlzb24vRm9ybUNvbnRyb2xzL3BlcmlvZC1waWNrZXIvcGVyaW9kLXBpY2tlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTs7RUFFRSxnQkFBZ0I7O0FBRWxCIiwiZmlsZSI6InNyYy9hcHAvbWFwL2NvbXBhcmlzb24vRm9ybUNvbnRyb2xzL3BlcmlvZC1waWNrZXIvcGVyaW9kLXBpY2tlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi7FoWlhbmRpZW5hXHJcbntcclxuICBiYWNrZ3JvdW5kOmdyZWVuO1xyXG5cclxufVxyXG4iXX0= */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, Input, EventEmitter, Output, ViewChild } from '@angular/core';\r\nimport { ComparisonService } from '../../comparison.service';\r\n//import { LocService } from 'src/app/common/localizations/loc.service';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { AppConfig } from \"../../../../app.config\";\r\n\r\n@Component({\r\n selector: 'compare-period-picker',\r\n templateUrl: './period-picker.component.html',\r\n styleUrls: ['./period-picker.component.css']\r\n})\r\n/** PeriodFromPicker component*/\r\nexport class PeriodPickerComponent {\r\n /** PeriodFromPicker ctor */\r\n @Input() public period: Date;\r\n @Input() public placeholder: string = '';\r\n @Output() periodChange: EventEmitter = new EventEmitter();\r\n //@ViewChild('picker') picker: Calendar;\r\n constructor(public compService: ComparisonService//, public locService: LocService\r\n , private localeService: BsLocaleService\r\n ) {\r\n localeService.use(AppConfig.settings.locale);\r\n }\r\n\r\n onChange(newPeriod) {\r\n //var per = newPeriod;\r\n\r\n //if (!per.getFullYear)\r\n // per = this.period;\r\n this.periodChange.emit(new Date(newPeriod));\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21hcC9jb21wYXJpc29uL0Zvcm1Db250cm9scy9wZXJpb2QtdG8tcGlja2VyL3BlcmlvZC10by1waWNrZXIuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n\\r\\n\"","import { Component, Input, EventEmitter, Output } from '@angular/core';\r\nimport { ComparisonService } from '../../comparison.service';\r\nimport { LocService } from 'src/app/common/localizations/loc.service';\r\n\r\n@Component({\r\n selector: 'compare-period-to-picker',\r\n templateUrl: './period-to-picker.component.html',\r\n styleUrls: ['./period-to-picker.component.css']\r\n})\r\n/** PeriodToPicker component*/\r\nexport class PeriodToPickerComponent {\r\n @Input() public periodTo: Date;\r\n @Output() periodToChange: EventEmitter = new EventEmitter();\r\n constructor(public compService: ComparisonService, public locService: LocService) {\r\n var that = this;\r\n setTimeout(function () {\r\n that.periodTo = that.compService.STIPeriodTo();\r\n that.onChange();\r\n }, 10);\r\n }\r\n\r\n onChange() {\r\n this.periodToChange.emit(this.periodTo);\r\n }\r\n}\r\n","module.exports = \".comparison-comp {\\r\\n overflow-y: auto;\\r\\n height: calc(100vh - 40px);\\r\\n}\\r\\n.comparison-list {\\r\\n list-style: none;\\r\\n padding:0;\\r\\n}\\r\\n.comparison-list .item-title {\\r\\n padding:5px;\\r\\n}\\r\\n/*.fill-height-or-more {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n .fill-height-or-more > div {\\r\\n flex: 1;\\r\\n }*/\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2NvbXBhcmlzb24vY29tcGFyaXNvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtBQUM1QjtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFNBQVM7QUFDWDtBQUNBO0VBQ0UsV0FBVztBQUNiO0FBRUE7Ozs7OztJQU1JIiwiZmlsZSI6InNyYy9hcHAvbWFwL2NvbXBhcmlzb24vY29tcGFyaXNvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbXBhcmlzb24tY29tcCB7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcclxufVxyXG4uY29tcGFyaXNvbi1saXN0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6MDtcclxufVxyXG4uY29tcGFyaXNvbi1saXN0IC5pdGVtLXRpdGxlIHtcclxuICBwYWRkaW5nOjVweDtcclxufVxyXG5cclxuLyouZmlsbC1oZWlnaHQtb3ItbW9yZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcbiAgLmZpbGwtaGVpZ2h0LW9yLW1vcmUgPiBkaXYge1xyXG4gICAgZmxleDogMTtcclxuICB9Ki9cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"
\\r\\n

Galite palyginti 2 ar daugiau pastatų.

\\r\\n \\r\\n
\\r\\n

{{ item.title }}

\\r\\n
\\r\\n\\r\\n
1\\\" class=\\\"row\\\">\\r\\n
\\r\\n {{'Pasirinkite periodą „nuo“'|localize}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Pasirinkite periodą „iki“'|localize}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component } from '@angular/core';\r\nimport { ComparisonService } from './comparison.service';\r\nimport { MsgService } from 'src/app/common/services/msg.service';\r\nimport { MapService } from '../services/map.service';\r\nimport { Kwhm2DlcomparisonComponent } from './kwhm2-dlcomparison/kwhm2-dlcomparison.component';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-comparison',\r\n templateUrl: './comparison.component.html',\r\n styleUrls: ['./comparison.component.css'],\r\n providers: []\r\n})\r\n/** comparison component*/\r\nexport class ComparisonComponent {\r\n /** comparison ctor */\r\n constructor(public service: ComparisonService, private msgService: MsgService, private mapService: MapService, private modalService: BsModalService) {\r\n\r\n }\r\n\r\n //@ViewChild(\"kWhm2DLcomp\") kWhm2DLcomp: Kwhm2DlcomparisonComponent;\r\n //@ViewChild(\"groupsameheightcomp\") groupsameheightcomp: GroupSameHeightComparisonComponent;\r\n\r\n compareBuildings() {\r\n var that = this;\r\n // this.service.getComparisonkWhm2DL()\r\n // .then(function (re) {\r\n var modalRef = that.modalService.show(Kwhm2DlcomparisonComponent, { 'class': 'wide-modal' });\r\n (modalRef.content).comparekWhm2DL();//.compkWhm2DLData = re;\r\n //}).catch(function (re) { that.msgService.error(re);});\r\n this.mapService.sideopened = false;\r\n \r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ComparableItem } from './models/ComparableItem';\r\nimport { MsgService } from 'src/app/common/services/msg.service';\r\nimport { BuildingComparisonClient, CompareiakWhm2DlFilterBase } from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { AppConfig } from 'src/app/app.config';\r\nimport { GroupSameHeightCompService } from './group-same-height-comparison/group-same-height-comp.service';\r\nimport { HeatingSeasonsCompService } from './heating-seasons-comparison/heating-seasons-comp.service';\r\n\r\n@Injectable()\r\nexport class ComparisonService {\r\n public loadReportCB: any;\r\n constructor(\r\n private messageService: MsgService,\r\n private groupcompservice: GroupSameHeightCompService,\r\n private heatingSeasonsCompService: HeatingSeasonsCompService\r\n ) {\r\n\r\n \r\n\r\n\r\n \r\n var dabar = new Date();\r\n //palyginimas grupėje\r\n groupcompservice.periodFrom = this.STIPeriodFrom();//new Date(dabar.getFullYear() - 1, 9, 1);\r\n groupcompservice.periodTo = this.STIPeriodTo();\r\n\r\n //palyginimas namų pridėtų kwhm2dl\r\n this.periodFrom = groupcompservice.periodFrom;\r\n this.periodTo = this.STIPeriodTo();\r\n }\r\n\r\n public comparables: ComparableItem[]=[];\r\n public periodFrom: Date;\r\n public periodTo: Date;\r\n pushComparable(item: ComparableItem) {\r\n if (this.comparables.filter(c => c.tollObjectId == item.tollObjectId).length) {\r\n this.messageService.error('Objektas jau pridėtas palyginimui');\r\n return;\r\n }\r\n\r\n this.comparables.push(item);\r\n\r\n\r\n }\r\n\r\n STIPeriodFrom() {\r\n var res = new Date(AppConfig.settings.db.STIPeriodFrom);\r\n return res;\r\n }\r\n\r\n STIPeriodTo() {\r\n var res = new Date(AppConfig.settings.db.STIPeriodTo);\r\n return res;\r\n \r\n }\r\n\r\n YearRange() {\r\n var from = (this.STIPeriodFrom() || new Date(1999,0,1)).getFullYear();\r\n var to = (this.STIPeriodTo() || new Date(2040,0,1)).getFullYear();\r\n\r\n var res = from + ':' + to;\r\n return res;\r\n }\r\n \r\n\r\n removeComparable(tollObjectId: number) {\r\n var index = this.comparables.findIndex(c => c.tollObjectId == tollObjectId);\r\n this.comparables.splice(index, 1);\r\n }\r\n\r\n getComparisonkWhm2DL(): Promise {\r\n if (!this.periodFrom || !this.periodTo) {\r\n // this.messageService.error('Periodas nuo ir iki privalomi');\r\n return new Promise(function (resolve, reject) { reject('Periodas nuo ir iki privalomi'); });\r\n }\r\n var filter = new CompareiakWhm2DlFilterBase({\r\n periodFrom: this.periodFrom, periodTo: this.periodTo,\r\n tollObjectIds: this.comparables.map(c => c.tollObjectId)\r\n });\r\n var filterClone = JSON.parse(JSON.stringify(filter));\r\n if(filterClone.periodFrom)\r\n filterClone.periodFrom = new Date(filterClone.periodFrom).getFullYear() + '-' + (new Date(filterClone.periodFrom).getMonth() + 1) + '-01';\r\n if(filterClone.periodTo)\r\n filterClone.periodTo = new Date(filterClone.periodTo).getFullYear() + '-' + (new Date(filterClone.periodTo).getMonth() + 1) + '-01';\r\n\r\n return new BuildingComparisonClient().comparekWhm2DL(filterClone);\r\n }\r\n\r\n compareSameHeight(tollObjectId: number) {\r\n this.groupcompservice.showReport(tollObjectId);\r\n\r\n }\r\n compareHeatingSeasons(tollObjectId: number) {\r\n this.heatingSeasonsCompService.showReport(tollObjectId);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Site } from 'src/app/common/services/site.service';\r\nimport { CompareGroupSameHeightFilter, CompareGroupSameHeightModel, BuildingComparisonClient } from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\n\r\nimport { LocService } from \"../../../common/localizations/loc.service\";\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\n\r\n\r\n@Injectable()\r\nexport class GroupSameHeightCompService {\r\n FormValid() {\r\n var errors=[];\r\n if (!this.tollObjectId)\r\n return false;\r\n\r\n if (this.periodFrom.getTime() > this.periodTo.getTime()){\r\n errors.push(LocService.Translate('PeriodasNuoNegaliBūtiVėlesnisUžPeriodąIki'));\r\n }\r\n for (var key in errors) {\r\n Site.error(errors[key]);\r\n }\r\n return errors.length===0;\r\n }\r\n\r\n public TollObjectTitle: string;\r\n public Aukstu: number;\r\n public NamuGrupeje: number;\r\n tollObjectId: number;\r\n public showinggroupsameheightcomp: boolean = false;\r\n tableData: any[];\r\n tableCols: any[];\r\n compGroupChartData: any;\r\n private _periodFrom: Date;\r\n get periodFrom(): Date { return this._periodFrom }\r\n set periodFrom(value) { this._periodFrom = value;}\r\n private _periodTo: Date;\r\n get periodTo(): Date { return this._periodTo; }\r\n set periodTo(value){ this._periodTo = value;}\r\n public loadReportCB:any;\r\n constructor(private modalService: BsModalService) {\r\n \r\n }\r\n dataIndex: number=null;\r\n showReport(tollObjectId: number) {\r\n\r\n var that = this;\r\n //that.showinggroupsameheightcomp = true;\r\n\r\n that.tollObjectId = tollObjectId;\r\n\r\n this.loadReport();\r\n }\r\n\r\n reportTableCellDisplay(col, row) {\r\n var val = row[col.field];\r\n if (col.field === 'period')\r\n return Site.FormatPeriod(val);\r\n if (typeof val == 'number')\r\n return Site.FormatNumber(val);\r\n return val;\r\n }\r\n\r\n loadReport(cb?: Function) {\r\n var that = this;\r\n\r\n if (!that.FormValid()){\r\n return;\r\n }\r\n\r\n Site.startGlobalLoad();\r\n\r\n var filter = new CompareGroupSameHeightFilter({ tollObjectIds: [that.tollObjectId], periodFrom: that.periodFrom, periodTo: that.periodTo });\r\n var filterClone = JSON.parse(JSON.stringify(filter));\r\n\r\n if (filterClone.periodFrom)\r\n filterClone.periodFrom = new Date(filterClone.periodFrom).getFullYear() + '-' + (new Date(filterClone.periodFrom).getMonth() + 1) + '-01';\r\n if (filterClone.periodTo)\r\n filterClone.periodTo = new Date(filterClone.periodTo).getFullYear() + '-' + (new Date(filterClone.periodTo).getMonth() + 1) + '-01';\r\n new BuildingComparisonClient()\r\n .compareGroupSameHeight(filterClone)\r\n .then((re:CompareGroupSameHeightModel) => {\r\n\r\n if (re.compItems.length === 0) return;\r\n this.TollObjectTitle = re.title;\r\n this.Aukstu = re.aukštai;\r\n this.NamuGrupeje = re.namųGrupėje;\r\n var orderedItems = re.compItems.sort((a,b) => a.period==b.period?0:(a.period>b.period?1:-1));\r\n var labels = orderedItems.map(pt => Site.FormatPeriod(pt.period));\r\n\r\n var index = 0;\r\n var datasets = [\r\n {\r\n label: 'Minimalios reikšmės grupėje',\r\n data: orderedItems.map(item => item.kWhm2s.minkWhm2),\r\n },\r\n {\r\n label: 'Vidutinės reikšmės grupėje',\r\n data: orderedItems.map(item => item.kWhm2s.vidkWhm2),\r\n }, {\r\n label: 'Maksimalios reikšmės grupėje',\r\n data: orderedItems.map(item => item.kWhm2s.makskWhm2),\r\n }, {\r\n label: re.title,\r\n data: orderedItems.map(item => item.kWhm2),\r\n },\r\n ];\r\n for (var key in datasets) {\r\n (datasets[key]).fill = false;\r\n (datasets[key]).borderColor = Site.colours[index % Site.colours.length];\r\n (datasets[key]).backgroundColor = Site.colours[index++ % Site.colours.length];\r\n }\r\n\r\n\r\n\r\n this.compGroupChartData =\r\n {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n var tableColsMyWay = {\r\n period: 'Periodas',\r\n faktinisplotas: 'Faktinis plotas, m²',\r\n faktinisTūris: 'Faktinis tūris, m³',\r\n šildomasPlotas: 'Šildomas plotas, m²',\r\n šildomasTūris: 'Šildomas tūris, m³',\r\n šildytaPerMėnesįVal: 'Šildyta per mėn., val',\r\n tiektaKarštoVandensVal: 'Tiekta karšto vandens, val',\r\n laukoTemperatūra: 'Lauko temperatūra, °C',\r\n šildymoSezonoPeriodoDL: 'Periodo dienolaipsniai, DL (°C ⋅ para)',\r\n minimaluskWhm2: 'Minimalus santykis, kWh/m²/DL',\r\n vidutiniskWhm2: 'Vidutinis santykis, kWh/m²/DL',\r\n maksimaluskWhm2: 'Maksimalus santykis, kWh/m²/DL',\r\n kWhm2: 'Lyginamo pastato santykis, kWh/m²/DL',\r\n šilumosKaina: 'Šilumos kaina su PVM, €/kWh',\r\n mokestisUž1m2: 'Vidutinis mokestis už 1m², €'\r\n }\r\n\r\n \r\n var tableCols = [];\r\n for (var key in tableColsMyWay) { tableCols.push({ field: key, header: tableColsMyWay[key] }); }\r\n this.tableCols = tableCols;\r\n\r\n var tableData = re.compItems.map((periodas, index) => {\r\n var row = {\r\n period: periodas.period,\r\n faktinisplotas: periodas.faktinisPlotas,\r\n faktinisTūris: periodas.butųTūriųSuma,\r\n šildomasPlotas: periodas.šildomasPlotas,\r\n šildomasTūris: periodas.šildomasTūris,\r\n šildytaPerMėnesįVal: periodas.šildytaPerMėnesįVal,\r\n tiektaKarštoVandensVal: periodas.tiektaKarštoVandensVal,\r\n laukoTemperatūra: periodas.laukoTemperatūra,\r\n šildymoSezonoPeriodoDL: periodas.iaDienolaipsniai,\r\n minimaluskWhm2: periodas.kWhm2s.minkWhm2,\r\n vidutiniskWhm2: periodas.kWhm2s.vidkWhm2,\r\n maksimaluskWhm2: periodas.kWhm2s.makskWhm2,\r\n kWhm2: periodas.kWhm2,\r\n šilumosKaina: periodas.šilumosSrvcTariffValue * Site.ŠilumosPVM,\r\n mokestisUž1m2: periodas.šilumosSrvcTariffValue * periodas.kWhm2 * Site.ŠilumosPVM\r\n };\r\n return row;\r\n });\r\n this.tableData = tableData;\r\n if (cb)\r\n cb();\r\n if (this.loadReportCB)\r\n this.loadReportCB();\r\n })\r\n .catch(Site.error)\r\n .then(Site.stopGlobalLoad);\r\n }\r\n\r\n clearReport() {\r\n this.tableData = [];\r\n this.tableCols = [];\r\n this.compGroupChartData = null;\r\n this.TollObjectTitle = null;\r\n this.Aukstu = null;\r\n this.NamuGrupeje = null;\r\n this.tollObjectId = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n\\r\\np-chart{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2NvbXBhcmlzb24vZ3JvdXAtc2FtZS1oZWlnaHQtY29tcGFyaXNvbi9ncm91cC1zYW1lLWhlaWdodC1jb21wYXJpc29uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0E7RUFDRSxXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9tYXAvY29tcGFyaXNvbi9ncm91cC1zYW1lLWhlaWdodC1jb21wYXJpc29uL2dyb3VwLXNhbWUtaGVpZ2h0LWNvbXBhcmlzb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuXHJcbnAtY2hhcnR7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n
\\r\\n
Palyginimas daugiabučių namų grupėje{{service.TollObjectTitle?(' - '):''}}{{service.TollObjectTitle}}\\r\\n {{(service.Aukstu?' - aukštų: '+service.Aukstu:'')}}\\r\\n {{(service.NamuGrupeje?'- namų grupėje:'+service.NamuGrupeje:'')}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{service.reportTableCellDisplay(col,lentduom)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"","import { Component, ViewChild } from '@angular/core';\r\nimport { GroupSameHeightCompService } from './group-same-height-comp.service';\r\nimport { UIChart } from 'primeng/chart';\r\nimport { LocService } from 'src/app/common/localizations/loc.service';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-group-same-height-comparison',\r\n templateUrl: './group-same-height-comparison.component.html',\r\n styleUrls: ['./group-same-height-comparison.component.css']\r\n})\r\nexport class GroupSameHeightComparisonComponent {\r\n\r\n compChartOpts = {\r\n scales: {\r\n yAxes: [{ scaleLabel: { display: true, labelString: 'Lyginamasis šilumos santykis, kWh/m²' } }],\r\n xAxes: [{ scaleLabel: { display: true, labelString: 'Periodas' } }]\r\n },\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: { display: true,}\r\n };\r\n @ViewChild(\"compchart\") compchart: UIChart;\r\n\r\n\r\n constructor(public service: GroupSameHeightCompService, public locService: LocService, public bsModalRef: BsModalRef) {\r\n var that = this;\r\n service.loadReportCB = function () {\r\n setTimeout(function () {that.compchart.reinit(); }, 0);\r\n };\r\n }\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n loadReport() {\r\n //var temp = this.service.periodFrom;\r\n //this.service.periodFrom = new Date(2019, 0, 1);\r\n //this.service.periodFrom = temp;\r\n\r\n\r\n this.service.loadReport();\r\n }\r\n onDialogHide() {\r\n this.service.clearReport();\r\n }\r\n typeof(rowdata, columns, col,i) {\r\n if (rowdata[col.field] && typeof rowdata[col.field].getDate == 'function')\r\n return 'date';\r\n return typeof rowdata[col.field];\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Client, HeatingCostsTrendsFilter, BuildingComparisonClient, HeatingCostsMokesta } from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { AppConfig } from 'src/app/app.config';\r\nimport { Site } from 'src/app/common/services/site.service';\r\nimport { LocService } from 'src/app/common/localizations/loc.service';\r\n\r\n@Injectable()\r\nexport class HeatingCostsCompService {\r\n\r\n public showingReport: boolean;\r\n period1: Date;\r\n period2: Date;\r\n tableData: any = {};\r\n filteredHeatingCostsSources: HeatingCostsMokesta[] = [];\r\n orders: { [key: string]: any } = {};\r\n constructor() {\r\n this.period2 = new Date(AppConfig.settings.db.STIPeriodTo);\r\n var tempperiod1 = new Date(this.period2);\r\n tempperiod1.setMonth(tempperiod1.getMonth() - 1);\r\n this.period1 = tempperiod1;\r\n }\r\n\r\n loadReport(cb?: Function) {\r\n var that = this;\r\n if (!this.formValid()) {\r\n return;\r\n }\r\n\r\n Site.startGlobalLoad();\r\n new BuildingComparisonClient().heatingCostsTrends(new HeatingCostsTrendsFilter({\r\n comparingPeriods: [\r\n Site.makeDateUTC(this.period1),\r\n Site.makeDateUTC(this.period2)]\r\n })).then(function (re) {\r\n that.tableData = re;\r\n\r\n\r\n ///default ordering\r\n for (var key in re.heatingCostsSources) {\r\n var mokesta = re.heatingCostsSources[key];\r\n for (var objsourcekey in mokesta.heatingCostsObjectSources) {\r\n var objsource = mokesta.heatingCostsObjectSources[objsourcekey];\r\n that.orders[mokesta.systemId + '_' + objsource.objectSourceId] = { order: -1, col: 'sąnaudų_pokytis', periodIndex: null };\r\n }\r\n }\r\n\r\n that.filteredHeatingCostsSources = re.heatingCostsSources;\r\n\r\n if (cb) {\r\n\r\n cb(re);\r\n }\r\n }).catch(Site.error).then(Site.stopGlobalLoad);\r\n }\r\n\r\n clearReport() {\r\n this.tableData = {};\r\n this.filteredHeatingCostsSources=[];\r\n }\r\n\r\n formValid(): boolean {\r\n var errors = [];\r\n if (!this.period1 || !this.period2) {\r\n errors.push(LocService.Translate('NurodykiteVisusPeriodus'));\r\n }\r\n\r\n if (this.period1.getTime() > this.period2.getTime()) {\r\n errors.push(LocService.Translate('PeriodasNuoNegaliBūtiVėlesnisUžPeriodąIki'));\r\n }\r\n for(var key in errors){\r\n Site.error(errors[key]);\r\n }\r\n if (errors.length) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","module.exports = \"\\r\\n.orderable {\\r\\n text-align: left;\\r\\n\\r\\n cursor: pointer;\\r\\n}\\r\\n.orderable .text{\\r\\n -webkit-text-decoration: underline dashed;\\r\\n text-decoration: underline dashed;\\r\\n width:calc(100% - 30px);\\r\\n display: inline-block;\\r\\n }\\r\\n.orderable fa-icon{\\r\\n float:right;\\r\\n margin:5px;\\r\\n }\\r\\n.manonamasrow{\\r\\nbackground-color:chartreuse!important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2NvbXBhcmlzb24vaGVhdGluZy1jb3N0cy1jb21wYXJpc29uL2hlYXRpbmctY29zdHMtY29tcGFyaXNvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtFQUNFLGdCQUFnQjs7RUFFaEIsZUFBZTtBQUNqQjtBQUNBO0VBQ0UseUNBQWlDO1VBQWpDLGlDQUFpQztFQUNqQyx1QkFBdUI7RUFDdkIscUJBQXFCO0VBQ3JCO0FBRUY7RUFDRSxXQUFXO0VBQ1gsVUFBVTtFQUNWO0FBRUY7QUFDQSxxQ0FBcUM7QUFDckMiLCJmaWxlIjoic3JjL2FwcC9tYXAvY29tcGFyaXNvbi9oZWF0aW5nLWNvc3RzLWNvbXBhcmlzb24vaGVhdGluZy1jb3N0cy1jb21wYXJpc29uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLm9yZGVyYWJsZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5vcmRlcmFibGUgLnRleHR7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZGFzaGVkO1xyXG4gIHdpZHRoOmNhbGMoMTAwJSAtIDMwcHgpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcblxyXG4ub3JkZXJhYmxlIGZhLWljb257XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbiAgbWFyZ2luOjVweDtcclxuICB9XHJcblxyXG4ubWFub25hbWFzcm93e1xyXG5iYWNrZ3JvdW5kLWNvbG9yOmNoYXJ0cmV1c2UhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuIl19 */\"","module.exports = \"<--- Atgal į žemėlapį\\r\\n
\\r\\n

Šildymo sąnaudų pokyčio įvertinimas

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Lyginami periodai:\\r\\n \\r\\n {{comparingPeriod |period}}\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n Filtras \\r\\n Vidurkiai:\\r\\n
\\r\\n
\\r\\n {{key|period}} - kWh/m²/DL\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{objectSource.title}}. Sąnaudų pokyčio vidurkis\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Objektas\\r\\n \\r\\n \\r\\n {{comparingPeriod|period}}\\r\\n \\r\\n Šildymo sąnaudų pokytis\\r\\n \\r\\n
Tiekta per mėnesįLauko oro temperatūraDienolaipsniai\\r\\n Suvartota šilumos šildymui\\r\\n \\r\\n \\r\\n \\r\\n Lyginamasis santykis\\r\\n \\r\\n \\r\\n
hDLkWhkWh/m²/DL
{{i+1}}
\\r\\n {{groupByStory.stories}} aukštų namų šildymo sąnaudų vidurkis\\r\\n
{{tobj.tollObjectTitle}} {{getPerInfo(tobj,comparingPeriod).iiValSild|kdecimal}} {{getPerInfo(tobj,comparingPeriod).giLo|kdecimal}}{{getPerInfo(tobj,comparingPeriod).iaDL|kdecimal}}{{getiaQps(getPerInfo(tobj,comparingPeriod))|kdecimal}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\"","import { Component } from '@angular/core';\r\nimport { HeatingCostsCompService } from './heating-costs-comp.service';\r\nimport { Site } from 'src/app/common/services/site.service';\r\nimport { HeatingCostsBuilding, HeatingCostsPeriodInfo, HeatingCostsObjectSource, HeatingCostsGroupByStory } from \"../../../dataAccess/ZemApi/TollObjects/TollObjectZemApi\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ManoNamasService } from \"../../manonamas/manonamas.service\";\r\nimport { LocService } from \"../../../common/localizations/loc.service\";\r\nimport { ColourService } from \"../../../common/services/colour.service\";\r\n\r\n@Component({\r\n selector: 'app-heating-costs-comparison',\r\n templateUrl: './heating-costs-comparison.component.html',\r\n styleUrls: ['./heating-costs-comparison.component.css']\r\n})\r\n/** HeatingCostsComparison component*/\r\nexport class HeatingCostsComparisonComponent {\r\n objectKeys = Object.keys;\r\n constructor(public service: HeatingCostsCompService, private route: ActivatedRoute, public mnService: ManoNamasService,\r\n public colourService: ColourService) {\r\n\r\n var that = this;\r\n this.route.params.subscribe(params => {\r\n this.loadReport(function () {\r\n that.showManoNamas();\r\n });\r\n });\r\n\r\n var pusėsilgis = 6;\r\n var antrapusė= colourService.generateColor('#FF0000', '#fff200', pusėsilgis);\r\n var pirmapusė = colourService.generateColor('#fff200', '#1e9600', pusėsilgis);\r\n pirmapusė.splice(pusėsilgis , 0, ...antrapusė);\r\n this.changeColours = pirmapusė;\r\n }\r\n\r\n changeColours: string[];\r\n\r\n loadReport(cb?: Function) {\r\n this.service.loadReport(cb);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.service.clearReport();\r\n }\r\n fromSecondPeriod() {\r\n var res = this.service.tableData.comparingPeriods.filter(function (item, index) { return index > 0; });\r\n return res;\r\n }\r\n sortByStory(systemId, objectSource: HeatingCostsObjectSource) {\r\n var mod = 1;\r\n var that = this;\r\n var orderinfo = this.service.orders[systemId + '_' + objectSource.objectSourceId];\r\n if (orderinfo)\r\n mod = orderinfo.order;\r\n\r\n var filter = (this.service.filteredHeatingCostsSources.filter(m => m.systemId == systemId)[0]).buildingsFilter;\r\n var filtered = objectSource.heatingCostsGroupsByStory;\r\n if (filter) {\r\n filtered = filtered.filter(gbs => that.filterBuldings(gbs.heatingCostsBuildings, filter).length);\r\n }\r\n\r\n var sortFunc = (a: HeatingCostsGroupByStory, b: HeatingCostsGroupByStory): number => mod * (a.stories - b.stories);\r\n\r\n if (orderinfo) {\r\n switch (orderinfo.col) {\r\n case 'objektas':\r\n //sortFunc = (tobj1: HeatingCostsBuilding, tobj2: HeatingCostsBuilding) => mod * tobj1.tollObjectTitle.localeCompare(tobj2.tollObjectTitle);\r\n break;\r\n case 'sąnaudų_pokytis':\r\n sortFunc = (g1: HeatingCostsGroupByStory, g2: HeatingCostsGroupByStory) => -mod * (that.changeNumeric(g1.kWhm2DLAverages) - that.changeNumeric(g2.kWhm2DLAverages));\r\n break;\r\n case 'suvartota_šildymui':\r\n //sortFunc = (g1: HeatingCostsGroupByStory, g2: HeatingCostsGroupByStory) =>{ mod *\r\n //return tobj1.heatingCostsPeriodInfos[(orderinfo).periodIndex].iaQpš - tobj2.heatingCostsPeriodInfos[(orderinfo).periodIndex].iaQpš\r\n // };\r\n break;\r\n case 'kWhm2DL':\r\n sortFunc = (g1: HeatingCostsGroupByStory, g2: HeatingCostsGroupByStory) => {\r\n\r\n return mod *\r\n g1.kWhm2DLAverages[that.objectKeys(g1.kWhm2DLAverages)[(orderinfo).periodIndex]] -\r\n g2.kWhm2DLAverages[that.objectKeys(g2.kWhm2DLAverages)[(orderinfo).periodIndex]];\r\n };\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n return filtered.sort(sortFunc);\r\n\r\n }\r\n getiaQps(perinfo) {\r\n return perinfo.iaQpš;//ts lint apsivemia dėl lietuviškų raidžių\r\n }\r\n\r\n getPerInfo(tobj, comparingPeriodUTC) {\r\n for (var key in tobj.heatingCostsPeriodInfos) {\r\n var item = tobj.heatingCostsPeriodInfos[key];\r\n var utcPeriod = Site.makeDateUTC(item.period);\r\n if (comparingPeriodUTC.getTime() == utcPeriod.getTime()) {\r\n return item;\r\n }\r\n }\r\n return {};\r\n }\r\n //tarp periodų, namų grupių pagal aukštus ir pan.\r\n changeNumeric(kWhm2DLAverages: { [key: string]: number; }): number {\r\n var keys = this.objectKeys(kWhm2DLAverages);\r\n var min = keys[0];\r\n var max = keys[keys.length - 1];\r\n var changeNumeric = 0;\r\n if (kWhm2DLAverages[min] != 0) {\r\n changeNumeric = (kWhm2DLAverages[max] / kWhm2DLAverages[min] - 1) * 100;\r\n }\r\n return changeNumeric;\r\n }\r\n changeHtml(kWhm2DLAverages: { [key: string]: number; }): string {\r\n return this.FormChangeString(this.changeNumeric(kWhm2DLAverages));\r\n }\r\n // namų tarp periodų\r\n changeHtml2(tobj: HeatingCostsBuilding) {\r\n var periodInfos = tobj.heatingCostsPeriodInfos;\r\n var keys = this.objectKeys(periodInfos);\r\n if (keys.length < 2) {\r\n return this.FormChangeString(null);\r\n }\r\n var changeNumeric = this.changeNumeric2(periodInfos);\r\n tobj['changeNumeric'] = changeNumeric;\r\n return this.FormChangeString(changeNumeric);\r\n }\r\n\r\n changeNumeric2(periodInfos: HeatingCostsPeriodInfo[]) {\r\n var keys = this.objectKeys(periodInfos);\r\n var min = keys[0];\r\n var max = keys[keys.length - 1];\r\n var changeNumeric = null;\r\n if (periodInfos[min].kWhm2DL !== 0) {\r\n changeNumeric = (periodInfos[max].kWhm2DL / periodInfos[min].kWhm2DL - 1) * 100;\r\n } else if (periodInfos[max].kWhm2DL === 0) {\r\n changeNumeric = 0;\r\n }\r\n return changeNumeric;\r\n }\r\n\r\n private FormChangeString(changeNumeric: number) {\r\n var sclass = 'change-neutral';\r\n var keyword = 'Nepasikeitė';\r\n if (changeNumeric == null) {\r\n keyword = 'Nėra duomenų';\r\n }\r\n else\r\n if (changeNumeric < 0) {\r\n //sclass = 'change-green';\r\n keyword = 'sumažėjo';\r\n }\r\n else if (changeNumeric > 0) {\r\n keyword = 'padidėjo';\r\n //sclass = 'change-red';\r\n } else {\r\n }\r\n var change = '';\r\n if (!isNaN(changeNumeric)) change = Site.FormatNumber(Math.abs(changeNumeric), 2);\r\n return '' + ((changeNumeric != 0 && changeNumeric != null) ? change + '% ' : '') + keyword + '';\r\n }\r\n\r\n kWhm2DLAvgFalseUTC(groupByStory: any, CorrectPeriod: Date) {\r\n for (let key in groupByStory.kWhm2DLAverages) {\r\n var avgPeriod = Site.makeDateUTC(new Date(key));\r\n\r\n if (avgPeriod.getTime() == CorrectPeriod.getTime()) {\r\n return groupByStory.kWhm2DLAverages[key];\r\n }\r\n }\r\n }\r\n filterBuldings(buildings: HeatingCostsBuilding[], filter) {\r\n var regexp = new RegExp(filter.split(' ').filter(p => p).join('.+'), 'i');\r\n return buildings.filter(b => b.tollObjectTitle.match(regexp));\r\n }\r\n\r\n filteredBuildings(buildings: HeatingCostsBuilding[], filter, mokestaId, objectSourceId) {\r\n var filtered = buildings;\r\n if (filter) {\r\n filtered = this.filterBuldings(buildings, filter);\r\n }\r\n\r\n var orderinfo = this.service.orders[mokestaId + '_' + objectSourceId];\r\n if (orderinfo) {\r\n var mod = orderinfo.order;\r\n var sortFunc = null;\r\n switch (this.service.orders[mokestaId + '_' + objectSourceId].col) {\r\n case 'objektas':\r\n sortFunc = (tobj1: HeatingCostsBuilding, tobj2: HeatingCostsBuilding) => mod * tobj1.tollObjectTitle.localeCompare(tobj2.tollObjectTitle);\r\n break;\r\n case 'sąnaudų_pokytis':\r\n sortFunc = (tobj1: HeatingCostsBuilding, tobj2: HeatingCostsBuilding) => mod * (this.changeNumeric2(tobj1.heatingCostsPeriodInfos) - this.changeNumeric2(tobj2.heatingCostsPeriodInfos));\r\n break;\r\n case 'suvartota_šildymui':\r\n sortFunc = (tobj1: HeatingCostsBuilding, tobj2: HeatingCostsBuilding) => {\r\n var tobj1iaQpš = -99999;\r\n var tobj2iaQpš = -99999;\r\n if (tobj1.heatingCostsPeriodInfos[orderinfo.periodIndex])\r\n tobj1iaQpš = tobj1.heatingCostsPeriodInfos[orderinfo.periodIndex].iaQpš;\r\n if (tobj2.heatingCostsPeriodInfos[orderinfo.periodIndex])\r\n tobj2iaQpš = tobj2.heatingCostsPeriodInfos[orderinfo.periodIndex].iaQpš;\r\n return mod * (tobj1iaQpš - tobj2iaQpš);\r\n\r\n };\r\n break;\r\n case 'kWhm2DL':\r\n sortFunc = (tobj1: HeatingCostsBuilding, tobj2: HeatingCostsBuilding) => {\r\n var tobj1kWhm2DL = -99999;\r\n var tobj2kWhm2DL = -99999;\r\n if (tobj1.heatingCostsPeriodInfos[orderinfo.periodIndex])\r\n tobj1kWhm2DL = tobj1.heatingCostsPeriodInfos[orderinfo.periodIndex].kWhm2DL;\r\n if (tobj2.heatingCostsPeriodInfos[orderinfo.periodIndex])\r\n tobj2kWhm2DL = tobj2.heatingCostsPeriodInfos[orderinfo.periodIndex].kWhm2DL;\r\n return mod * (tobj1kWhm2DL - tobj2kWhm2DL);\r\n\r\n };\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n if (sortFunc) {\r\n filtered.sort(sortFunc);\r\n }\r\n }\r\n\r\n\r\n return filtered;\r\n }\r\n\r\n buildingFilterChanged(mokesta) {\r\n for (var key in mokesta.heatingCostsObjectSources) {\r\n mokesta.heatingCostsObjectSources[key].show = true;\r\n for (var key2 in mokesta.heatingCostsObjectSources[key].heatingCostsGroupsByStory) {\r\n mokesta.heatingCostsObjectSources[key].heatingCostsGroupsByStory[key2].show = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n orderBy(col, objectSourceId, systemId, periodIndex) {\r\n var that = this;\r\n if (!that.service.orders[systemId + '_' + objectSourceId])\r\n that.service.orders[systemId + '_' + objectSourceId] = { order: 1, col: col, periodIndex: periodIndex };\r\n else {\r\n that.service.orders[systemId + '_' + objectSourceId] = {\r\n order: that.service.orders[systemId + '_' + objectSourceId].order * -1, col: col, periodIndex: periodIndex\r\n };\r\n\r\n }\r\n\r\n }\r\n\r\n orderedBy(col, objectSourceId, systemId, periodIndex) {\r\n var orderInfo = this.service.orders[systemId + '_' + objectSourceId];\r\n return orderInfo != null && orderInfo.col == col && orderInfo.periodIndex == periodIndex;\r\n }\r\n\r\n iconHeader(objectSourceId, systemId) {\r\n var orderInfo = this.service.orders[systemId + '_' + objectSourceId];\r\n if (orderInfo != null) {\r\n if (orderInfo.order > 0) {\r\n return 'sort-amount-down-alt';\r\n }\r\n if (orderInfo.order < 0) {\r\n return 'sort-amount-up';\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n showManoNamas() {\r\n console.log(this.mnService.manonamas, this.service.filteredHeatingCostsSources);\r\n if (!this.mnService.manonamas) {\r\n //Site.error(LocService.Translate('ManoNamasNeparinktas'));\r\n return;\r\n }\r\n\r\n mokestos:\r\n for (var mokestakey in this.service.filteredHeatingCostsSources) {\r\n var mokesta = this.service.filteredHeatingCostsSources[mokestakey];\r\n for (var šaltiniskey in mokesta.heatingCostsObjectSources) {\r\n var šaltinis = mokesta.heatingCostsObjectSources[šaltiniskey];\r\n for (var storykey in šaltinis.heatingCostsGroupsByStory) {\r\n var storygroup = šaltinis.heatingCostsGroupsByStory[storykey];\r\n for (var buildingkey in storygroup.heatingCostsBuildings) {\r\n var building = storygroup.heatingCostsBuildings[buildingkey];\r\n if (building.tollObjectId == this.mnService.manonamas.id) {\r\n //TODO:aktyvuoti mokestos tabą kažkaip\r\n\r\n (šaltinis).show = true;\r\n (storygroup).show = true;\r\n\r\n break mokestos;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n changeTdClass(tobj: HeatingCostsBuilding) {\r\n var changeNumeric = this.changeNumeric2(tobj.heatingCostsPeriodInfos);\r\n var group = Math.floor(changeNumeric / 5);\r\n if (group > 6) group = 6;\r\n if (group < -6) group = -6;\r\n return 'changetd changetd' + group.toFixed();\r\n }\r\n\r\n changeTdColor2(tobj: HeatingCostsBuilding) {\r\n var changeNumeric = this.changeNumeric2(tobj.heatingCostsPeriodInfos);\r\n var count = this.changeColours.length - 1;\r\n var group = Math.floor(changeNumeric / 5) + Math.round(count / 2);\r\n if (group > count) group = count;\r\n if (group < 0) group = 0;\r\n\r\n return '#' + this.changeColours[group];\r\n\r\n }\r\n changeTdColor(kWhm2DLAverages: { [key: string]: number; }, groupByStory) {\r\n var changeNumeric = this.changeNumeric(kWhm2DLAverages);\r\n\r\n var coloursMiddle = Math.round(this.changeColours.length / 2);\r\n var step = 20/this.changeColours.length;\r\n var index = Math.floor(changeNumeric / step) + coloursMiddle;\r\n if (changeNumeric > 0) {\r\n\r\n if (index > this.changeColours.length-1) {\r\n index = this.changeColours.length-1;\r\n }\r\n\r\n }\r\n else {\r\n if (index < 0)\r\n index=0;\r\n }\r\n\r\n\r\n\r\n return '#' + this.changeColours[index];\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Site } from 'src/app/common/services/site.service';\r\nimport { CompareHeatingSeasonsFilter, Client, BuildingComparisonClient } from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { AppConfig } from 'src/app/app.config';\r\nimport { ComparisonService } from '../comparison.service';\r\n\r\n@Injectable()\r\nexport class HeatingSeasonsCompService {\r\n public showingReport: boolean = false;\r\n seasonFrom: number;\r\n seasonTo: number;\r\n tollObjectId: number;\r\n tollObjectTitle: string;\r\n compSeasonsData: {};\r\n constructor() {\r\n if (AppConfig.settings.db.STIPeriodTo != AppConfig.settings.db.STIPeriodFrom){\r\n this.seasonTo = new Date(AppConfig.settings.db.STIPeriodTo).getFullYear() - 1;\r\n this.seasonFrom = this.seasonTo - 1;\r\n }\r\n }\r\n\r\n showReport(tollObjectId: number) {\r\n this.tollObjectId = tollObjectId;\r\n this.showingReport = true;\r\n this.loadReport();\r\n }\r\n loadReport() {\r\n Site.startGlobalLoad();\r\n var that = this;\r\n console.log(that.seasonFrom, that.seasonTo);\r\n new BuildingComparisonClient().compareHeatingSeasons(new CompareHeatingSeasonsFilter({\r\n periodFrom: Site.makeDateUTC(new Date(that.seasonFrom,0,1)),\r\n periodTo: Site.makeDateUTC(new Date(that.seasonTo, 0, 1)),\r\n tollObjectIds: [that.tollObjectId]\r\n }))\r\n .then(re => {\r\n that.tollObjectTitle = re.title;\r\n var labels = [];\r\n re.itemsList.forEach(item => {\r\n console.log(item.yearFrom);\r\n labels.push(item.yearFrom + ' – ' + item.yearTo);\r\n });\r\n\r\n\r\n\r\n\r\n\r\n var datasets = [{\r\n label: re.title,\r\n backgroundColor: Site.colours[0],\r\n borderColor: Site.colours[0],\r\n data: re.itemsList.map(item => Math.round(item.kWhm2DL * 1000000) / 1000000),\r\n //backgroundColor: [\"red\", \"blue\", \"green\", \"blue\", \"red\", \"blue\"], \r\n }];\r\n that.compSeasonsData = {labels:labels, datasets:datasets};\r\n console.log(re);\r\n\r\n })\r\n .catch(Site.error).then(Site.stopGlobalLoad);\r\n }\r\n\r\n clearReport() {\r\n this.compSeasonsData = null;\r\n this.tollObjectTitle = null;\r\n this.tollObjectId = null;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21hcC9jb21wYXJpc29uL2hlYXRpbmctc2Vhc29ucy1jb21wYXJpc29uL2hlYXRpbmctc2Vhc29ucy1jb21wYXJpc29uLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n

Namo {{service.tollObjectTitle}} šildymo sezonai

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component } from '@angular/core';\r\nimport { HeatingSeasonsCompService } from './heating-seasons-comp.service';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { ComparisonService } from '../comparison.service';\r\nimport { Site } from 'src/app/common/services/site.service';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-heating-seasons-comparison',\r\n templateUrl: './heating-seasons-comparison.component.html',\r\n styleUrls: ['./heating-seasons-comparison.component.css']\r\n})\r\n/** HeatingSeasonsComparison component*/\r\nexport class HeatingSeasonsComparisonComponent {\r\n compChartOpts = {\r\n layout: {\r\n padding: {\r\n left: 0,\r\n right: 0,\r\n top: 20,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n yAxes: [{ ticks: { min: 0 }, scaleLabel: { display: true, labelString: 'Lyginamasis šilumos santykis, kWh/m²/DL' } }],\r\n xAxes: [{ scaleLabel: { display: true, labelString: 'Šildymo sezonai' } }]\r\n },\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n legend: { display: false, },\r\n plugins: {\r\n datalabels: {\r\n display:true,\r\n align: 'end',\r\n anchor: 'end',\r\n backgroundColor: null,\r\n borderRadius: null,//4,\r\n color: 'black',\r\n formatter(value, chart) {\r\n var label = Site.FormatNumber(value);\r\n var change = null;\r\n if (chart.dataIndex > 0) {\r\n change = value / chart.dataset.data[chart.dataIndex - 1] * 100 - 100;//skirtumas procentais\r\n label += ' ( ' + (change > 0 ? '+' : '') + Site.FormatNumber(change, 2) + ' % )';\r\n }\r\n return label;\r\n }\r\n }\r\n }\r\n };\r\n seasonOptions: SelectItem[];\r\n constructor(\r\n public service: HeatingSeasonsCompService,\r\n public compService: ComparisonService,\r\n public bsModalRef: BsModalRef,\r\n private modalService: BsModalService\r\n\r\n ) {\r\n var yearFrom = compService.STIPeriodFrom().getFullYear();\r\n var yearTo = compService.STIPeriodTo().getFullYear();\r\n this.seasonOptions = [];\r\n for (var year = yearFrom; year < yearTo; year++){\r\n this.seasonOptions.push({label:year+' – '+(year+1),value:year});\r\n }\r\n var that = this;\r\n\r\n modalService.onHide.subscribe(function (reason) {\r\n console.log('hide started');\r\n that.onDialogHide();\r\n });\r\n\r\n }\r\n\r\n onDialogHide() {\r\n this.service.clearReport(); \r\n }\r\n\r\n\r\n\r\n}\r\n","module.exports = \"p-chart {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL2NvbXBhcmlzb24va3dobTItZGxjb21wYXJpc29uL2t3aG0yLWRsY29tcGFyaXNvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvbWFwL2NvbXBhcmlzb24va3dobTItZGxjb21wYXJpc29uL2t3aG0yLWRsY29tcGFyaXNvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsicC1jaGFydCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n

Lyginamasis šilumos santykis, kWh/m²/DL, pagal periodą

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{reportTableCellDisplay(col,tableData)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, ViewChild } from '@angular/core';\r\nimport { UIChart } from 'primeng/chart';\r\nimport { ComparisonService } from '../comparison.service';\r\nimport { Site } from 'src/app/common/services/site.service';\r\nimport { MsgService } from 'src/app/common/services/msg.service';\r\nimport { LocService } from \"../../../common/localizations/loc.service\";\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\n\r\n@Component({\r\n selector: 'app-kwhm2-dlcomparison',\r\n templateUrl: './kwhm2-dlcomparison.component.html',\r\n styleUrls: ['./kwhm2-dlcomparison.component.css']\r\n})\r\n/** kwhm2DLComparison component*/\r\nexport class Kwhm2DlcomparisonComponent {\r\n tableData: any[];\r\n tableCols: any[];\r\n @ViewChild(\"compchart\") compchart: UIChart;\r\n compchartopts = {\r\n scales: {\r\n yAxes: [{ scaleLabel: { display: true, labelString: 'Lyginamasis šilumos santykis, kWh/m²/DL' } }],\r\n xAxes: [{ scaleLabel: { display: true, labelString: 'Periodas' } }]\r\n },\r\n responsive: false,\r\n maintainAspectRatio: false,\r\n legend: {\r\n display: true,\r\n\r\n }\r\n };\r\n compkWhm2DLData: any;\r\n\r\n constructor(public service: ComparisonService, protected msgService: MsgService,\r\n public bsModalRef: BsModalRef) {\r\n var that = this;\r\n service.loadReportCB = function () {\r\n setTimeout(function () { that.compchart.reinit(); }, 0);\r\n };\r\n }\r\n\r\n\r\n comparekWhm2DL() {\r\n if (!this.FormValid()) {\r\n return;\r\n }\r\n\r\n\r\n Site.startGlobalLoad();\r\n\r\n this.service.getComparisonkWhm2DL().then((re: any[]) => {\r\n\r\n if (re.length === 0) return;\r\n var labels = re[0].kWhm2DLDataPoints.map(pt => Site.FormatPeriod(pt.period));\r\n this.compkWhm2DLData =\r\n {\r\n labels: labels,\r\n datasets: re.map((daugiabutis, index) => {\r\n return {\r\n label: daugiabutis.title,\r\n data: daugiabutis.kWhm2DLDataPoints.map(pt => pt.kWhm2DL),\r\n fill: false,\r\n borderColor: Site.colours[index % Site.colours.length],\r\n backgroundColor: Site.colours[index % Site.colours.length],\r\n }\r\n })\r\n\r\n };\r\n var tableCols = [{ field: 'title', header: 'Daugiabutis' }];\r\n labels.map((l, index) => tableCols.push({ field: 'period' + index, header: l }));\r\n this.tableCols = tableCols;\r\n var tableData = re.map((daugiabutis, index) => {\r\n var row = { title: daugiabutis.title };\r\n daugiabutis.kWhm2DLDataPoints.map((pt, idx) => row['period' + idx] = pt.kWhm2DL);\r\n return row;\r\n });\r\n this.tableData = tableData;\r\n this.service.loadReportCB();\r\n }).catch(Site.error).then(x => Site.stopGlobalLoad());\r\n \r\n }\r\n typeof(rowdata, columns, col) {\r\n if (rowdata[col.field] && typeof rowdata[col.field].getDate == 'function')\r\n return 'date';\r\n return typeof rowdata[col.field];\r\n }\r\n reportTableCellDisplay(col, row) {\r\n var val = row[col.field];\r\n if (col.field === 'period')\r\n return Site.FormatPeriod(val);\r\n if (typeof val == 'number')\r\n return Site.FormatNumber(val);\r\n return val;\r\n }\r\n\r\n FormValid() {\r\n var errors=[];\r\n\r\n if (this.service.periodFrom.getTime() > this.service.periodTo.getTime()) {\r\n errors.push(LocService.Translate('PeriodasNuoNegaliBūtiVėlesnisUžPeriodąIki'));\r\n }\r\n for (var key in errors) {\r\n Site.error(errors[key]);\r\n }\r\n return errors.length===0;\r\n }\r\n}\r\n","module.exports = \".manonamasinnerwr .searchbox {\\r\\n width: 50vw;\\r\\n max-width:500px;\\r\\n}\\r\\n\\r\\n.manonamasinnerwr {\\r\\n background: white;\\r\\n /*border-top-left-radius: 3.2px;\\r\\n border-bottom-left-radius: 3.2px;*/\\r\\n border-radius: 3.2px;\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n flex-wrap: nowrap;\\r\\n margin: 1rem;\\r\\n z-index: 11;\\r\\n right: calc( -100% + 130px + 1rem );\\r\\n}\\r\\n\\r\\n.manonamasinnerwropening {\\r\\n position: relative;\\r\\n transition: right .5s;\\r\\n box-shadow: 5px 5px 5px 0px rgba(0,0,0,.2);\\r\\n}\\r\\n\\r\\n.manonamasinnerwr.open {\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.ManoNamasTitle {\\r\\n flex-grow: 0;\\r\\n padding: 0 5px 0 5px;\\r\\n border-bottom: 1px solid rgb(38, 103, 157);\\r\\n border-bottom-left-radius: 3.2px;\\r\\n border-top-left-radius: 3.2px;\\r\\n border-bottom-right-radius: 0;\\r\\n border-top-right-radius: 0;\\r\\n line-height: 30px;\\r\\n cursor: pointer !important;\\r\\n width: 120px;\\r\\n\\r\\n}\\r\\n\\r\\n.manonamasinfowr {\\r\\n right: calc( -100% + 130px + 1rem );\\r\\n font-size: 0.8rem;\\r\\n /*margin-top: 1rem;*/\\r\\n margin-right: 1rem;\\r\\n background-color: white;\\r\\n display: inline-block;\\r\\n position: absolute;\\r\\n border: 1px solid;\\r\\n}\\r\\n\\r\\n.manonamasinfowr.open{\\r\\n right:0;\\r\\n\\r\\n }\\r\\n\\r\\n.removemninfo {\\r\\n color: #f00;\\r\\n font-weight: bold;\\r\\n cursor: pointer;\\r\\n width: 20px;\\r\\n height: 20px;\\r\\n border-radius: 10px;\\r\\n position: absolute;\\r\\n border: 1px solid black;\\r\\n left: 0px;\\r\\n top: 55px;\\r\\n line-height: 18px;\\r\\n background: white;\\r\\n align-content: center;\\r\\n padding-left: 2px;\\r\\n }\\r\\n\\r\\n#btn-clear-mano-namas {\\r\\n height: 33px;\\r\\n border-radius: 0;\\r\\n width: 33px;\\r\\n}\\r\\n\\r\\n.ManoNamasTitle:hover {\\r\\n background-color: #26679d;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL21hbm9uYW1hcy9tYW5vbmFtYXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7RUFDWCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCO29DQUNrQztFQUNsQyxvQkFBb0I7RUFDcEIsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLFdBQVc7RUFDWCxtQ0FBbUM7QUFDckM7O0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLDBDQUEwQztBQUM1Qzs7QUFDQTtFQUNFLFFBQVE7QUFDVjs7QUFHQTtFQUNFLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsMENBQTBDO0VBQzFDLGdDQUFnQztFQUNoQyw2QkFBNkI7RUFDN0IsNkJBQTZCO0VBQzdCLDBCQUEwQjtFQUMxQixpQkFBaUI7RUFDakIsMEJBQTBCO0VBQzFCLFlBQVk7O0FBRWQ7O0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsdUJBQXVCO0VBQ3ZCLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBQ25COztBQUNFO0lBQ0UsT0FBTzs7RUFFVDs7QUFDQTtJQUNFLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsU0FBUztJQUNULFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixpQkFBaUI7RUFDbkI7O0FBRUY7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixXQUFXO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9tYXAvbWFub25hbWFzL21hbm9uYW1hcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hbm9uYW1hc2lubmVyd3IgLnNlYXJjaGJveCB7XHJcbiAgd2lkdGg6IDUwdnc7XHJcbiAgbWF4LXdpZHRoOjUwMHB4O1xyXG59XHJcblxyXG4ubWFub25hbWFzaW5uZXJ3ciB7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgLypib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzLjJweDtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzLjJweDsqL1xyXG4gIGJvcmRlci1yYWRpdXM6IDMuMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICBtYXJnaW46IDFyZW07XHJcbiAgei1pbmRleDogMTE7XHJcbiAgcmlnaHQ6IGNhbGMoIC0xMDAlICsgMTMwcHggKyAxcmVtICk7XHJcbn1cclxuLm1hbm9uYW1hc2lubmVyd3JvcGVuaW5nIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogcmlnaHQgLjVzO1xyXG4gIGJveC1zaGFkb3c6IDVweCA1cHggNXB4IDBweCByZ2JhKDAsMCwwLC4yKTtcclxufVxyXG4ubWFub25hbWFzaW5uZXJ3ci5vcGVuIHtcclxuICByaWdodDogMDtcclxufVxyXG5cclxuXHJcbi5NYW5vTmFtYXNUaXRsZSB7XHJcbiAgZmxleC1ncm93OiAwO1xyXG4gIHBhZGRpbmc6IDAgNXB4IDAgNXB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMzgsIDEwMywgMTU3KTtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzLjJweDtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzLjJweDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcclxuICB3aWR0aDogMTIwcHg7XHJcblxyXG59XHJcblxyXG4ubWFub25hbWFzaW5mb3dyIHtcclxuICByaWdodDogY2FsYyggLTEwMCUgKyAxMzBweCArIDFyZW0gKTtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICAvKm1hcmdpbi10b3A6IDFyZW07Ki9cclxuICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXI6IDFweCBzb2xpZDtcclxufVxyXG4gIC5tYW5vbmFtYXNpbmZvd3Iub3BlbntcclxuICAgIHJpZ2h0OjA7XHJcblxyXG4gIH1cclxuICAucmVtb3ZlbW5pbmZvIHtcclxuICAgIGNvbG9yOiAjZjAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIHRvcDogNTVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICB9XHJcblxyXG4jYnRuLWNsZWFyLW1hbm8tbmFtYXMge1xyXG4gIGhlaWdodDogMzNweDtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIHdpZHRoOiAzM3B4O1xyXG59XHJcblxyXG4uTWFub05hbWFzVGl0bGU6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjY3OWQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n Mano namas\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\"","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { AppConfig } from \"../../app.config\";\r\nimport { ObjectsClient, ObjSearchFilter, TollObjectSearchVM, TollObjectInfo } from \"../../dataAccess/ZemApi/TollObjects/TollObjectZemApi\";\r\nimport { ManoNamasService } from \"./manonamas.service\";\r\nimport { Observable, from } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { MapService } from '../services/map.service';\r\nimport { TypeaheadMatch } from 'ngx-bootstrap/typeahead';\r\n\r\n@Component({\r\n selector: 'app-manonamas',\r\n templateUrl: './manonamas.component.html',\r\n styleUrls: ['./manonamas.component.css'],\r\n encapsulation: ViewEncapsulation.None //kad galėčiau input pailginti\r\n})\r\n/** manonamas component*/\r\nexport class ManoNamasComponent {\r\n mapService_: MapService;\r\n quicklyFoundTobjsObservable: Observable;\r\n onSelectQuicklyFoundTobj(find: TypeaheadMatch) {\r\n var obj = find.item as TollObjectSearchVM;\r\n var that = this;\r\n this.service.setManoNamas(obj.id).then(function () {\r\n\r\n that.service.panToManoNamas();\r\n });\r\n }\r\n quickSearchChange() {\r\n\r\n console.log('change',arguments);\r\n }\r\n results: TollObjectSearchVM[];\r\n \r\n constructor(public service: ManoNamasService, mapService: MapService) {\r\n this.mapService_ = mapService;\r\n this.quicklyFoundTobjsObservable = Observable.create((observer: any) => {\r\n // Runs on every search\r\n observer.next(this.service.manoNamasSearch);\r\n })\r\n .pipe(mergeMap((token: string) => {\r\n var promise = mapService.searchQuicklyTobjPromise(token);\r\n return from(promise);\r\n })\r\n );\r\n }\r\n search(event) {\r\n var that = this;\r\n new ObjectsClient(AppConfig.settings.APIBaseUrl).objSearch(new ObjSearchFilter({ query: event.query }))\r\n .then(re => {\r\n that.results=re.result;\r\n }).catch(re => console.log(re)).then(re => console.log(re));\r\n }\r\n //onSelect() {\r\n\r\n //}\r\n centerManoNamas() {\r\n var that = this;\r\n if (!that.service.manonamas)\r\n return;\r\n this.service.panToManoNamas();\r\n var pinData = that.mapService_.pins.filter((p: TollObjectInfo) => p.tollObjectId == that.service.manonamas.id);\r\n if (pinData)\r\n that.mapService_.pinClickedData(pinData[0]);\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TollObjectSearchVM, ObjectsClient, ObjSearchFilter, TollObjectInfo } from \"../../dataAccess/ZemApi/TollObjects/TollObjectZemApi\";\r\nimport { AppConfig } from \"../../app.config\";\r\nimport { MapService } from \"../services/map.service\";\r\nimport { Site } from \"../../common/services/site.service\";\r\nimport * as L from 'leaflet';\r\nimport { MsgService } from 'src/app/common/services/msg.service';\r\n\r\n@Injectable()\r\nexport class ManoNamasService {\r\n controlhideshowbtnicon: string = 'angle-left';\r\n manoNamasSearch: string='';\r\n manonamas: TollObjectSearchVM = null;\r\n pinData: TollObjectInfo=null;\r\n\r\n constructor(private mapService: MapService, private msgService: MsgService) {\r\n\r\n }\r\n\r\n setManoNamas(id: any) {\r\n var that = this;\r\n var period = null;\r\n\r\n if (that.mapService.currentFilter && that.mapService.currentFilter.period) {\r\n period = Site.makeDateUTC(that.mapService.currentFilter.period);\r\n }\r\n var intid = null;\r\n var compid = null;\r\n if (typeof id == 'number')\r\n intid = Number(id);\r\n if (typeof id == 'string')\r\n compid = id;\r\n return new ObjectsClient(AppConfig.settings.APIBaseUrl).objSearch(new ObjSearchFilter({id: intid, period: period,compId:compid}))\r\n .then(re => {\r\n if (re.result && re.result.length) {\r\n that.manonamas = re.result[0];\r\n that.manoNamasSearch = that.manonamas.address ||'';\r\n\r\n var thePins = that.mapService.pins.filter((p: TollObjectInfo) => p.tollObjectId == that.manonamas.id);\r\n if (thePins.length) {\r\n that.pinData = thePins[0].stiInfoItems[0];\r\n }\r\n else {\r\n\r\n }\r\n }\r\n }).catch(function(re){ console.log(arguments); }).then(re => { });\r\n }\r\n\r\n panToManoNamas() {\r\n var that = this;\r\n if (!that.manonamas) return;\r\n var atitinkantisPin = that.mapService.pins.filter(p => p.tollObjectId == that.manonamas.id);\r\n if (atitinkantisPin.length == 0) {\r\n that.msgService.error('Objekto žemėlapyje nėra. Pabandykite kitus filtro parametrus');\r\n return;\r\n }\r\n var objLoc = atitinkantisPin[0].location;\r\n if (!objLoc) {\r\n if (atitinkantisPin && atitinkantisPin.length && atitinkantisPin[0].stiInfoItems && atitinkantisPin[0].stiInfoItems.length) {\r\n objLoc = atitinkantisPin[0].stiInfoItems[0].coords;\r\n }\r\n }\r\n if (!objLoc || !objLoc.lat || !objLoc.lon)\r\n that.msgService.error('Objektas neturi koordinačių');\r\n else\r\n that.mapService.map.setView([objLoc.lat, objLoc.lon], 20);\r\n }\r\n\r\n clearManoNamas() {\r\n this.manonamas = null;\r\n this.manoNamasSearch = '';\r\n }\r\n toggleControl() {\r\n if (this.controlhideshowbtnicon == 'angle-right') {\r\n this.controlhideshowbtnicon = 'angle-left';\r\n } else {\r\n this.controlhideshowbtnicon = 'angle-right';\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { AppConfig } from \"../../app.config\";\r\nimport { ObjectsClient, ObjSearchFilter, TollObjectSearchVM } from \"../../dataAccess/ZemApi/TollObjects/TollObjectZemApi\";\r\nimport { ManoNamasService } from \"./manonamas.service\";\r\nimport { Router, ActivatedRoute } from \"@angular/router\"\r\nimport { MapService } from '../services/map.service';\r\n\r\n@Component({template:''})\r\n/** manonamas component*/\r\nexport class mnComponent {\r\n \r\n constructor(public mapService: MapService,public service: ManoNamasService,\r\n private router: Router,\r\n private route: ActivatedRoute) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n var that = this;\r\n var mn = that.route.snapshot.params.mn;\r\n that.service.controlhideshowbtnicon = 'angle-right';\r\n \r\n that.service.setManoNamas(mn);\r\n that.mapService.FromManoNamas = true;\r\n that.router.navigate(['']);\r\n\r\n \r\n }\r\n\r\n}\r\n","module.exports = \".manonamaswr{\\r\\n display: block;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n z-index: 1000;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwL21hcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsTUFBTTtFQUNOLGFBQWE7RUFDYiIsImZpbGUiOiJzcmMvYXBwL21hcC9tYXAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tYW5vbmFtYXN3cntcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgfVxyXG4iXX0= */\"","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n

Kraunama...

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","import { Component, AfterViewInit, Injector, ViewChild, OnDestroy } from '@angular/core';\r\nimport * as L from 'leaflet';\r\nimport 'leaflet.markercluster';\r\nimport { MapService } from './services/map.service';\r\nimport { MapfilterComponent } from '../mapfilter/mapfilter.component';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n//import { MainMenuComponent } from './controls/main_menu/MainMenu.component';\r\nimport { ManoNamasService } from './manonamas/manonamas.service';\r\nimport { BuildingInfoModalComponent } from './building-info-modal/building-info-modal.component';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { Subscription } from 'rxjs';\r\n\r\ndeclare var L: any;\r\n\r\n@Component({\r\n selector: 'map-component',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.css'],\r\n providers: [MapfilterComponent]\r\n})\r\nexport class MapComponent implements AfterViewInit, OnDestroy {\r\n //@ViewChild(MainMenuComponent) mainsidemenu: MainMenuComponent;\r\n title = 'Žemėlapis';\r\n zoom: number = 8;\r\n location = {};\r\n map: L.Map;\r\n DomUtil: any = L.DomUtil;\r\n maxZoom = 19;\r\n minZoom = 3;\r\n\r\n width = window.innerWidth;\r\n height = window.innerHeight;\r\n private pinClickSubscription: Subscription;\r\n\r\n constructor(\r\n public mapService: MapService,\r\n public injector: Injector,\r\n //public appRef: ApplicationRef,\r\n //public resolver: ComponentFactoryResolver,\r\n private spinner: NgxSpinnerService,\r\n // private mainMenu: MainMenuComponent,\r\n private mapFilter: MapfilterComponent,\r\n private modalService: BsModalService\r\n)\r\n {\r\n\r\n var that = this;\r\n this.pinClickSubscription = mapService.pinClickedEvent.subscribe(function (data) {that.openPinModal(data, injector);});\r\n }\r\n\r\n openPinModal(data, injector: Injector) {\r\n if (!data)\r\n return;\r\n const initialState = {\r\n p: data\r\n };\r\n var modalRef = injector.get(BsModalService).show(BuildingInfoModalComponent, { initialState });\r\n //this.bsModalRef.content.closeBtnName = 'Close';\r\n var modalComponent = modalRef.content as BuildingInfoModalComponent;\r\n \r\n }\r\n\r\n\r\n\r\n\r\n ngAfterViewInit() {\r\n this.fitScreen();\r\n }\r\n onMapReady(map: L.Map) {\r\n var that = this;\r\n this.map = map;\r\n this.mapService.loading.subscribe((loading) => {\r\n console.log('loading', loading);\r\n loading ? that.spinner.show() : that.spinner.hide();\r\n\r\n });\r\n this.mapService.map = this.map;\r\n this.addControls(this.map);\r\n\r\n this.mapFilter.filterUpdated();\r\n\r\n \r\n }\r\n\r\n addControls(map) {\r\n L.control.zoom({\r\n position:'bottomright'\r\n }).addTo(map);\r\n \r\n }\r\n\r\n ngOnDestroy() {\r\n if(this.pinClickSubscription)\r\n this.pinClickSubscription.unsubscribe();\r\n // this.mapService.pinClickedEvent.unsubscribe();\r\n }\r\n \r\n\r\n\r\n sleep(milliseconds) {\r\n var start = new Date().getTime();\r\n for (var i = 0; i < 1e7; i++) {\r\n if ((new Date().getTime() - start) > milliseconds) {\r\n break;\r\n }\r\n }\r\n }\r\n fitScreen() {\r\n if (this.map)\r\n this.map.invalidateSize();\r\n }\r\n\r\n onResize(event) {\r\n this.fitScreen();\r\n }\r\n\r\n\r\n\r\n\r\n /*\r\n\t * This is a specification of the leaflet options\r\n\t * The reason to duplicate this object is so we can easily render it to the template\r\n\t */\r\n optionsSpec: {\r\n layers: any[],\r\n //zoom: number,\r\n center: number[]\r\n } = {\r\n layers: [\r\n {\r\n //url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\r\n // url: 'https://{s}.tiles.mapbox.com/v3/osmbuildings.kbpalbpk/{z}/{x}/{y}.png', \r\n url: 'http://a.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}.png',\r\n maxZoom: this.maxZoom,\r\n minZoom: this.minZoom,\r\n attribution: 'Open street map',\r\n },\r\n\r\n ],\r\n //zoom: 1,//nenaudojamas\r\n center: [55.378366, 23.918996]//55.378366, 23.918996\r\n };\r\n\r\n // Fields for managing the form inputs and binding to leaflet zoom/center\r\n model = new LeafletCoreModel(\r\n this.optionsSpec.center[0],\r\n this.optionsSpec.center[1],\r\n );\r\n center: L.LatLng;\r\n\r\n // Marker cluster stuff\r\n markerClusterGroup: L.MarkerClusterGroup;\r\n markerClusterOptions: L.MarkerClusterGroupOptions;\r\n\r\n /*\r\n * This are the leaflet map options that we're going to use for input binding\r\n */\r\n\r\n options = {\r\n layers: this.optionsSpec.layers.map((l) => {\r\n return L.tileLayer(l.url, { maxZoom: l.maxZoom, minZoom: l.minZoom, attribution: l.attribution });\r\n }),\r\n zoomControl: false,\r\n zoom: this.zoom,\r\n center: L.latLng({ lat: this.optionsSpec.center[0], lng: this.optionsSpec.center[1] }),\r\n markerClusterGroup: L.MarkerClusterGroup,\r\n markerClusterOptions: L.MarkerClusterGroupOptions,\r\n \r\n };\r\n\r\n\r\n fitBoundsOptions = {\r\n padding: 100,\r\n maxZoom: 10,\r\n animate: true,\r\n duration: 1\r\n };\r\n\r\n panOptions = {\r\n animate: true,\r\n duration: 1\r\n };\r\n\r\n zoomOptions = {\r\n animate: true,\r\n duration: 1,\r\n\r\n };\r\n\r\n zoomPanOptions = {\r\n animate: true,\r\n duration: 1\r\n };\r\n\r\n onApply() {\r\n //this.center = L.latLng([this.model.latitude, this.model.longitude]);\r\n return false;\r\n }\r\n\r\n}\r\n\r\nexport class LeafletCoreModel {\r\n\r\n constructor(\r\n public latitude: number = 0,\r\n public longitude: number = 0,\r\n public zoomLevels: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]\r\n ) { }\r\n}\r\n\r\n\r\n","import { Injectable, Injector, NgZone, EventEmitter } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { AppConfig } from '../../app.config';\r\nimport { HttpParams } from '@angular/common/http';\r\nimport { Client, TollObjectInfo, ObjectsClient, Administratorius, Prižiūrėtojas, PointCoords, ObjSearchFilter, TollObjectSearchVM } from '../../dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { MapFilterModel } from 'src/app/mapfilter/models/MapFilterModel';\r\nimport { LocService } from \"../../common/localizations/loc.service\";\r\nimport { NgElement, WithProperties } from \"@angular/elements\";\r\nimport * as L from 'leaflet';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { BuildingInfoModalComponent } from \"../building-info-modal/building-info-modal.component\";\r\nimport { HeatComparisonRangeEnum } from './models/HeatComparisonRangeEnumFile';\r\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\r\nimport { DropdownOption } from \"../../common/html-helpers/inputs/dropdown/models/DropdownOption\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MapService {\r\n\r\n public sideopened: boolean = false;\r\n toggleSideOpen() {\r\n this.sideopened = !this.sideopened;\r\n }\r\n public ActivateTab(tabId: string) {\r\n this.ActivateTabEM.emit(tabId);\r\n }\r\n ActivateTabEM: EventEmitter = new EventEmitter();\r\n\r\n FromManoNamas: boolean = false;\r\n currentFilter: MapFilterModel=null;\r\n\r\n allPriž: DropdownOption[];\r\n allAdmin: DropdownOption[];\r\n allPaskirtys: DropdownOption[];\r\n\r\n allAukstai: DropdownOption[] = [\r\n { display: '1', value: 1 },\r\n { display: '1,5', value: 1.5 },\r\n { display: '2', value: 2 },\r\n { display: '3', value: 3 },\r\n { display: '4', value: 4 },\r\n { display: '5', value: 5 },\r\n { display: '6 ir daugiau', value: 6 },\r\n { display: 'Nenurodyta', value: 0 },\r\n ];\r\n\r\n public avgiaQlygM3 = 0;\r\n public highiaQlygM3 = 0;\r\n public lowiaQlygM3 = 0;\r\n\r\n constructor(private zone: NgZone, private modalService: BsModalService,\r\n public injector: Injector, private breakpointObserver:BreakpointObserver) {\r\n }\r\n\r\n public readonly isSmallScreen = this.breakpointObserver.isMatched('(max-width: 599px)');\r\n\r\n public pinClickedEvent: EventEmitter = new EventEmitter();\r\n\r\n public pins: TollObjectInfo[] = new Array();\r\n //activePinData: TollObjectInfo;\r\n public loading = new BehaviorSubject(false);\r\n public map: any;\r\n\r\n clearPins() {\r\n delete this.pins;\r\n this.pins = new Array();\r\n }\r\n getAllPins(objectFilter: MapFilterModel): Promise {\r\n return new Promise((resolve, reject) => {\r\n var filterClone = JSON.parse(JSON.stringify(objectFilter));\r\n filterClone.period = new Date(filterClone.period).getFullYear() + '-' + (new Date(filterClone.period).getMonth() + 1) + '-01';\r\n\r\n filterClone.renovuotas = filterClone.renovuotas || null;\r\n filterClone.naujaStatyba = filterClone.naujaStatyba || null;\r\n filterClone.objektoPaskirtisValue = filterClone.paskirtis || null;\r\n\r\n this.clearPins();\r\n this.loading.next(true);\r\n var that = this;\r\n filterClone.quicklyFoundTobj = null;\r\n if (objectFilter.quicklyFoundTobj && objectFilter.quicklyFoundTobj.id) {\r\n filterClone.ObjectIds = [objectFilter.quicklyFoundTobj.id];\r\n }\r\n\r\n new ObjectsClient(AppConfig.settings.APIBaseUrl).objectInfo(filterClone).then(\r\n result => {\r\n that.allAdmin = that.administratoriaiFilterOpts(result.administratoriai);\r\n that.allPriž = that.priziuretojaiFilterOpts(result.prižiūrėtojai);\r\n that.allPaskirtys = that.paskirtysFilterOpts(result.objektoPaskirtys);\r\n result.list.forEach((x: TollObjectInfo) => {\r\n this.pins.push(x);\r\n });\r\n }\r\n ).catch(\r\n err => {\r\n console.log(err);\r\n reject(err);\r\n }\r\n ).then(result => {\r\n that.loading.next(false);\r\n that.createPins(false);\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n formatGetQuery(period: Date, aukstai: any[]) {\r\n let result = {\r\n period: period.toLocaleDateString(\"lt\"),\r\n aukstai: aukstai\r\n }\r\n return result;\r\n }\r\n\r\n administratoriaiFilterOpts(allAdministratoriai): DropdownOption[] {\r\n\r\n var alladmin = (allAdministratoriai || []).map(p => { display: p.name, value: p.name });\r\n alladmin.unshift({ display: LocService.Translate('< administratorius >'), value: '' });\r\n return alladmin;\r\n }\r\n priziuretojaiFilterOpts(allPrižiūrėtojai): DropdownOption[] {\r\n var allpriž = (allPrižiūrėtojai || []).map(p => { display: p.name, value: p.name });\r\n allpriž.unshift({ display: LocService.Translate('< prižiūrėtojas >'), value: '' });\r\n return allpriž;\r\n }\r\n paskirtysFilterOpts(allPaskirtys): DropdownOption[] {\r\n var allPask = (allPaskirtys || []).map(p => { display: p.name, value: p.name });\r\n allPask.unshift({ display: LocService.Translate('< paskirtis >'), value: '' });\r\n return allPask;\r\n }\r\n clearFilter() {\r\n this.currentFilter.aukstai.splice(0, this.currentFilter.aukstai.length);\r\n this.allAukstai.map((item) => this.currentFilter.aukstai.push(item.value));\r\n this.currentFilter.renovuotas = null;\r\n this.currentFilter.naujaStatyba = null;\r\n this.currentFilter.statybosMetaiNuo = null;\r\n this.currentFilter.statybosMetaiIki = null;\r\n this.currentFilter.administratorius = '';\r\n this.currentFilter.prižiūrėtojas = '';\r\n this.currentFilter.quicklyFoundTobj = null;\r\n this.currentFilter.paskirtis = '';\r\n //this.currentFilter.period = \r\n\r\n }\r\n\r\n markers = L.markerClusterGroup({\r\n iconCreateFunction: cluster => { // kazkada gal reikes, bet dabar ne\r\n return this.formatClusterLogo(cluster);\r\n },\r\n animate: true, showCoverageOnHover: true\r\n });\r\n\r\n currentClusterPopup: any;\r\n enablePopupsForClusters(clustersLayer) {\r\n var that = this;\r\n clustersLayer.off(\"clustermouseover\");\r\n clustersLayer.on('clustermouseover', (e) => {\r\n let eachLayerDataObj = [];\r\n eachLayerDataObj.push(...e.layer.getAllChildMarkers().map(function (x) {\r\n return x.options.data;\r\n }));\r\n var visibleLayer = this.markers.getVisibleParent(e.layer);\r\n\r\n if (that.closePopupTimer && visibleLayer.isPopupOpen()) {\r\n console.log('timeout cleared');\r\n clearTimeout(that.closePopupTimer);\r\n that.closePopupTimer = null;\r\n } else {\r\n\r\n var popup = visibleLayer//e.sourceTarget // clusteris o ne vidiniai markeriai\r\n .bindPopup(layer => {\r\n var popupEl = document.createElement('cluster-popup-element') as any;\r\n popupEl.addEventListener('closed', () => document.body.removeChild(popupEl));\r\n popupEl.p = eachLayerDataObj;\r\n document.body.appendChild(popupEl);\r\n\r\n that.currentClusterPopup = popupEl;\r\n return popupEl;\r\n },\r\n {\r\n maxWidth: window.innerWidth * 0.8, //80% ekrano matomumo\r\n maxHeight: window.innerHeight * 0.8,\r\n closeButton: false\r\n });\r\n\r\n popup.openPopup();\r\n try {\r\n that.currentClusterPopup.parentElement.parentElement.parentElement.onmouseleave = function () {\r\n that.closePopupInitiated(popup);\r\n };\r\n that.currentClusterPopup.parentElement.parentElement.parentElement.onmouseenter = function () { clearTimeout(that.closePopupTimer); };\r\n } finally { }\r\n }\r\n\r\n\r\n\r\n\r\n });\r\n clustersLayer.on('clustermouseout', (e) => {\r\n var that = this;\r\n try {\r\n if (!that.currentClusterPopup\r\n || !that.currentClusterPopup.parentElement\r\n || !that.currentClusterPopup.parentElement.parentElement\r\n || !that.currentClusterPopup.parentElement.parentElement.parentElement)\r\n return;\r\n\r\n var c = window.getComputedStyle(that.currentClusterPopup.parentElement.parentElement.parentElement).getPropertyValue('border-top-style');\r\n if (c !== 'hidden') {\r\n that.closePopupInitiated(e.sourceTarget);\r\n }\r\n }\r\n finally { }\r\n });\r\n }\r\n\r\n private closePopupTimer: any;\r\n closePopupInitiated(popup) {\r\n var that = this;\r\n if (that.closePopupTimer) {\r\n clearTimeout(that.closePopupTimer);\r\n }\r\n that.closePopupTimer = setTimeout(function () {\r\n popup.closePopup();\r\n that.closePopupTimer = null;\r\n }, 350);\r\n }\r\n\r\n\r\n formatClusterLogo(cluster): L.DivIcon {\r\n //custom\r\n //-------------------------------------------------------\r\n var validChilds = cluster.getAllChildMarkers().filter(x => {\r\n\r\n return x.options.data.stiInfoItems[0].iaQlygM3 != 0 && x.options.data.stiInfoItems[0].iaQlygM3 !=null;\r\n });\r\n\r\n var efektyvumas = validChilds.reduce((total, item) => total + item.options.data.stiInfoItems[0].iaQlygM3, 0) / validChilds.length;\r\n\r\n var c = ' marker-cluster-';\r\n if (isNaN(efektyvumas)) {\r\n c += 'gray';\r\n }\r\n else {\r\n if (efektyvumas > this.lowiaQlygM3 && efektyvumas < this.highiaQlygM3) {\r\n c += 'medium';\r\n } else if (efektyvumas < this.lowiaQlygM3) {\r\n c += 'small';\r\n } else {\r\n c += 'large';\r\n }\r\n }\r\n return new L.DivIcon({ html: '
' + cluster.getChildCount() + '
', className: 'marker-cluster' + c, iconSize: new L.Point(40, 40) });\r\n //-------------------------------------------------------\r\n\r\n // var childCount = cluster.getChildCount(); //defaultas\r\n // var c = ' marker-cluster-';\r\n // if (childCount < 10) {\r\n // c += 'small';\r\n // } else if (childCount < 100) {\r\n // c += 'medium';\r\n // } else {\r\n // c += 'large';\r\n // }\r\n\r\n // return new L.DivIcon({ html: '
' + childCount + '
', className: 'marker-cluster' + c, iconSize: new L.Point(40, 40) });\r\n }\r\n\r\n\r\n createPins(loading) {\r\n\r\n if (!loading) {\r\n this.markers.clearLayers();\r\n var ricon = L.icon({\r\n iconUrl: './assets/imgs/markers/marker-icon-red.png',\r\n iconSize: [25, 41],\r\n iconAnchor: [12, 41],\r\n popupAnchor: [1, -34],\r\n shadowUrl: './assets/imgs/markers/marker-shadow.png',\r\n });\r\n var gicon = L.icon({\r\n iconUrl: './assets/imgs/markers/marker-icon-green.png',\r\n iconSize: [25, 41],\r\n iconAnchor: [12, 41],\r\n popupAnchor: [1, -34],\r\n shadowUrl: './assets/imgs/markers/marker-shadow.png',\r\n });\r\n var yicon = L.icon({\r\n iconUrl: './assets/imgs/markers/marker-icon-yellow.png',\r\n iconSize: [25, 41],\r\n iconAnchor: [12, 41],\r\n popupAnchor: [1, -34],\r\n shadowUrl: './assets/imgs/markers/marker-shadow.png',\r\n });\r\n var gricon = L.icon({\r\n iconUrl: './assets/imgs/markers/marker-icon-grey.png',\r\n iconSize: [25, 41],\r\n iconAnchor: [12, 41],\r\n popupAnchor: [1, -34],\r\n shadowUrl: './assets/imgs/markers/marker-shadow.png',\r\n });\r\n var minLat = null, maxLat = null, minLon = null, maxLon = null;\r\n\r\n if (this.pins != null) {\r\n this.getAvgiaQlygM3(this.pins);\r\n this.getHighLowiaQlygM3();\r\n this.pins.forEach(p=> {\r\n var icon = null;\r\n\r\n if (p.stiInfoItems[0].iaQlygM3 == 0 || p.stiInfoItems[0].iaQlygM3 == null) {\r\n p.stiInfoItems[0]['comparisonrange'] = HeatComparisonRangeEnum.NoData;\r\n icon = gricon;\r\n }\r\n else {\r\n if (p.stiInfoItems[0].iaQlygM3 > this.lowiaQlygM3 && p.stiInfoItems[0].iaQlygM3 < this.highiaQlygM3) {\r\n p.stiInfoItems[0]['comparisonrange'] = HeatComparisonRangeEnum.Average;\r\n icon = yicon;\r\n } else if (p.stiInfoItems[0].iaQlygM3 < this.lowiaQlygM3) {\r\n\r\n p.stiInfoItems[0]['comparisonrange'] = HeatComparisonRangeEnum.Good;\r\n icon = gicon;\r\n } else {\r\n p.stiInfoItems[0]['comparisonrange'] = HeatComparisonRangeEnum.Poor;\r\n icon = ricon;\r\n }\r\n }\r\n p.stiInfoItems[0].coords = p.stiInfoItems[0].coords || new PointCoords();\r\n p.location = p.location || new PointCoords();\r\n var lat = p.stiInfoItems[0].coords.lat || p.location.lat;\r\n var lon = p.stiInfoItems[0].coords.lon || p.location.lon;\r\n var that = this;\r\n if (lat && lon) {\r\n\r\n if (lat < minLat || minLat == null) minLat = lat;\r\n if (lat > maxLat || maxLat == null) maxLat = lat;\r\n if (lon < minLon || minLon == null) minLon = lon;\r\n if (lon > maxLon || maxLon == null) maxLon = lon;\r\n\r\n var marker = L.marker([lat, lon], { icon: icon, data: p }).addTo(this.markers);\r\n marker.on('click', (ev) => {\r\n that.zone.run(() => {\r\n that.pinClicked(ev);\r\n });\r\n });\r\n\r\n marker.myJsonData = p;\r\n }\r\n\r\n\r\n });//foreach\r\n\r\n this.map.addLayer(this.markers);\r\n this.enablePopupsForClusters(this.markers);\r\n if (!this.FromManoNamas && minLat != null && minLon != null && maxLat != null && maxLon != null) {\r\n var corner1 = L.latLng(minLat, minLon),\r\n corner2 = L.latLng(maxLat, maxLon),\r\n bounds = L.latLngBounds(corner1, corner2);\r\n this.map.fitBounds(bounds);\r\n }\r\n }\r\n }\r\n }\r\n\r\n pinClicked(event: any) {\r\n\r\n var pin = event.target;\r\n var data = pin.myJsonData;\r\n\r\n console.log('emitting');\r\n this.pinClickedEvent.emit(data);\r\n }\r\n pinClickedData(data: TollObjectInfo) {\r\n this.pinClickedEvent.emit(data);\r\n }\r\n\r\n getAvgiaQlygM3(pins) {\r\n var validpins = pins.filter(function (item) { return !isNaN(item.stiInfoItems[0].iaQlygM3) && item.stiInfoItems[0].iaQlygM3 > 0; });\r\n this.avgiaQlygM3 = validpins.reduce((total, item) => total + item.stiInfoItems[0].iaQlygM3, 0) / validpins.length;\r\n }\r\n\r\n getHighLowiaQlygM3() {\r\n this.lowiaQlygM3 = 0.6 * this.avgiaQlygM3;\r\n this.highiaQlygM3 = 1.4 * this.avgiaQlygM3;\r\n }\r\n\r\n searchQuicklyTobjPromise(query): Promise {\r\n return new Promise((resolve, reject) => {\r\n new ObjectsClient(AppConfig.settings.APIBaseUrl).objSearch(new ObjSearchFilter({ query: query }))\r\n .then(re => { resolve(re.result); })\r\n .catch(re => { console.log(re); reject(re) }).then(re => console.log(re));\r\n });\r\n }\r\n}\r\n","export enum HeatComparisonRangeEnum {\r\n NoData = 0,\r\n Poor=1,\r\n Average=2,\r\n Good=3\r\n}\r\n","module.exports = \".filter-top-right-padding{\\r\\n padding-right: 40px;\\r\\n}\\r\\n\\r\\n.sidebar-map:not(.open) .toggler-map{\\r\\n display:none;\\r\\n}\\r\\n\\r\\n/*:host {\\r\\n z-index: 400;\\r\\n position: absolute;\\r\\n top: 30px;\\r\\n right: 30px;\\r\\n}*/\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbWFwZmlsdGVyL21hcGZpbHRlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBOzs7OztFQUtFIiwiZmlsZSI6InNyYy9hcHAvbWFwZmlsdGVyL21hcGZpbHRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpbHRlci10b3AtcmlnaHQtcGFkZGluZ3tcclxuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbn1cclxuXHJcbi5zaWRlYmFyLW1hcDpub3QoLm9wZW4pIC50b2dnbGVyLW1hcHtcclxuICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi8qOmhvc3Qge1xyXG4gIHotaW5kZXg6IDQwMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAzMHB4O1xyXG4gIHJpZ2h0OiAzMHB4O1xyXG59Ki9cclxuIl19 */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, EventEmitter, ViewChild, ElementRef } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MapService } from '../map/services/map.service';\r\nimport { debounceTime, mergeMap } from 'rxjs/operators';\r\nimport { Subject, Observable, from, of, Subscription } from 'rxjs';\r\nimport { TollObjectSearchVM, ObjectsClient, ObjSearchFilter, TollObjectInfo } from '../dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\nimport { MapFilterModel } from './models/MapFilterModel';\r\nimport { LocService } from '../common/localizations/loc.service';\r\nimport { AppConfig } from \"../app.config\";\r\nimport { Site } from \"../common/services/site.service\";\r\nimport { TypeaheadMatch } from 'ngx-bootstrap/typeahead/public_api';\r\nimport { TabDirective, TabsetComponent } from 'ngx-bootstrap/tabs';\r\nimport { ManoNamasService } from '../map/manonamas/manonamas.service';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { DropdownOption } from \"../common/html-helpers/inputs/dropdown/models/DropdownOption\";\r\n\r\n\r\n@Component({\r\n selector: 'app-mapfilter',\r\n templateUrl: './mapfilter.component.html',\r\n styleUrls: ['./mapfilter.component.css']\r\n})\r\nexport class MapfilterComponent {\r\n //that = this;\r\n @ViewChild('ataskaitosTab') ataskaitosTab: any;\r\n @ViewChild('mapFilterTabset') mapFilterTabset: any;\r\n\r\n get aukstaiSelected(): DropdownOption[] {\r\n return this.mapService.currentFilter.aukstai.map(a => { display: this.mapService.allAukstai.find(au => au.value == a).display, value: a });\r\n }\r\n set aukstaiSelected(aukstai: DropdownOption[]) {\r\n this.mapService.currentFilter.aukstai = aukstai.map(a => a.value);\r\n this.filterUpdated();\r\n }\r\n filterUpdatedObservee: EventEmitter = new EventEmitter();\r\n quicklyFoundTobjsObservable: Observable;\r\n\r\n\r\n public calendarLocale: any;\r\n\r\n STIPeriodFrom: string = Site.FormatDate(new Date(AppConfig.settings.db.STIPeriodFrom), 'YYYY-MM');\r\n STIPeriodTo: string = Site.FormatDate(new Date(AppConfig.settings.db.STIPeriodTo), 'YYYY-MM');\r\n\r\n constructor(public mapService: MapService, private modalService: BsModalService,\r\n private mnService: ManoNamasService) {\r\n this.quicklyFoundTobjsObservable = Observable.create((observer: any) => {\r\n // Runs on every search\r\n observer.next(this.mapService.currentFilter.addressSearch);\r\n })\r\n .pipe(mergeMap((token: string) => {\r\n var promise = this.mapService.searchQuicklyTobjPromise(token);\r\n return from(promise);\r\n })\r\n );\r\n\r\n\r\n if (this.mapService.currentFilter == null) {\r\n this.mapService.currentFilter = new MapFilterModel(\r\n {\r\n aukstai: [],\r\n period: new Date(AppConfig.settings.db.STIPeriodTo),//new Date(new Date().getFullYear(), 0, 1),\r\n // specialistMode:false\r\n }\r\n );\r\n\r\n this.mapService.clearFilter();\r\n }\r\n\r\n var that = this;\r\n this.filterUpdatedObservee\r\n .pipe(debounceTime(1000))\r\n .subscribe(() => {\r\n\r\n this.mapService.getAllPins(this.mapService.currentFilter).then(function () {\r\n if (that.mapService.FromManoNamas) {\r\n that.mnService.panToManoNamas();\r\n that.mapService.FromManoNamas = false;\r\n if (!that.mnService.pinData && that.mnService.manonamas) {\r\n var thePins = that.mapService.pins.filter((p: TollObjectInfo) => p.tollObjectId == that.mnService.manonamas.id);\r\n if (thePins.length) {\r\n that.mnService.pinData = thePins[0].stiInfoItems[0];\r\n }\r\n }\r\n }\r\n });\r\n });\r\n this.ActivateTabEmSubscription = this.mapService.ActivateTabEM.subscribe(function (tabId) {\r\n if (tabId == \"ataskaitosTab\" && that.mapFilterTabset != null && typeof (that.mapFilterTabset) != 'undefined') {\r\n that.mapFilterTabset.tabs[1].active = true;\r\n }\r\n });\r\n }\r\n ActivateTabEmSubscription: Subscription;\r\n ngOnDestroy() {\r\n if (this.ActivateTabEmSubscription) {\r\n this.ActivateTabEmSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n quickSearchChange() {\r\n this.mapService.currentFilter.quicklyFoundTobj = null;\r\n this.filterUpdated();\r\n }\r\n\r\n filterUpdated(date: string = null) {\r\n if (date != null) {\r\n this.mapService.currentFilter.period = new Date(date);\r\n }\r\n this.filterUpdatedObservee.emit();\r\n\r\n }\r\n\r\n onSelectQuicklyFoundTobj(match: TypeaheadMatch) {\r\n this.mapService.currentFilter.quicklyFoundTobj = match.item;\r\n this.filterUpdated();\r\n }\r\n\r\n\r\n\r\n clearFilter() {\r\n this.mapService.clearFilter();\r\n this.filterUpdated();\r\n }\r\n\r\n clickedOutsideFilter(target: any) {\r\n if (target.id != 'filterToggler' && (!target.closest('a') || target.closest('a').id != 'filterToggler'))\r\n this.mapService.sideopened = false;\r\n }\r\n\r\n}\r\n","import { TollObjectSearchVM, Prižiūrėtojas, Administratorius, ITollObjectInfoFilterWithExprs\r\n} from 'src/app/dataAccess/ZemApi/TollObjects/TollObjectZemApi';\r\n\r\n\r\nexport class MapFilterModel implements ITollObjectInfoFilterWithExprs {\r\n\r\n period?: Date | undefined;\r\n aukstai?: number[] | undefined;\r\n fromLon?: number | undefined;\r\n fromLat?: number | undefined;\r\n toLon?: number | undefined;\r\n toLat?: number | undefined;\r\n specialistMode: boolean;\r\n\r\n quicklyFoundTobj: TollObjectSearchVM;\r\n renovuotas?: boolean | undefined;\r\n naujaStatyba?: boolean | undefined;\r\n statybosMetaiNuo?: number | undefined;\r\n statybosMetaiIki?: number | undefined;\r\n administratorius?: string | undefined;\r\n prižiūrėtojas?: string | undefined;\r\n addressSearch?: string;\r\n paskirtis?: string | undefined;\r\n\r\n\r\n constructor(data?: any) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n appConfig: 'appconfig.json'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n\n"],"sourceRoot":""}