{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/_directives/max-value.directive.ts","webpack:///./src/app/_directives/min-value.directive.ts","webpack:///./src/app/_directives/only-number.directive.ts","webpack:///./src/app/_guards/auth.guard.ts","webpack:///./src/app/_guards/auth.service.ts","webpack:///./src/app/_guards/home.guard.ts","webpack:///./src/app/_guards/super-admin.guard.ts","webpack:///./src/app/_pipes/filter.pipe.ts","webpack:///./src/app/_pipes/orderby.pipe.ts","webpack:///./src/app/_shared/access-rights/access-rights.service.ts","webpack:///./src/app/_shared/alert/alert.service.ts","webpack:///./src/app/_shared/asset/assets.service.ts","webpack:///./src/app/_shared/assetChangeLog/asset-change-log.service.ts","webpack:///./src/app/_shared/authentication/authentication.service.ts","webpack:///./src/app/_shared/bundles/bundle.service.ts","webpack:///./src/app/_shared/bundles/bundles-filter.pipe.ts","webpack:///./src/app/_shared/category-code/category-code.service.ts","webpack:///./src/app/_shared/costcenter/costcenter.service.ts","webpack:///./src/app/_shared/customers/customers.service.ts","webpack:///./src/app/_shared/dashboard/dashboard.service.ts","webpack:///./src/app/_shared/email/email.service.ts","webpack:///./src/app/_shared/endOfLeaseAction/end-of-lease-action.service.ts","webpack:///./src/app/_shared/functions/functions.service.ts","webpack:///./src/app/_shared/helper/error.interceptor.ts","webpack:///./src/app/_shared/helper/helper.service.ts","webpack:///./src/app/_shared/imports/imports-filter.pipe.ts","webpack:///./src/app/_shared/imports/imports.service.ts","webpack:///./src/app/_shared/logging/error-handler.service.ts","webpack:///./src/app/_shared/logging/logging.service.ts","webpack:///./src/app/_shared/pager/pager.service.ts","webpack:///./src/app/_shared/password/password.service.ts","webpack:///./src/app/_shared/properties/properties.service.ts","webpack:///./src/app/_shared/properties/used-properties/used-properties.pipe.ts","webpack:///./src/app/_shared/reports/reports.service.ts","webpack:///./src/app/_shared/roles/roles.service.ts","webpack:///./src/app/_shared/savedsearches/saved-searches.service.ts","webpack:///./src/app/_shared/settings/settings.service.ts","webpack:///./src/app/_shared/status/status.service.ts","webpack:///./src/app/_shared/user/user.service.ts","webpack:///./src/app/_shared/user/users-filter.pipe.ts","webpack:///./src/app/_shared/user/users.service.ts","webpack:///./src/app/_shared/wootric/wootric.service.ts","webpack:///./src/app/activity/activity.component.css","webpack:///./src/app/activity/activity.component.html","webpack:///./src/app/activity/activity.component.ts","webpack:///./src/app/admin-tool/admin-tool.component.html","webpack:///./src/app/admin-tool/admin-tool.component.scss","webpack:///./src/app/admin-tool/admin-tool.component.ts","webpack:///./src/app/alert/alert.component.css","webpack:///./src/app/alert/alert.component.html","webpack:///./src/app/alert/alert.component.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.scss","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/assets/asset-change/asset-change-control/asset-changes-control.component.css","webpack:///./src/app/assets/asset-change/asset-change-control/asset-changes-control.component.html","webpack:///./src/app/assets/asset-change/asset-change-control/asset-changes-control.component.ts","webpack:///./src/app/assets/asset-change/asset-change-selection-paging/asset-change-selection-paging.component.css","webpack:///./src/app/assets/asset-change/asset-change-selection-paging/asset-change-selection-paging.component.html","webpack:///./src/app/assets/asset-change/asset-change-selection-paging/asset-change-selection-paging.component.ts","webpack:///./src/app/assets/asset-change/asset-change-selection/asset-change-selection.component.css","webpack:///./src/app/assets/asset-change/asset-change-selection/asset-change-selection.component.html","webpack:///./src/app/assets/asset-change/asset-change-selection/asset-change-selection.component.ts","webpack:///./src/app/assets/asset-change/asset-change.service.ts","webpack:///./src/app/assets/asset-change/asset-change/asset-change-selection.component.css","webpack:///./src/app/assets/asset-change/asset-change/asset-change-selection.component.html","webpack:///./src/app/assets/asset-change/asset-change/asset-change-selection.component.ts","webpack:///./src/app/assets/asset-column-selector/asset-column-selector.component.css","webpack:///./src/app/assets/asset-column-selector/asset-column-selector.component.html","webpack:///./src/app/assets/asset-column-selector/asset-column-selector.component.ts","webpack:///./src/app/assets/asset-column-selector/asset-column-selector.service.ts","webpack:///./src/app/assets/asset-details/asset-detail-edit/asset-detail-edit.component.css","webpack:///./src/app/assets/asset-details/asset-detail-edit/asset-detail-edit.component.html","webpack:///./src/app/assets/asset-details/asset-detail-edit/asset-detail-edit.component.ts","webpack:///./src/app/assets/asset-details/asset-details.component.css","webpack:///./src/app/assets/asset-details/asset-details.component.html","webpack:///./src/app/assets/asset-details/asset-details.component.ts","webpack:///./src/app/assets/asset-details/window.service.ts","webpack:///./src/app/assets/asset-masschange-history/asset-masschange-history-details/asset-masschange-history-details.component.css","webpack:///./src/app/assets/asset-masschange-history/asset-masschange-history-details/asset-masschange-history-details.component.html","webpack:///./src/app/assets/asset-masschange-history/asset-masschange-history-details/asset-masschange-history-details.component.ts","webpack:///./src/app/assets/asset-masschange-history/asset-masschange-history.component.css","webpack:///./src/app/assets/asset-masschange-history/asset-masschange-history.component.html","webpack:///./src/app/assets/asset-masschange-history/asset-masschange-history.component.ts","webpack:///./src/app/assets/asset-modify/asset-modify.component.css","webpack:///./src/app/assets/asset-modify/asset-modify.component.html","webpack:///./src/app/assets/asset-modify/asset-modify.component.ts","webpack:///./src/app/assets/asset-search/asset-date-range-picker/asset-date-range-picker.component.css","webpack:///./src/app/assets/asset-search/asset-date-range-picker/asset-date-range-picker.component.html","webpack:///./src/app/assets/asset-search/asset-date-range-picker/asset-date-range-picker.component.ts","webpack:///./src/app/assets/asset-search/asset-search.component.css","webpack:///./src/app/assets/asset-search/asset-search.component.html","webpack:///./src/app/assets/asset-search/asset-search.component.ts","webpack:///./src/app/assets/asset-search/asset-search.service.ts","webpack:///./src/app/assets/asset-searchresult-paging/asset-searchresult-paging.component.css","webpack:///./src/app/assets/asset-searchresult-paging/asset-searchresult-paging.component.html","webpack:///./src/app/assets/asset-searchresult-paging/asset-searchresult-paging.component.ts","webpack:///./src/app/assets/asset-searchresult/asset-searchresult.component.css","webpack:///./src/app/assets/asset-searchresult/asset-searchresult.component.html","webpack:///./src/app/assets/asset-searchresult/asset-searchresult.component.ts","webpack:///./src/app/assets/date-range-property/date-range-property.component.html","webpack:///./src/app/assets/date-range-property/date-range-property.component.scss","webpack:///./src/app/assets/date-range-property/date-range-property.component.ts","webpack:///./src/app/autocomplete/autocomplete.component.css","webpack:///./src/app/autocomplete/autocomplete.component.html","webpack:///./src/app/autocomplete/autocomplete.component.ts","webpack:///./src/app/bundle-search/bundle-search.component.css","webpack:///./src/app/bundle-search/bundle-search.component.html","webpack:///./src/app/bundle-search/bundle-search.component.ts","webpack:///./src/app/callback/callback.component.css","webpack:///./src/app/callback/callback.component.html","webpack:///./src/app/callback/callback.component.ts","webpack:///./src/app/common/loader/loader.component.css","webpack:///./src/app/common/loader/loader.component.html","webpack:///./src/app/common/loader/loader.component.ts","webpack:///./src/app/cookies/cookies.component.html","webpack:///./src/app/cookies/cookies.component.scss","webpack:///./src/app/cookies/cookies.component.ts","webpack:///./src/app/dropdown/dropdown.component.css","webpack:///./src/app/dropdown/dropdown.component.html","webpack:///./src/app/dropdown/dropdown.component.ts","webpack:///./src/app/footer/footer.component.css","webpack:///./src/app/footer/footer.component.html","webpack:///./src/app/footer/footer.component.ts","webpack:///./src/app/forgot-password/forgot-password.component.css","webpack:///./src/app/forgot-password/forgot-password.component.html","webpack:///./src/app/forgot-password/forgot-password.component.ts","webpack:///./src/app/forgot-password/forgot-password.service.ts","webpack:///./src/app/header/header.component.css","webpack:///./src/app/header/header.component.html","webpack:///./src/app/header/header.component.ts","webpack:///./src/app/home/home.component.css","webpack:///./src/app/home/home.component.html","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/login/login.component.css","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/loginsso/loginsso.component.css","webpack:///./src/app/loginsso/loginsso.component.html","webpack:///./src/app/loginsso/loginsso.component.ts","webpack:///./src/app/new-password/new-password.component.css","webpack:///./src/app/new-password/new-password.component.html","webpack:///./src/app/new-password/new-password.component.ts","webpack:///./src/app/registerinfo/registerinfo.component.html","webpack:///./src/app/registerinfo/registerinfo.component.scss","webpack:///./src/app/registerinfo/registerinfo.component.ts","webpack:///./src/app/reports/reportParameterModel.ts","webpack:///./src/app/reports/reports-column-selector/reports-column-selector.component.css","webpack:///./src/app/reports/reports-column-selector/reports-column-selector.component.html","webpack:///./src/app/reports/reports-column-selector/reports-column-selector.component.ts","webpack:///./src/app/reports/reports-data.service.ts","webpack:///./src/app/reports/reports.component.css","webpack:///./src/app/reports/reports.component.html","webpack:///./src/app/reports/reports.component.ts","webpack:///./src/app/save-searches/save-searches-data.service.ts","webpack:///./src/app/save-searches/save-searches.component.html","webpack:///./src/app/save-searches/save-searches.component.scss","webpack:///./src/app/save-searches/save-searches.component.ts","webpack:///./src/app/service-outage/service-outage.component.css","webpack:///./src/app/service-outage/service-outage.component.html","webpack:///./src/app/service-outage/service-outage.component.ts","webpack:///./src/app/settings/dashboard-admin/dashboard-admin.component.html","webpack:///./src/app/settings/dashboard-admin/dashboard-admin.component.scss","webpack:///./src/app/settings/dashboard-admin/dashboard-admin.component.ts","webpack:///./src/app/settings/new-user/new-user.component.css","webpack:///./src/app/settings/new-user/new-user.component.html","webpack:///./src/app/settings/new-user/new-user.component.ts","webpack:///./src/app/settings/new-user/new-user.service.ts","webpack:///./src/app/settings/password/password.component.css","webpack:///./src/app/settings/password/password.component.html","webpack:///./src/app/settings/password/password.component.ts","webpack:///./src/app/settings/profile/profile.component.css","webpack:///./src/app/settings/profile/profile.component.html","webpack:///./src/app/settings/profile/profile.component.ts","webpack:///./src/app/settings/settings.component.css","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/user-management/user-management.component.css","webpack:///./src/app/settings/user-management/user-management.component.html","webpack:///./src/app/settings/user-management/user-management.component.ts","webpack:///./src/app/settings/user-management/user-settings/user-settings.component.css","webpack:///./src/app/settings/user-management/user-settings/user-settings.component.html","webpack:///./src/app/settings/user-management/user-settings/user-settings.component.ts","webpack:///./src/app/settings/user-settings.service.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-ps\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-ps.js\": \"./node_modules/moment/locale/ar-ps.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-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.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-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-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.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\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.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-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.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\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.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-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.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-kmr\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku-kmr.js\": \"./node_modules/moment/locale/ku-kmr.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\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.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\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.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-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.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\";","import { Directive, ElementRef, HostListener, Input, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[MaxValue]'\r\n})\r\nexport class MaxValueDirective {\r\n\r\n constructor(private el: ElementRef) { }\r\n @Input() MaxValue: number;\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(event) {\r\n let e = event;\r\n let inputAsNumbers = Number( this.el.nativeElement.value + e.key);\r\n if (inputAsNumbers > this.MaxValue) {\r\n return e.preventDefault();\r\n }\r\n return;\r\n }\r\n // @HostListener('change', ['$event']) onchange(event) {\r\n // if (Number(this.el.nativeElement.value) > this.MaxValue) {\r\n // event.preventDefault();\r\n // }\r\n // return;\r\n\r\n // // let e = event;\r\n // // if (this.OnlyNumber) {\r\n // // if ([46, 8, 9, 27, 13, 110, 190].indexOf(e.keyCode) !== -1 ||\r\n // // // Allow: Ctrl+A\r\n // // (e.keyCode == 65 && e.ctrlKey === true) ||\r\n // // // Allow: Ctrl+C\r\n // // (e.keyCode == 67 && e.ctrlKey === true) ||\r\n // // // Allow: Ctrl+X\r\n // // (e.keyCode == 88 && e.ctrlKey === true) ||\r\n // // // Allow: home, end, left, right\r\n // // (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n // // // let it happen, don't do anything\r\n // // return;\r\n // // }\r\n // // // Ensure that it is a number and stop the keypress\r\n // // if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n // // e.preventDefault();\r\n // // }\r\n // // }\r\n // }\r\n // ngOnChanges(changes) {\r\n // if (changes.input) {\r\n // console.log('input changed');\r\n // }\r\n // }\r\n}\r\n","import { Directive, ElementRef, HostListener, Input, OnChanges } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[MinValue]'\r\n})\r\nexport class MinValueDirective {\r\n\r\n constructor(private el: ElementRef) { }\r\n @Input() MinValue: number;\r\n\r\n @HostListener('keydown', ['$event']) onKeyDown(event) {\r\n let e = event;\r\n var inputAsNumbers = Number(this.el.nativeElement.value + e.key);\r\n if (inputAsNumbers < this.MinValue) {\r\n return e.preventDefault();\r\n }\r\n return;\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[OnlyNumber]'\r\n})\r\nexport class OnlyNumberDirective {\r\n\r\n constructor(private el: ElementRef) { }\r\n @Input() OnlyNumber: boolean;\r\n @HostListener('keydown', ['$event']) onKeyDown(event) {\r\n let e = event;\r\n if (this.OnlyNumber) {\r\n if ([46, 8, 9, 27, 13, 110, 190].indexOf(e.keyCode) !== -1 ||\r\n // Allow: Ctrl+A\r\n (e.keyCode == 65 && e.ctrlKey === true) ||\r\n // Allow: Ctrl+C\r\n (e.keyCode == 67 && e.ctrlKey === true) ||\r\n // Allow: Ctrl+X\r\n (e.keyCode == 88 && e.ctrlKey === true) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39)) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n return await this.authenticationService.isValidToken();\r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // if (!this.auth.isAuthenticated()) {\r\n // this.auth.login();\r\n // return false;\r\n // }\r\n // return true;\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport * as auth0 from 'auth0-js';\r\n// import { environment, environmentQA, environmentProd } from '../_shared/environments/environment';\r\nimport { devEnvironmentAuth0, qaEnvironmentAuth0, prodEnvironmentAuth0 } from '../_shared/environments/environment';\r\nimport { BundleService } from '../_shared/bundles/bundle.service';\r\nimport { CurrentBundle, CurrentUser, SettingsService } from '../_shared/settings/settings.service';\r\nimport { WootricService } from '../_shared/wootric/wootric.service';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AssetSearchService } from '../assets/asset-search/asset-search.service';\r\nimport { SaveSearchesDataService } from '../save-searches/save-searches-data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LoggingService } from '../_shared/logging/logging.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n private EXPRESS_AT = 'expires_at';\r\n private USER_PROFILE = 'userProfile';\r\n public hasAccessToAdminTool: boolean = false;\r\n public hasReports: boolean = false;\r\n\r\n userProfile: any;\r\n\r\n auth0: any;\r\n bearer: any = {};\r\n\r\n // new auth0.WebAuth({\r\n // clientID: environmentProd.auth0.clientId,\r\n // domain: environmentProd.auth0.domain,\r\n // responseType: 'token id_token',\r\n // //audience: environment.auth0.audienceUrl,\r\n // redirectUri: this.getCallbackUrl(),\r\n // scope: 'openid profile read:users email',\r\n // overrides: this.overrideTokenIssuer(true)\r\n // });\r\n\r\n\r\n constructor(public router: Router,\r\n private _bundleService: BundleService,\r\n private settingsService: SettingsService,\r\n private wootricService: WootricService,\r\n private http: HttpClient,\r\n private assetSearchService: AssetSearchService,\r\n private saveSearchesDataService: SaveSearchesDataService,\r\n private route: ActivatedRoute,\r\n private authenticationService: AuthenticationService,\r\n private oauthService: OAuthService,\r\n private loggingService: LoggingService,\r\n ) { \r\n this.oauthService.setStorage(localStorage);\r\n }\r\n\r\n \r\n public login(): void {\r\n }\r\n\r\n public renewTokens() {\r\n }\r\n\r\n public getProfile(cb): void {\r\n // console.log('getProfile');\r\n // if (!this.accessToken) {\r\n // throw new Error('Access token must exist to fetch profile');\r\n // }\r\n this.loggingService.logTrace('getProfile');\r\n if (this.oauthService.getAccessToken()) {\r\n // throw new Error('Access token must exist to fetch profile');\r\n\r\n const self = this;\r\n this.auth0.client.userInfo(this.oauthService.getAccessToken(), (err, profile) => {\r\n if (profile) {\r\n this.loggingService.logTrace('getProfile success');\r\n self.userProfile = profile;\r\n }\r\n cb(err, profile);\r\n });\r\n }\r\n }\r\n setMyAteaAccess(token: string | null) {\r\n if (token != null)\r\n localStorage.setItem(SettingsService.MYATEA_ACCESS, token);\r\n else\r\n localStorage.setItem(SettingsService.MYATEA_ACCESS, false.toString());\r\n }\r\n \r\n localLogin(): void {\r\n // Set the time that the access token will expire at\r\n // const expiresAt = JSON.stringify(\r\n // authResult.expiresIn * 1000 + new Date().getTime()\r\n // );\r\n // var email = authResult.idTokenPayload.email;\r\n // localStorage.setItem(this.ACCESS_TOKEN, authResult.accessToken);\r\n // localStorage.setItem(this.TOKEN, authResult.idToken);\r\n // localStorage.setItem(this.EXPRESS_AT, expiresAt);\r\n // const fakeToken = \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik16aENRVVUwTnpjNE1EWXdPVU13TURrelJVTkZRMEkyUmtNek1rUTJOelE0TkVKR1JUbENRdyJ9.eyJodHRwczovL3NlY3VyaXR5LmF0ZWEuY29tL3Byb2ZpbGUvaWQiOiIxZWRjZWY0YTljYTI0ZTY1OGMzOGFjOGZkODg0NTAyYiIsImlzcyI6Imh0dHBzOi8vYXRlYS1kZXYuZXUuYXV0aDAuY29tLyIsInN1YiI6ImFkZnN8QXRlYS1PbmV8RGlkemlzLlNhYmFpdGlzQGF0ZWEuY29tIiwiYXVkIjpbIkF0ZWEuQUFNLkFQSSIsImh0dHBzOi8vYXRlYS1kZXYuZXUuYXV0aDAuY29tL3VzZXJpbmZvIl0sImlhdCI6MTYwMzA4ODgxMywiZXhwIjoxNjAzMDk2MDEzLCJhenAiOiIyRjdINHdpQ0ZPYWl3Y3F6NlA0NnF3bTlyckdYU3FsYyIsInNjb3BlIjoib3BlbmlkIHByb2ZpbGUgZW1haWwgcmVhZDp1c2VycyJ9.IGLH5eHMiVnSvt9Y-sgeovxReuuAA4OtIXJkKF1AOlaQ1ARd_UECUrFXhk4t1VFQfXJfpBFXRqBU8irfGblloi3VuFbt_idqe_Hz5AdHuOX3kgheiDNUKwjLWB41SdusPeHeAeIXgoFcK75siYV2mu1T6cvWVJcJ8i6cBfgkTxOR0BT3EcF54EFjRrsvrMqwtXvJisF8z8j4B7LccaAvMAkQNuKtCfZZ3xZE36Yi-1XwIVOjAcPnrdDiTWyahOxnAAnJ0RYuMQX1Mr0BY-t1f4s_qg4kCOJds5sR_wHU1lHwXBQXoLysxt_7KYIcE_JhiwQ7Y0HB8WShZlb7KP8v-mlQ\";\r\n this.loggingService.logTrace('localLogin');\r\n this.getUserInformation().then(x => x.subscribe(response => {\r\n if (response && response.Success) {\r\n if(localStorage[`${response.UserId}_loginCount`]) {\r\n localStorage[`${response.UserId}_loginCount`] = Number(localStorage[`${response.UserId}_loginCount`]) + 1;\r\n }\r\n else {\r\n localStorage[`${response.UserId}_loginCount`] = 1;\r\n }\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n SettingsService.setCurrentUser(response);\r\n this.GetUserAccessToAdminTool();\r\n this.GetUserAccessToReports();\r\n this.setMyAteaAccess(response.Token);\r\n this._bundleService.getBundles(response.UserId).subscribe(\r\n bundles => {\r\n if (bundles != null && bundles.length > 0) {\r\n var testBundles = bundles.filter(element => element.Id === 10012);\r\n if (testBundles.length > 0) {\r\n var currentBundle:CurrentBundle = {\r\n bundleId: testBundles[0].Id,\r\n bundleName: testBundles[0].Name,\r\n countrry: testBundles[0].SystemCountry\r\n }\r\n SettingsService.setCurrentBundle(currentBundle);\r\n this.assetSearchService.reset();\r\n this.assetSearchService.loadAllProperties();\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.router.navigate(['/home']);\r\n this.wootricService.displaySurvey();\r\n this.loggingService.logTrace('localLogin /home navigate');\r\n } else {\r\n var currentBundle:CurrentBundle = {\r\n bundleId: bundles[0].Id,\r\n bundleName: bundles[0].Name,\r\n countrry: bundles[0].SystemCountry\r\n }\r\n SettingsService.setCurrentBundle(currentBundle);\r\n this.assetSearchService.reset();\r\n this.assetSearchService.loadAllProperties();\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.router.navigate(['/home']);\r\n this.loggingService.logTrace('localLogin setCurrentBundle /home navigate');\r\n }\r\n }\r\n\r\n },\r\n error => {\r\n this.loggingService.logTrace('localLogin getBundles error');\r\n this.loggingService.logException(error);\r\n }\r\n );\r\n }\r\n },\r\n error => {\r\n this.loggingService.logTrace('localLogin getUserInformation error going to /registerinfo');\r\n this.loggingService.logException(error);\r\n this.logout(false);\r\n this.router.navigate(['/registerinfo']);\r\n }));\r\n }\r\n\r\n async getUserInformation() {\r\n await this.authenticationService.waitForSetToken();\r\n return this.http.post(this.settingsService.webApiServerPath() + '/authenticate/token', {\r\n Token: this.oauthService.getAccessToken(),\r\n Aut0Login: true\r\n })\r\n .map((response: CurrentUser) => {\r\n // login successful if there's a jwt token in the response\r\n // let user = response.json().then(body => {\r\n if (response && response.Success) {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n SettingsService.setCurrentUser(response);\r\n this.loggingService.logTrace('getUserInformation SettingsService.setCurrentUser');\r\n }\r\n return response;\r\n });\r\n }\r\n\r\n public logout(redirect: boolean): boolean {\r\n if(!this.oauthService.hasValidAccessToken())\r\n return false;\r\n \r\n this.loggingService.logTrace('authService logout');\r\n // Remove tokens and expiry time from localStorage\r\n this.oauthService.logOut(!redirect);\r\n //this.authenticationService.logout();\r\n return true;\r\n // var host = window.location.host;\r\n // if (host.indexOf('aampqa.atea') !== -1) {\r\n // this.auth0.logout({ returnTo: logOutUrl, clientID: qaEnvironmentAuth0[country].clientId });\r\n // }\r\n // else if (host.indexOf('aamptest.atea') !== -1) {\r\n // this.auth0.logout({ returnTo: logOutUrl, clientID: devEnvironmentAuth0[country].clientId });\r\n\r\n // }\r\n // else if (host.indexOf('aamp.atea') !== -1) {\r\n // this.auth0.logout({ returnTo: logOutUrl, clientID: prodEnvironmentAuth0[country].clientId });\r\n // }\r\n // else {\r\n // this.auth0.logout({ returnTo: logOutUrl, clientID: devEnvironmentAuth0[country].clientId });\r\n // // this.auth0.logout({ returnTo: logOutUrl, clientID: qaEnvironmentAuth0[country].clientId })\r\n // // this.auth0.logout({ returnTo: logOutUrl, clientID: prodEnvironmentAuth0[country].clientId });\r\n // }\r\n }\r\n\r\n private overrideTokenIssuer(host: string) {\r\n if (host.indexOf(\"aamp.atea\") !== -1) {\r\n return {\r\n __token_issuer: 'https://account.auth.atea.com/'\r\n };\r\n }\r\n return undefined;\r\n }\r\n\r\n private getApplicationURL() {\r\n let callbackUrl = window.location.origin;\r\n const path = window.location.pathname;\r\n const pathArray = path.substr(1, path.length).split('/');\r\n if (pathArray[0].indexOf('.') > -1) {\r\n callbackUrl = `${callbackUrl}/${pathArray[0]}`;\r\n }\r\n return callbackUrl;\r\n }\r\n\r\n private getCallbackUrl() {\r\n var url = `${this.getApplicationURL()}/aam/callback`;\r\n return url;\r\n }\r\n\r\n public hasSuperUserRole(): Observable {\r\n return this.http.get(this.settingsService.webApiServerPath() + \"/verify/hasaccesstoadmintool/\")\r\n .map(res=> {\r\n if (res === true) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n public hasReportsTrue(): Observable {\r\n return this.http.get(this.settingsService.webApiServerPath() + \"/reports/access/\")\r\n .map(res=> {\r\n if (res === true) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n public GetUserAccessToAdminTool() {\r\n let currentUser = SettingsService.getCurrentUser()\r\n\r\n if (currentUser !== null) {\r\n this.hasSuperUserRole()\r\n .subscribe(response => {\r\n if(response === true) {\r\n this.hasAccessToAdminTool = true;\r\n } else {\r\n this.hasAccessToAdminTool = false;\r\n }\r\n });\r\n }\r\n\r\n this.hasAccessToAdminTool = false;\r\n }\r\n\r\n public GetUserAccessToReports() {\r\n let currentUser = SettingsService.getCurrentUser()\r\n\r\n if (currentUser !== null) {\r\n this.hasReportsTrue()\r\n .subscribe(response => {\r\n if(response === true) {\r\n this.hasReports = true;\r\n } else {\r\n this.hasReports = false;\r\n }\r\n });\r\n }\r\n\r\n this.hasReports = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable()\r\nexport class HomeAuthGuard implements CanActivate {\r\n\r\n constructor(private router: Router,\r\n private oauthService: OAuthService,\r\n private authenticationService: AuthenticationService) { \r\n this.oauthService.setStorage(localStorage);\r\n }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if(this.oauthService.hasValidAccessToken())\r\n {\r\n this.router.navigate(['/home']);\r\n return true;\r\n }\r\n else\r\n {\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { Observable, of } from 'rxjs';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SuperAdminGuard implements CanActivate {\r\n \r\n constructor(private authService: AuthService) { }\r\n \r\n canActivate(): Observable {\r\n let currentUser = SettingsService.getCurrentUser()\r\n\r\n if (currentUser !== null) {\r\n return this.authService.hasSuperUserRole();\r\n } else {\r\n return of(false);\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string): any[] {\r\n if(!items) return [];\r\n if(!searchText) return items;\r\nsearchText = searchText.toLowerCase();\r\nreturn items.filter( it => {\r\n return it.toLowerCase().includes(searchText);\r\n });\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'orderBy'\r\n})\r\nexport class OrderBy implements PipeTransform {\r\n static _orderByComparator(a:any, b:any):number{\r\n \r\n if((isNaN(parseFloat(a)) || !isFinite(a)) || (isNaN(parseFloat(b)) || !isFinite(b))){\r\n //Isn't a number so lowercase the string to properly compare\r\n if(a.toLowerCase() < b.toLowerCase()) return -1;\r\n if(a.toLowerCase() > b.toLowerCase()) return 1;\r\n }\r\n else{\r\n //Parse strings as numbers to compare properly\r\n if(parseFloat(a) < parseFloat(b)) return -1;\r\n if(parseFloat(a) > parseFloat(b)) return 1;\r\n }\r\n \r\n return 0; //equal each other\r\n }\r\n\r\n transform(input:any, [config = '+']): any{\r\n \r\n if(!Array.isArray(input)) return input;\r\n\r\n if(!Array.isArray(config) || (Array.isArray(config) && config.length == 1)){\r\n var propertyToCheck:string = !Array.isArray(config) ? config : config[0];\r\n var desc = propertyToCheck.substr(0, 1) == '-';\r\n \r\n //Basic array\r\n if(!propertyToCheck || propertyToCheck == '-' || propertyToCheck == '+'){\r\n return !desc ? input.sort((a, b) => a - b) : input.sort((a, b) => b-a);;\r\n }\r\n else {\r\n var property:string = propertyToCheck.substr(0, 1) == '+' || propertyToCheck.substr(0, 1) == '-'\r\n ? propertyToCheck.substr(1)\r\n : propertyToCheck;\r\n\r\n return input.sort(function(a:any,b:any){\r\n return !desc \r\n ? OrderBy._orderByComparator(a[property], b[property]) \r\n : -OrderBy._orderByComparator(a[property], b[property]);\r\n });\r\n }\r\n }\r\n else {\r\n //Loop over property of the array in order and sort\r\n return input.sort(function(a:any,b:any){\r\n for(var i:number = 0; i < config.length; i++){\r\n var desc = config[i].substr(0, 1) == '-';\r\n var property = config[i].substr(0, 1) == '+' || config[i].substr(0, 1) == '-'\r\n ? config[i].substr(1)\r\n : config[i];\r\n\r\n var comparison = !desc \r\n ? OrderBy._orderByComparator(a[property], b[property]) \r\n : -OrderBy._orderByComparator(a[property], b[property]);\r\n \r\n //Don't return 0 yet in case of needing to sort by next property\r\n if(comparison != 0) return comparison;\r\n }\r\n\r\n return 0; //equal each other\r\n });\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport {\r\n HttpClient,\r\n HttpParams\r\n} from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/Rx';\r\nimport { SettingsService } from '../settings/settings.service';\r\nimport { HelperService } from '../helper/helper.service';\r\nimport { AccessLevelUser } from './accessLevelUser';\r\nimport { AccessLevel } from './access-level';\r\n@Injectable()\r\nexport class AccessRightsService {\r\n\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService,\r\n private helperService: HelperService) { }\r\n\r\n getAccessRightsBy(userId): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n params = params.append('moduleName', 'AAMP2');\r\n\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/accesslevels/user/\", options);\r\n }\r\n\r\n getAccessRightsByAsset(userId:any, bundleId:any, assetId: any): Observable {\r\n\r\n let params = new HttpParams();\r\n \r\n params = params.append('userId', userId);\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('assetId', assetId);\r\n params = params.append('moduleName', 'AAMP2');\r\n \r\n let options = { params };\r\n \r\n return this._http.get(this._settingsService.webApiServerPath() + \"/accesslevels/user/\", options);\r\n }\r\n\r\n getAccessRightsByModule(moduleName): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('moduleName', moduleName);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/accesslevels/module\", options);\r\n }\r\n\r\n deleteAddToSellToUserAcessBundleSystem(userId, moduleId, bundleId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n params = params.append('moduleId', moduleId);\r\n params = params.append('bundleId', bundleId);\r\n\r\n let options = { params };\r\n\r\n return this._http.delete(this._settingsService.webApiServerPath() + \"/accesslevels/addtosellto\", options);\r\n }\r\n\r\n\r\n addToSellToUserAcessBundleSystem(userId, moduleId, bundleId, accessLevel, createdBy, isUser): Observable { \r\n let addtosellto = {\r\n UserId: userId,\r\n ModuleId: moduleId,\r\n BundleId: bundleId,\r\n AccessLevel: accessLevel,\r\n CreatedBy: createdBy,\r\n IsUser : isUser\r\n\r\n };\r\n\r\n\r\n // let userReport = { UserReport: { UserID: userID, ReportID: reportID, CreateDate: null, CreatedBy: createdBy } };\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/accesslevels/addtosellto/\", addtosellto)\r\n .map((response: Response) => response)\r\n .catch(this.handleError2);\r\n }\r\n\r\n addUserAcessBundleSystem(userId, moduleId, bundleId, accessLevel, accessDescription, createdBy): Observable {\r\n let userAccessBundleSystemModel = {\r\n UserId: userId,\r\n ModuleId: moduleId,\r\n BundleId: bundleId,\r\n AccessLevel: accessLevel,\r\n AccessDescription: accessDescription,\r\n CreatedBy: createdBy,\r\n\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/accesslevels/UserAccessBundleSystemModel/\", userAccessBundleSystemModel);\r\n }\r\n\r\n deleteUserAcessBundleSystem(userId, moduleId, bundleId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n params = params.append('moduleId', moduleId);\r\n params = params.append('bundleId', bundleId);\r\n\r\n let options = { params };\r\n\r\n return this._http.delete(this._settingsService.webApiServerPath() + \"/accesslevels/UserAccessBundleSystemModel\", options);\r\n }\r\n private handleError2(error: any) {\r\n return error\r\n // let errMsg = (error.message) ? error.message :\r\n // error.status ? `${error.status} - ${error.statusText}` : 'Server error';\r\n // console.error(errMsg);\r\n // return Observable.throw(error);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { Subject } from 'rxjs/Subject';\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n // private subject = new Subject();\r\n public aMessage: string = \"\";\r\n private isSuccess: boolean;\r\n\r\n private aKeepAfterNavigationChange = false;\r\n\r\n public success(message: string, keepAfterNavigationChange = false) {\r\n this.aKeepAfterNavigationChange = keepAfterNavigationChange;\r\n this.aMessage = message;\r\n this.isSuccess = true;;\r\n }\r\n public error(message: string, keepAfterNavigationChange = false) {\r\n this.aKeepAfterNavigationChange = keepAfterNavigationChange;\r\n this.aMessage = message;\r\n this.isSuccess = false;;\r\n }\r\n\r\n\r\n\r\n constructor(private router: Router) {\r\n // clear alert message on route change\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n if (this.aKeepAfterNavigationChange) {\r\n // only keep for a single location change\r\n this.aKeepAfterNavigationChange = false;\r\n } else {\r\n this.aMessage = \"\";;\r\n }\r\n }\r\n });\r\n }\r\n eraseMessage() {\r\n this.aMessage = \"\";\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { Asset } from './Asset';\r\nimport { Info } from './Info';\r\nimport { AssetSearchResult } from './AssetSearchResult';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport * as fileSaver from 'file-saver';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable()\r\nexport class AssetsService {\r\n\r\n public currentSearch: any;\r\n\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService, private authenticationService: AuthenticationService, private translateService: TranslateService) { }\r\n\r\n\r\n getAssetEditinfo(assetNo, userId, bundleId, property: string): Observable {\r\n let params = new HttpParams();\r\n params = params.append('assetNo', assetNo);\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('property', property);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/assets/editinfo\", options);\r\n }\r\n\r\n getAssetPropertiesByType(bundleId, type: string, types: string[]): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n\r\n for (let aType of types) {\r\n params = params.append(type, aType);\r\n }\r\n let adress = this._settingsService.webApiServerPath() + \"/assets/\" + type;\r\n return this._http.get(adress, { params: params });\r\n }\r\n\r\n get(assetNo, bundleId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('assetNo', assetNo);\r\n params = params.append('bundleId', bundleId);\r\n\r\n let options = { params };\r\n\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/assets/\", options);\r\n }\r\n\r\n\r\n getAssetInsurance(assetNo, bundleId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('assetNo', assetNo);\r\n params = params.append('bundleId', bundleId);\r\n\r\n let options = { params };\r\n\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/assets/insurance\", options);\r\n }\r\n\r\n getAssetAppleSmartphoneData(assetNo): Observable {\r\n let params = new HttpParams();\r\n params = params.append('assetNo', assetNo);\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/assets/smartphone-data\", options);\r\n }\r\n\r\n saveMany(bundleId, userId, endOfLeaseActionId, comment, assets: Asset[], propertisToChange: string[]) {\r\n let massChangeModel = {\r\n Assets: assets,\r\n PropertiesToChange: propertisToChange,\r\n BundleId: bundleId,\r\n EndOfLeaseActionId: endOfLeaseActionId,\r\n UserId: userId,\r\n Comments: comment\r\n };\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/assets/ \", massChangeModel);\r\n }\r\n\r\n private mapToValuesForPatching(asset) {\r\n asset.City = asset.Location;\r\n return asset;\r\n }\r\n patch(assetNo, bundleId, asset) {\r\n asset = this.mapToValuesForPatching(asset);\r\n return this._http.patch(this._settingsService.webApiServerPath() + \"/assets/\" + assetNo + \"/bundle/\" + bundleId, asset)\r\n .map((response: Response) => { return response.json })\r\n .catch(this.handleError);\r\n }\r\n\r\n public currentTimeStamp: number = 0;\r\n\r\n\r\n search(\r\n value,\r\n bundleId,\r\n userId,\r\n page,\r\n pageSize,\r\n sortOrderDesc,\r\n sortByProperty,\r\n properties,\r\n costdivisions,\r\n statuses,\r\n locations,\r\n roles,\r\n manufacturers,\r\n sellToCustomers,\r\n financeAgreementNos,\r\n assetTypes,\r\n departments,\r\n companyNames,\r\n functionTypes,\r\n endOfLeaseOption,\r\n financeStatus,\r\n deliveryDateFrom,\r\n deliveryDateTo,\r\n invoiceDateFrom,\r\n invoiceDateTo,\r\n leaseStartFrom,\r\n leaseStartTo,\r\n endOfLeaseFrom,\r\n endOfLeaseTo,\r\n orderDateFrom,\r\n orderDateTo,\r\n warrantyDateFrom,\r\n warrantyDateTo,\r\n deliveryNotAcceptedOnly\r\n ): Observable {\r\n let time = new Date();\r\n this.currentTimeStamp = new Date().getTime();\r\n let assetFreeSearchProperties = {\r\n Page: page,\r\n Value: value,\r\n BundleId: bundleId,\r\n UserId: userId,\r\n PageSize: pageSize,\r\n SortOrderDesc: sortOrderDesc,\r\n SortByProperty: sortByProperty,\r\n DeliveryDateFrom: deliveryDateFrom !== undefined ? deliveryDateFrom : null,\r\n DeliveryDateTo: deliveryDateTo !== undefined ? deliveryDateTo : null,\r\n InvoiceDateFrom: invoiceDateFrom !== undefined ? invoiceDateFrom : null,\r\n InvoiceDateTo: invoiceDateTo !== undefined ? invoiceDateTo : null,\r\n LeaseStartFrom: leaseStartFrom !== undefined ? leaseStartFrom : null,\r\n LeaseStartTo: leaseStartTo !== undefined ? leaseStartTo : null,\r\n EndOfLeaseFrom: endOfLeaseFrom !== undefined ? endOfLeaseFrom : null,\r\n EndOfLeaseTo: endOfLeaseTo !== undefined ? endOfLeaseTo : null,\r\n OrderDateFrom: orderDateFrom !== undefined ? orderDateFrom : null,\r\n OrderDateTo: orderDateTo !== undefined ? orderDateTo : null,\r\n WarrantyDateFrom: warrantyDateFrom !== undefined ? warrantyDateFrom : null,\r\n WarrantyDateTo: warrantyDateTo !== undefined ? warrantyDateTo : null,\r\n Properties: properties !== null ? properties : null,\r\n CostDivisons: costdivisions !== null ? costdivisions : null,\r\n Locations: locations,\r\n Roles: roles,\r\n Manufacturers: manufacturers,\r\n Statuses: statuses,\r\n SellToCustomers: sellToCustomers,\r\n AssetTypes: assetTypes,\r\n Departments: departments,\r\n CompanyNames: companyNames,\r\n FunctionTypes: functionTypes,\r\n EndOfLeaseOptions: endOfLeaseOption,\r\n FinanceStatus: financeStatus,\r\n FinanceAgreementNumbers: financeAgreementNos,\r\n financeStatus: financeStatus,\r\n TimeStamp: this.currentTimeStamp,\r\n LanguageId: localStorage.getItem(SettingsService.CURRENT_LANGUAGE),\r\n DeliveryNotAcceptedOnly:deliveryNotAcceptedOnly\r\n }\r\n this.currentSearch = assetFreeSearchProperties;\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/assets/search\", assetFreeSearchProperties);\r\n }\r\n exportAll(\r\n value,\r\n bundleId,\r\n userId,\r\n page,\r\n pageSize,\r\n sortOrderDesc,\r\n sortByProperty,\r\n properties,\r\n costdivisions,\r\n statuses,\r\n locations,\r\n roles,\r\n manufacturers,\r\n sellToCustomers,\r\n financeAgreementNos,\r\n assetTypes,\r\n departments,\r\n companyNames,\r\n functionTypes,\r\n financeStatus,\r\n endOfLeaseOption,\r\n deliveryDateFrom,\r\n deliveryDateTo,\r\n invoiceDateFrom,\r\n invoiceDateTo,\r\n leaseStartFrom,\r\n leaseStartTo,\r\n endOfLeaseFrom,\r\n endOfLeaseTo,\r\n orderDateFrom,\r\n orderDateTo,\r\n warrantyDateFrom,\r\n warrantyDateTo,\r\n deliveryNotAcceptedOnly\r\n ): Observable {\r\n let assetFreeSearchProperties = {\r\n Page: page,\r\n Value: value,\r\n BundleId: bundleId,\r\n UserId: userId,\r\n PageSize: pageSize,\r\n SortOrderDesc: sortOrderDesc,\r\n SortByProperty: sortByProperty,\r\n DeliveryDateFrom: deliveryDateFrom !== undefined ? deliveryDateFrom : null,\r\n DeliveryDateTo: deliveryDateTo !== undefined ? deliveryDateTo : null,\r\n InvoiceDateFrom: invoiceDateFrom !== undefined ? invoiceDateFrom : null,\r\n InvoiceDateTo: invoiceDateTo !== undefined ? invoiceDateTo : null,\r\n LeaseStartFrom: leaseStartFrom !== undefined ? leaseStartFrom : null,\r\n LeaseStartTo: leaseStartTo !== undefined ? leaseStartTo : null,\r\n EndOfLeaseFrom: endOfLeaseFrom !== undefined ? endOfLeaseFrom : null,\r\n EndOfLeaseTo: endOfLeaseTo !== undefined ? endOfLeaseTo : null,\r\n OrderDateFrom: orderDateFrom !== undefined ? orderDateFrom : null,\r\n OrderDateTo: orderDateTo !== undefined ? orderDateTo : null,\r\n WarrantyDateFrom: warrantyDateFrom !== undefined ? warrantyDateFrom : null,\r\n WarrantyDateTo: warrantyDateTo !== undefined ? warrantyDateTo : null,\r\n Properties: properties !== null ? properties : null,\r\n CostDivisons: costdivisions !== null ? costdivisions : null,\r\n Locations: locations,\r\n Roles: roles,\r\n Departments: departments,\r\n Manufacturers: manufacturers,\r\n Statuses: statuses,\r\n SellToCustomers: sellToCustomers,\r\n AssetTypes: assetTypes,\r\n FinanceAgreementNumbers: financeAgreementNos,\r\n CompanyNames: companyNames,\r\n FunctionTypes: functionTypes,\r\n LanguageId: localStorage.getItem(SettingsService.CURRENT_LANGUAGE),\r\n SystemId : 11,\r\n FinanceStatus: financeStatus,\r\n EndOfLeaseOptions: endOfLeaseOption,\r\n DeliveryNotAcceptedOnly: deliveryNotAcceptedOnly\r\n }\r\n\r\n // let headers = new Headers({ 'Content-Type': 'application/json' });\r\n // let currentUser = JSON.parse(localStorage.currentUser);\r\n // let authToken = currentUser.token;\r\n // headers.append('Authorization', `Basic ${authToken}`);\r\n\r\n // let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });\r\n\r\n let currentUser;\r\n if (localStorage.currentUser !== null && localStorage.currentUser !== undefined && localStorage.length > 0) {\r\n currentUser = JSON.parse(localStorage.currentUser);\r\n\r\n }\r\n const httpOptions = {\r\n responseType: 'blob' as 'json',\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/assets/exportall\", assetFreeSearchProperties, httpOptions);\r\n }\r\n\r\n\r\n\r\n export(\r\n assets: Asset[],\r\n languageId\r\n ): Observable {\r\n let currentUser;\r\n if (localStorage.currentUser !== null && localStorage.currentUser !== undefined && localStorage.length > 0) {\r\n currentUser = JSON.parse(localStorage.currentUser);\r\n\r\n }\r\n const httpOptions = {\r\n responseType: 'blob' as 'json',\r\n };\r\n let body = {\r\n Assets: assets,\r\n LanguageId: languageId,\r\n SystemId: 11\r\n }\r\n\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/assets/export\", body, httpOptions);\r\n }\r\n\r\n // let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });\r\n // options.params = urlSearchParams;\r\n // return this._http.post(this._settingsService.webApiServerPath() + \"/reports/\", report, options)\r\n // .map(res => this.downloadFile3(res))\r\n // .catch(this.handleError);\r\n\r\n\r\n downloadFile3(data: any) {\r\n\r\n // let file = new Blob(data.blob(), { type: 'application/vnd.ms-excel' });\r\n fileSaver.saveAs(data.blob(), this.createReportFileName());\r\n // window.navigator.msSaveBlob(blob,this.createReportFileName());\r\n }\r\n private createReportFileName(): string {\r\n return \"Export_\" + new Date().toLocaleString().replace(/-/g, '/').replace(/\\s/g, \"_\") + \".xlsx\";\r\n }\r\n private guid() {\r\n function s4() {\r\n const array = new Uint32Array(1);\r\n crypto.getRandomValues(array);\r\n let body = Math.floor((1 + array[0]) / 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n return body;\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r\n s4() + '-' + s4() + s4() + s4();\r\n }\r\n\r\n private handleError(error: Response) {\r\n // console.log(error);\r\n return Observable.throw(error.statusText);\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { AssetChangeLog } from '../../_shared/assetChangeLog/assetChangeLog'\r\nimport { AssetChangeInfo } from '../../_shared/assetChangeLog/assetChangeInfo'\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { CurrentBundle, SettingsService } from '../settings/settings.service'\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { NameValue } from '../_interfaces/nameValue'\r\n\r\n@Injectable()\r\nexport class AssetChangeLogService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService:\r\n SettingsService,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n\r\n getAll(): Observable {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n var params: [NameValue] = [{ Name: \"bundleId\", Value: currentChoosenBundle.bundleId.toString() }];\r\n var options = this.authenticationService.createParameters(params);\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/AssetChangeLog/\", options);\r\n }\r\n getBy(bundleId: number, userId: number): Observable { \r\n var options = this.authenticationService.createParameters([{ Name: \"bundleId\", Value: bundleId.toString() }]);\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/AssetChangeLog/\", options);\r\n }\r\n getAssetChangeContactNames(bundleId: number): Observable {\r\n var options = this.authenticationService.createParameters([{ Name: \"bundleId\", Value: bundleId.toString() }]);\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/AssetChangeLog/ContactNames\", options);\r\n }\r\n getAssetChangeTypeOfChanges(bundleId: number): Observable {\r\n var options = this.authenticationService.createParameters([{ Name: \"bundleId\", Value: bundleId.toString() }]);\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/AssetChangeLog/TypeOfChanges\", options);\r\n }\r\n GetAssetChangeByAssetno(assetNo: number): Observable { \r\n var options = this.authenticationService.createParameters([{ Name: \"assetNo\", Value: assetNo.toString() }]);\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/AssetChangeLog/GetAssetChangeByAssetno\", options);\r\n }\r\n\r\n search(\r\n bundleId,\r\n contactNames,\r\n typeOfChanges,\r\n dateRangeFrom,\r\n dateRangeTo,\r\n page,\r\n pageSize,\r\n shouldCountTotalSize,\r\n isDashboard\r\n ): Observable {\r\n let assetFreeSearchProperties = {\r\n BundleId: bundleId,\r\n ContactNames: contactNames,\r\n TypeOfChanges: typeOfChanges,\r\n DateRangeFrom: dateRangeFrom,\r\n DateRangeTo: dateRangeTo,\r\n Page: page,\r\n PageSize: pageSize,\r\n ShouldCountTotalSize : shouldCountTotalSize,\r\n IsDashboard : isDashboard\r\n }\r\n \r\n return this._http.post(this._settingsService.webApiServerPath() + \"/AssetChangeLog/search\", assetFreeSearchProperties)\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport 'rxjs/add/operator/map'\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NameValue } from '../_interfaces/nameValue';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { Router } from '@angular/router';\r\nimport { AuthConfig, OAuthService } from 'angular-oauth2-oidc';\r\nimport { FooterComponent } from 'src/app/footer/footer.component';\r\nimport { promise } from 'protractor';\r\nimport { LoggingService } from '../logging/logging.service';\r\n\r\nexport const devAuthCodeFlowConfig: AuthConfig = {\r\n issuer: 'https://test-account.auth.atea.com/',\r\n oidc: true,\r\n requireHttps: false,\r\n requestAccessToken: true,\r\n disablePKCE: false,\r\n redirectUri: window.location.origin + '/aam/callback',\r\n postLogoutRedirectUri: window.location.origin + '/aam/logout',\r\n clientId: '3160a5a9ecce4e70bf0d8a6815417f27',\r\n responseType: 'code',\r\n scope: 'openid profile:read profile email offline_access',\r\n showDebugInformation: true,\r\n clockSkewInSec: 600,\r\n strictDiscoveryDocumentValidation: false,\r\n skipIssuerCheck: true\r\n };\r\n\r\n export const prodAuthCodeFlowConfig: AuthConfig = {\r\n issuer: 'https://login.atea.com/',\r\n oidc: true,\r\n requireHttps: false,\r\n requestAccessToken: true,\r\n disablePKCE: false,\r\n redirectUri: window.location.origin + '/aam/callback',\r\n postLogoutRedirectUri: window.location.origin + '/aam/logout',\r\n clientId: '688091d49db048bca5575693dc43afda',\r\n responseType: 'code',\r\n scope: 'openid profile:read profile email offline_access',\r\n showDebugInformation: true,\r\n clockSkewInSec: 600,\r\n strictDiscoveryDocumentValidation: false,\r\n skipIssuerCheck: true\r\n };\r\n\r\n@Injectable()\r\nexport class AuthenticationService {\r\n\r\n private tokenSetWaitPromise:Promise | null = null;\r\n private isConfigured = false;\r\n\r\n constructor(public router: Router,\r\n private oauthService: OAuthService,\r\n private loggingService:LoggingService) {\r\n this.oauthService.setStorage(localStorage);\r\n }\r\n\r\n getAuthConfig() : AuthConfig {\r\n let host = window.location.host;\r\n let result = devAuthCodeFlowConfig;\r\n if (host.indexOf('localhost') !== -1) {\r\n result = devAuthCodeFlowConfig;\r\n } else if (host.indexOf('alms-spa-dev') !== -1 || host.indexOf('aampqa.atea.se') !== -1) {\r\n result = devAuthCodeFlowConfig;\r\n } else if (host.indexOf('alms-spa-prod') !== -1 || host.indexOf('aamp.atea.se') !== -1) {\r\n result = prodAuthCodeFlowConfig;\r\n }\r\n return result;\r\n }\r\n\r\n createParameters(parameters: [NameValue]) {\r\n let params = new HttpParams();\r\n parameters.forEach(element => {\r\n params = params.append(element.Name, element.Value);\r\n });\r\n\r\n return { params };\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n this.loggingService.logTrace('remove user from local storage to log user out');\r\n SettingsService.removeCurrentBundle();\r\n SettingsService.removeCurrentUser();\r\n }\r\n\r\n isActive() {\r\n try {\r\n return localStorage.expires_at > new Date()\r\n } catch (error) {\r\n return false;\r\n }\r\n }\r\n \r\n getCurrentLoggedInUserId() {\r\n try {\r\n this.loggingService.logTrace('getCurrentLoggedInUserId called');\r\n let user = JSON.parse(localStorage.currentUser);\r\n if (user === null || user === undefined) {\r\n window.location.reload()\r\n }\r\n this.loggingService.logTrace('return user.UserId');\r\n return user.UserId;\r\n }\r\n catch (e) {\r\n this.loggingService.logTrace('getCurrentLoggedInUserId exception');\r\n this.loggingService.logException(e);\r\n window.location.reload()\r\n }\r\n }\r\n\r\n async waitForSetToken()\r\n {\r\n if(this.tokenSetWaitPromise != null)\r\n await this.tokenSetWaitPromise\r\n }\r\n\r\n logIn()\r\n {\r\n this.loggingService.logTrace('this.oauthService.initImplicitFlow()');\r\n this.oauthService.initImplicitFlow();\r\n }\r\n\r\n async configure()\r\n {\r\n if(this.isConfigured)\r\n return;\r\n let authCodeFlowConfig = this.getAuthConfig();\r\n this.oauthService.configure(authCodeFlowConfig);\r\n await this.oauthService.loadDiscoveryDocumentAndTryLogin();\r\n this.oauthService.setupAutomaticSilentRefresh();\r\n this.isConfigured = true;\r\n this.loggingService.logTrace('oauthService configured');\r\n }\r\n\r\n async isValidToken(tryLogin: boolean = false) : Promise {\r\n let resolve:(value:boolean) => void;\r\n let reject:(value:boolean) => void;\r\n this.tokenSetWaitPromise = new Promise(async (r, r2) => {\r\n resolve = r;\r\n reject = r2\r\n });\r\n \r\n await this.configure()\r\n if(this.oauthService.hasValidAccessToken())\r\n {\r\n this.loggingService.logTrace('oauthService hasValidAccessToken true');\r\n this.loggingService.logTrace('SettingsService.USER_PROFILE setItem');\r\n localStorage.setItem(SettingsService.USER_PROFILE, JSON.stringify(await this.oauthService.loadUserProfile()));\r\n resolve(true);\r\n return true;\r\n }\r\n else\r\n {\r\n this.loggingService.logTrace('oauthService hasValidAccessToken false');\r\n localStorage.removeItem(SettingsService.USER_PROFILE);\r\n if(tryLogin)\r\n {\r\n this.loggingService.logTrace('oauthService hasValidAccessToken false tryLogin');\r\n this.logIn();\r\n resolve(true);\r\n return true;\r\n }\r\n else\r\n {\r\n this.loggingService.logTrace('oauthService hasValidAccessToken false going to registerinfo');\r\n this.router.navigate(['/registerinfo']);\r\n reject(false);\r\n return false;\r\n }\r\n \r\n }\r\n }\r\n \r\n getAutenticationRequestOptions() {\r\n try {\r\n this.loggingService.logTrace('getAutenticationRequestOptions');\r\n let currentUser;\r\n if (localStorage.currentUser !== null && localStorage.currentUser !== undefined && localStorage.length > 0) {\r\n currentUser = JSON.parse(localStorage.currentUser);\r\n let authToken = currentUser.token;\r\n if (authToken === undefined || authToken === null) {\r\n this.logout();\r\n this.loggingService.logTrace('getAutenticationRequestOptions true logout!!');\r\n return null;\r\n }\r\n let httpHeaders = { 'Content-Type': 'application/json', 'Authorization': `Basic ${authToken}` };\r\n this.loggingService.logTrace('getAutenticationRequestOptions setting header');\r\n return new HttpHeaders(httpHeaders);\r\n }\r\n this.logout();\r\n this.loggingService.logTrace('getAutenticationRequestOptions false logout!!');\r\n return null;\r\n }\r\n catch (e) {\r\n this.loggingService.logTrace('getAutenticationRequestOptions exception logout!!');\r\n this.loggingService.logException(e);\r\n this.logout();\r\n return null;\r\n }\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\n\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { IBundle } from './bundle';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n\r\n@Injectable()\r\nexport class BundleService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService) { }\r\n getBundles(userId): Observable { \r\n var options = this._settingsService.getUserSystemHttpParams(userId);\r\n // console.log(options);\r\n // let urlSearchParams = new URLSearchParams()\r\n // urlSearchParams.set('userId', userId);\r\n // urlSearchParams.set('system', 'aamp');\r\n // let currentUser = JSON.parse(localStorage.currentUser);\r\n // let authToken = currentUser.token;\r\n // let headers = new Headers({ 'Accept': 'application/json' });\r\n // headers.append('Authorization', `Basic ${authToken}`);\r\n\r\n // let options = new RequestOptions();\r\n // options.headers = headers;\r\n // options.params = urlSearchParams;\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/bundles/user/\", options)\r\n // ).pipe(\r\n // map(this.extractData));\r\n // .map((response: Response) => response.json())\r\n // // .do(data => console.log('All: ' + JSON.stringify(data)))\r\n // .catch(this.handleError);\r\n }\r\n\r\n// private extractData(res: Response) {\r\n// let body = res.json();\r\n// return body.data || {};\r\n// }\r\n// private handleError(error: Response) {\r\n// // in a real world app, we may send the server to some remote logging infrastructure\r\n// // instead of just logging it to the console\r\n// console.error(error);\r\n// return Observable.throw(error.json().error || 'Server error');\r\n// }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { IBundle } from '../bundles/bundle';\r\n\r\n@Pipe({\r\n name: 'bundlesFilter'\r\n})\r\nexport class BundlesFilterPipe implements PipeTransform {\r\n transform(value: IBundle[], filterBy: string): IBundle[] {\r\n filterBy = filterBy ? filterBy.toLocaleLowerCase() : null;\r\n return filterBy ? value.filter((bundle: IBundle) =>\r\n bundle.Name.toLocaleLowerCase().indexOf(filterBy) !== -1) : value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { CurrentBundle, SettingsService } from '../settings/settings.service'\r\nimport { CategoryCode } from './categoryCode';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CategoryCodeService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService:\r\n SettingsService,\r\n private authenticationService: AuthenticationService) { }\r\n getAll(): Observable {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n return this._http.get (this._settingsService.webApiServerPath() + \"/categorycodes/\" + currentChoosenBundle.bundleId.toString())\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { HttpParams, HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { CurrentBundle, SettingsService } from '../settings/settings.service'\r\nimport { AlertService } from '../../_shared/alert/alert.service';\r\nimport * as fileSaver from 'file-saver';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { CostCenter, CostCenterView } from './CostCenter';\r\nimport { SellToCustomer } from 'src/app/admin-tool/SellToCustomer';\r\n\r\n@Injectable()\r\nexport class CostcenterService {\r\n public showLoader: boolean = false;\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService,\r\n private alertService: AlertService\r\n ) { }\r\n\r\n get(bundleId: string): Observable {\r\n let params = new HttpParams();\r\n let options = { params};\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/costcenters/aam/\" + bundleId, options);\r\n }\r\n private handleError(error: Response) {\r\n return Observable.throwError(error);\r\n }\r\n\r\n exportCostCenters(costCenterIds: Array) {\r\n this.showLoader = true;\r\n\r\n this.export(\r\n SettingsService.getCurrentBundle().bundleId.toString(),\r\n costCenterIds\r\n ).subscribe(\r\n costCenterExportFile => {\r\n this.showLoader = false;\r\n this.downloadCostCenterExportFileToBrowser(costCenterExportFile);\r\n },\r\n error => {\r\n this.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n deleteSelectedCostCenters(CostCenter: CostCenter) {\r\n return this._http.delete(this._settingsService.webApiServerPath() + \"/costcenters/AAM/\" + CostCenter.Id);\r\n }\r\n\r\n getCostCenterSellToCustomers(bundleId: string): Observable {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/sellto/\" + bundleId);\r\n }\r\n\r\n patchCostCenter(CostCenter: any) {\r\n return this._http.patch(this._settingsService.webApiServerPath() + \"/costcenters/AAM/\", CostCenter);\r\n }\r\n\r\n createNewCostCenter(CostCenter: any) {\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/costcenters/AAM/\", CostCenter);\r\n }\r\n\r\n export(bundleId: String, costCenterIds: Array): Observable {\r\n let params = new HttpParams().append('languageId', localStorage.getItem(SettingsService.CURRENT_LANGUAGE));\r\n\r\n const httpOptions = {\r\n responseType: 'blob' as 'json',\r\n params: params\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/costcenters/export/\" + bundleId, costCenterIds, httpOptions);\r\n }\r\n\r\n private downloadCostCenterExportFileToBrowser(data: Blob) {\r\n fileSaver.saveAs(data, \"Export_CostCenters\" + \".xlsx\"); //+ new Date().toLocaleString().replace(/-/g, '/').replace(/\\s/g, \"_\")\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { Customer } from './Customer'\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class CustomersService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService:\r\n SettingsService,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n get(bundleId): Observable {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/customers/\" + bundleId);\r\n }\r\n private handleError(error: Response) {\r\n return Observable.throw(error.statusText);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AssetsPerLocationAndCategoryModel, StackedCharts, StackedCostCentersCharts } from './AssetsPerLocationAndCategoryModel';\r\n\r\nimport { DashboardCategorieModel } from './AssetsPerLocationAndCategoryModel';\r\nimport { AssetControlOrderStatisticsMonthModel } from './assetsPerLocationAndCategoryModel';\r\n\r\nimport { FinanceAgreementViewModel } from './AssetsPerLocationAndCategoryModel';\r\nimport { Info } from '../asset/Info';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { SettingsService } from '../settings/settings.service'\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { FinanceAgreementsDashboardModel } from './financeAgreementsDashboardModel';\r\nimport { DeliveryAcceptanceDashboardModel } from './deliveryAcceptanceDashboardModel';\r\nimport { DeliveryAcceptanceDropdownModel } from './deliveryAcceptanceDropdownModel';\r\n\r\n\r\n@Injectable()\r\nexport class DashboardService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService) { }\r\n\r\n getFinanceAgreements(bundleId, language, userId, dayslimit): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('language', language);\r\n params = params.append('userId', userId);\r\n params = params.append('dayslimit', dayslimit);\r\n let options = { params };\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/GetDashboardFinance/\", options)\r\n }\r\n\r\n getDeliveryAcceptanceDashboardData(bundleId, language, userId, year, quarter): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('language', language);\r\n params = params.append('userId', userId);\r\n params = params.append('year', year);\r\n params = params.append('quarter', quarter);\r\n\r\n let options = { params };\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/GetDashboardDeliveryAcceptance/\", options)\r\n } \r\n\r\n getDeliveryAcceptanceDropdowndData(bundleId, language, userId): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('language', language);\r\n params = params.append('userId', userId);\r\n\r\n let options = { params };\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/GetDropdownDeliveryAcceptance/\", options)\r\n }\r\n\r\n getAssetCategoriesForDashboard(bundleId, userId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/AssetCategoriesForDashboard/\", options);\r\n }\r\n\r\n getAssetsPerLocationAndCategoryCode(bundleId, userId, categoryCode): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('categoryCode', categoryCode);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/AssetsPerLocationAndCategory/\", options)\r\n }\r\n\r\n getAssetsPerAgeAndCategory(bundleId, userId, categoryCode): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('categoryCode', categoryCode);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/AssetsPerAgeAndCategory/\", options)\r\n }\r\n\r\n getAssetsPerCostCenterAndCategory(bundleId, userId, categoryCode): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('categoryCode', categoryCode);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/AssetsPerCostCenterAndCategory/\", options)\r\n }\r\n\r\n\r\n getAssetsPerMonth(bundleId, userId, language): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('language', language);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/AssetsPerMonth/\", options)\r\n }\r\n getAssetControlFinanceAgreement(bundleId, userId, language): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('language', language);\r\n let options = { params };\r\n\r\n var adress = (this._settingsService.webApiServerPath() + \"/dashboards/AssetControlFinanceAgreement/\");\r\n return this._http.get(adress, options)\r\n }\r\n\r\n postDashboardUser(id, userId, name, systemId, active, dashboardIdentifier) {\r\n let massChangeModel = {\r\n Id: id,\r\n Name: name,\r\n UserId: userId,\r\n SystemId: systemId,\r\n Active: active,\r\n DashboardIdentifier: dashboardIdentifier\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/dashboards/user/ \", massChangeModel);\r\n }\r\n\r\n deleteUserDashboard(id, userId, dashboardIdentifier): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n params = params.append('dashboardId', id);\r\n params = params.append('dashboardIdentifier', dashboardIdentifier);\r\n\r\n let options = { params };\r\n\r\n return this._http.delete(this._settingsService.webApiServerPath() + \"/dashboards/user/\", options);\r\n }\r\n\r\n getDashboardForUser(userId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n let options = { params };\r\n\r\n var adress = (this._settingsService.webApiServerPath() + \"/dashboards/user/\");\r\n return this._http.get(adress, options)\r\n }\r\n\r\n getAllDashboards(): Observable {\r\n let params = new HttpParams();\r\n params = params.append('systemId', \"11\");\r\n let options = { params };\r\n\r\n var adress = (this._settingsService.webApiServerPath() + \"/dashboards/all/\");\r\n return this._http.get(adress, options)\r\n }\r\n\r\n getGetOrderStatistics(bundleId, userId, language, year): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('language', language);\r\n params = params.append('year', year);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/OrderStatistics/\", options)\r\n }\r\n\r\n updateDashboardSelectedCategories(userId: Number, bundleId: Number, dashboardIdentifier: string, selectedCategories: string, dashboardId:Number): Observable {\r\n let params = new HttpParams();\r\n\r\n let selecetedCategoriesModel = {\r\n UserId: userId,\r\n BundleId: bundleId,\r\n DashboardId: dashboardId,\r\n CategoriesJSON: selectedCategories,\r\n DashboardIdentifier: dashboardIdentifier\r\n };\r\n \r\n params = params.append('dashboardIdentifier', dashboardIdentifier);\r\n\r\n let options = { params };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/dashboards/UpdateDashboardSelectedCategories/\", selecetedCategoriesModel, options)\r\n }\r\n\r\n getUserSelectedDashboardCategories(userId: Number, bundleId: Number, dashboardId: Number): Observable {\r\n let params = new HttpParams();\r\n \r\n params = params.append('userId', userId.toString());\r\n params = params.append('bundleId', bundleId.toString());\r\n params = params.append('dashboardId', dashboardId.toString());\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/DashboardSelectedCategories/\", options)\r\n }\r\n\r\n getFinancialDashboardDaysCount(userId: Number, bundleId: Number, dashboardIdentifier: string): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId.toString());\r\n params = params.append('bundleId', bundleId.toString());\r\n params = params.append('dashboardIdentifier', dashboardIdentifier);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/dashboards/DashboardSelectedCategories/\", options)\r\n }\r\n\r\n private handleError(error: Response) {\r\n // console.log(error);\r\n return Observable.throw(error.statusText);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { HttpHeaders, HttpParams, HttpClient } from '@angular/common/http';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { Asset } from '../../_shared/asset/Asset';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n@Injectable()\r\nexport class EmailService {\r\n\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService) {\r\n\r\n\r\n }\r\n sendMasschangesendOfLeaseEmail(bundleId, userId, endOfLeaseAction, assets: Asset[]): Observable {\r\n let massChangeEmailContent = {\r\n BundleId: bundleId,\r\n UserId: userId,\r\n Assets: assets,\r\n EndOfLeaseActionId: endOfLeaseAction,\r\n };\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/email/masschangesendOfLease/\", massChangeEmailContent)\r\n .map((response: Response) => { return response.json })\r\n .catch(this.handleError);\r\n }\r\n\r\n\r\n\r\n private handleError(error: Response) {\r\n // console.log(error);\r\n return Observable.throw(error.statusText);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { EndOfLeaseAction } from './endOfLeaseAction'\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\n\r\n@Injectable()\r\nexport class EndOfLeaseActionService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService) { }\r\n getAll(): Observable {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/EndOfLeaseAction/\");\r\n }\r\n\r\n private handleError(error: Response) {\r\n // console.log(error);\r\n return Observable.throw(error.statusText);\r\n }\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { SettingsService } from '../settings/settings.service';\r\nimport { FunctionModel } from './FunctionModel';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\n@Injectable()\r\nexport class FunctionsService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService) { }\r\n get(userId): Observable {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/Functions/\");\r\n }\r\n\r\n // private extractData(res: Response) {\r\n // let body = res.json();\r\n // return body.data || {};\r\n // }\r\n // private handleError(error: Response) {\r\n // // in a real world app, we may send the server to some remote logging infrastructure\r\n // // instead of just logging it to the console\r\n // console.error(error);\r\n // return Observable.throw(error.json().error || 'Server error');\r\n // }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AuthService } from '../../_guards/auth.service';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private router: Router, private authenticationService: AuthService, private settingsService: SettingsService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(\r\n catchError((response : HttpErrorResponse) => {\r\n if ([401, 403].includes(response.status) && localStorage.getItem(SettingsService.CURRENT_USER)) {\r\n localStorage.removeItem(SettingsService.CURRENT_USER);\r\n this.authenticationService.logout(false);\r\n this.router.navigate(['/registerinfo']);\r\n }\r\n\r\n return throwError(response);\r\n }))\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class HelperService {\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n formatDateBy(year, month, day): string {\r\n if (month === 0 && day === 0 && year === 0) {\r\n return undefined;\r\n }\r\n let monthAsText = \"\";\r\n let dayAsText = \"\";\r\n\r\n if (month.toString().length < 2) {\r\n // month = '0' + month;\r\n monthAsText = \"0\" + month.toString();\r\n } else {\r\n monthAsText = month.toString();\r\n };\r\n\r\n\r\n if (day.toString().length < 2) {\r\n // day = '0' + day\r\n dayAsText = \"0\" + day.toString();\r\n } else {\r\n dayAsText = day.toString();\r\n };\r\n\r\n var theDate = [year, monthAsText, dayAsText].join('-');\r\n return theDate;\r\n }\r\n public formatDate(datetime): string {\r\n let dateToSet;\r\n if (datetime !== null && datetime !== undefined) {\r\n let aDate = JSON.parse(JSON.stringify(datetime));\r\n dateToSet = this.formatDateBy(aDate.date.year, aDate.date.month, aDate.date.day);\r\n }\r\n return dateToSet;\r\n\r\n\r\n }\r\n public isBrowserIE() {\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n // console.log('Browser version ' + msie);\r\n\r\n if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\\:11\\./)) {\r\n // console.log(parseInt(ua.substring(msie + 5, ua.indexOf(\".\", msie))));\r\n return true;\r\n }\r\n return false\r\n }\r\n\r\n public converetDate(date: object) {\r\n let aDate = JSON.parse(JSON.stringify(date));\r\n return (this.formatDate(new Date(aDate.date.year, aDate.date.month + 1, aDate.date.day)));\r\n }\r\n public converetDateBy(year: any, month: any, day: any) {\r\n return (this.formatDate(new Date(year, month, day)));\r\n\r\n }\r\n\r\n public thisLocationOriginWithPathname() {\r\n return window.location.origin + window.location.pathname;\r\n }\r\n\r\n public containsTextANumber(text: string): boolean {\r\n return /\\d/.test(text);\r\n }\r\n\r\n isLanguageFileAvailable(language: string) {\r\n if(window.location.pathname.includes(\"aam\") && !window.location.hostname.includes(\"localhost\")){\r\n return this.httpClient.get(\"../aam/assets/i18n/\" + language + \".json\");\r\n }\r\n return this.httpClient.get(\"../assets/i18n/\" + language + \".json\");\r\n }\r\n\r\n public containsAllowedCharacters(text: string): boolean {\r\n return /^(?=.*[a-zA-Z\\d].*)[a-zA-Z\\d!@#$%&*]{7,}$/.test(text);\r\n }\r\n\r\n public getTranslationCode(name: string) : string {\r\n name = this.convertToUpperCamelCase(name.replace(/[/]|_|-/g,''));\r\n if (!name.startsWith('Column_')) {\r\n name = `Column_${name}`;\r\n }\r\n\r\n return name;\r\n }\r\n\r\n public getStatusTranslationCode(name: string) : string {\r\n name = this.convertToUpperCamelCase(name.replace(/[/]|_|-/g,''));\r\n if (!name.startsWith('Status_')) {\r\n name = `Status_${name}`;\r\n }\r\n\r\n return name;\r\n }\r\n\r\n public convertToUpperCamelCase(sentence: string) {\r\n return sentence.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function(word, index) {\r\n return word.toUpperCase();\r\n }).replace(/\\s+/g, '');\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { ImportFile } from '../../_shared/imports/ImportFile'\r\n\r\n@Pipe({\r\n name: 'ImportsFilterPipe'\r\n})\r\nexport class ImportsFilterPipe \r\n {\r\n transform(value: ImportFile[], filterBy: string): ImportFile[] {\r\n filterBy = filterBy ? filterBy.toLocaleLowerCase() : null;\r\n return filterBy ? value.filter((importFile: ImportFile) =>\r\n importFile.FileName.toLocaleLowerCase().indexOf(filterBy) !== -1) : value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { ImportFile } from '../../_shared/imports/ImportFile' \r\nimport { ImportData } from '../../_shared/imports/ImportData' \r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class ImportsService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService, private authenticationService: AuthenticationService) {\r\n\r\n }\r\n getByBundleId(bundleId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('templateName', 'MassChange');\r\n \r\n\r\n let options = { params };\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/imports/\", options)\r\n }\r\n get(importFileId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('ImportFileId', importFileId);\r\n let options = { params };\r\n\r\n return this._http.get (this._settingsService.webApiServerPath() + \"/imports/\", options);\r\n }\r\n getImportDatas(importFileId): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('ImportFileId', importFileId);\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/imports/importdata/\", options);\r\n }\r\n\r\n getImportDataByAssetId(assetId, imported): Observable {\r\n let params = new HttpParams();\r\n params = params.append('assetId', assetId);\r\n params = params.append('imported', imported);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/imports/importdata/\", options);\r\n }\r\n\r\n private handleError(error: Response) {\r\n // console.log(error);\r\n return Observable.throw(error.statusText);\r\n }\r\n}\r\n","import { ErrorHandler, Injectable } from \"@angular/core\";\r\nimport { LoggingService } from \"./logging.service\";\r\n\r\n@Injectable()\r\nexport class ErrorHandlerService extends ErrorHandler {\r\n\r\n constructor(private loggingService: LoggingService) {\r\n super();\r\n }\r\n\r\n handleError(error: Error) {\r\n this.loggingService.logException(error);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n@Injectable()\r\nexport class LoggingService {\r\n appInsights: ApplicationInsights;\r\n constructor() {\r\n let instrumentationKey = this.getInstrumentationKey();\r\n this.appInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: instrumentationKey,\r\n enableAutoRouteTracking: true\r\n }\r\n });\r\n this.appInsights.loadAppInsights();\r\n }\r\n\r\n getInstrumentationKey() : string {\r\n let host = window.location.host;\r\n let result = \"22123b03-936d-4ace-8211-8f39132bf595\";\r\n if (host.indexOf('localhost') !== -1) {\r\n result = \"22123b03-936d-4ace-8211-8f39132bf595\";\r\n } else if (host.indexOf('alms-spa-dev') !== -1 || host.indexOf('aampqa.atea.se') !== -1) {\r\n result = \"22123b03-936d-4ace-8211-8f39132bf595\";\r\n } else if (host.indexOf('alms-spa-prod') !== -1 || host.indexOf('aamp.atea.se') !== -1) {\r\n result = \"88e04759-60a8-4101-a11d-c0af3a323573\";\r\n }\r\n return result;\r\n }\r\n\r\n logPageView(name?: string, url?: string) { // option to call manually\r\n this.appInsights.trackPageView({\r\n name: name,\r\n uri: url\r\n });\r\n }\r\n\r\n logEvent(name: string, properties?: { [key: string]: any }) {\r\n this.appInsights.trackEvent({ name: name}, properties);\r\n }\r\n\r\n logMetric(name: string, average: number, properties?: { [key: string]: any }) {\r\n this.appInsights.trackMetric({ name: name, average: average }, properties);\r\n }\r\n\r\n logException(exception: Error, severityLevel?: number) {\r\n this.appInsights.trackException({ exception: exception, severityLevel: severityLevel });\r\n }\r\n\r\n logTrace(message: string, properties?: { [key: string]: any }) {\r\n this.appInsights.trackTrace({ message: message}, properties);\r\n }\r\n}","import * as _ from 'underscore';\r\n\r\nexport class PagerService {\r\n getPager(totalItems: number, currentPage: number = 1, pageSize: number =10) {\r\n // calculate total pages\r\n let totalPages = Math.ceil(totalItems / pageSize);\r\n\r\n let startPage: number, endPage: number;\r\n if (totalPages <= 10) {\r\n // less than 10 total pages so show all\r\n startPage = 1;\r\n endPage = totalPages;\r\n } else {\r\n // more than 10 total pages so calculate start and end pages\r\n if (currentPage <= 6) {\r\n startPage = 1;\r\n endPage = 10;\r\n } else if (currentPage + 4 >= totalPages) {\r\n startPage = totalPages - 9;\r\n endPage = totalPages;\r\n } else {\r\n startPage = currentPage - 5;\r\n endPage = currentPage + 4;\r\n }\r\n }\r\n\r\n // calculate start and end item indexes\r\n let startIndex = (currentPage - 1) * pageSize;\r\n let endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1);\r\n\r\n // create an array of pages to ng-repeat in the pager control\r\n let pages = _.range(startPage, endPage + 1);\r\n\r\n // return object with all pager properties required by the view\r\n return {\r\n totalItems: totalItems,\r\n currentPage: currentPage,\r\n pageSize: pageSize,\r\n totalPages: totalPages,\r\n startPage: startPage,\r\n endPage: endPage,\r\n startIndex: startIndex,\r\n endIndex: endIndex,\r\n pages: pages\r\n };\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { ResetPassword } from './resetPassword'\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { PasswordReset } from './passwordReset';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class PasswordService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService, private authenticationService: AuthenticationService) { }\r\n changePassword(userId, newPassword, oldPassword) {\r\n var NewPasswordModel = { UserId: userId, NewPassword: newPassword, OldPassword: oldPassword }\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/password/ \", NewPasswordModel);\r\n }\r\n resetPassword(resetPassword: ResetPassword): Observable {\r\n return this._http.patch(this._settingsService.webApiServerPath() + \"/password/resetpassword/ \", resetPassword);\r\n }\r\n getResetCodeInformation(resetCode): Observable {\r\n let params = new HttpParams();\r\n params = params.append('resetCode', resetCode);\r\n let options = { params };\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/password/resetcode/\", options);\r\n }\r\n\r\n saveResetCodeInformation(passwordReset: PasswordReset): Observable {\r\n return this._http.patch(this._settingsService.webApiServerPath() + \"/password/resetcode/\", passwordReset)\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { SettingsService } from '../settings/settings.service';\r\nimport { Property } from './property';\r\n\r\n@Injectable()\r\nexport class PropertiesService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService, private authenticationService: AuthenticationService) { }\r\n query(type): Observable {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/properties/\" + type + \"/\");\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Property } from '../property';\r\n\r\n@Pipe({\r\n name: 'usedProperties'\r\n})\r\nexport class UsedPropertiesPipe implements PipeTransform {\r\n\r\n transform(value: Property, args?: any): any {\r\n if(!value.Use){\r\n return value;\r\n }\r\n return null;\r\n }\r\n\r\n}\r\n// if(items === null) return [];\r\n// let ret = [];\r\n// items.forEach(function (item) {\r\n// let ret1 = item.items.filter(function (e) {\r\n// return !checkName || (checkName && (e.name !== undefined));\r\n// });\r\n// if(ret1.length > 0) {\r\n// item.items = ret1;\r\n// ret.push(item);\r\n// }\r\n// });\r\n// return ret;\r\n// }","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/Rx';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { HelperService } from '../helper/helper.service'\r\n\r\nimport { Report } from './report'\r\nimport { ReportValue } from './reportPost'\r\nimport { ReportPost } from './reportPost'\r\nimport { ReportParameter } from './reportParameter';\r\nimport { ReportParameterValue } from './reportParameterValue';\r\nimport { ReportColumn } from './reportColumn'\r\nimport { ReportParameterModel } from '../../reports/reportParameterModel'\r\nimport { PropertyValue } from './propertyValue'\r\nimport { from } from 'rxjs/observable/from';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class ReportsService {\r\n public reportParameterModel: ReportParameterModel[] = [];\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService,\r\n private helperService: HelperService) { }\r\n\r\n getAll(): Observable {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/\");\r\n }\r\n getUserreports(userId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/userreports/\", options);\r\n }\r\n getAllUnconnected(userId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n let options = { params };\r\n\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/unconnected/\", options);\r\n }\r\n deleteUserReport(userId, reportId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('reportId', reportId);\r\n params = params.append('userId', userId);\r\n let options = { params };\r\n\r\n return this._http.delete(this._settingsService.webApiServerPath() + \"/reports/user/\", options);\r\n }\r\n saveUserReport(userId, reportId, createdBy): Observable {\r\n let userReport = {\r\n UserId: userId,\r\n ReportId: reportId,\r\n CreateDate: null,\r\n CreatedBy: createdBy,\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/reports/user/\", userReport);\r\n }\r\n\r\n\r\n getBy(userId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n let options = { params };\r\n\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/\", options);\r\n }\r\n getUserReportsBy(userId, currentUserId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n params = params.append('currentUserId', currentUserId);\r\n let options = { params };\r\n\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/user/\", options);\r\n }\r\n\r\n getReportParameters(reportId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('reportId', reportId);\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/reportParameters\", options);\r\n }\r\n\r\n formatDate(date): string {\r\n if (date === null) return null;\r\n var d = new Date(date),\r\n month = '' + (d.getMonth()),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2) month = '0' + month;\r\n if (day.length < 2) day = '0' + day;\r\n\r\n return [year, month, day].join('-');\r\n }\r\n converetDate(date: object) {\r\n let aDate = JSON.parse(JSON.stringify(date));\r\n return (this.formatDate(new Date(aDate.date.year, aDate.date.month, aDate.date.day)));\r\n }\r\n\r\n getReport(includeHeader: boolean, bundleId: number, userId: number, reportId: number, reportColumns: ReportColumn[], languageId: string): Observable {\r\n let reportValues: ReportValue[] = [];\r\n this.reportParameterModel.forEach(reportParameterModel => {\r\n let selected: string[] = [];\r\n reportParameterModel.infos.forEach(element => {\r\n if (element.Checked) {\r\n selected.push(element.Id.toString());\r\n }\r\n }\r\n );\r\n\r\n let fromDate: string;\r\n if (reportParameterModel.fromDate != null) {\r\n let aDate = JSON.parse(JSON.stringify(reportParameterModel.fromDate));\r\n fromDate = aDate;\r\n }\r\n let toDate: string;\r\n if (reportParameterModel.toDate != null) {\r\n let aDate = JSON.parse(JSON.stringify(reportParameterModel.toDate));\r\n toDate = aDate;\r\n }\r\n let reportValue: ReportValue = {\r\n DisplayType: reportParameterModel.displayType,\r\n Parameter: reportParameterModel.parameter,\r\n ParameterName: reportParameterModel.parameterName,\r\n ParameterType: reportParameterModel.parameterType,\r\n FromDate: fromDate,\r\n ToDate: toDate,\r\n Selected: selected,\r\n Value: selected.length > 0 ? selected[0] : \"\",\r\n FreeText: reportParameterModel.freeText\r\n };\r\n reportValues.push(reportValue);\r\n });\r\n\r\n\r\n let report: ReportPost = { IncludeHeader: includeHeader, ReportId: reportId, BundleId: bundleId, UserId: userId, ReportColumns: reportColumns, ReportValues: reportValues, LanguageId: languageId };\r\n let currentUser;\r\n if (localStorage.currentUser !== null && localStorage.currentUser !== undefined && localStorage.length > 0) {\r\n currentUser = JSON.parse(localStorage.currentUser);\r\n }\r\n\r\n const httpOptions = {\r\n responseType: 'blob' as 'json',\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/reports/\", report, httpOptions);\r\n }\r\n download(res) {\r\n var link = document.createElement(\"a\");\r\n link.download = \"a\";\r\n link.href = res.link;\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n }\r\n downloadFile3(data: Response) {\r\n // let blob: Blob = data.blob();\r\n // var blob = new Blob(data.blob(), { type: 'application/vnd.ms-excel' })\r\n // var url = window.URL.createObjectURL(blob);\r\n // var link = document.createElement(\"a\");\r\n // link.download = this.createReportFileName();\r\n // link.href = url;\r\n // link.target = \"_blank\";\r\n // document.body.appendChild(link);\r\n // link.click();\r\n\r\n\r\n\r\n\r\n // var binaryData = [];\r\n // binaryData.push(data);\r\n // let fileSaver = require('file-saver');\r\n // let file = new Blob(data.blob(), { type: 'application/vnd.ms-excel' });\r\n // fileSaver.saveAs(blob, this.createReportFileName());\r\n // window.navigator.msSaveBlob(blob,this.createReportFileName());\r\n }\r\n private createReportFileName(): string {\r\n return \"Report\" + new Date().toJSON().slice(0, 10).replace(/-/g, '/') + this.guid() + \".xlsx\";\r\n }\r\n private guid() {\r\n function s4() {\r\n const array = new Uint32Array(1);\r\n crypto.getRandomValues(array);\r\n let body = Math.floor((1 + array[0]) / 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n return body;\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r\n s4() + '-' + s4() + s4() + s4();\r\n }\r\n\r\n downloadFile(data) {\r\n var binaryData = [];\r\n binaryData.push(data._body);\r\n // new Blob(binaryData, {type: 'application/vnd.ms-excel' }\r\n var blob = new Blob(binaryData, { type: 'application/vnd.ms-excel' })\r\n var url = window.URL.createObjectURL(blob);\r\n window.open(url);\r\n\r\n }\r\n downloadFile2(data: Response) {\r\n\r\n var binaryData = [];\r\n binaryData.push(data);\r\n // new Blob(binaryData, {type: 'application/vnd.ms-excel' }\r\n var url = window.URL.createObjectURL(data);\r\n // window.open(url); \r\n var link = document.createElement(\"a\");\r\n link.download = \"a\";\r\n link.href = url;\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n\r\n\r\n // var blob = new Blob([data],{ type: 'application/vnd.ms-excel' })\r\n // var url= window.URL.createObjectURL(blob);\r\n // window.open(url);\r\n\r\n }\r\n\r\n getReportParametersValues(bundleId, userId, parameterName): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('parameterName', parameterName);\r\n let options = { params };\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/reportParametersValues\", options);\r\n }\r\n\r\n getReportColumn(reportId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('reportId', reportId);\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/reports/reportColumns\", options);\r\n }\r\n\r\n private handleError(error: Response) {\r\n console.error(error);\r\n return Observable.throw(error.statusText);\r\n }\r\n private handleError2(error: any) {\r\n return error\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { Role } from './role';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\n\r\n@Injectable()\r\nexport class RolesService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService,\r\n private authenticationService: AuthenticationService) { }\r\n getAll(): Observable {\r\n return this._http.get (this._settingsService.webApiServerPath() + \"/roles/\")\r\n // .map((response: Response) => response.json())\r\n // .catch(this.handleError);\r\n }\r\n\r\n getRoles(userId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('userId', userId);\r\n let options = { params };\r\n\r\n\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/roles/\", options);\r\n // .map((response: Response) => response.json())\r\n // .catch(this.handleError);\r\n }\r\n\r\n saveRole(role: Role) {\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/roles/ \", role);\r\n // .map((response: Response) => { return response.json })\r\n // .catch(this.handleError);\r\n }\r\n\r\n // private extractData(res: Response) {\r\n // let body = res.json();\r\n // return body.data || {};\r\n // }\r\n // private handleError(error: Response) {\r\n // // in a real world app, we may send the server to some remote logging infrastructure\r\n // // instead of just logging it to the console\r\n // console.error(error);\r\n // return Observable.throw(error.json().error || 'Server error');\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { AuthenticationService } from '../authentication/authentication.service';\r\n\r\nexport type SavedSearch = {\r\n Id: number,\r\n UserId: number,\r\n Name: string | undefined,\r\n SearchData: string | undefined,\r\n Created: Date,\r\n Modified: Date,\r\n BundleId: number,\r\n}\r\n\r\nexport type PropertyInformation = {\r\n ShowName: string,\r\n Name: string,\r\n Checked: boolean,\r\n Type: string\r\n}\r\n\r\nexport type SearchData = {\r\n UserId: number,\r\n BundleId: number,\r\n SortOrderDesc: boolean,\r\n PageSize: number,\r\n Page: number,\r\n Value: string,\r\n SortByProperty: string,\r\n Properties: PropertyInformation[]\r\n CostDivisons: string[],\r\n Statuses: string[],\r\n Locations: string[],\r\n Departments: string[],\r\n Roles: string[],\r\n CompanyNames: string[],\r\n Manufacturers: string[],\r\n SellToCustomers: string[],\r\n FinanceAgreementNumbers: string[],\r\n AssetTypes: string[],\r\n FunctionTypes: string[],\r\n EndOfLeaseOption: string[],\r\n FinanceStatus: string[],\r\n DeliveryDateFrom: Date,\r\n DeliveryDateTo: Date,\r\n InvoiceDateFrom: Date,\r\n InvoiceDateTo: Date,\r\n LeaseStartFrom: Date,\r\n LeaseStartTo: Date,\r\n EndOfLeaseFrom: Date,\r\n EndOfLeaseTo: Date,\r\n OrderDateFrom: Date,\r\n OrderDateTo: Date,\r\n WarrantyDateFrom: Date,\r\n WarrantyDateTo: Date,\r\n TimeStamp: number,\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SavedSearchesService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService, private authenticationService: AuthenticationService) { }\r\n\r\n getSavedSearch(id, userId, bundleId, system): Observable {\r\n let params = new HttpParams();\r\n params = params.append('id', id);\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('system', system);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/savedsearches/\", options);\r\n }\r\n\r\n getSavedSearches(userId, bundleId, system): Observable {\r\n let params = new HttpParams();\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('userId', userId);\r\n params = params.append('system', system);\r\n\r\n let options = { params };\r\n\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/savedsearches/\", options);\r\n }\r\n createSearch(userId, bundleId, name, searchData) {\r\n var savedSearchObj = {\r\n UserId: userId,\r\n BundleId: bundleId,\r\n Name: name,\r\n SearchData: JSON.stringify(searchData),\r\n System : SettingsService.SYSTEM\r\n };\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/savedsearches/ \", savedSearchObj);\r\n }\r\n\r\n saveSearch(Id, userId, bundleId, name, searchData) {\r\n var savedSearchObj = {\r\n Id : Id,\r\n UserId: userId,\r\n BundleId: bundleId,\r\n Name: name,\r\n SearchData: searchData,\r\n System : SettingsService.SYSTEM\r\n };\r\n return this._http.put(this._settingsService.webApiServerPath() + \"/savedsearches/ \", savedSearchObj);\r\n }\r\n\r\n updateSavedSearchName(id, userId, bundleId, name) {\r\n var savedSearchObj = {\r\n Id : id,\r\n UserId: userId,\r\n BundleId: bundleId,\r\n Name: name,\r\n SearchData: '',\r\n System : SettingsService.SYSTEM\r\n };\r\n return this._http.patch(this._settingsService.webApiServerPath() + \"/savedsearches/\", savedSearchObj);\r\n }\r\n\r\n deleteSearch(id, userId, bundleId, system) {\r\n let params = new HttpParams();\r\n params = params.append('id', id);\r\n params = params.append('userId', userId);\r\n params = params.append('bundleId', bundleId);\r\n params = params.append('system', system);\r\n\r\n let options = { params };\r\n return this._http.delete(this._settingsService.webApiServerPath() + \"/savedsearches/\", options);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from '../authentication/authentication.service';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\n\r\nexport type CurrentBundle = {\r\n bundleId: number,\r\n bundleName: string,\r\n countrry: string\r\n}\r\n\r\nexport type CurrentUser = {\r\n Success: string,\r\n Email: string,\r\n FirstName: string,\r\n LastName: string,\r\n UserId: number,\r\n Company: string,\r\n subscriptiontoken: string,\r\n Token: string\r\n}\r\n\r\n@Injectable()\r\nexport class SettingsService {\r\n public static get USER_PROFILE(): string { return \"userProfile\"; }\r\n private static get CURRENT_BUNDLE(): string { return \"currentBundle\"; }\r\n public static get CURRENT_USER(): string { return \"currentUser\"; }\r\n public static get CURRENT_LANGUAGE(): string { return \"currentLanguage\"; }\r\n public static get CURRENT_COUNTRY(): string { return \"currentCountry\"; }\r\n public static get TOKEN(): string { return \"token\"; }\r\n public static get SYSTEM(): string { return \"AAM\"; }\r\n public static get MYATEA_ACCESS(): string { return \"myAteaAccess\";}\r\n public static get WOOTRIC_ACCOUNT_TOKEN(): string {return \"NPS-e4b23326\";}\r\n public static get WOOTRIC_TEST_MODE():boolean {return false;}\r\n\r\n constructor(private oauthService: OAuthService) { \r\n this.oauthService.setStorage(localStorage);}\r\n webApiServerPath() {\r\n // return \"http://aamptest.atea.se/webapi/api\";\r\n return this.getWebApiServerPath();\r\n // return \"http://localhost:56792/api\";\r\n\r\n // return \"https://aamp.atea.se/webapibeta/api\";\r\n }\r\n\r\n public static removeCurrentBundle() : void\r\n {\r\n localStorage.removeItem(SettingsService.CURRENT_BUNDLE);\r\n }\r\n\r\n public static removeCurrentUser() : void\r\n {\r\n localStorage.removeItem(SettingsService.CURRENT_USER);\r\n }\r\n\r\n public static setCurrentBundle(bundle: CurrentBundle) : void\r\n {\r\n localStorage.setItem(SettingsService.CURRENT_BUNDLE, JSON.stringify(bundle));\r\n }\r\n\r\n public static setCurrentUser(user: CurrentUser) : void\r\n {\r\n localStorage.setItem(SettingsService.CURRENT_USER, JSON.stringify(user));\r\n }\r\n\r\n public static getCurrentUser() : CurrentUser | null {\r\n if (localStorage.getItem(SettingsService.CURRENT_USER) === null)\r\n return null\r\n return JSON.parse(localStorage.getItem(SettingsService.CURRENT_USER)) as CurrentUser\r\n }\r\n\r\n\r\n public static getCurrentBundle() : CurrentBundle | undefined\r\n {\r\n try\r\n {\r\n const currentBundleString:string | null = localStorage.getItem(SettingsService.CURRENT_BUNDLE);\r\n if(currentBundleString !== null)\r\n return JSON.parse(currentBundleString) as CurrentBundle;\r\n }\r\n catch(ex)\r\n {\r\n console.log(\"Failed to parse current bundle, reason: \", ex)\r\n return undefined;\r\n }\r\n finally\r\n {\r\n }\r\n }\r\n\r\n getUserSystemHttpParams(user) {\r\n let params = new HttpParams();\r\n params = params.append('UserId', user);\r\n params = params.append('System', \"11\");\r\n\r\n let options = {\r\n params\r\n }\r\n return options\r\n }\r\n\r\n getWebApiServerPath() {\r\n var host = window.location.host;\r\n // return \"http://localhost:56792/api\";\r\n\r\n if (host.indexOf('localhost') !== -1) {\r\n return \"http://localhost:5000/api\";\r\n } else if (host.indexOf('alms-spa-dev') !== -1 || host.indexOf('aampqa.atea.se') !== -1) {\r\n return \"https://alms-api-dev.azurewebsites.net/api\";\r\n } else if (host.indexOf('alms-spa-prod') !== -1 || host.indexOf('aamp.atea.se') !== -1) {\r\n return \"https://alms-api-prod.azurewebsites.net/api\";\r\n } else{\r\n return \"\";\r\n }\r\n }\r\n\r\n public getJWTTokenPayload (token:String):any {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n\r\n return JSON.parse(jsonPayload);\r\n }\r\n\r\n getCurrentCountry()\r\n {\r\n return \"SW\";\r\n // switch(Intl.DateTimeFormat().resolvedOptions().locale)\r\n // {\r\n // case \"\":\r\n\r\n // default:\r\n // }\r\n\r\n // {\r\n // label: 'SWEDEN',\r\n // value: 'SW'\r\n // },\r\n // {\r\n // label: 'NORWAY',\r\n // value: 'NO'\r\n // },\r\n // {\r\n // label: 'DENMARK',\r\n // value: 'DK'\r\n // },\r\n // {\r\n // label: 'FINLAND',\r\n // value: 'FI'\r\n // },\r\n // {\r\n // label: 'ESTONIA',\r\n // value: 'EE'\r\n // },\r\n // {\r\n // label: 'LITHUANIA',\r\n // value: 'LT'\r\n // },\r\n // {\r\n // label: 'LATVIA',\r\n // value: 'LV'\r\n // }\r\n }\r\n}\r\n//http://localhost:56792/api\r\n//http://soneappdk560102/webapi/api\r\n//http://localhost:56792/api\r\n//\"http://aamptest.atea.se/webapi/api\"\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { Status } from './status';\r\n\r\n@Injectable()\r\nexport class StatusService {\r\n\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService) { }\r\n\r\n getByBundle(): Observable {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n let options = {\r\n params:new HttpParams().set('bundleId', currentChoosenBundle.bundleId.toString()),\r\n headers: new HttpHeaders({\r\n 'Current-Language': localStorage.getItem(SettingsService.CURRENT_LANGUAGE)\r\n })\r\n };\r\n return this._http.get (this._settingsService.webApiServerPath() + \"/statuses/\", options)\r\n }\r\n\r\n getAll(): Observable {\r\n let options = {\r\n headers: new HttpHeaders({\r\n 'Current-Language': localStorage.getItem(SettingsService.CURRENT_LANGUAGE)\r\n })\r\n };\r\n return this._http.get (this._settingsService.webApiServerPath() + \"/statuses/\", options)\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { User } from './User';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { SettingsService } from '../settings/settings.service'\r\n@Injectable()\r\nexport class UserService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService,private authenticationService: AuthenticationService) { }\r\n getUser(userId): Observable {\r\n\r\n let params = new HttpParams();\r\n params = params.append('id', userId);\r\n let options = { params };\r\n\r\n\r\n return this._http.get (\r\n this._settingsService.webApiServerPath() + \"/user/\",\r\n options\r\n )\r\n }\r\n\r\n // private extractData(res: Response) {\r\n // let body = res.json();\r\n // return body.data || {};\r\n // }\r\n // private handleError(error: Response) {\r\n // // in a real world app, we may send the server to some remote logging infrastructure\r\n // // instead of just logging it to the console\r\n // console.error(error);\r\n // return Observable.throw(error.json().error || 'Server error');\r\n // }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { User } from './user';\r\n\r\n@Pipe({\r\n name: 'usersFilter'\r\n})\r\nexport class UsersFilterPipe implements PipeTransform {\r\n transform(value: User[], filterBy: string): User[] {\r\n filterBy = filterBy ? filterBy.toLocaleLowerCase() : null;\r\n return filterBy ? \r\n value.filter((user: User) => \r\n user.Firstname.toLocaleLowerCase().indexOf(filterBy) !== -1 \r\n ||user.Lastname.toLocaleLowerCase().indexOf(filterBy) !== -1 \r\n ||user.Email.toLocaleLowerCase().indexOf(filterBy) !== -1) : value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SettingsService } from '../settings/settings.service'\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\nimport { User } from './User';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service'\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class UsersService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService, private authenticationService: AuthenticationService) { }\r\n getUser(userId): Observable {\r\n // var options = this._settingsService.getAuthorizationRequestOptions(userId, 'aamp2');\r\n // console.log(options);\r\n\r\n let params = new HttpParams();\r\n params = params.append('id', userId);\r\n\r\n let options = { params };\r\n\r\n \r\n return this._http.get(\r\n this._settingsService.webApiServerPath() + \"/users/\",\r\n options\r\n )\r\n }\r\n getUserByEmail(email): Observable {\r\n // var options = this._settingsService.getAuthorizationRequestOptions(userId, 'aamp2');\r\n // console.log(options);\r\n\r\n let params = new HttpParams();\r\n params = params.append('email', email);\r\n\r\n let options = { params };\r\n\r\n \r\n return this._http.get(\r\n this._settingsService.webApiServerPath() + \"/users/email/\",\r\n options\r\n )\r\n }\r\n\r\n getUsers(createdByUserId): Observable {\r\n let params = new HttpParams();\r\n params = params.append('createdBy', createdByUserId);\r\n let options = { params };\r\n\r\n return this._http.get(\r\n this._settingsService.webApiServerPath() + \"/users/\",\r\n options\r\n );\r\n }\r\n\r\n saveUser(user: User) {\r\n return this._http.patch(this._settingsService.webApiServerPath() + \"/users/ \", user);\r\n }\r\n\r\n resetPassword(userId, host, titel, email, header, isActivate) {\r\n let resetPasswordModel = {\r\n UserId: userId,\r\n Host: host,\r\n Titel : titel,\r\n Email : email,\r\n Header: header,\r\n IsActivate : isActivate\r\n }\r\n \r\n return this._http.post(this._settingsService.webApiServerPath() + \"/users/resetpassword\", resetPasswordModel)\r\n }\r\n\r\n\r\n\r\n createUser(firstName, lastName, email, company, activeFrom, activeTo, autoAddSellTo, createdBy): Observable {\r\n var user = { FirstName: firstName, LastName: lastName, Email: email, Company: company, Phone: \"\", AutoAddSellTo: autoAddSellTo, ActiveFrom: activeFrom, ActiveTo: activeTo, CreatedBy : createdBy }\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/users/ \", user)\r\n }\r\n\r\n\r\n // private extractData(res: Response) {\r\n // let body = res.json();\r\n // return body.data || {};\r\n // }\r\n // private handleError(error: Response) {\r\n // // in a real world app, we may send the server to some remote logging infrastructure\r\n // // instead of just logging it to the console\r\n // console.error(error);\r\n // return Observable.throw(error.json().error || 'Server error');\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SettingsService } from '../settings/settings.service';\r\n\r\n@Injectable()\r\n\r\nexport class WootricService {\r\n\r\n constructor() { }\r\n\r\n displaySurvey() {\r\n\r\n let user = JSON.parse(localStorage.getItem(SettingsService.CURRENT_USER));\r\n let logicCount = localStorage.getItem(`${user.UserId}_loginCount`);\r\n let currentWindow = window as any;\r\n currentWindow.wootric_survey_immediately = SettingsService.WOOTRIC_TEST_MODE;\r\n currentWindow.wootricSettings = {\r\n email: user.Email,\r\n account_token: SettingsService.WOOTRIC_ACCOUNT_TOKEN\r\n };\r\n\r\n if(SettingsService.WOOTRIC_TEST_MODE || (logicCount && Number(logicCount) >= 1)){\r\n currentWindow.wootric('run');\r\n }\r\n\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FjdGl2aXR5L2FjdGl2aXR5LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'FILTER_ACTIVITY' | translate }}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'TIMESTAMP' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{ 'TypeOfChange' | translate}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'USERS' | translate }}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'CLEAR_FILTERS' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{'ACTIVITY_HISTORY' | translate }}
\\r\\n \\r\\n
\\r\\n
{{value.Timestamp | date: 'yyyy-MM-dd'}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n 1\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'Column_AssetNo' | translate }}: {{value.AssetNumber}} {{ _helperService.getTranslationCode(value.Column) | translate}} {{'CHANGE_BY' | translate }} \\r\\n {{value.ContactName}}\\r\\n
\\r\\n
{{'OLD_VALUE' | translate }} \\\"{{value.OldValue | translate }}\\\" {{'CHANGED_TO' | translate }} {{'NEW_VALUE' | translate }} \\\"{{value.NewValue | translate }}\\\"
\\r\\n
\\r\\n
1 asset
\\r\\n
{{'DONE' | translate }}
\\r\\n
\\r\\n
\\r\\n {{ _helperService.getTranslationCode(value.Column) | translate}} {{'CHANGE_BY' | translate }} \\r\\n {{value.ContactName}}\\r\\n
\\r\\n
{{'OLD_VALUE' | translate }} \\\"{{value.OldValue | translate }}\\\" {{'CHANGED_TO' | translate }} {{'NEW_VALUE' | translate }} \\\"{{value.NewValue}}\\\"
\\r\\n
\\r\\n
{{value.AssetCnt}} asset
\\r\\n
{{'DONE' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'NO_DATA_AVAILABLE' | translate }}\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { AssetChangeLogService } from '../_shared/assetChangeLog/asset-change-log.service';\r\nimport { AssetSearchService } from '../assets/asset-search/asset-search.service';\r\nimport { AssetChangeLog } from '../_shared/assetChangeLog/assetChangeLog';\r\nimport { AssetChangeInfo } from '../_shared/assetChangeLog/assetChangeInfo';\r\nimport { HelperService } from '../_shared/helper/helper.service'\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { IMyDrpOptions, IMyDateRangeModel } from 'mydaterangepicker';\r\nimport { Info } from '../_shared/asset/Info';\r\nimport { TypeOfChange } from '../_shared/asset/TypeOfChange';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'app-activity',\r\n templateUrl: './activity.component.html',\r\n styleUrls: ['./activity.component.css']\r\n})\r\nexport class ActivityComponent implements OnInit {\r\n\r\n public dateTranslationsLoading: boolean = true;\r\n\r\n private typeOfChanges: TypeOfChange[] = [];\r\n private users: Info[] = [];\r\n public filteredListUsers: Info[] = [];\r\n public filteredListTypeOfChanges: TypeOfChange[] = [];\r\n\r\n public dateRangeFrom: any = null;\r\n public dateRangeTo: any = null;\r\n public myDateRange: any = null;\r\n\r\n public loader: boolean = false;\r\n public totalPages: number = 0;\r\n public total: number = 0;\r\n\r\n private page: number = 1;\r\n private pageSteps: number = 2;\r\n private pagesToShow: number = 5;\r\n private pageSize: number = 10;\r\n assetChangeLogs: AssetChangeLog[] = [];\r\n\r\n assetChangeInfo: AssetChangeInfo = { AssetChangeModels: [], Total: 0, TotalPages: 0 };\r\n\r\n\r\n private myForm: FormGroup;\r\n\r\n\r\n constructor(\r\n private assetChangeLogService: AssetChangeLogService,\r\n public assetSearchService: AssetSearchService,\r\n private _formBuilder: FormBuilder,\r\n private _helperService: HelperService,\r\n private _translate: TranslateService) {\r\n }\r\n\r\n public ActivityDateRangePickerOptions: IMyDrpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n dayLabels: { su: 'Sön', mo: 'Mån', tu: 'Tis', we: 'Ons', th: 'Tors', fr: 'Fre', sa: 'Lörd' },\r\n monthLabels: { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'Maj', 6: 'Jun', 7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Okt', 11: 'Nov', 12: 'Dec' },\r\n showSelectDateText: false,\r\n indicateInvalidDateRange: true,\r\n };\r\n\r\n clearFilters() {\r\n this.queryUsers = \"\";\r\n this.queryTypeOfChanges = \"\";\r\n this.typeOfChanges.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.users.forEach(element => {\r\n element.Checked = false;\r\n });;\r\n this.dateRangeFrom = null;\r\n this.dateRangeTo = null;\r\n this.myForm.patchValue({ myDateRange: '' });\r\n this.assetChangeInfo = { AssetChangeModels: [], Total: 0, TotalPages: 0 };\r\n this.searchActivity(1);\r\n }\r\n\r\n onSubmitReactiveForms(): void {\r\n console.log('Value: ', this.myForm.controls['myDateRange'].value, ' - Valid: ', this.myForm.controls['myDateRange'].valid,\r\n ' - Dirty: ', this.myForm.controls['myDateRange'].dirty, ' - Touched: ', this.myForm.controls['myDateRange'].touched);\r\n }\r\n\r\n setDateRange(): void {\r\n // Set today range using the setValue function\r\n let date: Date = new Date();\r\n let year: number = date.getFullYear();\r\n let month: number = date.getMonth() + 1;\r\n let day: number = date.getDate();\r\n this.myForm.setValue({ myDateRange: { beginDate: { year: year, month: month, day: day }, endDate: { year: year, month: month, day: day } } });\r\n }\r\n\r\n resetDateRange(): void {\r\n // Reset date picker to specific date range (today)\r\n let date: Date = new Date();\r\n let year: number = date.getFullYear();\r\n let month: number = date.getMonth() + 1;\r\n let day: number = date.getDate();\r\n this.myForm.reset({ myDateRange: { beginDate: { year: year, month: month, day: day }, endDate: { year: year, month: month, day: day } } });\r\n\r\n }\r\n\r\n clearDateRange(): void {\r\n // Clear the date range using the setValue function\r\n this.myForm.setValue({ myDateRange: null });\r\n }\r\n onDateRangeChanged(aType: string, event: IMyDateRangeModel) {\r\n if (aType === \"myDateRange\") {\r\n this.dateRangeFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.dateRangeTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n this.searchActivity(this.page);\r\n }\r\n\r\n intitData() {\r\n this.myForm = this._formBuilder.group({\r\n myDateRange: [{ beginDate: { year: 2018, month: 10, day: 9 }, endDate: { year: 2018, month: 10, day: 19 } }, Validators.required]\r\n\r\n // this example is initialized to specific date range\r\n });\r\n this.assetChangeLogService.getAssetChangeContactNames(SettingsService.getCurrentBundle().bundleId).subscribe(\r\n result => {\r\n result.forEach(element => {\r\n this.users.push({ Id: element, Name: element, Checked: false });\r\n });\r\n },\r\n error => {\r\n }, () => {\r\n }\r\n );\r\n this.assetChangeLogService.getAssetChangeTypeOfChanges(SettingsService.getCurrentBundle().bundleId).subscribe(\r\n result => {\r\n result.forEach(element => {\r\n this.typeOfChanges.push({ Id: element, Name: element, TranslationCode: this._helperService.getTranslationCode(element), Checked: false });\r\n });\r\n },\r\n error => {\r\n }, () => {\r\n }\r\n );\r\n }\r\n\r\n isNoneOrAllColumnChecked(type): number {\r\n if (type === \"TYPEOFCHANGE\") {\r\n if (this.typeOfChanges.filter(x => x.Checked === true).length === 0) {\r\n return 0;\r\n } else if (this.typeOfChanges.filter(x => x.Checked === true).length === this.typeOfChanges.length) {\r\n return 1;\r\n } else {\r\n return 2;\r\n }\r\n }\r\n\r\n if (type === \"USERS\") {\r\n if (this.users.filter(x => x.Checked === true).length === 0) {\r\n return 0;\r\n } else if (this.users.filter(x => x.Checked === true).length === this.users.length) {\r\n return 1;\r\n } else {\r\n return 2;\r\n }\r\n }\r\n return 0;\r\n }\r\n\r\n ngOnInit() {\r\n this.dateTranslationsLoading = true;\r\n this._translate.get([\r\n 'DatePicker_selectBeginDateTxt',\r\n 'DatePicker_selectEndDateTxt',\r\n 'DatePicker_ariaLabelInputField',\r\n 'DatePicker_ariaLabelClearDateRange',\r\n 'DatePicker_ariaLabelOpenCalendar',\r\n 'DatePicker_ariaLabelPrevMonth',\r\n 'DatePicker_ariaLabelNextMonth',\r\n 'DatePicker_ariaLabelPrevYear',\r\n 'DatePicker_ariaLabelNextYear',\r\n 'SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT',\r\n 'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'\r\n ])\r\n .subscribe(values => {\r\n this.ActivityDateRangePickerOptions.selectBeginDateTxt = values.DatePicker_selectBeginDateTxt;\r\n this.ActivityDateRangePickerOptions.selectEndDateTxt = values.DatePicker_selectEndDateTxt;\r\n this.ActivityDateRangePickerOptions.ariaLabelInputField = values.DatePicker_ariaLabelInputField;\r\n this.ActivityDateRangePickerOptions.ariaLabelClearDateRange = values.DatePicker_ariaLabelClearDateRange;\r\n this.ActivityDateRangePickerOptions.ariaLabelOpenCalendar = values.DatePicker_ariaLabelOpenCalendar;\r\n this.ActivityDateRangePickerOptions.ariaLabelPrevMonth = values.DatePicker_ariaLabelPrevMonth;\r\n this.ActivityDateRangePickerOptions.ariaLabelNextMonth = values.DatePicker_ariaLabelNextMonth;\r\n this.ActivityDateRangePickerOptions.ariaLabelPrevYear = values.DatePicker_ariaLabelPrevYear;\r\n this.ActivityDateRangePickerOptions.ariaLabelNextYear = values.DatePicker_ariaLabelNextYear;\r\n\r\n this.ActivityDateRangePickerOptions.monthLabels = {\r\n 1: values.JAN, 2: values.FEB, 3: values.MAR, 4: values.APR, 5: values.MAY, 6: values.JUN, 7: values.JUL, 8: values.AUG, 9: values.SEP, 10: values.OCT, 11: values.NOV, 12: values.DEC\r\n };\r\n\r\n this.ActivityDateRangePickerOptions.dayLabels.su = values.SUN;\r\n this.ActivityDateRangePickerOptions.dayLabels.mo = values.MON;\r\n this.ActivityDateRangePickerOptions.dayLabels.tu = values.TUE;\r\n this.ActivityDateRangePickerOptions.dayLabels.we = values.WED;\r\n this.ActivityDateRangePickerOptions.dayLabels.th = values.THU;\r\n this.ActivityDateRangePickerOptions.dayLabels.fr = values.FRI;\r\n this.ActivityDateRangePickerOptions.dayLabels.sa = values.SAT;\r\n \r\n this.dateTranslationsLoading = false;\r\n });\r\n\r\n this.searchActivity(this.page);\r\n this.intitData();\r\n }\r\n\r\n isDateIsSet(aDate) {\r\n if (aDate.date.year === 0 && aDate.date.month === 0 && aDate.date.day === 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n searchActivity(page) {\r\n this.loader = true;\r\n this.assetChangeInfo = { AssetChangeModels: [], Total: 0, TotalPages: 0 };\r\n\r\n this.page = page;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n var contactNames: string[] = [];\r\n this.users.filter(x => x.Checked).forEach(choosenUser => {\r\n contactNames.push(\"'\" + choosenUser.Name + \"'\");\r\n });\r\n\r\n var typeOfChangeValues: string[] = [];\r\n this.typeOfChanges.filter(x => x.Checked).forEach(change => {\r\n typeOfChangeValues.push(\"'\" +change.Name+ \"'\");\r\n });\r\n\r\n let dateRangeTo = this._helperService.formatDate(this.dateRangeTo);\r\n let dateRangeFrom = this._helperService.formatDate(this.dateRangeFrom);\r\n\r\n this.assetChangeLogService.search(currentChoosenBundle.bundleId, contactNames, typeOfChangeValues, dateRangeFrom, dateRangeTo, this.page, this.pageSize, false, false).subscribe(\r\n result => {\r\n this.assetChangeInfo = { AssetChangeModels: result.AssetChangeModels, Total: result.Total, TotalPages: result.TotalPages };\r\n this.totalPages = result.TotalPages;\r\n this.total = result.Total;\r\n this.loader = false;\r\n\r\n this.assetChangeInfo.AssetChangeModels.forEach(value => {\r\n if (value.Column == \"Status\") {\r\n value.NewValue = this._helperService.getStatusTranslationCode(value.NewValue);\r\n value.OldValue = this._helperService.getStatusTranslationCode(value.OldValue);\r\n }\r\n });\r\n },\r\n error => {\r\n }, () => {\r\n }\r\n );\r\n }\r\n update(event) {\r\n // console.log(event);\r\n }\r\n goToSpecificPage(page) {\r\n this.page = page;\r\n if (this.page <= this.totalPages && this.page > 0) {\r\n this.searchActivity(this.page);\r\n }\r\n }\r\n shouldShowPage() {\r\n return (this.assetChangeInfo.AssetChangeModels != null && this.assetChangeInfo.AssetChangeModels != undefined && this.assetChangeInfo.AssetChangeModels.length > 0); //&& !this.assetChangeInfo.showLoader;\r\n }\r\n\r\n subractPage() {\r\n if (this.page > 1) {\r\n this.page = this.page - 1;\r\n this.searchActivity(this.page);\r\n }\r\n }\r\n addPage() {\r\n if (this.page + 1 <= this.totalPages) {\r\n this.page = this.page + 1;\r\n this.searchActivity(this.page);\r\n }\r\n }\r\n\r\n isActive(page) {\r\n\r\n return (page + 1) == this.page ? 'active' : '';\r\n }\r\n\r\n clickOnPageLink(newPage: number) {\r\n this.page = newPage + 1;\r\n if (this.page <= this.total && this.page > 0) {\r\n this.searchActivity(this.page);\r\n }\r\n }\r\n check(item: Info, typeOfChange: string) {\r\n item.Checked = !item.Checked;\r\n if (item.Checked) {\r\n this.page = 1;\r\n if (typeOfChange === \"TYPEOFCHANGE\") {\r\n this.queryTypeOfChanges = this._translate.instant(this._helperService.getTranslationCode(item.Name));\r\n this.focusInputTypeOfChange = false;\r\n this.isSelectAll = this.typeOfChanges.filter(x => x.Checked === true).length === this.typeOfChanges.length;\r\n }\r\n if (typeOfChange === \"USERS\") {\r\n this.queryUsers = item.Name;\r\n this.focusInputUsers = false;\r\n this.isSelectAllUsers = this.users.filter(x => x.Checked === true).length === this.users.length;\r\n }\r\n } else {\r\n if (typeOfChange === \"TYPEOFCHANGE\") {\r\n this.queryTypeOfChanges = \"\"\r\n this.isSelectAll = this.typeOfChanges.filter(x => x.Checked === true).length === this.typeOfChanges.length;\r\n }\r\n if (typeOfChange === \"USERS\") {\r\n this.queryUsers = \"\"\r\n this.isSelectAllUsers = this.users.filter(x => x.Checked === true).length === this.users.length;\r\n }\r\n }\r\n\r\n this.searchActivity(this.page);\r\n }\r\n\r\n calcPagesCount() {\r\n var totalPagesArray = Array(this.totalPages).fill(0).map((x, i) => i);\r\n if (this.page > 2) {\r\n let total = totalPagesArray.slice((this.page - 1) - this.pageSteps, this.page + this.pageSteps);\r\n return total;\r\n }\r\n return totalPagesArray.slice(0, this.pagesToShow);\r\n }\r\n\r\n\r\n public queryUsers = '';\r\n public queryTypeOfChanges = '';\r\n\r\n focusInputTypeOfChange: boolean = false;\r\n focusInputUsers: boolean = false;\r\n\r\n isSelectAll: boolean = false;\r\n isSelectAllUsers: boolean = false;\r\n\r\n focusFunction() {\r\n\r\n };\r\n focusList(type: string) {\r\n if (type === \"TYPEOFCHANGE\") {\r\n this.focusInputTypeOfChange = true;\r\n this.filteredListTypeOfChanges = this.typeOfChanges;\r\n }\r\n if (type === \"USERS\") {\r\n this.focusInputUsers = true;\r\n this.filteredListUsers = this.users;\r\n }\r\n\r\n }\r\n\r\n setLabel(type) {\r\n var checkedList: any;\r\n var hallas = '';\r\n if (type === \"TYPEOFCHANGE\") {\r\n checkedList = this.filteredListTypeOfChanges.filter(x => x.Checked === true);\r\n }\r\n if (type === \"USERS\") {\r\n checkedList = this.users.filter(x => x.Checked === true);\r\n }\r\n if (checkedList.length === 1) {\r\n return checkedList[0].Name;\r\n } else if (checkedList.length > 1) {\r\n\r\n /* this._translate.stream('SELECT').subscribe(res => { \r\n hallas = res;\r\n }); */\r\n this._translate.stream('Label_MoreThanOne').subscribe(res => {\r\n hallas = res;\r\n });\r\n return hallas;\r\n } else {\r\n\r\n this._translate.stream('SELECT').subscribe(res => {\r\n hallas = res;\r\n });\r\n return hallas;\r\n }\r\n }\r\n\r\n filterItemUsers() {\r\n if (this.queryUsers == \"\") this.filteredListUsers = this.users; //when nothing has typed\r\n this.filteredListUsers = Object.assign([], this.users).filter(\r\n item => item.Name.toLowerCase().indexOf(this.queryUsers.toLowerCase()) > -1\r\n )\r\n }\r\n filterItemTypeOfChanges() {\r\n if (this.queryTypeOfChanges == \"\") this.filteredListTypeOfChanges = this.typeOfChanges; //when nothing has typed\r\n this.filteredListTypeOfChanges = Object.assign([], this.typeOfChanges).filter(\r\n item => item.Name.toLowerCase().indexOf(this.queryTypeOfChanges.toLowerCase()) > -1\r\n )\r\n }\r\n\r\n onClickedInside(typeOfChange: string) {\r\n }\r\n\r\n\r\n onClickedOutside(e: Event, type: string) {\r\n if (type === \"TYPEOFCHANGE\") {\r\n this.focusInputTypeOfChange = false;\r\n }\r\n if (type === \"USERS\") {\r\n this.focusInputUsers = false;\r\n }\r\n }\r\n selectAll(type) {\r\n if (type === \"USERS\") {\r\n this.isSelectAllUsers = !this.isSelectAllUsers;\r\n for (var i = 0, len = this.filteredListUsers.length; i < len; i++) {\r\n this.filteredListUsers[i].Checked = this.isSelectAllUsers;\r\n }\r\n this.queryUsers = \"\";\r\n }\r\n if (type === \"TYPEOFCHANGE\") {\r\n this.isSelectAll = !this.isSelectAll;\r\n\r\n for (var i = 0, len = this.filteredListTypeOfChanges.length; i < len; i++) {\r\n this.filteredListTypeOfChanges[i].Checked = this.isSelectAll;\r\n }\r\n this.queryTypeOfChanges = \"\";\r\n }\r\n this.searchActivity(1);\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Label_AdminTool' | translate }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n  {{'CLEAR' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n {{selectedCostCenters.length}}\\r\\n {{ 'COSTCENTER' | translate }}s {{ 'Selected' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{'CLEAR_SELECTION' | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{costCenters.length}}\\r\\n {{ 'COSTCENTER' | translate }}s\\r\\n
\\r\\n\\r\\n
\\r\\n {{'EXPORT_ALL' | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ 'Column_Name' | translate }}
\\r\\n
\\r\\n
{{ 'Column_BundleName' | translate }}
\\r\\n
\\r\\n
{{ 'Column_SellToCustomer' | translate }}
\\r\\n
\\r\\n
{{ 'Column_CreatedBy' | translate }}
\\r\\n
\\r\\n
{{ 'Column_Info37' | translate }}
\\r\\n
{{'NO_DATA_AVAILABLE' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{costCenter.Name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{costCenter.BundleName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{costCenter.SellToCustomer}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{costCenter.CreatedName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{costCenter.CreatedDate | date: 'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Modify' | translate }} {{modalWindowHeader}} {{ 'COSTCENTER' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Name' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ 'Column_SellToCustomer' | translate }}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{sellToCustomer.CustomerName}}, {{sellToCustomer.SellToCustomer}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'Button_Create' | translate }} {{'Button_New' | translate }} {{'COSTCENTER' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Name' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ 'Column_SellToCustomer' | translate }}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{sellToCustomer.CustomerName}}, {{sellToCustomer.SellToCustomer}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\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 = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkbWluLXRvb2wvYWRtaW4tdG9vbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { CostcenterService } from '../_shared/costcenter/costcenter.service';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { CostCenter, CostCenterView } from '../_shared/costcenter/costCenter';\r\nimport { HelperService } from '../_shared/helper/helper.service';\r\nimport { SellToCustomer } from './SellToCustomer';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-admin-tool',\r\n templateUrl: './admin-tool.component.html',\r\n styleUrls: ['./admin-tool.component.scss']\r\n})\r\n\r\nexport class AdminToolComponent implements OnInit {\r\n public searchQueryString: string = null;\r\n public showCostCenters: boolean = true;\r\n private costCentersLoading: boolean = true;\r\n private costCenters: CostCenterView[] = null;\r\n private costCentersTemp: CostCenterView[] = null;\r\n public costCentersInPage: CostCenterView[] = null;\r\n public selectedCostCenters: CostCenterView[] = null;\r\n private bundleSellToCustomers: Array;\r\n private isSelectAll: boolean = false;\r\n\r\n constructor(\r\n private costCenterService: CostcenterService,\r\n public settingsService: SettingsService,\r\n public helperService: HelperService,\r\n private translateService: TranslateService,\r\n private toastr: ToastrService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loadCostCenters();\r\n this.costCentersTemp = this.costCenters;\r\n this.getCostCenterSellToCustomers();\r\n }\r\n\r\n loadCostCenters(withSearch: boolean = false) {\r\n this.costCentersLoading = true;\r\n this.costCenterService.get(SettingsService.getCurrentBundle().bundleId.toString())\r\n .subscribe(result => {\r\n this.costCenters = result;\r\n if(this.costCenters) {\r\n this.costCenters.map(x => x.Selected = false);\r\n this.costCentersTemp = this.costCenters;\r\n this.setCostCentersShownInPage();\r\n if (withSearch) {\r\n this.search(this.searchQueryString);\r\n }\r\n }\r\n \r\n this.costCentersLoading = false;\r\n },\r\n error => {\r\n this.costCentersLoading = false;\r\n });\r\n }\r\n\r\n isDelteButtonEnabled(): boolean {\r\n if(this.costCenters.length > 1)\r\n return true;\r\n \r\n return false;\r\n }\r\n\r\n exportCostCenters() {\r\n this.costCenterService.exportCostCenters(this.costCenters.map(x => x.Id));\r\n }\r\n\r\n search(newValue: string) {\r\n this.searchQueryString = newValue;\r\n this.resetSelection();\r\n this.costCenters = this.costCentersTemp;\r\n\r\n if (newValue == \"\" || newValue == null || newValue == undefined) {\r\n this.reset();\r\n } else {\r\n this.costCenters = this.costCenters.filter(x => x.Name.includes(newValue));\r\n this.setCostCentersShownInPage();\r\n }\r\n }\r\n\r\n resetSelection() {\r\n this.selectedCostCenters = null;\r\n this.isSelectAll = false;\r\n }\r\n\r\n reset() {\r\n this.searchQueryString = null;\r\n this.page = 1;\r\n this.resetSelection();\r\n this.loadCostCenters();\r\n }\r\n\r\n applyFilter() {\r\n this.page = 1;\r\n this.search(this.searchQueryString);\r\n }\r\n\r\n changePageSize(newPageSize: number) {\r\n this.pageSize = newPageSize;\r\n this.setCostCentersShownInPage();\r\n }\r\n\r\n clearSelection() {\r\n this.costCenters = this.costCenters.map(x => x.Selected === true ? {...x, Selected: false} : {...x});\r\n this.resetSelection();\r\n }\r\n\r\n selectDeSelectAll() {\r\n this.isSelectAll = !this.isSelectAll;\r\n\r\n if (this.costCenters) {\r\n if (this.isSelectAll) {\r\n this.costCenters = this.costCenters.map(x => x.Selected === false ? {...x, Selected: true} : {...x});\r\n } else {\r\n this.costCenters = this.costCenters.map(x => x.Selected === true ? {...x, Selected: false} : {...x});\r\n }\r\n \r\n this.selectedCostCenters = this.costCenters.filter(x => x.Selected === true)\r\n }\r\n }\r\n\r\n selectCostCenter(costcenter: CostCenterView) {\r\n let index = this.costCenters.indexOf(costcenter);\r\n\r\n if (index != -1) {\r\n if (costcenter.Selected) {\r\n this.costCenters.map(x => this.costCenters.indexOf(x) === index ? {...x, Selected: true} : {...x});\r\n } else {\r\n this.costCenters.map(x => this.costCenters.indexOf(x) === index ? {...x, Selected: false} : {...x});\r\n }\r\n }\r\n this.selectedCostCenters = this.costCenters.filter(x => x.Selected === true)\r\n }\r\n\r\n onChangePage(costCentersInPage: Array) {\r\n this.costCentersInPage = costCentersInPage;\r\n }\r\n\r\n calculateTotalPages() {\r\n if(this.costCenters) {\r\n this.totalPages = Math.ceil(this.costCenters.length / this.pageSize);\r\n }\r\n }\r\n\r\n calcPagesCount() {\r\n this.calculateTotalPages();\r\n var totalPagesArray = Array(this.totalPages).fill(0).map((x, i) => i);\r\n if (this.page > 2) {\r\n return totalPagesArray.slice((this.page - 1) - this.pageSteps, + this.page + this.pageSteps);\r\n }\r\n return totalPagesArray.slice(0, this.pagesToShow);\r\n }\r\n\r\n setCostCentersShownInPage() {\r\n if(this.costCenters) {\r\n this.calculateTotalPages();\r\n this.costCentersInPage = this.costCenters.slice((this.page-1) * this.pageSize, (this.page-1) * this.pageSize + this.pageSize);\r\n }\r\n }\r\n\r\n async deleteCostDivisions() {\r\n let selectedCostCenters = this.costCenters.filter(x => x.Selected === true);\r\n if (selectedCostCenters.length > 1) {\r\n // alert(\"You cant delete more than one cost center at once!\")\r\n } else {\r\n if (confirm(await this.translateService.get('Label_ConfirmCostCenterDelete').toPromise())) {\r\n this.costCenterService.deleteSelectedCostCenters(selectedCostCenters[0])\r\n .subscribe(async response => {\r\n this.toastr.success(await this.translateService.get('Label_CostCenterDeleted').toPromise(), await this.translateService.get('Label_Saved').toPromise());\r\n },\r\n async error => {\r\n if (error.status === 409) {\r\n this.toastr.error(await this.translateService.get('Label_CostCenterReferencedByAssets').toPromise(), await this.translateService.get('Error').toPromise());\r\n } else {\r\n this.toastr.error(await this.translateService.get('Label_CostCenterNotDeleted').toPromise(), await this.translateService.get('Error').toPromise());\r\n }\r\n },\r\n () => {\r\n this.loadCostCenters(true);\r\n });\r\n }\r\n }\r\n }\r\n\r\n//#region PAGINATION\r\n private page: number = 1;\r\n private pageSteps: number = 2;\r\n private pageSize: number = 20;\r\n private pagesToShow: number = 5;\r\n private totalPages: number = 0;\r\n\r\n goToSpecificPage(page) {\r\n this.page = page;\r\n\r\n if (this.page <= this.totalPages && this.page > 0) {\r\n this.setCostCentersShownInPage();\r\n }\r\n }\r\n\r\n shouldShowPage() {\r\n return (this.costCenters != null && this.costCenters != undefined && this.costCenters.length > 0) && !this.costCentersLoading;\r\n }\r\n\r\n subractPage() {\r\n if (this.page > 1) {\r\n this.page = this.page - 1;\r\n this.setCostCentersShownInPage();\r\n }\r\n }\r\n\r\n addPage() {\r\n if (+this.page + 1 <= this.totalPages) {\r\n this.page = +this.page + 1;\r\n this.setCostCentersShownInPage();\r\n }\r\n }\r\n\r\n isActive(page) {\r\n return (page + 1) == this.page ? 'active' : '';\r\n }\r\n\r\n clickOnPageLink(newPage: number) {\r\n this.page = newPage + 1;\r\n if (this.page <= this.totalPages && this.page > 0) {\r\n this.setCostCentersShownInPage();\r\n }\r\n }\r\n//#endregion \r\n\r\n//#region SELECTION\r\n check(costCenter: CostCenter) {\r\n costCenter.Selected = !costCenter.Selected;\r\n this.isSelectAll = this.isAllColumnChecked();\r\n }\r\n\r\n isNoneOrAllColumnChecked() {\r\n return this.costCenters.filter(x => x.Selected === true).length === 0 || this.costCenters.filter(x => x.Selected === true).length === this.costCenters.length;\r\n }\r\n\r\n isAllColumnChecked() {\r\n return this.costCenters.filter(x => x.Selected === false).length === 0;\r\n }\r\n\r\n checkedColumnsLength(): number {\r\n return this.costCenters.filter(x => x.Selected).length;\r\n }\r\n//#endregion\r\n\r\n//#region SORTING\r\n private sortByIdAsc: boolean = false;\r\n private sortByBundleNameAsc: boolean = false;\r\n private sortByCreatedByAsc: boolean = false;\r\n private sortByNameAsc: boolean = false;\r\n private sortByCreatedDateAsc: boolean = false;\r\n private sortBySellToCustomerIdAsc: boolean = false;\r\n private sortBySellToCustomerAsc: boolean = false;\r\n\r\n sortId() {\r\n this.sortByIdAsc = !this.sortByIdAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortByIdAsc) {\r\n this.costCenters.sort(function(a:CostCenter, b:CostCenter) {\r\n return a.Id - b.Id;\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenter, b:CostCenter) {\r\n return b.Id - a.Id;\r\n });\r\n }\r\n \r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n sortBundleName() {\r\n this.sortByBundleNameAsc = !this.sortByBundleNameAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortByBundleNameAsc) {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return a.Name.localeCompare(b.BundleName);\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return b.Name.localeCompare(a.BundleName);\r\n });\r\n }\r\n\r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n sortCreatedBy() {\r\n this.sortByCreatedByAsc = !this.sortByCreatedByAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortByCreatedByAsc) {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return a.CreatedBy - b.CreatedBy;\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return b.CreatedBy - a.CreatedBy;\r\n });\r\n }\r\n\r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n sortName() {\r\n this.sortByNameAsc = !this.sortByNameAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortByNameAsc) {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return a.Name.localeCompare(b.Name);\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return b.Name.localeCompare(a.Name);\r\n });\r\n }\r\n\r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n sortCreatedDate() {\r\n this.sortByCreatedDateAsc = !this.sortByCreatedDateAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortByCreatedDateAsc) {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return new Date(a.CreatedDate).valueOf() - new Date(b.CreatedDate).valueOf();\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return new Date(b.CreatedDate).valueOf() - new Date(a.CreatedDate).valueOf();\r\n });\r\n }\r\n\r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n sortSellToCustomerId() {\r\n this.sortBySellToCustomerIdAsc = !this.sortBySellToCustomerIdAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortBySellToCustomerIdAsc) {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return a.SellToCustomerId - b.SellToCustomerId;\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return b.SellToCustomerId - a.SellToCustomerId;\r\n });\r\n }\r\n\r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n sortSellToCustomer() {\r\n this.sortBySellToCustomerAsc = !this.sortBySellToCustomerAsc;\r\n\r\n if(this.costCenters) {\r\n if(this.sortBySellToCustomerAsc) {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return a.SellToCustomer.localeCompare(b.SellToCustomer);\r\n });\r\n } else {\r\n this.costCenters.sort(function(a:CostCenterView, b:CostCenterView) {\r\n return b.SellToCustomer.localeCompare(a.SellToCustomer);\r\n });\r\n }\r\n\r\n this.resetCostCentersShownInPage();\r\n }\r\n }\r\n\r\n resetCostCentersShownInPage() {\r\n this.page = 1;\r\n this.setCostCentersShownInPage();\r\n }\r\n//#endregion\r\n\r\n//#region EDIT COST CENTER MODAL WINDOW\r\n private editedCostCenter: CostCenter = null;\r\n private editedCostCentersName: string = \"\";\r\n private editedCostCentersSellToId: number = null;\r\n public showModifyCostCenter: boolean = false;\r\n public focusInputSellToCustomers: boolean = false;\r\n public selectedSellTo: string = \"\";\r\n public modalWindowHeader: string = \"\";\r\n private clickInSideFirst: boolean = false;\r\n private clickCaretFocusFlag: boolean = false;\r\n\r\n openModalWindow(costCenter: CostCenter) {\r\n this.bundleSellToCustomers.map(x => x.Selected = false);\r\n this.selectedSellTo = \"\";\r\n \r\n this.editedCostCenter = costCenter;\r\n this.editedCostCentersName = this.editedCostCenter.Name;\r\n this.editedCostCentersSellToId = this.editedCostCenter.SellToCustomerId;\r\n this.modalWindowHeader = this.editedCostCenter.Name + '(' + this.editedCostCenter.Id + ')';\r\n this.bundleSellToCustomers.map(x => {\r\n if(x.ID == this.editedCostCenter.SellToCustomerId) {\r\n x.Selected = true;\r\n this.selectedSellTo = x.CustomerName + ', ' + x.SellToCustomer;\r\n }\r\n });\r\n\r\n this.showModifyCostCenter = true;\r\n }\r\n\r\n clickOutSideDiv() {\r\n if (this.clickInSideFirst) {\r\n this.clickInSideFirst = false;\r\n } else {\r\n this.showModifyCostCenter = false;\r\n }\r\n }\r\n\r\n clickInSideDiv() {\r\n this.clickInSideFirst = true;\r\n }\r\n\r\n clickCaretFocus() {\r\n this.clickCaretFocusFlag = true;\r\n \r\n this.focusList();\r\n }\r\n\r\n getCostCenterSellToCustomers() {\r\n this.costCenterService.getCostCenterSellToCustomers(SettingsService.getCurrentBundle().bundleId.toString()).subscribe(response => {\r\n this.bundleSellToCustomers = response;\r\n this.bundleSellToCustomers.map(x => x.Selected = false);\r\n });\r\n }\r\n\r\n onClickedOutside(e: Event, type: string) {\r\n if (!this.clickCaretFocusFlag) {\r\n this.focusInputSellToCustomers = false;\r\n }\r\n this.clickCaretFocusFlag = false;\r\n }\r\n\r\n showConfirmation = false;\r\n\r\n isEnable() {\r\n\r\n let selectedSellTo: SellToCustomer = this.bundleSellToCustomers.filter(x => x.Selected)[0];\r\n\r\n if (selectedSellTo != null \r\n && (this.editedCostCentersName != null && this.editedCostCentersName.length > 1) \r\n && (this.editedCostCenter.Name != this.editedCostCentersName \r\n || this.editedCostCentersSellToId != selectedSellTo.ID)\r\n && this.shouldShowSellToCustomer()\r\n ) {\r\n return true;\r\n }\r\n\r\n if (!this.shouldShowSellToCustomer()\r\n && (this.editedCostCentersName != null && this.editedCostCentersName.length > 1) \r\n && (this.editedCostCenter.Name != this.editedCostCentersName )) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n modalCheck(sellToCustomer: SellToCustomer) {\r\n this.bundleSellToCustomers.map(x => x.Selected = false);\r\n this.selectedSellTo = \"\";\r\n sellToCustomer.Selected = !sellToCustomer.Selected;\r\n if (sellToCustomer.Selected) {\r\n this.selectedSellTo = sellToCustomer.CustomerName + ', ' + sellToCustomer.SellToCustomer;\r\n }\r\n\r\n this.focusInputSellToCustomers = false;\r\n }\r\n\r\n focusList() {\r\n this.focusInputSellToCustomers = true;\r\n }\r\n\r\n saveChanges() {\r\n let selectedSellTo: SellToCustomer = this.bundleSellToCustomers.filter(x => x.Selected)[0];\r\n let shouldShowSellToCustomer = this.shouldShowSellToCustomer();\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n\r\n if ((selectedSellTo || !shouldShowSellToCustomer) && this.editedCostCenter && this.editedCostCentersName && this.editedCostCentersName.length > 1) {\r\n this.editedCostCenter.Name = this.editedCostCentersName;\r\n if(shouldShowSellToCustomer) {this.editedCostCenter.SellToCustomerId = selectedSellTo.ID;}\r\n this.editedCostCenter.BundleId = currentChoosenBundle.bundleId;\r\n delete this.editedCostCenter.Selected;\r\n\r\n this.costCenterService.patchCostCenter(this.editedCostCenter)\r\n .subscribe(\r\n async response => {\r\n this.toastr.success(await this.translateService.get('Label_CostCenterSaved').toPromise(), await this.translateService.get('Label_Saved').toPromise());\r\n },\r\n async err => {\r\n this.toastr.error(await this.translateService.get('Label_CostCenterNotSaved').toPromise(), await this.translateService.get('Error').toPromise());\r\n },\r\n () => {\r\n this.editedCostCenter = null;\r\n this.showModifyCostCenter = false;\r\n this.loadCostCenters(true);\r\n });\r\n }\r\n }\r\n//#endregion\r\n\r\n//#region CREATE NEW COST CENTER MODAL WINDOW\r\n public showNewCostCenterModal: boolean = false;\r\n private newCostCenter: CostCenter = {\r\n Id: null,\r\n BundleId: null, \r\n CreatedBy: null, \r\n Name: null,\r\n CreatedDate: null,\r\n SellToCustomerId: null,\r\n SellToCustomer: null,\r\n Selected: false\r\n };\r\n private newSelectedCostCenterName: string = \"\";\r\n public newSelectedSellTo: string = \"\";\r\n public focusInputNewSellToCustomers: boolean = false;\r\n private clickInSideNewCostCenterModalFirst: boolean = false;\r\n private clickNewCostCenterModalCaretFocusFlag: boolean = false;\r\n\r\n openCreateModalWindow() {\r\n this.bundleSellToCustomers.map(x => x.Selected = false);\r\n this.newSelectedSellTo = \"\";\r\n this.newSelectedCostCenterName = \"\";\r\n\r\n this.showNewCostCenterModal = true;\r\n }\r\n\r\n clickInSideNewCostCenterModalWindow() {\r\n this.clickInSideNewCostCenterModalFirst = true;\r\n }\r\n\r\n clickOutSideNewCostCenterModalWindow() {\r\n if (this.clickInSideNewCostCenterModalFirst) {\r\n this.clickInSideNewCostCenterModalFirst = false;\r\n } else {\r\n this.showNewCostCenterModal = false;\r\n }\r\n }\r\n\r\n onClickedOutsideNewCostCenterModalWindow(e: Event, type: string) {\r\n if (!this.clickNewCostCenterModalCaretFocusFlag) {\r\n this.focusInputNewSellToCustomers = false;\r\n }\r\n this.clickNewCostCenterModalCaretFocusFlag = false;\r\n }\r\n\r\n clickNewCostCenterModalCaretFocus() {\r\n this.clickNewCostCenterModalCaretFocusFlag = true;\r\n \r\n this.focusNewCostCenterSellToList();\r\n }\r\n\r\n focusNewCostCenterSellToList() {\r\n this.focusInputNewSellToCustomers = true;\r\n }\r\n\r\n newCostCenterSellToModalCheck(sellToCustomer: SellToCustomer) {\r\n this.bundleSellToCustomers.map(x => x.Selected = false);\r\n this.newSelectedSellTo = \"\";\r\n sellToCustomer.Selected = !sellToCustomer.Selected;\r\n if (sellToCustomer.Selected) {\r\n this.newSelectedSellTo = sellToCustomer.CustomerName + ', ' + sellToCustomer.SellToCustomer;\r\n }\r\n\r\n this.focusInputNewSellToCustomers = false;\r\n }\r\n\r\n isCreateCostCenterButtonEnabled() {\r\n let selectedSellTo: SellToCustomer = this.bundleSellToCustomers.filter(x => x.Selected)[0];\r\n let shouldShowSellToCustomer = this.shouldShowSellToCustomer();\r\n\r\n if ((selectedSellTo != null || !shouldShowSellToCustomer)\r\n && this.newSelectedCostCenterName != null \r\n && this.newSelectedCostCenterName != \"\"\r\n && this.newSelectedCostCenterName.length > 1) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n resetNewCostCenterProperties() {\r\n this.newCostCenter = {\r\n Id: null,\r\n BundleId: null, \r\n CreatedBy: null, \r\n Name: null,\r\n CreatedDate: null,\r\n SellToCustomerId: null,\r\n SellToCustomer: null,\r\n Selected: false\r\n };\r\n }\r\n\r\n createNewCostCenter() {\r\n this.resetNewCostCenterProperties();\r\n \r\n let shouldShowSellToCustomer = this.shouldShowSellToCustomer();\r\n let selectedSellTo: SellToCustomer = this.bundleSellToCustomers.filter(x => x.Selected)[0];\r\n let bundleId = SettingsService.getCurrentBundle().bundleId;\r\n\r\n if ((selectedSellTo || !shouldShowSellToCustomer) && bundleId && this.newSelectedCostCenterName && this.newSelectedCostCenterName.length > 1) {\r\n this.newCostCenter.Name = this.newSelectedCostCenterName;\r\n if (shouldShowSellToCustomer) {this.newCostCenter.SellToCustomerId = selectedSellTo.ID;}\r\n this.newCostCenter.BundleId = bundleId;\r\n delete this.newCostCenter.Selected;\r\n\r\n this.costCenterService.createNewCostCenter(this.newCostCenter)\r\n .subscribe(\r\n async response => {\r\n this.toastr.success(await this.translateService.get('Label_CostCenterSaved').toPromise(), await this.translateService.get('Label_Saved').toPromise());\r\n },\r\n async err => {\r\n this.toastr.error(await this.translateService.get('Label_CostCenterNotSaved').toPromise(), await this.translateService.get('Error').toPromise());\r\n },\r\n () => {\r\n this.newCostCenter = null;\r\n this.showNewCostCenterModal = false;\r\n this.loadCostCenters(true);\r\n });\r\n }\r\n }\r\n\r\n shouldShowSellToCustomer():boolean{\r\n let bundle = SettingsService.getCurrentBundle();\r\n let result = bundle.bundleName.startsWith(\"Atea Finance\") \r\n || bundle.bundleId == 10613;\r\n return result;\r\n }\r\n\r\n//#endregion\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
{{alertService.aMessage}}
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { AlertService } from '../_shared/alert/alert.service';\r\n\r\n@Component({\r\n // moduleId: module.id,\r\n selector: 'alertbox',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.css']\r\n})\r\n\r\nexport class AlertComponent {\r\n message: any;\r\n constructor(public alertService: AlertService) {\r\n\r\n }\r\n\r\n // ngOnInit() {\r\n // this._alertService.getMessage().subscribe(message => { this.message = message; });\r\n // }\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './login/login.component';\r\n\r\nimport { AuthGuard } from './_guards/auth.guard';\r\nimport { AssetSearchresultComponent } from './assets/asset-searchresult/asset-searchresult.component';\r\nimport { ActivityComponent } from './activity/activity.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { AssetDetailsComponent } from './assets/asset-details/asset-details.component';\r\nimport { NewPasswordComponent } from './new-password/new-password.component';\r\nimport { ReportsComponent } from './reports/reports.component';\r\nimport { BundleSearchComponent } from './bundle-search/bundle-search.component';\r\nimport { AssetChangesControlComponent } from './assets/asset-change/asset-change-control/asset-changes-control.component';\r\nimport { AssetMasschangeHistoryDetailsComponent } from './assets/asset-masschange-history/asset-masschange-history-details/asset-masschange-history-details.component';\r\n// import { SettingsComponent } from './settings/settings.component';\r\nimport { UserSettingsComponent } from './settings/user-management/user-settings/user-settings.component';\r\nimport { AssetMasschangeHistoryComponent } from './assets/asset-masschange-history/asset-masschange-history.component';\r\nimport { CallbackComponent } from './callback/callback.component';\r\nimport { LoginSSOComponent } from './loginsso/loginsso.component';\r\nimport { CookiesComponent } from './cookies/cookies.component';\r\nimport { RegisterinfoComponent } from './registerinfo/registerinfo.component';\r\nimport { AdminToolComponent } from './admin-tool/admin-tool.component';\r\nimport { SuperAdminGuard } from './_guards/super-admin.guard';\r\nimport { HomeAuthGuard } from './_guards/home.guard';\r\n\r\nconst routes: Routes = [\r\n { path: 'home', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'loginsso', component: LoginSSOComponent },\r\n { path: 'forgotpassword', component: ForgotPasswordComponent },\r\n { path: 'assetdetails', component: AssetDetailsComponent, canActivate: [AuthGuard] },\r\n { path: 'newpassword', component: NewPasswordComponent },\r\n { path: 'assetsearch', component: AssetSearchresultComponent, canActivate: [AuthGuard] },\r\n { path: 'cookies', component: CookiesComponent},\r\n { path: 'reports', component: ReportsComponent, canActivate: [AuthGuard] },\r\n { path: 'bundlesearch', component: BundleSearchComponent, canActivate: [AuthGuard] },\r\n { path: 'assetmasschange', component: AssetChangesControlComponent, canActivate: [AuthGuard] },\r\n { path: 'activity', component: ActivityComponent, canActivate: [AuthGuard] },\r\n { path: 'assetmasschangehistory', component: AssetMasschangeHistoryComponent, canActivate: [AuthGuard] },\r\n { path: 'assetmasschangehistorydetails', component: AssetMasschangeHistoryDetailsComponent, canActivate: [AuthGuard] },\r\n // { path: 'settings', component: SettingsComponent, canActivate: [AuthGuard] },\r\n { path: 'admin-tool', component: AdminToolComponent, canActivate: [AuthGuard,SuperAdminGuard] },\r\n { path: 'usersettings', component: UserSettingsComponent, canActivate: [AuthGuard] },\r\n { path: '', redirectTo: 'registerinfo', pathMatch: 'full', canActivate: [HomeAuthGuard] },\r\n { path: 'callback', component: CallbackComponent },\r\n { path: 'registerinfo', component: RegisterinfoComponent},\r\n { path: '**', redirectTo: 'registerinfo', pathMatch: 'full', canActivate: [HomeAuthGuard] }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)\r\n ],\r\n exports: [RouterModule,\r\n TranslateModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SettingsService } from './_shared/settings/settings.service';\r\nimport { AuthenticationService } from './_shared/authentication/authentication.service'\r\nimport { LoggingService } from './_shared/logging/logging.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(\r\n private translate: TranslateService,\r\n private authenticationService: AuthenticationService,\r\n private loggingService: LoggingService) { \r\n let available = ['en', 'sv', 'nb', 'fi'];\r\n this.translate.addLangs(available);\r\n this.translate.setDefaultLang('en');\r\n \r\n let currentLang = localStorage.getItem(SettingsService.CURRENT_LANGUAGE);\r\n loggingService.logTrace(`Current language found in cache: ${currentLang}`);\r\n if (currentLang !== undefined && currentLang !== null && available.includes(currentLang)) {\r\n loggingService.logTrace(`Using current language as translation: ${currentLang}`);\r\n this.translate.use(currentLang);\r\n }else{\r\n const browserLang = this.translate.getBrowserLang();\r\n let effective = browserLang.match(/en|sv/) ? browserLang : 'en';\r\n loggingService.logTrace(`Using browser language as translation: ${effective}`);\r\n this.translate.use(effective);\r\n localStorage.setItem(SettingsService.CURRENT_LANGUAGE, effective);\r\n } \r\n }\r\n\r\n \r\n async ngOnInit() {\r\n }\r\n \r\n isLoggedIn = false;\r\n shouldOnlyShowWhenLoggedIn() {\r\n this.isLoggedIn = this.authenticationService.isActive();\r\n }\r\n\r\n\r\n // the lang to use, if the lang isn't available, it will use the current loader to get them\r\n \r\n}\r\n","import { BrowserModule, Meta } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { AuthGuard } from './_guards/auth.guard';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { ModalModule } from 'ngx-bootstrap/modal'; \r\n\r\n\r\n//COMPONENTS\r\nimport { AssetDetailsComponent } from './assets/asset-details/asset-details.component';\r\nimport { AssetSearchComponent } from './assets/asset-search/asset-search.component';\r\nimport { BundleSearchComponent } from './bundle-search/bundle-search.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { ActivityComponent } from './activity/activity.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { FooterComponent } from './footer/footer.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { AlertComponent } from './alert/alert.component';\r\nimport { ReportsComponent } from './reports/reports.component';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\n\r\n// import { MyDatePickerModule } from 'mydatepicker';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { NgxDaterangepickerMd } from 'ngx-daterangepicker-material';\r\n\r\n\r\n\r\n\r\n//Services\r\nimport { BundleService } from './_shared/bundles/bundle.service';\r\nimport { UsersService } from './_shared/user/users.service';\r\nimport { ForgotPasswordService } from './forgot-password/forgot-password.service';\r\nimport { AssetsService } from './_shared/asset/assets.service';\r\nimport { DashboardService } from './_shared/dashboard/dashboard.service';\r\nimport { AssetSearchService } from './assets/asset-search/asset-search.service';\r\nimport { AssetChangeService } from './assets/asset-change/asset-change.service';\r\nimport { ReportsService } from './_shared/reports/reports.service';\r\nimport { PropertiesService } from './_shared/properties/properties.service';\r\nimport { CostcenterService } from './_shared/costcenter/costcenter.service';\r\nimport { StatusService } from './_shared/status/status.service';\r\nimport { ImportsService } from './_shared/imports/imports.service';\r\nimport { CustomersService } from './_shared/customers/customers.service';\r\nimport { HelperService } from './_shared/helper/helper.service';\r\nimport { EndOfLeaseActionService } from './_shared/endOfLeaseAction/end-of-lease-action.service';\r\nimport { EmailService } from './_shared/email/email.service';\r\nimport { RolesService } from './_shared/roles/roles.service';\r\nimport { ReportsDataService } from './reports/reports-data.service';\r\nimport { PasswordService } from './_shared/password/password.service';\r\nimport { CategoryCodeService } from './_shared/category-code/category-code.service';\r\n\r\n//Directives\r\nimport { OnlyNumberDirective } from './_directives/only-number.directive';\r\n\r\n//Pipes\r\nimport { BundlesFilterPipe } from './_shared/bundles/bundles-filter.pipe';\r\nimport { UsedPropertiesPipe } from './_shared/properties/used-properties/used-properties.pipe';\r\nimport { UsersFilterPipe } from './_shared/user/users-filter.pipe';\r\nimport { FilterPipe } from './_pipes/filter.pipe';\r\n\r\n//SHARED\r\nimport { AuthenticationService } from './_shared/authentication/authentication.service';\r\nimport { UserService } from './_shared/user/user.service';\r\n\r\nimport { PagerService } from './_shared/pager/pager.service';\r\nimport { LoaderComponent } from './common/loader/loader.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { WINDOW_PROVIDERS } from \"./assets/asset-details/window.service\";\r\n\r\nimport { MaxValueDirective } from './_directives/max-value.directive';\r\nimport { MinValueDirective } from './_directives/min-value.directive';\r\nimport { OrderBy } from './_pipes/orderby.pipe';\r\nimport { AssetChangeSelectionComponent } from './assets/asset-change/asset-change-selection/asset-change-selection.component';\r\nimport { AssetChangeComponent } from './assets/asset-change/asset-change/asset-change-selection.component';\r\nimport { AssetChangesControlComponent } from './assets/asset-change/asset-change-control/asset-changes-control.component';\r\nimport { AssetChangeSelectionPagingComponent } from './assets/asset-change/asset-change-selection-paging/asset-change-selection-paging.component';\r\nimport { AssetMasschangeHistoryComponent } from './assets/asset-masschange-history/asset-masschange-history.component';\r\nimport { AssetMasschangeHistoryDetailsComponent } from './assets/asset-masschange-history/asset-masschange-history-details/asset-masschange-history-details.component';\r\nimport { ImportsFilterPipe } from './_shared/imports/imports-filter.pipe';\r\n// import { NgxMyDatePickerModule } from 'ngx-mydatepicker';\r\nimport { Daterangepicker } from 'ng2-daterangepicker';\r\n// import { MyDatePickerModule } from 'mydatepicker';\r\nimport { AssetDateRangePickerComponent } from './assets/asset-search/asset-date-range-picker/asset-date-range-picker.component';\r\nimport * as moment from 'moment';\r\nimport { MyDateRangePickerModule } from 'mydaterangepicker';\r\n// import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n// import { BusyModule } from 'angular2-busy';\r\nimport { Ng2PageScrollModule } from 'ng2-page-scroll';\r\nimport 'web-animations-js';\r\nimport { AlertService } from './_shared/alert/alert.service';\r\nimport { AssetChangeLogService } from './_shared/assetChangeLog/asset-change-log.service';\r\nimport { AssetSearchresultComponent } from './assets/asset-searchresult/asset-searchresult.component';\r\nimport { AssetSearchresultPagingComponent } from './assets/asset-searchresult-paging/asset-searchresult-paging.component';\r\nimport { AssetDetailEditComponent } from './assets/asset-details/asset-detail-edit/asset-detail-edit.component';\r\nimport { SettingsService } from './_shared/settings/settings.service';\r\nimport { WootricService } from './_shared/wootric/wootric.service';\r\n\r\nimport { FunctionsService } from './_shared/functions/functions.service';\r\nimport { AutocompleteComponent } from './autocomplete/autocomplete.component';\r\nimport { AssetModifyComponent } from './assets/asset-modify/asset-modify.component';\r\nimport { AssetColumnSelectorComponent } from './assets/asset-column-selector/asset-column-selector.component';\r\nimport { ReportsColumnSelectorComponent } from './reports/reports-column-selector/reports-column-selector.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { ProfileComponent } from './settings/profile/profile.component';\r\nimport { UserManagementComponent } from './settings/user-management/user-management.component';\r\nimport { PasswordComponent } from './settings/password/password.component';\r\nimport { UserSettingsComponent } from './settings/user-management/user-settings/user-settings.component';\r\nimport { AccessRightsService } from './_shared/access-rights/access-rights.service';\r\nimport { NewUserComponent } from './settings/new-user/new-user.component';\r\nimport { UserSettingsService } from './settings/user-settings.service';\r\nimport { NewUserService } from './settings/new-user/new-user.service';\r\nimport { NewPasswordComponent } from './new-password/new-password.component';\r\nimport { CallbackComponent } from './callback/callback.component';\r\nimport { LoginSSOComponent } from './loginsso/loginsso.component';\r\nimport { ErrorInterceptor } from '../app/_shared/helper/error.interceptor';\r\nimport { AssetColumnSelectorService } from './assets/asset-column-selector/asset-column-selector.service';\r\n\r\nimport { AuthService } from './_guards/auth.service';\r\n\r\n// import { Ng2SimplePageScrollModule } from 'ng2-simple-page-scroll';\r\nimport { wev } from 'web-animations-js';\r\nimport { ClickOutsideModule } from 'ng4-click-outside';\r\nimport {APP_BASE_HREF} from '@angular/common';\r\n\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ToastrModule } from 'ngx-toastr';\r\n\r\nimport { DateRangePropertyComponent } from './assets/date-range-property/date-range-property.component';\r\nimport { SaveSearchesComponent } from './save-searches/save-searches.component';\r\nimport { DashboardAdminComponent } from './settings/dashboard-admin/dashboard-admin.component';\r\nimport { CookiesComponent } from './cookies/cookies.component';\r\nimport { RegisterinfoComponent } from './registerinfo/registerinfo.component';\r\nimport { AdminToolComponent } from './admin-tool/admin-tool.component';\r\nimport { ServiceOutageComponent } from './service-outage/service-outage.component';\r\nimport { SuperAdminGuard } from './_guards/super-admin.guard';\r\n\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { HomeAuthGuard } from './_guards/home.guard';\r\nimport { ErrorHandlerService } from './_shared/logging/error-handler.service';\r\nimport { LoggingService } from './_shared/logging/logging.service';\r\n\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json'); \r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n FooterComponent,\r\n HomeComponent,\r\n AssetDetailsComponent,\r\n AssetSearchComponent,\r\n LoginComponent,\r\n BundleSearchComponent,\r\n BundlesFilterPipe,\r\n UsersFilterPipe,\r\n LoaderComponent,\r\n AlertComponent,\r\n ForgotPasswordComponent,\r\n AssetSearchresultComponent,\r\n AssetSearchresultPagingComponent,\r\n OnlyNumberDirective,\r\n AssetDetailEditComponent,\r\n MaxValueDirective,\r\n MinValueDirective,\r\n OrderBy,\r\n AssetChangesControlComponent,\r\n AssetChangeSelectionPagingComponent,\r\n AssetMasschangeHistoryComponent,\r\n AssetMasschangeHistoryDetailsComponent,\r\n ImportsFilterPipe,\r\n ReportsComponent,\r\n AssetDateRangePickerComponent,\r\n AutocompleteComponent,\r\n DropdownComponent,\r\n AssetModifyComponent,\r\n ActivityComponent,\r\n AssetColumnSelectorComponent,\r\n ReportsColumnSelectorComponent,\r\n SettingsComponent,\r\n ProfileComponent,\r\n UserManagementComponent,\r\n PasswordComponent,\r\n UserSettingsComponent,\r\n NewUserComponent,\r\n NewPasswordComponent,\r\n CallbackComponent,\r\n LoginSSOComponent,\r\n DateRangePropertyComponent,\r\n SaveSearchesComponent,\r\n DashboardAdminComponent,\r\n CookiesComponent,\r\n RegisterinfoComponent,\r\n AssetChangeSelectionComponent,\r\n UsedPropertiesPipe,\r\n FilterPipe,\r\n AssetChangeComponent,\r\n AdminToolComponent,\r\n ServiceOutageComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n OAuthModule.forRoot({\r\n resourceServer: {\r\n // Do not change! Change your backend port instead or at least notify rest of the team :)\r\n allowedUrls: ['http://localhost:5000/api', 'https://alms-api-dev.azurewebsites.net/api', 'https://alms-api-prod.azurewebsites.net/api'],\r\n sendAccessToken: true\r\n }\r\n }),\r\n ChartsModule,\r\n MyDateRangePickerModule,\r\n Ng2PageScrollModule,\r\n Daterangepicker,\r\n // Ng2SimplePageScrollModule.forRoot(),\r\n ClickOutsideModule,\r\n BrowserAnimationsModule,\r\n NgxDaterangepickerMd.forRoot(),\r\n ToastrModule.forRoot({\r\n timeOut: 2500,\r\n positionClass: 'toast-top-full-width',\r\n preventDuplicates: true,\r\n }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n ModalModule.forRoot(),\r\n ],\r\n providers: [\r\n AuthGuard,\r\n SuperAdminGuard,\r\n HomeAuthGuard,\r\n AuthenticationService,\r\n AlertService,\r\n SettingsService,\r\n BundleService,\r\n PagerService,\r\n ForgotPasswordService,\r\n BundlesFilterPipe,\r\n UsersFilterPipe,\r\n AssetsService,\r\n AssetSearchService,\r\n AssetSearchresultPagingComponent,\r\n PropertiesService,\r\n DashboardService,\r\n CostcenterService,\r\n StatusService,\r\n AssetChangeService,\r\n ImportsService,\r\n ImportsFilterPipe,\r\n ReportsService,\r\n CustomersService,\r\n HelperService,\r\n EndOfLeaseActionService,\r\n EmailService,\r\n FunctionsService,\r\n UsersService,\r\n AssetChangeLogService,\r\n ReportsDataService,\r\n RolesService,\r\n PasswordService,\r\n AccessRightsService,\r\n UserSettingsService,\r\n UserService,\r\n NewUserService,\r\n WINDOW_PROVIDERS,\r\n AuthGuard,\r\n AuthService,\r\n CategoryCodeService,\r\n WootricService,\r\n AssetColumnSelectorService,\r\n Meta,\r\n LoggingService,\r\n {provide: APP_BASE_HREF, useValue: '/aam/'},\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n {provide: ErrorHandler, useClass: ErrorHandlerService},\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1jaGFuZ2UvYXNzZXQtY2hhbmdlLWNvbnRyb2wvYXNzZXQtY2hhbmdlcy1jb250cm9sLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{changeItem.type}} : {{changeItem.item.name}}\\r\\n
\\r\\n
\\r\\n
be aware that effected assets will be looked untill the change is done
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n Click to return to the searchpage\\r\\n

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

Something somthing dark side somehting somehting complete.

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

Edit fields you want to change

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\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, OnInit } from '@angular/core';\r\nimport { AssetSearchService } from '../../asset-search/asset-search.service';\r\nimport { AssetChangeService } from '../../asset-change/asset-change.service';\r\nimport { HelperService } from '../../../_shared/helper/helper.service';\r\n\r\nimport { CostcenterService } from '../../../_shared/costcenter/costcenter.service';\r\nimport { StatusService } from '../../../_shared/status/status.service';\r\n\r\nimport { AlertService } from '../../../_shared/alert/alert.service';\r\nimport { SettingsService } from '../../../_shared/settings/settings.service';\r\nimport { AssetsService } from '../../../_shared/asset/assets.service';\r\nimport { EndOfLeaseActionService } from '../../../_shared/endOfLeaseAction/end-of-lease-action.service';\r\nimport { EmailService } from '../../../_shared/email/email.service'\r\nimport { UsersService } from '../../../_shared/user/users.service'\r\nimport { Asset } from '../../../_shared/asset/Asset';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-asset-changes-control',\r\n templateUrl: './asset-changes-control.component.html',\r\n styleUrls: ['./asset-changes-control.component.css']\r\n})\r\nexport class AssetChangesControlComponent implements OnInit {\r\n\r\n\r\n // assetChangeMultiSettings: IMultiSelectSettings = {\r\n // enableSearch: true,\r\n // dynamicTitleMaxItems: 3,\r\n // displayAllSelectedText: true,\r\n // showCheckAll: false,\r\n // showUncheckAll: false,\r\n // selectionLimit: 1\r\n // };\r\n\r\n // assetChangeMyTexts: IMultiSelectTexts = {\r\n // checkAll: 'Select all',\r\n // uncheckAll: 'Unselect all',\r\n // checked: 'item selected',\r\n // checkedPlural: 'items selected',\r\n // searchPlaceholder: 'Find',\r\n // defaultTitle: 'Select Filter',\r\n // allSelected: 'All selected',\r\n // };\r\n\r\n public costCenters: any[] = [];\r\n public selectedCenters: number[] = [];\r\n\r\n public changeItem = { item: undefined, type: \"\" };\r\n public statuses: any[] = [];\r\n public selectedStatuses: number[] = [];\r\n public endOfLease: Object = null;\r\n public comment: string = \"\";\r\n // public endOfLeases: EndOfLeaseAction[] = [];\r\n // public selectedEndOfLeases: EndOfLeaseAction;\r\n // public selectedEndOfLeasesLabel: string= \"Choose\";\r\n\r\n public endOfLeases: any[] = [];\r\n public selectedEndOfLeases: number[] = [];\r\n\r\n public choices: any[] = [];\r\n public selectedChoices: number[] = [];\r\n\r\n choicesLabel: string = \"Choose\";\r\n choosenChoice: any;\r\n choosenChoiceLabel: string = \"Choose\"\r\n\r\n\r\n\r\n constructor(\r\n private assetSearchService: AssetSearchService,\r\n public assetChangeService: AssetChangeService,\r\n private assetsService: AssetsService,\r\n\r\n private costcenterService: CostcenterService,\r\n private statusService: StatusService,\r\n private costcenter: CostcenterService,\r\n private endOfLeaseAction: EndOfLeaseActionService,\r\n private alertService: AlertService,\r\n private emailService: EmailService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private userService: UsersService,\r\n private helperService: HelperService\r\n\r\n ) {\r\n activatedRoute.params.subscribe(val => {\r\n if (assetChangeService.selectedAssets.length == 0) {\r\n this.router.navigate([\"/home\"]);\r\n }\r\n });\r\n }\r\n shouldShow(toShow) {\r\n if (this.selectedChoices.length > 0) {\r\n if (this.selectedChoices[0] === toShow) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n chooseChangeClick(choice) {\r\n this.choicesLabel = choice.name;\r\n this.choosenChoice = choice;\r\n this.choosenChoiceLabel = choice.name;\r\n }\r\n\r\n chooseItem(item: any, type: string) {\r\n this.changeItem = { item: item, type: type };\r\n this.choosenChoiceLabel = item.name;\r\n this.assetChangeService.savedChanges = true;\r\n }\r\n\r\n show(toShow) {\r\n if (this.choosenChoice !== undefined) {\r\n if (this.choosenChoice.name === toShow) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n loadChoices() {\r\n this.choices.push({ id: \"Statuses\", name: \"Statuses\", isLabel: false });\r\n this.choices.push({ id: \"Costdivisions\", name: \"Costdivisions\", isLabel: false });\r\n this.choices.push({ id: \"EndOfLease\", name: \"EndOfLease\", isLabel: false });\r\n }\r\n loadStatuses() {\r\n let myOptions: any[] = [];\r\n this.statusService.getAll().subscribe(\r\n result => {\r\n result.forEach(element => {\r\n myOptions.push({ id: element.EnglishDescription, name: element.EnglishDescription, isLabel: false });;\r\n });\r\n this.statuses = myOptions;\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n loadCostCenter() {\r\n let bundle = SettingsService.getCurrentBundle();\r\n let myOptions: any[] = [];\r\n\r\n this.costcenterService.get(bundle.bundleId.toString()).subscribe(\r\n result => {\r\n result.forEach(element => {\r\n myOptions.push({ id: element.Name, name: element.Name, isLabel: false });;\r\n });\r\n this.costCenters = myOptions;\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n private loadEndOfLeaseActions() {\r\n let myOptions: any[] = [];\r\n this.endOfLeaseAction.getAll().subscribe(\r\n result => {\r\n result.forEach(element => {\r\n myOptions.push({ id: element.Id, name: element.ActionName, isLabel: false });;\r\n });\r\n this.endOfLeases = myOptions;\r\n },\r\n error => {\r\n\r\n }\r\n );;\r\n }\r\n\r\n cancel() {\r\n this.selectedCenters = [];\r\n this.selectedStatuses = [];\r\n this.endOfLease = null;\r\n this.selectedEndOfLeases = [];\r\n this.assetChangeService.showConfirmation = false;\r\n }\r\n\r\n getDateString() {\r\n if (this.endOfLease !== null) {\r\n let aDate = JSON.parse(JSON.stringify(this.endOfLease));\r\n return this.helperService.formatDateBy(aDate.date.year, aDate.date.month, aDate.date.day);\r\n }\r\n }\r\n\r\n\r\n onSetChoiceChange(event) {\r\n if (event.length > 0) {\r\n }\r\n }\r\n onChange(event) {\r\n }\r\n\r\n\r\n saveChanges() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n\r\n let propertiesToChange: string[] = [];\r\n var isSelected = false;\r\n if (this.changeItem.type === \"status\") {\r\n isSelected = true;\r\n propertiesToChange.push(\"Status\");\r\n this.assetChangeService.selectedAssets.forEach(element => {\r\n element.StatusText = this.changeItem.item.id;\r\n });\r\n }\r\n if (this.changeItem.type === \"costdivision\") {\r\n isSelected = true;\r\n propertiesToChange.push(\"CostCenterId\");\r\n this.assetChangeService.selectedAssets.forEach(element => {\r\n element.CostCenterText = this.changeItem.item.id;\r\n });\r\n }\r\n\r\n if (this.changeItem.type === \"endoflease\") {\r\n isSelected = true;\r\n propertiesToChange.push(\"EndOfLeaseAction\");\r\n this.assetChangeService.selectedAssets.forEach(element => {\r\n element.EndOfLeaseAction = this.changeItem.item.id;\r\n });\r\n }\r\n if (isSelected) {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.assetsService.saveMany(\r\n currentChoosenBundle.bundleId, user.UserId, this.selectedEndOfLeases[0], this.comment, this.assetChangeService.selectedAssets, propertiesToChange).subscribe(\r\n assetsSearchResult => {\r\n this.clearMassChangesProperties();\r\n this.userService.getUser(user.UserId).subscribe(result => {\r\n var queryParams = { header: \"Mass change registred\", message: result.Fullname + \", your EOL change request have been registered and Atea Finance will contact you shortly with details on how to proceed. If you have any direct questions please contact aam@atea.se\" };\r\n this.assetSearchService.search();\r\n this.router.navigate(['assetsearch'], {\r\n queryParams\r\n });\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n private sendEndOfLeaseConfirmationEmail(bundleId, userId, endOfLeaseAction, assets: Asset[]) {\r\n this.emailService.sendMasschangesendOfLeaseEmail(bundleId, userId, endOfLeaseAction, assets).subscribe(\r\n result => {\r\n },\r\n error => { });\r\n }\r\n\r\n showMassChangeMessage = false;\r\n private clearMassChangesProperties() {\r\n this.assetChangeService.showConfirmation = false;\r\n this.showMassChangeMessage = true;\r\n this.assetChangeService.savedChanges = true;\r\n this.assetChangeService.selectedAssets = [];\r\n this.assetSearchService.assets.forEach(element => {\r\n element.Selected = false;\r\n })\r\n this.selectedCenters = [];\r\n this.selectedStatuses = [];\r\n this.endOfLease = null;\r\n\r\n\r\n }\r\n userEmail: string = \"\";\r\n loadUserEmail() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.userService.getUser(user.UserId).subscribe(result => {\r\n this.userEmail = result.Email;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n ngOnInit() {\r\n this.loadChoices();\r\n this.loadCostCenter();\r\n this.loadStatuses();\r\n this.loadEndOfLeaseActions();\r\n this.loadUserEmail();\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1jaGFuZ2UvYXNzZXQtY2hhbmdlLXNlbGVjdGlvbi1wYWdpbmcvYXNzZXQtY2hhbmdlLXNlbGVjdGlvbi1wYWdpbmcuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { AssetsService } from '../../../_shared/asset/assets.service';\r\nimport { AssetChangeService } from '../asset-change.service';\r\n\r\n@Component({\r\n selector: 'app-asset-change-selection-paging',\r\n templateUrl: './asset-change-selection-paging.component.html',\r\n styleUrls: ['./asset-change-selection-paging.component.css']\r\n})\r\nexport class AssetChangeSelectionPagingComponent implements OnInit {\r\n pageNumber: number = 1;\r\n\r\n constructor(\r\n public _assetsService: AssetsService,\r\n public assetChangeService: AssetChangeService,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n goToPage() {\r\n this.assetChangeService.page = this.pageNumber;\r\n if (this.assetChangeService.page <= this.assetChangeService.selectedAssets.length && this.assetChangeService.page > 0) {\r\n this.assetChangeService.getPageOfSelectedAssets()\r\n }\r\n }\r\n goToSpecificPage(page) {\r\n this.assetChangeService.page = page;\r\n if (this.assetChangeService.page <= this.assetChangeService.selectedAssets.length && this.assetChangeService.page > 0) {\r\n this.assetChangeService.getPageOfSelectedAssets()\r\n }\r\n }\r\n shouldShowPage() {\r\n return (this.assetChangeService.selectedAssets != null && this.assetChangeService.selectedAssets != undefined && this.assetChangeService.selectedAssets.length > 0);\r\n }\r\n\r\n subractPage() {\r\n if (this.assetChangeService.page > 1) {\r\n this.assetChangeService.page = this.assetChangeService.page - 1;\r\n this.assetChangeService.getPageOfSelectedAssets()\r\n }\r\n }\r\n addPage() {\r\n if (this.assetChangeService.page + 1 <= this.assetChangeService.selectedAssets.length) {\r\n this.assetChangeService.page = this.assetChangeService.page + 1;\r\n this.assetChangeService.getPageOfSelectedAssets()\r\n }\r\n }\r\n\r\n isActive(page) {\r\n return (page + 1) == this.assetChangeService.page ? 'active' : '';\r\n }\r\n\r\n clickOnPageLink(newPage: number) {\r\n this.assetChangeService.page = newPage + 1;\r\n if (this.assetChangeService.page <= this.assetChangeService.selectedAssets.length && this.assetChangeService.page > 0) {\r\n this.assetChangeService.getPageOfSelectedAssets()\r\n }\r\n }\r\n\r\n calcPagesCount() {\r\n this.assetChangeService.totalPages = Math.ceil(this.assetChangeService.selectedAssets.length/this.assetChangeService.pageSize);\r\n\r\n var totalPagesArray = Array(this.assetChangeService.totalPages).fill(0).map((x, i) => i);\r\n if (this.assetChangeService.page > 2) {\r\n return totalPagesArray.slice((this.assetChangeService.page - 1) - this.assetChangeService.pageSteps, this.assetChangeService.page + this.assetChangeService.pageSteps);\r\n }\r\n return totalPagesArray.slice(0, this.assetChangeService.pagesToShow - 1);\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1jaGFuZ2UvYXNzZXQtY2hhbmdlLXNlbGVjdGlvbi9hc3NldC1jaGFuZ2Utc2VsZWN0aW9uLmNvbXBvbmVudC5jc3MifQ== */\"","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
{{ 'Column_EquipmentID' | translate }}{{ 'Column_PartDescription' | translate }}{{ 'Column_CostCenterText' | translate }}{{ 'Column_Status' | translate }}{{ 'Column_InvoiceDate' | translate }}{{ 'Column_AgreementNumber' | translate}}
{{asset.EquipmentID}}{{asset.PartDescription}}{{asset.CostCenterText}}{{asset.StatusText}}{{asset.InvoiceDate}}{{asset.AgreementNo}}
\\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 { AssetSearchService } from '../../asset-search/asset-search.service';\r\nimport { AssetChangeService } from '../../asset-change/asset-change.service';\r\nimport { Asset } from '../../../_shared/asset/asset';\r\nimport { Router } from '@angular/router';\r\n@Component({\r\n selector: 'app-asset-change-selection',\r\n templateUrl: './asset-change-selection.component.html',\r\n styleUrls: ['./asset-change-selection.component.css']\r\n})\r\nexport class AssetChangeSelectionComponent {\r\n\r\n constructor(\r\n private assetSearchService: AssetSearchService,\r\n public assetChangeService: AssetChangeService,\r\n private router: Router\r\n ) {\r\n }\r\n\r\n removeAsset(asset: Asset) {\r\n this.assetChangeService.selectedAssets = this.assetChangeService.selectedAssets.filter(obj => obj !== asset);\r\n \r\n if (this.assetChangeService.selectedAssets.length === 0) {\r\n this.router.navigate([\"/assetsearch\"]);\r\n }\r\n let anAsset = this.assetSearchService.assets.filter(obj => obj.AssetNumber == asset.AssetNumber);\r\n anAsset[0].Selected = false;\r\n }\r\n\r\n trackByFn(index, item) { \r\n return item.id; \r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Asset } from '../../_shared/asset/Asset';\r\nimport { MassChangeValidationResult } from '../../_shared/asset/MassChangeValidationResult';\r\nimport { Info } from '../../_shared/asset/Info';\r\nimport { CostcenterService } from '../../_shared/costcenter/costcenter.service';\r\nimport { EndOfLeaseActionService } from '../../_shared/endOfLeaseAction/end-of-lease-action.service';\r\nimport { StatusService } from '../../_shared/status/status.service';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { AlertService } from '../../_shared/alert/alert.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UsersService } from 'src/app/_shared/user/users.service';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\n@Injectable()\r\nexport class AssetChangeService {\r\n public total: number = 0;\r\n public pageSteps: number = 2;\r\n public page: number = 1;\r\n public pageSize: number = 5;\r\n public totalPages: number = 0;\r\n public selectedAssets: Asset[] = [];\r\n public pagesToShow: number = 5;\r\n public savedChanges: boolean = false;\r\n public showConfirmation: boolean = false;\r\n public modifyAsset: number = 0;\r\n public currentLoadedModifyAsset: number = 0;\r\n public showModifyAsset: boolean = false;\r\n public showPermissionsWarning: boolean = false;\r\n public showPermissionsLoading: boolean = false;\r\n public writableAssetCount: number = 0;\r\n public modifyAssetHeader: string = \"\";\r\n public modifyAssetMessage: string = \"\";\r\n\r\n public MODIFY_STATUS: number = 1;\r\n public MODIFY_LEASE: number = 2;\r\n public MODIFY_COSTDIVISION: number = 3;\r\n public filteredList: Info[] = [];\r\n public filteredListFull: Info[] = [];\r\n public infos: Info[] = [];\r\n public focusInputStatus: boolean = false;\r\n public query: string = \"\";\r\n constructor(\r\n private alertService: AlertService,\r\n private statusService: StatusService,\r\n private costcenterService: CostcenterService,\r\n private endOfLeaseActionService: EndOfLeaseActionService,\r\n private usersService: UsersService,\r\n private translateService: TranslateService,\r\n private authenticationService: AuthenticationService,\r\n private _http: HttpClient, \r\n private _settingsService: SettingsService\r\n ) { }\r\n\r\n modifyAssets(type: string) {\r\n this.focusList()\r\n this.showModifyAsset = true;\r\n }\r\n\r\n focusList() {\r\n this.infos = [];\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n\r\n if (this.modifyAsset === this.MODIFY_STATUS && this.currentLoadedModifyAsset !== this.MODIFY_STATUS) {\r\n this.translateService.get(\"Column_Status\").subscribe(\r\n trans => {\r\n this.modifyAssetHeader = trans;\r\n });\r\n\r\n this.translateService.get(\"STATUS_MESSAGE\").subscribe(\r\n trans => {\r\n this.modifyAssetMessage = trans;\r\n });\r\n\r\n this.loadStatuses();\r\n } else if (this.modifyAsset === this.MODIFY_LEASE && this.currentLoadedModifyAsset !== this.MODIFY_LEASE) {\r\n this.translateService.get(\"Column_EndOfLeaseAction\").subscribe(\r\n trans => {\r\n this.modifyAssetHeader = trans;\r\n });\r\n\r\n this.usersService.getUser(currentUser.UserId).subscribe(result => {\r\n this.translateService.get(\"EOL_MESSAGE\").subscribe(\r\n trans => {\r\n this.modifyAssetMessage = result.Fullname + \", \" + trans;\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n this.loadEndOfLeaseActions();\r\n } else if (this.modifyAsset === this.MODIFY_COSTDIVISION && this.currentLoadedModifyAsset !== this.MODIFY_COSTDIVISION) {\r\n this.translateService.get(\"Column_Costdivision\").subscribe(\r\n trans => {\r\n this.modifyAssetHeader = trans;\r\n });\r\n \r\n this.translateService.get(\"COSTCENTER_MESSAGE\").subscribe(\r\n trans => {\r\n this.modifyAssetMessage = trans;\r\n });\r\n\r\n this.loadCostCenter();\r\n }\r\n this.focusInputStatus = true;\r\n }\r\n\r\n loadCostCenter() {\r\n let bundle = SettingsService.getCurrentBundle();\r\n this.infos = [];\r\n this.costcenterService.get(bundle.bundleId.toString()).subscribe(\r\n result => {\r\n result.forEach(element => {\r\n this.infos.push({ Id: element.Id.toString(), Name: element.Name, Checked: false });\r\n });\r\n this.filteredList = this.infos;\r\n this.currentLoadedModifyAsset = this.MODIFY_COSTDIVISION;\r\n this.query = \"\";\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n loadEndOfLeaseActions() {\r\n this.infos = [];\r\n this.endOfLeaseActionService.getAll().subscribe(\r\n result => {\r\n result.forEach(element => {\r\n this.infos.push({ Id: element.Id.toString(), Name: element.ActionName, Checked: false });\r\n });\r\n this.filteredList = this.infos;\r\n this.currentLoadedModifyAsset = this.MODIFY_LEASE;\r\n this.query = \"\";\r\n },\r\n error => {\r\n\r\n }\r\n );;\r\n }\r\n loadStatuses() {\r\n this.infos = [];\r\n this.statusService.getAll().subscribe(\r\n result => {\r\n let localInfos:Info[]= [];\r\n result.forEach(element => {\r\n this.translateService.get(element.StatusCode)\r\n .subscribe(trans => {\r\n localInfos.push({ Id: element.Id.toString(), Name: trans, Checked: false });\r\n });\r\n });\r\n this.filteredList = localInfos;\r\n this.infos = localInfos;\r\n this.currentLoadedModifyAsset = this.MODIFY_STATUS;\r\n this.query = \"\";\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n getPageOfSelectedAssets() {\r\n var skip = (this.page - 1) * (this.pageSize);\r\n return this.selectedAssets.slice(skip, skip + this.pageSize);\r\n }\r\n\r\n public verifyMassChange(bundleId, userId, assets: Asset[]) : Observable {\r\n let massChangeModel = {\r\n Assets: assets,\r\n PropertiesToChange: null,\r\n BundleId: bundleId,\r\n EndOfLeaseActionId: null,\r\n UserId: userId,\r\n Comments: null\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/accesslevels/verifymasschange \", massChangeModel);\r\n}\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1jaGFuZ2UvYXNzZXQtY2hhbmdlL2Fzc2V0LWNoYW5nZS1zZWxlY3Rpb24uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\"","import { Component } from '@angular/core';\r\nimport { AssetSearchService } from '../../asset-search/asset-search.service';\r\nimport { AssetChangeService } from '../asset-change.service';\r\n\r\n@Component({\r\n selector: 'app-asset-change',\r\n templateUrl: './asset-change-selection.component.html',\r\n styleUrls: ['./asset-change-selection.component.css']\r\n})\r\nexport class AssetChangeComponent {\r\n\r\n constructor(\r\n public assetSearchService: AssetSearchService,\r\n private assetChangeService: AssetChangeService,\r\n ) {\r\n }\r\n\r\n removeAsset(asset) {\r\n this.assetChangeService.selectedAssets = this.assetChangeService.selectedAssets.filter(obj => obj !== asset);\r\n let anAsset = this.assetSearchService.assets.filter(obj => obj.AssetNumber == asset.asset);\r\n anAsset[0].Selected = false;\r\n }\r\n \r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1jb2x1bW4tc2VsZWN0b3IvYXNzZXQtY29sdW1uLXNlbGVjdG9yLmNvbXBvbmVudC5jc3MifQ== */\"","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
\"","import { Component, OnInit } from '@angular/core';\r\nimport { AssetSearchService } from '../asset-search/asset-search.service';\r\nimport { HelperService } from '../../_shared/helper/helper.service';\r\nimport { AssetColumnSelectorService } from './asset-column-selector.service';\r\n\r\ntype AssetViewColumnsRequestDTO = {\r\n ColumnNames: string,\r\n}\r\n@Component({\r\n selector: 'asset-column-selector',\r\n templateUrl: './asset-column-selector.component.html',\r\n styleUrls: ['./asset-column-selector.component.css']\r\n})\r\nexport class AssetColumnSelectorComponent implements OnInit {\r\n showDropDown = false;\r\n isIE = false;\r\n public allChecked = true;\r\n\r\n constructor(\r\n private assetSearchService: AssetSearchService,\r\n private helperService: HelperService,\r\n private assetColumnSelectorService: AssetColumnSelectorService\r\n ) {\r\n\r\n }\r\n\r\n clickColumnsList() {\r\n this.assetSearchService.loadColumnsDisplayName();\r\n this.showDropDown = true;\r\n }\r\n ngOnInit() {\r\n this.isIE = this.helperService.isBrowserIE();\r\n this.loadSelectedColumns();\r\n }\r\n\r\n isSelectAll = false;\r\n selectAll() {\r\n this.isSelectAll = !this.isSelectAll;\r\n for (var i = 0, len = this.assetSearchService.columns.length; i < len; i++) {\r\n this.assetSearchService.columns[i].Checked = this.isSelectAll;\r\n }\r\n this.setValueToAllColumns(this.isSelectAll);\r\n }\r\n\r\n saveSelectedColumns() {\r\n var selectedColumns = this.assetSearchService.columns.filter(function(element) { return element.Checked === true });\r\n var selectedColumnsJSON = JSON.stringify(selectedColumns.map(element => element.ColumnName));\r\n this.assetColumnSelectorService.saveUserAssetViewColumns(selectedColumnsJSON).subscribe();\r\n }\r\n\r\n setValueToAllColumns(value:Boolean) {\r\n for (var i = 0, len = this.assetSearchService.columns.length; i < len; i++) {\r\n this.assetSearchService.columns[i].Checked = value;\r\n }\r\n }\r\n \r\n resetToDefault(){\r\n for (var i = 0, len = this.assetSearchService.columns.length; i < len; i++) {\r\n if (this.assetSearchService.defaultSelection.includes(this.assetSearchService.columns[i].ColumnName)) {\r\n this.assetSearchService.columns[i].Checked = true;\r\n }\r\n else {\r\n this.assetSearchService.columns[i].Checked = false;\r\n }\r\n }\r\n this.saveSelectedColumns();\r\n }\r\n\r\n checkedColumnsLength(): number {\r\n return this.assetSearchService.columns.filter(x => x.Checked).length;\r\n }\r\n\r\n onClickedOutside(event: Event) {\r\n this.showDropDown = false;\r\n }\r\n\r\n loadSelectedColumns() {\r\n this.assetColumnSelectorService.getUserAssetViewColumns()\r\n .subscribe((assetViewColumnsJSON:AssetViewColumnsRequestDTO) => {\r\n if (assetViewColumnsJSON != undefined && assetViewColumnsJSON != null) {\r\n let assetViewColumns = JSON.parse(assetViewColumnsJSON.ColumnNames) as string[];\r\n this.setValueToAllColumns(false);\r\n \r\n for (var i = 0, len = this.assetSearchService.columns.length; i < len; i++) {\r\n if (assetViewColumns.includes(this.assetSearchService.columns[i].ColumnName)) {\r\n this.assetSearchService.columns[i].Checked = true;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n aModel = true;\r\n check(item) {\r\n item.Checked = !item.Checked;\r\n this.isSelectAll = this.isAllColumnChecked();\r\n this.saveSelectedColumns();\r\n }\r\n\r\n isNoneOrAllColumnChecked() {\r\n return this.assetSearchService.columns.filter(x => x.Checked === true).length === 0 || this.assetSearchService.columns.filter(x => x.Checked === true).length === this.assetSearchService.columns.length;\r\n }\r\n\r\n isAllColumnChecked() {\r\n return this.assetSearchService.columns.filter(x => x.Checked === false).length === 0;\r\n }\r\n\r\n selectionLimit(){\r\n return this.assetSearchService.columns.filter(x => this.assetSearchService.defaultSelection.includes(x.ColumnName)).length;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SettingsService } from 'src/app/_shared/settings/settings.service';\r\n\r\n@Injectable()\r\nexport class AssetColumnSelectorService {\r\n\r\n public columnsLoaded = false;\r\n constructor(\r\n private _http: HttpClient,\r\n private _settingsService: SettingsService,\r\n ) { }\r\n\r\n\r\n getUserAssetViewColumns() {\r\n return this._http.get(this._settingsService.webApiServerPath() + \"/assetviewcolumns/\");\r\n }\r\n\r\n saveUserAssetViewColumns(assetViewColumns) {\r\n let AssetViewColumnsRequestDTO = {\r\n AssetViewColumnNames: assetViewColumns\r\n };\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/assetviewcolumns/\", AssetViewColumnsRequestDTO);\r\n }\r\n}\r\n","module.exports = \".bold {\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.block {\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\ndiv.inline-edit {\\r\\n text-decoration: none;\\r\\n border-bottom: #A8B9CE dashed 1px;\\r\\n cursor: pointer;\\r\\n text-align: left;\\r\\n padding: .5em 0;\\r\\n color: #444 !important;\\r\\n width: auto;\\r\\n}\\r\\n\\r\\ninput {\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 2px;\\r\\n padding: 4px 10px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXNzZXRzL2Fzc2V0LWRldGFpbHMvYXNzZXQtZGV0YWlsLWVkaXQvYXNzZXQtZGV0YWlsLWVkaXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixpQ0FBaUM7RUFDakMsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2Ysc0JBQXNCO0VBQ3RCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHNCQUFzQjtFQUN0QixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBQ25CIiwiZmlsZSI6InNyYy9hcHAvYXNzZXRzL2Fzc2V0LWRldGFpbHMvYXNzZXQtZGV0YWlsLWVkaXQvYXNzZXQtZGV0YWlsLWVkaXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ib2xkIHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4uYmxvY2sge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuZGl2LmlubGluZS1lZGl0IHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYm9yZGVyLWJvdHRvbTogI0E4QjlDRSBkYXNoZWQgMXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHBhZGRpbmc6IC41ZW0gMDtcclxuICBjb2xvcjogIzQ0NCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgcGFkZGluZzogNHB4IDEwcHg7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
{{label}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{label}}
\\r\\n
\\r\\n {{value2 | translate}}\\r\\n {{value2}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{label}}
\\r\\n
\\r\\n {{value2 | translate}}\\r\\n {{value2}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","import {\r\n Component,\r\n Input,\r\n ElementRef,\r\n ViewChild,\r\n Renderer,\r\n forwardRef,\r\n OnInit\r\n} from '@angular/core';\r\nimport { AlertService } from '../../../_shared/alert/alert.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Asset } from '../../../_shared/asset/Asset';\r\nimport { AssetSearchService } from '../../asset-search/asset-search.service';\r\nimport { AssetsService } from '../../../_shared/asset/assets.service';\r\nimport { SettingsService } from '../../../_shared/settings/settings.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NG2PAGESCROLL_SERVICE_PROVIDER_FACTORY } from 'ng2-page-scroll';\r\nimport { HelperService } from '../../../_shared/helper/helper.service';\r\n\r\nconst ASSET_DETAIL_EDIT_CONTROL_VALUE_ACCESSOR = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AssetDetailEditComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'asset-detail-edit',\r\n templateUrl: './asset-detail-edit.component.html',\r\n providers: [ASSET_DETAIL_EDIT_CONTROL_VALUE_ACCESSOR],\r\n styleUrls: ['./asset-detail-edit.component.css']\r\n})\r\n\r\nexport class AssetDetailEditComponent implements ControlValueAccessor, OnInit {\r\n\r\n @ViewChild('assetDetailEditComponent') AssetDetailEditComponent: ElementRef; // input DOM element\r\n @Input() label: string = ''; // Label value for input element\r\n @Input() property: string = '';\r\n @Input() id: string = '';\r\n @Input() asset: Asset; // The type of input element\r\n @Input() color: boolean;\r\n @Input() isDate: boolean = false;\r\n\r\n @Input() bottomBorder: boolean = false;\r\n @Input() type: string = 'text'; // The type of input element\r\n @Input() required: boolean = false; // Is input requried?\r\n @Input() disabled: boolean = false; // Is input disabled?\r\n @Input() forceValueTranslation: boolean = false; // Is output translated?\r\n public canEdit = false;\r\n private _value: string = ''; // Private variable for input value\r\n private preValue: string = ''; // The value before clicking to edit\r\n private editing: boolean = false; // Is Component in edit mode?\r\n public onChange: any = Function.prototype; // Trascend the onChange event\r\n public onTouched: any = Function.prototype; // Trascend the onTouch event\r\n // Control Value Accessors for ngModel\r\n get value(): any {\r\n return this._value;\r\n }\r\n get value2(): any {\r\n\r\n if (this._value === null || this._value === undefined || this._value === \"\") {\r\n return this._value;\r\n }\r\n else if (this.isDate && this._value.length <= 50) {\r\n if (Date.parse(this._value)) {\r\n var dateValue = new Date(this._value);\r\n return this.helperService.formatDateBy(dateValue.getFullYear(), dateValue.getMonth() + 1, dateValue.getDate());\r\n }\r\n return this._value;\r\n }\r\n else {\r\n return this._value;\r\n }\r\n }\r\n\r\n set value(v: any) {\r\n if (v !== this._value) {\r\n this._value = v;\r\n\r\n this.onChange(v);\r\n }\r\n }\r\n\r\n // Required for ControlValueAccessor interface\r\n writeValue(value: any) {\r\n this._value = value;\r\n }\r\n\r\n // Required forControlValueAccessor interface\r\n public registerOnChange(fn: (_: any) => {}): void {\r\n this.onChange = fn;\r\n }\r\n\r\n // Required forControlValueAccessor interface\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n // Do stuff when the input element loses focus\r\n onBlur($event: Event) {\r\n this.editing = false;\r\n }\r\n\r\n // Start the editting process for the input element\r\n revert() {\r\n this._value = this.preValue\r\n this.editing = false;\r\n }\r\n\r\n constructor(\r\n element: ElementRef,\r\n private _renderer: Renderer,\r\n private alertService: AlertService,\r\n public assetSearchService: AssetSearchService,\r\n private assetsService: AssetsService,\r\n private activatedRoute: ActivatedRoute,\r\n private helperService: HelperService,\r\n ) {\r\n }\r\n\r\n\r\n\r\n edit(value) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n this.preValue = value;\r\n this.editing = true;\r\n // Focus on the input element just as the editing begins\r\n setTimeout(_ => this._renderer.invokeElementMethod(this.AssetDetailEditComponent,\r\n 'focus', []));\r\n }\r\n\r\n save(value) {\r\n let errorMessage = \"\";\r\n this.assetSearchService.choosenAsset[this.property] = value;\r\n var bundle = SettingsService.getCurrentBundle();\r\n this.assetsService.get(this.assetSearchService.choosenAsset.AssetNumber, bundle.bundleId).subscribe(\r\n asset => {\r\n asset[this.property] = value;\r\n this.assetsService.patch(asset.AssetNumber, bundle.bundleId, asset).subscribe(\r\n asset => {\r\n this.alertService.success(this.label + \" was saved\");\r\n this.editing = false;\r\n }, error => {\r\n this.alertService.error(error);\r\n });\r\n }, error => {\r\n this.alertService.error(error);\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n let user = JSON.parse(localStorage.currentUser);\r\n let assetNumber: number;\r\n if (this.assetSearchService.choosenAsset !== null) {\r\n assetNumber = this.assetSearchService.choosenAsset.AssetNumber;\r\n };\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n assetNumber = Number(params.assetNumber);\r\n });\r\n\r\n this.assetsService.getAssetEditinfo(\r\n assetNumber,\r\n user.UserId,\r\n currentChoosenBundle.bundleId,\r\n this.property).subscribe(\r\n result => {\r\n this.canEdit = result.Edit;\r\n }, error => {\r\n this.canEdit = false;\r\n });\r\n }\r\n}\r\n","module.exports = \"@media only screen and (min-width: 769px) {\\r\\n .height-with-outage-message {\\r\\n top: 166px !important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXNzZXRzL2Fzc2V0LWRldGFpbHMvYXNzZXQtZGV0YWlscy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0k7UUFDSSxxQkFBcUI7SUFDekI7QUFDSiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1kZXRhaWxzL2Fzc2V0LWRldGFpbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcclxuICAgIC5oZWlnaHQtd2l0aC1vdXRhZ2UtbWVzc2FnZSB7XHJcbiAgICAgICAgdG9wOiAxNjZweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Il19 */\"","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
{{'PRODUCT_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'STATUS' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{'STATUS' | translate }}
\\r\\n
\\r\\n {{getStatusText(assetSearchService.choosenAsset.Status) | translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'ORDER_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{'FINANCE_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
{{'ADDRESS_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'USER_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'COSTCENTER' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{'COSTCENTER' | translate }}
\\r\\n
\\r\\n {{assetSearchService.choosenAsset.CostCenterText}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'CONFIGURATION_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'MIXED_INFORMATION' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'INSURANCE_INFORMATION' | translate }}
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'Label_InsuranceName' | translate }}{{ 'Label_Deductable' | translate }}{{ 'Label_InsuranceEndDate' | translate }}
\\r\\n {{value.InsuranceName}}\\r\\n \\r\\n {{value.Deductable}} {{assetSearchService.choosenAsset.Currency}}\\r\\n \\r\\n {{value.InsuranceEndDate | date: 'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'ACTIVITY_HISTORY' | translate }}\\r\\n
\\r\\n
0)\\\">\\r\\n {{'GEN_NO_DATA_AVAILABLE' | translate }}
\\r\\n\\r\\n
\\r\\n
{{value.Timestamp | date: 'yyyy-MM-dd'}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'Column_AssetNo' | translate }}: {{value.AssetNumber}} {{value.Column}}\\r\\n {{'CHANGE_BY' | translate }} \\r\\n {{value.ContactName}}\\r\\n
\\r\\n
{{'OLD_VALUE' | translate }} {{value.OldValue | translate}}\\r\\n {{'CHANGED_TO' | translate }} {{'NEW_VALUE' | translate }} {{value.NewValue | translate}}\\r\\n
\\r\\n
\\r\\n
1 asset
\\r\\n
{{'DONE' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'MyAteaPopup_Title' | translate }}

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

{{ 'MyAteaPopup_Heading' | translate }}

\\r\\n

{{ 'MyAteaPopup_Question' | translate }}

\\r\\n \\r\\n \\r\\n {{ 'MyAteaPopup_Error' | translate }}\\r\\n \\r\\n

{{ 'MyAteaPopup_Info' | translate}}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, Inject, ViewChild, ViewChildren, AfterViewInit, ElementRef, HostListener, TemplateRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AssetsService } from '../../_shared/asset/assets.service';\r\nimport { AssetSearchService } from '../asset-search/asset-search.service';\r\nimport { ImportsService } from '../../_shared/imports/imports.service'\r\nimport { CostcenterService } from '../../_shared/costcenter/costcenter.service'\r\nimport { StatusService } from '../../_shared/status/status.service'\r\nimport { CategoryCodeService } from '../../_shared/category-code/category-code.service'\r\nimport { AssetChangeLog } from '../../_shared/assetChangeLog/assetChangeLog';\r\nimport { Info } from '../../_shared/asset/Info';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { AlertService } from '../../_shared/alert/alert.service';\r\nimport { DOCUMENT, Meta } from '@angular/platform-browser';\r\nimport { PageScrollService, PageScrollInstance } from 'ng2-page-scroll';\r\nimport { WINDOW } from \"./window.service\";\r\nimport { AccessRightsService } from '../../_shared/access-rights/access-rights.service';\r\nimport { Asset } from 'src/app/_shared/asset/Asset';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AssetChangeInfo } from '../../_shared/assetChangeLog/assetChangeInfo';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AssetChangeLogService } from '../../_shared/assetChangeLog/asset-change-log.service';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal'; \r\nimport { AuthenticationService } from 'src/app/_shared/authentication/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-asset-details',\r\n templateUrl: './asset-details.component.html',\r\n styleUrls: ['./asset-details.component.css'],\r\n})\r\nexport class AssetDetailsComponent implements OnInit, AfterViewInit {\r\n // public asset: Asset;\r\n public currentAssetNumber;\r\n public currentBundleId;\r\n public assetChangeLogs: AssetChangeLog[] = [];\r\n public radioModel: Boolean = false;\r\n public increaseHeight : Boolean;\r\n\r\n assetChangeInfo: AssetChangeInfo = { AssetChangeModels: [], Total: 0, TotalPages: 0 };\r\n modalRef: BsModalRef; \r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private assetsService: AssetsService,\r\n public assetSearchService: AssetSearchService,\r\n private alertService: AlertService,\r\n private pageScrollService: PageScrollService,\r\n private importsservice: ImportsService,\r\n private costcenterService: CostcenterService,\r\n private statusService: StatusService,\r\n private categoryCodeService: CategoryCodeService,\r\n private translateService: TranslateService,\r\n private accessRightsService: AccessRightsService,\r\n private toastr: ToastrService,\r\n private assetChangeLogService: AssetChangeLogService,\r\n private modalService: BsModalService,\r\n @Inject(DOCUMENT) private document: Document,\r\n @Inject(WINDOW) private window: Window,\r\n private _authenticationService: AuthenticationService,\r\n private metaService : Meta\r\n ) {\r\n }\r\n\r\n @ViewChild('product') productElementRef: ElementRef;\r\n @ViewChild('order') orderElementRef: ElementRef;\r\n @ViewChild('insurance') insuranceElementRef: ElementRef;\r\n @ViewChild('finance') financeElementRef: ElementRef;\r\n @ViewChild('addressInfo') addressInfoElementRef: ElementRef;\r\n @ViewChild('userInformation') userInformationElementRef: ElementRef;\r\n @ViewChild('configuration') configurationElementRef: ElementRef;\r\n @ViewChild('mixedinformation') mixedinformationElementRef: ElementRef;\r\n @ViewChild('activityhistory') activityhistoryElementRef: ElementRef;\r\n\r\n\r\n public currentActive = 0;\r\n public productOffset: Number = null;\r\n public orderOffset: Number = null;\r\n public insuranceOffset: Number = null;\r\n public financeOffset: Number = null;\r\n public addressInfoOffset: Number = null;\r\n public userInformationOffset: Number = null;\r\n public configurationOffset: Number = null;\r\n public mixedinformationOffset: Number = null;\r\n public activityhistorynOffset: Number = null;\r\n public isSchoolEquipment: Boolean = null;\r\n public myAteaError: Boolean = false;\r\n public myAteaAccess: Boolean = localStorage.getItem(SettingsService.MYATEA_ACCESS) == null ? false : true;\r\n public countryCode: string = localStorage.getItem(SettingsService.CURRENT_COUNTRY) == null ? 'SE' : localStorage.getItem(SettingsService.CURRENT_COUNTRY);\r\n\r\n @HostListener('window:popstate', ['$event'])\r\n onPopState(event) {\r\n this.modalRef.hide();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.productOffset = this.productElementRef.nativeElement.offsetTop;\r\n this.orderOffset = this.orderElementRef.nativeElement.offsetTop;\r\n this.insuranceOffset = this.insuranceElementRef.nativeElement.offsetTop;\r\n this.financeOffset = this.financeElementRef.nativeElement.offsetTop;\r\n this.addressInfoOffset = this.addressInfoElementRef.nativeElement.offsetTop;\r\n this.userInformationOffset = this.userInformationElementRef.nativeElement.offsetTop;\r\n this.configurationOffset = this.configurationElementRef.nativeElement.offsetTop;\r\n this.mixedinformationOffset = this.mixedinformationElementRef.nativeElement.offsetTop;\r\n this.activityhistorynOffset = this.activityhistoryElementRef.nativeElement.offsetTop;\r\n const offsetWidth = this.document.body.offsetWidth;\r\n this.checkWidthHide(offsetWidth); \r\n\r\n }\r\n\r\n public widthHide: boolean = false;\r\n\r\n @HostListener(\"window:scroll\", ['$event'])\r\n @HostListener('window:resize', ['$event'])\r\n onWindowScroll(event) {\r\n var distance = 200;\r\n this.productOffset = this.productElementRef.nativeElement.offsetTop;\r\n this.orderOffset = this.orderElementRef.nativeElement.offsetTop - distance;\r\n this.insuranceOffset = this.insuranceElementRef.nativeElement.offsetTop - distance;\r\n this.financeOffset = this.financeElementRef.nativeElement.offsetTop - distance;\r\n this.addressInfoOffset = this.addressInfoElementRef.nativeElement.offsetTop - distance;\r\n this.userInformationOffset = this.userInformationElementRef.nativeElement.offsetTop - distance;\r\n this.configurationOffset = this.configurationElementRef.nativeElement.offsetTop - distance;\r\n this.mixedinformationOffset = this.mixedinformationElementRef.nativeElement.offsetTop - distance;\r\n this.activityhistorynOffset = this.activityhistoryElementRef.nativeElement.offsetTop - distance;\r\n\r\n const offset = this.window.pageYOffset || this.document.documentElement.scrollTop || this.document.body.scrollTop || 0;\r\n\r\n\r\n const offsetWidth = this.document.body.offsetWidth;\r\n\r\n this.showSticky = false;\r\n if (570\r\n > offset) {\r\n this.linkToShow = \"product\";\r\n }\r\n if (241 < offset || offsetWidth < 76) {\r\n this.showSticky = true;\r\n }\r\n if (this.orderOffset\r\n <= offset && this.productOffset\r\n > offset) {\r\n this.linkToShow = \"product\";\r\n }\r\n if (this.productOffset\r\n <= offset && this.insuranceOffset\r\n > offset) {\r\n this.linkToShow = \"order\";\r\n }\r\n\r\n if (offset >= this.financeOffset && this.addressInfoOffset\r\n > offset) {\r\n this.linkToShow = \"finance\";\r\n }\r\n if (offset >= this.addressInfoOffset && this.userInformationOffset\r\n > offset) {\r\n this.linkToShow = \"addressInfo\";\r\n }\r\n if (offset >= this.userInformationOffset && this.configurationOffset\r\n > offset) {\r\n this.linkToShow = \"userinformation\";\r\n }\r\n if (offset >= this.configurationOffset && this.mixedinformationOffset\r\n > offset) {\r\n this.linkToShow = \"configuration\";\r\n }\r\n if (offset >= this.mixedinformationOffset && this.insuranceOffset\r\n > offset) {\r\n this.linkToShow = \"mixedinformation\";\r\n }\r\n\r\n if (offset >= this.insuranceOffset && this.activityhistorynOffset\r\n > offset) {\r\n this.linkToShow = \"insurance\";\r\n }\r\n\r\n if (offset >= this.activityhistorynOffset) {\r\n this.linkToShow = \"activityhistory\";\r\n }\r\n this.checkWidthHide(offsetWidth); \r\n\r\n }\r\n\r\n checkWidthHide(offsetWidth : number){\r\n this.widthHide = false;\r\n if (1500 > offsetWidth) {\r\n this.widthHide = true;\r\n }\r\n }\r\n\r\n costCenters: Info[] = [];\r\n loadCostCenter() {\r\n let bundle = SettingsService.getCurrentBundle();\r\n this.costCenters = [];\r\n this.costcenterService.get(bundle.bundleId.toString()).subscribe(\r\n result => {\r\n result.forEach(element => {\r\n this.costCenters.push({ Id: element.Id.toString(), Name: element.Name, Checked: false });\r\n });\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n public linkToShow: string = \"product\";\r\n public whatLinkToBeActive(link: string): boolean {\r\n if (this.linkToShow === link) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\r\n\r\n @ViewChild('container')\r\n private container: ElementRef;\r\n\r\n public goToID(id: string): void {\r\n let pageScrollInstance: PageScrollInstance = PageScrollInstance.newInstance({ document: this.document, scrollTarget: id, pageScrollOffset: 50, pageScrollSpeed: 1500 });\r\n this.pageScrollService.start(pageScrollInstance);\r\n };\r\n\r\n public goToHead2(): void {\r\n let pageScrollInstance: PageScrollInstance = PageScrollInstance.simpleInstance(this.document, '#head2');\r\n this.pageScrollService.start(pageScrollInstance);\r\n };\r\n\r\n public scrollSomewhereHorizontally(): void {\r\n let pageScrollInstance: PageScrollInstance = PageScrollInstance.newInstance({ document: this.document, scrollTarget: '#targetToTheRight', verticalScrolling: false });\r\n this.pageScrollService.start(pageScrollInstance);\r\n };\r\n\r\n public goToHeadingInContainer(): void {\r\n let pageScrollInstance: PageScrollInstance = PageScrollInstance.newInstance({ document: this.document, scrollTarget: '.headingClass', scrollingViews: [this.container.nativeElement] });\r\n this.pageScrollService.start(pageScrollInstance);\r\n };\r\n loader = false;\r\n\r\n cancelChanges() {\r\n this.assetSearchService.choosenAsset = Object.assign({}, this.originalChoosenAsset);\r\n this.loadDropDownData(SettingsService.getCurrentBundle(), this.assetSearchService.choosenAsset.AssetNumber, this.successMessage);\r\n this.assetSearchService.editAsset = false;\r\n }\r\n assetNumber = 0;\r\n successMessage = \"\";\r\n ngOnInit() {\r\n this.assetSearchService.editAsset = false;\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n let assetNumber = params['assetNumber'];\r\n this.canEditAsset(assetNumber);\r\n if (params['query'] !== undefined) {\r\n this.assetSearchService.query = params['query'];\r\n }\r\n this.successMessage = params['successMessage'];\r\n var bundle = SettingsService.getCurrentBundle();\r\n\r\n\r\n this.loadDropDownData(bundle, assetNumber, this.successMessage);\r\n window.scrollTo(0, 0);\r\n\r\n });\r\n\r\n }\r\n\r\n statuses: Info[] = [];\r\n assetTypes: Info[] = [];\r\n\r\n loadDropDownData(bundle, assetNumber, successMessage) {\r\n this.loader = true;\r\n this.costCenters = [];\r\n this.statuses = [];\r\n\r\n this.statusService.getAll().subscribe(\r\n statusResult => {\r\n statusResult.forEach(element => {\r\n if (this.statuses.filter(x => x.Id === element.Id.toString()).length === 0) {\r\n this.statuses.push({ Id: element.Id.toString(), Name: element.StatusCode, Checked: false });\r\n }\r\n });\r\n this.getAssetDetails(assetNumber, bundle.bundleId);\r\n this.assetSearchService.shouldShowPrice();\r\n this.assetSearchService.shouldShowLeaseCost();\r\n if (successMessage !== null && successMessage !== undefined) {\r\n this.loader = false;\r\n this.alertService.success(successMessage);\r\n }\r\n this.costcenterService.get(bundle.bundleId).subscribe(\r\n costCentersResult => {\r\n costCentersResult.forEach(element => {\r\n this.costCenters.push({ Id: element.Id.toString(), Name: element.Name, Checked: false });\r\n });\r\n },\r\n error => {\r\n this.loader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n },\r\n error => {\r\n this.loader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n isIncreaseHeight() {\r\n let increaseHeight = '';\r\n let tag = this.metaService.getTag(\"name='service-outage-message'\");\r\n if (tag && tag.content && tag.content.toLowerCase() == \"show\"){\r\n increaseHeight = 'height-with-outage-message';\r\n }\r\n return increaseHeight;\r\n }\r\n\r\n isActive(name) {\r\n return this.linkToShow === name ? 'active-link-details' : ''\r\n }\r\n getStatusText(status) {\r\n if (status) {\r\n return this.statuses.filter(x => x.Id === status.toString()).length > 0 ? this.statuses.filter(x => x.Id === status.toString())[0].Name : \"\";\r\n }\r\n \r\n return \"\";\r\n }\r\n getCategoryCodeText(categoryCode) {\r\n return this.assetTypes.filter(x => x.Id === categoryCode.toString()).length > 0 ? this.assetTypes.filter(x => x.Id === categoryCode.toString())[0].Name : \"\";\r\n }\r\n\r\n\r\n public showSticky: boolean = false;\r\n \r\n canEditAssetFlag: boolean = false;\r\n isUppdatePendingFlag: boolean = false;\r\n\r\n canEditAsset(assetId: any) {\r\n\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.accessRightsService.getAccessRightsByAsset(user.UserId, currentChoosenBundle.bundleId, assetId).subscribe(result => {\r\n this.canEditAssetFlag = result && (result.Description == \"Write\");\r\n }, error => { console.log(error); });\r\n\r\n this.importsservice.getImportDataByAssetId(assetId, false).subscribe(\r\n importData => {\r\n this.isUppdatePendingFlag = importData.length > 0;\r\n }, error => {\r\n console.log(error);\r\n this.isUppdatePendingFlag = false;\r\n });\r\n }\r\n\r\n showServiceRequestButton() : Boolean {\r\n if (this.assetSearchService.choosenAsset.SerialNumber != null && this.assetSearchService.choosenAsset.SerialNumber != '') {\r\n if (this.countryCode != null && this.countryCode == 'SE') {\r\n if (this.myAteaAccess != null && this.myAteaAccess == true){\r\n //todo: add check if chosenAsset type is tablet or computer - only then show the button\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n showServiceRequestButton2() : Boolean {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n if (currentChoosenBundle.countrry) {\r\n let res = currentChoosenBundle.countrry.toString();\r\n if (res != null && res != '4' && res != '3') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n \r\n revertAllChanges() {\r\n this.getAssetDetails(this.currentAssetNumber, this.currentBundleId);\r\n }\r\n setDropDownProperties() {\r\n if (this.statuses.filter(x => x.Checked === true).length > 0) {\r\n this.assetSearchService.choosenAsset.Status = this.statuses.filter(x => x.Checked === true)[0].Id;\r\n this.assetSearchService.choosenAsset.StatusText = this.statuses.filter(x => x.Checked === true)[0].Name;\r\n }\r\n if (this.costCenters.filter(x => x.Checked === true).length > 0) {\r\n this.assetSearchService.choosenAsset.CostCenterText = this.costCenters.filter(x => x.Checked === true)[0].Name;\r\n this.assetSearchService.choosenAsset.CostCenterId = Number(this.costCenters.filter(x => x.Checked === true)[0].Id);\r\n\r\n }\r\n\r\n if (this.assetTypes.filter(x => x.Checked === true).length > 0) {\r\n this.assetSearchService.choosenAsset.AssetType = this.assetTypes.filter(x => x.Checked === true)[0].Id;\r\n this.assetSearchService.choosenAsset.AssetTypeText = this.assetTypes.filter(x => x.Checked === true)[0].Name;\r\n }\r\n\r\n }\r\n saveAllChanges() {\r\n this.setDropDownProperties();\r\n\r\n this.assetSearchService.editAsset = false;\r\n this.assetsService.patch(this.assetSearchService.choosenAsset.AssetNumber, this.assetSearchService.choosenAsset.BundleId, this.assetSearchService.choosenAsset).subscribe(\r\n async asset => {\r\n this.toastr.success(await this.translateService.get('AssetDetailsSaved').toPromise(), await this.translateService.get('Label_Saved').toPromise());\r\n this.getAssetDetails(this.assetSearchService.choosenAsset.AssetNumber, this.assetSearchService.choosenAsset.BundleId);\r\n this.assetChangeLogService.GetAssetChangeByAssetno(this.assetSearchService.choosenAsset.AssetNumber).subscribe(x => {\r\n this.assetChangeInfo = { AssetChangeModels: x, Total: 0, TotalPages: 0 };\r\n });\r\n\r\n }, async error => {\r\n this.toastr.error(await this.translateService.get('AssetDetailsNotSaved').toPromise(), await this.translateService.get('Error').toPromise());\r\n this.getAssetDetails(this.assetSearchService.choosenAsset.AssetNumber, this.assetSearchService.choosenAsset.BundleId);\r\n });\r\n }\r\n\r\n editAsset(editable) {\r\n this.assetSearchService.editAsset = editable;\r\n if (this.assetSearchService.choosenAsset.Status !== null && this.statuses.filter(x => x.Id === this.assetSearchService.choosenAsset.Status.toString()).length > 0) {\r\n this.statuses.filter(x => x.Id === this.assetSearchService.choosenAsset.Status.toString())[0].Checked = true;\r\n }\r\n\r\n this.costCenters.forEach(element2 => {\r\n if (this.assetSearchService.choosenAsset.CostCenterId !== null && element2.Id === this.assetSearchService.choosenAsset.CostCenterId.toString()) {\r\n element2.Checked = true;\r\n this.searchCostCenter = this.assetSearchService.choosenAsset.CostCenterText;\r\n }\r\n });\r\n }\r\n\r\n openMyAteaServiceRequestModal(template: TemplateRef) { \r\n this.modalRef = this.modalService.show( \r\n template, \r\n Object.assign({}, { class: 'gray modal-lg' }) \r\n ); \r\n }\r\n\r\n getMyAteaLink() {\r\n let productSerialNo = this.assetSearchService.choosenAsset.SerialNumber;\r\n let myAteaLink = '';\r\n\r\n var host = window.location.host;\r\n if (host.indexOf('localhost') !== -1) {\r\n myAteaLink = this.isSchoolEquipment ? `https://dev-my.atea.se/selfservices/student/${productSerialNo}` : `https://dev-my.atea.se/warranty?serialNo=${productSerialNo}`;\r\n } else if (host.indexOf('aamptest.atea') !== -1) {\r\n myAteaLink = this.isSchoolEquipment ? `https://test-my.atea.se/selfservices/student/${productSerialNo}` : `https://test-my.atea.se/warranty?serialNo=${productSerialNo}`;\r\n } else if (host.indexOf('alms-spa-dev') !== -1 || host.indexOf('aampqa.atea') !== -1) {\r\n myAteaLink = this.isSchoolEquipment ? `https://qa-my.atea.se/selfservices/student/${productSerialNo}` : `https://qa-my.atea.se/warranty?serialNo=${productSerialNo}`;\r\n } else if (host.indexOf('alms-spa-prod') !== -1 || host.indexOf('aamp.atea') !== -1) {\r\n myAteaLink = this.isSchoolEquipment ? `https://my.atea.se/selfservices/student/${productSerialNo}` : `https://my.atea.se/warranty?serialNo=${productSerialNo}`;\r\n } else {\r\n myAteaLink = this.isSchoolEquipment ? `https://dev-my.atea.se/selfservices/student/${productSerialNo}` : `https://dev-my.atea.se/warranty?serialNo=${productSerialNo}`;\r\n }\r\n\r\n return myAteaLink;\r\n }\r\n\r\n proceedToMyAtea(modalRef) {\r\n if(this.isSchoolEquipment == null)\r\n {\r\n this.myAteaError = true;\r\n } else {\r\n modalRef.hide();\r\n let myAteaRedirectLink = this.getMyAteaLink();\r\n this.myAteaError = false;\r\n this.isSchoolEquipment = null;\r\n window.open(myAteaRedirectLink, \"_blank\");\r\n }\r\n }\r\n\r\n insuranceInfo = null;\r\n smartphoneInfo = null;\r\n searchAssetType = \"\";\r\n searchCostCenter = \"\";\r\n searchStatus = \"\";\r\n originalChoosenAsset: Asset;\r\n public getAssetDetails(assetNumber, bundleId) {\r\n this.loader = true;\r\n this.currentAssetNumber = assetNumber;\r\n this.currentBundleId = bundleId;\r\n this.assetChangeInfo = { AssetChangeModels: [], Total: 0, TotalPages: 0 };\r\n\r\n this.assetChangeLogService.GetAssetChangeByAssetno(assetNumber).subscribe(x => {\r\n this.assetChangeInfo = { AssetChangeModels: x, Total: 0, TotalPages: 0 };\r\n this.assetChangeInfo.AssetChangeModels.forEach(x => {\r\n if (x.Column == \"Status\") {\r\n x.NewValue = \"Status_\" + x.NewValue;\r\n x.OldValue = \"Status_\" + x.OldValue;\r\n }\r\n });\r\n });\r\n this.assetsService.get(assetNumber, bundleId).subscribe(\r\n asset => {\r\n this.assetSearchService.choosenAsset = asset;\r\n this.originalChoosenAsset = Object.assign({}, asset);\r\n this.statuses.forEach(element1 => {\r\n if (element1.Id === asset.Status.toString()) {\r\n element1.Checked = true;\r\n this.searchStatus = asset.StatusText;\r\n }\r\n });\r\n\r\n if (this.assetSearchService.choosenAsset.Status !== null && this.statuses.filter(x => x.Id === this.assetSearchService.choosenAsset.Status.toString()).length > 0) {\r\n this.statuses.filter(x => x.Id === this.assetSearchService.choosenAsset.Status.toString())[0].Checked = true;\r\n }\r\n\r\n this.costCenters.forEach(element2 => {\r\n if (asset.CostCenterId !== null && element2.Id === asset.CostCenterId.toString()) {\r\n element2.Checked = true;\r\n this.searchCostCenter = asset.CostCenterText;\r\n }\r\n });\r\n\r\n this.assetsService.getAssetAppleSmartphoneData(assetNumber)\r\n .subscribe(\r\n smartphoneData => {\r\n this.smartphoneInfo = smartphoneData;\r\n }, error => {\r\n this.loader = false;\r\n }\r\n );\r\n\r\n this.assetsService.getAssetInsurance(assetNumber, bundleId).subscribe(\r\n insurance => {\r\n this.insuranceInfo = insurance;\r\n this.loader = false;\r\n }, error => {\r\n this.loader = false;\r\n });\r\n\r\n }, error => {\r\n this.loader = false;\r\n }\r\n );\r\n }\r\n}\r\n\r\n\r\n","import { isPlatformBrowser } from \"@angular/common\";\r\nimport { ClassProvider, FactoryProvider, InjectionToken, PLATFORM_ID } from '@angular/core';\r\n\r\n/* Create a new injection token for injecting the window into a component. */\r\nexport const WINDOW = new InjectionToken('WindowToken');\r\n\r\n/* Define abstract class for obtaining reference to the global window object. */\r\nexport abstract class WindowRef {\r\n\r\n get nativeWindow(): Window | Object {\r\n throw new Error('Not implemented.');\r\n }\r\n\r\n}\r\n\r\n/* Define class that implements the abstract class and returns the native window object. */\r\nexport class BrowserWindowRef extends WindowRef {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get nativeWindow(): Window | Object {\r\n return window;\r\n }\r\n\r\n}\r\n\r\n/* Create an factory function that returns the native window object. */\r\nexport function windowFactory(browserWindowRef: BrowserWindowRef, platformId: Object): Window | Object {\r\n if (isPlatformBrowser(platformId)) {\r\n return browserWindowRef.nativeWindow;\r\n }\r\n return new Object();\r\n}\r\n\r\n/* Create a injectable provider for the WindowRef token that uses the BrowserWindowRef class. */\r\nexport const browserWindowProvider: ClassProvider = {\r\n provide: WindowRef,\r\n useClass: BrowserWindowRef\r\n};\r\n\r\n/* Create an injectable provider that uses the windowFactory function for returning the native window object. */\r\nexport const windowProvider: FactoryProvider = {\r\n provide: WINDOW,\r\n useFactory: windowFactory,\r\n deps: [ WindowRef, PLATFORM_ID ]\r\n};\r\n\r\n/* Create an array of providers. */\r\nexport const WINDOW_PROVIDERS = [\r\n browserWindowProvider,\r\n windowProvider\r\n];\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1tYXNzY2hhbmdlLWhpc3RvcnkvYXNzZXQtbWFzc2NoYW5nZS1oaXN0b3J5LWRldGFpbHMvYXNzZXQtbWFzc2NoYW5nZS1oaXN0b3J5LWRldGFpbHMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n

Mass change details

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{importFile.FileName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{importFile.FileName}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{importFile.Imported}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{importFile.Comments}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
AssetNrValueFieldNameModifiedDate
{{data.AssetNr}}{{data.Value}}{{data.FieldName}}{{data.ModifiedDate | date: 'yyyy-MM-dd'}}
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ImportsService } from '../../../_shared/imports/imports.service';\r\nimport { SettingsService } from '../../../_shared/settings/settings.service';\r\nimport { ImportFile } from '../../../_shared/imports/ImportFile';\r\nimport { ImportData } from '../../../_shared/imports/importData';\r\n\r\n@Component({\r\n selector: 'app-asset-masschange-history-details',\r\n templateUrl: './asset-masschange-history-details.component.html',\r\n styleUrls: ['./asset-masschange-history-details.component.css']\r\n})\r\nexport class AssetMasschangeHistoryDetailsComponent implements OnInit {\r\n public importFile : ImportFile;\r\n public importData : ImportData[] = [];\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private importsService: ImportsService,\r\n ) {\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n let importFileId = params['ImportFileId'];\r\n let importFile = this.importsService.get(importFileId).subscribe(\r\n result => {\r\n this.importFile = result;\r\n this.importsService.getImportDatas(importFileId).subscribe(\r\n result2 => {\r\n this.importData = result2;\r\n },\r\n error => {\r\n }\r\n );\r\n },\r\n error => {\r\n }\r\n );\r\n });\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1tYXNzY2hhbmdlLWhpc3RvcnkvYXNzZXQtbWFzc2NoYW5nZS1oaXN0b3J5LmNvbXBvbmVudC5jc3MifQ== */\"","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

Mass Change

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'TypeOfChange' | translate}}UserDate of changeAmount of changed assets
\\r\\n
\\r\\n
{{importFile.Type}}{{importFile.CreatedByFullName}}{{importFile.CreatedDate | date: 'yyyy-MM-dd'}}{{importFile.ImportFilesAmount}}
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
    1\\\" class=\\\"pagination\\\">\\r\\n
  • \\r\\n First\\r\\n
  • \\r\\n
  • \\r\\n Previous\\r\\n
  • \\r\\n
  • \\r\\n {{page}}\\r\\n
  • \\r\\n
  • \\r\\n Next\\r\\n
  • \\r\\n
  • \\r\\n Last\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { ImportsService } from '../../_shared/imports/imports.service';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { ImportFile } from '../../_shared/imports/ImportFile';\r\nimport { ImportsFilterPipe } from '../../_shared/imports/imports-filter.pipe';\r\nimport { PagerService } from '../../_shared/pager/pager.service';\r\n\r\n@Component({\r\n selector: 'app-asset-masschange-history',\r\n templateUrl: './asset-masschange-history.component.html',\r\n styleUrls: ['./asset-masschange-history.component.css']\r\n})\r\nexport class AssetMasschangeHistoryComponent implements OnInit {\r\n public importFiles: ImportFile[] = [];\r\n // array of all items to be paged\r\n private allItems: any[];\r\n\r\n // pager object\r\n pager: any = {};\r\n\r\n // paged items\r\n pagedItems: any[];\r\n listFilter: string;\r\n\r\n constructor(\r\n private imports: ImportsService,\r\n private importsFilterPipe: ImportsFilterPipe,\r\n private pagerService: PagerService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getImports();\r\n }\r\n\r\n isActive(page) {\r\n return (page + 1) == this.pager.currentPage ? 'active' : '';\r\n }\r\n\r\n\r\n private getImports() {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n this.imports.getByBundleId(currentChoosenBundle.bundleId).subscribe(\r\n result => {\r\n this.importFiles = result;\r\n this.setPage(1);\r\n },\r\n error => {\r\n console.log(\"Error: \" + error);\r\n }\r\n );\r\n }\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this.pagerService.getPager(this.importFiles.length, page, 5);\r\n\r\n // get current page of items\r\n this.pagedItems = this.importFiles.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n\r\n\r\n updateTable(listFilter) {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n this.imports.getByBundleId(currentChoosenBundle.bundleId).subscribe(\r\n imports => {\r\n var result = this.importsFilterPipe.transform(imports, listFilter);\r\n this.importFiles = result;\r\n this.setPage(1);\r\n },\r\n error => {\r\n }\r\n );\r\n\r\n // this.imports.getByBundleID().subscribe(\r\n // imports => {\r\n // var result = this.importsFilterPipe.transform(imports, listFilter);\r\n // if (result.length > 0) {\r\n // this.importFiles = result;\r\n // this.setPage(1);\r\n // } else {\r\n // this.importFiles = result;\r\n // }\r\n // }, error => {\r\n // console.log(error);\r\n // }\r\n // ));\r\n }\r\n\r\n goToMassChangeDetails() { }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1tb2RpZnkvYXNzZXQtbW9kaWZ5LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
0 && assetChangeService.showModifyAsset && assetChangeService.modifyAsset > 0\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Modify' | translate }} {{assetChangeService.modifyAssetHeader}}

\\r\\n
\\r\\n
\\r\\n
{{assetChangeService.modifyAssetMessage}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Modify' | translate }} {{assetChangeService.modifyAssetHeader}}

\\r\\n
\\r\\n
{{ 'On' | translate }} {{assetChangeService.selectedAssets.length}} {{ 'Button_Assets' | translate }}
\\r\\n
\\r\\n
0\\\">\\r\\n
{{'MODIFY_WARNING' | translate}}
\\r\\n
\\r\\n
\\r\\n
{{'MODIFY_WARNING_ZERO' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{assetChangeService.modifyAssetHeader}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{item.Name}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{ 'Comment' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { AssetChangeService } from '../asset-change/asset-change.service';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { AssetsService } from '../../_shared/asset/assets.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UsersService } from '../../_shared/user/users.service';\r\n\r\n@Component({\r\n selector: 'app-asset-modify',\r\n templateUrl: './asset-modify.component.html',\r\n styleUrls: ['./asset-modify.component.css'],\r\n\r\n})\r\nexport class AssetModifyComponent implements OnInit {\r\n\r\n query: string = \"\";\r\n comment: string = \"\";\r\n modifyHeader: string = \"\"\r\n clickInSideFirst: boolean = false;\r\n clickCaretFocusFlag: boolean = false;\r\n public trigger: boolean = true;\r\n profileUser: any = { UserId: 0, Email: \"\", Firstname: \"\", Lastname: \"\", Phone: \"\", Company: \"\" };\r\n\r\n\r\n constructor(\r\n public assetChangeService: AssetChangeService,\r\n private assetsService: AssetsService,\r\n private translateService: TranslateService,\r\n private usersService: UsersService) { }\r\n clickOutSideDiv() {\r\n if (this.clickInSideFirst) {\r\n this.clickInSideFirst = false;\r\n } else {\r\n this.assetChangeService.showModifyAsset = false;\r\n }\r\n }\r\n clickInSideDiv() {\r\n this.clickInSideFirst = true;\r\n }\r\n clickCaretFocus() {\r\n this.clickCaretFocusFlag = true;\r\n\r\n \r\n this.assetChangeService.focusList();\r\n }\r\n message = \"\";\r\n\r\n ngOnInit() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.profileUser.Email = user.Email;\r\n }\r\n\r\n eraseDropDownField(){\r\n this.query = \"\";\r\n this.trigger = true;\r\n this.assetChangeService.modifyAsset = 0;\r\n this.assetChangeService.currentLoadedModifyAsset = 0;\r\n}\r\n\r\n filterItemStatuses() {\r\n if (this.query != \"\") {\r\n if (this.trigger == true){\r\n this.trigger = false;\r\n this.assetChangeService.filteredListFull=this.assetChangeService.filteredList;\r\n }\r\n this.assetChangeService.infos = this.assetChangeService.filteredList;\r\n this.assetChangeService.filteredList = Object.assign([], this.assetChangeService.infos).filter(\r\n item => item.Name.toLowerCase().indexOf(this.query.toLowerCase()) > -1)\r\n }\r\n if (this.query == \"\") {\r\n this.assetChangeService.filteredList = this.assetChangeService.filteredListFull;\r\n }\r\n }\r\n\r\n onClickedOutside(e: Event, type: string) {\r\n if (this.assetChangeService.showModifyAsset) {\r\n if (this.assetChangeService.modifyAsset == 0) {\r\n this.assetChangeService.showModifyAsset = false;\r\n }\r\n }\r\n if (!this.clickCaretFocusFlag) {\r\n this.assetChangeService.focusInputStatus = false;\r\n }\r\n this.clickCaretFocusFlag = false;\r\n }\r\n\r\n isEnableVar = false;\r\n showConfirmation = false;\r\n\r\n isEnable() {\r\n this.isEnableVar = this.assetChangeService.filteredList.filter(x => x.Checked).length > 0 && this.assetChangeService.writableAssetCount > 0;\r\n return this.isEnableVar;\r\n }\r\n check(item) {\r\n for (var i = 0; i < this.assetChangeService.filteredList.length; i++) {\r\n this.assetChangeService.filteredList[i].Checked = false;\r\n }\r\n\r\n item.Checked = !item.Checked;\r\n if (item.Checked) {\r\n\r\n\r\n this.query = item.Name;\r\n this.assetChangeService.focusInputStatus = false;\r\n this.isEnable();\r\n } else {\r\n this.isEnable();\r\n this.query = \"\"\r\n }\r\n }\r\n\r\n\r\n saveChanges() {\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n\r\n let selectedEndOfLease = 0;\r\n let propertiesToChange: string[] = [];\r\n var isSelected = false;\r\n var selected = this.assetChangeService.filteredList.filter(x => x.Checked)[0]\r\n if (selected !== undefined && this.assetChangeService.modifyAsset === this.assetChangeService.MODIFY_STATUS) {\r\n propertiesToChange.push(\"Status\");\r\n this.assetChangeService.selectedAssets.forEach(element => {\r\n element.StatusText = selected.Name;\r\n isSelected = true\r\n });\r\n }\r\n if (selected !== undefined && this.assetChangeService.modifyAsset === this.assetChangeService.MODIFY_LEASE) {\r\n this.usersService.getUser(currentUser.UserId).subscribe(result => {\r\n this.translateService.get(\"EOL_MESSAGE\").subscribe(\r\n trans => {\r\n this.message = result.Fullname + \" \" + trans + \" aam@atea.se\"; //\", your EOL change request have been registered and Atea Finance will contact you shortly with details on how to proceed. If you have any direct questions please contact aam@atea.se\";\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n propertiesToChange.push(\"EndOfLeaseAction\");\r\n selectedEndOfLease = +selected.Id;\r\n this.assetChangeService.selectedAssets.forEach(element => {\r\n element.EndOfLeaseAction = selected.Name;\r\n isSelected = true\r\n });\r\n }\r\n if (selected !== undefined && this.assetChangeService.modifyAsset === this.assetChangeService.MODIFY_COSTDIVISION) {\r\n\r\n propertiesToChange.push(\"CostCenterId\");\r\n this.assetChangeService.selectedAssets.forEach(element => {\r\n element.CostCenterId = +selected.Id;\r\n isSelected = true\r\n });\r\n }\r\n if (isSelected) {\r\n\r\n this.assetChangeService.modifyAsset = 4;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.assetsService.saveMany(\r\n currentChoosenBundle.bundleId, user.UserId, selectedEndOfLease, this.comment, this.assetChangeService.selectedAssets, propertiesToChange).subscribe(\r\n assetsSearchResult => {\r\n this.query = \"\";\r\n this.assetChangeService.infos = [];\r\n this.assetChangeService.filteredList = [];\r\n this.assetChangeService.currentLoadedModifyAsset = 0;\r\n this.comment = \"\";\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1zZWFyY2gvYXNzZXQtZGF0ZS1yYW5nZS1waWNrZXIvYXNzZXQtZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
{{label}}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","import * as moment from 'moment';\r\n\r\nimport {\r\n Component,\r\n Input,\r\n ElementRef,\r\n ViewChild,\r\n Renderer,\r\n forwardRef,\r\n OnInit\r\n} from '@angular/core';\r\n\r\n// declare var moment:any;\r\n\r\nimport { DaterangepickerConfig , DaterangePickerComponent} from 'ng2-daterangepicker';\r\nimport { daterange } from '../asset-date-range-picker/daterange';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { AfterViewInit, AfterContentInit } from '@angular/core/src/metadata/lifecycle_hooks';\r\nimport { AssetSearchService } from '../asset-search.service';\r\n\r\nconst ASSET_DETAIL_EDIT_CONTROL_VALUE_ACCESSOR = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AssetDateRangePickerComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'app-asset-date-range-picker',\r\n templateUrl: './asset-date-range-picker.component.html',\r\n providers: [ASSET_DETAIL_EDIT_CONTROL_VALUE_ACCESSOR],\r\n styleUrls: ['./asset-date-range-picker.component.css']\r\n})\r\n\r\n\r\nexport class AssetDateRangePickerComponent implements ControlValueAccessor, OnInit, AfterViewInit {\r\n ngOnInit(): void {\r\n // this.options.autoUpdateInput = this.autoUpdateInput;\r\n \r\n }\r\n ngAfterViewInit(): void {\r\n // console.log('ngAfterViewIni');\r\n // console.log(this.autoUpdateInput);\r\n // console.log(this.picker.datePicker.element[0].value);\r\n if (this.start !== \"\" && this.end !== \"\") {\r\n\r\n this.options = \r\n {\r\n locale: {\r\n format: 'YYYY-MM-DD',\r\n cancelLabel: 'Cancel'\r\n },\r\n startDate: this.start,\r\n endDate: this.end,\r\n alwaysShowCalendars: false,\r\n autoUpdateInput: true\r\n };\r\n // this.options.autoUpdateInput = true;\r\n // this.picker.datePicker.setStartDate(this.start);\r\n // this.picker.datePicker.setEndDate(this.end);\r\n // this.options.autoUpdateInput = false;\r\n }\r\n // this.updateDateRange();\r\n }\r\n public updateDateRange() {\r\n this.picker.datePicker.setStartDate('2017-03-27');\r\n this.picker.datePicker.setEndDate('2017-04-08');\r\n }\r\n\r\n\r\n // Required forControlValueAccessor interface\r\n @Input() options2 : any;\r\n\r\n @Input() property: daterange;\r\n @Input() start: string;\r\n @Input() end: string;\r\n @Input() label: string;\r\n @Input() name: string;\r\n\r\n @Input() autoUpdateInput: boolean;\r\n\r\n\r\n public canEdit = false;\r\n private _value: any; // Private variable for input value\r\n private preValue: string = ''; // The value before clicking to edit\r\n private editing: boolean = false; // Is Component in edit mode?\r\n public onChange: any = Function.prototype; // Trascend the onChange event\r\n public onTouched: any = Function.prototype; // Trascend the onTouch event\r\n\r\n\r\n @ViewChild(DaterangePickerComponent)\r\n public picker: DaterangePickerComponent;\r\n\r\n @ViewChild('assetDateRangePickerComponent') AssetDateRangePickerComponent: ElementRef; // input DOM element\r\n\r\n\r\n // public singlePicker = {\r\n // singleDatePicker: true,\r\n // showDropdowns: true,\r\n // opens: \"left\"\r\n // }\r\n public options: any =\r\n {\r\n locale: {\r\n format: 'YYYY-MM-DD',\r\n cancelLabel: 'Cancel'\r\n },\r\n startDate: '2015-01-01',\r\n endDate: '2016-01-01',\r\n alwaysShowCalendars: false,\r\n autoUpdateInput: false\r\n };\r\n\r\n constructor(\r\n private element: ElementRef,\r\n private _renderer: Renderer,\r\n private daterangepickerOptions: DaterangepickerConfig,\r\n private assetSearchService: AssetSearchService) {\r\n }\r\n\r\n // Control Value Accessors for ngModel\r\n get value(): any {\r\n return this._value;\r\n }\r\n\r\n set value(v: any) {\r\n if (v !== this._value) {\r\n this._value = v;\r\n this.onChange(v);\r\n }\r\n }\r\n\r\n // Required for ControlValueAccessor interface\r\n writeValue(value: any) {\r\n this._value = value;\r\n }\r\n\r\n // Required forControlValueAccessor interface\r\n public registerOnChange(fn: (_: any) => {}): void {\r\n this.onChange = fn;\r\n }\r\n\r\n // Required forControlValueAccessor interface\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n // Do stuff when the input element loses focus\r\n onBlur($event: Event) {\r\n this.editing = false;\r\n }\r\n\r\n // Start the editting process for the input element\r\n revert() {\r\n this._value = this.preValue\r\n this.editing = false;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n }\r\n\r\n\r\n public selectedDate(value: any) {\r\n // this is the date the iser selected\r\n\r\n this.options.autoUpdateInput = true;\r\n // let dateRange : daterange = {start:{ year: value.start._d.getFullYear(), month: (value.start._d.getMonth() + 1), day: value.start._d.getDate() }, end : { year: value.end._d.getFullYear(), month: (value.end._d.getMonth() + 1), day: value.end._d.getDate() } }\r\n // this.value = value;\r\n\r\n this.value = value;\r\n // this.options.autoUpdateInput = false;\r\n\r\n this.assetSearchService.search();\r\n\r\n }\r\n\r\n public reset(e: any) {\r\n // console.log(this.picker);\r\n\r\n this.picker.datePicker.element[0].value = \"\";\r\n this.options.autoUpdateInput = false;\r\n this.assetSearchService.search();\r\n\r\n // // this.picker.datePicker.reset();\r\n // this.picker.datePicker.elment;\r\n // this.picker.datePicker.setStartDate(newDate);\r\n // this.picker.datePicker.setEndDate(newDate);\r\n // this.options.setStartDate(newDate);\r\n // this.options.setEndDate(newDate);\r\n\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1zZWFyY2gvYXNzZXQtc2VhcmNoLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
{{message}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{'SavedSearch' | translate }}

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

{{'MANAGE_ASSETS' | translate }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n No Selected Assets
\\r\\n\\r\\n\\r\\n
\\r\\n  {{'CLEAR' | translate }}
\\r\\n
\\r\\n {{'SHOW_SEARCH' | translate }}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
{{'DELIVERYDATE' | translate }}
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
{{'INVOICEDATE' | translate }}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{'ENDOFLEASE' | translate }}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{'ORDERDATE' | translate }}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'WARRANTY' | translate }}
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\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, OnInit, AfterViewInit, AfterViewChecked, NgModule } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AssetSearchService } from '../asset-search/asset-search.service';\r\nimport { SaveSearchesDataService } from '../../save-searches/save-searches-data.service';\r\nimport { SavedSearch, SavedSearchesService, SearchData } from '../../_shared/savedsearches/saved-searches.service';\r\n\r\nimport { AlertService } from '../../_shared/alert/alert.service';\r\nimport { PropertiesService } from '../../_shared/properties/properties.service';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport { AssetChangeService } from '../asset-change/asset-change.service';\r\nimport { IMyDrpOptions, IMyDateRangeModel } from 'mydaterangepicker';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport * as moment from 'moment'\r\nimport { Info } from '../../_shared/asset/Info';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { AssetsService } from '../../_shared/asset/assets.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-asset-search',\r\n templateUrl: './asset-search.component.html',\r\n styleUrls: ['./asset-search.component.css'],\r\n})\r\nexport class AssetSearchComponent implements OnInit, AfterViewInit, AfterViewChecked {\r\n ngAfterViewChecked(): void {\r\n }\r\n ngAfterViewInit(): void {\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n if (params != {} && params !== null && params !== undefined) {\r\n if (params.new !== undefined) {\r\n this.reset(true);\r\n }\r\n } else {\r\n this.assetSearchService.loadAllProperties();\r\n }\r\n });\r\n }\r\n timeout: any = null;\r\n checkClickFirst = false;\r\n toShowSavedSearches = false;\r\n onClickedOutside(event: Event) {\r\n // console.log(event);\r\n var target = event.target || event.srcElement || event.currentTarget;\r\n if (this.checkClickFirst === false) {\r\n this.toShowSavedSearches = false;\r\n }\r\n this.checkClickFirst = false;\r\n }\r\n\r\n\r\n public deliveryDateRange: any = null;\r\n public leaseRangeDateRange: any = null;\r\n public endOfLeaseDateRange: any = null;\r\n public invoiceDateRange: any = null;\r\n public orderDateRange: any = null;\r\n public warrantyRange: any = null;\r\n\r\n private myDateRangePickerOptions: IMyDrpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n height: '34px',\r\n width: '250px',\r\n dayLabels: { su: 'Sön', mo: 'Mån', tu: 'Tis', we: 'Ons', th: 'Tors', fr: 'Fre', sa: 'Lörd' },\r\n monthLabels: { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'Maj', 6: 'Jun', 7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Okt', 11: 'Nov', 12: 'Dec' },\r\n showSelectDateText: false\r\n };\r\n\r\n\r\n\r\n // private myForm: FormGroup;\r\n\r\n // public leaseDateRange: string = null;\r\n // not initial date range set\r\n //private model: Object = {beginDate: {year: 2018, month: 10, day: 9}, endDate: {year: 2018, month: 10, day: 19}}; // this example is initialized to specific date range\r\n\r\n public message = \"\";\r\n public header = \"\";\r\n\r\n onSubmitNgModel(): void {\r\n }\r\n\r\n\r\n onSubmitReactiveForms(): void {\r\n console.log('Value: ', this.myForm.controls['myDateRange'].value, ' - Valid: ', this.myForm.controls['myDateRange'].valid,\r\n ' - Dirty: ', this.myForm.controls['myDateRange'].dirty, ' - Touched: ', this.myForm.controls['myDateRange'].touched);\r\n }\r\n\r\n setDateRange(): void {\r\n // Set today range using the setValue function\r\n let date: Date = new Date();\r\n let year: number = date.getFullYear();\r\n let month: number = date.getMonth() + 1;\r\n let day: number = date.getDate();\r\n this.myForm.setValue({ myDateRange: { beginDate: { year: year, month: month, day: day }, endDate: { year: year, month: month, day: day } } });\r\n }\r\n\r\n check(item: Info, isChecked: boolean) {\r\n let currentBundle = SettingsService.getCurrentBundle();\r\n let currentUser = SettingsService.getCurrentUser();\r\n\r\n this.reset(true);\r\n\r\n item.Checked = isChecked;\r\n\r\n if (item.Checked === true) {\r\n\r\n this.saveSearchesDataService.savedSearchesQuery = item.Name;\r\n this.saveSearchesDataService.savedSearchesQueryId = parseInt(item.Id);\r\n this.savedSearchesService.getSavedSearch(item.Id, currentUser.UserId, currentBundle.bundleId, SettingsService.SYSTEM).subscribe(result => {\r\n this.parseSearchQuery(JSON.parse(result.SearchData) as SearchData);\r\n this.saveSearchesDataService.currentSavedSearch = result;\r\n this.toShowSavedSearches = false;\r\n this.checkClickFirst = true;\r\n }\r\n );\r\n } else {\r\n this.reset(true);\r\n }\r\n\r\n }\r\n\r\n // this.assignCopy();//when you fetch collection from server.\r\n\r\n filterItem() {\r\n if (!this.saveSearchesDataService.savedSearchesQuery) {\r\n this.saveSearchesDataService.assignSavedSearches();\r\n } // when nothing has typed\r\n // if (this.saveSearchesDataService.savedSearchesQuery.length > 2) { }\r\n this.saveSearchesDataService.filteredItems = Object.assign([], this.saveSearchesDataService.savedSearchesInfo).filter(\r\n item => item.Name.toLowerCase().indexOf(this.saveSearchesDataService.savedSearchesQuery.toLowerCase()) > -1\r\n )\r\n \r\n }\r\n\r\n public saveChanges() {\r\n\r\n let currentBundle = SettingsService.getCurrentBundle();\r\n let currentUser = SettingsService.getCurrentUser();\r\n\r\n this.savedSearchesService.saveSearch(\r\n this.saveSearchesDataService.savedSearchesQueryId,\r\n currentUser.UserId,\r\n currentBundle.bundleId,\r\n this.saveSearchesDataService.savedSearchesQuery,\r\n this.assetsService.currentSearch).subscribe(async result => {\r\n // this.saveSearchesDataService.savedSearchesQuery = \"\";\r\n // this.saveSearchesDataService.showSavedSearches = 0;\r\n // this.saveSearchesDataService.getSavedSearches();\r\n this.toastr.success(await this.translate.get('SearchHasBeenSuccessfullySaved').toPromise());\r\n },\r\n async error => {\r\n console.log(error);\r\n this.saveSearchesDataService.savedSearchesQuery = \"\";\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.toastr.error(await this.translate.get('CouldNotUpdateSavedSearch').toPromise());\r\n }\r\n );\r\n\r\n }\r\n\r\n openRenameSavedSearchPopup() {\r\n this.saveSearchesDataService.showSavedSearches = 2; \r\n this.saveSearchesDataService.savedSearchNewName = this.saveSearchesDataService.savedSearchesQuery; \r\n this.applyFilter();\r\n }\r\n\r\n parseSearchQuery(searchData: SearchData) {\r\n try {\r\n this.assetSearchService.query = searchData.Value;\r\n\r\n if (searchData.Locations != undefined) {\r\n searchData.Locations.forEach(element => {\r\n\r\n var locationObj = this.assetSearchService.locations.filter(x => x.Id === element)[0]\r\n if (locationObj !== undefined) {\r\n locationObj.Checked = true;\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n if (searchData.Statuses != undefined) {\r\n searchData.Statuses.forEach(element => {\r\n var status = this.assetSearchService.statuses.filter(x => x.Id === element)[0]\r\n if (status !== undefined) {\r\n status.Checked = true;\r\n }\r\n });\r\n\r\n }\r\n if (searchData.CostDivisons != undefined) {\r\n searchData.CostDivisons.forEach(element => {\r\n\r\n var item = this.assetSearchService.costDivisions.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n\r\n if (searchData.Manufacturers != undefined) {\r\n searchData.Manufacturers.forEach(element => {\r\n\r\n var item = this.assetSearchService.manufacturers.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n\r\n if (searchData.AssetTypes != undefined) {\r\n searchData.AssetTypes.forEach(element => {\r\n\r\n var item = this.assetSearchService.assetTypes.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n\r\n if (searchData.SellToCustomers != undefined) {\r\n searchData.SellToCustomers.forEach(element => {\r\n\r\n var item = this.assetSearchService.sellToCustomers.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n\r\n if (searchData.FinanceAgreementNumbers != undefined) {\r\n searchData.FinanceAgreementNumbers.forEach(element => {\r\n var item = this.assetSearchService.FinanceAgreementNumbers.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n if (searchData.Departments != undefined) {\r\n searchData.Departments.forEach(element => {\r\n\r\n var item = this.assetSearchService.departments.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n if (searchData.CompanyNames != undefined) {\r\n searchData.CompanyNames.forEach(element => {\r\n\r\n var item = this.assetSearchService.companyNames.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n if (searchData.Roles != undefined) {\r\n searchData.Roles.forEach(element => {\r\n var item = this.assetSearchService.roles.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n \r\n if (searchData.FunctionTypes != undefined) {\r\n searchData.FunctionTypes.forEach(element => {\r\n var item = this.assetSearchService.functionTypes.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n \r\n if (searchData.EndOfLeaseOption != undefined) {\r\n searchData.EndOfLeaseOption.forEach(element => {\r\n console.log(\"this.assetSearchService.endOfLeaseOptions\",this.assetSearchService.endOfLeaseOptions)\r\n var item = this.assetSearchService.endOfLeaseOptions.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n \r\n if (searchData.FinanceStatus != undefined) {\r\n searchData.FinanceStatus.forEach(element => {\r\n var item = this.assetSearchService.financeStatuses.filter(x => x.Id === element)[0]\r\n if (item !== undefined) {\r\n item.Checked = true;\r\n }\r\n });\r\n }\r\n\r\n if (searchData.EndOfLeaseFrom != undefined && searchData.EndOfLeaseTo != undefined) {\r\n var fromDate = new Date(searchData.EndOfLeaseFrom);\r\n var toDate = new Date(searchData.EndOfLeaseTo);\r\n this.endOfLeaseDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.endOfLeaseFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.endOfLeaseTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ endOfLeaseDateRange: '' });\r\n\r\n }\r\n if (searchData.OrderDateFrom != undefined && searchData.OrderDateTo != undefined) {\r\n var fromDate = new Date(searchData.OrderDateFrom);\r\n var toDate = new Date(searchData.OrderDateTo);\r\n this.orderDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.orderDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.orderDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ orderDateRange: '' });\r\n }\r\n\r\n if (searchData.WarrantyDateFrom != undefined && searchData.WarrantyDateFrom != undefined) {\r\n var fromDate = new Date(searchData.WarrantyDateFrom);\r\n var toDate = new Date(searchData.WarrantyDateTo);\r\n this.warrantyRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.warrantyDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.warrantyDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ warrantyRange: '' });\r\n }\r\n\r\n if (searchData.InvoiceDateFrom != undefined && searchData.InvoiceDateTo != undefined) {\r\n var fromDate = new Date(searchData.InvoiceDateFrom);\r\n var toDate = new Date(searchData.InvoiceDateTo);\r\n this.invoiceDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.invoiceDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.invoiceDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ invoiceDateRange: '' });\r\n }\r\n\r\n if (searchData.DeliveryDateFrom != undefined && searchData.DeliveryDateTo != undefined) {\r\n var fromDate = new Date(searchData.DeliveryDateFrom);\r\n var toDate = new Date(searchData.DeliveryDateTo);\r\n this.deliveryDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.deliveryDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.deliveryDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ deliveryDateRange: '' });\r\n }\r\n\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n }\r\n\r\n resetDateRange(): void {\r\n // Reset date picker to specific date range (today)\r\n let date: Date = new Date();\r\n let year: number = date.getFullYear();\r\n let month: number = date.getMonth() + 1;\r\n let day: number = date.getDate();\r\n this.myForm.reset({ myDateRange: { beginDate: { year: year, month: month, day: day }, endDate: { year: year, month: month, day: day } } });\r\n\r\n }\r\n\r\n clearDateRange(): void {\r\n // Clear the date range using the setValue function\r\n this.myForm.setValue({ myDateRange: null });\r\n }\r\n\r\n aDateRange: any;\r\n\r\n public mychange(event) {\r\n\r\n }\r\n public reset(shouldResetQueryParams: boolean) {\r\n this.saveSearchesDataService.savedSearchesQuery = \"\"\r\n this.saveSearchesDataService.savedSearchesQueryId = 0\r\n this.saveSearchesDataService.currentSavedSearch = null;\r\n\r\n this.saveSearchesDataService.savedSearchesInfo.forEach(element => {\r\n element.Checked = false;\r\n });\r\n\r\n this.deliveryDateRange = null;\r\n this.leaseRangeDateRange = null;\r\n this.endOfLeaseDateRange = null;\r\n this.invoiceDateRange = null;\r\n this.orderDateRange = null;\r\n this.warrantyRange = null;\r\n\r\n this.assetSearchService.resetSearchProperties();\r\n this.assetSearchService.iniateSearchDataProperties();\r\n // this.myForm.patchValue({ myDateRange: '' });\r\n this.myForm.patchValue({ endOfLeaseDateRange: '' });\r\n this.myForm.patchValue({ invoiceDateRange: '' });\r\n this.myForm.patchValue({ deliveryDateRange: '' });\r\n this.myForm.patchValue({ orderDateRange: '' });\r\n this.myForm.patchValue({ warrantyRange: '' });\r\n\r\n\r\n\r\n\r\n this.assetSearchService.costDivisions.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.statuses.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.locations.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.manufacturers.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.assetTypes.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.sellToCustomers.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.FinanceAgreementNumbers.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.departments.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.companyNames.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.roles.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.functionTypes.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.endOfLeaseOptions.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetSearchService.financeStatuses.forEach(element => {\r\n element.Checked = false;\r\n });\r\n if (shouldResetQueryParams) {\r\n this.route.navigate(['/assetsearch'], { queryParams: {} });\r\n }\r\n }\r\n\r\n public calendarApplied(e: any) {\r\n // e.event\r\n // e.picker\r\n }\r\n\r\n public canSearch: boolean = false;\r\n\r\n\r\n\r\n constructor(\r\n private assetSearchService: AssetSearchService,\r\n private alertService: AlertService,\r\n private route: Router,\r\n private propertiesService: PropertiesService,\r\n private activatedRoute: ActivatedRoute,\r\n private assetChangeService: AssetChangeService,\r\n private formBuilder: FormBuilder,\r\n private authenticationService: AuthenticationService,\r\n private saveSearchesDataService: SaveSearchesDataService,\r\n private savedSearchesService: SavedSearchesService,\r\n private assetsService: AssetsService,\r\n private toastr: ToastrService,\r\n private translate: TranslateService\r\n ) {\r\n activatedRoute.params.subscribe(val => {\r\n });\r\n // this.daterangepickerOptions.settings = {\r\n // locale: { format: 'YYYY-MM-DD', cancelLabel: 'Clear' },\r\n // alwaysShowCalendars: false,\r\n\r\n // };\r\n }\r\n\r\n private applyDate(value: any, dateInput: any) {\r\n dateInput.start = value.start;\r\n dateInput.end = value.end;\r\n }\r\n\r\n public calendarEventsHandler(aType: any, e: any) {\r\n if (e.event.type === \"cancel\") {\r\n e.picker.element[0].value = \"\";\r\n if (aType === \"endOflease\") {\r\n this.assetSearchService.endOfLeaseFrom = null;\r\n this.assetSearchService.endOfLeaseTo = null;\r\n }\r\n if (aType === \"inovoiceDate\") {\r\n this.assetSearchService.invoiceDateFrom = null;\r\n this.assetSearchService.invoiceDateFrom = null;\r\n }\r\n if (aType === \"deliveryDate\") {\r\n this.assetSearchService.deliveryDateFrom = null;\r\n this.assetSearchService.deliveryDateTo = null;\r\n }\r\n this.assetSearchService.search();\r\n }\r\n }\r\n\r\n\r\n showOnlyOnAssetsPage() {\r\n return this.route.url.indexOf('/assetsearch') >= 0;\r\n }\r\n private getSortProperties() {\r\n let myOptions: any[] = [];\r\n this.propertiesService.query('assets').subscribe(\r\n result => {\r\n result.forEach(element => {\r\n myOptions.push({ id: element.Name, name: element.Name, isLabel: false });;\r\n });\r\n this.assetSearchService.propertiesFilters = myOptions;\r\n },\r\n (error:HttpErrorResponse) => {\r\n this.alertService.error(error.message);\r\n }\r\n );\r\n }\r\n\r\n private getAssetProperties() {\r\n this.propertiesService.query('assets').subscribe(\r\n result => {\r\n this.assetSearchService.properties = result;\r\n },\r\n (error:HttpErrorResponse) => {\r\n this.alertService.error(error.message);\r\n }\r\n );\r\n }\r\n private handleError(error: Response) {\r\n return Observable.throw(error.statusText);\r\n }\r\n\r\n private createMultiSelectOptions(label: string): any[] {\r\n let multiSelectOptions: any[] = [{ id: 1, name: label, isLabel: true }];\r\n return multiSelectOptions;\r\n }\r\n\r\n private loadAllProperties() {\r\n this.getAssetProperties();\r\n this.getSortProperties();\r\n this.assetSearchService.loadAllProperties();\r\n this.saveSearchesDataService.updateSavedSearches();\r\n }\r\n\r\n myForm = this.formBuilder.group({\r\n //myDateRange: [null, Validators.required] // not initial date range set\r\n // myDateRange: [{ beginDate: { year: 2018, month: 10, day: 9 }, endDate: { year: 2018, month: 10, day: 19 } }, Validators.required],\r\n endOfLeaseDateRange: [null, Validators.required],\r\n invoiceDateRange: [null, Validators.required],\r\n deliveryDateRange: [null, Validators.required],\r\n orderDateRange: [null, Validators.required],\r\n warrantyRange: [null, Validators.required]\r\n });\r\n\r\n ngOnInit() {\r\n\r\n window.scrollTo(0, 0);\r\n if (this.authenticationService.isActive()) {\r\n this.loadAllProperties();\r\n }\r\n this.reset(false);\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n if (params != {} && params !== null && params !== undefined) {\r\n if (params['keepSearch'] === undefined) {\r\n this.searchOnQueryParams(params);\r\n } else if (params['keepSearch'] === \"true\") {\r\n this.assetSearchService.statuses.splice(0,this.assetSearchService.statuses.length);\r\n this.assetSearchService.getAllStatuses();\r\n this.assetSearchService.search();\r\n }\r\n }\r\n });\r\n this.saveSearchesDataService.updateSavedSearches();\r\n }\r\n\r\n onFocus() {\r\n this.assetSearchService.showMassChange = false;\r\n }\r\n\r\n\r\n applyFilter() {\r\n this.assetSearchService.page = 1;\r\n this.deSelectAll();\r\n this.assetSearchService.search();\r\n }\r\n \r\n deSelectAll() {\r\n this.assetSearchService.isSelectAll = false;\r\n this.assetChangeService.selectedAssets = [];\r\n this.assetSearchService.assets.forEach(element => {\r\n element.Selected = false;\r\n });\r\n }\r\n\r\n private searchOnQueryParams(searchParams) {\r\n this.reset(false);\r\n if (searchParams !== {} && searchParams !== null && searchParams !== undefined) {\r\n let shouldSearch = false;\r\n if (searchParams.query != undefined) {\r\n this.assetSearchService.query = searchParams.query;\r\n shouldSearch = true;\r\n }\r\n\r\n if (searchParams.page != undefined) {\r\n this.assetSearchService.page = searchParams.page;\r\n shouldSearch = true;\r\n }\r\n\r\n if (searchParams.pageSize != undefined) {\r\n this.assetSearchService.pageSize = searchParams.pageSize;\r\n shouldSearch = true;\r\n }\r\n\r\n if (searchParams.sortOrder != undefined) {\r\n this.assetSearchService.sortOrderDesc = searchParams.sortOrder === \"desc\";\r\n shouldSearch = true;\r\n\r\n }\r\n\r\n if (searchParams.location != undefined) {\r\n this.assetSearchService.locations.forEach(element => {\r\n if (element.Name.toLowerCase() === searchParams.location.toLowerCase()) {\r\n this.assetSearchService.locations.filter(x => x.Id === element.Id)[0].Checked = true;\r\n shouldSearch = true;\r\n } else\r\n if (searchParams.location === \"UNKNOWN\" && element.Name.toLowerCase() === \"\") {\r\n this.assetSearchService.locations.filter(x => x.Id === element.Id)[0].Checked = true;;\r\n shouldSearch = true;\r\n }\r\n });\r\n }\r\n\r\n if (searchParams.message != undefined) {\r\n this.message = searchParams.message;\r\n }\r\n\r\n if (searchParams.header != undefined) {\r\n this.header = searchParams.header;\r\n }\r\n\r\n // if (searchParams.leaseStartTo != undefined) {\r\n // var date =new Date(searchParams.leaseStartTo);\r\n // this.assetSearchService.leaseStartTo = { date: { year: date.getFullYear(), month: date.getMonth(), day: date.getDate() } };\r\n // }\r\n // if (searchParams.leaseStartFrom != undefined) {\r\n // var date =new Date(searchParams.leaseStartFrom);\r\n // this.assetSearchService.leaseStartFrom = { date: { year: date.getFullYear(), month: date.getMonth(), day: date.getDate() } };\r\n // }\r\n\r\n if (searchParams.endOfLeaseFrom != undefined && searchParams.endOfLeaseTo != undefined) {\r\n var fromDate = new Date(searchParams.endOfLeaseFrom);\r\n var toDate = new Date(searchParams.endOfLeaseTo);\r\n this.endOfLeaseDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.endOfLeaseFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.endOfLeaseTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ endOfLeaseDateRange: '' });\r\n\r\n }\r\n if (searchParams.deliveryDateFrom != undefined && searchParams.deliveryDateTo != undefined) {\r\n var fromDate = new Date(searchParams.deliveryDateFrom);\r\n var toDate = new Date(searchParams.deliveryDateTo);\r\n this.deliveryDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.deliveryDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.deliveryDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ deliveryDateRange: '' });\r\n\r\n }\r\n if (searchParams.orderDateFrom != undefined && searchParams.orderDateTo != undefined) {\r\n var fromDate = new Date(searchParams.orderDateFrom);\r\n var toDate = new Date(searchParams.orderDateTo);\r\n this.orderDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.orderDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.orderDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ orderDateRange: '' });\r\n }\r\n\r\n if (searchParams.warrantyDateFrom != undefined && searchParams.warrantyDateFrom != undefined) {\r\n var fromDate = new Date(searchParams.warrantyDateFrom);\r\n var toDate = new Date(searchParams.warrantyDateTo);\r\n this.warrantyRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.warrantyDateFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.warrantyDateTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n } else {\r\n this.myForm.patchValue({ warrantyRange: '' });\r\n }\r\n\r\n\r\n this.myForm.patchValue({ invoiceDateRange: '' });\r\n\r\n if (searchParams.statuses != undefined) {\r\n this.assetSearchService.statuses.forEach(element => {\r\n searchParams.statuses.forEach(status => {\r\n if (element.Id == status) {\r\n element.Checked = true;\r\n shouldSearch = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (searchParams.assetTypes != undefined) {\r\n this.assetSearchService.assetTypes.forEach(element => {\r\n searchParams.assetTypes.forEach(assetType => {\r\n let codes = element.Name.split(' ');\r\n let code = \"\";\r\n if (code != undefined && codes.length > 0) {\r\n code = codes[codes.length - 1];\r\n }\r\n\r\n if (code !== undefined) {\r\n if (code.toLowerCase() === assetType.toLowerCase()) {\r\n this.assetSearchService.assetTypes.filter(x => x.Id === element.Id)[0].Checked = true;\r\n shouldSearch = true;\r\n }\r\n }\r\n\r\n });\r\n });\r\n }\r\n\r\n if (searchParams.financeAgreementNos != undefined) {\r\n this.assetSearchService.FinanceAgreementNumbers.forEach(element => {\r\n\r\n var financeAgreementNoParam = [];\r\n if (typeof (searchParams.financeAgreementNos) === 'string') {\r\n financeAgreementNoParam.push(searchParams.financeAgreementNos);\r\n } else {\r\n financeAgreementNoParam = searchParams.financeAgreementNos;\r\n }\r\n financeAgreementNoParam.forEach(financeAgreementNo => {\r\n if (element.Name.toLowerCase() === financeAgreementNo.toLowerCase()) {\r\n this.assetSearchService.FinanceAgreementNumbers.filter(x => x.Id === element.Id)[0].Checked = true;\r\n shouldSearch = true;\r\n }\r\n });\r\n });\r\n }\r\n \r\n if(searchParams.financeDays != undefined && Number.parseInt(searchParams.financeDays) > 0) {\r\n \r\n var fromDate = new Date();\r\n var toDate = new Date();\r\n toDate.setDate(toDate.getDate() + Number.parseInt(searchParams.financeDays));\r\n \r\n this.endOfLeaseDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.assetSearchService.endOfLeaseFrom = { date: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() } };;\r\n this.assetSearchService.endOfLeaseTo = { date: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() } };;\r\n \r\n shouldSearch = true;\r\n }\r\n\r\n if (searchParams.deliveryNotAcceptedOnly != undefined && searchParams.deliveryNotAcceptedOnly === \"true\") {\r\n this.assetSearchService.deliveryNotAcceptedOnly = true;\r\n shouldSearch = true;\r\n }\r\n\r\n if (shouldSearch) {\r\n this.assetSearchService.search();\r\n }\r\n }\r\n }\r\n changeProperty(property) {\r\n property.Use = !property.Use;\r\n this.assetSearchService.properties = this.assetSearchService.properties\r\n }\r\n search(newValue) {\r\n clearTimeout(this.timeout);\r\n var $this = this;\r\n\r\n if (newValue !== this.assetSearchService.query) {\r\n this.assetSearchService.page = 1;\r\n }\r\n this.assetSearchService.query = newValue;\r\n this.assetSearchService.sortByProperty = \"\";\r\n this.assetSearchService.showMassChange = false;\r\n if (newValue.length > 1) {\r\n this.assetSearchService.page = 1;\r\n this.timeout = setTimeout(function () {\r\n $this.assetSearchService.search();\r\n }, 1000);\r\n } else if (newValue.length === 0) {\r\n this.assetSearchService.iniateSearchDataProperties();\r\n }\r\n }\r\n clearSearch() {\r\n this.assetSearchService.query = \"\";\r\n this.assetSearchService.iniateSearchDataProperties();\r\n }\r\n\r\n onDateRangeChanged(aType: string, event: IMyDateRangeModel) {\r\n if (aType === \"deliveryDate\") {\r\n this.assetSearchService.deliveryDateFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.assetSearchService.deliveryDateTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n\r\n if (aType === \"invoiceDate\") {\r\n this.assetSearchService.invoiceDateFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.assetSearchService.invoiceDateTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n\r\n if (aType === \"endOflease\") {\r\n this.assetSearchService.endOfLeaseFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.assetSearchService.endOfLeaseTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n if (aType === \"orderDate\") {\r\n this.assetSearchService.orderDateFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.assetSearchService.orderDateTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n if (aType === \"warranty\") {\r\n this.assetSearchService.warrantyDateFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.assetSearchService.warrantyDateTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n else if (event.formatted !== \"\") {\r\n //this.assetSearchService.search();\r\n }\r\n\r\n // event properties are: event.beginDate, event.endDate, event.formatted,\r\n // event.beginEpoc and event.endEpoc\r\n }\r\n\r\n\r\n // onChange(event, selected) {\r\n // console.log(event);\r\n // console.log(selected);\r\n // selected = event;\r\n // if (event.length > 0) {\r\n // this.assetSearchService.search();\r\n // } else if (this.assetSearchService.query.length > 0) {\r\n // this.assetSearchService.search();\r\n // } else {\r\n // this.clearSearch();\r\n // }\r\n // }\r\n\r\n\r\n onChangeSort(event) {\r\n this.assetSearchService.search();\r\n }\r\n\r\n public getChoosenSavedSearch() {\r\n return this.saveSearchesDataService.savedSearchesInfo.filter(x => x.Checked)[0].Name;\r\n }\r\n showSelectedAssets() {\r\n this.assetSearchService.showMassChange = !this.assetSearchService.showMassChange;\r\n this.assetSearchService.showAdvanceSearch = false;\r\n this.assetChangeService.savedChanges = false;\r\n this.assetChangeService.showConfirmation = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Asset } from '../../_shared/asset/Asset';\r\nimport { Property } from '../../_shared/properties/property';\r\nimport { AssetsService } from '../../_shared/asset/assets.service';\r\nimport { AssetChangeService } from '../asset-change/asset-change.service';\r\nimport { HelperService } from '../../_shared/helper/helper.service';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { AlertService } from '../../_shared/alert/alert.service';\r\nimport { FunctionsService } from '../../_shared/functions/functions.service'\r\nimport { SavedSearchesService } from '../../_shared/savedsearches/saved-searches.service';\r\n\r\nimport { Info } from '../../_shared/asset/Info';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/forkJoin';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\ndeclare var require: any;\r\nimport * as fileSaver from 'file-saver';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { forkJoin } from 'rxjs'; // RxJS 6 syntax\r\nimport { StatusService } from '../../_shared/status/status.service'\r\nimport { CategoryCodeService } from '../../_shared/category-code/category-code.service'\r\nimport { IMyDrpOptions, IMyDateRangeModel } from 'mydaterangepicker';\r\nimport { CategoryCode } from 'src/app/_shared/category-code/categoryCode';\r\n\r\n@Injectable()\r\nexport class AssetSearchService {\r\n public query: string = '';\r\n public assetNO: number;\r\n public assets: Asset[] = [];\r\n public total: number = 0;\r\n public sortOrderDesc: boolean = true;\r\n\r\n public pageSteps: number = 2;\r\n public page: number = 1;\r\n public pageSize: number = 20;\r\n public totalPages: number = 0;\r\n\r\n public pagesToShow: number = 5;\r\n public showLoader: boolean = false;\r\n\r\n public choosenAsset: Asset = null;\r\n public editAsset: boolean = false;\r\n\r\n public properties: Property[] = null;\r\n public showProperties: boolean = false;\r\n\r\n public propertiesFilters: any[] = [];\r\n public selectedPropertiesFilters: number[] = [];\r\n\r\n public deliveryDateFrom: any = null;\r\n public deliveryDateTo: any = null;\r\n\r\n public invoiceDateFrom: any = null;\r\n public invoiceDateTo: any = null;\r\n\r\n public leaseStartFrom: any = null;\r\n public leaseStartTo: any = null;\r\n\r\n public isAllAssetsSelected: boolean = false;\r\n public orderDateFrom: any = null;\r\n public orderDateTo: any = null;\r\n\r\n public warrantyDateFrom: any = null;\r\n public warrantyDateTo: any = null;\r\n\r\n public endOfLeaseFrom: any = null;\r\n public endOfLeaseTo: any = null;\r\n\r\n public statuses: Info[] = [];\r\n public costDivisions: Info[] = [];\r\n public locations: Info[] = [];\r\n public roles: Info[] = [];\r\n public departments: Info[] = [];\r\n public companyNames: Info[] = [];\r\n public functionTypes: Info[] = [];\r\n public endOfLeaseOptions: Info[] = [];\r\n public financeStatuses: Info[] = [];\r\n\r\n\r\n public manufacturers: Info[] = [];\r\n public sellToCustomers: Info[] = [];\r\n public FinanceAgreementNumbers: Info[] = [];\r\n public assetTypes: Info[] = [];\r\n public deliveryNotAcceptedOnly: boolean = false;\r\n public sortByProperty: string = \"\";\r\n\r\n public showSavedSearch: boolean = false;\r\n public showMassChange: boolean = false;\r\n\r\n public showAdvanceSearch: boolean = true;\r\n public showMassChangeControls: boolean = false;\r\n public showSearchResult: boolean = false;\r\n public isSelectAll: boolean = false;\r\n public myDateRangePickerOptions: IMyDrpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n height: '34px',\r\n width: '250px',\r\n dayLabels: { su: 'Sön', mo: 'Mån', tu: 'Tis', we: 'Ons', th: 'Tors', fr: 'Fre', sa: 'Lörd' },\r\n monthLabels: { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'Maj', 6: 'Jun', 7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Okt', 11: 'Nov', 12: 'Dec' },\r\n showSelectDateText: false\r\n };\r\n\r\n public columns = [\r\n\r\n ];\r\n\r\n public defaultSelection = [\r\n 'Costdivision','UserId','DeliveryDate',\r\n 'UserEmail','InvoiceNumber','StatusText'\r\n ];\r\n public noSearchDataAvailable = false;\r\n\r\n shouldShowColumn(columnName: string) {\r\n\r\n var filtredList = this.columns.filter(x => x.ColumnName === columnName);\r\n\r\n return filtredList.length > 0 && filtredList[0].Checked\r\n }\r\n\r\n public optionsEndOfLease: any = {\r\n locale: {\r\n format: 'YYYY-MM-DD',\r\n cancelLabel: 'Cancel'\r\n },\r\n startDate: '',\r\n endDate: '',\r\n alwaysShowCalendars: false,\r\n autoUpdateInput: false\r\n };\r\n public optionsLease: any = {\r\n locale: {\r\n format: 'YYYY-MM-DD',\r\n cancelLabel: 'Cancel'\r\n },\r\n startDate: '',\r\n endDate: '',\r\n alwaysShowCalendars: false,\r\n autoUpdateInput: false\r\n };\r\n\r\n\r\n public resetSearchProperties() {\r\n this.deliveryDateFrom = null;\r\n this.deliveryDateTo = null;\r\n\r\n this.invoiceDateFrom = null;\r\n this.invoiceDateTo = null;\r\n\r\n this.orderDateFrom = null;\r\n this.orderDateTo = null;\r\n\r\n this.warrantyDateFrom = null;\r\n this.warrantyDateTo = null;\r\n\r\n this.leaseStartFrom = null;\r\n this.leaseStartTo = null;\r\n\r\n this.endOfLeaseFrom = null;\r\n this.endOfLeaseTo = null;\r\n\r\n this.query = \"\";\r\n this.assets = [];\r\n this.page = 1;\r\n }\r\n\r\n\r\n iniateSearchDataProperties() {\r\n this.total = 0;\r\n this.sortOrderDesc = false;;\r\n\r\n this.pageSteps = 2;\r\n this.page = 1;\r\n this.pageSize = 20;\r\n this.totalPages = 0;\r\n\r\n this.pagesToShow = 5;\r\n this.showLoader = false;;\r\n this.assets = [];\r\n this.sortByProperty = \"\";\r\n\r\n\r\n this.translateService.get([\"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", \"SAT\"]).subscribe(\r\n result => {\r\n this.myDateRangePickerOptions.dayLabels.su = result.SUN;\r\n this.myDateRangePickerOptions.dayLabels.mo = result.MON;\r\n this.myDateRangePickerOptions.dayLabels.tu = result.TUE;\r\n this.myDateRangePickerOptions.dayLabels.we = result.WED;\r\n this.myDateRangePickerOptions.dayLabels.th = result.THU;\r\n this.myDateRangePickerOptions.dayLabels.fr = result.FRI;\r\n this.myDateRangePickerOptions.dayLabels.sa = result.SAT;\r\n });\r\n\r\n this.translateService.get([\"JAN\", \"FEB\", \"MAR\", \"APR\", \"MAY\", \"JUN\", \"JUL\", \"AUG\", \"SEP\", \"OCT\", \"NOV\", \"DEC\"]).subscribe(\r\n result => {\r\n this.myDateRangePickerOptions.monthLabels = {\r\n 1: result.JAN, 2: result.FEB, 3: result.MAR, 4: result.APR, 5: result.MAY, 6: result.JUN, 7: result.JUL, 8: result.AUG, 9: result.SEP, 10: result.OCT, 11: result.NOV, 12: result.DEC\r\n };\r\n });\r\n }\r\n\r\n constructor(\r\n private assetsService: AssetsService,\r\n private alertService: AlertService,\r\n private assetChangeService: AssetChangeService,\r\n private functionsService: FunctionsService,\r\n private helperService: HelperService,\r\n private authenticationService: AuthenticationService,\r\n private translateService: TranslateService,\r\n private statusService: StatusService,\r\n private categoryCodeService: CategoryCodeService,\r\n private savedSearchesService: SavedSearchesService\r\n ) { }\r\n\r\n\r\n public requestDataFromMultipleSources(): Observable {\r\n const bundle = SettingsService.getCurrentBundle()\r\n if (bundle !== undefined && bundle !== null) {\r\n this.getAllStatuses();\r\n this.getAllCategoryCodes();\r\n\r\n let financeAgreementNos = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"FinanceAgreementNumber\", []);\r\n let costDivisions = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"CostDivisions\", []);\r\n let locations = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"Locations\", []);\r\n let manufacturers = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"Manufacturers\", []);\r\n let sellToCustomers = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"SellToCustomers\", []);\r\n let departments = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"Departments\", []);\r\n let companyNames = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"CompanyNames\", []);\r\n let roles = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"Roles\", []);\r\n let functionTypes = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"FunctionTypes\", []);\r\n let endOfLeaseOptions = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"endOfLeaseOptions\", []);\r\n let financeStatuses = this.assetsService.getAssetPropertiesByType(bundle.bundleId, \"financeStatuses\", []);\r\n return forkJoin([financeAgreementNos, costDivisions, locations, manufacturers, sellToCustomers, departments, companyNames, roles, functionTypes, endOfLeaseOptions, financeStatuses]);\r\n }\r\n\r\n // Observable.forkJoin (RxJS 5) changes to just forkJoin() in RxJS 6\r\n }\r\n\r\n loadingProperties: boolean = false;\r\n\r\n public getProperties() {\r\n this.loadingProperties = true;\r\n this.costDivisions = [];\r\n this.FinanceAgreementNumbers = [];\r\n this.statuses = [];\r\n this.locations = [];\r\n this.manufacturers = [];\r\n this.sellToCustomers = [];\r\n this.assetTypes = [];\r\n this.departments = [];\r\n this.companyNames = [];\r\n this.roles = [];\r\n this.functionTypes = [];\r\n this.endOfLeaseOptions = [];\r\n this.financeStatuses = [];\r\n\r\n if (this.authenticationService.isActive()) {\r\n this.requestDataFromMultipleSources().subscribe(responseList => {\r\n this.populateProperties(\"FinanceAgreementNumber\", responseList[0], this.FinanceAgreementNumbers);\r\n this.populateProperties(\"CostDivisions\", responseList[1], this.costDivisions);\r\n this.populateProperties(\"Locations\", responseList[2], this.locations);\r\n this.populateProperties(\"Manufacturers\", responseList[3], this.manufacturers);\r\n this.populateProperties(\"SellToCustomers\", responseList[4], this.sellToCustomers);\r\n this.populateProperties(\"Departments\", responseList[5], this.departments);\r\n this.populateProperties(\"CompanyNames\", responseList[6], this.companyNames);\r\n this.populateProperties(\"Roles\", responseList[7], this.roles);\r\n this.populateProperties(\"FunctionTypes\", responseList[8], this.functionTypes);\r\n this.populateProperties(\"endOfLeaseOptions\", responseList[9], this.endOfLeaseOptions);\r\n this.populateProperties(\"financeStatuses\", responseList[10], this.financeStatuses);\r\n this.loadingProperties = false;\r\n }, error => {\r\n this.loadingProperties = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n getAllStatuses() {\r\n this.statusService.getByBundle().subscribe(\r\n statusResult => {\r\n statusResult.forEach(element => {\r\n if (this.statuses.filter(x => x.Id === element.Id.toString()).length === 0) {\r\n var desc = this.translateService.currentLang === \"en\" ? element.EnglishDescription : element.Description;\r\n this.statuses.push({ Id: element.Id.toString(), Name: desc, Checked: false });\r\n }\r\n });\r\n });\r\n }\r\n\r\n getAllCategoryCodes() {\r\n this.categoryCodeService.getAll().subscribe(\r\n result => {\r\n const assetCategories = result.AssetCategories as Array;\r\n assetCategories.sort((a, b) => (a.CategoryCode < b.CategoryCode ? -1 : 1));\r\n\r\n assetCategories.forEach(element => {\r\n if (this.assetTypes.filter(x => x.Id === element.CategoryCode.toString()).length === 0) {\r\n var desc = this.translateService.instant(`CNET_Category_${element.CategoryCode}`) + \" \" + element.CategoryCode;\r\n this.assetTypes.push({ Id: element.CategoryCode.toString(), Name: desc, Checked: false });\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public populateProperties(propertyName: string, result: Info[], info: Info[]) {\r\n result.forEach(element => {\r\n if (info.filter(x => x.Id === element.Id).length == 0) {\r\n info.push({ Id: element.Id, Name: element.Name, Checked: element.Checked });\r\n }\r\n });\r\n\r\n }\r\n\r\n public loadAllProperties() {\r\n this.getProperties();\r\n this.loadAssetProperties();\r\n }\r\n\r\n public loadAssetProperties() {\r\n this.columns = [\r\n { ColumnName: 'Costdivision', DisplayName: 'Cost Center' },\r\n { ColumnName: 'UserId', DisplayName: 'User ID' },\r\n { ColumnName: 'DeliveryDate', DisplayName: 'Delivery Date' },\r\n { ColumnName: 'UserEmail', DisplayName: 'User Email' },\r\n { ColumnName: 'InvoiceDate', DisplayName: 'Invoice Date' },\r\n { ColumnName: 'InvoiceNumber', DisplayName: 'Invoice Number' },\r\n // { ColumnName: 'PartNo', DisplayName: 'Part Number' },\r\n { ColumnName: 'StatusText', DisplayName: 'Status' },\r\n { ColumnName: 'EquipmentId', DisplayName: 'Equipment ID' },\r\n { ColumnName: 'UserPhone', DisplayName: 'User Phone' },\r\n { ColumnName: 'OrderNumber', DisplayName: 'Customer Order Number' },\r\n { ColumnName: 'InstallationRoom', DisplayName: 'Room/Class' },\r\n { ColumnName: 'InstallationFloor', DisplayName: 'Floor/School' },\r\n { ColumnName: 'FinanceAgreementNumber', DisplayName: 'Finance Agreement Number' },\r\n { ColumnName: 'LeaseStart', DisplayName: 'Lease Start' },\r\n { ColumnName: 'LeaseEnd', DisplayName: 'Lease End' },\r\n { ColumnName: 'PersonalCodeNumber', DisplayName: 'Personal Code' },\r\n { ColumnName: 'OtherInfo', DisplayName: 'Other Info' },\r\n { ColumnName: 'Department', DisplayName: 'Department' },\r\n { ColumnName: 'UserFullName', DisplayName: 'User Full Name' },\r\n { ColumnName: 'Role', DisplayName: 'Role' },\r\n { ColumnName: 'FunctionType', DisplayName: 'Function Type' },\r\n { ColumnName: 'EndOfLeaseOption', DisplayName: 'End Of Lease Option', Checked: false},\r\n { ColumnName: 'FinanceStatusText', DisplayName: 'Finance Status', Checked: false},\r\n { ColumnName: 'DeliveryAccepted', DisplayName: 'Delivery Accepted', Checked: false}\r\n ]\r\n\r\n this.loadColumnsDisplayName();\r\n let user = localStorage.currentUser;\r\n\r\n this.functionsService.get(JSON.parse(user).UserId).subscribe(\r\n result => {\r\n var itemPrice = result.filter(x => x.FunctionId == 10000)\r\n if (itemPrice.length === 0) {\r\n if (this.columns.filter(x => x.ColumnName === 'Price').length === 0) {\r\n this.columns.push({ ColumnName: 'Price', DisplayName: 'Price', Checked: false });\r\n this.loadColumnsDisplayName();\r\n }\r\n }\r\n var itemLeaseCost = result.filter(x => x.FunctionId == 10007)\r\n if (itemLeaseCost.length === 0) {\r\n if (this.columns.filter(x => x.ColumnName === 'LeaseCost').length === 0) {\r\n this.columns.push({ ColumnName: 'LeaseCost', DisplayName: 'Lease Cost', Checked: false});\r\n this.loadColumnsDisplayName();\r\n }\r\n } \r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n\r\n }\r\n public selectSelectedAssets() {\r\n this.assetChangeService.selectedAssets.forEach(asset => {\r\n var selectedAsset = this.assets.filter(x => x.AssetNumber == asset.AssetNumber)[0]\r\n if (selectedAsset !== undefined) {\r\n selectedAsset.Selected = true;\r\n }\r\n });\r\n }\r\n\r\n public loadColumnsDisplayName() {\r\n this.translateService.get(['COSTCENTER', 'USER_ID', 'DELIVERY_DATE', 'USER_EMAIL', 'INVOICE_DATE', 'INVOICE_NUMBER', \r\n 'STATUS', 'PART_NUMBER', 'PRICE', 'EQUIPMENT_ID', 'USER_PHONE', \r\n 'ORDER_NUMBER', 'INSTALLATION_ROOM','INSTALLATION_FLOOR','FINANCE_AGREEMENT_NO',\r\n 'LEASE_START', 'LEASE_END', 'PERSONAL_CODE_NUMBER', 'OTHER_INFO', 'DEPARTMENT', \r\n 'USER_NAME', 'LEASE_COST', 'ROLE', 'FUNCTION_TYPE', 'END_OF_LEASE_OPTION', 'FINANCE_STATUS', 'DELIVERY_ACCEPTED']).subscribe(values => {\r\n this.columns.filter(x => x.ColumnName === 'Costdivision')[0].DisplayName = values.COSTCENTER;\r\n this.columns.filter(x => x.ColumnName === 'UserId')[0].DisplayName = values.USER_ID;\r\n this.columns.filter(x => x.ColumnName === 'DeliveryDate')[0].DisplayName = values.DELIVERY_DATE;\r\n this.columns.filter(x => x.ColumnName === 'UserEmail')[0].DisplayName = values.USER_EMAIL;\r\n this.columns.filter(x => x.ColumnName === 'InvoiceDate')[0].DisplayName = values.INVOICE_DATE;\r\n this.columns.filter(x => x.ColumnName === 'InvoiceNumber')[0].DisplayName = values.INVOICE_NUMBER;\r\n this.columns.filter(x => x.ColumnName === 'StatusText')[0].DisplayName = values.STATUS;\r\n if (this.columns.filter(x => x.ColumnName === 'Price').length > 0) {\r\n this.columns.filter(x => x.ColumnName === 'Price')[0].DisplayName = values.PRICE;\r\n }\r\n this.columns.filter(x => x.ColumnName === 'EquipmentId')[0].DisplayName = values.EQUIPMENT_ID;\r\n this.columns.filter(x => x.ColumnName === 'UserPhone')[0].DisplayName = values.USER_PHONE;\r\n this.columns.filter(x => x.ColumnName === 'OrderNumber')[0].DisplayName = values.ORDER_NUMBER;\r\n this.columns.filter(x => x.ColumnName === 'InstallationRoom')[0].DisplayName = values.INSTALLATION_ROOM;\r\n this.columns.filter(x => x.ColumnName === 'InstallationFloor')[0].DisplayName = values.INSTALLATION_FLOOR;\r\n this.columns.filter(x => x.ColumnName === 'FinanceAgreementNumber')[0].DisplayName = values.FINANCE_AGREEMENT_NO;\r\n this.columns.filter(x => x.ColumnName === 'LeaseStart')[0].DisplayName = values.LEASE_START;\r\n this.columns.filter(x => x.ColumnName === 'LeaseEnd')[0].DisplayName = values.LEASE_END;\r\n this.columns.filter(x => x.ColumnName === 'PersonalCodeNumber')[0].DisplayName = values.PERSONAL_CODE_NUMBER;\r\n this.columns.filter(x => x.ColumnName === 'OtherInfo')[0].DisplayName = values.OTHER_INFO;\r\n this.columns.filter(x => x.ColumnName === 'Department')[0].DisplayName = values.DEPARTMENT;\r\n this.columns.filter(x => x.ColumnName === 'UserFullName')[0].DisplayName = values.USER_NAME;\r\n this.columns.filter(x => x.ColumnName === 'Role')[0].DisplayName = values.ROLE;\r\n this.columns.filter(x => x.ColumnName === 'FunctionType')[0].DisplayName = values.FUNCTION_TYPE;\r\n if (this.columns.filter(x => x.ColumnName === 'LeaseCost').length > 0) {\r\n this.columns.filter(x => x.ColumnName === 'LeaseCost')[0].DisplayName = values.LEASE_COST;\r\n }\r\n this.columns.filter(x => x.ColumnName === 'EndOfLeaseOption')[0].DisplayName = values.END_OF_LEASE_OPTION;\r\n this.columns.filter(x => x.ColumnName === 'FinanceStatusText')[0].DisplayName = values.FINANCE_STATUS;\r\n this.columns.filter(x => x.ColumnName === 'DeliveryAccepted')[0].DisplayName = values.DELIVERY_ACCEPTED;\r\n });\r\n }\r\n\r\n exportSelection() {\r\n this.showLoader = true;\r\n this.assetsService.export(\r\n this.assetChangeService.selectedAssets,\r\n localStorage.getItem(SettingsService.CURRENT_LANGUAGE)\r\n ).subscribe(\r\n assetsSearchResult => {\r\n this.showLoader = false;\r\n this.downloadFile4(assetsSearchResult);\r\n },\r\n error => {\r\n this.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n public reset() {\r\n this.resetSearchProperties();\r\n this.iniateSearchDataProperties();\r\n\r\n this.costDivisions.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.statuses.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.locations.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.roles.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.manufacturers.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.assetTypes.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.sellToCustomers.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.FinanceAgreementNumbers.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.endOfLeaseOptions.forEach(element => {\r\n element.Checked = false;\r\n });\r\n this.financeStatuses.forEach(element => {\r\n element.Checked = false;\r\n });\r\n }\r\n\r\n exportAll() {\r\n this.showLoader = true;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.assetsService.exportAll(\r\n this.query,\r\n currentChoosenBundle.bundleId,\r\n user.UserId,\r\n this.page,\r\n 0,\r\n this.sortOrderDesc,\r\n this.sortByProperty,\r\n this.properties,\r\n this.getSelectedValues(this.costDivisions),\r\n this.getSelectedValues(this.statuses),\r\n this.getSelectedValues(this.locations),\r\n this.getSelectedValues(this.roles),\r\n this.getSelectedValues(this.manufacturers),\r\n this.getSelectedValues(this.sellToCustomers),\r\n this.getSelectedValues(this.FinanceAgreementNumbers),\r\n this.getSelectedValues(this.assetTypes),\r\n this.getSelectedValues(this.departments),\r\n this.getSelectedValues(this.companyNames),\r\n this.getSelectedValues(this.functionTypes),\r\n this.getSelectedValues(this.financeStatuses),\r\n this.getSelectedValues(this.endOfLeaseOptions),\r\n this.helperService.formatDate(this.deliveryDateFrom),\r\n this.helperService.formatDate(this.deliveryDateTo),\r\n this.helperService.formatDate(this.invoiceDateFrom),\r\n this.helperService.formatDate(this.invoiceDateTo),\r\n this.helperService.formatDate(this.leaseStartFrom),\r\n this.helperService.formatDate(this.leaseStartTo),\r\n this.helperService.formatDate(this.endOfLeaseFrom),\r\n this.helperService.formatDate(this.endOfLeaseTo),\r\n this.helperService.formatDate(this.orderDateFrom),\r\n this.helperService.formatDate(this.orderDateTo),\r\n this.helperService.formatDate(this.warrantyDateFrom),\r\n this.helperService.formatDate(this.warrantyDateTo),\r\n this.deliveryNotAcceptedOnly\r\n )\r\n .subscribe(\r\n assetsSearchResult => {\r\n this.downloadFile4(assetsSearchResult);\r\n this.showLoader = false;\r\n },\r\n error => {\r\n this.downloadFile3(error.error.text, \"application/ms-excel\");\r\n this.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n downLoadFile(data: any, type: string) {\r\n var blob = new Blob([data], { type: type });\r\n var url = window.URL.createObjectURL(blob);\r\n var pwa = window.open(url);\r\n if (!pwa || pwa.closed || typeof pwa.closed == 'undefined') {\r\n alert('Please disable your Pop-up blocker and try again.');\r\n }\r\n }\r\n private guid() {\r\n function s4() {\r\n const array = new Uint32Array(1);\r\n crypto.getRandomValues(array);\r\n let body = Math.floor((1 + array[0]) / 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n return body;\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r\n s4() + '-' + s4() + s4() + s4();\r\n }\r\n\r\n downloadFile4(data: Blob) {\r\n // let file = new Blob(data.blob(), { type: 'application/vnd.ms-excel' });\r\n fileSaver.saveAs(data, this.createReportFileName());\r\n // window.navigator.msSaveBlob(blob,this.createReportFileName());\r\n }\r\n\r\n downloadFile3(data, type) {\r\n // var blob = new Blob([data], { type: type });\r\n // var url = window.URL.createObjectURL(blob);\r\n // var pwa = window.open(url);\r\n // if (!pwa || pwa.closed || typeof pwa.closed == 'undefined') {\r\n // alert('Please disable your Pop-up blocker and try again.');\r\n // }\r\n\r\n\r\n const blob = new Blob([data], { type: type });\r\n // let fileSaver = require('file-saver');\r\n // fileSaver.saveAs(blob, this.createReportFileName());\r\n const url = window.URL.createObjectURL(blob);\r\n var a = document.createElement('a');\r\n a.href = URL.createObjectURL(blob);\r\n a.download = this.createReportFileName();\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n\r\n // window.open(url);\r\n }\r\n\r\n\r\n\r\n private createReportFileName(): string {\r\n return \"Export_\" + new Date().toLocaleString().replace(/-/g, '/').replace(/\\s/g, \"_\") + \".xlsx\";\r\n }\r\n export() {\r\n this.showLoader = true;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.assetsService.search(\r\n this.query,\r\n currentChoosenBundle.bundleId,\r\n user.UserId,\r\n this.page,\r\n 0,\r\n this.sortOrderDesc,\r\n this.sortByProperty,\r\n this.properties,\r\n this.getSelectedValues(this.costDivisions),\r\n this.getSelectedValues(this.statuses),\r\n this.getSelectedValues(this.locations),\r\n this.getSelectedValues(this.roles),\r\n this.getSelectedValues(this.manufacturers),\r\n this.getSelectedValues(this.sellToCustomers),\r\n this.getSelectedValues(this.FinanceAgreementNumbers),\r\n this.getSelectedValues(this.assetTypes),\r\n this.getSelectedValues(this.departments),\r\n this.getSelectedValues(this.companyNames),\r\n this.getSelectedValues(this.functionTypes),\r\n this.getSelectedValues(this.endOfLeaseOptions),\r\n this.getSelectedValues(this.financeStatuses),\r\n this.helperService.formatDate(this.deliveryDateFrom),\r\n this.helperService.formatDate(this.deliveryDateTo),\r\n this.helperService.formatDate(this.invoiceDateFrom),\r\n this.helperService.formatDate(this.invoiceDateTo),\r\n this.helperService.formatDate(this.leaseStartFrom),\r\n this.helperService.formatDate(this.leaseStartTo),\r\n this.helperService.formatDate(this.endOfLeaseFrom),\r\n this.helperService.formatDate(this.endOfLeaseTo),\r\n this.helperService.formatDate(this.orderDateFrom),\r\n this.helperService.formatDate(this.orderDateTo),\r\n this.helperService.formatDate(this.warrantyDateFrom),\r\n this.helperService.formatDate(this.warrantyDateTo),\r\n this.deliveryNotAcceptedOnly\r\n ).subscribe(\r\n assetsSearchResult => {\r\n if (assetsSearchResult.Assets.length > 0) {\r\n this.assetsService.export(\r\n assetsSearchResult.Assets,\r\n localStorage.getItem(SettingsService.CURRENT_LANGUAGE)\r\n\r\n ).subscribe(\r\n assetsSearchResult => {\r\n this.showLoader = false;\r\n },\r\n error => {\r\n this.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n } else {\r\n this.showLoader = false;\r\n }\r\n },\r\n error => {\r\n this.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n\r\n }\r\n\r\n shouldShowPriceFlag = true;\r\n shouldShowPrice() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.functionsService.get(user.UserId).subscribe(\r\n result => {\r\n var item = result.filter(x => x.FunctionId == 10000)\r\n if (item.length === 0) {\r\n this.shouldShowPriceFlag = true;\r\n } else {\r\n this.shouldShowPriceFlag = false;\r\n }\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n shouldShowLeaseCostFlag = true;\r\n shouldShowLeaseCost() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.functionsService.get(user.UserId).subscribe(\r\n result => {\r\n var item = result.filter(x => x.FunctionId == 10007)\r\n if (item.length === 0) {\r\n this.shouldShowLeaseCostFlag = true;\r\n } else {\r\n this.shouldShowLeaseCostFlag = false;\r\n }\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n search() {\r\n this.noSearchDataAvailable = false;\r\n this.assets = null;\r\n this.showLoader = true;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n this.assetChangeService.selectedAssets = [];\r\n\r\n this.assetsService.search(\r\n this.query,\r\n currentChoosenBundle.bundleId,\r\n this.authenticationService.getCurrentLoggedInUserId(),\r\n this.page,\r\n this.pageSize,\r\n this.sortOrderDesc,\r\n this.sortByProperty,\r\n this.properties,\r\n this.getSelectedValues(this.costDivisions),\r\n this.getSelectedValues(this.statuses),\r\n this.getSelectedValues(this.locations),\r\n this.getSelectedValues(this.roles),\r\n this.getSelectedValues(this.manufacturers),\r\n this.getSelectedValues(this.sellToCustomers),\r\n this.getSelectedValues(this.FinanceAgreementNumbers),\r\n this.getSelectedValues(this.assetTypes),\r\n this.getSelectedValues(this.departments),\r\n this.getSelectedValues(this.companyNames),\r\n this.getSelectedValues(this.functionTypes),\r\n this.getSelectedValues(this.endOfLeaseOptions),\r\n this.getSelectedValues(this.financeStatuses),\r\n this.helperService.formatDate(this.deliveryDateFrom),\r\n this.helperService.formatDate(this.deliveryDateTo),\r\n this.helperService.formatDate(this.invoiceDateFrom),\r\n this.helperService.formatDate(this.invoiceDateTo),\r\n this.helperService.formatDate(this.leaseStartFrom),\r\n this.helperService.formatDate(this.leaseStartTo),\r\n this.helperService.formatDate(this.endOfLeaseFrom),\r\n this.helperService.formatDate(this.endOfLeaseTo),\r\n this.helperService.formatDate(this.orderDateFrom),\r\n this.helperService.formatDate(this.orderDateTo),\r\n this.helperService.formatDate(this.warrantyDateFrom),\r\n this.helperService.formatDate(this.warrantyDateTo),\r\n this.deliveryNotAcceptedOnly\r\n ).subscribe(\r\n assetsSearchResult => {\r\n\r\n if (this.assetsService.currentTimeStamp <= assetsSearchResult.TimeStamp) {\r\n this.assets = assetsSearchResult.Assets;\r\n this.page = this.page;\r\n this.total = assetsSearchResult.Total;\r\n this.isSelectAll = false;\r\n this.totalPages = assetsSearchResult.TotalPages;\r\n this.noSearchDataAvailable = false;\r\n if (this.assets.length === 0) {\r\n this.noSearchDataAvailable = true;\r\n }\r\n this.selectSelectedAssets();\r\n if (this.total > this.assetChangeService.selectedAssets.length) {\r\n this.isSelectAll = false;\r\n }\r\n\r\n this.alertService.eraseMessage();\r\n }\r\n this.showLoader = false;\r\n },\r\n error => {\r\n this.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n public getSelectedValues(selectedValues: Info[]): string[] {\r\n let values: string[] = [];\r\n selectedValues.forEach(element => {\r\n if (element.Checked) {\r\n values.push(element.Id);\r\n }\r\n });\r\n return values\r\n }\r\n\r\n isUsed(x: Property) {\r\n return x.Use;\r\n }\r\n\r\n isNotUsed(x: Property) {\r\n return !x.Use;\r\n }\r\n\r\n filterItems(show) {\r\n let usedResult: Property[] = this.transformByName(this.properties.filter(this.isUsed));\r\n let notUsedResult: Property[] = this.transformByName(this.properties.filter(this.isNotUsed));\r\n this.properties = usedResult.concat(notUsedResult);\r\n if (show) {\r\n return this.properties;\r\n }\r\n return this.properties.slice(0, this.getAmountOfUsed());\r\n }\r\n\r\n getAmountOfUsed() {\r\n let counter = 0;\r\n this.properties.forEach(element => {\r\n if (element.Use) {\r\n counter++;\r\n }\r\n });\r\n\r\n if (counter >= 5) {\r\n return counter;\r\n } else {\r\n return 5;\r\n }\r\n }\r\n\r\n transformByName(array: Array): Array {\r\n array.sort((a: Property, b: Property) => {\r\n if (a.ShowName < b.ShowName) {\r\n return -1;\r\n } else if (a.ShowName > b.ShowName) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n return array;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1zZWFyY2hyZXN1bHQtcGFnaW5nL2Fzc2V0LXNlYXJjaHJlc3VsdC1wYWdpbmcuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n \\r\\n
\"","import { Component } from '@angular/core';\r\nimport { AssetSearchService } from '../asset-search/asset-search.service';\r\nimport { AssetsService } from '../../_shared/asset/assets.service';\r\n\r\n@Component({\r\n selector: 'app-asset-searchresult-paging',\r\n templateUrl: './asset-searchresult-paging.component.html',\r\n styleUrls: ['./asset-searchresult-paging.component.css']\r\n})\r\nexport class AssetSearchresultPagingComponent {\r\n pageNumber: number = 1;\r\n pageSteps: number = 2;\r\n\r\n constructor(private assetSearchService: AssetSearchService\r\n ) {\r\n }\r\n\r\n\r\n goToSpecificPage(page) {\r\n this.assetSearchService.page = page;\r\n this.pageNumber = page;\r\n\r\n if (this.assetSearchService.page <= this.assetSearchService.total && this.assetSearchService.page > 0) {\r\n this.assetSearchService.search();\r\n }\r\n }\r\n shouldShowPage() {\r\n return (this.assetSearchService.assets != null && this.assetSearchService.assets != undefined && this.assetSearchService.assets.length > 0) && !this.assetSearchService.showLoader;\r\n }\r\n\r\n subractPage() {\r\n if (this.assetSearchService.page > 1) {\r\n this.assetSearchService.page = this.assetSearchService.page - 1;\r\n this.assetSearchService.search();\r\n }\r\n }\r\n addPage() {\r\n if (+this.assetSearchService.page + 1 <= this.assetSearchService.totalPages) {\r\n this.assetSearchService.page = +this.assetSearchService.page + 1;\r\n this.assetSearchService.search();\r\n }\r\n }\r\n\r\n isActive(page) {\r\n return (page + 1) == this.assetSearchService.page ? 'active' : '';\r\n }\r\n\r\n clickOnPageLink(newPage: number) {\r\n this.assetSearchService.page = newPage + 1;\r\n this.pageNumber = newPage + 1;\r\n if (this.assetSearchService.page <= this.assetSearchService.total && this.assetSearchService.page > 0) {\r\n this.assetSearchService.search();\r\n }\r\n }\r\n\r\n\r\n calcPagesCount() {\r\n var totalPagesArray = Array(this.assetSearchService.totalPages).fill(0).map((x, i) => i);\r\n if (this.assetSearchService.page > 2) {\r\n return totalPagesArray.slice((this.assetSearchService.page - 1) - this.assetSearchService.pageSteps, +this.assetSearchService.page + this.assetSearchService.pageSteps);\r\n }\r\n return totalPagesArray.slice(0, this.assetSearchService.pagesToShow);\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9hc3NldC1zZWFyY2hyZXN1bHQvYXNzZXQtc2VhcmNocmVzdWx0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n \\r\\n\\r\\n\\r\\n
{{'NO_DATA_AVAILABLE' | translate}}
\\r\\n\\r\\n
0 && !assetSearchService.showLoader\\\">\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n {{assetChangeService.selectedAssets.length}}\\r\\n {{'ASSETS_SELECTED' | translate}}\\r\\n
\\r\\n
\\r\\n {{'EXPORT_SELECTION' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{'CLEAR_SELECTION' | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{assetSearchService.total}}\\r\\n assets\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{'EXPORT_ALL' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Asset
\\r\\n
\\r\\n
{{'COSTCENTER' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Order
\\r\\n
{{'LATEST_FIRST' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'STATUS' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'ACTIVITY' | translate}}
\\r\\n
{{'LATEST_FIRST' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'DELIVERY_DATE' | translate}}
\\r\\n
\\r\\n {{'LATEST_FIRST' | translate}}\\r\\n
\\r\\n
\\r\\n {{'OLDEST_FIRST' | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'USER_ID' | translate}}
\\r\\n
\\r\\n
{{'USER_EMAIL' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'INVOICEDATE' | translate}}
\\r\\n
\\r\\n {{'LATEST_FIRST' | translate}}\\r\\n
\\r\\n
\\r\\n {{'OLDEST_FIRST' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'INVOICE_NUMBER' | translate}}
\\r\\n
\\r\\n
{{'PRICE' | translate}}
\\r\\n
\\r\\n
{{'EQUIPMENT_ID' | translate}}
\\r\\n
\\r\\n
{{'USER_PHONE' | translate}}
\\r\\n
\\r\\n
{{'ORDER_NUMBER' | translate}}
\\r\\n
\\r\\n
{{'INSTALLATION_ROOM' | translate}}
\\r\\n
\\r\\n
{{'INSTALLATION_FLOOR' | translate}}
\\r\\n
\\r\\n
{{'FINANCE_AGREEMENT_NO' | translate}}
\\r\\n
\\r\\n
{{'LEASE_START' | translate}}
\\r\\n
\\r\\n
{{'LEASE_END' | translate}}
\\r\\n
\\r\\n
{{'PERSONAL_CODE_NUMBER' | translate}}
\\r\\n
\\r\\n
{{'OTHER_INFO' | translate}}
\\r\\n
\\r\\n
{{'DEPARTMENT' | translate}}
\\r\\n
\\r\\n
{{'USER_NAME' | translate}}
\\r\\n
\\r\\n
{{'LEASE_COST' | translate}}
\\r\\n
\\r\\n
{{'ROLE' | translate}}
\\r\\n
\\r\\n
{{'FUNCTION_TYPE' | translate}}
\\r\\n
\\r\\n
{{'END_OF_LEASE_OPTION' | translate}}
\\r\\n
\\r\\n
{{'FINANCE_STATUS' | translate}}
\\r\\n
\\r\\n
{{'DELIVERY_ACCEPTED' | translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.AssetNumber}} | {{asset.PartDescription}}\\r\\n
\\r\\n
\\r\\n {{asset.Manufacturer}} | SN: {{asset.SerialNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.CostCenterText}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.OrderDate | date: 'yyyy-MM-dd'}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{getStatusText(asset.Status)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.LastModified | date: 'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.DeliveryDate | date: 'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.UserId}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.UserEmail}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.InvoiceDate | date: 'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.InvoiceNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.PartNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{asset.Price}}\\r\\n
\\r\\n
\\r\\n
{{asset.EquipmentId}}
\\r\\n
\\r\\n
{{asset.UserPhone}}
\\r\\n
\\r\\n
{{asset.OrderNumber}}
\\r\\n
\\r\\n
{{asset.InstallationRoom}}
\\r\\n
\\r\\n
{{asset.InstallationFloor}}
\\r\\n
\\r\\n
{{asset.FinanceAgreementNumber}}
\\r\\n
\\r\\n
{{asset.LeaseStart | date: 'yyyy-MM-dd' }}
\\r\\n
\\r\\n
{{asset.LeaseEnd | date: 'yyyy-MM-dd' }}
\\r\\n
\\r\\n
{{asset.PersonalCodeNumber}}
\\r\\n
\\r\\n
{{asset.OtherInfo}}
\\r\\n
\\r\\n
{{asset.Department}}
\\r\\n
\\r\\n
{{asset.UserFullName}}
\\r\\n
\\r\\n
{{asset.LeaseCost}}
\\r\\n
\\r\\n
{{asset.Role}}
\\r\\n
\\r\\n
{{asset.FunctionType}}
\\r\\n
\\r\\n
{{asset.EndOfLeaseOption | translate}}
\\r\\n
\\r\\n
{{asset.FinanceStatusText | translate}}
\\r\\n
\\r\\n
{{asset.DeliveryAccepted | date: 'yyyy-MM-dd'}}
\\r\\n
\\r\\n
\\r\\n \\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, OnInit } from '@angular/core';\r\nimport { AssetSearchService } from '../asset-search/asset-search.service';\r\nimport { AssetChangeService } from '../asset-change/asset-change.service';\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { FunctionsService } from '../../_shared/functions/functions.service';\r\nimport { HelperService } from '../../_shared/helper/helper.service';\r\nimport { AssetsService } from '../../_shared/asset/assets.service';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\nimport { PropertiesService } from '../../_shared/properties/properties.service';\r\nimport { AlertService } from '../../_shared/alert/alert.service';\r\nimport { AccessRightsService } from '../../_shared/access-rights/access-rights.service';\r\nimport { flatten } from '@angular/core/src/render3/util';\r\n\r\n@Component({\r\n selector: 'app-asset-searchresult',\r\n templateUrl: './asset-searchresult.component.html',\r\n styleUrls: ['./asset-searchresult.component.css']\r\n})\r\nexport class AssetSearchresultComponent implements OnInit {\r\n public isFirstTime = true;\r\n public showMore = false;\r\n public editAsset: boolean = false;\r\n public shouldShowActionList: boolean = false;\r\n\r\n constructor(\r\n public assetSearchService: AssetSearchService,\r\n private assetChangeService: AssetChangeService,\r\n private functionsService: FunctionsService,\r\n private helperService: HelperService,\r\n private assetsService: AssetsService,\r\n private authenticationService: AuthenticationService,\r\n private alertService: AlertService,\r\n private propertiesService: PropertiesService,\r\n private accessRightsService: AccessRightsService\r\n ) {\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.shouldShowPrice();\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n this.isIE = this.helperService.isBrowserIE();;\r\n this.getAssetProperties();\r\n this.setShouldShowActionList();\r\n }\r\n\r\n enableEOLMassChange(): boolean {\r\n let bundleId = SettingsService.getCurrentBundle().bundleId;\r\n var host: string = window.location.host;\r\n let enableEOL: boolean = false;\r\n \r\n if ((host.indexOf('aampqa.atea') !== -1 || host.indexOf('localhost') !== -1 || host.indexOf('alms-spa-dev.azurewebsites') !== -1) && (bundleId === 11865 || bundleId === 10012 || bundleId === 10714)) {\r\n enableEOL = true;\r\n }\r\n else if (host.indexOf('aamp.atea') !== -1 && (bundleId === 12124 || bundleId === 12125 || bundleId === 10012 || bundleId === 10714)) {\r\n enableEOL = true;\r\n }\r\n\r\n return enableEOL;\r\n }\r\n\r\n checkedColumnsLength(): number {\r\n return this.assetSearchService.columns.filter(x => x.Checked).length;\r\n }\r\n exportexport() {\r\n this.assetSearchService.exportAll();\r\n }\r\n exportSelection() {\r\n this.assetSearchService.exportSelection();\r\n }\r\n compareSearchResultAssetsWithSelectedAssets() {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n this.assetsService.search(\r\n this.assetSearchService.query,\r\n currentChoosenBundle.bundleId,\r\n this.authenticationService.getCurrentLoggedInUserId(),\r\n this.assetSearchService.page,\r\n 0,\r\n this.assetSearchService.sortOrderDesc,\r\n this.assetSearchService.sortByProperty,\r\n this.assetSearchService.properties,\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.costDivisions),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.statuses),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.locations),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.roles),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.manufacturers),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.sellToCustomers),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.FinanceAgreementNumbers),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.assetTypes),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.departments),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.companyNames),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.functionTypes),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.endOfLeaseOptions),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.financeStatuses),\r\n this.helperService.formatDate(this.assetSearchService.deliveryDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.deliveryDateTo),\r\n this.helperService.formatDate(this.assetSearchService.invoiceDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.invoiceDateTo),\r\n this.helperService.formatDate(this.assetSearchService.leaseStartFrom),\r\n this.helperService.formatDate(this.assetSearchService.leaseStartTo),\r\n this.helperService.formatDate(this.assetSearchService.endOfLeaseFrom),\r\n this.helperService.formatDate(this.assetSearchService.endOfLeaseTo),\r\n this.helperService.formatDate(this.assetSearchService.orderDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.orderDateTo),\r\n this.helperService.formatDate(this.assetSearchService.warrantyDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.warrantyDateTo),\r\n this.assetSearchService.deliveryNotAcceptedOnly\r\n ).subscribe(\r\n assetsSearchResult => {\r\n assetsSearchResult.Assets.forEach(element => {\r\n var asset = this.assetChangeService.selectedAssets.filter(x => x.AssetNumber == element.AssetNumber)[0];\r\n if (asset === undefined) {\r\n this.assetSearchService.isSelectAll = false;\r\n }\r\n if (asset.Selected === false) {\r\n this.assetSearchService.isSelectAll = false;\r\n }\r\n });\r\n this.assetSearchService.isSelectAll = true;\r\n\r\n },\r\n error =>{\r\n\r\n });\r\n }\r\n selectAsset = function (asset) {\r\n if (asset.Selected) {\r\n this.assetChangeService.selectedAssets.push(asset);\r\n if (this.assetChangeService.selectedAssets.length === this.assetSearchService.total) {\r\n this.assetSearchService.isSelectAll = true;\r\n }\r\n if (this.assetChangeService.selectedAssets.length > this.assetSearchService.total) {\r\n this.compareSearchResultAssetsWithSelectedAssets();\r\n }\r\n } else {\r\n this.assetSearchService.isSelectAll = false;\r\n var selectedAsset = this.assetChangeService.selectedAssets.filter(x => x.AssetNumber == asset.AssetNumber)[0]\r\n this.assetChangeService.selectedAssets = this.assetChangeService.selectedAssets.filter(obj => obj !== selectedAsset);\r\n }\r\n }\r\n selectDeSelectAll() {\r\n this.assetSearchService.isSelectAll = !this.assetSearchService.isSelectAll;\r\n if (this.assetSearchService.isSelectAll) {\r\n this.selectAll();\r\n } else {\r\n this.deSelectAll();\r\n }\r\n }\r\n\r\n\r\n modifyAssets(type: string) {\r\n if (type === \"status\") {\r\n this.assetChangeService.modifyAsset = 1;\r\n } else if (type === \"lease\") {\r\n this.assetChangeService.modifyAsset = 2;\r\n } else if (type === \"costdivision\") {\r\n this.assetChangeService.modifyAsset = 3;\r\n }\r\n this.assetChangeService.focusList();\r\n\r\n this.assetChangeService.showModifyAsset = true;\r\n\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.assetChangeService.showPermissionsWarning = false;\r\n this.assetChangeService.showPermissionsLoading = true;\r\n this.assetChangeService.verifyMassChange(currentChoosenBundle.bundleId, user.UserId, this.assetChangeService.selectedAssets)\r\n .subscribe(\r\n result => { \r\n this.assetChangeService.showPermissionsWarning = !result.IsValid; \r\n this.assetChangeService.writableAssetCount = result.WritableAssetCount;\r\n this.assetChangeService.showPermissionsLoading = false;\r\n },\r\n error => {\r\n this.assetChangeService.showPermissionsLoading = false;\r\n console.log(error); \r\n }\r\n );\r\n }\r\n deSelectAll() {\r\n this.assetSearchService.isSelectAll = false;\r\n this.assetChangeService.selectedAssets = [];\r\n this.assetSearchService.assets.forEach(element => {\r\n var selectedAsset = this.assetChangeService.selectedAssets.filter(x => x.AssetNumber == element.AssetNumber)[0]\r\n element.Selected = false;\r\n });\r\n }\r\n isIE = false;\r\n setIEClass() {\r\n if (this.isIE) {\r\n return 'searchcontrol-checkbox-ie';\r\n }\r\n return ''\r\n }\r\n shouldShowPrice() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.functionsService.get(user.UserId).subscribe(\r\n result => {\r\n var item = result.filter(x => x.FunctionId == 10000)\r\n if (item.length === 0) {\r\n this.assetSearchService.shouldShowPriceFlag = true;\r\n } else {\r\n this.assetSearchService.shouldShowPriceFlag = false;\r\n }\r\n },\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n selectAll = function () {\r\n this.assets = null;\r\n this.assetSearchService.showLoader = true;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle();\r\n\r\n this.assetsService.search(\r\n this.assetSearchService.query,\r\n currentChoosenBundle.bundleId,\r\n this.authenticationService.getCurrentLoggedInUserId(),\r\n this.assetSearchService.page,\r\n 0,\r\n this.assetSearchService.sortOrderDesc,\r\n this.assetSearchService.sortByProperty,\r\n this.assetSearchService.properties,\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.costDivisions),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.statuses),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.locations),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.roles),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.manufacturers),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.sellToCustomers),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.FinanceAgreementNumbers),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.assetTypes),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.departments),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.companyNames),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.functionTypes),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.endOfLeaseOptions),\r\n this.assetSearchService.getSelectedValues(this.assetSearchService.financeStatuses),\r\n this.helperService.formatDate(this.assetSearchService.deliveryDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.deliveryDateTo),\r\n this.helperService.formatDate(this.assetSearchService.invoiceDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.invoiceDateTo),\r\n this.helperService.formatDate(this.assetSearchService.leaseStartFrom),\r\n this.helperService.formatDate(this.assetSearchService.leaseStartTo),\r\n this.helperService.formatDate(this.assetSearchService.endOfLeaseFrom),\r\n this.helperService.formatDate(this.assetSearchService.endOfLeaseTo),\r\n this.helperService.formatDate(this.assetSearchService.orderDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.orderDateTo),\r\n this.helperService.formatDate(this.assetSearchService.warrantyDateFrom),\r\n this.helperService.formatDate(this.assetSearchService.warrantyDateTo),\r\n this.assetSearchService.deliveryNotAcceptedOnly\r\n ).subscribe(\r\n assetsSearchResult => {\r\n\r\n assetsSearchResult.Total = assetsSearchResult.Total;;\r\n assetsSearchResult.Assets.forEach(element => {\r\n element.Selected = true;\r\n if (this.assetChangeService.selectedAssets.filter(x => x.AssetNumber == element.AssetNumber)[0] == undefined) {\r\n this.assetChangeService.selectedAssets.push(element);\r\n }\r\n var asset = this.assetSearchService.assets.filter(x => x.AssetNumber == element.AssetNumber)[0]\r\n if (asset != undefined) {\r\n asset.Selected = true;\r\n }\r\n });\r\n this.isAllSelected(assetsSearchResult.Assets);\r\n this.assetSearchService.showLoader = false;\r\n\r\n },\r\n error => {\r\n this.assetSearchService.showLoader = false;\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n isAllSelected(allAssets) {\r\n allAssets.forEach(element => {\r\n var asset = this.assetChangeService.selectedAssets.filter(x => x.AssetNumber == element.AssetNumber)[0];\r\n if (asset === undefined) {\r\n this.assetSearchService.isSelectAll = false;\r\n }\r\n else if (asset.Selected === false) {\r\n this.assetSearchService.isSelectAll = false;\r\n }\r\n });\r\n this.assetSearchService.isSelectAll = true;\r\n }\r\n sortByProperty(property: string) {\r\n if (this.assetSearchService.properties.filter(x => x.Name == property).length > 0) {\r\n this.assetSearchService.sortByProperty = property;\r\n this.assetSearchService.sortOrderDesc = !this.assetSearchService.sortOrderDesc;\r\n this.assetSearchService.search();\r\n }\r\n }\r\n inputSearchOnFocus = function () {\r\n this.assetSearchService.showMassChange = false;\r\n }\r\n unselectAll = function () {\r\n this.assetSearchService.assets.forEach(element => {\r\n var selectedAsset = this.assetChangeService.selectedAssets.filter(x => x.AssetNumber == element.AssetNumber)[0]\r\n if (selectedAsset !== undefined) {\r\n this.assetChangeService.selectedAssets = this.assetChangeService.selectedAssets.filter(obj => obj !== selectedAsset);\r\n }\r\n element.Selected = false;\r\n });\r\n }\r\n changePageSize(pageSize: number) {\r\n this.assetSearchService.pageSize = pageSize;\r\n this.assetSearchService.search();\r\n }\r\n getStatusText(status) {\r\n if (status) {\r\n return this.assetSearchService.statuses.filter(x => x.Id === status.toString()).length >0 ? this.assetSearchService.statuses.filter(x => x.Id === status.toString())[0].Name : \"\";\r\n }\r\n \r\n return \"\";\r\n }\r\n test = function () {\r\n return this.assetSearchService.assets.length;\r\n }\r\n\r\n getAssetProperties() {\r\n this.propertiesService.query('assets').subscribe(\r\n result => {\r\n if (!this.assetSearchService.properties)\r\n this.assetSearchService.properties = result;\r\n },\r\n error => {\r\n this.alertService.error(error);\r\n }\r\n );\r\n }\r\n\r\n setShouldShowActionList() {\r\n\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.accessRightsService.getAccessRightsBy(user.UserId).subscribe(result => {\r\n this.shouldShowActionList = result.filter(x => x.BundleId == currentChoosenBundle.bundleId \r\n && x.ModuleName == \"AAMP2\"\r\n && x.AccessLevel == \"Write\").length > 0;\r\n\r\n }, error => {console.log(error); });\r\n\r\n \r\n\r\n \r\n }\r\n}\r\n","module.exports = \"
{{label}}
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Fzc2V0cy9kYXRlLXJhbmdlLXByb3BlcnR5L2RhdGUtcmFuZ2UtcHJvcGVydHkuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport * as moment from 'moment'\r\nimport { SettingsService } from '../../_shared/settings/settings.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-date-range-property',\r\n templateUrl: './date-range-property.component.html',\r\n styleUrls: ['./date-range-property.component.scss']\r\n})\r\nexport class DateRangePropertyComponent implements OnInit {\r\n @Input() label: string = ''; // Label value for input element\r\n\r\n constructor( private translate: TranslateService,\r\n ) {\r\n // moment.locale('en-gb');\r\n }\r\n locale = {\r\n applyLabel: 'ok', \r\n format: 'DD-MM-YYYY',\r\n daysOfWeek: moment.weekdaysMin(),\r\n monthNames: moment.monthsShort(),\r\n firstDay: moment.localeData().firstDayOfWeek()\r\n };\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n selected: {startDate: moment.Moment, endDate: moment.Moment};\r\n\r\neraseDate(){\r\n \r\n this.selected = null;\r\n}\r\n\r\nfocus(){\r\n var currentLang = localStorage.getItem(SettingsService.CURRENT_LANGUAGE)\r\n if (currentLang !== undefined) {\r\n if(currentLang === \"sv\"){\r\n moment.locale(\"sv\");\r\n }else{\r\n moment.locale('en-gb');\r\n }\r\n }else{\r\n const browserLang = this.translate.getBrowserLang();\r\n if(browserLang === \"sv\"){\r\n moment.locale(\"sv\");\r\n }else{\r\n moment.locale('en-gb');\r\n }\r\n }\r\n // moment.locale('sv');\r\n this.locale = {\r\n applyLabel: 'ok', \r\n format: 'DD-MM-YYYY',\r\n daysOfWeek: moment.weekdaysMin(),\r\n monthNames: moment.monthsShort(),\r\n firstDay: moment.localeData().firstDayOfWeek()\r\n };\r\n}\r\n}\r\n","module.exports = \".select-dropdown{\\r\\n width: 278px;\\r\\n height: 309px;\\r\\n position: absolute;\\r\\n z-index: 999;\\r\\n display: inline-block;\\r\\n}\\r\\n.select-dropdown .active{\\r\\n border-top: solid 1px #78b2be;\\r\\n border-left: solid 1px #78b2be;\\r\\n border-right: solid 1px #78b2be;\\r\\n border-bottom: 1px solid rgba(31, 35, 38, 0.04)!important;\\r\\n \\r\\n}\\r\\n.select-dropdown .input-group{\\r\\n width: 276px;\\r\\n border: none;\\r\\n}\\r\\n.select-dropdown input{\\r\\n background-color: #ffffff;\\r\\n border-radius: 0px;\\r\\n height: 48px;\\r\\n border: 1px solid #8c969d;\\r\\n}\\r\\n.select-dropdown:focus,\\r\\n/* input[type=\\\"text\\\"]:focus,\\r\\ninput[type=\\\"password\\\"]:focus,\\r\\ninput[type=\\\"datetime\\\"]:focus,\\r\\ninput[type=\\\"datetime-local\\\"]:focus,\\r\\ninput[type=\\\"date\\\"]:focus,\\r\\ninput[type=\\\"month\\\"]:focus,\\r\\ninput[type=\\\"time\\\"]:focus,\\r\\ninput[type=\\\"week\\\"]:focus,\\r\\ninput[type=\\\"number\\\"]:focus,\\r\\ninput[type=\\\"email\\\"]:focus,\\r\\ninput[type=\\\"url\\\"]:focus,\\r\\ninput[type=\\\"search\\\"]:focus,\\r\\ninput[type=\\\"tel\\\"]:focus,\\r\\ninput[type=\\\"color\\\"]:focus, */\\r\\n.uneditable-input:focus { \\r\\n /* border-top: solid 1px red;\\r\\n border-left: solid 1px red;\\r\\n border-right: solid 1px red;\\r\\n border-bottom: solid 1px red;; */\\r\\n border-top: solid 1px #78b2be;\\r\\n border-left: solid 1px #78b2be;\\r\\n border-right: solid 1px #78b2be;\\r\\n border-bottom: solid 1px #78b2be;\\r\\n box-shadow: none;\\r\\n}\\r\\n.select-dropdown .input-group-addon{\\r\\n background-color: #ffffff;\\r\\n border-radius: 0px;\\r\\n padding: 14px 20px 12px 17px;\\r\\n border-top: solid 1px #8c969d;\\r\\n border-right: solid 1px #8c969d;\\r\\n border-bottom: solid 1px #8c969d;\\r\\n \\r\\n}\\r\\n.select-dropdown .list{\\r\\n box-shadow: 0 8px 24px 0 rgba(31, 35, 38, 0.16);\\r\\n background-color: #ffffff;\\r\\n border-left: solid 1px #78b2be;\\r\\n border-right: solid 1px #78b2be;\\r\\n border-bottom: solid 1px #78b2be;\\r\\n overflow-y:scroll;\\r\\n overflow-x: hidden;\\r\\n height: 241px;\\r\\n width: 276px;\\r\\n position: absolute;\\r\\n}\\r\\n.select-dropdown .list .select-all{\\r\\n padding: 7px 0px 7px 16px;\\r\\n border-top: 1px solid rgba(31, 35, 38, 0.04);\\r\\n border-bottom: 1px solid rgba(31, 35, 38, 0.04);}\\r\\n.select-dropdown .list .select-all .control{\\r\\n padding: 0px 0px 0px 27px;\\r\\n margin: 0px;\\r\\n }\\r\\n.select-dropdown .list .select-all .control_indicator {\\r\\n top: 0px;\\r\\n\\r\\n }\\r\\n.select-dropdown .list ul{\\r\\n margin: 0; \\r\\n padding: 0; \\r\\n list-style: none; \\r\\n}\\r\\n.select-dropdown .list ul li{\\r\\n padding: 10px 0px 10px 16px;\\r\\n width: 100%;\\r\\n}\\r\\n.select-dropdown .list ul li label{\\r\\n display: inline-block;\\r\\n font-size: 16px;\\r\\n font-weight: normal;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.63;\\r\\n letter-spacing: 0.3px;\\r\\n color: #4d575d;\\r\\n}\\r\\n/* width */\\r\\n.select-dropdown ::-webkit-scrollbar {\\r\\n width: 16px;\\r\\n}\\r\\n/* Track */\\r\\n.select-dropdown ::-webkit-scrollbar-track {\\r\\n box-shadow: inset 0 0 5px grey; \\r\\n border-radius: 10px;\\r\\n}\\r\\n/* Handle */\\r\\n.select-dropdown ::-webkit-scrollbar-thumb {\\r\\n border-radius: 10px;\\r\\n background-color: #c1c1c1;\\r\\n}\\r\\n/* Handle on hover */\\r\\n.select-dropdown ::-webkit-scrollbar-thumb:hover {\\r\\n background: #c1c1c1 ; \\r\\n}\\r\\n@media only screen and (max-width: 767px) {\\r\\n .select-dropdown{\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n } */\\r\\n \\r\\n.select-dropdown .input-group{\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n border: none;\\r\\n position: relative;\\r\\n height: 42px\\r\\n }\\r\\n .select-dropdown .list{\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n position: relative;\\r\\n\\r\\n}\\r\\n.select-dropdown .input-group-addon{\\r\\n background-color: #ffffff;\\r\\n border-radius: 0px;\\r\\n padding: 14px 20px 18px 20px;\\r\\n border-top: solid 1px #8c969d;\\r\\n border-left: solid 1px #8c969d;\\r\\n border-bottom: solid 1px #8c969d;\\r\\n position: absolute;\\r\\n right: 0px;\\r\\n z-index: 9999999;\\r\\n}\\r\\n.select-dropdown{\\r\\n padding-top: 10px;\\r\\n}\\r\\n}\\r\\n/* .control2 {\\r\\n font-family: arial;\\r\\n display: block;\\r\\n position: relative;\\r\\n padding-left: 30px;\\r\\n margin-bottom: 5px;\\r\\n padding-top: 3px;\\r\\n cursor: pointer;\\r\\n font-size: 16px;\\r\\n} */\\r\\n/* .control2 input {\\r\\n position: absolute;\\r\\n z-index: -1;\\r\\n opacity: 0;\\r\\n } */\\r\\n/* .control_indicator {\\r\\n position: absolute;\\r\\n top: 2px;\\r\\n left: 0;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n background: #e6e6e6;\\r\\n border: 0px solid #000000;}\\r\\n \\r\\n.control-radio .control_indicator {\\r\\n border-radius: 0px;\\r\\n} */\\r\\n/* \\r\\n.control2:hover input ~ .control_indicator,\\r\\n.control2 input:focus ~ .control_indicator {\\r\\n background: #cccccc;\\r\\n}\\r\\n\\r\\n.control2 input:checked ~ .control_indicator {\\r\\n background: #2aa1c0;\\r\\n} */\\r\\n/*\\r\\n.control:hover input:not([disabled]):checked ~ .control_indicator,\\r\\n.control input:checked:focus ~ .control_indicator {\\r\\n background: #0e6647;\\r\\n}\\r\\n.control input:disabled ~ .control_indicator {\\r\\n background: #e6e6e6;\\r\\n opacity: 0.6;\\r\\n pointer-events: none;\\r\\n}\\r\\n.control_indicator:after {\\r\\n box-sizing: unset;\\r\\n content: '';\\r\\n position: absolute;\\r\\n display: none;\\r\\n}\\r\\n.control input:checked ~ .control_indicator:after {\\r\\n display: block;\\r\\n}\\r\\n.control-checkbox .control_indicator:after {\\r\\n left: 8px;\\r\\n top: 4px;\\r\\n width: 3px;\\r\\n height: 8px;\\r\\n border: solid #ffffff;\\r\\n border-width: 0 2px 2px 0;\\r\\n transform: rotate(45deg);\\r\\n}\\r\\n.control-checkbox input:disabled ~ .control_indicator:after {\\r\\n border-color: #7b7b7b;\\r\\n} */ \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0dBQ0csWUFBWTtHQUNaLGFBQWE7R0FDYixrQkFBa0I7R0FDbEIsWUFBWTtHQUNaLHFCQUFxQjtBQUN4QjtBQUNBO0lBQ0ksNkJBQTZCO0lBQzdCLDhCQUE4QjtJQUM5QiwrQkFBK0I7SUFDL0IseURBQXlEOztBQUU3RDtBQUNBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7QUFDaEI7QUFDQTtFQUNFLHlCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLHlCQUF5QjtBQUMzQjtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7O0lBZ0JJOzs7b0NBR2dDO0lBQ2hDLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyxnQkFBZ0I7QUFDcEI7QUFHQTtJQUNJLHlCQUF5QjtJQUN6QixrQkFBa0I7SUFDbEIsNEJBQTRCO0lBQzVCLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0IsZ0NBQWdDOztBQUVwQztBQUNBO0lBQ0ksK0NBQStDO0lBQy9DLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSx5QkFBeUI7SUFDekIsNENBQTRDO0lBQzVDLCtDQUErQyxDQUFDO0FBQ2hEO1lBQ1EseUJBQXlCO1lBQ3pCLFdBQVc7SUFDbkI7QUFDQTtRQUNJLFFBQVE7O0lBRVo7QUFFSjtJQUNJLFNBQVM7SUFDVCxVQUFVO0lBQ1YsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSwyQkFBMkI7SUFDM0IsV0FBVztBQUNmO0FBQ0E7SUFDSSxxQkFBcUI7SUFDckIsZUFBZTtFQUNqQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLGNBQWM7QUFDaEI7QUFHQSxVQUFVO0FBQ1Y7SUFDSSxXQUFXO0FBQ2Y7QUFFQSxVQUFVO0FBQ1Y7SUFDSSw4QkFBOEI7SUFDOUIsbUJBQW1CO0FBQ3ZCO0FBRUEsV0FBVztBQUNYO0lBQ0ksbUJBQW1CO0lBQ25CLHlCQUF5QjtBQUM3QjtBQUVBLG9CQUFvQjtBQUNwQjtJQUNJLG9CQUFvQjtBQUN4QjtBQUdHO0lBQ0M7UUFDSSxxQkFBcUI7UUFDckIsV0FBVztRQUNYLGtCQUFrQjtLQUNyQixFQUFFOzs7SUFHSCxxQkFBcUI7SUFDckIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEI7RUFDRjtFQUNBO0lBQ0UscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxrQkFBa0I7O0FBRXRCO0FBQ0E7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsOEJBQThCO0lBQzlCLGdDQUFnQztJQUNoQyxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksaUJBQWlCO0FBQ3JCO0FBQ0E7QUFFQzs7Ozs7Ozs7O0dBU0U7QUFFQzs7OztPQUlHO0FBQ1A7Ozs7Ozs7Ozs7O0lBV0k7QUFDSjs7Ozs7Ozs7R0FRRztBQUNIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4QkciLCJmaWxlIjoic3JjL2FwcC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2VsZWN0LWRyb3Bkb3due1xyXG4gICB3aWR0aDogMjc4cHg7XHJcbiAgIGhlaWdodDogMzA5cHg7XHJcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgei1pbmRleDogOTk5O1xyXG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLnNlbGVjdC1kcm9wZG93biAuYWN0aXZle1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICM3OGIyYmU7XHJcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICM3OGIyYmU7XHJcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjNzhiMmJlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzEsIDM1LCAzOCwgMC4wNCkhaW1wb3J0YW50O1xyXG4gICAgXHJcbn1cclxuLnNlbGVjdC1kcm9wZG93biAuaW5wdXQtZ3JvdXB7XHJcbiAgICB3aWR0aDogMjc2cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuLnNlbGVjdC1kcm9wZG93biBpbnB1dHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICBoZWlnaHQ6IDQ4cHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzhjOTY5ZDtcclxufVxyXG5cclxuLnNlbGVjdC1kcm9wZG93bjpmb2N1cyxcclxuLyogaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXHJcbmlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXHJcbmlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cyxcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcclxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsICovXHJcbi51bmVkaXRhYmxlLWlucHV0OmZvY3VzIHsgICBcclxuICAgIC8qIGJvcmRlci10b3A6IHNvbGlkIDFweCByZWQ7XHJcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4IHJlZDtcclxuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4IHJlZDtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCByZWQ7OyAqL1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICM3OGIyYmU7XHJcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICM3OGIyYmU7XHJcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjNzhiMmJlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM3OGIyYmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5cclxuLnNlbGVjdC1kcm9wZG93biAuaW5wdXQtZ3JvdXAtYWRkb257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgcGFkZGluZzogMTRweCAyMHB4IDEycHggMTdweDtcclxuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjOGM5NjlkO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzhjOTY5ZDtcclxuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjOGM5NjlkO1xyXG4gICAgXHJcbn1cclxuLnNlbGVjdC1kcm9wZG93biAubGlzdHtcclxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggMCByZ2JhKDMxLCAzNSwgMzgsIDAuMTYpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggIzc4YjJiZTtcclxuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICM3OGIyYmU7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzc4YjJiZTtcclxuICAgIG92ZXJmbG93LXk6c2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAyNDFweDtcclxuICAgIHdpZHRoOiAyNzZweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG4uc2VsZWN0LWRyb3Bkb3duIC5saXN0IC5zZWxlY3QtYWxse1xyXG4gICAgcGFkZGluZzogN3B4IDBweCA3cHggMTZweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDMxLCAzNSwgMzgsIDAuMDQpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzEsIDM1LCAzOCwgMC4wNCk7fVxyXG4gICAgLnNlbGVjdC1kcm9wZG93biAubGlzdCAuc2VsZWN0LWFsbCAuY29udHJvbHtcclxuICAgICAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMjdweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0LWRyb3Bkb3duIC5saXN0IC5zZWxlY3QtYWxsIC5jb250cm9sX2luZGljYXRvciB7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcblxyXG4gICAgfVxyXG5cclxuLnNlbGVjdC1kcm9wZG93biAubGlzdCB1bHtcclxuICAgIG1hcmdpbjogMDsgXHJcbiAgICBwYWRkaW5nOiAwOyBcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IFxyXG59XHJcbi5zZWxlY3QtZHJvcGRvd24gLmxpc3QgdWwgbGl7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDE2cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG4uc2VsZWN0LWRyb3Bkb3duIC5saXN0IHVsIGxpIGxhYmVse1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjYzO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcclxuICBjb2xvcjogIzRkNTc1ZDtcclxufVxyXG5cclxuXHJcbi8qIHdpZHRoICovXHJcbi5zZWxlY3QtZHJvcGRvd24gOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogMTZweDtcclxufVxyXG5cclxuLyogVHJhY2sgKi9cclxuLnNlbGVjdC1kcm9wZG93biA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggZ3JleTsgXHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcbiBcclxuLyogSGFuZGxlICovXHJcbi5zZWxlY3QtZHJvcGRvd24gOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MxYzFjMTtcclxufVxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbi5zZWxlY3QtZHJvcGRvd24gOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYzFjMWMxIDsgXHJcbn1cclxuXHJcblxyXG4gICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuc2VsZWN0LWRyb3Bkb3due1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgfSAqL1xyXG4gICAgIFxyXG4uc2VsZWN0LWRyb3Bkb3duIC5pbnB1dC1ncm91cHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiA0MnB4XHJcbiAgfVxyXG4gIC5zZWxlY3QtZHJvcGRvd24gLmxpc3R7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbn1cclxuLnNlbGVjdC1kcm9wZG93biAuaW5wdXQtZ3JvdXAtYWRkb257XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgcGFkZGluZzogMTRweCAyMHB4IDE4cHggMjBweDtcclxuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjOGM5NjlkO1xyXG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjOGM5NjlkO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM4Yzk2OWQ7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgei1pbmRleDogOTk5OTk5OTtcclxufVxyXG4uc2VsZWN0LWRyb3Bkb3due1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxufSBcclxuXHJcbiAvKiAuY29udHJvbDIge1xyXG4gICAgZm9udC1mYW1pbHk6IGFyaWFsO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59ICovXHJcblxyXG4gICAgLyogLmNvbnRyb2wyIGlucHV0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH0gKi9cclxuLyogLmNvbnRyb2xfaW5kaWNhdG9yIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMnB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcclxuICAgIGJvcmRlcjogMHB4IHNvbGlkICMwMDAwMDA7fVxyXG4gXHJcbi5jb250cm9sLXJhZGlvIC5jb250cm9sX2luZGljYXRvciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbn0gICovXHJcbi8qIFxyXG4uY29udHJvbDI6aG92ZXIgaW5wdXQgfiAuY29udHJvbF9pbmRpY2F0b3IsXHJcbi5jb250cm9sMiBpbnB1dDpmb2N1cyB+IC5jb250cm9sX2luZGljYXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xyXG59XHJcblxyXG4uY29udHJvbDIgaW5wdXQ6Y2hlY2tlZCB+IC5jb250cm9sX2luZGljYXRvciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMmFhMWMwO1xyXG59ICovXHJcbi8qXHJcbi5jb250cm9sOmhvdmVyIGlucHV0Om5vdChbZGlzYWJsZWRdKTpjaGVja2VkIH4gLmNvbnRyb2xfaW5kaWNhdG9yLFxyXG4uY29udHJvbCBpbnB1dDpjaGVja2VkOmZvY3VzIH4gLmNvbnRyb2xfaW5kaWNhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6ICMwZTY2NDc7XHJcbn1cclxuLmNvbnRyb2wgaW5wdXQ6ZGlzYWJsZWQgfiAuY29udHJvbF9pbmRpY2F0b3Ige1xyXG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5jb250cm9sX2luZGljYXRvcjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiB1bnNldDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uY29udHJvbCBpbnB1dDpjaGVja2VkIH4gLmNvbnRyb2xfaW5kaWNhdG9yOmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5jb250cm9sLWNoZWNrYm94IC5jb250cm9sX2luZGljYXRvcjphZnRlciB7XHJcbiAgICBsZWZ0OiA4cHg7XHJcbiAgICB0b3A6IDRweDtcclxuICAgIHdpZHRoOiAzcHg7XHJcbiAgICBoZWlnaHQ6IDhweDtcclxuICAgIGJvcmRlcjogc29saWQgI2ZmZmZmZjtcclxuICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuLmNvbnRyb2wtY2hlY2tib3ggaW5wdXQ6ZGlzYWJsZWQgfiAuY29udHJvbF9pbmRpY2F0b3I6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjN2I3YjdiO1xyXG59ICovICJdfQ== */\"","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
\\t\\r\\n
\\r\\n\"","import { Component, OnInit, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { Info } from '../_shared/asset/Info';\r\n\r\n@Component({\r\n selector: 'autocomplete',\r\n // host: {\r\n // '(document:click)': 'handleClick($event)',\r\n // },\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.css']\r\n})\r\n\r\nexport class AutocompleteComponent implements OnInit {\r\n\r\n @Input() label: string = '';\r\n @Input() collection: Info[];\r\n\r\n public query = '';\r\n // public countries = [\"Albania\", \"Andorra\", \"Armenia\", \"Austria\", \"Azerbaijan\", \"Belarus\",\r\n // \"Belgium\", \"Bosnia & Herzegovina\", \"Bulgaria\", \"Croatia\", \"Cyprus\",\r\n // \"Czech Republic\", \"Denmark\", \"Estonia\", \"Finland\", \"France\", \"Georgia\",\r\n // \"Germany\", \"Greece\", \"Hungary\", \"Iceland\", \"Ireland\", \"Italy\", \"Kosovo\",\r\n // \"Latvia\", \"Liechtenstein\", \"Lithuania\", \"Luxembourg\", \"Macedonia\", \"Malta\",\r\n // \"Moldova\", \"Monaco\", \"Montenegro\", \"Netherlands\", \"Norway\", \"Poland\",\r\n // \"Portugal\", \"Romania\", \"Russia\", \"San Marino\", \"Serbia\", \"Slovakia\", \"Slovenia\",\r\n // \"Spain\", \"Sweden\", \"Switzerland\", \"Turkey\", \"Ukraine\", \"United Kingdom\", \"Vatican City\"];\r\n public filteredList: Info[] = [];\r\n public elementRef;\r\n\r\n constructor(myElement: ElementRef) {\r\n this.elementRef = myElement;\r\n }\r\n isSelectAll: boolean = false;\r\n ngOnInit() {\r\n this.isSelectAll = false;\r\n }\r\n @HostListener('focus', ['$event.target'])\r\n onFocus(target) {\r\n // this.focusFunction();\r\n target.type = 'date';\r\n }\r\n @HostListener('focusout', ['$event.target'])\r\n onFocusout(target) {\r\n // this.focusOutFunction();\r\n\r\n target.type = 'text';\r\n }\r\n\r\n focusList() {\r\n this.focusInput = true;\r\n }\r\n\r\n getActiveClass() {\r\n return (this.query.length > 0 || this.focusInput) ? 'active' : '';\r\n }\r\n focusOutFunction() {\r\n if (this.query == \"\") {\r\n this.filteredList = [];\r\n }\r\n };\r\n focusFunction() {\r\n\r\n if (this.query == \"\") {\r\n this.filteredList = this.collection;\r\n }\r\n\r\n this.focusInput = true;\r\n };\r\n\r\n\r\n focusInput: boolean = false;\r\n\r\n checkItem(item: Info) {\r\nitem.Checked = item.Checked;\r\n // this.filteredList.filter(x => x.Id == item.Id)[0].Checked = !this.collection.filter(x => x.Id == item.Id)[0].Checked;\r\n this.focusInput = false;\r\n this.focusInput = true;\r\n }\r\n assignCopy() {\r\n this.filteredList = this.collection;\r\n }\r\n\r\n filterItem() {\r\n if (this.query == \"\") this.assignCopy(); //when nothing has typed\r\n this.filteredList = Object.assign([], this.collection).filter(\r\n item => item.Name.toLowerCase().indexOf(this.query.toLowerCase()) > -1\r\n )\r\n }\r\n\r\n selectAll() {\r\n this.isSelectAll = !this.isSelectAll;\r\n for (var i = 0, len = this.filteredList.length; i < len; i++) {\r\n this.filteredList[i].Checked = this.isSelectAll;\r\n }\r\n }\r\n check(item: Info) {\r\n item.Checked = !item.Checked;\r\n }\r\n\r\n handleClick(event) {\r\n var clickedComponent = event.target;\r\n var inside = false;\r\n do {\r\n if (clickedComponent === this.elementRef.nativeElement) {\r\n inside = true;\r\n }\r\n clickedComponent = clickedComponent.parentNode;\r\n } while (clickedComponent);\r\n if (!inside) {\r\n this.filteredList = [];\r\n }\r\n }\r\n onClickedOutside(e: Event) {\r\n // console.log('Clicked outside:', e);\r\n this.query = \"\";\r\n // this.filteredList = this.collection;\r\n this.focusInput = false;\r\n }\r\n}\r\n","module.exports = \".ground > tbody > tr:nth-child(odd) {\\r\\n background: #fafafa; \\r\\n padding: 0px!important;\\r\\n}\\r\\n.report-info {\\r\\n font-family: \\\"HelveticaNeueLTW01-55Roman\\\", \\\"Helvetica Neue\\\", Arial, Helvetica, sans-serif;\\r\\n font-size: 20px;\\r\\n font-weight: normal;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.4;\\r\\n letter-spacing: normal;\\r\\n text-align: left;\\r\\n color: #354052; }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYnVuZGxlLXNlYXJjaC9idW5kbGUtc2VhcmNoLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsc0JBQXNCO0FBQzFCO0FBQ0E7UUFDUSx5RkFBeUY7UUFDekYsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixzQkFBc0I7UUFDdEIsZ0JBQWdCO1FBQ2hCLGNBQWMsRUFBRSIsImZpbGUiOiJzcmMvYXBwL2J1bmRsZS1zZWFyY2gvYnVuZGxlLXNlYXJjaC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmdyb3VuZCA+IHRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTsgXHJcbiAgICBwYWRkaW5nOiAwcHghaW1wb3J0YW50O1xyXG59XHJcbi5yZXBvcnQtaW5mbyB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZUxUVzAxLTU1Um9tYW5cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBjb2xvcjogIzM1NDA1MjsgfVxyXG4iXX0= */\"","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
{{bundle.BundleName}}
\\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, OnInit } from '@angular/core';\r\nimport { BundleService } from '../_shared/bundles/bundle.service';\r\nimport { IBundle } from '../_shared/bundles/bundle';\r\nimport { BundlesFilterPipe } from '../_shared/bundles/bundles-filter.pipe';\r\nimport { PagerService } from '../_shared/pager/pager.service';\r\nimport { CurrentBundle, SettingsService } from '../_shared/settings/settings.service';\r\nimport { AssetSearchService } from '../assets/asset-search/asset-search.service';\r\nimport * as $ from 'jquery';\r\nimport { SaveSearchesDataService } from '../save-searches/save-searches-data.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-bundle-search',\r\n templateUrl: './bundle-search.component.html',\r\n styleUrls: ['./bundle-search.component.css'],\r\n})\r\nexport class BundleSearchComponent implements OnInit {\r\n bundles: IBundle[];\r\n errorMessage: string;\r\n listFilter: string;\r\n\r\n constructor(\r\n private _bundleService: BundleService,\r\n private _pagerService: PagerService,\r\n private _bundlesFilterPipe: BundlesFilterPipe,\r\n private assetSearchService: AssetSearchService,\r\n private saveSearchesDataService: SaveSearchesDataService,\r\n\r\n ) { }\r\n\r\n // array of all items to be paged\r\n private allItems: any[];\r\n\r\n // pager object\r\n pager: any = {};\r\n\r\n // paged items\r\n pagedItems: any[];\r\n\r\n ngOnInit() {\r\n this.initiateBundles();\r\n }\r\n private initiateBundles() {\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n this._bundleService.getBundles(currentUser.UserId).subscribe(\r\n bundles => {\r\n this.bundles = bundles\r\n this.setPage(1);\r\n },\r\n error => {\r\n });\r\n }\r\n\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this._pagerService.getPager(this.bundles.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.bundles.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n\r\n updateTable(listFilter) {\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n this._bundleService.getBundles(currentUser.UserId).subscribe(\r\n bundles => {\r\n var result = this._bundlesFilterPipe.transform(bundles, listFilter);\r\n if (result.length > 0) {\r\n this.bundles = result;\r\n this.setPage(1);\r\n } else {\r\n this.bundles = result;\r\n this.pagedItems.length = 0;\r\n this.pager.pages.length = 0;\r\n }\r\n }, error => {\r\n }\r\n );\r\n }\r\n private saveBundle(bundleId, bundleName, countrry) {\r\n var currentBundle:CurrentBundle = {\r\n bundleId: bundleId,\r\n bundleName: bundleName,\r\n countrry: countrry\r\n }\r\n SettingsService.setCurrentBundle(currentBundle);\r\n }\r\n async clickOnBundleName(bundleId, bundleName, countrry) {\r\n if (!this.assetSearchService.loadingProperties) {\r\n this.saveBundle(bundleId, bundleName, countrry);\r\n\r\n //this.setPage(1);\r\n this.listFilter = \"\";\r\n this.updateTable(this.listFilter);\r\n\r\n this.assetSearchService.reset();\r\n this.assetSearchService.loadAllProperties();\r\n this.saveSearchesDataService.updateSavedSearches();\r\n while(this.assetSearchService.loadingProperties)\r\n {\r\n $('#LoggedInDIV').fadeOut(500).fadeIn(500);\r\n await new Promise(r => setTimeout(r, 1000));\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NhbGxiYWNrL2NhbGxiYWNrLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../_guards/auth.service';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-callback',\r\n templateUrl: './callback.component.html',\r\n styleUrls: ['./callback.component.css']\r\n})\r\nexport class CallbackComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private auth: AuthService,\r\n private authenticationService: AuthenticationService\r\n ) { \r\n }\r\n\r\n async ngOnInit() {\r\n if(await this.authenticationService.isValidToken())\r\n this.auth.localLogin();\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n \\r\\n
\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input() showLoader : string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"
\\r\\n\\r\\n
\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Nvb2tpZXMvY29va2llcy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cookies',\r\n templateUrl: './cookies.component.html',\r\n styleUrls: ['./cookies.component.scss']\r\n})\r\nexport class CookiesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n // window.location.reload();\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
{{label}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\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, OnInit, Input, forwardRef } from '@angular/core';\r\nimport { Info } from '../_shared/asset/Info';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { HelperService } from '../_shared/helper/helper.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nconst noop = () => {\r\n};\r\nconst DROPDOWN_VALUE_ACCESSOR = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DropdownComponent),\r\n multi: true\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'app-dropdown',\r\n templateUrl: './dropdown.component.html',\r\n styleUrls: ['./dropdown.component.css'],\r\n providers: [DROPDOWN_VALUE_ACCESSOR],\r\n})\r\nexport class DropdownComponent implements ControlValueAccessor, OnInit {\r\n\r\n\r\n private _translate: TranslateService;\r\n\r\n constructor(private helperService: HelperService, translate: TranslateService) {\r\n this._translate = translate;\r\n }\r\n @Input() collection: Info[];\r\n @Input() label: string = '';\r\n @Input() showArrow: boolean = true;\r\n @Input() selectOnlyOneValue: string = \"false\";\r\n @Input() selectedLabel: string = \"Select\";\r\n @Input() forceValueTranslation: boolean = false;\r\n \r\n public filteredList: Info[] = [];\r\n public query = '';\r\n focusInput: boolean = false;\r\n isSelectAll: boolean = false;\r\n private _value: string = ''; // Private variable for input value\r\n private preValue: string = ''; // The value before clicking to edit\r\n public onChange: any = Function.prototype; // Trascend the onChange event\r\n public onTouched: any = Function.prototype; // Trascend the onTouch event\r\n\r\n writeValue(value: any): void {\r\n this._value = value;\r\n }\r\n\r\n get value(): any {\r\n return this._value;\r\n }\r\n set value(v: any) {\r\n if (v !== this._value) {\r\n this._value = v;\r\n this.onChange(v);\r\n }\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n // Required forControlValueAccessor interface\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public registerOnChange(fn: (_: any) => {}): void {\r\n // console.log('registerOnChange');\r\n this.onChange = fn;\r\n }\r\n isIE = false;\r\n\r\n ngOnInit() {\r\n\r\n var hallas = '';\r\n\r\n this.isIE = this.helperService.isBrowserIE();;\r\n if (this.query == \"\") {\r\n this.filteredList = this.collection.slice(0, 20);\r\n }\r\n\r\n this._translate.stream('SELECT').subscribe(res => {\r\n hallas = res;\r\n });\r\n this.selectedLabel = hallas;\r\n }\r\n filterItem() {\r\n if (this.query == \"\") this.assignCopy(); //when nothing has typed\r\n this.filteredList = Object.assign([], this.collection).filter(\r\n item => item.Name.toLowerCase().indexOf(this.query.toLowerCase()) > -1\r\n )\r\n this.filteredList = this.filteredList.slice(0, 20);\r\n }\r\n focusList() {\r\n this.focusInput = true;\r\n if (this.query == \"\") {\r\n this.filteredList = this.collection.sort(function (x, y) {\r\n return Number(y.Checked) - Number(x.Checked);\r\n }).slice(0, 20);;\r\n }\r\n\r\n }\r\n\r\n assignCopy() {\r\n this.filteredList = this.collection.slice(0, 20);\r\n }\r\n onClickedOutside(event: Event) {\r\n // console.log(event);\r\n var target = event.target || event.srcElement || event.currentTarget;\r\n // var idAttr = target.attributes.id;\r\n // console.log('Clicked outside dropdown:', e);\r\n // e[0].path.forEach(element => {\r\n // console.log(element.localName);\r\n // });\r\n\r\n\r\n this.query = \"\";\r\n this.focusInput = false;\r\n // this.filteredList = this.collection;\r\n // this.focusInput = false;\r\n }\r\n onClickedInside() {\r\n }\r\n\r\n setLabel() {\r\n var hallas = '';\r\n var checkedList = this.collection.filter(x => x.Checked === true);\r\n if (checkedList.length === 1) {\r\n\r\n return this.forceValueTranslation ? this._translate.instant(checkedList[0].Name) : checkedList[0].Name;\r\n } else if (checkedList.length > 1) {\r\n this._translate.stream('MORE_THAN_1_SELECTED').subscribe(res => {\r\n hallas = res;\r\n });\r\n return hallas;\r\n } else {\r\n this._translate.stream('SELECT').subscribe(res => {\r\n hallas = res;\r\n });\r\n return hallas;\r\n }\r\n }\r\n check(item: Info, isChecked: boolean) {\r\n var hallas = '';\r\n if (this.selectOnlyOneValue=== \"true\") {\r\n this.collection.map(x => x.Checked = false);\r\n this.filterItem();\r\n // for (var i = 0, len = this.filteredList.length; i < len; i++) {\r\n\r\n // this.filteredList[i].Checked = false;\r\n // }\r\n }\r\n item.Checked = isChecked;\r\n if (this.selectOnlyOneValue === \"true\") {\r\n if (item.Checked) {\r\n this.selectedLabel = item.Name;\r\n } else {\r\n this._translate.stream('SELECT').subscribe(res => {\r\n this.selectedLabel = res;\r\n });\r\n }\r\n } else {\r\n var checkedList = this.filteredList.filter(x => x.Checked === true);\r\n if (checkedList.length === 1) {\r\n this.selectedLabel = checkedList[0].Name;\r\n } else if (checkedList.length > 1) {\r\n this._translate.stream('MORE_THAN_1_SELECTED').subscribe(res => {\r\n hallas = res;\r\n });\r\n this.selectedLabel = hallas;\r\n } else {\r\n this._translate.stream('SELECT').subscribe(res => {\r\n this.selectedLabel = res;\r\n });\r\n\r\n }\r\n }\r\n this.isSelectAll = this.collection.filter(x => x.Checked === true).length === this.collection.length;\r\n }\r\n\r\n isAllColumnChecked() {\r\n return this.collection.filter(x => x.Checked === true).length === this.collection.length;\r\n }\r\n\r\n isNoneOrAllColumnChecked() {\r\n return this.collection.filter(x => x.Checked === true).length === 0 || this.collection.filter(x => x.Checked === true).length === this.collection.length;\r\n }\r\n\r\n selectAll() {\r\n this.isSelectAll = !this.isSelectAll;\r\n this.collection.map(x => x.Checked = this.isSelectAll);\r\n if (this.isSelectAll) {\r\n this.selectedLabel = \"More than 1 selected\"\r\n } else {\r\n this.selectedLabel = \"Select\";\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2ZvcmdvdC1wYXNzd29yZC9mb3Jnb3QtcGFzc3dvcmQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Fyll i din e-postadress och klicka på \\\"Skicka epost\\\". Du får ett e-postmeddelande med instruktioner för att nollställa ditt lösenord.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ emailMessage }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please confirm your email address.\\r\\n \\r\\n \\r\\n The confirmation does not match the email address.\\r\\n \\r\\n \\r\\n
\\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, OnInit } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { ForgotPasswordService } from './forgot-password.service';\r\nimport { AlertService } from '../_shared/alert/alert.service';\r\nimport \"rxjs/Rx\";\r\nimport { HelperService } from '../_shared/helper/helper.service';\r\n\r\nfunction emailMatcher(c: AbstractControl): { [key: string]: boolean } | null {\r\n let emailControl = c.get('email');\r\n let confirmControl = c.get('confirmEmail');\r\n if (emailControl.pristine || confirmControl.pristine) {\r\n return null;\r\n }\r\n if (emailControl.value === confirmControl.value) {\r\n return null;\r\n }\r\n return { 'match': true };\r\n}\r\n\r\n@Component({\r\n selector: 'forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.css']\r\n})\r\n\r\nexport class ForgotPasswordComponent implements OnInit {\r\n forgotPasswordForm: FormGroup;\r\n emailMessage: string;\r\n loading = false;\r\n\r\n\r\n private validationMessages = {\r\n required: 'Please enter your email address.',\r\n pattern: 'Please enter a valid email address.',\r\n minlength: 'Please enter at least 4 characters.'\r\n };\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private forgotPasswordService: ForgotPasswordService,\r\n private alertService: AlertService,\r\n private helperService: HelperService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.forgotPasswordForm = this.formBuilder.group({\r\n emailGroup: this.formBuilder.group({\r\n email: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+'),\r\n Validators.minLength(4)]],\r\n confirmEmail: ['', Validators.required],\r\n }, { validator: emailMatcher })\r\n });\r\n const emailControl = this.forgotPasswordForm.get('emailGroup.email');\r\n emailControl.valueChanges.debounceTime(1000).subscribe(value =>\r\n this.setMessage(emailControl));\r\n }\r\n\r\n setMessage(c: AbstractControl): void {\r\n this.emailMessage = '';\r\n if ((c.touched || c.dirty) && c.errors) {\r\n this.emailMessage = Object.keys(c.errors).map(key =>\r\n this.validationMessages[key]).join(' ');\r\n }\r\n }\r\n\r\n sendCreateNewPasswordEmail() {\r\n this.loading = true;\r\n var email = this.forgotPasswordForm.get('emailGroup.email').value;\r\n let url = this.helperService.thisLocationOriginWithPathname().replace('login', \"\");\r\n this.forgotPasswordService.sendForgotPasswordEmail(email, url).subscribe(\r\n event => {\r\n this.alertService.success('New password mail has been sent');\r\n this.loading = false;\r\n }, error => {\r\n this.alertService.error(\"An error has occured\");\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/observable/throw';\r\n\r\nimport { SettingsService } from '../_shared/settings/settings.service'\r\n\r\n@Injectable()\r\nexport class ForgotPasswordService {\r\n\r\n constructor(private _http: HttpClient, private _settingsService: SettingsService) { }\r\n sendForgotPasswordEmail(email, url) {\r\n var emailJson = { Email: email , System : \"AAMP2\"};\r\n\r\n let headers = new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n });\r\n let options = {\r\n headers: headers\r\n }\r\n\r\n return this._http.post(this._settingsService.webApiServerPath() + \"/forgotpassword/\", emailJson, options);\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthService } from '../_guards/auth.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { HelperService } from '../_shared/helper/helper.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport 'rxjs/add/observable/of';\r\nimport 'rxjs/add/operator/map';\r\n\r\nexport interface languageType {\r\n language: string;\r\n available: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\n\r\n\r\nexport class HeaderComponent implements OnInit, AfterViewInit {\r\n ngAfterViewInit(): void {\r\n // this.setCurrentLanguage();\r\n }\r\n public bundleName: string = 'collapsed';\r\n public isCollapsedClass: string = '';\r\n\r\n constructor(\r\n private authenticationService: AuthenticationService,\r\n private authService: AuthService,\r\n private route: Router,\r\n private translateService: TranslateService,\r\n private helperService: HelperService,\r\n private settingService : SettingsService,\r\n private oauthService: AuthService\r\n ) {\r\n this.setAteaSystemLinks() \r\n }\r\n logout() {\r\n this.oauthService.logout(true)\r\n }\r\n\r\n public link: string = \"\";\r\n public myLanguages: languageType[] = [\r\n { language: \"en\", available: true },\r\n { language: \"sv\", available: true },\r\n { language: \"da\", available: false },\r\n { language: \"nb\", available: true },\r\n { language: \"fi\", available: true }\r\n ];\r\n\r\n public AteaSystemLinks: {} = {\r\n SE: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n atea: \"\",\r\n },\r\n NO: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n },\r\n DK: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n atea: \"\",\r\n },\r\n FI: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n atea: \"\",\r\n },\r\n EE: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n atea: \"\",\r\n },\r\n LT: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n atea: \"\",\r\n },\r\n LV: {\r\n eshop: \"\",\r\n myatea: \"\",\r\n atea: \"\",\r\n },\r\n serviceContracts: \"\",\r\n };\r\n\r\n countries: any[] = [\r\n \"SE\", \"NO\", \"DK\", \"FI\", \"EE\", \"LT\", \"LV\"\r\n ];\r\n\r\n openMyAteaLink(country:string) {\r\n let host = window.location.host;\r\n let myAteaAccess = localStorage.getItem(SettingsService.MYATEA_ACCESS);\r\n let currentUserEmpty = SettingsService.getCurrentUser() !== null;\r\n if (myAteaAccess == null) {\r\n myAteaAccess = \"false\";\r\n }\r\n \r\n if (myAteaAccess == \"false\" && currentUserEmpty && [\"SE\", \"NO\", \"DK\", \"FI\"].indexOf(country) > -1) {\r\n window.open(`https://www.atea.${country.toLowerCase()}/my-atea/`);\r\n } else {\r\n if (host.indexOf('localhost') !== -1) {\r\n window.open(`https://test-connectivity.atea.com/MyAtea.WebApp-${country}/`);\r\n } else if (host.indexOf('aamptest.atea') !== -1) {\r\n window.open(`https://test-connectivity.atea.com/MyAtea.WebApp-${country}/`);\r\n } else if (host.indexOf('aampqa.atea') !== -1 || host.indexOf('alms-spa-dev') !== -1) {\r\n window.open(`https://qa-myatea-${country.toLowerCase()}.azurewebsites.net/`);\r\n } else if (host.indexOf('aamp.atea') !== -1 || host.indexOf('alms-spa-prod') !== -1) {\r\n window.open(`https://my.atea.${country.toLowerCase()}/`);\r\n }\r\n }\r\n }\r\n\r\n setAteaSystemLinks() {\r\n let host = window.location.host;\r\n\r\n if (host.indexOf('localhost') !== -1) {\r\n this.countries.forEach(country => {\r\n this.AteaSystemLinks[country].eshop = `https://wwwtest.atea.${country.toLowerCase()}/eshop/login`;\r\n this.AteaSystemLinks[country].myatea = `https://test-connectivity.atea.com/MyAtea.WebApp-${country}/`;\r\n this.AteaSystemLinks[country].atea = `https://atea.${country.toLowerCase()}`;\r\n this.AteaSystemLinks[country].serviceContracts = 'https://aamp.atea.se/agreementcontrol';\r\n });\r\n } else if (host.indexOf('aamptest.atea') !== -1) {\r\n this.countries.forEach(country => {\r\n this.AteaSystemLinks[country].eshop = `https://wwwtest.atea.${country.toLowerCase()}/eshop/login`;\r\n this.AteaSystemLinks[country].myatea = `https://test-connectivity.atea.com/MyAtea.WebApp-${country}/`;\r\n this.AteaSystemLinks[country].atea = `https://atea.${country.toLowerCase()}`;\r\n });\r\n } else if (host.indexOf('aampqa.atea') !== -1 || host.indexOf('alms-spa-dev') !== -1) {\r\n this.countries.forEach(country => {\r\n this.AteaSystemLinks[country].eshop = `https://wwwqa.atea.${country.toLowerCase()}/eshop/login`;\r\n this.AteaSystemLinks[country].myatea = `https://qa-myatea-${country.toLowerCase()}.azurewebsites.net/`;\r\n this.AteaSystemLinks[country].atea = `https://atea.${country.toLowerCase()}`;\r\n this.AteaSystemLinks[country].serviceContracts = 'https://aampqa.atea.se/agreementcontrol';\r\n });\r\n } else if (host.indexOf('aamp.atea') !== -1 || host.indexOf('alms-spa-prod') !== -1) {\r\n this.countries.forEach(country => {\r\n this.AteaSystemLinks[country].eshop = `https://atea.${country.toLowerCase()}/eshop/login`;\r\n this.AteaSystemLinks[country].myatea = `https://my.atea.${country.toLowerCase()}/`;\r\n this.AteaSystemLinks[country].atea = `https://atea.${country.toLowerCase()}`;\r\n this.AteaSystemLinks[country].serviceContracts = 'https://aamp.atea.se/agreementcontrol';\r\n });\r\n }\r\n }\r\n\r\n isLangAvailable(language: string): boolean {\r\n var languages = this.myLanguages.filter(x => x.language == language);\r\n if (languages !== null && languages.length > 0) {\r\n return languages.filter(x => x.language == language)[0].available;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n checkAvailableLanguages() {\r\n this.myLanguages.filter(x => x.available == true).forEach(language => {\r\n this.helperService.isLanguageFileAvailable(language.language).subscribe(result => {\r\n language.available = true;\r\n }, error => {\r\n language.available = false;\r\n })\r\n });\r\n }\r\n\r\n changeLanguage(languageCode) {\r\n this.translateService.use(languageCode);\r\n localStorage.setItem(SettingsService.CURRENT_LANGUAGE, languageCode);\r\n window.location.reload();\r\n }\r\n\r\n isLanguageAvailable(languageCode) {\r\n this.translateService.use(languageCode);\r\n localStorage.setItem(SettingsService.CURRENT_LANGUAGE, languageCode);\r\n }\r\n\r\n choosenLanguageHeader = \"\";\r\n setBundleName() {\r\n let currentBundle = SettingsService.getCurrentBundle()\r\n if (currentBundle != undefined) {\r\n this.bundleName = currentBundle.bundleName;\r\n } else {\r\n this.bundleName = '';\r\n }\r\n }\r\n ngOnInit() {\r\n this.setBundleName();\r\n this.authService.GetUserAccessToAdminTool();\r\n this.authService.GetUserAccessToReports();\r\n if(!localStorage.getItem(SettingsService.CURRENT_LANGUAGE) || localStorage.getItem(SettingsService.CURRENT_LANGUAGE) == null){\r\n localStorage.setItem(SettingsService.CURRENT_LANGUAGE, 'en');\r\n }\r\n this.setCurrentLanguage();\r\n this.isWithNotMobile = window.innerWidth >= this.breakpoint;\r\n }\r\n isActive(name) {\r\n return this.route.url.indexOf('/' + name) >= 0 ? 'activenav' : ''\r\n }\r\n setCurrentLanguage() {\r\n this.checkAvailableLanguages();\r\n this.translateService.use(localStorage.getItem(SettingsService.CURRENT_LANGUAGE));\r\n }\r\n choosenBundleTitle() {\r\n let result = \"No Selected Bundle\";\r\n let currentBundle = SettingsService.getCurrentBundle();\r\n let currentUser = SettingsService.getCurrentUser();\r\n if (currentUser != null && currentBundle != undefined) {\r\n result = `${currentUser.FirstName} ${currentUser.LastName} (${currentUser.Company} - ${currentBundle.bundleName })`;\r\n }\r\n return result;\r\n }\r\n showMenu: boolean = false;\r\n isLoggedIn() {\r\n return this.authenticationService.isActive();\r\n }\r\n breakpoint: number = 768;\r\n isWithNotMobile: boolean = true;\r\n onResize(event) {\r\n const w = event.target.innerWidth;\r\n if (w >= this.breakpoint) {\r\n this.isWithNotMobile = true;\r\n } else {\r\n // whenever the window is less than 768, hide this component.\r\n this.isWithNotMobile = false;\r\n }\r\n }\r\n}\r\n\r\n","module.exports = \".dashboards{\\r\\n display: inline-block; width: 75%; padding: 0px 0px 0px 132px; border-right: 1px solid #edeeee; min-height: 800px;\\r\\n}\\r\\n.Financial-agreements {\\r\\n font-size: 32px;\\r\\n font-weight: 500;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.41;\\r\\n letter-spacing: 0.8px;\\r\\n color: #4d575d;\\r\\n }\\r\\n.days{\\r\\n width: 66px;\\r\\n height: 22px;\\r\\n font-size: 16px;\\r\\n font-weight: normal;\\r\\n font-stretch: normal;\\r\\n font-style: normal;\\r\\n line-height: 1.38;\\r\\n letter-spacing: 0.5px; margin-bottom: 32px; \\r\\n color:#4d575d\\r\\n }\\r\\n.dashboard-top{\\r\\n border-bottom: solid 1px #edeeee;\\r\\n padding: 18px 24px 18px 24px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.dashboardcontainer{\\r\\n border: 1px solid #edeeee;\\r\\n margin: 21px 55px 21px 21px;\\r\\n}\\r\\n.dashboardcontainer-header{\\r\\n width: 600px; display: inline-block;\\r\\n}\\r\\n.activity-row{\\r\\n border: solid 1px #edeeee;\\r\\n\\r\\n }\\r\\n.See-all-recent-activity {\\r\\n\\r\\n font-family: \\\"Helvetica Neue LT W06_61366420\\\";\\r\\n font-size: 16px;\\r\\n font-weight: 500;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.63;\\r\\n letter-spacing: 0.3px;\\r\\n text-align: right;\\r\\n color: #097288;\\r\\n float: right;\\r\\n margin-right: 32px;\\r\\n margin-top: 20px;\\r\\n }\\r\\n.delivery-acceptance-button{\\r\\n color: #fff;\\r\\n background-color: #d62828;\\r\\n padding: 3px 17px;\\r\\n border: solid #d62828 2px;\\r\\n box-shadow: rgb(0, 0, 0) 0px 0px 0px 0px;\\r\\n border-radius: 50px;\\r\\n transition : 301ms;\\r\\n transform: translateY(0);\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n align-items: center;\\r\\n cursor: pointer;\\r\\n margin-top: 10px;\\r\\n }\\r\\n.delivery-acceptance-button:hover{\\r\\n transition : 301ms;\\r\\n padding: 3px 19px;\\r\\n transform : translateY(-0px);\\r\\n background-color: #fff;\\r\\n color: #d62828;\\r\\n border: solid 2px #d62828;\\r\\n }\\r\\n\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsMEJBQTBCLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCO0FBQ25IO0FBQ0E7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixjQUFjO0VBQ2hCO0FBQ0M7SUFDQyxXQUFXO1lBQ0gsWUFBWTtZQUNaLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIscUJBQXFCLEVBQUUsbUJBQW1CO1lBQzFDO0VBQ1Y7QUFFRjtFQUNFLGdDQUFnQztFQUNoQyw0QkFBNEI7RUFDNUIsbUJBQW1CO0FBQ3JCO0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsMkJBQTJCO0FBQy9CO0FBQ0E7RUFDRSxZQUFZLEVBQUUscUJBQXFCO0FBQ3JDO0FBQ0U7SUFDRSx5QkFBeUI7O0VBRTNCO0FBRUE7O0lBRUUsNkNBQTZDO0lBQzdDLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixnQkFBZ0I7RUFDbEI7QUFFQTtNQUNJLFdBQVc7TUFDWCx5QkFBeUI7TUFDekIsaUJBQWlCO01BQ2pCLHlCQUF5QjtNQUN6Qix3Q0FBd0M7TUFDeEMsbUJBQW1CO01BQ25CLGtCQUFrQjtNQUNsQix3QkFBd0I7TUFDeEIsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixtQkFBbUI7TUFDbkIsZUFBZTtNQUNmLGdCQUFnQjtJQUNsQjtBQUVBO01BQ0Usa0JBQWtCO01BQ2xCLGlCQUFpQjtNQUNqQiw0QkFBNEI7TUFDNUIsc0JBQXNCO01BQ3RCLGNBQWM7TUFDZCx5QkFBeUI7SUFDM0IiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kYXNoYm9hcmRze1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDc1JTsgcGFkZGluZzogMHB4IDBweCAwcHggMTMycHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZGVlZWU7IG1pbi1oZWlnaHQ6IDgwMHB4O1xyXG59XHJcbi5GaW5hbmNpYWwtYWdyZWVtZW50cyB7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMS40MTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcclxuICAgIGNvbG9yOiAjNGQ1NzVkO1xyXG4gIH1cclxuICAgLmRheXN7XHJcbiAgICB3aWR0aDogNjZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtc3RyZXRjaDogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM4O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IG1hcmdpbi1ib3R0b206IDMycHg7IFxyXG4gICAgICAgICAgICBjb2xvcjojNGQ1NzVkXHJcbiAgfVxyXG5cclxuLmRhc2hib2FyZC10b3B7XHJcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlZGVlZWU7XHJcbiAgcGFkZGluZzogMThweCAyNHB4IDE4cHggMjRweDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcbiAgXHJcbi5kYXNoYm9hcmRjb250YWluZXJ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZWVlO1xyXG4gICAgbWFyZ2luOiAyMXB4IDU1cHggMjFweCAyMXB4O1xyXG59XHJcbi5kYXNoYm9hcmRjb250YWluZXItaGVhZGVye1xyXG4gIHdpZHRoOiA2MDBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbiAgLmFjdGl2aXR5LXJvd3tcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICNlZGVlZWU7XHJcblxyXG4gIH1cclxuXHJcbiAgLlNlZS1hbGwtcmVjZW50LWFjdGl2aXR5IHtcclxuXHJcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZSBMVCBXMDZfNjEzNjY0MjBcIjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjYzO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBjb2xvcjogIzA5NzI4ODtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICAuZGVsaXZlcnktYWNjZXB0YW5jZS1idXR0b257XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDYyODI4O1xyXG4gICAgICBwYWRkaW5nOiAzcHggMTdweDtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAjZDYyODI4IDJweDtcclxuICAgICAgYm94LXNoYWRvdzogcmdiKDAsIDAsIDApIDBweCAwcHggMHB4IDBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgdHJhbnNpdGlvbiA6IDMwMW1zO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmRlbGl2ZXJ5LWFjY2VwdGFuY2UtYnV0dG9uOmhvdmVye1xyXG4gICAgICB0cmFuc2l0aW9uIDogMzAxbXM7XHJcbiAgICAgIHBhZGRpbmc6IDNweCAxOXB4O1xyXG4gICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC0wcHgpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICBjb2xvcjogI2Q2MjgyODtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAycHggI2Q2MjgyODtcclxuICAgIH1cclxuXHJcbiAgICJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

{{ 'Label_WelcomeToAAM' | translate }}

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

{{ 'Label_SelectFirstDiagram' | translate }}

\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
0) && loadingDeliveryAcceptanceDashboard === false\\\" \\r\\n style=\\\"margin: 0px 0px 4px 40px; padding-top: 20px;\\\">\\r\\n {{'GEN_NO_DELIVERY_ACCEPTANCE' | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\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.NumAssets}} {{ 'Button_Assets' | translate }} in {{ value.AssetTypeText }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{value.DeliveryDateTo | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
0) && loadingFinanceAgreements === false\\\" \\r\\n style=\\\"margin: 0px 0px 4px 40px; padding-top: 20px;\\\">\\r\\n {{'GEN_NO_AGREEMENTS_EXPIRING' | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{'AGREEMENT_NO' | translate}} \\r\\n {{value.AgreementNumber}}\\r\\n | {{value.TotalSum | currency: value.Currency}}
\\r\\n {{value.NumAssets}} {{ 'Button_Assets' | translate }} in\\r\\n {{ value.ListCategoriesShort.length < value.ListCategories.length ? value.ListCategoriesShort + '...' : value.ListCategories}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{value.EndOfLease | date:'yyyy-MM-dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{category.Name}} x\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n {{dashboardMessage}}
\\r\\n \\r\\n
\\r\\n {{'GEN_NO_DATA_AVAILABLE' | translate }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{category.Name}} x\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{dashboardMessage}}
\\r\\n \\r\\n
\\r\\n {{'GEN_NO_DATA_AVAILABLE' | translate }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{category.Name}} \\r\\n x\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{'GEN_NO_DATA_AVAILABLE' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{'GEN_NO_DATA_AVAILABLE' | translate }}\\r\\n
\\r\\n\\r\\n 0\\\" #myOrdersCanvas baseChart [colors]=\\\"chartColors\\\" [datasets]=\\\"barChartData\\\"\\r\\n [labels]=\\\"barChartLabels\\\" [options]=\\\"barChartOptions\\\" [legend]=\\\"barChartLegend\\\" [chartType]=\\\"barChartType\\\"\\r\\n (chartHover)=\\\"chartHoveredBar($event)\\\" (chartClick)=\\\"chartClickedBar($event)\\\"\\r\\n [plugins]=\\\"barChartPlugins2\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{'GEN_NO_DATA_AVAILABLE' | translate }}\\r\\n
\\r\\n 0) && loadingActivites\\\" title=\\\"Activities\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\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.ContactName}}\\r\\n {{'CHANGED' | translate }} {{ helperService.getTranslationCode(value.Column) | translate}}
{{'ON_ASSET' | translate }} {{value.AssetNumber}}
{{'TO' | translate }} {{value.NewValue | translate}}\\r\\n
\\r\\n

{{value.Timestamp | date: 'yyyy-MM-dd'}}

\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\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, OnInit, ViewChild, ContentChild, ElementRef, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\nimport { DashboardService } from '../_shared/dashboard/dashboard.service';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { Router, } from '@angular/router';\r\nimport { AssetChangeLog } from '../_shared/assetChangeLog/assetChangeLog';\r\nimport { AssetChangeInfo } from '../_shared/assetChangeLog/assetChangeInfo';\r\nimport { AssetChangeLogService } from '../_shared/assetChangeLog/asset-change-log.service';\r\nimport { Info } from '../_shared/asset/Info';\r\nimport { FinanceAgreementsDashboardModel } from '../_shared/dashboard/financeAgreementsDashboardModel';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ChartOptions, ChartType, ChartDataSets } from 'chart.js';\r\nimport { Label } from 'ng2-charts';\r\nimport * as pluginDataLabels from 'chartjs-plugin-datalabels';\r\nimport { StackedCharts, StackedCostCentersCharts } from '../_shared/dashboard/assetsPerLocationAndCategoryModel';\r\nimport { HelperService } from '../_shared/helper/helper.service'\r\nimport { DeliveryAcceptanceDashboardModel } from '../_shared/dashboard/deliveryAcceptanceDashboardModel';\r\nimport { DeliveryAcceptanceDropdownModel } from '../_shared/dashboard/deliveryAcceptanceDropdownModel';\r\nimport { StatusService } from '../_shared/status/status.service';\r\n// import { resolve } from 'url';\r\n// import { Observable, Observer } from 'rxjs';\r\n// import { forEach } from '@angular/router/src/utils/collection';\r\n\r\ntype Dashboard = {\r\n Id: number,\r\n UserId: number,\r\n Name: string,\r\n SystemId: number,\r\n Active: boolean | undefined,\r\n Status: boolean | undefined,\r\n DashboardIdentifier: string | undefined,\r\n}\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css'],\r\n\r\n})\r\nexport class HomeComponent implements OnInit {\r\n\r\n @ViewChild(\"myOrdersCanvas\") myOrdersCanvas: ElementRef;\r\n\r\n\r\n setMyOrdersCanvasChartColors() {\r\n if (this.myOrdersCanvas !== undefined) {\r\n const ctx = (this.myOrdersCanvas.nativeElement).getContext('2d');\r\n const color_gradient = ctx.createLinearGradient(0, 0, 0, 600);\r\n color_gradient.addColorStop(1, '#78aad4');\r\n color_gradient.addColorStop(0, '#89bd4d');\r\n this.chartColors = [\r\n {\r\n backgroundColor: color_gradient,\r\n borderColor: color_gradient,\r\n hoverBackgroundColor: color_gradient,\r\n pointBackgroundColor: color_gradient,\r\n pointBorderColor: color_gradient,\r\n pointHoverBackgroundColor: color_gradient,\r\n pointHoverBorderColor: color_gradient\r\n }\r\n ];\r\n }\r\n }\r\n\r\n public categories: any[] = [];\r\n public categories2: any[] = [];\r\n public categoriesForAgeAndCategory: any[] = [];\r\n\r\n public categoriesInfo: Info[] = [];\r\n public selctedCategoriesInfo: Info[] = [];\r\n\r\n public categoriesInfoForAgeAndCategory: Info[] = [];\r\n public selctedcategoriesInfoForAgeAndCategory: Info[] = [];\r\n\r\n\r\n public categoriesInfo2: Info[] = [];\r\n public selctedCategoriesInfo2: Info[] = [];\r\n\r\n // public selectedCategories: number[] = [];\r\n public todaysDate = new Date();\r\n private users: Info[] = [];\r\n\r\n hideDropdown = true;\r\n assetChangeLogs: AssetChangeLog[] = [];\r\n\r\n financeAgreements: FinanceAgreementsDashboardModel[] = [];\r\n financeDays: string = \"180\";\r\n assetChangeInfo: AssetChangeInfo = { AssetChangeModels: [], Total: 0, TotalPages: 0 };\r\n\r\n deliveryAcceptance: DeliveryAcceptanceDashboardModel[] = [];\r\n acceptanceDropdownValues: DeliveryAcceptanceDropdownModel[] = [];\r\n acceptanceDefaultFilter: string;\r\n\r\n browserLanguage = \"\";\r\n\r\n isDashBoardLoading = false;\r\n\r\n private hasAssetsPerLocationAndCategoryCode: boolean = true;\r\n private hasAssetsPerAgeAndCategory: boolean = true;\r\n\r\n constructor(\r\n private router: Router,\r\n private dashboardService: DashboardService,\r\n private _assetChangeLogService: AssetChangeLogService,\r\n private translate: TranslateService,\r\n private authenticationService: AuthenticationService,\r\n private changeDetection: ChangeDetectorRef,\r\n private helperService: HelperService,\r\n private statusService: StatusService\r\n ) {\r\n }\r\n\r\n intitData(bundleId) {\r\n this.todaysDate = new Date();\r\n }\r\n\r\n loadingActivites = false;\r\n searchActivity(page) {\r\n // this.page = page;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n var choosenUser = this.users.filter(x => x.Checked)[0];\r\n var contactName = \"\";\r\n if (choosenUser !== undefined) {\r\n contactName = choosenUser.Name;\r\n }\r\n\r\n this.loadingActivites = true;\r\n this._assetChangeLogService.search(currentChoosenBundle.bundleId, [], [], '2018-01-01', Date(), 1, 5, false, true).subscribe(\r\n result => {\r\n this.assetChangeInfo = { AssetChangeModels: result.AssetChangeModels, Total: result.Total, TotalPages: result.TotalPages };\r\n \r\n this.assetChangeInfo.AssetChangeModels.forEach(value => {\r\n if (value.Column == \"Status\") {\r\n value.NewValue = this.helperService.getStatusTranslationCode(value.NewValue);\r\n value.OldValue = this.helperService.getStatusTranslationCode(value.OldValue);\r\n }\r\n });\r\n\r\n if (this.assetChangeInfo.AssetChangeModels.length == 0) {\r\n this.loadingActivites = false;\r\n }\r\n },\r\n error => {\r\n this.loadingActivites = false;\r\n }, \r\n () => {\r\n this.loadingActivites = false;\r\n }\r\n );\r\n }\r\n\r\n getDiferenceInDays(theDate: Date): number {\r\n return Math.abs(theDate.getTime() - new Date().getTime()) / (1000 * 60 * 60 * 24);\r\n }\r\n\r\n public chartColors: Array = [];\r\n\r\n public chartHorizontalColorsButtons: Array = [\r\n\r\n { // grey\r\n backgroundColor: 'rgba(120,170,212, 0.16)',\r\n borderColor: 'rgba(120,170,212)',\r\n hoverBackgroundColor: 'rgba(120,170,212)'\r\n },\r\n { // grey\r\n backgroundColor: 'rgba(232, 135, 138, 0.16)',\r\n borderColor: 'rgb(232,135,138)',\r\n hoverBackgroundColor: 'rgb(232,135,138)',\r\n\r\n },\r\n { // grey\r\n backgroundColor: 'rgb(174,209,133, 0.16)',\r\n borderColor: 'rgb(174,209,133)',\r\n hoverBackgroundColor: 'rgb(174,209,133)'\r\n }\r\n , { // grey\r\n backgroundColor: 'rgba(74, 222, 219, 0.16)',\r\n borderColor: 'rgba(74, 222, 219)',\r\n hoverBackgroundColor: 'rgba(74, 222, 219)'\r\n\r\n }\r\n , { // grey\r\n backgroundColor: 'rgba(245, 243, 85, 0.16)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n },\r\n { // grey\r\n backgroundColor: 'rgba(245, 243, 85, 0.16)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n },\r\n { // grey\r\n backgroundColor: 'rgba(245, 243, 85, 0.16)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n }\r\n ,\r\n { // grey\r\n backgroundColor: 'rgba(245, 243, 85, 0.16)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n }\r\n ];\r\n\r\n\r\n public chartHorizontalColors: Array = [\r\n\r\n { // grey\r\n backgroundColor: 'rgba(120,170,212)',\r\n borderColor: 'rgba(120,170,212)',\r\n hoverBackgroundColor: 'rgba(120,170,212)'\r\n },\r\n { // grey\r\n backgroundColor: 'rgb(232,135,138)',\r\n borderColor: 'rgb(232,135,138)',\r\n hoverBackgroundColor: 'rgb(232,135,138)',\r\n\r\n },\r\n { // grey\r\n backgroundColor: 'rgb(174,209,133)',\r\n borderColor: 'rgb(174,209,133)',\r\n hoverBackgroundColor: 'rgb(174,209,133)'\r\n }\r\n , { // grey\r\n backgroundColor: 'rgba(74, 222, 219)',\r\n borderColor: 'rgba(74, 222, 219)',\r\n hoverBackgroundColor: 'rgba(74, 222, 219)'\r\n\r\n },\r\n , { // grey\r\n backgroundColor: 'rgba(245, 243, 85)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n }\r\n , { // grey\r\n backgroundColor: 'rgba(245, 243, 85)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n }\r\n , { // grey\r\n backgroundColor: 'rgba(245, 243, 85)',\r\n borderColor: 'rgba(245, 243, 85)',\r\n hoverBackgroundColor: 'rgba(245, 243, 85)'\r\n\r\n }\r\n ];\r\n\r\n dashboards: any[] = [];\r\n activeDashboards: Dashboard[] = [];\r\n isActiveDashboard(dashboardName: string) {\r\n if (this.activeDashboards !== null && this.activeDashboards !== undefined && this.activeDashboards.length > 0) {\r\n var dashboard = this.activeDashboards.filter(x => x.DashboardIdentifier == dashboardName)[0];\r\n if (dashboard !== undefined) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n deActiveDashboard(dashboardIdentifier: string) {\r\n var anDash = this.activeDashboards.filter(x => x.DashboardIdentifier == dashboardIdentifier)[0];\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.activeDashboards = this.activeDashboards.filter(obj => obj !== anDash);\r\n this.dashboardService.deleteUserDashboard(anDash.Id, user.UserId, anDash.DashboardIdentifier).subscribe();\r\n }\r\n\r\n activateDashboard(dashboard) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.dashboardService.postDashboardUser(dashboard.Id, user.UserId, dashboard.Name, dashboard.SystemId, dashboard.Active, dashboard.DashboardIdentifier)\r\n .subscribe(() => {\r\n this.getActiveDashboards(user.UserId);\r\n this.changeDetection.detectChanges();\r\n });\r\n }\r\n\r\n trackByFn(index, item) { \r\n return item.id; \r\n }\r\n\r\n\r\n selectDashboard(dashboardName) {\r\n let dashboard = this.dashboards.filter(x => x.DashboardIdentifier == dashboardName.DashboardIdentifier)[0];\r\n\r\n if (this.isActiveDashboard(dashboardName.DashboardIdentifier)) {\r\n this.deActiveDashboard(dashboard.DashboardIdentifier);\r\n } else {\r\n this.activateDashboard(dashboard);\r\n }\r\n }\r\n\r\n getActiveDashboards(userId: number) {\r\n this.dashboardService.getDashboardForUser(userId).subscribe(result => {\r\n this.activeDashboards = [];\r\n result.forEach(element => {\r\n this.translate.get(element.Name).subscribe(trans => {\r\n this.activeDashboards.push({\r\n Id: element.Id,\r\n UserId: element.UserId,\r\n Name: trans,\r\n SystemId: element.SystemId,\r\n Active: element.Active,\r\n DashboardIdentifier: element.DashboardIdentifier\r\n } as Dashboard);\r\n this.isDashBoardLoading = false;\r\n });\r\n });\r\n this.loadInitalAssetCategoriesForDashoboardData();\r\n },\r\n error => { }, () => {\r\n this.isDashBoardLoading = false;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.isDashBoardLoading = true;\r\n this.selctedCategoriesInfo = [];\r\n this.selctedcategoriesInfoForAgeAndCategory = [];\r\n var bundle = SettingsService.getCurrentBundle()\r\n if (bundle !== undefined) {\r\n this.intitData(bundle.bundleId);\r\n this.searchActivity(0);\r\n }\r\n let user = SettingsService.getCurrentUser()\r\n this.dashboardService.getAllDashboards().subscribe(result => {\r\n result.forEach(element => {\r\n this.translate.get(element.Name).subscribe(trans => {\r\n this.dashboards.push({\r\n Id: element.Id,\r\n Name: trans,\r\n SystemId: element.SystemId,\r\n DashboardIdentifier: element.DashboardIdentifier,\r\n });\r\n this.isDashBoardLoading = false;\r\n });\r\n });\r\n this.getActiveDashboards(user.UserId);\r\n },\r\n error => { }, () => {\r\n this.isDashBoardLoading = false;\r\n });\r\n this.loadDashboardFinanceAgreements(180);\r\n this.loadDropdownDeliveryAcceptance();\r\n this.choosenYearOrders = new Date().getFullYear();\r\n this.loadOrderStatisticsData(this.choosenYearOrders);\r\n\r\n }\r\n\r\n loadCategories = false;\r\n showSelectedCategories = false;\r\n loadInitalAssetCategoriesForDashoboardData() {\r\n this.selctedCategoriesInfo = [];\r\n this.selctedcategoriesInfoForAgeAndCategory = [];\r\n this.showSelectedCategories = false;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.loadCategories = true;\r\n if (currentChoosenBundle !== undefined && user !== undefined) {\r\n this.dashboardService.getAssetCategoriesForDashboard(currentChoosenBundle.bundleId, user.UserId).subscribe(\r\n result => {\r\n if (result !== null && result.length > 0) {\r\n let i: number = 2;\r\n // this.categories.push({ id: \"1\", name: \"Categories\", isLabel: true });\r\n var chooseFirstDone = false;\r\n result.forEach(element => {\r\n let description = \"\";\r\n this.translate.get(`CNET_Category_${element.AssetType.toString()}`)\r\n .subscribe(translation => {\r\n description = translation;\r\n\r\n if (!chooseFirstDone) {\r\n // this.selectedCategories.push(+element.AssetType);\r\n chooseFirstDone = true;\r\n this.selectedAssetType = { id: element.AssetType, name: description, isLabel: false };\r\n this.selectedAssetTypeName = description;\r\n this.selectedAssetType2 = { id: element.AssetType, name: description, isLabel: false };\r\n this.selectedAssetTypeName2 = description;\r\n }\r\n \r\n this.categories.push({ id: element.AssetType, name: description, isLabel: false });\r\n this.categories2.push({ id: element.AssetType, name: description, isLabel: false });\r\n this.categoriesForAgeAndCategory.push({ id: element.AssetType, name: description, isLabel: false });\r\n \r\n this.categoriesInfo.push({ Id: element.AssetType, Name: description, Checked: i == 2 ? true : false });\r\n this.categoriesInfo2.push({ Id: element.AssetType, Name: description, Checked: i == 2 ? true : false });\r\n this.categoriesInfoForAgeAndCategory.push({ Id: element.AssetType, Name: description, Checked: i == 2 ? true : false });\r\n\r\n });\r\n i++;\r\n });\r\n\r\n this.activeDashboards.forEach(dashboard => {\r\n if (dashboard.DashboardIdentifier != 'FINANCEAGREEMENTS' && dashboard.DashboardIdentifier != 'DELIVERYACCEPTANCE') {\r\n this.dashboardService.getUserSelectedDashboardCategories(user.UserId, currentChoosenBundle.bundleId, dashboard.Id).subscribe(\r\n SelectedDashboardCategoriesResult => {\r\n \r\n SelectedDashboardCategoriesResult = this.distinctInfo(SelectedDashboardCategoriesResult);\r\n\r\n if (dashboard.DashboardIdentifier == 'ASSETSPERPROPERTY3') {\r\n this.bindCategoryTranslations(this.categoriesInfoForAgeAndCategory, SelectedDashboardCategoriesResult);\r\n this.categoriesInfoForAgeAndCategory = SelectedDashboardCategoriesResult;\r\n this.selctedcategoriesInfoForAgeAndCategory = this.categoriesInfoForAgeAndCategory.filter(x => x.Checked === true);\r\n this.loadAssetsPerAgeAndCategory(currentChoosenBundle.bundleId, user.UserId, this.getSelectedCategoryString(this.selctedcategoriesInfoForAgeAndCategory, result[0].AssetType));\r\n }\r\n if (dashboard.DashboardIdentifier == 'ASSETSPERPROPERTY') {\r\n this.bindCategoryTranslations(this.categoriesInfo, SelectedDashboardCategoriesResult);\r\n this.categoriesInfo = SelectedDashboardCategoriesResult;\r\n this.selctedCategoriesInfo = this.categoriesInfo.filter(x => x.Checked === true);\r\n this.loadAssetsPerLocationAndCategoryCode(currentChoosenBundle.bundleId, user.UserId, this.getSelectedCategoryString(this.selctedCategoriesInfo, result[0].AssetType));\r\n }\r\n if (dashboard.DashboardIdentifier == 'ASSETSPERPROPERTY2') {\r\n this.bindCategoryTranslations(this.categoriesInfo2, SelectedDashboardCategoriesResult);\r\n this.categoriesInfo2 = SelectedDashboardCategoriesResult;\r\n this.selctedCategoriesInfo2 = this.categoriesInfo2.filter(x => x.Checked === true);\r\n this.getAssetsPerCostCenterAndCategoryData(currentChoosenBundle.bundleId, user.UserId, this.getSelectedCategoryString(this.selctedCategoriesInfo2, result[0].AssetType));\r\n }\r\n \r\n },\r\n error => {\r\n // console.log(error);\r\n if (dashboard.DashboardIdentifier == 'ASSETSPERPROPERTY3') {\r\n this.selctedcategoriesInfoForAgeAndCategory = this.categoriesInfoForAgeAndCategory.filter(x => x.Checked === true);\r\n this.loadAssetsPerAgeAndCategory(currentChoosenBundle.bundleId, user.UserId, this.getSelectedCategoryString(this.selctedcategoriesInfoForAgeAndCategory, result[0].AssetType));\r\n }\r\n if (dashboard.DashboardIdentifier == 'ASSETSPERPROPERTY') {\r\n this.selctedCategoriesInfo = this.categoriesInfo.filter(x => x.Checked === true);\r\n this.loadAssetsPerLocationAndCategoryCode(currentChoosenBundle.bundleId, user.UserId, this.getSelectedCategoryString(this.selctedCategoriesInfo, result[0].AssetType));\r\n }\r\n if (dashboard.DashboardIdentifier == 'ASSETSPERPROPERTY2') {\r\n this.selctedCategoriesInfo2 = this.categoriesInfo2.filter(x => x.Checked === true);\r\n this.getAssetsPerCostCenterAndCategoryData(currentChoosenBundle.bundleId, user.UserId, this.getSelectedCategoryString(this.selctedCategoriesInfo2, result[0].AssetType));\r\n }\r\n }\r\n );\r\n }\r\n });\r\n\r\n this.showSelectedCategories = true;\r\n }\r\n this.loadCategories = false;\r\n\r\n },\r\n error => {\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n bindCategoryTranslations(categories, savedCategories) {\r\n savedCategories.forEach(function(category, i) {\r\n categories.forEach(element => {\r\n if (element.Id == category.Id) {\r\n savedCategories[i].Name = element.Name;\r\n }\r\n });\r\n });\r\n }\r\n\r\n anyChooseCategory() {\r\n return this.categoriesInfo.filter(x => x.Checked).length > 0;\r\n }\r\n anyChooseCategory2() {\r\n return this.categoriesInfo2.filter(x => x.Checked).length > 0;\r\n }\r\n anyChooseCategoriesForAgeAndCategory() {\r\n return this.categoriesInfoForAgeAndCategory.filter(x => x.Checked).length > 0;\r\n }\r\n public selectedAssetTypeName = \"\";\r\n public selectedAssetType: any;\r\n\r\n public selectedAssetTypeName2 = \"\";\r\n public selectedAssetType2: any;\r\n\r\n\r\n selectAssetType(assetType: any) {\r\n this.selectedAssetType = assetType;\r\n this.selectedAssetTypeName = assetType.name;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n let categoryCode = [assetType.id];\r\n this.loadAssetsPerLocationAndCategoryCode(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n\r\n\r\n }\r\n\r\n selectAssetType2(assetType: any) {\r\n this.selectedAssetType2 = assetType;\r\n this.selectedAssetTypeName2 = assetType.name;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n let categoryCode = [assetType.id];\r\n this.getAssetsPerCostCenterAndCategoryData(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n }\r\n\r\n getSelectedCategoryString(categoryArray, firstCategoryElement) {\r\n let resultString = '';\r\n \r\n if (categoryArray.length == 0) {\r\n resultString = firstCategoryElement;\r\n } else {\r\n for (var i = 0 ; i < categoryArray.length; i++) \r\n {\r\n resultString += categoryArray[i][\"Id\"].toString();\r\n if (i != categoryArray.length-1) {resultString += ','}\r\n }\r\n }\r\n\r\n return resultString;\r\n }\r\n\r\n\r\n isSelected(assetType: any) {\r\n return assetType.Checked;\r\n }\r\n\r\n checkboxClick(event: Event) {\r\n event.preventDefault();\r\n }\r\n\r\n limitNumber = 5;\r\n selectDiagramAssetsPerLocationAndCategory(event: Event, assetType: any, index) {\r\n this.selctedCategoriesInfo = [];\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n if (this.categoriesInfo.filter(x => x.Checked).length < 5) {\r\n let category = this.categoriesInfo.filter(x => x.Id === assetType.Id)[0];\r\n category.Checked = !category.Checked;\r\n let categoryCode: string[] = [];\r\n this.categoriesInfo.filter(x => x.Checked).forEach(y => {\r\n categoryCode.push(y.Id);\r\n });\r\n this.selctedCategoriesInfo = this.categoriesInfo.filter(x => x.Checked);\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'ASSETSPERPROPERTY', currentChoosenBundle.bundleId, this.categoriesInfo);\r\n\r\n if (categoryCode.length > 0) {\r\n this.loadAssetsPerLocationAndCategoryCode(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n }\r\n this.categoriesInfo.filter(x => x.Checked).length;\r\n\r\n } else {\r\n // let category = this.categoriesInfo.filter(x => x.Id === assetType.Id)[0];\r\n assetType.Checked = false;\r\n // category.Checked = false;\r\n this.categoriesInfo.filter(x => x.Checked).length;\r\n let categoryCode: string[] = [];\r\n this.categoriesInfo.filter(x => x.Checked).forEach(y => {\r\n categoryCode.push(y.Id);\r\n });\r\n\r\n if (categoryCode.length > 0) {\r\n this.selctedCategoriesInfo = this.categoriesInfo.filter(x => x.Checked);\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'ASSETSPERPROPERTY', currentChoosenBundle.bundleId, this.categoriesInfo);\r\n this.loadAssetsPerLocationAndCategoryCode(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n }\r\n }\r\n }\r\n hasOnlyChoosenNumbersOfCategory(isChecked : boolean, categories: Info[]) {\r\n if (!isChecked && categories.filter(x => x.Checked).length === this.limitNumber) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n selectDiagramAssetsPerLocationAndCategory2(event: Event, assetType: any, index) {\r\n this.selctedCategoriesInfo2 = [];\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n if (this.categoriesInfo2.filter(x => x.Checked).length < 5) {\r\n let category = this.categoriesInfo2.filter(x => x.Id === assetType.Id)[0];\r\n category.Checked = !category.Checked;\r\n let categoryCode: string[] = [];\r\n this.categoriesInfo2.filter(x => x.Checked).forEach(y => {\r\n categoryCode.push(y.Id);\r\n });\r\n\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'ASSETSPERPROPERTY2', currentChoosenBundle.bundleId, this.categoriesInfo2);\r\n this.selctedCategoriesInfo2 = this.categoriesInfo2.filter(x => x.Checked); \r\n\r\n if (categoryCode.length > 0) {\r\n this.getAssetsPerCostCenterAndCategoryData(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n }\r\n\r\n } else {\r\n let category = this.categoriesInfo2.filter(x => x.Id === assetType.Id)[0];\r\n assetType.Checked = false;\r\n category.Checked = false;\r\n let categoryCode: string[] = [];\r\n this.categoriesInfo2.filter(x => x.Checked).forEach(y => {\r\n categoryCode.push(y.Id);\r\n });\r\n if (categoryCode.length > 0) {\r\n this.selctedCategoriesInfo2 = this.categoriesInfo2.filter(x => x.Checked);\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'ASSETSPERPROPERTY2', currentChoosenBundle.bundleId, this.categoriesInfo2);\r\n this.getAssetsPerCostCenterAndCategoryData(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n }\r\n }\r\n }\r\n\r\n selectDiagramAssetsPerAgeAndCategory(event: Event, assetType: any, index) {\r\n this.selctedcategoriesInfoForAgeAndCategory = [];\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n //added category\r\n if (this.categoriesInfoForAgeAndCategory.filter(x => x.Checked).length < 5) {\r\n let category = this.categoriesInfoForAgeAndCategory.filter(x => x.Id === assetType.Id)[0];\r\n category.Checked = !category.Checked;\r\n let categoryCode: string[] = [];\r\n this.categoriesInfoForAgeAndCategory.filter(x => x.Checked).forEach(y => {\r\n categoryCode.push(y.Id);\r\n });\r\n\r\n this.selctedcategoriesInfoForAgeAndCategory = this.categoriesInfoForAgeAndCategory.filter(x => x.Checked);\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'ASSETSPERPROPERTY3', currentChoosenBundle.bundleId, this.categoriesInfoForAgeAndCategory);\r\n \r\n if (categoryCode.length > 0) {\r\n this.loadAssetsPerAgeAndCategory(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n }\r\n // removed category\r\n } else {\r\n let category = this.categoriesInfoForAgeAndCategory.filter(x => x.Id === assetType.Id)[0];\r\n assetType.Checked = false;\r\n category.Checked = false;\r\n let categoryCode: string[] = [];\r\n this.categoriesInfoForAgeAndCategory.filter(x => x.Checked).forEach(y => {\r\n categoryCode.push(y.Id);\r\n });\r\n if (categoryCode.length > 0) {\r\n this.selctedcategoriesInfoForAgeAndCategory = this.categoriesInfoForAgeAndCategory.filter(x => x.Checked);\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'ASSETSPERPROPERTY3', currentChoosenBundle.bundleId, this.categoriesInfoForAgeAndCategory);\r\n this.loadAssetsPerAgeAndCategory(currentChoosenBundle.bundleId, user.UserId, categoryCode);\r\n\r\n }\r\n }\r\n }\r\n\r\n updateUserSelectedDashboardCategories(userId: Number, dashboardName: string, bundleId: Number, categories: Array) {\r\n if (userId != null && bundleId != null) {\r\n let dashboard = this.dashboards.filter(x=>x.DashboardIdentifier == dashboardName)[0];\r\n this.dashboardService.updateDashboardSelectedCategories(userId, bundleId, dashboardName, JSON.stringify(categories), dashboard.Id).subscribe(\r\n () => {},\r\n error => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n isCategoryChecked(category: Info) {\r\n return true;\r\n }\r\n\r\n public categoryAgeChartLabels: string[] = [];\r\n public categoryAgeChartData: number[][] = [];\r\n\r\n public categoryLocationChartLabels: string[] = [];\r\n public categoryLocationChartData: number[][] = [];\r\n\r\n public costCenterCategoryDataChartLabels: string[] = [];\r\n public costCenterCategoryDataChartData: number[][] = [];\r\n\r\n\r\n public stackedAssetPerProductAndCategoryClickedSearch(e: any): void {\r\n\r\n if (e.active.length > 0) {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n var assetTypes = [];\r\n\r\n this.selctedCategoriesInfo.forEach(element => {\r\n assetTypes.push(element.Id)\r\n });\r\n if (e.active.length > 0) {\r\n var dataSet = e.active[0]._model\r\n var location = dataSet.label;\r\n let queryParams = {\r\n page: 1,\r\n sortOrder: \"asc\",\r\n pageSize: 20,\r\n query: \"\",\r\n bundleId: currentChoosenBundle.bundleId,\r\n userId: user.UserId,\r\n assetTypes: assetTypes,\r\n location: location\r\n };\r\n this.router.navigate(['assetsearch'], {\r\n queryParams: queryParams\r\n });\r\n }\r\n }\r\n }\r\n\r\n // events\r\n public stackedLocationCategoryChartClickedSearch(e: any): void {\r\n if (e.active.length > 0) {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n const chart = e.active[0]._chart;\r\n const activePoints = chart.getElementAtEvent(e.event);\r\n let activeRowLabel = activePoints[0]._model.label;\r\n const AssetAgeCategoryLabels = [\r\n 'Label_AssetAgeCategory_0_12',\r\n 'Label_AssetAgeCategory_12_24',\r\n 'Label_AssetAgeCategory_24_36',\r\n 'Label_AssetAgeCategory_36'\r\n ];\r\n let chartRows = [];\r\n let fromDate = new Date();\r\n let toDate = new Date();\r\n\r\n for (var i = 0; i < AssetAgeCategoryLabels.length; i++) {\r\n this.translate.get(AssetAgeCategoryLabels[i]).subscribe(translation => {\r\n chartRows.push(translation);\r\n });\r\n };\r\n\r\n if (activePoints.length > 0) {\r\n var assetTypes = [];\r\n this.selctedcategoriesInfoForAgeAndCategory.forEach(element => {\r\n assetTypes.push(element.Id);\r\n });\r\n\r\n if (activeRowLabel == chartRows[0]) {\r\n fromDate.setMonth(fromDate.getMonth() - 12);\r\n toDate = new Date();\r\n } else if (activeRowLabel == chartRows[1]) {\r\n fromDate.setMonth(fromDate.getMonth() - 24);\r\n toDate.setMonth(toDate.getMonth() - 12);\r\n } else if (activeRowLabel == chartRows[2]) {\r\n fromDate.setMonth(toDate.getMonth() - 36);\r\n toDate.setMonth(toDate.getMonth() - 24);\r\n } else if (activeRowLabel == chartRows[3]) {\r\n fromDate = new Date(1900, 1, 1);\r\n toDate.setMonth(toDate.getMonth() - 36);\r\n } \r\n\r\n if (e.active.length > 0) {\r\n var dataSet = e.active[0]._model\r\n var location = dataSet.label;\r\n let queryParams = {\r\n page: 1,\r\n sortOrder: \"asc\",\r\n pageSize: 20,\r\n query: \"\",\r\n bundleId: currentChoosenBundle.bundleId,\r\n userId: user.UserId,\r\n assetTypes: assetTypes,\r\n orderDateTo: toDate,\r\n orderDateFrom: fromDate,\r\n location: location\r\n };\r\n this.router.navigate(['assetsearch'], {\r\n queryParams: queryParams\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n ///search?Page=1&Failed to load resource: net::ERR_CONNECTION_REFUSED\r\n // this.router.navigate(['assetsearch'], { queryParams: {Page : 1,SortOrder: \"asc\", PageSize:5 , Value: \"\", BundleID: 10012, UserID:11300, FinanceAgreementNos : [\"OA\", \"AB\"] } });\r\n\r\n dashboardMessage = \"\";\r\n\r\n public chartHovered(e: any): void {\r\n // console.log(e);\r\n }\r\n\r\n // colors: string[] = ['rgb(120,170,212)', 'rgb(232, 135, 138)', 'rgb(137, 189, 77)', 'rgba(148,159,177,1)', 'rgba((255,0,255)', 'rgba(0,0,128)', 'rgba(128,0,0)'];\r\n\r\n getColor(number) {\r\n var scale = 30;\r\n var red = 200 + number * scale;\r\n var green = 100 + number * scale;\r\n var blue = 26 + number * scale;\r\n var color = 'rgb(' + red + ',' + green + ',' + blue + ')';\r\n var colorArray = [];\r\n for (var i = 1; i < 20; i++) {\r\n colorArray.push(color);\r\n }\r\n return colorArray;\r\n }\r\n datasets = [];\r\n datasetsCostCenterCustomerCategory = [];\r\n datasetsAgeAndCustomerCategory = [];\r\n\r\n\r\n loadPieData = false;\r\n loadPiePerAgeAndCategory = false;\r\n loadPiePerCostCenter = false;\r\n loadCustomerCategory(result: StackedCharts) {\r\n this.customerCategoryCityLabels = [];\r\n let data: number[] = [];\r\n let tempChartData2: ChartDataSets[] = [];\r\n\r\n // = [\r\n // { data: [65, 59, 80, 81, 56, 55, 40], label: 'Series A' ]};\r\n\r\n for (var i = 0; i < result.Cities.length; i++) {\r\n this.customerCategoryCityLabels.push(result.Cities[i]);\r\n }\r\n for (var i = 0; i < result.DataLabels.length; i++) {\r\n tempChartData2.push({ data: result.DataLabels[i].Data, label: result.DataLabels[i].Label });\r\n }\r\n this.barChartDataCostCenterCategory = tempChartData2;\r\n }\r\n\r\n loadCustomerCategory2(result: StackedCostCentersCharts) {\r\n this.customerCategoryCityLabels = [];\r\n let data: number[] = [];\r\n let tempChartData2: ChartDataSets[] = [];\r\n\r\n for (var i = 0; i < result.CostCenters.length; i++) {\r\n this.customerCategoryCityLabels.push(result.CostCenters[i]);\r\n }\r\n for (var i = 0; i < result.DataLabels.length; i++) {\r\n tempChartData2.push({ data: result.DataLabels[i].Data, label: result.DataLabels[i].Label });\r\n }\r\n this.barChartDataCostCenterCategory = tempChartData2;\r\n }\r\n\r\n\r\n\r\n getClass(index) {\r\n // console.log(index);\r\n if (this.chartHorizontalColorsButtons !== undefined && this.chartHorizontalColorsButtons.length > 0) {\r\n try {\r\n var data = {\r\n backgroundColor: this.chartHorizontalColorsButtons[index].backgroundColor,\r\n borderColor: this.chartHorizontalColorsButtons[index].borderColor\r\n };\r\n return data;\r\n } catch (error) {\r\n console.log(error);\r\n return {};\r\n }\r\n\r\n }\r\n return {};\r\n }\r\n\r\n isCostCenterCustomerCategoryDataLoaded = false;\r\n getAssetsPerCostCenterAndCategoryData(bundleId, userId, categoryCode) {\r\n this.loadPiePerCostCenter = true;\r\n this.costCenterCategoryDataChartData = [];\r\n if (this.authenticationService.isActive) {\r\n this.dashboardService.getAssetsPerCostCenterAndCategory(bundleId, userId, categoryCode).subscribe(\r\n result => {\r\n this.loadCustomerCategory2(result);\r\n this.datasetsCostCenterCustomerCategory = [];\r\n this.costCenterCategoryDataChartLabels = [];\r\n for (var i = 0; i < result.CostCenters.length; i++) {\r\n this.costCenterCategoryDataChartLabels.push(result.CostCenters[i]);\r\n };\r\n\r\n for (var i = 0; i < result.DataLabels.length; i++) {\r\n var colors = this.getColor(i);\r\n this.datasetsCostCenterCustomerCategory.push({\r\n data: result.DataLabels[i].Data,\r\n label: result.DataLabels[i].Label,\r\n backgroundColor: colors,\r\n borderColor: colors,\r\n hoverBackgroundColor: colors,\r\n borderWidth: 0\r\n });\r\n }\r\n\r\n this.isCostCenterCustomerCategoryDataLoaded = true;\r\n this.loadPiePerCostCenter = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n loadAssetsPerLocationAndCategoryCode(bundleId, userId, categoryCode) {\r\n this.loadPieData = true;\r\n this.categoryLocationChartData = [];\r\n this.datasets = [];\r\n if (this.authenticationService.isActive) {\r\n this.dashboardService.getAssetsPerLocationAndCategoryCode(bundleId, userId, categoryCode).subscribe(\r\n result => {\r\n this.hasAssetsPerLocationAndCategoryCode = true;\r\n this.loadCustomerCategory(result);\r\n this.datasets = [];\r\n this.categoryLocationChartLabels = [];\r\n for (var i = 0; i < result.Cities.length; i++) {\r\n this.categoryLocationChartLabels.push(result.Cities[i]);\r\n };\r\n\r\n for (var i = 0; i < result.DataLabels.length; i++) {\r\n var colors = this.getColor(i);\r\n this.datasets.push({\r\n data: result.DataLabels[i].Data,\r\n label: result.DataLabels[i].Label,\r\n backgroundColor: colors,\r\n borderColor: colors,\r\n hoverBackgroundColor: colors,\r\n borderWidth: 0\r\n });\r\n }\r\n this.loadPieData = false;\r\n },\r\n error => {\r\n this.hasAssetsPerLocationAndCategoryCode = false;\r\n this.loadPieData = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n hasPieChartLabelsBeenLoaded(): boolean {\r\n return this.categoryLocationChartLabels !== null && this.categoryLocationChartLabels.length > 0;\r\n }\r\n loadAssetsPerAgeAndCategory(bundleId, userId, categoryCode) {\r\n this.loadPiePerAgeAndCategory = true;\r\n this.categoryAgeChartData = [];\r\n if (this.authenticationService.isActive) {\r\n this.dashboardService.getAssetsPerAgeAndCategory(bundleId, userId, categoryCode).subscribe(\r\n result => {\r\n this.datasetsAgeAndCustomerCategory = [];\r\n this.categoryAgeChartLabels = [];\r\n for (var i = 0; i < result.Cities.length; i++) {\r\n this.translate.get(result.Cities[i]).subscribe(translation => {\r\n this.categoryAgeChartLabels.push(translation);\r\n });\r\n };\r\n\r\n for (var i = 0; i < result.DataLabels.length; i++) {\r\n var colors = this.getColor(i);\r\n this.datasetsAgeAndCustomerCategory.push({\r\n data: result.DataLabels[i].Data,\r\n label: result.DataLabels[i].Label,\r\n backgroundColor: colors,\r\n borderColor: colors,\r\n hoverBackgroundColor: colors,\r\n borderWidth: 0\r\n });\r\n }\r\n this.hasAssetsPerAgeAndCategory = true;\r\n this.loadPiePerAgeAndCategory = false;\r\n },\r\n error => {\r\n this.hasAssetsPerAgeAndCategory = false;\r\n this.loadPiePerAgeAndCategory = false;\r\n }\r\n );\r\n }\r\n }\r\n\r\n //***************END PIECHART***********************************\r\n //***************LINECHART***********************************\r\n public lineChartColors: Array = [\r\n { // grey\r\n backgroundColor: '#3399ff',\r\n borderColor: 'rgba(148,159,177,1)',\r\n pointBackgroundColor: 'rgba(148,159,177,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\r\n },\r\n { // dark grey\r\n backgroundColor: '#ff9933',\r\n borderColor: 'rgba(77,83,96,1)',\r\n pointBackgroundColor: 'rgba(77,83,96,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(77,83,96,1)'\r\n },\r\n { // grey\r\n backgroundColor: '#ff4dff',\r\n borderColor: 'rgba(148,159,177,1)',\r\n pointBackgroundColor: 'rgba(148,159,177,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(148,159,177,0.8)'\r\n }\r\n ];\r\n\r\n //***************END**LINECHART***********************************\r\n\r\n //*******************BARCHART getGetOrderStatistics***********************************\r\n\r\n\r\n // public barChartLabels: string[] = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];\r\n public barChartLabels: string[] = [];\r\n public barChartType: string = 'bar';\r\n public barChartLegend: boolean = true;\r\n\r\n public barChartData: any[] = [\r\n\r\n ];\r\n\r\n\r\n public backgroundColor: [\r\n 'rgba(108, 172, 32, 0.2)',\r\n 'rgba(54, 162, 235, 0.2)',\r\n 'rgba(255, 206, 86, 0.2)',\r\n 'rgba(75, 192, 192, 0.2)',\r\n 'rgba(153, 102, 255, 0.2)',\r\n 'rgba(255, 159, 64, 0.2)'\r\n ];\r\n\r\n\r\n\r\n\r\n public barChartOptions: any = {\r\n legend: { display: false },\r\n responsive: true,\r\n // barValueSpacing: 1,\r\n // scaleOverride: true,\r\n // scaleSteps: 9,\r\n // scaleStartValue: 0,\r\n // scaleStepWidth: 100,\r\n scales: {\r\n\r\n xAxes: [\r\n {\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (label) {\r\n var month = label.split(' ')[0];\r\n return month;\r\n }\r\n }\r\n }]\r\n ,\r\n yAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true\r\n }\r\n // ,\r\n // gridLines: {\r\n // drawOnChartArea: false,\r\n // color: \"rgba(0, 0, 0, 0)\",\r\n // }\r\n }],\r\n },\r\n ticks: {\r\n callback: function (label) {\r\n var month = label.split(\" \")[0]\r\n return month;\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n display: function (context) {\r\n return context.dataset.data[context.dataIndex] !== 0; // or >= 1 or ...\r\n }\r\n }\r\n }\r\n // ,\r\n // animation: {\r\n // // duration: 500,\r\n // // easing: \"easeOutQuart\",\r\n // onComplete: function () {\r\n // var ctx = this.chart.ctx;\r\n // // ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily);\r\n // ctx.textAlign = 'center';\r\n // ctx.textBaseline = 'bottom';\r\n\r\n // this.data.datasets.forEach(function (dataset) {\r\n // for (var i = 0; i < dataset.data.length; i++) {\r\n // var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model,\r\n // scale_max = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._yScale.maxHeight;\r\n // ctx.fillStyle = '#444';\r\n // var y_pos = model.y - 5;\r\n // // Make sure data value does not get overflown and hidden\r\n // // when the bar's value is too close to max value of scale\r\n // // Note: The y value is reverse, it counts from top down\r\n // if ((scale_max - model.y) / scale_max >= 0.93)\r\n // y_pos = model.y + 15; \r\n // ctx.fillText(dataset.data[i], model.x, y_pos);\r\n // }\r\n // }); \r\n // }\r\n // }\r\n };\r\n\r\n isBarChartDataLoaded = false;\r\n loaderOrderStatisticData = false;\r\n loadOrderStatisticsData(year) {\r\n let bundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.loaderOrderStatisticData = true;\r\n let barData: any = [];\r\n this.barChartLabels = [];\r\n this.barChartData = [];\r\n if (user !== undefined && bundle !== undefined) {\r\n this.dashboardService.getGetOrderStatistics(bundle.bundleId, user.UserId, 'Swedish', year).subscribe(\r\n result => {\r\n let isOrderData = new Boolean(false);\r\n\r\n result.forEach(element => {\r\n if (element.Amount !== 0) {\r\n isOrderData = new Boolean(true);\r\n }\r\n });\r\n\r\n if (isOrderData == true) {\r\n result.forEach(element => {\r\n this.barChartLabels.push(this.getMonthTextFromMonthNumber(element.Month) + \" \" + element.Amount);\r\n barData.push(element.Amount);\r\n });\r\n\r\n this.translate.get(\"DASHBOARD_ORDERS_HEADER\").subscribe(result => {\r\n this.barChartData.push({ data: barData, label: result });\r\n this.setMyOrdersCanvasChartColors();\r\n });\r\n }\r\n\r\n this.loaderOrderStatisticData = false;\r\n this.isBarChartDataLoaded = true;\r\n },\r\n error => {\r\n this.loaderOrderStatisticData = false;\r\n console.log(error);\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n // events\r\n public chartClickedBar(e: any): void {\r\n // console.log(this.barChartData);\r\n // console.log(this.barChartLabels);\r\n // console.log(e);\r\n if (e.active.length > 0) {\r\n // console.log(this.barChartData[0].data[e.active[0]._index]);\r\n // console.log(this.barChartLabels[e.active[0]._index]);\r\n var labels = this.barChartLabels[e.active[0]._index].split(' ');\r\n var queryParams = this.createDateFromText(labels[0], this.choosenYearOrders);\r\n this.router.navigate(['assetsearch'], {\r\n queryParams\r\n });\r\n }\r\n }\r\n getMonthTextFromMonthNumber(month: number): string {\r\n if (month >= 0 && month < 12) {\r\n let months = ['januari', 'february', 'mars', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december']\r\n return months[month]\r\n }\r\n return null;\r\n }\r\n\r\n createDateFromText(month: string, year: number) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let fromDate;\r\n let toDate;\r\n if (month.toLowerCase() === \"december\") {\r\n fromDate = new Date(year, 11, 1);\r\n toDate = new Date(year, 11, 31);\r\n }\r\n if (month.toLowerCase() === \"november\") {\r\n fromDate = new Date(year, 10, 1);\r\n toDate = new Date(year, 10, 30);\r\n }\r\n if (month.toLowerCase() === \"october\") {\r\n fromDate = new Date(year, 9, 1);\r\n toDate = new Date(year, 9, 31);\r\n }\r\n if (month.toLowerCase() === \"september\") {\r\n fromDate = new Date(year, 8, 1);\r\n toDate = new Date(year, 8, 30);\r\n }\r\n if (month.toLowerCase() === \"august\") {\r\n fromDate = new Date(year, 7, 1);\r\n toDate = new Date(year, 7, 31);\r\n }\r\n if (month.toLowerCase() === \"july\") {\r\n fromDate = new Date(year, 6, 1);\r\n toDate = new Date(year, 6, 31);\r\n }\r\n if (month.toLowerCase() === \"june\") {\r\n fromDate = new Date(year, 5, 1);\r\n toDate = new Date(year, 5, 30);\r\n }\r\n if (month.toLowerCase() === \"may\") {\r\n fromDate = new Date(year, 4, 1);\r\n toDate = new Date(year, 4, 31);\r\n }\r\n if (month.toLowerCase() === \"april\") {\r\n fromDate = new Date(year, 3, 1);\r\n toDate = new Date(year, 3, 30);\r\n }\r\n if (month.toLowerCase() === \"mars\") {\r\n fromDate = new Date(year, 2, 1);\r\n toDate = new Date(year, 2, 31);\r\n }\r\n if (month.toLowerCase() === \"february\") {\r\n fromDate = new Date(year, 1, 1);\r\n toDate = new Date(year, 1, 28);\r\n }\r\n if (month.toLowerCase() === \"januari\") {\r\n fromDate = new Date(year, 1 - 1, 1);\r\n toDate = new Date(year, 1 - 1, 31);\r\n }\r\n\r\n return {\r\n page: 1,\r\n sortOrder: \"asc\",\r\n pageSize: 20,\r\n query: \"\",\r\n bundleId: currentChoosenBundle.bundleId,\r\n userId: user.UserId,\r\n orderDateFrom: fromDate,\r\n orderDateTo: toDate\r\n };\r\n\r\n\r\n }\r\n\r\n public chartHoveredBar(e: any): void {\r\n // console.log(e);\r\n }\r\n private addDays(theDate, days) {\r\n var someDate = new Date(theDate.getTime() + days * 24 * 60 * 60 * 1000);\r\n var dd = someDate.getDate();\r\n var mm = someDate.getMonth() + 1;\r\n var y = someDate.getFullYear();\r\n\r\n return y + '-' + mm + '-' + dd\r\n }\r\n //*****************END**BARCHART***********************************\r\n\r\n //*******************BARCHART GetAssetControlFinanceAgreement***********************************\r\n\r\n public barChartAssetControlType: string = 'bar';\r\n public barChartAssetControlLegend: boolean = true;\r\n public barChartAssetControlLabels: string[] = [];\r\n public barChartAssetControlDataResult: any[] = [\r\n\r\n ];\r\n public barChartAssetControlData: any[] = [\r\n\r\n ];\r\n\r\n public chartAssetControlData(e: any): void {\r\n if (e.active.length > 0) {\r\n // console.log(this.barChartAssetControlData[0].data[e.active[0]._index]);\r\n // console.log(this.barChartAssetControlLabels[e.active[0]._index]);\r\n let label = this.barChartAssetControlLabels[e.active[0]._index];\r\n // console.log(this.barChartAssetControlDataResult[e.active[0]._index]);\r\n\r\n let agreementNumbers: string[] = [];\r\n this.barChartAssetControlDataResult\r\n .forEach(element => {\r\n if (label === element.DaysUntilExpire.toString()) {\r\n agreementNumbers.push(element.AgreementNumber);\r\n }\r\n });\r\n var fromDate = this.addDays(new Date(), 0);\r\n var toDate = this.addDays(new Date(), Number(label));\r\n\r\n let queryParams =\r\n {\r\n page: 1,\r\n sortOrder: \"asc\",\r\n pageSize: 20,\r\n query: \"\",\r\n bundleId: 10012,\r\n userId: 11300,\r\n financeAgreementNos: agreementNumbers,\r\n endOfLeaseFrom: fromDate,\r\n endOfLeaseTo: toDate\r\n };\r\n this.router.navigate(['assetsearch'], {\r\n queryParams\r\n });\r\n }\r\n }\r\n\r\n loadingDeliveryAcceptanceDropdown = false;\r\n loadDropdownDeliveryAcceptance(){\r\n this.loadingDeliveryAcceptanceDropdown = true;\r\n\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n var bundleId = currentChoosenBundle.bundleId;\r\n\r\n this.dashboardService.getFinancialDashboardDaysCount(user.UserId, currentChoosenBundle.bundleId, 'DELIVERYACCEPTANCE').subscribe(\r\n responseJSON => {\r\n this.acceptanceDefaultFilter = responseJSON[0].acceptanceDefaultFilter;\r\n this.dashboardService.getDeliveryAcceptanceDropdowndData(bundleId,1,user.UserId).subscribe(result =>{\r\n this.acceptanceDropdownValues = result;\r\n if (!this.acceptanceDropdownValues.find((value)=>{ return this.formatAcceptancefilter(value) == this.acceptanceDefaultFilter})){\r\n let first = this.acceptanceDropdownValues[0]; \r\n this.acceptanceDefaultFilter = this.formatAcceptancefilter(first);\r\n }\r\n var filter = this.parseAcceptancefilter(this.acceptanceDefaultFilter);\r\n this.loadDashboardDeliveryAcceptance(filter.Year, filter.Quarter, true);\r\n this.loadingDeliveryAcceptanceDropdown = false;\r\n });\r\n },\r\n error => { \r\n console.log(\"No default delivery acceptance filter found.\");\r\n this.dashboardService.getDeliveryAcceptanceDropdowndData(bundleId,1,user.UserId).subscribe(result =>{\r\n this.acceptanceDropdownValues = result;\r\n let first = this.acceptanceDropdownValues[0]; \r\n this.acceptanceDefaultFilter = this.formatAcceptancefilter(first);\r\n this.loadDashboardDeliveryAcceptance(first.Year, first.Quarter, true);\r\n this.loadingDeliveryAcceptanceDropdown = false;\r\n });\r\n });\r\n } \r\n\r\n\r\n loadingDeliveryAcceptanceDashboard = false;\r\n loadDashboardDeliveryAcceptance(year, quarter, force){\r\n console.log(`Implement DeliveryAcceptance loading logic here: ${year} ${quarter}`);\r\n if(force || this.acceptanceDefaultFilter!=this.formatAcceptancefilter({Quarter:quarter, Year:year}))\r\n {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n var bundleId = currentChoosenBundle.bundleId;\r\n\r\n this.loadingDeliveryAcceptanceDashboard = true;\r\n this.deliveryAcceptance = [];\r\n this.acceptanceDefaultFilter=this.formatAcceptancefilter({Quarter:quarter, Year:year});\r\n let jsonObject = JSON.parse('[{\"acceptanceDefaultFilter\": \"' + this.acceptanceDefaultFilter + '\"}]');\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'DELIVERYACCEPTANCE', currentChoosenBundle.bundleId, jsonObject);\r\n this.dashboardService.getDeliveryAcceptanceDashboardData(bundleId, 1, user.UserId, year, quarter).subscribe(result=>{\r\n this.deliveryAcceptance = result;\r\n this.loadingDeliveryAcceptanceDashboard = false;\r\n },\r\n error=>{\r\n console.log(\"Failure while loading delivery acceptance.\");\r\n this.loadingDeliveryAcceptanceDashboard = false;\r\n })\r\n \r\n } \r\n }\r\n\r\n loadingFinanceAgreements = false;\r\n loadDashboardFinanceAgreements(dayss) {\r\n this.financeAgreements = [];\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n var bundleId = currentChoosenBundle.bundleId;\r\n\r\n if( dayss != this.financeDays) {\r\n this.updateUserSelectedDashboardCategories(user.UserId, 'FINANCEAGREEMENTS', currentChoosenBundle.bundleId, JSON.parse('[{\"financeDays\": '+dayss+'}]'));\r\n this.financeDays = dayss + \" \";\r\n this.updateFinanceAgreements(bundleId, user.UserId);\r\n } else {\r\n this.dashboardService.getFinancialDashboardDaysCount(user.UserId, currentChoosenBundle.bundleId, 'FINANCEAGREEMENTS').subscribe(\r\n responseJSON => {\r\n this.financeDays = responseJSON[0].financeDays;\r\n this.updateFinanceAgreements(bundleId, user.UserId);\r\n },\r\n error => {\r\n this.financeDays = dayss + \" \";\r\n });\r\n }\r\n }\r\n updateFinanceAgreements(bundleId, userId) {\r\n this.loadingFinanceAgreements = true;\r\n this.financeAgreements = [];\r\n this.dashboardService.getFinanceAgreements(bundleId, 1, userId, this.financeDays).subscribe(\r\n result => {\r\n this.financeAgreements = result;\r\n },\r\n error => {\r\n },\r\n () => {\r\n this.loadingFinanceAgreements = false;\r\n }\r\n );\r\n }\r\n\r\n choosenYearOrders = 0;\r\n loadDashboardOrders(year) {\r\n this.choosenYearOrders = year;\r\n this.loadOrderStatisticsData(year);\r\n }\r\n\r\n deliveryAcceptanceLoadingAssetList = false;\r\n \r\n deliveryAcceptanceClick(data) {\r\n this.deliveryAcceptanceLoadingAssetList = true;\r\n let queryParams = this.createDeliveryAcceptanceParam(data);\r\n this.router.navigate(['assetsearch'], { queryParams });\r\n }\r\n\r\n createDeliveryAcceptanceParam(data) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let assetTypes = [];\r\n assetTypes.push(data.AssetType);\r\n\r\n return {\r\n page: 1,\r\n sortOrder: \"asc\",\r\n pageSize: 20,\r\n query: \"\",\r\n bundleId: currentChoosenBundle.bundleId,\r\n userId: user.UserId,\r\n deliveryDateFrom: data.DeliveryDateFrom,\r\n deliveryDateTo: data.DeliveryDateTo,\r\n assetTypes: assetTypes,\r\n statuses : [],\r\n deliveryNotAcceptedOnly: \"true\"\r\n };\r\n }\r\n\r\n financeAgreementClick(data) {\r\n var queryParams = this.createFinanceParam(data);\r\n\r\n this.router.navigate(['assetsearch'], {\r\n queryParams\r\n });\r\n\r\n }\r\n createFinanceParam(data) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n\r\n return {\r\n page: 1,\r\n sortOrder: \"asc\",\r\n pageSize: 20,\r\n query: \"\",\r\n bundleId: currentChoosenBundle.bundleId,\r\n userId: user.UserId,\r\n financeAgreementNos: [data, \"|\"],\r\n financeDays: this.financeDays\r\n };\r\n }\r\n\r\n loadGetAssetControlFinanceAgreement() {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let user = JSON.parse(localStorage.currentUser);\r\n let barData: any = [0, 0, 0];\r\n this.barChartAssetControlLabels = ['30', '60', '90']\r\n var bundleId = currentChoosenBundle.bundleId;\r\n if (bundleId !== undefined) {\r\n this.dashboardService.getAssetControlFinanceAgreement(bundleId, user.UserId, 'Swedish').subscribe(\r\n result => {\r\n this.barChartAssetControlDataResult = result;\r\n result.forEach(element => {\r\n if (element.DaysUntilExpire === 30) {\r\n barData[0] += 1;\r\n } else if (element.DaysUntilExpire === 60) {\r\n barData[1] += 1;\r\n } else if (element.DaysUntilExpire === 90) {\r\n barData[2] += 1;\r\n }\r\n });\r\n this.barChartAssetControlData.push({ data: barData, colors: this.chartColors, backgroundColor: this.backgroundColor, label: 'Finance Agreements' });\r\n\r\n },\r\n error => {\r\n console.log(error);\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n // NEW NEW NEW\r\n public stackedLocationCategoryChartOptions: ChartOptions = {\r\n layout: {\r\n },\r\n legend: {\r\n display: true,\r\n labels: {\r\n fontSize: 0,\r\n fontFamily: \"HelveticaNeue-Medium\"\r\n }\r\n },\r\n responsive: true,\r\n // We use these empty structures as placeholders for dynamic theming.\r\n scales: {\r\n xAxes: [{\r\n stacked: true,\r\n }],\r\n yAxes: [{\r\n stacked: true\r\n }]\r\n },\r\n\r\n\r\n\r\n plugins: {\r\n align: \"right\",\r\n type: 'horizontalBar',\r\n datalabels: {\r\n display: false,\r\n },\r\n },\r\n tooltips: {\r\n enabled: false\r\n },\r\n };\r\n\r\n\r\n\r\n\r\n\r\n public customerCategoryCityLabels: Label[] = ['Skövde', 'Karlstad', 'Stockholm', 'Luleå', 'Malmö', 'Köpenhamn', 'Helsinki'];\r\n public barChartType2: ChartType = 'horizontalBar';\r\n public barChartLegend2 = false;\r\n public barChartPlugins2 = [pluginDataLabels];\r\n\r\n public barChartData2: ChartDataSets[] = [\r\n { data: [65, 59, 80, 81, 56, 55, 40], label: 'CatA' },\r\n { data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B' }\r\n ];\r\n\r\n public barChartDataCostCenterCategory: ChartDataSets[] = [\r\n { data: [65, 59, 80, 81, 56, 55, 40], label: 'CatA' },\r\n { data: [28, 48, 40, 19, 86, 27, 90], label: 'Series B' }\r\n ];\r\n\r\n\r\n public chartClicked2({ event, active }: { event: MouseEvent, active: {}[] }): void {\r\n console.log(event, active);\r\n }\r\n\r\n public chartHovered2({ event, active }: { event: MouseEvent, active: {}[] }): void {\r\n console.log(event, active);\r\n }\r\n\r\n public randomize(): void {\r\n const array = new Uint32Array(3);\r\n crypto.getRandomValues(array);\r\n\r\n // Only Change 3 values\r\n const data = [\r\n Math.round(array[0] / 2**32 * 100),\r\n 59,\r\n 80,\r\n (array[1] / 2**32 * 100),\r\n 56,\r\n (array[2] / 2**32 * 100),\r\n 40];\r\n this.barChartData2[0].data = data;\r\n }\r\n\r\n public distinctInfo(input:Info[]) : Info[] {\r\n const result:Info[] = [];\r\n const map = new Map();\r\n\r\n for (const item of input) {\r\n if(!map.has(item.Id)){\r\n map.set(item.Id, true); \r\n let isTrueSet:boolean = (`${item.Checked}` == 'true');\r\n result.push({\r\n Id: item.Id,\r\n Name: item.Name,\r\n Checked : isTrueSet\r\n } as Info);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public parseAcceptancefilter(data) : DeliveryAcceptanceDropdownModel{\r\n let year:number = data.split(\" \")[1];\r\n let quarter:number = data.split(\" \")[0].replace(\"Q\", \"\");\r\n return {Year:year, Quarter:quarter};\r\n }\r\n\r\n public formatAcceptancefilter(data:DeliveryAcceptanceDropdownModel){\r\n return `Q${data.Quarter} ${data.Year}`;\r\n }\r\n\r\n}\r\n","module.exports = \".country-dropdown-arrow-box {\\r\\n width: 48px;\\r\\n height: 100%;\\r\\n border: solid 1px #8c969d;\\r\\n background-color: #ffffff;\\r\\n float: right;\\r\\n }\\r\\n\\r\\n.country-btn-group{\\r\\n width: 200px;\\r\\n}\\r\\n\\r\\n/* .country-dropdown:hover{\\r\\n height: 47px;\\r\\n border-bottom: 2px solid #edeeee;\\r\\n}\\r\\n.country-dropdown .dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {\\r\\n color: #262626;\\r\\n text-decoration: none;\\r\\n background-color: rgba(31, 35, 38, 0.04);\\r\\n}\\r\\n.country-dropdown .btn-default {\\r\\n color: #6e7c85;\\r\\n background-color: #fff;\\r\\n border-color: #ccc;\\r\\n width: 200px;\\r\\n height: 45px;\\r\\n border-radius: 0;\\r\\n}\\r\\n.country-dropdown .dropdown-menu {\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n z-index: 1000;\\r\\n float: left;\\r\\n min-width: 160px;\\r\\n padding: 0;\\r\\n margin: 0;\\r\\n font-size: 14px;\\r\\n text-align: left;\\r\\n list-style: none;\\r\\n background-color: #fff;\\r\\n background-clip: padding-box;\\r\\n border: 1px solid #ccc;\\r\\n border: 1px solid #3a8ea0;\\r\\n border-radius: 0px;\\r\\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\\r\\n font-size: 16px;\\r\\n font-weight: normal;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.63;\\r\\n letter-spacing: 0.3px;\\r\\n color: #4d575d;\\r\\n}\\r\\n.country-dropdown .header-button{\\r\\n padding: 13px 0px 13px 16px !important;\\r\\n font-size: 14px;\\r\\n font-weight: 500;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.43;\\r\\n letter-spacing: 0.5px;\\r\\n color: #4d575d!important;\\r\\n} */\\r\\n\\r\\n.country-dropdown-icon {\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.country-dropdown-text {\\r\\n float: left;\\r\\n color: #4d575d;\\r\\n}\\r\\n\\r\\n.country-menu {\\r\\n width: 200px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.country-dropdown-btn {\\r\\n width: 200px;\\r\\n height: 45px;\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n/* .country-dropdown .dropdown-menu .country-button {\\r\\n display: block;\\r\\n clear: both;\\r\\n width: 100%;\\r\\n white-space: nowrap;\\r\\n font-size: 16px;\\r\\n font-weight: normal;\\r\\n font-style: normal;\\r\\n font-stretch: normal;\\r\\n line-height: 1.63;\\r\\n letter-spacing: 0.3px;\\r\\n color: #4d575d;\\r\\n padding: 11px 0px 11px 16px;\\r\\n } */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6QixZQUFZO0VBQ2Q7O0FBRUY7SUFDSSxZQUFZO0FBQ2hCOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RHOztBQUVIO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLGVBQWU7QUFDbkI7O0FBRUE7Ozs7Ozs7Ozs7Ozs7T0FhTyIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY291bnRyeS1kcm9wZG93bi1hcnJvdy1ib3gge1xyXG4gICAgd2lkdGg6IDQ4cHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjOGM5NjlkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcblxyXG4uY291bnRyeS1idG4tZ3JvdXB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbn1cclxuLyogLmNvdW50cnktZHJvcGRvd246aG92ZXJ7XHJcbiAgICBoZWlnaHQ6IDQ3cHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VkZWVlZTtcclxufVxyXG4uY291bnRyeS1kcm9wZG93biAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xyXG4gICAgY29sb3I6ICMyNjI2MjY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMxLCAzNSwgMzgsIDAuMDQpO1xyXG59XHJcbi5jb3VudHJ5LWRyb3Bkb3duIC5idG4tZGVmYXVsdCB7XHJcbiAgICBjb2xvcjogIzZlN2M4NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXItY29sb3I6ICNjY2M7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcbi5jb3VudHJ5LWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNhOGVhMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAuMTc1KTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjYzO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG4gICAgY29sb3I6ICM0ZDU3NWQ7XHJcbn1cclxuLmNvdW50cnktZHJvcGRvd24gLmhlYWRlci1idXR0b257XHJcbiAgICBwYWRkaW5nOiAxM3B4IDBweCAxM3B4IDE2cHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG4gICAgY29sb3I6ICM0ZDU3NWQhaW1wb3J0YW50O1xyXG59ICovXHJcblxyXG4uY291bnRyeS1kcm9wZG93bi1pY29uIHtcclxuICBtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5jb3VudHJ5LWRyb3Bkb3duLXRleHQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjb2xvcjogIzRkNTc1ZDtcclxufVxyXG5cclxuLmNvdW50cnktbWVudSB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5jb3VudHJ5LWRyb3Bkb3duLWJ0biB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbi8qIC5jb3VudHJ5LWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5jb3VudHJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zdHJldGNoOiBub3JtYWw7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjM7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG4gICAgICAgIGNvbG9yOiAjNGQ1NzVkO1xyXG4gICAgICAgIHBhZGRpbmc6IDExcHggMHB4IDExcHggMTZweDtcclxuICAgIH0gKi8iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'Label_LandingPageTitle' | translate }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder, Validators, AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { BundleService } from '../_shared/bundles/bundle.service';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\nimport { CurrentBundle, SettingsService } from '../_shared/settings/settings.service';\r\nimport { ForgotPasswordService } from '../forgot-password/forgot-password.service';\r\nimport { AuthService } from '../_guards/auth.service';\r\nimport { AssetSearchService } from '../assets/asset-search/asset-search.service';\r\n\r\nfunction emailMatcher(c: AbstractControl): { [key: string]: boolean } | null {\r\n let emailControl = c.get('email');\r\n let confirmControl = c.get('confirmEmail');\r\n if (emailControl.pristine || confirmControl.pristine) {\r\n return null;\r\n }\r\n if (emailControl.value === confirmControl.value) {\r\n return null;\r\n }\r\n return { 'match': true };\r\n}\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\n\r\nexport class LoginComponent implements OnInit {\r\n model: any = {};\r\n testForm: FormGroup;\r\n modelForm: FormGroup;\r\n forgotPasswordForm: FormGroup;\r\n showForgotPassword: boolean = false;\r\n loadingForgotPassword: boolean = false;\r\n showForgotPasswordMessage: boolean = false;\r\n loading = false;\r\n returnUrl: string;\r\n errorMessage: string;\r\n currentUserId: 0;\r\n email: string = \"\";\r\n notHandled = false;\r\n selectedCountry: string = \"\";\r\n public countries: any = [\r\n {\r\n label: 'SWEDEN',\r\n value: 'SE'\r\n },\r\n {\r\n label: 'NORWAY',\r\n value: 'NO'\r\n },\r\n {\r\n label: 'DENMARK',\r\n value: 'DK'\r\n },\r\n {\r\n label: 'FINLAND',\r\n value: 'FI'\r\n },\r\n {\r\n label: 'ESTONIA',\r\n value: 'EE'\r\n },\r\n {\r\n label: 'LITHUANIA',\r\n value: 'LT'\r\n },\r\n {\r\n label: 'LATVIA',\r\n value: 'LV'\r\n },\r\n ];\r\n \r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private formBuilder: FormBuilder,\r\n private _bundleService: BundleService,\r\n private _forgotPasswordService: ForgotPasswordService,\r\n private authService: AuthService,\r\n private assetSearchService: AssetSearchService,\r\n ) { }\r\n loadingLogin = false;\r\n ngOnInit() {\r\n }\r\n\r\n isSelected(code) {\r\n return true;\r\n }\r\n\r\n forgotPasswordEmailChange() {\r\n this.notHandled = false;\r\n if (this.isEmailSSODomain(this.email)) {\r\n this.notHandled = true;\r\n }\r\n }\r\n\r\n\r\n delay(ms: number) {\r\n return new Promise( resolve => setTimeout(resolve, ms) );\r\n }\r\n\r\n saveSelectedCountry(countryCode: string) {\r\n if (countryCode != null) {\r\n this.selectedCountry = this.countries.filter((country) => {return country.value == countryCode})[0].label;\r\n this.authService.login();\r\n }\r\n }\r\n\r\n async login() {\r\n await this.authenticationService.configure()\r\n this.authenticationService.logIn();\r\n }\r\n\r\n private createErrorMessage(errorMessage) {\r\n this.errorMessage = errorMessage;\r\n }\r\n private saveBundle(bundleId, bundleName, countrry) {\r\n var currentBundle:CurrentBundle = {\r\n bundleId: bundleId,\r\n bundleName: bundleName,\r\n countrry: countrry\r\n }\r\n SettingsService.setCurrentBundle(currentBundle);\r\n }\r\n message: string = \"\";\r\n couldNotCreatePasswordResetMessage: string = \"\";\r\n\r\n sendCreateNewPasswordEmail() {\r\n this.loadingForgotPassword = true;\r\n var email = this.forgotPasswordForm.get('emailGroup.email').value;\r\n let url = window.location.origin + window.location.pathname.replace('login', \"\");\r\n this._forgotPasswordService.sendForgotPasswordEmail(email, url).subscribe(\r\n event => {\r\n this.loadingForgotPassword = false;\r\n this.showForgotPasswordMessage = true;\r\n this.message = 'New password mail has been sent';\r\n }, error => {\r\n this.loadingForgotPassword = false;\r\n this.showForgotPasswordMessage = true;\r\n this.couldNotCreatePasswordResetMessage = error.error.Message;\r\n }\r\n );\r\n }\r\n oK() {\r\n location.reload();\r\n }\r\n usernNameChangeEvent() {\r\n if (this.testForm.get('username').errors === null) {\r\n if (this.isSSODomain()) {\r\n this.authService.login();\r\n }\r\n }\r\n this.errorMessage = \"\";\r\n }\r\n loggaut() {\r\n this.authService.logout(true);\r\n //this.router.navigate(['/registerinfo']);\r\n }\r\n isSSODomain(): boolean {\r\n let email = this.testForm.value.username;\r\n return this.isEmailSSODomain(email);\r\n }\r\n isEmailSSODomain(email): boolean {\r\n var regex = \"^[A-Za-z0-9._%+-]+@malmo.se$\";\r\n if (email.match(regex)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xvZ2luc3NvL2xvZ2luc3NvLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../_guards/auth.service';\r\n\r\n@Component({\r\n selector: 'app-loginsso',\r\n templateUrl: './loginsso.component.html',\r\n styleUrls: ['./loginsso.component.css']\r\n})\r\nexport class LoginSSOComponent implements OnInit {\r\n\r\n constructor(\r\n private auth: AuthService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.auth.login();\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL25ldy1wYXNzd29yZC9uZXctcGFzc3dvcmQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ header }}\\r\\n
\\r\\n
\\r\\n Welcome to Atea Asset Management!

\\r\\n\\r\\nPlease activate your account by entering a password. The password must contain at least 8 characters\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter a valid password.\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Please enter password\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Enable : {{Enable}} -->\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder, ReactiveFormsModule, Validators, AbstractControl, ValidatorFn } from '@angular/forms';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, ActivatedRoute, RouterStateSnapshot } from '@angular/router';\r\nimport { PasswordService } from '../_shared/password/password.service';\r\nimport { ResetPassword } from '../_shared/password/resetPassword'\r\nimport { PasswordReset } from '../_shared/password/PasswordReset';\r\nimport { HelperService } from '../_shared/helper/helper.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-new-password',\r\n templateUrl: './new-password.component.html',\r\n styleUrls: ['./new-password.component.css']\r\n})\r\nexport class NewPasswordComponent implements OnInit {\r\n oldPassword: string = \"\";\r\n newPassword: string = \"\";\r\n confirmNewPassword: string = \"\"\r\n header = \"Reset password\";\r\n model: any = {};\r\n testForm: FormGroup;\r\n forgotPasswordForm: FormGroup;\r\n showForgotPassword: boolean = false;\r\n loadingForgotPassword: boolean = false;\r\n showForgotPasswordMessage: boolean = false;\r\n loading = false;\r\n returnUrl: string;\r\n errorMessage: string;\r\n currentUserId: 0;\r\n email: string = \"\";\r\n showConfirmation: boolean = false;;\r\n isActivate = false;\r\n passwordReset: PasswordReset;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private activatedRoute: ActivatedRoute,\r\n private passwordService: PasswordService,\r\n private router: Router,\r\n private helperService: HelperService,\r\n private toastr: ToastrService\r\n ) { }\r\nshowErrorMessage = false;\r\n ngOnInit() {\r\n this.testForm = this.formBuilder.group({\r\n newpassword: ['', [Validators.required]],\r\n repeatpassword: ['', [Validators.required]]\r\n });\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n if (params != {}) {\r\n\r\n if (params.isActivate !== null) {\r\n this.isActivate = params.isActivate;\r\n }\r\n if (params.Header !== null) {\r\n this.header = params.Header;\r\n }\r\n if (params.ResetCode !== null) {\r\n this.passwordService.getResetCodeInformation(params.ResetCode).subscribe(result => {\r\n console.log(result);\r\n this.passwordReset = result;\r\n },\r\n error => {\r\n this.router.navigate([\"/login\"]);\r\n\r\n console.log(error);\r\n })\r\n } else {\r\n this.router.navigate([\"/login\"]);\r\n }\r\n }\r\n });\r\n this.errorMessage = \"\";\r\n }\r\n usernNameChangeEvent() {\r\n this.errorMessage = \"\";\r\n }\r\n enableButton() {\r\n\r\n }\r\n Enable = false;\r\n validate() {\r\n // console.log('hejhej');\r\n this.showConfirmation = false;\r\n this.errorMessage = \"\";\r\n this.Enable = true;\r\n if (this.newPassword !== this.confirmNewPassword) {\r\n this.errorMessage = \"The Password and Confirm password is not the same\"\r\n this.Enable = false;\r\n }\r\n if (!this.helperService.containsTextANumber(this.newPassword) || !this.helperService.containsTextANumber(this.confirmNewPassword)) {\r\n this.errorMessage = \"The new password should contain a number\";\r\n this.Enable = false;\r\n } else {\r\n this.Enable = true;\r\n }\r\n if (this.newPassword !== this.confirmNewPassword) {\r\n this.Enable = false;\r\n }\r\n\r\n if (this.newPassword !== this.confirmNewPassword) {\r\n this.Enable = false;\r\n }\r\n }\r\n\r\n onChangeNew(event) {\r\n this.validate();\r\n }\r\n onChangeRepeat(event) {\r\n this.validate();\r\n if (this.newPassword !== this.confirmNewPassword && this.confirmNewPassword.length > 3) {\r\n this.errorMessage = \"The Password and Confirm password is not the same\"\r\n }\r\n if (this.newPassword !== this.confirmNewPassword && this.confirmNewPassword.length > 3) {\r\n this.errorMessage = \"The Password and Confirm password is not the same\"\r\n }\r\n }\r\n\r\n\r\n\r\n validatePassword() : boolean{\r\n // console.log('validatePassword');\r\n var valid = true;\r\n if ( this.newPassword !== this.confirmNewPassword) {\r\n this.errorMessage = \"The Password and Confirm password is not the same\"\r\n valid = false;\r\n }\r\n if (this.newPassword.length >= 12 && this.newPassword.length <= 64 && this.confirmNewPassword.length >= 12 && this.confirmNewPassword.length < 64) {\r\n if (!this.helperService.containsAllowedCharacters(this.newPassword) || !this.helperService.containsAllowedCharacters(this.confirmNewPassword)) {\r\n this.errorMessage = \"The password contains invalid characters\";\r\n valid = false;\r\n }\r\n \r\n if (!this.helperService.containsTextANumber(this.newPassword) || !this.helperService.containsTextANumber(this.confirmNewPassword)) {\r\n this.errorMessage = \"The new password should contain a number\";\r\n valid = false;\r\n }\r\n \r\n }\r\n if (this.newPassword.length < 12 && this.newPassword.length >= 0 && this.confirmNewPassword.length < 12 && this.confirmNewPassword.length > 0){\r\n this.errorMessage = \"The new password should contain minimum 12 characters\";\r\n valid = false;\r\n } \r\n \r\n // console.log(this.errorMessage);\r\n \r\n if(valid){\r\n this.errorMessage = \"\";\r\n }\r\n return valid;\r\n }\r\n \r\n // saveChanges() {\r\n // if(this.validatePassword()){\r\n \r\n // let currentUser = JSON.parse(localStorage.currentUser);\r\n // let change: ChangePassword = { UserId: currentUser.UserId, NewPassword: this.newPassword, OldPassword: this.oldPassword };\r\n // this.passwordService.changePassword(currentUser.UserId, this.newPassword, this.oldPassword).subscribe(result => {\r\n // this.errorMessage = \"\";\r\n // this.oldPassword = \"\";\r\n // this.newPassword = \"\";\r\n // this.confirmNewPassword = \"\";\r\n // // this.showConfirmation = true;\r\n // this.toastr.success('Password has been updated', 'Saved');\r\n // },\r\n // error => {\r\n // this.errorMessageOldPassword = error.error.Message;\r\n // // this.toastr.error(error.error.Message, 'Error');\r\n // ;\r\n // }\r\n // );\r\n // }\r\n \r\n // }\r\n\r\n saveChanges() {\r\n if (this.validatePassword()) {\r\n this.loading = true;\r\n let change: ResetPassword = { NewPassword: this.newPassword, ResetCode: this.passwordReset.ResetCode };\r\n this.passwordService.resetPassword(change).subscribe(result => {\r\n this.router.navigate([\"/login\"]);\r\n this.loading = false;\r\n },\r\n error => {\r\n this.loading = false;\r\n console.log(error.error.Message)\r\n\r\n this.toastr.error(error.error.Message, 'Error');\r\n\r\n console.log(error);\r\n ;\r\n }\r\n );\r\n }\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
\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3JlZ2lzdGVyaW5mby9yZWdpc3RlcmluZm8uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { AuthenticationService } from '../_shared/authentication/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-registerinfo',\r\n templateUrl: './registerinfo.component.html',\r\n styleUrls: ['./registerinfo.component.scss']\r\n})\r\nexport class RegisterinfoComponent implements OnInit {\r\n\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n ngOnInit() { }\r\n\r\n async logIn(){\r\n await this.authenticationService.configure();\r\n this.authenticationService.logIn();\r\n }\r\n}\r\n","import { Info } from '../_shared/asset/Info';\r\n\r\nexport class ReportParameterModel {\r\n public displayType: number;\r\n public parameterName: string;\r\n public parameter: string;\r\n public parameterType: number;\r\n public selectionLabel: string;\r\n public multiSelectOption: any[] = [];\r\n public infos: Info[] = [];\r\n public selectedNumber: number[] = [];\r\n public fromDate: Date;\r\n public toDate: Date;\r\n public freeText: string;\r\n public parameterCode: string;\r\n public daterangeFrom: Date;\r\n public daterangeTo: Date;\r\n public daterange: any;\r\n\r\n\r\n public constructor(\r\n displayType: number,\r\n parameter: string,\r\n parameterName: string,\r\n parameterType: number,\r\n multiSelectOption: any[],\r\n selectedNumber: number[],\r\n selectionLabel: string,\r\n freeText: string,\r\n parameterCode: string,\r\n fromDate: Date = null,\r\n toDate: Date = null,\r\n ) {\r\n this.displayType = displayType;\r\n this.parameterName = parameterName;\r\n this.parameterType = parameterType;\r\n this.parameter = parameter;\r\n this.multiSelectOption = multiSelectOption;\r\n this.selectedNumber = selectedNumber;\r\n this.parameterCode = parameterCode;\r\n this.fromDate = fromDate;\r\n this.toDate = toDate,\r\n this.freeText = freeText,\r\n this.selectionLabel = selectionLabel;\r\n }\r\n\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3JlcG9ydHMvcmVwb3J0cy1jb2x1bW4tc2VsZWN0b3IvcmVwb3J0cy1jb2x1bW4tc2VsZWN0b3IuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
\\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, OnInit } from '@angular/core';\r\nimport { ReportsDataService } from './../reports-data.service'\r\nimport { HelperService } from '../../_shared/helper/helper.service'\r\n@Component({\r\n selector: 'reports-column-selector',\r\n templateUrl: './reports-column-selector.component.html',\r\n styleUrls: ['./reports-column-selector.component.css']\r\n})\r\nexport class ReportsColumnSelectorComponent implements OnInit {\r\n\r\n public showChildren: boolean = false;\r\n private clickShowTheChildren = false;\r\n constructor(public reportsDataService: ReportsDataService,\r\n private helperService: HelperService) { }\r\n isIE = false;\r\n\r\n ngOnInit() {\r\n this.isIE = this.helperService.isBrowserIE();\r\n }\r\n onClickedOutside(event: Event) {\r\n if (!this.clickShowTheChildren) {\r\n this.showChildren = false;\r\n }\r\n this.clickShowTheChildren = false;\r\n }\r\n showTheChildren(show) {\r\n this.showChildren = show\r\n this.clickShowTheChildren = true;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Report } from \"./../_shared/reports/report\";\r\nimport { ReportColumn } from \"../_shared/reports/reportColumn\";\r\n\r\n@Injectable()\r\nexport class ReportsDataService {\r\n isAllSelected() {\r\n return (\r\n this.reportColumns.filter((x) => x.Selected === true).length ===\r\n this.reportColumns.length\r\n );\r\n }\r\n isNoneOrAllColumnChecked() {\r\n return (\r\n this.reportColumns.filter((x) => x.Selected === true).length === 0 ||\r\n this.reportColumns.filter((x) => x.Selected === true).length ===\r\n this.reportColumns.length\r\n );\r\n }\r\n checkAllColumn(checkAs: boolean) {\r\n var columns = this.reportColumns.filter((x) => !x.Fixed);\r\n columns.forEach((x) => (x.Selected = checkAs));\r\n this.isAllColumnsSelected =\r\n this.reportColumns.filter((x) => x.Selected == false).length == 0;\r\n }\r\n checkColumn(reportColumn: ReportColumn) {\r\n reportColumn.Selected = !reportColumn.Selected;\r\n this.isAllColumnsSelected = this.isAllPropChecked(true);\r\n }\r\n isAllPropChecked(checked: boolean): boolean {\r\n return (\r\n this.reportColumns.filter((x) => x.Selected === checked).length ==\r\n this.reportColumns.length\r\n );\r\n }\r\n public countSelectedColumnsAmount() {\r\n if (this.reportColumns.length > 0) {\r\n return this.reportColumns.filter((x) => x.Selected === true).length;\r\n }\r\n }\r\n\r\n public resetReportServiceProperties() {\r\n this.showReportsProperties = false;\r\n this.choosenReport = null;\r\n this.reportColumns = [];\r\n this.isAllColumnsSelected = true;\r\n this.showChildren = false;\r\n }\r\n\r\n public showReportsProperties: boolean = false;\r\n public choosenReport: Report = null;\r\n public reportColumns: ReportColumn[] = [];\r\n public isAllColumnsSelected: boolean = true;\r\n public showChildren: boolean = false;\r\n\r\n constructor() {}\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3JlcG9ydHMvcmVwb3J0cy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n

{{'REPORTS' | translate}}

\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{'SELECT_A_REPORT' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{'PARAMETERS' | translate}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{reportParameter.parameterCode | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{reportParameter.parameterCode | translate}}
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
0 && !loading\\\">\\r\\n
{{'COLUMNS' | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{'REPORT_TEMPLATE' | translate}}
\\r\\n
{{'REPORT_TYPE' | translate}}\\r\\n *\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{'DATE_RANGE' | translate}}
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
{{reportParameter.parameterCode | translate}}\\r\\n {{'ADD' | translate}}\\r\\n {{'REMOVE' |translate}}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
0\\\">\\r\\n {{'INCLUDED_COLUMNS' | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\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, OnInit, OnChanges } from '@angular/core';\r\nimport { ReportsService } from '../_shared/reports/reports.service';\r\nimport { Report } from '../_shared/reports/report';\r\nimport { Customer } from '../_shared/customers/Customer';\r\nimport { CustomersService } from '../_shared/customers/customers.service';\r\nimport { ReportParameter } from '../_shared/reports/reportParameter';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { ReportParameterModel } from './reportParameterModel'\r\nimport { AlertService } from './../_shared/alert/alert.service';\r\nimport { HelperService } from '../_shared/helper/helper.service';\r\nimport { Info } from '../_shared/asset/Info';\r\nimport { IMyDateRangeModel, IMyDrpOptions } from 'mydaterangepicker';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ReportsDataService } from './reports-data.service'\r\nimport * as fileSaver from 'file-saver';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ReportColumn } from '../_shared/reports/reportColumn'\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n\r\n@Component({\r\n selector: 'app-reports',\r\n templateUrl: './reports.component.html',\r\n styleUrls: ['./reports.component.css']\r\n})\r\nexport class ReportsComponent implements OnInit {\r\n\r\n public choosenReportLabel: string = 'Select report';\r\n public reports: Report[] = [];\r\n public reportParameters: ReportParameter[] = [];\r\n public customersLabel: string = \"Choose Customer\"\r\n public customers: Customer[] = [];\r\n public showThis: boolean = false;\r\n public loading: boolean = false;\r\n public loadingReports: boolean = false;\r\n public shouldIncludeHeader: boolean = true;\r\n public downloadlink: string = \"\";\r\n public isAllChecked: string = \"noneIsChecked\";\r\n public _formBuilder: FormBuilder;\r\n public myForm: FormGroup;\r\n\r\n public myDateRangePickerOptions: IMyDrpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n dayLabels: { su: 'Sön', mo: 'Mån', tu: 'Tis', we: 'Ons', th: 'Tors', fr: 'Fre', sa: 'Lörd' },\r\n monthLabels: { 1: 'Jan', 2: 'Feb', 3: 'Mar', 4: 'Apr', 5: 'Maj', 6: 'Jun', 7: 'Jul', 8: 'Aug', 9: 'Sep', 10: 'Okt', 11: 'Nov', 12: 'Dec' },\r\n showSelectDateText: true,\r\n indicateInvalidDateRange: true,\r\n };\r\n\r\n public options: any = {\r\n locale: {\r\n format: 'YYYY-MM-DD'\r\n },\r\n startDate: this.getTodaysDateAsText(-1),\r\n endDate: this.getTodaysDateAsText(0),\r\n alwaysShowCalendars: false,\r\n autoUpdateInput: false\r\n };\r\n\r\n getTodaysDateAsText(addDays: number) {\r\n var today = new Date();\r\n var dd = today.getDate() + addDays;\r\n var mm = today.getMonth() + 1; //January is 0!\r\n var yyyy = today.getFullYear();\r\n return yyyy + \"-\" + mm + \"-\" + dd;\r\n }\r\n\r\n onDateRangeChanged(reportParameterModel: ReportParameterModel, event: IMyDateRangeModel) {\r\n reportParameterModel.fromDate = new Date( this.helperService.formatDateBy(event.beginDate.year, event.beginDate.month, event.beginDate.day));\r\n reportParameterModel.toDate = new Date(this.helperService.formatDateBy(event.endDate.year, event.endDate.month, event.endDate.day)); \r\n }\r\n\r\n public daterange: any = {};\r\n public selectedDate(reportParameterModel: ReportParameterModel, value: any, datepicker?: any) {\r\n this.options.autoUpdateInput = true;\r\n // this is the date the iser selected\r\n\r\n // any object can be passed to the selected event and it will be passed back here\r\n datepicker.start = value.start;\r\n datepicker.end = value.end;\r\n\r\n // or manupulat your own internal property\r\n this.daterange.start = value.start;\r\n this.daterange.end = value.end;\r\n this.daterange.label = value.label;\r\n\r\n reportParameterModel.fromDate = value.start._i;\r\n reportParameterModel.toDate = value.end._i;\r\n }\r\n\r\n checkAllProperties(checkAs: boolean) {\r\n this.reportsDataService.reportColumns.forEach(x => x.Selected = checkAs);\r\n if (checkAs) {\r\n this.isAllChecked = \"allIsChecked\";\r\n }\r\n else {\r\n this.isAllChecked = \"noneIsChecked\";\r\n }\r\n }\r\n\r\n checkReportColumns(property) {\r\n property.Selected = !property.Selected;\r\n if (this.reportsDataService.isAllPropChecked(true)) {\r\n this.isAllChecked = \"true\";\r\n } else\r\n if (this.reportsDataService.isAllPropChecked(false)) {\r\n this.isAllChecked = \"false\";\r\n } else {\r\n this.isAllChecked = \"\";\r\n }\r\n }\r\n\r\n private model: any = {\r\n beginDate: { year: 2018, month: 10, day: 9 },\r\n endDate: { year: 2018, month: 10, day: 19 }\r\n };\r\n\r\n public sellToCustomers: any[] = [];\r\n public selectedSellToCustomers: number[] = [];\r\n\r\n constructor(\r\n private reportsService: ReportsService,\r\n private reportsDataService: ReportsDataService,\r\n private customersService: CustomersService,\r\n private alertService: AlertService,\r\n private translate: TranslateService,\r\n private activatedRoute: ActivatedRoute,\r\n formBuilder: FormBuilder,\r\n private toastr: ToastrService,\r\n private helperService: HelperService\r\n\r\n ) {\r\n this._formBuilder = formBuilder;\r\n }\r\n customerClick(report: Customer) {\r\n this.customersLabel = report.Name;\r\n }\r\n\r\n selectMultiSelectOption(reportParameter: ReportParameterModel, multiselectoption: any) {\r\n reportParameter.selectedNumber = [];\r\n reportParameter.selectedNumber.push(multiselectoption.id);\r\n reportParameter.selectionLabel = multiselectoption.name;\r\n }\r\n\r\n selectParameter(reportParameter: ReportParameterModel, info: Info) {\r\n reportParameter.selectedNumber = [];\r\n reportParameter.selectedNumber.push(+info.Id);\r\n reportParameter.selectionLabel = info.Name;\r\n }\r\n\r\n propertiesAmountLoaded = 0;\r\n isAllPropertiesLoaded() {\r\n return this.propertiesAmountLoaded === 3;\r\n }\r\n showIncludedColumns: boolean = false;\r\n loadingParameters = false;\r\n reportClick(report: Report) {\r\n this.alertService.eraseMessage();\r\n this.loading = true;\r\n this.loadingParameters = true;\r\n\r\n var hallas = '';\r\n this.translate.stream(report.ReportCode).subscribe(res => {\r\n this.choosenReportLabel = res;\r\n });\r\n\r\n this.reportsDataService.choosenReport = report;\r\n this.reportsService.reportParameterModel = [];\r\n this.propertiesAmountLoaded = 0;\r\n this.showIncludedColumns = true;\r\n this.reportsDataService.reportColumns = [];\r\n\r\n this.reportsService.getReportColumn(report.ReportId).subscribe(\r\n result => {\r\n this.showIncludedColumns = false;\r\n result.forEach(element => {\r\n var reportColumn: ReportColumn = { ReportId: element.ReportId, ColumnName: element.ColumnName, Value: element.ColumnName, Selected: element.Fixed ? element.Fixed : element.Selected, Fixed: element.Fixed, ColumnCode: element.ColumnCode };\r\n this.reportsDataService.reportColumns.push(reportColumn);\r\n })\r\n this.propertiesAmountLoaded += 1;\r\n },\r\n error => {\r\n }\r\n );\r\n\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n this.reportsService.reportParameterModel = [];\r\n\r\n this.reportsService.getReportParameters(report.ReportId).subscribe(\r\n result => {\r\n result.forEach(element => {\r\n this.reportsService.reportParameterModel.push(new ReportParameterModel(element.DisplayType, element.Parameter, element.ParameterName, element.ParameterType, [], [], '', \"\", element.ParameterCode));\r\n });\r\n this.loadingParameters = true;\r\n\r\n this.reportsService.reportParameterModel.forEach(element => {\r\n\r\n if (element.parameter == \"@CustomerList\") {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n this.customersService.get(currentChoosenBundle.bundleId).subscribe(\r\n result => {\r\n if (element.displayType == 1) {\r\n let myOptions: any = [{ id: 0, name: \"All \" + element.parameterName, isLabel: false }];\r\n let myInfos: Info[] = [];\r\n result.forEach(customer => {\r\n myOptions.push({ id: customer.Id, name: customer.Name, isLabel: false });\r\n myInfos.push({ Id: customer.Id, Name: customer.Name, Checked: false });\r\n });\r\n element.multiSelectOption = myOptions;\r\n element.infos = myInfos;\r\n this.propertiesAmountLoaded += 1;\r\n }\r\n this.loadingParameters = false;\r\n\r\n },\r\n error => {\r\n console.log(error);\r\n })\r\n }\r\n else if (element.parameter == \"@FinanceAgreementNo\" || element.parameter == \"@InvoiceNo\" || element.parameter == \"@StatusList\" || element.parameter == \"@AssetTypeList\") {\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n this.reportsService.getReportParametersValues(currentChoosenBundle.bundleId, currentUser.UserId, element.parameter).subscribe(\r\n result => {\r\n let myOptions: any[] = [{ id: 0, name: \"All \" + element.parameterName, isLabel: false }];\r\n let myInfos: Info[] = [];\r\n\r\n result.forEach(invoice => {\r\n if (invoice.TranslationCode != null) {\r\n this.translate.get(invoice.TranslationCode).subscribe(translation => {\r\n myOptions.push({ id: invoice.Identifier, name: invoice.Identifier + \" \" + translation, isLabel: false });\r\n myInfos.push({ Id: invoice.Identifier, Name: invoice.Identifier + \" \" + translation, Checked: false });\r\n });\r\n } else {\r\n myOptions.push({ id: invoice.Identifier, name: invoice.Identifier + \" \" + invoice.Value, isLabel: false });\r\n myInfos.push({ Id: invoice.Identifier, Name: invoice.Identifier + \" \" + invoice.Value, Checked: false });\r\n }\r\n });\r\n\r\n if (result.length === 0) {\r\n myInfos.push({ Id: \"0\", Name: \"All \" + element.parameterName, Checked: true });\r\n }\r\n element.multiSelectOption = myOptions;\r\n element.infos = myInfos;\r\n\r\n this.propertiesAmountLoaded += 1;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n }\r\n );\r\n\r\n },\r\n error => {\r\n },\r\n () => { this.loading = false; }\r\n );\r\n\r\n }\r\n\r\n onChangeDisplayType10(event, reportParameter: ReportParameterModel) {\r\n var items = this.reportsService.reportParameterModel.filter(x => x.displayType == reportParameter.displayType && x.parameter == reportParameter.parameter && x.parameterType == reportParameter.parameterType);\r\n if (items.length > 0) {\r\n items[0].selectedNumber = event;\r\n }\r\n }\r\n\r\n onChangeDisplayTypeFrom(event, reportParameter: ReportParameterModel) {\r\n var items = this.reportsService.reportParameterModel.filter(x => x.displayType == reportParameter.displayType && x.parameter == reportParameter.parameter && x.parameterType == reportParameter.parameterType);\r\n if (items.length == 1) {\r\n if (event.formatted == \"\") {\r\n items[0].fromDate = null;\r\n } else {\r\n // let aDate = JSON.parse(JSON.stringify(event.date));\r\n items[0].fromDate = event.date\r\n }\r\n }\r\n }\r\n\r\n onChangeDisplayTypeTo(event, reportParameter: ReportParameterModel) {\r\n var items = this.reportsService.reportParameterModel.filter(x => x.displayType == reportParameter.displayType && x.parameter == reportParameter.parameter && x.parameterType == reportParameter.parameterType);\r\n if (items.length == 1) {\r\n if (event.formatted == \"\") {\r\n items[0].toDate = null;\r\n } else {\r\n // let aDate = JSON.parse(JSON.stringify(event.date));\r\n items[0].toDate = event.date;\r\n }\r\n }\r\n }\r\n\r\n freeTextChange(event, reportParameter: ReportParameterModel) {\r\n // var items = this.reportsService.reportParameterModel.filter(x => x.displayType == reportParameter.displayType && x.parameter == reportParameter.parameter && x.parameterType == reportParameter.parameterType);\r\n // if (items.length == 1) {\r\n // items[0].freeText = event\r\n // }\r\n\r\n }\r\n\r\n existAnyDateRange() {\r\n return this.reportsService.reportParameterModel.filter(reportParameter => reportParameter.displayType === 4 && reportParameter.parameterType === 0).length > 0;\r\n }\r\n existsParameters() {\r\n let total = 0;\r\n total += this.reportsService.reportParameterModel.filter(x => x.displayType === 1 && x.parameterType === 0).length;\r\n total += this.reportsService.reportParameterModel.filter(x => x.displayType === 0 && x.parameterType === 1).length;\r\n return total > 0;\r\n }\r\n clickIncludeHeader() {\r\n this.shouldIncludeHeader = !this.shouldIncludeHeader;\r\n }\r\n createReport() {\r\n this.alertService.eraseMessage();\r\n this.loading = true;\r\n let currentChoosenBundle = SettingsService.getCurrentBundle()\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n this.reportsService.getReport(\r\n this.shouldIncludeHeader,\r\n currentChoosenBundle.bundleId,\r\n currentUser.UserId,\r\n this.reportsDataService.choosenReport.ReportId,\r\n this.reportsDataService.reportColumns,\r\n this.translate.currentLang).\r\n subscribe(\r\n result => {\r\n this.downloadFile(result);\r\n this.loading = false;\r\n },\r\n error => {\r\n\r\n var errorText = '';\r\n this.translate.stream('REPORT_DID_NOT_CONTAIN_ANY_DATA').subscribe(res => {\r\n console.log(res);\r\n errorText = res;\r\n\r\n });\r\n this.toastr.error(errorText);\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n downloadFile(data: Blob) {\r\n fileSaver.saveAs(data, this.createReportFileName());\r\n }\r\n private guid() {\r\n function s4() {\r\n const array = new Uint32Array(1);\r\n crypto.getRandomValues(array);\r\n let body = Math.floor((1 + array[0]) / 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n return body;\r\n }\r\n return s4() + s4() + '-' + s4() + '-' + s4() + '-' +\r\n s4() + '-' + s4() + s4() + s4();\r\n }\r\n\r\n private createReportFileName(): string {\r\n return \"Report\" + new Date().toJSON().slice(0, 10).replace(/-/g, '/') + this.guid() + \".xlsx\";\r\n }\r\n\r\n resetProperties() {\r\n this.reportClick(this.reportsDataService.choosenReport);\r\n this.shouldIncludeHeader = false;\r\n }\r\n\r\n onChange(event) {\r\n }\r\n\r\n\r\n intitData() {\r\n this.myForm = this._formBuilder.group({\r\n myDateRange: [{ beginDate: { year: 2018, month: 10, day: 9 }, endDate: { year: 2018, month: 10, day: 19 } }, Validators.required]\r\n\r\n // this example is initialized to specific date range\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.translate.get([\r\n 'DatePicker_selectBeginDateTxt',\r\n 'DatePicker_selectEndDateTxt',\r\n 'DatePicker_ariaLabelInputField',\r\n 'DatePicker_ariaLabelClearDateRange',\r\n 'DatePicker_ariaLabelOpenCalendar',\r\n 'DatePicker_ariaLabelPrevMonth',\r\n 'DatePicker_ariaLabelNextMonth',\r\n 'DatePicker_ariaLabelPrevYear',\r\n 'DatePicker_ariaLabelNextYear',\r\n 'SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT',\r\n 'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN', 'JUL', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC'\r\n ]).subscribe(values => {\r\n this.myDateRangePickerOptions.selectBeginDateTxt = values.DatePicker_selectBeginDateTxt;\r\n this.myDateRangePickerOptions.selectEndDateTxt = values.DatePicker_selectEndDateTxt;\r\n this.myDateRangePickerOptions.ariaLabelInputField = values.DatePicker_ariaLabelInputField;\r\n this.myDateRangePickerOptions.ariaLabelClearDateRange = values.DatePicker_ariaLabelClearDateRange;\r\n this.myDateRangePickerOptions.ariaLabelOpenCalendar = values.DatePicker_ariaLabelOpenCalendar;\r\n this.myDateRangePickerOptions.ariaLabelPrevMonth = values.DatePicker_ariaLabelPrevMonth;\r\n this.myDateRangePickerOptions.ariaLabelNextMonth = values.DatePicker_ariaLabelNextMonth;\r\n this.myDateRangePickerOptions.ariaLabelPrevYear = values.DatePicker_ariaLabelPrevYear;\r\n this.myDateRangePickerOptions.ariaLabelNextYear = values.DatePicker_ariaLabelNextYear;\r\n\r\n this.myDateRangePickerOptions.monthLabels = {\r\n 1: values.JAN, 2: values.FEB, 3: values.MAR, 4: values.APR, 5: values.MAY, 6: values.JUN, 7: values.JUL, 8: values.AUG, 9: values.SEP, 10: values.OCT, 11: values.NOV, 12: values.DEC\r\n };\r\n\r\n this.myDateRangePickerOptions.dayLabels.su = values.SUN;\r\n this.myDateRangePickerOptions.dayLabels.mo = values.MON;\r\n this.myDateRangePickerOptions.dayLabels.tu = values.TUE;\r\n this.myDateRangePickerOptions.dayLabels.we = values.WED;\r\n this.myDateRangePickerOptions.dayLabels.th = values.THU;\r\n this.myDateRangePickerOptions.dayLabels.fr = values.FRI;\r\n this.myDateRangePickerOptions.dayLabels.sa = values.SAT;\r\n });\r\n \r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n this.reportsDataService.resetReportServiceProperties();\r\n this.loadingReports = true;\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n this.reportsService.getBy(currentUser.UserId).subscribe(\r\n result => {\r\n this.reports = result;\r\n this.loadingReports = false;\r\n },\r\n error => {\r\n }\r\n );\r\n\r\n this.translate.stream('SELECT_REPORT').subscribe(res => {\r\n this.choosenReportLabel = res;\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Info } from '../_shared/asset/Info';\r\nimport { SavedSearch, SavedSearchesService } from '../_shared/savedsearches/saved-searches.service';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SaveSearchesDataService {\r\n public showSavedSearches: number = 0;\r\n public savedSearches: any = [];\r\n public savedSearchesInfo: Info[] = [];\r\n public savedSearchesQuery: string = \"\";\r\n public savedSearchesQueryId: number = 0;\r\n public savedSearchNewName: string = \"\";\r\n\r\n public currentSavedSearch: SavedSearch;\r\n\r\n public filteredItems: Info[] = [];\r\n\r\n public assignSavedSearches() {\r\n this.filteredItems = Object.assign([], this.savedSearchesInfo);\r\n\r\n\r\n }\r\n\r\n public updateSavedSearches() {\r\n this.savedSearches = [];\r\n this.savedSearchesInfo = [];\r\n\r\n let currentUser = SettingsService.getCurrentUser()\r\n if (currentUser !== null) {\r\n this.savedSearchesService.getSavedSearches(currentUser.UserId, SettingsService.getCurrentBundle().bundleId, SettingsService.SYSTEM).subscribe(\r\n result => {\r\n var infos: Info[] = [];\r\n result.forEach(element => {\r\n infos.push({ Id: element.Id.toString(), Name: element.Name, Checked: false });\r\n });\r\n\r\n this.savedSearchesInfo = infos;\r\n this.savedSearches = result;\r\n this.assignSavedSearches();\r\n },\r\n error => {\r\n console.log(\"updateSavedSearches\", error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n constructor(private savedSearchesService: SavedSearchesService) {\r\n\r\n\r\n this.updateSavedSearches();\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","module.exports = \"
0\\\">\\r\\n
\\r\\n

{{ 'CreateNewSavedSearch' | translate }}

\\r\\n
\\r\\n
{{ 'CreateNewSavedSearchDescription' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'RenameSavedSearch' | translate}}

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

{{ 'ConsentToDelete' | translate }} “{{saveSearchesDataService.savedSearchesQuery}}”?

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NhdmUtc2VhcmNoZXMvc2F2ZS1zZWFyY2hlcy5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { SaveSearchesDataService } from './save-searches-data.service';\r\nimport { SavedSearchesService } from '../_shared/savedsearches/saved-searches.service';\r\n\r\nimport { AssetSearchService } from '../assets/asset-search/asset-search.service';\r\nimport { AssetsService } from '../_shared/asset/assets.service';\r\nimport { SettingsService } from '../_shared/settings/settings.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-save-searches',\r\n templateUrl: './save-searches.component.html',\r\n styleUrls: ['./save-searches.component.scss']\r\n})\r\nexport class SaveSearchesComponent implements OnInit {\r\n\r\n constructor(\r\n public saveSearchesDataService: SaveSearchesDataService,\r\n private assetSearchService: AssetSearchService,\r\n private savedSearchesService: SavedSearchesService,\r\n private assetsService: AssetsService,\r\n private toastr: ToastrService,\r\n private translate: TranslateService,\r\n ) {\r\n\r\n }\r\n newSearchName: string = \"\";\r\n ngOnInit() {\r\n }\r\n\r\n public createSaveSearch() {\r\n this.assetSearchService.search();\r\n let currentBundle = SettingsService.getCurrentBundle()\r\n let currentUser = JSON.parse(localStorage.getItem(SettingsService.CURRENT_USER));\r\n\r\n\r\n this.savedSearchesService.createSearch(currentUser.UserId, currentBundle.bundleId, this.newSearchName, this.assetsService.currentSearch).subscribe(async result => {\r\n this.newSearchName = \"\";\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.toastr.success(await this.translate.get('SearchHasBeenSuccessfullySaved').toPromise());\r\n },\r\n async error => {\r\n this.newSearchName = \"\";\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.toastr.success(await this.translate.get('CouldNotCreateSearch').toPromise());\r\n\r\n }\r\n );\r\n }\r\n deleteSavedSearch() {\r\n let currentBundle = SettingsService.getCurrentBundle()\r\n let currentUser = JSON.parse(localStorage.getItem(SettingsService.CURRENT_USER));\r\n\r\n this.savedSearchesService.deleteSearch(this.saveSearchesDataService.savedSearchesQueryId, currentUser.UserId, currentBundle.bundleId, SettingsService.SYSTEM).subscribe(async result => {\r\n this.newSearchName = \"\";\r\n this.saveSearchesDataService.savedSearchesQuery = \"\";\r\n this.saveSearchesDataService.savedSearchesQueryId = 0\r\n\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.toastr.success(await this.translate.get('SearchHasBeenSuccessfullyDeleted').toPromise());\r\n },\r\n async error => {\r\n this.newSearchName = \"\";\r\n this.saveSearchesDataService.savedSearchesQuery = \"\";\r\n this.saveSearchesDataService.savedSearchesQueryId = 0\r\n\r\n console.log(\"delete saved search\", \"updateSavedSearches ERROR\")\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.toastr.error(await this.translate.get('CouldNotDeleteSearch').toPromise());\r\n }\r\n );\r\n\r\n }\r\n\r\n search() {\r\n this.assetSearchService.search();\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.newSearchName = \"\";\r\n }\r\n\r\n\r\n public saveChanges() {\r\n\r\n let currentBundle = SettingsService.getCurrentBundle()\r\n let currentUser = JSON.parse(localStorage.getItem(SettingsService.CURRENT_USER));\r\n\r\n\r\n this.savedSearchesService.updateSavedSearchName(\r\n this.saveSearchesDataService.savedSearchesQueryId,\r\n currentUser.UserId,\r\n currentBundle.bundleId,\r\n this.saveSearchesDataService.savedSearchNewName).subscribe(async result => {\r\n this.saveSearchesDataService.savedSearchNewName = \"\";\r\n this.saveSearchesDataService.savedSearchesQuery = \"\";\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.toastr.success(await this.translate.get('SearchHasBeenSuccessfullySaved').toPromise());\r\n\r\n },\r\n async error => {\r\n this.saveSearchesDataService.savedSearchNewName = \"\";\r\n this.saveSearchesDataService.savedSearchesQuery = \"\";\r\n this.saveSearchesDataService.showSavedSearches = 0;\r\n this.saveSearchesDataService.updateSavedSearches();\r\n this.toastr.error(await this.translate.get('CouldNotUpdateSavedSearch').toPromise());\r\n\r\n }\r\n );\r\n\r\n }\r\n}\r\n","module.exports = \"@media only screen and (min-width: 769px) {\\r\\n .outage-message {\\r\\n width: 100%; \\r\\n background-color: #B6FF00;\\r\\n padding: 18px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2VydmljZS1vdXRhZ2Uvc2VydmljZS1vdXRhZ2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJO1FBQ0ksV0FBVztRQUNYLHlCQUF5QjtRQUN6QixhQUFhO0lBQ2pCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9zZXJ2aWNlLW91dGFnZS9zZXJ2aWNlLW91dGFnZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xyXG4gICAgLm91dGFnZS1tZXNzYWdlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I2RkYwMDtcclxuICAgICAgICBwYWRkaW5nOiAxOHB4O1xyXG4gICAgfVxyXG59XHJcbiJdfQ== */\"","module.exports = \"
{{ 'SERVICE_OUTAGE_MESSAGE' | translate }}
\"","import { Component, OnInit } from '@angular/core';\r\nimport { BrowserModule, Meta } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'service-outage-message',\r\n templateUrl: './service-outage.component.html',\r\n styleUrls: ['./service-outage.component.css']\r\n })\r\nexport class ServiceOutageComponent implements OnInit {\r\n \r\n public showMessage : Boolean;\r\n \r\n constructor(private metaService : Meta){\r\n this.showMessage = false;\r\n }\r\n ngOnInit(): void {\r\n let tag = this.metaService.getTag(\"name='service-outage-message'\");\r\n if (tag && tag.content && tag.content.toLowerCase() == \"show\"){\r\n this.showMessage = true;\r\n }\r\n }\r\n}","module.exports = \"

\\r\\n dashboard-admin works!\\r\\n

\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL2Rhc2hib2FyZC1hZG1pbi9kYXNoYm9hcmQtYWRtaW4uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-dashboard-admin',\r\n templateUrl: './dashboard-admin.component.html',\r\n styleUrls: ['./dashboard-admin.component.scss']\r\n})\r\nexport class DashboardAdminComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL25ldy11c2VyL25ldy11c2VyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

{{ 'ADD_NEW_USER' | translate }}

\\r\\n
    \\r\\n
  • \\r\\n 1\\r\\n 1\\\">✓\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n 2\\r\\n 2\\\">✓\\r\\n\\r\\n \\r\\n
  • \\r\\n
  • \\r\\n 3\\r\\n 3\\\">✓\\r\\n \\r\\n\\r\\n
  • \\r\\n
  • \\r\\n 4\\r\\n 4\\\">✓\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'GENERAL_INFO' | translate }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'PLEASE_ENTER_YOUR_FIRSTNAME' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'PLEASE_ENTER_YOUR_LASTNAME' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'PLEASE_ENTER_YOUR_COMPANY' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'PLEASE_ENTER_A_VALID_EMAIL' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'TIMESTAMP' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'ADD_TO_SELLTO_AUTO' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'ACCESS_RIGHTS' | translate }}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{accessLevelUser.Value.BundleName}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'ROLES' | translate }}

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

Reports

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

{{ 'QUESTION_1' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'SEND_ACTIVATION_LINK' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { AccessRightsService } from '../../_shared/access-rights/access-rights.service'\r\nimport { NewUserService } from './new-user.service'\r\nimport { HelperService } from '../../_shared/helper/helper.service';\r\nimport { IMyDateRangeModel } from 'mydaterangepicker';\r\nimport { InfoObj } from '../../_shared/asset/InfoObj';\r\nimport { UserService } from '../../_shared/user/user.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { RolesService } from '../../_shared/roles/roles.service';\r\nimport { ReportsService } from '../../_shared/reports/reports.service';\r\nimport { Role } from '../../_shared/roles/role';\r\nimport { UsersService } from '../../_shared/user/users.service';\r\nimport { AuthenticationService } from '../../_shared/authentication/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-new-user',\r\n templateUrl: './new-user.component.html',\r\n styleUrls: ['./new-user.component.css']\r\n})\r\nexport class NewUserComponent implements OnInit {\r\n\r\n isGeneralGroupValid() {\r\n return false;\r\n }\r\n\r\n accessDescription(current: any, infos: InfoObj[]) {\r\n var checked = infos.filter(x => x.Checked);\r\n return checked.length === 0 || checked === undefined ? \"No Access\" : checked[0].Value.Description;\r\n }\r\n\r\n setAccessLevel(infoObjects: InfoObj[], accessLevel: InfoObj) {\r\n infoObjects.forEach(x => {\r\n x.Checked = false;\r\n })\r\n var something = infoObjects.filter(x => x.Value.Description === accessLevel.Value.Description)[0];\r\n something.Checked = !something.Checked;\r\n }\r\n\r\n onDateRangeChanged(aType: string, event: IMyDateRangeModel) {\r\n // console.log(aType);\r\n // console.log(event);\r\n if (aType === \"myDateRange\") {\r\n this.newUserService.dateRangeFrom = { date: { year: event.beginDate.year, month: event.beginDate.month, day: event.beginDate.day } };;\r\n this.newUserService.dateRangeTo = { date: { year: event.endDate.year, month: event.endDate.month, day: event.endDate.day } };;\r\n }\r\n // console.log(this.dateRangeFrom);\r\n // console.log(this.dateRangeTo);\r\n }\r\n constructor(\r\n private reportsService: ReportsService,\r\n private accessRightsService: AccessRightsService,\r\n private rolesService: RolesService,\r\n private usersService: UsersService,\r\n public newUserService: NewUserService,\r\n private helperService: HelperService,\r\n private authenticationService: AuthenticationService,\r\n private toastr: ToastrService\r\n ) {\r\n\r\n }\r\n\r\n nextStep() {\r\n this.newUserService.currentStep += 1;\r\n }\r\n\r\n\r\n cancel() {\r\n this.newUserService.initialLoad();\r\n this.newUserService.displayNewUser = false;\r\n }\r\n\r\n clickOutSideDiv() {\r\n if (this.newUserService.clickInSideFirst) {\r\n this.newUserService.clickInSideFirst = false;\r\n } else {\r\n this.newUserService.displayNewUser = false;\r\n }\r\n }\r\n clickInSideDiv() {\r\n this.newUserService.clickInSideFirst = true;\r\n }\r\n\r\n ngOnInit() {\r\n this.newUserService.loadProperties();\r\n }\r\n\r\n saveUser(firstName, lastName, email, company, activeFrom, activeTo, autoAddSellTo): any {\r\n return this.usersService.createUser(firstName, lastName, email, company, activeFrom, activeTo, autoAddSellTo, this.authenticationService.getCurrentLoggedInUserId()).toPromise()\r\n .then(response => response);\r\n }\r\n saveAccessLevelUsers(userId, moduleId, bundleId, accessLevel, accessDescription, createdBy) {\r\n this.accessRightsService.addUserAcessBundleSystem(\r\n userId,\r\n moduleId,\r\n bundleId,\r\n accessLevel,\r\n accessDescription,\r\n createdBy).subscribe(result => {\r\n },\r\n error => {\r\n })\r\n };\r\n saveRoles(role: Role) {\r\n this.rolesService.saveRole(role).subscribe(\r\n result => {\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n saveReport(userId, reportId, createdBy) {\r\n this.reportsService.saveUserReport(userId, reportId, createdBy).subscribe(result => {\r\n }, error => {\r\n });\r\n }\r\n isAccessDone = false;\r\n isRolesDone = false;\r\n isReportsDone = false;\r\n\r\n sendActivationLink: boolean = false;\r\n\r\n sendPasswordActivation(email: string, userId) {\r\n let url = this.helperService.thisLocationOriginWithPathname().replace('/settings', '');\r\n this.usersService.resetPassword(userId, url, \"Activate your account\", email, \"Activate%20your%20account\", true).subscribe(result => {\r\n this.toastr.success('Link has been sent');\r\n },\r\n error => {\r\n this.toastr.error('Unable to send reset link');\r\n })\r\n }\r\n\r\n createNewUser() {\r\n let dateRangeToDate;\r\n if (this.newUserService.dateRangeTo !== null) {\r\n let aDate = JSON.parse(JSON.stringify(this.newUserService.dateRangeTo));\r\n dateRangeToDate = this.helperService.formatDateBy(aDate.date.year, aDate.date.month, aDate.date.day);\r\n }\r\n let orderDateFromDate;\r\n if (this.newUserService.dateRangeFrom !== null) {\r\n let aDate = JSON.parse(JSON.stringify(this.newUserService.dateRangeFrom));\r\n orderDateFromDate = this.helperService.formatDateBy(aDate.date.year, aDate.date.month, aDate.date.day);\r\n }\r\n this.isReportsDone = false;\r\n this.usersService.createUser(\r\n this.newUserService.newUser.Firstname,\r\n this.newUserService.newUser.Lastname,\r\n this.newUserService.newUser.Email,\r\n this.newUserService.newUser.Company,\r\n orderDateFromDate,\r\n dateRangeToDate,\r\n this.newUserService.newUser.ShouldAddSellTo,\r\n this.authenticationService.getCurrentLoggedInUserId()).subscribe(\r\n newUser => {\r\n this.newUserService.currentUserAllAccessLevelUsers.filter(x => x.AccessLevels.filter(y => y.Checked)).forEach(accessLevelUser => {\r\n var checked = accessLevelUser.AccessLevels.filter(y => y.Checked)[0]\r\n if (checked !== undefined) {\r\n this.isAccessDone = false;\r\n this.accessRightsService.addUserAcessBundleSystem(\r\n newUser.UserId,\r\n checked.Value.ModuleId,\r\n accessLevelUser.Value.BundleId,\r\n checked.Value.AccessLevel,\r\n checked.Value.Description,\r\n this.authenticationService.getCurrentLoggedInUserId()).subscribe(result => {\r\n this.isAccessDone = true;\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.accessRightsService.addToSellToUserAcessBundleSystem(newUser.UserId, checked.Value.ModuleId, accessLevelUser.Value.BundleId, checked.Value.AccessLevel, user.UserId, true)\r\n .subscribe(result => {\r\n }, error => {\r\n })\r\n },\r\n error => {\r\n\r\n })\r\n }\r\n\r\n });\r\n\r\n\r\n this.newUserService.roles.filter(x => x.Checked).forEach(aRole => {\r\n aRole.Value.UserId = newUser.UserId;\r\n aRole.Value.IsChoosen = true;\r\n this.isRolesDone = false;\r\n this.rolesService.saveRole(aRole.Value).subscribe(\r\n result => {\r\n this.isRolesDone = true;\r\n },\r\n error => {\r\n\r\n }\r\n );\r\n });\r\n\r\n this.newUserService.reports.filter(x => x.Checked).forEach(\r\n\r\n report => {\r\n this.isReportsDone = false;\r\n this.reportsService.saveUserReport(newUser.UserId, report.Value.ReportId, this.authenticationService.getCurrentLoggedInUserId()).subscribe(result => {\r\n this.isReportsDone = true;\r\n }, error => {\r\n\r\n }\r\n )\r\n });\r\n if (this.sendActivationLink) {\r\n this.sendPasswordActivation(this.newUserService.newUser.Email, newUser.UserId);\r\n }\r\n this.sendActivationLink = false;\r\n this.newUserService.displayNewUser = false;\r\n\r\n },\r\n error => {\r\n\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { AccessLevelUser } from '../../_shared/access-rights/accessLevelUser';\r\nimport { AccessLevel } from '../../_shared/access-rights/access-level';\r\nimport { InfoObj } from '../../_shared/asset/InfoObj';\r\nimport { IMyDrpOptions } from 'mydaterangepicker';\r\nimport { OnInit } from '@angular/core';\r\nimport { AccessRightsService } from '../../_shared/access-rights/access-rights.service'\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\n\r\nimport { RolesService } from '../../_shared/roles/roles.service';\r\nimport { ReportsService } from '../../_shared/reports/reports.service';\r\nimport { UsersService } from '../../_shared/user/users.service';\r\n\r\n@Injectable()\r\nexport class NewUserService implements OnInit {\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private reportsService: ReportsService,\r\n private accessRightsService: AccessRightsService,\r\n private rolesService: RolesService,\r\n private usersService: UsersService\r\n ) {\r\n\r\n }\r\n \r\n ngOnInit() {\r\n this.initialLoad();\r\n }\r\n\r\n newUser = { Firstname: \"\", Lastname: \"\", Email: \"\", Company: \"\", ShouldAddSellTo: false }\r\n public displayNewUser: boolean = false;\r\n\r\n\r\n currentStep = 1;\r\n clickInSideFirst = false;\r\n currentUserAllAccessLevelUsers: any;\r\n accessLevelUsers: AccessLevelUser[];\r\n reports: InfoObj[] = [];\r\n roles: InfoObj[] = [];\r\n\r\n objNoAccess: AccessLevel = { Id: 0, ModuleId: 0, AccessLevel: 0, Description: \"No Access\" };\r\n accessLevels: InfoObj[] = [{ Value: this.objNoAccess, Checked: false }];\r\n allAccessLevels: AccessLevel[] = [];\r\n\r\n\r\n public dateRangeFrom: any = null;\r\n public dateRangeTo: any = null;\r\n public myDateRange: any = null;\r\n public myForm: FormGroup;\r\n private myDateRangePickerOptions: IMyDrpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n height: '34px',\r\n width: '250px'\r\n };\r\n\r\n initialLoad() {\r\n this.currentStep = 1;\r\n this.displayNewUser = true;\r\n this.myDateRange = null;\r\n this.loadProperties();\r\n this.myForm.patchValue({ myDateRange: '' });\r\n }\r\n showNewUser() {\r\n this.initialLoad();\r\n }\r\n\r\n onSubmitReactiveForms(): void {\r\n console.log('Value: ', this.myForm.controls['myDateRange'].value, ' - Valid: ', this.myForm.controls['myDateRange'].valid,\r\n ' - Dirty: ', this.myForm.controls['myDateRange'].dirty, ' - Touched: ', this.myForm.controls['myDateRange'].touched);\r\n }\r\n isDateRangeSet() {\r\n return this.dateRangeTo !== null && this.dateRangeFrom !== null && !this.isDateRangeNotSet(this.dateRangeTo) && !this.isDateRangeNotSet(this.dateRangeFrom) && this.newUser.Firstname.length > 0 && this.newUser.Lastname.length > 0 && this.newUser.Email.length > 0;\r\n }\r\n isDateRangeNotSet(dateRange) {\r\n return dateRange.date.day === 0 && dateRange.date.year === 0 && dateRange.date.month === 0;\r\n }\r\n setDateRange(): void {\r\n // Set today range using the setValue function\r\n let date: Date = new Date();\r\n let year: number = date.getFullYear();\r\n let month: number = date.getMonth() + 1;\r\n let day: number = date.getDate();\r\n this.myForm.setValue({ myDateRange: { beginDate: { year: year, month: month, day: day }, endDate: { year: year, month: month, day: day } } });\r\n }\r\n\r\n resetDateRange(): void {\r\n let date: Date = new Date();\r\n let year: number = date.getFullYear();\r\n let month: number = date.getMonth() + 1;\r\n let day: number = date.getDate();\r\n this.myForm.reset({ myDateRange: { beginDate: { year: year, month: month, day: day }, endDate: { year: year, month: month, day: day } } });\r\n\r\n }\r\n\r\n clearDateRange(): void {\r\n // Clear the date range using the setValue function\r\n this.myForm.setValue({ myDateRange: null });\r\n }\r\n\r\n loadProperties() {\r\n\r\n this.currentStep = 1;\r\n this.myForm = this.formBuilder.group({\r\n generalGroup: this.formBuilder.group({\r\n // myDateRange: [null, Validators.required], // not initial date range set\r\n firstname: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+')]],\r\n lastname: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+')]],\r\n company: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+')]],\r\n email: ['', [Validators.required, Validators.pattern('[a-z0-9._%+-]+@[a-z0-9.-]+'), Validators.minLength(4)]],\r\n myDateRange: [null, Validators.required],\r\n }\r\n )\r\n });\r\n this.newUser = { Firstname: \"\", Lastname: \"\", Email: \"\", Company: \"\", ShouldAddSellTo: false }\r\n\r\n this.loadDate();\r\n this.loadAccessLevel(\"AAMP2\");\r\n this.loadRoles();\r\n this.loadAllReports();\r\n\r\n }\r\n\r\n loadRoles() {\r\n this.roles = [];\r\n this.rolesService.getAll().subscribe(result => {\r\n result.forEach(element => {\r\n this.roles.push({ Value: element, Checked: false })\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n \r\n loadDate() {\r\n // var fromDate = new Date(this.profileUser.ActiveFrom);\r\n // var toDate = new Date(this.profileUser.ActiveTo);\r\n // this.activeDateRange = {\r\n // beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n // endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n // };\r\n\r\n // console.log(this.activeDateRange);\r\n }\r\n\r\n loadAllReports() {\r\n this.reports = [];\r\n this.reportsService.getAll().subscribe(\r\n result => {\r\n // this.reports.values = result;\r\n result.forEach(element => {\r\n this.reports.push({ Value: element, Checked: false })\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadAccessLevel(moduleName) {\r\n this.accessLevels = [{ Value: this.objNoAccess, Checked: false }];\r\n this.allAccessLevels = [this.objNoAccess];\r\n this.accessRightsService.getAccessRightsByModule(moduleName).subscribe(result => {\r\n result.forEach(element => {\r\n this.accessLevels.push({ Value: element, Checked: false });\r\n this.allAccessLevels.push(element);\r\n });\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.loadAccessLoggedInUser(user.UserId);\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadAccessLoggedInUser(userId) {\r\n this.currentUserAllAccessLevelUsers = [];\r\n this.accessRightsService.getAccessRightsBy(userId).subscribe(result => {\r\n result.forEach(element => {\r\n var copy = JSON.parse(JSON.stringify(this.accessLevels))\r\n this.currentUserAllAccessLevelUsers.push({ Value: element, AccessLevels: copy });\r\n });\r\n // this.currentUserAllAccessLevelUsers = result;\r\n // this.currentUserAllAccessLevelUsers.forEach(element => {\r\n // element.AccessLevel = this.objNoAccess.Description;\r\n // element.AccessLevelID = this.objNoAccess.AccessLevel;\r\n // element.ModuleID = this.objNoAccess.ModuleID;\r\n // });\r\n\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadAccessRights(userId) {\r\n this.accessLevelUsers = [];\r\n this.accessRightsService.getAccessRightsBy(userId).subscribe(result => {\r\n this.accessLevelUsers = result;\r\n this.currentUserAllAccessLevelUsers.forEach(accessLevelUser => {\r\n var item = result.filter(x => x.AccessLevelId === accessLevelUser.AccessLevelId && x.ModuleId === accessLevelUser.ModuleId && x.AccessLevel === x.AccessLevel && x.BundleName === accessLevelUser.BundleName);\r\n if (item.length === 0) {\r\n accessLevelUser.AccessLevel = this.objNoAccess.AccessLevel.toString();\r\n accessLevelUser.AccessLevelId = this.objNoAccess.Id;\r\n }\r\n });\r\n\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
Password
\\r\\n
\\r\\n {{ 'ENTER_YOUR_CURRENT_PASSWORD' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
0\\\">\\r\\n

{{errorMessageOldPassword}}

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

{{ 'NEW_PASSWORD_HAS_BEEN_SAVED' | translate }}

\\r\\n
\\r\\n
0\\\">\\r\\n

{{errorMessage}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { PasswordService } from '../../_shared/password/password.service'\r\nimport { ChangePassword } from '../../_shared/password/changePassword'\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { HelperService } from '../../_shared/helper/helper.service';\r\n\r\n@Component({\r\n selector: 'password',\r\n templateUrl: './password.component.html',\r\n styleUrls: ['./password.component.css']\r\n})\r\nexport class PasswordComponent implements OnInit {\r\n errorMessage = \"\";\r\n errorMessageOldPassword = \"\";\r\n oldPassword: string = \"\";\r\n newPassword: string = \"\";\r\n confirmNewPassword: string = \"\";\r\n showConfirmation = false;\r\n constructor(\r\n private passwordService: PasswordService,\r\n private toastr: ToastrService,\r\n private helperService: HelperService\r\n ) { }\r\n ngOnInit() {\r\n }\r\n usernNameChangeEvent() {\r\n this.errorMessage = \"\";\r\n }\r\n\r\n\r\n validatePassword(): boolean {\r\n var valid = true;\r\n if (this.newPassword !== this.confirmNewPassword) {\r\n this.errorMessage = \"The Password and Confirm password is not the same\"\r\n valid = false;\r\n }\r\n if (this.oldPassword.length > 0 && this.newPassword.length > 12 && this.newPassword.length <= 64 && this.confirmNewPassword.length > 12 && this.confirmNewPassword.length < 64) {\r\n if (!this.helperService.containsAllowedCharacters(this.newPassword) || !this.helperService.containsAllowedCharacters(this.confirmNewPassword)) {\r\n this.errorMessage = \"The password contains invalid characters\";\r\n valid = false;\r\n }\r\n\r\n if (!this.helperService.containsTextANumber(this.newPassword) || !this.helperService.containsTextANumber(this.confirmNewPassword)) {\r\n this.errorMessage = \"The new password should contain a number\";\r\n valid = false;\r\n }\r\n\r\n }\r\n if (this.oldPassword.length > 0 && this.newPassword.length < 12 && this.newPassword.length > 0 && this.confirmNewPassword.length < 12 && this.confirmNewPassword.length > 0) {\r\n this.errorMessage = \"The new password should contain minimum 12 characters\";\r\n valid = false;\r\n }\r\n\r\n\r\n\r\n if (valid) {\r\n this.errorMessage = \"\";\r\n }\r\n return valid;\r\n }\r\n\r\n saveChanges() {\r\n if (this.validatePassword()) {\r\n\r\n let currentUser = JSON.parse(localStorage.currentUser);\r\n let change: ChangePassword = { UserId: currentUser.UserId, NewPassword: this.newPassword, OldPassword: this.oldPassword };\r\n this.passwordService.changePassword(currentUser.UserId, this.newPassword, this.oldPassword).subscribe(result => {\r\n this.errorMessage = \"\";\r\n this.oldPassword = \"\";\r\n this.newPassword = \"\";\r\n this.confirmNewPassword = \"\";\r\n // this.showConfirmation = true;\r\n this.toastr.success('Password has been updated', 'Saved');\r\n },\r\n error => {\r\n this.errorMessageOldPassword = \"\";\r\n this.toastr.error(error.error.Message, 'Error');\r\n ;\r\n }\r\n );\r\n }\r\n\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
{{ 'PROFILE' | translate}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\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, OnInit } from '@angular/core';\r\nimport { UsersService } from '../../_shared/user/users.service'\r\nimport { SettingsService } from '../../_shared/settings/settings.service'\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from '../../_guards/auth.service'\r\n\r\nimport { User } from '../../_shared/user/user'\r\n\r\n@Component({\r\n selector: 'profile',\r\n templateUrl: './profile.component.html',\r\n styleUrls: ['./profile.component.css']\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n\r\n readonly = false;\r\n user: User = null;\r\n profileUser: any = { UserId: 0, Email: \"\", Firstname: \"\", Lastname: \"\", Phone: \"\", Company: \"\" };\r\n\r\n constructor(private userService: UsersService, private authService: AuthService, \r\n private toastr: ToastrService, private settingsService: SettingsService) {\r\n\r\n }\r\n showProfile = false;\r\n Enable = false;\r\n onChange(event) {\r\n this.Enable = true;\r\n }\r\n setUserDataToProfileUser(aUser: User) {\r\n this.profileUser = { UserId: aUser.UserId, Email: aUser.Email, Firstname: aUser.Firstname, Lastname: aUser.Lastname, Phone: aUser.Phone, Company: aUser.Company };\r\n }\r\n mapUserChanges(aUser: User, mapFromUser: any) {\r\n aUser.Email = mapFromUser.Email;\r\n aUser.Firstname = mapFromUser.Firstname;\r\n aUser.Lastname = mapFromUser.Lastname;\r\n aUser.Phone = mapFromUser.Phone;\r\n aUser.Company = mapFromUser.Company;\r\n }\r\n\r\n ngOnInit() {\r\n this.readonly = true;//this.authService.isAuth0User();\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.userService.getUser(user.UserId).subscribe(result => {\r\n this.user = result;\r\n this.setUserDataToProfileUser(this.user);\r\n var auth0UserInfo = this.settingsService.getJWTTokenPayload(localStorage.getItem(SettingsService.TOKEN));\r\n if (auth0UserInfo) {\r\n try{\r\n this.profileUser.Email = auth0UserInfo.email;\r\n this.profileUser.Firstname = auth0UserInfo.given_name;\r\n this.profileUser.Lastname = auth0UserInfo.family_name;\r\n this.profileUser.Phone = \"\";\r\n this.profileUser.Company = \"\";\r\n\r\n }catch(e){\r\n console.error(e);\r\n }\r\n\r\n }\r\n this.showProfile = true;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n saveChanges() {\r\n this.mapUserChanges(this.user, this.profileUser);\r\n //this.showProfile = false;\r\n\r\n this.userService.saveUser(this.user).subscribe(result => {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.userService.getUser(user.UserId).subscribe(result => {\r\n this.user = result;\r\n this.setUserDataToProfileUser(this.user);\r\n this.showProfile = true;\r\n this.toastr.success('Profile has been updated', 'Saved');\r\n },\r\n error => {\r\n // this.showProfile = true;\r\n this.toastr.error('Profile has NOT been updated', 'Error');\r\n }\r\n );\r\n },\r\n error => {\r\n // this.showProfile = true;\r\n this.toastr.error('Profile has NOT been updated', 'Error');\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL3NldHRpbmdzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
{{ 'SETTINGS' | translate }}
\\r\\n
    \\r\\n
  • \\r\\n {{ 'MY_PROFILE' | translate }}
  • \\r\\n
  • \\r\\n {{ 'PASSWORD' | translate }}
  • \\r\\n
  • \\r\\n {{ 'USER_MANAGEMENT' | translate }}
  • \\r\\n
  • \\r\\n Dashboard admin
  • \\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, OnInit } from '@angular/core';\r\nimport { AuthService } from '../_guards/auth.service'\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService\r\n ) { }\r\n\r\n shoulShowPassword = true;\r\n\r\n ngOnInit() {\r\n window.scrollTo(0, 0);\r\n this.shoulShowPassword = false;//!this.authService.isAuth0User();\r\n }\r\n showProfile = true;\r\n showUserManagement = false;\r\n showPassword = false;\r\n showDashboardAdmin = false;\r\n settingsMenuClick(menuSelection) {\r\n if (menuSelection === \"PROFILE\") {\r\n this.showProfile = true;\r\n this.showUserManagement = false;\r\n this.showPassword = false;\r\n\r\n } else if (menuSelection === \"PASSWORD\") {\r\n this.showProfile = false;\r\n this.showUserManagement = false;\r\n\r\n this.showPassword = true;\r\n } \r\n else {\r\n this.showProfile = false;\r\n this.showUserManagement = true;\r\n this.showPassword = false;\r\n\r\n }\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL3VzZXItbWFuYWdlbWVudC91c2VyLW1hbmFnZW1lbnQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
{{'MANAGE_USERS' | translate}}
\\r\\n
\\r\\n \\r\\n \\r\\n search\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{users.length}}\\r\\n {{'USERS' | translate}}\\r\\n
\\r\\n
\\r\\n {{'ADD_NEW_USERS' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'NAME' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'EMAIL' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'DATE' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'STATUS' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{user.Fullname}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{user.Email}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{user.Created}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{user.Active ? 'Active' : 'Inactive'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService } from '../../_shared/user/users.service'\r\nimport { User } from '../../_shared/user/user'\r\nimport { UsersFilterPipe } from '../../_shared/user/users-filter.pipe';\r\nimport { PagerService } from '../../_shared/pager/pager.service';\r\nimport { NewUserService } from '../new-user/new-user.service'\r\n@Component({\r\n selector: 'user-management',\r\n templateUrl: './user-management.component.html',\r\n styleUrls: ['./user-management.component.css']\r\n})\r\nexport class UserManagementComponent implements OnInit {\r\n\r\n users: User[] = [];\r\n // pager object\r\n pager: any = {};\r\n // paged items\r\n pagedItems: any[];\r\n pageSize: number = 20;\r\n\r\n constructor(\r\n private userService: UsersService,\r\n private usersFilterPipe: UsersFilterPipe,\r\n private pagerService: PagerService,\r\n private newUserService: NewUserService\r\n ) {\r\n }\r\n \r\n ngOnInit() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.userService.getUsers(user.UserId).subscribe(result => {\r\n this.users = result;\r\n this.setPage(1);\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n \r\n\r\n setPage(page: number) {\r\n if (page < 1 || page > this.pager.totalPages) {\r\n return;\r\n }\r\n\r\n // get pager object from service\r\n this.pager = this.pagerService.getPager(this.users.length, page);\r\n\r\n // get current page of items\r\n this.pagedItems = this.users.slice(this.pager.startIndex, this.pager.endIndex + 1);\r\n }\r\n\r\n listFilter: string;\r\n changePageSize(pageSize: number) {\r\n this.pageSize = pageSize;\r\n this.updateTable(this.listFilter);\r\n }\r\n updateTable(listFilter) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.userService.getUsers(user.UserId).subscribe(\r\n result => {\r\n var transformedResult = this.usersFilterPipe.transform(result, listFilter);\r\n if (transformedResult.length > 0) {\r\n this.users = transformedResult;\r\n this.setPage(1);\r\n } else {\r\n this.users = result;\r\n }\r\n }, error => {\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NldHRpbmdzL3VzZXItbWFuYWdlbWVudC91c2VyLXNldHRpbmdzL3VzZXItc2V0dGluZ3MuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"
\\r\\n \\r\\n Back to users\\r\\n \\r\\n
\\r\\n {{profileUser.Firstname + \\\" \\\" + profileUser.Lastname}} \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n General information\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Active between
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Add sell-to automatically\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Access rights
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{loggedInUser.BundleName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Roles\\r\\n
\\r\\n

Check/uncheck a role and click Save. The user needs to log out/in to update the role definitions.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Reports\\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, OnInit } from '@angular/core';\r\nimport { UsersService } from '../../../_shared/user/users.service';\r\nimport { RolesService } from '../../../_shared/roles/roles.service';\r\nimport { ReportsService } from '../../../_shared/reports/reports.service';\r\nimport { Report } from '../../../_shared/reports/report';\r\nimport { Role } from '../../../_shared/roles/role';\r\nimport { InfoObj } from '../../../_shared/asset/InfoObj';\r\nimport { AccessLevelUser } from '../../../_shared/access-rights/accessLevelUser';\r\nimport { AccessLevel } from '../../../_shared/access-rights/access-level';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { User } from '../../../_shared/user/user';\r\nimport { IMyDateRangeModel } from 'mydaterangepicker';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AccessRightsService } from '../../../_shared/access-rights/access-rights.service';\r\nimport { HelperService } from '../../../_shared/helper/helper.service'\r\n@Component({\r\n selector: 'app-user-settings',\r\n templateUrl: './user-settings.component.html',\r\n styleUrls: ['./user-settings.component.css']\r\n})\r\nexport class UserSettingsComponent implements OnInit {\r\n profileUser: User = null;\r\n roles: Role[];\r\n reports: InfoObj[] = [];\r\n currentUserAllAccessLevelUsers: AccessLevelUser[];\r\n accessLevelUsers: AccessLevelUser[];\r\n userReports: Report[] = [];\r\n objNoAccess: AccessLevel = { Id: 0, ModuleId: 0, AccessLevel: 0, Description: \"No Access\" };\r\n accessLevels: InfoObj[] = [{ Value: this.objNoAccess, Checked: false }];\r\n allAccessLevels: AccessLevel[];\r\n rolesToAdd: Role[] = [];\r\n\r\n getAccessLevelDescription(loggedInUser) {\r\n let accessLevelUsersWithBundleId = this.accessLevelUsers.filter(x => x.BundleId == loggedInUser.BundleId);\r\n if (accessLevelUsersWithBundleId.length === 1) {\r\n var access = this.allAccessLevels.filter(x => x.Description === accessLevelUsersWithBundleId[0].AccessLevel && x.ModuleId === accessLevelUsersWithBundleId[0].ModuleId);\r\n var text = (access === undefined || access === null || access.length === 0) ? \"No Access\" : access[0].Description;\r\n return text;\r\n } else {\r\n return \"No Access\";\r\n }\r\n }\r\n\r\n constructor(\r\n private userService: UsersService,\r\n private formBuilder: FormBuilder,\r\n private activatedRoute: ActivatedRoute,\r\n private rolesService: RolesService,\r\n private reportsService: ReportsService,\r\n private accessRightsService: AccessRightsService,\r\n private helperService: HelperService,\r\n private toastr: ToastrService\r\n ) {\r\n\r\n }\r\n\r\n public endOfLeaseDateRange: any = null;\r\n private myForm: FormGroup;\r\n\r\n public options: any = {\r\n locale: {\r\n format: 'YYYY-MM-DD'\r\n },\r\n startDate: this.getTodaysDateAsText(-1),\r\n endDate: this.getTodaysDateAsText(0),\r\n alwaysShowCalendars: false,\r\n autoUpdateInput: false\r\n };\r\n\r\n getTodaysDateAsText(addDays: number) {\r\n var today = new Date();\r\n var dd = today.getDate() + addDays;\r\n var mm = today.getMonth() + 1; //January is 0!\r\n var yyyy = today.getFullYear();\r\n return yyyy + \"-\" + mm + \"-\" + dd;\r\n }\r\n\r\n public activeDateRange: any = null;\r\n onDateRangeChanged(event: IMyDateRangeModel) {\r\n this.profileUser.ActiveFrom = new Date(event.beginDate.year, event.beginDate.month, event.beginDate.day);\r\n this.profileUser.ActiveTo = new Date(event.endDate.year, event.endDate.month, event.endDate.day);\r\n }\r\n\r\n loadDate() {\r\n var fromDate = new Date(this.profileUser.ActiveFrom);\r\n var toDate = new Date(this.profileUser.ActiveTo);\r\n this.activeDateRange = {\r\n beginDate: { year: fromDate.getFullYear(), month: (fromDate.getMonth() + 1), day: fromDate.getDate() },\r\n endDate: { year: toDate.getFullYear(), month: (toDate.getMonth() + 1), day: toDate.getDate() }\r\n };\r\n this.myForm = this.formBuilder.group({\r\n //myDateRange: [null, Validators.required] // not initial date range set\r\n // myDateRange: [{ beginDate: { year: 2018, month: 10, day: 9 }, endDate: { year: 2018, month: 10, day: 19 } }, Validators.required],\r\n activeDateRange: [{ beginDate: { year: 2018, month: 10, day: 9 }, endDate: { year: 2018, month: 10, day: 19 } }, Validators.required]\r\n });\r\n // console.log(this.activeDateRange);\r\n }\r\n\r\n setAccessLevelNoAccess(accessLevel: AccessLevel, accessLevelUser: AccessLevelUser) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.accessRightsService.deleteUserAcessBundleSystem(\r\n this.profileUser.UserId,\r\n accessLevelUser.ModuleId,\r\n accessLevelUser.BundleId).subscribe(result => {\r\n if (this.profileUser.AutoAddSellTo) {\r\n this.addToSellToUserAcessBundleSystem(accessLevel, accessLevelUser);\r\n } else {\r\n this.deleteAddToSellToUserAcessBundleSystem(accessLevel, accessLevelUser);\r\n }\r\n\r\n }, error => {\r\n\r\n });\r\n }\r\n\r\n addToSellToUserAcessBundleSystem(accessLevel: AccessLevel, accessLevelUser: AccessLevelUser) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.accessRightsService.addToSellToUserAcessBundleSystem(this.profileUser.UserId, accessLevelUser.ModuleId, accessLevelUser.BundleId, accessLevel.AccessLevel, user.UserId, true)\r\n .subscribe(result => {\r\n this.loadData(this.profileUser.UserId);\r\n }, error => {\r\n\r\n });\r\n }\r\n\r\n deleteAddToSellToUserAcessBundleSystem(accessLevel: AccessLevel, accessLevelUser: AccessLevelUser) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.accessRightsService.deleteAddToSellToUserAcessBundleSystem(this.profileUser.UserId,\r\n accessLevelUser.ModuleId,\r\n accessLevelUser.BundleId)\r\n .subscribe(\r\n result => {\r\n this.loadData(this.profileUser.UserId);\r\n }, error => {\r\n\r\n });\r\n }\r\n\r\n addAccessLevelAccess(accessLevel: AccessLevel, accessLevelUser: AccessLevelUser) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n\r\n this.accessRightsService.deleteUserAcessBundleSystem(\r\n this.profileUser.UserId,\r\n accessLevelUser.ModuleId,\r\n accessLevelUser.BundleId)\r\n .subscribe(result => {\r\n this.accessRightsService.addUserAcessBundleSystem(\r\n this.profileUser.UserId,\r\n accessLevelUser.ModuleId,\r\n accessLevelUser.BundleId,\r\n accessLevel.AccessLevel,\r\n accessLevel.Description,\r\n user.UserId)\r\n\r\n .subscribe(result => {\r\n if (this.profileUser.AutoAddSellTo) {\r\n this.addToSellToUserAcessBundleSystem(accessLevel, accessLevelUser);\r\n } else {\r\n this.deleteAddToSellToUserAcessBundleSystem(accessLevel, accessLevelUser);\r\n }\r\n },\r\n error => {\r\n }\r\n );\r\n\r\n }, error => {\r\n this.accessRightsService.addUserAcessBundleSystem(\r\n this.profileUser.UserId,\r\n accessLevelUser.ModuleId,\r\n accessLevelUser.BundleId,\r\n accessLevel.AccessLevel,\r\n accessLevel.Description,\r\n user.UserId)\r\n .subscribe(result => {\r\n if (this.profileUser.AutoAddSellTo) {\r\n this.addToSellToUserAcessBundleSystem(accessLevel, accessLevelUser);\r\n } else {\r\n this.deleteAddToSellToUserAcessBundleSystem(accessLevel, accessLevelUser);\r\n }\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n );\r\n }\r\n\r\n changeAccesslevel(accessLevel: AccessLevel, accessLevelUser: AccessLevelUser) {\r\n accessLevelUser.AccessLevelId = accessLevel.Id;\r\n accessLevelUser.AccessLevel = accessLevel.Description;\r\n\r\n let user = JSON.parse(localStorage.currentUser);\r\n if (accessLevel.Description === 'No Access') {\r\n this.setAccessLevelNoAccess(accessLevel, accessLevelUser);\r\n } else {\r\n this.addAccessLevelAccess(accessLevel, accessLevelUser);\r\n }\r\n }\r\n\r\n\r\n loadReports() {\r\n this.reports = [];\r\n this.reportsService.getAll().subscribe(result => {\r\n result.forEach(element => {\r\n this.reports.push({ Value: element, Checked: false })\r\n });\r\n this.reportsService.getUserreports(this.profileUser.UserId).subscribe(result2 => {\r\n result2.forEach(element => {\r\n var filteredReports = this.reports.filter(x => x.Value.ReportId === element.ReportId);\r\n if (filteredReports.length === 1) {\r\n filteredReports[0].Checked = true;\r\n }\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadRoles(userId) {\r\n this.roles = [];\r\n this.rolesService.getRoles(userId).subscribe(result => {\r\n this.roles = result;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadAccessCurrentUSer() {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.currentUserAllAccessLevelUsers = [];\r\n this.accessRightsService.getAccessRightsBy(user.UserId).subscribe(result => {\r\n this.currentUserAllAccessLevelUsers = result;\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadAccessRights(userId) {\r\n this.accessLevelUsers = [];\r\n this.accessRightsService.getAccessRightsBy(userId).subscribe(result => {\r\n this.accessLevelUsers = result;\r\n this.currentUserAllAccessLevelUsers.forEach(accessLevelUser => {\r\n var item = result.filter(x => x.AccessLevelId === accessLevelUser.AccessLevelId && x.ModuleId === accessLevelUser.ModuleId && x.AccessLevel === x.AccessLevel && x.BundleName === accessLevelUser.BundleName);\r\n if (item.length === 0) {\r\n accessLevelUser.AccessLevel = this.objNoAccess.AccessLevel.toString();\r\n accessLevelUser.AccessLevelId = this.objNoAccess.Id;\r\n }\r\n });\r\n\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n loadAccessLevel(moduleName) {\r\n this.accessLevels = [{ Value: this.objNoAccess, Checked: false }];\r\n this.allAccessLevels = [this.objNoAccess];\r\n this.accessRightsService.getAccessRightsByModule(moduleName).subscribe(result => {\r\n result.forEach(element => {\r\n this.accessLevels.push({ Value: element, Checked: false })\r\n this.allAccessLevels.push(element)\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n\r\n }\r\n loadData(userId) {\r\n this.loadDate();\r\n this.loadRoles(userId);\r\n this.loadAccessLevel(\"AAMP2\");\r\n this.loadAccessCurrentUSer();\r\n this.loadAccessRights(userId);\r\n this.loadReports();\r\n }\r\n ngOnInit() {\r\n this.activatedRoute\r\n .queryParams\r\n .subscribe(params => {\r\n let userId = params['userId'];\r\n this.userService.getUser(userId).subscribe(result => {\r\n this.profileUser = result;\r\n if (this.profileUser.AutoAddSellTo === null) {\r\n this.profileUser.AutoAddSellTo = false;\r\n }\r\n this.loadData(userId);\r\n\r\n },\r\n error => {\r\n }\r\n );\r\n });\r\n }\r\n\r\n saveReports() {\r\n this.reportsService.getUserreports(this.profileUser.UserId).subscribe(currentUserReports => {\r\n this.reports.filter(x => x.Checked).forEach(report => {\r\n var filterd = currentUserReports.filter(y => y.ReportId === report.Value.ReportId);\r\n if (filterd === undefined || filterd.length === 0) {\r\n let user = JSON.parse(localStorage.currentUser);\r\n this.reportsService.saveUserReport(this.profileUser.UserId, report.Value.ReportId, user.UserId).subscribe(result => {\r\n this.toastr.success('Reports have been updated', 'Saved');\r\n },\r\n error => {\r\n });\r\n }\r\n });\r\n this.reports.filter(x => !x.Checked).forEach(deltedReport => {\r\n var filterd = currentUserReports.filter(y => y.ReportId === deltedReport.Value.ReportId);\r\n if (filterd !== undefined && filterd.length > 0) {\r\n this.reportsService.deleteUserReport(this.profileUser.UserId, deltedReport.Value.ReportId).subscribe(result => {\r\n this.toastr.success('Reports have been updated', 'Saved');\r\n },\r\n error => {\r\n \r\n });\r\n }\r\n });\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n createHostLink() {\r\n var host = window.location.host;\r\n if (window.location.pathname.indexOf('AAMP2/') !== -1) {\r\n host += \"/AAMP2\"\r\n }\r\n return host;\r\n }\r\n\r\n sendPasswordResetLink() {\r\n let url = this.helperService.thisLocationOriginWithPathname().replace('/usersettings', '');\r\n this.userService.resetPassword(this.profileUser.UserId, url, \"Request password change\", this.profileUser.Email, \"Reset password\", false).subscribe(result => {\r\n this.toastr.success('Link has been sent');\r\n },\r\n error => {\r\n this.toastr.error('Unable to send reset link');\r\n })\r\n }\r\n\r\n saveRole() {\r\n this.rolesService.getRoles(this.profileUser.UserId).subscribe(oldRoles => {\r\n this.roles.forEach(role => {\r\n var theOldRole = oldRoles.filter(y => y.Id == role.Id)[0];\r\n if (theOldRole != undefined && theOldRole.IsChoosen !== role.IsChoosen) {\r\n this.rolesService.saveRole(role).subscribe(result => {\r\n this.toastr.success('Roles have been updated', 'Saved');\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n });\r\n\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n saveChanges() {\r\n this.userService.saveUser(this.profileUser).subscribe(result => {\r\n this.loadRoles(this.profileUser.UserId);\r\n this.toastr.success('User has been updated', 'Saved');\r\n },\r\n error => {\r\n }\r\n );\r\n }\r\n\r\n tabToShow = \"GENERAL_INFO\"\r\n chooseTabToShow(tab) {\r\n this.tabToShow = tab;\r\n }\r\n shouldShow(tabToShow) {\r\n if (this.tabToShow === tabToShow) {\r\n return true;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class UserSettingsService {\r\n\r\n constructor() { }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":""}