{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/base/alerts/alert.component.html","./src/app/base/errors/error-403/app.forbidden-component.html","./src/app/base/errors/error-404/app.not-found-component.html","./src/app/base/errors/error-500/app.server-error-component.html","./src/app/base/shells/app-shell/app-shell.component.html","./src/app/base/shells/app-shell/footer/app.footer.component.html","./src/app/base/shells/app-shell/header/app.header.component.html","./src/app/base/shells/builder-shell/builder-shell.component.html","./src/app/base/shells/builder-shell/footer/builder.footer.component.html","./src/app/base/shells/builder-shell/header/builder.header.component.html","./src/app/modules/applicant/base/outlet/applicant.component.html","./src/app/modules/applicant/components/acknowledge/acknowledge.component.html","./src/app/modules/applicant/components/addresses/addresses.component.html","./src/app/modules/applicant/components/information/information.component.html","./src/app/modules/applicant/components/location/location.component.html","./src/app/modules/applicant/components/premise/commercial.premise/commercial.premise.component.html","./src/app/modules/applicant/components/premise/mixed.premise/mixed.premise.component.html","./src/app/modules/applicant/components/premise/premise.component.html","./src/app/modules/applicant/components/premise/residential.premise/residential.premise.component.html","./src/app/modules/applicant/components/review/review.component.html","./src/app/modules/applicant/components/type/type.component.html","./src/app/modules/builder/base/outlet/builder/builder.component.html","./src/app/modules/builder/base/outlet/newrequest/newrequest.component.html","./src/app/modules/builder/components/acknowledge/acknowledge.component.html","./src/app/modules/builder/components/addresses/addresses.component.html","./src/app/modules/builder/components/agreements/agreements.component.html","./src/app/modules/builder/components/bca-agreements/bca-agreements.component.html","./src/app/modules/builder/components/contract/contract.component.html","./src/app/modules/builder/components/contractAccept/contractAccept.component.html","./src/app/modules/builder/components/home/home.component.html","./src/app/modules/builder/components/information/information.component.html","./src/app/modules/builder/components/letter/letter.component.html","./src/app/modules/builder/components/location/location.component.html","./src/app/modules/builder/components/lot/lot.component.html","./src/app/modules/builder/components/new-user/new-user.component.html","./src/app/modules/builder/components/payment/payment.component.html","./src/app/modules/builder/components/premise/commercial.premise/commercial.premise.component.html","./src/app/modules/builder/components/premise/mixed.premise/mixed.premise.component.html","./src/app/modules/builder/components/premise/premise.component.html","./src/app/modules/builder/components/premise/residential.premise/residential.premise.component.html","./src/app/modules/builder/components/premise/subdivision.premise/subdivision.premise.component.html","./src/app/modules/builder/components/request-lot/request-lot.component.html","./src/app/modules/builder/components/request/main.request/main.request.component.html","./src/app/modules/builder/components/request/request.component.html","./src/app/modules/builder/components/request/service.request/service.activate.request/service.activate.request.component.html","./src/app/modules/builder/components/request/service.request/service.lot.request/service.lot.request.component.html","./src/app/modules/builder/components/request/service.request/service.new.request/service.new.request.component.html","./src/app/modules/builder/components/request/service.request/service.request.component.html","./src/app/modules/builder/components/request/subdivision.request/subdivision.request.component.html","./src/app/modules/builder/components/review/review.component.html","./src/app/modules/builder/components/subsidiary/add-subsidiary/add-subsidiary.component.html","./src/app/modules/builder/components/subsidiary/subsidiary.component.html","./src/app/modules/builder/components/type/type.component.html","./src/app/modules/landing/base/outlet/landing.component.html","./src/app/modules/landing/components/builder-register/builder-register.component.html","./src/app/modules/landing/components/company/company.component.html","./src/app/modules/landing/components/home/home.component.html","./src/app/modules/landing/components/letter/letter.component.html","./src/app/modules/landing/components/service-tracker/service-tracker.component.html","./src/app/modules/landing/components/status/status.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/base/alerts/alert.component.css","./src/app/base/alerts/alert.component.ts","./src/app/base/alerts/alert.model.ts","./src/app/base/alerts/alert.service.ts","./src/app/base/core/core.module.ts","./src/app/base/core/guards/account.guard.ts","./src/app/base/core/guards/anonymous.resolver.ts","./src/app/base/core/guards/builder.resolver.ts","./src/app/base/core/guards/index.ts","./src/app/base/core/guards/module-import.guard.ts","./src/app/base/core/index.ts","./src/app/base/core/models/app/GasRequestStatus.enum.ts","./src/app/base/core/models/app/admin.model.ts","./src/app/base/core/models/app/attachment.category.model.ts","./src/app/base/core/models/app/attachment.model.ts","./src/app/base/core/models/app/banner-message.enum.ts","./src/app/base/core/models/app/bca.search.model.ts","./src/app/base/core/models/app/builder.info.model.ts","./src/app/base/core/models/app/builder.login.audit.model.ts","./src/app/base/core/models/app/builder.mapping.model.ts","./src/app/base/core/models/app/builder.registration.model.ts","./src/app/base/core/models/app/companies.enum.ts","./src/app/base/core/models/app/entity-lookup.model.ts","./src/app/base/core/models/app/gas.bca.model.ts","./src/app/base/core/models/app/home.tabs.enum.ts","./src/app/base/core/models/app/index.ts","./src/app/base/core/models/app/landing.site.details.model.ts","./src/app/base/core/models/app/lookup-item.model.ts","./src/app/base/core/models/app/lookups.enum.ts","./src/app/base/core/models/app/lotStatus.enum.ts","./src/app/base/core/models/app/message-type.enum.ts","./src/app/base/core/models/app/product.model.ts","./src/app/base/core/models/app/profile.info.model.ts","./src/app/base/core/models/app/request-status.enum.ts","./src/app/base/core/models/app/request-types.enum.ts","./src/app/base/core/models/app/request.lot.model.ts","./src/app/base/core/models/app/request.service.model.ts","./src/app/base/core/models/app/request.service.model.view.ts","./src/app/base/core/models/app/sample.builder.data.ts","./src/app/base/core/models/app/service.details.model.ts","./src/app/base/core/models/app/subsidiary.model.ts","./src/app/base/core/models/app/type-meter-request-status.model.ts","./src/app/base/core/models/app/wizard-steps.enum.ts","./src/app/base/core/models/app/wizard-steps.model.ts","./src/app/base/core/models/index.ts","./src/app/base/core/models/user/account.model.ts","./src/app/base/core/models/user/api-info.model.ts","./src/app/base/core/models/user/index.ts","./src/app/base/core/models/user/user.model.ts","./src/app/base/core/services/account.service.ts","./src/app/base/core/services/constants.service.ts","./src/app/base/core/services/environment.service.ts","./src/app/base/core/services/index.ts","./src/app/base/core/services/limitless-ui.service.ts","./src/app/base/core/services/logger.service.ts","./src/app/base/core/services/lookups.service.ts","./src/app/base/core/services/session.service.ts","./src/app/base/errors/error-403/app.forbidden-component.ts","./src/app/base/errors/error-404/app.not-found-component.ts","./src/app/base/errors/error-500/app.server-error-component.ts","./src/app/base/errors/errors.module.ts","./src/app/base/errors/index.ts","./src/app/base/shared/controls/address-validation.component.ts","./src/app/base/shared/controls/custom-map.component.ts","./src/app/base/shared/controls/custom.component.ts","./src/app/base/shared/controls/google-autocomplete.component.ts","./src/app/base/shared/controls/index.ts","./src/app/base/shared/functions/forms.functions.ts","./src/app/base/shared/functions/index.ts","./src/app/base/shared/guards/can-deactivate.guard.ts","./src/app/base/shared/guards/index.ts","./src/app/base/shared/index.ts","./src/app/base/shared/models/applicant/new.model.ts","./src/app/base/shared/services/GISIntegration.ts","./src/app/base/shared/services/contact-us.service.ts","./src/app/base/shared/services/index.ts","./src/app/base/shared/services/location.service.ts","./src/app/base/shared/services/usps.service.ts","./src/app/base/shared/shared.module.ts","./src/app/base/shells/app-shell/app-shell.component.ts","./src/app/base/shells/app-shell/footer/app.footer.component.css","./src/app/base/shells/app-shell/footer/app.footer.component.ts","./src/app/base/shells/app-shell/header/app.header.component.css","./src/app/base/shells/app-shell/header/app.header.component.ts","./src/app/base/shells/app-shell/index.ts","./src/app/base/shells/builder-shell/builder-shell.component.css","./src/app/base/shells/builder-shell/builder-shell.component.ts","./src/app/base/shells/builder-shell/footer/builder.footer.component.css","./src/app/base/shells/builder-shell/footer/builder.footer.component.ts","./src/app/base/shells/builder-shell/header/builder.header.component.css","./src/app/base/shells/builder-shell/header/builder.header.component.ts","./src/app/base/shells/builder-shell/index.ts","./src/app/base/shells/index.ts","./src/app/base/soco/alert/alert_module.ts","./src/app/base/soco/alert/index.ts","./src/app/base/soco/alert/soco-alert.component.ts","./src/app/base/soco/alert/soco-alert.service.ts","./src/app/base/soco/common/common_module.ts","./src/app/base/soco/common/index.ts","./src/app/base/soco/common/soco-search.pipe.ts","./src/app/base/soco/common/soco-system-message.component.ts","./src/app/base/soco/configuration/configuration_module.ts","./src/app/base/soco/configuration/index.ts","./src/app/base/soco/configuration/soco-configuration.service.ts","./src/app/base/soco/core/api-result.ts","./src/app/base/soco/core/core_module.ts","./src/app/base/soco/core/index.ts","./src/app/base/soco/core/model-error.ts","./src/app/base/soco/http/http_module.ts","./src/app/base/soco/http/index.ts","./src/app/base/soco/http/soco-http.service.ts","./src/app/base/soco/http/soco-please-wait.component.ts","./src/app/base/soco/http/soco-web-auth.service.ts","./src/app/base/soco/index.ts","./src/app/base/soco/modal/index.ts","./src/app/base/soco/modal/modal_module.ts","./src/app/base/soco/modal/soco-modal.component.ts","./src/app/base/soco/modal/soco-modal.service.ts","./src/app/base/soco/soco.module.ts","./src/app/modules/applicant/base/applicant.module.ts","./src/app/modules/applicant/base/index.ts","./src/app/modules/applicant/base/outlet/applicant.component.css","./src/app/modules/applicant/base/outlet/applicant.component.ts","./src/app/modules/applicant/base/services/index.ts","./src/app/modules/applicant/base/services/multisteps.service.ts","./src/app/modules/applicant/components/acknowledge/acknowledge.component.css","./src/app/modules/applicant/components/acknowledge/acknowledge.component.ts","./src/app/modules/applicant/components/addresses/addresses.component.css","./src/app/modules/applicant/components/addresses/addresses.component.ts","./src/app/modules/applicant/components/index.ts","./src/app/modules/applicant/components/information/information.component.css","./src/app/modules/applicant/components/information/information.component.ts","./src/app/modules/applicant/components/location/location.component.css","./src/app/modules/applicant/components/location/location.component.ts","./src/app/modules/applicant/components/premise/commercial.premise/commercial.premise.component.ts","./src/app/modules/applicant/components/premise/mixed.premise/mixed.premise.component.ts","./src/app/modules/applicant/components/premise/premise.component.css","./src/app/modules/applicant/components/premise/premise.component.ts","./src/app/modules/applicant/components/premise/residential.premise/residential.premise.component.ts","./src/app/modules/applicant/components/review/review.component.css","./src/app/modules/applicant/components/review/review.component.ts","./src/app/modules/applicant/components/type/type.component.css","./src/app/modules/applicant/components/type/type.component.ts","./src/app/modules/applicant/index.ts","./src/app/modules/builder/base/builder.module.ts","./src/app/modules/builder/base/index.ts","./src/app/modules/builder/base/models/index.ts","./src/app/modules/builder/base/models/meter.activate.model.ts","./src/app/modules/builder/base/models/service.activation.model.ts","./src/app/modules/builder/base/outlet/builder/builder.component.css","./src/app/modules/builder/base/outlet/builder/builder.component.ts","./src/app/modules/builder/base/outlet/newrequest/newrequest.component.css","./src/app/modules/builder/base/outlet/newrequest/newrequest.component.ts","./src/app/modules/builder/base/services/builder.service.ts","./src/app/modules/builder/base/services/index.ts","./src/app/modules/builder/base/services/multisteps.service.ts","./src/app/modules/builder/components/acknowledge/acknowledge.component.css","./src/app/modules/builder/components/acknowledge/acknowledge.component.ts","./src/app/modules/builder/components/addresses/addresses.component.css","./src/app/modules/builder/components/addresses/addresses.component.ts","./src/app/modules/builder/components/agreements/agreements.component.css","./src/app/modules/builder/components/agreements/agreements.component.ts","./src/app/modules/builder/components/bca-agreements/bca-agreements.component.css","./src/app/modules/builder/components/bca-agreements/bca-agreements.component.ts","./src/app/modules/builder/components/contract/contract.component.css","./src/app/modules/builder/components/contract/contract.component.ts","./src/app/modules/builder/components/contractAccept/contractAccept.component.css","./src/app/modules/builder/components/contractAccept/contractAccept.component.ts","./src/app/modules/builder/components/home/home.component.css","./src/app/modules/builder/components/home/home.component.ts","./src/app/modules/builder/components/index.ts","./src/app/modules/builder/components/information/information.component.css","./src/app/modules/builder/components/information/information.component.ts","./src/app/modules/builder/components/letter/letter.component.css","./src/app/modules/builder/components/letter/letter.component.ts","./src/app/modules/builder/components/location/location.component.css","./src/app/modules/builder/components/location/location.component.ts","./src/app/modules/builder/components/lot/lot.component.css","./src/app/modules/builder/components/lot/lot.component.ts","./src/app/modules/builder/components/new-user/new-user.component.css","./src/app/modules/builder/components/new-user/new-user.component.ts","./src/app/modules/builder/components/payment/payment.component.css","./src/app/modules/builder/components/payment/payment.component.ts","./src/app/modules/builder/components/premise/commercial.premise/commercial.premise.component.ts","./src/app/modules/builder/components/premise/mixed.premise/mixed.premise.component.ts","./src/app/modules/builder/components/premise/premise.component.css","./src/app/modules/builder/components/premise/premise.component.ts","./src/app/modules/builder/components/premise/residential.premise/residential.premise.component.ts","./src/app/modules/builder/components/premise/subdivision.premise/subdivision.premise.component.css","./src/app/modules/builder/components/premise/subdivision.premise/subdivision.premise.component.ts","./src/app/modules/builder/components/request-lot/request-lot.component.css","./src/app/modules/builder/components/request-lot/request-lot.component.ts","./src/app/modules/builder/components/request/main.request/main.request.component.css","./src/app/modules/builder/components/request/main.request/main.request.component.ts","./src/app/modules/builder/components/request/request.component.css","./src/app/modules/builder/components/request/request.component.ts","./src/app/modules/builder/components/request/service.request/service.activate.request/service.activate.request.component.css","./src/app/modules/builder/components/request/service.request/service.activate.request/service.activate.request.component.ts","./src/app/modules/builder/components/request/service.request/service.lot.request/service.lot.request.component.css","./src/app/modules/builder/components/request/service.request/service.lot.request/service.lot.request.component.ts","./src/app/modules/builder/components/request/service.request/service.new.request/service.new.request.component.css","./src/app/modules/builder/components/request/service.request/service.new.request/service.new.request.component.ts","./src/app/modules/builder/components/request/service.request/service.request.component.css","./src/app/modules/builder/components/request/service.request/service.request.component.ts","./src/app/modules/builder/components/request/subdivision.request/subdivision.request.component.css","./src/app/modules/builder/components/request/subdivision.request/subdivision.request.component.ts","./src/app/modules/builder/components/review/review.component.css","./src/app/modules/builder/components/review/review.component.ts","./src/app/modules/builder/components/subsidiary/add-subsidiary/add-subsidiary.component.css","./src/app/modules/builder/components/subsidiary/add-subsidiary/add-subsidiary.component.ts","./src/app/modules/builder/components/subsidiary/subsidiary.component.css","./src/app/modules/builder/components/subsidiary/subsidiary.component.ts","./src/app/modules/builder/components/subsidiary/subsidiary.filter.pipe.ts","./src/app/modules/builder/components/type/type.component.css","./src/app/modules/builder/components/type/type.component.ts","./src/app/modules/builder/index.ts","./src/app/modules/landing/base/index.ts","./src/app/modules/landing/base/landing.module.ts","./src/app/modules/landing/base/models/Kmi.model.ts","./src/app/modules/landing/base/models/index.ts","./src/app/modules/landing/base/models/request-status.model.ts","./src/app/modules/landing/base/models/tracker-steps-status.model.ts","./src/app/modules/landing/base/outlet/landing.component.css","./src/app/modules/landing/base/outlet/landing.component.ts","./src/app/modules/landing/base/services/index.ts","./src/app/modules/landing/base/services/landing.service.ts","./src/app/modules/landing/components/builder-register/builder-register.component.css","./src/app/modules/landing/components/builder-register/builder-register.component.ts","./src/app/modules/landing/components/company/company.component.css","./src/app/modules/landing/components/company/company.component.ts","./src/app/modules/landing/components/home/home.component.css","./src/app/modules/landing/components/home/home.component.ts","./src/app/modules/landing/components/index.ts","./src/app/modules/landing/components/letter/letter.component.css","./src/app/modules/landing/components/letter/letter.component.ts","./src/app/modules/landing/components/service-tracker/capitalize-first-letter.pipe.ts","./src/app/modules/landing/components/service-tracker/service-tracker.component.scss","./src/app/modules/landing/components/service-tracker/service-tracker.component.ts","./src/app/modules/landing/components/status/status.component.css","./src/app/modules/landing/components/status/status.component.ts","./src/app/modules/landing/index.ts","./src/environments/environment.ts","./src/lib/plugins/xml2json.js","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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wB,uBAAuB;AAChI;;AAEA;AACA;AACA,gBAAgB,kCAAkC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,gB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sG;AACA;AACA;AACA;AACA,Q;;AAEA;AACA;AACA;AACA;AACA;AACA,8BAA8B,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,8BAA8B,2BAA2B;AACzD,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oB;AACA;;AAEA;AACA,8BAA8B,8BAA8B;AAC5D,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,Y;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,wBAAwB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yC;AACA,4D;AACA;;AAEA,wC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2B;AACA;AACA;AACA;AACA;AACA,iCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2B;;AAEA;;AAEA;AACA;;AAEA;AACA,gC;;AAEA,4C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,oD;AACA,uF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,S;AACA;AACA,CAAC,E;;;;;;;;;;;;;;;;;AC7jBD,0DAA0D;AAC1D,oGAA+C;AAC/C,oLAA2E;AAG3E,0FAA6C;AAC7C,+GAAyD;AAEzD,IAAI,yBAAW,CAAC,UAAU,EAAE;IACxB,qBAAc,EAAE,CAAC;CACpB;AAQD,iDAAsB,EAAE,CAAC,eAAe,CAAC,sBAAS,CAAC;KAC9C,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAlB,CAAkB,CAAC,CAAC","file":"main.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","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\tif(!__webpack_require__.o(map, req)) {\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 map[req];\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 ^\\\\.\\\\/.*$\";","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n {{alert.message}}\\r\\n \\r\\n ×\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

403

\\r\\n
Oops, an error has occurred. Forbidden!
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

404

\\r\\n
Oops, an error has occurred. Page not found!
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

500

\\r\\n
Oops, an error has occurred. Internal Server Error!
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n \\\"\\\" \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Contact Us
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Please enter Full Name.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Please enter Email Address.\\r\\n \\r\\n \\r\\n Please enter valid Email Address.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Message should be max 500 characters.\\r\\n
\\r\\n \\r\\n Please enter Message.\\r\\n \\r\\n \\r\\n Message should be max 500 characters.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Thanks for contacting us!

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{wizardSvc.getActiveStep.label}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n Select the location for service\\r\\n
\\r\\n
\\r\\n

\\r\\n For new development site, if address is not found on map please enter the address in the fields below the map.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
= stepsIdEnum.TYPE && wizardSvc.getActiveStep.id <= stepsIdEnum.REVIEW\\\"\\r\\n class=\\\"wizard clearfix\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
= stepsIdEnum.TYPE && wizardSvc.getActiveStep.id <= stepsIdEnum.REVIEW\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Please Wait...
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n Service Address 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
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Mailing Address 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 \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\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 Verification
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n Applicant Information\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

Email information is used to provide request status.

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Site Contact 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 Site Contact {{i+1}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Communication Preference\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n By opting into receive communication via text or email, you agree to the\\r\\n Glance and See Terms & Conditions. Privacy Statement.\\r\\n Message frequency varies. Message and data rates may apply. Text HELP for help or STOP to cancel.\\r\\n

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

Text feature coming soon

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

Note: With status updates, multiple messages could be received in a single day.

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Select the location for service\\r\\n
\\r\\n
\\r\\n

\\r\\n If address is not found on map please enter the address in the below fields.\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n Commercial/Industrial Details\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your business?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

Disclaimer: AGL will be sharing your contact information with the marketer you have selected.

\\r\\n

Disclaimer: You have not yet selected a marketer to receive service. Review and leverage the PSC website for a list of certified marketers in Georgia PSC website Link - Certified Marketers (ga.gov). You must contact a marketer to establish a billing account.

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Residential Details\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your home?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Commercial Details\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your business?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n Residential Details\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your home?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

Disclaimer: AGL will be sharing your contact information with the marketer you have selected.

\\r\\n

Disclaimer: You have not yet selected a marketer to receive service. Review and leverage the PSC website for a list of certified marketers in Georgia PSC website Link - Certified Marketers (ga.gov). You must contact a marketer to establish a billing account.

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{typeForm.controls['question62'].value}}

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

{{typeForm.controls['question1'].value}}

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

{{typeForm.controls['question2'].value}}

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

{{typeForm.controls['question3'].value}}

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

{{typeForm.controls['question5'].value}}

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

{{typeForm.controls['question6'].value}}

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

{{typeForm.controls['question7'].value}}

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

{{typeForm.controls['question4'].value}}

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

{{typeForm.controls['question1'].value}}

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

{{typeForm.controls['question40'].value}}

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

{{typeForm.controls['question60'].value}}

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

{{typeForm.controls['question62'].value}}

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

{{typeForm.controls['question16'].value}}

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

{{typeForm.controls['question17'].value}}

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

{{typeForm.controls['question18'].value}}

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

{{typeForm.controls['question20'].value}}

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

{{typeForm.controls['question21'].value}}

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

{{typeForm.controls['question19'].value}}

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

\\r\\n \\r\\n Please complete\\r\\n {{wizardSvc.getStepTitle(stepsCodeEnum.TYPE)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Applicant Information\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{informationForm.controls[\\\"firstName\\\"].value}}

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

{{informationForm.controls[\\\"middleInitial\\\"].value}}

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

{{informationForm.controls[\\\"lastName\\\"].value}}

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

{{informationForm.controls[\\\"phoneNumberType\\\"].value['itemName']}}

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

{{informationForm.controls[\\\"applicantPhoneNumber\\\"].value}}

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

{{informationForm.controls[\\\"applicantPhoneNumberExtension\\\"].value}}

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

{{informationForm.controls[\\\"emailAddress\\\"].value}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Site Contact 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 \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Contact TypeCompany NameNamePhone NumberExtensionEmail AddressSite Contact Other
{{!typeDetails.controls['siteContactType'].value? '' :\\r\\n typeDetails.controls['siteContactType'].value['itemName']}}\\r\\n {{typeDetails.controls['companyName'].value}}{{typeDetails.controls['firstName'].value + \\\" \\\"+ typeDetails.controls['lastName'].value}}{{typeDetails.controls['siteContactPhoneNumber'].value}}{{typeDetails.controls['siteContactPhoneNumberExtension'].value}}{{typeDetails.controls['emailAddress'].value}}{{!typeDetails.controls['siteContactTypeOthers'].value? '' :\\r\\n typeDetails.controls['siteContactTypeOthers'].value}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Communication Preference\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{informationForm.controls['kmiCommunication'].value}}

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

{{informationForm.controls['kmiReceive'].value === 'Both'? 'Email and Text' :informationForm.controls['kmiReceive'].value}}

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

{{informationForm.controls['kmiEmailAddress'].value}}

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

{{informationForm.controls['kmiTextNumber'].value}}

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

{{informationForm.controls['kmiFrequency'].value}}

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

\\r\\n \\r\\n Please complete\\r\\n {{wizardSvc.getStepTitle(stepsCodeEnum.INFORMATION)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Address Information\\r\\n
\\r\\n {{addressForm.controls['customerStreetNumber'].value}}\\r\\n {{addressForm.controls['customerStreetName'].value}} {{addressForm.controls['serviceUnitNumber'].value}}\\r\\n {{addressForm.controls['serviceDevelopementName'].value}}\\r\\n
{{addressForm.controls['serviceCity'].value['itemName']}},\\r\\n {{addressForm.controls['serviceState'].value['itemName']}},\\r\\n {{addressForm.controls['serviceZip'].value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Mailing Address Information\\r\\n
\\r\\n PO Box: {{addressForm.controls['poBoxAddress'].value}}\\r\\n
{{addressForm.controls['mailingCity'].value['itemName']}},\\r\\n {{addressForm.controls['mailingState'].value['itemName']}},\\r\\n {{addressForm.controls['mailingZip'].value}}\\r\\n
\\r\\n
\\r\\n {{addressForm.controls['mailingStreetNumber'].value}}\\r\\n {{addressForm.controls['mailingStreetName'].value}}\\r\\n {{addressForm.controls['mailingUnitNumber'].value}}\\r\\n
{{addressForm.controls['mailingCity'].value['itemName']}},\\r\\n {{addressForm.controls['mailingState'].value['itemName']}},\\r\\n {{addressForm.controls['mailingZip'].value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Pin Address Information\\r\\n
\\r\\n {{addressForm.controls['serviceStreetNumber'].value}}\\r\\n {{addressForm.controls['serviceStreetName'].value}}\\r\\n
{{addressForm.controls['serviceCity'].value['itemName']}},\\r\\n {{addressForm.controls['serviceState'].value['itemName']}},\\r\\n {{addressForm.controls['serviceZip'].value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{addressForm.controls[\\\"serviceLanddistrict\\\"].value}}

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

{{addressForm.controls[\\\"serviceLandLot\\\"].value}}

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

\\r\\n \\r\\n Please complete\\r\\n {{wizardSvc.getStepTitle(stepsCodeEnum.ADDRESSES)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

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

{{premiseForm.controls['residentialHomeSqFt'].value}}

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

{{premiseForm.controls['residentialNoOfUnit'].value}}

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

{{premiseForm.controls['residentialApproxDistanceFt'].value}}

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

{{residentialDeliveryPressure()}}

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

{{!premiseForm.controls['residentialStatusofConstruction'].value['itemName']?\\r\\n '' : premiseForm.controls['residentialStatusofConstruction'].value['itemName']}}

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

{{premiseForm.controls['residentialUnitDescription'].value}}

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

{{premiseForm.controls['residentialNeedingServiceDate'].value}}

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

{{premiseForm.controls['marketerChosen'].value}}

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

{{premiseForm.controls['marketerChoice'].value['itemName']}}

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

{{premiseForm.controls['residentialDeliveryPressureOthers'].value}}

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

{{premiseForm.controls['residentialPropertyOwner'].value}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance typeExisting Load
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}}{{appArr.controls['defaultValue'].value}}{{appArr.controls['defaultApplianceOther'].value}}{{appArr.controls['existingLoad'].value\\r\\n ? 'Yes':'No'}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{premiseForm.controls['commercialHomeSqFt'].value}}

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

{{premiseForm.controls['commercialApproxDistanceFt'].value}}

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

{{commercialDeliveryPressure()}}

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

\\r\\n {{\\r\\n!premiseForm.controls['commercialStatusofConstruction'].value['itemName']?'' :\\r\\n premiseForm.controls['commercialStatusofConstruction'].value['itemName']\\r\\n }}\\r\\n

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

{{premiseForm.controls['commercialUnitDescription'].value}}

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

{{premiseForm.controls['commercialNeedingServiceDate'].value}}

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

{{premiseForm.controls['commercialMarketerChosen'].value}}

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

{{premiseForm.controls['commercialMarketerChoice'].value['itemName']}}

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

{{premiseForm.controls['commercialDeliveryPressureOthers'].value}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance typeExisting Load
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}} {{appArr.controls['defaultValue'].value}} {{appArr.controls['defaultApplianceOther'].value}}\\r\\n {{\\r\\nappArr.controls['existingLoad'].value\\r\\n ? 'Yes':'No'\\r\\n }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Residential Details\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{premiseForm.controls['residentialHomeSqFt'].value}}

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

{{premiseForm.controls['residentialNoOfUnit'].value}}

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

{{premiseForm.controls['residentialApproxDistanceFt'].value}}

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

{{residentialDeliveryPressure()}}

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

{{!premiseForm.controls['residentialStatusofConstruction'].value['itemName']?\\r\\n '' : premiseForm.controls['residentialStatusofConstruction'].value['itemName']}}

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

{{premiseForm.controls['residentialUnitDescription'].value}}

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

{{premiseForm.controls['residentialNeedingServiceDate'].value}}

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

{{premiseForm.controls['residentialDeliveryPressureOthers'].value}}

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}}{{appArr.controls['defaultValue'].value}} {{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Commercial Details\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{premiseForm.controls['commercialHomeSqFt'].value}}

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

{{premiseForm.controls['commercialApproxDistanceFt'].value}}

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

{{commercialDeliveryPressure()}}

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

\\r\\n {{!premiseForm.controls['commercialStatusofConstruction'].value['itemName']?'' :\\r\\n premiseForm.controls['commercialStatusofConstruction'].value['itemName']}}\\r\\n

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

{{premiseForm.controls['commercialUnitDescription'].value}}

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

{{premiseForm.controls['commercialNeedingServiceDate'].value}}

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

{{premiseForm.controls['commercialDeliveryPressureOthers'].value}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}} {{appArr.controls['defaultValue'].value}} {{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n Please complete\\r\\n {{wizardSvc.getStepTitle(stepsCodeEnum.PREMISE)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

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

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

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

Disclaimer: For future reference, you can also file a request using BuilderFirst {{builderFirstUrl}}

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

Disclaimer: For future reference, you can also file a request using BuilderFirst {{builderFirstUrl}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

Welcome

\\r\\n

{{company}}

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

\\r\\n {{address1}}\\r\\n

\\r\\n

\\r\\n {{address2}}\\r\\n

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

{{contactNumber}}

\\r\\n

{{email}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{wizardSvc.getActiveStep.label}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n Select the location for service\\r\\n
\\r\\n
\\r\\n

\\r\\n For new development site, if address is not found on map please enter the address in the fields below the map.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
= stepsIdEnum.TYPE && wizardSvc.getActiveStep.id <= stepsIdEnum.REVIEW\\\"\\r\\n class=\\\"wizard clearfix\\\">\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
= stepsIdEnum.TYPE && wizardSvc.getActiveStep.id <= stepsIdEnum.REVIEW\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
stepsIdEnum.LOCATION && wizardSvc.getActiveStep.id < stepsIdEnum.ACKNOWLEDGE)\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n Form Diagnostics\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  {{wizardSvc.getActiveStep.title}}\\r\\n  \\r\\n  Duplicate Request: {{wizardSvc.duplicatedRequest}}\\r\\n  \\r\\n  \\r\\n  \\r\\n  Form Validity: {{wizardSvc.getActiveStep.form.valid}}\\r\\n  {{wizardSvc.getActiveStep.form.getRawValue() | json}}\\r\\n  
\\r\\n
\\r\\n
\\r\\n
{{step.title}}
Form Validity: {{step.form.valid}}
{{step.form.getRawValue() | json}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n Please select Property Type from {{wizardSvc.getStepTitle(stepsCodeEnum.TYPE, '')}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Address 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
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Mailing Address 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 \\r\\n \\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 Verification
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
S No.
\\r\\n
\\r\\n
{{ dataItem.id }}
\\r\\n\\r\\n
Attachment Name
\\r\\n
{{ dataItem.name }}
\\r\\n\\r\\n
Attachment Type
\\r\\n
{{ dataItem.metaData.documentType }}
\\r\\n\\r\\n
File Type
\\r\\n
{{ dataItem.type }}
\\r\\n\\r\\n
Comments
\\r\\n
{{ dataItem.comments }}
\\r\\n\\r\\n
File Type
\\r\\n
{{ dataItem.type }}
\\r\\n\\r\\n
Uploaded By
\\r\\n
{{ dataItem.metaData.updatedBy }}
\\r\\n\\r\\n
Uploaded On
\\r\\n
{{ dataItem.creationDate | date: 'MM/dd/yyyy'}}
\\r\\n\\r\\n
\\r\\n
\\r\\n Download\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Current Projects\\r\\n
  • \\r\\n
  • Project Documents
  • \\r\\n
\\r\\n
\\r\\n

Project Number : {{projectNumber}}

\\r\\n
Project Name : {{projectName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Search Project Agreements\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
S No.
\\r\\n
\\r\\n
{{ dataItem.id }}
\\r\\n\\r\\n
Attachment Name
\\r\\n
{{ dataItem.name }}
\\r\\n\\r\\n
File Type
\\r\\n
{{ dataItem.type }}
\\r\\n\\r\\n
Comments
\\r\\n
{{ dataItem.metaData.comments }}
\\r\\n\\r\\n
File Type
\\r\\n
{{ dataItem.type }}
\\r\\n\\r\\n
Uploaded By
\\r\\n
{{ dataItem.metaData.updatedBy }}
\\r\\n\\r\\n
Uploaded On
\\r\\n
{{ dataItem.creationDate | date: 'MM/dd/yyyy'}}
\\r\\n\\r\\n
\\r\\n
\\r\\n Download\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Contract

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

\\r\\n Gas Request ID\\r\\n

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

{{dataItem.grId}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n BCA ID\\r\\n
\\r\\n
{{ dataItem.bcaId }}
\\r\\n
\\r\\n Applicant Name\\r\\n
\\r\\n
{{ dataItem.applicantName }}
\\r\\n\\r\\n
\\r\\n Project Name\\r\\n
\\r\\n
{{ dataItem.projectName }}
\\r\\n
\\r\\n Customer Owed Amount\\r\\n
\\r\\n
{{ dataItem.customerOwedAmount }}
\\r\\n\\r\\n
\\r\\n Applicant Contact Number\\r\\n
\\r\\n
{{ dataItem.phoneNumber }}
\\r\\n\\r\\n
\\r\\n Contract Sent Date\\r\\n
\\r\\n
{{ dataItem.contractSentDate | date: 'MM/dd/yyyy'}}
\\r\\n\\r\\n
\\r\\n Contract Received Date\\r\\n
\\r\\n
{{ dataItem.contractReceivedDate | date: 'MM/dd/yyyy' }}
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.grId}} \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n No Records Available for the user to view the Contract.\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n -1 ? true : false\\\" (change)=\\\"CheckedTrue(i, file.id);\\\" id= \\\"{{'chkDoc' + i}}\\\" type=\\\"checkbox\\\"> {{file.name}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Accept Contract

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Note: Now that you have read the contract and chosen to\\r\\n execute it electronically, Please fill in the details and\\r\\n click on 'Accept Contract'. If you wish to reject the\\r\\n contract, Please enter your comments also and Click on\\r\\n 'Reject Contract'.\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ error.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
\\r\\n

{{activeProjectLength ? activeProjectLength : 'No'}} Active Projects

\\r\\n

{{filterProjectLength ? filterProjectLength : 'No'}} Projects

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

\\r\\n Click on Project Number to navigate to Services Page\\r\\n

\\r\\n

\\r\\n Click on Project Address to navigate to Tracker Page\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{project.gasRequestId}}\\r\\n \\r\\n {{project.bcaId}}\\r\\n \\r\\n \\r\\n \\r\\n {{project.serviceFormattedAddress}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n Applicant 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 Site Contact 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 Site Contact {{i+1}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Communication Preference\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n By opting into receive communication via text or email, you agree to the\\r\\n Glance and See Terms & Conditions. Privacy Statement.\\r\\n Message frequency varies. Message and data rates may apply. Text HELP for help or STOP to cancel.\\r\\n

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

Text feature coming soon

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

Note: With status updates, multiple messages could be received in a single day.

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Service Address

\\r\\n

Request Gas Availability\\r\\n Letter

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Address 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 Applicant 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 \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Form Diagnostics\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Gas Letter
Form Validity: {{this.gasLetterForm.valid}}
{{this.gasLetterForm.getRawValue() | json}}
\\r\\n
\\r\\n
0\\\">\\r\\n

{{item.name}}: {{item.valid? 'Valid' : 'Invalid'}} | {{item.disabled? 'Disabled' : 'Enabled'}} | {{item.required? 'Required' : 'Optional'}} | {{item.value | json}} | Errors: {{item.errors | json}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please Wait...
\\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 Verification
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Acknowledgement
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Select the location for service\\r\\n
\\r\\n
\\r\\n

\\r\\n If address not found on map please enter the address in the fields below, move the pin to the closest address and select confirm.\\r\\n

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Subdivision Layout\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Address 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 New Lot {{i+1}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Builder User Add\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Builder User 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
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Payment Summary

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Cost CatgeoryAmount
Estimated Cost To Serve {{CostToServe | currency:'USD':true:'1.2-2' }}
Contribution Required By User {{CostToServe | currency:'USD':true:'1.2-2'}}
Total Required By User {{CostToServe | currency:'USD':true:'1.2-2'}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n Commercial/Industrial Details\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Details {{i+1}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your business?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Files\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n Residential Details\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Details {{i+1}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your home?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Commercial Details\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Details {{i+1}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your business?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n Residential Details\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Details {{i+1}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in your home?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Files\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n Subdivison Details\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n Details {{i+1}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Only Builder can upload files\\r\\n

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

Disclaimer: Dates are not guaranteed until the contract is executed.

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n What natural gas appliances are you converting or installing in subdivision?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Files\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Builder Lot Reassignment\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Lot Details\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
Lot Number
\\r\\n
{{ dataItem.lotNumber }}
\\r\\n\\r\\n
Lot Status
\\r\\n
\\r\\n {{dataItem.statusDesc}}\\r\\n
\\r\\n\\r\\n
Address
\\r\\n
\\r\\n {{dataItem.address}}\\r\\n
\\r\\n\\r\\n
Allocated to Builder
\\r\\n
{{ dataItem.originalCName }}
\\r\\n\\r\\n \\r\\n\\r\\n
Select
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Current Projects\\r\\n
  • \\r\\n
  • Gas Mains
  • \\r\\n
\\r\\n
\\r\\n

Project Number : {{projectNumber}}

\\r\\n
Project Name : {{projectName}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
WR Number
\\r\\n
{{ dataItem.wrNo }}
\\r\\n\\r\\n
Service Address
\\r\\n
{{ dataItem.address }}
\\r\\n\\r\\n
Construction Site Status
\\r\\n
{{ dataItem.constructionSiteStatus }}
\\r\\n\\r\\n
Construction Complete Date
\\r\\n
{{ dataItem.mainConstructionCompleteDate }}
\\r\\n\\r\\n
Main Installation Status
\\r\\n
{{ dataItem.mainStatus }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Meter Activation Form - {{_lotData != undefined ? _lotData[0].lotNumber:''}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Email Address and Re-Enter Email Address should be same.\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Property 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 \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Builder 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\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n Lot Details - {{_lotData != undefined ? _lotData[0].lotNumber: ''}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n Disclaimer: Dates are not guaranteed.\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n Builder Request Service - {{_lotData != undefined ? _lotData[0].lotNumber:'' }}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Disclaimer: Dates are not guaranteed.\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
File Attachment is required
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Download\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\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 Verification
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Current Projects\\r\\n
  • \\r\\n
  • Services
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n

Project Number : {{projectNumber}}

\\r\\n
\\r\\n
Project Name : {{projectName}}
\\r\\n
\\r\\n\\r\\n \\r\\n Update Site Contact \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\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\\r\\n
\\r\\n
Request Service
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Lot Number
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
Work Request Number
\\r\\n
{{ dataItem.wrNo }}
\\r\\n
Service Address
\\r\\n
\\r\\n {{ dataItem.address }}\\r\\n
\\r\\n
Request Type
\\r\\n
{{ dataItem.oldwrCd }}
\\r\\n
Request Status
\\r\\n
{{ dataItem.lotStatus }}
\\r\\n
Work Request Status
\\r\\n
{{ dataItem.workStatus }}
\\r\\n
Scheduled Date
\\r\\n
{{ dataItem.scheduleDate | date}}
\\r\\n
Site Status
\\r\\n
{{ dataItem.lookerStatus }}
\\r\\n
Activate/Deactivate
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.lotNumber}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.lookerStatus === 'DELAYED - FIELD ISSUE' ? 'FIELD ISSUE' : dataItem.lookerStatus}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n We are still in progress of creating lot list, please check back at a later time.\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Page {{ pageNum }} of {{ totalPages }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.lookerStatus === 'DELAYED - FIELD ISSUE' ? 'FIELD ISSUE' : dataItem.lookerStatus}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.lookerStatus === 'DELAYED - FIELD ISSUE' ? 'FIELD ISSUE' : dataItem.lookerStatus}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n Current Projects\\r\\n
  • \\r\\n
  • Map View
  • \\r\\n
\\r\\n
\\r\\n

Project Number : {{projectNumber}}

\\r\\n
Project Name : {{projectName}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{typeForm.controls['propertyType'].value.itemName}}

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

\\r\\n \\r\\n Please complete {{wizardSvc.getStepTitle(stepsCodeEnum.TYPE,\\r\\n typeForm.controls['propertyType'].value.id)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Applicant Information\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{informationForm.controls[\\\"firstName\\\"].value}}

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

{{informationForm.controls[\\\"middleInitial\\\"].value}}

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

{{informationForm.controls[\\\"lastName\\\"].value}}

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

{{informationForm.controls[\\\"applicantPhoneNumber\\\"].value}}

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

{{informationForm.controls[\\\"applicantPhoneNumberExtension\\\"].value}}

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

{{informationForm.controls[\\\"companyName\\\"].value}}

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

{{informationForm.controls[\\\"builderCompany\\\"].value === wizardSvc.origBuilderName ?\\r\\n informationForm.controls[\\\"builderCompany\\\"].value : informationForm.controls[\\\"builderCompany\\\"].value.itemName}}

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

{{informationForm.controls[\\\"emailAddress\\\"].value}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Site Contact 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 \\r\\n \\r\\n \\r\\n \\r\\n
Contact TypeCompany NameNamePhone NumberExtensionEmail AddressSite Contact Other
{{!typeDetails.controls['siteContactType'].value? '' :\\r\\n typeDetails.controls['siteContactType'].value['itemName']}}{{typeDetails.controls['companyName'].value}}{{typeDetails.controls['firstName'].value + \\\" \\\"+ typeDetails.controls['lastName'].value}}{{typeDetails.controls['siteContactPhoneNumber'].value}}{{typeDetails.controls['siteContactPhoneNumberExtension'].value}}{{typeDetails.controls['emailAddress'].value}}{{!typeDetails.controls['siteContactTypeOthers'].value? '' :\\r\\n typeDetails.controls['siteContactTypeOthers'].value}}
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Communication Preference\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{informationForm.controls['kmiCommunication'].value}}

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

{{informationForm.controls['kmiReceive'].value === 'Both'? 'Email and Text' :informationForm.controls['kmiReceive'].value}}

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

{{informationForm.controls['kmiEmailAddress'].value}}

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

{{informationForm.controls['kmiTextNumber'].value}}

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

{{informationForm.controls['kmiFrequency'].value}}

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

\\r\\n \\r\\n Please complete {{wizardSvc.getStepTitle(stepsCodeEnum.INFORMATION,\\r\\n typeForm.controls['propertyType'].value.id)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Address Information\\r\\n
\\r\\n {{addressForm.controls['customerStreetNumber'].value}}\\r\\n {{addressForm.controls['customerStreetName'].value}}\\r\\n {{addressForm.controls['serviceUnitNumber'].value}}\\r\\n {{addressForm.controls['serviceDevelopementName'].value}}\\r\\n
\\r\\n {{addressForm.controls['serviceCity'].value['itemName']}},\\r\\n {{ addressForm.controls['serviceState'].value['itemName']}},\\r\\n {{addressForm.controls['serviceZip'].value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Mailing Address Information\\r\\n\\r\\n
\\r\\n PO Box {{addressForm.controls['poBoxAddress'].value}}\\r\\n
{{addressForm.controls['mailingCity'].value['itemName']}},\\r\\n {{addressForm.controls['mailingState'].value['itemName']}},\\r\\n {{addressForm.controls['mailingZip'].value}}\\r\\n
\\r\\n
\\r\\n {{addressForm.controls['mailingStreetNumber'].value}}\\r\\n {{addressForm.controls['mailingStreetName'].value}}\\r\\n {{addressForm.controls['mailingUnitNumber'].value}}\\r\\n\\r\\n
\\r\\n {{addressForm.controls['mailingCity'].value['itemName']}},\\r\\n {{addressForm.controls['mailingState'].value['itemName']}},\\r\\n {{addressForm.controls['mailingZip'].value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Pin Address Information\\r\\n
\\r\\n {{addressForm.controls['serviceStreetNumber'].value}}\\r\\n {{addressForm.controls['serviceStreetName'].value}}\\r\\n
\\r\\n {{addressForm.controls['serviceCity'].value['itemName']}},\\r\\n {{ addressForm.controls['serviceState'].value['itemName']}},\\r\\n {{addressForm.controls['serviceZip'].value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{addressForm.controls[\\\"serviceLanddistrict\\\"].value}}

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

{{addressForm.controls[\\\"serviceLandLot\\\"].value}}

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

\\r\\n \\r\\n Please complete {{wizardSvc.getStepTitle(stepsCodeEnum.ADDRESSES,\\r\\n typeForm.controls['propertyType'].value.id)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Details {{i+1}}\\r\\n
\\r\\n \\r\\n

{{resArr.controls['residentialHomeSqFt'].value}}

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

{{resArr.controls['residentialNoOfUnit'].value}}

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

{{resArr.controls['residentialApproxDistanceFt'].value}}

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

{{residentialDeliveryPressure(resArr)}}

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

{{resArr.controls['residentialStatusofConstruction'].value['itemName']}}

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

{{resArr.controls['residentialUnitDescription'].value}}

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

{{resArr.controls['residentialNeedingServiceDate'].value}}

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

{{resArr.controls['residentialBuildingType'].value['itemName']}}

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

{{resArr.controls['residentialDeliveryPressureOthers'].value}}

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance Type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}}{{appArr.controls['defaultValue'].value}}{{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Document NameTypeDownload
No Documents
{{file.name}}{{file.type}}Download
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Details {{i+1}}\\r\\n
\\r\\n \\r\\n

{{commArr.controls['commercialHomeSqFt'].value}}

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

{{commArr.controls['commercialApproxDistanceFt'].value}}

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

{{commercialDeliveryPressure(commArr)}}

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

\\r\\n {{commArr.controls['commercialStatusofConstruction'].value['itemName']}}

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

{{commArr.controls['commercialUnitDescription'].value}}

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

{{commArr.controls['commercialNeedingServiceDate'].value}}

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

{{commArr.controls['commercialDeliveryPressureOthers'].value}}

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

{{commArr.controls['commercialBuildingType'].value['itemName']}}

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}} {{appArr.controls['defaultValue'].value}} {{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Document NameTypeDownload
No Documents
{{file.name}}{{file.type}}Download
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Residential Details\\r\\n
\\r\\n
\\r\\n
\\r\\n Details {{i+1}}\\r\\n\\r\\n
\\r\\n \\r\\n

{{resArr.controls['residentialHomeSqFt'].value}}

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

{{resArr.controls['residentialNoOfUnit'].value}}

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

{{resArr.controls['residentialApproxDistanceFt'].value}}

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

{{residentialDeliveryPressure(resArr)}}

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

{{resArr.controls['residentialStatusofConstruction'].value['itemName']}}

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

{{resArr.controls['residentialUnitDescription'].value}}

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

{{resArr.controls['residentialNeedingServiceDate'].value}}

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

{{resArr.controls['residentialNeedingServiceDate'].value}}

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

{{resArr.controls['residentialBuildingType'].value['itemName']}}

\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantQuantity Per UnitityBTU Load ValueAppliance type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}}{{appArr.controls['defaultValue'].value}} {{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Document NameTypeDownload
No Documents
{{file.name}}{{file.type}}Download
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n Commercial Details\\r\\n
\\r\\n
\\r\\n
\\r\\n Details {{i+1}}\\r\\n
\\r\\n \\r\\n

{{commArr.controls['commercialHomeSqFt'].value}}

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

{{commArr.controls['commercialApproxDistanceFt'].value}}

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

{{commercialDeliveryPressure(commArr)}}

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

\\r\\n {{commArr.controls['commercialStatusofConstruction'].value['itemName']}}

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

{{commArr.controls['commercialUnitDescription'].value}}

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

{{commArr.controls['commercialNeedingServiceDate'].value}}

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

{{commArr.controls['commercialDeliveryPressureOthers'].value}}

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

{{commArr.controls['commercialBuildingType'].value['itemName']}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}} {{appArr.controls['defaultValue'].value}} {{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Document NameTypeDownload
No Documents
{{file.name}}{{file.type}}Download
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Details {{i+1}}\\r\\n
\\r\\n \\r\\n

{{subArr.controls['subdivisionDevelopmentStreetType'].value['itemName']}}

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

{{subArr.controls['subdivisionNumberOfHomes'].value}}

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

{{subArr.controls['subdivisionApproximateSquareFootage'].value}}

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

{{subArr.controls['subdivisionUtilityEasement'].value['itemName']}}

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

{{subArr.controls['subdivisionApprDistanceFromStreetToUnit'].value}}

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

{{subdivisionDeliveryPressure(subArr)}}

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

{{subArr.controls['subdivisionElectricServiceProvider'].value==''?'':subArr.controls['subdivisionElectricServiceProvider'].value}}

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

{{subArr.controls['subdivisonStreetCurbsInstalledDate'].value\\r\\n ==''?'':subArr.controls['subdivisonStreetCurbsInstalledDate'].value}}

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

{{subArr.controls['subdivisonNeedingServiceDate'].value==''?'':subArr.controls['subdivisonNeedingServiceDate'].value}}

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

{{subArr.controls['subdivisionUnitDescription'].value}}

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

Attached Site Plans

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

{{subArr.controls['subdivisionBuildingType'].value['itemName']}}

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

{{subArr.controls['subdivisionDeliveryPressureOthers'].value}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ApplianceQuantity Per UnitBTU Load ValueAppliance type
{{appArr.controls['defaultAppliance']?.value['itemName']}}{{appArr.controls['quantity'].value}}{{appArr.controls['defaultValue'].value}}{{appArr.controls['defaultApplianceOther'].value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Document NameTypeDownload
No Documents
{{file.name}}{{file.type}}Download
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n Please complete {{wizardSvc.getStepTitle(stepsCodeEnum.PREMISE,typeForm.controls['propertyType'].value.id)}} form to proceed.\\r\\n Fix now\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Additional 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 \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n Add New Subsidiary\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\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
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{subs.SubsidiaryCompanyName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  Mailing Address
\\r\\n

{{subs.AddressLine1}}

\\r\\n

{{subs.AddressLine2}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  Contact Info
\\r\\n

{{subs.Number}}

\\r\\n

{{subs.EmailId}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  Status
\\r\\n

{{subs.status}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  Comments
\\r\\n

{{subs.comments}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
0)\\\">\\r\\n No Subsidiaries Available.\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Builder Registration\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Add New Builder Company\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Builder User 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 Email Address and Re-Enter Email Address should be same.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Acceptance and log in information may take 24-48 hours
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Choose the state of service

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Welcome

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

If you've already placed an order for natural gas and would like to check on the\\r\\n status, enter your Applicant ID or BCA ID

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

Looking for a new natural gas connection?

\\r\\n
\\r\\n What type of property are you requesting service for (either new natural gas service or adding\\r\\n additional appliances\\r\\n to existing natural gas service)?\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Are you a new Licensed Builder?\\r\\n Click here to register\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Service Address

\\r\\n

\\r\\n Request Gas Availability\\r\\n Letter\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Service Address 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 Applicant 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
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Form Diagnostics\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Gas Letter
Form Validity: {{this.gasLetterForm.valid}}
{{this.gasLetterForm.getRawValue() | json}}
\\r\\n
\\r\\n
0\\\">\\r\\n

{{item.name}}: {{item.valid? 'Valid' : 'Invalid'}} | {{item.disabled? 'Disabled' : 'Enabled'}} | {{item.required? 'Required' : 'Optional'}} | {{item.value | json}} | Errors: {{item.errors | json}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Please Wait...
\\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 Verification
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Acknowledgement
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n Thank you for choosing Natural Gas.\\r\\n ×\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n {{ projectAddress }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0 && progress < 100\\\">\\r\\n \\r\\n \\r\\n
{{progress}}%
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
90%
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n info\\r\\n \\r\\n
\\r\\n
ON HOLD
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n arrow_upwards\\r\\n View Previous Steps\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Track your application status\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\\"No-image\\\"\\r\\n \\r\\n *\\r\\n \\r\\n
    \\r\\n Schedule Date: {{stage.scheduleDate | date: 'dd-MMM-yyyy' | uppercase}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Please allow up to {{stage.taskSle}} business days for completion (Day\\r\\n {{stage.sleCompletion}} of {{stage.taskSle}})\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n arrow_downward\\r\\n View Next Steps\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • Customer Obligation
  • \\r\\n
  • Company Obligation
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n To make updates to your communication preferences please click the link below\\r\\n
\\r\\n Communication Preference\\r\\n

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

Rate your experience


\\r\\n

How would you rate your experience using the service tracker?

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

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

Feedback


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

Message should be max 500 characters.

\\r\\n
\\r\\n \\r\\n Please enter\\r\\n Feedback.\\r\\n \\r\\n \\r\\n Feedback should be\\r\\n max 500 characters.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Communication Preference

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

Please enter the email address or phone number associated with this project.

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

Please enter the email address or phone number associated with this project.

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

No records found

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

\\r\\n By opting into receive communication via text or email, you agree to the\\r\\n Glance and See Terms & Conditions. Privacy Statement.\\r\\n Message frequency varies. Message and data rates may apply. Text HELP for help or STOP to cancel.\\r\\n

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

Text feature coming soon

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

Note: With status updates, multiple messages could be received in a single day.

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

Disclaimer : Any pending communication may still be received based off original selection. Any new communication will be based off updated section.

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Contact Us
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Please enter Full Name.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n Please enter Email Address.\\r\\n \\r\\n \\r\\n Please enter valid Email Address.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Message should be max 500 characters.\\r\\n
\\r\\n \\r\\n Please enter Message.\\r\\n \\r\\n \\r\\n Message should be max 500 characters.\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Thanks for contacting us!

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

Thanks for Opt-In!

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Request Status

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Form Diagnostics\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Request Status
Form Validity: {{this.requestStatusForm.valid}}
{{this.requestStatusForm.getRawValue() | json}}
{{\\\"invalidReq\\\"+\\\" \\\"+invalidRequest}}\\r\\n
{{\\\"requestStatus\\\"+\\\" \\\"+requestStatus}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\r\n\r\nimport { AnonymousResolver, BuilderResolver, AccountGuard } from '@app/core/guards';\r\nimport { AppNotFoundComponent } from '@app/base/errors';\r\nimport { BuilderShellComponent } from '@app/shells/builder-shell';\r\nimport { AppShellComponent } from '@app/shells/app-shell';\r\nimport { ContractComponent } from '@app/modules/builder';\r\n\r\nconst routes: Routes = [\r\n { \r\n path: '', \r\n pathMatch: 'full', \r\n redirectTo: 'sc/company',\r\n data: {\r\n allowAnonymous: true,\r\n }\r\n }, // Landing without defining any ldc, set the default one\r\n {\r\n path: ':ldc/builder', component: BuilderShellComponent, // receive the ldc and pass it to app shell to be parsed\\validated\r\n children: [\r\n { path: '', loadChildren: () => import('src/app/modules/builder/base/builder.module').then(m => m.BuilderModule) },\r\n { path: 'contract/:user', pathMatch: 'prefix', redirectTo: 'contract'},\r\n { path: 'contract/:user/:id', pathMatch: 'prefix', redirectTo: 'contract'},\r\n { path: 'payment/:user/:id', pathMatch: 'prefix', redirectTo: 'payment'}\r\n ],\r\n canActivate: [AccountGuard],\r\n resolve: { accountInfo: BuilderResolver }\r\n },\r\n\r\n {\r\n path: ':ldc', component: AppShellComponent, // receive the ldc and pass it to app shell to be parsed\\validated\r\n children: [\r\n { path: 'applicant', loadChildren: () => import('src/app/modules/applicant/base/applicant.module').then(m => m.ApplicantModule) },\r\n { path: '', loadChildren: () => import('src/app/modules/landing/base/landing.module').then(m => m.LandingModule) },\r\n { path: '**', component: AppNotFoundComponent }\r\n ],\r\n resolve: { accountInfo: AnonymousResolver },\r\n data: {\r\n allowAnonymous: true,\r\n }\r\n }\r\n];\r\n\r\n@NgModule({\r\n // All lazy loaded modules will be downloaded when app finish bootstrapping.\r\n // To load modules on demand, remove PreloadAllModules or implement custom preloadingStrategy`\r\n imports: [\r\n RouterModule.forRoot(routes)\r\n ],\r\n exports: [RouterModule],\r\n providers: [\r\n AnonymousResolver,\r\n BuilderResolver,\r\n AccountGuard\r\n ]\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\nimport {mergeMap, map, filter} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private titleService: Title) {\r\n\r\n // send route changed event to google Analytics\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n (window).ga('set', 'page', event.urlAfterRedirects);\r\n (window).ga('send', 'pageview');\r\n }\r\n });\r\n }\r\n ngOnInit() {\r\n // get page title from route config\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n map(() => this.activatedRoute),\r\n map((route) => {\r\n while (route.firstChild) { route = route.firstChild; }\r\n return route;\r\n }),\r\n filter((route) => route.outlet === 'primary'),\r\n mergeMap((route) => route.data), )\r\n .subscribe((event) => this.titleService.setTitle(event['title']));\r\n }\r\n ngOnDestroy() { }\r\n onActivate(event) { window.scroll(0, 0); }\r\n}\r\n","import { NgModule, Optional, SkipSelf, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\n// App Modules\r\nimport { CoreModule } from '@app/core/core.module';\r\nimport { ErrorsModule } from '@app/errors/errors.module';\r\nimport { environment } from '@app/config/environment';\r\nimport { AppRoutingModule } from \"@app/app-routing.module\";\r\n\r\nimport { AppComponent } from \"@app/app.component\";\r\n\r\n// Import Shell Components\r\nimport {\r\n AppShellComponent,\r\n AppHeaderComponent,\r\n AppFooterComponent,\r\n BuilderShellComponent,\r\n BuilderHeaderComponent,\r\n BuilderFooterComponent\r\n} from '@app/base/shells';\r\n\r\n// Import Alert Component\r\nimport { AlertComponent } from '@app/base/alerts/alert.component';\r\n\r\n// Import App Services\r\nimport {\r\n AccountService,\r\n LimitlessUiService,\r\n LoggerService,\r\n EnvironmentService,\r\n ConstantsService,\r\n SessionService,\r\n LookupsService\r\n} from '@app/core/services';\r\n\r\n// Import Alert Service\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n// Import SoCo Services\r\nimport {\r\n SocoConfigurationService,\r\n SocoHttpService,\r\n SocoAlertService,\r\n SocoModalService\r\n} from '@app/base/soco';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n // Angular Modules\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n // TODO: DSS: ServiceWorkerModule.register('./ngsw-worker.js', { enabled: environment.production }),\r\n\r\n //App Modules\r\n CoreModule.forRoot(),\r\n AppRoutingModule,\r\n ErrorsModule\r\n ],\r\n declarations: [\r\n AppComponent,\r\n AppShellComponent,\r\n AppHeaderComponent,\r\n AppFooterComponent,\r\n BuilderShellComponent,\r\n BuilderHeaderComponent,\r\n BuilderFooterComponent,\r\n AlertComponent\r\n ],\r\n providers: [ // TODO: Should not provide services again, do more reseach!!\r\n AccountService,\r\n LimitlessUiService,\r\n LoggerService,\r\n ConstantsService,\r\n EnvironmentService,\r\n SessionService,\r\n LookupsService,\r\n SocoConfigurationService,\r\n SocoHttpService,\r\n SocoAlertService,\r\n SocoModalService,\r\n AlertService\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n constructor(\r\n @Optional() @SkipSelf() parentModule: AppModule,\r\n private logger: LoggerService,\r\n private env: EnvironmentService) {\r\n\r\n // Check if Root Shell Module already loaded.\r\n if (parentModule) { throw new Error('RootShellModule is already loaded.'); }\r\n\r\n // Enable consol logs if not SoCo\\Production environment, but in browser console, set ConsolLog = true to see logs.\r\n (window).ConsolLog = !(this.env.isSoCoEnv || this.env.isProduction);\r\n\r\n // Add app identity to console.\r\n this.logger.log(`%c © ${(new Date()).getFullYear()} Southern Company Gas. `,\r\n 'background: #eb1c24; color: white; font-size: 15px;,');\r\n this.logger.log(`%c Onboarding | External -> ${this.env.appVersion} `, 'background: #00bef6; color: black; font-size: 15px;');\r\n this.logger.log(`%c » Root Shell Bootstrapped `, 'background: #3c3c3c; color: white; font-size: 13px;');\r\n }\r\n}\r\n","export default \"\\r\\n\\r\\n.dvAlert {\\r\\n margin-bottom: 1px !important;\\r\\n font-weight: bold;\\r\\n width:100%;\\r\\n padding: 0.5% 3% !important;\\r\\n margin:auto;\\r\\n}\\r\\n.alert-dismissable .close{\\r\\n top:-25px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFzZS9hbGVydHMvYWxlcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBO0VBQ0UsNkJBQTZCO0VBQzdCLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsMkJBQTJCO0VBQzNCLFdBQVc7QUFDYjtBQUNBO0VBQ0Usb0JBQW9CO0FBQ3RCIiwiZmlsZSI6InNyYy9hcHAvYmFzZS9hbGVydHMvYWxlcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLmR2QWxlcnQge1xyXG4gIG1hcmdpbi1ib3R0b206IDFweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIHdpZHRoOjEwMCU7XHJcbiAgcGFkZGluZzogMC41JSAzJSAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjphdXRvO1xyXG59XHJcbi5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2V7XHJcbiAgdG9wOi0yNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Alert, AlertType } from '../alerts/alert.model';\r\nimport { AlertService } from '../alerts/alert.service';\r\n\r\n@Component({\r\n moduleId: module.id,\r\n selector: 'app-alert',\r\n templateUrl: './alert.component.html',\r\n styleUrls: ['./alert.component.css'],\r\n})\r\n\r\nexport class AlertComponent implements OnInit {\r\n alerts: Alert[] = [];\r\n\r\n constructor(private alertService: AlertService) { }\r\n\r\n ngOnInit(): void {\r\n this.alertService.getAlert().subscribe((alert: Alert) => {\r\n if (!alert) {\r\n // clear alerts when an empty alert is received\r\n this.alerts = [];\r\n return;\r\n }\r\n\r\n // add alert to array\r\n this.alerts.push(alert);\r\n });\r\n }\r\n\r\n removeAlert(alert: Alert) {\r\n this.alerts = this.alerts.filter(x => x !== alert);\r\n }\r\n\r\n cssClass(alert: Alert) {\r\n if (!alert) {\r\n return;\r\n }\r\n\r\n // return css class based on alert type\r\n switch (alert.type) {\r\n case AlertType.Success:\r\n return 'alert alert-success';\r\n case AlertType.Error:\r\n return 'alert alert-danger';\r\n case AlertType.Info:\r\n return 'alert alert-info';\r\n case AlertType.Warning:\r\n return 'alert alert-warning';\r\n }\r\n }\r\n}\r\n","export class Alert {\r\n type: AlertType;\r\n message: string;\r\n}\r\n\r\nexport enum AlertType {\r\n Success,\r\n Error,\r\n Info,\r\n Warning\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { Observable , Subject } from 'rxjs';\r\nimport { ApiResult, SocoHttpService } from '@app/base/soco';\r\nimport { Alert, AlertType } from '../alerts/alert.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertService {\r\n private subject = new Subject();\r\n private keepAfterRouteChange = false;\r\n public bannerMessage: any = {};\r\n constructor(private router: Router, public http: SocoHttpService) {\r\n // clear alert messages on route change unless 'keepAfterRouteChange' flag is true\r\n router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n if (this.keepAfterRouteChange) {\r\n // only keep for a single route change\r\n this.keepAfterRouteChange = false;\r\n } else {\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n getAlert(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n\r\n success(message: string, keepAfterRouteChange = false) {\r\n this.clear();\r\n this.alert(AlertType.Success, message, keepAfterRouteChange);\r\n }\r\n\r\n error(message: string, keepAfterRouteChange = false) {\r\n this.clear(); // clearing previous alert\r\n this.alert(AlertType.Error, message, keepAfterRouteChange);\r\n }\r\n\r\n info(message: string, keepAfterRouteChange = false) {\r\n this.clear();\r\n this.alert(AlertType.Info, message, keepAfterRouteChange);\r\n }\r\n\r\n warn(message: string, keepAfterRouteChange = false) {\r\n this.clear();\r\n this.alert(AlertType.Warning, message, keepAfterRouteChange);\r\n }\r\n\r\n alert(type: AlertType, message: string, keepAfterRouteChange = false) {\r\n this.keepAfterRouteChange = keepAfterRouteChange;\r\n this.subject.next({ type: type, message: message });\r\n }\r\n clear() {\r\n // clear alerts\r\n this.subject.next();\r\n }\r\n}\r\n","import { NgModule, Optional, SkipSelf, ModuleWithProviders } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport {\r\n LimitlessUiService,\r\n LoggerService,\r\n EnvironmentService,\r\n ConstantsService,\r\n SessionService,\r\n LookupsService,\r\n} from '@app/core/services';\r\n\r\nimport {\r\n SocoModule,\r\n SocoConfigurationService,\r\n SocoHttpService,\r\n SocoAlertService\r\n} from '@app/base/soco';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n SocoModule\r\n ],\r\n exports: [\r\n CommonModule,\r\n RouterModule,\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n SocoModule\r\n ],\r\n providers: [\r\n EnvironmentService,\r\n ConstantsService,\r\n LoggerService,\r\n LimitlessUiService,\r\n SessionService,\r\n LookupsService,\r\n SocoConfigurationService,\r\n SocoHttpService,\r\n SocoAlertService\r\n ]\r\n})\r\nexport class CoreModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\r\n if (parentModule) { throw new Error('CoreModule is already loaded. Import it in the AppModule only'); }\r\n }\r\n\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: CoreModule,\r\n // Singleton service for the entire app.\r\n providers: [\r\n // App Services\r\n { provide: EnvironmentService },\r\n { provide: ConstantsService },\r\n { provide: LoggerService },\r\n { provide: LimitlessUiService },\r\n { provide: SessionService },\r\n { provide: LookupsService },\r\n // SoCo Services\r\n { provide: SocoConfigurationService },\r\n { provide: SocoHttpService },\r\n { provide: SocoAlertService }\r\n ]\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { AccountService } from '@app/core/services/account.service';\r\n\r\n@Injectable()\r\nexport class AccountGuard implements CanActivate {\r\n public test;\r\n constructor(private accountSvc: AccountService) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // When user log out, we must clear the account server state.\r\n // When user navigate to builder first time, there is no token so he will be routed to login page.\r\n if ((route.data && route.data['allowAnonymous']) || (route.parent.data && route.parent.data['allowAnonymous'])) {\r\n return true;\r\n } else {\r\n return this.accountSvc.isAuthenticated(state.url);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AccountService } from '@app/core/services/account.service';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LoggerService } from '@app/core/services/logger.service';\r\nimport { ApiResult } from '@app/base/soco';\r\nimport { ConstantsService } from '../services';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Injectable()\r\nexport class AnonymousResolver implements Resolve> {\r\n /* istanbul ignore next */\r\n constructor(private accountSvc: AccountService, private loggerSvc: LoggerService, public constantsSvc: ConstantsService) { }\r\n /* istanbul ignore next */\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> {\r\n return this.accountSvc.resolveAnonymousAccountInfo().pipe(\r\n catchError(err => {\r\n this.loggerSvc.error('Could not resolve anonymous account info.', '', err);\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.resolverSwal, this.constantsSvc.errorSwal);\r\n return EMPTY;\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AccountService } from '@app/core/services/account.service';\r\nimport { Observable, EMPTY } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { LoggerService } from '@app/core/services/logger.service';\r\nimport { ApiResult } from '@app/base/soco';\r\nimport { ConstantsService } from '../services';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Injectable()\r\n/* istanbul ignore next */\r\nexport class BuilderResolver implements Resolve> {\r\n /* istanbul ignore next */\r\n constructor(private accountSvc: AccountService, private loggerSvc: LoggerService, public constantsSvc: ConstantsService) { }\r\n /* istanbul ignore next */\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable> {\r\n return this.accountSvc.resolveBuilderAccountInfo().pipe(\r\n catchError(err => {\r\n this.loggerSvc.error('Could not resolve builder account info.', err, []);\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.resolverSwal, this.constantsSvc.errorSwal);\r\n return EMPTY;\r\n }));\r\n }\r\n}\r\n","export * from '@app/core/guards/account.guard';\r\nexport * from '@app/core/guards/anonymous.resolver';\r\nexport * from '@app/core/guards/builder.resolver';\r\nexport * from '@app/core/guards/module-import.guard';\r\n","/* istanbul ignore next */\r\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string) {\r\n if (parentModule) {\r\n throw new Error(`${moduleName} has already been loaded and cannot be loaded twice.`);\r\n }\r\n}\r\n","export * from '@app/core/core.module';\r\nexport * from '@app/core/services';\r\nexport * from '@app/core/guards';\r\nexport * from '@app/core/models';\r\n","export enum GasRequestStatusEnum {\r\n APPRVD = 'APPRVD'\r\n}\r\n","\r\n\r\nexport class Admin {\r\n firstName: string;\r\n lastName: string;\r\n userId: string;\r\n builderId: string;\r\n email: string;\r\n}\r\n","export class AttachmentCategoryDetails {\r\n public attachmentCategory: string;\r\n}\r\n","export class Attachment {\r\n id: number;\r\n name: string;\r\n type: string;\r\n createdBy: string;\r\n creationDate: Date;\r\n lastModified: Date;\r\n template: string;\r\n metaData: any;\r\n}\r\n","export enum BannerEnum {\r\n GREApplication = 'GRE',\r\n BannerEnabled = 'Y',\r\n BannerDisabled = 'N'\r\n}\r\n","export class BCASearch {\r\n builderId: string[];\r\n projectName: any;\r\n projectAddress: any;\r\n bcaStatus: any;\r\n subsidaryId: any;\r\n subsidarycompanyName: any;\r\n startDate: Date;\r\n endDate: Date;\r\n reqId?: any;\r\n bcaStatusValue: any;\r\n}\r\n","import { Admin, BuilderAddress, BuilderMapping } from '@app/base/core/models';\r\nimport { BuilderMappingOne } from './builder.mapping.model';\r\n\r\nexport class BuilderInfo {\r\n Admin: boolean;\r\n BuilderId: string[];\r\n CompanyName: string;\r\n IsActive: string;\r\n CompanyAddress: BuilderAddress;\r\n CompanyEmail: string;\r\n BuilderMapping: BuilderMapping[];\r\n subsidiaryList: any[];\r\n subsidiaryId: string[];\r\n}\r\n\r\nexport class BuilderInfoOne {\r\n reEnterEmail: null;\r\n id: string;\r\n IsActive: string;\r\n status: string;\r\n _companyName: string;\r\n companyName: string;\r\n builderTypeCode: string;\r\n email: string;\r\n recCreateDate: string;\r\n recCreateUserId: string;\r\n recUpdateUserId: string;\r\n recUpdateDate: string;\r\n builderAddresses: BuilderAddress;\r\n builderUsers: Admin;\r\n builderMapping: BuilderMappingOne[];\r\n}\r\n","export class BuilderLoginAuditModel {\r\n Id: number;\r\n BuilderId: number;\r\n FirstName: string;\r\n LastName: string;\r\n UserName: string;\r\n CompanyName: string;\r\n EndDate: string;\r\n LastAccess: string;\r\n}","export class BuilderMapping {\r\n id: string;\r\n builderName: string;\r\n subsidiaryId: string[];\r\n subsidiaryName: string[];\r\n status: string;\r\n}\r\n\r\nexport class BuilderMappingOne {\r\n id: string;\r\n builderName: string;\r\n subsidiaryId: string;\r\n _subsidiaryName: string;\r\n subsidiaryName: string;\r\n status: string;\r\n recUpdatedBy: string;\r\n recCreatedBy: string;\r\n recCreatedDate: string;\r\n recUpdatedDate: string;\r\n\r\n}\r\n","export class BuilderRegistration {\r\n ParentCompanyName: string;\r\n companyName: string;\r\n phoneNumber: string;\r\n phoneNumberExtension: string;\r\n email: string;\r\n adminFirstName: string;\r\n adminMiddleName: string;\r\n adminLastName: string;\r\n adminPhoneNumber: string;\r\n adminPhoneNumberExtension: string;\r\n adminEmailAddress: string;\r\n isPOBox: boolean;\r\n poBoxNumber: string;\r\n StreetNumber: string;\r\n unitNumber: string;\r\n directionPrefix = [] ;\r\n streetName: string;\r\n streetType = [];\r\n directionSuffix = [];\r\n address2: string;\r\n city = [];\r\n state = [];\r\n datePicker: Date;\r\n zipCode: string;\r\n}\r\n","export enum CompaniesEnum {\r\n SC = 'SC', // Southern Company, no LDC selected\r\n GA = 'GA',\r\n FL = 'FL',\r\n TN = 'TN',\r\n VA = 'VA'\r\n}\r\n\r\nexport enum LDCEnum {\r\n AGLC = 'AGL',\r\n CGC = 'CGC',\r\n VNG = 'VNG',\r\n FCG = 'FCG'\r\n}\r\n","import { LookupItem } from '@app/core/models/app/lookup-item.model';\r\n\r\nexport class EntityLookup {\r\n lookupDbTableName: string;\r\n lookupName: string;\r\n lookupType: string;\r\n lookupValues: LookupItem[];\r\n}\r\n","export class Gasbca {\r\n id: number;\r\n bcaId: number;\r\n totalLots: number;\r\n enteredBy: string;\r\n serviceFormattedAddress: string;\r\n developmentStatus: string;\r\n projectCategory: string;\r\n contractStatus: string;\r\n projectName: string;\r\n bcaStatus: string;\r\n mainInstallationStatus: string;\r\n mainStatus: string;\r\n finalPlat: string;\r\n stateCd: string;\r\n recCreateDttm: Date;\r\n recUpdateDttm: string;\r\n recUpdateUsrId: string;\r\n recCreateUsrId: string;\r\n }\r\n","export enum HomeTabsEnum {\r\n Requests = 1,\r\n Subsidiaries,\r\n Agreements,\r\n NewRequests\r\n}\r\n\r\nexport enum HomeSubtabsEnum {\r\n Subdivision = 1,\r\n Mains,\r\n Services\r\n}\r\n","export * from '@app/core/models/app/company-details.model';\r\nexport * from '@app/core/models/app/entity-lookup.model';\r\nexport * from '@app/core/models/app/lookup-item.model';\r\nexport * from '@app/core/models/app/companies.enum';\r\nexport * from '@app/core/models/app/request-types.enum';\r\nexport * from '@app/core/models/app/request-status.enum';\r\nexport * from '@app/core/models/app/wizard-steps.model';\r\nexport * from '@app/core/models/app/wizard-steps.enum';\r\nexport * from '@app/core/models/app/lookups.enum';\r\nexport * from '@app/core/models/app/message-type.enum';\r\nexport * from '@app/core/models/app/home.tabs.enum';\r\nexport * from '@app/core/models/app/lotStatus.enum';\r\nexport * from '@app/core/models/app/GasRequestStatus.enum';\r\nexport * from '@app/core/models/app/banner-message.enum';\r\nexport * from '@app/core/models/app/city.model';\r\nexport * from '@app/core/models/app/gas.bca.model';\r\nexport * from '@app/core/models/app/county.model';\r\nexport * from '@app/core/models/app/local-district.model';\r\nexport * from '@app/core/models/app/state.model';\r\nexport * from '@app/core/models/app/project-type.model';\r\nexport * from '@app/core/models/app/gas-load-multiplier.model';\r\nexport * from '@app/core/models/app/gas-questionnaires.model';\r\nexport * from '@app/core/models/app/gas-delivery-pressure.model';\r\nexport * from '@app/core/models/app/gas-load-appliance.model';\r\nexport * from '@app/core/models/app/messages.model';\r\nexport * from '@app/core/models/app/gas-request-type-bca-code.model';\r\nexport * from '@app/core/models/app/gas-request-type.model';\r\nexport * from '@app/core/models/app/gas-request-type-code.model';\r\nexport * from '@app/core/models/app/type-meter-request-status.model';\r\nexport * from '@app/core/models/app/development-street-type-code.model';\r\nexport * from '@app/core/models/app/request.service.model';\r\nexport * from '@app/core/models/app/request.service.model.view';\r\nexport * from '@app/core/models/app/landing.site.details.model';\r\nexport * from '@app/core/models/app/subsidiary.model';\r\nexport * from '@app/core/models/app/request.lot.model';\r\nexport * from '@app/core/models/app/builder.registration.model';\r\nexport * from '@app/core/models/app/profile.info.model';\r\nexport * from '@app/core/models/app/attachment.model';\r\nexport * from '@app/core/models/app/attachment.category.model';\r\nexport * from '@app/core/models/app/admin.model';\r\nexport * from '@app/core/models/app/builder.info.model';\r\nexport * from '@app/core/models/app/product.model';\r\nexport * from '@app/core/models/app/service.details.model';\r\nexport * from '@app/core/models/app/builder.address.interface';\r\nexport * from '@app/core/models/app/marker.interface';\r\nexport * from '@app/core/models/app/sample.builder.data';\r\nexport * from '@app/core/models/app/builder.mapping.model';\r\n\r\nexport * from '@app/core/models/app/workrequest-type.model';\r\nexport * from '@app/core/models/app/bca.search.model';\r\n\r\nexport * from '@app/core/models/app/service-center.model';\r\nexport * from '@app/core/models/app/banner.model';\r\nexport * from '@app/core/models/app/building-type.model';\r\nexport * from '@app/core/models/app/utility-easement-data.model';\r\nexport * from '@app/core/models/app/builder.login.audit.model';","export class LandingSiteContactDetails {\r\n public plannedDate: Date;\r\n public directionPrefix: string;\r\n public firstName: string;\r\n public lastName: string;\r\n public email: string;\r\n public contactNumber: string;\r\n public contactNumberExtension: string;\r\n public deliveryPressure: string;\r\n public other: string;\r\n}\r\n","export class LookupItem {\r\n id: string;\r\n itemName: string;\r\n}\r\n","export enum LookupsEnum {\r\n Companies = 'LDC',\r\n States = 'State',\r\n BcaStatus = 'BcaStatus',\r\n DevelopmentStatus = 'DevelopmentStatus',\r\n ProjectTypes = 'ProjectType',\r\n ContactTypes = 'ContactType',\r\n GasQuestionnaires = 'Gas_Questionnaire_LKP',\r\n GasRequestType = 'GasRequestTypeCodeLookup',\r\n GasRequestTypeBcaCode = 'GasRequestType',\r\n ConstructionStatus = 'ConstructionStatus',\r\n GasRequestStatus = 'GasRequestStatusLookup',\r\n DevelopmentStreetType = 'DevelopmentStreetTypeLookup',\r\n UtilityEasementType = 'UtilityEasement',\r\n ServiceCenter = 'ServiceCenter',\r\n BannerMessages = 'BannerMessages',\r\n Direction = 'Direction',\r\n\r\n BCAType = 'BCAType',\r\n LoadType = 'LoadType',\r\n BuildingType = 'BuildingType',\r\n DeliveryPressure = 'DeliveryPressure',\r\n GasLoadMultiplier = 'GasLoadMultiplier',\r\n DefaultResidentialPressure = 'DefaultResidentialPressure',\r\n DefaultCommercialPressure = 'DefaultCommercialPressure',\r\n\r\n State = 'State',\r\n City = 'City',\r\n County = 'County',\r\n LocalDistrict = 'LocalDistrict',\r\n Messages = 'Messages',\r\n StreetType = 'StreetType',\r\n MeterExist = 'MeterExist',\r\n BcaDuplicate = 'BcaDuplicate',\r\n\r\n WorkRequestType = 'WorkRequestType',\r\n LotStatusType = 'LotStatusTypes',\r\n MarketerOfChoice = 'MarketerOfChoice',\r\n ContractRejectTeason= 'ContractRejectReason',\r\n WRLoadARMLookup = 'WRLoadARMLkp',\r\n}\r\n","export enum LotStatusEnum {\r\n RNL = 'RNL',\r\n NLA = 'NLA',\r\n AA = 'AA',\r\n RA = 'RA'\r\n}\r\n","export enum MessageTypeEnum {\r\n Acknowledge = 'ACKNOWLEDGE',\r\n OutOfService = 'OUTOFSERVICE',\r\n Letter = 'LETTER'\r\n}\r\n\r\nexport enum ApplicantMessageEnum {\r\n Message2a = '2a',\r\n Message2b = '2b',\r\n Message2c = '2c',\r\n Message2d = '2d'\r\n}\r\n","export class Product {\r\n public Id: number;\r\n public RequestNumber: number;\r\n public RequestRaisedBy = '';\r\n public ProjectCategory = '';\r\n public ProjectName = '';\r\n public ProjectAddress = '';\r\n public ProjectStatus = false;\r\n public ContactStatus = '';\r\n public FinalPlat = '';\r\n public LotId: number;\r\n public mainInstallationStatus: number;\r\n public developmentstatus = '';\r\n}\r\n","export class ProfileInfo {\r\n adminFirstName: string;\r\n adminMiddleName: string;\r\n adminLastName: string;\r\n adminPhoneNumber: string;\r\n adminEmailAddress: string;\r\n}\r\n","export enum RequestStageEnum {\r\n Pending = 1,\r\n Accepted,\r\n ProjectPending,\r\n ProjectApproved,\r\n ContractReceived,\r\n Payment,\r\n Permit,\r\n WorkRequest,\r\n Completed,\r\n Denied,\r\n ContractRejected,\r\n ProjectCancelled\r\n}\r\n\r\nexport enum RequestStageApprvEnum {\r\n APPPEND = 1,\r\n APPACCPT,\r\n PEND,\r\n APPRVD,\r\n CONRCVD,\r\n PMNT,\r\n PRMT,\r\n WRCS,\r\n COMP,\r\n APPDENIED,\r\n CONRJTD,\r\n CNCL\r\n}\r\n\r\nexport enum RequestStageLabelEnum {\r\n Pending = 'Application Pending',\r\n Accepted = 'Application Accepted',\r\n ProjectPending = 'Project Pending',\r\n ProjectApproved = 'Project Approved',\r\n ContractReceived = 'Contract Received',\r\n Payment = 'Payment',\r\n Permit = 'Permit',\r\n WorkRequest = 'WR Created and Scheduled',\r\n Completed = 'Project Completed',\r\n Denied = 'Application Denied',\r\n ContractRejected = 'Contract Rejected',\r\n ProjectCancelled = 'Project Cancelled',\r\n\r\n}\r\n\r\nexport enum RequestStatusEnum {\r\n ApplicationPending = 'APPPEND',\r\n ApplicationAccepted = 'APPACCPT',\r\n ApplicationDenied = 'APPDENIED',\r\n ProjectApproved = 'APPRVD\t',\r\n ProjectPending = 'PEND',\r\n Assigned = 'ASSGND',\r\n ContractReceived = 'CONRCVD',\r\n Payment = 'PMNT',\r\n Permit = 'PRMT',\r\n WRCreated = 'WRCS',\r\n Completed = 'COMP',\r\n ContractRejected = 'CONRJTD'\r\n}\r\n","export enum RequestTypesEnum {\r\n Residential = 'RESIDENTIAL',\r\n Commercial = 'COMMERCIAL',\r\n MixedUse = 'MIXED',\r\n Subdivision = 'SUBDIVISION',\r\n MultiFamily = 'MULTI FAMILY',\r\n Industrial = 'INDUSTRIAL'\r\n}\r\n","export class RequestLot {\r\n installationDate: Date; }\r\n","\r\n\r\nexport class RequestServiceModel {\r\n id: number;\r\n lotNumber: number;\r\n wrTypeCD: string;\r\n applicantContactName1: string;\r\n applicantContactName2: string;\r\n applicantEmail: string;\r\n applicantPhoneNumber: string;\r\n applicantPhoneExtension: string;\r\n applicantStreetNo: number;\r\n applicantStreetName: string;\r\n applicantStreetType: string;\r\n applicantDirectionPrefix: string;\r\n applicantUnitNo: string;\r\n applicantDirectionSuffix: string;\r\n applicantAddress2: string;\r\n applicantCity: string;\r\n applicantState: string;\r\n applicantZip: string;\r\n deliveryPressure: string;\r\n plumberCompanyName: string;\r\n plumberContactName: string;\r\n plumberContactNo: string;\r\n developmentName: string;\r\n serviceNeededBy: Date;\r\n plannedDt: Date;\r\n installedDTTM: Date;\r\n heatedSquareFootage: number;\r\n lotStatus: string;\r\n countyId: string;\r\n builderId: string;\r\n stateCd: string;\r\n address: string;\r\n grId: number;\r\n streetNo: number;\r\n streetName: string;\r\n city: string;\r\n zip: string;\r\n wrSummaryId: number;\r\n subDivision: string;\r\n unitNo: string;\r\n originalBd: string;\r\n checked: boolean;\r\n originalCName: string;\r\n builderCName: string;\r\n otherDeliveryPressure: string;\r\n statusDesc: string;\r\n recCreateDttm: string;\r\n recCreateUsrId: string;\r\n recUpdateDttm: string;\r\n recUpdateUsrId: string;\r\n isManualLotRequested: string;\r\n lotStatusUpdatedBy: string;\r\n lotStatusUpdatedDate: string;\r\n }\r\n\r\n export class GasApplianceModel {\r\n id: number;\r\n applianceCd: string;\r\n applianceDesc: string;\r\n quantity: number;\r\n loadValue: number;\r\n recCreatedBy: string;\r\n recCreatedDttm: string;\r\n recUpdatedBy: string;\r\n recUpdatedDttm: string;\r\n wrSummaryId: number;\r\n applianceOthers: string;\r\n }\r\n"," export class RequestServiceModelView {\r\n id: number;\r\n lotNumber: number;\r\n wrTypeCD: string;\r\n applicantContactName1: string;\r\n applicantContactName2: string;\r\n applicantEmail: string;\r\n applicantPhoneNumber: string;\r\n applicantPhoneExtension: string;\r\n applicantStreetNo: number;\r\n applicantStreetName: string;\r\n applicantStreetType: string;\r\n applicantDirectionPrefix: string;\r\n applicantUnitNo: string;\r\n applicantDirectionSuffix: string;\r\n applicantAddress2: string;\r\n applicantCity: string;\r\n applicantState: string;\r\n applicantZip: string;\r\n deliveryPressure: string;\r\n developmentName: string;\r\n heatedSquareFootage: number;\r\n serviceNeededBy: Date;\r\n plannedDt: Date;\r\n installedDTTM: Date;\r\n lotStatus: string;\r\n countyId: string;\r\n builderId: string;\r\n stateCd: string;\r\n address: string;\r\n grId: number;\r\n streetNo: number;\r\n streetName: string;\r\n city: string;\r\n zip: string;\r\n wrSummaryId: number;\r\n wrStatus: string;\r\n subDivision: string;\r\n unitNo: string;\r\n originalBd: string;\r\n checked: boolean;\r\n originalCName: string;\r\n builderCName: string;\r\n otherDeliveryPressure: string;\r\n plumberCompanyName: string;\r\n plumberContactName: string;\r\n plumberContactNo: string;\r\n statusDesc: string;\r\n requestType: string;\r\n constructionSiteStatus: string;\r\n typicalInstallationTimeFrame: string;\r\n requestInstallationOrder: string;\r\n closingDate: Date;\r\n siteStatusUpdateDate: Date;\r\n nextSiteStatusDueDate: Date;\r\n buildingPointId: string;\r\n lookerStatus: string;\r\n estimatedInstallDateOfService: Date;\r\n actualInstallDateOfService: Date;\r\n estimatedInstallDateOfMeter: Date;\r\n actualInstallDateOfMeter: Date;\r\n locate: string;\r\n recCreateDttm: string;\r\n recCreateUsrId: string;\r\n recUpdateDttm: string;\r\n recUpdateUsrId: string;\r\n isManualLotRequested: string;\r\n lotStatusUpdatedBy: string;\r\n lotStatusUpdatedDate: string;\r\n constructionCompleteDate: Date;\r\n }\r\n","export const sampleProjects = [{\r\n 'Id': 1,\r\n 'RequestNumber': 8710,\r\n 'RequestRaisedBy': 'Wheowall',\r\n 'ProjectCategory': 'Research and Development',\r\n 'ProjectName': 'Voltsillam',\r\n 'ProjectAddress': '3 Beilfuss Alley',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContactStatus': 'Received',\r\n 'FinalPlat': 'Received',\r\n 'LotId': 1,\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 2,\r\n 'RequestNumber': 5133,\r\n 'RequestRaisedBy': 'Fouracres',\r\n 'ProjectCategory': 'Business Development',\r\n 'ProjectName': 'Tresom',\r\n 'ProjectAddress': '22 Amoth Street',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 1,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 3,\r\n 'RequestNumber': 5462,\r\n 'RequestRaisedBy': 'Beidebeke',\r\n 'ProjectCategory': 'Support',\r\n 'ProjectName': 'Bytecard',\r\n 'ProjectAddress': '0421 Hovde Crossing',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 1,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 4,\r\n 'RequestNumber': 8084,\r\n 'RequestRaisedBy': 'Vedyashkin',\r\n 'ProjectCategory': 'Human Resources',\r\n 'ProjectName': 'Sonsing',\r\n 'ProjectAddress': '2126 Derek Hill',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 2,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 5,\r\n 'RequestNumber': 5141,\r\n 'RequestRaisedBy': 'Kilborn',\r\n 'ProjectCategory': 'Business Development',\r\n 'ProjectName': 'Latlux',\r\n 'ProjectAddress': '18 Gale Trail',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 2,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 6,\r\n 'RequestNumber': 9133,\r\n 'RequestRaisedBy': 'Coney',\r\n 'ProjectCategory': 'Accounting',\r\n 'ProjectName': 'Sub-Ex',\r\n 'ProjectAddress': '16954 Maywood Alley',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 2,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 7,\r\n 'RequestNumber': 3808,\r\n 'RequestRaisedBy': 'Walding',\r\n 'ProjectCategory': 'Human Resources',\r\n 'ProjectName': 'Zathin',\r\n 'ProjectAddress': '1 Corscot Trail',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 2,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 8,\r\n 'RequestNumber': 9187,\r\n 'RequestRaisedBy': 'Wheater',\r\n 'ProjectCategory': 'Product Management',\r\n 'ProjectName': 'Alphazap',\r\n 'ProjectAddress': '6 Forest Dale Street',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 3,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 9,\r\n 'RequestNumber': 1458,\r\n 'RequestRaisedBy': 'Sutherington',\r\n 'ProjectCategory': 'Support',\r\n 'ProjectName': 'Regrant',\r\n 'ProjectAddress': '03 Dryden Terrace',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 3,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 'Curbs'\r\n}, {\r\n 'Id': 10,\r\n 'RequestNumber': 9886,\r\n 'RequestRaisedBy': 'Verheijden',\r\n 'ProjectCategory': 'Accounting',\r\n 'ProjectName': 'Hatity',\r\n 'ProjectAddress': '3 Almo Street',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 3,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 11,\r\n 'RequestNumber': 1203,\r\n 'RequestRaisedBy': 'Allday',\r\n 'ProjectCategory': 'Business Development',\r\n 'ProjectName': 'Bamity',\r\n 'ProjectAddress': '40 Katie Avenue',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 3,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 12,\r\n 'RequestNumber': 1692,\r\n 'RequestRaisedBy': 'Longdon',\r\n 'ProjectCategory': 'Services',\r\n 'ProjectName': 'Tempsoft',\r\n 'ProjectAddress': '67 Artisan Pass',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 4,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 13,\r\n 'RequestNumber': 3792,\r\n 'RequestRaisedBy': 'Kwietek',\r\n 'ProjectCategory': 'Research and Development',\r\n 'ProjectName': 'Sub-Ex',\r\n 'ProjectAddress': '813 Quincy Pass',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 4,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 14,\r\n 'RequestNumber': 3562,\r\n 'RequestRaisedBy': 'Shemwell',\r\n 'ProjectCategory': 'Product Management',\r\n 'ProjectName': 'Toughjoyfax',\r\n 'ProjectAddress': '8 Merry Junction',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 4,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 'Curbs'\r\n}, {\r\n 'Id': 15,\r\n 'RequestNumber': 5906,\r\n 'RequestRaisedBy': 'Brushneen',\r\n 'ProjectCategory': 'Legal',\r\n 'ProjectName': 'Cardguard',\r\n 'ProjectAddress': '44230 Debs Drive',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 4,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 16,\r\n 'RequestNumber': 7401,\r\n 'RequestRaisedBy': 'Littefair',\r\n 'ProjectCategory': 'Legal',\r\n 'ProjectName': 'Keylex',\r\n 'ProjectAddress': '61 Hovde Hill',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 5,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 17,\r\n 'RequestNumber': 2512,\r\n 'RequestRaisedBy': 'McElhargy',\r\n 'ProjectCategory': 'Legal',\r\n 'ProjectName': 'Flexidy',\r\n 'ProjectAddress': '93 Aberg Avenue',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 5,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 18,\r\n 'RequestNumber': 7371,\r\n 'RequestRaisedBy': 'Van der Kruijs',\r\n 'ProjectCategory': 'Legal',\r\n 'ProjectName': 'Voltsillam',\r\n 'ProjectAddress': '8 Browning Junction',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 5,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 19,\r\n 'RequestNumber': 4397,\r\n 'RequestRaisedBy': 'Tuminini',\r\n 'ProjectCategory': 'Services',\r\n 'ProjectName': 'Zathin',\r\n 'ProjectAddress': '22713 Daystar Center',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 6,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 20,\r\n 'RequestNumber': 4770,\r\n 'RequestRaisedBy': 'Zywicki',\r\n 'ProjectCategory': 'Human Resources',\r\n 'ProjectName': 'Lotstring',\r\n 'ProjectAddress': '3840 Bultman Road',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 6,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 21,\r\n 'RequestNumber': 1032,\r\n 'RequestRaisedBy': 'Verden',\r\n 'ProjectCategory': 'Training',\r\n 'ProjectName': 'Tampflex',\r\n 'ProjectAddress': '76 Prentice Road',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 6,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 22,\r\n 'RequestNumber': 2478,\r\n 'RequestRaisedBy': 'Shoreman',\r\n 'ProjectCategory': 'Research and Development',\r\n 'ProjectName': 'Aerified',\r\n 'ProjectAddress': '6 Harper Crossing',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 7,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 23,\r\n 'RequestNumber': 2494,\r\n 'RequestRaisedBy': 'Dorking',\r\n 'ProjectCategory': 'Sales',\r\n 'ProjectName': 'Sub-Ex',\r\n 'ProjectAddress': '41 Monterey Crossing',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 7,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 24,\r\n 'RequestNumber': 3489,\r\n 'RequestRaisedBy': 'Duffield',\r\n 'ProjectCategory': 'Accounting',\r\n 'ProjectName': 'Y-Solowarm',\r\n 'ProjectAddress': '84396 Green Ridge Avenue',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContractStatus': 'Received',\r\n 'LotId': 7,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 25,\r\n 'RequestNumber': 5828,\r\n 'RequestRaisedBy': 'De Winton',\r\n 'ProjectCategory': 'Services',\r\n 'ProjectName': 'Stringtough',\r\n 'ProjectAddress': '503 Muir Point',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContactStatus': 'Received',\r\n 'LotId': 8,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}, {\r\n 'Id': 26,\r\n 'RequestNumber': 3046,\r\n 'RequestRaisedBy': 'Wanklyn',\r\n 'ProjectCategory': 'Engineering',\r\n 'ProjectName': 'Holdlamis',\r\n 'ProjectAddress': '4 Sloan Trail',\r\n 'ProjectStatus': 'Initiated',\r\n 'ContactStatus': 'Received',\r\n 'LotId': 8,\r\n 'FinalPlat': 'Received',\r\n 'mainInstallationStatus': 'Installed',\r\n 'developmentstatus': 2\r\n}];\r\n\r\n\r\nexport const sampleLots = [{\r\n 'LotId': 1,\r\n 'referenceNumber': 12,\r\n 'assignedTo': `Mike`,\r\n 'streetNumber': 16,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Pending Installation',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 12,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n}, {\r\n 'LotId': 2,\r\n 'assignedTo': `Mike`,\r\n 'streetNumber': 34,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Approved',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 33,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n}, {\r\n 'LotId': 3,\r\n 'assignedTo': `Geroge`,\r\n 'streetNumber': 34,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Pending Installation',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 34,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n}, {\r\n 'LotId': 4,\r\n 'assignedTo': `Kevin M`,\r\n 'streetNumber': 35,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Initiated',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 30,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n}, {\r\n 'LotId': 5,\r\n 'assignedTo': `Geroge`,\r\n 'streetNumber': 34,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Approved',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 33,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n}, {\r\n 'LotId': 6,\r\n 'assignedTo': `Geroge`,\r\n 'streetNumber': 31,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Rejected',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 32,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n}, {\r\n 'LotId': 7,\r\n 'assignedTo': `Geroge`,\r\n 'streetNumber': 35,\r\n 'requestType': 'RESIDENTIAL SVC NBE EXPRESS',\r\n 'requeststatus': 'Pending Installation',\r\n 'constructionSiteStatus': 'Assigned',\r\n 'typicalInstallationTimeframe': 31,\r\n 'requestInstallationOrder': '12',\r\n 'closingDate': '12/12/2018',\r\n 'siteStatusUpdateDate': '12/12/2018',\r\n 'nextSiteStatusDueDate': '12/12/2018',\r\n 'serviceAddress': '12345,Boca Raton ,Atlanta,Georgia,500082 ',\r\n 'contactName': 'Mike',\r\n 'contactNumber': '040055794187',\r\n 'WRNumber': 12348,\r\n 'buildingpointId': 'BP0123',\r\n 'lookerStatus': 'Initiated',\r\n 'esitmatedinstalldateofservice': '12/12/2018',\r\n 'actualInstallDateofService': '12/12/2018',\r\n 'esitmatedinstalldateofmeter': '12/12/2018',\r\n 'actualInstallDateofMeter': '12/12/2018',\r\n 'locate': 'True'\r\n\r\n}];\r\n\r\nexport const sampleProducts = [\r\n {\r\n 'ProductID': 1,\r\n 'ProductName': 'Chai',\r\n 'SupplierID': 1,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '10 boxes x 20 bags',\r\n 'UnitPrice': 18,\r\n 'UnitsInStock': 39,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 8, 20)\r\n },\r\n {\r\n 'ProductID': 2,\r\n 'ProductName': 'Chang',\r\n 'SupplierID': 1,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 12 oz bottles',\r\n 'UnitPrice': 19,\r\n 'UnitsInStock': 17,\r\n 'UnitsOnOrder': 40,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 7, 12)\r\n },\r\n {\r\n 'ProductID': 3,\r\n 'ProductName': 'Aniseed Syrup',\r\n 'SupplierID': 1,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 - 550 ml bottles',\r\n 'UnitPrice': 10,\r\n 'UnitsInStock': 13,\r\n 'UnitsOnOrder': 70,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 8, 26)\r\n },\r\n {\r\n 'ProductID': 4,\r\n 'ProductName': 'Chef Anton\\'s Cajun Seasoning',\r\n 'SupplierID': 2,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '48 - 6 oz jars',\r\n 'UnitPrice': 22,\r\n 'UnitsInStock': 53,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 9, 19)\r\n },\r\n {\r\n 'ProductID': 5,\r\n 'ProductName': 'Chef Anton\\'s Gumbo Mix',\r\n 'SupplierID': 2,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '36 boxes',\r\n 'UnitPrice': 21.35,\r\n 'UnitsInStock': 0,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 7, 17)\r\n },\r\n {\r\n 'ProductID': 6,\r\n 'ProductName': 'Grandma\\'s Boysenberry Spread',\r\n 'SupplierID': 3,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 - 8 oz jars',\r\n 'UnitPrice': 25,\r\n 'UnitsInStock': 120,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 9, 19)\r\n },\r\n {\r\n 'ProductID': 7,\r\n 'ProductName': 'Uncle Bob\\'s Organic Dried Pears',\r\n 'SupplierID': 3,\r\n 'CategoryID': 7,\r\n 'QuantityPerUnit': '12 - 1 lb pkgs.',\r\n 'UnitPrice': 30,\r\n 'UnitsInStock': 15,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 7,\r\n 'CategoryName': 'Produce',\r\n 'Description': 'Dried fruit and bean curd'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 7, 22)\r\n },\r\n {\r\n 'ProductID': 8,\r\n 'ProductName': 'Northwoods Cranberry Sauce',\r\n 'SupplierID': 3,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 - 12 oz jars',\r\n 'UnitPrice': 40,\r\n 'UnitsInStock': 6,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 11, 1)\r\n },\r\n {\r\n 'ProductID': 9,\r\n 'ProductName': 'Mishi Kobe Niku',\r\n 'SupplierID': 4,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '18 - 500 g pkgs.',\r\n 'UnitPrice': 97,\r\n 'UnitsInStock': 29,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n },\r\n 'FirstOrderedOn': new Date(1997, 1, 21)\r\n },\r\n {\r\n 'ProductID': 10,\r\n 'ProductName': 'Ikura',\r\n 'SupplierID': 4,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '12 - 200 ml jars',\r\n 'UnitPrice': 31,\r\n 'UnitsInStock': 31,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n },\r\n 'FirstOrderedOn': new Date(1996, 8, 5)\r\n }\r\n];\r\n\r\nexport const products = [{\r\n 'ProductID': 1,\r\n 'ProductName': 'Chai',\r\n 'SupplierID': 1,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '10 boxes x 20 bags',\r\n 'UnitPrice': 18.0000,\r\n 'UnitsInStock': 39,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 2,\r\n 'ProductName': 'Chang',\r\n 'SupplierID': 1,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 12 oz bottles',\r\n 'UnitPrice': 19.0000,\r\n 'UnitsInStock': 17,\r\n 'UnitsOnOrder': 40,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 3,\r\n 'ProductName': 'Aniseed Syrup',\r\n 'SupplierID': 1,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 - 550 ml bottles',\r\n 'UnitPrice': 10.0000,\r\n 'UnitsInStock': 13,\r\n 'UnitsOnOrder': 70,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 4,\r\n 'ProductName': 'Chef Anton\\'s Cajun Seasoning',\r\n 'SupplierID': 2,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '48 - 6 oz jars',\r\n 'UnitPrice': 22.0000,\r\n 'UnitsInStock': 53,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 5,\r\n 'ProductName': 'Chef Anton\\'s Gumbo Mix',\r\n 'SupplierID': 2,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '36 boxes',\r\n 'UnitPrice': 21.3500,\r\n 'UnitsInStock': 0,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 6,\r\n 'ProductName': 'Grandma\\'s Boysenberry Spread',\r\n 'SupplierID': 3,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 - 8 oz jars',\r\n 'UnitPrice': 25.0000,\r\n 'UnitsInStock': 120,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 7,\r\n 'ProductName': 'Uncle Bob\\'s Organic Dried Pears',\r\n 'SupplierID': 3,\r\n 'CategoryID': 7,\r\n 'QuantityPerUnit': '12 - 1 lb pkgs.',\r\n 'UnitPrice': 30.0000,\r\n 'UnitsInStock': 15,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 7,\r\n 'CategoryName': 'Produce',\r\n 'Description': 'Dried fruit and bean curd'\r\n }\r\n}, {\r\n 'ProductID': 8,\r\n 'ProductName': 'Northwoods Cranberry Sauce',\r\n 'SupplierID': 3,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 - 12 oz jars',\r\n 'UnitPrice': 40.0000,\r\n 'UnitsInStock': 6,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 9,\r\n 'ProductName': 'Mishi Kobe Niku',\r\n 'SupplierID': 4,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '18 - 500 g pkgs.',\r\n 'UnitPrice': 97.0000,\r\n 'UnitsInStock': 29,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n }\r\n}, {\r\n 'ProductID': 10,\r\n 'ProductName': 'Ikura',\r\n 'SupplierID': 4,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '12 - 200 ml jars',\r\n 'UnitPrice': 31.0000,\r\n 'UnitsInStock': 31,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 11,\r\n 'ProductName': 'Queso Cabrales',\r\n 'SupplierID': 5,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '1 kg pkg.',\r\n 'UnitPrice': 21.0000,\r\n 'UnitsInStock': 22,\r\n 'UnitsOnOrder': 30,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 12,\r\n 'ProductName': 'Queso Manchego La Pastora',\r\n 'SupplierID': 5,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '10 - 500 g pkgs.',\r\n 'UnitPrice': 38.0000,\r\n 'UnitsInStock': 86,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 13,\r\n 'ProductName': 'Konbu',\r\n 'SupplierID': 6,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '2 kg box',\r\n 'UnitPrice': 6.0000,\r\n 'UnitsInStock': 24,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 14,\r\n 'ProductName': 'Tofu',\r\n 'SupplierID': 6,\r\n 'CategoryID': 7,\r\n 'QuantityPerUnit': '40 - 100 g pkgs.',\r\n 'UnitPrice': 23.2500,\r\n 'UnitsInStock': 35,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 7,\r\n 'CategoryName': 'Produce',\r\n 'Description': 'Dried fruit and bean curd'\r\n }\r\n}, {\r\n 'ProductID': 15,\r\n 'ProductName': 'Genen Shouyu',\r\n 'SupplierID': 6,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '24 - 250 ml bottles',\r\n 'UnitPrice': 15.5000,\r\n 'UnitsInStock': 39,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 16,\r\n 'ProductName': 'Pavlova',\r\n 'SupplierID': 7,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '32 - 500 g boxes',\r\n 'UnitPrice': 17.4500,\r\n 'UnitsInStock': 29,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 17,\r\n 'ProductName': 'Alice Mutton',\r\n 'SupplierID': 7,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '20 - 1 kg tins',\r\n 'UnitPrice': 39.0000,\r\n 'UnitsInStock': 0,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n }\r\n}, {\r\n 'ProductID': 18,\r\n 'ProductName': 'Carnarvon Tigers',\r\n 'SupplierID': 7,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '16 kg pkg.',\r\n 'UnitPrice': 62.5000,\r\n 'UnitsInStock': 42,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 19,\r\n 'ProductName': 'Teatime Chocolate Biscuits',\r\n 'SupplierID': 8,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '10 boxes x 12 pieces',\r\n 'UnitPrice': 9.2000,\r\n 'UnitsInStock': 25,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 20,\r\n 'ProductName': 'Sir Rodney\\'s Marmalade',\r\n 'SupplierID': 8,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '30 gift boxes',\r\n 'UnitPrice': 81.0000,\r\n 'UnitsInStock': 40,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 21,\r\n 'ProductName': 'Sir Rodney\\'s Scones',\r\n 'SupplierID': 8,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '24 pkgs. x 4 pieces',\r\n 'UnitPrice': 10.0000,\r\n 'UnitsInStock': 3,\r\n 'UnitsOnOrder': 40,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 22,\r\n 'ProductName': 'Gustaf\\'s Knäckebröd',\r\n 'SupplierID': 9,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '24 - 500 g pkgs.',\r\n 'UnitPrice': 21.0000,\r\n 'UnitsInStock': 104,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 23,\r\n 'ProductName': 'Tunnbröd',\r\n 'SupplierID': 9,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '12 - 250 g pkgs.',\r\n 'UnitPrice': 9.0000,\r\n 'UnitsInStock': 61,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 24,\r\n 'ProductName': 'Guaraná Fantástica',\r\n 'SupplierID': 10,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '12 - 355 ml cans',\r\n 'UnitPrice': 4.5000,\r\n 'UnitsInStock': 20,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 25,\r\n 'ProductName': 'NuNuCa Nuß-Nougat-Creme',\r\n 'SupplierID': 11,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '20 - 450 g glasses',\r\n 'UnitPrice': 14.0000,\r\n 'UnitsInStock': 76,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 26,\r\n 'ProductName': 'Gumbär Gummibärchen',\r\n 'SupplierID': 11,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '100 - 250 g bags',\r\n 'UnitPrice': 31.2300,\r\n 'UnitsInStock': 15,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 27,\r\n 'ProductName': 'Schoggi Schokolade',\r\n 'SupplierID': 11,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '100 - 100 g pieces',\r\n 'UnitPrice': 43.9000,\r\n 'UnitsInStock': 49,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 28,\r\n 'ProductName': 'Rössle Sauerkraut',\r\n 'SupplierID': 12,\r\n 'CategoryID': 7,\r\n 'QuantityPerUnit': '25 - 825 g cans',\r\n 'UnitPrice': 45.6000,\r\n 'UnitsInStock': 26,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 7,\r\n 'CategoryName': 'Produce',\r\n 'Description': 'Dried fruit and bean curd'\r\n }\r\n}, {\r\n 'ProductID': 29,\r\n 'ProductName': 'Thüringer Rostbratwurst',\r\n 'SupplierID': 12,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '50 bags x 30 sausgs.',\r\n 'UnitPrice': 123.7900,\r\n 'UnitsInStock': 0,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n }\r\n}, {\r\n 'ProductID': 30,\r\n 'ProductName': 'Nord-Ost Matjeshering',\r\n 'SupplierID': 13,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '10 - 200 g glasses',\r\n 'UnitPrice': 25.8900,\r\n 'UnitsInStock': 10,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 31,\r\n 'ProductName': 'Gorgonzola Telino',\r\n 'SupplierID': 14,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '12 - 100 g pkgs',\r\n 'UnitPrice': 12.5000,\r\n 'UnitsInStock': 0,\r\n 'UnitsOnOrder': 70,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 32,\r\n 'ProductName': 'Mascarpone Fabioli',\r\n 'SupplierID': 14,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '24 - 200 g pkgs.',\r\n 'UnitPrice': 32.0000,\r\n 'UnitsInStock': 9,\r\n 'UnitsOnOrder': 40,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 33,\r\n 'ProductName': 'Geitost',\r\n 'SupplierID': 15,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '500 g',\r\n 'UnitPrice': 2.5000,\r\n 'UnitsInStock': 112,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 34,\r\n 'ProductName': 'Sasquatch Ale',\r\n 'SupplierID': 16,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 12 oz bottles',\r\n 'UnitPrice': 14.0000,\r\n 'UnitsInStock': 111,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 35,\r\n 'ProductName': 'Steeleye Stout',\r\n 'SupplierID': 16,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 12 oz bottles',\r\n 'UnitPrice': 18.0000,\r\n 'UnitsInStock': 20,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 36,\r\n 'ProductName': 'Inlagd Sill',\r\n 'SupplierID': 17,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '24 - 250 g jars',\r\n 'UnitPrice': 19.0000,\r\n 'UnitsInStock': 112,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 37,\r\n 'ProductName': 'Gravad lax',\r\n 'SupplierID': 17,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '12 - 500 g pkgs.',\r\n 'UnitPrice': 26.0000,\r\n 'UnitsInStock': 11,\r\n 'UnitsOnOrder': 50,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 38,\r\n 'ProductName': 'Côte de Blaye',\r\n 'SupplierID': 18,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '12 - 75 cl bottles',\r\n 'UnitPrice': 263.5000,\r\n 'UnitsInStock': 17,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 39,\r\n 'ProductName': 'Chartreuse verte',\r\n 'SupplierID': 18,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '750 cc per bottle',\r\n 'UnitPrice': 18.0000,\r\n 'UnitsInStock': 69,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 40,\r\n 'ProductName': 'Boston Crab Meat',\r\n 'SupplierID': 19,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '24 - 4 oz tins',\r\n 'UnitPrice': 18.4000,\r\n 'UnitsInStock': 123,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 41,\r\n 'ProductName': 'Jack\\'s New England Clam Chowder',\r\n 'SupplierID': 19,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '12 - 12 oz cans',\r\n 'UnitPrice': 9.6500,\r\n 'UnitsInStock': 85,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 42,\r\n 'ProductName': 'Singaporean Hokkien Fried Mee',\r\n 'SupplierID': 20,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '32 - 1 kg pkgs.',\r\n 'UnitPrice': 14.0000,\r\n 'UnitsInStock': 26,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 43,\r\n 'ProductName': 'Ipoh Coffee',\r\n 'SupplierID': 20,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '16 - 500 g tins',\r\n 'UnitPrice': 46.0000,\r\n 'UnitsInStock': 17,\r\n 'UnitsOnOrder': 10,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 44,\r\n 'ProductName': 'Gula Malacca',\r\n 'SupplierID': 20,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '20 - 2 kg bags',\r\n 'UnitPrice': 19.4500,\r\n 'UnitsInStock': 27,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 45,\r\n 'ProductName': 'Rogede sild',\r\n 'SupplierID': 21,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '1k pkg.',\r\n 'UnitPrice': 9.5000,\r\n 'UnitsInStock': 5,\r\n 'UnitsOnOrder': 70,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 46,\r\n 'ProductName': 'Spegesild',\r\n 'SupplierID': 21,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '4 - 450 g glasses',\r\n 'UnitPrice': 12.0000,\r\n 'UnitsInStock': 95,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 47,\r\n 'ProductName': 'Zaanse koeken',\r\n 'SupplierID': 22,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '10 - 4 oz boxes',\r\n 'UnitPrice': 9.5000,\r\n 'UnitsInStock': 36,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 48,\r\n 'ProductName': 'Chocolade',\r\n 'SupplierID': 22,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '10 pkgs.',\r\n 'UnitPrice': 12.7500,\r\n 'UnitsInStock': 15,\r\n 'UnitsOnOrder': 70,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 49,\r\n 'ProductName': 'Maxilaku',\r\n 'SupplierID': 23,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '24 - 50 g pkgs.',\r\n 'UnitPrice': 20.0000,\r\n 'UnitsInStock': 10,\r\n 'UnitsOnOrder': 60,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 50,\r\n 'ProductName': 'Valkoinen suklaa',\r\n 'SupplierID': 23,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '12 - 100 g bars',\r\n 'UnitPrice': 16.2500,\r\n 'UnitsInStock': 65,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 51,\r\n 'ProductName': 'Manjimup Dried Apples',\r\n 'SupplierID': 24,\r\n 'CategoryID': 7,\r\n 'QuantityPerUnit': '50 - 300 g pkgs.',\r\n 'UnitPrice': 53.0000,\r\n 'UnitsInStock': 20,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 7,\r\n 'CategoryName': 'Produce',\r\n 'Description': 'Dried fruit and bean curd'\r\n }\r\n}, {\r\n 'ProductID': 52,\r\n 'ProductName': 'Filo Mix',\r\n 'SupplierID': 24,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '16 - 2 kg boxes',\r\n 'UnitPrice': 7.0000,\r\n 'UnitsInStock': 38,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 53,\r\n 'ProductName': 'Perth Pasties',\r\n 'SupplierID': 24,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '48 pieces',\r\n 'UnitPrice': 32.8000,\r\n 'UnitsInStock': 0,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': true,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n }\r\n}, {\r\n 'ProductID': 54,\r\n 'ProductName': 'Tourtière',\r\n 'SupplierID': 25,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '16 pies',\r\n 'UnitPrice': 7.4500,\r\n 'UnitsInStock': 21,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n }\r\n}, {\r\n 'ProductID': 55,\r\n 'ProductName': 'Pâté chinois',\r\n 'SupplierID': 25,\r\n 'CategoryID': 6,\r\n 'QuantityPerUnit': '24 boxes x 2 pies',\r\n 'UnitPrice': 24.0000,\r\n 'UnitsInStock': 115,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 6,\r\n 'CategoryName': 'Meat/Poultry',\r\n 'Description': 'Prepared meats'\r\n }\r\n}, {\r\n 'ProductID': 56,\r\n 'ProductName': 'Gnocchi di nonna Alice',\r\n 'SupplierID': 26,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '24 - 250 g pkgs.',\r\n 'UnitPrice': 38.0000,\r\n 'UnitsInStock': 21,\r\n 'UnitsOnOrder': 10,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 57,\r\n 'ProductName': 'Ravioli Angelo',\r\n 'SupplierID': 26,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '24 - 250 g pkgs.',\r\n 'UnitPrice': 19.5000,\r\n 'UnitsInStock': 36,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 58,\r\n 'ProductName': 'Escargots de Bourgogne',\r\n 'SupplierID': 27,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '24 pieces',\r\n 'UnitPrice': 13.2500,\r\n 'UnitsInStock': 62,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 59,\r\n 'ProductName': 'Raclette Courdavault',\r\n 'SupplierID': 28,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '5 kg pkg.',\r\n 'UnitPrice': 55.0000,\r\n 'UnitsInStock': 79,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 60,\r\n 'ProductName': 'Camembert Pierrot',\r\n 'SupplierID': 28,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '15 - 300 g rounds',\r\n 'UnitPrice': 34.0000,\r\n 'UnitsInStock': 19,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 61,\r\n 'ProductName': 'Sirop d\\'érable',\r\n 'SupplierID': 29,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '24 - 500 ml bottles',\r\n 'UnitPrice': 28.5000,\r\n 'UnitsInStock': 113,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 62,\r\n 'ProductName': 'Tarte au sucre',\r\n 'SupplierID': 29,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '48 pies',\r\n 'UnitPrice': 49.3000,\r\n 'UnitsInStock': 17,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 63,\r\n 'ProductName': 'Vegie-spread',\r\n 'SupplierID': 7,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '15 - 625 g jars',\r\n 'UnitPrice': 43.9000,\r\n 'UnitsInStock': 24,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 64,\r\n 'ProductName': 'Wimmers gute Semmelknödel',\r\n 'SupplierID': 12,\r\n 'CategoryID': 5,\r\n 'QuantityPerUnit': '20 bags x 4 pieces',\r\n 'UnitPrice': 33.2500,\r\n 'UnitsInStock': 22,\r\n 'UnitsOnOrder': 80,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 5,\r\n 'CategoryName': 'Grains/Cereals',\r\n 'Description': 'Breads, crackers, pasta, and cereal'\r\n }\r\n}, {\r\n 'ProductID': 65,\r\n 'ProductName': 'Louisiana Fiery Hot Pepper Sauce',\r\n 'SupplierID': 2,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '32 - 8 oz bottles',\r\n 'UnitPrice': 21.0500,\r\n 'UnitsInStock': 76,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 66,\r\n 'ProductName': 'Louisiana Hot Spiced Okra',\r\n 'SupplierID': 2,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '24 - 8 oz jars',\r\n 'UnitPrice': 17.0000,\r\n 'UnitsInStock': 4,\r\n 'UnitsOnOrder': 100,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}, {\r\n 'ProductID': 67,\r\n 'ProductName': 'Laughing Lumberjack Lager',\r\n 'SupplierID': 16,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 12 oz bottles',\r\n 'UnitPrice': 14.0000,\r\n 'UnitsInStock': 52,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 10,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 68,\r\n 'ProductName': 'Scottish Longbreads',\r\n 'SupplierID': 8,\r\n 'CategoryID': 3,\r\n 'QuantityPerUnit': '10 boxes x 8 pieces',\r\n 'UnitPrice': 12.5000,\r\n 'UnitsInStock': 6,\r\n 'UnitsOnOrder': 10,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 3,\r\n 'CategoryName': 'Confections',\r\n 'Description': 'Desserts, candies, and sweet breads'\r\n }\r\n}, {\r\n 'ProductID': 69,\r\n 'ProductName': 'Gudbrandsdalsost',\r\n 'SupplierID': 15,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '10 kg pkg.',\r\n 'UnitPrice': 36.0000,\r\n 'UnitsInStock': 26,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 70,\r\n 'ProductName': 'Outback Lager',\r\n 'SupplierID': 7,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 355 ml bottles',\r\n 'UnitPrice': 15.0000,\r\n 'UnitsInStock': 15,\r\n 'UnitsOnOrder': 10,\r\n 'ReorderLevel': 30,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 71,\r\n 'ProductName': 'Flotemysost',\r\n 'SupplierID': 15,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '10 - 500 g pkgs.',\r\n 'UnitPrice': 21.5000,\r\n 'UnitsInStock': 26,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 72,\r\n 'ProductName': 'Mozzarella di Giovanni',\r\n 'SupplierID': 14,\r\n 'CategoryID': 4,\r\n 'QuantityPerUnit': '24 - 200 g pkgs.',\r\n 'UnitPrice': 34.8000,\r\n 'UnitsInStock': 14,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 0,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 4,\r\n 'CategoryName': 'Dairy Products',\r\n 'Description': 'Cheeses'\r\n }\r\n}, {\r\n 'ProductID': 73,\r\n 'ProductName': 'Röd Kaviar',\r\n 'SupplierID': 17,\r\n 'CategoryID': 8,\r\n 'QuantityPerUnit': '24 - 150 g jars',\r\n 'UnitPrice': 15.0000,\r\n 'UnitsInStock': 101,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 8,\r\n 'CategoryName': 'Seafood',\r\n 'Description': 'Seaweed and fish'\r\n }\r\n}, {\r\n 'ProductID': 74,\r\n 'ProductName': 'Longlife Tofu',\r\n 'SupplierID': 4,\r\n 'CategoryID': 7,\r\n 'QuantityPerUnit': '5 kg pkg.',\r\n 'UnitPrice': 10.0000,\r\n 'UnitsInStock': 4,\r\n 'UnitsOnOrder': 20,\r\n 'ReorderLevel': 5,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 7,\r\n 'CategoryName': 'Produce',\r\n 'Description': 'Dried fruit and bean curd'\r\n }\r\n}, {\r\n 'ProductID': 75,\r\n 'ProductName': 'Rhönbräu Klosterbier',\r\n 'SupplierID': 12,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '24 - 0.5 l bottles',\r\n 'UnitPrice': 7.7500,\r\n 'UnitsInStock': 125,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 25,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 76,\r\n 'ProductName': 'Lakkalikööri',\r\n 'SupplierID': 23,\r\n 'CategoryID': 1,\r\n 'QuantityPerUnit': '500 ml',\r\n 'UnitPrice': 18.0000,\r\n 'UnitsInStock': 57,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 20,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 1,\r\n 'CategoryName': 'Beverages',\r\n 'Description': 'Soft drinks, coffees, teas, beers, and ales'\r\n }\r\n}, {\r\n 'ProductID': 77,\r\n 'ProductName': 'Original Frankfurter grüne Soße',\r\n 'SupplierID': 12,\r\n 'CategoryID': 2,\r\n 'QuantityPerUnit': '12 boxes',\r\n 'UnitPrice': 13.0000,\r\n 'UnitsInStock': 32,\r\n 'UnitsOnOrder': 0,\r\n 'ReorderLevel': 15,\r\n 'Discontinued': false,\r\n 'Category': {\r\n 'CategoryID': 2,\r\n 'CategoryName': 'Condiments',\r\n 'Description': 'Sweet and savory sauces, relishes, spreads, and seasonings'\r\n }\r\n}];\r\n\r\nexport const sampleMains = [{\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n},\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018',\r\n 'dueDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018'\r\n },\r\n {\r\n 'id': 'MR129',\r\n 'applicantAddress2': '12345, Boca Raton, Atlanta, Georgia, 500082',\r\n 'wrTypeCD': 'Main',\r\n 'wrStatus': 'InProgress',\r\n 'constructionStatus': 'Assigned',\r\n 'wrNo': '12',\r\n 'installedDTTM': '05/12/2018',\r\n 'closingDTTM': '05/12/2018',\r\n 'updatedDTTM': '10/12/2018'\r\n }];\r\n\r\n\r\n","export class ServiceDetails {\r\n firstName: string;\r\n lastName: string;\r\n contactNumber: string;\r\n contactNumberExtension: string;\r\n requestType: string;\r\n constructionSiteStatus: string;\r\n typicalInstallationTimeframe: string;\r\n requestInstallationOrder: string;\r\n closingDate: string;\r\n siteStatusUpdateDate: string;\r\n nextSiteStatusDueDate: string;\r\n buildingPointId: string;\r\n lookerStatus: string;\r\n esitmatedInstallDateofService: string;\r\n actualInstallDateofService: string;\r\n estimatedInstallDateofMeter: string;\r\n actualInstallDateofMeter: string;\r\n locate: string;\r\n}\r\n","export class Subsidiary {\r\n SubsidiaryCompanyName: string;\r\n AddressLine1: string;\r\n AddressLine2: string;\r\n Number: string;\r\n EmailId: string;\r\n status: string;\r\n comments: string;\r\n}\r\n","export class Type {\r\n public isMeterExist: boolean;\r\n public meterNumbers?: string[];\r\n public premiseId: string;\r\n}\r\n\r\n export class GasRequestStatus {\r\n public isBCAFound = false;\r\n public isBCAAddedLoad = false;\r\n}\r\n","export enum StepsIdEnum {\r\n LOCATION = 0,\r\n TYPE,\r\n INFORMATION,\r\n ADDRESSES,\r\n PREMISE,\r\n REVIEW,\r\n ACKNOWLEDGE\r\n}\r\n\r\nexport enum StepsCodeEnum {\r\n LOCATION = 'LOCATION',\r\n TYPE = 'TYPE',\r\n INFORMATION = 'INFORMATION',\r\n ADDRESSES = 'ADDRESSES',\r\n PREMISE = 'PREMISE',\r\n REVIEW = 'REVIEW',\r\n ACKNOWLEDGE = 'ACKNOWLEDGE'\r\n}\r\n\r\nexport enum StepsResidentialTitleEnum {\r\n LOCATION = 'Service Address',\r\n TYPE = 'Request Type',\r\n INFORMATION = 'About You',\r\n ADDRESSES = 'Site Details',\r\n PREMISE = 'About Your Home',\r\n REVIEW = 'Review',\r\n ACKNOWLEDGE = 'Acknowledge'\r\n}\r\n\r\nexport enum StepsTitleCommercialEnum {\r\n LOCATION = 'Service Address',\r\n TYPE = 'Request Type',\r\n INFORMATION = 'Company Info',\r\n ADDRESSES = 'Site Details',\r\n PREMISE = 'About Your Business',\r\n REVIEW = 'Review',\r\n ACKNOWLEDGE = 'Acknowledge'\r\n}\r\n\r\nexport enum StepsTitleMixedUseEnum {\r\n LOCATION = 'Service Address',\r\n TYPE = 'Request Type',\r\n INFORMATION = 'About You\\\\Company',\r\n ADDRESSES = 'Site Details',\r\n PREMISE = 'About Your Home\\\\Business',\r\n REVIEW = 'Review',\r\n ACKNOWLEDGE = 'Acknowledge'\r\n}\r\nexport enum StepsSubDivisionTitleEnum {\r\n LOCATION = 'Service Address',\r\n TYPE = 'Request Type',\r\n INFORMATION = 'About You',\r\n ADDRESSES = 'Site Details',\r\n PREMISE = 'About Your Home',\r\n REVIEW = 'Review',\r\n ACKNOWLEDGE = 'Acknowledge'\r\n}\r\n\r\nexport enum StepsDefaultTitleEnum {\r\n LOCATION = 'Service Address',\r\n TYPE = 'Request Type',\r\n INFORMATION = 'About You',\r\n ADDRESSES = 'Site Details',\r\n PREMISE = 'About Your Premise',\r\n DATA = 'Project Data',\r\n REVIEW = 'Review',\r\n ACKNOWLEDGE = 'Acknowledge'\r\n}\r\n\r\nexport enum StepsRouteEnum {\r\n LOCATION = 'location',\r\n TYPE = 'type',\r\n INFORMATION = 'information',\r\n ADDRESSES = 'addresses',\r\n PREMISE = 'premise',\r\n REVIEW = 'review',\r\n ACKNOWLEDGE = 'acknowledge'\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport class WizardStep {\r\n id: number;\r\n code: string;\r\n label: string;\r\n title: string;\r\n route: string;\r\n form: FormGroup;\r\n validStep = true;\r\n // Bind this property on Wizard Step Icons, when user click next with invalid state, this value will be false and step turn red\r\n}\r\n","export * from '@app/core/models/user';\r\nexport * from '@app/core/models/app';\r\n","import { User } from '@app/core/models/user/user.model';\r\nimport { APIInfo } from '@app/core/models/user/api-info.model';\r\n\r\nexport class Account {\r\n user: User;\r\n apiInfo: APIInfo;\r\n settings: string[];\r\n\r\n constructor() {\r\n this.user = new User();\r\n this.apiInfo = new APIInfo();\r\n }\r\n}\r\n","export class APIInfo {\r\n webApiToken: string;\r\n webApiBaseUrl: string;\r\n coolSecurityToken: string;\r\n role: string;\r\n}\r\n","export * from '@app/core/models/user/api-info.model';\r\nexport * from '@app/core/models/user/user.model';\r\nexport * from '@app/core/models/user/account.model';\r\n","export class User {\r\n givenName: string;\r\n username: string;\r\n email: string;\r\n phone: string;\r\n company: string;\r\n}\r\n","\r\nimport {map, mergeMap } from 'rxjs/operators';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, EMPTY, of, forkJoin } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { SocoConfigurationService, SocoHttpService, ApiResult } from '@app/base/soco';\r\nimport { EnvironmentService } from '@app/core/services/environment.service';\r\nimport { Account, APIInfo, User } from '@app/core/models/user';\r\nimport { CompanyDetails } from '@app/core/models/app/company-details.model';\r\nimport { LookupsService } from '@app/core/services/lookups.service';\r\nimport { SessionService } from '@app/core/services/session.service';\r\nimport { ConstantsService } from '@app/core/services/constants.service';\r\n\r\n/* istanbul ignore next */\r\n@Injectable()\r\nexport class AccountService {\r\n public account: Account;\r\n private tokenLoaded: boolean;\r\n private anonymousTokenLoaded: boolean;\r\n\r\n constructor(\r\n private ngHttp: HttpClient,\r\n private socoHttp: SocoHttpService,\r\n private config: SocoConfigurationService,\r\n private environment: EnvironmentService,\r\n private constantsSvc: ConstantsService,\r\n private lookupSvc: LookupsService,\r\n private sessionSvc: SessionService\r\n ) {\r\n this.account = new Account();\r\n this.tokenLoaded = false;\r\n this.anonymousTokenLoaded = false;\r\n }\r\n\r\n public isAuthenticated(destUrl: string): Observable {\r\n return this.ngHttp.get>('Account/GetApiInfo').pipe(map(result => {\r\n // Successfully casted ApiInfo, mean user is authenticated and token acquired\r\n this.tokenLoaded = (result.data.webApiToken && result.data.webApiToken !== '' && result.data.webApiToken !== 'ANONYMOUS');\r\n\r\n if (result.data.role == null) {\r\n const url =\r\n '/' +\r\n (this.environment.isSoCoEnv\r\n ? 'account/accessdenied'\r\n : this.constantsSvc.localIISAppName + '/account/accessdenied');\r\n window.location.href = url;\r\n }\r\n return this.tokenLoaded;\r\n })).pipe(\r\n catchError(response => {\r\n // If user is unauthenticated,call will not end with 401,instead ends with a redirect to Account/Logon and return the page content.\r\n // If no JSON object that match ApiResult the get method will fail, which mean route to login\r\n this.routeToLogin(destUrl);\r\n return of(false);\r\n }));\r\n }\r\n\r\n public resolveBuilderAccountInfo(): Observable {\r\n const env = this.environment.appEnvironmentName.toLowerCase();\r\n\r\n return this.ngHttp.get>('Account/GetApiInfo').pipe(\r\n mergeMap((res: any) => {\r\n const { webApiBaseUrl } = res.data; // Must manually set API, as config settings are not defined for forkJoin below.\r\n this.setApiInfo(res.data);\r\n\r\n return forkJoin([\r\n this.ngHttp.get>( `${webApiBaseUrl}/Common/GetLdcCollection`).pipe(map((companiesResult) => {\r\n this.lookupSvc.companies = companiesResult.data;\r\n this.sessionSvc.activeLdc = this.lookupSvc.companies[this.sessionSvc.paramLdc];\r\n this.sessionSvc.sourceToContract = this.constantsSvc.BuilderUser;\r\n\r\n // TODO: DSS: created an observable to support resetting values after webauth redirect (builder-shell.component.ts) - BT 3/21/24\r\n this.sessionSvc.GetActiveLdc(this.lookupSvc.companies[this.sessionSvc.paramLdc]);\r\n\r\n // Return an empty observable, as there no other consequent calls to API\r\n return EMPTY;\r\n })),\r\n this.socoHttp.get>({ url: 'Account' }),\r\n this.ngHttp.get>(`${webApiBaseUrl}/Settings`).pipe(map((result: any) => {\r\n this.config.settings = result.data;\r\n }))\r\n ]);\r\n }));\r\n }\r\n\r\n public resolveAnonymousAccountInfo(): Observable {\r\n // If we retrieved a token (will happen when builder login) or anonymous-token (when applicant land) don't retrieve it again.\r\n if (this.tokenLoaded || this.anonymousTokenLoaded) { return EMPTY; }\r\n\r\n //return this.socoHttp.get>({ excludeWebApiBaseUrl:true, url:document.location.href + '/Account/GetAnonymousApiInfo'}).pipe(map((result: any) => {\r\n return this.ngHttp.get>( 'Account/GetAnonymousApiInfo').pipe(map(result => {\r\n this.setApiInfo(result.data);\r\n this.anonymousTokenLoaded = true;\r\n\r\n return forkJoin([\r\n this.socoHttp.get({ url: 'Common/GetLdcCollection'}).subscribe( companiesResult => {\r\n this.lookupSvc.companies = companiesResult.data;\r\n this.sessionSvc.activeLdc = this.lookupSvc.companies[this.sessionSvc.paramLdc];\r\n\r\n // TODO: DSS: created an observable to support failing applicant bcalookup calls (applicant.component.ts) - BT 3/5/24\r\n this.sessionSvc.GetActiveLdc(this.lookupSvc.companies[this.sessionSvc.paramLdc]);\r\n\r\n // Return an empty observable, as there no other consequent calls to API\r\n return EMPTY;\r\n }),\r\n this.socoHttp.get>({url: 'Settings'}).subscribe(result => {\r\n this.config.settings = result.data;\r\n })\r\n ]);\r\n\r\n }));\r\n }\r\n\r\n private routeToLogin(returnUrl: string): void {\r\n let url = '/account/logon';\r\n\r\n url += '?ReturnUrl=' + returnUrl; // Append return url to the path\r\n window.location.href = url;\r\n }\r\n\r\n private setApiInfo(info: APIInfo) {\r\n this.account.apiInfo = info;\r\n if (this.account.apiInfo.webApiBaseUrl[this.account.apiInfo.webApiBaseUrl.length - 1] !== '/') {\r\n this.account.apiInfo.webApiBaseUrl += '/';\r\n }\r\n this.config.webApiToken = this.account.apiInfo.webApiToken;\r\n this.config.webApiBaseUrl = this.account.apiInfo.webApiBaseUrl;\r\n this.config.coolSecurityToken = this.account.apiInfo.coolSecurityToken;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CompaniesEnum, RequestTypesEnum, StepsIdEnum } from '@app/core/models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConstantsService {\r\n public get localIISAppName(): string { return '.'; }\r\n public get localIISBaseUrl(): string { return `/${this.localIISAppName}/`; }\r\n public get requestStatusPattern(): RegExp { return /^[a-zA-Z0-9]*$/; }\r\n public get phoneNumberPattern(): RegExp { return /^(1\\s?)?((\\([0-9]{3}\\))|[0-9]{3})[\\s\\-]?[\\0-9]{3}[\\s\\-]?[0-9]{4}$/; }\r\n public get phoneNumberExtensionPattern(): RegExp { return /^\\d*$/; }\r\n public get emailPattern(): RegExp { return /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/; }\r\n public get numericPattern(): RegExp { return /^[1-9][0-9]*$/; }\r\n public get numericPatternwithZero(): RegExp { return /^[0-9][0-9]*$/; }\r\n public get alphaNumericPattern(): RegExp { return /^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$/; }\r\n public get alphaPattern(): RegExp { return /^[A-Za-z\\s\\-]+$/; }\r\n public get phoneMask(): any { return ['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]; }\r\n public get datePattern(): any { return /^\\d{2}([./-])\\d{2}\\1\\d{4}$/; }\r\n public get zipCodePattern(): RegExp { return /^\\d{5}$/; }\r\n public get spacePattern(): RegExp { return /^(?!\\s*$).+/; }\r\n public get alphaNumericNoSpacePattern(): RegExp { return /^([0-9A-Za-z]{1})[0-9A-Za-z\\s\\-]+$/; }\r\n public get dateValidator(): any {\r\n return /^(((((((0?[13578])|(1[02]))[\\.\\-/]?((0?[1-9])|([12]\\d)|(3[01])))|(((0?[469])|(11))[\\.\\-/]?((0?[1-9])|([12]\\d)|(30)))|((0?2)[\\.\\-/]?((0?[1-9])|(1\\d)|(2[0-8]))))[\\.\\-/]?((\\d{2})?([\\d][\\d]))))|((0?2)[\\.\\-/]?(29)[\\.\\-/]?(((19)|(20))?(([02468][048])|([13579][26])))))$/; }\r\n public get defaultLdc(): string { return CompaniesEnum.SC; }\r\n public get defaultRequestType(): string { return RequestTypesEnum.Residential; }\r\n public get defaultRequestStep(): number { return StepsIdEnum.LOCATION; }\r\n public get recaptchaSiteKey(): string { return '6LdPGV8UAAAAAKCUgYJFhKCB4YU0luFjDQjeeyy4'; }\r\n public get ApplicantUser(): string { return 'applicant'; }\r\n public get BuilderUser(): string { return 'builder'; }\r\n public get UserCookie(): string { return 'JwtCookie'; }\r\n public get changes(): string { return 'Changes you made may not be saved.'; }\r\n public get position(): string {return 'bottom'; }\r\n public get addMaxLot(): number { return 5; }\r\n public get folderName(): string { return 'Project Documents'; }\r\n public get builderMarketerAgreement(): string { return 'Builder Marketer Agreement'; }\r\n public get HeaderfolderName(): string { return 'Builder Header Documents'; }\r\n public get maxYear(): number { return 3; }\r\n public get resolverSwal(): string {\r\n return 'Something went wrong while loading application,the server might be unavailable. Please reload application or try again later.';\r\n }\r\n public get errorSwal(): string { return 'error'; }\r\n public get manualLotRequested(): string { return 'Y'; }\r\n public get warningSwal(): string { return 'warning'; }\r\n public get successSwal(): string { return 'success'; }\r\n public get successSwal1(): string { return 'Success!'; }\r\n public get wrongTypeCd(): string { return 'Cannot create lot for this gas request type'; }\r\n public get okSwal(): string { return 'ok'; }\r\n public get addressNotFoundSwal(): string { return 'Address Not Found'; }\r\n public get addressSwal1(): string { return 'Include more keyword or choose a location from the map.'; }\r\n public get addressSwal2(): string { return 'Address is not complete, please modify address.'; }\r\n public get contactCustomerCareSwal(): string { return 'Unable to process the request, Please contact customer care!!'; }\r\n public get invalidZipSwal(): string { return 'Invalid zip code!'; }\r\n public get premiseSwal1(): string { return 'No Appliances Checked'; }\r\n public get premiseSwal2(): string { return 'Please check at least one appliance'; }\r\n public get errorSwal1(): string { return 'Error!'; }\r\n public get commentsMandatorySwal(): string { return 'Comments are mandatory!'; }\r\n public get maxDocSize(): string { return 'Files larger than 50MB cannot be uploaded'; }\r\n public get wrongExt(): string { return 'Invalid extension of file'; }\r\n public get maxdocSwal(): string { return 'Maximum Five Files can be uploaded at a time'; }\r\n public get contractSwal(): string { return 'Please select all the items for download in order to proceed'; }\r\n public get congratsSwal(): string { return 'Congrats!'; }\r\n public get dataUpdatedSwal(): string { return 'Data updated!'; }\r\n public get sorrySwal(): string { return 'Sorry!'; }\r\n public get dataNotUpdated(): string { return 'Data could not be updated'; }\r\n public get okSwal1(): string { return 'Ok!'; }\r\n public get failedSwal(): string { return 'Failed'; }\r\n public get emptyListSwal(): string { return 'Please select files to delete'; }\r\n public get fileFolderDeleteFail(): string { return 'Unable to delete Folder'; }\r\n public get buildingTypeFail(): string { return 'Unable to fetch Building Type'; }\r\n public get builderInfoFail(): string { return 'Unable to fetch Builder Information'; }\r\n public get unitDescriptionError(): string { return 'Unit Description should be unique'; }\r\n public get contractInfoFail(): string { return 'Unable to retrieve Contract information'; }\r\n public get sessionswal(): string { return 'Sorry your session expired! Please login again to continue.'; }\r\n public get builderErrorSwal(): string { return 'Sorry you are not a Builder! Please login again with valid Builder Credentials.'; }\r\n public get gasAvailabilityLetterSwal(): string { return 'Gas Availability Letter Submitted!'; }\r\n public get lotSwal1(): string { return 'Request for fetching Address details submitted!!'; }\r\n public get lotSwal2(): string { return 'Project address details not found!'; }\r\n public get subsidiaryDetailsFailSwal(): string { return 'Unable to fetch Subsidiary Details!'; }\r\n public get gasDetailsFailSwal(): string { return 'Unable to fetch address details!'; }\r\n public get lotSwal3(): string { return 'Only a maximum of five lots can be added'; }\r\n public get lotSwal4(): string { return 'Lot number should be unique, A lot already exists with same lot number'; }\r\n public get lotCreationReqSwal(): string { return 'Lot(s) creation request submitted!'; }\r\n public get developmentStatusReqSwal(): string { return 'Development status updated!'; }\r\n public get developmentStatusReqSwal1(): string { return 'Development status update!'; }\r\n public get lotCreationSuccessSwal(): string { return 'Lot(s) creation request has been submitted successfully!'; }\r\n public get developmentstatusSuccessSwal(): string { return 'Development status has been updated successfully!'; }\r\n public get lotCreationFailSwal(): string { return 'Lot(s) creation request failed!'; }\r\n public get subsidiaryAddSuccess(): string { return 'Successfully Added Subsidiary Company'; }\r\n public get builderUserAddSuccess(): string { return 'Thank you for registering with us, You will be notified once your request is approved and account is created.'; }\r\n public get builderUserAddFail(): string { return 'Unable to register the builder User.'; }\r\n public get builderUserAddWarning(): string { return 'Builder User already registered.'; }\r\n public get builderNewUserAdd(): string { return 'Successfully Added New Builder User.'; }\r\n public get builderCompanySubsidiaryAddWarning(): string { return 'Builder Company already added.'; }\r\n public get builderCompanyAddWarning(): string { return 'Builder Company already added. Please log in with existing username to add more users'; }\r\n public get builderCompanyAddFail(): string { return 'Unable to add Builder Company.'; }\r\n public get subsidiaryAddFail(): string { return 'Unable to add Subsidiary Company'; }\r\n public get subsidiaryAlreadyAdded(): string { return 'Already a Subsidiary Company'; }\r\n public get builderNotFound(): string { return 'Builder Company not found. Please fill up the details to add the Builder Company'; }\r\n public get headerDocReqSwal(): string { return 'No Documents Available!'; }\r\n public get isActive(): string {return 'N'; }\r\n public get contactTypeCode(): string {return 'B'; }\r\n public get subsidiaryAddNotAllowed(): string { return 'Builder Company cannot be added as Subsidiary'; }\r\n public get projDetailsError(): string { return 'Error in fetching Project Details'; }\r\n public get headerDocFailSwal(): string { return 'Please upload the documents manually or contact System Administrator'; }\r\n public get developmentStatusFailSwal(): string { return 'Development status update failed!'; }\r\n public get lotCreationReqNotSubSwal(): string { return 'Lot(s) creation request not submitted!!'; }\r\n public get checkAllFieldsSwal(): string { return 'Check all the fields!'; }\r\n public get paymentSwal(): string { return 'You would be navigated to Payment Gateway'; }\r\n public get fileUpload(): string { return ' cannot be uploaded since file is empty.No File has been uploaded.'; }\r\n public get fileUpload2(): string { return ' cannot be uploaded'; }\r\n public get infoSwal(): string { return 'info'; }\r\n public get postRequestFail(): string { return 'Unable to process your request'; }\r\n public get mainsFail(): string { return 'Unable to fetch Gas Mains data'; }\r\n public get docErrorSwal(): string { return ' Error in fetching Documents'; }\r\n public get fileUpload1(): string { return 'File/Files Uploaded Successfully!'; }\r\n public get fileUploadFail(): string { return 'Error in uploading file/files!'; }\r\n public get lotAllocationSwal1(): string { return 'Lot Allocation Request Updated'; }\r\n public get lotAllocationSwal2(): string { return 'Lot Allocation Request submitted successfully!'; }\r\n public get lotAllocationSwal3(): string { return 'Lot Allocation Request Failed!'; }\r\n public get getLotsFailsSwal(): string { return 'Unable to fetch lot details'; }\r\n public get enterReqDetailsSwal(): string { return 'Please enter all required details!'; }\r\n public get meterActDeactSwal(): string { return 'Meter Activation/Deactivation Request Submitted!'; }\r\n public get lotDetailsUpdateSwal(): string { return 'Lot details updated successfully!'; }\r\n public get serviceRequestSwal(): string { return 'Service Request Submitted!'; }\r\n public get siteContactDetailsAppliedSwal(): string { return 'Site Contact details applied!'; }\r\n public get selectLotToAdd(): string { return 'Please select lot(s) from Grid to update site contact details!'; }\r\n public get singleFamilyBuildingType(): string { return 'SF'; }\r\n public get mobileHomeBuildingType(): string { return 'MH'; }\r\n public get multiFamilyBuildingType(): string { return 'MF'; }\r\n public get industrialBuildingType(): string { return 'IF'; }\r\n public get bannermsgInfoComp(): string { return 'About You'; }\r\n public get bannermsgBuilderInfoComp(): string { return 'About You Builder'; }\r\n public get bannermsgLandingHome(): string { return 'Home'; }\r\n public get bannermsgLandingStatus(): string { return 'Gas Request Status'; }\r\n public get showDiscardmsgMultistep(): string { return 'Leaving this page will discard unsaved changes. Are you sure?'; }\r\n public get showDiscardmsgInvalidDataMultistep(): string { return 'You are leaving the page with some invalid fields. Are you sure?'; }\r\n public get grStatusMultistep(): string { return 'APPPEND'; }\r\n public get multi_Family(): string { return 'MULTI FAMILY'; }\r\n public get multi_Family1(): string { return 'Multi Family'; }\r\n public get Residential(): string { return 'Residential'; }\r\n public get single_Family(): string { return 'Single-Family Home'; }\r\n public get mobile_Home(): string { return 'Mobile Home'; }\r\n public get Industrial(): string { return 'INDUSTRIAL'; }\r\n public get Industrial1(): string { return 'Industrial'; }\r\n public get HomeSqFtQues(): string { return 'What is the approximate square footage of your home?'; }\r\n public get HomeSqFtBusinessQues(): string { return 'What is the approximate square footage of your business?'; }\r\n public get ApproxDistFtQues(): string { return 'What is the approximate distance (in ft.) from the street to the front of your home?'; }\r\n public get ApproxDistBusinessFtQues(): string {\r\n return 'What is the approximate distance (in ft.) from the street to the front of your business?';\r\n }\r\n public get totalUnits(): string { return 'Number of Units?'; }\r\n public get DeliveryPressureReqQues(): string { return 'What delivery pressure do you require?'; }\r\n public get NaturalGasInstlTypeQues(): string { return 'What Natural Gas appliances are you converting or installing in your home?'; }\r\n public get NaturalGasInstlTypeBusinessQues(): string {\r\n return 'What Natural Gas appliances are you converting or installing in your business?';\r\n }\r\n public get constructionStatusQues(): string { return 'What is the status of construction?'; }\r\n public get needingServiceQues(): string { return 'When do you anticipate needing service?'; }\r\n public get propertyOwnerQues(): string { return 'Are you the property owner?'; }\r\n public get marketerChosenQues(): string { return 'Have you chosen a Marketer?'; }\r\n public get marketerChoiceQues(): string { return 'Marketer of Choice'; }\r\n public get describeOthersQues(): string { return 'Describe Others'; }\r\n public get typeofApplicantRequestQues(): string { return 'What type of applicant is requesting natural gas service?'; }\r\n public get licensedBuilderQues(): string { return 'Are you a Licensed Builder?'; }\r\n public get meterOutsideHomeQues(): string { return 'Do you have a natural gas meter outside your home?'; }\r\n public get meterOutsideBusinessQues(): string { return 'Do you have a natural gas meter outside your business?'; }\r\n public get additionalMeterQues(): string { return 'Are you requesting an additional natural gas meter for this home?'; }\r\n public get additionalMeterBusinessQues(): string { return 'Are you requesting an additional natural gas meter for this business?'; }\r\n public get addReplacemeterQues(): string { return 'Are you adding or replacing natural gas appliances or equipment in your home?'; }\r\n public get addReplacemeterBusinesQues(): string {\r\n return 'Are you adding or replacing natural gas appliances or equipment in your business?';\r\n }\r\n public get newConstructionQues(): string { return 'Is this new construction?'; }\r\n public get typeofHomeQues(): string { return 'What type of home do you have?'; }\r\n public get currentEnergySourceQues(): string { return 'What is the current energy source for your appliance(s)?'; }\r\n public get meterOutsideBuildingQues(): string { return 'Do you have a natural gas meter outside your building?'; }\r\n public get propertyTypeQues(): string { return 'What type of property are you requesting Natural Gas Service for?'; }\r\n public get premisePropertyTypeQues(): string { return 'What type of property are you requesting natural gas service for?'; }\r\n public get poBoxPrefix(): string { return 'PO BOX'; }\r\n public get TimeZone(): string { return this.isDST ? 'UTC-400' : 'UTC-500'; }\r\n public get poolHeater(): string { return 'POOL HEATER'; }\r\n public get centralHeat(): string { return 'CENTRAL HEAT'; }\r\n public get standbyGenerator(): string { return 'Standby Generator'; }\r\n public get standbyGenerator2(): string { return 'STANDBY GENERATOR'; }\r\n public get otherAppliance(): string { return 'OTHER'; }\r\n public get serviceProvideCnfirmMsg(): string {\r\n return 'This address is in our service area.

Natural gas service is not guaranteed. Please request service and a Gas representative will contact you to confirm service availability and cost details.

';\r\n }\r\n public get georgiaServiceProvideCnfirmMsg(): string {\r\n return 'This address is in our service area.

Natural gas service is not guaranteed. Please request service and a Atlanta Gas representative will contact you to confirm service availability and cost details.

';\r\n }\r\n public get tennesseeServiceProvideCnfirmMsg(): string {\r\n return 'This address is in our service area.

Natural gas service is not guaranteed. Please request service and a Chattanooga Gas representative will contact you to confirm service availability and cost details.

';\r\n }\r\n public get virginiaServiceProvideCnfirmMsg(): string {\r\n return 'This address is in our service area.

Natural gas service is not guaranteed. Please request service and a Virginia Gas representative will contact you to confirm service availability and cost details.

';\r\n }\r\n public get addressSelectedForNewBCA(): string { return 'AddressSelectedForNewBCA'; }\r\n public get serviceableAreaCheck(): string { return 'ServiceableAreaChecked'; }\r\n public get requestSelectedForCreate(): string { return 'RequestSelectedForCreate'; }\r\n public get sorryNotificationText(): string {\r\n return '

Unfortunately, we cannot provide natural gas service to your address because' +\r\n ' it is outside of our service territory.

';\r\n }\r\n public get sorryNotificationTextAGL(): string {\r\n return '

Unfortunately, we cannot provide natural gas service to your address because ' +\r\n 'it is outside of our service territory. Please click here' +\r\n 'to choose from a list of certified natural gas marketers who can provide service to your address.

';\r\n }\r\n public get contractAcceptMsg(): string {\r\n return 'Thanks for accepting the contract, please click on Back button to go back to contract page.';\r\n }\r\n public get contractRejectMsg(): string {\r\n return 'Thanks for the update on contract, please click on Back button to go back to contract page.';\r\n }\r\n public get bannermsgContractAccept(): string { return 'Contract Accepted'; }\r\n public get bannermsgAgrements(): string { return 'Marketer Agreements'; }\r\n public get gasReqTypeSubd(): string { return 'SUBD'; }\r\n public get gasReqTypeScatt(): string { return 'SCATT'; }\r\n public get dupFileMsg(): string { return 'There is a same file/files with the name,

Would you like to overwrite!

'; }\r\n public get howToDoc(): string { return 'HOW TO DOCUMENT'; }\r\n public get multiFamilyChecklist(): string { return 'MULTIFAMILY CHECKLIST'; }\r\n public get builderChecklist(): string { return 'BUILDER CHECKLIST'; }\r\n public get activationRequested(): string { return 'Activation Requested'; }\r\n public get activationApproved(): string { return 'Activation Approved'; }\r\n public get deactivationRequested(): string { return 'Deactivation Approved'; }\r\n public get deactivationApproved(): string { return 'Deactivation Approved'; }\r\n\r\n public get bcaNoCntrctRcvd(): string { return 'BCA Id you entered has no Contract received. Please try with other BCA Id.'; }\r\n public get bcaNotApproved(): string { return 'BCA should be Approved to create Work Requests. Please Approve BCA and try again.'; }\r\n public get bcaNoActivePermit(): string { return 'BCA Number you selected has no Active Permit. Please try with other BCA Number.'; }\r\n public get errorBcaStatusFetch(): string { return 'An error occurred while fetching the BCA Details. Please try again.'; }\r\n public get errorBcaNotExists(): string { return 'Entered BCA Id doesn\\'t exists. Please enter other BCA Id'; }\r\n public get errorBcaDetailsFetch(): string { return 'An error occurred while fetching the BCA Details. Please try again.'; }\r\n public get errorWhenReqWR(): string { return 'Error occurred while requesting WR. Please try again'; }\r\n public get errorWhenBIdsFetch(): string { return 'An error occurred while fetching the Building Ids. Please try again.'; }\r\n public get noBcaSwal(): string { return 'Please enter BCA Id and try again'; }\r\n public get workRequestByBcaFail(): string { return 'Unable to get Work Requests for the Project Number. Please try again.'; }\r\n public get requestUpdateBuildingId(): string { return 'Unable to update Building Ids. Please try again.'; }\r\n public get bIdsUpdatedMsg(): string { return ' building Ids have been updated for Gas request with BCA Id: '; }\r\n public get containerIdMsg(): string { return 'ContainerAwaiter'; }\r\n public get processingMsg(): string { return 'Processing..'; }\r\n public get requestAddBuildingId(): string { return 'Unable to add Building Ids. Please try again.'; }\r\n public get bIdsAddedMsg(): string { return ' building Ids have been added for Gas request with BCA Id: '; }\r\n public get noBIdsAvailable(): string { return 'No building Ids available in GIS for Gas request with BCA Id: '; }\r\n public get bIdsAddedAndMsg(): string { return ' building Ids have been added and '; }\r\n public get noneText(): string { return 'None'; }\r\n\r\n // multistep ques subdivision\r\n public get naturalGasBusinessQ(): string {\r\n return 'What Natural Gas appliances are you converting or installing in your business?';\r\n }\r\n public get approximateDistQues(): string {\r\n return 'What is the approximate distance (in ft.) from the street to the front of your business?';\r\n }\r\n public get streetTypeQues(): string { return 'What type of streets will be in your development'; }\r\n public get numberofHomesQues(): string { return 'Total number of homes planned for development'; }\r\n public get approxSqFtQues(): string { return 'What is the approximate square footage of each home?'; }\r\n public get utilityEasementQues(): string { return 'Will you provide a utility easement?'; }\r\n public get approxdisthomeQues(): string {\r\n return 'What is the approximate distance (in ft.) from the street to the front of each home?';\r\n }\r\n public get siteplanAttach(): string { return 'Attach site plan(s)/plat with Lot list'; }\r\n public get electProviderQues(): string { return 'Who is the electric provider for the home?'; }\r\n public get streetCurbsQues(): string { return 'When will street curbs be installed and backfilled?'; }\r\n public get appliancesPerHome(): string { return 'Appliance(s) (per Home)'; }\r\n public get ContractDocType(): string { return 'CONTRACT'; }\r\n public get DrawingDocType(): string { return 'DRAWING'; }\r\n public get NotesDocType(): string { return 'NOTES'; }\r\n public get SketchDocType(): string { return 'SKETCH'; }\r\n public get LaserficheContractFolder(): string { return 'WR'; }\r\n public get contractDocFailSwal(): string { return 'No records were found for the selected category'; }\r\n public get exceptionError(): string {\r\n return 'Something went wrong, the server might be unavailable.' +\r\n ' Please reload application or try again later.';\r\n }\r\n public get addressNotFound(): string {\r\n return 'Your address does not appear on the map. Please move pin to closest address to your new residence / business.';\r\n }\r\n public get UnitDescription(): string { return 'Unit Description'; }\r\n public get multiFamilyHome(): string { return 'What type of Multi-Family home do you have?'; }\r\n\r\n public get industrialType(): string { return 'Industrial'; }\r\n public get residentialType(): string { return 'Residential'; }\r\n public get commercialType(): string { return 'Commercial'; }\r\n public get multiFamilyType(): string { return 'Multi Family'; }\r\n public get acknowledge(): string { return 'Acknowledge'; }\r\n public get other(): string { return 'OTHER'; }\r\n public get btuLoadOption(): string { return 'BTU Load Value (Optional)'; }\r\n public get btuLoad(): string { return 'BTU Load Value'; }\r\n public get rejected(): string { return 'Rejected'; }\r\n public get accepted(): string { return 'Accepted'; }\r\n public get CONRCVD(): string { return 'CONRCVD'; }\r\n public get CONRJTD(): string { return 'CONRJTD'; }\r\n public get noSubFound(): string { return 'No subsidiary found'; }\r\n public get PoolHeater(): string { return 'Pool Heater'; }\r\n public get selectAllocation(): string { return 'Please select lots for allocation'; }\r\n public get unknownRequest(): string { return 'Unknown request status received from server, '; }\r\n public get siteDetailsBuilder(): string { return 'Site Details Builder'; }\r\n public get builderHome(): string { return 'Builder Home'; }\r\n public get builderGasLetter(): string { return 'Builder Gas Letter'; }\r\n public get error2(): string { return 'Error'; }\r\n public get stay(): string { return 'Stay'; }\r\n public get discardChanges(): string { return 'Discard Changes'; }\r\n public get locationBuilder(): string { return 'Location Builder'; }\r\n public get georgia(): string {\r\n return 'Georgia';\r\n }\r\n public get main(): string { return 'main'; }\r\n public get reviewBuilder(): string { return 'Review Builder'; }\r\n public get subsidiary(): string { return 'Subsidiary'; }\r\n public get company(): string { return 'Company'; }\r\n public get gasLetterRequest(): string { return 'Gas Letter Request'; }\r\n public get PENDCONTR(): string { return 'PENDCONTR'; }\r\n public get PENDPMNT(): string { return 'PENDPMNT'; }\r\n public get PENDPRMT(): string { return 'PENDPRMT'; }\r\n public get PENDINST(): string { return 'PENDINST'; }\r\n public get COMP(): string { return 'COMP'; }\r\n public get Yes(): string {\r\n return 'Yes';\r\n }\r\n public get OTHERNOALLOW(): string {\r\n return 'OTHER(NO ALLOWABLE)';\r\n }\r\n public get No(): string {\r\n return 'No';\r\n }\r\n public get PopUp(): string {\r\n return 'PopUp';\r\n }\r\n public get block(): string {\r\n return 'block';\r\n }\r\n public get none(): string {\r\n return 'none';\r\n }\r\n public get searchCriteria(): string {\r\n return 'Please enter at least one search criteria.';\r\n }\r\n public get False(): string {\r\n return 'False';\r\n }\r\n public get activateSubmitted(): string {\r\n return 'Activation Request already Submitted';\r\n }\r\n public get activateApproved(): string {\r\n return 'Activation Request already Approved';\r\n }\r\n public get deactivateSubmitted(): string {\r\n return 'Deactivation Request already Submitted';\r\n }\r\n public get deactivateApproved(): string {\r\n return 'Deactivation Request already Approved';\r\n }\r\n public get service(): string {\r\n return 'service';\r\n }\r\n public get bcaAgreements(): string {\r\n return 'bca-agreements';\r\n }\r\n public get Allocated(): string {\r\n return 'Allocated';\r\n }\r\n public get Requested(): string {\r\n return 'Requested';\r\n }\r\n constructor() { }\r\n public get isDST(): boolean {\r\n const DateObj = new Date();\r\n const jan = new Date(DateObj.getFullYear(), 0, 1).getTimezoneOffset();\r\n const jul = new Date(DateObj.getFullYear(), 6, 1).getTimezoneOffset();\r\n return Math.max(jan, jul) !== DateObj.getTimezoneOffset();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '@app/config/environment';\r\nimport { ConstantsService } from '@app/core/services/constants.service';\r\nimport { SocoConfigurationService } from '@app/base/soco';\r\n\r\nimport moment from \"moment\";\r\n\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EnvironmentService {\r\n constructor(private constants: ConstantsService, private config: SocoConfigurationService) { }\r\n\r\n public get isSoCoProduction(): boolean { return (environment.environment.toLowerCase() === 'spr'); } // Todo: DSS: SPR longer valid according to latest list from Sunil - BT 3/22/24\r\n public get isSoCoEnv(): boolean { return (environment.environment.toLowerCase() === 'spr'); } // Todo: DSS: SPR longer valid according to latest list from Sunil - BT 3/22/24\r\n public get isProduction(): boolean { return environment.production; }\r\n public get appAOT(): string { return (environment.production ? 'AOT' : 'N-AOT'); }\r\n public get appEnvironmentName(): string { return environment.environment.toUpperCase(); }\r\n public get appVersion(): string { return environment.version; }\r\n public get appUrl(): string { return this.isSoCoEnv ? '/' : this.constants.localIISBaseUrl; }\r\n public get appCopyrightYear(): number { return moment().year(); }\r\n public get isBuilderEnabled(): boolean { return environment.isBuilderEnabled; }\r\n public get gisURL(): string { return this.config.gisUrl; }\r\n public get showAddSubsidiary(): boolean { return environment.showAddSubsidiary; }\r\n public get showPayment(): boolean { return environment.showPayment; }\r\n public get gisBaseURL(): string { return this.config.gisBaseUrl; }\r\n public get builderFirstURL(): string { return this.config.builderFirstUrl; }\r\n}\r\n","export * from '@app/core/services/limitless-ui.service';\r\nexport * from '@app/core/services/logger.service';\r\nexport * from '@app/core/services/environment.service';\r\nexport * from '@app/core/services/constants.service';\r\nexport * from '@app/core/services/session.service';\r\nexport * from '@app/core/services/lookups.service';\r\nexport * from '@app/core/services/account.service';\r\n","import { Injectable } from '@angular/core';\r\ndeclare const $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LimitlessUiService {\r\n /* istanbul ignore next */\r\n constructor() { }\r\n\r\n /* istanbul ignore next */\r\n public initLimitless(): any {\r\n const root = this;\r\n\r\n // Initialize\r\n root.containerHeight();\r\n\r\n // ========================================\r\n // Heading elements\r\n // ========================================\r\n // Heading elements toggler\r\n // -------------------------\r\n // Add control button toggler to page and panel headers if have heading elements\r\n $('.panel-footer').has('> .heading-elements:not(.not-collapsible)').prepend(\r\n '');\r\n $('.page-title, .panel-title').parent().has('> .heading-elements:not(.not-collapsible)'\r\n ).children('.page-title, .panel-title').append('');\r\n\r\n // TODO: Find a fix for the heading-elements-toggle\r\n // Toggle visible state of heading elements\r\n $('.page-title .heading-elements-toggle, .panel-title .heading-elements-toggle').unbind('click');\r\n $('.page-title .heading-elements-toggle, .panel-title .heading-elements-toggle').on('click', function () {\r\n $(this).parent().parent().toggleClass('has-visible-elements').children('.heading-elements').toggleClass('visible-elements');\r\n });\r\n\r\n $('.panel-footer .heading-elements-toggle').unbind('click');\r\n $('.panel-footer .heading-elements-toggle').on('click', function () {\r\n $(this).parent().toggleClass('has-visible-elements').children('.heading-elements').toggleClass('visible-elements');\r\n });\r\n\r\n // Breadcrumb elements toggler\r\n // -------------------------\r\n // Add control button toggler to breadcrumbs if has elements\r\n $('.breadcrumb-line').has('.breadcrumb-elements').prepend('');\r\n // Toggle visible state of breadcrumb elements\r\n $('.breadcrumb-elements-toggle').on('click', function () {\r\n $(this).parent().children('.breadcrumb-elements').toggleClass('visible-elements');\r\n });\r\n\r\n // ========================================\r\n // Navbar\r\n // ========================================\r\n // Navbar navigation\r\n // -------------------------\r\n // Prevent dropdown from closing on click\r\n $(document).on('click', '.dropdown-content', function (e) {\r\n e.stopPropagation();\r\n });\r\n\r\n // Disabled links\r\n $('.navbar-nav .disabled a').unbind('click');\r\n $('.navbar-nav .disabled a').on('click', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n });\r\n\r\n // Show tabs inside dropdowns\r\n $('.dropdown-content a[data-toggle=\"tab\"]').unbind('click');\r\n $('.dropdown-content a[data-toggle=\"tab\"]').on('click', function (e) {\r\n $(this).tab('show');\r\n });\r\n\r\n // Drill down menu\r\n // ------------------------------\r\n // If menu has child levels, add selector class\r\n $('.menu-list').find('li').has('ul').parents('.menu-list').addClass('has-children');\r\n // Attach drill down menu to menu list with child levels\r\n // $('.has-children').dcDrilldown({\r\n // defaultText: 'Back to parent',\r\n // saveState: true\r\n // });\r\n\r\n // ========================================\r\n // Element controls\r\n // ========================================\r\n // Reload elements\r\n // -------------------------\r\n // Panels\r\n $('.panel [data-action=reload]').click(function (e) {\r\n e.preventDefault();\r\n const block = $(this).parent().parent().parent().parent().parent();\r\n $(block).block({\r\n message: '',\r\n overlayCSS: {\r\n backgroundColor: '#fff',\r\n opacity: 0.8,\r\n cursor: 'wait',\r\n 'box-shadow': '0 0 0 1px #ddd'\r\n },\r\n css: {\r\n border: 0,\r\n padding: 0,\r\n backgroundColor: 'none'\r\n }\r\n });\r\n\r\n // For demo purposes\r\n window.setTimeout(function () {\r\n $(block).unblock();\r\n }, 2000);\r\n });\r\n\r\n // Sidebar categories\r\n $('.category-title [data-action=reload]').click(function (e) {\r\n e.preventDefault();\r\n const block = $(this).parent().parent().parent().parent();\r\n $(block).block({\r\n message: '',\r\n overlayCSS: {\r\n backgroundColor: '#000',\r\n opacity: 0.5,\r\n cursor: 'wait',\r\n 'box-shadow': '0 0 0 1px #000'\r\n },\r\n css: {\r\n border: 0,\r\n padding: 0,\r\n backgroundColor: 'none',\r\n color: '#fff'\r\n }\r\n });\r\n\r\n // For demo purposes\r\n window.setTimeout(function () {\r\n $(block).unblock();\r\n }, 2000);\r\n });\r\n\r\n // Light sidebar categories\r\n $('.sidebar-default .category-title [data-action=reload]').click(function (e) {\r\n e.preventDefault();\r\n const block = $(this).parent().parent().parent().parent();\r\n $(block).block({\r\n message: '',\r\n overlayCSS: {\r\n backgroundColor: '#fff',\r\n opacity: 0.8,\r\n cursor: 'wait',\r\n 'box-shadow': '0 0 0 1px #ddd'\r\n },\r\n css: {\r\n border: 0,\r\n padding: 0,\r\n backgroundColor: 'none'\r\n }\r\n });\r\n\r\n // For demo purposes\r\n window.setTimeout(function () {\r\n $(block).unblock();\r\n }, 2000);\r\n });\r\n\r\n // Collapse elements\r\n // -------------------------\r\n // Sidebar categories\r\n // Hide if collapsed by default\r\n $('.category-collapsed').children('.category-content').hide();\r\n\r\n // Rotate icon if collapsed by default\r\n $('.category-collapsed').find('[data-action=collapse]').addClass('rotate-180');\r\n\r\n // Collapse on click\r\n $('.category-title [data-action=collapse]').click(function (e) {\r\n e.preventDefault();\r\n const $categoryCollapse = $(this).parent().parent().parent().nextAll();\r\n $(this).parents('.category-title').toggleClass('category-collapsed');\r\n $(this).toggleClass('rotate-180');\r\n root.containerHeight(); // adjust page height\r\n $categoryCollapse.slideToggle(150);\r\n });\r\n\r\n //\r\n // Panels\r\n //\r\n // Hide if collapsed by default\r\n $('.panel-collapsed').children('.panel-heading').nextAll().hide();\r\n\r\n // Rotate icon if collapsed by default\r\n $('.panel-collapsed').find('[data-action=collapse]').addClass('rotate-180');\r\n\r\n // Collapse on click\r\n $('.panel [data-action=collapse]').click(function (e) {\r\n e.preventDefault();\r\n const $panelCollapse = $(this).parent().parent().parent().parent().nextAll();\r\n $(this).parents('.panel').toggleClass('panel-collapsed');\r\n $(this).toggleClass('rotate-180');\r\n root.containerHeight(); // recalculate page height\r\n $panelCollapse.slideToggle(150);\r\n });\r\n\r\n // Remove elements\r\n // -------------------------\r\n // Panels\r\n $('.panel [data-action=close]').click(function (e) {\r\n e.preventDefault();\r\n const $panelClose = $(this).parent().parent().parent().parent().parent();\r\n root.containerHeight(); // recalculate page height\r\n $panelClose.slideUp(150, function () {\r\n $(this).remove();\r\n });\r\n });\r\n\r\n // Sidebar categories\r\n $('.category-title [data-action=close]').click(function (e) {\r\n e.preventDefault();\r\n const $categoryClose = $(this).parent().parent().parent().parent();\r\n root.containerHeight(); // recalculate page height\r\n $categoryClose.slideUp(150, function () {\r\n $(this).remove();\r\n });\r\n });\r\n\r\n // ========================================\r\n //\r\n // Main navigation\r\n //\r\n // ========================================\r\n // Main navigation\r\n // -------------------------\r\n // Add 'active' class to parent list item in all levels\r\n $('.navigation').find('li.active').parents('li').addClass('active');\r\n\r\n // Hide all nested lists\r\n $('.navigation').find('li').not('.active, .category-title').has('ul').children('ul').addClass('hidden-ul');\r\n\r\n // Highlight children links\r\n $('.navigation').find('li').has('ul').children('a').addClass('has-ul');\r\n\r\n // Add active state to all dropdown parent levels\r\n $('.dropdown-menu:not(.dropdown-content), .dropdown-menu:not(.dropdown-content) .dropdown-submenu').has('li.active')\r\n .addClass('active').parents('.navbar-nav .dropdown:not(.language-switch), .navbar-nav .dropup:not(.language-switch)')\r\n .addClass('active');\r\n\r\n // Main navigation tooltips positioning\r\n // -------------------------\r\n // Left sidebar\r\n $('.navigation-main > .navigation-header > i').tooltip({\r\n placement: 'right',\r\n container: 'body'\r\n });\r\n\r\n // Collapsible functionality\r\n // -------------------------\r\n // Main navigation\r\n $('.navigation-main').find('li').has('ul').children('a').unbind('click');\r\n $('.navigation-main').find('li').has('ul').children('a').on('click', function (e) {\r\n e.preventDefault();\r\n // Collapsible\r\n $(this).parent('li').not('.disabled').not($('.sidebar-xs').not('.sidebar-xs-indicator')\r\n .find('.navigation-main').children('li')).toggleClass('active').children('ul').slideToggle(250);\r\n // Accordion\r\n if ($('.navigation-main').hasClass('navigation-accordion')) {\r\n $(this).parent('li').not('.disabled').not($('.sidebar-xs').not('.sidebar-xs-indicator')\r\n .find('.navigation-main').children('li')).siblings(':has(.has-ul)').removeClass('active').children('ul').slideUp(250);\r\n }\r\n });\r\n\r\n // Alternate navigation\r\n $('.navigation-alt').find('li').has('ul').children('a').unbind('click');\r\n $('.navigation-alt').find('li').has('ul').children('a').on('click', function (e) {\r\n e.preventDefault();\r\n // Collapsible\r\n $(this).parent('li').not('.disabled').toggleClass('active').children('ul').slideToggle(200);\r\n // Accordion\r\n if ($('.navigation-alt').hasClass('navigation-accordion')) {\r\n $(this).parent('li').not('.disabled').siblings(':has(.has-ul)').removeClass('active').children('ul').slideUp(200);\r\n }\r\n });\r\n\r\n // ========================================\r\n // Sidebars\r\n // ========================================\r\n // Mini sidebar\r\n // -------------------------\r\n // Toggle mini sidebar\r\n $('.sidebar-main-toggle').unbind('click');\r\n $('.sidebar-main-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n // Toggle min sidebar class\r\n $('body').toggleClass('sidebar-xs');\r\n });\r\n\r\n // Sidebar controls\r\n // -------------------------\r\n // Disable click in disabled navigation items\r\n $(document).on('click', '.navigation .disabled a', function (e) {\r\n e.preventDefault();\r\n });\r\n\r\n // Adjust page height on sidebar control button click\r\n $(document).on('click', '.sidebar-control', function (e) {\r\n root.containerHeight();\r\n });\r\n\r\n // Hide main sidebar in Dual Sidebar\r\n $(document).on('click', '.sidebar-main-hide', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-main-hidden');\r\n });\r\n\r\n // Toggle second sidebar in Dual Sidebar\r\n $(document).on('click', '.sidebar-secondary-hide', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-secondary-hidden');\r\n });\r\n\r\n // Hide all sidebars\r\n $(document).on('click', '.sidebar-all-hide', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-all-hidden');\r\n });\r\n\r\n //\r\n // Opposite sidebar\r\n //\r\n // Collapse main sidebar if opposite sidebar is visible\r\n $(document).on('click', '.sidebar-opposite-toggle', function (e) {\r\n e.preventDefault();\r\n // Opposite sidebar visibility\r\n $('body').toggleClass('sidebar-opposite-visible');\r\n // If visible\r\n if ($('body').hasClass('sidebar-opposite-visible')) {\r\n // Make main sidebar mini\r\n $('body').addClass('sidebar-xs');\r\n // Hide children lists\r\n $('.navigation-main').children('li').children('ul').css('display', '');\r\n } else {\r\n // Make main sidebar default\r\n $('body').removeClass('sidebar-xs');\r\n }\r\n });\r\n\r\n // Hide main sidebar if opposite sidebar is shown\r\n $(document).on('click', '.sidebar-opposite-main-hide', function (e) {\r\n e.preventDefault();\r\n // Opposite sidebar visibility\r\n $('body').toggleClass('sidebar-opposite-visible');\r\n // If visible\r\n if ($('body').hasClass('sidebar-opposite-visible')) {\r\n // Hide main sidebar\r\n $('body').addClass('sidebar-main-hidden');\r\n } else {\r\n // Show main sidebar\r\n $('body').removeClass('sidebar-main-hidden');\r\n }\r\n });\r\n\r\n // Hide secondary sidebar if opposite sidebar is shown\r\n $(document).on('click', '.sidebar-opposite-secondary-hide', function (e) {\r\n e.preventDefault();\r\n // Opposite sidebar visibility\r\n $('body').toggleClass('sidebar-opposite-visible');\r\n // If visible\r\n if ($('body').hasClass('sidebar-opposite-visible')) {\r\n // Hide secondary\r\n $('body').addClass('sidebar-secondary-hidden');\r\n } else {\r\n // Show secondary\r\n $('body').removeClass('sidebar-secondary-hidden');\r\n }\r\n });\r\n\r\n // Hide all sidebars if opposite sidebar is shown\r\n $(document).on('click', '.sidebar-opposite-hide', function (e) {\r\n e.preventDefault();\r\n // Toggle sidebars visibility\r\n $('body').toggleClass('sidebar-all-hidden');\r\n // If hidden\r\n if ($('body').hasClass('sidebar-all-hidden')) {\r\n // Show opposite\r\n $('body').addClass('sidebar-opposite-visible');\r\n // Hide children lists\r\n $('.navigation-main').children('li').children('ul').css('display', '');\r\n } else {\r\n // Hide opposite\r\n $('body').removeClass('sidebar-opposite-visible');\r\n }\r\n });\r\n\r\n // Keep the width of the main sidebar if opposite sidebar is visible\r\n $(document).on('click', '.sidebar-opposite-fix', function (e) {\r\n e.preventDefault();\r\n // Toggle opposite sidebar visibility\r\n $('body').toggleClass('sidebar-opposite-visible');\r\n });\r\n\r\n // Mobile sidebar controls\r\n // -------------------------\r\n // Toggle main sidebar\r\n $('.sidebar-mobile-main-toggle').unbind('click');\r\n $('.sidebar-mobile-main-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-mobile-main').removeClass('sidebar-mobile-secondary sidebar-mobile-opposite');\r\n });\r\n\r\n // Toggle secondary sidebar\r\n $('.sidebar-mobile-secondary-toggle').unbind('click');\r\n $('.sidebar-mobile-secondary-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-mobile-secondary').removeClass('sidebar-mobile-main sidebar-mobile-opposite');\r\n });\r\n\r\n // Toggle opposite sidebar\r\n $('.sidebar-mobile-opposite-toggle').unbind('click');\r\n $('.sidebar-mobile-opposite-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-mobile-opposite').removeClass('sidebar-mobile-main sidebar-mobile-secondary');\r\n });\r\n\r\n // Toggle detached sidebar\r\n $('.sidebar-mobile-detached-toggle').unbind('click');\r\n $('.sidebar-mobile-detached-toggle').on('click', function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('sidebar-mobile-detached').removeClass('sidebar-mobile-main sidebar-mobile-secondary sidebar-mobile-opposite');\r\n });\r\n\r\n // Mobile sidebar setup\r\n // -------------------------\r\n $(window).on('resize', function () {\r\n setTimeout(function () {\r\n root.containerHeight();\r\n if ($(window).width() <= 768) {\r\n // Add mini sidebar indicator\r\n $('body').addClass('sidebar-xs-indicator');\r\n // Place right sidebar before content\r\n $('.sidebar-opposite').prependTo('.page-content');\r\n // Remove nicescroll on mobiles\r\n // $('.menu-list').getNiceScroll().remove();\r\n $('.menu-list').removeAttr('style').removeAttr('tabindex');\r\n // Add mouse events for dropdown submenus\r\n $('.dropdown-submenu').on('mouseenter', function () {\r\n $(this).children('.dropdown-menu').addClass('show');\r\n }).on('mouseleave', function () {\r\n $(this).children('.dropdown-menu').removeClass('show');\r\n });\r\n } else {\r\n // Remove mini sidebar indicator\r\n $('body').removeClass('sidebar-xs-indicator');\r\n // Revert back right sidebar\r\n $('.sidebar-opposite').insertAfter('.content-wrapper');\r\n // Remove all mobile sidebar classes\r\n $('body').removeClass('sidebar-mobile-main sidebar-mobile-secondary sidebar-mobile-opposite');\r\n // Initialize nicescroll on tablets+\r\n // $(\".menu-list\").niceScroll({\r\n // mousescrollstep: 100,\r\n // cursorcolor: '#ccc',\r\n // cursorborder: '',\r\n // cursorwidth: 3,\r\n // hidecursordelay: 200,\r\n // autohidemode: 'scroll',\r\n // railpadding: { right: 0.5 }\r\n // });\r\n // Remove visibility of heading elements on desktop\r\n $('.page-header-content, .panel-heading, .panel-footer').removeClass('has-visible-elements');\r\n $('.heading-elements').removeClass('visible-elements');\r\n // Disable appearance of dropdown submenus\r\n $('.dropdown-submenu').children('.dropdown-menu').removeClass('show');\r\n }\r\n }, 100);\r\n }).resize();\r\n\r\n // ========================================\r\n // Other code\r\n // ========================================\r\n // Plugins\r\n // -------------------------\r\n // Popover\r\n $('[data-popup=\"popover\"]').popover();\r\n // Tooltip\r\n $('[data-popup=\"tooltip\"]').tooltip();\r\n }\r\n\r\n /* istanbul ignore next */\r\n public containerHeight(): void {\r\n window.setTimeout(function () {\r\n const pageContainerClass = 'page-container',\r\n footerClass = 'footer',\r\n footer = $('.' + footerClass).length && $('.' + footerClass).outerHeight(),\r\n offset = $('.' + pageContainerClass).offset(),\r\n availableHeight = $(window).height() - (offset ? offset.top : 0) - footer;\r\n $('.' + pageContainerClass).attr('style', 'min-height:' + availableHeight + 'px');\r\n }, 10);\r\n }\r\n\r\n /* istanbul ignore next */\r\n public initchkform() {\r\n $('.control-chk').uniform({\r\n wrapperClass: 'border-primary-600 text-success-800'\r\n });\r\n }\r\n\r\n/* istanbul ignore next */\r\n public initUniform() {\r\n $('.control-danger').uniform({\r\n wrapperClass: 'border-danger-600 text-danger-800'\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nexport enum LogLevel {\r\n Log = 'LOG',\r\n Dir = 'DIR',\r\n Trace = 'TRACE',\r\n Info = 'INFO',\r\n Debug = 'DEBUG',\r\n Warning = 'WARNING',\r\n Error = 'ERROR',\r\n Fatal = 'FATAL'\r\n}\r\n\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerService {\r\n constructor() { }\r\n public console(message: string, level: LogLevel, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n switch (level) {\r\n case LogLevel.Log:\r\n this.log(message, format, optionalParams);\r\n break;\r\n case LogLevel.Dir:\r\n this.dir(message, format, optionalParams);\r\n break;\r\n case LogLevel.Trace:\r\n this.trace(level + ': ' + message, format, optionalParams);\r\n break;\r\n case LogLevel.Info:\r\n this.info(level + ': ' + message, format, optionalParams);\r\n break;\r\n case LogLevel.Debug:\r\n this.debug(level + ': ' + message, format, optionalParams);\r\n break;\r\n case LogLevel.Warning:\r\n this.warn(level + ': ' + message, format, optionalParams);\r\n break;\r\n case LogLevel.Error:\r\n case LogLevel.Fatal:\r\n this.error(level + ': ' + message, format, optionalParams);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public log(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.log(message, format, optionalParams);\r\n } else {\r\n console.log(message, format);\r\n }\r\n }\r\n }\r\n\r\n public dir(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.dir(message, optionalParams);\r\n } else {\r\n console.dir(message);\r\n }\r\n }\r\n }\r\n\r\n public trace(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.trace(message, format, optionalParams);\r\n } else {\r\n console.trace(message, format);\r\n }\r\n }\r\n }\r\n\r\n public info(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.info(message, format, optionalParams);\r\n } else {\r\n console.info(message, format);\r\n }\r\n }\r\n }\r\n\r\n public debug(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.debug(message, format, optionalParams);\r\n } else {\r\n console.debug(message, format);\r\n }\r\n }\r\n }\r\n\r\n public warn(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.warn(message, format, optionalParams);\r\n } else {\r\n console.warn(message, format);\r\n }\r\n }\r\n }\r\n\r\n public error(message: string, format?: string, optionalParams?: any[]): void {\r\n if ((window).ConsolLog) {\r\n if (optionalParams && optionalParams.length > 0) {\r\n console.error(message, format, optionalParams);\r\n } else {\r\n console.error(message, format);\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of, BehaviorSubject } from 'rxjs';\r\nimport { SocoHttpService, ApiResult } from '@app/base/soco';\r\nimport {\r\n EntityLookup, CompanyDetails, City, State, County, LocalDistrict,\r\n GasLoadMultiplier, QuestionsLkp, GasDeliveryPressure, GasLoadAppliance, ServiceCenter, GasRequestType, GasRequestTypeBcaCode,\r\n Messages, GasRequestTypeCode, GasRequestStatus, Type, DevelopmentStreetTypeCode, LookupItem, WorkRequestType,\r\n BannerMessages, BuildingType, UtitlityEasementTypeCode\r\n} from '@app/core/models';\r\nimport { LookupsEnum } from '@app/base/core/models';\r\nimport { CountyDetailsModel } from '@app/shared/models/countydetails.model';\r\n\r\n\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LookupsService {\r\n // Eagerly Loaded Lookup, loaded before app start to properly render UI.\r\n companies: CompanyDetails; // LDCs\r\n\r\n pleaseWaitMsg = 'Processing.';\r\n\r\n // Lazy loaded Common Lookups\r\n states: State[];\r\n counties: County[];\r\n directions: LookupItem[];\r\n streetTypes: LookupItem[];\r\n cities: LookupItem[];\r\n projectTypes: EntityLookup;\r\n contactTypes: EntityLookup;\r\n bcaStatus: EntityLookup[];\r\n developmentStatus: EntityLookup;\r\n constructionStatus: EntityLookup;\r\n gasQuestionnaires: QuestionsLkp[];\r\n gasRequestStatus: EntityLookup;\r\n gasRequestType: GasRequestTypeCode[];\r\n gasRequestTypeBcaCode: GasRequestTypeBcaCode[];\r\n bcaType: GasRequestType[];\r\n buildingTypes: BuildingType[];\r\n countyDetails: CountyDetailsModel ;\r\n messages: Messages[];\r\n developmentStreetType: DevelopmentStreetTypeCode[];\r\n UtilityEasementType: UtitlityEasementTypeCode[];\r\n WorkRequestType: WorkRequestType[];\r\n LotStatusTypes: LookupItem[];\r\n MarketerOfChoice: LookupItem[];\r\n MarketerOfChoiceUndecided: LookupItem[];\r\n serviceCenters: ServiceCenter[];\r\n bannerMessages: BannerMessages[];\r\n localDistrict: LocalDistrict[];\r\n\r\n\r\n // On-demand lookups, loaded based on LDC and Request Type\r\n loadType: GasLoadAppliance[];\r\n deliveryPressure: GasDeliveryPressure[];\r\n defaultResidentialPressure: EntityLookup;\r\n defaultCommercialPressure: EntityLookup;\r\n gasLoadMultiplier: GasLoadMultiplier[];\r\n wrLoadArmLkp: any[];\r\n county: County[];\r\n // On-demand service address lookups, loaded when user select a service address\r\n serviceState: State[];\r\n serviceCity: City[];\r\n serviceCounty: County[];\r\n meterDuplicate: Type;\r\n bcaDuplicate: GasRequestStatus;\r\n\r\n // On-demand mailing address lookups, loaded when user select a service address\r\n mailingCity: City[];\r\n mailingState: State[];\r\n\r\n // static phone type list, can be moved to api later if needed\r\n phoneNumberType: any[] = [{id: 1, itemName: 'MOBILE'}, {id: 2, itemName: 'WORK'}, {id: 3, itemName: 'HOME'}];\r\n contractRejectReason: any[];\r\n public commonLookupsLoaded = false;\r\n private commonLookupsSource = new BehaviorSubject(false);\r\n public commonLookupsLoaded$ = this.commonLookupsSource.asObservable();\r\n\r\n private bcaLookupsSource = new BehaviorSubject(false);\r\n public bcaLookupsLoaded$ = this.bcaLookupsSource.asObservable();\r\n private builderBcaLookupsSource = new BehaviorSubject(false);\r\n public builderBcaLookupsLoaded$ = this.bcaLookupsSource.asObservable();\r\n\r\n private serviceAddressLookupsSource = new BehaviorSubject(false);\r\n public serviceAddressLookupsLoaded$ = this.serviceAddressLookupsSource.asObservable();\r\n\r\n private mailingAddressLookupsSource = new BehaviorSubject(false);\r\n public mailingAddressLookupsLoaded$ = this.mailingAddressLookupsSource.asObservable();\r\n\r\n constructor(private socoHttp: SocoHttpService) { }\r\n\r\n public loadCommonLookups() {\r\n this.commonLookupsLoaded = false;\r\n this.commonLookupsSource.next(false);\r\n this.fetchCommonLookups().subscribe(results => {\r\n this.states = results.data[LookupsEnum.States].lookupValues;\r\n this.projectTypes = results.data[LookupsEnum.ProjectTypes];\r\n this.contactTypes = results.data[LookupsEnum.ContactTypes];\r\n this.bcaStatus = results.data[LookupsEnum.BcaStatus].lookupValues;\r\n this.developmentStatus = results.data[LookupsEnum.DevelopmentStatus];\r\n this.cities = results.data[LookupsEnum.City].lookupValues;\r\n this.counties = results.data[LookupsEnum.County].lookupValues;\r\n this.constructionStatus = results.data[LookupsEnum.ConstructionStatus];\r\n this.gasQuestionnaires = results.data[LookupsEnum.GasQuestionnaires].lookupValues;\r\n this.gasRequestStatus = results.data[LookupsEnum.GasRequestStatus];\r\n this.gasRequestType = results.data[LookupsEnum.GasRequestType].lookupValues;\r\n this.gasRequestTypeBcaCode = results.data[LookupsEnum.GasRequestTypeBcaCode].lookupValues;\r\n this.bcaType = results.data[LookupsEnum.BCAType].lookupValues;\r\n this.messages = results.data[LookupsEnum.Messages].lookupValues;\r\n this.serviceCenters = results.data[LookupsEnum.ServiceCenter].lookupValues;\r\n this.WorkRequestType = results.data[LookupsEnum.WorkRequestType].lookupValues;\r\n this.LotStatusTypes = results.data[LookupsEnum.LotStatusType].lookupValues;\r\n this.MarketerOfChoice = results.data[LookupsEnum.MarketerOfChoice].lookupValues.filter(x => x.active === 'Y');\r\n this.MarketerOfChoice.sort((a, b) => (a.itemName > b.itemName) ? 1 : -1);\r\n this.MarketerOfChoiceUndecided = results.data[LookupsEnum.MarketerOfChoice].lookupValues.filter(x => x.active === 'Y');\r\n this.MarketerOfChoiceUndecided.sort((a, b) => (a.itemName > b.itemName) ? 1 : -1);\r\n this.bannerMessages = results.data[LookupsEnum.BannerMessages].lookupValues;\r\n this.developmentStreetType = results.data[LookupsEnum.DevelopmentStreetType].lookupValues;\r\n this.UtilityEasementType = results.data[LookupsEnum.UtilityEasementType].lookupValues;\r\n this.directions = results.data[LookupsEnum.Direction].lookupValues;\r\n this.serviceCounty = results.data[LookupsEnum.County].lookupValues;\r\n this.localDistrict = results.data[LookupsEnum.LocalDistrict].lookupValues;\r\n this.contractRejectReason = results.data[LookupsEnum.ContractRejectTeason].lookupValues;\r\n this.commonLookupsSource.next(true);\r\n this.commonLookupsLoaded = true;\r\n });\r\n }\r\n\r\n public loadBcaLookups(requestType: string, state: string) {\r\n this.bcaLookupsSource.next(false);\r\n this.fetchBcaLookups(requestType, state).subscribe(results => {\r\n this.loadType = results.data[LookupsEnum.LoadType].lookupValues;\r\n this.deliveryPressure = results.data[LookupsEnum.DeliveryPressure].lookupValues;\r\n this.defaultResidentialPressure = results.data[LookupsEnum.DefaultResidentialPressure];\r\n this.defaultCommercialPressure = results.data[LookupsEnum.DefaultCommercialPressure];\r\n this.gasLoadMultiplier = results.data[LookupsEnum.GasLoadMultiplier].lookupValues;\r\n this.wrLoadArmLkp = results.data[LookupsEnum.WRLoadARMLookup].lookupValues;\r\n this.buildingTypes = results.data[LookupsEnum.BuildingType].lookupValues;\r\n this.serviceCounty = results.data[LookupsEnum.County].lookupValues;\r\n this.bcaLookupsSource.next(true);\r\n });\r\n }\r\n public loadBuilderBcaLookups(requestType: string, state: string) {\r\n this.bcaLookupsSource.next(false);\r\n this.fetchBuilderBcaLookups(requestType, state).subscribe(results => {\r\n this.loadType = results.data[LookupsEnum.LoadType].lookupValues;\r\n this.deliveryPressure = results.data[LookupsEnum.DeliveryPressure].lookupValues;\r\n this.defaultResidentialPressure = results.data[LookupsEnum.DefaultResidentialPressure];\r\n this.defaultCommercialPressure = results.data[LookupsEnum.DefaultCommercialPressure];\r\n this.gasLoadMultiplier = results.data[LookupsEnum.GasLoadMultiplier].lookupValues;\r\n this.wrLoadArmLkp = results.data[LookupsEnum.WRLoadARMLookup].lookupValues;\r\n this.buildingTypes = results.data[LookupsEnum.BuildingType].lookupValues;\r\n this.serviceCounty = results.data[LookupsEnum.County].lookupValues;\r\n this.builderBcaLookupsSource.next(true);\r\n });\r\n }\r\n\r\n public resolveServiceAddressLookups(serviceAddress: any) {\r\n this.serviceAddressLookupsSource.next(false);\r\n this.fetchServiceAddressResolver(serviceAddress).subscribe(results => {\r\n this.serviceState = results.data[LookupsEnum.State].lookupValues;\r\n this.serviceCity = results.data[LookupsEnum.City].lookupValues;\r\n this.serviceCounty = results.data[LookupsEnum.County].lookupValues;\r\n this.meterDuplicate = results.data[LookupsEnum.MeterExist];\r\n this.bcaDuplicate = results.data[LookupsEnum.BcaDuplicate];\r\n this.serviceAddressLookupsSource.next(true);\r\n });\r\n }\r\n\r\n public resolveBuilderServiceAddressLookups(serviceAddress: any) {\r\n this.serviceAddressLookupsSource.next(false);\r\n this.fetchBuilderServiceAddressResolver(serviceAddress).subscribe(results => {\r\n this.serviceState = results.data[LookupsEnum.State].lookupValues;\r\n this.serviceCity = results.data[LookupsEnum.City].lookupValues;\r\n this.serviceCounty = results.data[LookupsEnum.County].lookupValues;\r\n this.meterDuplicate = results.data[LookupsEnum.MeterExist];\r\n this.serviceAddressLookupsSource.next(true);\r\n });\r\n }\r\n\r\n public resolveBCAFoundBuilder(serviceAddress: any) {\r\n this.fetchBCAFoundBuilder(serviceAddress).subscribe(results => {\r\n this.bcaDuplicate = results.data;\r\n });\r\n }\r\n\r\n public loadServiceAddressLookups(state: string, city: string, county: string) {\r\n this.serviceAddressLookupsSource.next(false);\r\n this.countyDetails = {cityName: city, countyName: county, stateName: state};\r\n this.fetchCityAndCountyByName(this.countyDetails).subscribe(results => {\r\n this.serviceState = results.data[LookupsEnum.State].lookupValues;\r\n this.serviceCity = results.data[LookupsEnum.City].lookupValues;\r\n this.serviceCounty = results.data[LookupsEnum.County].lookupValues;\r\n this.serviceAddressLookupsSource.next(true);\r\n });\r\n }\r\n\r\n public loadMailingAddressCityLookups(state: string, city: string) {\r\n this.mailingAddressLookupsSource.next(false);\r\n this.fetchCityByName(state, city).subscribe(results => {\r\n this.mailingCity = [results.data];\r\n this.mailingState = [this.states.find(x => x.id.toUpperCase() === state.toUpperCase())];\r\n this.mailingAddressLookupsSource.next(true);\r\n });\r\n }\r\n\r\n // HTTP Fetches\r\n private fetchCommonLookups(): Observable> {\r\n return this.socoHttp.get({\r\n url: 'Common/GetCommonLookups'\r\n });\r\n }\r\n\r\n private fetchBcaLookups(requestType: string, state: string): Observable> {\r\n return this.socoHttp.get({\r\n url: 'Common/GetBcaLookups',\r\n params: { 'requestType': requestType, 'state': state }\r\n });\r\n }\r\n\r\n private fetchBuilderBcaLookups(requestType: string, state: string): Observable> {\r\n return this.socoHttp.get({\r\n url: 'Common/GetBcaLookups',\r\n params: { 'requestType': requestType, 'state': state },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: this.pleaseWaitMsg,\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n private fetchCityByName(state: string, city: string): Observable> {\r\n return this.socoHttp.get({\r\n url: 'Common/GetCityByName',\r\n params: { 'state': state, 'city': city }\r\n });\r\n }\r\n\r\n private fetchCityAndCountyByName(countyDetails: CountyDetailsModel): Observable> {\r\n return this.socoHttp.get({\r\n url: 'Common/ResolveCityCountyByName',\r\n params: countyDetails,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: this.pleaseWaitMsg,\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n private fetchServiceAddressResolver(serviceAddress: any): Observable> {\r\n return this.socoHttp.get({\r\n url: 'Applicant/ResolveServiceAddress',\r\n params: serviceAddress,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: this.pleaseWaitMsg,\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n private fetchBuilderServiceAddressResolver(serviceAddress: any): Observable> {\r\n return this.socoHttp.get({\r\n url: 'BuilderLookups/ResolveServiceAddress',\r\n params: serviceAddress,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: this.pleaseWaitMsg,\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n private fetchBCAFoundBuilder(serviceAddress: any): Observable> {\r\n return this.socoHttp.get({\r\n url: 'BuilderLookups/BCAFound',\r\n params: serviceAddress,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: this.pleaseWaitMsg,\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n \r\n GetGoogleAnalyticsAccount(): Observable> {\r\n return this.socoHttp.get({\r\n url: 'applicant/GasGoogleAnalytics'\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CompanyDetails, CompaniesEnum, HomeTabsEnum, HomeSubtabsEnum, BuilderInfo, Gasbca, BCASearch, Subsidiary } from '@app/core/models';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionService {\r\n paramLdc: string = CompaniesEnum.SC;\r\n Bid: string;\r\n User: string;\r\n activeLdc: CompanyDetails;\r\n sourceToContract: string;\r\n projectName: string;\r\n\r\n public messageSource = new BehaviorSubject(null);\r\n GridData = this.messageSource.asObservable();\r\n\r\n public flag = new BehaviorSubject(null);\r\n waitFlag = this.flag.asObservable();\r\n\r\n public result = new BehaviorSubject(null);\r\n builderData = this.result.asObservable();\r\n\r\n public bcaData = new BehaviorSubject(null);\r\n BcaData = this.bcaData.asObservable();\r\n\r\n public projectList = new BehaviorSubject(null);\r\n ProjectList$ = this.projectList.asObservable();\r\n\r\n public projectData = new BehaviorSubject(null);\r\n ProjectData$ = this.projectData.asObservable();\r\n\r\n public showActiveProjectData = new BehaviorSubject(null);\r\n ShowActiveProjectData$ = this.showActiveProjectData.asObservable();\r\n\r\n public companyNames = new BehaviorSubject(null);\r\n builderCompanies = this.companyNames.asObservable();\r\n\r\n public search = new BehaviorSubject(null);\r\n searchFilter = this.search.asObservable();\r\n\r\n public searchInside = new BehaviorSubject(null);\r\n SearchInside$ = this.searchInside.asObservable();\r\n\r\n public showBuilderHeader = new BehaviorSubject(null);\r\n showBuilderHeader$ = this.showBuilderHeader.asObservable();\r\n\r\n public subsidiaryInfo = new BehaviorSubject(null);\r\n subsidiaryDetails = this.subsidiaryInfo.asObservable();\r\n\r\n // TODO: DSS: created an observable to support failing applicant calls - BT 3/5/24\r\n public activeLdc$ = new BehaviorSubject(null);\r\n activeLdcDetails = this.activeLdc$.asObservable();\r\n\r\n constructor() { }\r\n // function to store subsidiary details\r\n GetSubsidiary(passSubsidiaryDetails: Subsidiary[]) {\r\n this.subsidiaryInfo.next(passSubsidiaryDetails);\r\n }\r\n // function to store bca a project number and gr number\r\n GetGrid(passGrid: Object) {\r\n this.messageSource.next(passGrid);\r\n }\r\n // function to store wait flag\r\n GetwaitFlag(passFlag: boolean) {\r\n this.flag.next(passFlag);\r\n }\r\n // function to store builder information\r\n GetBuilderData(passBuilderData: BuilderInfo) {\r\n this.result.next(passBuilderData);\r\n }\r\n // function to store BCA grid data\r\n GetBcaData(passBcaData: Gasbca) {\r\n this.bcaData.next(passBcaData);\r\n }\r\n // function to store project data\r\n GetProjectData(passProjectData: any) {\r\n this.projectData.next(passProjectData);\r\n }\r\n\r\n // function to pass totalProjectList\r\n GetProjectList(passProjectList: any) {\r\n this.projectList.next(passProjectList);\r\n }\r\n // function to store whether to show active projects\r\n GetShowActiveProjects(passActiveProject: any) {\r\n this.showActiveProjectData.next(passActiveProject);\r\n }\r\n\r\n // function to store to show builder header\r\n GetShowBuilderHeader(show: boolean) {\r\n this.showBuilderHeader.next(show);\r\n }\r\n\r\n // function to store builder company data\r\n GetCompanies(passBuilderCompanies: any[]) {\r\n this.companyNames.next(passBuilderCompanies);\r\n }\r\n // function to store search filters at home screen\r\n GetSearchFilter(passSearchfilters: BCASearch) {\r\n this.search.next(passSearchfilters);\r\n }\r\n\r\n // function to store seachInside filters at project panel\r\n GetSearchInsideFilter(passSearchInside: any) {\r\n this.searchInside.next(passSearchInside);\r\n }\r\n\r\n // TODO: DSS: Created this to fix a race condition on applicant OnInit where code is sometimes undefined - BT 3/5/24\r\n GetActiveLdc(passActiveLdc) {\r\n this.activeLdc$.next(passActiveLdc);\r\n }\r\n}\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-forbidden',\r\n templateUrl: './app.forbidden-component.html'\r\n})\r\nexport class AppForbiddenComponent implements OnInit {\r\n constructor( ) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './app.not-found-component.html'\r\n})\r\nexport class AppNotFoundComponent implements OnInit {\r\n constructor( ) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-server-error',\r\n templateUrl: './app.server-error-component.html'\r\n})\r\nexport class AppServerErrorComponent implements OnInit {\r\n constructor( ) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppForbiddenComponent, AppNotFoundComponent, AppServerErrorComponent } from '@app/base/errors';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [AppForbiddenComponent, AppNotFoundComponent, AppServerErrorComponent],\r\n exports: [\r\n AppNotFoundComponent,\r\n AppForbiddenComponent,\r\n AppServerErrorComponent\r\n ]\r\n})\r\nexport class ErrorsModule { }\r\n","export * from '@app/errors/error-403/app.forbidden-component';\r\nexport * from '@app/errors/error-404/app.not-found-component';\r\nexport * from '@app/errors/error-500/app.server-error-component';\r\n","import { Component, Input, Output, EventEmitter, OnInit, forwardRef, AfterViewInit,\r\n SimpleChanges, OnChanges, SimpleChange } from '@angular/core';\r\nimport { UspsService } from '@app/shared/services/usps.service';\r\n\r\n// gre-toggle\r\n@Component({\r\n selector: 'gre-address-validation',\r\n template: `\r\n
\r\n
Verify your address
\r\n
\r\n

We could not find any matching address in USPS Database.

\r\n

Please edit your address, or use your original address.

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

We found a matching address in USPS Database.

\r\n

Please choose which version of address you want to enter

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Original Address
\r\n

{{addressToValidate.street | uppercase}}

\r\n

{{addressToValidate.city | uppercase }},{{addressToValidate.state | uppercase }}, {{addressToValidate.zip}}\r\n

\r\n \r\n
\r\n
\r\n
Suggested Address
\r\n

Address not found.

\r\n

Click here to change it

\r\n
\r\n
\r\n
Suggested Address
\r\n

{{validatedAddress.street}}

\r\n

{{validatedAddress.city}},{{validatedAddress.state}}, {{validatedAddress.zip}}

\r\n \r\n
\r\n
\r\n `,\r\n})\r\nexport class AddressValidationComponent implements OnInit {\r\n @Input('originalAddress') addressToValidate: any = null;\r\n @Input() validatedAddress: any = null;\r\n @Output() selectedAddress = new EventEmitter();\r\n @Output() changeAddress = new EventEmitter();\r\n // addressValidationError: any;\r\n constructor() { }\r\n ngOnInit(): void { }\r\n useValidatedAdress() { this.selectedAddress.emit(this.validatedAddress); }\r\n useUnvalidatedAdress() { this.selectedAddress.emit(this.addressToValidate); }\r\n}\r\n","\r\nimport { Component, Inject, ElementRef, NgZone, OnInit, ViewChild, AfterViewInit,\r\n Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n// Breaking version - review & consider a different lib? https://www.npmjs.com/package/@angular/google-maps\r\nimport { MapsAPILoader, MouseEvent, AgmMarker } from '@agm/core';\r\n\r\nimport { Router } from '@angular/router';\r\nimport { isNullOrUndefined } from \"util\";\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { LocationService } from '@app/shared/services';\r\nimport { ConstantsService } from '@app/base/core';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\ndeclare var google: any;\r\n\r\n@Component({\r\n selector: 'gre-map',\r\n template: `\r\n \r\n \r\n \r\n
\r\n Your current address\r\n

{{addressFromMarker }}

\r\n
\r\n \r\n or Drag the pin to change the 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 styles: [`\r\n agm-map {\r\n height: 600px;\r\n position: relative\r\n }\r\n .agm-map-overlay {\r\n position: absolute;\r\n top: 10px;\r\n left: 220px;\r\n }\r\n input[type=search]::-webkit-search-cancel-button {\r\n -webkit-appearance: searchfield-cancel-button\r\n }\r\n .agm-map-overlay input {\r\n border-radius: 0px;\r\n border: 1px solid #c4baba\r\n }\r\n .text-address {\r\n max-width: 310px !important;\r\n}\r\n\r\n@media only screen and (min-width: 1000px) {\r\n .agm-map-overlay {\r\n width: 65%;\r\n }\r\n}\r\n@media only screen and (max-width: 999px) and (min-width: 771px) {\r\n .agm-map-overlay {\r\n width: 65%;\r\n }\r\n}\r\n @media only screen and (max-width: 770px) and (min-width: 600px) {\r\n .agm-map-overlay {\r\n width: 60%;\r\n }\r\n }\r\n\r\n @media only screen and (max-width: 599px) and (min-width: 451px) {\r\n .agm-map-overlay {\r\n width: 55%;\r\n }\r\n }\r\n\r\n\r\n @media only screen and (max-width: 450px) {\r\n agm-map {\r\n height: 550px;\r\n }\r\n .agm-map-overlay {\r\n width: 90%;\r\n top: 50px;\r\n left: 20px;\r\n }\r\n .button-container, .text-address{\r\n width:220px;\r\n }\r\n .button-container button {\r\n display: block;\r\n }}\r\n `]\r\n})\r\n/* istanbul ignore next */\r\nexport class CustomMapComponent implements OnInit, AfterViewInit, OnDestroy {\r\n ngOnDestroy(): void {\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n }\r\n @Input() latLng: any = null;\r\n @Output() getSelectedAddress = new EventEmitter();\r\n @Input() sorryNotification: any[];\r\n public mapTypeControl: any;\r\n public latitude: number;\r\n public longitude: number;\r\n public lat: number;\r\n public location: any = {};\r\n public long: number;\r\n public searchControl: FormControl;\r\n public zoom: number;\r\n public markerDraggable = false;\r\n public marker: Marker;\r\n public showMarker = false;\r\n public infoWindowOpen: boolean;\r\n public mapTypeId: string;\r\n public errorMsg: string;\r\n public addressFromMarker: any;\r\n public showAddress = true;\r\n addressSearchText: string;\r\n map: any;\r\n selectedAddress: any = {};\r\n @ViewChild('search', {static: false})\r\n public searchElementRef: ElementRef;\r\n @ViewChild('infowindow', {static: false})\r\n public infoWindow;\r\n isServiceable: any;\r\n\r\n constructor(\r\n @Inject(MapsAPILoader) private mapsAPILoader: MapsAPILoader,\r\n @Inject(NgZone) private ngZone: NgZone,\r\n @Inject(Router) private router: Router,\r\n public constantsSvc: ConstantsService,\r\n private locationService: LocationService,\r\n private http: SocoHttpService\r\n ) {\r\n this.zoom = 5;\r\n this.latitude = 37.1147781;\r\n this.longitude = -96.1683426;\r\n }\r\n\r\n /* istanbul ignore next */\r\n ngOnInit() {\r\n this.latitude = this.latLng.lat;\r\n this.longitude = this.latLng.lng;\r\n this.zoom = this.latLng.zoom;\r\n if (this.latLng.showMarker) {\r\n this.getGeoLocation(this.latitude, this.longitude);\r\n this.showMarker = true;\r\n this.infoWindowOpen = true;\r\n }\r\n this.mapsAPILoader.load().then(() => {\r\n this.searchControl = new FormControl();\r\n const options = { componentRestrictions: { country: 'US' } };\r\n const autocomplete = new google.maps.places.SearchBox(this.searchElementRef.nativeElement, options);\r\n autocomplete.addListener('bounds_changed', () => {\r\n this.ngZone.run(() => { autocomplete.setBounds(this.map.getBounds()); });\r\n });\r\n autocomplete.addListener('places_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: any = autocomplete.getPlaces();\r\n if (place.length === 0) {\r\n swal(this.constantsSvc.addressNotFoundSwal, this.constantsSvc.addressSwal1, 'warning');\r\n return;\r\n }\r\n if (!place[0].address_components && place[0].types[0] === 'route') {\r\n swal(this.constantsSvc.addressNotFoundSwal, this.constantsSvc.addressNotFound, 'warning');\r\n return;\r\n // tslint:disable-next-line: no-duplicated-branches\r\n } else if (place[0].address_components) {\r\n // tslint:disable-next-line: no-collapsible-if\r\n if (place[0].address_components[0].types[0] !== 'street_number') {\r\n swal(this.constantsSvc.addressNotFoundSwal, this.constantsSvc.addressNotFound, 'warning');\r\n }\r\n }\r\n\r\n this.latitude = place[0].geometry.location.lat();\r\n this.longitude = place[0].geometry.location.lng();\r\n this.zoom = 15;\r\n if (place[0].address_components != null) {\r\n this.addressFromMarker = place[0].formatted_address;\r\n this.selectedAddress = this.parseAddress(place[0]);\r\n } else {\r\n this.getGeoLocation(this.latitude, this.longitude);\r\n this.selectedAddress.latitude = this.latitude;\r\n this.selectedAddress.latitude = this.longitude;\r\n this.selectedAddress.zoomLevel = this.zoom;\r\n }\r\n this.showMarker = true;\r\n this.infoWindowOpen = true;\r\n });\r\n });\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n mapReadyHandler(map): void {\r\n this.map = map;\r\n }\r\n // setCurrentPosition() {\r\n // if (navigator.geolocation) {\r\n // navigator.geolocation.getCurrentPosition((position) => {\r\n // this.latitude = position.coords.latitude;\r\n // this.longitude = position.coords.longitude;\r\n // this.zoom = 14;\r\n // });\r\n // this.showMarker = true;\r\n // this.infoWindowOpen = false;\r\n // }\r\n // }\r\n\r\n /* istanbul ignore next */\r\n getGeoLocation(lat: number, lng: number) {\r\n if (navigator.geolocation) {\r\n const geocoder = new google.maps.Geocoder();\r\n const latlng = new google.maps.LatLng(lat, lng);\r\n const request = { latLng: latlng };\r\n geocoder.geocode(request, (results, status) => {\r\n if (status === google.maps.GeocoderStatus.OK) {\r\n this.addressFromMarker = results[0].formatted_address;\r\n this.selectedAddress = this.parseAddress(results[0]);\r\n this.addressSearchText = this.addressFromMarker;\r\n }\r\n });\r\n }\r\n }\r\n /* istanbul ignore next */\r\n mapClicked($event: MouseEvent) {\r\n this.latitude = $event.coords.lat;\r\n this.longitude = $event.coords.lng;\r\n this.getGeoLocation($event.coords.lat, $event.coords.lng);\r\n this.showMarker = true;\r\n this.infoWindowOpen = true;\r\n }\r\n /* istanbul ignore next */\r\n markerClicked($event) {\r\n this.infoWindowOpen = true;\r\n this.getGeoLocation(this.latitude, this.longitude);\r\n }\r\n /* istanbul ignore next */\r\n markerDragEnd($event: MouseEvent) {\r\n this.latitude = $event.coords.lat;\r\n this.longitude = $event.coords.lng;\r\n this.getGeoLocation(this.latitude, this.longitude);\r\n this.infoWindowOpen = true;\r\n }\r\n /* istanbul ignore next */\r\n parseAddress(addressObj) {\r\n const address: any = {};\r\n if (addressObj != null) {\r\n // loop through to get address, city, state, zip\r\n $.each(addressObj.address_components, function () {\r\n switch (this.types[0]) {\r\n case 'route':\r\n address.street_name = this.short_name;\r\n break;\r\n case 'street_number':\r\n address.street_number = this.short_name || '';\r\n break;\r\n case 'locality':\r\n address.city = this.short_name;\r\n break;\r\n case 'administrative_area_level_2':\r\n address.county = this.long_name.substring(0, this.long_name.length - 7);\r\n break;\r\n case 'administrative_area_level_1':\r\n address.state = { long_name: this.long_name, short_name: this.short_name };\r\n break;\r\n case 'postal_code':\r\n address.zip = this.short_name;\r\n break;\r\n case 'country':\r\n address.country = this.short_name;\r\n break;\r\n }\r\n });\r\n }\r\n address.formatted_address = addressObj.formatted_address;\r\n address.latitude = this.latitude;\r\n address.longitude = this.longitude;\r\n address.zoomLevel = this.zoom;\r\n return address;\r\n }\r\n /* istanbul ignore next */\r\n clickedYes() {\r\n if (isNullOrUndefined(this.selectedAddress['county'])) { this.selectedAddress.county = 'NA'; }\r\n\r\n if (!this.selectedAddress.street_number || !this.selectedAddress.street_name ||\r\n !this.selectedAddress.city || !this.selectedAddress.zip) {\r\n // swal(this.constantsSvc.errorSwal1, this.constantsSvc.addressSwal2, this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.location.latitude = this.latitude.toString();\r\n this.location.longitude = this.longitude.toString();\r\n this.location.state = this.selectedAddress.state.short_name;\r\n this.locationService.isLocationServicableById(this.location).subscribe(result => {\r\n this.isServiceable = result.data;\r\n this.selectedAddress.serviceCenter = result.data.serviceCenter;\r\n this.selectedAddress.localDistrict = result.data.localDistrict;\r\n this.selectedAddress.localDistrictCd = result.data.localDistrictCd;\r\n this.selectedAddress.xCoordinate = result.data.xCoordinate;\r\n this.selectedAddress.yCoordinate = result.data.yCoordinate;\r\n if (this.selectedAddress.county === 'NA') {\r\n this.selectedAddress.county = result.data.county;\r\n }\r\n const msg = document.createElement('div');\r\n //Default\r\n let LDC;\r\n if (this.selectedAddress.state.short_name === 'GA') {\r\n LDC = 'an Atlanta Gas Light';\r\n }\r\n if (this.selectedAddress.state.short_name === 'TN') {\r\n LDC = 'a Chattanooga Gas';\r\n }\r\n if (this.selectedAddress.state.short_name === 'VA') {\r\n LDC = 'a Virginia Natural Gas';\r\n }\r\n\r\n const message = `This address is in our service area.

Natural gas service is not guaranteed. Please request service and ${LDC} representative will contact you to confirm service availability and cost details.

`;\r\n\r\n msg.innerHTML = message;\r\n if (this.isServiceable.isServicable === 'True') {\r\n swal({\r\n content: { element: msg},\r\n icon: 'assets/images/icons/icon_94_tumbs-up-green.svg',\r\n buttons: {\r\n cancel: { text: 'Cancel', visible: true, value: false, closeModal: true },\r\n confirm: { text: 'Proceed', value: true, closeModal: true }\r\n }\r\n }).then((result) => {\r\n if (!result) { return; }\r\n // emit selected address as output to other component\r\n this.getSelectedAddress.emit(this.selectedAddress);\r\n });\r\n } else if (this.isServiceable.isServicable === 'False') {\r\n this.SorryNotification();\r\n }\r\n }, response => {\r\n if (this.http.isInvalidResult(response)) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal);\r\n } else if (response.statusCode === 500) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.exceptionError, this.constantsSvc.errorSwal);\r\n }\r\n });\r\n }\r\n /* istanbul ignore next */\r\n SorryNotification() {\r\n const msg1 = document.createElement('div');\r\n if (this.selectedAddress.state.short_name === 'GA') {\r\n msg1.innerHTML = this.sorryNotification.filter(a => a['itemName'] === 'GA')[0]['message'];\r\n } else {\r\n msg1.innerHTML = this.sorryNotification.filter(a => a['itemName'] === 'TN')[0]['message'];\r\n }\r\n\r\n swal({\r\n icon: 'assets/images/icons/no-service-in-locality icon.png',\r\n content: {\r\n element: msg1\r\n },\r\n buttons: {\r\n cancel: { text: 'Ok', visible: true, value: false, closeModal: true },\r\n },\r\n });\r\n }\r\n}\r\ninterface Marker {\r\n latitude: number;\r\n longitude: number;\r\n draggable: boolean;\r\n}\r\n","import { Component, Input, Output, EventEmitter, OnInit, forwardRef,\r\n ChangeDetectorRef, AfterViewInit, ChangeDetectionStrategy, ViewChild } from '@angular/core';\r\nimport { AbstractControl, FormGroup, ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CompositeFilterDescriptor } from '@progress/kendo-data-query';\r\nimport { FilterService, BaseFilterCellComponent } from '@progress/kendo-angular-grid';\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\n// gre-input\r\n@Component({\r\n selector: 'gre-input',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomInputComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() hidden: boolean;\r\n @Input() value: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() maxlength: string = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() errorMsgMaxLength: string = null;\r\n @Input() errorMsgMinLength: string = null;\r\n @Output() focus = new EventEmitter();\r\n controlName: string = null;\r\n @Input() title: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n }\r\n hasRequiredField(abstractControl: AbstractControl): boolean {\r\n if (abstractControl.validator) {\r\n const validator = abstractControl.validator({}as AbstractControl);\r\n if (validator && validator.required) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n}\r\n// gre-optionalinput\r\n@Component({\r\n selector: 'gre-optionalinput',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomOptionalInputComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() maxlength: number = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() errorMsgMaxLength: string = null;\r\n @Input() errorMsgMinLength: string = null;\r\n @Output() focus = new EventEmitter();\r\n @Input() icon = 'icon-address-book2';\r\n @Input() title: string = null;\r\n controlName: string = null;\r\n required = false;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n if (this.control.validator) {\r\n const validator = this.control.validator({} as AbstractControl);\r\n if (validator && validator.required) { this.required = true; }\r\n }\r\n }\r\n hasRequiredField(abstractControl: AbstractControl): boolean {\r\n if (abstractControl.validator) {\r\n const validator = abstractControl.validator({}as AbstractControl);\r\n if (validator && validator.required) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n}\r\n\r\n// gre-input-masked\r\n@Component({\r\n selector: 'gre-input-masked',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomInputMaskComponent implements OnInit\r\n{\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() maxlength: number = null;\r\n @Input() textMask: any = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() errorMsgMaxLength: string = null;\r\n @Input() errorMsgMinLength: string = null;\r\n @Input() title: string = null;\r\n @Output() focus = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n}\r\n\r\n\r\n// gre-radio\r\n@Component({\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'gre-radio',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
`,\r\n styles: [`\r\n .control-group { width: fit-content; }\r\n .control { display: inline !important; }\r\n @media(max-width: 768px) and (min-width: 300px) { .control { display: block !important; } }\r\n `]\r\n})\r\nexport class CustomRadioComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() validateLabel: boolean = null;\r\n @Input() inputValues: string[] = null;\r\n @Input() placeholder: string = null;\r\n\r\n // required: string = '';\r\n controlName: string = null;\r\n @Output() focus: EventEmitter = new EventEmitter(true);\r\n constructor() {}\r\n ngOnInit() {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n }\r\n onChange() { this.focus.emit({ controlName: this.controlName, value: this.form.controls\r\n [this.controlName].value ? this.form.controls[this.controlName].value : '' }); }\r\n}\r\n\r\n// gre-radio-type\r\n@Component({\r\n // changeDetection: ChangeDetectionStrategy.OnPush,\r\n selector: 'gre-radio-type',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
`,\r\n styles: [`\r\n .control-group { width: fit-content; }\r\n .control { display: inline !important; }\r\n @media(max-width: 768px) and (min-width: 300px) { .control { display: block !important; } }\r\n `]\r\n})\r\nexport class CustomRadioTypeComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() validateLabel: boolean = null;\r\n @Input() inputValues: any[] = [];\r\n // required: string = '';\r\n controlName: string = null;\r\n @Output() focus: EventEmitter = new EventEmitter(true);\r\n constructor() {}\r\n ngOnInit() {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n }\r\n onChange() { this.focus.emit({ controlName: this.controlName, value: this.form.controls\r\n [this.controlName].value ? this.form.controls[this.controlName].value : '' }); }\r\n}\r\n\r\n// gre-Select\r\n@Component({\r\n selector: 'gre-select',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n `,\r\n})\r\nexport class CustomSelectComponent implements OnInit {\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() cols: string = null;\r\n @Input() errorMsg: string = null;\r\n @Input() items: any[] = null;\r\n @Input() title: string = null;\r\n\r\n @Output() onSelect = new EventEmitter();\r\n @Output() onDeselect = new EventEmitter();\r\n @Output() onClick = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n }\r\n onModelChange($event): void { this.onSelect.emit($event); }\r\n onRemove($event): void { this.onDeselect.emit($event); }\r\n clicked($event): void { this.onClick.emit($event); }\r\n}\r\n\r\n// gre-number\r\n@Component({\r\n selector: 'gre-number',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n `\r\n})\r\nexport class CustomInputNumberComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() title: string = null;\r\n\r\n @Output() focus = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n onBlur(e) {\r\n if (e.which === 69 || e.which === 187 || e.which === 189 || e.which === 190) {\r\n e.preventDefault();\r\n }\r\n }\r\n}\r\n\r\n// gre-email\r\n@Component({\r\n selector: 'gre-email',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomInputEmailComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() maxlength: number = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() title: string = null;\r\n @Output() focus = new EventEmitter();\r\n @Output() blur = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n onBlur(e) {\r\n if (e.which === 32) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n\r\n// gre-tel\r\n@Component({\r\n selector: 'gre-tel',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomInputTelComponent implements OnInit {\r\n @Input() cols: string = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() maxlength: number = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() title: string = null;\r\n\r\n @Output() focus = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n\r\n onKeyPress($event) {\r\n const charCode = ($event.which) ? $event.which : $event.keyCode;\r\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n\r\n// gre-toggle\r\n@Component({\r\n selector: 'gre-toggle',\r\n template: `\r\n
\r\n \r\n {{label}}\r\n
\r\n `,\r\n styles: [`\r\n .switchery-container {display: block; display: -moz-inline-stack;*display: inline; white-space: nowrap; max-width:fit-content; }\r\n `],\r\n\r\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }]\r\n})\r\nexport class SwitchComponent implements ControlValueAccessor {\r\n @Input() label = '';\r\n @Input() id = '';\r\n @Input() form: FormGroup = null;\r\n @Input('value') _value = null;\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n get value() { return this._value; }\r\n set value(val) {\r\n this._value = val;\r\n this.onChange(val);\r\n this.onTouched();\r\n }\r\n constructor() { }\r\n registerOnChange(fn) { this.onChange = fn; }\r\n writeValue(value) { this.value = value; }\r\n registerOnTouched(fn) { this.onTouched = fn; }\r\n switch() { this.value = !this.value; }\r\n}\r\n\r\n// gre-date\r\n@Component({\r\n selector: 'gre-date',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
`\r\n})\r\nexport class CustomDateComponent implements OnInit {\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() cols: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required = '';\r\n @Input() errorMsg: string = null;\r\n // @Input() errorMsgPattern: string = null;\r\n // @Input() errorMsgMaxLength: string = null;\r\n // @Input() errorMsgMinLength: string = null;\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n };\r\n @Output() blur = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n if (this.form.controls[this.controlName].value === null || this.form.controls[this.controlName].value === '') {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n if (this.form.controls[this.controlName].invalid) {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n blurDate() {\r\n if (this.form.controls[this.controlName].value === null || this.form.controls[this.controlName].value === '' ||\r\n this.form.controls[this.controlName].invalid ) {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n\r\n updateDateRange($event: any, controlName): void {\r\n const selectedDate: any = moment($event.start).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n}\r\n\r\n// gre-plannedDateinput\r\n@ViewChild('date', {static: false})\r\n@Component({\r\n selector: 'gre-plannedDateinput',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomPlannedDateInputComponent implements OnInit {\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() cols: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required = '';\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() clicked = false;\r\n // @Input() errorMsgPattern: string = null;\r\n // @Input() errorMsgMaxLength: string = null;\r\n // @Input() errorMsgMinLength: string = null;\r\n dateToday = new Date();\r\n public dateOptions: any = {\r\n locale: { format: 'MM/DD/YYYY' },\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: false,\r\n showDropdowns: true,\r\n minDate: this.dateToday,\r\n date: {\r\n startDate: null,\r\n endDate: null\r\n }\r\n };\r\n @Output() blur = new EventEmitter();\r\n @Output() click = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n setTimeout(function() {\r\n }, 100);\r\n }\r\n updateDateRange($event: any, controlName): void {\r\n const selectedDate: any = moment($event.start).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n}\r\n\r\n// gre-dateinput\r\n@ViewChild('date', {static: false})\r\n@Component({\r\n selector: 'gre-dateinput',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomDateInputComponent implements OnInit {\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() cols: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required = '';\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() clicked = false;\r\n // @Input() errorMsgPattern: string = null;\r\n // @Input() errorMsgMaxLength: string = null;\r\n // @Input() errorMsgMinLength: string = null;\r\n public dateOptions: any = {\r\n locale: { format: 'MM/DD/YYYY' },\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: false,\r\n showDropdowns: true,\r\n date: {\r\n startDate: null,\r\n endDate: null\r\n }\r\n };\r\n @Output() blur = new EventEmitter();\r\n @Output() click = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n setTimeout(function() {\r\n }, 100);\r\n }\r\n updateDateRange($event: any, controlName): void {\r\n const selectedDate: any = moment($event.start).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n}\r\n\r\n// gre-datemodal\r\n@Component({\r\n selector: 'gre-datemodal',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
`\r\n})\r\nexport class CustomDateModalComponent implements OnInit {\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() cols: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required = '';\r\n @Input() errorMsg: string = null;\r\n // @Input() errorMsgPattern: string = null;\r\n // @Input() errorMsgMaxLength: string = null;\r\n // @Input() errorMsgMinLength: string = null;\r\n @Input() myOptions: any = null;\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n };\r\n @Output() blur = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n if (this.form.controls[this.controlName].value === null || this.form.controls[this.controlName].value === '') {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n if (this.form.controls[this.controlName].invalid) {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n blurDate() {\r\n if (this.form.controls[this.controlName].value === null || this.form.controls[this.controlName].value === '' ||\r\n this.form.controls[this.controlName].invalid) {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n\r\n updateDateRange($event: any, controlName): void {\r\n const selectedDate: any = moment($event.start).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n}\r\n\r\n// gre-datetoday\r\n@Component({\r\n selector: 'gre-datetoday',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
`\r\n})\r\nexport class CustomDateTodayComponent implements OnInit {\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() cols: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required = '';\r\n @Input() errorMsg: string = null;\r\n // @Input() errorMsgPattern: string = null;\r\n // @Input() errorMsgMaxLength: string = null;\r\n // @Input() errorMsgMinLength: string = null;\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n minDate: moment().addWorkdays(0),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n };\r\n @Output() blur = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n if (this.form.controls[this.controlName].value === null || this.form.controls[this.controlName].value === '') {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n if (this.form.controls[this.controlName].invalid) {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n blurDate() {\r\n if (this.form.controls[this.controlName].value === null || this.form.controls[this.controlName].value === '' ||\r\n this.form.controls[this.controlName].invalid) {\r\n const selectedDate: any = moment(this.dateOptions.minDate).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n\r\n updateDateRange($event: any, controlName): void {\r\n const selectedDate: any = moment($event.start).format('MM/DD/YYYY');\r\n this.form.controls[this.controlName].setValue(selectedDate, { onlySelf: true });\r\n this.form.updateValueAndValidity();\r\n }\r\n}\r\n\r\n// gre-textbox\r\n@Component({\r\n selector: 'gre-textarea',\r\n template: `\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
`\r\n})\r\nexport class CustomTextareaComponent implements OnInit {\r\n @Input() rows: number = null;\r\n @Input() cols: number = null;\r\n @Input() form: FormGroup = null;\r\n @Input() control: any = null;\r\n @Input() label: string = null;\r\n @Input() placeholder: string = null;\r\n @Input() required: string = null;\r\n @Input() maxlength: number = null;\r\n @Input() errorMsg: string = null;\r\n @Input() errorMsgPattern: string = null;\r\n @Input() errorMsgMaxLength: string = null;\r\n @Input() errorMsgMinLength: string = null;\r\n @Input() title: string = null;\r\n @Output() focus = new EventEmitter();\r\n controlName: string = null;\r\n ngOnInit(): void {\r\n this.controlName = Object.keys(this.control.parent.controls).find(c => this.control === this.control.parent.controls[c]) || null;\r\n this.placeholder = this.placeholder ? this.placeholder : this.label;\r\n }\r\n onFocus($event): void { this.focus.emit($event); }\r\n}\r\n","import { Component, Inject, ElementRef, NgZone, OnInit, ViewChild, AfterViewInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MapsAPILoader } from '@agm/core';\r\nimport { ConstantsService } from '@app/base/core';\r\n\r\ndeclare var google: any;\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'address-autocomplete',\r\n template: `\r\n
\r\n\r\n \r\n
\r\n `,\r\n})\r\n\r\n/* istanbul ignore next */\r\nexport class AutocompleteComponent implements OnInit, AfterViewInit {\r\n @Input() adressType = 'address';\r\n @Input() label: string = null;\r\n @Output() getSelectedAddress = new EventEmitter();\r\n @Output() getAddress = new EventEmitter();\r\n public searchControl: FormControl;\r\n public showAddress = true;\r\n @Input() addressSearchText: string;\r\n selectedAddress: any = {};\r\n @ViewChild('search', {static: false})\r\n public searchElementRef: ElementRef;\r\n\r\n constructor(\r\n @Inject(MapsAPILoader) private mapsAPILoader: MapsAPILoader,\r\n @Inject(NgZone) private ngZone: NgZone,\r\n public constantsSvc: ConstantsService) {}\r\n\r\n /* istanbul ignore next */\r\n ngOnInit() {\r\n this.mapsAPILoader.load().then(() => {\r\n this.searchControl = new FormControl();\r\n const options = { componentRestrictions: { country: 'US' }, types: [this.adressType] };\r\n const autocomplete = new google.maps.places.SearchBox(this.searchElementRef.nativeElement, options);\r\n\r\n autocomplete.addListener('places_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: any = autocomplete.getPlaces();\r\n if (place.length === 0) {\r\n swal(this.constantsSvc.addressNotFoundSwal, this.constantsSvc.addressSwal1, this.constantsSvc.warningSwal);\r\n return;\r\n }\r\n\r\n if (place[0].address_components != null) {\r\n this.selectedAddress = this.parseAddress(place[0]);\r\n this.getSelectedAddress.emit(this.selectedAddress);\r\n }\r\n });\r\n });\r\n });\r\n }\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n onKeyUp() {\r\n this.getAddress.emit(this.addressSearchText);\r\n }\r\n /* istanbul ignore next */\r\n parseAddress(addressObj) {\r\n const address: any = {};\r\n if (addressObj != null) {\r\n // loop through to get address, city, state, zip\r\n addressObj.address_components.forEach(element => {\r\n switch (element.types[0]) {\r\n case 'route':\r\n address.street_name = element.short_name;\r\n break;\r\n case 'street_number':\r\n address.street_number = element.short_name || '';\r\n break;\r\n case 'locality':\r\n address.city = element.short_name;\r\n break;\r\n case 'administrative_area_level_2':\r\n address.county = element.long_name.substring(0, element.long_name.length - 7);\r\n break;\r\n case 'administrative_area_level_1':\r\n address.state = { long_name: element.long_name, short_name: element.short_name };\r\n break;\r\n case 'postal_code':\r\n address.zip = element.short_name;\r\n break;\r\n case 'country':\r\n address.country = element.short_name;\r\n break;\r\n }\r\n });\r\n }\r\n address.formatted_address = addressObj.formatted_address;\r\n address.latitude = addressObj.geometry.location.lat();\r\n address.longitude = addressObj.geometry.location.lng();\r\n return address;\r\n }\r\n}\r\ninterface Marker {\r\n latitude: number;\r\n longitude: number;\r\n draggable: boolean;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","export * from '@app/shared/controls/custom.component';\r\nexport * from '@app/shared/controls/custom-map.component';\r\nexport * from '@app/shared/controls/address-validation.component';\r\nexport * from '@app/shared/controls/google-autocomplete.component';\r\n","import { FormGroup, FormControl, FormArray, AbstractControl } from '@angular/forms';\r\n\r\n/* istanbul ignore next */\r\nexport function triggerFormValidation(formGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n if (!control.valid) { control.markAsTouched({ onlySelf: true }); }\r\n } else if (control instanceof FormArray) {\r\n if (!control.valid) {\r\n control.controls.forEach(group => { triggerFormValidation(group); });\r\n }\r\n } else if (control instanceof FormGroup) {\r\n triggerFormValidation(control);\r\n }\r\n });\r\n}\r\n/* istanbul ignore next */\r\nexport function focusFirstInvalidField(formGroup) {\r\n\r\n Object.keys(formGroup.controls).some(fieldName => {\r\n const control = formGroup.get(fieldName);\r\n if (control instanceof FormControl && !control.valid && !control.disabled) {\r\n const elm = $('#' + fieldName);\r\n if (elm.length > 0) {\r\n $('html,body').animate({ scrollTop: elm.offset().top - 30 }, 'slow');\r\n elm.focus();\r\n\r\n return true;\r\n }\r\n } else if (control instanceof FormArray) {\r\n if (!control.valid) {\r\n control.controls.forEach((group: FormGroup) => {\r\n Object.keys(group.controls).some(fieldName => {\r\n const elm = $('.ng-invalid').filter('input, .ng-select');\r\n if (elm.length !== 0) {\r\n elm[0].focus();\r\n elm[0].scrollIntoView({ behavior: 'smooth' });\r\n }\r\n return true;\r\n });\r\n });\r\n }\r\n\r\n } else if (control instanceof FormGroup) {\r\n focusFirstInvalidField(control);\r\n }\r\n });\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport function scrollToHeader() {\r\n setTimeout(() => {\r\n const elm = $('#form-header');\r\n if (elm.length > 0) { $('html,body').animate({ scrollTop: elm.offset().top - 20 }, 'slow'); }\r\n }, 250);\r\n}\r\n/* istanbul ignore next */\r\nexport function compareObjects(obj1: any, obj2: any): boolean {\r\n return JSON.stringify(obj1) === JSON.stringify(obj2);\r\n}\r\n/* istanbul ignore next */\r\nexport function getFormValidators(_formGroup) {\r\n const formValidators = [];\r\n const recursiveFunc = (formGroup) => {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n formValidators.push({ name: field, valid: control.valid, disabled: control.disabled,\r\n required: hasRequiredField(control), value: control.value, errors: control.errors });\r\n } else if (control instanceof FormArray) {\r\n control.controls.forEach(group => { recursiveFunc(group); });\r\n } else if (control instanceof FormGroup) {\r\n recursiveFunc(control);\r\n }\r\n });\r\n };\r\n recursiveFunc(_formGroup);\r\n return formValidators;\r\n}\r\n/* istanbul ignore next */\r\nexport const hasRequiredField = (abstractControl: AbstractControl): boolean => {\r\n if (abstractControl.validator) {\r\n const validator = abstractControl.validator({} as AbstractControl);\r\n if (validator && validator.required) { return true; }\r\n }\r\n return false;\r\n};\r\n\r\n\r\nexport function phoneNumber(tel: any): string {\r\n let phone = '';\r\n const toString = String(tel),\r\n phoneNumber = toString.replace(/[^0-9]/g, ''),\r\n countArrayStr = phoneNumber.split(''),\r\n numberVar = countArrayStr.length,\r\n closeStr = countArrayStr.join('');\r\n if (numberVar === 10) {\r\n phone = closeStr.replace(/(\\d{3})(\\d{3})(\\d{4})/, '$1$2$3');\r\n // Change number symbols here for numbers 10 digits in length. Just change the periods to what ever is needed.\r\n } else if (numberVar > 10) {\r\n const howMany = closeStr.length,\r\n subtract = 10 - howMany,\r\n phoneBeginning = closeStr.slice(0, subtract),\r\n phoneExtention = closeStr.slice(subtract),\r\n disX = 'x', // Change the extension symbol here\r\n phoneBeginningReplace = phoneBeginning.replace(\r\n /(\\d{3})(\\d{3})(\\d{4})/,\r\n '$1.$2.$3'\r\n ), // Change number symbols here for numbers greater than 10 digits in length. Just change the periods and to what ever is needed.\r\n array = [phoneBeginningReplace, disX, phoneExtention];\r\n phone = array.join('');\r\n } else {\r\n phone = 'invalid number US number';\r\n }\r\n return phone;\r\n}\r\n\r\nexport function isNullOrUndefined(object: any): boolean {\r\n return object === null || typeof object === undefined;\r\n}\r\n","export * from '@app/shared/functions/forms.functions';\r\n","import { Observable } from 'rxjs';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { ConstantsService } from '@app/base/core/services/constants.service';\r\n\r\nexport interface CanComponentDeactivate {\r\n canDeactivate: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) => Observable | Promise | boolean;\r\n}\r\n\r\ninterface CanDeactivate {\r\n canDeactivate(component: T, currentRoute: ActivatedRouteSnapshot, currentState:\r\n RouterStateSnapshot, nextState?: RouterStateSnapshot): Observable | Promise | boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class CanDeactivateGuard implements CanDeactivate {\r\n constructor( public constantsSVc: ConstantsService ) {}\r\n canDeactivate(component: CanComponentDeactivate, route: ActivatedRouteSnapshot, state:\r\n RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (component && component.canDeactivate) {\r\n window.history.pushState('', '', state.url);\r\n return component.canDeactivate(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n\r\n","export * from '@app/shared/guards/can-deactivate.guard';\r\n","export * from '@app/shared/functions';\r\nexport * from '@app/shared/guards';\r\nexport * from '@app/shared/controls';\r\nexport * from '@app/shared/services';\r\nexport * from '@app/shared/shared.module';\r\n","export class GasRequestModel {\r\n id: number;\r\n bcaId: number;\r\n refId: string;\r\n countyId: string;\r\n landDistrict: string;\r\n landLot: string;\r\n buildOutRate: number;\r\n existingMainSize: string;\r\n minimumMainPressure: string;\r\n approachMainLenght: number;\r\n additionalCommLoad: number;\r\n totalHome: number;\r\n afeNumber: string;\r\n mapbook: string;\r\n cisGeoCode: string;\r\n gridNo: string;\r\n cisGridNo: string;\r\n sudDivision: string;\r\n companyCd: string;\r\n totalLots: number;\r\n lookerRoute: number;\r\n lookerRouteSeq: number;\r\n lookerExclude: string;\r\n lookerLocationType: string;\r\n inspectionPermitMandatory: string;\r\n addMeteringPressure: number;\r\n addRiserGroup: number;\r\n addProject: number;\r\n unitsUpdateDate: Date;\r\n usfAmount: number;\r\n gasRqstTpCd: string;\r\n marketerChosen: string;\r\n marketerId: number;\r\n landscaping: string;\r\n extendedService: string;\r\n enteredBy: string;\r\n comments: string;\r\n extendedHelpline: string;\r\n gasRequestPriority: string;\r\n conversionEnergySource: string;\r\n numberGasLightServices: number;\r\n spotReqdYn: string;\r\n notifyBypassYn: string;\r\n railRoadCrossing: string;\r\n contractRequired: string;\r\n letterRequired: string;\r\n seedProject: string;\r\n strideYn: string;\r\n existingMaterial: string;\r\n federalTaxId: string;\r\n aepNumber: string;\r\n customerContribution: string;\r\n masterMeter: string;\r\n strategic: string;\r\n psComments: string;\r\n psAfeProjectDescription: string;\r\n managingDepartment: string;\r\n createPsp: string;\r\n permitRequired: string;\r\n custId: string;\r\n plantAccountingUpdatedBy: string;\r\n plantAccountingUpdatedDate: Date;\r\n grStatus: string;\r\n grStatusUpdatedBy: string;\r\n grStatusComments: string;\r\n grStatusUpdatedDate: string;\r\n premiseType: string;\r\n aepValue: string;\r\n surcharge: string;\r\n surchargeApprover: string;\r\n updatedBy: string;\r\n surchargeUpdatedBy: string;\r\n surgeApproverUpdatedBy: string;\r\n applicantName: string;\r\n isExistingSubDivision: string;\r\n projectName: string;\r\n callerName: string;\r\n callerRelation: string;\r\n assignedToCd: string;\r\n development: string;\r\n mapServiceAddress: string;\r\n cityId: number;\r\n zipCode: string;\r\n gasAvailabilityRequestStatus: string;\r\n siteVisitRqd: string;\r\n mainExtnRqd: string;\r\n customerRdyMoveFwd: string;\r\n easementRqdCd: string;\r\n applicantCostSummaryApproval: string;\r\n expansionProjectCd: string;\r\n paymentTpCd: string;\r\n denialRsnCd: string;\r\n custRsn: string;\r\n energySourceCd: string;\r\n permitTpCd: string;\r\n localDistrictCd: string;\r\n stateCd: string;\r\n builderId: string;\r\n bcaStatus: string;\r\n developmentStatus: string;\r\n projectCategory: string;\r\n mainInstallationStatus: string;\r\n finalPlat: string;\r\n recCreateDttm: Date;\r\n recUpdateDttm: Date;\r\n recUpdateUsrId: string;\r\n recCreateUsrId: string;\r\n createDate: string;\r\n bcaTypeCd: string;\r\n serviceFormattedAddress: string;\r\n mailingFormattedAddress: string;\r\n pinFormattedAddress: string;\r\n buildingId: string;\r\n sourceCd: string;\r\n contacts: Contact[];\r\n addresses: Address[];\r\n gasRequestTypeAndPremiseDetails: GasRequestTypeAndPremiseDetails[];\r\n premiseId: string;\r\n bcaNameUpdate: string;\r\n kmiCommunication: string;\r\n kmiPreference: string;\r\n kmiEmail: string;\r\n kmiPhoneNo: string;\r\n kmiFrequency: string;\r\n KMITransactionStatus: string;\r\n constructor() {\r\n this.id = 0;\r\n this.bcaId = null;\r\n this.refId = null;\r\n this.countyId = null;\r\n this.landDistrict = null;\r\n this.landLot = null;\r\n this.buildOutRate = null;\r\n this.marketerId = null;\r\n this.landscaping = null;\r\n this.extendedService = null;\r\n this.enteredBy = null;\r\n this.comments = null;\r\n this.extendedHelpline = null;\r\n this.gasRequestPriority = null;\r\n this.conversionEnergySource = null;\r\n this.numberGasLightServices = null;\r\n this.spotReqdYn = null;\r\n this.notifyBypassYn = null;\r\n this.existingMainSize = null;\r\n this.minimumMainPressure = null;\r\n this.approachMainLenght = null;\r\n this.additionalCommLoad = null;\r\n this.totalHome = null;\r\n this.afeNumber = null;\r\n this.mapbook = null;\r\n this.cisGeoCode = null;\r\n this.gridNo = null;\r\n this.cisGridNo = null;\r\n this.sudDivision = null;\r\n this.companyCd = null;\r\n this.totalLots = null;\r\n this.lookerRoute = null;\r\n this.lookerRouteSeq = null;\r\n this.lookerExclude = null;\r\n this.lookerLocationType = null;\r\n this.inspectionPermitMandatory = null;\r\n this.addMeteringPressure = null;\r\n this.addRiserGroup = null;\r\n this.addProject = null;\r\n this.unitsUpdateDate = null;\r\n this.usfAmount = null;\r\n this.gasRqstTpCd = null;\r\n this.railRoadCrossing = null;\r\n this.contractRequired = null;\r\n this.letterRequired = null;\r\n this.seedProject = null;\r\n this.strideYn = null;\r\n this.existingMaterial = null;\r\n this.federalTaxId = null;\r\n this.aepNumber = null;\r\n this.customerContribution = null;\r\n this.masterMeter = null;\r\n this.strategic = null;\r\n this.psComments = null;\r\n this.psAfeProjectDescription = null;\r\n this.managingDepartment = null;\r\n this.createPsp = null;\r\n this.permitRequired = null;\r\n this.custId = null;\r\n this.plantAccountingUpdatedBy = null;\r\n this.plantAccountingUpdatedDate = null;\r\n this.grStatus = null;\r\n this.grStatusUpdatedBy = null;\r\n this.grStatusComments = null;\r\n this.premiseType = null;\r\n this.aepValue = null;\r\n this.surcharge = null;\r\n this.surchargeApprover = null;\r\n this.updatedBy = null;\r\n this.surchargeUpdatedBy = null;\r\n this.surgeApproverUpdatedBy = null;\r\n this.applicantName = null;\r\n this.isExistingSubDivision = null;\r\n this.projectName = null;\r\n this.callerName = null;\r\n this.callerRelation = null;\r\n this.assignedToCd = null;\r\n this.development = null;\r\n this.mapServiceAddress = null;\r\n this.cityId = null;\r\n this.zipCode = null;\r\n this.gasAvailabilityRequestStatus = null;\r\n this.siteVisitRqd = null;\r\n this.mainExtnRqd = null;\r\n this.customerRdyMoveFwd = null;\r\n this.easementRqdCd = null;\r\n this.applicantCostSummaryApproval = null;\r\n this.expansionProjectCd = null;\r\n this.paymentTpCd = null;\r\n this.denialRsnCd = null;\r\n this.custRsn = null;\r\n this.energySourceCd = null;\r\n this.permitTpCd = null;\r\n this.localDistrictCd = null;\r\n this.stateCd = null;\r\n this.builderId = null;\r\n this.bcaStatus = null;\r\n this.developmentStatus = null;\r\n this.projectCategory = null;\r\n this.mainInstallationStatus = null;\r\n this.finalPlat = null;\r\n this.bcaTypeCd = null;\r\n this.serviceFormattedAddress = null;\r\n this.mailingFormattedAddress = null;\r\n this.pinFormattedAddress = null;\r\n this.buildingId = null;\r\n this.sourceCd = null;\r\n this.recCreateDttm = new Date() ;\r\n this.recUpdateDttm = new Date();\r\n this.recUpdateUsrId = null;\r\n this.recCreateUsrId = null;\r\n this.contacts = [];\r\n this.addresses = [];\r\n this.gasRequestTypeAndPremiseDetails = [];\r\n this.premiseId = null;\r\n this.bcaNameUpdate = null;\r\n this.kmiCommunication = null;\r\n this.kmiPreference = null;\r\n this.kmiEmail = null;\r\n this.kmiPhoneNo = null;\r\n this.kmiFrequency = null;\r\n this.KMITransactionStatus = null;\r\n \r\n }\r\n }\r\n export class Contact {\r\n id: number;\r\n firstName: string;\r\n middleInitial: string;\r\n emailAddress: string;\r\n companyName: string;\r\n lastName: string;\r\n contactTypeCode: string;\r\n communicationTypeCode: string;\r\n gasRequestId: number;\r\n siteContactType: string;\r\n siteContactTypeOthers: string;\r\n contactPhoneNumbers: ContactPhoneNumber[];\r\n }\r\n export class ContactPhoneNumber {\r\n id: number;\r\n contactId: number;\r\n phoneNumber: string;\r\n extension: string;\r\n }\r\n export class Address {\r\n id: number;\r\n gasRequestId: number;\r\n addressTypeCode: string;\r\n streetNumber: number;\r\n streetName: string;\r\n unitNumber: string;\r\n cityId: number;\r\n zip: string;\r\n stateCd: string;\r\n countyId: string;\r\n }\r\n export class GasRequestTypeAndPremiseDetails {\r\n id: number;\r\n gasRequestId: number;\r\n questionId: number;\r\n questionResponse: string;\r\n recordCreatedBy: string;\r\n sequenceId: number;\r\n gasApplianceQuestSummaries: GasApplianceQuestSummary[];\r\n\r\n }\r\n export class GasApplianceQuestSummary {\r\n id: number;\r\n gasRequestId: number;\r\n questionId: number;\r\n sequenceId: number;\r\n applianceId: number;\r\n quantityValue: string;\r\n loadValue: string;\r\n recordCreatedBy: string;\r\n applianceOthers: string;\r\n existingLoad: string;\r\n }\r\n","// Do not modify this function\r\n\r\nexport class MapIntegration {\r\n iframeId: string;\r\n constructor(gisMessageHandler, gisURL, iframeId) {\r\n this.iframeId = iframeId;\r\n\r\n const eventMethod = window.addEventListener ? 'addEventListener' : 'attachEvent';\r\n const eventer = window[eventMethod];\r\n const messageEvent = eventMethod === 'attachEvent' ? 'onmessage' : 'message';\r\n\r\n // var url = document.createElement('a');\r\n // url.href = gisURL;\r\n // this.bridge.allowOrigin(url.protocol + '//' + url.host);\r\n // Receive Commands from Map\r\n eventer(messageEvent, gisMessageHandler);\r\n\r\n }\r\n\r\n // Send Message to Map\r\n sendUpdateToMap(message) {\r\n const iFrame: any = document.getElementById(this.iframeId);\r\n iFrame.contentWindow.postMessage(message, '*');\r\n }\r\n // ----------------------------------Send Commands to Map---------------------------------------------------\r\n /*\r\n zoomToRequestOnMap - call this function when map need to be zoom on a request id\r\n */\r\n // Do not modify this function\r\n zoomToRequestOnMap(requestId) { // AR to call this method to zoom to a Grid Survey on Map\r\n this.sendUpdateToMap({ 'commandOrEventName': 'ZoomToRequest', 'payload': { 'RequestId': requestId } });\r\n }\r\n // ----------------------------------Send Commands to Map---------------------------------------------------\r\n}\r\n\r\n// Need to add this function in parent application to recieve message from iframe\r\n\r\n// gisMessageHandler(message: any) {\r\n// if (message.commandOrEventName === 'SelectGridSurveys') {\r\n// this.selectLeakSurvey(message.payload);\r\n// }\r\n// if (message.commandOrEventName === 'UnSelectGridSurveys') {\r\n// this.selectLeakSurvey(message.payload);\r\n// }\r\n// if (message.commandOrEventName === 'ClearLeakSurveysFromMap') {\r\n// this.selectLeakSurvey([]);\r\n// }\r\n// }\r\n","import { Injectable } from '@angular/core';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { GasContactUs } from '../models/gas-contact-us.model';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { ApiResult } from '@app/soco/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ContactUsService {\r\n sharedValue$ = new Subject();\r\n\r\n constructor(private http: SocoHttpService) { }\r\n\r\n addContactUsDetails(model: GasContactUs): Observable> {\r\n return this.http.post({\r\n url: 'ContactUs/AddGasContactUsDetails',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n}\r\n","export * from '@app/shared/services/location.service';\r\nexport * from '@app/shared/services/usps.service';\r\nexport * from '@app/shared/services/GISIntegration';\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiResult } from '@app/soco/core';\r\nimport { SocoHttpService } from '@app/soco/http';\r\n\r\n@Injectable()\r\nexport class LocationService {\r\n public stateLatLng: any;\r\n\r\n constructor(private http: SocoHttpService) { }\r\n\r\n isLocationServicableById(location: any): Observable> {\r\n return this.http.get({\r\n url: 'externalService/GetServiceAvailability',\r\n params: location,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n}\r\n\r\nexport interface IsServicable {\r\n isServicable: string;\r\n serviceCenter: string;\r\n localDistrict: string;\r\n localDistrictCd: string;\r\n county: string;\r\n xCoordinate: number;\r\n yCoordinate: number;\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\ndeclare var require: any;\r\nconst X2JS = require('src/lib/plugins/xml2json.js');\r\n\r\n/* istanbul ignore next */\r\n@Injectable()\r\nexport class UspsService implements OnInit {\r\n x2js: any;\r\n baseUrl = 'https://secure.shippingapis.com/ShippingAPI.dll';\r\n baseZipValidationUrl = 'https://secure.shippingapis.com/ShippingApi.dll?API=CityStateLookup&XML=';\r\n constructor(private http: HttpClient) { this.x2js = new X2JS(); }\r\n ngOnInit() { }\r\n GetValidatedAddress(addressObj, callback: (result: any) => void): any {\r\n const uspsAddressObj = {\r\n 'AddressValidateRequest': {\r\n 'Revision': '1',\r\n 'Address': {\r\n 'Address1': '', 'Address2': addressObj.street, 'City': addressObj.city,\r\n 'State': addressObj.state, 'Zip5': addressObj.zip, 'Zip4': ''\r\n },\r\n '_USERID': '423SOUTH5942'\r\n }\r\n };\r\n const xmlFormat = this.x2js.json2xml_str(uspsAddressObj);\r\n let requestUrl = this.baseUrl + '?API=Verify&XML=' + (xmlFormat);\r\n requestUrl = requestUrl.replace(''', '');\r\n this.http.get(requestUrl, { responseType: 'text' })\r\n .subscribe(\r\n res => {\r\n const response = this.x2js.xml_str2json(res);\r\n const addressTransformed: any = this.FormatAddressResponse(response);\r\n callback(addressTransformed);\r\n },\r\n err => {\r\n console.error(err);\r\n });\r\n }\r\n GetCityStateFromZip(zip, callback: (result: any) => void): any {\r\n const uspsZipObj = {\r\n 'CityStateLookupRequest': {\r\n 'ZipCode': {\r\n 'Zip5': zip,\r\n '_ID': '1'\r\n },\r\n '_USERID': '423SOUTH5942'\r\n }\r\n };\r\n\r\n const xmlFormat = this.x2js.json2xml_str(uspsZipObj);\r\n const requestUrl = this.baseZipValidationUrl + (xmlFormat);\r\n return this.http.get(requestUrl, { responseType: 'text' })\r\n .subscribe(\r\n res => {\r\n const response = this.x2js.xml_str2json(res);\r\n callback(response);\r\n },\r\n err => {\r\n console.error(err);\r\n });\r\n }\r\n private FormatAddressResponse(response: any) {\r\n const addressResponse = response.AddressValidateResponse.Address;\r\n let addressTransformed: any = null;\r\n if (addressResponse.Error) {\r\n return addressResponse;\r\n } else {\r\n addressTransformed = {\r\n street: addressResponse.Address2,\r\n city: addressResponse.City,\r\n state: addressResponse.State,\r\n zip: addressResponse.Zip5,\r\n };\r\n return addressTransformed;\r\n }\r\n }\r\n private FormatZipResponse(response: any) {\r\n const addressResponse = response.AddressValidateResponse.Address;\r\n let addressTransformed: any = null;\r\n if (addressResponse.Error) {\r\n return addressResponse;\r\n } else {\r\n addressTransformed = {\r\n street: addressResponse.Address2,\r\n city: addressResponse.City,\r\n state: addressResponse.State,\r\n zip: addressResponse.Zip5,\r\n };\r\n return addressTransformed;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule, FormsModule } from '@angular/forms';\r\n\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { AgmCoreModule } from '@agm/core';\r\n\r\nimport { ErrorsModule } from '@app/errors/errors.module';\r\nimport { CanDeactivateGuard } from '@app/shared/guards';\r\nimport { LocationService } from '@app/shared/services';\r\nimport { UspsService } from '@app/shared/services';\r\nimport { Daterangepicker } from 'ng2-daterangepicker';\r\n\r\nimport {\r\n SwitchComponent,\r\n CustomMapComponent,\r\n CustomInputComponent,\r\n CustomOptionalInputComponent,\r\n CustomInputMaskComponent,\r\n CustomRadioComponent,\r\n CustomRadioTypeComponent,\r\n CustomSelectComponent,\r\n CustomInputNumberComponent,\r\n CustomInputEmailComponent,\r\n CustomInputTelComponent,\r\n CustomTextareaComponent,\r\n CustomDateComponent,\r\n AddressValidationComponent,\r\n AutocompleteComponent,\r\n CustomDateInputComponent,\r\n CustomDateTodayComponent,\r\n CustomDateModalComponent,\r\n CustomPlannedDateInputComponent\r\n} from '@app/shared/controls';\r\nimport { DropDownListModule } from '@progress/kendo-angular-dropdowns';\r\nimport { ContactUsService } from './services/contact-us.service';\r\n\r\nconst COMPONENTS = [\r\n CustomMapComponent,\r\n CustomInputComponent,\r\n CustomOptionalInputComponent,\r\n CustomInputMaskComponent,\r\n CustomRadioComponent,\r\n CustomRadioTypeComponent,\r\n CustomSelectComponent,\r\n CustomInputNumberComponent,\r\n CustomInputEmailComponent,\r\n CustomInputTelComponent,\r\n CustomTextareaComponent,\r\n CustomDateComponent,\r\n CustomDateInputComponent,\r\n CustomDateModalComponent,\r\n CustomDateTodayComponent,\r\n CustomPlannedDateInputComponent,\r\n SwitchComponent,\r\n AddressValidationComponent,\r\n AutocompleteComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ErrorsModule,\r\n DropDownListModule,\r\n NgSelectModule,\r\n TextMaskModule,\r\n Daterangepicker,\r\n AgmCoreModule.forRoot({ apiKey: 'AIzaSyB07y6RxtlvdnrzAnBH-N0oPg2pjuyPpgo', libraries: ['places'] }),\r\n ],\r\n declarations: [\r\n COMPONENTS\r\n ],\r\n exports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ErrorsModule,\r\n COMPONENTS,\r\n NgSelectModule,\r\n Daterangepicker,\r\n TextMaskModule\r\n ],\r\n providers: [\r\n DatePipe,\r\n LocationService,\r\n UspsService,\r\n CanDeactivateGuard,\r\n ContactUsService\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { filter } from 'rxjs/operators';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { ConstantsService, SessionService, CompaniesEnum, LookupsService, LimitlessUiService, LoggerService } from '@app/base/core';\r\n\r\n@Component({\r\n selector: 'app-shell',\r\n templateUrl: './app-shell.component.html',\r\n})\r\n\r\nexport class AppShellComponent implements OnInit {\r\n\r\n public measurementID:string=\"\";\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private logger: LoggerService,\r\n private lookupSvc: LookupsService,\r\n private limitlessSvc: LimitlessUiService,\r\n private constantsSvc: ConstantsService,\r\n private sessionSvc: SessionService\r\n ) {\r\n\r\n // // Mark App Shell Bootstrapped -> Browser Console\r\n this.logger.log(`%c » App Shell Bootstrapped`, 'background: #3c3c3c; color: white; font-size: 13px;');\r\n }\r\n\r\n ngOnInit() {\r\n \r\n // Load common lookups\r\n if (!this.lookupSvc.commonLookupsLoaded) {\r\n this.lookupSvc.loadCommonLookups();\r\n }\r\n\r\n // Subscribe and handle route\\router events\r\n this.subscribeRouteEvents();\r\n }\r\n\r\n private subscribeRouteEvents() {\r\n // Detect and resolve parameterized LDC\r\n this.route.params.subscribe(params => {\r\n\r\n const defaultLdc = this.constantsSvc.defaultLdc;\r\n if (params['ldc']) { // If we received ldc, then try to match it with a known LDC enum\r\n const paramLdc = String(params['ldc']).trim().toUpperCase();\r\n // Ensure that incoming query param is matching one of known LDCs in Companies enum before stroing it.\r\n if ((Object.keys(CompaniesEnum).map(e => CompaniesEnum[e].toUpperCase()).indexOf(paramLdc) >= 0)) {\r\n if (paramLdc === defaultLdc.toUpperCase()) {\r\n this.navigateToLanding();\r\n } else {\r\n this.sessionSvc.paramLdc = params['ldc'].trim().toUpperCase();\r\n }\r\n } else { this.navigateToLanding(); } // Value passed in :ldc is unknown LDC, Route to company and pass default LDC as :ldc\r\n } else { this.navigateToLanding(); } // No LDC passed in route, route to company and pass default LDC as :ldc\r\n });\r\n\r\n // Listen for route changes and update paramLDC\\activeLDC accordingly.\r\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event: any) => {\r\n // User navigating to company\\landing page && paramLdc is not default 'SC', user coming from app\r\n // pages to company\\landing, then show default company 'SC'.\r\n if (event.url.indexOf('company') > -1 && this.sessionSvc.paramLdc !== this.constantsSvc.defaultLdc) {\r\n this.sessionSvc.paramLdc = this.constantsSvc.defaultLdc;\r\n }\r\n\r\n // Update activeLdc based on paramLdc\r\n if (this.lookupSvc.companies) {\r\n this.sessionSvc.activeLdc = this.lookupSvc.companies[this.sessionSvc.paramLdc];\r\n }\r\n\r\n // This gets executed when user navigate from on component to the other;\r\n this.limitlessSvc.initLimitless();\r\n });\r\n }\r\n\r\n private navigateToLanding() {\r\n this.router.navigate([this.constantsSvc.defaultLdc.toLowerCase(), 'company']);\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export default \".footer {\\r\\n background:\\t#EEF3F6;\\r\\n /* margin-top: 4.5em; */\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n bottom: 0px;\\r\\n position: relative;\\r\\n}\\r\\n.footer-boxed {\\r\\n padding-top: 40px;\\r\\n padding-bottom: 40px;\\r\\n}\\r\\n/* @media (min-width: 1024px) {\\r\\n .footer_nav {\\r\\n text-align: center;\\r\\n }\\r\\n} */\\r\\n@media (min-width: 768px) {\\r\\n .footer_nav {\\r\\n display: block;\\r\\n }\\r\\n}\\r\\n.footer_nav {\\r\\n padding: 0;\\r\\n margin: 0 0 10px;\\r\\n}\\r\\n@media (min-width: 768px) {\\r\\n .footer_misc {\\r\\n display: table;\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n.footer-nav {\\r\\n text-align: left;\\r\\n}\\r\\n.footer_misc {\\r\\n margin: 20px 0px 0px 0px;\\r\\n padding: 0;\\r\\n position: relative;\\r\\n vertical-align: middle;\\r\\n}\\r\\n.footer-brand {\\r\\n height: 35px !important;\\r\\n}\\r\\n.nav-links {\\r\\n list-style: none;\\r\\n}\\r\\n.nav-links a:not(.btn) {\\r\\n display: inline-block;\\r\\n font-style: normal;\\r\\n font-size: 1em;\\r\\n font-weight: 500;\\r\\n color: #777 !important;\\r\\n margin: 0 0 .5em;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFzZS9zaGVsbHMvYXBwLXNoZWxsL2Zvb3Rlci9hcHAuZm9vdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsV0FBVztFQUNYLGtCQUFrQjtBQUNwQjtBQUNBO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQjtBQUN0QjtBQUNBOzs7O0dBSUc7QUFDSDtFQUNFO0lBQ0UsY0FBYztFQUNoQjtBQUNGO0FBQ0E7RUFDRSxVQUFVO0VBQ1YsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRTtJQUNFLGNBQWM7SUFDZCxXQUFXO0VBQ2I7QUFDRjtBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSx3QkFBd0I7RUFDeEIsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixzQkFBc0I7QUFDeEI7QUFDQTtFQUNFLHVCQUF1QjtBQUN6QjtBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBQ0E7RUFDRSxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL2Jhc2Uvc2hlbGxzL2FwcC1zaGVsbC9mb290ZXIvYXBwLmZvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvb3RlciB7XHJcbiAgYmFja2dyb3VuZDpcdCNFRUYzRjY7XHJcbiAgLyogbWFyZ2luLXRvcDogNC41ZW07ICovXHJcbiAgbGVmdDogMHB4O1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgYm90dG9tOiAwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5mb290ZXItYm94ZWQge1xyXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG59XHJcbi8qIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAuZm9vdGVyX25hdiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59ICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5mb290ZXJfbmF2IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG4uZm9vdGVyX25hdiB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDAgMCAxMHB4O1xyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5mb290ZXJfbWlzYyB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4uZm9vdGVyLW5hdiB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG4uZm9vdGVyX21pc2Mge1xyXG4gIG1hcmdpbjogMjBweCAwcHggMHB4IDBweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbi5mb290ZXItYnJhbmQge1xyXG4gIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXYtbGlua3Mge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuLm5hdi1saW5rcyBhOm5vdCguYnRuKSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDFlbTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiAjNzc3ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAwIDAgLjVlbTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { EnvironmentService, SessionService } from '@app/base/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './app.footer.component.html',\r\n styleUrls: ['./app.footer.component.css']\r\n})\r\nexport class AppFooterComponent implements OnInit {\r\n constructor(\r\n public sessionSvc: SessionService,\r\n public environmentSvc: EnvironmentService) {\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngAfterViewChecked() { }\r\n}\r\n","export default \"/*:host>>>.navbar-default .navbar-nav>.active>a {\\r\\n background-color: rgb(179, 211, 54, 0.6)\\r\\n}*/\\r\\n\\r\\n.nav-element{\\r\\n padding-bottom: 0px !important; \\r\\n padding-top: 0px !important;\\r\\n}\\r\\n\\r\\n.nav-element-img{\\r\\n vertical-align: inherit;\\r\\n}\\r\\n\\r\\n.nav-element-line{\\r\\n margin-top: 0px !important; \\r\\n margin-bottom: 0px !important;\\r\\n}\\r\\n\\r\\n.navbar-brand {\\r\\n padding: 0px !important;\\r\\n height: 45px !important;\\r\\n}\\r\\n\\r\\n.navbar-brand>img {\\r\\n height: 63px !important;\\r\\n margin-top: -4px !important;\\r\\n}\\r\\n\\r\\n.landing>img {\\r\\n height: 35px !important;\\r\\n margin-top: 5px !important;\\r\\n}\\r\\n\\r\\n.navbar {\\r\\n padding: 10px 0px !important;\\r\\n border-width: 0px;\\r\\n}\\r\\n\\r\\n.navbar-default {\\r\\n border-width: 0px;\\r\\n}\\r\\n\\r\\n.nav>li>a {\\r\\n font-size: 16px !important;\\r\\n}\\r\\n\\r\\nli .header-info div.paddingContainer {\\r\\n width: auto;\\r\\n padding: 10px;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\nli .header-info div.paddingContainer img {\\r\\n float: left;\\r\\n margin: 0px 5px;\\r\\n}\\r\\n\\r\\nli .header-info div.paddingContainer .lrgBold {\\r\\n font-weight: bold;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\nli .header-info div.paddingContainer .lrgBold a {\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\nli .header-info div.paddingContainer div.text-bold {\\r\\n margin-left: 6%\\r\\n}\\r\\n\\r\\nli .header-info>div.clearBoth {\\r\\n height: auto;\\r\\n border: none;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\ntextarea {\\r\\n resize: none;\\r\\n}\\r\\n\\r\\n.rounded-input {\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n\\r\\n.modal-content {\\r\\n border-radius: 10px !important;\\r\\n}\\r\\n\\r\\n.text-bold {\\r\\n color: #000000 !important;\\r\\n}\\r\\n\\r\\n.modal-title {\\r\\n color: #000000 !important;\\r\\n}\\r\\n\\r\\n.glance-logo{\\r\\n height: 60px !important;\\r\\n}\\r\\n\\r\\n/* styles.css */\\r\\n\\r\\n@media (max-width: 768px) {\\r\\n .desktop-button {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 769px) {\\r\\n .mobile-logo {\\r\\n display: none;\\r\\n }\\r\\n .glance-logo {\\r\\n width: 150px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 415px) and (max-width: 430px) {\\r\\n .glance-logo {\\r\\n width: 110px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (min-width: 399px) and (max-width: 414px) {\\r\\n .glance-logo {\\r\\n width: 95px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/* styles.css */\\r\\n\\r\\n@media (max-width: 399px) {\\r\\n.glance-logo {\\r\\n width: 150px !important;\\r\\n margin-top: 10px !important;\\r\\n margin-bottom: 10px !important;\\r\\n}\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFzZS9zaGVsbHMvYXBwLXNoZWxsL2hlYWRlci9hcHAuaGVhZGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUU7O0FBRUY7RUFDRSw4QkFBOEI7RUFDOUIsMkJBQTJCO0FBQzdCOztBQUNBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLDZCQUE2QjtBQUMvQjs7QUFDQTtFQUNFLHVCQUF1QjtFQUN2Qix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLDRCQUE0QjtFQUM1QixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFO0FBQ0Y7O0FBRUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQSxlQUFlOztBQUNmO0VBQ0U7SUFDRSxhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsYUFBYTtFQUNmO0VBQ0E7SUFDRSx1QkFBdUI7RUFDekI7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsdUJBQXVCO0VBQ3pCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLHNCQUFzQjtFQUN4QjtBQUNGOztBQUNBLGVBQWU7O0FBQ2Y7QUFDQTtFQUNFLHVCQUF1QjtFQUN2QiwyQkFBMkI7RUFDM0IsOEJBQThCO0FBQ2hDO0FBQ0EiLCJmaWxlIjoic3JjL2FwcC9iYXNlL3NoZWxscy9hcHAtc2hlbGwvaGVhZGVyL2FwcC5oZWFkZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qOmhvc3Q+Pj4ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc5LCAyMTEsIDU0LCAwLjYpXHJcbn0qL1xyXG5cclxuLm5hdi1lbGVtZW50e1xyXG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDsgXHJcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXYtZWxlbWVudC1pbWd7XHJcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XHJcbn1cclxuLm5hdi1lbGVtZW50LWxpbmV7XHJcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IFxyXG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXZiYXItYnJhbmQge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogNDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2YmFyLWJyYW5kPmltZyB7XHJcbiAgaGVpZ2h0OiA2M3B4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogLTRweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGFuZGluZz5pbWcge1xyXG4gIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2YmFyIHtcclxuICBwYWRkaW5nOiAxMHB4IDBweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci13aWR0aDogMHB4O1xyXG59XHJcblxyXG4ubmF2YmFyLWRlZmF1bHQge1xyXG4gIGJvcmRlci13aWR0aDogMHB4O1xyXG59XHJcblxyXG4ubmF2PmxpPmEge1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIgaW1nIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW46IDBweCA1cHg7XHJcbn1cclxuXHJcbmxpIC5oZWFkZXItaW5mbyBkaXYucGFkZGluZ0NvbnRhaW5lciAubHJnQm9sZCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIgLmxyZ0JvbGQgYSB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIgZGl2LnRleHQtYm9sZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDYlXHJcbn1cclxuXHJcbmxpIC5oZWFkZXItaW5mbz5kaXYuY2xlYXJCb3RoIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG1hcmdpbjogMHB4O1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgcmVzaXplOiBub25lO1xyXG59XHJcblxyXG4ucm91bmRlZC1pbnB1dCB7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50ZXh0LWJvbGQge1xyXG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tb2RhbC10aXRsZSB7XHJcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdsYW5jZS1sb2dve1xyXG4gIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBzdHlsZXMuY3NzICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC5kZXNrdG9wLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcbiAgLm1vYmlsZS1sb2dvIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIC5nbGFuY2UtbG9nbyB7XHJcbiAgICB3aWR0aDogMTUwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA0MTVweCkgYW5kIChtYXgtd2lkdGg6IDQzMHB4KSB7XHJcbiAgLmdsYW5jZS1sb2dvIHtcclxuICAgIHdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDM5OXB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcclxuICAuZ2xhbmNlLWxvZ28ge1xyXG4gICAgd2lkdGg6IDk1cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLyogc3R5bGVzLmNzcyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMzk5cHgpIHtcclxuLmdsYW5jZS1sb2dvIHtcclxuICB3aWR0aDogMTUwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG59XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SessionService, ConstantsService, CompaniesEnum } from '@app/base/core';\r\nimport { GasRequestStatusViewModel } from '@app/modules/landing';\r\nimport { ContactUsService } from '@app/shared/services/contact-us.service';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './app.header.component.html',\r\n styleUrls: ['./app.header.component.css']\r\n})\r\nexport class AppHeaderComponent implements OnInit {\r\n builderPortalHome: boolean = false;\r\n formData: FormGroup;\r\n public serviceTrackerData: GasRequestStatusViewModel = null || undefined;\r\n\r\n constructor(\r\n public constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n private route: ActivatedRoute,\r\n public router: Router,\r\n private fb: FormBuilder,\r\n private contactUs: ContactUsService) {\r\n }\r\n\r\n get navBrandLink() {\r\n return `/${this.sessionSvc.paramLdc.toLowerCase()}/${this.sessionSvc.paramLdc === CompaniesEnum.SC\r\n ? 'company' : 'home'}`;\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n this.builderPortalHome = params['fromBuilder'] === 'true';\r\n });\r\n\r\n this.formData = this.fb.group({\r\n ApplicantFullName: new FormControl('', [Validators.required, Validators.maxLength(200)]),\r\n EmailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern), Validators.maxLength(150)]),\r\n Message: new FormControl('', [Validators.required, Validators.maxLength(500)]),\r\n ApplicantId: new FormControl(''),\r\n BcaId: new FormControl('')\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.formData.reset();\r\n }\r\n\r\n redirectToContactus() {\r\n this.formData.reset();\r\n const serviceData = localStorage.getItem('serviceTrackerData');\r\n this.serviceTrackerData = JSON.parse(serviceData);\r\n $('#contact_us_modal').modal('show');\r\n }\r\n\r\n onSubmit(formData) {\r\n formData.ApplicantId = this.serviceTrackerData.requestId;\r\n formData.BcaId = this.serviceTrackerData.bcaId;\r\n this.contactUs.addContactUsDetails(formData)\r\n .subscribe(() => {\r\n $('#contact_us_modal').modal('hide');\r\n $('#contact_us_confirmation_modal').modal('show');\r\n }, () => {\r\n $('#contact_us_modal').modal('hide');\r\n });\r\n }\r\n}\r\n","export * from '@app/shells/app-shell/app-shell.component';\r\nexport * from '@app/shells/app-shell/header/app.header.component';\r\nexport * from '@app/shells/app-shell/footer/app.footer.component';\r\n","export default \".content-container1 {\\r\\n background-color: #f5f5f5;\\r\\n border: 1px solid #e8e8e8;\\r\\n margin: 0px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFzZS9zaGVsbHMvYnVpbGRlci1zaGVsbC9idWlsZGVyLXNoZWxsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx5QkFBeUI7RUFDekIseUJBQXlCO0VBQ3pCLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL2Jhc2Uvc2hlbGxzL2J1aWxkZXItc2hlbGwvYnVpbGRlci1zaGVsbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRlbnQtY29udGFpbmVyMSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU4O1xyXG4gIG1hcmdpbjogMHB4O1xyXG59XHJcbiJdfQ== */\"","import {Component, OnInit, ViewChild} from '@angular/core';\r\nimport {filter} from 'rxjs/operators';\r\nimport {Router, NavigationEnd, ActivatedRoute} from '@angular/router';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport {SocoHttpService} from '@app/soco/http';\r\nimport {\r\n ConstantsService, SessionService, CompaniesEnum, LookupsService,\r\n LimitlessUiService, LoggerService, AccountService, User, EntityLookup\r\n} from '@app/base/core';\r\n\r\nimport {BuilderHeaderComponent} from './header/builder.header.component';\r\n\r\n@Component({\r\n selector: 'builder-shell',\r\n templateUrl: './builder-shell.component.html',\r\n styleUrls: ['./builder-shell.component.css']\r\n})\r\nexport class BuilderShellComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private logger: LoggerService,\r\n private lookupSvc: LookupsService,\r\n private limitlessSvc: LimitlessUiService,\r\n private constantsSvc: ConstantsService,\r\n private sessionSvc: SessionService,\r\n private accountService: AccountService,\r\n private ngHttp: HttpClient,\r\n private socoHttp: SocoHttpService) {\r\n\r\n // Mark App Shell Bootstrapped -> Browser Console\r\n this.logger.log(`%c » Builder Shell Bootstrapped `, 'background: #3c3c3c; color: white; font-size: 13px;');\r\n\r\n // Load common lookups\r\n // if (!this.lookupSvc.commonLookupsLoaded) {\r\n // this.lookupSvc.loadCommonLookups();\r\n // const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(isloaded => {\r\n // this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n // if (isloaded) {\r\n // subscribe.unsubscribe();\r\n // this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n // }\r\n // });\r\n // }\r\n }\r\n\r\n @ViewChild(BuilderHeaderComponent, {static: false}) headerComponent: BuilderHeaderComponent;\r\n\r\n ngOnInit() {\r\n if (!this.lookupSvc.commonLookupsLoaded) {\r\n this.lookupSvc.loadCommonLookups();\r\n }\r\n\r\n // Subscribe and handle route\\router events\r\n this.subscribeRouteEvents();\r\n\r\n this.sessionSvc.waitFlag.subscribe(result => {\r\n if (result) {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n });\r\n }\r\n\r\n private subscribeRouteEvents() {\r\n // Subscribe to route data, injected by Account Resolver...\r\n this.route.data.subscribe(({accountInfo}) => { // Should check for errors here\r\n if (accountInfo && accountInfo.length === 3) {\r\n this.accountService.account.user.company = accountInfo[1].data.company;\r\n this.accountService.account.user.givenName = accountInfo[1].data.givenName;\r\n this.accountService.account.user.username = accountInfo[1].data.username;\r\n this.accountService.account.user.email = accountInfo[1].data.email;\r\n this.accountService.account.settings = accountInfo[2] ? accountInfo[2].data : null;\r\n } else {\r\n const user = new User;\r\n user.givenName = 'Anonymous';\r\n this.accountService.account.user = user;\r\n }\r\n }, err => {\r\n console.log('Error occured while fetching API Info.' + err);\r\n });\r\n\r\n // Detect and resolve parameterized LDC\r\n this.route.params.subscribe(params => {\r\n const defaultLdc = this.constantsSvc.defaultLdc;\r\n if (params['ldc']) { // If we received ldc, then try to match it with a known LDC enum\r\n const paramLdc = String(params['ldc']).trim().toUpperCase();\r\n // Ensure that incoming query param is matching one of known LDCs in Companies enum before stroing it.\r\n if ((Object.keys(CompaniesEnum).map(e => CompaniesEnum[e].toUpperCase()).indexOf(paramLdc) >= 0)) {\r\n if (paramLdc === defaultLdc.toUpperCase()) {\r\n this.navigateToLanding();\r\n } else {\r\n this.sessionSvc.paramLdc = params['ldc'].trim().toUpperCase();\r\n // TODO: DSS: created an observable to support failing applicant bcalookup calls (applicant.component.ts) - BT 3/5/24\r\n this.sessionSvc.GetActiveLdc(this.lookupSvc.companies[this.sessionSvc.paramLdc]);\r\n\r\n }\r\n } else {\r\n this.navigateToLanding();\r\n } // Value passed in :ldc is unknown LDC, Route to company and pass default LDC as :ldc\r\n } else {\r\n this.navigateToLanding();\r\n } // No LDC passed in route, route to company and pass default LDC as :ldc\r\n });\r\n\r\n // Listen for route changes and update paramLDC\\activeLDC accordingly.\r\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event: any) => {\r\n // User navigating to company\\landing page && paramLdc is not default 'SC',\r\n // user coming from app pages to company\\landing, then show default company 'SC'.\r\n if (event.url.indexOf('company') > -1 && this.sessionSvc.paramLdc !== this.constantsSvc.defaultLdc) {\r\n this.sessionSvc.paramLdc = this.constantsSvc.defaultLdc;\r\n }\r\n\r\n // Update activeLdc based on paramLdc\r\n this.sessionSvc.activeLdc = this.lookupSvc.companies[this.sessionSvc.paramLdc];\r\n\r\n // This gets executed when user navigate from on component to the other;\r\n this.limitlessSvc.initLimitless();\r\n });\r\n\r\n\r\n }\r\n\r\n private navigateToLanding() {\r\n this.router.navigate([this.constantsSvc.defaultLdc.toLowerCase(), 'company']);\r\n }\r\n}\r\n","export default \".footer {\\r\\n background: #EEF3F6;\\r\\n /* margin-top: 4.5em; */\\r\\n left: 0px;\\r\\n right: 0px;\\r\\n bottom: 0px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.footer-boxed {\\r\\n padding-top: 40px;\\r\\n padding-bottom: 40px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n .footer_nav {\\r\\n display: block;\\r\\n }\\r\\n}\\r\\n\\r\\n.footer_nav {\\r\\n padding: 0;\\r\\n margin: 0 0 10px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n .footer_misc {\\r\\n display: table;\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n.footer-nav {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.footer_misc {\\r\\n margin: 20px 0px 0px 0px;\\r\\n padding: 0;\\r\\n position: relative;\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n.footer-brand {\\r\\n height: 35px !important;\\r\\n}\\r\\n\\r\\n.nav-links {\\r\\n list-style: none;\\r\\n}\\r\\n\\r\\n.nav-links a:not(.btn) {\\r\\n display: inline-block;\\r\\n font-style: normal;\\r\\n font-size: 1em;\\r\\n font-weight: 500;\\r\\n color: #777 !important;\\r\\n margin: 0 0 .5em;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFzZS9zaGVsbHMvYnVpbGRlci1zaGVsbC9mb290ZXIvYnVpbGRlci5mb290ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsU0FBUztFQUNULFVBQVU7RUFDVixXQUFXO0VBQ1gsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFO0lBQ0UsY0FBYztFQUNoQjtBQUNGOztBQUVBO0VBQ0UsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFO0lBQ0UsY0FBYztJQUNkLFdBQVc7RUFDYjtBQUNGOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtFQUN0QixnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic3JjL2FwcC9iYXNlL3NoZWxscy9idWlsZGVyLXNoZWxsL2Zvb3Rlci9idWlsZGVyLmZvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvb3RlciB7XHJcbiAgYmFja2dyb3VuZDogI0VFRjNGNjtcclxuICAvKiBtYXJnaW4tdG9wOiA0LjVlbTsgKi9cclxuICBsZWZ0OiAwcHg7XHJcbiAgcmlnaHQ6IDBweDtcclxuICBib3R0b206IDBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5mb290ZXItYm94ZWQge1xyXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAuZm9vdGVyX25hdiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXJfbmF2IHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMCAwIDEwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5mb290ZXJfbWlzYyB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlci1uYXYge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5mb290ZXJfbWlzYyB7XHJcbiAgbWFyZ2luOiAyMHB4IDBweCAwcHggMHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5mb290ZXItYnJhbmQge1xyXG4gIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2LWxpbmtzIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4ubmF2LWxpbmtzIGE6bm90KC5idG4pIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY29sb3I6ICM3NzcgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDAgMCAuNWVtO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { EnvironmentService, SessionService } from '@app/base/core';\r\n\r\n@Component({\r\n selector: 'builder-footer',\r\n templateUrl: './builder.footer.component.html',\r\n styleUrls: ['./builder.footer.component.css']\r\n})\r\nexport class BuilderFooterComponent implements OnInit {\r\n constructor(\r\n public sessionSvc: SessionService,\r\n public environmentSvc: EnvironmentService) {\r\n }\r\n ngOnInit() { }\r\n ngAfterViewChecked() { }\r\n}\r\n","export default \".nav-element{\\r\\n padding-bottom: 0px !important;\\r\\n padding-top: 0px !important;\\r\\n}\\r\\n.nav-element-img{\\r\\n vertical-align: inherit;\\r\\n}\\r\\n.nav-element-line{\\r\\n margin-top: 0px !important;\\r\\n margin-bottom: 0px !important;\\r\\n}\\r\\n.navbar-brand {\\r\\n padding: 0px !important;\\r\\n height: 45px !important;\\r\\n}\\r\\n.navbar-brand>img {\\r\\n height: 63px !important;\\r\\n margin-top: -4px !important;\\r\\n}\\r\\n.pad {\\r\\n padding: 0px !important;\\r\\n}\\r\\n.landing>img {\\r\\n height: 35px !important;\\r\\n margin-top: 5px !important;\\r\\n}\\r\\n.navbar {\\r\\n padding: 10px 0px !important;\\r\\n border-width: 0px;\\r\\n}\\r\\n.navbar-pad {\\r\\n padding-top: 10.5px !important;\\r\\n}\\r\\n.navbar-pad-user {\\r\\n padding-top: 6px !important;\\r\\n}\\r\\n.navbar-default {\\r\\n border-width: 0px;\\r\\n}\\r\\nheader .box {\\r\\n box-sizing: content-box !important;\\r\\n}\\r\\n.nav>li>a {\\r\\n font-size: 16px !important;\\r\\n padding: 9px 4px !important;\\r\\n}\\r\\nli .header-info div.paddingContainer {\\r\\n width: auto;\\r\\n padding: 10px;\\r\\n font-size: 13px;\\r\\n}\\r\\nli .header-info div.paddingContainer img {\\r\\n float: left;\\r\\n margin: 0px 5px;\\r\\n}\\r\\nli .header-info div.paddingContainer .lrgBold {\\r\\n font-weight: bold;\\r\\n font-size: 16px;\\r\\n}\\r\\nli .header-info div.paddingContainer .lrgBold a {\\r\\n font-size: 13px;\\r\\n}\\r\\nli .header-info div.paddingContainer div.text-bold {\\r\\n margin-left: 6%\\r\\n}\\r\\nli .header-info>div.clearBoth {\\r\\n height: auto;\\r\\n border: none;\\r\\n margin: 0px;\\r\\n}\\r\\n@media only screen and (max-width: 950px) {\\r\\n .cf7_custom_style_1 {\\r\\n padding-left: 0;\\r\\n padding-right: 0;\\r\\n }\\r\\n}\\r\\n@media only screen and (max-width: 600px) {\\r\\n .cf7_custom_style_1 {\\r\\n padding-left:7% !important;\\r\\n padding-right: 0;\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width: 1200px) {\\r\\n #navbar-mobile{\\r\\n left: 120px;\\r\\n }\\r\\n }\\r\\n.k-filter-row td, .k-filter-row th{\\r\\n padding: 0px !important;\\r\\n}\\r\\n@media only screen and (min-width: 1025px) {\\r\\n.k-filter-row td, .k-filter-row th\\r\\n{\\r\\n padding: 8px;\\r\\n}\\r\\n}\\r\\n.nav > li > a {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n@media (max-width: 1024px) {\\r\\n .nav[_ngcontent-c1] > li[_ngcontent-c1] > a[_ngcontent-c1] {\\r\\n font-size: 12px !important;\\r\\n padding: 9px 2px !important;\\r\\n\\r\\n }\\r\\n}\\r\\n@media (max-width: 1024px) {\\r\\n .pdngl {\\r\\n padding-left:16px !important;\\r\\n\\r\\n }\\r\\n}\\r\\n.text-size-large\\r\\n{\\r\\n font-size:15px !important;\\r\\n}\\r\\n#Home {\\r\\n left: 10px;\\r\\n}\\r\\n@media (min-width: 769px){\\r\\n #LeaksOdor {\\r\\n width: 190px;\\r\\n }\\r\\n #Call {\\r\\n left: 15px;\\r\\n padding-left: 10px;\\r\\n width: 160px;\\r\\n }\\r\\n #Home {\\r\\n left: 10px;\\r\\n }\\r\\n #Training{\\r\\n left:8px;\\r\\n }\\r\\n #EnrgCent {\\r\\n white-space: nowrap;\\r\\n }\\r\\n .trainiglink {\\r\\n width: 115px;\\r\\n }\\r\\n .trainigdropdown {\\r\\n width: 80px;\\r\\n min-width: 115px;\\r\\n font-size: 11px;\\r\\n right: 4px;\\r\\n }\\r\\n}\\r\\n@media (min-width: 1025px){\\r\\n #LeaksOdor {\\r\\n width: 190px;\\r\\n }\\r\\n #Call {\\r\\n left: 5px;\\r\\n padding-left: 0px;\\r\\n width: 160px;\\r\\n }\\r\\n #Home {\\r\\n left: -5px;\\r\\n }\\r\\n #Training{\\r\\n left:0px;\\r\\n }\\r\\n #User{\\r\\n min-width: 200px;\\r\\n left:-15px;\\r\\n }\\r\\n #EnrgCent {\\r\\n white-space: nowrap;\\r\\n }\\r\\n .trainiglink {\\r\\nwidth: 145px;\\r\\n }\\r\\n .trainigdropdown {\\r\\n width: 100px;\\r\\n min-width: 145px;\\r\\n font-size: 13px;\\r\\n right: 4px;\\r\\n }\\r\\n}\\r\\n.proflogin {\\r\\n min-width: 220px;\\r\\n}\\r\\n.prflogout {\\r\\n min-width: 220px;\\r\\n left: 13px;\\r\\n}\\r\\n.dropdown-menu > li > a{\\r\\n white-space: normal !important;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYmFzZS9zaGVsbHMvYnVpbGRlci1zaGVsbC9oZWFkZXIvYnVpbGRlci5oZWFkZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDhCQUE4QjtFQUM5QiwyQkFBMkI7QUFDN0I7QUFDQTtFQUNFLHVCQUF1QjtBQUN6QjtBQUNBO0VBQ0UsMEJBQTBCO0VBQzFCLDZCQUE2QjtBQUMvQjtBQUNBO0VBQ0UsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtBQUN6QjtBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLDJCQUEyQjtBQUM3QjtBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCO0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsMEJBQTBCO0FBQzVCO0FBRUE7RUFDRSw0QkFBNEI7RUFDNUIsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSw4QkFBOEI7QUFDaEM7QUFDQTtFQUNFLDJCQUEyQjtBQUM3QjtBQUVBO0VBQ0UsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSxrQ0FBa0M7QUFDcEM7QUFDQTtFQUNFLDBCQUEwQjtFQUMxQiwyQkFBMkI7QUFDN0I7QUFFQTtFQUNFLFdBQVc7RUFDWCxhQUFhO0VBQ2IsZUFBZTtBQUNqQjtBQUVBO0VBQ0UsV0FBVztFQUNYLGVBQWU7QUFDakI7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixlQUFlO0FBQ2pCO0FBRUE7RUFDRSxlQUFlO0FBQ2pCO0FBRUE7RUFDRTtBQUNGO0FBRUE7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLFdBQVc7QUFDYjtBQUNBO0dBQ0c7TUFDRyxlQUFlO01BQ2YsZ0JBQWdCO0dBQ25CO0FBQ0g7QUFFQTtHQUNHO01BQ0csMEJBQTBCO01BQzFCLGdCQUFnQjtHQUNuQjtBQUNIO0FBQ0E7RUFDRTtJQUNFLFdBQVc7RUFDYjtDQUNEO0FBQ0Q7RUFDRSx1QkFBdUI7QUFDekI7QUFDQTtBQUNBOztFQUVFLFlBQVk7QUFDZDtBQUNBO0FBQ0E7RUFDRSwwQkFBMEI7QUFDNUI7QUFDQTtFQUNFO0lBQ0UsMEJBQTBCO0lBQzFCLDJCQUEyQjs7RUFFN0I7QUFDRjtBQUNBO0VBQ0U7SUFDRSw0QkFBNEI7O0VBRTlCO0FBQ0Y7QUFFQTs7RUFFRSx5QkFBeUI7QUFDM0I7QUFDQTtFQUNFLFVBQVU7QUFDWjtBQUVBO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7RUFDQTtJQUNFLFVBQVU7SUFDVixrQkFBa0I7SUFDbEIsWUFBWTtFQUNkO0VBQ0E7SUFDRSxVQUFVO0VBQ1o7RUFDQTtJQUNFLFFBQVE7RUFDVjtFQUNBO0lBQ0UsbUJBQW1CO0VBQ3JCO0VBQ0E7SUFDRSxZQUFZO0VBQ2Q7RUFDQTtJQUNFLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFVBQVU7RUFDWjtBQUNGO0FBQ0E7RUFDRTtJQUNFLFlBQVk7RUFDZDtFQUNBO0lBQ0UsU0FBUztJQUNULGlCQUFpQjtJQUNqQixZQUFZO0VBQ2Q7RUFDQTtJQUNFLFVBQVU7RUFDWjtFQUNBO0tBQ0csUUFBUTtFQUNYO0VBQ0E7SUFDRSxnQkFBZ0I7SUFDaEIsVUFBVTtFQUNaO0VBQ0E7SUFDRSxtQkFBbUI7RUFDckI7RUFDQTtBQUNGLFlBQVk7RUFDVjtFQUNBO0lBQ0UsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsVUFBVTtFQUNaO0FBQ0Y7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFVBQVU7QUFDWjtBQUNBO0VBQ0UsOEJBQThCO0FBQ2hDIiwiZmlsZSI6InNyYy9hcHAvYmFzZS9zaGVsbHMvYnVpbGRlci1zaGVsbC9oZWFkZXIvYnVpbGRlci5oZWFkZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uYXYtZWxlbWVudHtcclxuICBwYWRkaW5nLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXYtZWxlbWVudC1pbWd7XHJcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XHJcbn1cclxuLm5hdi1lbGVtZW50LWxpbmV7XHJcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1icmFuZCB7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiA0NXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uYXZiYXItYnJhbmQ+aW1nIHtcclxuICBoZWlnaHQ6IDYzcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiAtNHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wYWQge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGFuZGluZz5pbWcge1xyXG4gIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2YmFyIHtcclxuICBwYWRkaW5nOiAxMHB4IDBweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci13aWR0aDogMHB4O1xyXG59XHJcbi5uYXZiYXItcGFkIHtcclxuICBwYWRkaW5nLXRvcDogMTAuNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1wYWQtdXNlciB7XHJcbiAgcGFkZGluZy10b3A6IDZweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2YmFyLWRlZmF1bHQge1xyXG4gIGJvcmRlci13aWR0aDogMHB4O1xyXG59XHJcbmhlYWRlciAuYm94IHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXY+bGk+YSB7XHJcbiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogOXB4IDRweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIge1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIgaW1nIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW46IDBweCA1cHg7XHJcbn1cclxuXHJcbmxpIC5oZWFkZXItaW5mbyBkaXYucGFkZGluZ0NvbnRhaW5lciAubHJnQm9sZCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIgLmxyZ0JvbGQgYSB7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG59XHJcblxyXG5saSAuaGVhZGVyLWluZm8gZGl2LnBhZGRpbmdDb250YWluZXIgZGl2LnRleHQtYm9sZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDYlXHJcbn1cclxuXHJcbmxpIC5oZWFkZXItaW5mbz5kaXYuY2xlYXJCb3RoIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG1hcmdpbjogMHB4O1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTUwcHgpIHtcclxuICAgLmNmN19jdXN0b21fc3R5bGVfMSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgIC5jZjdfY3VzdG9tX3N0eWxlXzEge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6NyUgIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgI25hdmJhci1tb2JpbGV7XHJcbiAgICBsZWZ0OiAxMjBweDtcclxuICB9XHJcbiB9XHJcbi5rLWZpbHRlci1yb3cgdGQsIC5rLWZpbHRlci1yb3cgdGh7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcclxuLmstZmlsdGVyLXJvdyB0ZCwgLmstZmlsdGVyLXJvdyB0aFxyXG57XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcbn1cclxuLm5hdiA+IGxpID4gYSB7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gIC5uYXZbX25nY29udGVudC1jMV0gPiBsaVtfbmdjb250ZW50LWMxXSA+IGFbX25nY29udGVudC1jMV0ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA5cHggMnB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gIH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLnBkbmdsIHtcclxuICAgIHBhZGRpbmctbGVmdDoxNnB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gIH1cclxufVxyXG5cclxuLnRleHQtc2l6ZS1sYXJnZVxyXG57XHJcbiAgZm9udC1zaXplOjE1cHggIWltcG9ydGFudDtcclxufVxyXG4jSG9tZSB7XHJcbiAgbGVmdDogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KXtcclxuICAjTGVha3NPZG9yIHtcclxuICAgIHdpZHRoOiAxOTBweDtcclxuICB9XHJcbiAgI0NhbGwge1xyXG4gICAgbGVmdDogMTVweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICB9XHJcbiAgI0hvbWUge1xyXG4gICAgbGVmdDogMTBweDtcclxuICB9XHJcbiAgI1RyYWluaW5ne1xyXG4gICAgbGVmdDo4cHg7XHJcbiAgfVxyXG4gICNFbnJnQ2VudCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIH1cclxuICAudHJhaW5pZ2xpbmsge1xyXG4gICAgd2lkdGg6IDExNXB4O1xyXG4gIH1cclxuICAudHJhaW5pZ2Ryb3Bkb3duIHtcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgbWluLXdpZHRoOiAxMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHJpZ2h0OiA0cHg7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG4gICNMZWFrc09kb3Ige1xyXG4gICAgd2lkdGg6IDE5MHB4O1xyXG4gIH1cclxuICAjQ2FsbCB7XHJcbiAgICBsZWZ0OiA1cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICB9XHJcbiAgI0hvbWUge1xyXG4gICAgbGVmdDogLTVweDtcclxuICB9XHJcbiAgI1RyYWluaW5ne1xyXG4gICAgIGxlZnQ6MHB4O1xyXG4gIH1cclxuICAjVXNlcntcclxuICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICBsZWZ0Oi0xNXB4O1xyXG4gIH1cclxuICAjRW5yZ0NlbnQge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICB9XHJcbiAgLnRyYWluaWdsaW5rIHtcclxud2lkdGg6IDE0NXB4O1xyXG4gIH1cclxuICAudHJhaW5pZ2Ryb3Bkb3duIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIG1pbi13aWR0aDogMTQ1cHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICByaWdodDogNHB4O1xyXG4gIH1cclxufVxyXG4ucHJvZmxvZ2luIHtcclxuICBtaW4td2lkdGg6IDIyMHB4O1xyXG59XHJcbi5wcmZsb2dvdXQge1xyXG4gIG1pbi13aWR0aDogMjIwcHg7XHJcbiAgbGVmdDogMTNweDtcclxufVxyXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYXtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiJdfQ== */\"","import { Component, OnInit, ViewChild, ElementRef, Renderer2, OnDestroy } from '@angular/core';\r\nimport {SessionService, ConstantsService, CompaniesEnum, AccountService, CompanyDetails} from '@app/base/core';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { Router } from '@angular/router';\r\nimport { BuilderService } from '@app/modules/builder';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport {Subscription} from \"rxjs\";\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'builder-header',\r\n templateUrl: './builder.header.component.html',\r\n styleUrls: ['./builder.header.component.css']\r\n})\r\nexport class BuilderHeaderComponent implements OnInit, OnDestroy {\r\n public activeLdc: CompanyDetails;\r\n public document: any;\r\n public checklist: any;\r\n public flag = true;\r\n public fileid: number;\r\n documentInput: any = {};\r\n public filesArr = [];\r\n public waitFlag = false;\r\n private activeCode$: Subscription;\r\n constructor(public router: Router,\r\n public constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n public accountService: AccountService,\r\n public config: SocoConfigurationService,\r\n public builderSvc: BuilderService,\r\n public renderer: Renderer2,\r\n public socoHttp: SocoHttpService) {\r\n }\r\n\r\n@ViewChild('download', {static: false}) downloadFile: ElementRef;\r\n get navBrandLink() { return `/${this.sessionSvc.paramLdc.toLowerCase()}/${this.sessionSvc.paramLdc === CompaniesEnum.SC ?\r\n 'company' : 'home'}`; }\r\n\r\n ngOnInit() {\r\n this.document = 3035424;\r\n this.checklist = 3032105;\r\n\r\n // Updated to observable to support webauth page reload which cause reset value to defaultLdc\r\n this.activeCode$ = this.sessionSvc.activeLdcDetails.subscribe(res => {\r\n this.activeLdc = res;\r\n });\r\n\r\n this.sessionSvc.builderData.subscribe(success => {\r\n if (success) {\r\n this.documentInput.Builder = success.CompanyName;\r\n this.documentInput.Folder = this.constantsSvc.HeaderfolderName;\r\n }\r\n });\r\n }\r\n\r\n resolveUserIdentity() {\r\n return this.accountService.account.user.givenName ?\r\n this.accountService.account.user.givenName : this.accountService.account.user.username;\r\n }\r\n\r\n navigateHome() {\r\n if (this.sessionSvc.sourceToContract !== this.constantsSvc.ApplicantUser) {\r\n this.sessionSvc.GetBcaData(null);\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n } else {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'status']);\r\n }\r\n }\r\n\r\n downloadDoc(docType) {\r\n // For How to document -> Category is HOW TO DOCUMENT\r\n // For Builder Checklist -> Category is BUILDER CHECKLIST\r\n // For Multi-family checklist -> category is MULTIFAMILY CHECKLIST\r\n // Please add proper category in metadata while uploading documents manually\r\n this.filesArr = [];\r\n this.documentInput.documentType = docType;\r\n this.waitFlag = true;\r\n this.passFlag();\r\n this.builderSvc.findFilesByMetadata(this.documentInput).subscribe(result => {\r\n this.waitFlag = false;\r\n this.passFlag();\r\n if (result.data.length !== 0) {\r\n for ( let i = 0; i < result.data.length; i++) {\r\n this.filesArr.push(result.data[i]);\r\n }\r\n const recentdate = new Date(Math.max.apply(null, this.filesArr.map(function(e) {\r\n return new Date(e.creationDate);\r\n })));\r\n const mostRecentObject = this.filesArr.filter( e => {\r\n const d = new Date( e.creationDate );\r\n return d.getTime() === recentdate.getTime();\r\n })[0];\r\n this.fileid = mostRecentObject.id;\r\n this.renderer.setAttribute(this.downloadFile.nativeElement, 'href', this.config.webApiBaseUrl + '/Files/Download?id=' + this.fileid);\r\n this.downloadFile.nativeElement.click();\r\n } else {\r\n this.waitFlag = false;\r\n swal(this.constantsSvc.headerDocReqSwal, this.constantsSvc.headerDocFailSwal, this.constantsSvc.errorSwal);\r\n }\r\n },\r\n (error) => {\r\n this.waitFlag = false;\r\n swal(this.constantsSvc.headerDocReqSwal, this.constantsSvc.headerDocFailSwal, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n\r\n passFlag() {\r\n this.sessionSvc.GetwaitFlag(this.waitFlag);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.activeCode$.unsubscribe();\r\n }\r\n}\r\n","export * from '@app/shells/builder-shell/builder-shell.component';\r\nexport * from '@app/shells/builder-shell/header/builder.header.component';\r\nexport * from '@app/shells/builder-shell/footer/builder.footer.component';\r\n","export * from '@app/shells/app-shell';\r\nexport * from '@app/shells/builder-shell';\r\n","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\n// DSS Documentation on Angular Reuse - http://tiny.sc/cgangularreuse\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// DSS Documentation on SocoAlertComponent - http://tiny.sc/cgsocoalertcomponent\r\nimport { SocoAlertComponent } from '@app/soco/alert/soco-alert.component';\r\n// DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\nimport { SocoAlertService } from '@app/soco/alert/soco-alert.service';\r\n\r\nconst SOCO_MODULE_DIRECTIVES = [\r\n // DSS Documentation on SocoAlertComponent - http://tiny.sc/cgsocoalertcomponent\r\n SocoAlertComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: SOCO_MODULE_DIRECTIVES,\r\n declarations: SOCO_MODULE_DIRECTIVES,\r\n providers: [\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n SocoAlertService\r\n ]\r\n})\r\nexport class SocoAlertModule { }\r\n","export { SocoAlertModule } from '@app/soco/alert/alert_module';\r\n\r\n// DSS Documentation on SocoAlertComponent - http://tiny.sc/cgsocoalertcomponent\r\nexport { SocoAlertComponent } from '@app/soco/alert/soco-alert.component';\r\n// DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\nexport { SocoAlertService, SocoAlertServiceOptions, SocoAlertLocation, SocoAlertType } from '@app/soco/alert/soco-alert.service';\r\n","// DSS Documentation on SocoAlertComponent - http://tiny.sc/cgsocoalertcomponent\r\n// DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { SocoAlertLocation, SocoAlertService, SocoAlertServiceOptions, SocoAlertType } from '@app/soco/alert/soco-alert.service';\r\n\r\n@Component({\r\n selector: 'soco-alert',\r\n // tslint:disable-next-line:max-line-length\r\n template: '
'\r\n})\r\nexport class SocoAlertComponent implements OnInit {\r\n @Input() alertId: string = null;\r\n @Input() location: string = SocoAlertLocation[SocoAlertLocation.Page];\r\n message: SafeHtml = 'Message';\r\n alertIcon = 'fa-exclamation-circle';\r\n alertType = 'alert-danger';\r\n\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n constructor(private socoAlertService: SocoAlertService, private sanitizer: DomSanitizer) {\r\n socoAlertService.alertShown$.subscribe(options => {\r\n this.show(options);\r\n });\r\n socoAlertService.alertHidden$.subscribe(options => {\r\n this.hide();\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.alertId) {\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n this.alertId = this.socoAlertService.getDefaultAlertId();\r\n }\r\n }\r\n\r\n hide(): void {\r\n $('body').removeAttr('style');\r\n $('#' + this.alertId).hide().removeClass('soco-alert-system');\r\n }\r\n\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n private show(options: SocoAlertServiceOptions): void {\r\n // check if this alert should show or if the message is for some other alert\r\n if (options.id !== null && options.id !== this.alertId) {\r\n return;\r\n }\r\n\r\n // set the message and alert type\r\n this.message = this.sanitizer.bypassSecurityTrustHtml(options.message);\r\n switch (options.type) {\r\n case SocoAlertType.Success:\r\n this.alertType = 'alert-success';\r\n this.alertIcon = 'fa-check-circle';\r\n break;\r\n case SocoAlertType.Information:\r\n this.alertType = 'alert-info';\r\n this.alertIcon = 'fa-info-circle';\r\n break;\r\n case SocoAlertType.Caution:\r\n this.alertType = 'alert-warning';\r\n this.alertIcon = 'fa-exclamation-triangle';\r\n break;\r\n case SocoAlertType.Error:\r\n this.alertType = 'alert-danger';\r\n this.alertIcon = 'fa-times-circle';\r\n break;\r\n case SocoAlertType.Failure:\r\n default:\r\n this.alertType = 'alert-danger';\r\n this.alertIcon = 'fa-exclamation-circle';\r\n break;\r\n }\r\n\r\n // show the alert\r\n const alert = $('#' + this.alertId);\r\n alert.show();\r\n\r\n // if we are showing a system wide notification we need to shift content down\r\n if (options.location === SocoAlertLocation.System || SocoAlertLocation[this.location] === SocoAlertLocation.System) {\r\n alert.addClass('soco-alert-system');\r\n $('body').css('padding-top', alert.outerHeight());\r\n }\r\n }\r\n}\r\n","// DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n// DSS Documentation on SocoAlertComponent - http://tiny.sc/cgsocoalertcomponent\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject , Observable } from 'rxjs';\r\n\r\n@Injectable()\r\n/* istanbul ignore next */\r\nexport class SocoAlertService {\r\n private alertShowSource = new Subject();\r\n private alertHideSource = new Subject();\r\n alertShown$ = this.alertShowSource.asObservable();\r\n alertHidden$ = this.alertHideSource.asObservable();\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent a messaging error in the application caused by the system/application\r\n * @param options Primarily only id and message are needed. However, specify the options needed for the alert to update properly.\r\n */\r\n fail(options: SocoAlertServiceOptions): void {\r\n options.type = SocoAlertType.Failure;\r\n this.show(options);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent a messaging error in the application caused by the user\r\n * @param options Primarily only id and message are needed. However, specify the options needed for the alert to update properly.\r\n */\r\n error(options: SocoAlertServiceOptions): void {\r\n options.type = SocoAlertType.Error;\r\n this.show(options);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to caution a user to yield and address a state that could prevent an error\r\n * @param options Primarily only id and message are needed. However, specify the options needed for the alert to update properly.\r\n */\r\n caution(options: SocoAlertServiceOptions): void {\r\n options.type = SocoAlertType.Caution;\r\n this.show(options);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent data that will inform the user about a specific contextual situation within the system.\r\n * @param options Primarily only id and message are needed. However, specify the options needed for the alert to update properly.\r\n */\r\n info(options: SocoAlertServiceOptions): void {\r\n options.type = SocoAlertType.Information;\r\n this.show(options);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent that the user successfully performed system input\r\n * @param options Primarily only id and message are needed. However, specify the options needed for the alert to update properly.\r\n */\r\n success(options: SocoAlertServiceOptions): void {\r\n options.type = SocoAlertType.Success;\r\n this.show(options);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Hides all alerts\r\n */\r\n hide(): void {\r\n this.alertHideSource.next();\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Returns the default alert id so it can be maintained in one place\r\n */\r\n getDefaultAlertId(): string {\r\n return 'soco-alert';\r\n }\r\n\r\n private show(options: SocoAlertServiceOptions): void {\r\n this.alertShowSource.next(options);\r\n }\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport interface SocoAlertServiceOptions {\r\n /**\r\n * The message that will appear in the alert\r\n */\r\n message: string;\r\n /**\r\n * The location of the alert\r\n */\r\n location?: SocoAlertLocation;\r\n /**\r\n * The type of alert (Danger, Warning, Info, or Success)\r\n */\r\n type?: SocoAlertType;\r\n /**\r\n * If there are multiple alerts on the page, the id can be used to indicate which alert should display\r\n */\r\n id?: string;\r\n}\r\n\r\nexport enum SocoAlertType {\r\n Unknown = 0,\r\n Error = 1,\r\n Failure = 2,\r\n Caution = 3,\r\n Information = 4,\r\n Success = 5\r\n}\r\n\r\nexport enum SocoAlertLocation {\r\n System = 0,\r\n Page = 1,\r\n Section = 2\r\n}\r\n","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\n// DSS Documentation on Angular Reuse - http://tiny.sc/cgangularreuse\r\nimport { NgModule } from '@angular/core';\r\n\r\n// DSS Documentation on SocoSearchPipe - http://tiny.sc/cgsocosearchpipe\r\nimport { SocoSearchPipe } from '@app/soco/common/soco-search.pipe';\r\n// DSS Documentation on SocoSystemMessageComponent - http://tiny.sc/cgsocosystemmessagecomponent\r\nimport { SocoSystemMessageComponent } from '@app/soco/common/soco-system-message.component';\r\n\r\nconst SOCO_MODULE_DIRECTIVES = [\r\n // DSS Documentation on SocoSearchPipe - http://tiny.sc/cgsocosearchpipe\r\n SocoSearchPipe,\r\n // DSS Documentation on SocoSystemMessageComponent - http://tiny.sc/cgsocosystemmessagecomponent\r\n SocoSystemMessageComponent\r\n];\r\n\r\n@NgModule({\r\n exports: SOCO_MODULE_DIRECTIVES,\r\n declarations: SOCO_MODULE_DIRECTIVES\r\n})\r\nexport class SocoCommonModule { }\r\n","export { SocoCommonModule } from '@app/soco/common/common_module';\r\n\r\n// DSS Documentation on SocoSearchPipe - http://tiny.sc/cgsocosearchpipe\r\nexport { SocoSearchPipe } from '@app/soco/common/soco-search.pipe';\r\n// DSS Documentation on SocoSystemMessageComponent - http://tiny.sc/cgsocosystemmessagecomponent\r\nexport { SocoSystemMessageComponent } from '@app/soco/common/soco-system-message.component';\r\n","// DSS Documentation on SocoSearchPipe - http://tiny.sc/cgsocosearchpipe\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'socoSearch',\r\n pure: false\r\n})\r\nexport class SocoSearchPipe implements PipeTransform {\r\n /* istanbul ignore next */\r\n transform(value: Array, searchTerm: string, properties?: string | string[]) {\r\n if (!value || Object.prototype.toString.call(value) !== '[object Array]' || value.length < 1) {\r\n return value;\r\n }\r\n return value.filter((item) => {\r\n if (!searchTerm) {\r\n return true;\r\n }\r\n const matcher = new RegExp(searchTerm.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&'), 'i');\r\n if (!properties) {\r\n return matcher.test(item);\r\n } else {\r\n if (typeof properties === 'string') {\r\n return matcher.test(item[properties]);\r\n } else {\r\n for (let i = 0; i < properties.length; i++) {\r\n if (item.hasOwnProperty(properties[i]) && matcher.test(item[properties[i]])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","// DSS Documentation on SocoSystemMessageComponent - http://tiny.sc/cgsocosystemmessagecomponent\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\nexport enum SocoSystemMessageType {\r\n Unknown = 0,\r\n Loading = 1,\r\n NoResults = 2,\r\n Error = 3,\r\n AccessDenied = 4\r\n}\r\n@Component({\r\n selector: 'soco-system-message',\r\n template: `
\r\n \r\n

{{message}}

\r\n
`\r\n})\r\nexport class SocoSystemMessageComponent implements OnInit {\r\n @Input() message: string = null;\r\n @Input() icon: string = null;\r\n @Input() messageType: string = SocoSystemMessageType[SocoSystemMessageType.Unknown];\r\n\r\n ngOnInit(): void {\r\n switch (SocoSystemMessageType[this.messageType]) {\r\n case SocoSystemMessageType.Loading:\r\n if (!this.message) {\r\n this.message = 'Loading...';\r\n }\r\n if (!this.icon) {\r\n this.icon = 'fa-spinner fa-5x fa-spin';\r\n }\r\n break;\r\n case SocoSystemMessageType.NoResults:\r\n if (!this.message) {\r\n this.message = 'No results found';\r\n }\r\n if (!this.icon) {\r\n this.icon = 'fa-ban fa-5x';\r\n }\r\n break;\r\n case SocoSystemMessageType.Error:\r\n if (!this.message) {\r\n this.message = 'Oops! An error occurred processing your request.If the problem persists contact the IT Help Desk.';\r\n }\r\n if (!this.icon) {\r\n this.icon = 'fa-exclamation-triangle fa-5x';\r\n }\r\n break;\r\n case SocoSystemMessageType.AccessDenied:\r\n if (!this.message) {\r\n this.message = 'Access Denied';\r\n }\r\n if (!this.icon) {\r\n this.icon = 'fa-ban fa-5x';\r\n }\r\n break;\r\n }\r\n }\r\n}\r\n\r\n\r\n","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\n// DSS Documentation on Angular Reuse - http://tiny.sc/cgangularreuse\r\nimport { NgModule } from '@angular/core';\r\n\r\n// DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\n\r\nconst SOCO_MODULE_DIRECTIVES = [\r\n];\r\n\r\n@NgModule({\r\n exports: SOCO_MODULE_DIRECTIVES,\r\n declarations: SOCO_MODULE_DIRECTIVES,\r\n providers: [\r\n // DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\n SocoConfigurationService\r\n ]\r\n})\r\nexport class SocoConfigurationModule { }\r\n","export { SocoConfigurationModule } from '@app/soco/configuration/configuration_module';\r\n\r\n// DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\nexport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\n","// DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject , Observable } from 'rxjs';\r\nimport { ConstantsService } from '@app/core/services/constants.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SocoConfigurationService {\r\n\r\n // Defining the Constructor\r\n constructor(private constantsSVC: ConstantsService) { }\r\n private configurationUpdatedSource = new Subject();\r\n configurationUpdated = this.configurationUpdatedSource.asObservable();\r\n\r\n public isModified(settingUpdated: string, settingName: string, settingValue: any, shouldAcceptNullValue = false): boolean {\r\n // if settingUpdated is null then multiple settings were updated\r\n if (settingUpdated == null || settingUpdated === settingName) {\r\n const updatedValue = this.getSetting(settingName);\r\n if ((shouldAcceptNullValue || updatedValue) && updatedValue !== settingValue) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public getSetting(settingName: string): T {\r\n const config = this.data;\r\n if (config && config.hasOwnProperty(settingName)) {\r\n return config[settingName];\r\n }\r\n return null;\r\n }\r\n\r\n get_cookie() {\r\n if (document.cookie && document.cookie.indexOf(this.constantsSVC.UserCookie) !== -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public setSetting(settingName: string, settingValue: T) {\r\n let config = this.data;\r\n if (!config) {\r\n config = {};\r\n }\r\n config[settingName] = settingValue;\r\n this.data = config;\r\n this.configurationUpdatedSource.next(settingName);\r\n }\r\n\r\n public set settings(value: any) {\r\n let config = this.data;\r\n if (!config) {\r\n config = value;\r\n } else {\r\n config = Object.assign(config, value);\r\n }\r\n this.data = config;\r\n this.configurationUpdatedSource.next(null);\r\n }\r\n\r\n public get webApiBaseUrl(): string {\r\n const config = this.data;\r\n if (config) {\r\n return config.webApiBaseUrl;\r\n }\r\n return null;\r\n }\r\n\r\n public set webApiBaseUrl(value: string) {\r\n let config = this.data;\r\n if (!config) {\r\n config = {};\r\n }\r\n config.webApiBaseUrl = value;\r\n this.data = config;\r\n this.configurationUpdatedSource.next('webApiBaseUrl');\r\n }\r\n\r\n public get webApiToken(): string {\r\n const config = this.data;\r\n if (config ) {\r\n return config.webApiToken;\r\n\r\n // Todo: DSS: This code is incompatible with webauth, should likely be removed -- BT 3/20/24\r\n // if (config.webApiToken === 'ANONYMOUS') {\r\n // return config.webApiToken;\r\n // } else {\r\n // if (this.get_cookie()) {\r\n // return config.webApiToken;\r\n // } else {\r\n // return undefined;\r\n // }\r\n // }\r\n }\r\n return undefined;\r\n }\r\n\r\n public set webApiToken(value: string) {\r\n let config = this.data;\r\n if (!config) {\r\n config = {};\r\n }\r\n config.webApiToken = value;\r\n this.data = config;\r\n this.configurationUpdatedSource.next('webApiToken');\r\n }\r\n\r\n public get coolSecurityToken(): string {\r\n const config = this.data;\r\n if (config) {\r\n return config.coolSecurityToken;\r\n }\r\n return null;\r\n }\r\n\r\n public set coolSecurityToken(value: string) {\r\n let config = this.data;\r\n if (!config) {\r\n config = {};\r\n }\r\n config.coolSecurityToken = value;\r\n this.data = config;\r\n this.configurationUpdatedSource.next('coolSecurityToken');\r\n }\r\n\r\n private get data(): any {\r\n // tslint:disable-next-line: no-useless-cast\r\n const configStr = (document.querySelector('.soco-configuration') as HTMLElement).dataset.sococonfiguration;\r\n if (configStr === undefined) {\r\n return undefined;\r\n }\r\n return JSON.parse(configStr).data;\r\n }\r\n\r\n private set data(value: any) {\r\n // tslint:disable-next-line: no-useless-cast\r\n (document.querySelector('.soco-configuration') as HTMLElement).dataset.sococonfiguration = JSON.stringify({ data: value });\r\n }\r\n public get gisUrl(): string {\r\n const config = this.data;\r\n if (config) {\r\n return config.GisUrl;\r\n }\r\n return null;\r\n }\r\n public get gisBaseUrl(): string {\r\n const config = this.data;\r\n if (config) {\r\n return config.GisBaseUrl;\r\n }\r\n return null;\r\n }\r\n public get builderFirstUrl(): string {\r\n const config = this.data;\r\n if (config) {\r\n return config.BuilderFirstUrl;\r\n }\r\n return null;\r\n }\r\n public get isSoCoEnv(): string {\r\n const config = this.data;\r\n if (config) {\r\n return config.isSoCoEnv;\r\n }\r\n return 'true';\r\n }\r\n}\r\n","// DSS Documentation on ApiResult - http://tiny.sc/cgapiresult\r\n// DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\nimport { ModelError } from '@app/soco/core/model-error';\r\n\r\nexport class ApiResult {\r\n statusCode: number;\r\n status: boolean;\r\n message: string;\r\n data: T;\r\n modelErrors: ModelError[];\r\n}\r\n","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\n// DSS Documentation on Angular Reuse - http://tiny.sc/cgangularreuse\r\nimport { NgModule } from '@angular/core';\r\n\r\n// DSS Documentation on ApiResult - http://tiny.sc/cgapiresult\r\n// DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\nimport { ApiResult } from '@app/soco/core/api-result';\r\n\r\n// DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\nimport { ModelError } from '@app/soco/core/model-error';\r\n\r\n@NgModule({\r\n providers: [ApiResult, ModelError]\r\n})\r\nexport class SocoCoreModule { }\r\n","export { SocoCoreModule } from '@app/soco/core/core_module';\r\n\r\n// DSS Documentation on ApiResult - http://tiny.sc/cgapiresult\r\n// DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\nexport { ApiResult } from '@app/soco/core/api-result';\r\n// DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\nexport { ModelError } from '@app/soco/core/model-error';\r\n","// DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\nexport class ModelError {\r\n fieldName: string;\r\n errorMessage: string;\r\n}\r\n","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\n// DSS Documentation on Angular Reuse - http://tiny.sc/cgangularreuse\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SocoPleaseWaitComponent } from '@app/soco/http/soco-please-wait.component';\r\n// DSS Documentation on SocoHttpService - http://tiny.sc/cgsocohttpservice\r\nimport { SocoHttpService } from '@app/soco/http/soco-http.service';\r\n// DSS Documentation on SocoWebAuthService - http://tiny.sc/socowebauthservice\r\nimport { SocoWebAuthService } from '@app/soco/http/soco-web-auth.service';\r\n\r\nconst SOCO_MODULE_DIRECTIVES = [\r\n SocoPleaseWaitComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n // BrowserModule,\r\n CommonModule,\r\n HttpClientModule\r\n ],\r\n exports: SOCO_MODULE_DIRECTIVES,\r\n declarations: SOCO_MODULE_DIRECTIVES,\r\n providers: [\r\n // DSS Documentation on SocoHttpService - http://tiny.sc/cgsocohttpservice\r\n SocoHttpService,\r\n // DSS Documentation on SocoWebAuthService - http://tiny.sc/socowebauthservice\r\n SocoWebAuthService\r\n ]\r\n})\r\nexport class SocoHttpModule { }\r\n","export { SocoHttpModule } from '@app/soco/http/http_module';\r\n\r\n// DSS Documentation on SocoHttpService - http://tiny.sc/cgsocohttpservice\r\nexport { SocoHttpService, SocoHttpServiceOptions } from '@app/soco/http/soco-http.service';\r\n// DSS Documentation on SocoWebAuthService - http://tiny.sc/socowebauthservice\r\nexport { SocoWebAuthService } from '@app/soco/http/soco-web-auth.service';\r\n","// DSS Documentation on SocoHttpService - http://tiny.sc/cgsocohttpservice\r\nimport {Injectable} from '@angular/core';\r\nimport {\r\n HttpClient,\r\n HttpHeaders,\r\n HttpRequest,\r\n HttpParams,\r\n HttpEventType,\r\n HttpResponse,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\n\r\nimport {v4} from 'uuid';\r\nimport {Subject, Observable, throwError} from 'rxjs';\r\nimport {map, filter, catchError, concatMap} from 'rxjs/operators';\r\n\r\n// DSS Documentation on ApiResult - http://tiny.sc/cgapiresult\r\nimport {ApiResult} from '@app/soco/core';\r\n// DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\nimport {SocoConfigurationService} from '@app/soco/configuration';\r\n// DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\nimport {SocoAlertService} from '@app/soco/alert';\r\n// DSS Documentation on SocoWebAuthService - http://tiny.sc/socowebauthservice\r\nimport {SocoWebAuthService} from '@app/soco/http/soco-web-auth.service';\r\nimport {ConstantsService} from '@app/core/services/constants.service';\r\n\r\n// declare var swal: any;\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SocoHttpService {\r\n private pleaseWaitShowSource = new Subject();\r\n private pleaseWaitHideSource = new Subject();\r\n pleaseWaitShown$ = this.pleaseWaitShowSource.asObservable();\r\n pleaseWaitHidden$ = this.pleaseWaitHideSource.asObservable();\r\n public sessionActive = true;\r\n\r\n // DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n // DSS Documentation on SocoWebAuthService - http://tiny.sc/socowebauthservice\r\n constructor(\r\n private httpClient: HttpClient,\r\n private config: SocoConfigurationService,\r\n private socoAlertService: SocoAlertService,\r\n private socoWebAuthService: SocoWebAuthService,\r\n private constantsSvc: ConstantsService\r\n ) {\r\n }\r\n\r\n /**\r\n * Can be used within the error function called when subscribing to an\r\n * observable to determine what type of exception occurred.\r\n * @param result The result returned by SocoHttpService\r\n */\r\n getExceptionType(result: any): SocoHttpServiceExceptionType {\r\n let failureType = SocoHttpServiceExceptionType.Error;\r\n if (result != null) {\r\n if (result.status) {\r\n failureType = SocoHttpServiceExceptionType.None;\r\n } else if (result.modelErrors) {\r\n failureType = SocoHttpServiceExceptionType.Invalid;\r\n } else if (result.message) {\r\n failureType = SocoHttpServiceExceptionType.Failure;\r\n }\r\n }\r\n return failureType;\r\n }\r\n\r\n /**\r\n * Can be used within the error function called when subscribing to an\r\n * observable to determine if the result was an error. This would mean\r\n * the result is not an ApiResult indicating a failure but rather some\r\n * other type of exception.\r\n * @param result The result returned by SocoHttpService\r\n */\r\n isErrorResult(result: any) {\r\n return this.getExceptionType(result) === SocoHttpServiceExceptionType.Error;\r\n }\r\n\r\n /**\r\n * Can be used within the error function called when subscribing to an\r\n * observable to determine if the result was a failure. This would mean\r\n * something happened server-side so an ApiResult has been returned to\r\n * provide more information on what happened.\r\n * @param result The result returned by SocoHttpService\r\n */\r\n isFailureResult(result: any) {\r\n return (\r\n this.getExceptionType(result) === SocoHttpServiceExceptionType.Failure\r\n );\r\n }\r\n\r\n /**\r\n * Can be used within the error function called when subscribing to an\r\n * observable to determine if the result was invalid. This would mean\r\n * the information in the model sent to the server had invalid data.\r\n * @param result The result returned by SocoHttpService\r\n */\r\n isInvalidResult(result: any) {\r\n return (\r\n this.getExceptionType(result) === SocoHttpServiceExceptionType.Invalid\r\n );\r\n }\r\n\r\n /**\r\n * Does an HTTP GET\r\n * @param options The options to be used in the HTTP GET\r\n */\r\n get(options: SocoHttpServiceOptions): Observable> {\r\n options.verb = 'get';\r\n return this.webMethod(options);\r\n }\r\n\r\n /**\r\n * Does an HTTP POST\r\n * @param options The options to be used in the HTTP POST\r\n */\r\n post(options: SocoHttpServiceOptions): Observable> {\r\n options.verb = 'post';\r\n return this.webMethod(options);\r\n }\r\n\r\n /**\r\n * Does an HTTP PUT\r\n * @param options The options to be used in the HTTP PUT\r\n */\r\n put(options: SocoHttpServiceOptions): Observable> {\r\n options.verb = 'put';\r\n return this.webMethod(options);\r\n }\r\n\r\n /**\r\n * Does an HTTP DELETE\r\n * @param options The options to be used in the HTTP DELETE\r\n */\r\n del(options: SocoHttpServiceOptions): Observable> {\r\n options.verb = 'delete';\r\n return this.webMethod(options);\r\n }\r\n\r\n private webMethod(\r\n options: SocoHttpServiceOptions\r\n ): Observable> {\r\n // add the token and transaction id\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + this.config.webApiToken,\r\n 'x-transaction-id': this.getGuid(),\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache'\r\n });\r\n\r\n // add the WebApiBaseUrl to the front of every URL unless we were told not to\r\n if (!options.excludeWebApiBaseUrl) {\r\n options.url = this.config.webApiBaseUrl + options.url;\r\n }\r\n\r\n // include the params\r\n // let params = new HttpParams();\r\n // if (options.params) {\r\n // for (const param in options.params) {\r\n // if (options.params.hasOwnProperty(param)) {\r\n // params = params.set(param, options.params[param]);\r\n // }\r\n // }\r\n // }\r\n // include the params\r\n let params = new HttpParams();\r\n for (const param in options.params) {\r\n const paramName = param;\r\n if (options.params[param] != null) {\r\n if (Array.isArray(options.params[param])) {\r\n options.params[param].forEach((arrayParam: string) => {\r\n params = params.append(paramName, arrayParam);\r\n });\r\n } else {\r\n params = params.append(paramName, options.params[param]);\r\n }\r\n }\r\n }\r\n const httpRequest = new HttpRequest(\r\n options.verb,\r\n options.url,\r\n JSON.stringify(options.data),\r\n {\r\n headers,\r\n params\r\n }\r\n );\r\n // start a timeout so we show please wait for anything that takes too long\r\n let timeoutId: any = null;\r\n if (options.pleaseWaitTimeoutDuration) {\r\n timeoutId = setTimeout(() => {\r\n this.pleaseWaitShowSource.next(options.pleaseWaitMessage);\r\n }, options.pleaseWaitTimeoutDuration);\r\n }\r\n this.showPleaseWait(options.pleaseWaitMessage, options.pleaseWaitContainerId);\r\n if (!this.config.webApiToken) {\r\n this.sessionActive = false;\r\n this.logoff(options);\r\n } else {\r\n // send the request\r\n return this.httpClient\r\n .request>(httpRequest)\r\n .pipe(filter(event => event.type === HttpEventType.Response))\r\n .pipe(\r\n map((response: HttpResponse>) => {\r\n const result = response.body;\r\n\r\n // indicate the request completed\r\n this.doneWaiting(timeoutId);\r\n this.hidePleaseWait(options.pleaseWaitContainerId);\r\n // if the result is not an ApiResult or if the result was successful\r\n // then just let the app handle the result\r\n if (result === undefined || result.status) {\r\n // successful result, let the application handle it\r\n } else if (!result.message && result.modelErrors) {\r\n // DSS Documentation on Validation - http://tiny.sc/cgvalidation\r\n if (!options.shouldIgnoreInvalidResult) {\r\n let msg = '';\r\n for (const modelError of result.modelErrors) {\r\n msg += modelError.errorMessage + '
';\r\n }\r\n this.showFailureMessage(msg, options.alertId);\r\n }\r\n } else {\r\n // DSS Documentation on handling exceptions - http://tiny.sc/cgclientexceptions\r\n if (!options.shouldIgnoreFailureResult) {\r\n this.showFailureMessage(result.message, options.alertId);\r\n }\r\n }\r\n\r\n return result;\r\n }),\r\n catchError((err: HttpErrorResponse) => {\r\n // indicate the request completed\r\n this.doneWaiting(timeoutId);\r\n this.hidePleaseWait(options.pleaseWaitContainerId);\r\n\r\n return this.handleError(err, options);\r\n })\r\n );\r\n }\r\n }\r\n\r\n private logoff(options: SocoHttpServiceOptions) {\r\n const url =\r\n '/' +\r\n (this.config.isSoCoEnv\r\n ? 'account/logoff'\r\n : this.constantsSvc.localIISAppName + '/account/logoff');\r\n // swal(this.constantsSvc.sessionswal, '', this.constantsSvc.warningSwal).then(\r\n // () => {\r\n // window.location.href = url;\r\n // }\r\n // );\r\n }\r\n\r\n private getWebApiInfo(options: SocoHttpServiceOptions): Observable {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'x-transaction-id': this.getGuid(),\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache'\r\n });\r\n\r\n // tslint:disable-next-line: prefer-immediate-return\r\n const req = this.httpClient.get>('/Account/GetApiInfo', {headers})\r\n .pipe(\r\n map(result => {\r\n if (result.status) {\r\n // if the WebApiBaseUrl doesnt end with a forward slash, add it so we dont have to add it\r\n // everywhere in the code\r\n if (\r\n result.data.webApiBaseUrl[\r\n result.data.webApiBaseUrl.length - 1\r\n ] !== '/'\r\n ) {\r\n result.data.webApiBaseUrl += '/';\r\n }\r\n\r\n // add special configuration from the application including WebApiBaseUrl and WebApiToken\r\n // DSS Documentation on SocoConfigurationService - http://tiny.sc/cgsococonfigurationservice\r\n let webApiToken: string = null;\r\n for (const propName of Object.keys(result.data)) {\r\n if (propName === 'webApiToken') {\r\n webApiToken = result.data[propName];\r\n }\r\n this.config.setSetting(propName, result.data[propName]);\r\n }\r\n\r\n return webApiToken;\r\n } else {\r\n this.showFailureMessage(\r\n 'Unable to acquire a token',\r\n options.alertId\r\n );\r\n return null;\r\n }\r\n }),\r\n catchError((err: HttpErrorResponse) => {\r\n const errMsg = 'Error occurred while acquiring a token';\r\n this.showFailureMessage(errMsg, options.alertId);\r\n\r\n return throwError(errMsg);\r\n })\r\n );\r\n\r\n return req;\r\n }\r\n\r\n private handleError(\r\n error: HttpErrorResponse,\r\n options: SocoHttpServiceOptions\r\n ): Observable> {\r\n let result = error.error as ApiResult;\r\n let errMsg = '';\r\n\r\n // No ApiResult returned (e.g. 401 Unauthorized, 403 Forbidden)\r\n if (!result) {\r\n if (!options.shouldIgnoreErrorResult) {\r\n // server returned unsuccessful response code\r\n switch (error.status) {\r\n case 401:\r\n errMsg = 'Your token has expired';\r\n this.socoWebAuthService.redirectToLoginPage(); // redirect to login\r\n break;\r\n case 403:\r\n errMsg = 'Access denied';\r\n this.showFailureMessage(errMsg, options.alertId);\r\n break;\r\n default:\r\n errMsg = 'An error occurred';\r\n this.showFailureMessage(errMsg, options.alertId);\r\n break;\r\n }\r\n }\r\n\r\n result = {\r\n statusCode: error.status,\r\n status: false,\r\n message: errMsg,\r\n data: null,\r\n modelErrors: null\r\n };\r\n // ApiResult returned with modelErrors (e.g. 400 Bad Request)\r\n } else if (!result.message && result.modelErrors) {\r\n if (!options.shouldIgnoreInvalidResult) {\r\n for (const modelError of result.modelErrors) {\r\n errMsg += modelError.errorMessage + '
';\r\n }\r\n this.showFailureMessage(errMsg, options.alertId);\r\n }\r\n // An error ocurred and ApiResult was returned (e.g. 500 Internal Server Error)\r\n } else {\r\n if (!options.shouldIgnoreFailureResult) {\r\n this.showFailureMessage(result.message, options.alertId);\r\n }\r\n }\r\n\r\n return throwError(result);\r\n }\r\n\r\n private getGuid(): string {\r\n const hexlist = '0123456789abcdef';\r\n const b64list =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\n function guidToBase64(\r\n guid: string,\r\n shouldUseLittleEndian: boolean\r\n ): string {\r\n let parsedGuid = guid.replace(/[^0-9a-f]/gi, '').toLowerCase();\r\n if (parsedGuid.length !== 32) {\r\n return '';\r\n }\r\n\r\n if (shouldUseLittleEndian) {\r\n parsedGuid =\r\n parsedGuid.slice(6, 8) +\r\n parsedGuid.slice(4, 6) +\r\n parsedGuid.slice(2, 4) +\r\n parsedGuid.slice(0, 2) +\r\n parsedGuid.slice(10, 12) +\r\n parsedGuid.slice(8, 10) +\r\n parsedGuid.slice(14, 16) +\r\n parsedGuid.slice(12, 14) +\r\n parsedGuid.slice(16);\r\n }\r\n parsedGuid += '0';\r\n\r\n let result = '';\r\n let i = 0;\r\n let a: any, p: any, q: any;\r\n while (i < 33) {\r\n a =\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 8) |\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 4) |\r\n hexlist.indexOf(parsedGuid.charAt(i++));\r\n\r\n p = a >> 6;\r\n q = a & 63;\r\n\r\n result += b64list.charAt(p) + b64list.charAt(q);\r\n }\r\n result += '==';\r\n\r\n return result;\r\n }\r\n\r\n // generate a guid\r\n const guid = v4();\r\n\r\n // base-64 encode the guid using Little-endian\r\n const b64encoded = guidToBase64(guid, true);\r\n\r\n // return the 22 character guid\r\n return b64encoded\r\n .replace('/', '_')\r\n .replace('+', '-')\r\n .substring(0, 22);\r\n }\r\n\r\n // DSS Documentation on handling exceptions - http://tiny.sc/cgclientexceptions\r\n private showFailureMessage(message: string, alertId: string) {\r\n if (!alertId) {\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n alertId = this.socoAlertService.getDefaultAlertId();\r\n }\r\n if ($('#' + alertId).length > 0) {\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n this.socoAlertService.error({message, id: alertId});\r\n } else {\r\n // simply log the failure to the console\r\n console.error(message);\r\n }\r\n }\r\n\r\n private doneWaiting(timeoutId: number) {\r\n // clear the timeout so please wait doesnt show if we finish in time\r\n clearTimeout(timeoutId);\r\n\r\n this.pleaseWaitHideSource.next();\r\n }\r\n\r\n public showPleaseWait(message: string, containerId: string) {\r\n // Added by John since please-wait is not a stand alone service\r\n this.pleaseWaitShowSource.next({message: message, containerId: containerId});\r\n }\r\n\r\n public hidePleaseWait(containerId: string) {\r\n // Added by John since please-wait is not a stand alone service\r\n this.pleaseWaitHideSource.next(containerId ? containerId : '');\r\n }\r\n}\r\n\r\nexport enum SocoHttpServiceExceptionType {\r\n /**\r\n * The result was successful and thus there is no exception.\r\n */\r\n None = 0,\r\n /**\r\n * The result is not an ApiResult indicating a failure but rather some\r\n * other type of exception.\r\n */\r\n Error = 1,\r\n /**\r\n * Something happened server-side so an ApiResult has been returned to\r\n * provide more information on what happened.\r\n */\r\n Failure = 2,\r\n /**\r\n * The information in the model sent to the server had invalid data\r\n */\r\n Invalid = 3\r\n}\r\n\r\nexport interface SocoHttpServiceOptions {\r\n success?: any;\r\n invliad?: any;\r\n pleaseWaitTitle?: any;\r\n /**\r\n * The url of the API call being made\r\n */\r\n url: string;\r\n /**\r\n * You do not need to specify this. When you use the appropriate function\r\n * on SocoHttpService it will set the verb appropriately.\r\n */\r\n verb?: string;\r\n /**\r\n * Data to be sent as the request message data.\r\n */\r\n data?: any;\r\n /**\r\n * Map of strings or objects which will be serialized with the paramSerializer and appended as GET parameters.\r\n */\r\n params?: any;\r\n /**\r\n * All of your API calls should communicate with your Web API project where your API\r\n * controllers are. To avoid having to prefix all of your URLs with that URL SocoHttpService\r\n * does it for you. However, if you are calling some other API you can specify that you\r\n * don't want SocoHttpService to prefix the URL with the Web API URL.\r\n */\r\n excludeWebApiBaseUrl?: boolean;\r\n /**\r\n * The id of the alert element to use if an error occurs and we want to display it to the user\r\n *\r\n * DSS Documentation on handling exceptions - http://tiny.sc/cgclientexceptions\r\n */\r\n alertId?: string;\r\n /**\r\n * Indicates if SocoHttpService should ignore a failure because you intend to add custom logic\r\n * to handle the failure result.\r\n *\r\n * DSS Documentation on handling exceptions - http://tiny.sc/cgclientexceptions\r\n */\r\n shouldIgnoreFailureResult?: boolean;\r\n /**\r\n * Indicates if SocoHttpService should ignore an invalid result because you intend to add custom\r\n * logic to handle the invalid result.\r\n *\r\n * DSS Documentation on validation - http://tiny.sc/cgvalidation\r\n */\r\n shouldIgnoreInvalidResult?: boolean;\r\n /**\r\n * Indicates if SocoHttpService should ignore an error because you intend to add custom logic\r\n * to handle the error result.\r\n *\r\n * DSS Documentation on handling exceptions - http://tiny.sc/cgclientexceptions\r\n */\r\n shouldIgnoreErrorResult?: boolean;\r\n /**\r\n * How long should we wait before displaying a please wait - loading indicator.\r\n * Specify 0 if we should never show a please wait - loading indicator.\r\n */\r\n pleaseWaitTimeoutDuration?: number;\r\n /**\r\n * The message for the please wait - loading indicator.\r\n */\r\n pleaseWaitMessage?: string;\r\n\r\n // Added By John Hakeem\r\n // Please wait component use BlockUI JQuery plugin that need a container Id to function\r\n pleaseWaitContainerId?: string;\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { SocoHttpService } from '@app/soco/http/soco-http.service';\r\ndeclare const $;\r\n\r\n@Component({\r\n selector: 'soco-please-wait',\r\n template: ``\r\n})\r\nexport class SocoPleaseWaitComponent {\r\n constructor(private http: SocoHttpService) {\r\n http.pleaseWaitShown$.subscribe(options => {\r\n this.show(options);\r\n });\r\n http.pleaseWaitHidden$.subscribe(containerId => {\r\n this.hide(containerId);\r\n });\r\n }\r\n\r\n private show(options: any): void {\r\n $(`#${options.containerId}`).block(this.getOptions(options.message ? options.message : 'Processing.'));\r\n }\r\n\r\n private hide(containerId: any): void {\r\n $(`#${containerId}`).unblock();\r\n }\r\n\r\n private getOptions(message: string) {\r\n return {\r\n message: `

${message}
`,\r\n overlayCSS: {\r\n backgroundColor: '#fff',\r\n opacity: 0.60,\r\n cursor: 'wait',\r\n 'box-shadow': '0 0 0 1px #ddd'\r\n },\r\n css: {\r\n border: 0,\r\n padding: 0,\r\n backgroundColor: 'none'\r\n }\r\n };\r\n }\r\n}\r\n","// DSS Documentation on SocoWebAuthService - http://tiny.sc/socowebauthservice\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SocoWebAuthService {\r\n redirectToLoginPage(): void {\r\n window.location.reload();\r\n }\r\n}\r\n","export * from '@app/soco/alert';\r\nexport * from '@app/soco/common';\r\nexport * from '@app/soco/configuration';\r\nexport * from '@app/soco/core';\r\nexport * from '@app/soco/http';\r\nexport * from '@app/soco/modal';\r\nexport * from '@app/soco/soco.module';\r\n","export { SocoModalModule } from '@app/soco/modal/modal_module';\r\n\r\n// DSS Documentation on SocoModalComponent - http://tiny.sc/cgsocomodalcomponent\r\nexport { SocoModalComponent } from '@app/soco/modal/soco-modal.component';\r\n// DSS Documentation on SocoModalService - http://tiny.sc/cgsocomodalservice\r\nexport { SocoModalService, SocoModalServiceOptions, SocoModalServiceShowOptions, SocoModalPleaseWaitData,\r\n SocoModalType } from '@app/soco/modal/soco-modal.service';\r\n","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\n// DSS Documentation on Angular Reuse - http://tiny.sc/cgangularreuse\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// DSS Documentation on SocoModalComponent - http://tiny.sc/cgsocomodalcomponent\r\nimport { SocoModalComponent } from '@app/soco/modal/soco-modal.component';\r\n// DSS Documentation on SocoModalService - http://tiny.sc/cgsocomodalservice\r\nimport { SocoModalService } from '@app/soco/modal/soco-modal.service';\r\n\r\nconst SOCO_MODULE_DIRECTIVES = [\r\n // DSS Documentation on SocoModalComponent - http://tiny.sc/cgsocomodalcomponent\r\n SocoModalComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n // BrowserModule\r\n CommonModule\r\n ],\r\n exports: SOCO_MODULE_DIRECTIVES,\r\n declarations: SOCO_MODULE_DIRECTIVES,\r\n providers: [\r\n // DSS Documentation on SocoModalService - http://tiny.sc/cgsocomodalservice\r\n SocoModalService\r\n ]\r\n})\r\nexport class SocoModalModule { }\r\n"," /* istanbul ignore next */\r\n/// \r\n/// \r\n\r\n// DSS Documentation on SocoModalComponent - http://tiny.sc/cgsocomodalcomponent\r\n// DSS Documentation on SocoModalService - http://tiny.sc/cgsocomodalservice\r\nimport { Component } from '@angular/core';\r\nimport { SocoModalService, SocoModalServiceOptions, SocoModalType } from '@app/soco/modal/soco-modal.service';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'soco-modal',\r\n template: `\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{title}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
`\r\n})\r\n\r\nexport class SocoModalComponent {\r\n /* istanbul ignore next */\r\n title: string = null;\r\n isConfirmationModal = false;\r\n isModal = false;\r\n isStatic = false;\r\n headerIcon: string = null;\r\n headerCssClass = '';\r\n buttonCssClass = '';\r\n okButton = 'Ok';\r\n cancelButton = 'No';\r\n confirmButton = 'Yes';\r\n body: SafeHtml = null;\r\n dontCloseOnChoice = false;\r\n // callback: (choice: boolean) => void = null; // upgraded to use Observable\r\n\r\n /* istanbul ignore next */\r\n constructor(private socoModalService: SocoModalService, private sanitizer: DomSanitizer) {\r\n socoModalService.modalShown$.subscribe(options => {\r\n this.show(options);\r\n });\r\n socoModalService.modalHidden$.subscribe(shouldFade => {\r\n this.hide(shouldFade);\r\n });\r\n }\r\n\r\n /* istanbul ignore next */\r\n confirmationChoice(choice: boolean): void {\r\n this.socoModalService.setModalChoice(choice);\r\n if (!this.dontCloseOnChoice) { this.hide(true); }\r\n }\r\n\r\n /* istanbul ignore next */\r\n private show(options: SocoModalServiceOptions): void {\r\n // set all of the variables\r\n this.title = options.title;\r\n this.body = this.sanitizer.bypassSecurityTrustHtml(options.body);\r\n this.isConfirmationModal = options.isConfirmationModal;\r\n this.isModal = options.isModal;\r\n this.headerCssClass = options.headerCssClass ? options.headerCssClass : '';\r\n this.buttonCssClass = options.buttonCssClass ? options.buttonCssClass : '';\r\n this.okButton = options.okButton ? options.okButton : 'Ok';\r\n this.cancelButton = options.cancelButton ? options.cancelButton : 'No';\r\n this.confirmButton = options.confirmButton ? options.confirmButton : 'Yes';\r\n this.isStatic = options.isStatic;\r\n this.dontCloseOnChoice = options.dontCloseOnChoice;\r\n switch (options.type) {\r\n case SocoModalType.Error:\r\n this.headerIcon = 'icon-cancel-circle2 position-left';\r\n break;\r\n case SocoModalType.Failure:\r\n this.headerIcon = 'icon-warning2 position-left';\r\n break;\r\n case SocoModalType.Caution:\r\n this.headerIcon = 'icon-help position-left';\r\n break;\r\n case SocoModalType.Information:\r\n this.headerIcon = 'icon-info22 position-left';\r\n break;\r\n case SocoModalType.Success:\r\n this.headerIcon = 'icon-checkmark-circle position-left';\r\n break;\r\n default:\r\n this.headerIcon = null;\r\n break;\r\n }\r\n /* istanbul ignore next */\r\n // configure the backdrop\r\n const modal = $('#soco-modal').data('bs.modal');\r\n if (modal) {\r\n modal.options.backdrop = options.isModal ? 'static' : true;\r\n $('#soco-modal').data('bs.modal', modal);\r\n\r\n // show the modal\r\n $('#soco-modal').modal('show');\r\n } else {\r\n // show the modal using options\r\n $('#soco-modal').modal({\r\n backdrop: options.isModal ? 'static' : true,\r\n show: true\r\n });\r\n\r\n $('#soco-modal').modal('show');\r\n }\r\n $('#soco-modal').on('shown.bs.modal', function(event) {\r\n // not setting focus to submit button\r\n $('#btnModal').focus();\r\n });\r\n\r\n $(window).on('hashchange', function (event) {\r\n window.history.go(-1);\r\n });\r\n\r\n }\r\n /* istanbul ignore next */\r\n private hide(shouldFade: boolean): void {\r\n // reset the backdrop\r\n const modal = $('#soco-modal').data('bs.modal');\r\n if (modal) {\r\n modal.options.backdrop = true;\r\n $('#soco-modal').data('bs.modal', modal);\r\n }\r\n\r\n // hide the modal\r\n if (shouldFade) {\r\n $('#soco-modal').modal('hide');\r\n } else {\r\n $('#soco-modal').removeClass('fade').modal('hide');\r\n $('#soco-modal').addClass('fade');\r\n }\r\n }\r\n}\r\n"," /* istanbul ignore next */\r\n// DSS Documentation on SocoModalService - http://tiny.sc/cgsocomodalservice\r\n// DSS Documentation on SocoModalComponent - http://tiny.sc/cgsocomodalcomponent\r\nimport { Injectable } from '@angular/core';\r\nimport { Subject , Observable } from 'rxjs';\r\n\r\n// DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\nimport { SocoAlertService } from '@app/soco/alert';\r\n\r\n@Injectable()\r\n\r\nexport class SocoModalService {\r\n /* istanbul ignore next */\r\n private modalShowSource = new Subject();\r\n private modalHideSource = new Subject();\r\n private modalConfirmationSource = new Subject();\r\n modalShown$ = this.modalShowSource.asObservable();\r\n modalHidden$ = this.modalHideSource.asObservable();\r\n modalConfirmation$ = this.modalConfirmationSource.asObservable();\r\n\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n constructor(private socoAlertService: SocoAlertService) { }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Shows the modal with the specified id\r\n * @param options Primarily only id is needed. However, specify the options needed for the modal to display and function properly.\r\n */\r\n show(options: SocoModalServiceShowOptions): void {\r\n // hide any alerts from the last time the modal was open\r\n // DSS Documentation on SocoAlertService - http://tiny.sc/cgsocoalertservice\r\n this.socoAlertService.hide();\r\n\r\n // show the modal\r\n $('#' + options.id).modal('show');\r\n\r\n // attach the callback for when the modal is closed\r\n if (options.onClose) {\r\n $('#' + options.id).unbind('hidden.bs.modal').on('hidden.bs.modal', options.onClose);\r\n }\r\n\r\n $('#' + options.id).unbind('shown.bs.modal').on('shown.bs.modal', () => {\r\n // set focus on the first form element in the modal\r\n $('#' + options.id + ' :input:visible:enabled:first').focus();\r\n\r\n // attach to keydown so that if enter key is pressed we can simulate a click of the primary button\r\n if (!options.dontSubmitWhenEnterPressed) {\r\n $('#' + options.id + ' input[type=\"text\"]').keydown(function (e) {\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n $('#' + options.id + ' .modal-footer .btn.btn-primary').eq(0).click();\r\n }\r\n });\r\n }\r\n\r\n // call the callback for when the modal is opened\r\n if (options.onOpen) {\r\n options.onOpen();\r\n }\r\n });\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent a messaging error in the application caused by the system/application\r\n * @param options Primarily only title and body are needed. However, specify the options needed for the modal to update properly.\r\n */\r\n fail(options: SocoModalServiceOptions): void {\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Oops something went wrong!',\r\n message: 'Unknown error occurred',\r\n type: SocoModalType.Failure\r\n };\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Failure;\r\n\r\n // show the modal\r\n this.modalShowSource.next(settings);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent a messaging error in the application caused by the user\r\n * @param options Primarily only title and body are needed. However, specify the options needed for the modal to update properly.\r\n */\r\n error(options: SocoModalServiceOptions): void {\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Oops something went wrong!',\r\n message: 'Unknown error occurred',\r\n type: SocoModalType.Error\r\n };\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Error;\r\n\r\n // show the modal\r\n this.modalShowSource.next(settings);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to caution a user to yield and address a state that could prevent an error\r\n * @param options Primarily only title and body are needed. However, specify the options needed for the modal to update properly.\r\n */\r\n caution(options: SocoModalServiceOptions): void {\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Watch Out!',\r\n message: 'Be careful before proceeding',\r\n type: SocoModalType.Caution,\r\n };\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Caution;\r\n\r\n // show the modal\r\n this.modalShowSource.next(settings);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent data that will inform the user about a specific contextual situation within the system.\r\n * @param options Primarily only title and body are needed. However, specify the options needed for the modal to update properly.\r\n */\r\n info(options: SocoModalServiceOptions): void {\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Take a look at this!',\r\n message: 'Information goes here',\r\n type: SocoModalType.Information\r\n };\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Information;\r\n\r\n // show the modal\r\n this.modalShowSource.next(settings);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Used to represent that the user successfully performed system input\r\n * @param options Primarily only title and body are needed. However, specify the options needed for the modal to update properly.\r\n */\r\n success(options: SocoModalServiceOptions): void {\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Success!',\r\n message: 'Successfully completed the specified operation',\r\n type: SocoModalType.Success\r\n };\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Success;\r\n\r\n // show the modal\r\n this.modalShowSource.next(settings);\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Displays a modal with a prompt and Yes and No buttons to allow the user to confirm or cancel the operation\r\n * @param options Primarily only title, body and confirmationCallback are needed.\r\n * However, specify the options needed for the modal to update properly.\r\n */\r\n confirm(options: SocoModalServiceOptions): void {\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Are you sure about that?',\r\n body: 'Please confirm your decision',\r\n dontCloseOnChoice: false,\r\n isConfirmationModal: true,\r\n isModal: true,\r\n type: SocoModalType.Caution\r\n };\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Caution;\r\n settings.isConfirmationModal = true;\r\n\r\n // show the modal\r\n this.modalShowSource.next(settings);\r\n }\r\n\r\n /* istanbul ignore next */\r\n setModalChoice(choice: boolean) { this.modalConfirmationSource.next(choice); }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Displays a static modal that cannot be closed with a loading icon and message\r\n * @param options Primarily only title and body are needed. However, specify the options needed for the modal to update properly.\r\n */\r\n pleaseWait(options: SocoModalServiceOptions): SocoModalPleaseWaitData {\r\n // check if something else called please wait and has already hidden a modal\r\n let currentModal = $('.modal.in.soco-modal-hidden-please-wait');\r\n let modalBackdrop = $('.modal-backdrop.in.soco-modal-hidden-please-wait');\r\n if (currentModal.length < 1) {\r\n // hide any other modal that is displayed\r\n currentModal = $('.modal.in');\r\n modalBackdrop = $('.modal-backdrop');\r\n if (currentModal.length > 0) {\r\n // verify if the other modal is a soco-modal, if it is we are going to\r\n // replace it so we dont need to hold on to a reference to it\r\n if (currentModal.attr('id') === 'soco-modal') {\r\n currentModal = null;\r\n modalBackdrop = null;\r\n } else {\r\n currentModal.hide().addClass('soco-modal-hidden-please-wait');\r\n modalBackdrop.hide().addClass('soco-modal-hidden-please-wait');\r\n }\r\n }\r\n }\r\n\r\n // merge the options passed in with the default options\r\n let settings = {\r\n title: 'Please wait...',\r\n // tslint:disable-next-line:max-line-length\r\n body: '

One moment please while we process your request

',\r\n type: SocoModalType.Information,\r\n isModal: true,\r\n isStatic: true\r\n };\r\n if (options.body) {\r\n options.body = '

' + options.body\r\n + '

';\r\n }\r\n settings = $.extend(settings, options);\r\n settings.type = SocoModalType.Information;\r\n settings.isModal = true;\r\n settings.isStatic = true;\r\n\r\n // show the please wait modal\r\n this.modalShowSource.next(settings);\r\n\r\n // return data needed to restore\r\n return {\r\n hiddenModal: currentModal,\r\n hiddenModalBackdrop: modalBackdrop\r\n };\r\n }\r\n\r\n /* istanbul ignore next */\r\n /**\r\n * Hides the please wait modal and optionally shows any modals that were being displayed before the please wait modal was shown\r\n * @param data Contains information about any modal that was being shown at the time the please wait modal was shown\r\n */\r\n doneWaiting(data: SocoModalPleaseWaitData): void {\r\n // if a modal is hidden then show it, otherwise just hide the please wait modal\r\n if (data && data.hiddenModal && data.hiddenModal.length > 0) {\r\n this.modalHideSource.next(false);\r\n data.hiddenModal.removeClass('soco-modal-hidden-please-wait').show();\r\n data.hiddenModalBackdrop.removeClass('soco-modal-hidden-please-wait').show();\r\n } else {\r\n this.hide();\r\n }\r\n }\r\n\r\n /* istanbul ignore next */\r\n /** Hides any and all modals */\r\n hide(): void {\r\n $('.modal.in').modal('hide');\r\n }\r\n\r\n /* istanbul ignore next */\r\n /** Indicates if any modal is open */\r\n isModalOpen(): boolean {\r\n return $('.modal').hasClass('in');\r\n }\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport interface SocoModalServiceOptions {\r\n /** The title of the modal that will appear in the header */\r\n title?: string;\r\n\r\n /** The body of the modal. You can specify HTML or just text. */\r\n body?: string;\r\n\r\n /** This will be set for you if you call SocoModalService.confirm.\r\n * Indicates if the modal should offer Yes/No buttons to confirm or deny. */\r\n isConfirmationModal?: boolean;\r\n\r\n /** This will be set for you if you call SocoModalService.pleaseWait.\r\n * Indicates if to hide the header and footer buttons. */\r\n isStatic?: boolean;\r\n\r\n /** This will be set for you if you call SocoModalService.pleaseWait.\r\n * Indicates if the modal should remain open when the backdrop is clicked. */\r\n isModal?: boolean;\r\n\r\n /** This is only needed if this is a confirmation modal. The function that will\r\n * be called when the user chooses to confirm or deny.\r\n * @param choice True if the user confirmed, false if the user denied. */\r\n // confirmationCallback?: (choice: boolean) => void; // Updated by John to use Observable\r\n\r\n /** This is only needed if this is a confirmation modal. You do not have to specify this. By\r\n * default the value will be set to true and the modal will be closed when the user confirms\r\n * or denies. However, if you want to leave the modal open when the user confirms or denies\r\n * (perhaps because you want to avoid the modal close and re-open animation if once the user\r\n * confirms you will show another modal) you can set this to true. */\r\n dontCloseOnChoice?: boolean;\r\n\r\n /** Identifies the purpose of the modal */\r\n type?: SocoModalType;\r\n\r\n // Added by John Hakeem\r\n headerCssClass?: string;\r\n buttonCssClass?: string;\r\n okButton?: string;\r\n cancelButton?: string;\r\n confirmButton?: string;\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport interface SocoModalServiceShowOptions {\r\n /**\r\n * The id of the modal to show\r\n */\r\n id: string;\r\n /**\r\n * Called when the modal is closed\r\n */\r\n onClose?: () => void;\r\n /**\r\n * Called when the modal is opened\r\n */\r\n onOpen?: () => void;\r\n /**\r\n * Indicates if pressing enter should not simulate a click of the primary button\r\n */\r\n dontSubmitWhenEnterPressed?: boolean;\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport interface SocoModalPleaseWaitData {\r\n hiddenModal: JQuery;\r\n hiddenModalBackdrop: JQuery;\r\n}\r\n\r\n/* istanbul ignore next */\r\nexport enum SocoModalType {\r\n Unknown = 0,\r\n Error = 1,\r\n Failure = 2,\r\n Caution = 3,\r\n Information = 4,\r\n Success = 5\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SocoAlertModule } from '@app/soco/alert/alert_module';\r\nimport { SocoCommonModule } from '@app/soco/common/common_module';\r\nimport { SocoConfigurationModule } from '@app/soco/configuration/configuration_module';\r\nimport { SocoCoreModule } from '@app/soco/core/core_module';\r\nimport { SocoHttpModule } from '@app/soco/http/http_module';\r\nimport { SocoModalModule } from '@app/soco/modal/modal_module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n SocoAlertModule,\r\n SocoCommonModule,\r\n SocoConfigurationModule,\r\n SocoCoreModule,\r\n SocoHttpModule,\r\n SocoModalModule\r\n ],\r\n exports: [\r\n SocoAlertModule,\r\n SocoCommonModule,\r\n SocoConfigurationModule,\r\n SocoCoreModule,\r\n SocoHttpModule,\r\n SocoModalModule\r\n ]\r\n})\r\nexport class SocoModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { SharedModule } from '@app/shared/shared.module';\r\nimport { CanDeactivateGuard } from '@app/base/shared';\r\n\r\nimport {\r\n ApplicantComponent,\r\n LocationComponent,\r\n TypeComponent,\r\n InformationComponent,\r\n AddressesComponent,\r\n PremiseComponent,\r\n CommercialPremiseComponent,\r\n ResidentialPremiseComponent,\r\n MixedPremiseComponent,\r\n ReviewComponent,\r\n AcknowledgeComponent\r\n} from '@app/modules/applicant';\r\n\r\nconst routes: Routes = [\r\n { path: '', pathMatch: 'full', redirectTo: 'residential/location' }, // Landing without defining any type, set the default one\r\n {\r\n path: ':type',\r\n component: ApplicantComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'location' },\r\n { path: 'location', component: LocationComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | Service Address' } },\r\n { path: 'type', component: TypeComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | Request Type' } },\r\n { path: 'information', component: InformationComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | About Applicant' } },\r\n { path: 'addresses', component: AddressesComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | Site Details' } },\r\n { path: 'premise', component: PremiseComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | Premise' } },\r\n { path: 'review', component: ReviewComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | Review Request' } },\r\n { path: 'acknowledge', component: AcknowledgeComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Applicant Request | Acknowledge' } },\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild(routes)\r\n ],\r\n declarations: [\r\n ApplicantComponent,\r\n LocationComponent,\r\n TypeComponent,\r\n InformationComponent,\r\n AddressesComponent,\r\n PremiseComponent,\r\n ReviewComponent,\r\n AcknowledgeComponent,\r\n CommercialPremiseComponent,\r\n ResidentialPremiseComponent,\r\n MixedPremiseComponent\r\n ]\r\n})\r\nexport class ApplicantModule { }\r\n","export * from '@app/modules/applicant/base/services';\r\nexport * from '@app/modules/applicant/base/outlet/applicant.component';\r\n","export default \".location-banner {\\r\\n background-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.residential-banner {\\r\\n background-image: url(\\\"/assets/images/banners/residential.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.commercial-banner {\\r\\n background-image: url(\\\"/assets/images/banners/commercial.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.mixed-use-banner {\\r\\n background-image: url(\\\"/assets/images/banners/mixed-use.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n:host>>>.wizard>.steps .number {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n:host>>>.wizard>.content>.body {\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n.step-1:after,\\r\\n:host>>>.wizard>.steps>ul>li.current .step-1:after {\\r\\n content: \\\"1\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-2:after,\\r\\n:host>>>.wizard>.steps>ul>li.current .step-2:after {\\r\\n content: \\\"2\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-3:after,\\r\\n:host>>>.wizard>.steps>ul>li.current .step-3:after {\\r\\n content: \\\"3\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-4:after,\\r\\n:host>>>.wizard>.steps>ul>li.current .step-4:after {\\r\\n content: \\\"4\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-5:after,\\r\\n:host>>>.wizard>.steps>ul>li.current .step-5:after {\\r\\n content: \\\"5\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.disable-link {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.error .number {\\r\\n font-size: 0;\\r\\n border-color: #d30000;\\r\\n background-color: #fff;\\r\\n color: #d30000;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBsaWNhbnQvYmFzZS9vdXRsZXQvYXBwbGljYW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSw0REFBNEQ7RUFDNUQsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLCtEQUErRDtFQUMvRCx3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsOERBQThEO0VBQzlELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSw2REFBNkQ7RUFDN0Qsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtDQUFrQztBQUNwQzs7QUFFQTs7RUFFRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTs7RUFFRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTs7RUFFRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTs7RUFFRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTs7RUFFRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWixxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCLGNBQWM7QUFDaEIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2FwcGxpY2FudC9iYXNlL291dGxldC9hcHBsaWNhbnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2NhdGlvbi1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvbG9jYXRpb24uanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ucmVzaWRlbnRpYWwtYmFubmVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iYW5uZXJzL3Jlc2lkZW50aWFsLmpwZ1wiKTtcclxuICBoZWlnaHQ6IDE4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmNvbW1lcmNpYWwtYmFubmVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iYW5uZXJzL2NvbW1lcmNpYWwuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubWl4ZWQtdXNlLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9taXhlZC11c2UuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG46aG9zdD4+Pi53aXphcmQ+LnN0ZXBzIC5udW1iZXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuOmhvc3Q+Pj4ud2l6YXJkPi5jb250ZW50Pi5ib2R5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcC0xOmFmdGVyLFxyXG46aG9zdD4+Pi53aXphcmQ+LnN0ZXBzPnVsPmxpLmN1cnJlbnQgLnN0ZXAtMTphZnRlciB7XHJcbiAgY29udGVudDogXCIxXCIgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogYXJpYWwgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXAtMjphZnRlcixcclxuOmhvc3Q+Pj4ud2l6YXJkPi5zdGVwcz51bD5saS5jdXJyZW50IC5zdGVwLTI6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiMlwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFyaWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGVwLTM6YWZ0ZXIsXHJcbjpob3N0Pj4+LndpemFyZD4uc3RlcHM+dWw+bGkuY3VycmVudCAuc3RlcC0zOmFmdGVyIHtcclxuICBjb250ZW50OiBcIjNcIiAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBhcmlhbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcC00OmFmdGVyLFxyXG46aG9zdD4+Pi53aXphcmQ+LnN0ZXBzPnVsPmxpLmN1cnJlbnQgLnN0ZXAtNDphZnRlciB7XHJcbiAgY29udGVudDogXCI0XCIgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogYXJpYWwgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXAtNTphZnRlcixcclxuOmhvc3Q+Pj4ud2l6YXJkPi5zdGVwcz51bD5saS5jdXJyZW50IC5zdGVwLTU6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiNVwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFyaWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlLWxpbmsge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5lcnJvciAubnVtYmVyIHtcclxuICBmb250LXNpemU6IDA7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZDMwMDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICNkMzAwMDA7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { ConstantsService, SessionService, LookupsService, LoggerService,\r\n RequestTypesEnum, StepsIdEnum, StepsRouteEnum, EnvironmentService } from '@app/base/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base/services';\r\nimport { Location } from '@angular/common';\r\nimport { SubscriptionLike, Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { getFormValidators } from '@app/base/shared';\r\n\r\n@Component({\r\n selector: 'app-applicant',\r\n templateUrl: './applicant.component.html',\r\n styleUrls: ['./applicant.component.css'],\r\n providers: [MultistepsService]\r\n // Provide the service in outlet component scope and not module scope, when user leave applicant route outlet component gets destroyed\r\n // the service instance will get destroyed as well so we don't have to reset state manually!\r\n})\r\nexport class ApplicantComponent implements OnInit, OnDestroy {\r\n activeCode$: Subscription;\r\n formValidation: any[];\r\n lookupsLoaded = false;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n locationSubscription: SubscriptionLike;\r\n\r\n constructor(private router: Router,\r\n public lookupSvc: LookupsService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n private logger: LoggerService,\r\n public environmentSvc: EnvironmentService,\r\n public constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n public wizardSvc: MultistepsService) {\r\n this.subscribeRouteEvents();\r\n }\r\n\r\n ngOnInit() {\r\n // Changed to observable to eliminate undefined issues\r\n this.activeCode$ = this.sessionSvc.activeLdcDetails.subscribe(res => {\r\n if(res && res.code) {\r\n this.lookupSvc.loadBcaLookups(this.wizardSvc.paramRequestType, res.code);\r\n }\r\n\r\n /* istanbul ignore next */\r\n const sub = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (sub && val) { sub.unsubscribe(); }\r\n this.lookupsLoaded = val;\r\n });\r\n\r\n if (!this.environmentSvc.isSoCoProduction) {\r\n this.wizardSvc.steps.forEach(step => {\r\n step.form.valueChanges.subscribe(val => {\r\n this.formValidation = getFormValidators(this.wizardSvc.getActiveStep.form);\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.locationSubscription.unsubscribe();\r\n this.activeCode$.unsubscribe();\r\n }\r\n\r\n /* istanbul ignore next */\r\n subscribeRouteEvents() {\r\n // Detect and resolve parameterized Request Type\r\n this.route.params.subscribe(params => {\r\n if (params['type']) { // If we received type, then try to match it with a known Type enum\r\n const paramType = String(params['type']).trim().toUpperCase();\r\n // Ensure that incoming query param is matching one of known Types in RequestTypes enum before stroing it.\r\n if (Object.keys(RequestTypesEnum).map(e => RequestTypesEnum[e].toUpperCase()).indexOf(paramType) >= 0) {\r\n this.wizardSvc.paramRequestType = paramType; // Type passed in route is a known value store it.\r\n this.wizardSvc.paramRequestTypeResolved(); // Param Request Type resolved infrom service to build the forms.\r\n\r\n const resolvedStep = this.wizardSvc.steps.find(x =>\r\n x.route.toUpperCase() === this.route.snapshot.firstChild.url[0].path.toUpperCase()).route.toUpperCase();\r\n if (this.wizardSvc.getActiveStep.route.toUpperCase() !== resolvedStep) { this.navigateToDefaultStep(); }\r\n } else { this.navigateToDefaultStep(); } // Value passed in :type is unknown request type, route to default request type.\r\n } else { this.navigateToDefaultStep(); } // No Type passed in route, route to default request type.\r\n });\r\n\r\n if (!this.environmentSvc.isSoCoProduction) {\r\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event: any) => {\r\n this.formValidation = getFormValidators(this.wizardSvc.getActiveStep.form);\r\n });\r\n }\r\n\r\n // Detect and act on route changes through platform navigation buttons, e.g. briowser back and forward\r\n this.locationSubscription = this.location.subscribe(event => {\r\n const resolvedStep = event.url.substr(event.url.lastIndexOf('/') + 1).toUpperCase();\r\n // Ensure that step is a known step\r\n if (Object.keys(StepsRouteEnum).map(e => StepsRouteEnum[e].toUpperCase()).indexOf(resolvedStep) >= 0) {\r\n this.wizardSvc.goToStep(StepsIdEnum[resolvedStep]);\r\n } else { this.navigateToDefaultStep(); } // Couldn't recognize the step, route to default\r\n });\r\n }\r\n\r\n navigateToDefaultStep() {\r\n this.wizardSvc.goToStep(this.stepsIdEnum.LOCATION);\r\n }\r\n}\r\n","export * from '@app/modules/applicant/base/services/multisteps.service';\r\n","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormArray} from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Subject, BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { triggerFormValidation, focusFirstInvalidField, scrollToHeader, isNullOrUndefined} from '@app/base/shared';\r\nimport { ConstantsService, SessionService, RequestTypesEnum, WizardStep, StepsIdEnum,\r\n StepsTitleMixedUseEnum, StepsCodeEnum, StepsRouteEnum, StepsResidentialTitleEnum,\r\n LookupsService, ApplicantMessageEnum, Type, GasRequestStatus } from '@app/base/core';\r\nimport { SocoModalService } from '@app/base/soco';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { GasRequestModel } from '@app/base/shared/models/applicant/new.model';\r\nimport { GasRequestNumber } from '@app/base/shared/models/applicant/gas-request-number';\r\nimport { CompaniesEnum, QuestionAnswers, StepsTitleCommercialEnum } from '@app/core/models';\r\nimport { SocoHttpService, ApiResult } from '@app/base/soco';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n/* istanbul ignore next */\r\n@Injectable()\r\nexport class MultistepsService {\r\n //#region => Variables & Properties\r\n // Session state related variables\r\n private paramRequestTypeSource = new Subject();\r\n public paramRequestTypeResolved$ = this.paramRequestTypeSource.asObservable();\r\n public paramRequestType: string = RequestTypesEnum.Residential; // Hold the request type, e.g. commercial\r\n\r\n public duplicatedRequest = false; // Meter existed, or duplicated record in database, etc.\r\n public turnOnRequest = false; // If user got a meter and just want to turn on service.\r\n public requestValidated = false; // Request validated by calling ALM & check BCA table for duplicate\r\n public customerRequested = false; // true if customer edits service address\r\n\r\n public meterDuplicate: Type = new Type();\r\n public bcaDuplicate: GasRequestStatus = new GasRequestStatus(); // Hold the result of BCA duplicate check\r\n\r\n public steps: WizardStep[] = new Array(); // Hold step data and forms\r\n public maxCompletedStep = -1; // How far user progressed in multistep wizard\r\n public isWizardCompleted = false; // Indicate if wizard completed, all steps verified and submitted to server.\r\n\r\n // Monitor active step and notify listener when active step change\r\n private activeStep: StepsIdEnum; // The current active step\r\n private activeStepSource = new BehaviorSubject(StepsIdEnum.LOCATION);\r\n public activeStepChanged$ = this.activeStepSource.asObservable();\r\n public serviceCounty: any = null;\r\n // Hold service address\r\n public serviceAddress: any = null;\r\n public mailingAddress: any = null;\r\n public customerAddress: any = null;\r\n public addressValidationDone = false;\r\n public addressChanged = false;\r\n\r\n // Hold Gas Request Model\r\n public MainModel = new GasRequestModel();\r\n public resPremiseQuestions: QuestionAnswers[] = [];\r\n public comPremiseQuestions: QuestionAnswers[] = [];\r\n public restypeQuestions: QuestionAnswers[] = [];\r\n public comtypeQuestions: QuestionAnswers[] = [];\r\n\r\n\r\n get hasNextStep(): boolean { return this.activeStep < StepsIdEnum.ACKNOWLEDGE; }\r\n get hasPreviousStep(): boolean { return this.activeStep > StepsIdEnum.LOCATION; }\r\n get getActiveStep(): WizardStep { return this.steps.find(x => x.id === this.activeStep); }\r\n\r\n // Hold te Applicant Meesage based on type component\r\n public paramApplicantMessage: string = ApplicantMessageEnum.Message2c; // Hold the request type, e.g. commercial\r\n //#endregion\r\n\r\n //#region => CTOR\r\n constructor(\r\n private router: Router,\r\n private socoModalService: SocoModalService,\r\n private constantsSvc: ConstantsService,\r\n private sessionSvc: SessionService,\r\n private lookupSvc: LookupsService,\r\n private http: SocoHttpService, private datePipe: DatePipe) {\r\n this.resetWizardState();\r\n this.listenForStepChanges();\r\n this.paramRequestTypeResolved$.subscribe(() => {\r\n this.initForms();\r\n });\r\n }\r\n //#endregion\r\n\r\n //#region => Wizard State\r\n // No longer needed to reset wizard state, wizard service is provided on outlet scope, once component destroyed service also destroyed\r\n // Only needed in acknowledge step to reset data.\r\n public resetWizardState(): void {\r\n this.maxCompletedStep = -1;\r\n this.steps.forEach(f => { f.form.reset(); });\r\n this.lookupSvc.bcaDuplicate = null;\r\n this.lookupSvc.meterDuplicate = null;\r\n }\r\n public paramRequestTypeResolved() {\r\n this.paramRequestTypeSource.next();\r\n }\r\n //#endregion\r\n\r\n //#region => Wizard Navigation\r\n public nextStep(): void { if (this.hasNextStep) { this.goToStep(this.activeStep + 1); } }\r\n public previousStep(): void { if (this.hasPreviousStep) { this.goToStep(this.activeStep - 1); } }\r\n public submitWizard(): void {\r\n if (!this.validateApplicationIntegrity()) { // One of the steps got invalid form, loop through and trigger a validation SWAL.\r\n this.steps.some((step) => {\r\n if (!step.form.valid) {\r\n this.showDiscardDialog(`Something is wrong with \"${step.label}\", would you like to fix it?`, 'Later', 'Fix Now', true);\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe((fixNow) => {\r\n subscription.unsubscribe();\r\n if (fixNow) { this.goToStep(step.id); }\r\n });\r\n return true;\r\n }\r\n });\r\n } else {\r\n // Submit to server and navigate to acknowledge\r\n this.nextStep(); // If step is valid, then go to next step.\r\n }\r\n }\r\n public goToStep(step: StepsIdEnum): void {\r\n // Check for Duplicate Request based on type step questions and answers, meter exist and bca exist on serviceable address\r\n this.checkDuplicatedRequest();\r\n\r\n // If request is duplicated, mark Review as the next step\r\n if (this.duplicatedRequest) { // Handle duplicated requests scenario\r\n if (this.activeStep === StepsIdEnum.TYPE && step > StepsIdEnum.TYPE) {\r\n step = StepsIdEnum.REVIEW;\r\n }\r\n if (this.activeStep === StepsIdEnum.REVIEW && step < StepsIdEnum.REVIEW) {\r\n step = (step === StepsIdEnum.LOCATION) ? StepsIdEnum.LOCATION : StepsIdEnum.TYPE;\r\n }\r\n }\r\n\r\n if (this.paramRequestType === RequestTypesEnum.MixedUse) {\r\n // Handle the Mixed Use scenario to hide Type -> TODO: fill the type to avoid Validation Error.\r\n if (this.activeStep === StepsIdEnum.LOCATION && step > StepsIdEnum.LOCATION) { step = StepsIdEnum.INFORMATION; }\r\n if (this.activeStep === StepsIdEnum.INFORMATION && step < StepsIdEnum.INFORMATION) { step = StepsIdEnum.LOCATION; }\r\n }\r\n\r\n triggerFormValidation(this.getActiveStep.form);\r\n focusFirstInvalidField(this.getActiveStep.form);\r\n this.getActiveStep.validStep = this.getActiveStep.form.valid;\r\n this.routeToStep(this.getStepById(step));\r\n }\r\n public routeToStep(step: WizardStep): void {\r\n // User clicked on Form submit from review page and trying to create a request\r\n if ((step.id - 1) === StepsIdEnum.REVIEW) {\r\n this.TransformModel(step);\r\n } else {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLowerCase(), 'applicant', this.paramRequestType.toLocaleLowerCase(), step.route]);\r\n }\r\n }\r\n public getStepById(step: StepsIdEnum): WizardStep {\r\n return this.steps.find(x => x.id === step);\r\n }\r\n public canDeactivateStep(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot): Observable {\r\n const resolvedStep = this.steps.find(x => x.route.toUpperCase() === route.url[0].path.toUpperCase());\r\n const fromInsideWizard = state.url.indexOf('applicant') > -1;\r\n const toInsideWizard = nextState.url.indexOf('applicant') > -1;\r\n const fromAcknowledgeStep = state.url.indexOf(StepsRouteEnum.ACKNOWLEDGE) > -1;\r\n const toOutsideWizard = nextState.url.indexOf('applicant') === -1;\r\n\r\n // User reached review step with duplicated request and navigating to home paand navigating to home page.\r\n if (this.duplicatedRequest && resolvedStep.code === StepsCodeEnum.REVIEW && toOutsideWizard) { return of(true); }\r\n\r\n if (!this.isWizardCompleted && (fromInsideWizard && toOutsideWizard)) {\r\n // Leaving Wizard to some other page (Outside wizard scope)\r\n this.showDiscardDialog(this.constantsSvc.showDiscardmsgMultistep, 'Stay', 'Discard Changes', true);\r\n return this.socoModalService.modalConfirmation$;\r\n } else if (this.isWizardCompleted && ((fromInsideWizard && fromAcknowledgeStep) && toInsideWizard)) {\r\n // Prevent navigation back to wizard once reached acknowledge\r\n this.navigateToHome();\r\n return of(true);\r\n } else if (!this.isWizardCompleted && !resolvedStep.form.valid && fromInsideWizard && toInsideWizard && this.maxCompletedStep > 0) {\r\n // Moving between steps with invalid data\r\n this.showDiscardDialog(this.constantsSvc.showDiscardmsgInvalidDataMultistep, 'Fix Now', 'Fix Later', false);\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe(choice => {\r\n subscription.unsubscribe();\r\n if (!choice) { this.goToStep(resolvedStep.id); }\r\n });\r\n return this.socoModalService.modalConfirmation$;\r\n } else { return of(true); }\r\n\r\n }\r\n public navigateToHome() {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLowerCase(), 'home']); // Navigates to Home page\r\n }\r\n // Dialog box for confirmation to proceed or discard changes\r\n private showDiscardDialog(body: string, cancelText: string, confirmText: string, isDanger: boolean) {\r\n this.socoModalService.confirm({\r\n title: 'Confirmation',\r\n body: body,\r\n headerCssClass: isDanger ? 'bg-danger' : 'bg-info',\r\n buttonCssClass: isDanger ? 'btn-danger' : 'btn-info',\r\n confirmButton: confirmText,\r\n cancelButton: cancelText\r\n });\r\n }\r\n private listenForStepChanges() {\r\n this.activeStepChanged$.subscribe(activeStep => {\r\n this.activeStep = activeStep;\r\n this.maxCompletedStep = this.maxCompletedStep > this.activeStep ? this.maxCompletedStep :\r\n this.activeStep; // How far we got in the wizard to sync with wizard icons.\r\n }); // Keep a local copy of activeStep\r\n }\r\n public syncActiveStep(step: StepsIdEnum) {\r\n // On step deactivate, if validation faild, we need to revert the current active step.\r\n this.activeStepSource.next(step);\r\n scrollToHeader();\r\n }\r\n //#endregion\r\n\r\n //#region => Forms Validation\r\n // Validate step's forms, pass nullable step id to validate it's form. If no step id provided then validate all steps forms. */\r\n public validateApplicationIntegrity(step?: StepsIdEnum): boolean {\r\n return step // Validate a specific form?\r\n ? this.steps.find(x => x.id === step).form.valid // Developer passed a specific form to validate\r\n : this.steps.every(x => x.form.valid);\r\n }\r\n //#endregion\r\n\r\n\r\n /*public disableChecks(): boolean {\r\n if (this.sessionSvc.paramLdc === CompaniesEnum.GA && this.paramRequestType.toUpperCase() == RequestTypesEnum.Residential) {\r\n if (this.activeStep === StepsIdEnum.TYPE) {\r\n if(this.steps[StepsIdEnum.TYPE].form.value.question62 === this.constantsSvc.Yes || this.steps[StepsIdEnum.TYPE].form.value.question62 === this.constantsSvc.No){\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else if(this.activeStep === StepsIdEnum.PREMISE) {\r\n if(this.steps[StepsIdEnum.PREMISE].form.value.marketerChosen === this.constantsSvc.Yes || this.steps[StepsIdEnum.PREMISE].form.value.marketerChosen === this.constantsSvc.No){\r\n if(this.steps[StepsIdEnum.PREMISE].form.getRawValue().marketerChoice != null) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }*/\r\n //#endregion\r\n\r\n //#region => Disable 'Next' button\r\n //Disable Next button when \"Are you a licensed builder\"/ \"Have you chosen a Marketer\" is not answered\r\n public disableCheck(): boolean {\r\n if (this.activeStep === StepsIdEnum.TYPE) {\r\n if(this.steps[StepsIdEnum.TYPE].form.value.question62 === this.constantsSvc.Yes || this.steps[StepsIdEnum.TYPE].form.value.question62 === this.constantsSvc.No){\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else if(this.activeStep === StepsIdEnum.PREMISE) {\r\n if (this.sessionSvc.paramLdc === CompaniesEnum.GA) {\r\n if(this.paramRequestType.toUpperCase() == RequestTypesEnum.Residential) {\r\n if(this.steps[StepsIdEnum.PREMISE].form.value.marketerChosen === this.constantsSvc.Yes || this.steps[StepsIdEnum.PREMISE].form.value.marketerChosen === this.constantsSvc.No) {\r\n if(this.steps[StepsIdEnum.PREMISE].form.getRawValue().marketerChoice != null) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n else if (this.paramRequestType.toUpperCase() == RequestTypesEnum.Commercial) {\r\n if(this.steps[StepsIdEnum.PREMISE].form.value.commercialMarketerChosen === this.constantsSvc.Yes || this.steps[StepsIdEnum.PREMISE].form.value.commercialMarketerChosen === this.constantsSvc.No) {\r\n if(this.steps[StepsIdEnum.PREMISE].form.getRawValue().commercialMarketerChoice != null) {\r\n return true;\r\n }\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region => Forms Definition\r\n private initForms(): void {\r\n this.steps.push({\r\n id: StepsIdEnum.LOCATION,\r\n code: StepsCodeEnum.LOCATION,\r\n label: this.getStepTitle(StepsCodeEnum.LOCATION),\r\n title: this.getStepTitle(StepsCodeEnum.LOCATION),\r\n route: StepsRouteEnum.LOCATION,\r\n validStep: true,\r\n form: new FormGroup({\r\n locationStreetNumber: new FormControl(null, [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n locationStreetName: new FormControl(null),\r\n locationCSZ: new FormControl(null),\r\n })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.TYPE,\r\n code: StepsCodeEnum.TYPE,\r\n label: this.getStepTitle(StepsCodeEnum.TYPE),\r\n title: this.getStepTitle(StepsCodeEnum.TYPE),\r\n route: StepsRouteEnum.TYPE,\r\n validStep: true,\r\n form: this.paramRequestType.toUpperCase() === RequestTypesEnum.Residential ? new FormGroup({\r\n question62: new FormControl(''),\r\n question1: new FormControl(null, [Validators.required]),\r\n question2: new FormControl(null, [Validators.required]),\r\n question3: new FormControl(null, [Validators.required]),\r\n question4: new FormControl(null, [Validators.required]),\r\n question5: new FormControl(null, [Validators.required]),\r\n question6: new FormControl(null, [Validators.required]),\r\n question7: new FormControl(null, [Validators.required]),\r\n question40: new FormControl(null, [Validators.required]),\r\n question60: new FormControl(null, [Validators.required])\r\n }) : this.paramRequestType.toUpperCase() === RequestTypesEnum.Commercial ?\r\n new FormGroup({\r\n question62: new FormControl(''),\r\n question16: new FormControl(null, [Validators.required]),\r\n question17: new FormControl(null, [Validators.required]),\r\n question18: new FormControl(null, [Validators.required]),\r\n question19: new FormControl(null, [Validators.required]),\r\n question20: new FormControl(null, [Validators.required]),\r\n question21: new FormControl(null, [Validators.required]),\r\n }) : new FormGroup({})\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.INFORMATION,\r\n code: StepsCodeEnum.INFORMATION,\r\n label: this.getStepTitle(StepsCodeEnum.INFORMATION),\r\n title: this.getStepTitle(StepsCodeEnum.INFORMATION),\r\n route: StepsRouteEnum.INFORMATION,\r\n validStep: true,\r\n form: new FormGroup({\r\n firstName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n middleInitial: new FormControl(''),\r\n lastName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n emailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]),\r\n phoneNumberType: new FormControl(null, [Validators.required]),\r\n applicantPhoneNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n applicantPhoneNumberExtension:\r\n new FormControl('', [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n companyName: new FormControl(''),\r\n isLiketoReceiveTestMessages: new FormControl(''),\r\n applicantPhoneNumber1: new FormControl(''),\r\n applicantPhoneNumber2: new FormControl('', Validators.pattern(this.constantsSvc.phoneNumberPattern)),\r\n applicantPhoneNumber3: new FormControl('', Validators.pattern(this.constantsSvc.phoneNumberPattern)),\r\n // Site Contact Information\r\n siteContactSame: new FormControl(''),\r\n contactTypeDetails: new FormArray([new FormGroup({\r\n companyName: new FormControl(''),\r\n firstName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n lastName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n siteContactPhoneNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n siteContactPhoneNumberExtension:\r\n new FormControl('', [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n emailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]),\r\n siteContactType: new FormControl(null, [Validators.required]),\r\n siteContactTypeOthers: new FormControl(null)\r\n }, { updateOn: 'blur' })]),\r\n kmiCommunication: new FormControl(null, [Validators.required]),\r\n kmiFrequency: new FormControl(null, [Validators.required]),\r\n kmiReceive: new FormControl(null, [Validators.required]),\r\n kmiEmailAddress: new FormControl(null, {validators: [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)], updateOn: 'blur'}),\r\n kmiTextNumber: new FormControl('', {validators: [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)], updateOn: 'blur'})\r\n })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.ADDRESSES,\r\n code: StepsCodeEnum.ADDRESSES,\r\n label: this.getStepTitle(StepsCodeEnum.ADDRESSES),\r\n title: this.getStepTitle(StepsCodeEnum.ADDRESSES),\r\n route: StepsRouteEnum.ADDRESSES,\r\n validStep: true,\r\n form: new FormGroup({\r\n // Service Address Information\r\n serviceStreetNumber:\r\n new FormControl({ value: null, disabled: true }, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n serviceStreetName: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceUnitNumber: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n serviceState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceZip:\r\n new FormControl({ value: null, disabled: true }, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)]),\r\n serviceDevelopementName: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n serviceLanddistrict: new FormControl(''),\r\n serviceLandLot: new FormControl(''),\r\n serviceCounty: new FormControl(null),\r\n // Customer Requested Address Information\r\n customerStreetNumber:\r\n new FormControl({ value: null, disabled: true }, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n customerStreetName: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n customerUnitNumber: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n customerState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n customerCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n customerZip:\r\n new FormControl({ value: null, disabled: true }, [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n customerDevelopementName: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n customerLanddistrict: new FormControl(''),\r\n customerLandLot: new FormControl(''),\r\n customerCounty: new FormControl(null),\r\n // Mailing Address Information\r\n mailingAddressSame: new FormControl(''),\r\n isPoBox: new FormControl(),\r\n poBoxAddress: new FormControl(null, [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n mailingStreetNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n mailingStreetName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n mailingUnitNumber: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n mailingState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n mailingCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n mailingZip: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n },\r\n { updateOn: 'blur' }\r\n )\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.PREMISE,\r\n code: StepsCodeEnum.PREMISE,\r\n label: this.getStepTitle(StepsCodeEnum.PREMISE),\r\n title: this.getStepTitle(StepsCodeEnum.PREMISE),\r\n route: StepsRouteEnum.PREMISE,\r\n validStep: true,\r\n form: this.buildPremiseForm()\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.REVIEW,\r\n code: StepsCodeEnum.REVIEW,\r\n label: this.getStepTitle(StepsCodeEnum.REVIEW),\r\n title: this.getStepTitle(StepsCodeEnum.REVIEW),\r\n route: StepsRouteEnum.REVIEW,\r\n validStep: true,\r\n form: new FormGroup({})\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.ACKNOWLEDGE,\r\n code: StepsCodeEnum.ACKNOWLEDGE,\r\n label: this.getStepTitle(StepsCodeEnum.ACKNOWLEDGE),\r\n title: this.getStepTitle(StepsCodeEnum.ACKNOWLEDGE),\r\n route: StepsRouteEnum.ACKNOWLEDGE,\r\n validStep: true,\r\n form: new FormGroup({})\r\n });\r\n }\r\n // Form Definition for Premise based on PropertyType\r\n buildPremiseForm(): FormGroup {\r\n switch (this.paramRequestType) {\r\n case RequestTypesEnum.Residential: return new FormGroup({\r\n residentialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n residentialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialDeliveryPressure: new FormControl(null, Validators.required),\r\n residentialNoOfUnit: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n residentialStatusofConstruction: true ? new FormControl(null, [Validators.required]) : new FormControl(''),\r\n residentialUnitDescription: new FormControl(null, Validators.required),\r\n residentialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of selected serviceable state in location page to 'Florida'\r\n residentialPropertyOwner: new FormControl(''),\r\n // TODO: change true to check for value of residentialDeliveryPressure to 'Others'\r\n residentialDeliveryPressureOthers: new FormControl(''),\r\n marketerChosen: new FormControl(null),\r\n marketerChoice: new FormControl(null),\r\n appliancesforResidential: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(null)\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n case RequestTypesEnum.Commercial: return new FormGroup({\r\n commercialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n commercialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n commercialDeliveryPressure: new FormControl(null, Validators.required),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n commercialStatusofConstruction: new FormControl(null),\r\n commercialUnitDescription: new FormControl(null, Validators.required),\r\n commercialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of commercialDeliveryPressure to 'Others'\r\n commercialDeliveryPressureOthers: new FormControl(''),\r\n commercialMarketerChosen: new FormControl(null),\r\n commercialMarketerChoice: new FormControl(null),\r\n appliancesforCommercial: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(false)\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n case RequestTypesEnum.MixedUse: return new FormGroup({\r\n // Mixed Use Residential\r\n residentialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n residentialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialDeliveryPressure: new FormControl(null, Validators.required),\r\n residentialNoOfUnit: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialStatusofConstruction: new FormControl(null, Validators.required),\r\n residentialUnitDescription: new FormControl(null, Validators.required),\r\n residentialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of mixedUseResidentialDeliveryPressure to 'Others'\r\n residentialDeliveryPressureOthers: new FormControl(null),\r\n appliancesforResidential: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n }, { updateOn: 'blur' })]),\r\n\r\n // Mixed Use Commercial\r\n commercialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n commercialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n commercialDeliveryPressure: new FormControl(null, Validators.required),\r\n commercialStatusofConstruction: new FormControl(null, Validators.required),\r\n commercialUnitDescription: new FormControl(null, Validators.required),\r\n commercialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of mixedUseCommercialDeliveryPressure to 'Others'\r\n commercialDeliveryPressureOthers: new FormControl(null),\r\n appliancesforCommercial: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region => Helper Functions\r\n public getStepTitle(stepId: StepsCodeEnum): string {\r\n switch (this.paramRequestType) {\r\n case RequestTypesEnum.Residential: return StepsResidentialTitleEnum[stepId];\r\n case RequestTypesEnum.Commercial: return StepsTitleCommercialEnum[stepId];\r\n case RequestTypesEnum.MixedUse: return StepsTitleMixedUseEnum[stepId];\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region => Set DuplicatedRequest and Message for Type Component\r\n // Called from gotostep to check for duplicatedRequest and setting up messages\r\n checkDuplicatedRequest() {\r\n if ((this.steps[StepsIdEnum.TYPE].form.value.question40 === 'Yes' ||\r\n this.steps[StepsIdEnum.TYPE].form.value.question4 === 'No' || this.steps[StepsIdEnum.TYPE].form.value.question19 === 'No') && (\r\n this.steps[StepsIdEnum.TYPE].form.value.question40 === 'Yes' ||\r\n this.steps[StepsIdEnum.TYPE].form.value.question18 === 'No' || this.steps[StepsIdEnum.TYPE].form.value.question3 === 'No')\r\n && this.activeStep === StepsIdEnum.TYPE && this.getActiveStep.form.valid) {\r\n this.duplicatedRequest = true;\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2c;\r\n } else if (this.activeStep === StepsIdEnum.TYPE && this.getActiveStep.form.valid) {\r\n const isBCAQuestionAddedLoad = Boolean(this.steps[StepsIdEnum.TYPE].form.value.question4 === 'Yes' ||\r\n this.steps[StepsIdEnum.TYPE].form.value.question19 === 'Yes' || this.steps[StepsIdEnum.TYPE].form.value.question18 === 'Yes' ||\r\n this.steps[StepsIdEnum.TYPE].form.value.question3 === 'Yes');\r\n if (this.lookupSvc.bcaDuplicate.isBCAFound && !this.lookupSvc.meterDuplicate.isMeterExist) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2a;\r\n this.duplicatedRequest = true;\r\n } else if (this.lookupSvc.bcaDuplicate.isBCAAddedLoad && this.lookupSvc.meterDuplicate.isMeterExist && isBCAQuestionAddedLoad) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2b;\r\n this.duplicatedRequest = true;\r\n } else if (this.lookupSvc.bcaDuplicate.isBCAFound && this.lookupSvc.meterDuplicate.isMeterExist && !isBCAQuestionAddedLoad) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2c;\r\n this.duplicatedRequest = true;\r\n } else if (!this.lookupSvc.bcaDuplicate.isBCAFound && this.lookupSvc.meterDuplicate.isMeterExist && !isBCAQuestionAddedLoad) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2d;\r\n this.duplicatedRequest = true;\r\n } else {\r\n this.paramApplicantMessage = '';\r\n if (this.duplicatedRequest) {\r\n // Handle scenario user reached review after detecting a duplicate, then went back to type and no duplicate detected.\r\n this.maxCompletedStep = StepsIdEnum.TYPE;\r\n this.duplicatedRequest = false;\r\n }\r\n }\r\n }\r\n }\r\n //#endregion\r\n // To get formatted mailing address\r\n getFormattedMailingAddress() {\r\n const address = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n const poBoxPrefix = this.constantsSvc.poBoxPrefix;\r\n const cityStateZipConcated = address.mailingCity.itemName + ' ,' + address.mailingState.id + ' ' + address.mailingZip;\r\n if (address.isPoBox) {\r\n return poBoxPrefix + ' ' + address.poBoxAddress + ', ' + cityStateZipConcated;\r\n } else {\r\n return address.mailingStreetName + address.mailingStreetNumber + ', ' + cityStateZipConcated;\r\n }\r\n }\r\n\r\n // To get formatted service address\r\n getFormattedServiceAddress() {\r\n const address = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n const cityStateZipConcated = address.serviceCity.itemName + ', ' + address.serviceState.id + ' ' + address.serviceZip;\r\n return address.customerStreetNumber + ' ' + address.customerStreetName + ', ' + cityStateZipConcated;\r\n }\r\n\r\n //#region => Submit Form to Server with transformation\r\n // Called from routeToStep to transform the forms into Model and pass to server\r\n TransformModel(step: WizardStep) {\r\n // Server entity is different, so transforming the information filled in by user before passig it to server\r\n // MainModel is filled from steps responses and MainModel is passed to server\r\n this.MainModel.id = 0;\r\n this.MainModel.cityId = this.lookupSvc.serviceCity[0].id;\r\n this.MainModel.zipCode = this.serviceAddress.zip;\r\n this.MainModel.stateCd = (this.lookupSvc.states.filter(x => x.id === this.serviceAddress.state.short_name))[0].id;\r\n this.MainModel.companyCd = this.lookupSvc.companies[this.serviceAddress.state.short_name].id;\r\n this.MainModel.recCreateUsrId = this.steps[StepsIdEnum.INFORMATION].form.value.firstName\r\n + ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.recUpdateUsrId = this.steps[StepsIdEnum.INFORMATION].form.value.firstName\r\n + ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n // If google is not having county from map, then pass -1, else filter the county\r\n if (this.lookupSvc.serviceCounty.length > 0 && this.serviceAddress.county) {\r\n const county = this.lookupSvc.serviceCounty.filter(x => x.itemName.toUpperCase()\r\n === this.serviceAddress.county.toUpperCase())[0];\r\n this.MainModel.countyId = county !== undefined ? county.id : '-1';\r\n } else {\r\n this.MainModel.countyId = '-1';\r\n }\r\n // If google is not having local District from map, then pass -1, else filter the local district\r\n if (this.serviceAddress.localDistrictCd) {\r\n this.MainModel.localDistrictCd = this.serviceAddress.localDistrictCd;\r\n } else {\r\n this.MainModel.localDistrictCd = null;\r\n }\r\n this.MainModel.grStatus = this.constantsSvc.grStatusMultistep;\r\n this.MainModel.grStatusUpdatedBy = this.steps[StepsIdEnum.INFORMATION].form.value.firstName\r\n + ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.createDate = this.MainModel.grStatusUpdatedDate =\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.MainModel.applicantName = this.steps[StepsIdEnum.INFORMATION].form.value.firstName\r\n + ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.updatedBy = this.steps[StepsIdEnum.INFORMATION].form.value.firstName\r\n + ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.enteredBy = this.MainModel.applicantName;\r\n this.MainModel.recCreateUsrId = this.MainModel.applicantName;\r\n this.MainModel.recUpdateUsrId = this.MainModel.applicantName;\r\n this.MainModel.development = this.steps[StepsIdEnum.ADDRESSES].form.value.serviceDevelopementName;\r\n this.MainModel.landDistrict = this.steps[StepsIdEnum.ADDRESSES].form.value.serviceLanddistrict;\r\n this.MainModel.landLot = this.steps[StepsIdEnum.ADDRESSES].form.value.serviceLandLot;\r\n this.MainModel.serviceFormattedAddress = this.getFormattedServiceAddress();\r\n this.MainModel.mailingFormattedAddress = this.getFormattedMailingAddress();\r\n this.MainModel.pinFormattedAddress = this.serviceAddress.formatted_address;\r\n if (this.sessionSvc.paramLdc === CompaniesEnum.GA && this.paramRequestType === RequestTypesEnum.Residential.toUpperCase()) {\r\n this.MainModel.marketerId = this.steps[StepsIdEnum.PREMISE].form.getRawValue().marketerChoice.id;\r\n this.MainModel.marketerChosen = this.steps[StepsIdEnum.PREMISE].form.getRawValue().marketerChosen;\r\n }\r\n else if (this.sessionSvc.paramLdc === CompaniesEnum.GA && this.paramRequestType === RequestTypesEnum.Commercial.toUpperCase()) {\r\n this.MainModel.marketerId = this.steps[StepsIdEnum.PREMISE].form.getRawValue().commercialMarketerChoice.id;\r\n this.MainModel.marketerChosen = this.steps[StepsIdEnum.PREMISE].form.getRawValue().commercialMarketerChosen;\r\n }\r\n else {\r\n this.MainModel.marketerId = null;\r\n this.MainModel.marketerChosen = null;\r\n }\r\n\r\n this.MainModel.sourceCd = 'Applicant';\r\n // MainModel is filled with Applicant Information\r\n this.MainModel.contacts.push(this.buildContactObj());\r\n\r\n // MainModel is filled with Site Contact Information\r\n this.buildSiteContactObj();\r\n this.getBuildingType();\r\n\r\n // MainModel is filled with Service Address\r\n this.MainModel.addresses.push(this.buildServiceAddressObj());\r\n\r\n // MainModel is filled with Mailing Address\r\n this.MainModel.addresses.push(this.buildMailAddressObj());\r\n\r\n // MainModel is filled with Customer Address\r\n this.MainModel.addresses.push(this.buildCustomerAddressObj());\r\n\r\n // MainModel is filled with Premise Information based on property type\r\n if (this.paramRequestType === RequestTypesEnum.Residential.toUpperCase()) {\r\n this.buildResTypePremiseObj();\r\n } else if (this.paramRequestType === RequestTypesEnum.Commercial.toUpperCase()) {\r\n this.buildComTypePremiseObj();\r\n } else {\r\n this.buildResTypePremiseObj();\r\n this.buildComTypePremiseObj();\r\n const gasRequestTypeCd = this.getGasTypeCode(this.paramRequestType, '-1', 'NA');\r\n this.MainModel.gasRqstTpCd = gasRequestTypeCd === null ? this.MainModel.gasRqstTpCd : gasRequestTypeCd;\r\n }\r\n const date = (new Date()).getFullYear().toString().substr(-2);\r\n const address = this.serviceAddress;\r\n const addressCustomer = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n const sc = this.lookupSvc.serviceCenters.find(x => x.itemName.toUpperCase().includes(address.serviceCenter.toUpperCase()));\r\n const scCode = sc ? sc.locationId : ' ';\r\n this.MainModel.projectName = date + this.MainModel.gasRqstTpCd + '-' + scCode + '-' + addressCustomer.customerStreetNumber + ' ' +\r\n addressCustomer.customerStreetName + ' ' + address.city + ' ' + address.state.short_name + ' ' + address.zip;\r\n this.MainModel.bcaTypeCd = this.getBcaTypeCode(this.MainModel.gasRqstTpCd);\r\n // Call add method and pass the mainModel ad route to acknowledge in case request is created\r\n this.MainModel.premiseId = this.lookupSvc.meterDuplicate.premiseId;\r\n\r\n \r\n this.MainModel.kmiCommunication=this.steps[StepsIdEnum.INFORMATION].form.value.kmiCommunication; \r\n this.MainModel.kmiPreference=this.steps[StepsIdEnum.INFORMATION].form.value.kmiReceive;\r\n this.MainModel.kmiEmail=this.steps[StepsIdEnum.INFORMATION].form.value.kmiEmailAddress;\r\n this.MainModel.kmiPhoneNo=this.steps[StepsIdEnum.INFORMATION].form.value.kmiTextNumber;\r\n this.MainModel.kmiFrequency=this.steps[StepsIdEnum.INFORMATION].form.value.kmiFrequency;\r\n \r\n\r\n const subscription = this.add(this.MainModel).subscribe(result => {\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n if (result.statusCode === 201) {\r\n this.MainModel = result.data;\r\n this.router.navigate([this.sessionSvc.paramLdc.toLowerCase(), 'applicant',\r\n this.paramRequestType.toLocaleLowerCase(), step.route]);\r\n } else {\r\n this.MainModel = new GasRequestModel();\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal);\r\n }\r\n }, result => {\r\n this.MainModel = new GasRequestModel();\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n // Code to Get Building Type\r\n getBuildingType() {\r\n const buildingTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: 0,\r\n questionResponse: null,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n sequenceId: 13,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n panelNumber: '1',\r\n gasApplianceQuestSummaries: []\r\n };\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question1 === this.constantsSvc.multi_Family1) {\r\n buildingTypeObj.questionId = 56;\r\n buildingTypeObj.questionResponse = this.constantsSvc.multiFamilyBuildingType;\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.question1 === this.constantsSvc.Residential && (\r\n this.steps[StepsIdEnum.TYPE].form.value.question5 === 'Yes' || this.steps[StepsIdEnum.TYPE].form.value.question5 === 'No')) {\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question6 === this.constantsSvc.single_Family) {\r\n buildingTypeObj.questionId = 56;\r\n buildingTypeObj.questionResponse = this.constantsSvc.singleFamilyBuildingType;\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.question6 === this.constantsSvc.mobile_Home) {\r\n buildingTypeObj.questionId = 56;\r\n buildingTypeObj.questionResponse = this.constantsSvc.mobileHomeBuildingType;\r\n }\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.question16 === this.constantsSvc.Industrial1) {\r\n buildingTypeObj.questionId = 57;\r\n buildingTypeObj.questionResponse = this.constantsSvc.industrialBuildingType;\r\n }\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(buildingTypeObj);\r\n }\r\n // MainModel is filled with Applicant Information in server expected format\r\n buildContactObj() {\r\n\r\n const ContactPhObj = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber,\r\n extension: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumberExtension,\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n\r\n const ContactObj = {\r\n id: 0,\r\n firstName: this.steps[StepsIdEnum.INFORMATION].form.value.firstName,\r\n middleInitial: this.steps[StepsIdEnum.INFORMATION].form.value.middleInitial,\r\n emailAddress: this.steps[StepsIdEnum.INFORMATION].form.value.emailAddress,\r\n companyName: this.steps[StepsIdEnum.INFORMATION].form.value.companyName,\r\n lastName: this.steps[StepsIdEnum.INFORMATION].form.value.lastName,\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n contactTypeCode: 'A',\r\n communicationTypeCode: 'E',\r\n gasRequestId: 0,\r\n siteContactType: 'NA',\r\n contactPhoneNumbers: [],\r\n siteContactTypeOthers: null,\r\n };\r\n\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj);\r\n\r\n if (this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber1 !== undefined\r\n && this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber1 !== '') {\r\n const ContactPhObj1 = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber1,\r\n extension: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumberExtension,\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj1);\r\n }\r\n if (this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber2 !== undefined\r\n && this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber2 !== '') {\r\n const ContactPhObj2 = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber2,\r\n extension: '',\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj2);\r\n }\r\n if (this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber3 !== undefined\r\n && this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber3 !== '') {\r\n const ContactPhObj3 = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber3,\r\n extension: '',\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj3);\r\n }\r\n return ContactObj;\r\n }\r\n // MainModel is filled with Site Contact Information in server expected format\r\n buildSiteContactObj() {\r\n for (let i = 0; i < this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails.length; i++) {\r\n const SiteContactObj = {\r\n id: 0,\r\n firstName: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].firstName,\r\n middleInitial: null,\r\n emailAddress: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].emailAddress,\r\n companyName: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].companyName,\r\n lastName: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].lastName,\r\n contactTypeCode: 'S',\r\n communicationTypeCode: 'E',\r\n gasRequestId: 0,\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n siteContactType: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactType.id,\r\n siteContactTypeOthers: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactType.itemName\r\n === 'Other' ? this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactTypeOthers : null,\r\n contactPhoneNumbers: [\r\n {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactPhoneNumber,\r\n extension: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactPhoneNumberExtension,\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n }\r\n ]\r\n };\r\n\r\n this.MainModel.contacts.push(SiteContactObj);\r\n }\r\n }\r\n // MainModel is filled with Service Address in server expected format\r\n buildServiceAddressObj() {\r\n return {\r\n id: 0,\r\n gasRequestId: 0,\r\n addressTypeCode: 'P',\r\n isPoBox: 'N',\r\n poBoxNumber: null,\r\n latitude: parseFloat(parseFloat(this.serviceAddress.latitude).toFixed(5)),\r\n longitude: parseFloat(parseFloat(this.serviceAddress.longitude).toFixed(5)),\r\n xCoordinate: parseFloat(parseFloat(this.serviceAddress.xCoordinate).toFixed(5)),\r\n yCoordinate: parseFloat(parseFloat(this.serviceAddress.yCoordinate).toFixed(5)),\r\n streetNumber: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceStreetNumber,\r\n streetName: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceStreetName,\r\n unitNumber: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceUnitNumber,\r\n cityId: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceCity.id,\r\n zip: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceZip,\r\n stateCd: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceState.id,\r\n countyId: this.GetServiceCounty(),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n }\r\n // To get Service county from address\r\n GetServiceCounty() {\r\n const rawFormData = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n if (rawFormData != null && rawFormData !== undefined) {\r\n this.serviceCounty = rawFormData.serviceCounty;\r\n if (this.serviceCounty != null && this.serviceCounty !== undefined) {\r\n return this.serviceCounty.id;\r\n } else {\r\n return '-1';\r\n }\r\n }\r\n }\r\n // MainModel is filled with Mailing Address in server expected format\r\n buildMailAddressObj() {\r\n const rawFormData = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n return {\r\n id: 0,\r\n gasRequestId: 0,\r\n addressTypeCode: 'M',\r\n isPoBox: rawFormData.isPoBox ? 'Y' : 'N',\r\n poBoxNumber: rawFormData.isPoBox ? rawFormData.poBoxAddress : null,\r\n latitude: 0,\r\n longitude: 0,\r\n streetNumber: rawFormData.mailingStreetNumber,\r\n streetName: rawFormData.mailingStreetName,\r\n unitNumber: rawFormData.mailingUnitNumber,\r\n cityId: rawFormData.mailingCity.id,\r\n zip: rawFormData.mailingZip,\r\n stateCd: rawFormData.mailingState.id,\r\n countyId: this.GetServiceCounty(),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n }\r\n // MainModel is filled with Service Address in server expected format\r\n buildCustomerAddressObj() {\r\n return {\r\n id: 0,\r\n gasRequestId: 0,\r\n addressTypeCode: 'S',\r\n isPoBox: 'N',\r\n poBoxNumber: null,\r\n latitude: parseFloat(parseFloat(this.serviceAddress.latitude).toFixed(5)),\r\n longitude: parseFloat(parseFloat(this.serviceAddress.longitude).toFixed(5)),\r\n streetNumber: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().customerStreetNumber,\r\n streetName: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().customerStreetName,\r\n unitNumber: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceUnitNumber,\r\n cityId: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceCity.id,\r\n zip: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceZip,\r\n stateCd: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceState.id,\r\n countyId: this.GetServiceCounty(),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n }\r\n // MainModel is filled with Type and Premise Information in server expected format - residential\r\n buildResTypePremiseObj() {\r\n const questionList = this.lookupSvc.gasQuestionnaires.filter(i => i.isResidential === 'Y');\r\n this.getResiQuestionsList();\r\n if (this.paramRequestType.toUpperCase() !== RequestTypesEnum.MixedUse.toUpperCase()) {\r\n for (let i = 0; i < this.restypeQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.restypeQuestions[i].question === questionList[j].itemName) {\r\n const resiTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.restypeQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n sequenceId: questionList[j].sequenceId,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n panelNumber: '1',\r\n gasApplianceQuestSummaries: []\r\n };\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(resiTypeObj);\r\n const gasRequestTypeCd = this.getGasTypeCode(this.steps[StepsIdEnum.TYPE].form.value.question1, questionList[j].id.toString(),\r\n this.restypeQuestions[i].answer);\r\n this.MainModel.gasRqstTpCd = gasRequestTypeCd === null ? this.MainModel.gasRqstTpCd : gasRequestTypeCd;\r\n\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n for (let i = 0; i < this.resPremiseQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.resPremiseQuestions[i].question === questionList[j].itemName) {\r\n const resiTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.resPremiseQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: '1',\r\n gasApplianceQuestSummaries: []\r\n };\r\n if (this.resPremiseQuestions[i].question === this.constantsSvc.NaturalGasInstlTypeQues) {\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential.length; k++) {\r\n resiTypeObj.gasApplianceQuestSummaries.push({\r\n id: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].id,\r\n gasRequestId: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].gasRequestId,\r\n questionId: questionList[j].id,\r\n sequenceId: questionList[j].sequenceId,\r\n applianceId: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].defaultAppliance.id,\r\n quantityValue: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].quantity,\r\n loadValue: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].defaultValue,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n applianceOthers: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].defaultAppliance.itemName ===\r\n 'OTHER' ? this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].defaultApplianceOther : null,\r\n existingLoad: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforResidential[k].existingLoad === true ? 'Y' : 'N',\r\n panelNumber: '1',\r\n });\r\n }\r\n }\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(resiTypeObj);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n // Building the question and answers for residential - Type and Premise Information\r\n getResiQuestionsList() {\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.HomeSqFtQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialHomeSqFt.toString(),\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.ApproxDistFtQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialApproxDistanceFt == null ? '' :\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialApproxDistanceFt.toString(),\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.DeliveryPressureReqQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialDeliveryPressure.id,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.totalUnits,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialNoOfUnit,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.NaturalGasInstlTypeQues,\r\n answer: null,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.constructionStatusQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialStatusofConstruction !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialStatusofConstruction.id : null,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.UnitDescription,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialUnitDescription,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.needingServiceQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialNeedingServiceDate.toString(),\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.propertyOwnerQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.propertyOwner,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n if (this.steps[StepsIdEnum.PREMISE].form.value.residentialDeliveryPressure.itemName === 'Others') {\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.describeOthersQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialDeliveryPressureOthers,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.PREMISE].form.value.marketerChosen != null) {\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.marketerChosenQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.marketerChosen,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n\r\n if (!isNullOrUndefined(this.steps[StepsIdEnum.PREMISE].form.getRawValue().marketerChoice)){\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.marketerChoiceQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.getRawValue().marketerChoice.itemName,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question62 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.licensedBuilderQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question62,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question1 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.typeofApplicantRequestQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question1,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question2 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.meterOutsideHomeQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question2,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question3 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.additionalMeterQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question3,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question4 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.addReplacemeterQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question4,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question5 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.newConstructionQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question5,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question6 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.typeofHomeQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question6,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question7 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.currentEnergySourceQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question7,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question40 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.meterOutsideBuildingQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question40,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question60 !== null) {\r\n this.restypeQuestions.push({\r\n question: this.constantsSvc.multiFamilyHome,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question60,\r\n requestType: 'Residential',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n }\r\n // MainModel is filled with Type and Premise Information in server expected format - commercial\r\n buildComTypePremiseObj() {\r\n const questionList = this.lookupSvc.gasQuestionnaires.filter(i => i.isCommercial === 'Y');\r\n this.getCommQuestionsList();\r\n if (this.paramRequestType.toUpperCase() !== RequestTypesEnum.MixedUse.toUpperCase()) {\r\n for (let i = 0; i < this.comtypeQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.comtypeQuestions[i].question === questionList[j].itemName) {\r\n const commTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.comtypeQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: '1',\r\n gasApplianceQuestSummaries: []\r\n };\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(commTypeObj);\r\n const gasRequestTypeCd = this.getGasTypeCode(this.steps[StepsIdEnum.TYPE].form.value.question16, questionList[j].id.toString(),\r\n this.comtypeQuestions[i].answer);\r\n this.MainModel.gasRqstTpCd = gasRequestTypeCd === null ? this.MainModel.gasRqstTpCd : gasRequestTypeCd;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i < this.comPremiseQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.comPremiseQuestions[i].question === questionList[j].itemName) {\r\n const commTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.comPremiseQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: '1',\r\n gasApplianceQuestSummaries: []\r\n };\r\n if (this.comPremiseQuestions[i].question === this.constantsSvc.NaturalGasInstlTypeBusinessQues) {\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial.length; k++) {\r\n commTypeObj.gasApplianceQuestSummaries.push({\r\n id: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].id,\r\n gasRequestId: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].gasRequestId,\r\n questionId: questionList[j].id,\r\n sequenceId: questionList[j].sequenceId,\r\n applianceId: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].defaultAppliance.id,\r\n quantityValue: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].quantity,\r\n loadValue: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].defaultValue,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n applianceOthers:\r\n (this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].defaultAppliance.itemName === 'OTHER' ||\r\n this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].defaultAppliance.itemName\r\n === 'OTHER(NO ALLOWABLE)') ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].defaultApplianceOther : null,\r\n existingLoad: this.steps[StepsIdEnum.PREMISE].form.value.appliancesforCommercial[k].existingLoad === true ? 'Y' : 'N',\r\n panelNumber: '1'\r\n });\r\n }\r\n }\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(commTypeObj);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n // Building the question and answers for commercial - Type and Premise Information\r\n getCommQuestionsList() {\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.HomeSqFtBusinessQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialHomeSqFt.toString(),\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.ApproxDistBusinessFtQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialApproxDistanceFt == null ? '' :\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialApproxDistanceFt.toString(),\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.DeliveryPressureReqQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialDeliveryPressure.id,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.NaturalGasInstlTypeBusinessQues,\r\n answer: null,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.constructionStatusQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialStatusofConstruction !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialStatusofConstruction.id : null,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.UnitDescription,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialUnitDescription,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.needingServiceQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialNeedingServiceDate.toString(),\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n\r\n if (this.steps[StepsIdEnum.PREMISE].form.value.commercialDeliveryPressure.itemName === 'Others') {\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.describeOthersQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialDeliveryPressureOthers,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.PREMISE].form.value.commercialMarketerChosen != null) {\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.marketerChosenQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialMarketerChosen,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (!isNullOrUndefined(this.steps[StepsIdEnum.PREMISE].form.getRawValue().commercialMarketerChoice)){\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.marketerChoiceQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.getRawValue().commercialMarketerChoice.itemName,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question62 !== null) {\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.licensedBuilderQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question62,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question16 !== null) {\r\n this.comtypeQuestions.push({\r\n question: this.constantsSvc.propertyTypeQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question16,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question17 !== null) {\r\n this.comtypeQuestions.push({\r\n question: this.constantsSvc.meterOutsideBusinessQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question17,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question18 !== null) {\r\n this.comtypeQuestions.push({\r\n question: this.constantsSvc.additionalMeterBusinessQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question18,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question19 !== null) {\r\n this.comtypeQuestions.push({\r\n question: this.constantsSvc.addReplacemeterBusinesQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question19,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question20 !== null) {\r\n this.comtypeQuestions.push({\r\n question: this.constantsSvc.newConstructionQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question20,\r\n requestType: 'Commercial',\r\n panelNumber: '1' });\r\n }\r\n\r\n if (this.steps[StepsIdEnum.TYPE].form.value.question21 !== null) {\r\n this.comtypeQuestions.push({\r\n question: this.constantsSvc.currentEnergySourceQues,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.question21,\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n }\r\n }\r\n // Retrieve the type of request user is applying gas for\r\n getGasTypeCode(PropertyType: string, QuestionId: string, QuestionResponse: string): string {\r\n // filter the resultset matching propertyType, questionId, questionResponse\r\n if (PropertyType.toLowerCase() === this.constantsSvc.multi_Family1.toLowerCase()) {\r\n QuestionId = '16';\r\n }\r\n const output = this.lookupSvc.gasRequestType.filter(value =>\r\n value.propertyType.toUpperCase() === PropertyType.toUpperCase() &&\r\n value.questionId.toUpperCase() === QuestionId.toUpperCase() &&\r\n value.questionResponse.toUpperCase() === QuestionResponse.toUpperCase()\r\n );\r\n if (output.length > 0) {\r\n return output[0].typeCode;\r\n } else {\r\n return null;\r\n }\r\n }\r\n // Retrieve Bca Type Cd based on Gas request type cd\r\n getBcaTypeCode(gasRequestTypeCd: string): string {\r\n const output = this.lookupSvc.gasRequestTypeBcaCode.filter(value =>\r\n value.id.toUpperCase() === gasRequestTypeCd.toUpperCase());\r\n if (output.length > 0) {\r\n return output[0].bcaTypeCode;\r\n } else {\r\n return null;\r\n }\r\n }\r\n // WMS Database Call to Web API to add the request with MainModel\r\n add(model: GasRequestModel): Observable> {\r\n return this.http.post({\r\n url: 'Common/AddGasRequest',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // GIS Service Call to Web API to store ga request number in GIS database\r\n postGasRequestNumber(lat: string, longt: string, stateCd: string, requestNum: string): Observable> {\r\n return this.http.post({\r\n url: 'externalService' + '/PostGasRequestNumber',\r\n params: { lat: lat, longt: longt, stateCd: stateCd, requestNum: requestNum }\r\n });\r\n }\r\n //#endregion => Submit Form to Server with transformation\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbGljYW50L2NvbXBvbmVudHMvYWNrbm93bGVkZ2UvYWNrbm93bGVkZ2UuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, LookupsService, MessageTypeEnum, ConstantsService } from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { PlatformLocation } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-acknowledge',\r\n templateUrl: './acknowledge.component.html',\r\n styleUrls: ['./acknowledge.component.css']\r\n})\r\nexport class AcknowledgeComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n messageTypeEnum: typeof MessageTypeEnum = MessageTypeEnum;\r\n message = '';\r\n emailAddress: string;\r\n alertMsg: any = [];\r\n constructor(public wizardSvc: MultistepsService, public sessionSvc: SessionService, public lookupSvc: LookupsService,\r\n public alertService: AlertService, public browser: PlatformLocation, public constSvc: ConstantsService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.ACKNOWLEDGE);\r\n this.wizardSvc.isWizardCompleted = true;\r\n this.wizardSvc.resetWizardState();\r\n\r\n }\r\n ngOnInit() {\r\n this.browser.onPopState(() => {\r\n let url = window.location.href;\r\n url = url.replace('review', 'location');\r\n window.history.pushState(null, '', url);\r\n });\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Acknowledge'));\r\n this.alertService.success(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.ACKNOWLEDGE).form;\r\n this.message = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.messageTypeEnum.Acknowledge).message;\r\n // START - CXCO-1848 - Changes for Confirmation \r\n if (this.wizardSvc.MainModel.kmiCommunication === 'Yes') {\r\n this.message = this.message.replace('YY', '');\r\n }\r\n else{\r\n this.message = this.message.replace('YY', 'Hidden');\r\n }\r\n // END - CXCO-1848 - Changes for Confirmation\r\n this.message = this.message.replace('XX', this.wizardSvc.MainModel.id.toString());\r\n this.emailAddress = this.lookupSvc.messages.filter(x => x.itemName ===\r\n this.wizardSvc.serviceAddress.state.short_name && x.messageType === this.messageTypeEnum.Acknowledge)[0].emailAddress;\r\n }\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) { return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n}\r\n","export default \".toggle-width {\\r\\n width:20%;\\r\\n}\\r\\n\\r\\n.changeAddress{\\r\\n padding: 9px !important;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1024px) and (max-width: 1190px) {\\r\\n\\r\\n #changeAbtn {\\r\\n margin-left: 265px;\\r\\n }\\r\\n\\r\\n\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1190px) {\\r\\n\\r\\n #changeAbtn {\\r\\n margin-left: 345px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1024px){\\r\\n #editBtn{\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n #changeAbtn {\\r\\n margin-bottom: 5px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBsaWNhbnQvY29tcG9uZW50cy9hZGRyZXNzZXMvYWRkcmVzc2VzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7O0VBRUU7SUFDRSxrQkFBa0I7RUFDcEI7OztBQUdGOztBQUNBOztFQUVFO0lBQ0Usa0JBQWtCO0VBQ3BCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGtCQUFrQjtFQUNwQjtFQUNBO0lBQ0Usa0JBQWtCO0VBQ3BCO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2FwcGxpY2FudC9jb21wb25lbnRzL2FkZHJlc3Nlcy9hZGRyZXNzZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50b2dnbGUtd2lkdGgge1xyXG4gIHdpZHRoOjIwJTtcclxufVxyXG5cclxuLmNoYW5nZUFkZHJlc3N7XHJcbiAgcGFkZGluZzogOXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7XHJcblxyXG4gICNjaGFuZ2VBYnRuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyNjVweDtcclxuICB9XHJcblxyXG5cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTBweCkge1xyXG5cclxuICAjY2hhbmdlQWJ0biB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzQ1cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7XHJcbiAgI2VkaXRCdG57XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgfVxyXG4gICNjaGFuZ2VBYnRuIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, OnInit, AfterViewInit, HostListener, OnDestroy } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, ConstantsService, RequestTypesEnum, LookupsService, StepsRouteEnum } from '@app/base/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate, UspsService, compareObjects, focusFirstInvalidField } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-addresses',\r\n templateUrl: './addresses.component.html',\r\n styleUrls: ['./addresses.component.css']\r\n})\r\nexport class AddressesComponent implements OnInit, AfterViewInit, CanComponentDeactivate, OnDestroy {\r\n form: FormGroup;\r\n typeform: FormGroup;\r\n locationform: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n addressToValidate: any;\r\n validatedAddress: any;\r\n addressValidationError: any;\r\n isPoBox: boolean;\r\n alertMsg: any = [];\r\n addressValidationModalId = '#address_validation_modal';\r\n showAutoComplete: boolean;\r\n mailingAddressSame: boolean;\r\n private zipSubscription: Subscription;\r\n private addressSubscription: Subscription;\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n\r\n constructor(\r\n public wizardSvc: MultistepsService,\r\n public sessionSvc: SessionService,\r\n public constantsSvc: ConstantsService,\r\n public lookupSvc: LookupsService,\r\n private usps: UspsService,\r\n public alertService: AlertService,\r\n private socoHttp: SocoHttpService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.ADDRESSES);\r\n }\r\n\r\n // used to close opened pop ups\r\n ngOnDestroy() {\r\n if ($('#address_validation_modal').is(':visible')) {\r\n $('#address_validation_modal').modal('hide');\r\n }\r\n if (this.zipSubscription) {\r\n this.zipSubscription.unsubscribe();\r\n }\r\n if (this.addressSubscription) {\r\n this.addressSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n // used to subscribe to services and call initial methods\r\n ngOnInit() {\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Site Details'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.ADDRESSES).form;\r\n this.typeform = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.locationform = this.wizardSvc.getStepById(this.stepsIdEnum.LOCATION).form;\r\n this.isPoBox = this.form.controls['isPoBox'].value;\r\n this.mailingAddressSame = this.form.controls['mailingAddressSame'].value;\r\n\r\n if (!this.isPoBox && !this.mailingAddressSame) {\r\n this.showAutoComplete = true;\r\n }\r\n if (this.wizardSvc.addressChanged) {\r\n this.form.controls['mailingAddressSame'].setValue(null);\r\n this.cloneServiceAddress(false);\r\n this.wizardSvc.addressChanged = false;\r\n }\r\n this.form.patchValue({\r\n serviceStreetNumber: this.wizardSvc.serviceAddress.street_number,\r\n serviceStreetName: this.wizardSvc.serviceAddress.street_name,\r\n serviceZip: this.wizardSvc.serviceAddress.zip,\r\n serviceState: this.lookupSvc.serviceState.find(x =>\r\n x.id.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase()),\r\n serviceCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.city.toUpperCase()),\r\n\r\n serviceCounty: this.lookupSvc.serviceCounty.length > 0 ?\r\n this.lookupSvc.serviceCounty.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.county.toUpperCase()) : null\r\n });\r\n\r\n // filling customer requested address as service address\r\n this.form.patchValue({\r\n customerStreetNumber: !this.wizardSvc.customerRequested ? this.wizardSvc.serviceAddress.street_number :\r\n this.form.controls['customerStreetNumber'].value,\r\n customerStreetName: !this.wizardSvc.customerRequested ? this.wizardSvc.serviceAddress.street_name :\r\n this.form.controls['customerStreetName'].value,\r\n customerZip: this.wizardSvc.serviceAddress.zip,\r\n customerState: this.lookupSvc.serviceState.find(x =>\r\n x.id.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase()),\r\n customerCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.city.toUpperCase()),\r\n\r\n customerCounty: this.lookupSvc.serviceCounty.length > 0 ?\r\n this.lookupSvc.serviceCounty.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.county.toUpperCase()) : null\r\n });\r\n\r\n if (this.locationform.controls['locationStreetNumber'].value !== null && this.locationform.controls['locationStreetNumber'].value !== ''\r\n && this.locationform.controls['locationStreetNumber'].value !== undefined) {\r\n this.form.controls['customerStreetNumber'].setValue(this.locationform.controls['locationStreetNumber'].value);\r\n }\r\n if (this.locationform.controls['locationStreetName'].value !== null && this.locationform.controls['locationStreetName'].value !== '' &&\r\n this.locationform.controls['locationStreetName'].value !== undefined) {\r\n this.form.controls['customerStreetName'].setValue(this.locationform.controls['locationStreetName'].value);\r\n }\r\n this.resolveMailingZip();\r\n\r\n }\r\n ngAfterViewInit() { this.listenMailingAddressChanges(); }\r\n\r\n // used to resolve zip code\r\n resolveMailingZip() {\r\n this.zipSubscription = this.form.controls['mailingZip'].valueChanges.subscribe(selectedValue => {\r\n if (this.form.get('mailingAddressSame').value) { return; }\r\n if (this.constantsSvc.zipCodePattern.test(selectedValue)) { // We have a valid ZIP Code.\r\n this.wizardSvc.addressValidationDone = false;\r\n this.socoHttp.showPleaseWait('Processing.', 'ContainerAwaiter');\r\n this.usps.GetCityStateFromZip(selectedValue, (result) => {\r\n if (result.CityStateLookupResponse.ZipCode.Error) {\r\n this.form.patchValue({ mailingZip: null, mailingCity: null, mailingState: null });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.invalidZipSwal, '', this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.lookupSvc.loadMailingAddressCityLookups(result.CityStateLookupResponse.ZipCode.State,\r\n result.CityStateLookupResponse.ZipCode.City);\r\n this.addressSubscription = this.lookupSvc.mailingAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.form.patchValue({\r\n mailingCity: this.lookupSvc.mailingCity.length > 0 ? this.lookupSvc.mailingCity[0] : null,\r\n mailingState: this.lookupSvc.mailingState.length > 0 ? this.lookupSvc.mailingState[0] : null,\r\n });\r\n }\r\n }, fail => { this.socoHttp.hidePleaseWait('ContainerAwaiter'); });\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n // method to listen to mailing address changes\r\n listenMailingAddressChanges() {\r\n const subStreetNumber = this.form.controls['mailingStreetNumber'].valueChanges.subscribe(value => {\r\n if (subStreetNumber && value) {\r\n subStreetNumber.unsubscribe();\r\n }\r\n this.wizardSvc.addressValidationDone = false;\r\n });\r\n const subStreetName = this.form.controls['mailingStreetName'].valueChanges.subscribe(value => {\r\n if (subStreetName && value) {\r\n subStreetName.unsubscribe();\r\n }\r\n this.wizardSvc.addressValidationDone = false;\r\n });\r\n const subUnitName = this.form.controls['mailingUnitNumber'].valueChanges.subscribe(value => {\r\n if (subUnitName && value) {\r\n subUnitName.unsubscribe();\r\n }\r\n this.wizardSvc.addressValidationDone = false;\r\n });\r\n }\r\n\r\n // used to handle page refresh\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n // If form is invalid, then warning dialogs will appear, don't ask for address validation.\r\n const isFormValid = this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n if (this.wizardSvc.addressValidationDone || this.form.controls['isPoBox'].value) { return isFormValid; }\r\n\r\n if (this.form.valid) {\r\n const currentPath = state.url.substring(state.url.lastIndexOf('/') + 1, state.url.length).trim().toLowerCase();\r\n const nextPath = nextState.url.substring(nextState.url.lastIndexOf('/') + 1, nextState.url.length).trim().toLowerCase();\r\n // If we moving forward to next step, make sure address is valid.\r\n if (currentPath === StepsRouteEnum.ADDRESSES && nextPath === StepsRouteEnum.PREMISE) {\r\n this.addressToValidate = {\r\n street: (this.form.getRawValue().mailingStreetNumber + ' ' + this.form.getRawValue().mailingStreetName).toUpperCase(),\r\n city: this.form.getRawValue().mailingCity.itemName.toUpperCase(),\r\n state: this.form.getRawValue().mailingState.id.toUpperCase(),\r\n zip: this.form.getRawValue().mailingZip\r\n };\r\n if (!this.wizardSvc.addressValidationDone && this.addressToValidate) {\r\n this.usps.GetValidatedAddress(this.addressToValidate, (result) => {\r\n if (result.Error) {\r\n this.addressValidationError = result.Error.Description;\r\n } else {\r\n this.validatedAddress = result;\r\n }\r\n\r\n if (compareObjects(this.addressToValidate, this.validatedAddress)) {\r\n this.wizardSvc.addressValidationDone = true;\r\n this.wizardSvc.goToStep(StepsIdEnum.PREMISE);\r\n } else { $(this.addressValidationModalId).modal(); }\r\n });\r\n return false;\r\n // P O Box is checked, no address validation to occur\r\n } else {\r\n return false;\r\n }\r\n\r\n } else { return true; }\r\n } else { return isFormValid; }\r\n }\r\n getAddressFromModal(selectedAddress) {\r\n // Address to validate is same as validated one.\r\n if (!compareObjects(this.addressToValidate, selectedAddress)) {\r\n this.form.patchValue({ mailingStreetName: selectedAddress.street.substr(selectedAddress.street.indexOf(' ') + 1) });\r\n }\r\n $(this.addressValidationModalId).modal('hide');\r\n this.form.updateValueAndValidity();\r\n this.wizardSvc.addressValidationDone = true; // Address validated\r\n this.wizardSvc.goToStep(StepsIdEnum.PREMISE); // Route to premise\r\n }\r\n\r\n getAddressFromAddressSuggestion(address) {\r\n this.form.patchValue({\r\n mailingStreetNumber: address.street_number,\r\n mailingStreetName: address.street_name,\r\n mailingZip: address.zip,\r\n mailingCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === address.city.toUpperCase()),\r\n mailingState: this.lookupSvc.states.find(x => x.itemName === address.state.short_name)\r\n });\r\n }\r\n modalChangeMailingAddress() {\r\n $(this.addressValidationModalId).modal('hide');\r\n this.cloneServiceAddress(false);\r\n this.form.get('mailingAddressSame').setValue(false);\r\n focusFirstInvalidField(this.form);\r\n }\r\n\r\n\r\n // method to toggle to input mailing address\r\n mailingAddressToggle(eve: any) {\r\n const mailingAddressSame = (this.form.get('mailingAddressSame'));\r\n if (mailingAddressSame.value) {\r\n this.form.controls['isPoBox'].patchValue(false);\r\n this.form.controls['poBoxAddress'].clearValidators();\r\n this.form.controls['poBoxAddress'].setValue('');\r\n this.isPoBox = false;\r\n }\r\n this.cloneServiceAddress(mailingAddressSame.value);\r\n }\r\n\r\n // method to toggle to input PO\r\n PoBoxToggle(e) {\r\n this.isPoBox = this.form.controls['isPoBox'].value;\r\n if (this.isPoBox) {\r\n this.showAutoComplete = false;\r\n this.form.controls['mailingAddressSame'].setValue(false);\r\n this.form.controls['poBoxAddress'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n this.form.controls['mailingStreetName'].clearValidators();\r\n this.form.controls['mailingStreetNumber'].clearValidators();\r\n } else {\r\n this.form.controls['poBoxAddress'].setValue('');\r\n this.form.controls['poBoxAddress'].clearValidators();\r\n this.showAutoComplete = true;\r\n this.form.controls['mailingStreetName'].patchValue(null);\r\n this.form.controls['mailingStreetName'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.alphaNumericPattern)]);\r\n this.form.controls['mailingStreetNumber'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n this.form.controls['mailingStreetNumber'].patchValue(null);\r\n this.isPoBox = false;\r\n // enable address fields when po box is deselected\r\n this.form.controls['mailingStreetNumber'].enable();\r\n this.form.controls['mailingStreetName'].enable();\r\n this.form.controls['mailingUnitNumber'].enable();\r\n this.form.controls['mailingZip'].enable();\r\n }\r\n }\r\n\r\n // used to clean service address\r\n cloneServiceAddress(same: boolean) {\r\n if (same == null) {\r\n this.form.updateValueAndValidity();\r\n return;\r\n }\r\n if (same) {\r\n this.showAutoComplete = false;\r\n this.form.patchValue({\r\n mailingStreetNumber: this.form.controls['customerStreetNumber'].value,\r\n mailingStreetName: this.form.controls['customerStreetName'].value,\r\n mailingUnitNumber: this.form.controls['serviceUnitNumber'].value,\r\n mailingZip: this.form.controls['serviceZip'].value,\r\n mailingCity: this.form.controls['serviceCity'].value ? this.form.controls['serviceCity'].value : [],\r\n mailingState: this.form.controls['serviceState'].value ? this.form.controls['serviceState'].value : []\r\n });\r\n\r\n this.form.controls['mailingStreetNumber'].disable();\r\n this.form.controls['mailingStreetName'].disable();\r\n this.form.controls['mailingUnitNumber'].disable();\r\n this.form.controls['mailingZip'].disable();\r\n } else {\r\n this.form.patchValue({\r\n mailingStreetNumber: '',\r\n mailingStreetName: '',\r\n mailingUnitNumber: '',\r\n mailingZip: '',\r\n mailingCity: [],\r\n mailingState: []\r\n });\r\n this.form.controls['mailingStreetNumber'].enable();\r\n this.form.controls['mailingStreetName'].enable();\r\n this.form.controls['mailingUnitNumber'].enable();\r\n this.form.controls['mailingZip'].enable();\r\n this.wizardSvc.addressValidationDone = false;\r\n this.showAutoComplete = true;\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n // if user clicks on edit to enter different address\r\n editCustomerAddress() {\r\n this.wizardSvc.customerRequested = true;\r\n this.form.controls['customerStreetNumber'].enable();\r\n this.form.controls['customerStreetName'].enable();\r\n this.wizardSvc.customerAddress.streetNumber = this.form.controls['customerStreetNumber'].value;\r\n this.wizardSvc.customerAddress.streetName = this.form.controls['customerStreetName'].value;\r\n }\r\n\r\n // if user clicks on reset\r\n resetCustomerAddress() {\r\n this.wizardSvc.customerRequested = false;\r\n\r\n if (this.locationform.controls['locationStreetNumber'].value !== null &&\r\n this.locationform.controls['locationStreetNumber'].value !== ''\r\n && this.locationform.controls['locationStreetNumber'].value !== undefined) {\r\n this.form.controls['customerStreetNumber'].setValue(this.locationform.controls['locationStreetNumber'].value);\r\n } else {\r\n this.form.controls['customerStreetNumber'].setValue(this.wizardSvc.serviceAddress.street_number);\r\n }\r\n if (this.locationform.controls['locationStreetName'].value !== null &&\r\n this.locationform.controls['locationStreetName'].value !== '' &&\r\n this.locationform.controls['locationStreetName'].value !== undefined) {\r\n this.form.controls['customerStreetName'].setValue(this.locationform.controls['locationStreetName'].value);\r\n } else {\r\n this.form.controls['customerStreetName'].setValue(this.wizardSvc.serviceAddress.street_name);\r\n }\r\n\r\n this.form.controls['customerStreetNumber'].disable();\r\n this.form.controls['customerStreetName'].disable();\r\n\r\n if (this.form.controls['mailingAddressSame'].value) {\r\n this.form.controls['mailingAddressSame'].setValue(false);\r\n\r\n this.form.patchValue({\r\n mailingStreetNumber: '',\r\n mailingStreetName: '',\r\n mailingUnitNumber: '',\r\n mailingZip: '',\r\n mailingCity: [],\r\n mailingState: []\r\n });\r\n this.form.controls['mailingStreetNumber'].enable();\r\n this.form.controls['mailingStreetName'].enable();\r\n this.form.controls['mailingUnitNumber'].enable();\r\n this.form.controls['mailingZip'].enable();\r\n this.wizardSvc.addressValidationDone = false;\r\n this.showAutoComplete = true;\r\n }\r\n }\r\n\r\n}\r\n","export * from '@app/modules/applicant/components/acknowledge/acknowledge.component';\r\nexport * from '@app/modules/applicant/components/addresses/addresses.component';\r\nexport * from '@app/modules/applicant/components/information/information.component';\r\nexport * from '@app/modules/applicant/components/location/location.component';\r\nexport * from '@app/modules/applicant/components/premise/premise.component';\r\nexport * from '@app/modules/applicant/components/premise/commercial.premise/commercial.premise.component';\r\nexport * from '@app/modules/applicant/components/premise/residential.premise/residential.premise.component';\r\nexport * from '@app/modules/applicant/components/premise/mixed.premise/mixed.premise.component';\r\nexport * from '@app/modules/applicant/components/review/review.component';\r\nexport * from '@app/modules/applicant/components/type/type.component';\r\n","export default \".isLiketoReceiveTestMessagesToggle\\r\\n{\\r\\n white-space:nowrap !important;\\r\\n}\\r\\n.contactTypefield\\r\\n{\\r\\n margin-bottom: -16px !important;\\r\\n}\\r\\n.contactTypeicon\\r\\n{\\r\\n padding: 10px !important;\\r\\n}\\r\\n@media only screen and (min-width: 1190px) {\\r\\n\\r\\n\\r\\n #emailText {\\r\\n margin-left: 752px;\\r\\n margin-bottom: -20px !important;\\r\\n }\\r\\n #emailbox{\\r\\n margin-bottom:-10px;\\r\\n }\\r\\n}\\r\\n@media only screen and (max-width: 1024px) {\\r\\n\\r\\n\\r\\n #emailText {\\r\\n margin-left: 10px;\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width: 1024px) and (max-width: 1190px) {\\r\\n\\r\\n #emailText {\\r\\n margin-left: 635px;\\r\\n margin-bottom: -20px !important;\\r\\n }\\r\\n\\r\\n #emailbox {\\r\\n margin-bottom: -10px;\\r\\n }\\r\\n}\\r\\n.text-col {\\r\\n margin-top: 20px;\\r\\n font-size: 12px;\\r\\n color: #002c3f;\\r\\n}\\r\\n.text-border {\\r\\n border-left: 5px solid #2196F3;\\r\\n padding-left: 6px;\\r\\n}\\r\\n#email, #contactNumber {\\r\\n margin-bottom: 10px;\\r\\n margin-right: 5px;\\r\\n}\\r\\n.email-mar {\\r\\n margin-bottom: 10px;\\r\\n margin-right: 5px;\\r\\n}\\r\\n#radio-mar {\\r\\n font-size: medium;\\r\\n margin-left: 8px;\\r\\n}\\r\\n.radio-margin {\\r\\n margin-left: 15px;\\r\\n}\\r\\n#no, #weekly, #status {\\r\\n margin-left: 15px;\\r\\n}\\r\\ninput[type=\\\"text\\\"] {\\r\\n width: 100%;\\r\\n padding: 8px;\\r\\n margin-top: 5px;\\r\\n border: 1px solid #ccc;\\r\\n border-radius: 4px;\\r\\n}\\r\\ninput.invalid {\\r\\n border-color: red;\\r\\n}\\r\\n.error {\\r\\n color: red;\\r\\n font-size: 0.8em;\\r\\n margin-top: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBsaWNhbnQvY29tcG9uZW50cy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLDZCQUE2QjtBQUMvQjtBQUNBOztFQUVFLCtCQUErQjtBQUNqQztBQUNBOztFQUVFLHdCQUF3QjtBQUMxQjtBQUNBOzs7RUFHRTtJQUNFLGtCQUFrQjtJQUNsQiwrQkFBK0I7RUFDakM7RUFDQTtJQUNFLG1CQUFtQjtFQUNyQjtBQUNGO0FBRUE7OztFQUdFO0lBQ0UsaUJBQWlCO0VBQ25CO0FBQ0Y7QUFFQTs7RUFFRTtJQUNFLGtCQUFrQjtJQUNsQiwrQkFBK0I7RUFDakM7O0VBRUE7SUFDRSxvQkFBb0I7RUFDdEI7QUFDRjtBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixjQUFjO0FBQ2xCO0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsaUJBQWlCO0FBQ3JCO0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsaUJBQWlCO0FBQ3JCO0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsaUJBQWlCO0FBQ3JCO0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZ0JBQWdCO0FBQ3BCO0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjtBQUdBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLGtCQUFrQjtBQUN0QjtBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCO0FBRUE7SUFDSSxVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2FwcGxpY2FudC9jb21wb25lbnRzL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaXNMaWtldG9SZWNlaXZlVGVzdE1lc3NhZ2VzVG9nZ2xlXHJcbntcclxuICB3aGl0ZS1zcGFjZTpub3dyYXAgIWltcG9ydGFudDtcclxufVxyXG4uY29udGFjdFR5cGVmaWVsZFxyXG57XHJcbiAgbWFyZ2luLWJvdHRvbTogLTE2cHggIWltcG9ydGFudDtcclxufVxyXG4uY29udGFjdFR5cGVpY29uXHJcbntcclxuICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTkwcHgpIHtcclxuXHJcblxyXG4gICNlbWFpbFRleHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDc1MnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTIwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgI2VtYWlsYm94e1xyXG4gICAgbWFyZ2luLWJvdHRvbTotMTBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcblxyXG5cclxuICAjZW1haWxUZXh0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHtcclxuXHJcbiAgI2VtYWlsVGV4dCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNjM1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI2VtYWlsYm94IHtcclxuICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnRleHQtY29sIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogIzAwMmMzZjtcclxufVxyXG5cclxuLnRleHQtYm9yZGVyIHtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzIxOTZGMztcclxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG59XHJcblxyXG4jZW1haWwsICNjb250YWN0TnVtYmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmVtYWlsLW1hciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbiNyYWRpby1tYXIge1xyXG4gICAgZm9udC1zaXplOiBtZWRpdW07XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG59XHJcblxyXG4ucmFkaW8tbWFyZ2luIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG59XHJcblxyXG4jbm8sICN3ZWVrbHksICNzdGF0dXMge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcblxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbmlucHV0LmludmFsaWQge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5lcnJvciB7XHJcbiAgICBjb2xvcjogcmVkO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufSJdfQ== */\"","import { Component, OnInit, HostListener, ChangeDetectorRef, Renderer2, AfterViewInit } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators} from '@angular/forms';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { ConstantsService, LookupsService, RequestTypesEnum, SessionService, StepsIdEnum } from '@app/base/core';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport {AlertService} from '@app/base/alerts/alert.service';\r\n@Component({\r\n selector: 'app-information',\r\n templateUrl: './information.component.html',\r\n styleUrls: ['./information.component.css']\r\n})\r\nexport class InformationComponent implements OnInit, AfterViewInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n showPhoneExtension = false;\r\n siteContactCount = true;\r\n alertMsg: any = [];\r\n\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n\r\n constructor(\r\n public wizardSvc: MultistepsService,\r\n public sessionSvc: SessionService,\r\n public constantsSvc: ConstantsService,\r\n public lookupSvc: LookupsService,\r\n public alertService: AlertService,\r\n private detectChange: ChangeDetectorRef,\r\n private renderer: Renderer2\r\n // private formBuilder: FormBuilder\r\n ) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.INFORMATION);\r\n }\r\n ngOnInit() {\r\n // Loads BCA Lookup values\r\n this.lookupSvc.loadBcaLookups(this.wizardSvc.paramRequestType, this.wizardSvc.serviceAddress.state.short_name);\r\n // Loads Common Lookup Values\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Loads banner Message\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === this.constantsSvc.bannermsgInfoComp));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.INFORMATION).form;\r\n const phoneType = this.form.controls['phoneNumberType'].value;\r\n if (phoneType && phoneType.id === 2) { this.showPhoneExtension = true; }\r\n\r\n const formArray = this.form.controls['contactTypeDetails'];\r\n if (formArray.length > 4) {\r\n this.siteContactCount = false;\r\n } else {\r\n this.siteContactCount = true;\r\n }\r\n\r\n }\r\n ngAfterViewInit() {\r\n this.disableTextAndBothOtions();\r\n }\r\n next() {\r\n this.wizardSvc.nextStep(); // To go to Next step/page\r\n }\r\n back() { this.wizardSvc.previousStep(); } // To go to Previous step/page\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n }\r\n\r\n // Applicant address same as service address\r\n siteContactToggle(eve: any) {\r\n const siteContactSame = (this.form.get('siteContactSame'));\r\n this.cloneSiteContact(siteContactSame.value);\r\n }\r\n // Code to clone same address as service address based on input true/false\r\n cloneSiteContact(same: boolean) {\r\n const siteData = (this.form.controls['contactTypeDetails']).controls[0];\r\n if (same) {\r\n siteData.patchValue({\r\n firstName: this.form.controls['firstName'].value,\r\n lastName: this.form.controls['lastName'].value,\r\n siteContactPhoneNumber: this.form.controls['applicantPhoneNumber'].value,\r\n emailAddress: this.form.controls['emailAddress'].value,\r\n companyName: this.form.controls['companyName'].value,\r\n siteContactPhoneNumberExtension: this.form.controls['applicantPhoneNumberExtension'].value\r\n });\r\n } else {\r\n siteData.patchValue({\r\n firstName: '',\r\n lastName: '',\r\n siteContactPhoneNumber: '',\r\n siteContactEmailAddress: '',\r\n companyName: '',\r\n siteContactPhoneNumberExtension: '',\r\n emailAddress: ''\r\n });\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n // #Information page Functions Region\r\n // Add FormGroup to Contact Details form Array in Information page.\r\n add() {\r\n const formArray = this.form.controls['contactTypeDetails'];\r\n formArray.push(new FormGroup({\r\n siteContactType: new FormControl(null, [Validators.required]),\r\n companyName: new FormControl(''),\r\n siteContactTypeOthers: new FormControl(''),\r\n firstName: new FormControl('', [Validators.required]),\r\n lastName: new FormControl('', [Validators.required]),\r\n siteContactPhoneNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n siteContactPhoneNumberExtension: new FormControl('',\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n emailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)])\r\n })\r\n );\r\n if (formArray.length > 4) {\r\n this.siteContactCount = false;\r\n }\r\n }\r\n // Delete FormGroup from Contact Details form Array based on the input Array index id\r\n delete(id: number) {\r\n const formArray = this.form.controls['contactTypeDetails'];\r\n formArray.removeAt(id);\r\n\r\n if (formArray.length < 5) {\r\n this.siteContactCount = true;\r\n }\r\n }\r\n // Like to Receive Test Message or not\r\n isLiketoReceiveTestMessagesToggle($event) {\r\n const isLiketoReceiveTestMessages = (this.form.get('isLiketoReceiveTestMessages'));\r\n\r\n if (isLiketoReceiveTestMessages.value) {\r\n this.form.controls['applicantPhoneNumber1'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.phoneNumberPattern)]);\r\n this.form.controls['applicantPhoneNumber1'].patchValue(this.form.controls['applicantPhoneNumber'].value);\r\n } else {\r\n this.form.controls['applicantPhoneNumber1'].clearValidators();\r\n this.form.controls['applicantPhoneNumber1'].reset('');\r\n this.form.controls['applicantPhoneNumber2'].reset('');\r\n this.form.controls['applicantPhoneNumber3'].reset('');\r\n }\r\n this.form.updateValueAndValidity();\r\n\r\n\r\n }\r\n // PhoneType selection\r\n onPhoneTypeSelect(item: any, ) {\r\n if (item.id === 2) { this.showPhoneExtension = true; } else {\r\n this.showPhoneExtension = false;\r\n this.form.controls['applicantPhoneNumberExtension'].reset();\r\n }\r\n }\r\n // Select Contact Type\r\n onSelect(item: any, typeDetail: FormGroup) {\r\n typeDetail.controls['siteContactTypeOthers'].reset();\r\n typeDetail.controls['siteContactTypeOthers'].clearValidators();\r\n if (item['id'] === 'O') {\r\n typeDetail.controls['siteContactTypeOthers'].setValidators(Validators.required);\r\n typeDetail.controls['siteContactTypeOthers'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else {\r\n typeDetail.controls['siteContactTypeOthers'].reset();\r\n typeDetail.controls['siteContactTypeOthers'].clearValidators();\r\n }\r\n }\r\n //select KMI Communication\r\n onCommunicationCheck(control) {\r\n if (control.value == 'Yes' || control.value == 'No' )\r\n {\r\n\r\n this.form.controls['kmiCommunication'].clearValidators();\r\n }\r\n\r\n }\r\n getControlValue(controlName: string) {\r\n return this.form.get(controlName).value;\r\n }\r\n setControlNull(args: any[]) { args.forEach(arg => { this.form.controls[arg].patchValue(null); }); }\r\n clearValidators(args: any[]) {\r\n args.forEach(arg => {\r\n this.form.controls[arg].clearValidators();\r\n this.form.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n setRequiredValidator(args: any[]) {\r\n args.forEach(arg => {\r\n this.form.controls[arg].setValidators([Validators.required]);\r\n this.form.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n\r\n setEmailCheckValidator(controlName: any) {\r\n this.form.controls[controlName].setValidators([Validators.required,Validators.pattern(this.constantsSvc.emailPattern)]);\r\n this.form.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n setPhoneCheckValidator(controlName: any) {\r\n this.form.controls[controlName].setValidators([Validators.required,Validators.pattern(this.constantsSvc.phoneNumberPattern)]);\r\n this.form.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n onCommunicationCheck1(control) {\r\n if (control.value == 'Yes' || control.value == 'No') {\r\n this.form.controls['kmiCommunication'].clearValidators();\r\n this.form.controls['kmiCommunication'].updateValueAndValidity();\r\n }\r\n this.detectChange.detectChanges();\r\n }\r\n \r\n onQuestionCheck1(control) {\r\n switch (control.controlName) {\r\n\r\n case 'kmiCommunication':\r\n this.setControlNull(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n\r\n if (control.value === this.constantsSvc.Yes) {\r\n \r\n this.setRequiredValidator(['kmiReceive', 'kmiFrequency']);\r\n this.disableTextAndBothOtions();\r\n }\r\n\r\n else {\r\n\r\n this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n\r\n }\r\n break;\r\n case 'kmiReceive':\r\n this.setControlNull(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n if (control.value === 'Email') {\r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n else if (control.value === 'Text') {\r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n else if (control.value === 'Both') {\r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n break;\r\n\r\n\r\n default:\r\n return;\r\n }\r\n }\r\n disableTextAndBothOtions()\r\n {\r\n // Fetch all radio buttons using native JavaScript querySelectorAll\r\n const radioButtons = document.querySelectorAll('.communication-radio-group input[type=\"radio\"]');\r\n radioButtons.forEach((radio: HTMLInputElement) => {\r\n \r\n if (radio.title === 'Both' || radio.title === 'Text') {\r\n this.renderer.setProperty(radio, 'disabled', true); \r\n }\r\n });\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbGljYW50L2NvbXBvbmVudHMvbG9jYXRpb24vbG9jYXRpb24uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, LookupsService } from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate, compareObjects } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport {AlertService} from '@app/base/alerts/alert.service';\r\nimport { PlatformLocation } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-location',\r\n templateUrl: './location.component.html',\r\n styleUrls: ['./location.component.css']\r\n})\r\nexport class LocationComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n alertMsg: any = [];\r\n latLng: {} = null;\r\n sryNotification: any;\r\n serviceAddress: any = {};\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n constructor(public wizardSvc: MultistepsService, public sessionSvc: SessionService, private lookupSvc: LookupsService,\r\n public alertService: AlertService, public browser: PlatformLocation) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.LOCATION);\r\n }\r\n\r\n ngOnInit() {\r\n this.browser.onPopState(() => {\r\n let url = window.location.href;\r\n url = url.replace('review', 'location');\r\n window.history.pushState(null, '', url);\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.LOCATION).form;\r\n\r\n // Load common lookup values\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Loading banner message for Location\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Location'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.LOCATION).form;\r\n // SryNotification variable is to pass the custom error message from database to Custom-map.Component.ts\r\n this.sryNotification = this.lookupSvc.messages.filter(a => a.messageType === 'Error');\r\n this.latLng = {\r\n lat: this.wizardSvc.serviceAddress != null ? this.wizardSvc.serviceAddress.latitude : this.sessionSvc.activeLdc.latitude,\r\n lng: this.wizardSvc.serviceAddress != null ? this.wizardSvc.serviceAddress.longitude : this.sessionSvc.activeLdc.longitude,\r\n zoom: this.wizardSvc.serviceAddress != null ? this.wizardSvc.serviceAddress.zoomLevel : this.sessionSvc.activeLdc.mapZoom,\r\n showMarker: Boolean(this.wizardSvc.serviceAddress),\r\n };\r\n }\r\n next() { this.wizardSvc.nextStep(); } // To go to Next step\r\n back() { this.wizardSvc.previousStep(); } // To go to Previous step\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (this.wizardSvc.maxCompletedStep < 1) { return true; } // User didn't complete any step, so they can leave.\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n }\r\n\r\n getServiceAddress($event) {\r\n // If address is null or different than currently stored address update it and reload it from server.\r\n // if (!this.wizardSvc.serviceAddress || !compareObjects(this.wizardSvc.serviceAddress, $event)) {\r\n // TODO: uncheck same as service address and clear mailing address data.\r\n this.wizardSvc.addressValidationDone = false;\r\n this.wizardSvc.addressChanged = true;\r\n this.wizardSvc.serviceAddress = $event;\r\n this.serviceAddress.state = this.wizardSvc.serviceAddress.state.short_name;\r\n this.serviceAddress.city = this.wizardSvc.serviceAddress.city;\r\n this.serviceAddress.county = this.wizardSvc.serviceAddress.county;\r\n this.serviceAddress.zip = this.wizardSvc.serviceAddress.zip;\r\n if (this.form.controls['locationStreetName'].value !== null && this.form.controls['locationStreetName'].value !== '' &&\r\n this.form.controls['locationStreetName'].value !== undefined) {\r\n this.serviceAddress.streetName = this.form.controls['locationStreetName'].value;\r\n } else {\r\n this.serviceAddress.streetName = this.wizardSvc.serviceAddress.street_name;\r\n }\r\n if (this.form.controls['locationStreetNumber'].value !== null && this.form.controls['locationStreetNumber'].value !== '' &&\r\n this.form.controls['locationStreetNumber'].value !== undefined) {\r\n this.serviceAddress.streetNumber = this.form.controls['locationStreetNumber'].value;\r\n } else {\r\n this.serviceAddress.streetNumber = this.wizardSvc.serviceAddress.street_number;\r\n }\r\n this.serviceAddress.propertyType = this.wizardSvc.paramRequestType;\r\n this.lookupSvc.resolveServiceAddressLookups(\r\n this.serviceAddress);\r\n\r\n const subscription = this.lookupSvc.serviceAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n subscription.unsubscribe();\r\n this.wizardSvc.steps[StepsIdEnum.TYPE].form.reset();\r\n this.wizardSvc.duplicatedRequest = false;\r\n this.wizardSvc.maxCompletedStep = StepsIdEnum.TYPE;\r\n this.next();\r\n }\r\n });\r\n // } else { this.next(); }\r\n }\r\n}\r\n","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, LookupsService, LimitlessUiService, ConstantsService, CompaniesEnum, RequestTypesEnum } from '@app/base/core';\r\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'commercial-premise',\r\n templateUrl: './commercial.premise.component.html',\r\n})\r\nexport class CommercialPremiseComponent implements OnInit, CanComponentDeactivate {\r\n\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n requestTypesEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n selectedIDsforCommercial: any[] = [];\r\n deliveryPressOthersComm = false;\r\n applianceCountC = true;\r\n public btuLoadVal = 'BTU Load Value';\r\n typeform: FormGroup;\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, private constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService, public lookupSvc: LookupsService, public limitlessSvc: LimitlessUiService) { }\r\n ngOnInit() {\r\n this.typeform = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n if (isNullOrUndefined(this.form.controls['commercialDeliveryPressure'].value)) {\r\n this.form.patchValue({\r\n commercialDeliveryPressure: this.lookupSvc.defaultCommercialPressure.lookupValues[0],\r\n });\r\n }\r\n if ((this.form.controls['commercialDeliveryPressure'].value &&\r\n this.form.controls['commercialDeliveryPressure'].value['itemName'].toUpperCase() === this.constantsSvc.other) ||\r\n this.form.controls['commercialDeliveryPressureOthers'].value !== '' &&\r\n !isNullOrUndefined(this.form.controls['commercialDeliveryPressureOthers'].value)) {\r\n this.deliveryPressOthersComm = true;\r\n } else {\r\n this.deliveryPressOthersComm = false;\r\n this.form.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['commercialDeliveryPressureOthers'].updateValueAndValidity();\r\n }\r\n\r\n // To Set the Status Construction Field value based on the type question response.\r\n if (this.typeform.controls['question20'].value === this.constantsSvc.Yes) {\r\n this.form.controls['commercialStatusofConstruction'].setValidators(Validators.required);\r\n this.form.updateValueAndValidity();\r\n } else {\r\n this.form.controls['commercialStatusofConstruction'].clearValidators();\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n const formArray = this.form.controls['appliancesforCommercial'];\r\n\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n if (this.sessionSvc.paramLdc === this.companiesEnum.GA && this.wizardSvc.paramRequestType.toUpperCase() === this.requestTypesEnum.Commercial) {\r\n this.form.controls['commercialMarketerChosen'].setValidators(Validators.required);\r\n this.form.controls['commercialMarketerChoice'].setValidators(Validators.required);\r\n\r\n //To disable/enable \"Marketer of Choice\" field based on form load\r\n if (this.form.controls['commercialMarketerChosen'].value === this.constantsSvc.Yes) {\r\n this.form.controls['commercialMarketerChoice'].enable();\r\n }\r\n else if (this.form.controls['commercialMarketerChosen'].value === this.constantsSvc.No) {\r\n this.form.controls['commercialMarketerChoice'].disable();\r\n }\r\n else {\r\n this.form.controls['commercialMarketerChoice'].disable();\r\n }\r\n }\r\n }\r\n\r\n // navigating multistep\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n\r\n selectIDforCommercial(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforCommercial.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforCommercial.indexOf(id);\r\n this.selectedIDsforCommercial.splice(index, 1);\r\n }\r\n }\r\n\r\n // used to add appliance for commercial\r\n addAppliancesforCommercial() {\r\n const formArray = this.form.controls['appliancesforCommercial'];\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad : new FormControl(false)\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n }\r\n\r\n // used to delete appliance for commercial\r\n deleteApplianceforCommercial() {\r\n const control = this.form.controls['appliancesforCommercial'];\r\n if (this.selectedIDsforCommercial.length === 0) { swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2); }\r\n this.selectedIDsforCommercial.sort((a, b) => b - a);\r\n this.selectedIDsforCommercial.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountC = true;\r\n }\r\n this.selectedIDsforCommercial = [];\r\n }\r\n\r\n onCommItemSelect(eve: any) {\r\n if (isNullOrUndefined(eve)) {\r\n this.form.controls['commercialDeliveryPressureOthers'].reset('');\r\n this.form.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.deliveryPressOthersComm = false;\r\n this.form.updateValueAndValidity();\r\n } else if (eve.itemName.toUpperCase() === this.constantsSvc.other) {\r\n this.deliveryPressOthersComm = true;\r\n this.form.controls['commercialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n this.form.controls['commercialDeliveryPressureOthers'].reset('');\r\n this.form.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['commercialDeliveryPressureOthers'].updateValueAndValidity();\r\n this.form.updateValueAndValidity();\r\n this.deliveryPressOthersComm = false;\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n // getcontrolvalue is for getting the \"Have you chosen a Marketer\" selected value\r\n getControlValue(controlName: string) { return this.form.get(controlName).value; }\r\n\r\n //Method for \"Have you chosen a Marketer\" change\r\n onMarketerChosenSelected(eve: any) {\r\n if (isNullOrUndefined(eve)) {\r\n this.form.controls['commercialMarketerChoice'].disable();\r\n this.form.controls['commercialMarketerChoice'].reset(null);\r\n }\r\n else if (eve === this.constantsSvc.Yes) {\r\n this.form.controls['commercialMarketerChoice'].enable();\r\n this.lookupSvc.MarketerOfChoice = this.lookupSvc.MarketerOfChoice.filter(x => x.itemName.toUpperCase() !== 'UNDECIDED');\r\n this.form.controls['commercialMarketerChoice'].reset(null);\r\n }\r\n else if(eve === this.constantsSvc.No) {\r\n this.form.patchValue({\r\n commercialMarketerChoice : this.lookupSvc.MarketerOfChoiceUndecided.find(x => x.itemName.toUpperCase() === 'UNDECIDED')\r\n });\r\n this.form.controls['commercialMarketerChoice'].disable();\r\n this.lookupSvc.MarketerOfChoice = this.lookupSvc.MarketerOfChoiceUndecided;\r\n }\r\n else {\r\n this.form.controls['commercialMarketerChoice'].disable();\r\n this.form.controls['commercialMarketerChoice'].reset(null);\r\n }\r\n } \r\n\r\n // used to autopopulate the BTU value when appliance is selected\r\n onApplianceSelected(eve: any, appArr: FormGroup) {\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.updateValueAndValidity();\r\n\r\n if (eve['itemName'].toUpperCase() === this.constantsSvc.other || eve['itemName'].toUpperCase() === this.constantsSvc.OTHERNOALLOW) {\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n // tslint:disable-next-line:max-line-length\r\n } else if (eve['itemName'].toUpperCase() === this.constantsSvc.poolHeater || eve['itemName'].toUpperCase() === this.constantsSvc.standbyGenerator) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n } else {\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n}\r\n","import { Component, OnInit, CUSTOM_ELEMENTS_SCHEMA, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, LookupsService, LimitlessUiService, ConstantsService } from '@app/base/core';\r\nimport { FormGroup, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { DaterangepickerConfig } from 'ng2-daterangepicker';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'mixed-premise',\r\n templateUrl: './mixed.premise.component.html',\r\n})\r\nexport class MixedPremiseComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n deliveryPressureResidential = [];\r\n deliveryPressureCommercial = [];\r\n loadTypeResidential = [];\r\n loadTypeCommercial = [];\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n selectedIDsforResidential: any[] = [];\r\n selectedIDsforCommercial: any[] = [];\r\n alertMsg: any = [];\r\n deliveryPressOthersResidential = false;\r\n deliveryPressOthersCommMixuse = false;\r\n applianceCountR = true;\r\n applianceCountC = true;\r\n\r\n public btuLoadVal = 'BTU Load Value (Optional)';\r\n\r\n public btuLoadVal1 = 'BTU Load Value';\r\n\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n };\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, private constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n private daterangepickerOptions: DaterangepickerConfig,\r\n public lookupSvc: LookupsService, public limitlessSvc: LimitlessUiService, public alertService: AlertService\r\n ) {\r\n this.daterangepickerOptions.skipCSS = true;\r\n this.deliveryPressureResidential =\r\n this.lookupSvc.deliveryPressure.filter(x => x.usageType.toUpperCase() === RequestTypesEnum.Residential.toUpperCase());\r\n this.deliveryPressureCommercial =\r\n this.lookupSvc.deliveryPressure.filter(x => x.usageType.toUpperCase() === RequestTypesEnum.Commercial.toUpperCase());\r\n this.loadTypeResidential =\r\n this.lookupSvc.loadType.filter(x => x.usageType.toUpperCase() === RequestTypesEnum.Residential.toUpperCase());\r\n this.loadTypeCommercial = this.lookupSvc.loadType.filter(x => x.usageType.toUpperCase() === RequestTypesEnum.Commercial.toUpperCase());\r\n }\r\n ngOnInit() {\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n\r\n if (isNullOrUndefined(this.form.controls['residentialDeliveryPressure'].value)) {\r\n this.form.patchValue({\r\n residentialDeliveryPressure: this.lookupSvc.defaultResidentialPressure.lookupValues[0],\r\n });\r\n }\r\n\r\n if (isNullOrUndefined(this.form.controls['commercialDeliveryPressure'].value)) {\r\n this.form.patchValue({\r\n commercialDeliveryPressure: this.lookupSvc.defaultCommercialPressure.lookupValues[0],\r\n });\r\n }\r\n\r\n if (this.form.controls['residentialDeliveryPressureOthers'].value !== '' &&\r\n !isNullOrUndefined(this.form.controls['residentialDeliveryPressureOthers'].value) ||\r\n (this.form.controls['residentialDeliveryPressure'].value &&\r\n this.form.controls['residentialDeliveryPressure'].value['itemName'] === this.constantsSvc.otherAppliance)) {\r\n this.deliveryPressOthersResidential = true;\r\n } else {\r\n this.deliveryPressOthersResidential = false;\r\n this.form.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['residentialDeliveryPressureOthers'].updateValueAndValidity();\r\n }\r\n\r\n if (this.form.controls['commercialDeliveryPressureOthers'].value !== '' &&\r\n !isNullOrUndefined(this.form.controls['commercialDeliveryPressureOthers'].value) ||\r\n (this.form.controls['commercialDeliveryPressure'].value &&\r\n this.form.controls['commercialDeliveryPressure'].value['itemName'] === this.constantsSvc.otherAppliance)) {\r\n this.deliveryPressOthersCommMixuse = true;\r\n } else {\r\n this.deliveryPressOthersCommMixuse = false;\r\n this.form.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['commercialDeliveryPressureOthers'].updateValueAndValidity();\r\n }\r\n\r\n const formArrayC = this.form.controls['appliancesforCommercial'];\r\n const formArrayR = this.form.controls['appliancesforResidential'];\r\n\r\n if (formArrayC.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n if (formArrayR.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n\r\n\r\n }\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) { return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n\r\n onItemSelect(eve: any) {\r\n if (isNullOrUndefined(eve)) {\r\n this.form.controls['residentialDeliveryPressureOthers'].reset('');\r\n this.form.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n this.form.updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n } else if (eve.itemName === this.constantsSvc.otherAppliance) {\r\n this.deliveryPressOthersResidential = true;\r\n this.form.controls['residentialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n this.form.controls['residentialDeliveryPressureOthers'].reset('');\r\n this.form.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['residentialDeliveryPressureOthers'].updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n onMixedCommItemSelect(eve: any) {\r\n if (isNullOrUndefined(eve)) {\r\n this.deliveryPressOthersCommMixuse = false;\r\n this.form.controls['commercialDeliveryPressureOthers'].reset('');\r\n this.form.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.form.updateValueAndValidity();\r\n } else if (eve.itemName === this.constantsSvc.otherAppliance) {\r\n this.deliveryPressOthersCommMixuse = true;\r\n this.form.controls['commercialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n this.form.controls['commercialDeliveryPressureOthers'].reset('');\r\n this.form.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['commercialDeliveryPressureOthers'].updateValueAndValidity();\r\n this.form.updateValueAndValidity();\r\n this.deliveryPressOthersCommMixuse = false;\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n selectIDforCommercial(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforCommercial.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforCommercial.indexOf(id);\r\n this.selectedIDsforCommercial.splice(index, 1);\r\n }\r\n }\r\n\r\n // used to add appliance for commercial\r\n addAppliancesforCommercial() {\r\n const formArray = this.form.controls['appliancesforCommercial'];\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n }\r\n\r\n // used to delete appliance for commercial\r\n deleteApplianceforCommercial() {\r\n const control = this.form.controls['appliancesforCommercial'];\r\n if (this.selectedIDsforCommercial.length === 0) {\r\n swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2);\r\n }\r\n this.selectedIDsforCommercial.sort((a, b) => b - a);\r\n this.selectedIDsforCommercial.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountC = true;\r\n }\r\n this.selectedIDsforCommercial = [];\r\n\r\n }\r\n\r\n // used to add appliance for residential\r\n addAppliancesforResidential() {\r\n const formArray = this.form.controls['appliancesforResidential'];\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)], ),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n }\r\n\r\n // used to delete appliance for residential\r\n deleteApplianceforResidential() {\r\n const control = this.form.controls['appliancesforResidential'];\r\n if (this.selectedIDsforResidential.length === 0) {\r\n swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2);\r\n }\r\n this.selectedIDsforResidential.sort((a, b) => b - a);\r\n this.selectedIDsforResidential.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountR = true;\r\n }\r\n\r\n this.selectedIDsforResidential = [];\r\n }\r\n\r\n selectIDforResidential(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforResidential.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforResidential.indexOf(id);\r\n this.selectedIDsforResidential.splice(index, 1);\r\n }\r\n }\r\n\r\n // used to autopopulate the BTU value when appliance is selected\r\n onApplianceSelected(item: any, appArr: FormGroup) {\r\n appArr.controls['defaultValue'].reset(null);\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n if (item['itemName'].toUpperCase() === this.constantsSvc.otherAppliance) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else if ((item['itemName'].toUpperCase() === this.constantsSvc.poolHeater) ||\r\n (item['itemName'].toUpperCase() === this.constantsSvc.standbyGenerator)) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n } else {\r\n\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n const homeSqFt = this.form.controls['residentialHomeSqFt'].value;\r\n const requestType = item.usageType.toUpperCase() ==='RESIDENTIAL' ? 'RES':'COMM';\r\n \r\n const loadValue = this.lookupSvc.wrLoadArmLkp.filter(load => \r\n load.loadTypeCode === item.id && load.resiComm === requestType &&\r\n ((load.minSqFTG === null || load.minSqFTG <= homeSqFt) &&\r\n (load.maxSqFTG === null || load.maxSqFTG >= homeSqFt))\r\n );\r\n\r\n if(loadValue.length > 0)\r\n {\r\n appArr.controls['defaultValue'].setValue(loadValue[0]['itemName']);\r\n }\r\n \r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n // used to autopopulate the BTU value when appliance is selected\r\n onApplianceSelectedCom(eve: any, appArr: FormGroup) {\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.updateValueAndValidity();\r\n\r\n if (eve['itemName'] === this.constantsSvc.otherAppliance) {\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n } else if (eve['itemName'] === this.constantsSvc.poolHeater || eve['itemName'] === this.constantsSvc.standbyGenerator) {\r\n this.btuLoadVal1 = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n } else {\r\n this.btuLoadVal1 = this.constantsSvc.btuLoad;\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbGljYW50L2NvbXBvbmVudHMvcHJlbWlzZS9wcmVtaXNlLmNvbXBvbmVudC5jc3MifQ== */\"","import {Component, OnInit, HostListener} from '@angular/core';\r\nimport {MultistepsService} from '@app/modules/applicant/base';\r\nimport {\r\n SessionService,\r\n StepsIdEnum,\r\n RequestTypesEnum,\r\n LookupsService,\r\n BannerEnum,\r\n ConstantsService\r\n} from '@app/base/core';\r\nimport {FormGroup} from '@angular/forms';\r\nimport {CanComponentDeactivate} from '@app/base/shared';\r\nimport {ActivatedRouteSnapshot, RouterStateSnapshot} from '@angular/router';\r\nimport {DaterangepickerConfig} from 'ng2-daterangepicker';\r\nimport {AlertService} from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-premise',\r\n templateUrl: './premise.component.html',\r\n styleUrls: ['./premise.component.css']\r\n})\r\nexport class PremiseComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n typeForm: FormGroup;\r\n alertMsg: any = [];\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantSvc.changes;\r\n }\r\n\r\n constructor(\r\n public wizardSvc: MultistepsService, public lookupSvc: LookupsService,\r\n public sessionSvc: SessionService, public alertService: AlertService,\r\n private daterangepickerOptions: DaterangepickerConfig,\r\n public constantSvc: ConstantsService\r\n ) {\r\n this.daterangepickerOptions.skipCSS = true;\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.PREMISE);\r\n }\r\n\r\n ngOnInit() {\r\n // Loads common Lookups\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n\r\n this.typeForm = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n\r\n // TODO: DSS: rewrite due to question16 being undefined on residential flows - BT 3/6/24\r\n // loading Banner message\r\n if (this.typeForm.controls !== undefined && this.typeForm.controls['question16']) {\r\n const isCommercial = this.typeForm.controls['question16'].value || '';\r\n\r\n if (val && (isCommercial.toLowerCase() === this.requestTypeEnum.Commercial.toLowerCase()\r\n || isCommercial.toLowerCase() === this.requestTypeEnum.Industrial.toLowerCase())) {\r\n\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Premise Details Business'\r\n ));\r\n } else if (val && (isCommercial.toLowerCase().contains(this.requestTypeEnum.MixedUse.toLowerCase()))) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Premise Details Mixed'\r\n ));\r\n } else {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Premise Details'));\r\n }\r\n }\r\n this.alertService.info(this.alertMsg.message);\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n }\r\n\r\n next() {\r\n this.wizardSvc.nextStep();\r\n } // Navigates to next page\r\n\r\n back() {\r\n this.wizardSvc.previousStep();\r\n } // Navigates to previous page\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n }\r\n}\r\n","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, LookupsService, CompaniesEnum,\r\n LimitlessUiService, ConstantsService, RequestTypesEnum } from '@app/base/core';\r\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'residential-premise',\r\n templateUrl: './residential.premise.component.html',\r\n})\r\nexport class ResidentialPremiseComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n requestTypesEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n selectedIDsforResidential: any[] = [];\r\n deliveryPressOthersResidential = false;\r\n applianceCountR = true;\r\n public btuLoadVal = 'BTU Load Value (Optional)';\r\n typeform: FormGroup;\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, private constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService, public lookupSvc: LookupsService, public limitlessSvc: LimitlessUiService) {\r\n\r\n }\r\n ngOnInit() {\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n this.typeform = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n\r\n // To Set the Status Construction Field value based on the type question response.\r\n if (this.typeform.controls['question5'].value === this.constantsSvc.Yes) {\r\n this.form.controls['residentialStatusofConstruction'].setValidators(Validators.required);\r\n this.form.updateValueAndValidity();\r\n } else {\r\n this.form.controls['residentialStatusofConstruction'].clearValidators();\r\n this.form.updateValueAndValidity();\r\n }\r\n \r\n //To disable/enable \"Marketer of Choice\" field based on form load\r\n if (this.form.controls['marketerChosen'].value === this.constantsSvc.Yes) {\r\n this.form.controls['marketerChoice'].enable();\r\n }\r\n else if (this.form.controls['marketerChosen'].value === this.constantsSvc.No) {\r\n this.form.controls['marketerChoice'].disable();\r\n }\r\n else {\r\n this.form.controls['marketerChoice'].disable();\r\n }\r\n \r\n\r\n if (isNullOrUndefined(this.form.controls['residentialDeliveryPressure'].value)) {\r\n this.form.patchValue({\r\n residentialDeliveryPressure: this.lookupSvc.defaultResidentialPressure.lookupValues[0],\r\n });\r\n }\r\n\r\n if (this.sessionSvc.paramLdc === this.companiesEnum.FL) {\r\n this.form.controls['residentialPropertyOwner'].setValidators(Validators.required);\r\n }\r\n if (this.sessionSvc.paramLdc === this.companiesEnum.GA && this.wizardSvc.paramRequestType.toUpperCase() === this.requestTypesEnum.Residential) {\r\n this.form.controls['marketerChosen'].setValidators(Validators.required);\r\n }\r\n\r\n if ((this.form.controls['residentialDeliveryPressure'].value &&\r\n this.form.controls['residentialDeliveryPressure'].value['itemName'].toUpperCase() === this.constantsSvc.other) ||\r\n this.form.controls['residentialDeliveryPressureOthers'].value !== ''\r\n && !isNullOrUndefined(this.form.controls['residentialDeliveryPressureOthers'].value)) {\r\n this.deliveryPressOthersResidential = true;\r\n } else {\r\n this.deliveryPressOthersResidential = false;\r\n this.form.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['residentialDeliveryPressureOthers'].updateValueAndValidity();\r\n }\r\n\r\n const formArray = this.form.controls['appliancesforResidential'];\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n\r\n }\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) { return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n// To Add Appliances for Residential Premise\r\n addAppliancesforResidential() {\r\n const formArray = this.form.controls['appliancesforResidential'];\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(false)\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n }\r\n // Delete Appliances of Residential Premise\r\n deleteApplianceforResidential() {\r\n const control = this.form.controls['appliancesforResidential'];\r\n if (this.selectedIDsforResidential.length === 0) { swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2); }\r\n this.selectedIDsforResidential.sort((a, b) => b - a);\r\n this.selectedIDsforResidential.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountR = true;\r\n }\r\n this.selectedIDsforResidential = [];\r\n }\r\n// selected ids for deletion\r\n selectIDforResidential(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforResidential.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforResidential.indexOf(id);\r\n this.selectedIDsforResidential.splice(index, 1);\r\n }\r\n }\r\n\r\n// Selection of type of delivery pressure required\r\n onItemSelect(eve: any) {\r\n\r\n if (isNullOrUndefined(eve)) {\r\n this.form.controls['residentialDeliveryPressureOthers'].reset('');\r\n this.form.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n this.form.updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n } else if (eve.itemName.toUpperCase() === this.constantsSvc.other) {\r\n this.deliveryPressOthersResidential = true;\r\n this.form.controls['residentialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n this.form.controls['residentialDeliveryPressureOthers'].reset('');\r\n this.form.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n this.form.controls['residentialDeliveryPressureOthers'].updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n this.form.updateValueAndValidity();\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n // getcontrolvalue is for getting the \"Have you chosen a Marketer\" selected value\r\n getControlValue(controlName: string) { return this.form.get(controlName).value; }\r\n\r\n //Method for \"Have you chosen a Marketer\" change\r\n onMarketerChosenSelected(eve: any) {\r\n if (isNullOrUndefined(eve)) {\r\n this.form.controls['marketerChoice'].disable();\r\n this.form.controls['marketerChoice'].reset(null);\r\n }\r\n else if (eve === this.constantsSvc.Yes) {\r\n this.form.controls['marketerChoice'].enable();\r\n this.lookupSvc.MarketerOfChoice = this.lookupSvc.MarketerOfChoice.filter(x => x.itemName.toUpperCase() !== 'UNDECIDED');\r\n this.form.controls['marketerChoice'].reset(null);\r\n }\r\n else if(eve === this.constantsSvc.No) {\r\n this.form.patchValue({\r\n marketerChoice : this.lookupSvc.MarketerOfChoiceUndecided.find(x => x.itemName.toUpperCase() === 'UNDECIDED')\r\n });\r\n this.form.controls['marketerChoice'].disable();\r\n this.lookupSvc.MarketerOfChoice = this.lookupSvc.MarketerOfChoiceUndecided;\r\n }\r\n else {\r\n this.form.controls['marketerChoice'].disable();\r\n this.form.controls['marketerChoice'].reset(null);\r\n }\r\n }\r\n\r\n// selection of Appliance and getting BTU Load value\r\n onApplianceSelected(item: any, appArr: FormGroup) {\r\n appArr.controls['defaultValue'].reset(null);\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n if (item['itemName'].toUpperCase() === this.constantsSvc.other) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else if ((item['itemName'].toUpperCase() === this.constantsSvc.poolHeater) ||\r\n (item['itemName'].toUpperCase() === this.constantsSvc.standbyGenerator2)) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n } else {\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n const homeSqFt = this.form.controls['residentialHomeSqFt'].value;\r\n const requestType = item.usageType.toUpperCase() ==='RESIDENTIAL' ? 'RES':'COMM';\r\n \r\n const loadValue = this.lookupSvc.wrLoadArmLkp.filter(load => \r\n load.loadTypeCode === item.id && load.resiComm === requestType &&\r\n ((load.minSqFTG === null || load.minSqFTG <= homeSqFt) &&\r\n (load.maxSqFTG === null || load.maxSqFTG >= homeSqFt))\r\n );\r\n\r\n if(loadValue.length > 0)\r\n {\r\n appArr.controls['defaultValue'].setValue(loadValue[0]['itemName']);\r\n }\r\n\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n}\r\n","export default \".heading_margin {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n:host>>>.panel-group-control.panel-group-control-right .panel-title>a.heading-elements-toggle:before {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host>>>.panel-group-control.panel-group-control-right .panel-title>a.heading-elements-toggle {\\r\\n margin-right: 25px;\\r\\n padding-right: 0;\\r\\n}\\r\\n\\r\\n@media (min-width:769px) {\\r\\n .mr-30 {\\r\\n margin-right: 30px;\\r\\n }\\r\\n\\r\\n :host>>>.panel-group-control.panel-group-control-right .panel-title>a.heading-elements-toggle {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n.even {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.odd {\\r\\n background-color: #f5f5f5;\\r\\n border-top: 1px dashed #ddd;\\r\\n}\\r\\n\\r\\np {\\r\\n margin: 0 0 5px;\\r\\n}\\r\\n\\r\\n.scroll-message{\\r\\n color: #000;\\r\\n padding: 0 20px;\\r\\n}\\r\\n\\r\\n@media (min-width:1000px) {\\r\\n .mobile-ipad-only-scroll{\\r\\n display: none\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n@media (min-width:570px) {\\r\\n .mobile-only-scroll{\\r\\n display: none\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 600px) {\\r\\n\\r\\n #card table {\\r\\n border: 0;\\r\\n table-layout: fixed;\\r\\n }\\r\\n\\r\\n #card table thead {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n #card table tr {\\r\\n margin-bottom: 20px;\\r\\n /*display: block;\\r\\n border-bottom: 2px solid #ddd;\\r\\n box-shadow: 2px 2px 1px #dadada;*/\\r\\n }\\r\\n\\r\\n #card table tr:nth-child(even) {\\r\\n background-color: #f2f2f2\\r\\n }\\r\\n\\r\\n #card table td {\\r\\n display: block;\\r\\n text-align: right;\\r\\n font-size: 9px;\\r\\n border: none !important;\\r\\n }\\r\\n\\r\\n #card table td:last-child {\\r\\n border-bottom: 0;\\r\\n }\\r\\n\\r\\n #card table td::before {\\r\\n content: attr(data-label);\\r\\n float: left;\\r\\n text-transform: uppercase;\\r\\n font-weight: bold;\\r\\n }\\r\\n\\r\\n #card tbody {\\r\\n line-height: 0 !important;\\r\\n }\\r\\n\\r\\n\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 320px) {\\r\\n\\r\\n #card table td {\\r\\n font-size: 8px;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBsaWNhbnQvY29tcG9uZW50cy9yZXZpZXcvcmV2aWV3LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0U7SUFDRSxrQkFBa0I7RUFDcEI7O0VBRUE7SUFDRSxhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QiwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsV0FBVztFQUNYLGVBQWU7QUFDakI7O0FBRUE7RUFDRTtJQUNFO0VBQ0Y7O0FBRUY7O0FBQ0E7RUFDRTtJQUNFO0VBQ0Y7O0FBRUY7O0FBRUE7O0VBRUU7SUFDRSxTQUFTO0lBQ1QsbUJBQW1CO0VBQ3JCOztJQUVFO01BQ0UsYUFBYTtJQUNmOztJQUVBO01BQ0UsbUJBQW1CO01BQ25COzt1Q0FFaUM7SUFDbkM7O0VBRUY7SUFDRTtFQUNGOztJQUVFO01BQ0UsY0FBYztNQUNkLGlCQUFpQjtNQUNqQixjQUFjO01BQ2QsdUJBQXVCO0lBQ3pCOztNQUVFO1FBQ0UsZ0JBQWdCO01BQ2xCOztNQUVBO1FBQ0UseUJBQXlCO1FBQ3pCLFdBQVc7UUFDWCx5QkFBeUI7UUFDekIsaUJBQWlCO01BQ25COztFQUVKO0lBQ0UseUJBQXlCO0VBQzNCOzs7QUFHRjs7QUFFQTs7RUFFRTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbGljYW50L2NvbXBvbmVudHMvcmV2aWV3L3Jldmlldy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRpbmdfbWFyZ2luIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbjpob3N0Pj4+LnBhbmVsLWdyb3VwLWNvbnRyb2wucGFuZWwtZ3JvdXAtY29udHJvbC1yaWdodCAucGFuZWwtdGl0bGU+YS5oZWFkaW5nLWVsZW1lbnRzLXRvZ2dsZTpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbjpob3N0Pj4+LnBhbmVsLWdyb3VwLWNvbnRyb2wucGFuZWwtZ3JvdXAtY29udHJvbC1yaWdodCAucGFuZWwtdGl0bGU+YS5oZWFkaW5nLWVsZW1lbnRzLXRvZ2dsZSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjc2OXB4KSB7XHJcbiAgLm1yLTMwIHtcclxuICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICB9XHJcblxyXG4gIDpob3N0Pj4+LnBhbmVsLWdyb3VwLWNvbnRyb2wucGFuZWwtZ3JvdXAtY29udHJvbC1yaWdodCAucGFuZWwtdGl0bGU+YS5oZWFkaW5nLWVsZW1lbnRzLXRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmV2ZW4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5vZGQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjZGRkO1xyXG59XHJcblxyXG5wIHtcclxuICBtYXJnaW46IDAgMCA1cHg7XHJcbn1cclxuXHJcbi5zY3JvbGwtbWVzc2FnZXtcclxuICBjb2xvcjogIzAwMDtcclxuICBwYWRkaW5nOiAwIDIwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjEwMDBweCkge1xyXG4gIC5tb2JpbGUtaXBhZC1vbmx5LXNjcm9sbHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxuICB9XHJcblxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOjU3MHB4KSB7XHJcbiAgLm1vYmlsZS1vbmx5LXNjcm9sbHtcclxuICAgIGRpc3BsYXk6IG5vbmVcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG5cclxuICAjY2FyZCB0YWJsZSB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gIH1cclxuXHJcbiAgICAjY2FyZCB0YWJsZSB0aGVhZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI2NhcmQgdGFibGUgdHIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAvKmRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2RkZDtcclxuICAgICAgYm94LXNoYWRvdzogMnB4IDJweCAxcHggI2RhZGFkYTsqL1xyXG4gICAgfVxyXG5cclxuICAjY2FyZCB0YWJsZSB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMlxyXG4gIH1cclxuXHJcbiAgICAjY2FyZCB0YWJsZSB0ZCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICAgI2NhcmQgdGFibGUgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI2NhcmQgdGFibGUgdGQ6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcblxyXG4gICNjYXJkIHRib2R5IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XHJcblxyXG4gICNjYXJkIHRhYmxlIHRkIHtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gIH1cclxufSJdfQ== */\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, StepsRouteEnum, CompaniesEnum,\r\n LookupsService, ApplicantMessageEnum, StepsCodeEnum, ConstantsService} from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-review',\r\n templateUrl: './review.component.html',\r\n styleUrls: ['./review.component.css']\r\n})\r\nexport class ReviewComponent implements OnInit, CanComponentDeactivate {\r\n\r\n form: any;\r\n addressForm: any;\r\n informationForm: any;\r\n premiseForm: any;\r\n typeForm: FormGroup;\r\n\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n stepsCodeEnum: typeof StepsCodeEnum = StepsCodeEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n stepsRouteEnum: typeof StepsRouteEnum = StepsRouteEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n alertMsg: any = [];\r\n applicantMessageEnum: typeof ApplicantMessageEnum = ApplicantMessageEnum;\r\n message = '';\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantSvc.changes;\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, public lookupSvc: LookupsService,\r\n\r\n public sessionSvc: SessionService,\r\n public alertService: AlertService, public constantSvc: ConstantsService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.REVIEW);\r\n }\r\n ngOnInit() {\r\n // Load common lookups\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Banner messages for Review page\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Review'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.REVIEW).form;\r\n this.typeForm = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.addressForm = this.wizardSvc.getStepById(this.stepsIdEnum.ADDRESSES).form;\r\n this.informationForm = this.wizardSvc.getStepById(this.stepsIdEnum.INFORMATION).form;\r\n this.premiseForm = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n if (this.wizardSvc.duplicatedRequest) {\r\n const msg = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.wizardSvc.paramApplicantMessage.toUpperCase() && x.application === 'GRE');\r\n this.message = msg ? msg.message : 'NA';\r\n }\r\n }\r\n next() { this.wizardSvc.nextStep(); } // Navigates to Next page\r\n back() { this.wizardSvc.previousStep(); } // Navigates to Previous page\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n // Type of Residential delivery pressure\r\n residentialDeliveryPressure() {\r\n return !this.premiseForm.controls['residentialDeliveryPressure'].value['itemName'] ? '' :\r\n (this.premiseForm.controls['residentialDeliveryPressure'].value['itemName']\r\n === 'Don\\'t Know' ? 'Dont\\'t Know, Default Delivery Pressure is ' +\r\n this.lookupSvc.defaultResidentialPressure.lookupValues[0]['itemName'] :\r\n this.premiseForm.controls['residentialDeliveryPressure'].value['itemName']);\r\n }\r\n // Type of Commercial delivery pressure\r\n// Added a comment for testing\r\n commercialDeliveryPressure() {\r\n return !this.premiseForm.controls['commercialDeliveryPressure'].value['itemName'] ? '' :\r\n (this.premiseForm.controls['commercialDeliveryPressure'].value['itemName']\r\n === 'Don\\'t Know' ? 'Dont\\'t Know, Default Delivery Pressure is ' +\r\n this.lookupSvc.defaultCommercialPressure.lookupValues[0]['itemName'] :\r\n this.premiseForm.controls['commercialDeliveryPressure'].value['itemName']);\r\n }\r\n}\r\n","export default \":host>>>.form-group>label:not(.radio-inline):not(.error) {\\r\\n font-size: 15px !important;\\r\\n color: #002c3f !important;\\r\\n margin: 10px 0px !important;\\r\\n}\\r\\n.anchorlink_colorChange { color: red; }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBsaWNhbnQvY29tcG9uZW50cy90eXBlL3R5cGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBCQUEwQjtFQUMxQix5QkFBeUI7RUFDekIsMkJBQTJCO0FBQzdCO0FBQ0EsMEJBQTBCLFVBQVUsRUFBRSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbGljYW50L2NvbXBvbmVudHMvdHlwZS90eXBlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdD4+Pi5mb3JtLWdyb3VwPmxhYmVsOm5vdCgucmFkaW8taW5saW5lKTpub3QoLmVycm9yKSB7XHJcbiAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMwMDJjM2YgIWltcG9ydGFudDtcclxuICBtYXJnaW46IDEwcHggMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmFuY2hvcmxpbmtfY29sb3JDaGFuZ2UgeyBjb2xvcjogcmVkOyB9Il19 */\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/applicant/base';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, ApplicantMessageEnum, LookupsService, ConstantsService, CompaniesEnum, EnvironmentService } from '@app/base/core';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-type',\r\n templateUrl: './type.component.html',\r\n styleUrls: ['./type.component.css']\r\n})\r\nexport class TypeComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n requestType: string;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypesEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n alertMsg: any = [];\r\n applicantMessageEnum: typeof ApplicantMessageEnum = ApplicantMessageEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n builderFirstUrl: any;\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantSvc.changes;\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, public sessionSvc: SessionService, public environmentSvc: EnvironmentService,\r\n public lookupSvc: LookupsService, private alertService: AlertService, public constantSvc: ConstantsService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.TYPE);\r\n }\r\n\r\n // used to subscribe to services and call methods to initiate functionality\r\n ngOnInit() {\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Type'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.builderFirstUrl = this.environmentSvc.builderFirstURL;\r\n\r\n this.setRequiredValidator(['question62']);\r\n \r\n }\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n\r\n getControlValue(controlName: string) { return this.form.get(controlName).value; }\r\n setControlNull(args: any[]) { args.forEach(arg => { this.form.controls[arg].patchValue(null); }); }\r\n clearValidators(args: any[]) {\r\n args.forEach(arg => {\r\n this.form.controls[arg].clearValidators();\r\n this.form.controls[arg].updateValueAndValidity();\r\n }); }\r\n setRequiredValidator(args: any[]) { args.forEach(arg => {\r\n this.form.controls[arg].setValidators([Validators.required]);\r\n this.form.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n\r\n ldcCheck(): boolean {\r\n return this.sessionSvc.paramLdc === this.companiesEnum.GA;\r\n }\r\n\r\n // used to put up questionary for user\r\n onQuestionCheck(control) {\r\n switch (control.controlName) {\r\n case 'question62': \r\n if (this.wizardSvc.paramRequestType.toUpperCase() === this.requestTypesEnum.Residential.toUpperCase()) {\r\n this.setControlNull(['question1', 'question2', 'question3', 'question4', 'question5', 'question6', 'question7', 'question40', 'question60']);\r\n if (control.value === this.constantSvc.Yes) {\r\n this.setRequiredValidator(['question1']);\r\n }\r\n if (control.value === this.constantSvc.No) {\r\n this.setRequiredValidator(['question1']);\r\n }\r\n this.clearValidators(['question2', 'question3', 'question4', 'question5', 'question6', 'question7']);\r\n }\r\n else if (this.wizardSvc.paramRequestType.toUpperCase() === this.requestTypesEnum.Commercial.toUpperCase()) {\r\n this.setControlNull(['question16','question17', 'question18', 'question19', 'question20', 'question21']);\r\n if (control.value === this.constantSvc.Yes) {\r\n this.setRequiredValidator(['question16']);\r\n }\r\n if (control.value === this.constantSvc.No) {\r\n this.setRequiredValidator(['question16']);\r\n }\r\n this.clearValidators(['question17','question18', 'question19', 'question20', 'question21']);\r\n }\r\n break;\r\n\r\n case 'question1': // Residential\r\n this.setControlNull(['question2', 'question3', 'question4', 'question5', 'question6', 'question7', 'question40', 'question60']);\r\n if (control.value === this.constantSvc.residentialType) {\r\n this.setRequiredValidator(['question2']);\r\n this.clearValidators(['question40']);\r\n this.clearValidators(['question60']);\r\n } else {\r\n this.setRequiredValidator(['question40']);\r\n this.clearValidators(['question2']);\r\n }\r\n this.clearValidators(['question3', 'question4', 'question5', 'question6', 'question7']);\r\n\r\n break;\r\n case 'question2':\r\n this.setControlNull(['question3', 'question4', 'question5', 'question6', 'question7', 'question40', 'question60']);\r\n if (control.value === this.constantSvc.Yes) {\r\n this.setRequiredValidator(['question3']);\r\n this.clearValidators(['question5']);\r\n }\r\n if (control.value === this.constantSvc.No) {\r\n this.setRequiredValidator(['question5']);\r\n this.clearValidators(['question3']);\r\n }\r\n this.clearValidators(['question4', 'question6', 'question7', 'question40', 'question60']);\r\n break;\r\n case 'question3':\r\n this.setControlNull(['question4', 'question5', 'question6', 'question7', 'question40', 'question60']);\r\n this.clearValidators(['question4', 'question5', 'question6', 'question7', 'question40', 'question60']);\r\n if (control.value === this.constantSvc.No) { this.setRequiredValidator(['question4']); }\r\n if (control.value === this.constantSvc.Yes) {\r\n this.clearValidators(['question4']);\r\n this.setControlNull(['question4']);\r\n }\r\n break;\r\n case 'question4':\r\n this.setControlNull(['question5', 'question6', 'question7', 'question40', 'question60']);\r\n this.clearValidators(['question5', 'question6', 'question7', 'question40', 'question60']);\r\n break;\r\n case 'question5':\r\n this.setControlNull(['question6', 'question7', 'question40', 'question60']);\r\n if (control.value === this.constantSvc.Yes) {\r\n this.setRequiredValidator(['question6']);\r\n this.clearValidators(['question7']);\r\n }\r\n if (control.value === this.constantSvc.No) {\r\n this.setRequiredValidator(['question6']);\r\n this.setRequiredValidator(['question7']);\r\n }\r\n this.clearValidators(['question40', 'question60']);\r\n break;\r\n case 'question6':\r\n case 'question7':\r\n this.setControlNull(['question40', 'question60']);\r\n this.clearValidators(['question40', 'question60']);\r\n break;\r\n case 'question40':\r\n if (control.value === this.constantSvc.No) {\r\n this.setRequiredValidator(['question60']);\r\n } else {\r\n this.setControlNull(['question60']);\r\n this.clearValidators(['question60']);\r\n }\r\n break;\r\n case 'question60':\r\n break;\r\n case 'question16': // Commercial\r\n this.setControlNull(['question17', 'question18', 'question19', 'question20', 'question21']);\r\n this.setRequiredValidator(['question17']);\r\n this.clearValidators(['question18', 'question19', 'question20', 'question21']);\r\n break;\r\n case 'question17':\r\n this.setControlNull(['question18', 'question19', 'question20', 'question21']);\r\n if (control.value === this.constantSvc.Yes) {\r\n this.setRequiredValidator(['question18']);\r\n this.clearValidators(['question20']);\r\n }\r\n if (control.value === this.constantSvc.No) {\r\n this.setRequiredValidator(['question20']);\r\n this.clearValidators(['question18']);\r\n }\r\n this.clearValidators(['question19', 'question21']);\r\n break;\r\n case 'question18':\r\n this.setControlNull(['question19', 'question20', 'question21']);\r\n if (control.value === this.constantSvc.Yes) {\r\n this.clearValidators(['question19']);\r\n this.setControlNull(['question19']);\r\n }\r\n if (control.value === this.constantSvc.No) { this.setRequiredValidator(['question19']); }\r\n break;\r\n case 'question19':\r\n this.setControlNull(['question20', 'question21']);\r\n break;\r\n case 'question20':\r\n this.clearValidators(['question21']);\r\n if (control.value === this.constantSvc.Yes) { this.setControlNull(['question21']); }\r\n if (control.value === this.constantSvc.No) { this.setRequiredValidator(['question21']); }\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n}\r\n","export * from '@app/modules/applicant/base';\r\nexport * from '@app/modules/applicant/components';\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { GridModule, PDFModule, ExcelModule } from '@progress/kendo-angular-grid';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\nimport { Daterangepicker } from 'ng2-daterangepicker';\r\nimport { AgmCoreModule } from '@agm/core';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { SharedModule } from '@app/shared/shared.module';\r\nimport { CanDeactivateGuard } from '@app/base/shared';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\n\r\n\r\nimport {\r\n BuilderComponent,\r\n RequestComponent,\r\n HomeComponent,\r\n AddressesComponent,\r\n AgreementsComponent,\r\n InformationComponent,\r\n LocationComponent,\r\n LotComponent,\r\n PremiseComponent,\r\n CommercialPremiseComponent,\r\n ResidentialPremiseComponent,\r\n MixedPremiseComponent,\r\n SubDivisionPremiseComponent,\r\n NewRequestComponent,\r\n NewUserComponent,\r\n AcknowledgeComponent,\r\n MainRequestComponent,\r\n SubdivisionRequestComponent,\r\n ServiceRequestComponent,\r\n ServiceLotRequestComponent,\r\n ServiceActivateRequestComponent,\r\n ServiceNewRequestComponent,\r\n ReviewComponent,\r\n SubsidiaryComponent,\r\n SubsidiarySearchfilterPipe,\r\n TypeComponent,\r\n LetterComponent,\r\n RequestLotComponent,\r\n BcaAgreementsComponent,\r\n ContractComponent,\r\n AcceptContractComponent,\r\n BuilderService\r\n} from '@app/modules/builder';\r\nimport { PaymentComponent, AddSubsidiaryComponent } from '../components';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'request/new',\r\n component: NewRequestComponent,\r\n children: [\r\n { path: 'location', component: LocationComponent, canDeactivate: [CanDeactivateGuard], data:\r\n { title: 'Builder FIRST | Service Address' } },\r\n { path: 'type', component: TypeComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Builder FIRST | Request Type' } },\r\n { path: 'information', component: InformationComponent, canDeactivate: [CanDeactivateGuard], data:\r\n { title: 'Builder FIRST | About Applicant' } },\r\n { path: 'addresses', component: AddressesComponent, canDeactivate: [CanDeactivateGuard], data:\r\n { title: 'Builder FIRST | Site Details' } },\r\n { path: 'premise', component: PremiseComponent, canDeactivate: [CanDeactivateGuard], data: { title: 'Builder FIRST | Premise' } },\r\n { path: 'review', component: ReviewComponent, canDeactivate: [CanDeactivateGuard], data: { title:\r\n 'Builder FIRST | Review Request' } },\r\n { path: 'acknowledge', component: AcknowledgeComponent, canDeactivate: [CanDeactivateGuard], data:\r\n { title: 'Builder FIRST | Acknowledge' } }\r\n ]\r\n },\r\n { path: 'requestlot/:id/:navFlag', component: RequestLotComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Request Additional Lots' }},\r\n\r\n { path: 'lot/new/:id/:builderId/:navFlag', component: LotComponent,\r\n canDeactivate: [CanDeactivateGuard], data: { title: 'Builder FIRST | Create New Lot' } },\r\n { path: 'contract/:userr/:id', component: ContractComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Home' } },\r\n { path: 'contract/:user', component: ContractComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Home' } },\r\n { path: 'contractaccept/:id/:requestType', component: AcceptContractComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Accept Contract' }},\r\n { path: 'contract', component: ContractComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Home' } },\r\n { path: 'contractaccept', component: AcceptContractComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Accept Contract' } },\r\n { path: 'payment/:user', component: PaymentComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Payment' } },\r\n { path: 'letter', component: LetterComponent, canDeactivate: [CanDeactivateGuard], data:\r\n { title: 'Builder FIRST | Gas Availability Letter' } },\r\n { path: 'payment', component: PaymentComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Payment' } },\r\n { path: 'payment/:user/:id', component: PaymentComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Contract | Payment' } },\r\n\r\n { path: 'subsidiaries', component: SubsidiaryComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Subsidiaries' },\r\n children: [\r\n { path: 'add-subsidiary/:id', component: AddSubsidiaryComponent,\r\n canDeactivate: [CanDeactivateGuard], data: { title: 'Builder FIRST | Add Subsidiary' }, outlet: 'add-subsidiary'}\r\n ]\r\n },\r\n { path: 'new-user', component: NewUserComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Add New User' } },\r\n { path: 'agreements', component: AgreementsComponent,\r\n canDeactivate: [CanDeactivateGuard], data: { title: 'Builder FIRST | Home' } },\r\n {\r\n path: '',\r\n component: BuilderComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'home' },\r\n { path: 'home', component: HomeComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Home' } },\r\n {\r\n path: 'request/:id',\r\n component: RequestComponent,\r\n children: [\r\n { path: 'subdivision', component: SubdivisionRequestComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Home' } },\r\n { path: 'main', component: MainRequestComponent,\r\n canDeactivate: [CanDeactivateGuard], data: { title: 'Builder FIRST | Home' } },\r\n { path: 'service', component: ServiceRequestComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Home' },\r\n children: [\r\n { path: 'details/:id', component: ServiceLotRequestComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Lot Details' }, outlet: 'lot-details'},\r\n { path: 'activate/:id', component: ServiceActivateRequestComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Activate Service' }, outlet: 'activate-service' },\r\n { path: 'deactivate/:id', component: ServiceActivateRequestComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Deactivate Service' }, outlet: 'activate-service' },\r\n { path: 'new/:id', component: ServiceNewRequestComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Request Service' }, outlet: 'request-service' }\r\n ]\r\n },\r\n { path: 'bca-agreements', component: BcaAgreementsComponent, canDeactivate: [CanDeactivateGuard],\r\n data: { title: 'Builder FIRST | Home' } },\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n// @NgModule ({\r\n// imports: [HttpClientModule],\r\n// providers: [{ provide: HTTP_INTERCEPTORS, useClass: InterceptorService, multi: true } ]\r\n// })\r\nexport class InterceptorModule { }\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n FormsModule,\r\n NgxPaginationModule,\r\n Daterangepicker,\r\n PDFModule,\r\n ReactiveFormsModule,\r\n DropDownsModule,\r\n GridModule,\r\n TextMaskModule,\r\n ExcelModule,\r\n // InterceptorModule,\r\n //LandingModule,\r\n\r\n AgmCoreModule.forRoot({\r\n apiKey: 'AIzaSyB07y6RxtlvdnrzAnBH-N0oPg2pjuyPpgo',\r\n libraries: ['places']\r\n }),\r\n RouterModule.forChild(routes)\r\n ],\r\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\r\n declarations: [\r\n BuilderComponent,\r\n HomeComponent,\r\n AddressesComponent,\r\n AgreementsComponent,\r\n AcknowledgeComponent,\r\n InformationComponent,\r\n LocationComponent,\r\n LotComponent,\r\n PremiseComponent,\r\n CommercialPremiseComponent,\r\n ResidentialPremiseComponent,\r\n MixedPremiseComponent,\r\n SubDivisionPremiseComponent,\r\n NewRequestComponent,\r\n RequestComponent,\r\n MainRequestComponent,\r\n SubdivisionRequestComponent,\r\n ServiceRequestComponent,\r\n AddSubsidiaryComponent,\r\n ServiceLotRequestComponent,\r\n ReviewComponent,\r\n NewUserComponent,\r\n SubsidiaryComponent,\r\n SubsidiarySearchfilterPipe,\r\n TypeComponent,\r\n LetterComponent,\r\n ServiceActivateRequestComponent,\r\n ServiceNewRequestComponent,\r\n RequestLotComponent,\r\n BcaAgreementsComponent,\r\n ContractComponent,\r\n AcceptContractComponent,\r\n PaymentComponent\r\n\r\n\r\n ],\r\n providers: [BuilderService]\r\n})\r\nexport class BuilderModule { }\r\n","export * from '@app/modules/builder/base/models';\r\nexport * from '@app/modules/builder/base/services';\r\nexport * from '@app/modules/builder/base/outlet/builder/builder.component';\r\nexport * from '@app/modules/builder/base/outlet/newrequest/newrequest.component';\r\n","export * from '@app/modules/builder/base/models/service.activation.model';\r\nexport * from '@app/modules/builder/base/models/meter.activate.model';\r\n"," export class MeterActivateModel { id: number;\r\n grId: string;\r\n meterNum: string;\r\n turnOn: string;\r\n requestedDate: Date;\r\n email: string;\r\n aliases: any;\r\n prefix: any;\r\n cornerLotNo: any;\r\n adjoinStreetName: any;\r\n phoneNo: any;\r\n extension: any;\r\n recCreatedBy: any;\r\n builderId: any;\r\n closestMainInterSectStr: any;\r\n streNameThroughFare: any;\r\n comments: any;\r\n marketerId: any;\r\n recCreatedDTTM: string;\r\n }\r\n","export class ServiceActivationRequestModel {\r\n gasMeterNumber: string;\r\n subdivision: string;\r\n meter: string;\r\n requestedDate: Date;\r\n emailAddress: string;\r\n reEnterEmailAddress: string;\r\n builderCompanyName: string;\r\n aliasName: string;\r\n streetNumber: string;\r\n streetNameThoroughfar: string;\r\n prefix: any;\r\n isCornorLot: string;\r\n adjoinStreetName: string;\r\n contactName: string;\r\n contactPhoneNumber: string;\r\n contactPhoneNumberExtension: string;\r\n alternatePhoneNumber: string;\r\n alternatePhoneNumberExtension: string;\r\n marketerValue: any;\r\n streetAddress: string;\r\n state: string;\r\n city: string;\r\n zipCode: string;\r\n specialNotes: string;\r\n closeMainIntrStr: string;\r\n directionPrefix: string;\r\n}\r\n","export default \".builder-banner {\\r\\n height: 200px;\\r\\n background-image: url(\\\"/assets/images/banners/subdivision.jpg\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n position: relative;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.builder-banner p {\\r\\n position: absolute;\\r\\n font-size: 20px;\\r\\n top: 50px;\\r\\n left: 60px;\\r\\n color: #FFF;\\r\\n padding: 5px 10px;\\r\\n background-color: rgba(38, 28, 28, 0.5);\\r\\n}\\r\\n\\r\\n.builder-banner h1 {\\r\\n position: absolute;\\r\\n top: 80px;\\r\\n color: #FFF;\\r\\n left: 60px;\\r\\n padding: 5px 10px;\\r\\n background-color: rgba(38, 28, 28, 0.5);\\r\\n}\\r\\n\\r\\n.panel.flexbox-builder>.panel-heading {\\r\\n background: #f5f5f5;\\r\\n border: 1px solid #e8e8e8;\\r\\n box-shadow: 0 1px 2px rgba(0, 0, 0, .05);\\r\\n}\\r\\n\\r\\n.nav-module {\\r\\n display: table;\\r\\n width: 100%;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.primary-menu {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.page-content .primary-selectors {\\r\\nborder: none;\\r\\nheight: 40px;\\r\\ndisplay: inline-table;\\r\\n/*width: 25%;\\r\\n display: table-cell;\\r\\n transition: all 0.5s ease;\\r\\n text-align: center;\\r\\n float: none;*/\\r\\ntransition: all 0.5s ease;\\r\\ntext-align: center;\\r\\nvertical-align: middle;\\r\\npadding: 10px;\\r\\n}\\r\\n\\r\\n.primary-selectors.active {\\r\\n background-color: #0277BD !important;\\r\\n}\\r\\n\\r\\n.primary-selectors a {\\r\\n display: table;\\r\\n text-align: center;\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n.primary-selectors.active i {\\r\\n color: rgb(179, 211, 54);\\r\\n}\\r\\n\\r\\n.primary-selectors i {\\r\\n margin: 0 auto;\\r\\n color: #0277BD;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.primary-selectors.active .label-home {\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1300px) {\\r\\n.width {\\r\\nwidth: 22%;\\r\\n}\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1190px) and (max-width: 1299px){\\r\\n .width {\\r\\n width: 20%;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (min-width: 1000px) and (max-width: 1189px){\\r\\n .width {\\r\\n width: 19.8%;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (max-width: 780px){\\r\\n.tab {\\r\\n padding-top: 70px;\\r\\n}\\r\\n }\\r\\n\\r\\n.padNav {\\r\\npadding: 10px;\\r\\n}\\r\\n\\r\\n.padNav-2 {\\r\\n padding: 5px;\\r\\n }\\r\\n\\r\\n.primary-selectors .label-home {\\r\\n border-color: transparent !important;\\r\\n background-color: transparent !important;\\r\\n display: table;\\r\\n font-size: 14px !important;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n border: 1px solid transparent;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 0.1px;\\r\\n line-height: 30px;\\r\\n transition: all 0.5s ease;\\r\\n /*width: 100px;*/\\r\\n width:auto;\\r\\n margin: 0 auto;\\r\\n float: left;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.padding {\\r\\npadding-top: 40px;\\r\\n}\\r\\n\\r\\n.new-request .label-home {\\r\\n display: inline-block;\\r\\n border-color: transparent !important;\\r\\n background-color: transparent !important;\\r\\n font-size: 11px !important;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n border: 1px solid transparent;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 0.1px;\\r\\n line-height: 30px;\\r\\n transition: all 0.5s ease;\\r\\n margin: 0 auto;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.panel {\\r\\n margin-bottom: 10px;\\r\\n background-color: #f5f5f5;\\r\\n color: #333333;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 0px;\\r\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n.content-container {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.tab-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n.primary-menu:before, .primary-menu:after {\\r\\ncontent: none !important;\\r\\ndisplay: block;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .pt-10 {\\r\\npadding-top: 8px!important;\\r\\n}\\r\\n\\r\\n.glyphicon-custom {\\r\\nfont-size: 55px !important;\\r\\nvertical-align: middle !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .label-home{\\r\\nline-height: 20px !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse {\\r\\nbackground-color: white !important;\\r\\nborder-color: white !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a {\\r\\n color: #0277BD !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a::-moz-selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a::selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover,\\r\\n.navbar-inverse .navbar-nav > .active > a:focus\\r\\n{\\r\\n background-color:transparent !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li{\\r\\n color: #0277BD !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li:focus {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li::-moz-selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li::selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > .active > li, .navbar-inverse .navbar-nav > .active > li:hover,\\r\\n.navbar-inverse .navbar-nav > .active > li:focus {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover,\\r\\n.navbar-inverse .navbar-nav > .active > a:focus {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.bca-menu-navbar\\r\\n{\\r\\nwidth:100%;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n.bca-menu-navbar {\\r\\n width: 98%;\\r\\n}\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 300px) and (max-width: 800px){\\r\\n .navbar-inverse .navbar-nav > li.active > a > span {\\r\\n font-size: 8px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li > a > span {\\r\\n font-size: 8px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li:hover > a > span {\\r\\n font-size: 8px !important;\\r\\n }\\r\\n .pl-20 {\\r\\n padding: 0px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li:focus {\\r\\n color: #b3d336 !important;\\r\\n background-color: transparent !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li.active, .navbar-inverse .navbar-nav > li.active,\\r\\n.navbar-inverse .navbar-nav > li.active{\\r\\ncolor: #b3d336 !important;\\r\\nbackground-color: transparent !important;\\r\\n}\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\\r\\n color: #b3d336 !important;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a::-moz-selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a::selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li::-moz-selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: transparent !important;\\r\\n\\r\\n}\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li::selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: transparent !important;\\r\\n\\r\\n}\\r\\n\\r\\n }\\r\\n\\r\\n@media only screen and (min-width: 1111px) and (max-width: 1200px){\\r\\n .navbar-inverse .navbar-nav > li.active > a > span {\\r\\n font-size: 7px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li > a > span {\\r\\n font-size: 7px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li:hover > a > span {\\r\\n font-size: 7px !important;\\r\\n }\\r\\n .pl-20 {\\r\\n padding: 0px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (min-width: 1201px){\\r\\n .navbar-inverse .navbar-nav > li.active > a > span {\\r\\n font-size: 9px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li > a > span {\\r\\n font-size: 9px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li:hover > a > span {\\r\\n font-size: 9px !important;\\r\\n }\\r\\n .pl-20 {\\r\\n padding: 0px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (min-width: 801px) and (max-width: 1110px){\\r\\n .navbar-inverse .navbar-nav > li.active > a > span {\\r\\n font-size: 8px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li > a > span {\\r\\n font-size: 8px !important;\\r\\n }\\r\\n .navbar-inverse .navbar-nav > li:hover > a > span {\\r\\n font-size: 8px !important;\\r\\n }\\r\\n .pl-20 {\\r\\n padding: 0px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n.primary-menu:before, .primary-menu:after {\\r\\n content: none !important;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.navbar{\\r\\nborder:0px !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a > span {\\r\\ncolor: white !important;\\r\\nfont-weight: 500;\\r\\npadding: 0;\\r\\nborder: 1px solid transparent;\\r\\ntext-transform: uppercase;\\r\\nletter-spacing: 0.1px;\\r\\nline-height: 30px;\\r\\ntransition: all 0.5s ease;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a > span {\\r\\ncolor: black !important;\\r\\nfont-weight: 500;\\r\\npadding: 0;\\r\\nborder: 1px solid transparent;\\r\\ntext-transform: uppercase;\\r\\nletter-spacing: 0.1px;\\r\\nline-height: 30px;\\r\\ntransition: all 0.5s ease;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover > a > span {\\r\\ncolor: white !important;\\r\\nfont-weight: 500;\\r\\npadding: 0;\\r\\nborder: 1px solid transparent;\\r\\ntext-transform: uppercase;\\r\\nletter-spacing: 0.1px;\\r\\nline-height: 30px;\\r\\ntransition: all 0.5s ease;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 600px) {\\r\\n .label {\\r\\n white-space: initial;\\r\\n }\\r\\n\\r\\n .panel {\\r\\n margin-right: -12px;\\r\\n }\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a, .navbar-inverse .navbar-nav > li.active > a:hover,\\r\\n.navbar-inverse .navbar-nav > li.active > a:focus {\\r\\nbackground-color: #0277BD !important;\\r\\ncolor: #b3d336 !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active, .navbar-inverse .navbar-nav > li.active,\\r\\n.navbar-inverse .navbar-nav > li.active{\\r\\nbackground-color: #0277BD !important;\\r\\ncolor: #b3d336 !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a > span, .navbar-inverse .navbar-nav > li.active > a > span:hover,\\r\\n.navbar-inverse .navbar-nav > li.active > a > span:focus {\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2Jhc2Uvb3V0bGV0L2J1aWxkZXIvYnVpbGRlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLCtEQUErRDtFQUMvRCw0QkFBNEI7RUFDNUIsc0JBQXNCO0VBQ3RCLDJCQUEyQjtFQUMzQixrQkFBa0I7RUFDbEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixTQUFTO0VBQ1QsVUFBVTtFQUNWLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsdUNBQXVDO0FBQ3pDOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxXQUFXO0VBQ1gsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQix1Q0FBdUM7QUFDekM7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIseUJBQXlCO0VBQ3pCLHdDQUF3QztBQUMxQzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0FBQ0EsWUFBWTtBQUNaLFlBQVk7QUFDWixxQkFBcUI7QUFDckI7Ozs7ZUFJZTtBQUNmLHlCQUF5QjtBQUN6QixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLGFBQWE7QUFDYjs7QUFFQTtFQUNFLG9DQUFvQztBQUN0Qzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxjQUFjO0VBQ2QsV0FBVztBQUNiOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTs7QUFDQTtFQUNFO0VBQ0EsVUFBVTtFQUNWO0VBQ0E7O0FBQ0E7SUFDRTtJQUNBLFlBQVk7SUFDWjtJQUNBOztBQUNBO0FBQ0o7RUFDRSxpQkFBaUI7QUFDbkI7SUFDSTs7QUFFSjtB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d0I7RUFDeEIsY0FBYztBQUNoQjs7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QixnQkFBZ0I7QUFDaEIsVUFBVTtBQUNWLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekIscUJBQXFCO0FBQ3JCLGlCQUFpQjtBQUNqQix5QkFBeUI7QUFDekI7O0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkIsZ0JBQWdCO0FBQ2hCLFVBQVU7QUFDViw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCLHFCQUFxQjtBQUNyQixpQkFBaUI7QUFDakIseUJBQXlCO0FBQ3pCOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCLGdCQUFnQjtBQUNoQixVQUFVO0FBQ1YsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCLHlCQUF5QjtBQUN6Qjs7QUFJQTtFQUNFO0lBQ0Usb0JBQW9CO0VBQ3RCOztFQUVBO0lBQ0UsbUJBQW1CO0VBQ3JCO0FBQ0Y7O0FBQ0E7O0FBRUEsb0NBQW9DO0FBQ3BDLHlCQUF5QjtBQUN6Qjs7QUFDQTs7QUFFQSxvQ0FBb0M7QUFDcEMseUJBQXlCO0FBQ3pCOztBQUNBOztFQUVFLHVCQUF1QjtBQUN6QiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9iYXNlL291dGxldC9idWlsZGVyL2J1aWxkZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5idWlsZGVyLWJhbm5lciB7XHJcbiAgaGVpZ2h0OiAyMDBweDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iYW5uZXJzL3N1YmRpdmlzaW9uLmpwZ1wiKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uYnVpbGRlci1iYW5uZXIgcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICB0b3A6IDUwcHg7XHJcbiAgbGVmdDogNjBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBwYWRkaW5nOiA1cHggMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM4LCAyOCwgMjgsIDAuNSk7XHJcbn1cclxuXHJcbi5idWlsZGVyLWJhbm5lciBoMSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogODBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBsZWZ0OiA2MHB4O1xyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzgsIDI4LCAyOCwgMC41KTtcclxufVxyXG5cclxuLnBhbmVsLmZsZXhib3gtYnVpbGRlcj4ucGFuZWwtaGVhZGluZyB7XHJcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU4O1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4wNSk7XHJcbn1cclxuXHJcbi5uYXYtbW9kdWxlIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4ucHJpbWFyeS1tZW51IHtcclxuICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbn1cclxuXHJcbi5wYWdlLWNvbnRlbnQgLnByaW1hcnktc2VsZWN0b3JzIHtcclxuYm9yZGVyOiBub25lO1xyXG5oZWlnaHQ6IDQwcHg7XHJcbmRpc3BsYXk6IGlubGluZS10YWJsZTtcclxuLyp3aWR0aDogMjUlO1xyXG4gZGlzcGxheTogdGFibGUtY2VsbDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmbG9hdDogbm9uZTsqL1xyXG50cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG50ZXh0LWFsaWduOiBjZW50ZXI7XHJcbnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbnBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5wcmltYXJ5LXNlbGVjdG9ycy5hY3RpdmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByaW1hcnktc2VsZWN0b3JzIGEge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnByaW1hcnktc2VsZWN0b3JzLmFjdGl2ZSBpIHtcclxuICBjb2xvcjogcmdiKDE3OSwgMjExLCA1NCk7XHJcbn1cclxuXHJcbi5wcmltYXJ5LXNlbGVjdG9ycyBpIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBjb2xvcjogIzAyNzdCRDtcclxuICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLnByaW1hcnktc2VsZWN0b3JzLmFjdGl2ZSAubGFiZWwtaG9tZSB7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTMwMHB4KSB7XHJcbi53aWR0aCB7XHJcbndpZHRoOiAyMiU7XHJcbn1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTBweCkgYW5kICAobWF4LXdpZHRoOiAxMjk5cHgpe1xyXG4gIC53aWR0aCB7XHJcbiAgd2lkdGg6IDIwJTtcclxuICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSBhbmQgIChtYXgtd2lkdGg6IDExODlweCl7XHJcbiAgICAud2lkdGgge1xyXG4gICAgd2lkdGg6IDE5LjglO1xyXG4gICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAgKG1heC13aWR0aDogNzgwcHgpe1xyXG4udGFiIHtcclxuICBwYWRkaW5nLXRvcDogNzBweDtcclxufVxyXG4gICAgfVxyXG5cclxuLnBhZE5hdiB7XHJcbnBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5wYWROYXYtMiB7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIH1cclxuXHJcbi5wcmltYXJ5LXNlbGVjdG9ycyAubGFiZWwtaG9tZSB7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgLyp3aWR0aDogMTAwcHg7Ki9cclxuICB3aWR0aDphdXRvO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4ucGFkZGluZyB7XHJcbnBhZGRpbmctdG9wOiA0MHB4O1xyXG59XHJcbi5uZXctcmVxdWVzdCAubGFiZWwtaG9tZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjFweDtcclxuICBsaW5lLWhlaWdodDogMzBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4ucGFuZWwge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICBjb2xvcjogIzMzMzMzMztcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuXHJcbi5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnRhYi1jb250ZW50IHtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG4ucHJpbWFyeS1tZW51OmJlZm9yZSwgLnByaW1hcnktbWVudTphZnRlciB7XHJcbmNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuZGlzcGxheTogYmxvY2s7XHJcbn1cclxuOmhvc3QgOjpuZy1kZWVwIC5wdC0xMCB7XHJcbnBhZGRpbmctdG9wOiA4cHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ2x5cGhpY29uLWN1c3RvbSB7XHJcbmZvbnQtc2l6ZTogNTVweCAhaW1wb3J0YW50O1xyXG52ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubGFiZWwtaG9tZXtcclxubGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdmJhci1pbnZlcnNlIHtcclxuYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuYm9yZGVyLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYSB7XHJcbiAgY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxufVxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7XHJcbiAgICBjb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNzdCRCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTo6c2VsZWN0aW9uIHtcclxuICAgIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzXHJcbntcclxuICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGl7XHJcbiAgY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxufVxyXG5cclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6Zm9jdXMge1xyXG4gICAgY29sb3I6ICNiM2QzMzYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaTo6c2VsZWN0aW9uIHtcclxuICAgIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gbGksIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBsaTpob3ZlcixcclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGxpOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcbi5iY2EtbWVudS1uYXZiYXJcclxue1xyXG53aWR0aDoxMDAlO1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuLmJjYS1tZW51LW5hdmJhciB7XHJcbiAgd2lkdGg6IDk4JTtcclxufVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwMHB4KSBhbmQgKG1heC13aWR0aDogODAwcHgpe1xyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuICB7XHJcbiAgICBmb250LXNpemU6IDhweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEgPiBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSA+IHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiA4cHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnBsLTIwIHtcclxuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6Zm9jdXMge1xyXG4gICAgY29sb3I6ICNiM2QzMzYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlLFxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmV7XHJcbmNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbmJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMge1xyXG4gIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxufVxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYTo6c2VsZWN0aW9uIHtcclxuICBjb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpOjpzZWxlY3Rpb24ge1xyXG4gIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbn1cclxuXHJcbiAgfVxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTExMXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KXtcclxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuICB7XHJcbiAgICAgIGZvbnQtc2l6ZTogN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEgPiBzcGFuIHtcclxuICAgICAgZm9udC1zaXplOiA3cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSA+IHNwYW4ge1xyXG4gICAgICBmb250LXNpemU6IDdweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnBsLTIwIHtcclxuICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCl7XHJcbiAgICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuICB7XHJcbiAgICAgICAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEgPiBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IDlweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSA+IHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLnBsLTIwIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSBhbmQgKG1heC13aWR0aDogMTExMHB4KXtcclxuICAgICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSA+IHNwYW4gIHtcclxuICAgICAgICBmb250LXNpemU6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYSA+IHNwYW4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhID4gc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICAucGwtMjAge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIH1cclxuLnByaW1hcnktbWVudTpiZWZvcmUsIC5wcmltYXJ5LW1lbnU6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4ubmF2YmFye1xyXG5ib3JkZXI6MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSA+IHNwYW4ge1xyXG5jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuZm9udC13ZWlnaHQ6IDUwMDtcclxucGFkZGluZzogMDtcclxuYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbmxldHRlci1zcGFjaW5nOiAwLjFweDtcclxubGluZS1oZWlnaHQ6IDMwcHg7XHJcbnRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhID4gc3BhbiB7XHJcbmNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG5mb250LXdlaWdodDogNTAwO1xyXG5wYWRkaW5nOiAwO1xyXG5ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxubGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xyXG5saW5lLWhlaWdodDogMzBweDtcclxudHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxufVxyXG5cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhID4gc3BhbiB7XHJcbmNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG5mb250LXdlaWdodDogNTAwO1xyXG5wYWRkaW5nOiAwO1xyXG5ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxudGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxubGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xyXG5saW5lLWhlaWdodDogMzBweDtcclxudHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxufVxyXG5cclxuXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgLmxhYmVsIHtcclxuICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xyXG4gIH1cclxuXHJcbiAgLnBhbmVsIHtcclxuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XHJcbiAgfVxyXG59XHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbmNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUsXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZXtcclxuYmFja2dyb3VuZC1jb2xvcjogIzAyNzdCRCAhaW1wb3J0YW50O1xyXG5jb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG59XHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gc3Bhbjpob3ZlcixcclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSA+IHNwYW46Zm9jdXMge1xyXG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuXHJcbiJdfQ== */\"","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { BuilderService } from '@app/modules/builder/base/services';\r\nimport { SessionService, AccountService, LookupsService, ConstantsService, EnvironmentService } from '@app/core/services';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { BuilderInfo, BuilderLoginAuditModel } from '@app/core/models';\r\nimport { DatePipe } from '@angular/common';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-builder',\r\n templateUrl: './builder.component.html',\r\n styleUrls: ['./builder.component.css'],\r\n // since builderservice was needed in create lot and request lot component, had to delcare in the builder module\r\n // providers: [BuilderService]\r\n})\r\nexport class BuilderComponent implements OnInit {\r\n public company: string;\r\n public userId: string;\r\n public email: string;\r\n public city: string;\r\n public builderInfo: BuilderInfo = {\r\n Admin: false,\r\n BuilderId: [],\r\n IsActive: '',\r\n subsidiaryId: [],\r\n CompanyName: '',\r\n subsidiaryList: [],\r\n CompanyAddress: {\r\n id: '',\r\n contactTypeCode: '',\r\n streetNumber: '',\r\n recUpdatedDate: '',\r\n recCreatedDate: '',\r\n recCreatedBy: '',\r\n recUpdatedBy: '',\r\n streetName: '',\r\n directionPrefix: '',\r\n directionSuffix: '',\r\n streetType: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n contactName2Extn: '',\r\n contactName1Phone: '',\r\n contactName1AreaCode: '',\r\n contactName2AreaCode: '',\r\n contactName2Phone: '',\r\n address2: '',\r\n unitNumber: ''\r\n },\r\n CompanyEmail: '',\r\n BuilderMapping: [{id: '', builderName: '', subsidiaryId: [], subsidiaryName: [], status: ''}]\r\n};\r\n public subsidaryList = [];\r\n public address1: string;\r\n public address2: string;\r\n public contactNumber: string;\r\n public state: string;\r\n public cityValues;\r\n public stateValues;\r\n public userName: string;\r\n public emailId: string;\r\n public builderLoginAudit: BuilderLoginAuditModel;\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n public session: SessionService,\r\n private http: BuilderService,\r\n public accountSvc: AccountService,\r\n private lookupSvc: LookupsService,\r\n public socoHttp: SocoHttpService,\r\n public constSvc: ConstantsService,\r\n private environment: EnvironmentService,\r\n private datePipe: DatePipe\r\n ) {}\r\n ngOnInit() {\r\n this.userName = this.accountSvc.account.user.username;\r\n this.emailId = this.accountSvc.account.user.email;\r\n this.builderLoginAudit = new BuilderLoginAuditModel;\r\n this.builderDataLoad();\r\n\r\n}\r\n\r\n // code to fetch builder data\r\n builderDataLoad() {\r\n if (this.userName !== undefined) {\r\n this.http.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined) {\r\n if (result.data.length !== 0) {\r\n this.builderInfo.BuilderId.push(result.data.id);\r\n this.builderInfo.CompanyName = result.data.companyName;\r\n this.builderInfo.CompanyEmail = result.data.email;\r\n this.builderInfo.CompanyAddress = result.data.builderAddresses;\r\n this.builderInfo.Admin = true;\r\n for (let i = 0; i < result.data.builderMapping.length; i++) {\r\n\r\n this.builderInfo.subsidiaryList.push({ id: i, itemName: result.data.builderMapping[i].subsidiaryName });\r\n this.builderInfo.subsidiaryId.push(result.data.builderMapping[i].subsidiaryId);\r\n this.builderInfo.BuilderId.push(result.data.builderMapping[i].subsidiaryId);\r\n\r\n\r\n }\r\n this.builderInfo.BuilderMapping = result.data.builderMapping;\r\n \r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.cityValues = this.lookupSvc.cities;\r\n this.stateValues = this.lookupSvc.states;\r\n if ((this.builderInfo.CompanyAddress.state != null && this.builderInfo.CompanyAddress.state !== '')\r\n && this.cityValues !== undefined) {\r\n this.state = this.stateValues.find(x => x.id === this.builderInfo.CompanyAddress.state ).itemName;\r\n }\r\n\r\n if ((this.builderInfo.CompanyAddress.city != null && this.builderInfo.CompanyAddress.city !== '')\r\n && this.stateValues !== undefined) {\r\n this.city = this.cityValues.find(x => String(x.id) === this.builderInfo.CompanyAddress.city ).itemName;\r\n }\r\n if (this.city && this.state) {\r\n this.address2 = this.city + ', ' + this.state + ' ' + this.builderInfo.CompanyAddress.zipCode;\r\n } else {\r\n this.address2 = '';\r\n }\r\n }\r\n });\r\n\r\n this.company = this.builderInfo.CompanyName;\r\n this.email = this.builderInfo.CompanyEmail;\r\n this.address1 = this.builderInfo.CompanyAddress.streetNumber + ' ' + this.builderInfo.CompanyAddress.streetName ;\r\n this.contactNumber = this.builderInfo.CompanyAddress.contactName1Phone ?\r\n this.builderInfo.CompanyAddress.contactName1Phone.replace(/-/g, '')\r\n .replace(/^([0-9]{3})([0-9]{3})([0-9]{4})$/, '$1-$2-$3') : '';\r\n\r\n\r\n this.builderLoginAudit.CompanyName = this.builderInfo.CompanyName;\r\n this.builderLoginAudit.BuilderId = result.data.id;\r\n let givenName = this.accountSvc.account.user.givenName.split(', ');\r\n this.builderLoginAudit.FirstName = givenName[0];\r\n this.builderLoginAudit.LastName = givenName[1];\r\n\r\n // Sets the builder end access date to six months after account creation\r\n let dateObj = new Date(result.data.recCreateDate);\r\n dateObj.setMonth(dateObj.getMonth() + 6);\r\n this.builderLoginAudit.EndDate = this.datePipe.transform(dateObj.toISOString(), 'dd-MMM-yy HH:mm:ss');\r\n\r\n this.builderLoginAudit.LastAccess = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss');\r\n this.builderLoginAudit.UserName = this.accountSvc.account.user.username;\r\n this.addBuilderLoginAudit();\r\n\r\n this.passBuilderData();\r\n if (this.cityValues && this.stateValues) {\r\n\r\n }\r\n\r\n } else {\r\n this.address2 = '';\r\n this.address1 = '';\r\n this.email = '';\r\n this.contactNumber = '';\r\n }\r\n } else {\r\n this.logoff();\r\n }\r\n },\r\n error => {\r\n this.logoff();\r\n }\r\n );\r\n } else {\r\n this.address2 = '';\r\n this.address1 = '';\r\n this.email = '';\r\n this.contactNumber = '';\r\n }\r\n }\r\n// code to pass builder data fetched from DB to service\r\npassBuilderData() {\r\n this.session.GetBuilderData(this.builderInfo);\r\n}\r\npublic individualServiceLineClicked() {\r\n this.http.individualServiceClicked = true;\r\n}\r\npublic logoff() {\r\n const url = '/' + (this.environment.isSoCoEnv ? 'account/logoff' : (this.constSvc.localIISAppName + '/account/logoff'));\r\n swal(this.constSvc.builderErrorSwal, '', this.constSvc.errorSwal).then(() => {\r\n window.location.href = url;\r\n });\r\n }\r\n\r\n addBuilderLoginAudit() {\r\n const subscribe = this.http.AddBuilderLoginAudit(this.builderLoginAudit).subscribe(result => {\r\n if (subscribe && result.status) {\r\n subscribe.unsubscribe();\r\n }\r\n });\r\n }\r\n}\r\n","export default \".location-banner {\\r\\n background-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.residential-banner {\\r\\n background-image: url(\\\"/assets/images/banners/residential.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.commercial-banner {\\r\\n background-image: url(\\\"/assets/images/banners/commercial.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.mixed-use-banner {\\r\\n background-image: url(\\\"/assets/images/banners/mixed-use.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n:host .wizard>.steps .number {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n:host .wizard>.content>.body {\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n.step-1:after, :host .wizard>.steps>ul>li.current .step-1:after {\\r\\n content: \\\"1\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-2:after, :host .wizard>.steps>ul>li.current .step-2:after {\\r\\n content: \\\"2\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-3:after, :host .wizard>.steps>ul>li.current .step-3:after {\\r\\n content: \\\"3\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-4:after, :host .wizard>.steps>ul>li.current .step-4:after {\\r\\n content: \\\"4\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-5:after, :host .wizard>.steps>ul>li.current .step-5:after {\\r\\n content: \\\"5\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.disable-link {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.error .number {\\r\\n font-size: 0;\\r\\n border-color: #d30000;\\r\\n background-color: #fff;\\r\\n color: #d30000;\\r\\n}\\r\\n\\r\\n:host .wizard>.steps .number {\\r\\n border-radius: 50%;\\r\\n}\\r\\n\\r\\n:host .wizard>.content>.body {\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n.step-1:after, :host .wizard>.steps>ul>li.current .step-1:after {\\r\\n content: \\\"1\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-2:after, :host .wizard>.steps>ul>li.current .step-2:after {\\r\\n content: \\\"2\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-3:after, :host .wizard>.steps>ul>li.current .step-3:after {\\r\\n content: \\\"3\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-4:after, :host .wizard>.steps>ul>li.current .step-4:after {\\r\\n content: \\\"4\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.step-5:after, :host .wizard>.steps>ul>li.current .step-5:after {\\r\\n content: \\\"5\\\" !important;\\r\\n font-family: arial !important;\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.disable-link {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.error .number {\\r\\n font-size: 0;\\r\\n border-color: #d30000;\\r\\n background-color: #fff;\\r\\n color: #d30000;\\r\\n}\\r\\n\\r\\n:host .is-required .input-group-addon {\\r\\n color: #0088f4;\\r\\n border-color: rgba(0, 142, 255, 0.8);\\r\\n background-color: rgba(126, 198, 255, 0.4);\\r\\n}\\r\\n\\r\\n:host .is-required .form-control {\\r\\n border-color: rgba(0, 142, 255, 0.8);\\r\\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\\r\\n}\\r\\n\\r\\n:host .is-required .ng-select-container {\\r\\n border-color: #0088f4 !important;\\r\\n}\\r\\n\\r\\n:host .has-error .ng-select-container {\\r\\n border-color: #D84315 !important;\\r\\n}\\r\\n\\r\\n:host .has-success .ng-select-container {\\r\\n\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2Jhc2Uvb3V0bGV0L25ld3JlcXVlc3QvbmV3cmVxdWVzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNERBQTREO0VBQzVELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSwrREFBK0Q7RUFDL0Qsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLDhEQUE4RDtFQUM5RCx3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsNkRBQTZEO0VBQzdELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0IsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLDZCQUE2QjtFQUM3QiwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0IsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0Usb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtDQUFrQztBQUNwQzs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0IsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLDZCQUE2QjtFQUM3QiwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsNkJBQTZCO0VBQzdCLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2Qiw2QkFBNkI7RUFDN0IsMEJBQTBCO0FBQzVCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLDZCQUE2QjtFQUM3QiwwQkFBMEI7QUFDNUI7O0FBRUE7RUFDRSxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSxZQUFZO0VBQ1oscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztFQUNkLG9DQUFvQztFQUNwQywwQ0FBMEM7QUFDNUM7O0FBRUE7RUFDRSxvQ0FBb0M7RUFFcEMsZ0RBQWdEO0FBQ2xEOztBQUVBO0VBQ0UsZ0NBQWdDO0FBQ2xDOztBQUVBO0VBQ0UsZ0NBQWdDO0FBQ2xDOztBQUVBOztBQUVBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2Jhc2Uvb3V0bGV0L25ld3JlcXVlc3QvbmV3cmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvY2F0aW9uLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9sb2NhdGlvbi5qcGdcIik7XHJcbiAgaGVpZ2h0OiAxODBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5yZXNpZGVudGlhbC1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvcmVzaWRlbnRpYWwuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uY29tbWVyY2lhbC1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvY29tbWVyY2lhbC5qcGdcIik7XHJcbiAgaGVpZ2h0OiAxODBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5taXhlZC11c2UtYmFubmVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iYW5uZXJzL21peGVkLXVzZS5qcGdcIik7XHJcbiAgaGVpZ2h0OiAxODBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbjpob3N0IC53aXphcmQ+LnN0ZXBzIC5udW1iZXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuOmhvc3QgLndpemFyZD4uY29udGVudD4uYm9keSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXAtMTphZnRlciwgOmhvc3QgLndpemFyZD4uc3RlcHM+dWw+bGkuY3VycmVudCAuc3RlcC0xOmFmdGVyIHtcclxuICBjb250ZW50OiBcIjFcIiAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBhcmlhbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcC0yOmFmdGVyLCA6aG9zdCAud2l6YXJkPi5zdGVwcz51bD5saS5jdXJyZW50IC5zdGVwLTI6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiMlwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFyaWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGVwLTM6YWZ0ZXIsIDpob3N0IC53aXphcmQ+LnN0ZXBzPnVsPmxpLmN1cnJlbnQgLnN0ZXAtMzphZnRlciB7XHJcbiAgY29udGVudDogXCIzXCIgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogYXJpYWwgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXAtNDphZnRlciwgOmhvc3QgLndpemFyZD4uc3RlcHM+dWw+bGkuY3VycmVudCAuc3RlcC00OmFmdGVyIHtcclxuICBjb250ZW50OiBcIjRcIiAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBhcmlhbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcC01OmFmdGVyLCA6aG9zdCAud2l6YXJkPi5zdGVwcz51bD5saS5jdXJyZW50IC5zdGVwLTU6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiNVwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFyaWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlLWxpbmsge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5lcnJvciAubnVtYmVyIHtcclxuICBmb250LXNpemU6IDA7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZDMwMDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICNkMzAwMDA7XHJcbn1cclxuXHJcbjpob3N0IC53aXphcmQ+LnN0ZXBzIC5udW1iZXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxufVxyXG5cclxuOmhvc3QgLndpemFyZD4uY29udGVudD4uYm9keSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXAtMTphZnRlciwgOmhvc3QgLndpemFyZD4uc3RlcHM+dWw+bGkuY3VycmVudCAuc3RlcC0xOmFmdGVyIHtcclxuICBjb250ZW50OiBcIjFcIiAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBhcmlhbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcC0yOmFmdGVyLCA6aG9zdCAud2l6YXJkPi5zdGVwcz51bD5saS5jdXJyZW50IC5zdGVwLTI6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiMlwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFyaWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGVwLTM6YWZ0ZXIsIDpob3N0IC53aXphcmQ+LnN0ZXBzPnVsPmxpLmN1cnJlbnQgLnN0ZXAtMzphZnRlciB7XHJcbiAgY29udGVudDogXCIzXCIgIWltcG9ydGFudDtcclxuICBmb250LWZhbWlseTogYXJpYWwgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXAtNDphZnRlciwgOmhvc3QgLndpemFyZD4uc3RlcHM+dWw+bGkuY3VycmVudCAuc3RlcC00OmFmdGVyIHtcclxuICBjb250ZW50OiBcIjRcIiAhaW1wb3J0YW50O1xyXG4gIGZvbnQtZmFtaWx5OiBhcmlhbCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcC01OmFmdGVyLCA6aG9zdCAud2l6YXJkPi5zdGVwcz51bD5saS5jdXJyZW50IC5zdGVwLTU6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiNVwiICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFyaWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXNhYmxlLWxpbmsge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5lcnJvciAubnVtYmVyIHtcclxuICBmb250LXNpemU6IDA7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZDMwMDAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6ICNkMzAwMDA7XHJcbn1cclxuXHJcbjpob3N0IC5pcy1yZXF1aXJlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xyXG4gIGNvbG9yOiAjMDA4OGY0O1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAxNDIsIDI1NSwgMC44KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNiwgMTk4LCAyNTUsIDAuNCk7XHJcbn1cclxuXHJcbjpob3N0IC5pcy1yZXF1aXJlZCAuZm9ybS1jb250cm9sIHtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTQyLCAyNTUsIDAuOCk7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xyXG59XHJcblxyXG46aG9zdCAuaXMtcmVxdWlyZWQgLm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIGJvcmRlci1jb2xvcjogIzAwODhmNCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCAuaGFzLWVycm9yIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuICBib3JkZXItY29sb3I6ICNEODQzMTUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgLmhhcy1zdWNjZXNzIC5uZy1zZWxlY3QtY29udGFpbmVyIHtcclxuXHJcbn0iXX0= */\"","import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { ConstantsService, SessionService, LookupsService, LoggerService, RequestTypesEnum,\r\n StepsIdEnum, StepsRouteEnum, EnvironmentService } from '@app/base/core';\r\nimport { MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SubscriptionLike } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-newrequest',\r\n templateUrl: './newrequest.component.html',\r\n styleUrls: ['./newrequest.component.css'],\r\n providers: [MultistepsService]\r\n})\r\nexport class NewRequestComponent implements OnInit, OnDestroy {\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n locationSubscription: SubscriptionLike;\r\n BId: string;\r\n constructor(\r\n private router: Router,\r\n public lookupSvc: LookupsService,\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n private logger: LoggerService,\r\n public environmentSvc: EnvironmentService,\r\n public constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n public wizardSvc: MultistepsService\r\n ) {\r\n this.subscribeRouteEvents();\r\n }\r\n\r\n ngOnInit() {\r\n this.sessionSvc.builderData.subscribe(success => {\r\n if (success) {\r\n\r\n const builderid = success.BuilderId[0];\r\n this.wizardSvc.deleteFolder(builderid).subscribe(res => {\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.locationSubscription.unsubscribe();\r\n }\r\n\r\n private subscribeRouteEvents() {\r\n // Detect and resolve parameterized Request Type\r\n this.route.params.subscribe(params => {\r\n this.navigateToDefaultStep(); // No Type passed in route, route to default request type.\r\n });\r\n\r\n // Detect and act on route changes through platform navigation buttons, e.g. briowser back and forward\r\n this.locationSubscription = this.location.subscribe(event => {\r\n const resolvedStep = event.url\r\n .substr(event.url.lastIndexOf('/') + 1)\r\n .toUpperCase();\r\n // Ensure that step is a known step\r\n if (\r\n Object.keys(StepsRouteEnum)\r\n .map(e => StepsRouteEnum[e].toUpperCase())\r\n .indexOf(resolvedStep) >= 0\r\n ) {\r\n this.wizardSvc.goToStep(StepsIdEnum[resolvedStep]);\r\n } else { this.navigateToDefaultStep(); } // Couldn't recognize the step, route to default\r\n });\r\n }\r\n\r\n private navigateToDefaultStep() {\r\n this.wizardSvc.goToStep(this.stepsIdEnum.LOCATION);\r\n }\r\n\r\n setHeaderImage() {\r\n if (this.wizardSvc.getActiveStep.id === this.stepsIdEnum.LOCATION) {\r\n return 'location-banner';\r\n } else {\r\n if (!this.wizardSvc.selectedRequestType) {\r\n return 'residential-banner';\r\n } else {\r\n if (this.wizardSvc.getActiveStep.id !== this.stepsIdEnum.ACKNOWLEDGE) {\r\n switch (this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form.value.propertyType.id.toUpperCase()) {\r\n case RequestTypesEnum.Residential:\r\n case RequestTypesEnum.MultiFamily:\r\n case RequestTypesEnum.Subdivision:\r\n return 'residential-banner';\r\n case RequestTypesEnum.Commercial:\r\n case RequestTypesEnum.Industrial:\r\n return 'commercial-banner';\r\n case RequestTypesEnum.MixedUse:\r\n return 'mixed-use-banner';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { SocoHttpService, ApiResult } from '@app/base/soco';\r\nimport { HomeTabsEnum, HomeSubtabsEnum, RequestServiceModel } from '@app/base/core';\r\nimport { GasAvailabilityLetterModel } from '@app/base/shared/models/letter.model';\r\nimport { MeterActivateModel } from '@app/modules/builder/base/models';\r\nimport { BCASearch, BuilderInfo, Gasbca, BuilderInfoOne, GasApplianceModel } from '@app/base/core/models';\r\nimport { GasRequestModel } from '@app/shared/models/applicant/new.model';\r\nimport { BuilderLoginAuditModel } from '../../../../base/core/models/app/builder.login.audit.model';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BuilderService {\r\n public activeMainTab: number = HomeTabsEnum.Requests;\r\n public activeSubTab: number = HomeSubtabsEnum.Subdivision;\r\n public routeFlag: number;\r\n public reassigmentFlag: number;\r\n public gid: number;\r\n public lotnum: any;\r\n public subsidiaryId: any = {};\r\n public individualServiceClicked: any = false;\r\n public builderInfo: BuilderInfo = {\r\n Admin: false,\r\n BuilderId: [],\r\n subsidiaryId: [],\r\n subsidiaryList: [],\r\n CompanyName: '',\r\n IsActive: '',\r\n CompanyAddress: {\r\n id: '',\r\n contactTypeCode: '',\r\n streetNumber: '',\r\n recUpdatedDate: '',\r\n recCreatedDate: '',\r\n recCreatedBy: '',\r\n recUpdatedBy: '',\r\n streetName: '',\r\n directionPrefix: '',\r\n directionSuffix: '',\r\n streetType: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n contactName2Extn: '',\r\n contactName1Extn: '',\r\n contactName1Phone: '',\r\n contactName1AreaCode: '',\r\n contactName2AreaCode: '',\r\n contactName2Phone: '',\r\n address2: '',\r\n unitNumber: '',\r\n },\r\n CompanyEmail: '',\r\n // AdminUsers: [{ firstName: '', lastName: '', userId: '', builderId: '', email: '' }],\r\n BuilderMapping: [{ id: '', builderName: '', subsidiaryId: [], subsidiaryName: [], status: '' }]\r\n };\r\n public builderInfoSub: BuilderInfo = {\r\n Admin: false,\r\n BuilderId: [],\r\n subsidiaryId: [],\r\n subsidiaryList: [],\r\n CompanyName: null,\r\n IsActive: null,\r\n\r\n CompanyAddress: {\r\n id: null,\r\n recUpdatedDate: null,\r\n recCreatedDate: null,\r\n recCreatedBy: null,\r\n recUpdatedBy: null,\r\n contactTypeCode: null,\r\n streetNumber: null,\r\n streetName: null,\r\n directionPrefix: null,\r\n directionSuffix: null,\r\n streetType: null,\r\n city: null,\r\n state: null,\r\n zipCode: null,\r\n contactName2Extn: null,\r\n contactName1Extn: null,\r\n contactName1Phone: null,\r\n contactName1AreaCode: null,\r\n contactName2AreaCode: null,\r\n contactName2Phone: null,\r\n address2: null,\r\n unitNumber: null,\r\n },\r\n CompanyEmail: '',\r\n // AdminUsers: [{ firstName: '', lastName: '', userId: '', builderId: '', email: '' }],\r\n BuilderMapping: [{ id: '', builderName: '', subsidiaryId: [], subsidiaryName: [], status: '' }]\r\n };\r\n\r\n // Put Call to Bulk update the lots data with builder provided site contact details. if post call is\r\n // successful the list of lots is retured and updated to the table, else the error is handled by socohttp service.\r\n PostServiceRequest(model: RequestServiceModel[], grId: string): Observable> {\r\n return this.http.put({\r\n url: 'Lots/PutListAsync',\r\n data: model,\r\n params: { 'grId': grId },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 2000\r\n });\r\n }\r\n\r\n // Update the lot data for a builder with the new values entered by the builder,if\r\n // successful call updates the database with the new details and swal alert is displayed to the user.\r\n // else the error is handled in by socohttp service.\r\n PostServiceRequestBylotId(model: RequestServiceModel): Observable> {\r\n return this.http.put({\r\n url: 'Lots/UpdatelotByLotIdAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 2000\r\n });\r\n }\r\n\r\n addAppliance(model: GasApplianceModel): Observable> {\r\n return this.http.post({\r\n url: 'Lots/AddGasApplianceData',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 2000\r\n });\r\n }\r\n\r\n addUser(addUser: any): Observable> {\r\n return this.http.post({\r\n url: 'Common/AddBuilderUserAsync',\r\n data: addUser,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n\r\n // Gets lot details for the Builder Lot Reassignment\r\n GetLots(gid: number, bid: string): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetLotDetailsAsync',\r\n params: { 'id': gid, 'bid': bid }\r\n\r\n });\r\n }\r\n // To fetch address details for the selected gr id from gasrequests selection\r\n Lots(gid: number): Observable> {\r\n return this.http.get({\r\n url: 'Lots/LotsAsync',\r\n params: { 'id': gid }\r\n\r\n });\r\n }\r\n // To get lots data in Service Grid\r\n GetLotDetails(rowValue: string): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetLotsAsync',\r\n params: { 'id': rowValue }\r\n });\r\n }\r\n\r\n getGasRequestByBcaId(id: any): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetGasRequestByBcaId',\r\n params: {bcaId: id},\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n GetBCAStatusFromView(id: any): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetBCAStatusFromView',\r\n params: { bcaId: id },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n getBuildingIdList(params: any): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetGISBuildingIdList',\r\n params: params,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'LocationAwaiter'\r\n });\r\n }\r\n\r\n getWorkRequestByBcaId(id: any): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetWorkRequestByBcaId',\r\n params: {bcaId: id},\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n bulkAddBuildingIds(model: any, status: string): Observable> {\r\n return this.http.post({\r\n url: 'Lots/BulkAddBuildingIds',\r\n data: model,\r\n params: {status: status},\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n bulkUpdateBuildingIds(model: any): Observable> {\r\n return this.http.put({\r\n url: 'Lots/BulkUpdateBuildingIds',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n VerifyBuilingPointExists(buildingPoint: any): Observable> {\r\n return this.http.get({\r\n url: 'Lots/VerifyBuilingPointExists',\r\n params: { buildingPoint: buildingPoint },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n // To Create new Additional Lots\r\n PostCreateLots(model: RequestServiceModel[]): Observable> {\r\n return this.http.post({\r\n url: 'Lots/SaveCreateLotsAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500\r\n });\r\n }\r\n // To get Builder Info for the Logged in Builder\r\n getBuilderInfo( companyName?: string): Observable> {\r\n return this.http.get({\r\n url: 'BuilderInfo/GetBuilderinfo',\r\n params: { 'builderName': companyName },\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n getBuilderDetails( companyName?: string): Observable> {\r\n return this.http.get({\r\n url: 'BuilderInfo/GetBuilderDetails',\r\n params: { 'builderName': companyName },\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n\r\n // add builder login audit info\r\n AddBuilderLoginAudit(model: BuilderLoginAuditModel): Observable> {\r\n return this.http.post({\r\n url: 'BuilderInfo/AddBuilderLoginAudit',\r\n data: model\r\n });\r\n }\r\n getBuilderMapping( subsidiaryId?: string): Observable> {\r\n return this.http.get({\r\n url: 'BuilderCompany/GetBuilderMapping',\r\n params: { 'builderId': subsidiaryId },\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n\r\n getBuilderName(builderName: string): Observable> {\r\n return this.http.get({\r\n url: 'BuilderCompany/BuilderSearch',\r\n params: { 'builderName': builderName },\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n\r\n // TO get SUbsidary Information for the Logged in Builder\r\n getSubsidiaryInfo(builderId: string[]): Observable> {\r\n return this.http.get({\r\n url: 'BuilderInfo/GetSubsidiaryInfo',\r\n params: { 'id': builderId }\r\n });\r\n }\r\n\r\n // To get the BCA's of the logged in builder and subsidaries\r\n getBuilderBCADetails(bcaSearch: BCASearch): Observable> {\r\n return this.http.get({\r\n url: 'GasRequest/GetBCA',\r\n params: bcaSearch,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n // Updates the BCA details\r\n editBCADetails(model: Gasbca): Observable> {\r\n return this.http.put({\r\n url: 'GasRequest/PutAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n updateBuilderMapping(model: any): Observable> {\r\n return this.http.post({\r\n url: 'BuilderCompany/AddBuilderMappingAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n addBuilder(model: BuilderInfoOne): Observable> {\r\n return this.http.post({\r\n url: 'BuilderCompany/AddBuilderCompanyAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n // Submits gas Letter availability details\r\n postGasLetter(model: GasAvailabilityLetterModel): Observable> {\r\n return this.http.post({\r\n url: 'Common/PostGasLetterRequestAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // TO fetch documents in subdivision premise\r\n getAllFiles(id?: string): Observable> {\r\n return this.http.get({\r\n url: 'Files/GetAllDocuments',\r\n params: { 'id': id },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500\r\n });\r\n }\r\n // To fetch agrrements data\r\n findFilesByMetadata(metadataParam: any): Observable> {\r\n return this.http.get({\r\n url: 'Files/GetDocumentsByMetadata',\r\n params: metadataParam,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // To fetch count of agreements\r\n findFilesCountByMetadata(metadataParam: any): Observable {\r\n return this.http.get({\r\n url: 'Files/GetDocumentsCountByMetadata',\r\n params: metadataParam,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // To download files in contract page\r\n downloadContractDocuments(metadataParam: any): Observable {\r\n return this.http.get({\r\n url: 'Files/GetDocumentsContract',\r\n params: metadataParam,\r\n pleaseWaitTimeoutDuration: 500\r\n });\r\n }\r\n // TO get gas mains data by passing gas request id as input parameter\r\n getMainsInfo(bcaId: number): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetMainsInfo',\r\n params: { 'id': bcaId }\r\n });\r\n }\r\n\r\n // Get Meter Info data for the MeterActivate/MeterDeActivate Form with input parameters are lot number and Gr Id.\r\n getMeterInfo(Id: string, grId: string): Observable> {\r\n return this.http.get({\r\n url: 'Lots/GetById',\r\n params: { 'id': Id, 'grid': grId }\r\n });\r\n }\r\n\r\n // Web api call to add MeterActivate/MeterDeActivate request with input parameters as RequestServiceModel data and MeterActivePostModel.\r\n addMeter(model: MeterActivateModel, LotData: RequestServiceModel): Observable> {\r\n const input: MeterActivePostModel = {\r\n RequestData: LotData,\r\n MeterData: model\r\n };\r\n return this.http.post({\r\n url: 'Lots/PostAsync',\r\n data: input,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500\r\n });\r\n }\r\n newBCA(grid: number, noOfLots: number): Observable> {\r\n return this.http.post({\r\n url: 'Applicant/GetBCAbyGrid',\r\n params: { 'grid': grid, 'noOfLots': noOfLots },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500\r\n });\r\n }\r\n\r\n public messageSource = new BehaviorSubject(0);\r\n GridData = this.messageSource.asObservable();\r\n\r\n public result = new BehaviorSubject(this.builderInfo);\r\n builderData = this.result.asObservable();\r\n\r\n\r\n constructor(private http: SocoHttpService) {\r\n\r\n\r\n }\r\n GetGrid(passGrid: number) {\r\n this.messageSource.next(passGrid);\r\n }\r\n\r\n\r\n}\r\n\r\n\r\nexport class MeterActivePostModel {\r\n RequestData: RequestServiceModel;\r\n MeterData: MeterActivateModel;\r\n}\r\n","export * from '@app/modules/builder/base/services/builder.service';\r\nexport * from '@app/modules/builder/base/services/multisteps.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormArray } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { triggerFormValidation, focusFirstInvalidField, scrollToHeader } from '@app/base/shared';\r\nimport { ConstantsService, SessionService, AccountService, RequestTypesEnum, WizardStep, StepsIdEnum,\r\n StepsCodeEnum, StepsRouteEnum, StepsResidentialTitleEnum, LookupsService, ApplicantMessageEnum,\r\n Type, GasRequestStatus, StepsTitleCommercialEnum, StepsTitleMixedUseEnum, StepsDefaultTitleEnum } from '@app/base/core';\r\nimport { SocoModalService } from '@app/base/soco';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { GasRequestModel } from '@app/base/shared/models/applicant/new.model';\r\nimport { GasRequestNumber } from '@app/base/shared/models/applicant/gas-request-number';\r\nimport { QuestionAnswers } from '@app/core/models';\r\nimport { SocoHttpService, ApiResult } from '@app/base/soco';\r\nimport { DatePipe } from '@angular/common';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MultistepsService {\r\n //#region => Variables & Properties\r\n // Session state related variables\r\n public RequestType: string;\r\n public selectedRequestType = false;\r\n public duplicatedRequest = false; // Meter existed, or duplicated record in database, etc.\r\n public turnOnRequest = false; // If user got a meter and just want to turn on service.\r\n public requestValidated = false; // Request validated by calling ALM & check BCA table for duplicate\r\n public customerRequested = false; // true if customer edits service address\r\n public BId: string;\r\n public firstname = null;\r\n public lastname = null;\r\n public email = null;\r\n public company = null;\r\n public origBuilderName: any = null;\r\n\r\n public meterDuplicate: Type = new Type();\r\n public bcaDuplicate: GasRequestStatus = new GasRequestStatus(); // Hold the result of BCA duplicate check\r\n\r\n public steps: WizardStep[] = new Array(); // Hold step data and forms\r\n public maxCompletedStep = -1; // How far user progressed in multistep wizard\r\n public isWizardCompleted = false; // Indicate if wizard completed, all steps verified and submitted to server.\r\n public changeAddressClicked = false; // Indicate if change address button clicked in Address step.\r\n\r\n // Monitor active step and notify listener when active step change\r\n private activeStep: StepsIdEnum; // The current active step\r\n private activeStepSource = new BehaviorSubject(StepsIdEnum.LOCATION);\r\n public activeStepChanged$ = this.activeStepSource.asObservable();\r\n\r\n // Hold service address\r\n public serviceCounty: any = null;\r\n public serviceAddress: any = null;\r\n public customerAddress: any = null;\r\n public addressValidationDone = false;\r\n public addressChanged = false;\r\n public buildingId: any = null;\r\n public validateFlag = true;\r\n\r\n\r\n // Hold Gas Request Model\r\n public MainModel = new GasRequestModel();\r\n public resPremiseQuestions: QuestionAnswers[] = [];\r\n public comPremiseQuestions: QuestionAnswers[] = [];\r\n public restypeQuestions: QuestionAnswers[] = [];\r\n public comtypeQuestions: QuestionAnswers[] = [];\r\n public subtypeQuestions: QuestionAnswers[] = [];\r\n public subPremiseQuestions: QuestionAnswers[] = [];\r\n\r\n get hasNextStep(): boolean { return this.activeStep < StepsIdEnum.ACKNOWLEDGE; }\r\n get hasPreviousStep(): boolean { return this.activeStep > StepsIdEnum.LOCATION; }\r\n get getActiveStep(): WizardStep { return this.steps.find(x => x.id === this.activeStep); }\r\n\r\n public propertyTypeQuestion = this.constantsSvc.propertyTypeQues;\r\n public serviceNeededQuestion = this.constantsSvc.needingServiceQues;\r\n public describeOthersQuestion = this.constantsSvc.describeOthersQues;\r\n public deliveryPressureQuestion = this.constantsSvc.DeliveryPressureReqQues;\r\n public premisePropertyTypeQuestion = this.constantsSvc.premisePropertyTypeQues;\r\n\r\n // Hold te Applicant Meesage based on type component\r\n public paramApplicantMessage: string = ApplicantMessageEnum.Message2c; // Hold the request type, e.g. commercial\r\n //#endregion\r\n\r\n //#region => CTOR\r\n constructor(\r\n private router: Router,\r\n private socoModalService: SocoModalService,\r\n private constantsSvc: ConstantsService,\r\n private sessionSvc: SessionService,\r\n private lookupSvc: LookupsService,\r\n private accountSvc: AccountService,\r\n private datePipe: DatePipe,\r\n private http: SocoHttpService) {\r\n this.resetWizardState();\r\n this.listenForStepChanges();\r\n this.initForms();\r\n // getting builder id\r\n this.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined) {\r\n this.BId = result.data.id;\r\n this.sessionSvc.User = this.accountSvc.account.user.givenName;\r\n } else {\r\n swal (this.constantsSvc.errorSwal1, this.constantsSvc.builderInfoFail, this.constantsSvc.errorSwal);\r\n }\r\n },\r\n (error) => {\r\n swal (this.constantsSvc.errorSwal1, this.constantsSvc.builderInfoFail, this.constantsSvc.errorSwal);\r\n });\r\n\r\n\r\n }\r\n //#endregion\r\n\r\n //#region => Wizard State\r\n // No longer needed to reset wizard state, wizard service is provided on outlet scope, once component destroyed service also destroyed\r\n // Only needed in acknowledge step to reset data.\r\n public resetWizardState(): void {\r\n this.maxCompletedStep = -1;\r\n this.steps.forEach(f => { f.form.reset(); });\r\n this.lookupSvc.bcaDuplicate = null;\r\n this.lookupSvc.meterDuplicate = null;\r\n this.selectedRequestType = false;\r\n }\r\n //#endregion\r\n\r\n //#region => Wizard Navigation\r\n public nextStep(): void {\r\n if (this.hasNextStep) { this.goToStep(this.activeStep + 1); } }\r\n public previousStep(): void { if (this.hasPreviousStep) { this.goToStep(this.activeStep - 1); } }\r\n public submitWizard(): void {\r\n if (!this.validateApplicationIntegrity()) { // One of the steps got invalid form, loop through and trigger a validation SWAL.\r\n this.steps.some((step) => {\r\n if (!step.form.valid) {\r\n this.showDiscardDialog(`Something is wrong with \"${step.label}\", would you like to fix it?`, 'Later', 'Fix Now', true);\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe((fixNow) => {\r\n subscription.unsubscribe();\r\n if (fixNow) { this.goToStep(step.id); }\r\n });\r\n return true;\r\n }\r\n });\r\n } else {\r\n // Submit to server and navigate to acknowledge\r\n this.nextStep(); // If step is valid, then go to next step.\r\n }\r\n }\r\n public goToStep(step: StepsIdEnum): void {\r\n // Check for Duplicate Request based on type step questions and answers, meter exist and bca exist on serviceable address\r\n this.checkDuplicatedRequest();\r\n\r\n // If request is duplicated, mark Review as the next step\r\n if (this.duplicatedRequest) { // Handle duplicated requests scenario\r\n if (this.activeStep === StepsIdEnum.TYPE && step > StepsIdEnum.TYPE) {\r\n step = StepsIdEnum.REVIEW;\r\n }\r\n if (this.activeStep === StepsIdEnum.REVIEW && step < StepsIdEnum.REVIEW) {\r\n step = (step === StepsIdEnum.LOCATION) ? StepsIdEnum.LOCATION : StepsIdEnum.TYPE;\r\n }\r\n }\r\n\r\n if (this.activeStep === StepsIdEnum.TYPE && step === StepsIdEnum.LOCATION) {\r\n this.changeAddressClicked = true;\r\n }\r\nif (this.activeStep === StepsIdEnum.PREMISE) {\r\n if (this.getStepById(StepsIdEnum.PREMISE).form.controls['residentialFormArray']) {\r\n const RestempArr = [];\r\n const formArray = this.getStepById(StepsIdEnum.PREMISE).form.controls['residentialFormArray'];\r\n formArray.controls.forEach(element => {\r\n if (element.get('residentialUnitDescription').value !== null) {\r\n if (RestempArr.includes(element.value.residentialUnitDescription.toLowerCase())) {\r\n\r\n element.get('residentialUnitDescription').setErrors({'invalid': true});\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.unitDescriptionError, this.constantsSvc.errorSwal);\r\n } else {\r\n RestempArr.push(element.value.residentialUnitDescription.toLowerCase());\r\n }\r\n }\r\n });\r\n }\r\n if (this.getStepById(StepsIdEnum.PREMISE).form.controls['commercialFormArray']) {\r\n const ComtempArr = [];\r\n const formArrayComm = this.getStepById(StepsIdEnum.PREMISE).form.controls['commercialFormArray'];\r\n formArrayComm.controls.forEach(element => {\r\n if (element.get('commercialUnitDescription').value !== null) {\r\n if (ComtempArr.includes(element.value.commercialUnitDescription.toLowerCase())) {\r\n\r\n element.get('commercialUnitDescription').setErrors({'invalid': true});\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.unitDescriptionError, this.constantsSvc.errorSwal);\r\n } else {\r\n ComtempArr.push(element.value.commercialUnitDescription.toLowerCase());\r\n }\r\n }\r\n });\r\n }\r\n if (this.getStepById(StepsIdEnum.PREMISE).form.controls['subDivisionFormArray']) {\r\n const SubtempArr = [];\r\n const formArraySubd = this.getStepById(StepsIdEnum.PREMISE).form.controls['subDivisionFormArray'];\r\n formArraySubd.controls.forEach(element => {\r\n if (element.get('subdivisionUnitDescription').value !== null) {\r\n if (SubtempArr.includes(element.value.subdivisionUnitDescription.toLowerCase())) {\r\n\r\n element.get('subdivisionUnitDescription').setErrors({'invalid': true});\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.unitDescriptionError, this.constantsSvc.errorSwal);\r\n } else {\r\n SubtempArr.push(element.value.subdivisionUnitDescription.toLowerCase());\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n triggerFormValidation(this.getActiveStep.form);\r\n focusFirstInvalidField(this.getActiveStep.form);\r\n this.getActiveStep.validStep = this.getActiveStep.form.valid;\r\n this.routeToStep(this.getStepById(step));\r\n }\r\n public routeToStep(step: WizardStep): void {\r\n // User clicked on Form submit from review page and trying to create a request\r\n if ((step.id - 1) === StepsIdEnum.REVIEW) {\r\n this.TransformModel(step);\r\n } else {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLowerCase(), 'builder', 'request', 'new', step.route]);\r\n }\r\n }\r\n public getStepById(step: StepsIdEnum): WizardStep {\r\n return this.steps.find(x => x.id === step);\r\n }\r\n public canDeactivateStep(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot): Observable {\r\n const resolvedStep = this.steps.find(x => x.route.toUpperCase() === route.url[0].path.toUpperCase());\r\n const fromInsideWizard = state.url.indexOf('request/') > -1;\r\n const toInsideWizard = nextState.url.indexOf('request/') > -1;\r\n const fromAcknowledgeStep = state.url.indexOf(StepsRouteEnum.ACKNOWLEDGE) > -1;\r\n const toOutsideWizard = nextState.url.indexOf('request/') === -1;\r\n\r\n\r\n // User reached review step with duplicated request and navigating to home paand navigating to home page.\r\n if (this.duplicatedRequest && resolvedStep.code === StepsCodeEnum.REVIEW && toOutsideWizard) { return of(true); }\r\n\r\n if (!this.isWizardCompleted && (fromInsideWizard && toOutsideWizard)) {\r\n // Leaving Wizard to some other page (Outside wizard scope)\r\n if ((this.getStepById(StepsIdEnum.TYPE).form).controls['propertyType'].value &&\r\n ((this.getStepById(StepsIdEnum.TYPE).form).controls['propertyType'].value.id\r\n === RequestTypesEnum.Subdivision)) {\r\n this.deleteFolder(this.BId).subscribe(result => {\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.fileFolderDeleteFail, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n this.showDiscardDialog(this.constantsSvc.showDiscardmsgMultistep, 'Stay', 'Discard Changes', true);\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe((result) => {\r\n subscription.unsubscribe();\r\n if (result) {\r\n this.serviceAddress = null;\r\n this.resetWizardState();\r\n }\r\n });\r\n return this.socoModalService.modalConfirmation$;\r\n } else if (this.isWizardCompleted && ((fromInsideWizard && fromAcknowledgeStep) && toInsideWizard)) {\r\n // Prevent navigation back to wizard once reached acknowledge\r\n this.navigateToHome();\r\n return of(true);\r\n } else if (!this.isWizardCompleted && !resolvedStep.form.valid && fromInsideWizard && toInsideWizard && this.maxCompletedStep > 0) {\r\n // Moving between steps with invalid data\r\n this.showDiscardDialog(this.constantsSvc.showDiscardmsgInvalidDataMultistep, 'Fix Now', 'Fix Later', false);\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe(choice => {\r\n subscription.unsubscribe();\r\n if (!choice) { this.goToStep(resolvedStep.id); }\r\n });\r\n return this.socoModalService.modalConfirmation$;\r\n } else { return of(true); }\r\n\r\n }\r\n public navigateToHome() {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLowerCase(), 'builder', 'home']);\r\n }\r\n private showDiscardDialog(body: string, cancelText: string, confirmText: string, isDanger: boolean) {\r\n this.socoModalService.confirm({\r\n title: 'Confirmation',\r\n body: body,\r\n headerCssClass: isDanger ? 'bg-danger' : 'bg-info',\r\n buttonCssClass: isDanger ? 'btn-danger' : 'btn-info',\r\n confirmButton: confirmText,\r\n cancelButton: cancelText\r\n });\r\n }\r\n private listenForStepChanges() {\r\n this.activeStepChanged$.subscribe(activeStep => {\r\n this.activeStep = activeStep;\r\n this.maxCompletedStep = this.maxCompletedStep > this.activeStep ? this.maxCompletedStep :\r\n this.activeStep; // How far we got in the wizard to sync with wizard icons.\r\n }); // Keep a local copy of activeStep\r\n }\r\n public syncActiveStep(step: StepsIdEnum) {\r\n // On step deactivate, if validation faild, we need to revert the current active step.\r\n this.activeStepSource.next(step);\r\n scrollToHeader();\r\n }\r\n //#endregion\r\n\r\n //#region => Forms Validation\r\n // Validate step's forms, pass nullable step id to validate it's form. If no step id provided then validate all steps forms. */\r\n public validateApplicationIntegrity(step?: StepsIdEnum): boolean {\r\n return step // Validate a specific form?\r\n ? this.steps.find(x => x.id === step).form.valid // Developer passed a specific form to validate\r\n : this.steps.every(x => x.form.valid);\r\n }\r\n //#endregion\r\n\r\n //#region => Forms Definition\r\n private initForms(): void {\r\n this.email = this.accountSvc.account.user.email;\r\n this.lastname = this.accountSvc.account.user.givenName.split(',')[0];\r\n this.firstname = this.accountSvc.account.user.givenName.split(',')[1].replace(/ /g, '');\r\n this.company = this.accountSvc.account.user.company;\r\n this.steps.push({\r\n id: StepsIdEnum.LOCATION,\r\n code: StepsCodeEnum.LOCATION,\r\n label: this.getStepTitle(StepsCodeEnum.LOCATION, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.LOCATION, 'DEFAULT'),\r\n route: StepsRouteEnum.LOCATION,\r\n validStep: true,\r\n form: new FormGroup({\r\n locationStreetNumber: new FormControl(null, [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n locationStreetName: new FormControl(null),\r\n locationCSZ: new FormControl(null),\r\n })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.TYPE,\r\n code: StepsCodeEnum.TYPE,\r\n label: this.getStepTitle(StepsCodeEnum.TYPE, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.TYPE, 'DEFAULT'),\r\n route: StepsRouteEnum.TYPE,\r\n validStep: true,\r\n form: new FormGroup({\r\n propertyType: new FormControl(null, [Validators.required]),\r\n })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.INFORMATION,\r\n code: StepsCodeEnum.INFORMATION,\r\n label: this.getStepTitle(StepsCodeEnum.INFORMATION, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.INFORMATION, 'DEFAULT'),\r\n route: StepsRouteEnum.INFORMATION,\r\n validStep: true,\r\n form: new FormGroup({\r\n firstName: new FormControl(this.firstname, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n middleInitial: new FormControl(''),\r\n lastName: new FormControl(this.lastname, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n emailAddress: new FormControl(this.email, [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]),\r\n applicantPhoneNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n applicantPhoneNumberExtension: new FormControl('',\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n companyName: new FormControl(this.company, [Validators.required]),\r\n builderCompany: new FormControl(this.company, [Validators.required]),\r\n isLiketoReceiveTestMessages: new FormControl(''),\r\n applicantPhoneNumber1: new FormControl(''),\r\n applicantPhoneNumber2: new FormControl('', Validators.pattern(this.constantsSvc.phoneNumberPattern)),\r\n applicantPhoneNumber3: new FormControl('', Validators.pattern(this.constantsSvc.phoneNumberPattern)),\r\n // Site Contact Information\r\n siteContactSame: new FormControl(''),\r\n contactTypeDetails: new FormArray([new FormGroup({\r\n companyName: new FormControl('', [Validators.required]),\r\n firstName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n lastName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n siteContactPhoneNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n siteContactPhoneNumberExtension: new FormControl('',\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n emailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]),\r\n siteContactType: new FormControl(null, [Validators.required]),\r\n siteContactTypeOthers: new FormControl(null),\r\n }, { updateOn: 'blur' })]),\r\n kmiCommunication: new FormControl(null, [Validators.required]),\r\n kmiFrequency: new FormControl(null, [Validators.required]),\r\n kmiReceive: new FormControl(null, [Validators.required]),\r\n kmiEmailAddress: new FormControl(null, { validators: [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)], updateOn: 'blur' }),\r\n kmiTextNumber: new FormControl('', { validators: [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)], updateOn: 'blur' })\r\n })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.ADDRESSES,\r\n code: StepsCodeEnum.ADDRESSES,\r\n label: this.getStepTitle(StepsCodeEnum.ADDRESSES, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.ADDRESSES, 'DEFAULT'),\r\n route: StepsRouteEnum.ADDRESSES,\r\n validStep: true,\r\n form: new FormGroup({\r\n // Service Address Information\r\n serviceStreetNumber: new FormControl({ value: null, disabled: true },\r\n [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n serviceStreetName: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceUnitNumber: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n serviceState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceZip: new FormControl({ value: null, disabled: true }, [Validators.required,\r\n Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n serviceDevelopementName: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n serviceLanddistrict: new FormControl(''),\r\n serviceLandLot: new FormControl(''),\r\n serviceCounty: new FormControl(null),\r\n // Customer Requested Address Information\r\n customerStreetNumber:\r\n new FormControl({ value: null, disabled: true }, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n customerStreetName: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n customerUnitNumber: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n customerState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n customerCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n customerZip:\r\n new FormControl({ value: null, disabled: true }, [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n customerDevelopementName: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n customerLanddistrict: new FormControl(''),\r\n customerLandLot: new FormControl(''),\r\n customerCounty: new FormControl(null),\r\n // Mailing Address Information\r\n mailingAddressSame: new FormControl(''),\r\n isPoBox: new FormControl(),\r\n poBoxAddress: new FormControl(null, [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n mailingStreetNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n mailingStreetName: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n mailingUnitNumber: new FormControl('', [Validators.pattern(this.constantsSvc.alphaNumericPattern)]),\r\n mailingState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n mailingCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n mailingZip: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n }, { updateOn: 'blur' })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.PREMISE,\r\n code: StepsCodeEnum.PREMISE,\r\n label: this.getStepTitle(StepsCodeEnum.PREMISE, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.PREMISE, 'DEFAULT'),\r\n route: StepsRouteEnum.PREMISE,\r\n validStep: true,\r\n form: this.buildPremiseForm(this.constantsSvc.Residential)\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.REVIEW,\r\n code: StepsCodeEnum.REVIEW,\r\n label: this.getStepTitle(StepsCodeEnum.REVIEW, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.REVIEW, 'DEFAULT'),\r\n route: StepsRouteEnum.REVIEW,\r\n validStep: true,\r\n form: new FormGroup({\r\n comments: new FormControl(''),\r\n } , { updateOn: 'blur' })\r\n });\r\n\r\n this.steps.push({\r\n id: StepsIdEnum.ACKNOWLEDGE,\r\n code: StepsCodeEnum.ACKNOWLEDGE,\r\n label: this.getStepTitle(StepsCodeEnum.ACKNOWLEDGE, 'DEFAULT'),\r\n title: this.getStepTitle(StepsCodeEnum.ACKNOWLEDGE, 'DEFAULT'),\r\n route: StepsRouteEnum.ACKNOWLEDGE,\r\n validStep: true,\r\n form: new FormGroup({})\r\n });\r\n }\r\n\r\n // Form Definition for Premise based on PropertyType\r\n buildPremiseForm(requestType: string): FormGroup {\r\n switch (requestType.toUpperCase()) {\r\n case RequestTypesEnum.Subdivision: return new FormGroup({\r\n subDivisionFormArray: new FormArray([new FormGroup({\r\n panelNumber: new FormControl(1),\r\n subdivisionApproximateSquareFootage: new FormControl(null, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)]),\r\n subdivisionNumberOfHomes: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n subdivisionApprDistanceFromStreetToUnit: new FormControl(null, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)]),\r\n subdivisionUnitDescription: new FormControl('', [Validators.required]),\r\n subdivisionDeliveryPressure: new FormControl(null, [Validators.required]),\r\n subdivisionDevelopmentStreetType: new FormControl(null, [Validators.required]),\r\n subdivisionUtilityEasement: new FormControl(null, [Validators.required]),\r\n subdivisionElectricServiceProvider: new FormControl(null),\r\n subdivisionDeliveryPressureOthers: new FormControl(null),\r\n subdivisionBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesForSubdivision: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(false)\r\n }, { updateOn: 'blur' })]\r\n ),\r\n subdivisonNeedingServiceDate: new FormControl(null, [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n subdivisonStreetCurbsInstalledDate: new FormControl(null, [Validators.pattern(this.constantsSvc.dateValidator)])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n case RequestTypesEnum.Residential:\r\n case RequestTypesEnum.MultiFamily: return new FormGroup({\r\n residentialFormArray: new FormArray([new FormGroup({\r\n panelNumber: new FormControl(1),\r\n residentialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n residentialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialDeliveryPressure: new FormControl(null, Validators.required),\r\n residentialNoOfUnit: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n residentialStatusofConstruction: new FormControl(null, [Validators.required]),\r\n residentialUnitDescription: new FormControl(null, [Validators.required]),\r\n residentialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of selected serviceable state in location page to 'Florida'\r\n residentialPropertyOwner: new FormControl(''),\r\n // TODO: change true to check for value of residentialDeliveryPressure to 'Other'\r\n residentialDeliveryPressureOthers: new FormControl(''),\r\n residentialBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesforResidential: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n case RequestTypesEnum.Commercial:\r\n case RequestTypesEnum.Industrial: return new FormGroup({\r\n commercialFormArray: new FormArray([new FormGroup({\r\n panelNumber: new FormControl(1),\r\n commercialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n commercialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n commercialDeliveryPressure: new FormControl(null, Validators.required),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n commercialStatusofConstruction: new FormControl(null, [Validators.required]),\r\n commercialUnitDescription: new FormControl(null, [Validators.required]),\r\n commercialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of commercialDeliveryPressure to 'Other'\r\n commercialDeliveryPressureOthers: new FormControl(''),\r\n commercialBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesforCommercial: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n case RequestTypesEnum.MixedUse: return new FormGroup({\r\n // Mixed Use Residential\r\n residentialFormArray: new FormArray([new FormGroup({\r\n panelNumber: new FormControl(1),\r\n residentialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n residentialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialDeliveryPressure: new FormControl(null, Validators.required),\r\n residentialNoOfUnit: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialStatusofConstruction: new FormControl(null, Validators.required),\r\n residentialUnitDescription: new FormControl(null, [Validators.required]),\r\n residentialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of mixedUseResidentialDeliveryPressure to 'Other'\r\n residentialDeliveryPressureOthers: new FormControl(null),\r\n residentialType: new FormControl(null, [Validators.required]),\r\n\r\n appliancesforResidential: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n }, { updateOn: 'blur' })]),\r\n }, { updateOn: 'blur' })]),\r\n // Mixed Use Commercial\r\n commercialFormArray: new FormArray([new FormGroup({\r\n panelNumber: new FormControl(1),\r\n commercialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n commercialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n commercialDeliveryPressure: new FormControl(null, Validators.required),\r\n commercialStatusofConstruction: new FormControl(null, Validators.required),\r\n commercialUnitDescription: new FormControl(null, Validators.required),\r\n commercialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of mixedUseCommercialDeliveryPressure to 'Other'\r\n commercialDeliveryPressureOthers: new FormControl(null),\r\n commercialBuildingType: new FormControl(null, [Validators.required]),\r\n\r\n appliancesforCommercial: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' })])\r\n }, { updateOn: 'blur' });\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region => Helper Functions\r\n public getStepTitle(stepId: StepsCodeEnum, propertyType: string): string {\r\n switch (propertyType.toUpperCase()) {\r\n case RequestTypesEnum.Residential:\r\n case RequestTypesEnum.MultiFamily:\r\n case RequestTypesEnum.Subdivision: return StepsResidentialTitleEnum[stepId];\r\n case RequestTypesEnum.Commercial:\r\n case RequestTypesEnum.Industrial: return StepsTitleCommercialEnum[stepId];\r\n case RequestTypesEnum.MixedUse: return StepsTitleMixedUseEnum[stepId];\r\n default: return StepsDefaultTitleEnum[stepId];\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region => Set DuplicatedRequest and Message for Type Component\r\n // Called from gotostep to check for duplicatedRequest and setting up messages\r\n checkDuplicatedRequest() {\r\n if (this.activeStep === StepsIdEnum.TYPE && this.getActiveStep.form.valid) {\r\n // tslint:disable-next-line:no-collapsible-if\r\n if (this.lookupSvc.bcaDuplicate !== null) {\r\n if (this.lookupSvc.bcaDuplicate.isBCAFound && !this.lookupSvc.meterDuplicate.isMeterExist) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2a;\r\n this.duplicatedRequest = true;\r\n } else if (this.lookupSvc.bcaDuplicate.isBCAFound && this.lookupSvc.meterDuplicate.isMeterExist) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2c;\r\n this.duplicatedRequest = true;\r\n } else if (!this.lookupSvc.bcaDuplicate.isBCAFound && this.lookupSvc.meterDuplicate.isMeterExist) {\r\n this.paramApplicantMessage = ApplicantMessageEnum.Message2d;\r\n this.duplicatedRequest = true;\r\n } else {\r\n this.paramApplicantMessage = '';\r\n if (this.duplicatedRequest) {\r\n // Handle scenario user reached review after detecting a duplicate, then went back to type and no duplicate detected.\r\n this.maxCompletedStep = StepsIdEnum.TYPE;\r\n this.duplicatedRequest = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n //#endregion\r\n\r\n //#region\r\n getFormattedMailingAddress() {\r\n const address = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n const poBoxPrefix = 'PO BOX';\r\n const cityStateZipConcated = address.mailingCity.itemName + ' ,' + address.mailingState.id + ' ' + address.mailingZip;\r\n if (address.isPoBox) { return poBoxPrefix + ' ' + address.poBoxAddress + ', ' + cityStateZipConcated; } else {\r\n return address.mailingStreetName + address.mailingStreetNumber + ', ' + cityStateZipConcated;\r\n }\r\n }\r\n\r\n // To get formatted service address\r\n getFormattedServiceAddress() {\r\n const address = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n const cityStateZipConcated = address.serviceCity.itemName + ', ' + address.serviceState.id + ' ' + address.serviceZip;\r\n return address.customerStreetNumber + ' ' + address.customerStreetName + ', ' + cityStateZipConcated;\r\n\r\n }\r\n\r\n //#endregion\r\n //#region => Submit Form to Server with transformation\r\n // Called from routeToStep to transform the forms into Model and pass to server\r\n TransformModel(step: WizardStep) {\r\n // Server entity is different, so transforming the information filled in by user before passig it to server\r\n // MainModel is filled from steps responses and MainModel is passed to server\r\n if (this.serviceAddress !== null) {\r\n this.MainModel.contacts = [];\r\n this.MainModel.addresses = [];\r\n this.MainModel.id = 0;\r\n this.MainModel.cityId = this.lookupSvc.serviceCity[0].id;\r\n this.MainModel.zipCode = this.serviceAddress.zip;\r\n this.MainModel.stateCd = (this.lookupSvc.states.filter(x => x.id === this.serviceAddress.state.short_name))[0].id;\r\n this.MainModel.companyCd = this.lookupSvc.companies[this.serviceAddress.state.short_name].id;\r\n this.MainModel.createDate = this.MainModel.grStatusUpdatedDate =\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n // If google is not having county from map, then pass -1, else filter the county\r\n if (this.lookupSvc.serviceCounty.length > 0 && this.serviceAddress.county) {\r\n const county = this.lookupSvc.serviceCounty.filter(x => x.itemName.toUpperCase()\r\n === this.serviceAddress.county.toUpperCase())[0];\r\n this.MainModel.countyId = county !== undefined ? county.id : '-1';\r\n } else {\r\n this.MainModel.countyId = '-1';\r\n }\r\n // If google is not having local District from map, then pass -1, else filter the local district\r\n if (this.serviceAddress.localDistrictCd) {\r\n this.MainModel.localDistrictCd = this.serviceAddress.localDistrictCd;\r\n } else {\r\n this.MainModel.localDistrictCd = null;\r\n }\r\n this.MainModel.grStatus = 'APPPEND';\r\n this.MainModel.builderId = this.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.BId :\r\n this.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id; // '2';\r\n this.MainModel.buildingId = this.buildingId;\r\n this.MainModel.enteredBy = this.sessionSvc.User;\r\n this.MainModel.recCreateUsrId = this.accountSvc.account.user.username;\r\n this.MainModel.recUpdateUsrId = this.accountSvc.account.user.username;\r\n this.MainModel.grStatusUpdatedBy = this.steps[StepsIdEnum.INFORMATION].form.value.firstName +\r\n ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.applicantName = this.steps[StepsIdEnum.INFORMATION].form.value.firstName +\r\n ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.updatedBy = this.steps[StepsIdEnum.INFORMATION].form.value.firstName +\r\n ' ' + this.steps[StepsIdEnum.INFORMATION].form.value.lastName;\r\n this.MainModel.development = this.steps[StepsIdEnum.ADDRESSES].form.value.serviceDevelopementName;\r\n this.MainModel.landDistrict = this.steps[StepsIdEnum.ADDRESSES].form.value.serviceLanddistrict;\r\n this.MainModel.landLot = this.steps[StepsIdEnum.ADDRESSES].form.value.serviceLandLot;\r\n this.MainModel.serviceFormattedAddress = this.getFormattedServiceAddress();\r\n this.MainModel.mailingFormattedAddress = this.getFormattedMailingAddress();\r\n this.MainModel.pinFormattedAddress = this.serviceAddress.formattedAddress;\r\n\r\n this.MainModel.sourceCd = 'Builder';\r\n // MainModel is filled with Applicant Information\r\n this.MainModel.contacts.push(this.buildContactObj());\r\n // MainModel is filled with Site Contact Information\r\n this.buildSiteContactObj();\r\n // MainModel is filled with Service Address\r\n this.MainModel.addresses.push(this.buildServiceAddressObj());\r\n // MainModel is filled with Mailing Address\r\n this.MainModel.addresses.push(this.buildMailAddressObj());\r\n // MainModel is filled with Customer Address\r\n this.MainModel.addresses.push(this.buildCustomerAddressObj());\r\n // MainModel is filled with Premise Information based on property type\r\n this.MainModel.gasRequestTypeAndPremiseDetails = [];\r\n if (this.steps[StepsIdEnum.TYPE].form.value.propertyType &&\r\n this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() === RequestTypesEnum.Residential.toUpperCase()) {\r\n this.buildResTypePremiseObj();\r\n\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.propertyType &&\r\n this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() === RequestTypesEnum.MultiFamily.toUpperCase()) {\r\n this.buildResTypePremiseObj();\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.propertyType &&\r\n this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() === RequestTypesEnum.Commercial.toUpperCase()) {\r\n this.buildComTypePremiseObj();\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.propertyType &&\r\n this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() === RequestTypesEnum.Industrial.toUpperCase()) {\r\n this.buildComTypePremiseObj();\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.propertyType &&\r\n this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() === RequestTypesEnum.Subdivision.toUpperCase()) {\r\n this.buildSubDivisionTypePremiseObj();\r\n } else if (this.steps[StepsIdEnum.TYPE].form.value.propertyType &&\r\n this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() === RequestTypesEnum.MixedUse.toUpperCase()) {\r\n this.buildResTypePremiseObj();\r\n this.buildComTypePremiseObj();\r\n }\r\n\r\n const date = (new Date()).getFullYear().toString().substr(-2);\r\n const addressCustomer = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n const address = this.serviceAddress;\r\n const sc = this.lookupSvc.serviceCenters.find(x => x.itemName.toUpperCase().includes(address.serviceCenter.toUpperCase()));\r\n const scCode = sc ? sc.locationId : ' ';\r\n this.MainModel.projectName = date + this.MainModel.gasRqstTpCd + '-' + scCode + '-' + addressCustomer.customerStreetNumber + ' ' +\r\n addressCustomer.customerStreetName + ' ' + address.city + ' ' + address.state.short_name + ' ' + address.zip;\r\n this.MainModel.comments = this.steps[StepsIdEnum.REVIEW].form.controls['comments'].value;\r\n this.MainModel.premiseId = this.lookupSvc.meterDuplicate.premiseId;\r\n\r\n // Communication Preference Start\r\n this.MainModel.kmiCommunication = this.steps[StepsIdEnum.INFORMATION].form.value.kmiCommunication; //getRawValue()\r\n this.MainModel.kmiPreference = this.steps[StepsIdEnum.INFORMATION].form.value.kmiReceive;\r\n this.MainModel.kmiEmail = this.steps[StepsIdEnum.INFORMATION].form.value.kmiEmailAddress;\r\n this.MainModel.kmiPhoneNo = this.steps[StepsIdEnum.INFORMATION].form.value.kmiTextNumber;\r\n this.MainModel.kmiFrequency = this.steps[StepsIdEnum.INFORMATION].form.value.kmiFrequency;\r\n // Communication Preference End\r\n\r\n // Call add method and pass the mainModel ad route to acknowledge in case request is created\r\n this.add(this.MainModel).subscribe(\r\n result => {\r\n if (result.statusCode === 201) {\r\n this.MainModel = result.data;\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'request',\r\n 'new',\r\n step.route\r\n ]);\r\n } else {\r\n swal(\r\n this.constantsSvc.errorSwal1,\r\n this.constantsSvc.contactCustomerCareSwal,\r\n this.constantsSvc.errorSwal\r\n );\r\n }\r\n },\r\n (error) => {\r\n swal(\r\n this.constantsSvc.errorSwal1,\r\n this.constantsSvc.contactCustomerCareSwal,\r\n this.constantsSvc.errorSwal\r\n );\r\n },\r\n\r\n );\r\n }\r\n\r\n}\r\n // MainModel is filled with Applicant Information in server expected format\r\n buildContactObj() {\r\n\r\n const ContactPhObj = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber,\r\n extension: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumberExtension,\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n\r\n const ContactObj = {\r\n id: 0,\r\n firstName: this.steps[StepsIdEnum.INFORMATION].form.value.firstName,\r\n middleInitial: this.steps[StepsIdEnum.INFORMATION].form.value.middleInitial,\r\n emailAddress: this.steps[StepsIdEnum.INFORMATION].form.value.emailAddress,\r\n companyName: this.steps[StepsIdEnum.INFORMATION].form.value.companyName,\r\n builderCompany: this.steps[StepsIdEnum.INFORMATION].form.value.builderCompany,\r\n lastName: this.steps[StepsIdEnum.INFORMATION].form.value.lastName,\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n contactTypeCode: 'A',\r\n communicationTypeCode: 'E',\r\n gasRequestId: 0,\r\n siteContactType: 'NA',\r\n contactPhoneNumbers: [],\r\n siteContactTypeOthers: null,\r\n };\r\n\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj);\r\n\r\n if (this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber1 !==\r\n undefined && this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber1 !== '') {\r\n const ContactPhObj1 = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber1,\r\n extension: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumberExtension,\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj1);\r\n }\r\n if (this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber2 !==\r\n undefined && this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber2 !== '') {\r\n const ContactPhObj2 = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber2,\r\n extension: '',\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj2);\r\n }\r\n if (this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber3 !==\r\n undefined && this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber3 !== '') {\r\n const ContactPhObj3 = {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.applicantPhoneNumber3,\r\n extension: '',\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n ContactObj.contactPhoneNumbers.push(ContactPhObj3);\r\n }\r\n return ContactObj;\r\n }\r\n // MainModel is filled with Site Contact Information in server expected format\r\n buildSiteContactObj() {\r\n for (let i = 0; i < this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails.length; i++) {\r\n const SiteContactObj = {\r\n id: 0,\r\n firstName: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].firstName,\r\n middleInitial: null,\r\n emailAddress: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].emailAddress,\r\n companyName: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].companyName,\r\n lastName: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].lastName,\r\n contactTypeCode: 'S',\r\n communicationTypeCode: 'E',\r\n gasRequestId: 0,\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n siteContactType: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactType.id,\r\n siteContactTypeOthers: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactType.itemName ===\r\n 'Other' ? this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactTypeOthers : null,\r\n contactPhoneNumbers: [\r\n {\r\n id: 0,\r\n contactId: 0,\r\n phoneNumber: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactPhoneNumber,\r\n extension: this.steps[StepsIdEnum.INFORMATION].form.value.contactTypeDetails[i].siteContactPhoneNumberExtension,\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n }\r\n ]\r\n };\r\n\r\n this.MainModel.contacts.push(SiteContactObj);\r\n }\r\n }\r\n GetServiceCounty() {\r\n const rawFormData = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n if (rawFormData != null && rawFormData !== undefined) {\r\n this.serviceCounty = rawFormData.serviceCounty;\r\n if (this.serviceCounty != null && this.serviceCounty !== undefined) {\r\n return this.serviceCounty.id;\r\n } else {\r\n return '-1';\r\n }\r\n }\r\n }\r\n // MainModel is filled with Pin Address in server expected format\r\n buildServiceAddressObj() {\r\n const rawAddressData = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n return {\r\n id: 0,\r\n gasRequestId: 0,\r\n addressTypeCode: 'P',\r\n isPoBox: 'N',\r\n poBoxNumber: null,\r\n latitude: parseFloat(this.serviceAddress.coordinates.lat),\r\n longitude: parseFloat(this.serviceAddress.coordinates.lng),\r\n xCoordinate: (parseFloat(this.serviceAddress.xCoordinate)).toFixed(5),\r\n yCoordinate: (parseFloat(this.serviceAddress.yCoordinate)).toFixed(5),\r\n streetNumber: rawAddressData.serviceStreetNumber,\r\n streetName: rawAddressData.serviceStreetName,\r\n unitNumber: rawAddressData.serviceUnitNumber,\r\n cityId: rawAddressData.serviceCity.id,\r\n zip: rawAddressData.serviceZip,\r\n stateCd: rawAddressData.serviceState.id,\r\n countyId: this.GetServiceCounty(),\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n\r\n };\r\n }\r\n // MainModel is filled with Mailing Address in server expected format\r\n buildMailAddressObj() {\r\n const rawAddressData = this.steps[StepsIdEnum.ADDRESSES].form.getRawValue();\r\n return {\r\n id: 0,\r\n gasRequestId: 0,\r\n addressTypeCode: 'M',\r\n isPoBox: rawAddressData.isPoBox ? 'Y' : 'N',\r\n latitude: 0,\r\n longitude: 0,\r\n poBoxNumber: rawAddressData.isPoBox ? rawAddressData.poBoxAddress : null,\r\n streetNumber: rawAddressData.mailingStreetNumber,\r\n streetName: rawAddressData.mailingStreetName,\r\n unitNumber: rawAddressData.mailingUnitNumber,\r\n cityId: rawAddressData.mailingCity.id,\r\n zip: rawAddressData.mailingZip,\r\n stateCd: rawAddressData.mailingState.id,\r\n countyId: this.GetServiceCounty(),\r\n recCreateUsrId: this.accountSvc.account.user.username,\r\n recUpdateUsrId: this.accountSvc.account.user.username,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n RecUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n };\r\n }\r\n // MainModel is filled with Service Address in server expected format\r\n buildCustomerAddressObj() {\r\n return {\r\n id: 0,\r\n gasRequestId: 0,\r\n addressTypeCode: 'S',\r\n isPoBox: 'N',\r\n poBoxNumber: null,\r\n latitude: parseFloat(parseFloat(this.serviceAddress.coordinates.lat).toFixed(5)),\r\n longitude: parseFloat(parseFloat(this.serviceAddress.coordinates.lng).toFixed(5)),\r\n streetNumber: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().customerStreetNumber,\r\n streetName: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().customerStreetName,\r\n unitNumber: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceUnitNumber,\r\n cityId: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceCity.id,\r\n zip: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceZip,\r\n stateCd: this.steps[StepsIdEnum.ADDRESSES].form.getRawValue().serviceState.id,\r\n countyId: this.GetServiceCounty(),\r\n recCreateUsrId: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recCreateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss')\r\n };\r\n }\r\n\r\n // MainModel is filled with Type and Premise Information in server expected format - residential\r\n buildResTypePremiseObj() {\r\n const questionList = this.lookupSvc.gasQuestionnaires.filter(i => i.isResidential === 'Y');\r\n this.getResiQuestionsList();\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray.length; k++) {\r\n for (let i = 0; i < this.restypeQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.restypeQuestions[i].question === questionList[j].itemName) {\r\n const resiTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.restypeQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n sequenceId: questionList[j].sequenceId,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber,\r\n gasApplianceQuestSummaries: []\r\n };\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(resiTypeObj);\r\n this.MainModel.gasRqstTpCd = this.getGasTypeCode(this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'],\r\n questionList[j].id.toString(), this.restypeQuestions[i].answer);\r\n this.MainModel.bcaTypeCd = this.getBcaTypeCode(this.MainModel.gasRqstTpCd);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\nfor (let val = 0; val < this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray.length; val++) {\r\n for (let i = 0; i < this.resPremiseQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.resPremiseQuestions[i].question === questionList[j].itemName && this.resPremiseQuestions[i].panelNumber.toString() ===\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].panelNumber.toString()) {\r\n const resiTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].panelNumber,\r\n questionResponse: this.resPremiseQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n gasApplianceQuestSummaries: []\r\n };\r\n if (this.resPremiseQuestions[i].question === this.constantsSvc.NaturalGasInstlTypeQues) {\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential.length; k++) {\r\n resiTypeObj.gasApplianceQuestSummaries.push({\r\n id: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].id,\r\n gasRequestId: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].gasRequestId,\r\n questionId: questionList[j].id,\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].panelNumber,\r\n applianceId:\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].defaultAppliance.id,\r\n quantityValue: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].quantity,\r\n loadValue: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].defaultValue,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n applianceOthers:\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].defaultAppliance.itemName\r\n === 'OTHER' ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[val].appliancesforResidential[k].defaultApplianceOther\r\n : null\r\n });\r\n }\r\n }\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(resiTypeObj);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // Building the question and answers for residential - Type and Premise Information\r\n getResiQuestionsList() {\r\n\r\n this.resPremiseQuestions = [];\r\n this.restypeQuestions = [];\r\n this.restypeQuestions.push({\r\n question: this.propertyTypeQuestion,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.propertyType['itemName'],\r\n requestType: 'Residential',\r\n panelNumber : '1'\r\n });\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray.length; k++) {\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.HomeSqFtQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialHomeSqFt.toString(),\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.ApproxDistFtQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialApproxDistanceFt.toString(),\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.deliveryPressureQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialDeliveryPressure.id,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.totalUnits,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialNoOfUnit,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.NaturalGasInstlTypeQues,\r\n answer: null,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.constructionStatusQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialStatusofConstruction !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialStatusofConstruction.id : null,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.constantsSvc.UnitDescription,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialUnitDescription,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: this.serviceNeededQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialNeedingServiceDate.toString(),\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n this.resPremiseQuestions.push({\r\n question: 'Building Type',\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialBuildingType !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialBuildingType.id : null,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n\r\n });\r\n\r\n this.resPremiseQuestions.push({\r\n question: this.describeOthersQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialDeliveryPressureOthers === '' ?\r\n null : this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].residentialDeliveryPressureOthers,\r\n requestType: 'Residential',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.residentialFormArray[k].panelNumber.toString()\r\n });\r\n }\r\n}\r\n // MainModel is filled with Type and Premise Information in server expected format - commercial\r\n buildComTypePremiseObj() {\r\n const questionList = this.lookupSvc.gasQuestionnaires.filter(i => i.isCommercial === 'Y');\r\n this.getCommQuestionsList();\r\n if (this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'].toUpperCase() !== RequestTypesEnum.MixedUse.toUpperCase()) {\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray.length; k++) {\r\n for (let i = 0; i < this.comtypeQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.comtypeQuestions[i].question === questionList[j].itemName) {\r\n const commTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.comtypeQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber,\r\n gasApplianceQuestSummaries: []\r\n };\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(commTypeObj);\r\n this.MainModel.gasRqstTpCd = this.getGasTypeCode(this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'],\r\n questionList[j].id.toString(), this.comtypeQuestions[i].answer);\r\n this.MainModel.bcaTypeCd = this.getBcaTypeCode(this.MainModel.gasRqstTpCd);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray.length; k++) {\r\n for (let i = 0; i < this.comPremiseQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.comPremiseQuestions[i].question === questionList[j].itemName && this.comPremiseQuestions[i].panelNumber.toString() ===\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()) {\r\n const commTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.comPremiseQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber,\r\n gasApplianceQuestSummaries: []\r\n };\r\n if (this.comPremiseQuestions[i].question === this.constantsSvc.naturalGasBusinessQ) {\r\n for (let x = 0; x < this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial.length; x++) {\r\n commTypeObj.gasApplianceQuestSummaries.push({\r\n id: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].id,\r\n gasRequestId: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].gasRequestId,\r\n questionId: questionList[j].id,\r\n sequenceId: questionList[j].sequenceId,\r\n applianceId:\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].defaultAppliance.id,\r\n quantityValue: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].quantity,\r\n loadValue: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].defaultValue,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n applianceOthers:\r\n (this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].defaultAppliance.itemName\r\n === 'OTHER' ||\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].defaultAppliance.itemName\r\n === 'OTHER(NO ALLOWABLE)') ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].appliancesforCommercial[x].defaultApplianceOther : null,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber,\r\n });\r\n }\r\n }\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(commTypeObj);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // Building the question and answers for commercial - Type and Premise Information\r\n getCommQuestionsList() {\r\n this.comPremiseQuestions = [];\r\n this.comtypeQuestions = [];\r\n this.comtypeQuestions.push({\r\n question: this.propertyTypeQuestion,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.propertyType['itemName'],\r\n requestType: 'Commercial',\r\n panelNumber: '1'\r\n });\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray.length; k++) {\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.HomeSqFtBusinessQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialHomeSqFt.toString(),\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.approximateDistQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialApproxDistanceFt == null ? '' :\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialApproxDistanceFt.toString(),\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.deliveryPressureQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialDeliveryPressure.id,\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.naturalGasBusinessQ,\r\n answer: null,\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.constructionStatusQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialStatusofConstruction !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialStatusofConstruction.id : null,\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.constantsSvc.UnitDescription,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialUnitDescription,\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: this.serviceNeededQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialNeedingServiceDate.toString(),\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n this.comPremiseQuestions.push({\r\n question: 'Building Type',\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialBuildingType !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialBuildingType.id : null,\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n\r\n this.comPremiseQuestions.push({\r\n question: this.premisePropertyTypeQuestion,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.propertyType['itemName'],\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n\r\n this.comPremiseQuestions.push({\r\n question: this.describeOthersQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialDeliveryPressureOthers ===\r\n '' ? null : this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].commercialDeliveryPressureOthers,\r\n requestType: 'Commercial',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.commercialFormArray[k].panelNumber.toString()\r\n });\r\n }\r\n }\r\n // Retrieve the type of request user is applying gas for\r\n getGasTypeCode(PropertyType: string, QuestionId: string, QuestionResponse: string): string {\r\n // filter the resultset matching propertyType, questionId, questionResponse\r\n const output = this.lookupSvc.gasRequestType.filter(value =>\r\n value.propertyType.toUpperCase() === PropertyType.toUpperCase() &&\r\n value.questionId.toUpperCase() === QuestionId.toUpperCase() &&\r\n value.questionResponse.toUpperCase() === QuestionResponse.toUpperCase()\r\n );\r\n if (output.length > 0) {\r\n return output[0].typeCode;\r\n } else {\r\n return null;\r\n }\r\n }\r\n // Building the question and answers for subdivision - Type and Premise Information\r\n getSubDivisionQuestionsList() {\r\n this.subPremiseQuestions = [];\r\n this.subtypeQuestions = [];\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray.length; k++) {\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.streetTypeQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionDevelopmentStreetType.id,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.numberofHomesQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionNumberOfHomes,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.approxSqFtQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionApproximateSquareFootage == null ?\r\n '' : this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionApproximateSquareFootage.toString(),\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.utilityEasementQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionUtilityEasement.id,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.UnitDescription,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionUnitDescription,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.approxdisthomeQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionApprDistanceFromStreetToUnit == null ?\r\n '' : this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionApprDistanceFromStreetToUnit.toString(),\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.deliveryPressureQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionDeliveryPressure.id,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n\r\n this.subPremiseQuestions.push({\r\n question: 'Building Type',\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionBuildingType !== null ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionBuildingType.id : null,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n\r\n // TODO Attach site plans question has to be fixed\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.siteplanAttach,\r\n answer: 'Yes',\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.electProviderQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionElectricServiceProvider,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.streetCurbsQues,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisonStreetCurbsInstalledDate.toString(),\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n this.subPremiseQuestions.push({\r\n question: this.constantsSvc.appliancesPerHome,\r\n answer: null,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n\r\n this.subPremiseQuestions.push({\r\n question: this.serviceNeededQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisonNeedingServiceDate.toString(),\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n\r\n this.subPremiseQuestions.push({\r\n question: this.describeOthersQuestion,\r\n answer: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionDeliveryPressureOthers === '' ?\r\n null : this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].subdivisionDeliveryPressureOthers,\r\n requestType: 'SubDivision',\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()\r\n });\r\n }\r\n this.subtypeQuestions.push({\r\n question: this.propertyTypeQuestion,\r\n answer: this.steps[StepsIdEnum.TYPE].form.value.propertyType['itemName'],\r\n requestType: 'SubDivision',\r\n panelNumber: '1'\r\n });\r\n }\r\n // MainModel is filled with Type and Premise Information in server expected format - SubDivision\r\n buildSubDivisionTypePremiseObj() {\r\n const questionList = this.lookupSvc.gasQuestionnaires.filter(i => i.isSubdivision === 'Y');\r\n this.getSubDivisionQuestionsList();\r\n if (this.steps[StepsIdEnum.TYPE].form.value.propertyType['itemName'].toUpperCase() === RequestTypesEnum.Subdivision.toUpperCase()) {\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray.length; k++) {\r\n for (let i = 0; i < this.subtypeQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.subtypeQuestions[i].question === questionList[j].itemName) {\r\n const subTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.subtypeQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString(),\r\n gasApplianceQuestSummaries: []\r\n };\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(subTypeObj);\r\n // TODO\r\n this.MainModel.gasRqstTpCd = this.getGasTypeCode(this.steps[StepsIdEnum.TYPE].form.value.propertyType['id'],\r\n questionList[j].id.toString(), this.subtypeQuestions[i].answer);\r\n this.MainModel.bcaTypeCd = this.getBcaTypeCode(this.MainModel.gasRqstTpCd);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n for (let k = 0; k < this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray.length; k++) {\r\n for (let i = 0; i < this.subPremiseQuestions.length; i++) {\r\n for (let j = 0; j < questionList.length; j++) {\r\n if (this.subPremiseQuestions[i].question === questionList[j].itemName && this.subPremiseQuestions[i].panelNumber.toString() ===\r\n this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString()) {\r\n const commTypeObj = {\r\n id: 0,\r\n gasRequestId: 0,\r\n questionId: questionList[j].id,\r\n questionResponse: this.subPremiseQuestions[i].answer,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n sequenceId: questionList[j].sequenceId,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString(),\r\n gasApplianceQuestSummaries: []\r\n };\r\n if (this.subPremiseQuestions[i].question === this.constantsSvc.appliancesPerHome) {\r\n for (let x = 0; x < this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision.length; x++) {\r\n commTypeObj.gasApplianceQuestSummaries.push({\r\n id: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].id,\r\n gasRequestId: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].gasRequestId,\r\n questionId: questionList[j].id,\r\n sequenceId: questionList[j].sequenceId,\r\n applianceId:\r\n this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].defaultAppliance.id,\r\n quantityValue: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].quantity,\r\n loadValue: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].defaultValue,\r\n recordCreatedBy: this.MainModel.applicantName,\r\n recUpdateUsrId: this.MainModel.applicantName,\r\n recUpdateDttm: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n recordCreatedDateTime: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss'),\r\n applianceOthers:\r\n this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].defaultAppliance.itemName === 'OTHER' ?\r\n this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].appliancesForSubdivision[x].defaultApplianceOther : null,\r\n panelNumber: this.steps[StepsIdEnum.PREMISE].form.value.subDivisionFormArray[k].panelNumber.toString(),\r\n });\r\n }\r\n }\r\n this.MainModel.gasRequestTypeAndPremiseDetails.push(commTypeObj);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Retrieve Bca Type Cd based on Gas request type cd\r\n getBcaTypeCode(gasRequestTypeCd: string): string {\r\n const output = this.lookupSvc.gasRequestTypeBcaCode.filter(value =>\r\n value.id.toUpperCase() === gasRequestTypeCd.toUpperCase(),\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.buildingTypeFail, this.constantsSvc.docErrorSwal);\r\n });\r\n if (output.length > 0) {\r\n return output[0].bcaTypeCode;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // WMS Database Call to Web API to add the request with MainModel\r\n add(model: GasRequestModel): Observable> {\r\n return this.http.post({\r\n url: 'Common/AddGasRequest',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // GIS Service Call to Web API to store ga request number in GIS database\r\n postGasRequestNumber(lat: string, longt: string, stateCd: string, requestNum: string): Observable> {\r\n return this.http.post({\r\n url: 'externalService' + '/PostGasRequestNumber',\r\n params: { lat: lat, longt: longt, stateCd: stateCd, requestNum: requestNum },\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // #endregion => Submit Form to Server with transformation\r\n\r\n // #beginregion => Subdivionfile upload and donwload.\r\n\r\n // Yet to use this method.\r\n fileUpload(formData: FormData): Observable> {\r\n return this.http.post({\r\n url: 'SubDivisionFiles/Upload',\r\n data: formData,\r\n params: { 'builderId': '1' },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500\r\n });\r\n }\r\n getAllFiles(builderid?: string, id?: string): Observable> {\r\n return this.http.get({\r\n url: 'SubDivisionFiles/GetAllDocuments',\r\n params: { 'builderId': builderid },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n getBuilderInfo(companyName: string): Observable> {\r\n return this.http.get({\r\n url: 'BuilderInfo/GetBuilderinfo',\r\n params: {'builderName': companyName},\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n // Delete File Controller to be done.\r\n\r\n deleteFiles(builderid: string, id: Array): Observable> {\r\n return this.http.post({\r\n url: 'SubDivisionFiles/Delete',\r\n params: { 'builderId': builderid },\r\n data: id,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n deleteFolder(builderid: string): Observable> {\r\n return this.http.get({\r\n url: 'SubDivisionFiles/DeleteDirectory',\r\n params: { 'builderId': builderid },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL2Fja25vd2xlZGdlL2Fja25vd2xlZGdlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SessionService, StepsIdEnum, LookupsService, MessageTypeEnum } from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-acknowledge',\r\n templateUrl: './acknowledge.component.html',\r\n styleUrls: ['./acknowledge.component.css']\r\n})\r\nexport class AcknowledgeComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n alertMsg: any = [];\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n messageTypeEnum: typeof MessageTypeEnum = MessageTypeEnum;\r\n message = '';\r\n emailAddress: string;\r\n\r\n // constructor\r\n constructor(public router: Router, public wizardSvc: MultistepsService,\r\n private alertService: AlertService, public sessionSvc: SessionService,\r\n public lookupSvc: LookupsService, public browser: PlatformLocation) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.ACKNOWLEDGE);\r\n this.wizardSvc.isWizardCompleted = true;\r\n this.wizardSvc.resetWizardState();\r\n\r\n }\r\n\r\n // used to initialise services\r\n ngOnInit() {\r\n this.browser.onPopState(() => {\r\n let url = window.location.href;\r\n url = url.replace('review', 'location');\r\n window.history.pushState(null, '', url);\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.ACKNOWLEDGE).form;\r\n this.message = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.messageTypeEnum.Acknowledge).message;\r\n // START - CXCO-1848 - Changes for Confirmation \r\n if (this.wizardSvc.MainModel.kmiCommunication === 'Yes') {\r\n this.message = this.message.replace('YY', '');\r\n }\r\n else{\r\n this.message = this.message.replace('YY', 'Hidden');\r\n }\r\n // END - CXCO-1848 - Changes for Confirmation\r\n this.message = this.message.replace('XX', this.wizardSvc.MainModel.id.toString()); \r\n this.emailAddress = this.lookupSvc.messages.filter(x => x.itemName ===\r\n this.wizardSvc.serviceAddress.state.short_name && x.messageType === this.messageTypeEnum.Acknowledge)[0].emailAddress;\r\n\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Acknowledge Builder'));\r\n this.alertService.success(this.alertMsg.message);\r\n }\r\n });\r\n }\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n\r\n // handling page refresh\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) { return this.wizardSvc.canDeactivateStep(route, state, nextState); }\r\n\r\n // used to navigate to home\r\n navigateHome() {\r\n this.sessionSvc.GetBcaData(null);\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n}\r\n","export default \".changeAddress {\\r\\n padding: 9px !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvYWRkcmVzc2VzL2FkZHJlc3Nlcy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsdUJBQXVCO0FBQ3pCIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvYWRkcmVzc2VzL2FkZHJlc3Nlcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNoYW5nZUFkZHJlc3Mge1xyXG4gIHBhZGRpbmc6IDlweCAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, AfterViewInit, HostListener, OnDestroy } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SessionService, StepsIdEnum, ConstantsService, RequestTypesEnum, LookupsService, StepsRouteEnum, StepsCodeEnum } from '@app/base/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate, UspsService, compareObjects, focusFirstInvalidField } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-addresses',\r\n templateUrl: './addresses.component.html',\r\n styleUrls: ['./addresses.component.css']\r\n})\r\nexport class AddressesComponent implements OnInit, AfterViewInit, CanComponentDeactivate, OnDestroy {\r\n form: FormGroup;\r\n alertMsg: any = [];\r\n locationform: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n stepsCodeEnum: typeof StepsCodeEnum = StepsCodeEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n addressToValidate: any;\r\n validatedAddress: any;\r\n addressValidationError: any;\r\n typeform: FormGroup;\r\n isPoBox: boolean;\r\n validationModalId: '#address_validation_modal';\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n\r\n // constructor\r\n constructor(\r\n public wizardSvc: MultistepsService,\r\n public sessionSvc: SessionService,\r\n public constantsSvc: ConstantsService,\r\n public lookupSvc: LookupsService,\r\n private usps: UspsService,\r\n private socoHttp: SocoHttpService,\r\n public alertService: AlertService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.ADDRESSES);\r\n }\r\n\r\n // used to close opened pop ups\r\n ngOnDestroy() {\r\n if ($('#address_validation_modal').is(':visible')) {\r\n $('#address_validation_modal').modal('hide');\r\n }\r\n }\r\n\r\n // used to subscribe to services and call initial methods\r\n ngOnInit() {\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.ADDRESSES).form;\r\n this.isPoBox = this.form.controls['isPoBox'].value;\r\n this.typeform = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n if (this.typeform.value.propertyType.id === 'SUBDIVISION') {\r\n this.form.controls['serviceDevelopementName'].setValidators(Validators.required);\r\n this.form.updateValueAndValidity();\r\n } else {\r\n this.form.controls['serviceDevelopementName'].clearValidators();\r\n this.form.updateValueAndValidity();\r\n }\r\n this.locationform = this.wizardSvc.getStepById(this.stepsIdEnum.LOCATION).form;\r\n\r\n if (this.wizardSvc.addressChanged) {\r\n this.form.controls['mailingAddressSame'].setValue(null);\r\n this.cloneServiceAddress(false);\r\n this.wizardSvc.addressChanged = false;\r\n }\r\n this.form.patchValue({\r\n serviceStreetNumber: this.wizardSvc.serviceAddress.street_number,\r\n serviceStreetName: this.wizardSvc.serviceAddress.street_name,\r\n serviceZip: this.wizardSvc.serviceAddress.zip,\r\n serviceState: this.lookupSvc.serviceState.find(x =>\r\n x.id.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase()),\r\n serviceCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.city.toUpperCase()),\r\n });\r\n\r\n // filling customer requested address as service address\r\n\r\n this.form.patchValue({\r\n customerStreetNumber: !this.wizardSvc.customerRequested ? this.wizardSvc.serviceAddress.street_number :\r\n this.form.controls['customerStreetNumber'].value,\r\n customerStreetName: !this.wizardSvc.customerRequested ? this.wizardSvc.serviceAddress.street_name :\r\n this.form.controls['customerStreetName'].value,\r\n customerZip: this.wizardSvc.serviceAddress.zip,\r\n customerState: this.lookupSvc.serviceState.find(x =>\r\n x.id.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase()),\r\n customerCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.city.toUpperCase()),\r\n\r\n customerCounty: this.lookupSvc.serviceCounty.length > 0 ?\r\n this.lookupSvc.serviceCounty.find(x => x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.county.toUpperCase()) : null\r\n });\r\n\r\n\r\n if (this.locationform.controls['locationStreetNumber'].value !== null && this.locationform.controls['locationStreetNumber'].value !== ''\r\n && this.locationform.controls['locationStreetNumber'].value !== undefined) {\r\n this.form.controls['customerStreetNumber'].setValue(this.locationform.controls['locationStreetNumber'].value);\r\n }\r\n if (this.locationform.controls['locationStreetName'].value !== null && this.locationform.controls['locationStreetName'].value !== '' &&\r\n this.locationform.controls['locationStreetName'].value !== undefined) {\r\n this.form.controls['customerStreetName'].setValue(this.locationform.controls['locationStreetName'].value);\r\n }\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Site Details Builder'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.resolveMailingZip();\r\n }\r\n ngAfterViewInit() { this.listenMailingAddressChanges(); }\r\n\r\n // used to resolve zip code\r\n resolveMailingZip() {\r\n this.form.controls['mailingZip'].valueChanges.subscribe(selectedValue => {\r\n if (this.form.get('mailingAddressSame').value) { return; }\r\n if (this.constantsSvc.zipCodePattern.test(selectedValue)) { // We have a valid ZIP Code.\r\n this.wizardSvc.addressValidationDone = false;\r\n this.socoHttp.showPleaseWait('Processing.', 'ContainerAwaiter');\r\n this.usps.GetCityStateFromZip(selectedValue, (result) => {\r\n if (result.CityStateLookupResponse.ZipCode.Error) {\r\n this.form.patchValue({ mailingZip: null, mailingCity: null, mailingState: null });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.invalidZipSwal, '', this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.lookupSvc.loadMailingAddressCityLookups(result.CityStateLookupResponse.ZipCode.State,\r\n result.CityStateLookupResponse.ZipCode.City);\r\n this.lookupSvc.mailingAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.form.patchValue({\r\n mailingCity: this.lookupSvc.mailingCity.length > 0 ? this.lookupSvc.mailingCity[0] : null,\r\n mailingState: this.lookupSvc.mailingState.length > 0 ? this.lookupSvc.mailingState[0] : null,\r\n });\r\n }\r\n }, fail => { this.socoHttp.hidePleaseWait('ContainerAwaiter'); });\r\n });\r\n }\r\n });\r\n }\r\n\r\n // method to listen to mailing address changes\r\n listenMailingAddressChanges() {\r\n this.form.controls['mailingStreetNumber'].valueChanges.subscribe(value => { this.wizardSvc.addressValidationDone = false; });\r\n this.form.controls['mailingStreetName'].valueChanges.subscribe(value => { this.wizardSvc.addressValidationDone = false; });\r\n this.form.controls['mailingUnitNumber'].valueChanges.subscribe(value => { this.wizardSvc.addressValidationDone = false; });\r\n }\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n\r\n // used to handle page refresh\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (this.form) {\r\n // If form is invalid, then warning dialogs will appear, don't ask for address validation.\r\n const isFormValid = this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n if (this.wizardSvc.addressValidationDone || this.form.controls['isPoBox'].value) { return isFormValid; }\r\n\r\n if (this.form.valid) {\r\n const currentPath = state.url.substring(state.url.lastIndexOf('/') + 1, state.url.length).trim().toLowerCase();\r\n const nextPath = nextState.url.substring(nextState.url.lastIndexOf('/') + 1, nextState.url.length).trim().toLowerCase();\r\n // If we moving forward to next step, make sure address is valid.\r\n if (currentPath === StepsRouteEnum.ADDRESSES && nextPath === StepsRouteEnum.PREMISE) {\r\n this.addressToValidate = {\r\n street: (this.form.getRawValue().mailingStreetNumber + ' ' + this.form.getRawValue().mailingStreetName).toUpperCase(),\r\n city: this.form.getRawValue().mailingCity.itemName.toUpperCase(),\r\n state: this.form.getRawValue().mailingState.id.toUpperCase(),\r\n zip: this.form.getRawValue().mailingZip\r\n };\r\n if (!this.wizardSvc.addressValidationDone && this.addressToValidate) {\r\n this.usps.GetValidatedAddress(this.addressToValidate, (result) => {\r\n if (result.Error) {\r\n this.addressValidationError = result.Error.Description;\r\n } else {\r\n this.validatedAddress = result;\r\n }\r\n\r\n if (compareObjects(this.addressToValidate, this.validatedAddress)) {\r\n this.wizardSvc.addressValidationDone = true;\r\n this.wizardSvc.goToStep(StepsIdEnum.PREMISE);\r\n } else { $('#address_validation_modal').modal('show'); }\r\n });\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n } else { return true; }\r\n } else { return isFormValid; }\r\n } else { return true; }\r\n }\r\n\r\n getAddressFromModal(selectedAddress) {\r\n // Address to validate is same as validated one.\r\n if (!compareObjects(this.addressToValidate, selectedAddress)) {\r\n // 'Address not identical, update the form');\r\n this.form.patchValue({ mailingStreetName: selectedAddress.street.substr(selectedAddress.street.indexOf(' ') + 1) });\r\n }\r\n $('#address_validation_modal').modal('hide');\r\n this.form.updateValueAndValidity();\r\n this.wizardSvc.addressValidationDone = true; // Address validated\r\n this.wizardSvc.goToStep(StepsIdEnum.PREMISE); // Route to premise\r\n }\r\n\r\n modalChangeMailingAddress() {\r\n $('#address_validation_modal').modal('hide');\r\n this.cloneServiceAddress(false);\r\n this.form.get('mailingAddressSame').setValue(false);\r\n focusFirstInvalidField(this.form);\r\n }\r\n\r\n gotoLocationStep() {\r\n this.wizardSvc.changeAddressClicked = true;\r\n this.wizardSvc.goToStep(this.stepsIdEnum.LOCATION);\r\n }\r\n\r\n // method to toggle to input mailing address\r\n mailingAddressToggle(eve: any) {\r\n const mailingAddressSame = (this.form.get('mailingAddressSame'));\r\n if (mailingAddressSame.value) {\r\n this.form.controls['isPoBox'].patchValue(false);\r\n this.form.controls['poBoxAddress'].clearValidators();\r\n this.isPoBox = false;\r\n this.form.controls['poBoxAddress'].setValue('');\r\n }\r\n this.cloneServiceAddress(mailingAddressSame.value);\r\n }\r\n\r\n // method to toggle to input PO\r\n PoBoxToggle(e) {\r\n this.isPoBox = this.form.controls['isPoBox'].value;\r\n if (this.isPoBox) {\r\n this.form.controls['mailingAddressSame'].setValue(false);\r\n this.form.controls['poBoxAddress'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n this.form.controls['mailingStreetName'].clearValidators();\r\n this.form.controls['mailingStreetNumber'].clearValidators();\r\n this.form.controls['poBoxAddress'].enable();\r\n } else {\r\n this.form.controls['poBoxAddress'].clearValidators();\r\n this.form.controls['poBoxAddress'].setValue('');\r\n this.form.controls['mailingStreetName'].patchValue(null);\r\n this.form.controls['mailingStreetName'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.alphaNumericPattern)]);\r\n this.form.controls['mailingStreetNumber'].patchValue(null);\r\n this.form.controls['mailingStreetNumber'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n this.form.controls['mailingUnitNumber'].patchValue(null);\r\n this.form.controls['mailingUnitNumber'].setValidators([\r\n Validators.pattern(this.constantsSvc.alphaNumericPattern)]);\r\n this.form.controls['poBoxAddress'].disable();\r\n this.isPoBox = false;\r\n\r\n this.form.controls['mailingStreetNumber'].enable();\r\n this.form.controls['mailingStreetName'].enable();\r\n this.form.controls['mailingUnitNumber'].enable();\r\n this.form.controls['mailingZip'].enable();\r\n }\r\n }\r\n\r\n // used to clone service address\r\n cloneServiceAddress(same: boolean) {\r\n if (same) {\r\n this.form.patchValue({\r\n mailingStreetNumber: this.form.controls['customerStreetNumber'].value,\r\n mailingStreetName: this.form.controls['customerStreetName'].value,\r\n mailingUnitNumber: this.form.controls['serviceUnitNumber'].value,\r\n mailingZip: this.form.controls['serviceZip'].value,\r\n mailingCity: this.form.controls['serviceCity'].value ? this.form.controls['serviceCity'].value : [],\r\n mailingState: this.form.controls['serviceState'].value ? this.form.controls['serviceState'].value : []\r\n });\r\n this.form.controls['mailingStreetNumber'].disable();\r\n this.form.controls['mailingStreetName'].disable();\r\n this.form.controls['mailingUnitNumber'].disable();\r\n this.form.controls['mailingZip'].disable();\r\n } else {\r\n this.form.patchValue({\r\n mailingStreetNumber: '',\r\n mailingStreetName: '',\r\n mailingUnitNumber: '',\r\n mailingZip: '',\r\n mailingCity: [],\r\n mailingState: []\r\n });\r\n this.form.controls['mailingStreetNumber'].enable();\r\n this.form.controls['mailingStreetName'].enable();\r\n this.form.controls['mailingUnitNumber'].enable();\r\n this.form.controls['mailingZip'].enable();\r\n this.wizardSvc.addressValidationDone = false;\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n\r\n // if user clicks on edit to enter different address\r\n editCustomerAddress() {\r\n this.wizardSvc.customerRequested = true;\r\n this.form.controls['customerStreetNumber'].enable();\r\n this.form.controls['customerStreetName'].enable();\r\n this.wizardSvc.customerAddress.streetNumber = this.form.controls['customerStreetNumber'].value;\r\n this.wizardSvc.customerAddress.streetName = this.form.controls['customerStreetName'].value;\r\n }\r\n\r\n // if user clicks on reset\r\n resetCustomerAddress() {\r\n this.wizardSvc.customerRequested = false;\r\n\r\n if (this.locationform.controls['locationStreetNumber'].value !== null &&\r\n this.locationform.controls['locationStreetNumber'].value !== ''\r\n && this.locationform.controls['locationStreetNumber'].value !== undefined) {\r\n this.form.controls['customerStreetNumber'].setValue(this.locationform.controls['locationStreetNumber'].value);\r\n } else {\r\n this.form.controls['customerStreetNumber'].setValue(this.wizardSvc.serviceAddress.street_number);\r\n }\r\n if (this.locationform.controls['locationStreetName'].value !== null &&\r\n this.locationform.controls['locationStreetName'].value !== '' &&\r\n this.locationform.controls['locationStreetName'].value !== undefined) {\r\n this.form.controls['customerStreetName'].setValue(this.locationform.controls['locationStreetName'].value);\r\n } else {\r\n this.form.controls['customerStreetName'].setValue(this.wizardSvc.serviceAddress.street_name);\r\n }\r\n\r\n\r\n this.form.controls['customerStreetNumber'].disable();\r\n this.form.controls['customerStreetName'].disable();\r\n\r\n if (this.form.controls['mailingAddressSame'].value) {\r\n this.form.controls['mailingAddressSame'].setValue(false);\r\n\r\n this.form.patchValue({\r\n mailingStreetNumber: '',\r\n mailingStreetName: '',\r\n mailingUnitNumber: '',\r\n mailingZip: '',\r\n mailingCity: [],\r\n mailingState: []\r\n });\r\n this.form.controls['mailingStreetNumber'].enable();\r\n this.form.controls['mailingStreetName'].enable();\r\n this.form.controls['mailingUnitNumber'].enable();\r\n this.form.controls['mailingZip'].enable();\r\n this.wizardSvc.addressValidationDone = false;\r\n }\r\n\r\n }\r\n}\r\n","export default \":host .file-preview {\\r\\n /* Since Bootstrap Switch is accepting named color such as primary or success, and we want it darker color to stand from the panel color.\\r\\n We overriding the standard switch CSS in this component only, thats why host >>> needed for the boundary Shadow Dom */\\r\\n background-color: #fff;\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n:host .file-drop-zone {\\r\\n /* Since Bootstrap Switch is accepting named color such as primary or success, and we want it darker color to stand from the panel color.\\r\\n We overriding the standard switch CSS in this component only, thats why host >>> needed for the boundary Shadow Dom */\\r\\n border-radius: 0px;\\r\\n height: 280px;\\r\\n border: 2px dashed #ddd;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width:319px) and (max-width: 414px) {\\r\\n:host ::ng-deep tr.k-filter-row {\\r\\n display: none !important;\\r\\n}\\r\\n:host ::ng-deep th.k-header {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 320px) {\\r\\n h6.panel-title {\\r\\n font-size: 12px;\\r\\n }\\r\\n .input-lg {\\r\\n font-size: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 360px) and (max-width: 414px) {\\r\\n h6.panel-title {\\r\\n font-size: 15px;\\r\\n }\\r\\n\\r\\n @media only screen and (min-width:319px) and (max-width: 414px) {\\r\\n :host ::ng-deep tr.k-filter-row {\\r\\n display: none !important;\\r\\n }\\r\\n :host ::ng-deep th.k-header {\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n }\\r\\n\\r\\n @media only screen and (max-width: 320px) {\\r\\n h6.panel-title {\\r\\n font-size: 12px;\\r\\n }\\r\\n .input-lg {\\r\\n font-size: 15px;\\r\\n }\\r\\n }\\r\\n\\r\\n @media only screen and (min-width: 360px) and (max-width: 414px) {\\r\\n h6.panel-title {\\r\\n font-size: 15px;\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\na {\\r\\n color: #1e88e5 !important;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.breadcrumb > li > a {\\r\\ncolor: Black !important;\\r\\ntext-decoration: none !important;\\r\\n}\\r\\n\\r\\n#searchButton {\\r\\n height: 39px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid-content {\\r\\noverflow-y: hidden;\\r\\n}\\r\\n\\r\\n.anchor-text-color {\\r\\n color: #000000 !important;\\r\\n}\\r\\n\\r\\n.agreement-banner {\\r\\nbackground-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\nheight: 180px !important;\\r\\nmargin-bottom: 10px;\\r\\n}\\r\\n\\r\\n::-webkit-input-placeholder {\\r\\n /* Chrome/Opera/Safari */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n::-moz-placeholder {\\r\\n /* Firefox 19+ */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n:-ms-input-placeholder {\\r\\n /* IE 10+ */\\r\\n white-space: pre-line;\\r\\n /* position: relative;*/\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n:-moz-placeholder {\\r\\n /* Firefox 18- */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n.panel {\\r\\n margin-bottom : 0px !important;\\r\\n}\\r\\n\\r\\n.panel-heading, .panel-body {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.k-grid-header {\\r\\n border-top-width: 1px;\\r\\n}\\r\\n\\r\\n.form-horizontal .form-group {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\ninput::-moz-placeholder{\\r\\nposition: relative;\\r\\ntop: 2px;\\r\\n}\\r\\n\\r\\ninput::placeholder{\\r\\nposition: relative;\\r\\ntop: 2px;\\r\\n}\\r\\n\\r\\nlegend {\\r\\ndisplay: block;\\r\\nwidth: 100%;\\r\\npadding: 0;\\r\\nmargin-bottom: 20px;\\r\\nline-height: inherit;\\r\\ncolor: #333333;\\r\\nborder: 0;\\r\\nborder-bottom: 1px solid #d8d8d8;\\r\\n}\\r\\n\\r\\nlegend {\\r\\nfont-size: 12px;\\r\\npadding-top: 5px;\\r\\npadding-bottom: 5px;\\r\\ntext-transform: capitalize;\\r\\n\\r\\n}\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) {\\r\\n#searchButton {\\r\\n margin-left: 2px;\\r\\n margin-top: -2px;\\r\\n}\\r\\n\\r\\n:-ms-input-placeholder {\\r\\n white-space: pre-line !important;\\r\\n top: -7px !important;\\r\\n}\\r\\n\\r\\n.input-group .form-control {\\r\\n position:static !important;\\r\\n z-index: 2 !important;\\r\\n float: left !important;\\r\\n width: 100% !important;\\r\\n margin-bottom: 0px !important;\\r\\n}\\r\\n}\\r\\n\\r\\n#brdCrmb{\\r\\ndisplay: none !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px){\\r\\n#brdCrmb{\\r\\ndisplay: block !important;\\r\\n}\\r\\n}\\r\\n\\r\\n.spanDoc{\\r\\ncolor:black;\\r\\n}\\r\\n\\r\\n.mrktrdoc {\\r\\nmargin-bottom:30px !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvYWdyZWVtZW50cy9hZ3JlZW1lbnRzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTswSEFDd0g7RUFDeEgsc0JBQXNCO0VBQ3RCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFOzBIQUN3SDtFQUN4SCxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHVCQUF1QjtBQUN6Qjs7QUFDQTtBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7O0FBRUE7RUFDRTtJQUNFLGVBQWU7RUFDakI7RUFDQTtJQUNFLGVBQWU7RUFDakI7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsZUFBZTtFQUNqQjs7RUFFQTtJQUNFO01BQ0Usd0JBQXdCO0lBQzFCO0lBQ0E7TUFDRSx3QkFBd0I7SUFDMUI7O0lBRUE7O0lBRUE7TUFDRTtRQUNFLGVBQWU7TUFDakI7TUFDQTtRQUNFLGVBQWU7TUFDakI7SUFDRjs7SUFFQTtNQUNFO1FBQ0UsZUFBZTtNQUNqQjtJQUNGO0FBQ0o7O0FBQ0E7RUFDRSx5QkFBeUI7RUFDekIsMEJBQTBCO0FBQzVCOztBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLGdDQUFnQztBQUNoQzs7QUFDQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtBQUNBLDREQUE0RDtBQUM1RCx3QkFBd0I7QUFDeEIsbUJBQW1CO0FBQ25COztBQUNBO0VBQ0Usd0JBQXdCO0VBQ3hCLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsU0FBUztBQUNYOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsU0FBUztBQUNYOztBQUVBO0VBQ0UsV0FBVztFQUNYLHFCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsU0FBUztBQUNYOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsU0FBUztBQUNYOztBQUNBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUNBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsU0FBUztBQUNYOztBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCLFFBQVE7QUFDUjs7QUFIQTtBQUNBLGtCQUFrQjtBQUNsQixRQUFRO0FBQ1I7O0FBQ0E7QUFDQSxjQUFjO0FBQ2QsV0FBVztBQUNYLFVBQVU7QUFDVixtQkFBbUI7QUFDbkIsb0JBQW9CO0FBQ3BCLGNBQWM7QUFDZCxTQUFTO0FBQ1QsZ0NBQWdDO0FBQ2hDOztBQUVBO0FBQ0EsZUFBZTtBQUNmLGdCQUFnQjtBQUNoQixtQkFBbUI7QUFDbkIsMEJBQTBCOztBQUUxQjs7QUFFQTtBQUNBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGdDQUFnQztFQUNoQyxvQkFBb0I7QUFDdEI7O0FBRUE7RUFDRSwwQkFBMEI7RUFDMUIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixzQkFBc0I7RUFDdEIsNkJBQTZCO0FBQy9CO0FBQ0E7O0FBR0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBOztBQUVBO0FBQ0EsV0FBVztBQUNYOztBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvYWdyZWVtZW50cy9hZ3JlZW1lbnRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdCAuZmlsZS1wcmV2aWV3IHtcclxuICAvKiBTaW5jZSBCb290c3RyYXAgU3dpdGNoIGlzIGFjY2VwdGluZyBuYW1lZCBjb2xvciBzdWNoIGFzIHByaW1hcnkgb3Igc3VjY2VzcywgYW5kIHdlIHdhbnQgaXQgZGFya2VyIGNvbG9yIHRvIHN0YW5kIGZyb20gdGhlIHBhbmVsIGNvbG9yLlxyXG4gICAgIFdlIG92ZXJyaWRpbmcgdGhlIHN0YW5kYXJkIHN3aXRjaCBDU1MgaW4gdGhpcyBjb21wb25lbnQgb25seSwgdGhhdHMgd2h5IGhvc3QgPj4+IG5lZWRlZCBmb3IgdGhlIGJvdW5kYXJ5IFNoYWRvdyBEb20gKi9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweDtcclxufVxyXG5cclxuOmhvc3QgLmZpbGUtZHJvcC16b25lIHtcclxuICAvKiBTaW5jZSBCb290c3RyYXAgU3dpdGNoIGlzIGFjY2VwdGluZyBuYW1lZCBjb2xvciBzdWNoIGFzIHByaW1hcnkgb3Igc3VjY2VzcywgYW5kIHdlIHdhbnQgaXQgZGFya2VyIGNvbG9yIHRvIHN0YW5kIGZyb20gdGhlIHBhbmVsIGNvbG9yLlxyXG4gICAgIFdlIG92ZXJyaWRpbmcgdGhlIHN0YW5kYXJkIHN3aXRjaCBDU1MgaW4gdGhpcyBjb21wb25lbnQgb25seSwgdGhhdHMgd2h5IGhvc3QgPj4+IG5lZWRlZCBmb3IgdGhlIGJvdW5kYXJ5IFNoYWRvdyBEb20gKi9cclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgaGVpZ2h0OiAyODBweDtcclxuICBib3JkZXI6IDJweCBkYXNoZWQgI2RkZDtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MzE5cHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xyXG46aG9zdCA6Om5nLWRlZXAgdHIuay1maWx0ZXItcm93IHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuOmhvc3QgOjpuZy1kZWVwIHRoLmstaGVhZGVyIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgIChtYXgtd2lkdGg6IDMyMHB4KSB7XHJcbiAgaDYucGFuZWwtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gIH1cclxuICAuaW5wdXQtbGcge1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAgKG1pbi13aWR0aDogMzYwcHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xyXG4gIGg2LnBhbmVsLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDozMTlweCkgYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XHJcbiAgICA6aG9zdCA6Om5nLWRlZXAgdHIuay1maWx0ZXItcm93IHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgOmhvc3QgOjpuZy1kZWVwIHRoLmstaGVhZGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICAobWF4LXdpZHRoOiAzMjBweCkge1xyXG4gICAgICBoNi5wYW5lbC10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5pbnB1dC1sZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAgKG1pbi13aWR0aDogMzYwcHgpIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xyXG4gICAgICBoNi5wYW5lbC10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbn1cclxuYSB7XHJcbiAgY29sb3I6ICMxZTg4ZTUgIWltcG9ydGFudDtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG4uYnJlYWRjcnVtYiA+IGxpID4gYSB7XHJcbmNvbG9yOiBCbGFjayAhaW1wb3J0YW50O1xyXG50ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4jc2VhcmNoQnV0dG9uIHtcclxuICBoZWlnaHQ6IDM5cHggIWltcG9ydGFudDtcclxufVxyXG46aG9zdCA6Om5nLWRlZXAgIC5rLWdyaWQtY29udGVudCB7XHJcbm92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG5cclxuLmFuY2hvci10ZXh0LWNvbG9yIHtcclxuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWdyZWVtZW50LWJhbm5lciB7XHJcbmJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvbG9jYXRpb24uanBnXCIpO1xyXG5oZWlnaHQ6IDE4MHB4ICFpbXBvcnRhbnQ7XHJcbm1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXHJcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IC03cHg7XHJcbn1cclxuXHJcbjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgLyogRmlyZWZveCAxOSsgKi9cclxuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTdweDtcclxufVxyXG5cclxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgLyogSUUgMTArICovXHJcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xyXG4gIC8qIHBvc2l0aW9uOiByZWxhdGl2ZTsqL1xyXG4gIHRvcDogLTdweDtcclxufVxyXG5cclxuOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gIC8qIEZpcmVmb3ggMTgtICovXHJcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IC03cHg7XHJcbn1cclxuLnBhbmVsIHtcclxuICBtYXJnaW4tYm90dG9tIDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnBhbmVsLWhlYWRpbmcsIC5wYW5lbC1ib2R5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG59XHJcblxyXG4uay1ncmlkLWhlYWRlciB7XHJcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuaW5wdXQ6OnBsYWNlaG9sZGVye1xyXG5wb3NpdGlvbjogcmVsYXRpdmU7XHJcbnRvcDogMnB4O1xyXG59XHJcbmxlZ2VuZCB7XHJcbmRpc3BsYXk6IGJsb2NrO1xyXG53aWR0aDogMTAwJTtcclxucGFkZGluZzogMDtcclxubWFyZ2luLWJvdHRvbTogMjBweDtcclxubGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbmNvbG9yOiAjMzMzMzMzO1xyXG5ib3JkZXI6IDA7XHJcbmJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG5mb250LXNpemU6IDEycHg7XHJcbnBhZGRpbmctdG9wOiA1cHg7XHJcbnBhZGRpbmctYm90dG9tOiA1cHg7XHJcbnRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4jc2VhcmNoQnV0dG9uIHtcclxuICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gIG1hcmdpbi10b3A6IC0ycHg7XHJcbn1cclxuXHJcbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZSAhaW1wb3J0YW50O1xyXG4gIHRvcDogLTdweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XHJcbiAgcG9zaXRpb246c3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDogMiAhaW1wb3J0YW50O1xyXG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxufVxyXG59XHJcblxyXG5cclxuI2JyZENybWJ7XHJcbmRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcclxuI2JyZENybWJ7XHJcbmRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG5cclxuLnNwYW5Eb2N7XHJcbmNvbG9yOmJsYWNrO1xyXG59XHJcbi5tcmt0cmRvYyB7XHJcbm1hcmdpbi1ib3R0b206MzBweCAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, ChangeDetectorRef, OnDestroy, Inject } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Attachment } from '@app/base/core/models';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { GridDataResult, DataStateChangeEvent, RowArgs, SelectAllCheckboxState } from '@progress/kendo-angular-grid';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { SessionService, LookupsService, ConstantsService } from '@app/core/services';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-agreements',\r\n templateUrl: './agreements.component.html',\r\n styleUrls: ['./agreements.component.css']\r\n})\r\nexport class AgreementsComponent implements OnInit, OnDestroy {\r\n // Kendo grid values\r\n\r\n setClickedRow: Function;\r\n public SearchResultsGridView: GridDataResult;\r\n StatusSearchResults: Attachment[];\r\n selectedRecord: Attachment = new Attachment();\r\n defaultSkip = 0;\r\n documentInput: any = {};\r\n defaultItemsPerPage = 10;\r\n public rowValue: string;\r\n public pageSizes = true;\r\n public previousNext = true;\r\n public buttonCount = 5;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public take = 10;\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: this.defaultItemsPerPage,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public mySelection: number[] = [];\r\n public position = this.constantsvc.position;\r\n public statevalue: SelectAllCheckboxState = 'unchecked';\r\n public items: any[];\r\n public queryParam: any;\r\n public killsubscribe: boolean;\r\n public companyName: string = null;\r\n\r\n public attachmentTitleValue: string;\r\n dropdownSettings: any;\r\n builderAttachmentForm: FormGroup;\r\n requestStatusForm: FormGroup;\r\n alertMsg: any = [];\r\n getAgreementsSubscription: Subscription;\r\n\r\n\r\n constructor(private cd: ChangeDetectorRef, private builderService: BuilderService,\r\n private session: SessionService, private config: SocoConfigurationService, private alertService: AlertService,\r\n public lookupSvc: LookupsService, @Inject(Router) private router: Router,\r\n public socoHttp: SocoHttpService, public datepipe: DatePipe, public constantsvc: ConstantsService) {\r\n this.setClickedRow = function(index) {\r\n this.selectedRow = index;\r\n };\r\n this.killsubscribe = true;\r\n this.session.builderData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n this.documentInput.Builder = success.CompanyName;\r\n this.documentInput.Folder = this.constantsvc.builderMarketerAgreement;\r\n this.companyName = success.CompanyName;\r\n this.getAgreementsSubscription = this.builderService.findFilesByMetadata(this.documentInput).subscribe(result => {\r\n if (result.data.length !== 0) {\r\n for ( let i = 0; i < result.data.length; i++) {\r\n if (result.data[i]['creationDate'] !== undefined) {\r\n result.data[i]['creationDate'] = new Date(this.datepipe.transform(result.data[i]['creationDate'], 'MM/dd/yyyy'));\r\n }\r\n }\r\n this.items = result.data,\r\n this.StatusSearchResults = this.items;\r\n\r\n\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n\r\n } else {\r\n this.StatusSearchResults = [];\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n\r\n },\r\n error => {\r\n this.StatusSearchResults = [];\r\n swal(this.constantsvc.errorSwal1, this.constantsvc.docErrorSwal, this.constantsvc.errorSwal);\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n\r\n },\r\n );\r\n }\r\n });\r\n\r\n this.dropdownSettings = {\r\n singleSelection: true,\r\n text: 'Select Value',\r\n enableSearchFilter: true\r\n };\r\n }\r\n\r\n public ngOnInit() {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n // Load common Lookups\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === this.constantsvc.bannermsgAgrements));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.state = {\r\n skip: this.defaultSkip,\r\n take: this.take\r\n };\r\n this.requestStatusForm = new FormGroup({ // Init form\r\n requestId: new FormControl(''),\r\n }, { updateOn: 'blur' });\r\n }\r\n// Binding data on statechange\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.take = state.take;\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n }\r\n // For UnSubscriptions\r\n ngOnDestroy() {\r\n if (this.getAgreementsSubscription) {\r\n this.getAgreementsSubscription.unsubscribe();\r\n }\r\n this.killsubscribe = false;\r\n\r\n }\r\n// Kendo grid selection change event\r\n selectionChange(ev: any) {\r\n this.rowValue = ev.index;\r\n this.selectedRecord = this.StatusSearchResults[this.rowValue];\r\n }\r\n// Selected item\r\n public mySelectionKey(context: RowArgs): string {\r\n return context.dataItem.ProductName + ' ' + context.index;\r\n }\r\n // Submitform for searching the agreements\r\n submitForm() {\r\n let id = null;\r\n if (this.requestStatusForm.controls['requestId'].value != null) {\r\n id = this.requestStatusForm.controls['requestId'].value;\r\n this.documentInput.Name = id;\r\n this.documentInput.Builder = this.companyName;\r\n this.documentInput.Folder = this.constantsvc.builderMarketerAgreement;\r\n }\r\n this.getagreements();\r\n }\r\n // To refresh grid on click of refresh button\r\n refreshGrid() {\r\n this.requestStatusForm.patchValue({\r\n requestId: null\r\n });\r\n this.documentInput.Name = null;\r\n this.documentInput.Builder = this.companyName;\r\n this.documentInput.Folder = this.constantsvc.builderMarketerAgreement;\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.getagreements();\r\n }\r\n // To go to builder home page\r\n navigateHome() {\r\n this.session.GetBcaData(null);\r\n this.router.navigate([\r\n this.session.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n // To get marketer agreements\r\n getagreements() {\r\n this.getAgreementsSubscription = this.builderService.findFilesByMetadata(this.documentInput).subscribe(result => {\r\n if (result.data.length !== 0) {\r\n this.items = result.data,\r\n this.StatusSearchResults = this.items;\r\n this.StatusSearchResults.forEach(\r\n a => (a.creationDate = new Date(a.creationDate))\r\n );\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n } else {\r\n this.StatusSearchResults = [];\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n\r\n },\r\n error => {\r\n this.StatusSearchResults = [];\r\n swal(this.constantsvc.errorSwal1, this.constantsvc.docErrorSwal, this.constantsvc.errorSwal);\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n );\r\n }\r\n}\r\n\r\n","export default \":host>>>.file-preview {\\r\\n /* Since Bootstrap Switch is accepting named color such as primary or success, and we want it darker color to stand from the panel color.\\r\\n We overriding the standard switch CSS in this component only, thats why host >>> needed for the boundary Shadow Dom */\\r\\n background-color: #fff;\\r\\n border-radius: 0px;\\r\\n}\\r\\n\\r\\n:host>>>.file-drop-zone {\\r\\n /* Since Bootstrap Switch is accepting named color such as primary or success, and we want it darker color to stand from the panel color.\\r\\n We overriding the standard switch CSS in this component only, thats why host >>> needed for the boundary Shadow Dom */\\r\\n border-radius: 0px;\\r\\n /* height: 280px; */\\r\\n border: 2px dashed #ddd;\\r\\n}\\r\\n\\r\\n.mobileTable{\\r\\n padding-left: 10px;\\r\\n word-wrap: break-word;\\r\\n}\\r\\n\\r\\n:host>>>.krajee-default.file-preview-frame {\\r\\n margin: 8px !important;\\r\\n border: 1px solid rgba(0,0,0,.2) !important;\\r\\n box-shadow: 0 0 10px 0 rgba(0,0,0,.2) !important;\\r\\n padding: 6px !important;\\r\\n float: left !important;\\r\\n text-align: center !important;\\r\\n}\\r\\n\\r\\na {\\r\\n color: #1e88e5 !important;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.anchor-text-color {\\r\\n color: #000000 !important;\\r\\n}\\r\\n\\r\\n::-webkit-input-placeholder {\\r\\n /* Chrome/Opera/Safari */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n::-moz-placeholder {\\r\\n /* Firefox 19+ */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width:319px) and (max-width: 414px) {\\r\\n :host ::ng-deep tr.k-filter-row {\\r\\n display: none !important;\\r\\n }\\r\\n :host ::ng-deep th.k-header {\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n }\\r\\n\\r\\n@media only screen and (max-width: 320px) {\\r\\n h6.panel-title {\\r\\n font-size: 12px;\\r\\n }\\r\\n .input-lg {\\r\\n font-size: 15px;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen and (min-width: 360px) and (max-width: 414px) {\\r\\n h6.panel-title {\\r\\n font-size: 15px;\\r\\n }\\r\\n\\r\\n }\\r\\n\\r\\n:-ms-input-placeholder {\\r\\n /* IE 10+ */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid-content {\\r\\n overflow-y: hidden;\\r\\n}\\r\\n\\r\\n:-moz-placeholder {\\r\\n /* Firefox 18- */\\r\\n white-space: pre-line;\\r\\n position: relative;\\r\\n top: -7px;\\r\\n}\\r\\n\\r\\n.panel {\\r\\n margin-bottom: 0px !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n.panel-heading, .panel-body {\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.k-grid-header {\\r\\n border-top-width: 1px;\\r\\n}\\r\\n\\r\\n.form-horizontal .form-group {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\ninput::-moz-placeholder{\\r\\n position: relative;\\r\\n top: 2px;\\r\\n}\\r\\n\\r\\ninput::placeholder{\\r\\n position: relative;\\r\\n top: 2px;\\r\\n}\\r\\n\\r\\nlegend {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n margin-bottom: 20px;\\r\\n line-height: inherit;\\r\\n padding-left: 0px !important;\\r\\n color: #333333;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #d8d8d8;\\r\\n text-transform: none !important;\\r\\n}\\r\\n\\r\\n.panel-title {\\r\\n color: black !important;\\r\\n margin-top:-10px !important;\\r\\n}\\r\\n\\r\\n.file-drop-zone .file-error-message {\\r\\n margin-top: 5px;\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.upload-btn-wrapper input[type=file] {\\r\\n font-size: 100px;\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.upload-btn-wrapper {\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n display: inline-block;\\r\\n}\\r\\n\\r\\n.width {\\r\\n width: 106% !important;\\r\\n}\\r\\n\\r\\n.btn {\\r\\n padding: 4.2px 35px;\\r\\n font-size: 18px;\\r\\n margin-left: 30px;\\r\\n}\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) {\\r\\n #searchButton {\\r\\n margin-left: 2px;\\r\\n margin-top: -2px;\\r\\n }\\r\\n\\r\\n :-ms-input-placeholder {\\r\\n white-space: pre-line !important;\\r\\n top: -7px !important;\\r\\n }\\r\\n\\r\\n .input-group .form-control {\\r\\n position: static !important;\\r\\n z-index: 2 !important;\\r\\n float: left !important;\\r\\n width: 100% !important;\\r\\n margin-bottom: 0px !important;\\r\\n }\\r\\n\\r\\n .input-style .form-control {\\r\\n height:44px !important;\\r\\n padding:9px 15px !important;\\r\\n font-size:17px !important;\\r\\n line-height: 1.4285715 !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.input-style.form-control {\\r\\n\\r\\n}\\r\\n\\r\\n#searchButton {\\r\\n height: 39px !important;\\r\\n}\\r\\n\\r\\n#brdCrmb{\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px){\\r\\n#brdCrmb{\\r\\n display: block !important;\\r\\n}\\r\\n}\\r\\n\\r\\n.iconfont{\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.breadcrumb {\\r\\n border-radius: 0;\\r\\n margin-bottom: 0;\\r\\n margin-top: -20px !important;\\r\\n}\\r\\n\\r\\n#projectHeading{\\r\\n font-size:12px;\\r\\n padding:5px;\\r\\n color:black !important;\\r\\n}\\r\\n\\r\\n#projectName{\\r\\n margin-top:-10px;\\r\\n\\r\\n}\\r\\n\\r\\n#projectNumber{\\r\\n margin-top:-10px;\\r\\n}\\r\\n\\r\\n/*@media only screen and (max-width: 1025px) {\\r\\n\\r\\n #projectName {\\r\\n margin-top: 1px;\\r\\n }\\r\\n}*/\\r\\n\\r\\n:host>>>.ng-select-container {\\r\\n height: 44px !important;\\r\\n width: 98.2% !important;\\r\\n}\\r\\n\\r\\n:host>>>.ng-placeholder {\\r\\n padding: 9px 15px !important;\\r\\n font-size: 17px !important;\\r\\n line-height: 1.4285715 !important;\\r\\n}\\r\\n\\r\\n#attachmentForm {\\r\\n border: 0 !important;\\r\\n background-color: whitesmoke !important;\\r\\n}\\r\\n\\r\\n.attachmentType {\\r\\n padding-left: 1 !important;\\r\\n}\\r\\n\\r\\n#gasReqSearchDiv {\\r\\n margin-bottom: 5px !important;\\r\\n}\\r\\n\\r\\n#formDiv {\\r\\n padding-right: 1;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n#Comments {\\r\\n height: 44px !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1025px) {\\r\\n\\r\\n .attachmentType {\\r\\n margin-left: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 500px) {\\r\\n\\r\\n .attachmentType {\\r\\n width:95%\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvYmNhLWFncmVlbWVudHMvYmNhLWFncmVlbWVudHMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFOzBIQUN3SDtFQUN4SCxzQkFBc0I7RUFDdEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0U7MEhBQ3dIO0VBQ3hILGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsdUJBQXVCO0FBQ3pCOztBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtBQUN2Qjs7QUFDQTtFQUNFLHNCQUFzQjtFQUN0QiwyQ0FBMkM7RUFDM0MsZ0RBQWdEO0VBQ2hELHVCQUF1QjtFQUN2QixzQkFBc0I7RUFDdEIsNkJBQTZCO0FBQy9COztBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLFNBQVM7QUFDWDs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLFNBQVM7QUFDWDs7QUFDQTtFQUNFO0lBQ0Usd0JBQXdCO0VBQzFCO0VBQ0E7SUFDRSx3QkFBd0I7RUFDMUI7O0VBRUE7O0FBRUE7SUFDRTtNQUNFLGVBQWU7SUFDakI7SUFDQTtNQUNFLGVBQWU7SUFDakI7RUFDRjs7QUFFQTtJQUNFO01BQ0UsZUFBZTtJQUNqQjs7RUFFRjs7QUFDRjtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLFNBQVM7QUFDWDs7QUFDQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFDQTtFQUNFLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLFNBQVM7QUFDWDs7QUFDQTtFQUNFLDZCQUE2QjtFQUM3QixrQ0FBa0M7QUFDcEM7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxTQUFTO0FBQ1g7O0FBQ0E7RUFDRSxrQkFBa0I7RUFDbEIsUUFBUTtBQUNWOztBQUhBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7QUFDVjs7QUFDQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsNEJBQTRCO0VBQzVCLGNBQWM7RUFDZCxTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLCtCQUErQjtBQUNqQzs7QUFDQTtFQUNFLHVCQUF1QjtFQUN2QiwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxlQUFlO0VBQ2Ysd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixPQUFPO0VBQ1AsTUFBTTtFQUNOLFVBQVU7QUFDWjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIscUJBQXFCO0FBQ3ZCOztBQUNBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUNBO0VBQ0UsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRTtJQUNFLGdCQUFnQjtJQUNoQixnQkFBZ0I7RUFDbEI7O0VBRUE7SUFDRSxnQ0FBZ0M7SUFDaEMsb0JBQW9CO0VBQ3RCOztFQUVBO0lBQ0UsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLDZCQUE2QjtFQUMvQjs7RUFFQTtJQUNFLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLGlDQUFpQztFQUNuQztBQUNGOztBQUNBOztBQUVBOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUNBO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7QUFDQTs7QUFDQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxnQkFBZ0I7O0FBRWxCOztBQUNBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBOzs7OztFQUtFOztBQUNGO0VBQ0UsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtBQUN6Qjs7QUFDQTtFQUNFLDRCQUE0QjtFQUM1QiwwQkFBMEI7RUFDMUIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLHVDQUF1QztBQUN6Qzs7QUFFQTtFQUNFLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7O0VBRUU7SUFDRSxpQkFBaUI7RUFDbkI7QUFDRjs7QUFFQTs7RUFFRTtJQUNFO0VBQ0Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL2JjYS1hZ3JlZW1lbnRzL2JjYS1hZ3JlZW1lbnRzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6aG9zdD4+Pi5maWxlLXByZXZpZXcge1xyXG4gIC8qIFNpbmNlIEJvb3RzdHJhcCBTd2l0Y2ggaXMgYWNjZXB0aW5nIG5hbWVkIGNvbG9yIHN1Y2ggYXMgcHJpbWFyeSBvciBzdWNjZXNzLCBhbmQgd2Ugd2FudCBpdCBkYXJrZXIgY29sb3IgdG8gc3RhbmQgZnJvbSB0aGUgcGFuZWwgY29sb3IuXHJcbiAgICAgV2Ugb3ZlcnJpZGluZyB0aGUgc3RhbmRhcmQgc3dpdGNoIENTUyBpbiB0aGlzIGNvbXBvbmVudCBvbmx5LCB0aGF0cyB3aHkgaG9zdCA+Pj4gbmVlZGVkIGZvciB0aGUgYm91bmRhcnkgU2hhZG93IERvbSAqL1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG59XHJcblxyXG46aG9zdD4+Pi5maWxlLWRyb3Atem9uZSB7XHJcbiAgLyogU2luY2UgQm9vdHN0cmFwIFN3aXRjaCBpcyBhY2NlcHRpbmcgbmFtZWQgY29sb3Igc3VjaCBhcyBwcmltYXJ5IG9yIHN1Y2Nlc3MsIGFuZCB3ZSB3YW50IGl0IGRhcmtlciBjb2xvciB0byBzdGFuZCBmcm9tIHRoZSBwYW5lbCBjb2xvci5cclxuICAgICBXZSBvdmVycmlkaW5nIHRoZSBzdGFuZGFyZCBzd2l0Y2ggQ1NTIGluIHRoaXMgY29tcG9uZW50IG9ubHksIHRoYXRzIHdoeSBob3N0ID4+PiBuZWVkZWQgZm9yIHRoZSBib3VuZGFyeSBTaGFkb3cgRG9tICovXHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIC8qIGhlaWdodDogMjgwcHg7ICovXHJcbiAgYm9yZGVyOiAycHggZGFzaGVkICNkZGQ7XHJcbn1cclxuLm1vYmlsZVRhYmxle1xyXG4gIHBhZGRpbmctbGVmdDogMTBweDtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuOmhvc3Q+Pj4ua3JhamVlLWRlZmF1bHQuZmlsZS1wcmV2aWV3LWZyYW1lIHtcclxuICBtYXJnaW46IDhweCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpICFpbXBvcnRhbnQ7XHJcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsMCwwLC4yKSAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6IDZweCAhaW1wb3J0YW50O1xyXG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuYSB7XHJcbiAgY29sb3I6ICMxZTg4ZTUgIWltcG9ydGFudDtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmFuY2hvci10ZXh0LWNvbG9yIHtcclxuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cclxuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTdweDtcclxufVxyXG5cclxuOjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAvKiBGaXJlZm94IDE5KyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtN3B4O1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDozMTlweCkgYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XHJcbiAgOmhvc3QgOjpuZy1kZWVwIHRyLmstZmlsdGVyLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIDpob3N0IDo6bmctZGVlcCB0aC5rLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgIChtYXgtd2lkdGg6IDMyMHB4KSB7XHJcbiAgICBoNi5wYW5lbC10aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuICAgIC5pbnB1dC1sZyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgIChtaW4td2lkdGg6IDM2MHB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcclxuICAgIGg2LnBhbmVsLXRpdGxlIHtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gIC8qIElFIDEwKyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtN3B4O1xyXG59XHJcbjpob3N0IDo6bmctZGVlcCAgLmstZ3JpZC1jb250ZW50IHtcclxuICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuOi1tb3otcGxhY2Vob2xkZXIge1xyXG4gIC8qIEZpcmVmb3ggMTgtICovXHJcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IC03cHg7XHJcbn1cclxuLnBhbmVsIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucGFuZWwtaGVhZGluZywgLnBhbmVsLWJvZHkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uay1ncmlkLWhlYWRlciB7XHJcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xyXG59XHJcblxyXG4uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuaW5wdXQ6OnBsYWNlaG9sZGVye1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IDJweDtcclxufVxyXG5sZWdlbmQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMzMzMzMzO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q4ZDhkODtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5wYW5lbC10aXRsZSB7XHJcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDotMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmlsZS1kcm9wLXpvbmUgLmZpbGUtZXJyb3ItbWVzc2FnZSB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVwbG9hZC1idG4td3JhcHBlciBpbnB1dFt0eXBlPWZpbGVdIHtcclxuICBmb250LXNpemU6IDEwMHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4udXBsb2FkLWJ0bi13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLndpZHRoIHtcclxuICB3aWR0aDogMTA2JSAhaW1wb3J0YW50O1xyXG59XHJcbi5idG4ge1xyXG4gIHBhZGRpbmc6IDQuMnB4IDM1cHg7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgI3NlYXJjaEJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogLTJweDtcclxuICB9XHJcblxyXG4gIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IC03cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDIgIWltcG9ydGFudDtcclxuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtc3R5bGUgLmZvcm0tY29udHJvbCB7XHJcbiAgICBoZWlnaHQ6NDRweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzo5cHggMTVweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOjE3cHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLmlucHV0LXN0eWxlLmZvcm0tY29udHJvbCB7XHJcblxyXG59XHJcblxyXG4jc2VhcmNoQnV0dG9uIHtcclxuICBoZWlnaHQ6IDM5cHggIWltcG9ydGFudDtcclxufVxyXG4jYnJkQ3JtYntcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XHJcbiNicmRDcm1ie1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG4uaWNvbmZvbnR7XHJcbiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5icmVhZGNydW1iIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbWFyZ2luLXRvcDogLTIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuI3Byb2plY3RIZWFkaW5ne1xyXG4gIGZvbnQtc2l6ZToxMnB4O1xyXG4gIHBhZGRpbmc6NXB4O1xyXG4gIGNvbG9yOmJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNwcm9qZWN0TmFtZXtcclxuICBtYXJnaW4tdG9wOi0xMHB4O1xyXG5cclxufVxyXG4jcHJvamVjdE51bWJlcntcclxuICBtYXJnaW4tdG9wOi0xMHB4O1xyXG59XHJcblxyXG4vKkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7XHJcblxyXG4gICNwcm9qZWN0TmFtZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxcHg7XHJcbiAgfVxyXG59Ki9cclxuOmhvc3Q+Pj4ubmctc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6IDk4LjIlICFpbXBvcnRhbnQ7XHJcbn1cclxuOmhvc3Q+Pj4ubmctcGxhY2Vob2xkZXIge1xyXG4gIHBhZGRpbmc6IDlweCAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jYXR0YWNobWVudEZvcm0ge1xyXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlc21va2UgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmF0dGFjaG1lbnRUeXBlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2dhc1JlcVNlYXJjaERpdiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNmb3JtRGl2IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAxO1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuI0NvbW1lbnRzIHtcclxuICBoZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcclxuXHJcbiAgLmF0dGFjaG1lbnRUeXBlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xyXG5cclxuICAuYXR0YWNobWVudFR5cGUge1xyXG4gICAgd2lkdGg6OTUlXHJcbiAgfVxyXG59XHJcblxyXG4iXX0= */\"","import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Attachment, AttachmentCategoryDetails, BCASearch } from '@app/base/core/models';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport {\r\n GridDataResult,\r\n DataStateChangeEvent,\r\n RowArgs,\r\n SelectAllCheckboxState\r\n} from '@progress/kendo-angular-grid';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { SessionService, ConstantsService, AccountService } from '@app/core/services';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/shared/functions';\r\n\r\ndeclare const $: any;\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-bca-agreements',\r\n templateUrl: './bca-agreements.component.html',\r\n styleUrls: ['./bca-agreements.component.css']\r\n})\r\nexport class BcaAgreementsComponent implements OnInit, AfterViewInit {\r\n // Kendo grid values\r\n @ViewChild('siteplan', {static: false}) siteplan;\r\n setClickedRow: Function;\r\n public SearchResultsGridView: GridDataResult;\r\n StatusSearchResults: Attachment[];\r\n selectedRecord: Attachment = new Attachment();\r\n defaultSkip = 0;\r\n public comments: any;\r\n defaultItemsPerPage = 10;\r\n public routeSubscription: any;\r\n public GrId: any;\r\n public name: string;\r\n public index = 0;\r\n files: FileList;\r\n public dupfile = [];\r\n date1 = new Date('04/09/2018');\r\n date2 = new Date('04/09/2019');\r\n public bcaSearch: BCASearch = {\r\n builderId: [],\r\n projectName: '',\r\n projectAddress: '',\r\n bcaStatus: '',\r\n subsidaryId: '',\r\n subsidarycompanyName: '',\r\n startDate: this.date1,\r\n endDate: this.date2,\r\n reqId: '',\r\n bcaStatusValue: ''\r\n };\r\n public rowValue: string;\r\n public flagerror = false;\r\n public errorFlag = false;\r\n public pageSizes = true;\r\n public previousNext = true;\r\n documentInput: any = {};\r\n public buttonCount = 5;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public take = 10;\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: this.defaultItemsPerPage,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public mySelection: number[] = [];\r\n public position = this.constsvc.position;\r\n public stateCd: string;\r\n public invalidFiles = [];\r\n public statevalue: SelectAllCheckboxState = 'unchecked';\r\n public builderId: string[];\r\n public items: any[];\r\n public queryParam: any;\r\n public projectNumber: number;\r\n public projectName: string;\r\n public attachmentTitleValue: string;\r\n public attachmentsCategory = [];\r\n attachmentCategory: AttachmentCategoryDetails = new AttachmentCategoryDetails();\r\n dropdownSettings: any;\r\n builderAttachmentForm: FormGroup;\r\n requestStatusForm: FormGroup;\r\n\r\n constructor(private builderService: BuilderService,\r\n private sessionSvc: SessionService, private config: SocoConfigurationService, public constantsSvc: ConstantsService,\r\n public socoHttp: SocoHttpService, public route: ActivatedRoute,\r\n public datepipe: DatePipe, public accountService: AccountService, public constsvc: ConstantsService) {\r\n\r\n this.setClickedRow = function(index) {\r\n this.selectedRow = index;\r\n };\r\n this.allData = this.allData.bind(this);\r\n\r\n this.dropdownSettings = {\r\n singleSelection: true,\r\n text: 'Select Value',\r\n enableSearchFilter: true\r\n };\r\n }\r\n\r\n // on initialisation\r\n public ngOnInit() {\r\n\r\n if ( this.flagerror === true) {\r\n $('.fileinput-upload-button').attr('disabled', 'disabled');\r\n }\r\n\r\n this.attachmentsCategory = [\r\n { id: 5, itemName: 'OTHER' },// Added OTHER, part of Bug fix-CXCO-1809 - https://so-to.atlassian.net/browse/CXCO-1809\r\n { id: 4, itemName: 'FINAL PLAT' },\r\n { id: 2, itemName: 'LOT LIST' },\r\n { id: 3, itemName: 'PRELIMINARY PLAT' },\r\n { id: 1, itemName: 'SITE PLAN' }, \r\n ];\r\n\r\n this.builderAttachmentForm = new FormGroup({\r\n attachmentCategory: new FormControl(\r\n null, Validators.required\r\n ),\r\n Comments: new FormControl(\r\n null, Validators.required\r\n )\r\n });\r\n\r\n this.requestStatusForm = new FormGroup({ // Init form\r\n requestId: new FormControl(''),\r\n }, { updateOn: 'blur' });\r\n\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.GrId = this.route.snapshot.parent.params['id'];\r\n this.documentInput.RequestId = this.GrId;\r\n this.documentInput.Folder = this.constantsSvc.folderName;\r\n this.sessionSvc.builderData.subscribe(success => {\r\n if (success) {\r\n this.documentInput.Builder = success.CompanyName;\r\n this.builderId = success.BuilderId;\r\n this.sessionSvc.BcaData.subscribe(successBca => {\r\n if (successBca) {\r\n this.sessionSvc.GridData.subscribe(result => {\r\n this.projectNumber = result.projectNumber;\r\n this.projectName = result.projectName;\r\n this.documentInput.BcaId = this.projectNumber;\r\n });\r\n this.getDocuments();\r\n } else {\r\n for (let i = 0; i < this.builderId.length; i++) {\r\n this.bcaSearch.builderId.push(this.builderId[i]);\r\n }\r\n this.bcaSearch.reqId = this.GrId;\r\n this.builderService.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n if (result.data[0].bcaId !== undefined) {\r\n this.projectNumber = result.data[0].bcaId;\r\n this.documentInput.BcaId = this.projectNumber;\r\n }\r\n this.projectName = result.data[0].projectName;\r\n this.getDocuments();\r\n });\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.state = {\r\n skip: this.defaultSkip,\r\n take: this.take\r\n };\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const url = this.config.webApiBaseUrl;\r\n this.bindUIComponent(url);\r\n }\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.take = state.take;\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n }\r\n\r\n get formVal() { return this.builderAttachmentForm.controls; }\r\n\r\n\r\n // form validation\r\n validateForm( formName: string ) {\r\n if ( this[formName].valid ) {\r\n return false;\r\n } else {\r\n triggerFormValidation(this[formName]);\r\n focusFirstInvalidField(this[formName]);\r\n return true;\r\n }\r\n }\r\n\r\n // used for excel export data\r\n public allData(): ExcelExportData {\r\n return {\r\n data: process(this.StatusSearchResults, {}).data\r\n };\r\n }\r\n\r\n// used to display existing documents in grid\r\ngetDocuments() {\r\n this.builderService.findFilesByMetadata(this.documentInput).subscribe(result => {\r\n if (result.data.length !== 0) {\r\n for ( let i = 0; i < result.data.length; i++) {\r\n if (result.data[i]['creationDate'] !== undefined) {\r\n result.data[i]['creationDate'] = new Date(this.datepipe.transform(result.data[i]['creationDate'], 'MM/dd/yyyy'));\r\n }\r\n }\r\n this.items = result.data;\r\n this.StatusSearchResults = this.items;\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n } else {\r\n this.StatusSearchResults = [];\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n\r\n }\r\n\r\n },\r\n (error) => {\r\n this.StatusSearchResults = [];\r\n swal(this.constsvc.errorSwal1, this.constsvc.docErrorSwal, this.constsvc.errorSwal);\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n );\r\n}\r\n selectionChange(ev: any) {\r\n this.rowValue = ev.index;\r\n this.selectedRecord = this.StatusSearchResults[this.rowValue];\r\n }\r\n\r\n public mySelectionKey(context: RowArgs): string {\r\n return context.dataItem.ProductName + ' ' + context.index;\r\n }\r\n public onSelectAllChange(checkedState: SelectAllCheckboxState) {\r\n if (checkedState === 'checked') {\r\n this.mySelection = this.items.map(item => item.id);\r\n this.statevalue = 'checked';\r\n } else {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n }\r\n }\r\n\r\n // on submitting file information form\r\n submitForm() {\r\n let id = null;\r\n if (this.requestStatusForm.controls['requestId'].value != null) {\r\n id = this.requestStatusForm.controls['requestId'].value;\r\n this.documentInput.Name = id.trim();\r\n }\r\n this.getDocuments();\r\n }\r\n\r\n // used to refresh document grid\r\n refreshGrid() {\r\n this.requestStatusForm.patchValue({\r\n requestId: null\r\n });\r\n this.documentInput.Name = null;\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.getDocuments();\r\n }\r\n\r\n bindUIComponent(url: any) {\r\n // Modal template\r\n const modalTemplate =\r\n '
\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n '
{toggleheader}{fullscreen}{borderless}{close}
\\n' +\r\n '
{heading}
\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n '{prev} {next}\\n' +\r\n '
\\n' +\r\n '
\\n' +\r\n '
\\n';\r\n\r\n // Buttons inside zoom modal\r\n const previewZoomButtonClasses = {\r\n toggleheader: 'btn btn-default btn-icon btn-xs btn-header-toggle',\r\n fullscreen: 'btn btn-default btn-icon btn-xs',\r\n borderless: 'btn btn-default btn-icon btn-xs',\r\n close: 'btn btn-default btn-icon btn-xs'\r\n };\r\n\r\n // Icons inside zoom modal classes\r\n const previewZoomButtonIcons = {\r\n prev: '',\r\n next: '',\r\n toggleheader: '',\r\n fullscreen: '',\r\n borderless: '',\r\n close: ''\r\n };\r\n\r\n //\r\n // AJAX upload\r\n //\r\n\r\n $('#fileInput').fileinput({\r\n uploadUrl: url + '/Files/Upload', // server upload action\r\n uploadAsync: true,\r\n showCancel: false,\r\n uploadLabel: 'Upload All',\r\n allowedPreviewTypes: null,\r\n msgInvalidFileExtension: 'Invalid extension for file \"{name}\"',\r\n maxFileSize: 50000,\r\n validateInitialCount: true,\r\n overwriteInitial: true,\r\n allowedFileExtensions: ['jpg', 'gif', 'png', 'txt', 'asm', 'doc', 'docx', 'docm', 'dot', 'dotx',\r\n 'dotm', 'jpe', 'jpeg', 'pdf', 'pnz', 'ppt', 'pptm', 'pptx', 'tiff', 'tif', 'xlc', 'xls', 'xlsx', 'xlsm', 'xlt'],\r\n uploadClass: 'btn bg-teal-400',\r\n removeClass: 'btn btn-danger',\r\n maxFileCount: 5,\r\n initialPreview: [],\r\n fileActionSettings: {\r\n removeIcon: '',\r\n removeClass: 'btn btn-danger',\r\n uploadIcon: '',\r\n uploadClass: 'btn bg-teal-400',\r\n zoomIcon: '',\r\n zoomClass: 'btn btn-link btn-xs btn-icon',\r\n indicatorNew: '',\r\n indicatorSuccess: '',\r\n indicatorError: '',\r\n indicatorLoading: '',\r\n },\r\n layoutTemplates: {\r\n icon: '',\r\n modal: modalTemplate\r\n },\r\n\r\n initialCaption: 'No file selected',\r\n previewZoomButtonClasses: previewZoomButtonClasses,\r\n previewZoomButtonIcons: previewZoomButtonIcons,\r\n uploadExtraData: function (previewId, index) {\r\n const formValueBuilder = this.documentInput.Builder;\r\n const formValueBcaNumber = this.documentInput.BcaId;\r\n const formValueRequestNumber = this.documentInput.RequestId;\r\n const formValueComments = this.builderAttachmentForm.controls.Comments.value;\r\n const formValueFolder = this.documentInput.Folder;\r\n const formValueDocumentType = this.builderAttachmentForm.controls.attachmentCategory.value ?\r\n this.builderAttachmentForm.controls.attachmentCategory.value.itemName : null;\r\n const uploadedBy = this.accountService ? this.accountService.account.user.username : '';\r\n return { builder: formValueBuilder, requestId: formValueRequestNumber, comments: formValueComments,\r\n bcaId: formValueBcaNumber, folder: formValueFolder, uploadedBy: uploadedBy, documentType: formValueDocumentType };\r\n }.bind(this)\r\n }).on('fileremoved', function (event, id, index) {\r\n\r\n this.dupfile = this.dupfile.filter(x => x.id !== Number(index));\r\n if (this.invalidFiles.indexOf(index) > -1) {\r\n this.invalidFiles = this.invalidFiles.filter(item => item !== index);\r\n }\r\n if (this.invalidFiles.length === 0) {\r\n this.flagerror = false;\r\n }\r\n $('.file-input-ajax').on('fileuploaderror', function (event, data, msg) {\r\n if (this.errorFlag === false) {\r\n this.flagerror = true;\r\n $('.fileinput-upload-button').attr('disabled', 'disabled');\r\n }\r\n }.bind(this));\r\n if (this.flagerror === false) {\r\n $('.fileinput-upload-button').removeAttr('disabled');\r\n }\r\n }\r\n .bind(this));\r\n $('#fileInput').on('fileselect', function(event, numFiles, label) {\r\n });\r\n $('#fileInput').on('change', (event) => {\r\n if ( this.dupfile.length === 0) {\r\n this.index = 0;\r\n }\r\n this.files = event.target.files;\r\n if (this.dupfile.length < 5) {\r\n for (let i = 0; i < this.files.length; i++) {\r\n if ( !this.dupfile.find(x => x.item === this.files.item(i).name)) {\r\n this.dupfile.push({id: this.index, item: this.files.item(i).name});\r\n } else {\r\n this.name = this.files.item(i).name;\r\n const message = `There is a same file with the name: `;\r\n const message1 = `

So skipping duplicate selection!

`;\r\n const tag = document.createElement('strong');\r\n const msg = document.createElement('div');\r\n const msg1 = document.createElement('span');\r\n const textNode = document.createTextNode(this.name);\r\n tag.appendChild(textNode);\r\n msg.innerHTML = message;\r\n msg1.innerHTML = message1;\r\n msg.appendChild(tag);\r\n msg.appendChild(msg1);\r\n swal({\r\n content: msg,\r\n icon: 'assets/images/icons/exclamation.png',\r\n buttons: {\r\n cancel: {\r\n text: 'Cancel',\r\n visible: true,\r\n value: false,\r\n closeModal: true\r\n },\r\n }\r\n });\r\n }\r\n this.index = this.index + 1;\r\n }\r\n }\r\n\r\n});\r\n\r\n $('#fileInput').on('fileuploaded', function (event, data, id, index) {\r\n const fname = data.files[index].name,\r\n out = '
  • ' + 'Uploaded file # ' + (index + 1) + ' - ' + fname + ' successfully.' + '
  • ';\r\n $('#kv-success-1 ul').append(out);\r\n $('#kv-success-1').fadeIn('slow');\r\n if ( Number(index) + 1 === data.files.length ) {\r\n setTimeout(() => {\r\n $('.close.fileinput-remove').click();\r\n }, 1000);\r\n const response = data.response;\r\n if (response !== undefined) {\r\n if (response.statusCode === 201) {\r\n const msg = 'File uploaded successfully';\r\n swal(this.constsvc.successSwal1, msg, this.constsvc.successSwal);\r\n } else {\r\n swal(this.constsvc.errorSwal1, 'File Upload Failed', this.constsvc.errorSwal);\r\n }\r\n } else {\r\n swal(this.constsvc.errorSwal1, 'File Upload Failed', this.constsvc.errorSwal);\r\n }\r\n this.builderAttachmentForm.reset();\r\n this.builderAttachmentForm.clearValidators();\r\n this.refreshGrid();\r\n\r\n }\r\n }.bind(this));\r\n\r\n $('#fileInput').on('filecleared', function(event) {\r\n this.invalidFiles = [];\r\n this.dupfile = [];\r\n this.flagerror = false;\r\n this.index = 0;\r\n $('.fileinput-upload-button').removeAttr('disabled');\r\n}.bind(this));\r\n\r\n $('#fileInput').on('filepreupload', function(event, data, previewId, index, jqXHR) {\r\n const validationError = this.validateForm('builderAttachmentForm');\r\n const msg = 'Please select the required fields';\r\n\r\n if (validationError) {\r\n swal(this.constantsSvc.errorSwal1, msg, this.constantsSvc.errorSwal);\r\n return {message: 'You are not allowed to do that'};\r\n\r\n }\r\n }.bind(this));\r\n\r\n $('#fileInput').on('fileuploaderror', function(event, data, msg) {\r\n if (data.id !== null) {\r\n $('.fileinput-upload-button').attr('disabled', 'disabled');\r\n this.flagerror = true;\r\n\r\n if (!this.invalidFiles.includes(data.id)) {\r\n this.invalidFiles.push(data.id);\r\n }\r\n } else {\r\n this.errorFlag = true;\r\n }\r\n }.bind(this));\r\n\r\n\r\n $('#fileInput').on('fileloaded', function() {\r\n if (this.flagerror === true) {\r\n $('.fileinput-upload-button').attr('disabled', 'disabled');\r\n }\r\n}.bind(this));\r\n}\r\n\r\n}\r\n\r\n","export default \".contract-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* Small Screens */\\r\\n\\r\\n@media only screen and (min-width:250px) and (max-width:1024px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(0.80);\\r\\n -webkit-transform: scale(0.80);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .input-group-xlg>.form-control,\\r\\n .input-group-xlg>.input-group-addon,\\r\\n .input-group-xlg>.input-group-btn>.btn {\\r\\n height: 40px;\\r\\n padding: 10px 16px;\\r\\n font-size: 13px;\\r\\n line-height: 1.333334;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: left;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Big Screens */\\r\\n\\r\\n@media only screen and (min-width:1025px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(1);\\r\\n -webkit-transform: scale(1);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 0px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: center;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n.recaptcha-container .ng-invalid:not(form) {\\r\\n border-left: none;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n:host>>>.wizard>.steps {\\r\\n pointer-events: none !important;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny:after {\\r\\n content: '\\\\ed6a' !important;\\r\\n font-style: normal;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny {\\r\\n background-color: #d40014 !important;\\r\\n border-color: #d40031 !important;\\r\\n}\\r\\n\\r\\n.alternate-section {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.status-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.text-red\\r\\n{\\r\\n padding-right:100px;\\r\\n color:red;\\r\\n}\\r\\n\\r\\n.text-green {\\r\\n color:green;\\r\\n}\\r\\n\\r\\n.contract{\\r\\n cursor:pointer;text-decoration:underline;color:#03a9f4;\\r\\n}\\r\\n\\r\\n.back{\\r\\n\\r\\n margin-right: -2px;\\r\\n}\\r\\n\\r\\n.text-left\\r\\n{\\r\\ntext-align: left;\\r\\n\\r\\n}\\r\\n\\r\\n.btn-allign\\r\\n{\\r\\nmargin:1px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvY29udHJhY3QvY29udHJhY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBEQUEwRDtFQUMxRCx3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCOztBQUVBLGtCQUFrQjs7QUFFbEI7RUFDRTtJQUNFLHNCQUFzQjtJQUN0Qiw4QkFBOEI7SUFDOUIscUJBQXFCO0lBQ3JCLDZCQUE2QjtFQUMvQjtFQUNBO0lBQ0UsaUJBQWlCO0VBQ25CO0VBQ0E7OztJQUdFLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHFCQUFxQjtFQUN2QjtFQUNBO0lBQ0UsZ0JBQWdCO0VBQ2xCO0VBQ0E7SUFDRSxnQkFBZ0I7SUFDaEIsYUFBYTtFQUNmO0FBQ0Y7O0FBRUEsZ0JBQWdCOztBQUVoQjtFQUNFO0lBQ0UsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIsNkJBQTZCO0VBQy9CO0VBQ0E7SUFDRSxpQkFBaUI7RUFDbkI7RUFDQTtJQUNFLGVBQWU7RUFDakI7RUFDQTtJQUNFLGtCQUFrQjtJQUNsQixhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBQ0E7RUFDRSwwREFBMEQ7RUFDMUQsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFDQTtFQUNFLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCO0FBQy9COztBQUNBOztFQUVFLG1CQUFtQjtFQUNuQixTQUFTO0FBQ1g7O0FBR0E7RUFDRSxXQUFXO0FBQ2I7O0FBQ0E7RUFDRSxjQUFjLENBQUMseUJBQXlCLENBQUMsYUFBYTtBQUN4RDs7QUFDQTs7RUFFRSxrQkFBa0I7QUFDcEI7O0FBQ0E7O0FBRUEsZ0JBQWdCOztBQUVoQjs7QUFDQTs7QUFFQSxVQUFVO0FBQ1YiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2J1aWxkZXIvY29tcG9uZW50cy9jb250cmFjdC9jb250cmFjdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRyYWN0LWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9zdGF0dXMuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vKiBTbWFsbCBTY3JlZW5zICovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MjUwcHgpIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xyXG4gIC5yZWNhcHRjaGEtcmVzaXplciB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuODApO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgfVxyXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB9XHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uZm9ybS1jb250cm9sLFxyXG4gIC5pbnB1dC1ncm91cC14bGc+LmlucHV0LWdyb3VwLWFkZG9uLFxyXG4gIC5pbnB1dC1ncm91cC14bGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRuIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzNDtcclxuICB9XHJcbiAgLnJlY2FwdGNoYS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbiAgLnN0YXR1cy1wYW5lbC10ZXh0LWFsaWduIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLyogQmlnIFNjcmVlbnMgKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI1cHgpIHtcclxuICAucmVjYXB0Y2hhLXJlc2l6ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gIH1cclxuICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHg7XHJcbiAgfVxyXG4gIC5yZWNhcHRjaGEtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICB9XHJcbiAgLnN0YXR1cy1wYW5lbC10ZXh0LWFsaWduIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVjYXB0Y2hhLWNvbnRhaW5lciAubmctaW52YWxpZDpub3QoZm9ybSkge1xyXG4gIGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcblxyXG4ucmVhZC1vbmx5LXRleHQge1xyXG4gIGJvcmRlcjogMDtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG46aG9zdD4+Pi53aXphcmQ+LnN0ZXBzIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5kb25lIC5kZW55OmFmdGVyIHtcclxuICBjb250ZW50OiAnXFxlZDZhJyAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLndpemFyZD4uc3RlcHM+dWw+bGkuZG9uZSAuZGVueSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MDAxNCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2Q0MDAzMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWx0ZXJuYXRlLXNlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuLnN0YXR1cy1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvc3RhdHVzLmpwZ1wiKTtcclxuICBoZWlnaHQ6IDE4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ucmVhZC1vbmx5LXRleHQge1xyXG4gIGJvcmRlcjogMDtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi50ZXh0LXJlZFxyXG57XHJcbiAgcGFkZGluZy1yaWdodDoxMDBweDtcclxuICBjb2xvcjpyZWQ7XHJcbn1cclxuXHJcblxyXG4udGV4dC1ncmVlbiB7XHJcbiAgY29sb3I6Z3JlZW47XHJcbn1cclxuLmNvbnRyYWN0e1xyXG4gIGN1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y29sb3I6IzAzYTlmNDtcclxufVxyXG4uYmFja3tcclxuXHJcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xyXG59XHJcbi50ZXh0LWxlZnRcclxue1xyXG50ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxufVxyXG4uYnRuLWFsbGlnblxyXG57XHJcbm1hcmdpbjoxcHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, OnDestroy , ElementRef, ViewChild, AfterViewInit} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { AccountService, ConstantsService, SessionService, EnvironmentService, RequestStageApprvEnum, LookupsService} from '@app/base/core';\r\nimport { LandingService } from '@app/modules/landing/base';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { BuilderService } from '@app/modules/builder';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-contract',\r\n templateUrl: './contract.component.html',\r\n styleUrls: ['./contract.component.css']\r\n})\r\nexport class ContractComponent implements OnInit, OnDestroy, AfterViewInit {\r\n ngAfterViewInit(): void {\r\n this.mySelection = [this.BcaId];\r\n }\r\n\r\n @ViewChild('ContractDiv', {static: false}) ctnD: ElementRef;\r\n// Defining the Constructor\r\n constructor( private route: ActivatedRoute,\r\n private router: Router,\r\n private http: LandingService,\r\n public lookupSvc: LookupsService,\r\n public alertService: AlertService,\r\n public sessionSvc: SessionService,\r\n public constantsSVc: ConstantsService,\r\n public config: SocoConfigurationService,\r\n private accountService: AccountService,\r\n public builderSvc: BuilderService,\r\n public environmentSvc: EnvironmentService,\r\n ) {this.buildFormGroup(); }\r\n private routeSubscription: any;\r\n// Declaring the Variables\r\n stageEnum: typeof RequestStageApprvEnum = RequestStageApprvEnum;\r\n BcaId: number;\r\n recordPresent = 0;\r\n public contractChecked;\r\n ContractInfo: string;\r\n public indexArr = [];\r\n alertMsg: any = [];\r\n ProjectName: string;\r\n Status: string;\r\n Pwr: string;\r\n isrowCount = false;\r\n public bcaData: any = [];\r\n contractForm: FormGroup;\r\n public mySelection: number[] = []; // Todo: DSS: review setting to BcaId on init\r\n public fileid: number;\r\n documentInput: any = {};\r\n public filesArr = [];\r\n // Declaring the Grid Size\r\n public state: State = {\r\n skip: 0,\r\n take: 8,\r\n\r\n // Initial filter descriptor\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n\r\n\r\n public gridData: GridDataResult = process(this.bcaData, this.state);\r\n // Building the form group\r\n buildFormGroup(): void {\r\n this.contractForm = new FormGroup({\r\n chkDoc: new FormControl(false),\r\n BcaId: new FormControl('')\r\n },\r\n { updateOn: 'blur' });\r\n }\r\n ngOnInit() {\r\n\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Contract'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n // Get ID and user from route params.\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n if (params['user']) {\r\n this.sessionSvc.sourceToContract = (params['user']);\r\n }\r\n if (!isNaN(Number(params['id']))) {\r\n this.BcaId = (params['id']);\r\n this.mySelection = [this.BcaId];\r\n this.contractForm.controls['BcaId'].patchValue(this.BcaId);\r\n if (this.sessionSvc.sourceToContract === this.constantsSVc.ApplicantUser) {\r\n this.GetContractInfoByEmail(this.accountService.account.user.email);\r\n } else {\r\n this.GetContractInfoById(this.BcaId);\r\n }\r\n } else if (params['id']) {\r\n this.GetContractInfoByEmail(this.accountService.account.user.email);\r\n\r\n } else {\r\n\r\n this.GetContractInfoByEmail(this.accountService.account.user.email);\r\n }\r\n });\r\n\r\n\r\n }\r\n ngOnDestroy() {\r\n }\r\n\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.gridData = process(this.bcaData, this.state);\r\n }\r\n// Grid selection of contract ID\r\n onCellClick(event) {\r\n this.Status = event.dataItem.requestStatus;\r\n this.SelectedRow(event.dataItem);\r\n }\r\n GetContractInfoByEmail(email: string ) {\r\n this.http.getBcaContractInfoeMail(email).subscribe(result => {\r\n if (result.data != null) {\r\n for (let i = 0; i < result.data.length; i++) {\r\n if (result.data[i].contractSentDate != null) {\r\n result.data[i].contractSentDate = new Date(result.data[i].contractSentDate.toString());\r\n }\r\n if (result.data[i].contractReceivedDate != null) {\r\n result.data[i].contractReceivedDate = new Date(result.data[i].contractReceivedDate.toString());\r\n }\r\n this.bcaData.push(result.data[i]);\r\n }\r\n this.BcaId = result.data[0].bcaId;\r\n this.mySelection = [this.BcaId];\r\n this.ContractInfo = result.data[0].gasRequestType;\r\n this.ProjectName = result.data[0].projectName;\r\n this.Status = result.data[0].requestStatus;\r\n if (this.ctnD) {\r\n this.ctnD.nativeElement.style.display = 'block';\r\n }\r\n this.http.getPwrNumber(this.BcaId).subscribe(result => {\r\n this.Pwr = result.data.primaryWorkRequest;\r\n this.getDoc();\r\n });\r\n } else {\r\n if (this.ctnD) {\r\n this.ctnD.nativeElement.style.display = 'none';\r\n }\r\n }\r\n this.gridData = process(this.bcaData, this.state);\r\n\r\n },\r\n (error => {\r\n swal(this.constantsSVc.errorSwal1, this.constantsSVc.contractInfoFail, this.constantsSVc.errorSwal);\r\n }));\r\n\r\n }\r\n\r\n GetContractInfoById(id: number) {\r\n// Get the Grid Data\r\nthis.http.getBcaContractInfo(id).subscribe(result => {\r\n if (result.data != null) {\r\n for (let i = 0; i < result.data.length; i++) {\r\n if (result.data[i].contractSentDate != null) {\r\n result.data[i].contractSentDate = new Date(result.data[i].contractSentDate.toString());\r\n }\r\n if (result.data[i].contractReceivedDate != null) {\r\n result.data[i].contractReceivedDate = new Date(result.data[i].contractReceivedDate.toString());\r\n }\r\n this.bcaData.push(result.data[i]);\r\n }\r\n this.recordPresent = 1;\r\n this.BcaId = result.data[0].bcaId;\r\n this.mySelection = [this.BcaId];\r\n this.ContractInfo = result.data[0].gasRequestType;\r\n this.ProjectName = result.data[0].projectName;\r\n this.Status = result.data[0].requestStatus;\r\n if (this.ctnD) {\r\n this.ctnD.nativeElement.style.display = 'block';\r\n }\r\n this.http.getPwrNumber(this.BcaId).subscribe(result => {\r\n this.Pwr = result.data.primaryWorkRequest;\r\n this.getDoc();\r\n });\r\n } else {\r\n if (this.ctnD) {\r\n this.ctnD.nativeElement.style.display = 'none';\r\n }\r\n }\r\n this.gridData = process(this.bcaData, this.state);\r\n},\r\n(error) => {\r\n swal(this.constantsSVc.errorSwal1, this.constantsSVc.contractInfoFail, this.constantsSVc.errorSwal);\r\n});\r\n }\r\n\r\n // Grid Selection row.\r\n SelectedRow(e) {\r\n this.BcaId = e.bcaId;\r\n this.ContractInfo = e.gasRequestType;\r\n this.ProjectName = e.projectName;\r\n this.Status = e.requestStatus;\r\n this.http.getPwrNumber(this.BcaId).subscribe(result => {\r\n this.Pwr = result.data.primaryWorkRequest;\r\n this.getDoc();\r\n });\r\n this.contractForm.controls['chkDoc'].patchValue(false);\r\n return false;\r\n }\r\n\r\n // Checkbox checked event\r\n CheckedTrue(index, id) {\r\n if (this.indexArr.includes(index)) {\r\n const number = this.indexArr.indexOf(index);\r\n this.indexArr.splice(number, 1);\r\n return false;\r\n } else {\r\n this.indexArr.push(index);\r\n this.downloadDoc(id);\r\n return true;\r\n }\r\n\r\n }\r\n// Navigate to Accept Contract\r\n goToAcceptContract() {\r\n\r\n if (this.filesArr.length === this.indexArr.length) {\r\n this.sessionSvc.projectName = this.ProjectName;\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'builder', 'contractaccept', this.BcaId, this.ContractInfo]);\r\n\r\n } else {\r\n swal(this.constantsSVc.contractSwal, '', this.constantsSVc.errorSwal);\r\n }\r\n }\r\n // Go To Back\r\n goToBack() {\r\n\r\n if (this.sessionSvc.sourceToContract === this.constantsSVc.ApplicantUser) {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'status']);\r\n } else {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'builder', 'home']);\r\n\r\n }\r\n }\r\n // go To Payment page\r\n goToPayment() {\r\n this.sessionSvc.projectName = this.ProjectName;\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'builder', 'payment',\r\n this.sessionSvc.sourceToContract, this.BcaId]);\r\n\r\n }\r\n\r\n getDoc() {\r\n this.filesArr = [];\r\n this.documentInput.folder = this.constantsSVc.LaserficheContractFolder;\r\n this.documentInput.bcaId = String(this.BcaId);\r\n this.documentInput.WRNumber = String(this.Pwr);\r\n this.documentInput.Authoritative = 'Y';\r\n this.documentInput.ExternalCompany = 'Y';\r\n this.builderSvc.findFilesByMetadata(this.documentInput).subscribe(result => {\r\n if (result.data.length !== 0) {\r\n for ( let i = 0; i < result.data.length; i++) {\r\n this.filesArr.push(result.data[i]);\r\n }\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSVc.headerDocReqSwal, this.constantsSVc.contractDocFailSwal, this.constantsSVc.errorSwal);\r\n } );\r\n }\r\n downloadDoc(id) {\r\n\r\n this.fileid = id;\r\n window.open(this.config.webApiBaseUrl + '/Files/Download?id=' + this.fileid, '_blank');\r\n\r\n }\r\n}\r\n","export default \".contract-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* Small Screens */\\r\\n\\r\\n@media only screen and (min-width:250px) and (max-width:1024px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(0.80);\\r\\n -webkit-transform: scale(0.80);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .input-group-xlg>.form-control,\\r\\n .input-group-xlg>.input-group-addon,\\r\\n .input-group-xlg>.input-group-btn>.btn {\\r\\n height: 40px;\\r\\n padding: 10px 16px;\\r\\n font-size: 13px;\\r\\n line-height: 1.333334;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: left;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Big Screens */\\r\\n\\r\\n@media only screen and (min-width:1025px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(1);\\r\\n -webkit-transform: scale(1);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 0px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: center;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n.recaptcha-container .ng-invalid:not(form) {\\r\\n border-left: none;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n:host>>>.wizard>.steps {\\r\\n pointer-events: none !important;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny:after {\\r\\n content: '\\\\ed6a' !important;\\r\\n font-style: normal;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny {\\r\\n background-color: #d40014 !important;\\r\\n border-color: #d40031 !important;\\r\\n}\\r\\n\\r\\n.alternate-section {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.status-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.text-red\\r\\n{\\r\\n padding-right:100px;\\r\\n color:red;\\r\\n}\\r\\n\\r\\n/* unvisited link */\\r\\n\\r\\na:link {\\r\\n color: green;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n/* visited link */\\r\\n\\r\\na:visited {\\r\\n color: green;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n/* mouse over link */\\r\\n\\r\\na:hover {\\r\\n color: greenyellow;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n/* selected link */\\r\\n\\r\\na:active {\\r\\n color: blue;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\na {\\r\\n\\tword-wrap: break-word !important;\\r\\n}\\r\\n\\r\\n.btn-allign\\r\\n{\\r\\n margin:1px;\\r\\n}\\r\\n\\r\\n.btnReject\\r\\n{\\r\\n width:175px;\\r\\n}\\r\\n\\r\\ntextarea.form-control{\\r\\n border-left: 5px solid #33adff;\\r\\n }\\r\\n\\r\\ntextarea.form-control.ng-valid{\\r\\n border-left: 5px solid #00d32d;\\r\\n }\\r\\n\\r\\ntextarea.form-control.ng-invalid.ng-touched {\\r\\n border-left: 5px solid #d30000;\\r\\n }\\r\\n\\r\\n.reject-remarks{\\r\\n padding-left:38px !important;\\r\\n padding-right:38px !important;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvY29udHJhY3RBY2NlcHQvY29udHJhY3RBY2NlcHQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBEQUEwRDtFQUMxRCx3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCOztBQUVBLGtCQUFrQjs7QUFFbEI7RUFDRTtJQUNFLHNCQUFzQjtJQUN0Qiw4QkFBOEI7SUFDOUIscUJBQXFCO0lBQ3JCLDZCQUE2QjtFQUMvQjtFQUNBO0lBQ0UsaUJBQWlCO0VBQ25CO0VBQ0E7OztJQUdFLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHFCQUFxQjtFQUN2QjtFQUNBO0lBQ0UsZ0JBQWdCO0VBQ2xCO0VBQ0E7SUFDRSxnQkFBZ0I7SUFDaEIsYUFBYTtFQUNmO0FBQ0Y7O0FBRUEsZ0JBQWdCOztBQUVoQjtFQUNFO0lBQ0UsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIsNkJBQTZCO0VBQy9CO0VBQ0E7SUFDRSxpQkFBaUI7RUFDbkI7RUFDQTtJQUNFLGVBQWU7RUFDakI7RUFDQTtJQUNFLGtCQUFrQjtJQUNsQixhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBQ0E7RUFDRSwwREFBMEQ7RUFDMUQsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFDQTtFQUNFLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCO0FBQy9COztBQUNBOztFQUVFLG1CQUFtQjtFQUNuQixTQUFTO0FBQ1g7O0FBRUEsbUJBQW1COztBQUNuQjtFQUNFLFlBQVk7RUFDWiwwQkFBMEI7QUFDNUI7O0FBRUEsaUJBQWlCOztBQUNqQjtFQUNFLFlBQVk7RUFDWiwwQkFBMEI7QUFDNUI7O0FBRUEsb0JBQW9COztBQUNwQjtFQUNFLGtCQUFrQjtFQUNsQiwwQkFBMEI7QUFDNUI7O0FBRUEsa0JBQWtCOztBQUNsQjtFQUNFLFdBQVc7RUFDWCwwQkFBMEI7QUFDNUI7O0FBQ0E7Q0FDQyxnQ0FBZ0M7QUFDakM7O0FBRUE7O0VBRUUsVUFBVTtBQUNaOztBQUNBOztFQUVFLFdBQVc7QUFDYjs7QUFDQTtFQUNFLDhCQUE4QjtDQUMvQjs7QUFDQTtFQUNDLDhCQUE4QjtDQUMvQjs7QUFDQTtLQUNJLDhCQUE4QjtDQUNsQzs7QUFDQTtFQUNDLDRCQUE0QjtHQUMzQiw2QkFBNkI7Q0FDL0IiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2J1aWxkZXIvY29tcG9uZW50cy9jb250cmFjdEFjY2VwdC9jb250cmFjdEFjY2VwdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRyYWN0LWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9zdGF0dXMuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vKiBTbWFsbCBTY3JlZW5zICovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MjUwcHgpIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xyXG4gIC5yZWNhcHRjaGEtcmVzaXplciB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuODApO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgfVxyXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB9XHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uZm9ybS1jb250cm9sLFxyXG4gIC5pbnB1dC1ncm91cC14bGc+LmlucHV0LWdyb3VwLWFkZG9uLFxyXG4gIC5pbnB1dC1ncm91cC14bGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRuIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzNDtcclxuICB9XHJcbiAgLnJlY2FwdGNoYS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbiAgLnN0YXR1cy1wYW5lbC10ZXh0LWFsaWduIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLyogQmlnIFNjcmVlbnMgKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI1cHgpIHtcclxuICAucmVjYXB0Y2hhLXJlc2l6ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gIH1cclxuICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHg7XHJcbiAgfVxyXG4gIC5yZWNhcHRjaGEtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICB9XHJcbiAgLnN0YXR1cy1wYW5lbC10ZXh0LWFsaWduIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVjYXB0Y2hhLWNvbnRhaW5lciAubmctaW52YWxpZDpub3QoZm9ybSkge1xyXG4gIGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcblxyXG4ucmVhZC1vbmx5LXRleHQge1xyXG4gIGJvcmRlcjogMDtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG46aG9zdD4+Pi53aXphcmQ+LnN0ZXBzIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5kb25lIC5kZW55OmFmdGVyIHtcclxuICBjb250ZW50OiAnXFxlZDZhJyAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLndpemFyZD4uc3RlcHM+dWw+bGkuZG9uZSAuZGVueSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MDAxNCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2Q0MDAzMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWx0ZXJuYXRlLXNlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuLnN0YXR1cy1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvc3RhdHVzLmpwZ1wiKTtcclxuICBoZWlnaHQ6IDE4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ucmVhZC1vbmx5LXRleHQge1xyXG4gIGJvcmRlcjogMDtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi50ZXh0LXJlZFxyXG57XHJcbiAgcGFkZGluZy1yaWdodDoxMDBweDtcclxuICBjb2xvcjpyZWQ7XHJcbn1cclxuXHJcbi8qIHVudmlzaXRlZCBsaW5rICovXHJcbmE6bGluayB7XHJcbiAgY29sb3I6IGdyZWVuO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4vKiB2aXNpdGVkIGxpbmsgKi9cclxuYTp2aXNpdGVkIHtcclxuICBjb2xvcjogZ3JlZW47XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIG1vdXNlIG92ZXIgbGluayAqL1xyXG5hOmhvdmVyIHtcclxuICBjb2xvcjogZ3JlZW55ZWxsb3c7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIHNlbGVjdGVkIGxpbmsgKi9cclxuYTphY3RpdmUge1xyXG4gIGNvbG9yOiBibHVlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbmEge1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLWFsbGlnblxyXG57XHJcbiAgbWFyZ2luOjFweDtcclxufVxyXG4uYnRuUmVqZWN0XHJcbntcclxuICB3aWR0aDoxNzVweDtcclxufVxyXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2x7XHJcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMzNhZGZmO1xyXG4gfVxyXG4gdGV4dGFyZWEuZm9ybS1jb250cm9sLm5nLXZhbGlke1xyXG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwZDMyZDtcclxuIH1cclxuIHRleHRhcmVhLmZvcm0tY29udHJvbC5uZy1pbnZhbGlkLm5nLXRvdWNoZWQge1xyXG4gICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2QzMDAwMDtcclxuIH1cclxuIC5yZWplY3QtcmVtYXJrc3tcclxuICBwYWRkaW5nLWxlZnQ6MzhweCAhaW1wb3J0YW50O1xyXG4gICBwYWRkaW5nLXJpZ2h0OjM4cHggIWltcG9ydGFudDtcclxuIH1cclxuIl19 */\"","import { Component, OnInit, OnDestroy, ElementRef, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/base/shared';\r\nimport { ConstantsService, SessionService, EnvironmentService, RequestStageLabelEnum, LookupsService } from '@app/base/core';\r\nimport { LandingService } from '@app/modules/landing/base';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { BuilderService } from '@app/modules/builder';\r\nimport { DatePipe } from '@angular/common';\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-contractAccept',\r\n templateUrl: './contractAccept.component.html',\r\n styleUrls: ['./contractAccept.component.css']\r\n})\r\nexport class AcceptContractComponent implements OnInit, OnDestroy , AfterViewInit {\r\n constructor( private route: ActivatedRoute,\r\n private router: Router,\r\n private http: LandingService,\r\n private datePipe: DatePipe,\r\n public sessionSvc: SessionService,\r\n public lookupSvc: LookupsService,\r\n public alertService: AlertService,\r\n public constantsSvc: ConstantsService,\r\n public config: SocoConfigurationService,\r\n public environmentSvc: EnvironmentService,\r\n public builderSvc: BuilderService ) {this.buildFormGroup(); }\r\n public routeSubscription: any;\r\n public bcaContractSubscription: Subscription;\r\n @ViewChild('btnPayment', {static: false}) btnP: ElementRef;\r\n @ViewChild('btnAccept', {static: false}) btnA: ElementRef;\r\n @ViewChild('btnReject', {static: false}) btnR: ElementRef;\r\n @ViewChild('contractMessage', {static: false}) contractMessage: ElementRef;\r\n @ViewChild('contractacceptDv', {static: false}) contractacceptDv: ElementRef;\r\n @ViewChild('BcaDetails', {static: false}) BcaDetails: ElementRef;\r\n @ViewChild('witnesslabel', {static: false}) witnesslabel: ElementRef;\r\n alertMsg: any = [];\r\n stageLabelEnum: typeof RequestStageLabelEnum = RequestStageLabelEnum;\r\n BcaId: number;\r\n ContractInfo: string;\r\n contractAcceptForm: FormGroup;\r\n Status: string;\r\n message: string;\r\n projectName: string;\r\n user: string;\r\n public bcaData: any = [];\r\n public fileid: number;\r\n documentInput: any = {};\r\n public filesArr = [];\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n parentEl: '.dateClass',\r\n minDate: moment().addWorkdays(0),\r\n maxDate: moment().addWorkdays(0)\r\n};\r\n buildFormGroup(): void {\r\n this.contractAcceptForm = new FormGroup({\r\n Id: new FormControl(null),\r\n ContractSignedByApplicant: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n ContractSignedByName: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n ContractSignedByTitle: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n ContractSignedDate: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern),\r\n Validators.pattern(this.constantsSvc.dateValidator)]),\r\n Comments: new FormControl(null),\r\n Remarks: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n RejectionRemarks: new FormControl(null, [ Validators.pattern(this.constantsSvc.spacePattern)]),\r\n Status: new FormControl(null),\r\n },\r\n { updateOn: 'blur' }\r\n );\r\n }\r\n // To open Popup for Rejection Comments\r\n OpenPopUp() {\r\n if (this.contractAcceptForm.valid) {\r\n this.contractAcceptForm.controls['Comments'].setValidators([Validators.required]);\r\n this.contractAcceptForm.controls['RejectionRemarks'].setValidators(\r\n [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]);\r\n this.contractAcceptForm.controls['Comments'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n this.contractAcceptForm.controls['RejectionRemarks'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n this.contractAcceptForm.updateValueAndValidity();\r\n $('#modal_reject_contract').modal();\r\n } else { triggerFormValidation(this.contractAcceptForm);\r\n focusFirstInvalidField(this.contractAcceptForm); }\r\n }\r\n // To Close Rejection comments Popup\r\n ClosePopUp() {\r\n this.contractAcceptForm.controls['Comments'].clearValidators();\r\n this.contractAcceptForm.controls['RejectionRemarks'].clearValidators();\r\n this.contractAcceptForm.updateValueAndValidity();\r\n $('#modal_reject_contract').modal('hide');\r\n }\r\n // To Accept/Reject Contract based on status\r\n AcceptRejectClick(status: string) {\r\nif (status !== this.constantsSvc.rejected) {\r\n this.contractAcceptForm.controls['Comments'].clearValidators();\r\n this.contractAcceptForm.controls['RejectionRemarks'].clearValidators();\r\n this.contractAcceptForm.controls['Comments'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n this.contractAcceptForm.controls['RejectionRemarks'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n this.contractAcceptForm.updateValueAndValidity();\r\n }\r\n if (status === this.constantsSvc.PopUp) {\r\n this.OpenPopUp();\r\n return false;\r\n }\r\n if (this.contractAcceptForm.valid) {\r\n this.ClosePopUp();\r\n const formValue = this.contractAcceptForm.getRawValue();\r\n formValue.Id = this.BcaId;\r\n formValue.Comments = status === this.constantsSvc.rejected ? this.contractAcceptForm.controls['Comments'].value.itemName : '';\r\n formValue.Status = status ;\r\n formValue.RecUpdateDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.HideDiv();\r\n this.http.postGasContract(formValue).subscribe(result => {\r\n this.ClosePopUp();\r\nif (status === this.constantsSvc.accepted) {\r\nthis.message = this.constantsSvc.contractAcceptMsg;\r\n if (this.btnP) {\r\n this.btnP.nativeElement.style.display = this.constantsSvc.block;\r\n}\r\n} else if (status === this.constantsSvc.rejected) {\r\n this.message = this.constantsSvc.contractRejectMsg;\r\n if (this.btnP ) {\r\n this.btnP.nativeElement.style.display = this.constantsSvc.none;\r\n }\r\n}\r\nif (this.contractMessage) {\r\n this.contractMessage.nativeElement.style.display = this.constantsSvc.block;\r\n}\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n\r\n } else {\r\n triggerFormValidation(this.contractAcceptForm);\r\n focusFirstInvalidField(this.contractAcceptForm);\r\n }\r\n\r\n }\r\n\r\n private HideDiv() {\r\n if (this.contractacceptDv) {\r\n this.contractacceptDv.nativeElement.style.display = this.constantsSvc.none;\r\n this.btnA.nativeElement.style.display = this.constantsSvc.none;\r\n this.btnR.nativeElement.style.display = this.constantsSvc.none;\r\n this.contractMessage.nativeElement.style.display = this.constantsSvc.none;\r\n this.BcaDetails.nativeElement.style.display = this.constantsSvc.none;\r\n this.witnesslabel.nativeElement.style.display = this.constantsSvc.none;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.user = this.constantsSvc.ApplicantUser;\r\n // Load common lookups\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // To Load banner messages\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Contract Accepted'));\r\n this.alertService.success(this.alertMsg.message);\r\n }\r\n });\r\n // Get status ID from route params.\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n if (params['id']) {\r\n this.BcaId = (params['id']);\r\n }\r\n if (params['requestType']) {\r\n this.ContractInfo = (params['requestType']);\r\n }\r\n });\r\n this.bcaContractSubscription = this.http.getBcaContractInfo(this.BcaId).subscribe(result => {\r\n if (result.data != null) {\r\n this.BcaId = result.data[0].bcaId;\r\n this.sessionSvc.projectName = result.data[0].projectName;\r\n this.Status = result.data[0].requestStatus;\r\n if (this.Status === this.constantsSvc.CONRCVD ) {\r\n this.HideDiv();\r\n this.message = this.constantsSvc.contractAcceptMsg;\r\n if (this.btnP) {\r\n this.btnP.nativeElement.style.display = this.constantsSvc.block;\r\n this.contractMessage.nativeElement.style.display = this.constantsSvc.block;\r\n }\r\n } else if (this.Status === this.constantsSvc.CONRJTD ) {\r\n this.HideDiv();\r\n this.message = this.constantsSvc.contractRejectMsg;\r\n if (this.btnP ) {\r\n this.btnP.nativeElement.style.display = this.constantsSvc.none;\r\n this.contractMessage.nativeElement.style.display = this.constantsSvc.block;\r\n }\r\n\r\n }\r\n }\r\n });\r\n}\r\n// To close popups and unsubscribe subscriptions\r\n ngOnDestroy() {\r\n this.ClosePopUp();\r\n this.routeSubscription.unsubscribe();\r\n if (this.bcaContractSubscription) {\r\n this.bcaContractSubscription.unsubscribe();\r\n }\r\n }\r\n // go to contract page\r\n goToBack() {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'builder', 'contract',\r\n this.sessionSvc.sourceToContract, this.BcaId]);\r\n }\r\n // go To Payment page\r\n goToPayment() {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(),\r\n 'builder', 'payment', this.sessionSvc.sourceToContract, this.BcaId]);\r\n }\r\n ngAfterViewInit(): void {\r\n if (this.btnP) {\r\n this.btnP.nativeElement.style.display = this.constantsSvc.none;\r\n }\r\n }\r\n downloadDoc(docType) {\r\n this.filesArr = [];\r\n this.documentInput.documentType = docType;\r\n this.documentInput.folder = this.constantsSvc.LaserficheContractFolder;\r\n this.builderSvc.findFilesByMetadata(this.documentInput).subscribe(result => {\r\n if (result.data.length !== 0) {\r\n for ( let i = 0; i < result.data.length; i++) {\r\n this.filesArr.push(result.data[i]);\r\n }\r\n const recentdate = new Date(Math.max.apply(null, this.filesArr.map(function(e) {\r\n return new Date(e.creationDate);\r\n })));\r\n const mostRecentObject = this.filesArr.filter( e => {\r\n const d = new Date( e.creationDate );\r\n return d.getTime() === recentdate.getTime();\r\n })[0];\r\n this.fileid = mostRecentObject.id;\r\n window.open(this.config.webApiBaseUrl + '/Files/Download?id=' + this.fileid, '_blank');\r\n } else {\r\n swal(this.constantsSvc.headerDocReqSwal, this.constantsSvc.contractDocFailSwal, this.constantsSvc.errorSwal);\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.headerDocReqSwal, this.constantsSvc.contractDocFailSwal, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n}\r\n","export default \".k-i-close {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.glyphicon {\\r\\n font-family: \\\"Glyphicons Halflings\\\" !important;\\r\\n}\\r\\n\\r\\n.glyphicon-pencil {\\r\\n color: deepskyblue !important;\\r\\n}\\r\\n\\r\\n.glyphicon-check {\\r\\n color: green !important;\\r\\n}\\r\\n\\r\\n.exportExcel {\\r\\n background-color: #66bb6a !important;\\r\\n}\\r\\n\\r\\n.exportPdf {\\r\\n background-color: #f44336 !important;\\r\\n}\\r\\n\\r\\n.k-icon.glyphicon.glyphicon-pencil.k-button {\\r\\n width: calc(8px + 1.42857em) !important;\\r\\n height: calc(8px + 1.42857em) !important;\\r\\n background-color: transparent;\\r\\n border-color: transparent;\\r\\n background-image: linear-gradient(transparent, transparent);\\r\\n}\\r\\n\\r\\n.k-icon.glyphicon.glyphicon-check.k-button {\\r\\n width: calc(8px + 1.42857em) !important;\\r\\n height: calc(8px + 1.42857em) !important;\\r\\n background-color: transparent;\\r\\n border-color: transparent;\\r\\n background-image: linear-gradient(transparent, transparent);\\r\\n}\\r\\n\\r\\n.k-icon.k-i-close.k-button {\\r\\n width: calc(8px + 1.42857em) !important;\\r\\n height: calc(8px + 1.42857em) !important;\\r\\n background-color: transparent;\\r\\n border-color: transparent;\\r\\n background-image: linear-gradient(transparent, transparent);\\r\\n}\\r\\n\\r\\n.cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.iconDiv {\\r\\n height: calc(8px + 1.42857em) !important;\\r\\n}\\r\\n\\r\\n.k-grid-header .k-header {\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.panel {\\r\\n margin-bottom: 0px;\\r\\n background-color: #f5f5f5;\\r\\n color: #333333;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 0px;\\r\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n:host ::ng-deep div.ng-select-container {\\r\\n border-left: none !important;\\r\\n}\\r\\n\\r\\n.dateError {\\r\\n position: relative;\\r\\n bottom: 30px;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .input-lg {\\r\\n height: 39px !important;\\r\\n} */\\r\\n\\r\\n.btnDiv {\\r\\n padding-top: 28px !important;\\r\\n}\\r\\n\\r\\n.control-label {\\r\\n font-size: 12px;\\r\\n margin: 10px;\\r\\n}\\r\\n\\r\\n.k-grid-pdf {\\r\\n background-color: #f44336 !important;\\r\\n border-color: #f44336 !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n}\\r\\n\\r\\n.k-grid-excel {\\r\\n background-color: #66bb6a !important;\\r\\n border-color: #66bb6a !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n}\\r\\n\\r\\n/* .toolbar-headr-btn-alignment {\\r\\n right: 0px;\\r\\n\\r\\n} */\\r\\n\\r\\n.toolbar-headr-lbl-alignment {\\r\\n right: 0px;\\r\\n top: 2px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 380px) {\\r\\n /* .toolbar-headr-btn-alignment {\\r\\n right:-25px !important ;\\r\\n\\r\\n } */\\r\\n .k-button {\\r\\n font-size: 11px;\\r\\n width: 100px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/* @media only screen and (max-width: 320px){\\r\\n .banner {\\r\\n margin-left: -10px !important;\\r\\n width: 106% !important;\\r\\n padding-top: 30px;\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width:768px) and (max-width:1200px) {\\r\\n .banner {\\r\\n margin-left: -8px !important;\\r\\n width:101% !important;\\r\\n margin-bottom:10px !important;\\r\\n padding-top: 40px;\\r\\n margin-top: 0px !important;\\r\\n }\\r\\n} */\\r\\n\\r\\n/* @media only screen and (min-width: 480px) and (max-width: 768px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:10px !important ;\\r\\n\\r\\n }\\r\\n .k-button {\\r\\n font-size: 12px;\\r\\n width: 120px !important;\\r\\n }\\r\\n} */\\r\\n\\r\\n/* @media only screen and (min-width: 321px) and (max-width: 360px){\\r\\n .banner {\\r\\n margin-left: -10px !important;\\r\\n width: 105% !important;\\r\\n padding-top:30px;\\r\\n }\\r\\n} */\\r\\n\\r\\n/* @media only screen and (min-width: 1201px){\\r\\n .banner {\\r\\n margin-left: -90px;\\r\\n width: 73%;\\r\\n }\\r\\n} */\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 1024px) {\\r\\n /* .toolbar-headr-btn-alignment {\\r\\n right:100px !important ;\\r\\n\\r\\n } */\\r\\n .btnDiv {\\r\\n padding-top: 0px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/* @media only screen and (min-width: 1025px) and (max-width: 1200px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:25px !important ;\\r\\n\\r\\n }\\r\\n} */\\r\\n\\r\\n@media only screen and (min-width: 1200px) {\\r\\n /* .toolbar-headr-btn-alignment {\\r\\n right:50px !important ;\\r\\n\\r\\n } */\\r\\n .myCol {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n /* width:inherit; */\\r\\n /* Safari 6.1+ */\\r\\n /* IE 10 */\\r\\n flex: 1;\\r\\n justify-content: space-between;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n /* .k-button\\r\\n{\\r\\n width: 126px !important;\\r\\n top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n} */\\r\\n :host ::ng-deep .k-numeric-wrap .k-input {\\r\\n min-width: 30px !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .k-textbox {\\r\\n min-width: 32px !important;\\r\\n }\\r\\n\\r\\n kendo-dropdownlist {\\r\\n width: 100% !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) {\\r\\n .k-button {\\r\\n width: 135px !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .k-numeric-wrap .k-input {\\r\\n min-width: 30px !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .k-textbox {\\r\\n min-width: 32px !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .k-numerictextbox {\\r\\n min-width: 28px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 1024px) {\\r\\n .srchbtn {\\r\\n right: 1px !important;\\r\\n width: 25%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n .srchbtn {\\r\\n right: 1px !important;\\r\\n width: 40%;\\r\\n }\\r\\n\\r\\n .btnDiv {\\r\\n padding-top: 0px !important;\\r\\n }\\r\\n\\r\\n .myCol {\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n width: inherit;\\r\\n /* Safari 6.1+ */\\r\\n /* IE 10 */\\r\\n flex: 1;\\r\\n justify-content: space-between;\\r\\n }\\r\\n}\\r\\n\\r\\n.resetbtn {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.alert-success {\\r\\n background-color: #e8f5e9;\\r\\n color: #205823;\\r\\n}\\r\\n\\r\\n.dvAlert {\\r\\n padding: 1% 0.6% 0.6% 0.1% !important;\\r\\n width: 100%;\\r\\n margin-bottom: 1px !important;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n .dvAlert {\\r\\n margin-left: 0px !important;\\r\\n }\\r\\n\\r\\n .toolbar-headr-lbl-alignment {\\r\\n top: 8px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1024px) {\\r\\n .toolbar-headr-lbl-alignment {\\r\\n top: 8px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1366px) {\\r\\n .dvAlert {\\r\\n margin-left: 0px !important;\\r\\n }\\r\\n\\r\\n .toolbar-headr-lbl-alignment {\\r\\n top: 5px;\\r\\n }\\r\\n}\\r\\n\\r\\ndl {\\r\\n border-bottom: #1d1b1b solid 2px !important;\\r\\n margin-bottom: -8px !important;\\r\\n margin-left: -11.6px !important;\\r\\n}\\r\\n\\r\\n.contract {\\r\\n cursor: pointer;\\r\\n text-decoration: underline;\\r\\n color: #03a9f4;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n :host ::ng-deep .k-grid-table {\\r\\n width: inherit !important;\\r\\n }\\r\\n\\r\\n .mobileUpdateIcon {\\r\\n width: 40%;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\n .mobileDropdown {\\r\\n width: 40%;\\r\\n }\\r\\n\\r\\n kendo-dropdownlist {\\r\\n width: 100% !important;\\r\\n }\\r\\n\\r\\n .mobileeditIcon {\\r\\n width: 40%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 319px) and (max-width: 414px) {\\r\\n :host ::ng-deep tr.k-filter-row {\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep th.k-header {\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .k-numeric-wrap .k-input {\\r\\n min-width: 0px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.mobileTable {\\r\\n padding-left: 10px;\\r\\n word-wrap: break-word !important;\\r\\n}\\r\\n\\r\\n.break-word {\\r\\n word-wrap: break-word !important;\\r\\n}\\r\\n\\r\\n/* .banner {\\r\\n margin-top: 4.2px;\\r\\n} */\\r\\n\\r\\n.otherIcon {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.calendar.left.single {\\r\\n width: 300px !important;\\r\\n}\\r\\n\\r\\n#brdCrmb {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px) {\\r\\n #brdCrmb {\\r\\n display: block !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.iconfont {\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-list .k-item.k-state-selected {\\r\\n background-color: gray !important;\\r\\n}\\r\\n\\r\\n.button {\\r\\n background-color: transparent !important;\\r\\n border-color: transparent !important;\\r\\n}\\r\\n\\r\\n.project_info {\\r\\n overflow: auto;\\r\\n scrollbar-width: thin;\\r\\n}\\r\\n\\r\\n.active_panel {\\r\\n padding: 15px;\\r\\n border-radius: 10px;\\r\\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.panel_projects {\\r\\n width: 98%;\\r\\n background-color: rgb(213 229 239);\\r\\n border-radius: 5px;\\r\\n box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);\\r\\n}\\r\\n\\r\\n.panel_projects_search {\\r\\n position: sticky;\\r\\n top: 1px;\\r\\n margin: 8px 0px;\\r\\n}\\r\\n\\r\\n.panel_projects_search_form {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.panel_projects_search input {\\r\\n text-align: center;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.panel_container {\\r\\n height: 350px;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.active_project_card {\\r\\n font-weight: 600;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.active_project_card > span {\\r\\n margin: 12px;\\r\\n}\\r\\n\\r\\n.active_panel :is(h2, b) {\\r\\n margin: 5px 15px;\\r\\n}\\r\\n\\r\\n.info {\\r\\n display: flex;\\r\\n margin: 0px 12px;\\r\\n}\\r\\n\\r\\n.info_box {\\r\\n align-content: center;\\r\\n}\\r\\n\\r\\n.col-20 {\\r\\n width: 20%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.col-60 {\\r\\n width: 60%;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n border-collapse: collapse;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\nth,\\r\\ntd {\\r\\n border: 1px solid rgba(79, 72, 72, 0.601);\\r\\n}\\r\\n\\r\\ntr {\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 320px) and (max-width: 1200px) {\\r\\n table input {\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSw4Q0FBOEM7QUFDaEQ7O0FBRUE7RUFDRSw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUE7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUE7RUFDRSx1Q0FBdUM7RUFDdkMsd0NBQXdDO0VBQ3hDLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsMkRBQTJEO0FBQzdEOztBQUVBO0VBQ0UsdUNBQXVDO0VBQ3ZDLHdDQUF3QztFQUN4Qyw2QkFBNkI7RUFDN0IseUJBQXlCO0VBQ3pCLDJEQUEyRDtBQUM3RDs7QUFFQTtFQUNFLHVDQUF1QztFQUN2Qyx3Q0FBd0M7RUFDeEMsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QiwyREFBMkQ7QUFDN0Q7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usd0NBQXdDO0FBQzFDOztBQUVBO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QixjQUFjO0VBQ2QsNkJBQTZCO0VBQzdCLGtCQUFrQjtFQUNsQix5Q0FBeUM7QUFDM0M7O0FBRUE7RUFDRSw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsWUFBWTtBQUNkOztBQUVBOztHQUVHOztBQUVIO0VBQ0UsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLFlBQVk7QUFDZDs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxnQ0FBZ0M7RUFDaEMsc0JBQXNCO0VBQ3RCLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxnQ0FBZ0M7RUFDaEMsc0JBQXNCO0VBQ3RCLGlDQUFpQztBQUNuQzs7QUFFQTs7O0dBR0c7O0FB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LG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLFVBQVU7RUFDVixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFVBQVU7RUFDVixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixXQUFXO0FBQ2I7O0FBRUE7O0VBRUUseUNBQXlDO0FBQzNDOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0U7RUFDQTtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuay1pLWNsb3NlIHtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG4uZ2x5cGhpY29uIHtcclxuICBmb250LWZhbWlseTogXCJHbHlwaGljb25zIEhhbGZsaW5nc1wiICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5nbHlwaGljb24tcGVuY2lsIHtcclxuICBjb2xvcjogZGVlcHNreWJsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdseXBoaWNvbi1jaGVjayB7XHJcbiAgY29sb3I6IGdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5leHBvcnRFeGNlbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZiYjZhICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5leHBvcnRQZGYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uay1pY29uLmdseXBoaWNvbi5nbHlwaGljb24tcGVuY2lsLmstYnV0dG9uIHtcclxuICB3aWR0aDogY2FsYyg4cHggKyAxLjQyODU3ZW0pICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiBjYWxjKDhweCArIDEuNDI4NTdlbSkgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xyXG59XHJcblxyXG4uay1pY29uLmdseXBoaWNvbi5nbHlwaGljb24tY2hlY2suay1idXR0b24ge1xyXG4gIHdpZHRoOiBjYWxjKDhweCArIDEuNDI4NTdlbSkgIWltcG9ydGFudDtcclxuICBoZWlnaHQ6IGNhbGMoOHB4ICsgMS40Mjg1N2VtKSAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi5rLWljb24uay1pLWNsb3NlLmstYnV0dG9uIHtcclxuICB3aWR0aDogY2FsYyg4cHggKyAxLjQyODU3ZW0pICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiBjYWxjKDhweCArIDEuNDI4NTdlbSkgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xyXG59XHJcblxyXG4uY3Vyc29yIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pY29uRGl2IHtcclxuICBoZWlnaHQ6IGNhbGMoOHB4ICsgMS40Mjg1N2VtKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uay1ncmlkLWhlYWRlciAuay1oZWFkZXIge1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbi5wYW5lbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgY29sb3I6ICMzMzMzMzM7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgZGl2Lm5nLXNlbGVjdC1jb250YWluZXIge1xyXG4gIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kYXRlRXJyb3Ige1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi8qIDpob3N0IDo6bmctZGVlcCAuaW5wdXQtbGcge1xyXG4gaGVpZ2h0OiAzOXB4ICFpbXBvcnRhbnQ7XHJcbn0gKi9cclxuXHJcbi5idG5EaXYge1xyXG4gIHBhZGRpbmctdG9wOiAyOHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb250cm9sLWxhYmVsIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbWFyZ2luOiAxMHB4O1xyXG59XHJcblxyXG4uay1ncmlkLXBkZiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uay1ncmlkLWV4Y2VsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZiYjZhICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAjNjZiYjZhICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gIHJpZ2h0OiAwcHg7XHJcblxyXG59ICovXHJcbi50b29sYmFyLWhlYWRyLWxibC1hbGlnbm1lbnQge1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgdG9wOiAycHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzgwcHgpIHtcclxuICAvKiAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgIHJpZ2h0Oi0yNXB4ICFpbXBvcnRhbnQgO1xyXG5cclxuICB9ICovXHJcbiAgLmstYnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLyogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCl7XHJcbiAgLmJhbm5lciB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHggIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMDYlICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDoxMjAwcHgpIHtcclxuICAuYmFubmVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDoxMDElICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOjEwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59ICovXHJcbi8qIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCl7XHJcbiAgLnRvb2xiYXItaGVhZHItYnRuLWFsaWdubWVudCB7XHJcbiAgICByaWdodDoxMHB4ICFpbXBvcnRhbnQgO1xyXG5cclxuICB9XHJcbiAgLmstYnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufSAqL1xyXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMXB4KSBhbmQgKG1heC13aWR0aDogMzYwcHgpe1xyXG4gIC5iYW5uZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTA1JSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy10b3A6MzBweDtcclxuICB9XHJcbn0gKi9cclxuLyogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpe1xyXG4gIC5iYW5uZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC05MHB4O1xyXG4gICAgd2lkdGg6IDczJTtcclxuICB9XHJcbn0gKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gIC8qIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6MTAwcHggIWltcG9ydGFudCA7XHJcblxyXG4gIH0gKi9cclxuICAuYnRuRGl2IHtcclxuICAgIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8qIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KXtcclxuICAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgIHJpZ2h0OjI1cHggIWltcG9ydGFudCA7XHJcblxyXG4gIH1cclxufSAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gIC8qIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6NTBweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgfSAqL1xyXG4gIC5teUNvbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIC8qIHdpZHRoOmluaGVyaXQ7ICovXHJcbiAgICAtd2Via2l0LWZsZXg6IDE7XHJcbiAgICAvKiBTYWZhcmkgNi4xKyAqL1xyXG4gICAgLW1zLWZsZXg6IDE7XHJcbiAgICAvKiBJRSAxMCAqL1xyXG4gICAgZmxleDogMTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAvKiAuay1idXR0b25cclxue1xyXG4gIHdpZHRoOiAxMjZweCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiA1cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG59ICovXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5rLW51bWVyaWMtd3JhcCAuay1pbnB1dCB7XHJcbiAgICBtaW4td2lkdGg6IDMwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIDpob3N0IDo6bmctZGVlcCAuay10ZXh0Ym94IHtcclxuICAgIG1pbi13aWR0aDogMzJweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAga2VuZG8tZHJvcGRvd25saXN0IHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksXHJcbiAgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAuay1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEzNXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA6aG9zdCA6Om5nLWRlZXAgLmstbnVtZXJpYy13cmFwIC5rLWlucHV0IHtcclxuICAgIG1pbi13aWR0aDogMzBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5rLXRleHRib3gge1xyXG4gICAgbWluLXdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA6aG9zdCA6Om5nLWRlZXAgLmstbnVtZXJpY3RleHRib3gge1xyXG4gICAgbWluLXdpZHRoOiAyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLnNyY2hidG4ge1xyXG4gICAgcmlnaHQ6IDFweCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDI1JTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAuc3JjaGJ0biB7XHJcbiAgICByaWdodDogMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogNDAlO1xyXG4gIH1cclxuXHJcbiAgLmJ0bkRpdiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubXlDb2wge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgIC13ZWJraXQtZmxleDogMTtcclxuICAgIC8qIFNhZmFyaSA2LjErICovXHJcbiAgICAtbXMtZmxleDogMTtcclxuICAgIC8qIElFIDEwICovXHJcbiAgICBmbGV4OiAxO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxufVxyXG5cclxuLnJlc2V0YnRuIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5hbGVydC1zdWNjZXNzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThmNWU5O1xyXG4gIGNvbG9yOiAjMjA1ODIzO1xyXG59XHJcblxyXG4uZHZBbGVydCB7XHJcbiAgcGFkZGluZzogMSUgMC42JSAwLjYlIDAuMSUgIWltcG9ydGFudDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAxcHggIWltcG9ydGFudDtcclxuICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAuZHZBbGVydCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAudG9vbGJhci1oZWFkci1sYmwtYWxpZ25tZW50IHtcclxuICAgIHRvcDogOHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAudG9vbGJhci1oZWFkci1sYmwtYWxpZ25tZW50IHtcclxuICAgIHRvcDogOHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzY2cHgpIHtcclxuICAuZHZBbGVydCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAudG9vbGJhci1oZWFkci1sYmwtYWxpZ25tZW50IHtcclxuICAgIHRvcDogNXB4O1xyXG4gIH1cclxufVxyXG5cclxuZGwge1xyXG4gIGJvcmRlci1ib3R0b206ICMxZDFiMWIgc29saWQgMnB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogLThweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMTEuNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb250cmFjdCB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGNvbG9yOiAjMDNhOWY0O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5rLWdyaWQtdGFibGUge1xyXG4gICAgd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5tb2JpbGVVcGRhdGVJY29uIHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAubW9iaWxlRHJvcGRvd24ge1xyXG4gICAgd2lkdGg6IDQwJTtcclxuICB9XHJcblxyXG4gIGtlbmRvLWRyb3Bkb3dubGlzdCB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm1vYmlsZWVkaXRJY29uIHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMxOXB4KSBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcclxuICA6aG9zdCA6Om5nLWRlZXAgdHIuay1maWx0ZXItcm93IHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIDpob3N0IDo6bmctZGVlcCB0aC5rLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICA6aG9zdCA6Om5nLWRlZXAgLmstbnVtZXJpYy13cmFwIC5rLWlucHV0IHtcclxuICAgIG1pbi13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubW9iaWxlVGFibGUge1xyXG4gIHBhZGRpbmctbGVmdDogMTBweDtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJyZWFrLXdvcmQge1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAuYmFubmVyIHtcclxuICBtYXJnaW4tdG9wOiA0LjJweDtcclxufSAqL1xyXG4ub3RoZXJJY29uIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jYWxlbmRhci5sZWZ0LnNpbmdsZSB7XHJcbiAgd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNicmRDcm1iIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAjYnJkQ3JtYiB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmljb25mb250IHtcclxuICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLWxpc3QgLmstaXRlbS5rLXN0YXRlLXNlbGVjdGVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvamVjdF9pbmZvIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbn1cclxuXHJcbi5hY3RpdmVfcGFuZWwge1xyXG4gIHBhZGRpbmc6IDE1cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICBib3gtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5wYW5lbF9wcm9qZWN0cyB7XHJcbiAgd2lkdGg6IDk4JTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEzIDIyOSAyMzkpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBib3gtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbn1cclxuXHJcbi5wYW5lbF9wcm9qZWN0c19zZWFyY2gge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAxcHg7XHJcbiAgbWFyZ2luOiA4cHggMHB4O1xyXG59XHJcblxyXG4ucGFuZWxfcHJvamVjdHNfc2VhcmNoX2Zvcm0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ucGFuZWxfcHJvamVjdHNfc2VhcmNoIGlucHV0IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5wYW5lbF9jb250YWluZXIge1xyXG4gIGhlaWdodDogMzUwcHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5hY3RpdmVfcHJvamVjdF9jYXJkIHtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmFjdGl2ZV9wcm9qZWN0X2NhcmQgPiBzcGFuIHtcclxuICBtYXJnaW46IDEycHg7XHJcbn1cclxuXHJcbi5hY3RpdmVfcGFuZWwgOmlzKGgyLCBiKSB7XHJcbiAgbWFyZ2luOiA1cHggMTVweDtcclxufVxyXG5cclxuLmluZm8ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgbWFyZ2luOiAwcHggMTJweDtcclxufVxyXG5cclxuLmluZm9fYm94IHtcclxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb2wtMjAge1xyXG4gIHdpZHRoOiAyMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uY29sLTYwIHtcclxuICB3aWR0aDogNjAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxudGFibGUge1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbnRoLFxyXG50ZCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwgNzIsIDcyLCAwLjYwMSk7XHJcbn1cclxuXHJcbnRyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcbiAgdGFibGUgaW5wdXQge1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import {\r\n Component, OnInit, AfterViewInit, Inject, ElementRef, ViewChild, NgZone,\r\n HostListener, OnDestroy\r\n} from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { FormControl, FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { GridDataResult, DataStateChangeEvent, GridComponent } from '@progress/kendo-angular-grid';\r\nimport {\r\n sampleProducts, sampleLots, sampleMains, BuilderInfo, Product, BCASearch,\r\n GasRequestStatusEnum,\r\n Gasbca\r\n} from '@app/base/core/models';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { ConstantsService, SessionService, AccountService, LookupsService } from '@app/base/core';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/base/shared';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { AutocompleteComponent } from '@app/base/shared/controls';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { takeWhile, take } from 'rxjs/operators';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { LandingService } from '@app/modules/landing';\r\nimport Swal from 'sweetalert2';\r\nimport * as XLSX from 'xlsx';\r\nimport { jsPDF } from 'jspdf';\r\nimport autoTable from 'jspdf-autotable';\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\ninterface SubName {\r\n id: number;\r\n itemName: string;\r\n}\r\n\r\ninterface ProjectDetails {\r\n stateCd: string;\r\n projectNumber: number;\r\n projectName: string;\r\n grStatus: string;\r\n bgrStatus: string;\r\n requestTypeCd: string;\r\n isServiceRequested: string;\r\n}\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\nexport class HomeComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(AutocompleteComponent, { static: false }) comp: AutocompleteComponent;\r\n @ViewChild('endDate', { static: false }) endDate;\r\n @ViewChild('startDate', { static: false }) startDate;\r\n @ViewChild(GridComponent, { static: false })\r\n public grid: GridComponent;\r\n @ViewChild('firstColumn', { static: false }) firstColumn;\r\n @ViewChild('secondColumn', { static: false }) secondColumn;\r\n @ViewChild('thirdColumn', { static: false }) thirdColumn;\r\n @ViewChild('fourthColumn', { static: false }) fourthColumn;\r\n @ViewChild('fifthColumn', { static: false }) fifthColumn;\r\n @ViewChild('seventhColumn', { static: false }) seventhColumn;\r\n @ViewChild('eighthColumn', { static: false }) eighthColumn;\r\n @ViewChild('ninthColumn', { static: false }) ninthColumn;\r\n @ViewChild('tenthColumn', { static: false }) tenthColumn;\r\n @ViewChild('elevnthColumn', { static: false }) elevnthColumn;\r\n @ViewChild('twelfthColumn', { static: false }) twelfthColumn;\r\n\r\n public errorMessage;\r\n\r\n public searchElementRef: ElementRef;\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event) {\r\n\r\n }\r\n data: any;\r\n dataItem: any;\r\n public modelGasBca: Gasbca;\r\n public rowId: any;\r\n public admin: boolean;\r\n public infoWindowOpen: boolean;\r\n public searchControl: FormControl;\r\n public bcaData: any = [];\r\n public builderInfo: BuilderInfo = {\r\n Admin: false,\r\n BuilderId: [],\r\n subsidiaryId: [],\r\n CompanyName: '',\r\n IsActive: '',\r\n subsidiaryList: [],\r\n CompanyAddress: {\r\n id: '',\r\n contactTypeCode: '',\r\n streetNumber: '',\r\n recUpdatedDate: '',\r\n recCreatedDate: '',\r\n recCreatedBy: '',\r\n recUpdatedBy: '',\r\n streetName: '',\r\n directionPrefix: '',\r\n directionSuffix: '',\r\n streetType: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n contactName2Extn: '',\r\n contactName1Phone: '',\r\n contactName1AreaCode: '',\r\n contactName2AreaCode: '',\r\n contactName2Phone: '',\r\n address2: '',\r\n unitNumber: ''\r\n },\r\n CompanyEmail: '',\r\n // AdminUsers: [{ firstName: '', lastName: '', userId: '', builderId: '', email: '' }],\r\n BuilderMapping: [{ id: '', builderName: '', subsidiaryId: [], subsidiaryName: [], status: '' }]\r\n };\r\n public bcaItem = [];\r\n public result: ExcelExportData;\r\n public dropDown: string;\r\n public bcaStatuses = [];\r\n accordionSign = true;\r\n accordion = true;\r\n emailId: string;\r\n userName: string;\r\n GridId: number;\r\n stateCd: string;\r\n subsidaryList = [];\r\n subList: SubName[];\r\n editing = false;\r\n\r\n alertMsg: any = [];\r\n public state: State = {\r\n skip: 0,\r\n take: 10,\r\n\r\n // Initial filter descriptor\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public killsubscribe: boolean;\r\n public searchAddress: string = null;\r\n public filter = '';\r\n public requestTypeCd: string;\r\n public flag = 0;\r\n public isServiceRequested;\r\n public error: any = { isError: false, errorMessage: '', stDateError: false };\r\n public strterror: any = { isError: false, errorMessage: '' };\r\n public subsidiaryList: any = [];\r\n public myaddress: FormControl = new FormControl('');\r\n public gridData: GridDataResult = process(sampleProducts, this.state);\r\n public bcaGridData: GridDataResult = process(this.bcaData, this.state);\r\n public gridMains: GridDataResult = process(sampleMains, this.state);\r\n // Code to define form to bind thhe search inputs\r\n public bcaSearch: BCASearch = {\r\n builderId: [],\r\n projectName: null,\r\n projectAddress: null,\r\n bcaStatus: null,\r\n subsidaryId: null,\r\n subsidarycompanyName: null,\r\n startDate: null,\r\n endDate: null,\r\n bcaStatusValue: null\r\n };\r\n public gasrequest = [];\r\n public show = false;\r\n public developmentStat: string;\r\n public GasRequestStatus = GasRequestStatusEnum;\r\n public pageSizes = true;\r\n public previousNext = true;\r\n public buttonCount = 5;\r\n public mindate: string;\r\n public maxDate: string;\r\n public info = true;\r\n public updateSuccess: boolean;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public projectNumber: number;\r\n public projectName: string;\r\n public grStatus: string;\r\n public bgrStatus: string;\r\n public grTypeCd: string;\r\n public developmentStatus: any;\r\n public bcaValue: string;\r\n public requestSearchForm: FormGroup;\r\n public searchForm: FormGroup;\r\n\r\n projectList: any[] = [];\r\n activeProjectLength: number;\r\n filterProjectLength: number;\r\n activeProjects: any[] = [];\r\n filterProjectInside: any[] = [];\r\n filterProjects: any[] = [];\r\n showOnlyActive: boolean;\r\n\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.gridData = process(sampleProducts, this.state);\r\n this.bcaGridData = process(this.bcaData, this.state);\r\n this.gridMains = process(sampleMains, this.state);\r\n this.fitColumns();\r\n }\r\n\r\n constructor(\r\n @Inject(Router) private router: Router,\r\n @Inject(NgZone) private ngZone: NgZone,\r\n private http: BuilderService,\r\n private el: ElementRef,\r\n private landingSvc: LandingService,\r\n public session: SessionService,\r\n public constantsSvc: ConstantsService,\r\n public accountSvc: AccountService,\r\n public socoHttp: SocoHttpService,\r\n public lookupSvc: LookupsService,\r\n public fb: FormBuilder,\r\n public constSvc: ConstantsService, private alertService: AlertService, private datePipe: DatePipe,\r\n ) {\r\n this.allData = this.allData.bind(this);\r\n }\r\n ngOnInit() {\r\n\r\n this.killsubscribe = true;\r\n this.userName = this.accountSvc.account.user.username;\r\n this.emailId = this.accountSvc.account.user.email;\r\n this.showOnlyActive = true;\r\n\r\n // create search form\r\n this.requestSearchForm = new FormGroup({\r\n requestId: new FormControl(null,\r\n [Validators.pattern(this.constSvc.numericPattern)]),\r\n projectName: new FormControl(null),\r\n projectAddress: new FormControl(null),\r\n subsidaryCompany: new FormControl(null),\r\n startDate: new FormControl('', [Validators.pattern(this.constSvc.datePattern)]),\r\n endDate: new FormControl('', [Validators.pattern(this.constSvc.datePattern)]),\r\n bcaStatus: new FormControl(null)\r\n }, { updateOn: 'blur' });\r\n\r\n //create project search Form\r\n this.searchForm = new FormGroup({\r\n builderId: new FormControl(''),\r\n projectNo: new FormControl(''),\r\n projectAddress: new FormControl('')\r\n });\r\n\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Builder Home'));\r\n this.developmentStatus = this.lookupSvc.developmentStatus.lookupValues;\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.initialLoad();\r\n this.getHolidayList();\r\n\r\n //calling API\r\n //const projectDataStorage = localStorage.getItem('projectData');\r\n //if (projectDataStorage) {\r\n // this.projectList = JSON.parse(projectDataStorage);\r\n // this.activeProjects = this.projectList.filter(d => d.bgrStatus == \"ACTPRJ\")\r\n // this.activeProjectLength = this.activeProjects.length;\r\n //}\r\n }\r\n\r\n // code to populate previously loaded grid data from service if user is visiting home screen again\r\n public initialLoad() {\r\n this.session.BcaData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success !== null) {\r\n this.bcaData = success;\r\n this.session.builderData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n for (let i = 0; i < success.BuilderId.length; i++) {\r\n this.builderInfo.BuilderId[i] = success.BuilderId[i];\r\n }\r\n this.admin = success.Admin;\r\n if ((success.subsidiaryList !== null) && (success.subsidiaryList !== undefined)) {\r\n // tslint:disable-next-line\r\n this.subList = success.subsidiaryList.sort((a, b) => {\r\n if (a.itemName > b.itemName) {\r\n return 1;\r\n }\r\n if (a.itemName < b.itemName) {\r\n return -1;\r\n }\r\n });\r\n }\r\n this.builderInfo.BuilderMapping = success.BuilderMapping;\r\n }\r\n });\r\n this.session.searchFilter.pipe(takeWhile(() => this.killsubscribe)).subscribe(result => {\r\n this.bcaSearch = result;\r\n this.fillSeachform();\r\n });\r\n\r\n this.session.SearchInside$.pipe(takeWhile(() => this.killsubscribe)).subscribe(result => {\r\n this.searchForm.patchValue({\r\n builderId: result.builderId,\r\n projectNo: result.projectNo,\r\n projectAddress: result.projectAddress\r\n });\r\n })\r\n\r\n this.session.ShowActiveProjectData$.pipe(takeWhile(() => this.killsubscribe)).subscribe(result => {\r\n this.showOnlyActive = result;\r\n })\r\n\r\n // check\r\n this.session.ProjectList$.pipe(takeWhile(() => this.killsubscribe)).subscribe(result => {\r\n this.projectList = result;\r\n });\r\n\r\n this.session.ProjectData$.pipe(takeWhile(() => this.killsubscribe)).subscribe(result => {\r\n if (this.showOnlyActive) {\r\n this.activeProjects = result.filter(d => d.bgrStatus == \"ACTPRJ\");\r\n this.activeProjectLength = this.activeProjects.length;\r\n } else {\r\n this.filterProjects = result;\r\n this.filterProjectInside = result;\r\n this.filterProjectLength = this.filterProjects.length;\r\n }\r\n });\r\n\r\n this.resetInternalSearchForm();\r\n\r\n this.bcaGridData = process(this.bcaData, this.state);\r\n if ((this.lookupSvc.gasRequestStatus.lookupValues !== null) && (this.lookupSvc.gasRequestStatus.lookupValues !== undefined)) {\r\n // tslint:disable-next-line\r\n this.bcaStatuses = this.lookupSvc.gasRequestStatus.lookupValues.sort((a, b) => {\r\n if (a.itemName > b.itemName) {\r\n return 1;\r\n }\r\n if (a.itemName < b.itemName) {\r\n return -1;\r\n }\r\n });\r\n this.searchForm!.valueChanges.pipe(takeWhile(() => this.killsubscribe)).subscribe(values => {\r\n this.filterProjectsInternally(values);\r\n });\r\n }\r\n } else {\r\n // this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.lookupSvc.commonLookupsLoaded$.subscribe(\r\n loadingStatus => {\r\n if (loadingStatus) {\r\n this.requestSearchForm.reset();\r\n this.requestSearchForm.clearValidators();\r\n this.loadItems();\r\n }\r\n }\r\n );\r\n }\r\n });\r\n\r\n\r\n }\r\n ngAfterViewInit(): void {\r\n const resizeUpdate = function () {\r\n if (window.innerWidth <= 1024) {\r\n $('.primary-selectors, .secondary-selectors').removeClass('ml-30');\r\n } else {\r\n $('.primary-selectors, .secondary-selectors').addClass('ml-30');\r\n }\r\n };\r\n window.addEventListener(\r\n 'resize',\r\n function () {\r\n resizeUpdate();\r\n },\r\n true\r\n );\r\n resizeUpdate();\r\n this.fitColumns();\r\n\r\n }\r\n\r\n // code to fetch builder details from DB\r\n loadItems() {\r\n if (this.userName !== undefined) {\r\n this.session.builderData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n for (let i = 0; i < success.BuilderId.length; i++) {\r\n this.builderInfo.BuilderId[i] = success.BuilderId[i];\r\n }\r\n this.admin = success.Admin;\r\n if ((success.subsidiaryList !== null) && (success.subsidiaryList !== undefined)) {\r\n // tslint:disable-next-line\r\n this.subList = success.subsidiaryList.sort((a, b) => {\r\n if (a.itemName > b.itemName) {\r\n return 1;\r\n }\r\n if (a.itemName < b.itemName) {\r\n return -1;\r\n }\r\n });\r\n }\r\n this.builderInfo.BuilderMapping = success.BuilderMapping;\r\n this.reset();\r\n } else {\r\n this.bcaGridData = process(this.bcaData, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n }\r\n });\r\n } else {\r\n this.bcaGridData = process(this.bcaData, this.state);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n }\r\n }\r\n // code to export grid data to excel\r\n public allData(): ExcelExportData {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.result = {\r\n data: process(this.bcaData, { filter: this.state.filter }).data\r\n };\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n return this.result;\r\n }\r\n\r\n // used to unsubscribe to services\r\n ngOnDestroy() {\r\n this.killsubscribe = false;\r\n this.passBcaData();\r\n this.passSearchfilters();\r\n this.passProjectData();\r\n }\r\n\r\n // code to show 'no subsidiaries found' when subsidiary list is empty\r\n subsidaryDefault(e) {\r\n if (this.subList.length === 0) {\r\n setTimeout(() => {\r\n const mydiv = $('#subsidary').find('.ng-option');\r\n if (mydiv[0]) {\r\n mydiv[0].innerText = this.constantsSvc.noSubFound;\r\n\r\n }\r\n }, 0);\r\n\r\n }\r\n }\r\n\r\n // load search form based on previous search filters when user comes back to home screen\r\n fillSeachform() {\r\n this.requestSearchForm.patchValue({\r\n requestId: this.bcaSearch.reqId,\r\n projectName: this.bcaSearch.projectName,\r\n projectAddress: this.bcaSearch.projectAddress,\r\n subsidaryCompany: this.bcaSearch.subsidarycompanyName,\r\n startDate: this.bcaSearch.startDate,\r\n endDate: this.bcaSearch.endDate,\r\n bcaStatus: this.bcaSearch.bcaStatusValue\r\n });\r\n this.searchAddress = this.bcaSearch.projectAddress;\r\n }\r\n\r\n // code to populate grid at home screen from DB based on search filters applied\r\n bcaGrid() {\r\n // code to fetch bca data\r\n if ((this.lookupSvc.gasRequestStatus.lookupValues !== null) && (this.lookupSvc.gasRequestStatus.lookupValues !== undefined)) {\r\n // tslint:disable-next-line\r\n this.bcaStatuses = this.lookupSvc.gasRequestStatus.lookupValues.sort((a, b) => {\r\n if (a.itemName > b.itemName) {\r\n return 1;\r\n }\r\n if (a.itemName < b.itemName) {\r\n return -1;\r\n }\r\n });\r\n }\r\n\r\n if (this.bcaSearch.builderId.length !== 0 && this.showOnlyActive) {\r\n //calling API\r\n this.http.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n // localStorage.setItem('projectData', JSON.stringify(result.data));\r\n this.projectList = result.data;\r\n this.activeProjects = this.projectList.filter(d => d.bgrStatus == \"ACTPRJ\")\r\n this.activeProjectLength = this.activeProjects.length;\r\n });\r\n\r\n this.searchForm!.valueChanges.subscribe(values => {\r\n this.filterProjectsInternally(values);\r\n });\r\n }\r\n\r\n /* Start --CXCO 751 :-28/05/2024 -Existing Service tracker removed --Srinivas\r\n if (this.bcaSearch.builderId.length !== 0) {\r\n this.http.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n this.gasrequest = this.lookupSvc.gasRequestType;\r\n for (let val = 0; val < result.data.length; val++) {\r\n // code to show bcastatus name on grid\r\n\r\n if (result.data[val]['bgrStatus'] != null && this.bcaStatuses !== undefined) {\r\n const BrStatus = {\r\n oldbgrStatus: result.data[val]['bgrStatus']\r\n };\r\n result.data[val]['bgrStatus'] = (this.bcaStatuses.find(x => x.id === result.data[val]['bgrStatus'])).itemName;\r\n Object.assign(result.data[val], BrStatus);\r\n }\r\n\r\n // code to show gas request type on grid\r\n if (result.data[val]['gasRqstTpCd'] != null && this.gasrequest !== undefined) {\r\n const dummy = {\r\n oldReqTpCd: result.data[val]['gasRqstTpCd']\r\n };\r\n result.data[val]['gasRqstTpCd'] = (this.gasrequest.find(x => x.typeCode === result.data[val]['gasRqstTpCd'])).propertyType;\r\n Object.assign(result.data[val], dummy);\r\n\r\n }\r\n // code to show development status on grid\r\n if (result.data[val]['developmentStatus'] != null && this.developmentStatus !== undefined) {\r\n result.data[val]['developmentStatus'] =\r\n (this.developmentStatus.find(x => x.id === result.data[val]['developmentStatus'])).itemName;\r\n }\r\n }\r\n this.bcaData = result.data;\r\n this.state = {\r\n skip: 0,\r\n take: 10,\r\n // Initial filter descriptor\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n this.bcaGridData = process(this.bcaData, this.state);\r\n this.fitColumns();\r\n if (this.bcaGridData) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n }\r\n },\r\n (error) => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.projDetailsError, this.constantsSvc.errorSwal);\r\n });\r\n } else {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.projDetailsError, this.constantsSvc.errorSwal);\r\n }\r\n //End -Existing Service tracker removed --Srinivas*/\r\n }\r\n\r\n // export to excel and pdf disable\r\n //checkExport(): boolean {\r\n // if (this.bcaData.length === 0) {\r\n // return true;\r\n // } else {\r\n // return false;\r\n // }\r\n //}\r\n\r\n // export to excel and pdf disable\r\n checkExport(): boolean {\r\n // Check if both activeProjects and filterProjects are empty\r\n if (this.activeProjects.length === 0 && this.filterProjects.length === 0) {\r\n return true; // Disable export if both arrays are empty\r\n } else {\r\n return false; // Enable export if at least one array has data\r\n }\r\n }\r\n\r\n\r\n // code to update development status and show the updated data\r\n saveHandler(dataItem: any) {\r\n if (this.editing) {\r\n dataItem.developmentStatus = (this.dropDown.length !== 0) ? (this.dropDown) : (null);\r\n } else {\r\n dataItem.developmentStatus = (this.developmentStat.length !== 0) ? (this.developmentStat) : (null);\r\n }\r\n if (dataItem.developmentStatus !== null) {\r\n this.updateSuccess = true;\r\n this.show = false;\r\n dataItem.grStatus = dataItem.oldgrStatus;\r\n dataItem.bgrStatus = dataItem.oldbgrStatus;\r\n dataItem.gasRqstTpCd = dataItem.oldReqTpCd;\r\n this.modelGasBca = dataItem;\r\n this.modelGasBca.recUpdateUsrId = this.userName;\r\n this.modelGasBca.recUpdateDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss');\r\n this.modelGasBca.developmentStatus = (this.developmentStatus.find(x => x.itemName === dataItem.developmentStatus)).id;\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.http.editBCADetails(this.modelGasBca).subscribe(result => {\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n swal(this.constSvc.developmentStatusReqSwal, this.constSvc.developmentstatusSuccessSwal, this.constSvc.successSwal);\r\n this.bcaGrid();\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n this.show = false;\r\n\r\n swal(this.constSvc.developmentStatusReqSwal1, this.constSvc.developmentStatusFailSwal, this.constSvc.errorSwal);\r\n }\r\n },\r\n (error) => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n this.show = false;\r\n swal(this.constSvc.developmentStatusReqSwal1, this.constSvc.developmentStatusFailSwal, this.constSvc.errorSwal);\r\n });\r\n this.editing = false;\r\n this.rowId = null;\r\n }\r\n }\r\n\r\n // Kendo BCA Grid\r\n toggleInfoWindow() {\r\n this.infoWindowOpen = !this.infoWindowOpen;\r\n }\r\n\r\n // code to resize BCA Grid based on data\r\n public fitColumns(): void {\r\n this.ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\r\n });\r\n }\r\n\r\n\r\n editCell(gridInstance, rowIndex, colIndex, dataItem) {\r\n\r\n this.updateSuccess = false;\r\n const status = dataItem.developmentStatus;\r\n this.developmentStat = status;\r\n gridInstance.editCell(rowIndex, colIndex, this.createFormGroup(dataItem));\r\n }\r\n\r\n editCellMobile(rowIndex, dataItem) {\r\n this.updateSuccess = false;\r\n const mobileEdit = dataItem.developmentStatus;\r\n this.dropDown = mobileEdit;\r\n this.rowId = rowIndex;\r\n this.editing = true;\r\n }\r\n\r\n closeCell() {\r\n this.editing = false;\r\n this.rowId = null;\r\n }\r\n\r\n cellCloseHandler(e) {\r\n if (this.updateSuccess === false) {\r\n e.dataItem.developmentStatus = (e.dataItem.developmentStatus !== null) ? (e.dataItem.developmentStatus) : (null);\r\n }\r\n\r\n\r\n }\r\n\r\n cancelHandler(sender, rowIndex, dataItem) {\r\n sender.closeRow(rowIndex);\r\n dataItem.developmentStatus = this.developmentStat;\r\n this.editing = false;\r\n this.rowId = null;\r\n }\r\n\r\n createFormGroup(dataItem: any): FormGroup {\r\n return this.fb.group({\r\n 'bcaId': dataItem.bcaId,\r\n 'bcaStatus': dataItem.bcaStatus,\r\n 'builderId': dataItem.builderId,\r\n 'createDate': dataItem.createDate,\r\n 'developmentStatus': dataItem.developmentStatus,\r\n 'enteredBy': dataItem.enteredBy,\r\n 'finalPlat': dataItem.finalPlat,\r\n 'grStatus': dataItem.grStatus,\r\n 'bgrStatus': dataItem.bgrStatus,\r\n 'id': dataItem.id,\r\n 'mainInstallationStatus': dataItem.mainStatus,\r\n 'gasRqstTpCd': dataItem.gasRqstTpCd,\r\n 'projectName': dataItem.projectName,\r\n 'serviceFormattedAddress': dataItem.serviceFormattedAddress,\r\n 'stateCd': dataItem.stateCd,\r\n });\r\n }\r\n\r\n\r\n // Code to capture address selected from suggestion in Google auto-suggest text box\r\n getAddressFromAddressSuggestion(address) {\r\n this.searchAddress = address.formatted_address;\r\n this.bcaSearch.projectAddress = address.formatted_address;\r\n }\r\n\r\n // Code to capture address entered in Google auto-suggest text box\r\n getAddressFromTextBox(address) {\r\n this.searchAddress = address;\r\n this.bcaSearch.projectAddress = address;\r\n }\r\n\r\n // code to route to contract page on clicking of contract button\r\n routeToContract(grId) {\r\n this.session.sourceToContract = this.constantsSvc.BuilderUser;\r\n this.router.navigate([this.session.paramLdc.toLocaleLowerCase(), 'builder', 'contract', this.constantsSvc.BuilderUser, grId]);\r\n }\r\n\r\n // code to show subtabs on clicking of any cell in grid\r\n bcaDetails(projectDetails) {\r\n\r\n this.router.navigate([\r\n this.session.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'request',\r\n projectDetails.id\r\n ]);\r\n this.stateCd = projectDetails.stateCd;\r\n this.projectNumber = projectDetails.bcaId;\r\n this.projectName = projectDetails.projectName;\r\n this.grStatus = projectDetails.oldgrStatus;\r\n this.bgrStatus = projectDetails.oldbgrStatus;\r\n this.grTypeCd = projectDetails.gasRqstTpCd;\r\n this.requestTypeCd = projectDetails.oldReqTpCd;\r\n this.isServiceRequested = projectDetails.isAllServiceRequested;\r\n this.passGrid();\r\n }\r\n\r\n // code to pass project number and gas request number to service\r\n passGrid() {\r\n const projectDetails: ProjectDetails = {\r\n stateCd: this.stateCd,\r\n projectNumber: this.projectNumber,\r\n projectName: this.projectName,\r\n grStatus: this.grStatus,\r\n bgrStatus: this.bgrStatus,\r\n requestTypeCd: this.requestTypeCd,\r\n isServiceRequested: this.isServiceRequested\r\n };\r\n this.session.GetGrid(projectDetails);\r\n }\r\n\r\n // code to pass grid data fetched from DB to service\r\n passBcaData() {\r\n this.session.GetBcaData(this.bcaData);\r\n }\r\n // code to pass search filters to service\r\n passSearchfilters() {\r\n this.session.GetSearchFilter(this.bcaSearch);\r\n this.session.GetSearchInsideFilter(this.searchForm.value);\r\n }\r\n\r\n // code for kendogrid template editing\r\n createNewProduct(): Product {\r\n return new Product();\r\n }\r\n\r\n // code to pass project data\r\n passProjectData() {\r\n this.session.GetShowActiveProjects(this.showOnlyActive);\r\n this.session.GetProjectList(this.projectList);\r\n if (this.showOnlyActive) {\r\n this.session.GetProjectData(this.projectList);\r\n } else {\r\n this.session.GetProjectData(this.filterProjectInside);\r\n }\r\n }\r\n\r\n // on submit\r\n submitForm() {\r\n const flag = this.validateFormNotEmpty();\r\n if (flag === false) {\r\n if (this.requestSearchForm.valid) {\r\n this.showOnlyActive = false;\r\n\r\n this.resetInternalSearchForm();\r\n\r\n // filtering part\r\n const { requestId, subsidaryCompany, projectName, projectAddress, startDate, endDate, bcaStatus } = this.requestSearchForm.value;\r\n\r\n this.filterProjects = this.projectList.filter((project) => {\r\n const filterRequestId = requestId ? ((project.gasRequestId == requestId) || (project.bcaId == requestId)) : true;\r\n const filterStartDate = startDate ? new Date(project.createDate) >= new Date(startDate) : true;\r\n const filterEndDate = endDate ? new Date(project.createDate) <= new Date(endDate) : true;\r\n const filterProjectAddress = projectAddress ? project.serviceFormattedAddress.toLowerCase().includes(projectAddress.toLowerCase()) : true;\r\n const filterProjectName = projectName ? project.projectName.toLowerCase().includes(projectName.toLowerCase()) : true;\r\n const filterBcaStatus = bcaStatus ? project.bgrStatus.toString().toLowerCase() == bcaStatus['id'].toString().toLowerCase() : true;\r\n\r\n return (filterRequestId && filterStartDate && filterEndDate && filterProjectAddress && filterProjectName && filterBcaStatus)\r\n });\r\n\r\n this.filterProjectInside = this.filterProjects;\r\n\r\n this.filterProjectLength = this.filterProjects.length;\r\n\r\n // code to capture search form values into search input modal\r\n this.error = { isError: false, errorMessage: '', stDateError: false };\r\n\r\n this.bcaSearch.reqId = ((this.requestSearchForm.controls['requestId'].value !== null) &&\r\n this.requestSearchForm.controls['requestId'].value !== '') ?\r\n Number(this.requestSearchForm.controls['requestId'].value) : null;\r\n\r\n this.bcaSearch.projectName = (this.requestSearchForm.controls['projectName'].value !== null) ?\r\n this.requestSearchForm.controls['projectName'].value : null;\r\n\r\n this.bcaSearch.projectAddress = (this.requestSearchForm.controls['projectAddress'].value !== null) ?\r\n this.requestSearchForm.controls['projectAddress'].value : null;\r\n\r\n this.bcaSearch.bcaStatus = (this.requestSearchForm.controls['bcaStatus'].value !== null) ?\r\n this.requestSearchForm.controls['bcaStatus'].value.id : null;\r\n\r\n this.bcaSearch.bcaStatusValue = (this.requestSearchForm.controls['bcaStatus'].value !== null) ?\r\n this.requestSearchForm.controls['bcaStatus'].value : null;\r\n\r\n (this.requestSearchForm.controls['endDate'].value !== null && this.requestSearchForm.controls['endDate'].value !== '') ? (\r\n (this.requestSearchForm.controls['startDate'].value === null || this.requestSearchForm.controls['startDate'].value === '') ?\r\n this.error = { isError: true, errorMessage: 'Please enter start date!', stDateError: true } : this.ValidateDate()\r\n ) : (\r\n (this.requestSearchForm.controls['startDate'].value !== null && this.requestSearchForm.controls['startDate'].value !== '') ?\r\n this.error = { isError: true, errorMessage: 'Please enter end date!', stDateError: false } : null\r\n );\r\n if (this.error.isError === false) {\r\n this.bcaSearch.startDate = this.requestSearchForm.controls['startDate'].value;\r\n this.bcaSearch.endDate = this.requestSearchForm.controls['endDate'].value;\r\n }\r\n if (this.requestSearchForm.controls['subsidaryCompany'].value !== null) {\r\n this.bcaSearch.subsidarycompanyName = this.requestSearchForm.controls['subsidaryCompany'].value;\r\n for (let i = 0; i < this.builderInfo.BuilderMapping.length; i++) {\r\n if (this.bcaSearch.subsidarycompanyName.itemName === this.builderInfo.BuilderMapping[i].subsidiaryName) {\r\n this.bcaSearch.subsidaryId = this.builderInfo.BuilderMapping[i].subsidiaryId;\r\n }\r\n }\r\n } else {\r\n this.bcaSearch.subsidarycompanyName = null;\r\n this.bcaSearch.subsidaryId = null;\r\n }\r\n if (this.error.isError === false) {\r\n // -CXCO 751 :-28/05/2024 existing service tracker removed --Srinivas\r\n // this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.bcaGrid();\r\n }\r\n } else {\r\n triggerFormValidation(this.requestSearchForm);\r\n focusFirstInvalidField(this.requestSearchForm);\r\n }\r\n } else {\r\n this.filterProjects = [];\r\n this.filterProjectLength = this.filterProjects.length;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.searchCriteria, this.constantsSvc.errorSwal);\r\n }\r\n\r\n this.activeProjects = [];\r\n this.checkExport();\r\n }\r\n\r\n validateFormNotEmpty() {\r\n let flag = true; // form is empty\r\n Object.keys(this.requestSearchForm.controls).forEach(key => {\r\n if (this.requestSearchForm.controls[key].value !== null && this.requestSearchForm.controls[key].value !== '') {\r\n flag = false; // form is not empty\r\n }\r\n });\r\n if (this.searchAddress === null || this.searchAddress === '') {\r\n this.requestSearchForm.controls['projectAddress'].patchValue(this.searchAddress);\r\n } else {\r\n this.requestSearchForm.controls['projectAddress'].patchValue(this.searchAddress);\r\n flag = false; // address is not empty\r\n }\r\n return flag;\r\n\r\n }\r\n\r\n reset() {\r\n // code to resetsearch form on clicking of reset button\r\n this.searchAddress = null;\r\n this.requestSearchForm.patchValue({\r\n requestId: null,\r\n projectName: null,\r\n projectAddress: null,\r\n subsidaryCompany: null,\r\n bcaStatus: null,\r\n startDate: null,\r\n endDate: null\r\n });\r\n if (this.comp !== undefined) {\r\n this.comp.searchElementRef.nativeElement.value = '';\r\n }\r\n this.error = { isError: false, errorMessage: '', stDateError: false };\r\n this.strterror = { isError: false, errorMessage: '' };\r\n this.resetBCASearch();\r\n this.passSearchfilters();\r\n // code to reset the grid and fetch all data without any search filters\r\n // -CXCO 751 :-28/05/2024 Existing tracker removed --srinivas\r\n\r\n // this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.bcaGrid();\r\n }\r\n\r\n // code to reset local search input modal\r\n resetBCASearch() {\r\n this.bcaSearch.builderId = this.builderInfo.BuilderId;\r\n this.bcaSearch.projectName = null;\r\n this.bcaSearch.projectAddress = null;\r\n this.bcaSearch.bcaStatus = null;\r\n this.bcaSearch.subsidaryId = null;\r\n this.bcaSearch.subsidarycompanyName = null;\r\n this.bcaSearch.startDate = null;\r\n this.bcaSearch.endDate = null;\r\n this.bcaSearch.reqId = null;\r\n this.bcaSearch.bcaStatusValue = null;\r\n this.requestSearchForm.reset();\r\n this.requestSearchForm.updateValueAndValidity();\r\n this.searchAddress = null;\r\n // uncommenting this bcaGrid unnecessary call\r\n this.showOnlyActive = true;\r\n this.bcaGrid();\r\n }\r\n // validate builder id\r\n ValidateBuilderId(dataitem) {\r\n for (let i = 0; i < this.bcaSearch.builderId.length; i++) {\r\n if (this.bcaSearch.builderId[i] === dataitem.builderId) {\r\n if ((dataitem.oldbgrStatus === this.constantsSvc.PENDCONTR) ||\r\n (dataitem.oldbgrStatus === this.constantsSvc.PENDPMNT) ||\r\n (dataitem.oldbgrStatus === this.constantsSvc.PENDPRMT) ||\r\n (dataitem.oldbgrStatus === this.constantsSvc.PENDINST) ||\r\n (dataitem.oldbgrStatus === this.constantsSvc.COMP)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n // code to validate date search and show appropriate error\r\n ValidateDate() {\r\n if (new Date(this.requestSearchForm.controls['endDate'].value) < new Date(this.requestSearchForm.controls['startDate'].value)) {\r\n this.error = { isError: true, errorMessage: 'End Date can\\'t be less than start date!' };\r\n } else {\r\n this.error = { isError: false, errorMessage: '' };\r\n }\r\n }\r\n\r\n navigateToTrackerpage(bcaId: number, gasRequestId: number) {\r\n let selectedProject = this.projectList.filter(proj => proj.gasRequestId === gasRequestId);\r\n\r\n if (selectedProject[0].projectCancelYN === 'Y') {\r\n this.showCancelledPopup();\r\n return;\r\n }\r\n else if (selectedProject[0].projectIsActiveYN === '30 DAYS EXCEEDED') {\r\n this.showProjectCompleteAlert();\r\n return;\r\n }\r\n else if ((selectedProject[0].projectCompletion !== 'C') && (selectedProject[0].bgrStatus !== \"APPDENIED\")) {\r\n this.showApplicationNotReceivedPopup();\r\n return;\r\n }\r\n else if ((selectedProject[0].denialReasonDesc !== null) && (selectedProject[0].denialReasonDesc !== '') && (selectedProject[0].bgrStatus === \"APPDENIED\")) {\r\n this.showApplicationDeniedPopup();\r\n return;\r\n }\r\n\r\n this.landingSvc.getBcaStatusById(bcaId).subscribe(result => {\r\n localStorage.setItem('serviceTrackerData', JSON.stringify(result.data));\r\n //navigating to tracker page\r\n this.session.GetShowBuilderHeader(true);\r\n this.router.navigate(['/', this.session.paramLdc.toLocaleLowerCase(), 'serviceTracker'], { queryParams: { fromBuilder: true } });\r\n });\r\n }\r\n\r\n navigateToServicepage(gasRequestId: number) {\r\n let selectedProject = this.projectList.filter(proj => proj.gasRequestId === gasRequestId);\r\n\r\n if (selectedProject[0].projectCancelYN === 'Y') {\r\n this.showCancelledPopup();\r\n return;\r\n }\r\n else if (selectedProject[0].projectIsActiveYN === '30 DAYS EXCEEDED') {\r\n this.showProjectCompleteAlert();\r\n return;\r\n }\r\n else if ((selectedProject[0].projectCompletion != 'C') && (selectedProject[0].bgrStatus !== \"APPDENIED\")) {\r\n this.showApplicationNotReceivedPopup();\r\n return;\r\n }\r\n else if ((selectedProject[0].denialReasonDesc !== null) && (selectedProject[0].denialReasonDesc !== '') && (selectedProject[0].bgrStatus === \"APPDENIED\")) {\r\n this.showApplicationDeniedPopup();\r\n return;\r\n }\r\n //navigating to service page\r\n this.router.navigate(['/ga/builder/request', gasRequestId, 'service']);\r\n }\r\n\r\n showCancelledPopup() {\r\n Swal.fire({\r\n title: 'Project is Cancelled',\r\n icon: 'error',\r\n confirmButtonText: 'OK',\r\n timer: 20000,\r\n });\r\n }\r\n\r\n showProjectCompleteAlert() {\r\n Swal.fire({\r\n title: 'Completed Projects > 30 Days will not display results.',\r\n icon: 'info',\r\n confirmButtonText: 'OK',\r\n timer: 20000,\r\n });\r\n }\r\n\r\n showApplicationNotReceivedPopup() {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Application Pending. Please check back',\r\n confirmButtonText: 'OK'\r\n });\r\n }\r\n\r\n showApplicationDeniedPopup() {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Application Denied', // Removing \"Please check back\" for defect fix - https://so-to.atlassian.net/browse/CXCO-1799.\r\n confirmButtonText: 'OK'\r\n })\r\n }\r\n\r\n //get holiday list data\r\n getHolidayList() {\r\n this.landingSvc.getHolidayList().subscribe(result => {\r\n localStorage.setItem('holidaysData', JSON.stringify(result.data))\r\n });\r\n }\r\n\r\n filterProjectsInternally(values: { builderId: string, projectNo: string, projectAddress: string }) {\r\n if (this.showOnlyActive) {\r\n this.activeProjects = this.projectList.filter(project => {\r\n const activeProjectsFilter = project.bgrStatus == 'ACTPRJ';\r\n const builderIdFilter = (!values.builderId || project.gasRequestId.toString().includes(values.builderId.toString()));\r\n const projectNumberFilter = (!values.projectNo || (project.bcaId ? project.bcaId.toString().includes(values.projectNo.toString()) : false));\r\n const projectAddressFilter = (!values.projectAddress || project.serviceFormattedAddress!.toLowerCase().includes(values.projectAddress.toLowerCase()));\r\n return (activeProjectsFilter && builderIdFilter && projectNumberFilter && projectAddressFilter);\r\n });\r\n this.activeProjectLength = this.activeProjects.length;\r\n }\r\n else {\r\n this.filterProjects = this.filterProjectInside.filter(project => {\r\n const builderIdFilter = (!values.builderId || project.gasRequestId.toString().includes(values.builderId.toString()));\r\n const projectNumberFilter = (!values.projectNo || (project.bcaId ? project.bcaId.toString().includes(values.projectNo.toString()) : false));\r\n const projectAddressFilter = (!values.projectAddress || project.serviceFormattedAddress!.toLowerCase().includes(values.projectAddress.toLowerCase()));\r\n return (builderIdFilter && projectNumberFilter && projectAddressFilter);\r\n });\r\n this.filterProjectLength = this.filterProjects.length;\r\n }\r\n }\r\n\r\n resetInternalSearchForm() {\r\n this.searchForm.patchValue({\r\n builderId: '',\r\n projectNo: '',\r\n projectAddress: ''\r\n });\r\n }\r\n\r\n\r\n // Method to export table data to Excel\r\n exportToExcel(): void {\r\n const selectedData = this.showOnlyActive ? this.activeProjects : this.filterProjects;\r\n\r\n // Prepare the data by selecting only the necessary columns\r\n const dataToExport = selectedData.map(project => ({\r\n gasRequestId: project.gasRequestId,\r\n bcaId: project.bcaId,\r\n serviceFormattedAddress: project.serviceFormattedAddress\r\n }));\r\n\r\n // Create the worksheet with the data\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(dataToExport);\r\n\r\n // Now, let's define custom headers using the `header` property of the worksheet\r\n const customHeaders = {\r\n gasRequestId: 'Request Number',\r\n bcaId: 'Project Number',\r\n serviceFormattedAddress: 'Project Address'\r\n };\r\n\r\n // Rename the columns using the custom headers\r\n const range = XLSX.utils.decode_range(ws['!ref']);\r\n const headers = Object.values(customHeaders);\r\n\r\n // Set custom headers in the first row\r\n for (let i = 0; i < headers.length; i++) {\r\n ws[XLSX.utils.encode_cell({ r: 0, c: i })] = { v: headers[i], t: 's' };\r\n }\r\n\r\n // Create a new workbook and append the worksheet\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Projects');\r\n\r\n // Save the file with a specific name\r\n XLSX.writeFile(wb, 'projects.xlsx');\r\n }\r\n\r\n // Method to export table data to PDF\r\n exportToPDF(): void {\r\n const selectedData = this.showOnlyActive ? this.activeProjects : this.filterProjects;\r\n\r\n // Prepare the data by selecting only the necessary columns\r\n const dataToExport = selectedData.map(project => [\r\n project.gasRequestId,\r\n project.bcaId,\r\n project.serviceFormattedAddress\r\n ]);\r\n\r\n // Create a new jsPDF instance\r\n const doc = new jsPDF();\r\n\r\n // Set the title for the PDF (optional)\r\n doc.setFontSize(18);\r\n doc.text('Projects Table', 14, 16);\r\n\r\n // Set the column headers\r\n const headers = ['Request Number', 'Project Number', 'Project Address'];\r\n\r\n // Add the table to the PDF using autoTable\r\n autoTable(doc, {\r\n head: [headers],\r\n body: dataToExport,\r\n startY: 30, // Start the table below the title\r\n margin: { top: 20 },\r\n });\r\n\r\n // Save the PDF file with a specific name\r\n doc.save('projects_table.pdf');\r\n }\r\n}\r\n","export * from '@app/modules/builder/components/home/home.component';\r\nexport * from '@app/modules/builder/components/addresses/addresses.component';\r\nexport * from '@app/modules/builder/components/agreements/agreements.component';\r\nexport * from '@app/modules/builder/components/acknowledge/acknowledge.component';\r\nexport * from '@app/modules/builder/components/subsidiary/add-subsidiary/add-subsidiary.component';\r\nexport * from '@app/modules/builder/components/information/information.component';\r\nexport * from '@app/modules/builder/components/location/location.component';\r\nexport * from '@app/modules/builder/components/lot/lot.component';\r\nexport * from '@app/modules/builder/components/premise/premise.component';\r\nexport * from '@app/modules/builder/components/premise/commercial.premise/commercial.premise.component';\r\nexport * from '@app/modules/builder/components/premise/mixed.premise/mixed.premise.component';\r\nexport * from '@app/modules/builder/components/premise/residential.premise/residential.premise.component';\r\nexport * from '@app/modules/builder/components/premise/subdivision.premise/subdivision.premise.component';\r\nexport * from '@app/modules/builder/components/request/request.component';\r\nexport * from '@app/modules/builder/components/request-lot/request-lot.component';\r\nexport * from '@app/modules/builder/components/request/subdivision.request/subdivision.request.component';\r\nexport * from '@app/modules/builder/components/review/review.component';\r\nexport * from '@app/modules/builder/components/subsidiary/subsidiary.component';\r\nexport * from '@app/modules/builder/components/subsidiary/subsidiary.filter.pipe';\r\nexport * from '@app/modules/builder/components/type/type.component';\r\nexport * from '@app/modules/builder/components/letter/letter.component';\r\nexport * from '@app/modules/builder/components/bca-agreements/bca-agreements.component';\r\nexport * from '@app/modules/builder/components/request/main.request/main.request.component';\r\nexport * from '@app/modules/builder/components/new-user/new-user.component';\r\n\r\nexport * from '@app/modules/builder/components/request/service.request/service.request.component';\r\nexport * from '@app/modules/builder/components/request/service.request/service.lot.request/service.lot.request.component';\r\nexport * from '@app/modules/builder/components/request/service.request/service.activate.request/service.activate.request.component';\r\nexport * from '@app/modules/builder/components/request/service.request/service.new.request/service.new.request.component';\r\nexport * from '@app/modules/builder/components/contract/contract.component';\r\nexport * from '@app/modules/builder/components/contractAccept/contractAccept.component';\r\nexport * from '@app/modules/builder/components/payment/payment.component';\r\n\r\n\r\n\r\n","export default \".isLiketoReceiveTestMessagesToggle\\r\\n{\\r\\n white-space:nowrap !important;\\r\\n}\\r\\n.contactTypefield\\r\\n{\\r\\n margin-bottom: -16px !important;\\r\\n}\\r\\n.contactTypeicon\\r\\n{\\r\\n padding: 10px !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7RUFFRSw2QkFBNkI7QUFDL0I7QUFDQTs7RUFFRSwrQkFBK0I7QUFDakM7QUFDQTs7RUFFRSx3QkFBd0I7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2J1aWxkZXIvY29tcG9uZW50cy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmlzTGlrZXRvUmVjZWl2ZVRlc3RNZXNzYWdlc1RvZ2dsZVxyXG57XHJcbiAgd2hpdGUtc3BhY2U6bm93cmFwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNvbnRhY3RUeXBlZmllbGRcclxue1xyXG4gIG1hcmdpbi1ib3R0b206IC0xNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNvbnRhY3RUeXBlaWNvblxyXG57XHJcbiAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, HostListener, ChangeDetectorRef, AfterViewInit, Renderer2 } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AccountService, ConstantsService, LookupsService, RequestTypesEnum, SessionService, StepsIdEnum } from '@app/base/core';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { BuilderService, MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\ninterface SubName {\r\n id: number;\r\n itemName: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-information',\r\n templateUrl: './information.component.html',\r\n styleUrls: ['./information.component.css']\r\n})\r\nexport class InformationComponent implements OnInit, AfterViewInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n alertMsg: any = [];\r\n subList: SubName[];\r\n builderId: string;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n typeform: FormGroup;\r\n siteContactCount = true;\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n constructor(public wizardSvc: MultistepsService, public sessionSvc: SessionService,\r\n public constantsSvc: ConstantsService, public alertService: AlertService, private builderSvc: BuilderService,\r\n public lookupSvc: LookupsService, public socoHttp: SocoHttpService, public accountSvc: AccountService,\r\n private detectChange: ChangeDetectorRef,private renderer: Renderer2\r\n ) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.INFORMATION);\r\n }\r\n ngOnInit() {\r\n // Loads Common Lookup Values\r\n this.sessionSvc.builderData.subscribe(result => {\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n this.builderId = result.BuilderId[0];\r\n this.subList = [];\r\n this.subList.push({ id: +this.builderId, itemName: result.CompanyName });\r\n for ( const i of result.BuilderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: +i.subsidiaryId, itemName: i.subsidiaryName.toString()});\r\n }\r\n }\r\n } else {\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined && result.data.length !== 0) {\r\n this.builderId = result.data.id;\r\n this.subList = [];\r\n this.subList.push({ id: +this.builderId, itemName: this.accountSvc.account.user.company });\r\n for ( const i of result.data.builderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: +i.subsidiaryId, itemName: i.subsidiaryName.toString() });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n });\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Loads banner Message\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === this.constantsSvc.bannermsgBuilderInfoComp));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.INFORMATION).form;\r\n this.typeform = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n const formArray = this.form.controls['contactTypeDetails'];\r\n if (formArray.length > 4) {\r\n this.siteContactCount = false;\r\n } else {\r\n this.siteContactCount = true;\r\n }\r\n\r\n if (this.form.get('companyName').value !== null) {\r\n this.wizardSvc.origBuilderName = this.form.controls['companyName'].value;\r\n }\r\n\r\n this.form.get('builderCompany').valueChanges.subscribe(value => {\r\n if (value !== null) {\r\n this.form.patchValue({\r\n firstName: null,\r\n lastName: null\r\n });\r\n }\r\n });\r\n\r\n }\r\n ngAfterViewInit() {\r\n this.disableTextAndBothOtions();\r\n }\r\n next() {\r\n this.wizardSvc.nextStep(); // Navigate to next page\r\n }\r\n back() { this.wizardSvc.previousStep(); } // Navigate to previous page\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot,\r\n nextState: RouterStateSnapshot) {\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n // Applicant address same as service address\r\n siteContactToggle(eve: any) {\r\n const siteContactSame = (this.form.get('siteContactSame'));\r\n this.cloneSiteContact(siteContactSame.value);\r\n }\r\n // To clone appplicant address same as service address\r\n cloneSiteContact(same: boolean) {\r\n const siteData = (this.form.controls['contactTypeDetails']).controls[0];\r\n if (same) {\r\n siteData.patchValue({\r\n firstName: this.form.controls['firstName'].value,\r\n lastName: this.form.controls['lastName'].value,\r\n siteContactPhoneNumber: this.form.controls['applicantPhoneNumber'].value,\r\n emailAddress: this.form.controls['emailAddress'].value,\r\n companyName: this.form.controls['companyName'].value,\r\n siteContactPhoneNumberExtension: this.form.controls['applicantPhoneNumberExtension'].value\r\n });\r\n } else {\r\n siteData.patchValue({\r\n firstName: '',\r\n lastName: '',\r\n siteContactPhoneNumber: '',\r\n siteContactEmailAddress: '',\r\n companyName: '',\r\n siteContactPhoneNumberExtension: '',\r\n emailAddress: ''\r\n });\r\n }\r\n this.form.updateValueAndValidity();\r\n }\r\n // #Information page Functions Region\r\n // Add FormGroup to Contact Details form Array in Information page.\r\n add() {\r\n const formArray = this.form.controls['contactTypeDetails'];\r\n formArray.push(new FormGroup({\r\n siteContactType: new FormControl(null, [Validators.required]),\r\n companyName: new FormControl('', [Validators.required]),\r\n siteContactTypeOthers: new FormControl(''),\r\n firstName: new FormControl('', [Validators.required]),\r\n lastName: new FormControl('', [Validators.required]),\r\n siteContactPhoneNumber: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n siteContactPhoneNumberExtension: new FormControl('',\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n emailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)])\r\n })\r\n );\r\n if (formArray.length > 4) {\r\n this.siteContactCount = false;\r\n }\r\n }\r\n // Delete FormGroup from Contact Details form Array based on the input Array index id\r\n delete(id: number) {\r\n const formArray = this.form.controls['contactTypeDetails'];\r\n formArray.removeAt(id);\r\n if (formArray.length < 5) {\r\n this.siteContactCount = true;\r\n }\r\n }\r\n\r\n // To Select Contact Type\r\n onSelect(item: any, typeDetail: FormGroup) {\r\n typeDetail.controls['siteContactTypeOthers'].reset();\r\n typeDetail.controls['siteContactTypeOthers'].clearValidators();\r\n if (item['id'] === 'O') {\r\n typeDetail.controls['siteContactTypeOthers'].setValidators(Validators.required);\r\n typeDetail.controls['siteContactTypeOthers'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else {\r\n typeDetail.controls['siteContactTypeOthers'].reset();\r\n typeDetail.controls['siteContactTypeOthers'].clearValidators();\r\n }\r\n }\r\n\r\n\r\n //select KMI Communication\r\n onCommunicationCheck(control) {\r\n if (control.value == 'Yes' || control.value == 'No') {\r\n\r\n this.form.controls['kmiCommunication'].clearValidators();\r\n }\r\n\r\n }\r\n getControlValue(controlName: string) {\r\n return this.form.get(controlName).value;\r\n }\r\n setControlNull(args: any[]) { args.forEach(arg => { this.form.controls[arg].patchValue(null); }); }\r\n clearValidators(args: any[]) {\r\n args.forEach(arg => {\r\n this.form.controls[arg].clearValidators();\r\n this.form.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n setRequiredValidator(args: any[]) {\r\n args.forEach(arg => {\r\n this.form.controls[arg].setValidators([Validators.required]);\r\n this.form.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n\r\n\r\n setEmailCheckValidator(controlName: any) {\r\n this.form.controls[controlName].setValidators([Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]);\r\n this.form.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n setPhoneCheckValidator(controlName: any) {\r\n this.form.controls[controlName].setValidators([Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]);\r\n this.form.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n onCommunicationCheck1(control) {\r\n if (control.value == 'Yes' || control.value == 'No') {\r\n this.form.controls['kmiCommunication'].clearValidators();\r\n this.form.controls['kmiCommunication'].updateValueAndValidity();\r\n }\r\n this.detectChange.detectChanges();\r\n }\r\n // used to put up questionary for user\r\n onQuestionCheck1(control) {\r\n switch (control.controlName) {\r\n\r\n case 'kmiCommunication':\r\n this.setControlNull(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n\r\n if (control.value === this.constantsSvc.Yes) {\r\n // this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n //this.clearValidators(['kmiFrequency']);\r\n this.setRequiredValidator(['kmiReceive', 'kmiFrequency']);\r\n this.disableTextAndBothOtions();\r\n }\r\n else {\r\n\r\n //this.setRequiredValidator(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n }\r\n break;\r\n case 'kmiReceive':\r\n this.setControlNull(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n if (control.value === 'Email') {\r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n else if (control.value === 'Text') {\r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n else if (control.value === 'Both') {\r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n break;\r\n\r\n\r\n default:\r\n return;\r\n }\r\n }\r\n disableTextAndBothOtions()\r\n {\r\n // Fetch all radio buttons using native JavaScript querySelectorAll\r\n const radioButtons = document.querySelectorAll('.communication-radio-group input[type=\"radio\"]');\r\n radioButtons.forEach((radio: HTMLInputElement) => {\r\n \r\n if (radio.title === 'Both' || radio.title === 'Text') {\r\n this.renderer.setProperty(radio, 'disabled', true); \r\n }\r\n });\r\n }\r\n}\r\n","export default \".location-banner {\\r\\n background-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.letter-banner {\\r\\n background-image: url(\\\"/assets/images/banners/letter.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.disable-link {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.border-right-dashed {\\r\\n border-right: 2px dashed #ddd;\\r\\n}\\r\\n\\r\\n.changeAddress {\\r\\n padding: 9px;\\r\\n}\\r\\n\\r\\n#formDiagnostics{\\r\\n margin-right: -1px;\\r\\n}\\r\\n\\r\\n#acknowledgeMessage {\\r\\n word-break: break-word;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvbGV0dGVyL2xldHRlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNERBQTREO0VBQzVELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSwwREFBMEQ7RUFDMUQsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4QiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL2xldHRlci9sZXR0ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2NhdGlvbi1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvbG9jYXRpb24uanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubGV0dGVyLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9sZXR0ZXIuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uZGlzYWJsZS1saW5rIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmJvcmRlci1yaWdodC1kYXNoZWQge1xyXG4gIGJvcmRlci1yaWdodDogMnB4IGRhc2hlZCAjZGRkO1xyXG59XHJcblxyXG4uY2hhbmdlQWRkcmVzcyB7XHJcbiAgcGFkZGluZzogOXB4O1xyXG59XHJcblxyXG4jZm9ybURpYWdub3N0aWNze1xyXG4gIG1hcmdpbi1yaWdodDogLTFweDtcclxufVxyXG5cclxuI2Fja25vd2xlZGdlTWVzc2FnZSB7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, HostListener, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AccountService, ConstantsService, SessionService, LookupsService, EnvironmentService, MessageTypeEnum} from '@app/base/core';\r\nimport { triggerFormValidation, UspsService, compareObjects, focusFirstInvalidField,\r\n scrollToHeader, getFormValidators } from '@app/base/shared';\r\nimport { SocoHttpService, SocoModalService } from '@app/base/soco';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { Observable, of, Subscription } from 'rxjs';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { DatePipe } from '@angular/common';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-letter',\r\n templateUrl: './letter.component.html',\r\n styleUrls: ['./letter.component.css']\r\n})\r\nexport class LetterComponent implements OnInit, OnDestroy {\r\n\r\n [x: string]: any;\r\n messageTypeEnum: typeof MessageTypeEnum = MessageTypeEnum;\r\n formValidation: any[];\r\n lookupsLoaded = false; // Hide UI unless common lookups is loaded.\r\n alertMsg: any = [];\r\n // Control the active view: map or letter form\r\n activeViewEnum: typeof LetterActiveViewEnum = LetterActiveViewEnum;\r\n gasLetterActiveView: LetterActiveViewEnum = LetterActiveViewEnum.Location;\r\n serviceAddress: any; // Hold service address\r\n mapLocationDetails: {}; // Input location details to map component\r\n addressToValidate: { street: any; city: any; state: any; zip: any; };\r\n gasLetterForm: FormGroup;\r\n validatedAddress: any = null;\r\n skipCanDeactivate = false;\r\n popupOpen = false;\r\n addressValidationError: any;\r\n isPoBox = false;\r\n addressValidationModalId = '#address_validation_modal';\r\n sryNotification: any;\r\n message: any;\r\n letterloaded = false;\r\n private gasLetterSubscription: Subscription;\r\n private zipSubscription: Subscription;\r\n private addressSubscription: Subscription;\r\n private postLetterSubscription: Subscription;\r\n\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.gasLetterActiveView !== this.activeViewEnum.Location && this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n\r\n //#region > CTOR <\r\n constructor(\r\n private router: Router,\r\n public environmentSvc: EnvironmentService,\r\n public constantsSvc: ConstantsService,\r\n public lookupSvc: LookupsService,\r\n public sessionSvc: SessionService,\r\n private builderSvc: BuilderService,\r\n private socoModalService: SocoModalService,\r\n private usps: UspsService,\r\n private alertService: AlertService,\r\n private accountService: AccountService, private datePipe: DatePipe,\r\n private socoHttp: SocoHttpService) { this.buildFormGroup(); }\r\n //#endregion\r\n //#region > Events <\r\n\r\n // used for closing all the opened pop ups and unsubscribing to services.\r\n ngOnDestroy() {\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n if ($('#address_validation_modal').is(':visible')) {\r\n $('#address_validation_modal').modal('hide');\r\n }\r\n if ($('#acknowledge_validation_modal').is(':visible')) {\r\n $('#acknowledge_validation_modal').modal('hide');\r\n }\r\n if (this.gasLetterSubscription) {\r\n this.gasLetterSubscription.unsubscribe();\r\n }\r\n if (this.zipSubscription) {\r\n this.zipSubscription.unsubscribe();\r\n }\r\n if (this.addressSubscription) {\r\n this.addressSubscription.unsubscribe();\r\n }\r\n if (this.postLetterSubscription) {\r\n this.postLetterSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n // used to subscribe to services and call initial methods.\r\n ngOnInit() {\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Builder Gas Letter'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n const sub = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (sub && val) { sub.unsubscribe(); }\r\n if (val) {\r\n this.sryNotification = this.lookupSvc.messages.filter(a => a.messageType === this.constantsSvc.error2);\r\n this.lookupsLoaded = val;\r\n scrollToHeader();\r\n }\r\n });\r\n this.setActiveLocationDetails();\r\n this.resolveMailingZip();\r\n if (!this.environmentSvc.isSoCoProduction) {\r\n this.gasLetterSubscription = this.gasLetterForm.valueChanges.subscribe(val => {\r\n this.formValidation = getFormValidators(this.gasLetterForm); });\r\n }\r\n }\r\n\r\n // use to handle page refresh if refreshed or timeout\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot): Observable | boolean {\r\n if (this.gasLetterForm) {\r\n if (this.gasLetterActiveView === this.activeViewEnum.Location) { return of(true); }\r\n if (this.skipCanDeactivate) { return of(true); }\r\n if (nextState.toString().indexOf('request') > 0) { this.letterloaded = true; }\r\n this.showDiscardDialog(this.constantsSvc.showDiscardmsgMultistep, this.constantsSvc.stay, this.constantsSvc.discardChanges, true);\r\n this.letterloaded = false;\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe(choice => {\r\n subscription.unsubscribe();\r\n if (!choice) {\r\n return true;\r\n }\r\n });\r\n return this.socoModalService.modalConfirmation$;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // used for resolving zip code\r\n resolveMailingZip() {\r\n this.zipSubscription = this.gasLetterForm.controls['applicantZip'].valueChanges.subscribe(selectedValue => {\r\n if (this.gasLetterForm.get('mailingAddressSame').value) { return; }\r\n if (this.constantsSvc.zipCodePattern.test(selectedValue)) { // We have a valid ZIP Code.\r\n this.socoHttp.showPleaseWait('Processing.', 'ContainerAwaiter');\r\n this.usps.GetCityStateFromZip(selectedValue, (result) => {\r\n if (result.CityStateLookupResponse.ZipCode.Error) {\r\n this.gasLetterForm.patchValue({ applicantZip: null });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.invalidZipSwal, '', this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.lookupSvc.loadMailingAddressCityLookups(result.CityStateLookupResponse.ZipCode.State,\r\n result.CityStateLookupResponse.ZipCode.City);\r\n this.addressSubscription = this.lookupSvc.mailingAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.gasLetterForm.patchValue({\r\n applicantCity: this.lookupSvc.mailingCity.length > 0 ? this.lookupSvc.mailingCity[0] : null,\r\n applicantState: this.lookupSvc.mailingState.length > 0 ? this.lookupSvc.mailingState[0] : null,\r\n });\r\n }\r\n }, fail => { this.socoHttp.hidePleaseWait('ContainerAwaiter'); });\r\n });\r\n }\r\n });\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n }\r\n\r\n // Set the location details either from map or active ldc info.\r\n setActiveLocationDetails() {\r\n this.mapLocationDetails = {\r\n lat: this.serviceAddress != null ? this.serviceAddress.latitude : this.sessionSvc.activeLdc.latitude,\r\n lng: this.serviceAddress != null ? this.serviceAddress.longitude : this.sessionSvc.activeLdc.longitude,\r\n zoom: this.serviceAddress != null ? this.serviceAddress.zoomLevel : this.sessionSvc.activeLdc.mapZoom,\r\n showMarker: Boolean(this.serviceAddress != null),\r\n };\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n }\r\n\r\n // dialog box to discard\r\n showDiscardDialog(body: string, cancelText: string, confirmText: string, isDanger: boolean) {\r\n if (!this.letterloaded) {\r\n this.socoModalService.confirm({\r\n title: 'Confirmation',\r\n body: body,\r\n headerCssClass: isDanger ? 'bg-danger' : 'bg-info',\r\n buttonCssClass: isDanger ? 'btn-danger' : 'btn-info',\r\n confirmButton: confirmText,\r\n cancelButton: cancelText\r\n });\r\n }\r\n this.letterloaded = false;\r\n }\r\n\r\n // method to get service address\r\n getServiceAddress($event) { // Event fire by Map when address selected.\r\n if (!this.serviceAddress || !compareObjects(this.serviceAddress, $event)) {\r\n this.serviceAddress = $event;\r\n this.lookupSvc.loadServiceAddressLookups(this.serviceAddress.state.short_name, this.serviceAddress.city, this.serviceAddress.county);\r\n const subscription = this.lookupSvc.serviceAddressLookupsLoaded$.subscribe(isLoaded => {\r\n if (isLoaded) {\r\n subscription.unsubscribe();\r\n this.setActiveView(LetterActiveViewEnum.LetterForm);\r\n this.gasLetterForm.patchValue({\r\n serviceCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.serviceAddress.city.toUpperCase()),\r\n serviceState: this.lookupSvc.serviceState.find(x => x.id.toUpperCase() === this.serviceAddress.state.short_name.toUpperCase()),\r\n projectAddress: `${this.serviceAddress.street_number} ${this.serviceAddress.street_name}`,\r\n zip: this.serviceAddress.zip\r\n });\r\n\r\n // If user toggeled same as service address, then clone service\r\n if (this.gasLetterForm.controls['mailingAddressSame'].value) {\r\n this.cloneServiceAddress(false);\r\n this.gasLetterForm.patchValue({ mailingAddressSame: false });\r\n }\r\n }\r\n });\r\n } else { this.setActiveView(LetterActiveViewEnum.LetterForm); }\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n }\r\n\r\n // Switch view between map and form\r\n setActiveView(view: LetterActiveViewEnum) {\r\n this.gasLetterActiveView = view;\r\n this.setActiveLocationDetails();\r\n scrollToHeader();\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n }\r\n\r\n // Gas request letter form\r\n buildFormGroup(): void {\r\n this.gasLetterForm = new FormGroup({\r\n projectName: new FormControl(null),\r\n landDistrict: new FormControl(null),\r\n projectAddress: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n landLot: new FormControl(null),\r\n serviceCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n zip: new FormControl({ value: null, disabled: true }, [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n isPoBox: new FormControl(),\r\n poBoxNumber: new FormControl(null, [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n mailingAddressSame: new FormControl(false),\r\n applicantProjectType: new FormControl(null, [Validators.required]),\r\n closestStreet: new FormControl(null),\r\n letterAddressedTo: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n companyName: new FormControl(null, [Validators.pattern(this.constantsSvc.spacePattern)]),\r\n mailingAddress: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n applicantCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n applicantState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n applicantZip: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n contactName: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n contactPhoneNumber: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n applicantPhoneNumberExtension: new FormControl(null,\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n applicanteMailAddress: new FormControl(null, [Validators.pattern(this.constantsSvc.emailPattern)]),\r\n fax: new FormControl(null, [Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n specialNotes: new FormControl(null),\r\n serviceFormattedAddress: new FormControl(null),\r\n mailingFormattedAddress: new FormControl(null),\r\n sourceCd: new FormControl(null),\r\n recordCreateDate: new FormControl(null),\r\n recordCreateUserId: new FormControl(null),\r\n recordUpdateDate: new FormControl(null),\r\n recordUpdateUserId: new FormControl(null),\r\n countyId: new FormControl(null)\r\n }, { updateOn: 'blur' });\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n }\r\n getAddressFromModal($event) {\r\n if (compareObjects(this.addressToValidate, $event)) {\r\n this.submitForm();\r\n } else {\r\n this.updateValidatedAddress(this.validatedAddress);\r\n this.submitForm();\r\n }\r\n $(this.addressValidationModalId).modal('hide');\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n }\r\n modalChangeMailingAddress() {\r\n $(this.addressValidationModalId).modal('hide');\r\n this.gasLetterForm.patchValue({ mailingAddress: null, applicantZip: null, applicantCity: null, applicantState: null });\r\n this.cloneServiceAddress(false);\r\n this.gasLetterForm.get('mailingAddressSame').setValue(false);\r\n triggerFormValidation(this.gasLetterForm);\r\n this.gasLetterForm.updateValueAndValidity();\r\n focusFirstInvalidField(this.gasLetterForm);\r\n }\r\n updateValidatedAddress($event: any) {\r\n let newCity: any;\r\n let newState: any;\r\n this.gasLetterForm.patchValue({ mailingAddress: $event.street, applicantZip: $event.zip });\r\n // update the city and state if different from original address\r\n if (this.addressToValidate.city.toUpperCase() !== $event.city.toUpperCase()) {\r\n newCity = this.lookupSvc.mailingCity.find(i => i.itemName.toUpperCase() === $event.city.toUpperCase());\r\n this.gasLetterForm.patchValue({ applicantCity: newCity });\r\n }\r\n if (this.addressToValidate.state.toUpperCase() !== $event.state.toUpperCase()) {\r\n newState = this.lookupSvc.serviceState.find(i => i.id.toUpperCase() === $event.state.toUpperCase());\r\n this.gasLetterForm.patchValue({ applicantState: newState });\r\n }\r\n this.gasLetterForm.updateValueAndValidity();\r\n }\r\n\r\n // On submitting the form\r\n clickedSubmit() {\r\n // skip address validation\r\n const poBoxChecked = this.gasLetterForm.controls['isPoBox'].value;\r\n if (this.gasLetterForm.valid && poBoxChecked) { this.submitForm(); }\r\n\r\n if (this.gasLetterForm.valid) {\r\n this.addressToValidate = this.getAddressObjFromForm();\r\n if (this.addressToValidate) {\r\n this.usps.GetValidatedAddress(this.addressToValidate, (result) => {\r\n if (result.Error) {\r\n this.addressValidationError = result.Error.Description;\r\n } else {\r\n this.validatedAddress = result;\r\n }\r\n\r\n if (compareObjects(this.addressToValidate, this.validatedAddress)) {\r\n this.submitForm();\r\n } else {\r\n $(this.addressValidationModalId).modal();\r\n }\r\n });\r\n }\r\n } else {\r\n triggerFormValidation(this.gasLetterForm);\r\n focusFirstInvalidField(this.gasLetterForm);\r\n }\r\n }\r\n\r\n private submitForm() {\r\n if ($('#acknowledge_validation_modal').is(':visible')) {\r\n this.popupOpen = true;\r\n $('#acknowledge_validation_modal').modal('hide');\r\n this.skipCanDeactivate = true;\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLowerCase(), 'builder', 'home']);\r\n }\r\n let countyId;\r\n if (this.lookupSvc.serviceCounty.length > 0 && this.serviceAddress.county) {\r\n const county = this.lookupSvc.serviceCounty.filter(x => x.itemName.toUpperCase()\r\n === this.serviceAddress.county.toUpperCase())[0];\r\n countyId = county !== undefined ? county.id : '-1';\r\n } else {\r\n countyId = '-1';\r\n }\r\n if (this.gasLetterForm.valid && !this.popupOpen) {\r\n this.gasLetterForm.patchValue({\r\n serviceFormattedAddress: this.serviceAddress.formatted_address,\r\n mailingFormattedAddress: this.getMailingFormattedAddress(),\r\n sourceCd: 'Builder',\r\n recordCreateDate: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone),\r\n recordCreateUserId: this.accountService.account.user.username,\r\n recordUpdateDate: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone),\r\n recordUpdateUserId: this.accountService.account.user.username,\r\n countyId: countyId\r\n });\r\n const formValue = this.gasLetterForm.getRawValue();\r\n formValue.isPoBox = formValue.isPoBox === true ? 'Y' : 'N';\r\n formValue.mailingAddress = formValue.isPoBox === 'Y' ? '' : formValue.mailingAddress;\r\n this.postLetterSubscription = this.builderSvc.postGasLetter(formValue).subscribe(result => {\r\n const refid = result.data.id;\r\n this.message = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.gasLetterForm.getRawValue().serviceState.id.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.messageTypeEnum.Letter).message;\r\n this.message = this.message.replace('##', this.lookupSvc.companies[this.serviceAddress.state.short_name].name);\r\n this.message = this.message.replace('XXX', this.serviceAddress.formatted_address);\r\n this.message = this.message.replace('XX', refid);\r\n $('#acknowledge_validation_modal').modal();\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n }\r\n }\r\n\r\n // Used to get formatted address\r\n getMailingFormattedAddress() {\r\n const model = this.gasLetterForm.getRawValue();\r\n if (!this.isPoBox) {\r\n return model.mailingAddress + ', ' + model.applicantCity.itemName + ' ,' + model.applicantState.id + ' ' + model.applicantZip;\r\n } else {\r\n // tslint:disable-next-line:max-line-length\r\n return 'PO Box ' + model.poBoxNumber + ', ' + model.applicantCity.itemName + ' ,' + model.applicantState.id + ' ' + model.applicantZip;\r\n }\r\n }\r\n\r\n // Applicant address same as service address\r\n mailingAddressToggle(eve: any) {\r\n const mailingAddressSame = (this.gasLetterForm.get('mailingAddressSame'));\r\n if (mailingAddressSame.value) {\r\n this.gasLetterForm.controls['isPoBox'].patchValue(false);\r\n this.gasLetterForm.controls['poBoxNumber'].clearValidators();\r\n this.gasLetterForm.controls['poBoxNumber'].setValue('');\r\n this.isPoBox = false;\r\n }\r\n this.cloneServiceAddress(mailingAddressSame.value);\r\n }\r\n\r\n // PO box toggle\r\n poBoxToggle(e) {\r\n this.isPoBox = this.gasLetterForm.controls['isPoBox'].value;\r\n if (this.isPoBox) {\r\n this.gasLetterForm.controls['mailingAddressSame'].setValue(false);\r\n this.gasLetterForm.controls['poBoxNumber'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n this.gasLetterForm.controls['mailingAddress'].clearValidators();\r\n this.gasLetterForm.controls['mailingAddress'].patchValue('');\r\n } else {\r\n this.gasLetterForm.controls['mailingAddress'].patchValue(null);\r\n this.gasLetterForm.controls['mailingAddress'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.alphaNumericPattern)]);\r\n this.isPoBox = false;\r\n // enable address fields when po box is deselected\r\n this.gasLetterForm.controls['mailingAddress'].enable();\r\n this.gasLetterForm.controls['applicantZip'].enable();\r\n this.gasLetterForm.controls['poBoxNumber'].setValue('');\r\n this.gasLetterForm.controls['poBoxNumber'].clearValidators();\r\n }\r\n }\r\n\r\n // used to get address from form data\r\n getAddressObjFromForm() {\r\n const model = this.gasLetterForm.getRawValue();\r\n if (this.gasLetterForm.controls['isPoBox'].value) { return null; }\r\n return {\r\n street: (model.mailingAddress.replace(',', '')).toUpperCase(), city: model.applicantCity.itemName.toUpperCase(),\r\n state: model.applicantState.id.toUpperCase(), zip: model.applicantZip\r\n };\r\n }\r\n\r\n // used to clone address\r\n cloneServiceAddress(same: boolean) {\r\n if (same) {\r\n this.gasLetterForm.patchValue({\r\n mailingAddress: this.gasLetterForm.controls['projectAddress'].value,\r\n applicantZip: this.gasLetterForm.controls['zip'].value,\r\n applicantCity: this.gasLetterForm.controls['serviceCity'].value ? this.gasLetterForm.controls['serviceCity'].value : [],\r\n applicantState: this.gasLetterForm.controls['serviceState'].value ? this.gasLetterForm.controls['serviceState'].value : [],\r\n });\r\n this.gasLetterForm.controls['mailingAddress'].disable();\r\n this.gasLetterForm.controls['applicantZip'].disable();\r\n this.addressToValidate = this.getAddressObjFromForm();\r\n } else {\r\n this.gasLetterForm.patchValue({ mailingAddress: '', applicantZip: '', applicantCity: [], applicantState: [], });\r\n this.gasLetterForm.controls['mailingAddress'].enable();\r\n this.gasLetterForm.controls['applicantZip'].enable();\r\n this.gasLetterForm.updateValueAndValidity();\r\n this.addressToValidate = null;\r\n }\r\n }\r\n //#endregion\r\n\r\n // used to close acknowledgement pop up\r\n closeAcknowledgement() {\r\n $('#acknowledge_validation_modal').modal('hide');\r\n this.skipCanDeactivate = true;\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLowerCase(), 'builder', 'home']);\r\n }\r\n}\r\n\r\nexport enum LetterActiveViewEnum {\r\n Location = 0,\r\n LetterForm\r\n}\r\n","export default \"/* #mapPage {\\r\\n box-shadow: 0 0 8px #818181;\\r\\n margin: -1px -1px 0 -1px\\r\\n}\\r\\n\\r\\n.shadow {\\r\\n box-shadow: 0 0 8px #818181;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 500px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 70%;\\r\\n top: 65px;\\r\\n left: 140px;\\r\\n}\\r\\n\\r\\ninput[type=search]::-webkit-search-cancel-button {\\r\\n -webkit-appearance: searchfield-cancel-button;\\r\\n}\\r\\n\\r\\n.agm-map-overlay input {\\r\\n height: 50px;\\r\\n border-radius: 0px;\\r\\n border: 1px solid #c4baba;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 770px) and (min-width: 351px) {\\r\\n .agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 65%;\\r\\n top: 60px;\\r\\n left: 140px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 350px) {\\r\\n .agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 65%;\\r\\n top: 60px;\\r\\n left: 30px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 470px) {\\r\\n agm-map {\\r\\n height: 550px;\\r\\n }\\r\\n .agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 70%;\\r\\n top: 90px;\\r\\n left: 30px;\\r\\n }\\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvbG9jYXRpb24vbG9jYXRpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyREciLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2J1aWxkZXIvY29tcG9uZW50cy9sb2NhdGlvbi9sb2NhdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogI21hcFBhZ2Uge1xyXG4gIGJveC1zaGFkb3c6IDAgMCA4cHggIzgxODE4MTtcclxuICBtYXJnaW46IC0xcHggLTFweCAwIC0xcHhcclxufVxyXG5cclxuLnNoYWRvdyB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDhweCAjODE4MTgxO1xyXG59XHJcblxyXG5hZ20tbWFwIHtcclxuICBoZWlnaHQ6IDUwMHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmFnbS1tYXAtb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiA3MCU7XHJcbiAgdG9wOiA2NXB4O1xyXG4gIGxlZnQ6IDE0MHB4O1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogc2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvbjtcclxufVxyXG5cclxuLmFnbS1tYXAtb3ZlcmxheSBpbnB1dCB7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjYzRiYWJhO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSBhbmQgKG1pbi13aWR0aDogMzUxcHgpIHtcclxuICAuYWdtLW1hcC1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICB0b3A6IDYwcHg7XHJcbiAgICBsZWZ0OiAxNDBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzUwcHgpIHtcclxuICAuYWdtLW1hcC1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICB0b3A6IDYwcHg7XHJcbiAgICBsZWZ0OiAzMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzBweCkge1xyXG4gIGFnbS1tYXAge1xyXG4gICAgaGVpZ2h0OiA1NTBweDtcclxuICB9XHJcbiAgLmFnbS1tYXAtb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgdG9wOiA5MHB4O1xyXG4gICAgbGVmdDogMzBweDtcclxuICB9XHJcbn0gKi8iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SessionService, StepsIdEnum, LookupsService, EnvironmentService, ConstantsService, CompaniesEnum } from '@app/base/core';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { CanComponentDeactivate, compareObjects } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { MapIntegration } from '@app/shared/services/GISIntegration';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\ndeclare var swal: any;\r\n@Component({\r\n selector: 'app-location',\r\n templateUrl: './location.component.html',\r\n styleUrls: ['./location.component.css']\r\n})\r\nexport class LocationComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n mapIntegration: any;\r\n alertMsg: any = [];\r\n serviceAddress: any = {};\r\n servicableLocation: string;\r\n locationDetails: any = {};\r\n gisObj: any;\r\n iframeUrl: SafeResourceUrl;\r\n gisUrl: any;\r\n flag;\r\n projectId;\r\n lat: any = null;\r\n lng: any = null;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n constructor(private router: Router, public wizardSvc: MultistepsService, public sessionSvc: SessionService,\r\n private lookupSvc: LookupsService,\r\n private alertService: AlertService,\r\n public sanitizer: DomSanitizer, private builderSvc: BuilderService,\r\n public environmentSvc: EnvironmentService, public constSvc: ConstantsService, public browser: PlatformLocation) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.LOCATION);\r\n const state = this.wizardSvc.serviceAddress !== null ?\r\n (this.wizardSvc.serviceAddress.state ? this.wizardSvc.serviceAddress.state.short_name : sessionSvc.paramLdc ) : sessionSvc.paramLdc;\r\n const company = this.getCompanyFromState(state);\r\n if (this.wizardSvc.changeAddressClicked) {\r\n this.lat = this.wizardSvc.serviceAddress.coordinates.lat;\r\n this.lng = this.wizardSvc.serviceAddress.coordinates.lng;\r\n this.wizardSvc.changeAddressClicked = false;\r\n if (this.lat !== undefined && this.lng !== undefined) {\r\n this.gisUrl = this.environmentSvc.gisBaseURL + company + '&lat=' + this.lat + '&lon=' + this.lng;\r\n }\r\n } else if (this.builderSvc.individualServiceClicked) {\r\n const newGisUrl = this.environmentSvc.gisBaseURL.split('&ldc=');\r\n this.gisUrl = newGisUrl[0] + '&LotType=1';\r\n } else if (this.builderSvc.reassigmentFlag === 1) {\r\n let address;\r\n this.sessionSvc.GridData.subscribe(\r\n success => {\r\n address = success.serviceAddress;\r\n });\r\n this.lat = address.coordinates.lat;\r\n this.lng = address.coordinates.lng;\r\n const companies = this.getCompanyFromState(address.state.short_name);\r\n if (this.lat !== undefined && this.lng !== undefined) {\r\n this.gisUrl = this.environmentSvc.gisBaseURL + companies + '&lat=' + this.lat + '&lon=' + this.lng;\r\n }\r\n this.builderSvc.reassigmentFlag = 0;\r\n } else {\r\n this.gisUrl = this.environmentSvc.gisBaseURL + company;\r\n }\r\n this.mapIntegration = new MapIntegration(this.gisMessageHandler.bind(this), '', 'GisFrame');\r\n }\r\n // To get company name from state\r\n getCompanyFromState(state: any) {\r\n let company;\r\n if (state === this.companiesEnum.GA) {\r\n company = 'AGLC';\r\n } else if (state === this.companiesEnum.FL) {\r\n company = 'FCG';\r\n } else if (state === this.companiesEnum.TN) {\r\n company = 'CGC';\r\n } else if (state === this.companiesEnum.VA) {\r\n company = 'VNG';\r\n }\r\n return company;\r\n }\r\n ngOnInit() {\r\n this.browser.onPopState(() => {\r\n let url = window.location.href;\r\n url = url.replace('review', 'location');\r\n window.history.pushState(null, '', url);\r\n // Load common lookup values\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Loading banner message for Location\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Location Builder'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n });\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.LOCATION).form;\r\n this.iframeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.gisUrl);\r\n }\r\n next() { this.wizardSvc.nextStep(); } // Navigate to next page\r\n back() { this.wizardSvc.previousStep(); }// Navigate to previous page\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (this.wizardSvc.maxCompletedStep < 1) { return true; } // User didn't complete any step, so they can leave.\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n }\r\n\r\n // New BCA creation\r\n createNewBCA() {\r\n const msg = document.createElement('div');\r\n const message = this.constSvc.serviceProvideCnfirmMsg;\r\n msg.innerHTML = message;\r\n if (this.servicableLocation === 'True') {\r\n swal({\r\n content: msg, icon: 'assets/images/icons/icon_94_tumbs-up-green.svg',\r\n buttons: {\r\n cancel: { text: 'Cancel', visible: true, value: false, closeModal: true },\r\n confirm: { text: 'Proceed', value: true, closeModal: true }\r\n }\r\n }).then((result) => {\r\n if (!result) { return; }\r\n const step = this.wizardSvc.steps.find(s => s.id === StepsIdEnum.TYPE);\r\n\r\n if (this.gisObj.commandOrEventName === this.constSvc.addressSelectedForNewBCA && this.wizardSvc.addressChanged) {\r\n this.wizardSvc.serviceAddress = this.locationDetails;\r\n this.serviceAddress.state = this.wizardSvc.serviceAddress.state.short_name;\r\n this.serviceAddress.city = this.wizardSvc.serviceAddress.city;\r\n this.serviceAddress.county = this.wizardSvc.serviceAddress.county;\r\n this.serviceAddress.zip = this.wizardSvc.serviceAddress.zip;\r\n if (this.form.controls['locationStreetName'].value !== null && this.form.controls['locationStreetName'].value !== '' &&\r\n this.form.controls['locationStreetName'].value !== undefined) {\r\n this.serviceAddress.streetName = this.form.controls['locationStreetName'].value;\r\n } else {\r\n this.serviceAddress.streetName = this.wizardSvc.serviceAddress.street_name;\r\n }\r\n if (this.form.controls['locationStreetNumber'].value !== null && this.form.controls['locationStreetNumber'].value !== '' &&\r\n this.form.controls['locationStreetNumber'].value !== undefined) {\r\n this.serviceAddress.streetNumber = this.form.controls['locationStreetNumber'].value;\r\n } else {\r\n this.serviceAddress.streetNumber = this.wizardSvc.serviceAddress.street_number;\r\n }\r\n this.lookupSvc.resolveBuilderServiceAddressLookups(\r\n this.serviceAddress);\r\n }\r\n if (step && step.form.value.propertyType !== null) {\r\n const formValue = step.form.value.propertyType;\r\n this.lookupSvc.loadBuilderBcaLookups(formValue.id, this.wizardSvc.serviceAddress.state.short_name);\r\n this.serviceAddress.state = this.wizardSvc.serviceAddress.state.short_name;\r\n this.serviceAddress.city = this.wizardSvc.serviceAddress.city;\r\n this.serviceAddress.county = this.wizardSvc.serviceAddress.county;\r\n this.serviceAddress.zip = this.wizardSvc.serviceAddress.zip;\r\n if (this.form.controls['locationStreetName'].value !== null && this.form.controls['locationStreetName'].value !== '' &&\r\n this.form.controls['locationStreetName'].value !== undefined) {\r\n this.serviceAddress.streetName = this.form.controls['locationStreetName'].value;\r\n } else {\r\n this.serviceAddress.streetName = this.wizardSvc.serviceAddress.street_name;\r\n }\r\n if (this.form.controls['locationStreetNumber'].value !== null && this.form.controls['locationStreetNumber'].value !== '' &&\r\n this.form.controls['locationStreetNumber'].value !== undefined) {\r\n this.serviceAddress.streetNumber = this.form.controls['locationStreetNumber'].value;\r\n } else {\r\n this.serviceAddress.streetNumber = this.wizardSvc.serviceAddress.street_number;\r\n }\r\n this.serviceAddress.propertyType = formValue.id;\r\n this.lookupSvc.resolveBCAFoundBuilder(\r\n this.serviceAddress\r\n );\r\n }\r\n // navigate to first step of multistep form\r\n this.lookupSvc.serviceAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.wizardSvc.duplicatedRequest = false;\r\n this.wizardSvc.maxCompletedStep = StepsIdEnum.TYPE;\r\n this.next();\r\n }\r\n });\r\n });\r\n } else {\r\n this.sorryNotification();\r\n }\r\n }\r\n// For checking serviceablearea and creating New BCA\r\n gisMessageHandler(message: any) {\r\n const obj = JSON.parse(message.data);\r\n this.gisObj = obj;\r\n if (obj.commandOrEventName === this.constSvc.serviceableAreaCheck) {\r\n this.servicableLocation = obj.payload.isServiceable;\r\n if (this.servicableLocation === this.constSvc.False) {\r\n let address, state;\r\n this.locationDetails = {};\r\n address = obj.payload.address.address;\r\n state = this.lookupSvc.states.find(x => x.id.toUpperCase() === address.state.toUpperCase());\r\n this.locationDetails.state = { long_name: state.itemName, short_name: state.id };\r\n this.createNewBCA();\r\n }\r\n } else if (obj.commandOrEventName === this.constSvc.addressSelectedForNewBCA) {\r\n this.servicableLocation = obj.payload.isServiceable;\r\n let address, state;\r\n this.locationDetails = {};\r\n address = obj.payload.address.address;\r\n this.getServiceAddress(address);\r\n this.wizardSvc.buildingId = null;\r\n this.locationDetails.formattedAddress = address.formatted_address;\r\n state = this.lookupSvc.states.find(x => x.id.toUpperCase() === address.state.toUpperCase());\r\n this.locationDetails.street_number = address.street_number;\r\n this.locationDetails.street_name = address.street_name;\r\n this.locationDetails.city = address.city;\r\n this.locationDetails.state = { long_name: state.itemName, short_name: state.id };\r\n this.locationDetails.zip = address.zip;\r\n this.locationDetails.county = address.county;\r\n this.locationDetails.localDistrict = address.localDistrict;\r\n this.locationDetails.localDistrictCd = address.localDistrictCode;\r\n this.locationDetails.xCoordinate = obj.payload.X_COORDINATE;\r\n this.locationDetails.yCoordinate = obj.payload.Y_COORDINATE;\r\n this.locationDetails.coordinates = {};\r\n this.locationDetails.coordinates.lat = obj.payload.coordinates.lat;\r\n this.locationDetails.coordinates.lng = obj.payload.coordinates.lon;\r\n this.locationDetails.serviceCenter = obj.payload.serviceCenter;\r\n this.createNewBCA();\r\n } else if (obj.commandOrEventName === this.constSvc.requestSelectedForCreate) {\r\n let grId, projectNumber;\r\n this.locationDetails = {};\r\n this.locationDetails.coordinates = {};\r\n const address = obj.payload.address;\r\n const state = this.lookupSvc.states.find(x => x.id.toUpperCase() === address.state.toUpperCase());\r\n this.locationDetails.state = { long_name: state.itemName, short_name: state.id };\r\n this.locationDetails.coordinates.lat = obj.payload.coordinates.lat;\r\n this.locationDetails.coordinates.lng = obj.payload.coordinates.lon;\r\n grId = obj.payload.requestId;\r\n this.projectId = obj.payload.bcaId;\r\n projectNumber = null;\r\n const projectDetails: ProjectDetails = {\r\n grId: grId,\r\n stateCd: state.id,\r\n projectNumber: projectNumber,\r\n serviceAddress: this.locationDetails\r\n };\r\n this.sessionSvc.GetGrid(projectDetails);\r\n this.flag = 'l-blr';\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'requestlot',\r\n grId,\r\n this.flag\r\n ]);\r\n }\r\n }\r\n // Sorry Notification for showing non availability of providing natural gas\r\n sorryNotification() {\r\n const text = this.constSvc.sorryNotificationText;\r\n const textAGL = this.constSvc.sorryNotificationTextAGL;\r\n const msg1 = document.createElement('div');\r\n if (this.locationDetails.state.long_name === this.constSvc.georgia) {\r\n msg1.innerHTML = textAGL;\r\n } else {\r\n msg1.innerHTML = text;\r\n }\r\n\r\n swal({\r\n icon: 'assets/images/icons/no-service-in-locality icon.png',\r\n content: msg1,\r\n buttons: {\r\n cancel: { text: 'Ok', visible: true, value: false, closeModal: true },\r\n },\r\n });\r\n }\r\n\r\n getServiceAddress(address: any) {\r\n // If address is null or different than currently stored address update it and reload it from server.\r\n if (!this.wizardSvc.serviceAddress) {\r\n this.updateServiceAddressandLookups();\r\n } else if (!compareObjects(this.wizardSvc.serviceAddress.formattedAddress, address)) {\r\n this.updateServiceAddressandLookups();\r\n }\r\n }\r\n\r\n updateServiceAddressandLookups() {\r\n // uncheck same as service address and clear mailing address data.\r\n this.wizardSvc.addressValidationDone = false;\r\n this.wizardSvc.addressChanged = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.builderSvc.individualServiceClicked = false;\r\n }\r\n}\r\n\r\ninterface ProjectDetails {\r\n grId: number;\r\n stateCd: string;\r\n projectNumber: number;\r\n serviceAddress: any;\r\n}\r\n","export default \".residential-banner {\\r\\n background-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n height: 180px;\\r\\n position: relative;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.k-grid th, .k-grid td {\\r\\n padding: 14px 12px;\\r\\n border-style: solid;\\r\\n border-color: inherit;\\r\\n outline: 0;\\r\\n font-weight: inherit;\\r\\n text-align: inherit;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n#mapPage {\\r\\n box-shadow: 0 0 8px #818181;\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 300px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 70%;\\r\\n top: 19px;\\r\\n left: 140px;\\r\\n}\\r\\n\\r\\n.agm-map-overlay input {\\r\\n height: 50px;\\r\\n border-radius: 0px;\\r\\n border: 1px solid #c4baba;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 770px) {\\r\\n .agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 70%;\\r\\n top: 103px;\\r\\n left: 140px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 470px) {\\r\\n agm-map {\\r\\n height: 250px;\\r\\n }\\r\\n .agm-map-overlay {\\r\\n position: absolute;\\r\\n width: 70%;\\r\\n top: 103px;\\r\\n left: 20px;\\r\\n }\\r\\n}\\r\\n\\r\\nlegend {\\r\\n margin-bottom: 10px !important;\\r\\n}\\r\\n\\r\\n.btn-labeled > b {\\r\\ntop: -3px !important;\\r\\n}\\r\\n\\r\\n.fieldsetmb{\\r\\n margin-bottom: -16px !important;\\r\\n}\\r\\n\\r\\n.delicon {\\r\\n padding: 10px !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvbG90L2xvdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNERBQTREO0lBQzVELDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsMkJBQTJCO0lBQzNCLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixTQUFTO0lBQ1QsV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSTtRQUNJLGtCQUFrQjtRQUNsQixVQUFVO1FBQ1YsVUFBVTtRQUNWLFdBQVc7SUFDZjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxrQkFBa0I7UUFDbEIsVUFBVTtRQUNWLFVBQVU7UUFDVixVQUFVO0lBQ2Q7QUFDSjs7QUFFQTtFQUNFLDhCQUE4QjtBQUNoQzs7QUFFQTtBQUNBLG9CQUFvQjtBQUNwQjs7QUFDQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFDQTtFQUNFLHdCQUF3QjtBQUMxQiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL2xvdC9sb3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yZXNpZGVudGlhbC1iYW5uZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9sb2NhdGlvbi5qcGdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uay1ncmlkIHRoLCAuay1ncmlkIHRkIHtcclxuICAgIHBhZGRpbmc6IDE0cHggMTJweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcblxyXG4jbWFwUGFnZSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4ICM4MTgxODE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuYWdtLW1hcCB7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYWdtLW1hcC1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgICB0b3A6IDE5cHg7XHJcbiAgICBsZWZ0OiAxNDBweDtcclxufVxyXG5cclxuLmFnbS1tYXAtb3ZlcmxheSBpbnB1dCB7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzRiYWJhO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc3MHB4KSB7XHJcbiAgICAuYWdtLW1hcC1vdmVybGF5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB0b3A6IDEwM3B4O1xyXG4gICAgICAgIGxlZnQ6IDE0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3MHB4KSB7XHJcbiAgICBhZ20tbWFwIHtcclxuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgfVxyXG4gICAgLmFnbS1tYXAtb3ZlcmxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgdG9wOiAxMDNweDtcclxuICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5sZWdlbmQge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi1sYWJlbGVkID4gYiB7XHJcbnRvcDogLTNweCAhaW1wb3J0YW50O1xyXG59XHJcbi5maWVsZHNldG1ie1xyXG4gIG1hcmdpbi1ib3R0b206IC0xNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmRlbGljb24ge1xyXG4gIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators, FormArray } from '@angular/forms';\r\nimport { SessionService, LookupsService, ConstantsService, LotStatusEnum, AccountService, EnvironmentService } from '@app/base/core';\r\nimport { Marker, StepsIdEnum, RequestServiceModel, BuilderInfo, BCASearch } from '@app/base/core/models';\r\nimport { BuilderService } from '@app/modules/builder';\r\nimport { SocoHttpService, SocoConfigurationService } from '@app/base/soco';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { GasRequestModel } from '@app/shared/models/applicant/new.model';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/base/shared';\r\nimport { DatePipe } from '@angular/common';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-lot',\r\n templateUrl: './lot.component.html',\r\n styleUrls: ['./lot.component.css']\r\n})\r\nexport class LotComponent implements OnInit {\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n mapIntegration: any;\r\n MandateMsg: boolean;\r\n builderNoOfLotsForm: FormGroup;\r\n router: Router;\r\n model: RequestServiceModel[] = [];\r\n public dropdownSettings = {};\r\n public mapTypeControl: any;\r\n public google: any;\r\n public latitude: number;\r\n public longitude: number;\r\n public searchControl: FormControl;\r\n public zoom: number;\r\n public markerDraggable = false;\r\n public marker: Marker;\r\n public showMarker = false;\r\n public modelGasBca: GasRequestModel;\r\n\r\n public lat: number;\r\n public long: number;\r\n public resetBcadata = false;\r\n public infoWindowOpen: boolean;\r\n public labelOptions: any;\r\n public propertyType: string;\r\n public AlllotNum: any[] = [];\r\n public mapTypeId: string;\r\n public errorMsg: string;\r\n public addressFromMarker: any;\r\n public showAddress = true;\r\n public routeParamFlag;\r\n public address: any;\r\n public info: any;\r\n public totalLots: number;\r\n public killsubscribe: boolean;\r\n public newLot = 1;\r\n public index;\r\n public lotNumber: number[] = [];\r\n public orignalLots: number;\r\n public state: string;\r\n public city: string;\r\n public setTime;\r\n public streetname: string;\r\n public streetnumber: string;\r\n public countLots: number;\r\n\r\n myForm: FormGroup;\r\n public addSuccess: boolean;\r\n public GridId: string;\r\n public userId: string;\r\n public routeSubscription: any;\r\n public builderId: string;\r\n public stateCd: string;\r\n public bcaData: any = [];\r\n public gisMapUrl: SafeResourceUrl;\r\n public rowValue;\r\n public projectAddress = false;\r\n public urlWithParameters: any;\r\n public getLotDetailsSubscription: Subscription;\r\n public lotsSubscription: Subscription;\r\n\r\n streetTypes = [];\r\n selectedStreetTypes = [];\r\n selectedCities = [];\r\n cities = [];\r\n selectedStates = [];\r\n states = [];\r\n imageURL: 'http://iconbug.com/download/size/128/icon/6329/small-home/';\r\n @ViewChild('search', {static: false})\r\n public searchElementRef: ElementRef;\r\n @ViewChild('infowindow', {static: false})\r\n public infoWindow;\r\n public builderInfo: BuilderInfo = {\r\n Admin: false,\r\n BuilderId: [],\r\n subsidiaryId: [],\r\n IsActive: '',\r\n CompanyName: '',\r\n subsidiaryList: [],\r\n CompanyAddress: {\r\n id: '',\r\n recUpdatedDate: '',\r\n recCreatedDate: '',\r\n recCreatedBy: '',\r\n recUpdatedBy: '',\r\n contactTypeCode: '',\r\n streetNumber: '',\r\n streetName: '',\r\n directionPrefix: '',\r\n directionSuffix: '',\r\n streetType: '',\r\n city: '',\r\n state: '',\r\n zipCode: '',\r\n contactName2Extn: '',\r\n contactName1Phone: '',\r\n contactName1AreaCode: '',\r\n contactName2AreaCode: '',\r\n contactName2Phone: '',\r\n address2: '',\r\n unitNumber: ''\r\n },\r\n CompanyEmail: '',\r\n // AdminUsers: [{ firstName: '', lastName: '', userId: '', builderId: '', email: ''}],\r\n BuilderMapping: [{id: '', builderName: '', subsidiaryId: [], subsidiaryName: [], status: '' }]\r\n};\r\n // pattern\r\n date1 = new Date('04/09/2018');\r\n date2 = new Date('04/09/2019');\r\n public builderidArray;\r\n public projectNumber;\r\n public refreshFlag = false;\r\n public notvalid = false;\r\n public bcaSearch: BCASearch = {\r\n builderId: [],\r\n projectName: '',\r\n projectAddress: '',\r\n bcaStatus: '',\r\n subsidaryId: '',\r\n subsidarycompanyName: '',\r\n startDate: this.date1,\r\n endDate: this.date2,\r\n reqId: '',\r\n bcaStatusValue: ''\r\n };\r\n public grStatus: any;\r\n public grTypeCd: any;\r\n public cityValues = null;\r\n public stateValues = null;\r\n\r\n public builderDetailsSubscription: Subscription;\r\n numericPattern = /^[0-9]*$/;\r\n constructor(\r\n public sessionSvc: SessionService,\r\n private builderSvc: BuilderService,\r\n public lookupSvc: LookupsService,\r\n public constSvc: ConstantsService,\r\n public socoHttp: SocoHttpService,\r\n public sanitizer: DomSanitizer,\r\n public accountSvc: AccountService,\r\n public route: ActivatedRoute, private datePipe: DatePipe,\r\n _router: Router,\r\n public environmentSvc: EnvironmentService,\r\n ) {\r\n this.router = _router;\r\n this.dropdownSettings = {\r\n singleSelection: true,\r\n text: 'Select Value',\r\n enableSearchFilter: true\r\n };\r\n this.zoom = 5;\r\n this.latitude = 37.1147781;\r\n this.longitude = -96.1683426;\r\n this.urlWithParameters = this.environmentSvc.gisURL;\r\n this.userId = this.accountSvc.account.user.username;\r\n this.cityValues = this.lookupSvc.cities;\r\n this.stateValues = this.lookupSvc.states;\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd && event.id === 1) {\r\n this.refreshFlag = true;\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n if (params['id']) {\r\n this.rowValue = (params['id']);\r\n }\r\n if (params['navFlag']) {\r\n this.routeParamFlag = (params['navFlag']);\r\n }\r\n });\r\n if (this.routeParamFlag === 's-rl') {\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).pipe(takeWhile(() => this.killsubscribe)).subscribe(result => {\r\n if (result.data.length !== 0) {\r\n this.builderInfo.BuilderId.push(result.data.id);\r\n this.builderInfo.Admin = true;\r\n for (let i = 0; i < result.data.builderMapping.length; i++) {\r\n this.builderInfo.BuilderId.push(result.data.builderMapping[i].subsidiaryId);\r\n }\r\n this.builderidArray = this.builderInfo.BuilderId;\r\n }\r\n\r\n for (let i = 0; i < this.builderidArray.length; i++) {\r\n this.bcaSearch.builderId.push(this.builderidArray[i]);\r\n }\r\n this.bcaSearch.reqId = this.rowValue;\r\n this.builderDetailsSubscription = this.builderSvc.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n if (result.data[0].bcaId !== undefined) {\r\n this.projectNumber = result.data[0].bcaId;\r\n }\r\n this.grStatus = result.data[0].grStatus;\r\n this.grTypeCd = result.data[0].gasRqstTpCd;\r\n this.notvalid = this.isProjectNumber();\r\n if (this.notvalid === true) {\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n });\r\n });\r\n } else {\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n }\r\n });\r\n }\r\n ngOnInit() {\r\n this.killsubscribe = true;\r\n window.scroll(0, 100);\r\n this.stateCd = this.sessionSvc.paramLdc;\r\n\r\n // To get gas request Id from route params\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n if (params['id']) {\r\n this.GridId = (params['id']);\r\n }\r\n if (params['builderId']) {\r\n this.builderId = (params['builderId']);\r\n }\r\n if (params['navFlag']) {\r\n this.routeParamFlag = (params['navFlag']);\r\n }\r\n });\r\n\r\n this.myForm = new FormGroup({\r\n serviceCity: new FormControl({value: null, disabled: true}),\r\n serviceState: new FormControl({value: null, disabled: true}),\r\n serviceZip: new FormControl({value: null, disabled: true},\r\n Validators.pattern(this.constSvc.zipCodePattern)),\r\n lotDetails: new FormArray([new FormGroup({\r\n serviceStreetNumber: new FormControl(null, [Validators.pattern(this.constSvc.numericPatternwithZero), Validators.required]),\r\n serviceStreetName: new FormControl(null, [Validators.required, Validators.pattern(this.constSvc.alphaNumericPattern)]),\r\n lotNo: new FormControl(null, [Validators.pattern(this.constSvc.numericPattern), Validators.required])\r\n })])\r\n });\r\n this.sessionSvc.BcaData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success !== null) {\r\n this.bcaData = success;\r\n }\r\n });\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n if (this.refreshFlag === true) {\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.cityValues = this.lookupSvc.cities;\r\n this.stateValues = this.lookupSvc.states;\r\n this.getlotNumber();\r\n this.getLots();\r\n this.showMarker = false;\r\n this.setCurrentPosition();\r\n }\r\n });\r\n } else {\r\n this.getlotNumber();\r\n this.getLots();\r\n this.showMarker = false;\r\n this.setCurrentPosition();\r\n }\r\n\r\n\r\n }\r\n // unsubscribibg subscriptions\r\n ngOnDestroy() {\r\n if (this.addSuccess === true ) {\r\n this.killsubscribe = false;\r\n }\r\n this.routeSubscription.unsubscribe();\r\n if ( this.lotsSubscription) {\r\n this.lotsSubscription.unsubscribe();\r\n }\r\n if ( this.getLotDetailsSubscription) {\r\n this.getLotDetailsSubscription.unsubscribe();\r\n }\r\n clearInterval(this.setTime);\r\n }\r\n\r\n gisMap() {\r\n // Start--Loading the GIS read-only map\r\n this.urlWithParameters += this.modelGasBca.id;\r\n this.urlWithParameters += '&state=' + this.stateCd;\r\n this.gisMapUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.urlWithParameters);\r\n // End--Loading the GIS read-only map\r\n\r\n }\r\n// code to fetch lot numbers for the selected gas request Id\r\n getlotNumber() {\r\n this.countLots = 0;\r\n this.getLotDetailsSubscription = this.builderSvc.GetLotDetails(this.GridId).subscribe(result => {\r\n for (let i = 0; i < result.data.length; i++) {\r\n this.lotNumber.push(result.data[i].lotNumber);\r\n result.data[i].isManualLotRequested === 'Y' ? this.countLots += 1 : null;\r\n }\r\n });\r\n }\r\n// code to fetch address details for the selected gas request Id\r\n getLots() {\r\n this.lotsSubscription = this.builderSvc.Lots(Number(this.GridId)).subscribe(result => {\r\n if (result) {\r\n this.modelGasBca = result.data;\r\n if (this.modelGasBca.cityId !== null && this.modelGasBca.stateCd !== null && this.modelGasBca.zipCode !== null &&\r\n this.modelGasBca.serviceFormattedAddress !== null) {\r\n this.totalLots = Number(result.data.finalPlat);\r\n this.orignalLots = result.data.totalLots;\r\n this.gisMap();\r\n if (this.cityValues !== undefined && this.stateValues !== undefined) {\r\n this.city = this.cityValues.find(x => Number(x.id) === this.modelGasBca.cityId).itemName;\r\n this.state = this.stateValues.find(x => x.id === this.modelGasBca.stateCd).itemName;\r\n }\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.myForm.patchValue({\r\n serviceCity: this.city,\r\n serviceState: this.state,\r\n serviceZip: this.modelGasBca.zipCode,\r\n });\r\n } else {\r\n swal(this.constSvc.lotSwal1, this.constSvc.lotSwal2, this.constSvc.errorSwal);\r\n this.projectAddress = true;\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n },\r\n (error) => {\r\n swal(this.constSvc.errorSwal1, this.constSvc.gasDetailsFailSwal, this.constSvc.errorSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n });\r\n }\r\n\r\n// Add FormGroup to Contact Details form Array in Information page.\r\n add() {\r\n const formArray = this.myForm.controls['lotDetails'];\r\n const val = this.constSvc.addMaxLot - this.countLots;\r\n if (formArray.length < val) {\r\n formArray.push(new FormGroup({\r\n serviceStreetNumber: new FormControl(null,\r\n [Validators.pattern(this.constSvc.numericPatternwithZero), Validators.required]),\r\n serviceStreetName: new FormControl(null, [Validators.required, Validators.pattern(this.constSvc.alphaNumericPattern)]),\r\n lotNo: new FormControl(null,\r\n [Validators.pattern(this.constSvc.numericPattern), Validators.required])\r\n }));\r\n\r\n } else {\r\n swal(this.constSvc.errorSwal1, this.constSvc.lotSwal3, this.constSvc.errorSwal);\r\n }\r\n }\r\n// Delete FormGroup from Contact Details form Array based on the input Array index id\r\n delete(id: number) {\r\n const formArray = this.myForm.controls['lotDetails'];\r\n formArray.removeAt(id);\r\n }\r\n // To get Service city from form\r\n get serviceCity() {\r\n return this.myForm.get('serviceCity');\r\n }\r\n // To get Service state from form\r\n get serviceState() {\r\n return this.myForm.get('serviceState');\r\n }\r\n // To get Service zip from form\r\n get serviceZip() {\r\n return this.myForm.get('serviceZip');\r\n }\r\n // To get Number of lots city from form\r\n get numberOfLots() {\r\n return this.myForm.get('numberOfLots');\r\n }\r\n // Formatting service address\r\n serviceAddress(formData) {\r\n return formData.serviceStreetNumber + ' ' + formData.serviceStreetName + ', ' + this.serviceCity.value\r\n + ' ' + this.modelGasBca.stateCd + ' ' + this.serviceZip.value + ', USA ';\r\n }\r\n\r\n public isProjectNumber() {\r\n const grTypes = ['SUBD', 'SCATT'];\r\n const grStatuses = ['APPDENIED', 'APPPEND', 'PEND', 'APPACCPT'];\r\n if ((this.projectNumber == null) || (grStatuses.includes(this.grStatus)) || (!grTypes.includes(this.grTypeCd))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n// code to save lots information in DB\r\n public addlots(): void {\r\n this.addSuccess = false;\r\n const lotnum = [];\r\n const formArray = this.myForm.controls['lotDetails'];\r\n if ((this.countLots !== this.constSvc.addMaxLot) ||\r\n (this.countLots > this.constSvc.addMaxLot)) {\r\n if (this.myForm.valid) {\r\n for (let i = 0; i < formArray.value.length; i++) {\r\n lotnum.push(Number(formArray.value[i].lotNo));\r\n }\r\n for (let i = 0; i < this.lotNumber.length; i++) {\r\n lotnum.push(this.lotNumber[i]);\r\n }\r\n if (lotnum.length !== new Set(lotnum).size) {\r\n this.addSuccess = true;\r\n swal(this.constSvc.errorSwal1, this.constSvc.lotSwal4, this.constSvc.errorSwal);\r\n } else {\r\n\r\n this.lotNumber = lotnum;\r\n\r\n for (let i = 0; i < formArray.value.length; i++) {\r\n\r\n const modelObj = new RequestServiceModel();\r\n modelObj.address = this.serviceAddress(formArray.value[i]);\r\n modelObj.city = this.city;\r\n modelObj.zip = this.serviceZip.value;\r\n modelObj.stateCd = this.modelGasBca.stateCd;\r\n modelObj.countyId = this.modelGasBca.countyId;\r\n modelObj.grId = this.modelGasBca.id;\r\n modelObj.builderId = this.builderId;\r\n modelObj.lotStatus = LotStatusEnum.RNL;\r\n modelObj.streetNo = formArray.value[i].serviceStreetNumber;\r\n modelObj.lotNumber = formArray.value[i].lotNo;\r\n modelObj.streetName = formArray.value[i].serviceStreetName;\r\n modelObj.recCreateDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constSvc.TimeZone);\r\n modelObj.recUpdateDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constSvc.TimeZone);\r\n modelObj.recCreateUsrId = this.userId;\r\n modelObj.recUpdateUsrId = this.userId;\r\n modelObj.lotStatusUpdatedBy = this.userId;\r\n modelObj.lotStatusUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constSvc.TimeZone);\r\n modelObj.isManualLotRequested = this.constSvc.manualLotRequested;\r\n this.model.push(modelObj);\r\n }\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n window.scroll(0, 400);\r\n this.builderSvc.PostCreateLots(this.model).subscribe(result => {\r\n if (result) {\r\n this.countLots = this.countLots + this.model.length;\r\n this.addSuccess = true;\r\n this.checkBca();\r\n formArray.reset();\r\n formArray.controls = [];\r\n formArray.setValue([]);\r\n formArray.push(new FormGroup({\r\n serviceStreetNumber: new FormControl(null,\r\n [Validators.pattern(this.constSvc.numericPatternwithZero), Validators.required]),\r\n serviceStreetName: new FormControl(null, [Validators.required, Validators.pattern(this.constSvc.alphaNumericPattern)]),\r\n lotNo: new FormControl(null,\r\n [Validators.pattern(this.constSvc.numericPattern), Validators.required])\r\n }));\r\n\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.model = [];\r\n swal(this.constSvc.lotCreationReqSwal, this.constSvc.lotCreationSuccessSwal, this.constSvc.successSwal);\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.addSuccess = true;\r\n swal(this.constSvc.lotCreationReqSwal, this.constSvc.lotCreationFailSwal, this.constSvc.errorSwal);\r\n }\r\n },\r\n (error) => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constSvc.lotCreationReqSwal, this.constSvc.lotCreationFailSwal, this.constSvc.errorSwal);\r\n });\r\n\r\n }} else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.addSuccess = true;\r\n swal(this.constSvc.lotCreationReqNotSubSwal, this.constSvc.checkAllFieldsSwal, this.constSvc.errorSwal);\r\n triggerFormValidation(this.myForm);\r\n focusFirstInvalidField(this.myForm);\r\n\r\n }\r\n\r\n } else {\r\n this.addSuccess = true;\r\n swal(this.constSvc.errorSwal1, this.constSvc.lotSwal3, this.constSvc.errorSwal);\r\n }\r\n\r\n }\r\n // code to pass updated final plat to landing page after successful submission\r\n // code not used now\r\n\r\n // passBcaData() {\r\n // if (this.resetBcadata === false) {\r\n // if (this.index !== undefined) {\r\n // this.bcaData[this.index].finalPlat = String(this.totalLots);\r\n // this.sessionSvc.GetBcaData(this.bcaData);\r\n\r\n // }\r\n\r\n // } else { this.sessionSvc.GetBcaData(null); }\r\n\r\n // }\r\n\r\n// code to check BCA exists or not\r\ncheckBca() {\r\n if (this.bcaData.length !== 0) {\r\n for (let i = 0; i < this.bcaData.length; i++) {\r\n if (this.bcaData[i].id === Number(this.GridId)) {\r\n this.resetBcadata = false;\r\n this.index = i;\r\n break;\r\n } else {\r\n this.resetBcadata = true;\r\n }\r\n }\r\n} else {\r\n this.resetBcadata = true;\r\n}\r\n}\r\n// Validating Form Fields\r\n validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n // Gis Map Methods\r\n setCurrentPosition() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(position => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.zoom = 14;\r\n });\r\n this.showMarker = true;\r\n // change value to true to show confirm and cancle button on user location on map load\r\n this.infoWindowOpen = false;\r\n // change Marker label options\r\n this.labelOptions = {\r\n color: '#000',\r\n icon: this.imageURL,\r\n imageUrl: this.imageURL,\r\n image: this.imageURL,\r\n fontFamily: '',\r\n fontSize: '14px',\r\n fontWeight: 'bold',\r\n text: 'H'\r\n };\r\n }\r\n }\r\n // code to route to previous tab\r\n goToPrevious() {\r\n let a;\r\n a = this.routeParamFlag;\r\n\r\n if (a === 'blr-rl') {\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n if (this.builderId) {\r\n this.router.navigate([str + '/' + 'requestlot/' + this.GridId + '/' + this.routeParamFlag]);\r\n }\r\n\r\n } else if (a === 's-rl') {\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n this.router.navigate([str + '/' + 'request/' + this.GridId +\r\n '/' + 'service' ]);\r\n }\r\n\r\n }\r\n // To go to builder home page\r\n navigateHome() {\r\n this.sessionSvc.GetBcaData(null);\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n\r\n}\r\n","export default \".user-banner {\\r\\n background-image: url(\\\"/assets/images/banners/letter.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvbmV3LXVzZXIvbmV3LXVzZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLDBEQUEwRDtFQUMxRCx3QkFBd0I7RUFDeEIsbUJBQW1CO0VBQ25CIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvbmV3LXVzZXIvbmV3LXVzZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi51c2VyLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9sZXR0ZXIuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuIl19 */\"","import { DatePipe } from '@angular/common';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { AccountService, ConstantsService, LookupsService, SessionService } from '@app/core/services';\r\nimport { focusFirstInvalidField, triggerFormValidation } from '@app/shared/functions';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { BuilderService } from '../../base/services';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\ninterface SubName {\r\n id: number;\r\n itemName: string;\r\n}\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\n\r\nexport class NewUserComponent implements OnInit {\r\n userForm: FormGroup;\r\n addNewUser: any = {};\r\n builderId: string;\r\n alertMsg: any = [];\r\n subList: SubName[];\r\n\r\n constructor(public constantsSvc: ConstantsService, public socoHttp: SocoHttpService, private datePipe: DatePipe,\r\n private builderSvc: BuilderService, public accountSvc: AccountService, public session: SessionService,\r\n @Inject(Router) private router: Router, public lookupSvc: LookupsService, private alertService: AlertService) {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.session.builderData.subscribe(result => {\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n this.builderId = result.BuilderId[0];\r\n this.subList = [];\r\n console.log(this.builderId);\r\n this.subList.push({ id: +this.builderId, itemName: result.CompanyName });\r\n for ( const i of result.BuilderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: +i.subsidiaryId, itemName: i.subsidiaryName.toString()});\r\n }\r\n }\r\n } else {\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined && result.data.length !== 0) {\r\n this.builderId = result.data.id;\r\n this.subList = [];\r\n this.subList.push({ id: +this.builderId, itemName: this.accountSvc.account.user.company });\r\n for ( const i of result.data.builderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: +i.subsidiaryId, itemName: i.subsidiaryName.toString() });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n });\r\n\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Banner message for Home page\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'New User'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.userForm = new FormGroup({\r\n firstName: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50)]\r\n ),\r\n lastName: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50)]\r\n ),\r\n subsidaryCompany: new FormControl(\r\n null,\r\n [Validators.required]\r\n ),\r\n email: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50), Validators.pattern(this.constantsSvc.emailPattern)]\r\n ),\r\n contactNumber: new FormControl(\r\n null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]\r\n )\r\n });\r\n }\r\n\r\n addUser() {\r\n if (this.userForm.valid) {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.addNewUser.id = this.userForm.controls['subsidaryCompany'].value.id;\r\n this.addNewUser.userId = this.userForm.controls['email'].value;\r\n this.addNewUser.userName = this.userForm.controls['firstName'].value + ' ' + this.userForm.controls['lastName'].value;\r\n this.addNewUser.firstName = this.userForm.controls['firstName'].value;\r\n this.addNewUser.lastName = this.userForm.controls['lastName'].value;\r\n this.addNewUser.email = this.userForm.controls['email'].value;\r\n this.addNewUser.Status = 'Requested';\r\n this.addNewUser.communicationTypeCd = null;\r\n this.addNewUser.iaAdmin = null;\r\n this.addNewUser.recCreatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewUser.recUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewUser.recCreatedBy = this.userForm.controls['email'].value;\r\n this.addNewUser.recUpdatedBy = this.userForm.controls['email'].value;\r\n this.addNewUser.contactName2Phone = this.userForm.controls['contactNumber'].value;\r\n this.addNewUser.contactName2Extn = null;\r\n this.addNewUser.comments = null;\r\n this.addNewUser.approveRejectDTTM = null;\r\n this.addNewUser.approveRejectBy = null;\r\n this.builderSvc.addUser(this.addNewUser).subscribe(result => {\r\n if (result.data.companyName === '') {\r\n swal(this.constantsSvc.warningSwal, this.constantsSvc.builderUserAddWarning, this.constantsSvc.warningSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n } else {\r\n swal(this.constantsSvc.successSwal1, this.constantsSvc.builderNewUserAdd, this.constantsSvc.successSwal);\r\n this.resetForm();\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n }\r\n }, error => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.builderUserAddFail, this.constantsSvc.errorSwal);\r\n this.resetForm();\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n });\r\n } else {\r\n triggerFormValidation(this.userForm);\r\n focusFirstInvalidField(this.userForm);\r\n }\r\n\r\n }\r\n\r\n resetForm() {\r\n this.userForm.reset();\r\n }\r\n\r\n // To go to builder home page\r\n navigateHome() {\r\n this.session.GetBcaData(null);\r\n this.router.navigate([\r\n this.session.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n\r\n}\r\n","export default \".contract-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* Small Screens */\\r\\n\\r\\n@media only screen and (min-width:250px) and (max-width:1024px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(0.80);\\r\\n -webkit-transform: scale(0.80);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .input-group-xlg>.form-control,\\r\\n .input-group-xlg>.input-group-addon,\\r\\n .input-group-xlg>.input-group-btn>.btn {\\r\\n height: 40px;\\r\\n padding: 10px 16px;\\r\\n font-size: 13px;\\r\\n line-height: 1.333334;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: left;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Big Screens */\\r\\n\\r\\n@media only screen and (min-width:1025px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(1);\\r\\n -webkit-transform: scale(1);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 0px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: center;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n.recaptcha-container .ng-invalid:not(form) {\\r\\n border-left: none;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n:host>>>.wizard>.steps {\\r\\n pointer-events: none !important;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny:after {\\r\\n content: '\\\\ed6a' !important;\\r\\n font-style: normal;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny {\\r\\n background-color: #d40014 !important;\\r\\n border-color: #d40031 !important;\\r\\n}\\r\\n\\r\\n.alternate-section {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.status-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n.text-red\\r\\n{\\r\\n padding-right:100px;\\r\\n color:red;\\r\\n}\\r\\n\\r\\n.text-green {\\r\\n color:green;\\r\\n}\\r\\n\\r\\n.contract{\\r\\n cursor:pointer;text-decoration:underline;color:#03a9f4;\\r\\n}\\r\\n\\r\\n.back{\\r\\n\\r\\n margin-right: -2px;\\r\\n}\\r\\n\\r\\n.text-left\\r\\n{\\r\\ntext-align: left;\\r\\n\\r\\n}\\r\\n\\r\\ntable {\\r\\n border: 0.1px solid rgba(0, 0, 0, 0.137);\\r\\n border-collapse: collapse;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\ntd, th {\\r\\n border: 0.1px solid rgba(0, 0, 0, 0.137);\\r\\n text-align: left;\\r\\n padding: 8px;\\r\\n}\\r\\n\\r\\ntr:nth-child(even) {\\r\\n background-color: #dddddd;\\r\\n}\\r\\n\\r\\n.btn-allign\\r\\n{\\r\\n margin:1px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcGF5bWVudC9wYXltZW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwwREFBMEQ7RUFDMUQsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFFQSxrQkFBa0I7O0FBRWxCO0VBQ0U7SUFDRSxzQkFBc0I7SUFDdEIsOEJBQThCO0lBQzlCLHFCQUFxQjtJQUNyQiw2QkFBNkI7RUFDL0I7RUFDQTtJQUNFLGlCQUFpQjtFQUNuQjtFQUNBOzs7SUFHRSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixxQkFBcUI7RUFDdkI7RUFDQTtJQUNFLGdCQUFnQjtFQUNsQjtFQUNBO0lBQ0UsZ0JBQWdCO0lBQ2hCLGFBQWE7RUFDZjtBQUNGOztBQUVBLGdCQUFnQjs7QUFFaEI7RUFDRTtJQUNFLG1CQUFtQjtJQUNuQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLDZCQUE2QjtFQUMvQjtFQUNBO0lBQ0UsaUJBQWlCO0VBQ25CO0VBQ0E7SUFDRSxlQUFlO0VBQ2pCO0VBQ0E7SUFDRSxrQkFBa0I7SUFDbEIsYUFBYTtFQUNmO0FBQ0Y7O0FBRUE7RUFDRSxpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxvQ0FBb0M7RUFDcEMsZ0NBQWdDO0FBQ2xDOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUNBO0VBQ0UsMERBQTBEO0VBQzFELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBQ0E7RUFDRSxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLDZCQUE2QjtBQUMvQjs7QUFDQTs7RUFFRSxtQkFBbUI7RUFDbkIsU0FBUztBQUNYOztBQUdBO0VBQ0UsV0FBVztBQUNiOztBQUNBO0VBQ0UsY0FBYyxDQUFDLHlCQUF5QixDQUFDLGFBQWE7QUFDeEQ7O0FBQ0E7O0VBRUUsa0JBQWtCO0FBQ3BCOztBQUNBOztBQUVBLGdCQUFnQjs7QUFFaEI7O0FBRUE7RUFDRSx3Q0FBd0M7RUFDeEMseUJBQXlCO0VBQ3pCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHdDQUF3QztFQUN4QyxnQkFBZ0I7RUFDaEIsWUFBWTtBQUNkOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUNBOztFQUVFLFVBQVU7QUFDWiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3BheW1lbnQvcGF5bWVudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbnRyYWN0LWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9zdGF0dXMuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vKiBTbWFsbCBTY3JlZW5zICovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MjUwcHgpIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xyXG4gIC5yZWNhcHRjaGEtcmVzaXplciB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuODApO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgfVxyXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB9XHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uZm9ybS1jb250cm9sLFxyXG4gIC5pbnB1dC1ncm91cC14bGc+LmlucHV0LWdyb3VwLWFkZG9uLFxyXG4gIC5pbnB1dC1ncm91cC14bGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRuIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzNDtcclxuICB9XHJcbiAgLnJlY2FwdGNoYS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbiAgLnN0YXR1cy1wYW5lbC10ZXh0LWFsaWduIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLyogQmlnIFNjcmVlbnMgKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI1cHgpIHtcclxuICAucmVjYXB0Y2hhLXJlc2l6ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gIH1cclxuICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMHB4IDEwcHg7XHJcbiAgfVxyXG4gIC5yZWNhcHRjaGEtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICB9XHJcbiAgLnN0YXR1cy1wYW5lbC10ZXh0LWFsaWduIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucmVjYXB0Y2hhLWNvbnRhaW5lciAubmctaW52YWxpZDpub3QoZm9ybSkge1xyXG4gIGJvcmRlci1sZWZ0OiBub25lO1xyXG59XHJcblxyXG4ucmVhZC1vbmx5LXRleHQge1xyXG4gIGJvcmRlcjogMDtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG46aG9zdD4+Pi53aXphcmQ+LnN0ZXBzIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5kb25lIC5kZW55OmFmdGVyIHtcclxuICBjb250ZW50OiAnXFxlZDZhJyAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuLndpemFyZD4uc3RlcHM+dWw+bGkuZG9uZSAuZGVueSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MDAxNCAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2Q0MDAzMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWx0ZXJuYXRlLXNlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuLnN0YXR1cy1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvc3RhdHVzLmpwZ1wiKTtcclxuICBoZWlnaHQ6IDE4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ucmVhZC1vbmx5LXRleHQge1xyXG4gIGJvcmRlcjogMDtcclxuICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi50ZXh0LXJlZFxyXG57XHJcbiAgcGFkZGluZy1yaWdodDoxMDBweDtcclxuICBjb2xvcjpyZWQ7XHJcbn1cclxuXHJcblxyXG4udGV4dC1ncmVlbiB7XHJcbiAgY29sb3I6Z3JlZW47XHJcbn1cclxuLmNvbnRyYWN0e1xyXG4gIGN1cnNvcjpwb2ludGVyO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y29sb3I6IzAzYTlmNDtcclxufVxyXG4uYmFja3tcclxuXHJcbiAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xyXG59XHJcbi50ZXh0LWxlZnRcclxue1xyXG50ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxufVxyXG5cclxudGFibGUge1xyXG4gIGJvcmRlcjogMC4xcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEzNyk7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxudGQsIHRoIHtcclxuICBib3JkZXI6IDAuMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMzcpO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgcGFkZGluZzogOHB4O1xyXG59XHJcblxyXG50cjpudGgtY2hpbGQoZXZlbikge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGRkZGQ7XHJcbn1cclxuLmJ0bi1hbGxpZ25cclxue1xyXG4gIG1hcmdpbjoxcHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, OnDestroy , ElementRef, ViewChild, AfterViewInit} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { ConstantsService, SessionService } from '@app/base/core';\r\nimport { LandingService } from '@app/modules/landing/base';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-contract',\r\n templateUrl: './payment.component.html',\r\n styleUrls: ['./payment.component.css']\r\n})\r\nexport class PaymentComponent implements OnInit, OnDestroy, AfterViewInit {\r\n ngAfterViewInit(): void {\r\n\r\n // Dispaying the Breadcrumb based on the user .\r\n }\r\n\r\n// Defining the Constructor\r\n constructor( private route: ActivatedRoute,\r\n private router: Router,\r\n private http: LandingService,\r\n public sessionSvc: SessionService,\r\n public constantsSVc: ConstantsService,\r\n public config: SocoConfigurationService\r\n ) {this.buildFormGroup(); }\r\n private routeSubscription: any;\r\n// Declaring the Variables\r\n BcaId: number;\r\n CostToServe = 0.00;\r\n paymentForm: FormGroup;\r\n // Building the form group\r\n buildFormGroup(): void {\r\n this.paymentForm = new FormGroup({\r\n BcaId: new FormControl(''),\r\n },\r\n { updateOn: 'blur' });\r\n }\r\n ngOnInit() {\r\n // Get ID and user from route params.\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n\r\n if (params['id']) {\r\n this.BcaId = (params['id']);\r\n this.paymentForm.controls['BcaId'].patchValue(this.BcaId);\r\n }\r\n if (params['user']) {\r\n this.sessionSvc.sourceToContract = (params['user']);\r\n }\r\n });\r\n\r\n const subscription = this.http.getBcaContractInfo(this.BcaId).subscribe(result => {\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n if (result.data != null) {\r\n this.BcaId = result.data[0].bcaId;\r\n this.CostToServe = result.data[0].customerOwedAmount;\r\n this.sessionSvc.projectName = result.data[0].projectName;\r\n }\r\n });\r\n }\r\n ngOnDestroy() {\r\n }\r\n// Navigate to Payment Gateway\r\n goToPaymentGateway() {\r\n swal(this.constantsSVc.okSwal1, this.constantsSVc.paymentSwal);\r\n}\r\n // Go To Back\r\n goToBack() {\r\n this.router.navigate([this.sessionSvc.paramLdc.toLocaleLowerCase(), 'builder', 'contract', this.sessionSvc.sourceToContract,\r\n this.BcaId]);\r\n }\r\n}\r\n","import { Component, OnInit, HostListener, ViewChild, ElementRef } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base';\r\nimport { SessionService, StepsIdEnum, LookupsService, LimitlessUiService, ConstantsService, BuildingType,\r\n CompaniesEnum, LDCEnum} from '@app/base/core';\r\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { ApiResult, SocoHttpService } from '@app/base/soco';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Attachment } from '@app/base/core/models';\r\nimport { map } from 'rxjs/operators';\r\nimport { v4 } from 'uuid';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { DataStateChangeEvent, GridDataResult, RowArgs, SelectAllCheckboxState } from '@progress/kendo-angular-grid';\r\nimport { Subscription } from 'rxjs';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'commercial-premise',\r\n templateUrl: './commercial.premise.component.html',\r\n})\r\nexport class CommercialPremiseComponent implements OnInit, CanComponentDeactivate {\r\n @ViewChild('siteplan', {static: false}) siteplan: ElementRef;\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n selectedIDsforCommercial: any[] = [];\r\n selectedIDsforCommForm: any[] = [];\r\n deliveryPressOthersComm = false;\r\n typeForm: FormGroup;\r\n applianceCountC = true;\r\n buildingTypeList: BuildingType[] = [];\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n ldcEnum: typeof LDCEnum = LDCEnum;\r\n public btuLoadVal = 'BTU Load Value';\r\n commercialPressure = this.lookupSvc.defaultCommercialPressure.lookupValues[0];\r\n StatusSearchResults: Attachment[];\r\n public SearchResultsGridView: GridDataResult;\r\n selectedRecord: Attachment = new Attachment();\r\n getFilesSubscription: Subscription;\r\n deleteFilesSubscription: Subscription;\r\n AttachmentList: string[] = [];\r\n defaultSkip = 0;\r\n defaultItemsPerPage = 5;\r\n public rowValue: string;\r\n public pageSizes = true;\r\n public previousNext = true;\r\n public statevalue: SelectAllCheckboxState = 'unchecked';\r\n documentInput: any = {};\r\n // public buttonCount = 5;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public take = 5;\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: this.defaultItemsPerPage,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public mySelection: string[] = [];\r\n flagExt = false;\r\n flagSize = false;\r\n public items: any[];\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, private constantsSvc: ConstantsService,\r\n public socoHttp: SocoHttpService, public sessionSvc: SessionService,\r\n public lookupSvc: LookupsService, public limitlessSvc: LimitlessUiService,\r\n private config: SocoConfigurationService, private http: HttpClient) { }\r\n ngOnInit() {\r\n this.documentInput.Folder = this.constantsSvc.folderName;\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.wizardSvc.BId = builderID;\r\n this.refreshGrid();\r\n this.typeForm = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n const commPremiseArray = this.form.controls['commercialFormArray'];\r\n\r\n // Logic to populate building Type List\r\n this.buildingTypeList = this.lookupSvc.buildingTypes.filter(b => b.unitType === this.constantsSvc.commercialType &&\r\n (this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.GA ? b.market === this.ldcEnum.AGLC :\r\n this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.TN ? b.market === this.ldcEnum.CGC :\r\n b.market === this.ldcEnum.VNG));\r\n\r\n // populate building type for Industrial request type\r\n if (this.typeForm.value.propertyType.itemName === this.constantsSvc.Industrial) {\r\n this.form.controls.commercialFormArray['controls'].forEach((item) => {\r\n const a = this.buildingTypeList.find(x => x.id === this.constantsSvc.industrialBuildingType);\r\n item.controls.commercialBuildingType.setValue(a);\r\n });\r\n this.form.controls.commercialFormArray.updateValueAndValidity();\r\n }\r\n\r\n commPremiseArray.controls.forEach((element, i) => {\r\n\r\n if (isNullOrUndefined(element.get('commercialDeliveryPressure').value)) {\r\n element.patchValue({\r\n commercialDeliveryPressure: this.commercialPressure,\r\n });\r\n }\r\n if ((element.get('commercialDeliveryPressure').value &&\r\n element.get('commercialDeliveryPressure').value['itemName'].toUpperCase() === this.constantsSvc.otherAppliance) ||\r\n element.get('commercialDeliveryPressureOthers').value !== '' &&\r\n !isNullOrUndefined(element.get('commercialDeliveryPressureOthers').value)) {\r\n this.deliveryPressOthersComm = true;\r\n } else {\r\n this.deliveryPressOthersComm = false;\r\n element.get('commercialDeliveryPressureOthers').clearValidators();\r\n element.get('commercialDeliveryPressureOthers').updateValueAndValidity();\r\n }\r\n\r\n const formArray = element.get('appliancesforCommercial');\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n });\r\n }\r\n\r\n // navigating multistep\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) {\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // To Add Premise Details for Commercial Premise\r\n addpremiseForCommercial() {\r\n const formArray = this.form.controls['commercialFormArray'];\r\n const panelIndex = formArray.controls.length;\r\n formArray.push(new FormGroup({\r\n panelNumber: new FormControl(panelIndex + 1),\r\n commercialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n commercialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n commercialDeliveryPressure: new FormControl(null, Validators.required),\r\n commercialUnitDescription: new FormControl(null, [Validators.required]),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n commercialStatusofConstruction: new FormControl(null, [Validators.required]),\r\n commercialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of commercialDeliveryPressure to 'Other'\r\n commercialDeliveryPressureOthers: new FormControl(''),\r\n commercialBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesforCommercial: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })])\r\n })\r\n );\r\n }\r\n selectIDforCommercial(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforCommercial.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforCommercial.indexOf(id);\r\n this.selectedIDsforCommercial.splice(index, 1);\r\n }\r\n }\r\n\r\n // used to add appliance for commercial\r\n addAppliancesforCommercial(element) {\r\n const formArray = element.get('appliancesforCommercial');\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad : new FormControl(false)\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n }\r\n\r\n // used to delete appliance for commercial\r\n deleteApplianceforCommercial(element) {\r\n const control = element.get('appliancesforCommercial');\r\n if (this.selectedIDsforCommercial.length === 0) { swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2); }\r\n this.selectedIDsforCommercial.sort((a, b) => b - a);\r\n this.selectedIDsforCommercial.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountC = true;\r\n }\r\n this.selectedIDsforCommercial = [];\r\n }\r\n\r\n // delete Commercial premise\r\n selectIdfordeletion(id) {\r\n const control = this.form.controls['commercialFormArray'];\r\n control.removeAt(id);\r\n }\r\n\r\n onCommItemSelect(eve: any, comArr: FormGroup) {\r\n if (isNullOrUndefined(eve)) {\r\n this.deliveryPressOthersComm = false;\r\n comArr.controls['commercialDeliveryPressureOthers'].reset('');\r\n comArr.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n this.deliveryPressOthersComm = false;\r\n comArr.updateValueAndValidity();\r\n } else if (eve.itemName === 'OTHER') {\r\n this.deliveryPressOthersComm = true;\r\n comArr.controls['commercialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n comArr.controls['commercialDeliveryPressureOthers'].reset('');\r\n comArr.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n comArr.controls['commercialDeliveryPressureOthers'].updateValueAndValidity();\r\n comArr.updateValueAndValidity();\r\n this.deliveryPressOthersComm = false;\r\n }\r\n comArr.updateValueAndValidity();\r\n }\r\n\r\n // used to autopopulate the BTU value when appliance is selected\r\n onApplianceSelected(eve: any, appArr: FormGroup, commArr: FormGroup) {\r\n\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.updateValueAndValidity();\r\n\r\n if (eve['itemName'].toUpperCase() === this.constantsSvc.other || eve['itemName'].toUpperCase() === this.constantsSvc.OTHERNOALLOW) {\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n } else if (eve['itemName'] === this.constantsSvc.PoolHeater || eve['itemName'] === this.constantsSvc.standbyGenerator) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n } else {\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n // File Upload Functionality For subdivision File.\r\n onFileChange(event) {\r\n\r\n // File Array varaiable\r\n const files: FileList = event.target.files;\r\n if (files.length > 5) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxdocSwal, this.constantsSvc.errorSwal);\r\n } else if (this.SearchResultsGridView !== undefined) {\r\n const count = this.SearchResultsGridView.total + files.length;\r\n if (count > 5) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxdocSwal, this.constantsSvc.errorSwal);\r\n } else {\r\n this. fileSize(files);\r\n }\r\n } else {\r\n this. fileSize(files);\r\n }\r\n }\r\n\r\n fileSize(files) {\r\n this.flagSize = false;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size > 50000000) {\r\n this.flagSize = true;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxDocSize, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n if (this.flagSize === false) {\r\n this.filetype(files);\r\n }\r\n }\r\n\r\n filetype(files) {\r\n this.flagExt = false;\r\n const extArr = ['.jpg', '.gif', '.png', '.txt', '.asm', '.doc', '.docx', '.docm', '.dot', '.dotx',\r\n '.dotm', '.jpe', '.jpeg', '.pdf', '.pnz', '.ppt', '.pptm', '.pptx', '.tiff', '.tif', '.xlc', '.xls', '.xlsx', '.xlsm', '.xlt'];\r\n for (let i = 0; i < files.length; i++) {\r\n const ext = files[i].name.substr(files[i].name.indexOf('.'));\r\n if (extArr.indexOf(ext.toLowerCase()) === -1 ) {\r\n this.flagExt = true;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.wrongExt + ' ' + files[i].name, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n if (this.flagExt === false) {\r\n this.fileUpdate(files);\r\n }\r\n }\r\n\r\n fileUpdate(files) {\r\n // formData variable for pushing in file data\r\n const formData = new FormData();\r\n // variable to store file which already exists with the same name.\r\n const dupfile = [];\r\n const selectedFiles = [];\r\n // Check if the File array length is greater than 0\r\n if (files.length > 0) {\r\n // if any uploaded file in the list of files is empty, Display error and do not upload any files.\r\n for (let i = 0; i < files.length; i++) {\r\n if (files.item(i).size <= 0) {\r\n swal(\r\n this.constantsSvc.errorSwal1,\r\n files.item(i).name + this.constantsSvc.fileUpload,\r\n this.constantsSvc.errorSwal\r\n );\r\n break;\r\n } else if (this.SearchResultsGridView !== undefined && this.SearchResultsGridView.data.length !== 0) {\r\n if (this.SearchResultsGridView.data.some( childData => {\r\n return childData.name === files.item(i).name;\r\n })) {\r\n dupfile.push(files.item(i));\r\n } else if ( !selectedFiles.includes(files.item(i).name) && !dupfile.includes(files.item(i))) {\r\n formData.append(files.item(i).name, files.item(i));\r\n }\r\n } else if ( !selectedFiles.includes(files.item(i).name) ) {\r\n selectedFiles.push(files.item(i).name);\r\n formData.append(files.item(i).name, files.item(i));\r\n }\r\n }\r\n\r\n // If the dupfile array is empty proceed to uploadfile function.\r\n // else display swal alert to the user and if user selects true add the dup file data to the form data and upload.\r\n // else return without any file upload.\r\n if (dupfile !== undefined && dupfile.length > 0) {\r\n const message = this.constantsSvc.dupFileMsg;\r\n const msg = document.createElement('div');\r\n msg.innerHTML = message;\r\n swal({\r\n content: msg,\r\n icon: 'assets/images/icons/icon_94_tumbs-up-green.svg',\r\n buttons: {\r\n cancel: {\r\n text: 'Cancel',\r\n visible: true,\r\n value: false,\r\n closeModal: true\r\n },\r\n confirm: { text: 'Proceed', value: true, closeModal: true }\r\n }\r\n }).then(result => {\r\n if (!result) {\r\n return;\r\n } else {\r\n for (let k = 0; k < dupfile.length; k++) {\r\n formData.append(dupfile[k].name, dupfile[k]);\r\n }\r\n this.UploadFile(formData);\r\n }\r\n });\r\n }\r\n if (formData !== null && !(dupfile.length > 0)) {\r\n this.UploadFile(formData);\r\n }\r\n }\r\n this.siteplan.nativeElement.value = '';\r\n }\r\n\r\n UploadFile(formData: FormData) {\r\n\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.documentInput.BuilderId = builderID;\r\n formData.append('folder', this.documentInput.Folder);\r\n formData.append('builderId', builderID);\r\n const headers = new HttpHeaders({\r\n 'Accept': 'application/json',\r\n Authorization: 'Bearer ' + this.config.webApiToken,\r\n 'x-transaction-id': this.getGuid(),\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache'\r\n });\r\n this.http\r\n .post(\r\n this.config.webApiBaseUrl + 'SubDivisionFiles/Upload?builderId=' + builderID,\r\n formData,\r\n {headers: headers},\r\n ).pipe(\r\n map(res => res as ApiResult))\r\n .subscribe(a => {\r\n if (a.data != null) {\r\n this.items = a.data;\r\n this.StatusSearchResults = this.items;\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.successSwal1, this.constantsSvc.fileUpload1, this.constantsSvc.successSwal);\r\n }\r\n },\r\n err => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.fileUploadFail, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n\r\n /// This method is copied from Soco http Service to create GUid for adding to the header to normal http post.\r\n /// Instead of using the Soco Http post which does not support file upload.\r\n private getGuid(): string {\r\n const hexlist = '0123456789abcdef';\r\n const b64list =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\n function guidToBase64(\r\n guid: string,\r\n shouldUseLittleEndian: boolean\r\n ): string {\r\n let parsedGuid = guid.replace(/[^0-9a-f]/gi, '').toLowerCase();\r\n if (parsedGuid.length !== 32) {\r\n return '';\r\n }\r\n\r\n if (shouldUseLittleEndian) {\r\n parsedGuid =\r\n parsedGuid.slice(6, 8) +\r\n parsedGuid.slice(4, 6) +\r\n parsedGuid.slice(2, 4) +\r\n parsedGuid.slice(0, 2) +\r\n parsedGuid.slice(10, 12) +\r\n parsedGuid.slice(8, 10) +\r\n parsedGuid.slice(14, 16) +\r\n parsedGuid.slice(12, 14) +\r\n parsedGuid.slice(16);\r\n }\r\n parsedGuid += '0';\r\n\r\n let result = '';\r\n let i = 0;\r\n let a: any, p: any, q: any;\r\n while (i < 33) {\r\n a =\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 8) |\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 4) |\r\n hexlist.indexOf(parsedGuid.charAt(i++));\r\n\r\n p = a >> 6;\r\n q = a & 63;\r\n\r\n result += b64list.charAt(p) + b64list.charAt(q);\r\n }\r\n result += '==';\r\n\r\n return result;\r\n }\r\n\r\n // generate a guid\r\n const guid = v4();\r\n\r\n // base-64 encode the guid using Little-endian\r\n const b64encoded = guidToBase64(guid, true);\r\n\r\n // return the 22 character guid\r\n return b64encoded\r\n .replace('/', '_')\r\n .replace('+', '-')\r\n .substring(0, 22);\r\n }\r\n\r\n // To fetch documents if any of logged in builder\r\n documentFetch() {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.getFilesSubscription = this.wizardSvc.getAllFiles(this.wizardSvc.BId).subscribe(result => {\r\n if (result.data != null) {\r\n (this.items = result.data), (this.StatusSearchResults = this.items);\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n }\r\n this.AttachmentList = [];\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n });\r\n }\r\n\r\n // unsubscribe subscriptions\r\n ngOnDestroy() {\r\n if (this.getFilesSubscription) {\r\n this.getFilesSubscription.unsubscribe();\r\n }\r\n if (this.deleteFilesSubscription) {\r\n this.deleteFilesSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n // Delete files\r\n deleteFiles() {\r\n if (this.AttachmentList.length !== 0) {\r\n this.deleteFilesSubscription = this.wizardSvc.deleteFiles(this.wizardSvc.BId, this.AttachmentList).subscribe(result => {\r\n if (result.data != null) {\r\n (this.items = result.data), (this.StatusSearchResults = this.items);\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n this.AttachmentList = [];\r\n }\r\n });\r\n } else {\r\n swal (this.constantsSvc.errorSwal1, this.constantsSvc.emptyListSwal, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n\r\n // To refresh grid\r\n refreshGrid() {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n if (this.wizardSvc.BId !== null && this.wizardSvc.BId !== undefined) {\r\n this.documentFetch();\r\n }\r\n }\r\n\r\n // Binding data on statechange\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.take = state.take;\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n }\r\n// For Excel Export\r\n public allData(): ExcelExportData {\r\n return {\r\n data: process(this.StatusSearchResults, {}).data\r\n };\r\n }\r\n// Attachment Selection\r\n selectionChange(ev: any) {\r\n if (ev.selectedRows.length !== 0) {\r\n for (let i = 0; i < ev.selectedRows.length; i++) {\r\n this.AttachmentList.push(ev.selectedRows[i].dataItem.name);\r\n }\r\n } else {\r\n for (let i = 0; i < ev.deselectedRows.length; i++) {\r\n this.AttachmentList.splice(ev.deselectedRows[i].dataItem.name, 1);\r\n }\r\n }\r\n this.rowValue = ev.index;\r\n this.selectedRecord = this.StatusSearchResults[this.rowValue];\r\n }\r\n\r\n public mySelectionKey(context: RowArgs): string {\r\n return context.dataItem.ProductName + ' ' + context.index;\r\n }\r\n // Selecting all files\r\n public onSelectAllChange(checkedState: SelectAllCheckboxState) {\r\n if (checkedState === 'checked') {\r\n this.mySelection = [];\r\n this.mySelection = this.items.map(item => item.name);\r\n this.statevalue = 'checked';\r\n } else {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, CUSTOM_ELEMENTS_SCHEMA, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, LookupsService, LimitlessUiService, ConstantsService,\r\n CompaniesEnum, LDCEnum, BuildingType} from '@app/base/core';\r\nimport { FormGroup, Validators, FormControl, FormArray } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { DaterangepickerConfig } from 'ng2-daterangepicker';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'mixed-premise',\r\n templateUrl: './mixed.premise.component.html',\r\n})\r\nexport class MixedPremiseComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n deliveryPressureResidential = [];\r\n deliveryPressureCommercial = [];\r\n loadTypeResidential = [];\r\n loadTypeCommercial = [];\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n selectedIDsforResidential: any[] = [];\r\n selectedIDsforCommercial: any[] = [];\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n ldcEnum: typeof LDCEnum = LDCEnum;\r\n buildingTypeListRes: BuildingType[] = [];\r\n buildingTypeListCom: BuildingType[] = [];\r\n deliveryPressOthersResidential = false;\r\n deliveryPressOthersCommMixuse = false;\r\n applianceCountR = true;\r\n applianceCountC = true;\r\n public btuLoadVal = 'BTU Load Value (Optional)';\r\n public btuLoadVal1 = 'BTU Load Value';\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n };\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n\r\n constructor(public wizardSvc: MultistepsService, private constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n private daterangepickerOptions: DaterangepickerConfig,\r\n public lookupSvc: LookupsService, public limitlessSvc: LimitlessUiService, public socoHttp: SocoHttpService) {\r\n this.daterangepickerOptions.skipCSS = true;\r\n this.deliveryPressureResidential = this.lookupSvc.deliveryPressure.filter(x =>\r\n x.usageType.toUpperCase() === RequestTypesEnum.Residential.toUpperCase());\r\n this.deliveryPressureCommercial = this.lookupSvc.deliveryPressure.filter(x =>\r\n x.usageType.toUpperCase() === RequestTypesEnum.Commercial.toUpperCase());\r\n this.loadTypeResidential = this.lookupSvc.loadType.filter(x =>\r\n x.usageType.toUpperCase() === RequestTypesEnum.Residential.toUpperCase());\r\n this.loadTypeCommercial = this.lookupSvc.loadType.filter(x =>\r\n x.usageType.toUpperCase() === RequestTypesEnum.Commercial.toUpperCase());\r\n }\r\n ngOnInit() {\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n\r\n // Logic to populate residential building Type List\r\n this.buildingTypeListRes = this.lookupSvc.buildingTypes.filter(b => b.unitType === this.constantsSvc.residentialType &&\r\n (this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.GA ? b.market === this.ldcEnum.AGLC :\r\n this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.TN ? b.market === this.ldcEnum.CGC :\r\n b.market === this.ldcEnum.VNG));\r\n\r\n // Logic to populate Commercial building Type List\r\n this.buildingTypeListCom = this.lookupSvc.buildingTypes.filter(b => b.unitType === this.constantsSvc.commercialType &&\r\n (this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.GA ? b.market === this.ldcEnum.AGLC :\r\n this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.TN ? b.market === this.ldcEnum.CGC :\r\n b.market === this.ldcEnum.VNG));\r\n\r\n const resPremiseArray = this.form.controls['residentialFormArray'];\r\n const commPremiseArray = this.form.controls['commercialFormArray'];\r\n resPremiseArray.controls.forEach((element, i) => {\r\n\r\n if (isNullOrUndefined(element.get('residentialDeliveryPressure').value)) {\r\n element.patchValue({\r\n residentialDeliveryPressure: this.lookupSvc.defaultResidentialPressure.lookupValues[0],\r\n });\r\n }\r\n\r\n if ((element.get('residentialDeliveryPressure').value &&\r\n element.get('residentialDeliveryPressure').value['itemName'].toUpperCase() === this.constantsSvc.otherAppliance) ||\r\n element.get('residentialDeliveryPressureOthers').value !== ''\r\n && !isNullOrUndefined(element.get('residentialDeliveryPressureOthers').value)) {\r\n this.deliveryPressOthersResidential = true;\r\n } else {\r\n this.deliveryPressOthersResidential = false;\r\n element.get('residentialDeliveryPressureOthers').clearValidators();\r\n element.get('residentialDeliveryPressureOthers').updateValueAndValidity();\r\n }\r\n const formArray = element.get('appliancesforResidential');\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n });\r\n\r\n commPremiseArray.controls.forEach((element, i) => {\r\n\r\n if (isNullOrUndefined(element.get('commercialDeliveryPressure').value)) {\r\n element.patchValue({\r\n commercialDeliveryPressure: this.lookupSvc.defaultCommercialPressure.lookupValues[0],\r\n });\r\n }\r\n if ((element.get('commercialDeliveryPressure').value &&\r\n element.get('commercialDeliveryPressure').value['itemName'].toUpperCase() === this.constantsSvc.otherAppliance) ||\r\n element.get('commercialDeliveryPressureOthers').value !== '' &&\r\n !isNullOrUndefined(element.get('commercialDeliveryPressureOthers').value)) {\r\n this.deliveryPressOthersCommMixuse = true;\r\n } else {\r\n this.deliveryPressOthersCommMixuse = false;\r\n element.get('commercialDeliveryPressureOthers').clearValidators();\r\n element.get('commercialDeliveryPressureOthers').updateValueAndValidity();\r\n }\r\n\r\n const formArray = element.get('appliancesforCommercial');\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n onItemSelect(eve: any, resArr: FormGroup) {\r\n if (isNullOrUndefined(eve)) {\r\n resArr.controls['residentialDeliveryPressureOthers'].reset('');\r\n resArr.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n resArr.updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n } else if (eve.itemName === 'OTHER') {\r\n this.deliveryPressOthersResidential = true;\r\n this.form.controls['residentialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n resArr.controls['residentialDeliveryPressureOthers'].reset('');\r\n resArr.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n resArr.controls['residentialDeliveryPressureOthers'].updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n resArr.updateValueAndValidity();\r\n }\r\n\r\n resArr.updateValueAndValidity();\r\n }\r\n\r\n onMixedCommItemSelect(eve: any, comArr: FormGroup) {\r\n if (isNullOrUndefined(eve)) {\r\n this.deliveryPressOthersCommMixuse = false;\r\n comArr.controls['commercialDeliveryPressureOthers'].reset('');\r\n\r\n comArr.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n comArr.updateValueAndValidity();\r\n } else if (eve.itemName.toUpperCase() === 'OTHER') {\r\n this.deliveryPressOthersCommMixuse = true;\r\n comArr.controls['commercialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n comArr.controls['commercialDeliveryPressureOthers'].reset('');\r\n comArr.controls['commercialDeliveryPressureOthers'].clearValidators();\r\n comArr.controls['commercialDeliveryPressureOthers'].updateValueAndValidity();\r\n comArr.updateValueAndValidity();\r\n this.deliveryPressOthersCommMixuse = false;\r\n }\r\n comArr.updateValueAndValidity();\r\n }\r\n\r\n // delete Residential premise\r\n selectIdfordeletion(id) {\r\n const control = this.form.controls['residentialFormArray'];\r\n control.removeAt(id);\r\n }\r\n\r\n // delete commercial premise\r\n selectIdfordeletionComm(id) {\r\n const control = this.form.controls['commercialFormArray'];\r\n control.removeAt(id);\r\n }\r\n\r\n selectIDforCommercial(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforCommercial.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforCommercial.indexOf(id);\r\n this.selectedIDsforCommercial.splice(index, 1);\r\n }\r\n }\r\n\r\n // used to add appliance for commercial\r\n addAppliancesforCommercial(element) {\r\n const formArray = element.get('appliancesforCommercial');\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountC = false;\r\n }\r\n }\r\n\r\n // used to delete appliance for commercial\r\n deleteApplianceforCommercial(element) {\r\n const control = element.get('appliancesforCommercial');\r\n if (this.selectedIDsforCommercial.length === 0) {\r\n swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2);\r\n }\r\n this.selectedIDsforCommercial.sort((a, b) => b - a);\r\n this.selectedIDsforCommercial.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountC = true;\r\n }\r\n this.selectedIDsforCommercial = [];\r\n }\r\n\r\n // used to add appliance for residential\r\n addAppliancesforResidential(element) {\r\n const formArray = element.get('appliancesforResidential');\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)], ),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n }\r\n\r\n // used to delete appliance for residential\r\n deleteApplianceforResidential(element) {\r\n const control = element.get('appliancesforResidential');\r\n if (this.selectedIDsforResidential.length === 0) {\r\n swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2);\r\n }\r\n this.selectedIDsforResidential.sort();\r\n this.selectedIDsforResidential.reverse();\r\n this.selectedIDsforResidential.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountR = true;\r\n }\r\n this.selectedIDsforResidential = [];\r\n }\r\n\r\n // To Add Premise Details for Residential Premise\r\n addpremiseForResidential() {\r\n const formArray = this.form.controls['residentialFormArray'];\r\n const panelIndex = formArray.controls.length;\r\n formArray.push(new FormGroup({\r\n panelNumber: new FormControl(panelIndex + 1),\r\n residentialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n residentialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialUnitDescription: new FormControl(null, [Validators.required]),\r\n residentialDeliveryPressure: new FormControl(this.lookupSvc.defaultResidentialPressure.lookupValues[0], Validators.required),\r\n residentialNoOfUnit: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n residentialStatusofConstruction: new FormControl(null, [Validators.required]),\r\n residentialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of selected serviceable state in location page to 'Florida'\r\n residentialPropertyOwner: new FormControl(''),\r\n // TODO: change true to check for value of residentialDeliveryPressure to 'Other'\r\n residentialDeliveryPressureOthers: new FormControl(''),\r\n residentialBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesforResidential: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })])\r\n })\r\n );\r\n\r\n }\r\n\r\n // To Add Premise Details for Commercial Premise\r\n addpremiseForCommercial() {\r\n const formArray = this.form.controls['commercialFormArray'];\r\n const panelIndex = formArray.controls.length;\r\n formArray.push(new FormGroup({\r\n panelNumber: new FormControl(panelIndex + 1),\r\n commercialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n commercialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n commercialDeliveryPressure: new FormControl(null, Validators.required),\r\n commercialUnitDescription: new FormControl(null, [Validators.required]),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n commercialStatusofConstruction: new FormControl(null, [Validators.required]),\r\n commercialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of commercialDeliveryPressure to 'Other'\r\n commercialDeliveryPressureOthers: new FormControl(''),\r\n commercialBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesforCommercial: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })])\r\n })\r\n );\r\n }\r\n selectIDforResidential(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforResidential.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforResidential.indexOf(id);\r\n this.selectedIDsforResidential.splice(index, 1);\r\n }\r\n }\r\n\r\n // used to autopopulate the BTU value when appliance is selected\r\n onApplianceSelected(item: any, appArr: FormGroup) {\r\n appArr.controls['defaultValue'].reset(null);\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n if (item['itemName'].toUpperCase() === this.constantsSvc.other) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else if ((item['itemName'] === this.constantsSvc.PoolHeater) || (item['itemName'] === this.constantsSvc.standbyGenerator)) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n } else {\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n const homeSqFt = this.form.controls['residentialHomeSqFt'].value;\r\n const requestType = item.usageType.toUpperCase() ==='RESIDENTIAL' ? 'RES':'COMM';\r\n \r\n const loadValue = this.lookupSvc.wrLoadArmLkp.filter(load => \r\n load.loadTypeCode === item.id && load.resiComm === requestType &&\r\n ((load.minSqFTG === null || load.minSqFTG <= homeSqFt) &&\r\n (load.maxSqFTG === null || load.maxSqFTG >= homeSqFt))\r\n );\r\n\r\n if(loadValue.length > 0)\r\n {\r\n appArr.controls['defaultValue'].setValue(loadValue[0]['itemName']);\r\n }\r\n\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n // used to autopopulate the BTU value when appliance is selected\r\n onApplianceSelectedCom(eve: any, appArr: FormGroup) {\r\n\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.updateValueAndValidity();\r\n\r\n if (eve['itemName'].toUpperCase() === this.constantsSvc.otherAppliance) {\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n } else if (eve['itemName'] === this.constantsSvc.PoolHeater || eve['itemName'] === this.constantsSvc.standbyGenerator) {\r\n this.btuLoadVal1 = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n } else {\r\n this.btuLoadVal1 = this.constantsSvc.btuLoad;\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity();\r\n appArr.controls['defaultValue'].updateValueAndValidity();\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3ByZW1pc2UvcHJlbWlzZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, ConstantsService, LookupsService } from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { DaterangepickerConfig } from 'ng2-daterangepicker';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-premise',\r\n templateUrl: './premise.component.html',\r\n styleUrls: ['./premise.component.css']\r\n})\r\nexport class PremiseComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n typeForm: FormGroup;\r\n alertMsg: any = [];\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantSvc.changes;\r\n }\r\n }\r\n constructor(\r\n public wizardSvc: MultistepsService,\r\n public sessionSvc: SessionService,\r\n public socoHttp: SocoHttpService,\r\n private daterangepickerOptions: DaterangepickerConfig,\r\n public constantSvc: ConstantsService,\r\n public alertService: AlertService,\r\n public lookupSvc: LookupsService,\r\n ) {\r\n this.daterangepickerOptions.skipCSS = true;\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.PREMISE);\r\n }\r\n ngOnInit() {\r\n // Loads common Lookups\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n this.typeForm = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n if (val && (this.typeForm.controls['propertyType'].value.id.toLowerCase() === this.requestTypeEnum.Commercial.toLowerCase()\r\n || this.typeForm.controls['propertyType'].value.id.toLowerCase() === this.requestTypeEnum.Industrial.toLowerCase())) {\r\n\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Premise Details Business Builder'\r\n ));\r\n } else if (val && (this.typeForm.controls['propertyType'].value.id.toLowerCase() === this.requestTypeEnum.MixedUse.toLowerCase())) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Premise Details Mixed Builder'\r\n ));\r\n } else {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Premise Details Builder'));\r\n }\r\n this.alertService.info(this.alertMsg.message);\r\n });\r\n }\r\n next() { this.wizardSvc.nextStep(); } // Navigate to Next Page\r\n back() { this.wizardSvc.previousStep(); } // Navigate to Previous Page\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n }\r\n}\r\n","import { Component, OnInit, HostListener, ViewChild, ElementRef } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, LookupsService, CompaniesEnum, BuildingType, LDCEnum,\r\n LimitlessUiService, ConstantsService } from '@app/base/core';\r\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { ApiResult, SocoHttpService } from '@app/base/soco';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Attachment } from '@app/base/core/models';\r\nimport { map } from 'rxjs/operators';\r\nimport { v4 } from 'uuid';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { DataStateChangeEvent, GridDataResult, RowArgs, SelectAllCheckboxState } from '@progress/kendo-angular-grid';\r\nimport { Subscription } from 'rxjs';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'residential-premise',\r\n templateUrl: './residential.premise.component.html',\r\n})\r\nexport class ResidentialPremiseComponent implements OnInit, CanComponentDeactivate {\r\n @ViewChild('siteplan', {static: false}) siteplan: ElementRef;\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n selectedIDsforResidential: any[] = [];\r\n selectedIDsforResForm: any[] = [];\r\n deliveryPressOthersResidential = false;\r\n typeForm: FormGroup;\r\n applianceCountR = true;\r\n buildingTypeList: BuildingType[] = [];\r\n ldcEnum: typeof LDCEnum = LDCEnum;\r\n residentialPressure = this.lookupSvc.defaultResidentialPressure.lookupValues[0];\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n public btuLoadVal = 'BTU Load Value (Optional)';\r\n StatusSearchResults: Attachment[];\r\n public SearchResultsGridView: GridDataResult;\r\n selectedRecord: Attachment = new Attachment();\r\n getFilesSubscription: Subscription;\r\n deleteFilesSubscription: Subscription;\r\n AttachmentList: string[] = [];\r\n defaultSkip = 0;\r\n defaultItemsPerPage = 5;\r\n public rowValue: string;\r\n public pageSizes = true;\r\n public previousNext = true;\r\n public statevalue: SelectAllCheckboxState = 'unchecked';\r\n documentInput: any = {};\r\n // public buttonCount = 5;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public take = 5;\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: this.defaultItemsPerPage,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public mySelection: string[] = [];\r\n flagExt = false;\r\n flagSize = false;\r\n public items: any[];\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n constructor(public wizardSvc: MultistepsService, private constantsSvc: ConstantsService, public socoHttp: SocoHttpService,\r\n public sessionSvc: SessionService, public lookupSvc: LookupsService, public limitlessSvc: LimitlessUiService,\r\n private config: SocoConfigurationService, private http: HttpClient) {\r\n }\r\n ngOnInit() {\r\n this.documentInput.Folder = this.constantsSvc.folderName;\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.wizardSvc.BId = builderID;\r\n this.refreshGrid();\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n this.typeForm = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n const resPremiseArray = this.form.controls['residentialFormArray'];\r\n resPremiseArray.controls.forEach((element, i) => {\r\n\r\n if (isNullOrUndefined(element.get('residentialDeliveryPressure').value)) {\r\n element.patchValue({\r\n residentialDeliveryPressure: this.residentialPressure,\r\n });\r\n }\r\n\r\n if (this.wizardSvc.serviceAddress.state.short_name === this.companiesEnum.FL) {\r\n element.get('residentialPropertyOwner').setValidators(Validators.required);\r\n }\r\n if ((element.get('residentialDeliveryPressure').value &&\r\n element.get('residentialDeliveryPressure').value['itemName'].toUpperCase() === this.constantsSvc.other) ||\r\n element.get('residentialDeliveryPressureOthers').value !== ''\r\n && !isNullOrUndefined(element.get('residentialDeliveryPressureOthers').value)) {\r\n this.deliveryPressOthersResidential = true;\r\n } else {\r\n this.deliveryPressOthersResidential = false;\r\n element.get('residentialDeliveryPressureOthers').clearValidators();\r\n element.get('residentialDeliveryPressureOthers').updateValueAndValidity();\r\n }\r\n const formArray = element.get('appliancesforResidential');\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n });\r\n\r\n // Logic to populate building Type List\r\n this.buildingTypeList = this.lookupSvc.buildingTypes.filter(b => b.unitType === this.constantsSvc.residentialType &&\r\n (this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.GA ? b.market === this.ldcEnum.AGLC :\r\n this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.TN ? b.market === this.ldcEnum.CGC :\r\n b.market === this.ldcEnum.VNG));\r\n\r\n if (this.typeForm.value.propertyType.itemName === this.constantsSvc.multi_Family) {\r\n this.form.controls.residentialFormArray['controls'].forEach((item) => {\r\n const a = this.buildingTypeList.find(x => x.id === this.constantsSvc.multiFamilyBuildingType);\r\n item.controls.residentialBuildingType.setValue(a);\r\n\r\n });\r\n this.form.controls.residentialFormArray.updateValueAndValidity();\r\n }\r\n }\r\n\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState:\r\n RouterStateSnapshot) {\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // To Add Premise Details for Residential Premise\r\n addpremiseForResidential() {\r\n const formArray = this.form.controls['residentialFormArray'];\r\n const panelIndex = formArray.controls.length;\r\n formArray.push(new FormGroup({\r\n panelNumber: new FormControl(panelIndex + 1),\r\n residentialHomeSqFt: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n residentialApproxDistanceFt: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n residentialDeliveryPressure: new FormControl(this.lookupSvc.defaultResidentialPressure.lookupValues[0], Validators.required),\r\n residentialNoOfUnit: new FormControl('', Validators.pattern(this.constantsSvc.numericPattern)),\r\n // TODO: change true to check for value of new construction in type step to 'Yes'\r\n residentialStatusofConstruction: new FormControl(null, [Validators.required]),\r\n residentialUnitDescription: new FormControl(null, [Validators.required]),\r\n residentialNeedingServiceDate: new FormControl('', [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n // TODO: change true to check for value of selected serviceable state in location page to 'Florida'\r\n residentialPropertyOwner: new FormControl(''),\r\n // TODO: change true to check for value of residentialDeliveryPressure to 'Other'\r\n residentialDeliveryPressureOthers: new FormControl(''),\r\n residentialBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesforResidential: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)])\r\n })])\r\n })\r\n );\r\n\r\n }\r\n// Adding appliances for Residential premise\r\n addAppliancesforResidential(element) {\r\n const formArray = element.get('appliancesforResidential');\r\n formArray.push(new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(false)\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountR = false;\r\n }\r\n }\r\n // delete appliances of Residential premise\r\n deleteApplianceforResidential(element) {\r\n const control = element.get('appliancesforResidential');\r\n\r\n if (this.selectedIDsforResidential.length === 0) { swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2); }\r\n this.selectedIDsforResidential.sort((a, b) => b - a);\r\n this.selectedIDsforResidential.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountR = true;\r\n }\r\n this.selectedIDsforResidential = [];\r\n }\r\n\r\n // delete Residential premise\r\n selectIdfordeletion(id) {\r\n const control = this.form.controls['residentialFormArray'];\r\n control.removeAt(id);\r\n }\r\n// Select appliance IDs for deletion\r\n selectIDforResidential(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforResidential.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforResidential.indexOf(id);\r\n this.selectedIDsforResidential.splice(index, 1);\r\n }\r\n }\r\n\r\n // Selection of delivery pressure required\r\n onItemSelect(eve: any, resArr: FormGroup) {\r\n if (isNullOrUndefined(eve)) {\r\n resArr.controls['residentialDeliveryPressureOthers'].reset('');\r\n resArr.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n resArr.updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n } else if (eve.itemName === this.constantsSvc.other) {\r\n this.deliveryPressOthersResidential = true;\r\n this.form.controls['residentialDeliveryPressureOthers'].setValidators([Validators.required]);\r\n } else {\r\n resArr.controls['residentialDeliveryPressureOthers'].reset('');\r\n resArr.controls['residentialDeliveryPressureOthers'].clearValidators();\r\n resArr.controls['residentialDeliveryPressureOthers'].updateValueAndValidity();\r\n this.deliveryPressOthersResidential = false;\r\n resArr.updateValueAndValidity();\r\n }\r\n resArr.updateValueAndValidity();\r\n }\r\n // Selection of appliance\r\n onApplianceSelected(item: any, appArr: FormGroup, resArr: FormGroup) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].reset(null);\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n if (item['itemName'].toUpperCase() === this.constantsSvc.other) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultApplianceOther'].setValidators(Validators.required);\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else if ((item['itemName'] === this.constantsSvc.poolHeater) || (item['itemName'] === this.constantsSvc.standbyGenerator)) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].setValidators(Validators.pattern(this.constantsSvc.numericPatternwithZero));\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n } else {\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n const homeSqFt = resArr.controls['residentialHomeSqFt'].value;\r\n const requestType = item.usageType.toUpperCase() ==='RESIDENTIAL' ? 'RES':'COMM';\r\n \r\n const loadValue = this.lookupSvc.wrLoadArmLkp.filter(load => \r\n load.loadTypeCode === item.id && load.resiComm === requestType &&\r\n ((load.minSqFTG === null || load.minSqFTG <= homeSqFt) &&\r\n (load.maxSqFTG === null || load.maxSqFTG >= homeSqFt))\r\n );\r\n\r\n if(loadValue.length > 0)\r\n {\r\n appArr.controls['defaultValue'].setValue(loadValue[0]['itemName']);\r\n }\r\n\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n // File Upload Functionality For subdivision File.\r\n onFileChange(event) {\r\n\r\n // File Array varaiable\r\n const files: FileList = event.target.files;\r\n if (files.length > 5) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxdocSwal, this.constantsSvc.errorSwal);\r\n } else if (this.SearchResultsGridView !== undefined) {\r\n const count = this.SearchResultsGridView.total + files.length;\r\n if (count > 5) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxdocSwal, this.constantsSvc.errorSwal);\r\n } else {\r\n this. fileSize(files);\r\n }\r\n } else {\r\n this. fileSize(files);\r\n }\r\n }\r\n\r\n fileSize(files) {\r\n this.flagSize = false;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size > 50000000) {\r\n this.flagSize = true;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxDocSize, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n if (this.flagSize === false) {\r\n this.filetype(files);\r\n }\r\n }\r\n\r\n filetype(files) {\r\n this.flagExt = false;\r\n const extArr = ['.jpg', '.gif', '.png', '.txt', '.asm', '.doc', '.docx', '.docm', '.dot', '.dotx',\r\n '.dotm', '.jpe', '.jpeg', '.pdf', '.pnz', '.ppt', '.pptm', '.pptx', '.tiff', '.tif', '.xlc', '.xls', '.xlsx', '.xlsm', '.xlt'];\r\n for (let i = 0; i < files.length; i++) {\r\n const ext = files[i].name.substr(files[i].name.indexOf('.'));\r\n if (extArr.indexOf(ext.toLowerCase()) === -1 ) {\r\n this.flagExt = true;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.wrongExt + ' ' + files[i].name, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n if (this.flagExt === false) {\r\n this.fileUpdate(files);\r\n }\r\n }\r\n\r\n fileUpdate(files) {\r\n // formData variable for pushing in file data\r\n const formData = new FormData();\r\n // variable to store file which already exists with the same name.\r\n const dupfile = [];\r\n const selectedFiles = [];\r\n // Check if the File array length is greater than 0\r\n if (files.length > 0) {\r\n // if any uploaded file in the list of files is empty, Display error and do not upload any files.\r\n for (let i = 0; i < files.length; i++) {\r\n if (files.item(i).size <= 0) {\r\n swal(\r\n this.constantsSvc.errorSwal1,\r\n files.item(i).name + this.constantsSvc.fileUpload,\r\n this.constantsSvc.errorSwal\r\n );\r\n break;\r\n } else if (this.SearchResultsGridView !== undefined && this.SearchResultsGridView.data.length !== 0) {\r\n if (this.SearchResultsGridView.data.some( childData => {\r\n return childData.name === files.item(i).name;\r\n })) {\r\n dupfile.push(files.item(i));\r\n } else if ( !selectedFiles.includes(files.item(i).name) && !dupfile.includes(files.item(i))) {\r\n formData.append(files.item(i).name, files.item(i));\r\n }\r\n } else if ( !selectedFiles.includes(files.item(i).name) ) {\r\n selectedFiles.push(files.item(i).name);\r\n formData.append(files.item(i).name, files.item(i));\r\n }\r\n }\r\n\r\n // If the dupfile array is empty proceed to uploadfile function.\r\n // else display swal alert to the user and if user selects true add the dup file data to the form data and upload.\r\n // else return without any file upload.\r\n if (dupfile !== undefined && dupfile.length > 0) {\r\n const message = this.constantsSvc.dupFileMsg;\r\n const msg = document.createElement('div');\r\n msg.innerHTML = message;\r\n swal({\r\n content: msg,\r\n icon: 'assets/images/icons/icon_94_tumbs-up-green.svg',\r\n buttons: {\r\n cancel: {\r\n text: 'Cancel',\r\n visible: true,\r\n value: false,\r\n closeModal: true\r\n },\r\n confirm: { text: 'Proceed', value: true, closeModal: true }\r\n }\r\n }).then(result => {\r\n if (!result) {\r\n return;\r\n } else {\r\n for (let k = 0; k < dupfile.length; k++) {\r\n formData.append(dupfile[k].name, dupfile[k]);\r\n }\r\n this.UploadFile(formData);\r\n }\r\n });\r\n }\r\n if (formData !== null && !(dupfile.length > 0)) {\r\n this.UploadFile(formData);\r\n }\r\n }\r\n this.siteplan.nativeElement.value = '';\r\n }\r\n\r\n UploadFile(formData: FormData) {\r\n\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.documentInput.BuilderId = builderID;\r\n formData.append('folder', this.documentInput.Folder);\r\n formData.append('builderId', builderID);\r\n const headers = new HttpHeaders({\r\n 'Accept': 'application/json',\r\n Authorization: 'Bearer ' + this.config.webApiToken,\r\n 'x-transaction-id': this.getGuid(),\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache'\r\n });\r\n this.http\r\n .post(\r\n this.config.webApiBaseUrl + 'SubDivisionFiles/Upload?builderId=' + builderID,\r\n formData,\r\n {headers: headers},\r\n ).pipe(\r\n map(res => res as ApiResult))\r\n .subscribe(a => {\r\n if (a.data != null) {\r\n this.items = a.data;\r\n this.StatusSearchResults = this.items;\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.successSwal1, this.constantsSvc.fileUpload1, this.constantsSvc.successSwal);\r\n }\r\n },\r\n err => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.fileUploadFail, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n\r\n /// This method is copied from Soco http Service to create GUid for adding to the header to normal http post.\r\n /// Instead of using the Soco Http post which does not support file upload.\r\n private getGuid(): string {\r\n const hexlist = '0123456789abcdef';\r\n const b64list =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\n function guidToBase64(\r\n guid: string,\r\n shouldUseLittleEndian: boolean\r\n ): string {\r\n let parsedGuid = guid.replace(/[^0-9a-f]/gi, '').toLowerCase();\r\n if (parsedGuid.length !== 32) {\r\n return '';\r\n }\r\n\r\n if (shouldUseLittleEndian) {\r\n parsedGuid =\r\n parsedGuid.slice(6, 8) +\r\n parsedGuid.slice(4, 6) +\r\n parsedGuid.slice(2, 4) +\r\n parsedGuid.slice(0, 2) +\r\n parsedGuid.slice(10, 12) +\r\n parsedGuid.slice(8, 10) +\r\n parsedGuid.slice(14, 16) +\r\n parsedGuid.slice(12, 14) +\r\n parsedGuid.slice(16);\r\n }\r\n parsedGuid += '0';\r\n\r\n let result = '';\r\n let i = 0;\r\n let a: any, p: any, q: any;\r\n while (i < 33) {\r\n a =\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 8) |\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 4) |\r\n hexlist.indexOf(parsedGuid.charAt(i++));\r\n\r\n p = a >> 6;\r\n q = a & 63;\r\n\r\n result += b64list.charAt(p) + b64list.charAt(q);\r\n }\r\n result += '==';\r\n\r\n return result;\r\n }\r\n\r\n // generate a guid\r\n const guid = v4();\r\n\r\n // base-64 encode the guid using Little-endian\r\n const b64encoded = guidToBase64(guid, true);\r\n\r\n // return the 22 character guid\r\n return b64encoded\r\n .replace('/', '_')\r\n .replace('+', '-')\r\n .substring(0, 22);\r\n }\r\n\r\n // To fetch documents if any of logged in builder\r\n documentFetch() {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.getFilesSubscription = this.wizardSvc.getAllFiles(this.wizardSvc.BId).subscribe(result => {\r\n if (result.data != null) {\r\n (this.items = result.data), (this.StatusSearchResults = this.items);\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n }\r\n this.AttachmentList = [];\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n });\r\n }\r\n\r\n // unsubscribe subscriptions\r\n ngOnDestroy() {\r\n if (this.getFilesSubscription) {\r\n this.getFilesSubscription.unsubscribe();\r\n }\r\n if (this.deleteFilesSubscription) {\r\n this.deleteFilesSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n // Delete files\r\n deleteFiles() {\r\n if (this.AttachmentList.length !== 0) {\r\n this.deleteFilesSubscription = this.wizardSvc.deleteFiles(this.wizardSvc.BId, this.AttachmentList).subscribe(result => {\r\n if (result.data != null) {\r\n (this.items = result.data), (this.StatusSearchResults = this.items);\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n this.AttachmentList = [];\r\n }\r\n });\r\n } else {\r\n swal (this.constantsSvc.errorSwal1, this.constantsSvc.emptyListSwal, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n\r\n // To refresh grid\r\n refreshGrid() {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n if (this.wizardSvc.BId !== null && this.wizardSvc.BId !== undefined) {\r\n this.documentFetch();\r\n }\r\n }\r\n\r\n // Binding data on statechange\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.take = state.take;\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n }\r\n// For Excel Export\r\n public allData(): ExcelExportData {\r\n return {\r\n data: process(this.StatusSearchResults, {}).data\r\n };\r\n }\r\n// Attachment Selection\r\n selectionChange(ev: any) {\r\n if (ev.selectedRows.length !== 0) {\r\n for (let i = 0; i < ev.selectedRows.length; i++) {\r\n this.AttachmentList.push(ev.selectedRows[i].dataItem.name);\r\n }\r\n } else {\r\n for (let i = 0; i < ev.deselectedRows.length; i++) {\r\n this.AttachmentList.splice(ev.deselectedRows[i].dataItem.name, 1);\r\n }\r\n }\r\n this.rowValue = ev.index;\r\n this.selectedRecord = this.StatusSearchResults[this.rowValue];\r\n }\r\n\r\n public mySelectionKey(context: RowArgs): string {\r\n return context.dataItem.ProductName + ' ' + context.index;\r\n }\r\n // Selecting all files\r\n public onSelectAllChange(checkedState: SelectAllCheckboxState) {\r\n if (checkedState === 'checked') {\r\n this.mySelection = [];\r\n this.mySelection = this.items.map(item => item.name);\r\n this.statevalue = 'checked';\r\n } else {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n }\r\n }\r\n\r\n}\r\n","export default \"a {\\r\\n color: #1e88e5 !important;\\r\\n text-decoration: underline;\\r\\n}\\r\\n.margin{\\r\\n margin-top: 15px;\\r\\n}\\r\\ninput[type='file'] {\\r\\n display: ruby-base-container !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcHJlbWlzZS9zdWJkaXZpc2lvbi5wcmVtaXNlL3N1YmRpdmlzaW9uLnByZW1pc2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHlCQUF5QjtJQUN6QiwwQkFBMEI7QUFDOUI7QUFDQTtFQUNFLGdCQUFnQjtBQUNsQjtBQUVBO0VBQ0UsdUNBQXVDO0FBQ3pDIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcHJlbWlzZS9zdWJkaXZpc2lvbi5wcmVtaXNlL3N1YmRpdmlzaW9uLnByZW1pc2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImEge1xyXG4gICAgY29sb3I6ICMxZTg4ZTUgIWltcG9ydGFudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbi5tYXJnaW57XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0nZmlsZSddIHtcclxuICBkaXNwbGF5OiBydWJ5LWJhc2UtY29udGFpbmVyICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","import {Component, OnInit, ElementRef, HostListener, OnDestroy } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base';\r\nimport {SessionService, StepsIdEnum, LookupsService, CompaniesEnum, LimitlessUiService, ConstantsService,\r\n LDCEnum, BuildingType} from '@app/base/core';\r\nimport { FormGroup, FormArray, FormControl, Validators } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Attachment } from '@app/base/core/models';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { HttpClient, HttpHeaders} from '@angular/common/http';\r\nimport { v4 } from 'uuid';\r\nimport { ViewChild } from '@angular/core';\r\nimport { GridDataResult, DataStateChangeEvent, RowArgs, SelectAllCheckboxState } from '@progress/kendo-angular-grid';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { ApiResult } from '@app/soco/core/api-result';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { isNullOrUndefined } from 'util';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'subdivision-premise',\r\n templateUrl: './subdivision.premise.component.html',\r\n styleUrls: ['./subdivision.premise.component.css']\r\n})\r\nexport class SubDivisionPremiseComponent\r\n implements OnInit, CanComponentDeactivate , OnDestroy {\r\n @ViewChild('siteplan', {static: false}) siteplan: ElementRef;\r\n setClickedRow: Function;\r\n public SearchResultsGridView: GridDataResult;\r\n StatusSearchResults: Attachment[];\r\n AttachmentList: string[] = [];\r\n ldcEnum: typeof LDCEnum = LDCEnum;\r\n buildingTypeList: BuildingType[] = [];\r\n selectedRecord: Attachment = new Attachment();\r\n defaultSkip = 0;\r\n defaultItemsPerPage = 5;\r\n public rowValue: string;\r\n public pageSizes = true;\r\n public previousNext = true;\r\n documentInput: any = {};\r\n // public buttonCount = 5;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public take = 5;\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: this.defaultItemsPerPage,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public mySelection: string[] = [];\r\n public position = 'bottom';\r\n public statevalue: SelectAllCheckboxState = 'unchecked';\r\n public items: any[];\r\n public queryParam: any;\r\n flagExt = false;\r\n flagSize = false;\r\n public attachmentTitleValue: string;\r\n public attachmentsCategory = [];\r\n public btuLoadVal = 'BTU Load Value (Optional)';\r\n form: FormGroup;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n selectedIDsforSubDivision: any[] = [];\r\n deliveryPressOthersSubDivision = false;\r\n typeform: FormGroup;\r\n getFilesSubscription: Subscription;\r\n deleteFilesSubscription: Subscription;\r\n utilityEasementData: { id: number; itemName: string }[];\r\n applianceCountS = true;\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n constructor(\r\n // private cd: ChangeDetectorRef,\r\n private config: SocoConfigurationService,\r\n private http: HttpClient,\r\n public wizardSvc: MultistepsService,\r\n private constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n public lookupSvc: LookupsService,\r\n public limitlessSvc: LimitlessUiService,\r\n private socoHttp: SocoHttpService\r\n ) {\r\n }\r\n ngOnInit() {\r\n this.documentInput.Folder = this.constantsSvc.folderName;\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.wizardSvc.BId = builderID;\r\n this.setClickedRow = function (index) {\r\n this.selectedRow = index;\r\n };\r\n this.allData = this.allData.bind(this);\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n this.utilityEasementData = [\r\n { id: 1, itemName: 'YES' },\r\n { id: 2, itemName: 'NO' },\r\n { id: 3, itemName: 'DON\\'T KNOW' }\r\n ];\r\n // Logic to populate building Type List\r\n this.buildingTypeList = this.lookupSvc.buildingTypes.filter(b => b.unitType === this.constantsSvc.residentialType &&\r\n (this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.GA ? b.market === this.ldcEnum.AGLC :\r\n this.wizardSvc.serviceAddress.state.short_name.toUpperCase() === this.companiesEnum.TN ? b.market === this.ldcEnum.CGC :\r\n b.market === this.ldcEnum.VNG));\r\n\r\n const subPremiseArray = this.form.controls['subDivisionFormArray'];\r\n subPremiseArray.controls.forEach((element, i) => {\r\n if (\r\n isNullOrUndefined(element.get('subdivisionDeliveryPressure').value)\r\n ) {\r\n element.patchValue({\r\n subdivisionDeliveryPressure: this.lookupSvc.defaultResidentialPressure\r\n .lookupValues[0]\r\n });\r\n }\r\n if ((element.get('subdivisionDeliveryPressure').value &&\r\n element.get('subdivisionDeliveryPressure').value['itemName'] === this.constantsSvc.otherAppliance) ||\r\n element.get('subdivisionDeliveryPressureOthers').value !== ''\r\n && !isNullOrUndefined(element.get('subdivisionDeliveryPressureOthers').value)) {\r\n this.deliveryPressOthersSubDivision = true;\r\n } else {\r\n this.deliveryPressOthersSubDivision = false;\r\n element.get('subdivisionDeliveryPressureOthers').clearValidators();\r\n element.get(\r\n 'subdivisionDeliveryPressureOthers'\r\n ).updateValueAndValidity();\r\n }\r\n const formArray = element.get('appliancesForSubdivision');\r\n if (formArray.length > 49) {\r\n this.applianceCountS = false;\r\n }\r\n });\r\n\r\n\r\n // Getting documents if any for logged in builder\r\n if (this.wizardSvc.BId !== null && this.wizardSvc.BId !== undefined) {\r\n this.documentFetch();\r\n }\r\n }\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n // unsubscribe subscriptions\r\n ngOnDestroy() {\r\n if (this.getFilesSubscription) {\r\n this.getFilesSubscription.unsubscribe();\r\n }\r\n if (this.deleteFilesSubscription) {\r\n this.deleteFilesSubscription.unsubscribe();\r\n }\r\n }\r\n // To add appliances for Subdivision\r\n addAppliancesforSubDivision(element) {\r\n const formArray = element.get('appliancesForSubdivision');\r\n formArray.push(\r\n new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)\r\n ]),\r\n defaultValue: new FormControl('', [\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n ])\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountS = false;\r\n }\r\n }\r\n// To fetch documents if any of logged in builder\r\n documentFetch() {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.getFilesSubscription = this.wizardSvc.getAllFiles(this.wizardSvc.BId).subscribe(result => {\r\n if (result.data != null) {\r\n (this.items = result.data), (this.StatusSearchResults = this.items);\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n }\r\n this.AttachmentList = [];\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n });\r\n\r\n }\r\n // Delete appliances for subdivision premise\r\n deleteApplianceforSubDivision(element) {\r\n const control = element.get('appliancesForSubdivision');\r\n if (this.selectedIDsforSubDivision.length === 0) {\r\n swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2);\r\n }\r\n this.selectedIDsforSubDivision.sort((a, b) => b - a);\r\n this.selectedIDsforSubDivision.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountS = true;\r\n }\r\n this.selectedIDsforSubDivision = [];\r\n }\r\n\r\n // delete commercial premise\r\n selectIdfordeletion(id) {\r\n const control = this.form.controls['subDivisionFormArray'];\r\n control.removeAt(id);\r\n }\r\n\r\n// selected ID's of appliances to delete\r\n selectIDforSubDivision(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforSubDivision.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforSubDivision.indexOf(id);\r\n this.selectedIDsforSubDivision.splice(index, 1);\r\n }\r\n }\r\n// Select delivery pressure required\r\n onItemSelect(eve: any, subArr: FormGroup) {\r\n if (isNullOrUndefined(eve)) {\r\n subArr.controls['subdivisionDeliveryPressureOthers'].reset('');\r\n subArr.controls['subdivisionDeliveryPressureOthers'].clearValidators();\r\n subArr.updateValueAndValidity();\r\n this.deliveryPressOthersSubDivision = false;\r\n } else if (eve.itemName === this.constantsSvc.other) {\r\n this.deliveryPressOthersSubDivision = true;\r\n subArr.controls['subdivisionDeliveryPressureOthers'].setValidators([\r\n Validators.required\r\n ]);\r\n } else {\r\n subArr.controls['subdivisionDeliveryPressureOthers'].reset('');\r\n subArr.controls['subdivisionDeliveryPressureOthers'].clearValidators();\r\n subArr.controls[\r\n 'subdivisionDeliveryPressureOthers'\r\n ].updateValueAndValidity();\r\n this.deliveryPressOthersSubDivision = false;\r\n subArr.updateValueAndValidity();\r\n }\r\n subArr.updateValueAndValidity();\r\n }\r\n // select Appliance\r\n onApplianceSelected(item: any, appArr: FormGroup, subArr: FormGroup) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].reset(null);\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n if (item['itemName'].toUpperCase() === this.constantsSvc.other) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultApplianceOther'].setValidators(\r\n Validators.required\r\n );\r\n appArr.controls['defaultValue'].setValidators(\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n );\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else if ((item['itemName'] === this.constantsSvc.poolHeater) || (item['itemName'] === this.constantsSvc.standbyGenerator)) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].setValidators(\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n );\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n } else {\r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n const homeSqFt = subArr.controls['subdivisionApproximateSquareFootage'].value; \r\n const requestType = item.usageType.toUpperCase() ==='RESIDENTIAL' ? 'RES':'COMM';\r\n \r\n const loadValue = this.lookupSvc.wrLoadArmLkp.filter(load => \r\n load.loadTypeCode === item.id && load.resiComm === requestType &&\r\n ((load.minSqFTG === null || load.minSqFTG <= homeSqFt) &&\r\n (load.maxSqFTG === null || load.maxSqFTG >= homeSqFt))\r\n );\r\n\r\n if(loadValue.length > 0)\r\n {\r\n appArr.controls['defaultValue'].setValue(loadValue[0]['itemName']);\r\n }\r\n\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n ]);\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\n fileUpdate(files) {\r\n// formData variable for pushing in file data\r\nconst formData = new FormData();\r\n// variable to store file which already exists with the same name.\r\nconst dupfile = [];\r\n\r\nconst selectedFiles = [];\r\n// Check if the File array length is greater than 0\r\nif (files.length > 0) {\r\n // if any uploaded file in the list of files is empty, Display error and do not upload any files.\r\n for (let i = 0; i < files.length; i++) {\r\n if (files.item(i).size <= 0) {\r\n swal(\r\n this.constantsSvc.errorSwal1,\r\n files.item(i).name + this.constantsSvc.fileUpload,\r\n this.constantsSvc.errorSwal\r\n );\r\n break;\r\n } else if (this.SearchResultsGridView !== undefined && this.SearchResultsGridView.data.length !== 0) {\r\n if (this.SearchResultsGridView.data.some( childData => {\r\n return childData.name === files.item(i).name;\r\n })) {\r\n dupfile.push(files.item(i));\r\n } else if ( !selectedFiles.includes(files.item(i).name) && !dupfile.includes(files.item(i))) {\r\n formData.append(files.item(i).name, files.item(i));\r\n }\r\n } else if ( !selectedFiles.includes(files.item(i).name) ) {\r\n selectedFiles.push(files.item(i).name);\r\n formData.append(files.item(i).name, files.item(i));\r\n }\r\n }\r\n\r\n // If the dupfile array is empty proceed to uploadfile function.\r\n // else display swal alert to the user and if user selects true add the dup file data to the form data and upload.\r\n // else return without any file upload.\r\n if (dupfile !== undefined && dupfile.length > 0) {\r\n const message = this.constantsSvc.dupFileMsg;\r\n const msg = document.createElement('div');\r\n msg.innerHTML = message;\r\n swal({\r\n content: msg,\r\n icon: 'assets/images/icons/icon_94_tumbs-up-green.svg',\r\n buttons: {\r\n cancel: {\r\n text: 'Cancel',\r\n visible: true,\r\n value: false,\r\n closeModal: true\r\n },\r\n confirm: { text: 'Proceed', value: true, closeModal: true }\r\n }\r\n }).then(result => {\r\n if (!result) {\r\n return;\r\n } else {\r\n for (let k = 0; k < dupfile.length; k++) {\r\n formData.append(dupfile[k].name, dupfile[k]);\r\n }\r\n this.UploadFile(formData);\r\n }\r\n });\r\n }\r\n if (formData !== null && !(dupfile.length > 0)) {\r\n this.UploadFile(formData);\r\n }\r\n }\r\nthis.siteplan.nativeElement.value = '';\r\n }\r\n\r\n // File Upload Functionality For subdivision File.\r\n onFileChange(event) {\r\n\r\n// File Array varaiable\r\nconst files: FileList = event.target.files;\r\nif (files.length > 5) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxdocSwal, this.constantsSvc.errorSwal);\r\n} else if (this.SearchResultsGridView !== undefined) {\r\n const count = this.SearchResultsGridView.total + files.length;\r\n if (count > 5) {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxdocSwal, this.constantsSvc.errorSwal);\r\n } else {\r\n this. fileSize(files);\r\n }\r\n} else {\r\n this. fileSize(files);\r\n}\r\n }\r\n\r\n\r\n fileSize(files) {\r\n this.flagSize = false;\r\n for (let i = 0; i < files.length; i++) {\r\n if (files[i].size > 50000000) {\r\n this.flagSize = true;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.maxDocSize, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n if (this.flagSize === false) {\r\n this.filetype(files);\r\n }\r\n }\r\n\r\n filetype(files) {\r\n this.flagExt = false;\r\n const extArr = ['.jpg', '.gif', '.png', '.txt', '.asm', '.doc', '.docx', '.docm', '.dot', '.dotx',\r\n '.dotm', '.jpe', '.jpeg', '.pdf', '.pnz', '.ppt', '.pptm', '.pptx', '.tiff', '.tif', '.xlc', '.xls', '.xlsx', '.xlsm', '.xlt'];\r\n for (let i = 0; i < files.length; i++) {\r\n const ext = files[i].name.substr(files[i].name.indexOf('.'));\r\n if (extArr.indexOf(ext.toLowerCase()) === -1 ) {\r\n this.flagExt = true;\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.wrongExt + ' ' + files[i].name, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n if (this.flagExt === false) {\r\n this.fileUpdate(files);\r\n }\r\n }\r\n\r\n UploadFile(formData: FormData) {\r\n\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.documentInput.BuilderId = builderID;\r\n formData.append('folder', this.documentInput.Folder);\r\n formData.append('builderId', builderID);\r\n const headers = new HttpHeaders({\r\n 'Accept': 'application/json',\r\n Authorization: 'Bearer ' + this.config.webApiToken,\r\n 'x-transaction-id': this.getGuid(),\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache'\r\n });\r\n this.http\r\n .post(\r\n this.config.webApiBaseUrl + 'SubDivisionFiles/Upload?builderId=' + builderID,\r\n formData,\r\n {headers: headers},\r\n ).pipe(\r\n map(res => res as ApiResult))\r\n .subscribe(a => {\r\n if (a.data != null) {\r\n this.items = a.data;\r\n this.StatusSearchResults = this.items;\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.successSwal1, this.constantsSvc.fileUpload1, this.constantsSvc.successSwal);\r\n }\r\n },\r\n err => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.fileUploadFail, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n// Binding data on statechange\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.take = state.take;\r\n this.SearchResultsGridView = process(this.StatusSearchResults, this.state);\r\n }\r\n// For Excel Export\r\n public allData(): ExcelExportData {\r\n return {\r\n data: process(this.StatusSearchResults, {}).data\r\n };\r\n }\r\n// Attachment Selection\r\n selectionChange(ev: any) {\r\n if (ev.selectedRows.length !== 0) {\r\n for (let i = 0; i < ev.selectedRows.length; i++) {\r\n this.AttachmentList.push(ev.selectedRows[i].dataItem.name);\r\n }\r\n } else {\r\n for (let i = 0; i < ev.deselectedRows.length; i++) {\r\n this.AttachmentList.splice(ev.deselectedRows[i].dataItem.name, 1);\r\n }\r\n }\r\n this.rowValue = ev.index;\r\n this.selectedRecord = this.StatusSearchResults[this.rowValue];\r\n }\r\n\r\n public mySelectionKey(context: RowArgs): string {\r\n return context.dataItem.ProductName + ' ' + context.index;\r\n }\r\n // Selecting all files\r\n public onSelectAllChange(checkedState: SelectAllCheckboxState) {\r\n if (checkedState === 'checked') {\r\n this.mySelection = [];\r\n this.mySelection = this.items.map(item => item.name);\r\n this.statevalue = 'checked';\r\n } else {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n }\r\n }\r\n// To refresh grid\r\n refreshGrid() {\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n if (this.wizardSvc.BId !== null && this.wizardSvc.BId !== undefined) {\r\n this.documentFetch();\r\n }\r\n }\r\n\r\n // To Add Premise Details for Residential Premise\r\n addpremiseForSubdivision() {\r\n const formArray = this.form.controls['subDivisionFormArray'];\r\n const panelIndex = formArray.controls.length;\r\n formArray.push(new FormGroup({\r\n panelNumber: new FormControl(panelIndex + 1),\r\n subdivisionApproximateSquareFootage: new FormControl(null, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)]),\r\n subdivisionNumberOfHomes: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n subdivisionApprDistanceFromStreetToUnit: new FormControl(null, [Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)]),\r\n subdivisionDeliveryPressure: new FormControl(null, [Validators.required]),\r\n subdivisionUnitDescription: new FormControl('', [Validators.required]),\r\n subdivisionDevelopmentStreetType: new FormControl(null, [Validators.required]),\r\n subdivisionUtilityEasement: new FormControl(null, [Validators.required]),\r\n subdivisionElectricServiceProvider: new FormControl(null),\r\n subdivisionDeliveryPressureOthers: new FormControl(null),\r\n subdivisionBuildingType: new FormControl(null, [Validators.required]),\r\n appliancesForSubdivision: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(false)\r\n }\r\n\r\n )]\r\n ),\r\n subdivisonNeedingServiceDate: new FormControl(null, [Validators.pattern(this.constantsSvc.dateValidator)]),\r\n subdivisonStreetCurbsInstalledDate: new FormControl(null, [Validators.pattern(this.constantsSvc.dateValidator)])\r\n })\r\n );\r\n }\r\n\r\n// Delete files\r\n deleteFiles() {\r\n if (this.AttachmentList.length !== 0) {\r\n this.deleteFilesSubscription = this.wizardSvc.deleteFiles(this.wizardSvc.BId, this.AttachmentList).subscribe(result => {\r\n if (result.data != null) {\r\n (this.items = result.data), (this.StatusSearchResults = this.items);\r\n this.SearchResultsGridView = process(\r\n this.StatusSearchResults,\r\n this.state\r\n );\r\n this.mySelection = [];\r\n this.statevalue = 'unchecked';\r\n this.AttachmentList = [];\r\n }\r\n });\r\n } else {\r\n swal (this.constantsSvc.errorSwal1, this.constantsSvc.emptyListSwal, this.constantsSvc.errorSwal);\r\n }\r\n }\r\n\r\n /// This method is copied from Soco http Service to create GUid for adding to the header to normal http post.\r\n /// Instead of using the Soco Http post which does not support file upload.\r\n private getGuid(): string {\r\n const hexlist = '0123456789abcdef';\r\n const b64list =\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\r\n\r\n function guidToBase64(\r\n guid: string,\r\n shouldUseLittleEndian: boolean\r\n ): string {\r\n let parsedGuid = guid.replace(/[^0-9a-f]/gi, '').toLowerCase();\r\n if (parsedGuid.length !== 32) {\r\n return '';\r\n }\r\n\r\n if (shouldUseLittleEndian) {\r\n parsedGuid =\r\n parsedGuid.slice(6, 8) +\r\n parsedGuid.slice(4, 6) +\r\n parsedGuid.slice(2, 4) +\r\n parsedGuid.slice(0, 2) +\r\n parsedGuid.slice(10, 12) +\r\n parsedGuid.slice(8, 10) +\r\n parsedGuid.slice(14, 16) +\r\n parsedGuid.slice(12, 14) +\r\n parsedGuid.slice(16);\r\n }\r\n parsedGuid += '0';\r\n\r\n let result = '';\r\n let i = 0;\r\n let a: any, p: any, q: any;\r\n while (i < 33) {\r\n a =\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 8) |\r\n (hexlist.indexOf(parsedGuid.charAt(i++)) << 4) |\r\n hexlist.indexOf(parsedGuid.charAt(i++));\r\n\r\n p = a >> 6;\r\n q = a & 63;\r\n\r\n result += b64list.charAt(p) + b64list.charAt(q);\r\n }\r\n result += '==';\r\n\r\n return result;\r\n }\r\n\r\n // generate a guid\r\n const guid = v4();\r\n\r\n // base-64 encode the guid using Little-endian\r\n const b64encoded = guidToBase64(guid, true);\r\n\r\n // return the 22 character guid\r\n return b64encoded\r\n .replace('/', '_')\r\n .replace('+', '-')\r\n .substring(0, 22);\r\n }\r\n}\r\n","export default \".k-grid-header .k-header {\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.residential-banner {\\r\\n background-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\n background-repeat: no-repeat;\\r\\n background-size: cover;\\r\\n background-position: center;\\r\\n height: 180px;\\r\\n position: relative;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.k-grid-pdf {\\r\\n background-color: #f44336 !important;\\r\\n border-color: #f44336 !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n}\\r\\n\\r\\n.k-grid-excel {\\r\\n background-color: #66bb6a !important;\\r\\n border-color: #66bb6a !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 768px) {\\r\\n /*.k-button\\r\\n {\\r\\n .btn\\r\\n width: 150px !important;\\r\\n top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n\\r\\n }*/\\r\\n .btn {\\r\\n width: 180px !important;\\r\\n top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n }\\r\\n\\r\\n .k-grid-toolbar .k-button + .k-button {\\r\\n margin-left: 0px !important;\\r\\n top: 2px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width:961px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right: 40px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\r\\n .k-grid-excel {\\r\\n background-color: #66bb6a !important;\\r\\n border-color: #66bb6a !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n padding: 1px;\\r\\n width: 130px;\\r\\n }\\r\\n\\r\\n .k-grid-pdf {\\r\\n background-color: #f44336 !important;\\r\\n border-color: #f44336 !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n padding: 1px;\\r\\n width: 130px;\\r\\n }\\r\\n}\\r\\n\\r\\n.dateLot {\\r\\n margin-bottom: -10px;\\r\\n margin-top: -20px;\\r\\n}\\r\\n\\r\\n#lotBox {\\r\\n font-size: 12px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 765px) {\\r\\n .k-filter-row td, .k-filter-row th {\\r\\n padding: 0px !important;\\r\\n }\\r\\n\\r\\n .k-grid th, .k-grid td {\\r\\n padding: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n.mobileTable {\\r\\n padding-left: 10px;\\r\\n word-wrap: break-word;\\r\\n}\\r\\n\\r\\ndl {\\r\\n border-bottom: #1d1b1b solid 2px !important;\\r\\n margin-bottom: -8px !important;\\r\\n margin-left: -11.6px !important;\\r\\n margin-right: -11.6px !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 320px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right: 10px !important;\\r\\n }\\r\\n\\r\\n .k-button {\\r\\n font-size: 11px;\\r\\n width: 100px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 480px) and (max-width: 768px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right: 10px !important;\\r\\n }\\r\\n\\r\\n .k-button {\\r\\n font-size: 12px;\\r\\n width: 120px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) and (max-width: 1024px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right: 100px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1025px) and (max-width: 1200px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right: 25px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1200px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right: 50px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n .k-button {\\r\\n width: 126px !important;\\r\\n top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) {\\r\\n .k-button {\\r\\n width: 135px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.k-button {\\r\\n width: 126px !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 378px) and (min-width: 361px) {\\r\\n\\r\\n .k-button{\\r\\n width: 120px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 321px) {\\r\\n .k-button {\\r\\n width: 90px !important;\\r\\n font-size: 8px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 321px) and (max-width: 361px) {\\r\\n .k-button {\\r\\n width: 100px !important;\\r\\n font-size: 10px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 768px) {\\r\\n\\r\\n .k-grid-header .k-header:first-child {\\r\\n border-left-width: 0;\\r\\n padding: 0px;\\r\\n }\\r\\n\\r\\n .k-grid .k-filter-row td {\\r\\n white-space: nowrap;\\r\\n padding: 0px;\\r\\n }\\r\\n\\r\\n .k-grid-header .k-header:first-child {\\r\\n border-left-width: 0;\\r\\n padding: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width:319px) and (max-width: 767px) {\\r\\n :host ::ng-deep tr.k-filter-row {\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n :host ::ng-deep th.k-header {\\r\\n display: none !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.panel-title {\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n#titleLotDetails {\\r\\n margin-top: 12px;\\r\\n background: #2196f3;\\r\\n padding: 6px;\\r\\n padding-left:15px;\\r\\n margin-left: 20px;\\r\\n margin-right: 10px;\\r\\n margin-bottom: -10px;\\r\\n}\\r\\n\\r\\n#titleBuilderReq {\\r\\n background: #2196f3;\\r\\n padding: 6px;\\r\\n padding-left: 15px;\\r\\n margin-top: 10px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1024px) {\\r\\n\\r\\n #totalCountPanel{\\r\\n margin-top:10px;\\r\\n\\r\\n }\\r\\n}\\r\\n\\r\\n#navbutton{\\r\\n\\r\\n margin-left:13px;\\r\\n margin-top:-25px;\\r\\n\\r\\n}\\r\\n\\r\\n.navText{\\r\\n margin-top:30px;\\r\\n margin-left:-19px;\\r\\n}\\r\\n\\r\\n#countBox{\\r\\nwidth: 26px;\\r\\nheight: 26px;\\r\\nfont-size: 14px;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 1025px) {\\r\\n\\r\\n #totalCountPanel {\\r\\n margin-top: -49px;\\r\\n }\\r\\n}\\r\\n\\r\\n#buttonRow{\\r\\n margin-left:23px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC1sb3QvcmVxdWVzdC1sb3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLDREQUE0RDtFQUM1RCw0QkFBNEI7RUFDNUIsc0JBQXNCO0VBQ3RCLDJCQUEyQjtFQUMzQixhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxnQ0FBZ0M7RUFDaEMsc0JBQXNCO0VBQ3RCLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxnQ0FBZ0M7RUFDaEMsc0JBQXNCO0VBQ3RCLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFOzs7Ozs7O0lBT0U7RUFDRjtJQUNFLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsNkJBQTZCO0VBQy9COztFQUVBO0lBQ0UsMkJBQTJCO0lBQzNCLG1CQUFtQjtFQUNyQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxzQkFBc0I7RUFDeEI7QUFDRjs7QUFHQTtFQUNFO0lBQ0Usb0NBQW9DO0lBQ3BDLGdDQUFnQztJQUNoQyxzQkFBc0I7SUFDdEIsaUNBQWlDO0lBQ2pDLFlBQVk7SUFDWixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxvQ0FBb0M7SUFDcEMsZ0NBQWdDO0lBQ2hDLHNCQUFzQjtJQUN0QixpQ0FBaUM7SUFDakMsWUFBWTtJQUNaLFlBQVk7RUFDZDtBQUNGOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRTtJQUNFLHVCQUF1QjtFQUN6Qjs7RUFFQTtJQUNFLFlBQVk7RUFDZDtBQUNGOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLDJDQUEyQztFQUMzQyw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLGdDQUFnQztBQUNsQzs7QUFHQTtFQUNFO0lBQ0Usc0JBQXNCO0VBQ3hCOztFQUVBO0lBQ0UsZUFBZTtJQUNmLHVCQUF1QjtFQUN6QjtBQUNGOztBQUdBO0VBQ0U7SUFDRSxzQkFBc0I7RUFDeEI7O0VBRUE7SUFDRSxlQUFlO0lBQ2YsdUJBQXVCO0VBQ3pCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLHVCQUF1QjtFQUN6QjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxzQkFBc0I7RUFDeEI7QUFDRjs7QUFFQTtFQUNFO0lBQ0Usc0JBQXNCO0VBQ3hCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsNkJBQTZCO0VBQy9COztBQUVGOztBQUVBO0VBQ0U7SUFDRSx1QkFBdUI7RUFDekI7QUFDRjs7QUFFQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQTs7RUFFRTtJQUNFLHVCQUF1QjtFQUN6QjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxzQkFBc0I7SUFDdEIsY0FBYztFQUNoQjtBQUNGOztBQUdBO0VBQ0U7SUFDRSx1QkFBdUI7SUFDdkIsZUFBZTtFQUNqQjtBQUNGOztBQUdBOztFQUVFO0lBQ0Usb0JBQW9CO0lBQ3BCLFlBQVk7RUFDZDs7RUFFQTtJQUNFLG1CQUFtQjtJQUNuQixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxvQkFBb0I7SUFDcEIsWUFBWTtFQUNkO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLHdCQUF3QjtFQUMxQjs7RUFFQTtJQUNFLHdCQUF3QjtFQUMxQjtBQUNGOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBQUNyQjs7QUFFQTs7RUFFRTtJQUNFLGVBQWU7O0VBRWpCO0FBQ0Y7O0FBRUE7O0VBRUUsZ0JBQWdCO0VBQ2hCLGdCQUFnQjs7QUFFbEI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25COztBQUdBO0FBQ0EsV0FBVztBQUNYLFlBQVk7QUFDWixlQUFlO0FBQ2Y7O0FBRUE7O0VBRUU7SUFDRSxpQkFBaUI7RUFDbkI7QUFDRjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3JlcXVlc3QtbG90L3JlcXVlc3QtbG90LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuay1ncmlkLWhlYWRlciAuay1oZWFkZXIge1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuXHJcbi5yZXNpZGVudGlhbC1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvbG9jYXRpb24uanBnXCIpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAxODBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmstZ3JpZC1wZGYge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzYgIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICNmNDQzMzYgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmstZ3JpZC1leGNlbCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2YmI2YSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogIzY2YmI2YSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgLyouay1idXR0b25cclxuICB7XHJcbiAgLmJ0blxyXG4gICAgd2lkdGg6IDE1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gIH0qL1xyXG4gIC5idG4ge1xyXG4gICAgd2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuay1ncmlkLXRvb2xiYXIgLmstYnV0dG9uICsgLmstYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICAgIHRvcDogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTYxcHgpIHtcclxuICAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgIHJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcclxuICAuay1ncmlkLWV4Y2VsIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NmJiNmEgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogIzY2YmI2YSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDFweDtcclxuICAgIHdpZHRoOiAxMzBweDtcclxuICB9XHJcblxyXG4gIC5rLWdyaWQtcGRmIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzYgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDFweDtcclxuICAgIHdpZHRoOiAxMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi5kYXRlTG90IHtcclxuICBtYXJnaW4tYm90dG9tOiAtMTBweDtcclxuICBtYXJnaW4tdG9wOiAtMjBweDtcclxufVxyXG5cclxuI2xvdEJveCB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2NXB4KSB7XHJcbiAgLmstZmlsdGVyLXJvdyB0ZCwgLmstZmlsdGVyLXJvdyB0aCB7XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5rLWdyaWQgdGgsIC5rLWdyaWQgdGQge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm1vYmlsZVRhYmxlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG59XHJcblxyXG5kbCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogIzFkMWIxYiBzb2xpZCAycHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAtOHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xMS42cHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tcmlnaHQ6IC0xMS42cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcclxuICAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgIHJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuay1idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgLnRvb2xiYXItaGVhZHItYnRuLWFsaWdubWVudCB7XHJcbiAgICByaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmstYnV0dG9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xyXG4gIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6IDI1cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgLnRvb2xiYXItaGVhZHItYnRuLWFsaWdubWVudCB7XHJcbiAgICByaWdodDogNTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5rLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTI2cHggIWltcG9ydGFudDtcclxuICAgIHRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgLmstYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMzVweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmstYnV0dG9uIHtcclxuICB3aWR0aDogMTI2cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzhweCkgYW5kIChtaW4td2lkdGg6IDM2MXB4KSB7XHJcblxyXG4gIC5rLWJ1dHRvbntcclxuICAgIHdpZHRoOiAxMjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjFweCkge1xyXG4gIC5rLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiA4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjFweCkgYW5kIChtYXgtd2lkdGg6IDM2MXB4KSB7XHJcbiAgLmstYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyOmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gIH1cclxuXHJcbiAgLmstZ3JpZCAuay1maWx0ZXItcm93IHRkIHtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgfVxyXG5cclxuICAuay1ncmlkLWhlYWRlciAuay1oZWFkZXI6Zmlyc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MzE5cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIDpob3N0IDo6bmctZGVlcCB0ci5rLWZpbHRlci1yb3cge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgOmhvc3QgOjpuZy1kZWVwIHRoLmstaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbC10aXRsZSB7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiN0aXRsZUxvdERldGFpbHMge1xyXG4gIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgYmFja2dyb3VuZDogIzIxOTZmMztcclxuICBwYWRkaW5nOiA2cHg7XHJcbiAgcGFkZGluZy1sZWZ0OjE1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IC0xMHB4O1xyXG59XHJcblxyXG4jdGl0bGVCdWlsZGVyUmVxIHtcclxuICBiYWNrZ3JvdW5kOiAjMjE5NmYzO1xyXG4gIHBhZGRpbmc6IDZweDtcclxuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG5cclxuICAjdG90YWxDb3VudFBhbmVse1xyXG4gICAgbWFyZ2luLXRvcDoxMHB4O1xyXG5cclxuICB9XHJcbn1cclxuXHJcbiNuYXZidXR0b257XHJcblxyXG4gIG1hcmdpbi1sZWZ0OjEzcHg7XHJcbiAgbWFyZ2luLXRvcDotMjVweDtcclxuXHJcbn1cclxuXHJcbi5uYXZUZXh0e1xyXG4gIG1hcmdpbi10b3A6MzBweDtcclxuICBtYXJnaW4tbGVmdDotMTlweDtcclxufVxyXG5cclxuXHJcbiNjb3VudEJveHtcclxud2lkdGg6IDI2cHg7XHJcbmhlaWdodDogMjZweDtcclxuZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xyXG5cclxuICAjdG90YWxDb3VudFBhbmVsIHtcclxuICAgIG1hcmdpbi10b3A6IC00OXB4O1xyXG4gIH1cclxufVxyXG5cclxuI2J1dHRvblJvd3tcclxuICBtYXJnaW4tbGVmdDoyM3B4O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { DataStateChangeEvent, GridDataResult, SelectAllCheckboxState, RowArgs, PageChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SessionService, AccountService, LotStatusEnum, ConstantsService } from '@app/base/core';\r\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { focusFirstInvalidField, triggerFormValidation } from '@app/shared/functions';\r\nimport { RequestLot } from '@app/base/core/models/app/request.lot.model';\r\nimport { RequestServiceModel } from '@app/base/core/models/app/request.service.model';\r\nimport { RequestServiceModelView } from '@app/base/core/models/app/request.service.model.view';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\ninterface SubName {\r\n id: string;\r\n itemName: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-request-lot',\r\n templateUrl: './request-lot.component.html',\r\n styleUrls: ['./request-lot.component.css']\r\n})\r\nexport class RequestLotComponent implements OnInit {\r\n\r\n\r\n public SearchResultsGridView: GridDataResult;\r\n public DuplicateRecordsGrid: GridDataResult;\r\n companyForm: FormGroup;\r\n GridId: number;\r\n defaultSkip = 0;\r\n defaultSkip2 = 0;\r\n public projectNumber;\r\n public insDate: any;\r\n defaultItemsPerPage = 5;\r\n defaultItemsPerPage2 = 5;\r\n data: string;\r\n\r\n allocatedLot = 0;\r\n noOfLots = 0;\r\n totalAllocatedLots = 5;\r\n\r\n public skip = 0;\r\n public skip2 = 0;\r\n public pageSize = 5;\r\n public pageSize2 = 5;\r\n\r\n userName: string;\r\n builderId: string;\r\n companyName: string;\r\n subList: SubName[];\r\n refreshPageFlag = false;\r\n public selectedLots = 0;\r\n public allocationButton = true;\r\n\r\n router: Router;\r\n\r\n public pageSizes = true;\r\n public navFlag;\r\n public previousNext = true;\r\n public buttonCount = 5;\r\n public routeParamFlag;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n\r\n requestLotsForm: FormGroup;\r\n public checkedLots: RequestServiceModelView[];\r\n public newRecordLot: RequestServiceModel[];\r\n public lotdetails: RequestServiceModelView[] = [];\r\n requestLots: RequestLot = new RequestLot();\r\n public routeSubscription: any;\r\n public CompanyBuilder = new Map();\r\n\r\n public selectAllState: SelectAllCheckboxState = 'unchecked';\r\n\r\n public mySelection: any[] = [];\r\n public lotOriginal: number[] = [];\r\n public originalLotList: number[] = [];\r\n public originalLotGrid: RequestServiceModelView[] = [];\r\n public duplicateLotGrid: RequestServiceModelView[] = [];\r\n public idList: number[] = [];\r\n public lotOriginalCount: string[] = [];\r\n public builderIdList: string[] = [];\r\n public companyList: string[] = [];\r\n public result: ExcelExportData;\r\n public result2: ExcelExportData;\r\n\r\n\r\n public listItems: Array<{ text: string; value: string }> = [\r\n { text: 'Requested Allocation', value: 'RA' },\r\n { text: 'Unallocated', value: 'RNL' },\r\n { text: 'Unallocated', value: 'NLA' },\r\n { text: 'Unallocated', value: 'NLD' },\r\n { text: 'Allocated', value: 'AA' },\r\n { text: 'Allocation Denied', value: 'AD' },\r\n { text: 'Allocated', value: 'SR' },\r\n { text: 'Allocated', value: 'SA' },\r\n { text: 'Allocated', value: 'SD' },\r\n { text: 'Allocated', value: 'ACR' },\r\n { text: 'Allocated', value: 'ACA' },\r\n { text: 'Allocated', value: 'ACD' },\r\n { text: 'Allocated', value: 'DR' },\r\n { text: 'Allocated', value: 'DA' },\r\n { text: 'Allocated', value: 'DD' },\r\n { text: 'ReAllocated', value: 'REA' }\r\n ];\r\n\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: this.defaultItemsPerPage,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n\r\n public state2: State = {\r\n skip: this.defaultSkip2,\r\n take: this.defaultItemsPerPage2,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n\r\n public selectableSettings = {\r\n checkboxOnly: true,\r\n mode: 'multiple'\r\n };\r\n public options: any = {\r\n locale: { format: 'MM/DD/YYYY' },\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: false,\r\n showDropdowns: true,\r\n minYear: 1901,\r\n };\r\n\r\n\r\n public mySelectionKey(context: RowArgs) {\r\n this.data = context.dataItem.lotStatus;\r\n return context.dataItem;\r\n\r\n }\r\n\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.SearchResultsGridView = process(this.originalLotGrid, this.state);\r\n\r\n }\r\n\r\n public dataStateChange2(state: DataStateChangeEvent): void {\r\n this.state2 = state;\r\n this.DuplicateRecordsGrid = process(this.duplicateLotGrid, this.state2);\r\n\r\n }\r\n\r\n\r\n constructor(private fb: FormBuilder, public sessionSvc: SessionService,\r\n private socoHttp: SocoHttpService, private builderSvc: BuilderService,\r\n public route: ActivatedRoute,\r\n private accountSvc: AccountService, _router: Router,\r\n public constSvc: ConstantsService,\r\n public datepipe: DatePipe\r\n ) {\r\n this.router = _router;\r\n this.userName = this.accountSvc.account.user.username;\r\n // getting builder info\r\n const subscription = this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n this.builderId = result.data.id;\r\n this.companyName = result.data.companyName;\r\n this.getLots();\r\n });\r\n this.allData = this.allData.bind(this);\r\n this.allData2 = this.allData2.bind(this);\r\n }\r\n\r\n // getting lots: begin flow\r\n getLots() {\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n if (params['id']) {\r\n this.GridId = (params['id']);\r\n }\r\n if (params['navFlag']) {\r\n this.routeParamFlag = (params['navFlag']);\r\n }\r\n });\r\n\r\n if (this.refreshPageFlag) {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n }\r\n\r\n const subscription = this.builderSvc.GetLots(this.GridId, this.builderId).subscribe(result => {\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n this.lotdetails = result.data;\r\n this.lotdetails.forEach(item => { item.builderCName = this.companyName; });\r\n this.lotdetails.forEach(item => {\r\n if (item.installedDTTM !== null) {\r\n item.installedDTTM = new Date(item.installedDTTM.toString());\r\n }\r\n });\r\n this.lotdetails.forEach(item => {\r\n if (item.recUpdateDttm !== null) {\r\n item.recUpdateDttm = this.datepipe.transform(item.recUpdateDttm, 'dd-MMM-yy HH:mm:ss');\r\n }\r\n });\r\n this.getBuilderNames();\r\n },\r\n (error) => {\r\n // swal(this.constSvc.errorSwal1, this.constSvc.getLotsFailsSwal, this.constSvc.errorSwal);\r\n });\r\n }\r\n\r\n // getting Builder Names\r\n getBuilderNames() {\r\n let ld: any;\r\n\r\n for (ld in this.lotdetails) {\r\n\r\n if (!this.builderIdList.find(x => x === this.lotdetails[ld].builderId)) {\r\n this.builderIdList.push(this.lotdetails[ld].builderId);\r\n }\r\n\r\n }\r\n const subscription = this.builderSvc.getSubsidiaryInfo(this.builderIdList).subscribe(result => {\r\n if (subscription) {\r\n subscription.unsubscribe();\r\n }\r\n for (const rs in result.data) {\r\n this.lotOriginalCount.push(result.data[rs].id);\r\n this.CompanyBuilder.set(this.lotOriginalCount[rs], result.data[rs].companyName);\r\n }\r\n this.getOriginalLotBD();\r\n },\r\n (error) => {\r\n // swal(this.constSvc.errorSwal1, this.constSvc.subsidiaryDetailsFailSwal, this.constSvc.errorSwal);\r\n });\r\n }\r\n\r\n\r\n // allocated to and requested by logic\r\n getOriginalLotBD() {\r\n let rs: any;\r\n\r\n for (rs in this.lotdetails) {\r\n\r\n if (!this.lotOriginal.find(x => x === this.lotdetails[rs].lotNumber)) {\r\n\r\n if (!(this.idList.includes(this.lotdetails[rs].id))) {\r\n this.idList.push(this.lotdetails[rs].id);\r\n }\r\n\r\n this.lotOriginal.push(this.lotdetails[rs].lotNumber);\r\n let js: any;\r\n\r\n for (js in this.lotdetails) {\r\n\r\n if (this.lotdetails[js].lotNumber === this.lotdetails[rs].lotNumber && (this.lotdetails[js].lotStatus !== 'RA' &&\r\n this.lotdetails[js].lotStatus !== 'REA' && this.lotdetails[js].lotStatus !== 'AD')\r\n && this.lotdetails[js].id !== this.lotdetails[rs].id) {\r\n\r\n this.lotdetails[rs].originalBd = this.lotdetails[js].builderId;\r\n this.lotdetails[rs].originalCName = this.CompanyBuilder.get(this.lotdetails[js].builderId);\r\n }\r\n }\r\n\r\n }\r\n }\r\n this.getCheckBoxStatus();\r\n }\r\n\r\n // checkbox disabling logiC\r\n getCheckBoxStatus() {\r\n let rs: any;\r\n let js: any;\r\n let p: any;\r\n\r\n for (rs in this.lotdetails) {\r\n\r\n if (this.idList.includes(this.lotdetails[rs].id)) {\r\n p = this.lotdetails[rs].lotNumber;\r\n\r\n for (js in this.lotdetails) {\r\n if (this.lotdetails[js].lotNumber === p &&\r\n this.lotdetails[js].id !== this.lotdetails[rs].id) {\r\n\r\n if (this.lotdetails[js].lotStatus === 'RA' && this.lotdetails[js].builderId === this.builderId) {\r\n this.lotdetails[rs].checked = false;\r\n break;\r\n } else {\r\n if ((this.lotdetails[js].lotStatus === 'REA' || this.lotdetails[js].lotStatus === 'AD') &&\r\n this.lotdetails[js].builderId === this.builderId) {\r\n this.lotdetails[rs].checked = true;\r\n } else if (this.lotdetails[js].builderId === this.builderId) {\r\n this.lotdetails[rs].checked = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.getStatusDesc();\r\n }\r\n\r\n // status cd to status\r\n getStatusDesc() {\r\n let rs: any;\r\n for (rs in this.lotdetails) {\r\n\r\n this.lotdetails[rs].statusDesc = this.listItems.find(x => x.value === this.lotdetails[rs].lotStatus).text;\r\n\r\n // counts\r\n\r\n if (this.lotdetails[rs].originalBd === this.builderId) {\r\n this.allocatedLot += 1;\r\n }\r\n\r\n if (this.lotdetails[rs].lotStatus === LotStatusEnum.NLA || this.lotdetails[rs].originalCName != null) {\r\n this.noOfLots += 1;\r\n }\r\n\r\n if (this.lotdetails[rs].originalBd != null) {\r\n this.totalAllocatedLots += 1;\r\n }\r\n }\r\n this.removeDuplicate();\r\n }\r\n\r\n // remove duplicate and already allocated lots\r\n removeDuplicate() {\r\n let rs: any;\r\n let js: any;\r\n for (rs in this.lotdetails) {\r\n\r\n if (!this.originalLotList.find(x => x === this.lotdetails[rs].lotNumber)) {\r\n this.originalLotList.push(this.lotdetails[rs].lotNumber);\r\n\r\n if (this.lotdetails[rs].originalBd !== this.builderId) {\r\n\r\n for (js in this.lotdetails) {\r\n\r\n if (this.lotdetails[js].lotNumber === this.lotdetails[rs].lotNumber &&\r\n this.lotdetails[js].id !== this.lotdetails[rs].id && this.lotdetails[js].statusDesc === this.constSvc.Allocated) {\r\n this.lotdetails.splice(js, 1);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (this.noOfLots === this.allocatedLot) {\r\n this.allocationButton = false;\r\n }\r\n this.divideData();\r\n }\r\n\r\n // divide data into two grids\r\n divideData() {\r\n let rs: any;\r\n let js: any;\r\n /* tslint:disable */\r\n // for (js in this.lotdetails) {\r\n // if (this.idList.includes(this.lotdetails[js].id)/* && this.lotdetails[js].checked === false*/) {\r\n // this.lotdetails.splice(js, 1);\r\n // }\r\n // }\r\n\r\n for (rs in this.lotdetails) {\r\n if (this.idList.includes(this.lotdetails[rs].id)) {\r\n this.originalLotGrid.push(this.lotdetails[rs]);\r\n }\r\n // else {\r\n // this.duplicateLotGrid.push(this.lotdetails[rs]);\r\n // }\r\n }\r\n\r\n for (js in this.originalLotGrid) {\r\n if (this.originalLotGrid[js].lotStatus === 'SA' || this.originalLotGrid[js].lotStatus === 'ACR' ||\r\n this.originalLotGrid[js].lotStatus === 'ACA' || this.originalLotGrid[js].lotStatus === 'ACD' ||\r\n this.originalLotGrid[js].lotStatus === 'DR' || this.originalLotGrid[js].lotStatus === 'DA' ||\r\n this.originalLotGrid[js].lotStatus === 'DD') {\r\n this.originalLotGrid[js].checked = false;\r\n }\r\n }\r\n\r\n this.loadItems();\r\n }\r\n\r\n\r\n // selection of items in grid\r\n selectedKeysChange(e) {\r\n\r\n this.selectedLots = e.length;\r\n this.checkedLots = e;\r\n\r\n }\r\n\r\n public pageChange(event: PageChangeEvent): void {\r\n this.skip = event.skip;\r\n }\r\n\r\n public pageChange2(event: PageChangeEvent): void {\r\n this.skip2 = event.skip;\r\n }\r\n\r\n // loading grid\r\n private loadItems(): void {\r\n\r\n this.SearchResultsGridView = {\r\n data: this.originalLotGrid.slice(this.skip, this.skip + this.pageSize),\r\n total: this.originalLotGrid.length\r\n };\r\n\r\n this.DuplicateRecordsGrid = {\r\n data: this.duplicateLotGrid.slice(this.skip2, this.skip2 + this.pageSize2),\r\n total: this.duplicateLotGrid.length\r\n };\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n\r\n }\r\n\r\n // ngOninit\r\n ngOnInit() {\r\n this.companyForm = new FormGroup({\r\n subsidaryCompany: new FormControl(\r\n null,\r\n [Validators.required]\r\n )\r\n });\r\n this.sessionSvc.builderData.subscribe(result => {\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n this.builderId = result.BuilderId[0];\r\n this.subList = [];\r\n console.log(this.builderId);\r\n this.subList.push({ id: this.builderId, itemName: result.CompanyName });\r\n for ( const i of result.BuilderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: String(i.subsidiaryId), itemName: i.subsidiaryName.toString()});\r\n console.log(this.subList);\r\n }\r\n }\r\n } else {\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined && result.data.length !== 0) {\r\n this.builderId = result.data.id;\r\n this.subList = [];\r\n this.subList.push({ id: this.builderId, itemName: this.accountSvc.account.user.company });\r\n for ( const i of result.data.builderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: String(i.subsidiaryId), itemName: i.subsidiaryName.toString() });\r\n console.log(this.subList);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n }\r\n }\r\n }\r\n });\r\n }\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n });\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n\r\n window.scroll(0, 100);\r\n this.SearchResultsGridView = process(this.originalLotGrid, this.state);\r\n this.DuplicateRecordsGrid = process(this.duplicateLotGrid, this.state2);\r\n\r\n\r\n this.requestLotsForm = this.fb.group(\r\n {\r\n 'installationDate': ['', Validators.required]\r\n });\r\n }\r\n\r\n\r\n // code to export grid data to excel\r\n public allData(): ExcelExportData {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.result = {\r\n data: process(this.originalLotGrid, { filter: this.state.filter }).data\r\n };\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n return this.result;\r\n }\r\n public allData2(): ExcelExportData {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.result2 = {\r\n data: process(this.duplicateLotGrid, { filter: this.state2.filter }).data\r\n };\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n return this.result2;\r\n }\r\n\r\n // getting installation date\r\n get installationDate() {\r\n return this.requestLotsForm.get('installationDate');\r\n }\r\n\r\n // export to excel and pdf disable LOT GRID\r\n checkExportLot(): boolean {\r\n if (this.originalLotGrid.length === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // export to excel and pdf disable REQUEST GRID\r\n checkExportReq(): boolean {\r\n if (this.duplicateLotGrid.length === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n\r\n // selection of lots for allocation\r\n selectedLot() {\r\n if(this.companyForm.valid) {\r\n if (this.selectedLots <= 0) {\r\n // swal(this.constSvc.lotAllocationSwal3, this.constSvc.selectAllocation, this.constSvc.errorSwal);\r\n } else {\r\n this.requestLots.installationDate = new Date(this.installationDate.value);\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.createLots();\r\n }\r\n } else {\r\n triggerFormValidation(this.companyForm);\r\n focusFirstInvalidField(this.companyForm);\r\n }\r\n }\r\n\r\n // lot creation logic\r\n\r\n createLots() {\r\n let j: any;\r\n this.newRecordLot = this.checkedLots;\r\n\r\n for (j in this.newRecordLot) {\r\n this.newRecordLot[j].id = undefined;\r\n this.newRecordLot[j].lotStatus = LotStatusEnum.RA;\r\n this.newRecordLot[j].builderId = this.companyForm.controls['subsidaryCompany'].value['id'];\r\n this.newRecordLot[j].builderCName = this.companyForm.controls['subsidaryCompany'].value['itemName'];\r\n this.newRecordLot[j].installedDTTM = this.requestLots.installationDate;\r\n this.newRecordLot[j].recCreateDttm = this.datepipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constSvc.TimeZone);\r\n this.newRecordLot[j].recCreateUsrId = this.accountSvc.account.user.username;\r\n this.newRecordLot[j].recUpdateDttm = this.datepipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constSvc.TimeZone);\r\n this.newRecordLot[j].recUpdateUsrId = this.accountSvc.account.user.username;\r\n this.newRecordLot[j].lotStatusUpdatedBy = this.accountSvc.account.user.username;\r\n this.newRecordLot[j].lotStatusUpdatedDate = this.datepipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constSvc.TimeZone);\r\n }\r\n\r\n this.builderSvc.PostCreateLots(this.newRecordLot).subscribe(result => {\r\n\r\n\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n // swal(this.constSvc.lotAllocationSwal1, this.constSvc.lotAllocationSwal2, this.constSvc.successSwal);\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n // swal(this.constSvc.lotAllocationSwal1, this.constSvc.lotAllocationSwal3, this.constSvc.errorSwal);\r\n }\r\n\r\n this.refreshPage();\r\n },\r\n (error) => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n // swal(this.constSvc.lotCreationReqSwal, this.constSvc.lotCreationFailSwal, this.constSvc.errorSwal);\r\n });\r\n }\r\n\r\n // new lot page Back button logic\r\n routeFlag() {\r\n this.navFlag = 'blr-rl';\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n this.router.navigate([str + '/' + 'lot/new/' + this.GridId + '/' + this.builderId + '/' + this.navFlag]);\r\n }\r\n\r\n // Request lot back button logic\r\n goToPrevious() {\r\n const a = this.routeParamFlag;\r\n\r\n if (a === 'l-blr') {\r\n this.builderSvc.individualServiceClicked = true;\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n this.router.navigate([str + '/' + 'request/new/location']);\r\n } else if (a === 's-blr' || a === 'blr-rl') {\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n this.router.navigate([str + '/' + 'request/' + this.GridId +\r\n '/' + 'service']);\r\n }\r\n }\r\n\r\n // refreshing grid post submission of request\r\n refreshPage() {\r\n this.refreshPageFlag = true;\r\n this.mySelection = [];\r\n this.selectedLots = 0;\r\n this.newRecordLot = null;\r\n this.checkedLots = null;\r\n this.noOfLots = 0;\r\n this.allocatedLot = 0;\r\n this.totalAllocatedLots = 0;\r\n this.lotOriginal = [];\r\n this.originalLotList = [];\r\n this.builderIdList = [];\r\n this.companyList = [];\r\n this.originalLotGrid = [];\r\n this.duplicateLotGrid = [];\r\n this.idList = [];\r\n this.lotOriginalCount = [];\r\n this.getLots();\r\n }\r\n navigateHome() {\r\n this.sessionSvc.GetBcaData(null);\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n}\r\n\r\n\r\n\r\n","export default \"\\r\\nlegend {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n margin-bottom: 20px;\\r\\n line-height: inherit;\\r\\n padding-left: 18px !important;\\r\\n padding-top: 10px !important;\\r\\n color: #333333;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #d8d8d8;\\r\\n text-transform: none !important;\\r\\n}\\r\\n\\r\\n.panel-title {\\r\\n color: black !important;\\r\\n margin-top: -20px !important;\\r\\n}\\r\\n\\r\\n.k-grid-header .k-header {\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.k-grid-pdf {\\r\\n background-color: #f44336!important;\\r\\n border-color: #f44336!important;\\r\\n color: #fff!important;\\r\\n background-image: none!important;\\r\\n}\\r\\n\\r\\n.k-grid-excel {\\r\\n background-color: #66bb6a!important;\\r\\n border-color: #66bb6a!important;\\r\\n color: #fff!important;\\r\\n background-image: none!important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-picker-wrap .k-input{\\r\\n min-width: 90px !important;\\r\\n text-indent: 3px !important;\\r\\n font-size: 12px !important;\\r\\n}\\r\\n\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) {\\r\\n :host ::ng-deep .k-datepicker .k-picker-wrap, .k-timepicker .k-picker-wrap, .k-datetimepicker .k-picker-wrap{\\r\\n min-width: 143px !important;\\r\\n}\\r\\n:host ::ng-deep .k-dateinput-wrap{\\r\\n font-size: 11px !important;\\r\\n}\\r\\n:host ::ng-deep .k-input {\\r\\n text-indent: 3px !important;\\r\\n}\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 768px) {\\r\\n .k-button\\r\\n {\\r\\n width: 150px !important;\\r\\n top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n\\r\\n }\\r\\n .k-grid-toolbar .k-button+.k-button {\\r\\n margin-left: 0px !important;\\r\\n top: 2px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n.toolbar-headr-lbl-alignment {\\r\\n right: 0px;\\r\\n }\\r\\n\\r\\n@media only screen and (min-width:961px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:40px !important ;\\r\\n\\r\\n }\\r\\n }\\r\\n\\r\\n.mobileTable{\\r\\n padding-left: 10px;\\r\\n word-wrap: break-word;\\r\\n }\\r\\n\\r\\ndl {\\r\\n border-bottom: #1d1b1b solid 2px !important;\\r\\n margin-bottom: -8px !important;\\r\\n margin-left: -11.6px !important;\\r\\n }\\r\\n\\r\\n:host ::ng-deep .k-numeric-wrap .k-input{\\r\\n min-width: 30px !important;\\r\\n }\\r\\n\\r\\n#brdCrmb{\\r\\n display: none !important;\\r\\n }\\r\\n\\r\\n@media only screen and (max-width: 767px){\\r\\n #brdCrmb{\\r\\n display: block !important;\\r\\n }\\r\\n }\\r\\n\\r\\n.breadcrumb {\\r\\n margin-left: 18px;\\r\\n}\\r\\n\\r\\n.k-grid {\\r\\n background-clip: padding-box;\\r\\n margin-left: -13px;\\r\\n}\\r\\n\\r\\n#projectHeading{\\r\\n font-size:12px !important;\\r\\n color:black !important;\\r\\n padding:5px;\\r\\n margin-bottom:-10px;\\r\\n margin-right:8px;\\r\\n}\\r\\n\\r\\n#projectNumber{\\r\\n margin-top:10px;\\r\\n}\\r\\n\\r\\n#projectName{\\r\\n margin-top:10px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1025px) {\\r\\n\\r\\n #projectNumber {\\r\\n margin-top: -10px !important;\\r\\n margin-left:19px;\\r\\n }\\r\\n\\r\\n #projectName{\\r\\n margin-top:-10px !important;\\r\\n margin-left:19px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9tYWluLnJlcXVlc3QvbWFpbi5yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQiw2QkFBNkI7RUFDN0IsNEJBQTRCO0VBQzVCLGNBQWM7RUFDZCxTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2Qiw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxtQkFBbUI7QUFDckI7O0FBQ0E7RUFDRSxtQ0FBbUM7RUFDbkMsK0JBQStCO0VBQy9CLHFCQUFxQjtFQUNyQixnQ0FBZ0M7QUFDbEM7O0FBQ0E7RUFDRSxtQ0FBbUM7RUFDbkMsK0JBQStCO0VBQy9CLHFCQUFxQjtFQUNyQixnQ0FBZ0M7QUFDbEM7O0FBQ0E7RUFDRSwwQkFBMEI7RUFDMUIsMkJBQTJCO0VBQzNCLDBCQUEwQjtBQUM1Qjs7QUFDQTtFQUNFO0lBQ0UsMkJBQTJCO0FBQy9CO0FBQ0E7RUFDRSwwQkFBMEI7QUFDNUI7QUFDQTtFQUNFLDJCQUEyQjtBQUM3QjtBQUNBOztBQUNBO0VBQ0U7O0lBRUUsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQiw2QkFBNkI7O0VBRS9CO0VBQ0E7SUFDRSwyQkFBMkI7SUFDM0IsbUJBQW1CO0VBQ3JCO0VBQ0E7O0FBQ0E7SUFDRSxVQUFVO0VBQ1o7O0FBQ0E7SUFDRTtNQUNFLHNCQUFzQjs7SUFFeEI7RUFDRjs7QUFDQTtJQUNFLGtCQUFrQjtJQUNsQixxQkFBcUI7RUFDdkI7O0FBQ0E7SUFDRSwyQ0FBMkM7SUFDM0MsOEJBQThCO0lBQzlCLCtCQUErQjtFQUNqQzs7QUFDQTtJQUNFLDBCQUEwQjtFQUM1Qjs7QUFDQTtJQUNFLHdCQUF3QjtFQUMxQjs7QUFDQTtFQUNBO0lBQ0UseUJBQXlCO0VBQzNCO0VBQ0E7O0FBR0Y7RUFDRSxpQkFBaUI7QUFDbkI7O0FBSUE7RUFDRSw0QkFBNEI7RUFDNUIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBOztFQUVFO0lBQ0UsNEJBQTRCO0lBQzVCLGdCQUFnQjtFQUNsQjs7RUFFQTtJQUNFLDJCQUEyQjtJQUMzQixnQkFBZ0I7RUFDbEI7QUFDRiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3JlcXVlc3QvbWFpbi5yZXF1ZXN0L21haW4ucmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmxlZ2VuZCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gIHBhZGRpbmctbGVmdDogMThweCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICMzMzMzMzM7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wYW5lbC10aXRsZSB7XHJcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogLTIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmstZ3JpZC1oZWFkZXIgLmstaGVhZGVyIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcbi5rLWdyaWQtcGRmIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2IWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICNmNDQzMzYhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIWltcG9ydGFudDtcclxufVxyXG4uay1ncmlkLWV4Y2VsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZiYjZhIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICM2NmJiNmEhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIWltcG9ydGFudDtcclxufVxyXG46aG9zdCA6Om5nLWRlZXAgLmstcGlja2VyLXdyYXAgLmstaW5wdXR7XHJcbiAgbWluLXdpZHRoOiA5MHB4ICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1pbmRlbnQ6IDNweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICA6aG9zdCA6Om5nLWRlZXAgLmstZGF0ZXBpY2tlciAuay1waWNrZXItd3JhcCwgLmstdGltZXBpY2tlciAuay1waWNrZXItd3JhcCwgLmstZGF0ZXRpbWVwaWNrZXIgLmstcGlja2VyLXdyYXB7XHJcbiAgICBtaW4td2lkdGg6IDE0M3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuOmhvc3QgOjpuZy1kZWVwIC5rLWRhdGVpbnB1dC13cmFwe1xyXG4gIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xyXG59XHJcbjpob3N0IDo6bmctZGVlcCAuay1pbnB1dCB7XHJcbiAgdGV4dC1pbmRlbnQ6IDNweCAhaW1wb3J0YW50O1xyXG59XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gIC5rLWJ1dHRvblxyXG4gIHtcclxuICAgIHdpZHRoOiAxNTBweCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiA1cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG5cclxuICB9XHJcbiAgLmstZ3JpZC10b29sYmFyIC5rLWJ1dHRvbisuay1idXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAycHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgfVxyXG4gIC50b29sYmFyLWhlYWRyLWxibC1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6IDBweDtcclxuICB9XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjk2MXB4KSB7XHJcbiAgICAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgICAgcmlnaHQ6NDBweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIC5tb2JpbGVUYWJsZXtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB9XHJcbiAgZGwge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogIzFkMWIxYiBzb2xpZCAycHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IC04cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTEuNnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIDpob3N0IDo6bmctZGVlcCAuay1udW1lcmljLXdyYXAgLmstaW5wdXR7XHJcbiAgICBtaW4td2lkdGg6IDMwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgI2JyZENybWJ7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xyXG4gICNicmRDcm1ie1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcbiAgfVxyXG5cclxuXHJcbi5icmVhZGNydW1iIHtcclxuICBtYXJnaW4tbGVmdDogMThweDtcclxufVxyXG5cclxuXHJcblxyXG4uay1ncmlkIHtcclxuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMTNweDtcclxufVxyXG5cclxuI3Byb2plY3RIZWFkaW5ne1xyXG4gIGZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6YmxhY2sgIWltcG9ydGFudDtcclxuICBwYWRkaW5nOjVweDtcclxuICBtYXJnaW4tYm90dG9tOi0xMHB4O1xyXG4gIG1hcmdpbi1yaWdodDo4cHg7XHJcbn1cclxuXHJcbiNwcm9qZWN0TnVtYmVye1xyXG4gIG1hcmdpbi10b3A6MTBweDtcclxufVxyXG5cclxuI3Byb2plY3ROYW1le1xyXG4gIG1hcmdpbi10b3A6MTBweDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcclxuXHJcbiAgI3Byb2plY3ROdW1iZXIge1xyXG4gICAgbWFyZ2luLXRvcDogLTEwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OjE5cHg7XHJcbiAgfVxyXG5cclxuICAjcHJvamVjdE5hbWV7XHJcbiAgICBtYXJnaW4tdG9wOi0xMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDoxOXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4iXX0= */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { SessionService, BCASearch, ConstantsService } from '@app/base/core';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { ActivatedRoute} from '@angular/router';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { DatePipe } from '@angular/common';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'main-request',\r\n templateUrl: './main.request.component.html',\r\n styleUrls: ['./main.request.component.css']\r\n})\r\nexport class MainRequestComponent implements OnInit, OnDestroy {\r\n public mainsData: any = [];\r\n public builderId: string[];\r\n public state: State = {\r\n skip: 0,\r\n take: 8,\r\n // Initial filter descriptor\r\n filter: {\r\n logic: 'and',\r\n filters: [\r\n ]\r\n }\r\n };\r\n // public gridData: GridDataResult = process(sampleProducts, this.state);\r\n public gridMains: GridDataResult = process(this.mainsData, this.state);\r\n public projectNumber: number;\r\n public projectName: string;\r\n public routeSubscription: any;\r\n public bcaDetailsSubscription: Subscription;\r\n public mainsInfoSubscription: Subscription;\r\n public stateCd: string;\r\n public GrId: any;\r\n date1 = new Date('04/09/2018');\r\n date2 = new Date('04/09/2019');\r\n public killsubscribe: boolean;\r\n public bcaSearch: BCASearch = {\r\n builderId: [],\r\n projectName: '',\r\n projectAddress: '',\r\n bcaStatus: '',\r\n subsidaryId: '',\r\n subsidarycompanyName: '',\r\n startDate: this.date1,\r\n endDate: this.date2,\r\n reqId: '',\r\n bcaStatusValue: ''\r\n };\r\n // Bind data to grid on data state change\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.gridMains = process(this.mainsData, this.state);\r\n }\r\n constructor(private http: BuilderService,\r\n public socoHttp: SocoHttpService,\r\n public sessionSvc: SessionService,\r\n public route: ActivatedRoute,\r\n public builderSvc: BuilderService,\r\n public datePipe: DatePipe,\r\n public constantssvc: ConstantsService) {\r\n }\r\n ngOnInit() {\r\n this.killsubscribe = true;\r\n this.stateCd = this.sessionSvc.paramLdc;\r\n this.GrId = this.route.snapshot.parent.params['id'];\r\n // Getting project details like project number,project status\r\n this.sessionSvc.BcaData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n this.sessionSvc.GridData.subscribe(success => {\r\n this.projectNumber = success.projectNumber;\r\n this.projectName = success.projectName;\r\n });\r\n } else {\r\n this.sessionSvc.builderData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n this.builderId = success.BuilderId;\r\n for (let i = 0; i < this.builderId.length; i++) {\r\n this.bcaSearch.builderId.push(this.builderId[i]);\r\n }\r\n this.bcaSearch.reqId = this.GrId;\r\n this.bcaDetailsSubscription = this.builderSvc.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n if (result.data[0].bcaId !== undefined) {\r\n this.projectNumber = result.data[0].bcaId;\r\n }\r\n this.projectName = result.data[0].projectName;\r\n });\r\n }\r\n });\r\n }\r\n});\r\n this.loadMains();\r\n }\r\n// To get gas mains data\r\n loadMains() {\r\n const wrTypeCodes = ['CINBE', 'RNBE', 'SRNBE', 'MLTFM'];\r\n this.socoHttp.showPleaseWait('Processing', 'mains');\r\n this.mainsInfoSubscription = this.http.getMainsInfo(this.GrId).subscribe(\r\n result => {\r\n if (result) {\r\n for (let i = 0; i < result.data.length; i++) {\r\n if ((result.data[i]['wrNo'] != null) && wrTypeCodes.includes(result.data[i]['wrTypeCode'])) {\r\n this.mainsData.push(result.data[i]);\r\n }\r\n }\r\n this.gridMains = process(this.mainsData, this.state);\r\n }\r\n this.socoHttp.hidePleaseWait('mains');\r\n },\r\n error => {\r\n swal(this.constantssvc.errorSwal1, this.constantssvc.mainsFail, this.constantssvc.errorSwal);\r\n }\r\n );\r\n }\r\n // export to excel and pdf disable\r\n checkExport(): boolean {\r\n if (this.mainsData.length === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n // ondestroy\r\n ngOnDestroy() {\r\n this.killsubscribe = false;\r\n if (this.mainsInfoSubscription) {\r\n this.mainsInfoSubscription.unsubscribe();\r\n }\r\n if (this.bcaDetailsSubscription) {\r\n this.bcaDetailsSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n","export default \"#secondary {\\r\\n background-color: #f5f5f5 !important;\\r\\n}\\r\\n\\r\\n.secondary-module {\\r\\n display: table;\\r\\n width: 100%;\\r\\n border-bottom: 3px solid #0277BD;\\r\\n background: #fff;\\r\\n}\\r\\n\\r\\n.secondary-menu {\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.secondary-menu:before, .secondary-menu:after {\\r\\n content: none !important;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.secondary-selectors {\\r\\n border: none;\\r\\n /*height: 40px;\\r\\n width: 25%;*/\\r\\n display: inline-table;\\r\\n transition: all 0.5s ease;\\r\\n text-align: center;\\r\\n float: none;\\r\\n vertical-align: middle;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.secondary-selectors.active {\\r\\n background-color: #0277BD !important;\\r\\n}\\r\\n\\r\\n.secondary-selectors a {\\r\\n display: table;\\r\\n text-align: center;\\r\\n margin: 0 auto;\\r\\n}\\r\\n\\r\\n.secondary-selectors.active i {\\r\\n color: rgb(179, 211, 54);\\r\\n}\\r\\n\\r\\n.secondary-selectors i {\\r\\n margin: 0 auto;\\r\\n color: #0277BD;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.secondary-selectors.active .label {\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n.secondary-selectors .label {\\r\\n border-color: transparent !important;\\r\\n background-color: transparent !important;\\r\\n display: table;\\r\\n font-size: 14px !important;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n border: 1px solid transparent;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 0.1px;\\r\\n line-height: 30px;\\r\\n border-radius: 2px;\\r\\n transition: all 0.5s ease;\\r\\n width: 100px;\\r\\n margin: 0 auto;\\r\\n float: left;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n.navbar-inverse {\\r\\n background-color: white !important;\\r\\n border-color: white !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a {\\r\\n color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a::-moz-selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a::selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover,\\r\\n .navbar-inverse .navbar-nav > .active > a:focus {\\r\\n background-color: transparent !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li {\\r\\n color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li:focus {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li::-moz-selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover, .navbar-inverse .navbar-nav > li::selection {\\r\\n color: #b3d336 !important;\\r\\n background-color: #0277BD !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > .active > li, .navbar-inverse .navbar-nav > .active > li:hover,\\r\\n .navbar-inverse .navbar-nav > .active > li:focus {\\r\\n background-color: transparent !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover,\\r\\n .navbar-inverse .navbar-nav > .active > a:focus {\\r\\n background-color: transparent !important;\\r\\n }\\r\\n\\r\\n.bca-menu-navbar {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n@media only screen and (min-width: 768px) {\\r\\n .bca-menu-navbar {\\r\\n width: 98%;\\r\\n }\\r\\n}\\r\\n\\r\\n.primary-menu:before, .primary-menu:after {\\r\\n content: none !important;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a > span {\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a > span:focus {\\r\\n color: white !important;\\r\\n }\\r\\n\\r\\n.tab-content {\\r\\n padding: 15px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 600px) {\\r\\n .label {\\r\\n white-space: initial;\\r\\n }\\r\\n .secondary-selectors .label {\\r\\n width:auto !important;\\r\\n }\\r\\n .secondary-menu{\\r\\n display:block;\\r\\n }\\r\\n}\\r\\n\\r\\n.navbar {\\r\\n border: 0px !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a > span {\\r\\n color: black !important;\\r\\n font-size: 14px !important;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n border: 1px solid transparent;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 0.1px;\\r\\n line-height: 30px;\\r\\n transition: all 0.5s ease;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li:hover > a > span {\\r\\n color: white !important;\\r\\n font-size: 14px !important;\\r\\n font-weight: 500;\\r\\n padding: 0;\\r\\n border: 1px solid transparent;\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 0.1px;\\r\\n line-height: 30px;\\r\\n transition: all 0.5s ease;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a, .navbar-inverse .navbar-nav > li.active > a:hover,\\r\\n.navbar-inverse .navbar-nav > li.active > a:focus {\\r\\n background-color: transparent !important;\\r\\n color: #b3d336 !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a > span, .navbar-inverse .navbar-nav > li.active > a > span:hover,\\r\\n .navbar-inverse .navbar-nav > li.active > a > span:focus {\\r\\n color: white !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a, .navbar-inverse .navbar-nav > li.active > a:hover,\\r\\n .navbar-inverse .navbar-nav > li.active > a:focus {\\r\\n background-color: #0277BD !important;\\r\\n color: #b3d336 !important;\\r\\n }\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active, .navbar-inverse .navbar-nav > li.active,\\r\\n.navbar-inverse .navbar-nav > li.active {\\r\\n background-color: #0277BD !important;\\r\\n color: #b3d336 !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li.active > a > span, .navbar-inverse .navbar-nav > li.active > a > span:hover,\\r\\n .navbar-inverse .navbar-nav > li.active > a > span:focus {\\r\\n color: white !important;\\r\\n }\\r\\n\\r\\n.panel{\\r\\n margin-bottom: 0px !important;\\r\\n }\\r\\n \\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdDQUFnQztJQUNoQyxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFlBQVk7SUFDWjtnQkFDWTtJQUNaLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTtJQUNJLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxjQUFjO0lBQ2QsV0FBVztBQUNmOztBQUVBO0lBQ0ksdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksb0NBQW9DO0lBQ3BDLHdDQUF3QztJQUN4QyxjQUFjO0lBQ2QsMEJBQTBCO0lBQzFCLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixxQkFBcUI7SUFDckIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztBQUNmOztBQUNBO0VBQ0Usa0NBQWtDO0VBQ2xDLDhCQUE4QjtBQUNoQzs7QUFFRTtJQUNFLHlCQUF5QjtFQUMzQjs7QUFFRTtNQUNFLHlCQUF5QjtNQUN6QixvQ0FBb0M7SUFDdEM7O0FBRUE7TUFDRSx5QkFBeUI7TUFDekIsb0NBQW9DO0lBQ3RDOztBQUhBO01BQ0UseUJBQXlCO01BQ3pCLG9DQUFvQztJQUN0Qzs7QUFFRjs7SUFFRSx3Q0FBd0M7RUFDMUM7O0FBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0FBRUU7TUFDRSx5QkFBeUI7TUFDekIsb0NBQW9DO0lBQ3RDOztBQUVBO01BQ0UseUJBQXlCO01BQ3pCLG9DQUFvQztJQUN0Qzs7QUFIQTtNQUNFLHlCQUF5QjtNQUN6QixvQ0FBb0M7SUFDdEM7O0FBRUY7O0lBRUUsd0NBQXdDO0VBQzFDOztBQUVBOztJQUVFLHdDQUF3QztFQUMxQzs7QUFFRjtFQUNFLFdBQVc7QUFDYjs7QUFDQTtFQUNFO0lBQ0UsVUFBVTtFQUNaO0FBQ0Y7O0FBRUE7RUFDRSx3QkFBd0I7RUFDeEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFRTtJQUNFLHVCQUF1QjtFQUN6Qjs7QUFDRjtJQUNJLGFBQWE7QUFDakI7O0FBQ0E7RUFDRTtJQUNFLG9CQUFvQjtFQUN0QjtFQUNBO01BQ0kscUJBQXFCO0VBQ3pCO0VBQ0E7TUFDSSxhQUFhO0VBQ2pCO0FBQ0Y7O0FBQ0E7RUFDRSxzQkFBc0I7QUFDeEI7O0FBQ0E7RUFDRSx1QkFBdUI7RUFDdkIsMEJBQTBCO0VBQzFCLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLHlCQUF5QjtFQUN6QixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2QiwwQkFBMEI7RUFDMUIsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDViw2QkFBNkI7RUFDN0IseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIseUJBQXlCO0FBQzNCOztBQUNBOztFQUVFLHdDQUF3QztFQUN4Qyx5QkFBeUI7QUFDM0I7O0FBRUU7O0lBRUUsdUJBQXVCO0VBQ3pCOztBQUNBOztJQUVFLG9DQUFvQztJQUNwQyx5QkFBeUI7RUFDM0I7O0FBRUY7O0VBRUUsb0NBQW9DO0VBQ3BDLHlCQUF5QjtBQUMzQjs7QUFFRTs7SUFFRSx1QkFBdUI7RUFDekI7O0FBQ0E7UUFDTSw2QkFBNkI7RUFDbkMiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2J1aWxkZXIvY29tcG9uZW50cy9yZXF1ZXN0L3JlcXVlc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNzZWNvbmRhcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2Vjb25kYXJ5LW1vZHVsZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwMjc3QkQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4uc2Vjb25kYXJ5LW1lbnUge1xyXG4gICAgZGlzcGxheTogdGFibGUtcm93O1xyXG59XHJcblxyXG4uc2Vjb25kYXJ5LW1lbnU6YmVmb3JlLCAuc2Vjb25kYXJ5LW1lbnU6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5zZWNvbmRhcnktc2VsZWN0b3JzIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC8qaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDI1JTsqL1xyXG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5zZWNvbmRhcnktc2VsZWN0b3JzLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWNvbmRhcnktc2VsZWN0b3JzIGEge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnNlY29uZGFyeS1zZWxlY3RvcnMuYWN0aXZlIGkge1xyXG4gICAgY29sb3I6IHJnYigxNzksIDIxMSwgNTQpO1xyXG59XHJcblxyXG4uc2Vjb25kYXJ5LXNlbGVjdG9ycyBpIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgY29sb3I6ICMwMjc3QkQ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLnNlY29uZGFyeS1zZWxlY3RvcnMuYWN0aXZlIC5sYWJlbCB7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY29uZGFyeS1zZWxlY3RvcnMgLmxhYmVsIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xyXG4gICAgY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6OnNlbGVjdGlvbiB7XHJcbiAgICAgIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSB7XHJcbiAgICBjb2xvcjogIzAyNzdCRCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpOjpzZWxlY3Rpb24ge1xyXG4gICAgICBjb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI3N0JEICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBsaSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGxpOmhvdmVyLFxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBsaTpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmhvdmVyLFxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuLmJjYS1tZW51LW5hdmJhciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5iY2EtbWVudS1uYXZiYXIge1xyXG4gICAgd2lkdGg6IDk4JTtcclxuICB9XHJcbn1cclxuXHJcbi5wcmltYXJ5LW1lbnU6YmVmb3JlLCAucHJpbWFyeS1tZW51OmFmdGVyIHtcclxuICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYSA+IHNwYW4ge1xyXG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpID4gYSA+IHNwYW46Zm9jdXMge1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4udGFiLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgLmxhYmVsIHtcclxuICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xyXG4gIH1cclxuICAuc2Vjb25kYXJ5LXNlbGVjdG9ycyAubGFiZWwge1xyXG4gICAgICB3aWR0aDphdXRvICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5zZWNvbmRhcnktbWVudXtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICB9XHJcbn1cclxuLm5hdmJhciB7XHJcbiAgYm9yZGVyOiAwcHggIWltcG9ydGFudDtcclxufVxyXG4ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEgPiBzcGFuIHtcclxuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBsZXR0ZXItc3BhY2luZzogMC4xcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxufVxyXG5cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhID4gc3BhbiB7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbn1cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2IzZDMzNiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gc3Bhbjpob3ZlcixcclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhID4gc3Bhbjpmb2N1cyB7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYTpob3ZlcixcclxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaS5hY3RpdmUsXHJcbi5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyNzdCRCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjYjNkMzM2ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkuYWN0aXZlID4gYSA+IHNwYW4sIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuOmhvdmVyLFxyXG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IGxpLmFjdGl2ZSA+IGEgPiBzcGFuOmZvY3VzIHtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAucGFuZWx7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gXHJcbiJdfQ== */\"","import { Component, OnInit, AfterViewInit, Inject } from '@angular/core';\r\nimport { HomeTabsEnum, HomeSubtabsEnum, SessionService, ConstantsService } from '@app/base/core';\r\nimport { BuilderService } from '@app/modules/builder/base';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-request',\r\n templateUrl: './request.component.html',\r\n styleUrls: ['./request.component.css']\r\n})\r\nexport class RequestComponent implements OnInit, AfterViewInit {\r\n public activeTabEnum: typeof HomeTabsEnum = HomeTabsEnum;\r\n public activeSubtabsEnum: typeof HomeSubtabsEnum = HomeSubtabsEnum;\r\n subdivisionActive = false;\r\n mainsActive = false;\r\n public routeSubscription: any;\r\n serviceActive = true;\r\n public flag: boolean;\r\n public bcaId;\r\n public bcaStatus;\r\n public url;\r\n public subscription: Subscription;\r\n public grId: number;\r\n public navigateTo = 'service';\r\n public routeId: number;\r\n bcaAgreementsActive = false;\r\n\r\n // constructor\r\n constructor(public builderSvc: BuilderService, @Inject(Router) private router: Router,\r\n public sessionSvc: SessionService, public route: ActivatedRoute, public constSvc: ConstantsService) {\r\n this.subscription = this.router.events.subscribe((event) => {\r\n this.grId = this.route.snapshot.params.id;\r\n this.bcaId = this.route.snapshot.params.bcaId;\r\n this.bcaStatus = this.route.snapshot.params.bcaStatus;\r\n if (event instanceof NavigationEnd && event.id === 1) {\r\n this.flag = true;\r\n this.url = event.url;\r\n this.routeId = 2;\r\n const urlArray = this.url.split('/');\r\n if (urlArray.indexOf('main') > - 1) {\r\n this.navigateToRoute('main');\r\n } else if (urlArray.indexOf('service') > -1) {\r\n this.navigateToRoute('service');\r\n } else if (urlArray.indexOf('bca-agreements') > -1) {\r\n this.navigateToRoute('bca-agreements');\r\n } else {\r\n this.navigateToRoute('subdivision');\r\n }\r\n } else if (event instanceof NavigationEnd && event.id !== 1 && !event.url.endsWith('service')) {\r\n this.flag = false;\r\n }\r\n if (event instanceof NavigationEnd && event.id !== 1 ) {\r\n if (this.router.url.endsWith(String(this.grId)) && (event.id === this.routeId + 1 ) ) {\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n } else if (event.url.endsWith('service')) {\r\n this.routeId = event.id;\r\n\r\n }\r\n }\r\n});\r\n }\r\n\r\n // used to initialise servces\r\n ngOnInit() {\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n\r\n if (params['id']) {\r\n this.grId = (params['id']);\r\n }\r\n if (params['bcaId']) {\r\n this.bcaId = (params['bcaId']);\r\n }\r\n\r\n });\r\n\r\nif (this.flag === false) {\r\n this.navigateToRoute('service');\r\n}\r\n\r\n }\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n // used to unsubscribe to services\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n // used to navigate between sub tabs\r\n navigateToRoute(navigateStr: string) {\r\n const substr: number = this.router.url.indexOf('request') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n if (navigateStr === this.constSvc.main) {\r\n this.mainsActive = true;\r\n this.subdivisionActive = false;\r\n this.serviceActive = false;\r\n this.bcaAgreementsActive = false;\r\n } else if (navigateStr === this.constSvc.service) {\r\n this.mainsActive = false;\r\n this.subdivisionActive = false;\r\n this.serviceActive = true;\r\n this.bcaAgreementsActive = false;\r\n } else if (navigateStr === this.constSvc.bcaAgreements) {\r\n this.mainsActive = false;\r\n this.subdivisionActive = false;\r\n this.serviceActive = false;\r\n this.bcaAgreementsActive = true;\r\n } else {\r\n this.mainsActive = false;\r\n this.subdivisionActive = true;\r\n this.serviceActive = false;\r\n this.bcaAgreementsActive = false;\r\n }\r\n if (this.bcaId) {\r\n this.router.navigate([str + '/' + this.grId + '/' + this.bcaId + '/' + navigateStr]);\r\n } else {\r\n this.router.navigate([str + '/' + this.grId + '/' + navigateStr ]);\r\n }\r\n\r\n }\r\n }\r\n","export default \".remPaddingBottom {\\r\\n padding-bottom:0px !important;\\r\\n}\\r\\n\\r\\n.validation-error-label{\\r\\n margin-left:11px;\\r\\n}\\r\\n\\r\\n.activateDate\\r\\n {\\r\\n \\r\\n }\\r\\n\\r\\n/*414*/\\r\\n\\r\\n@media only screen and (max-width: 414px) {\\r\\n #cancelButton {\\r\\n margin-lefT: -16px;\\r\\n }\\r\\n\\r\\n #resetButton {\\r\\n margin-left: -12px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*375*/\\r\\n\\r\\n@media only screen and (max-width: 360px) and (min-width: 321px){\\r\\n #cancelButton {\\r\\n margin-lefT: -21px;\\r\\n }\\r\\n\\r\\n #resetButton {\\r\\n margin-left: -10px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 320px) {\\r\\n\\r\\n #saveButton {\\r\\n margin-left: 46px;\\r\\n }\\r\\n\\r\\n #cancelButton {\\r\\n margin-right: 50px\\r\\n }\\r\\n\\r\\n #resetButton {\\r\\n margin-left: -13px;\\r\\n margin-top: 5px;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5hY3RpdmF0ZS5yZXF1ZXN0L3NlcnZpY2UuYWN0aXZhdGUucmVxdWVzdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksNkJBQTZCO0FBQ2pDOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztBQUNBOzs7Q0FHQzs7QUFFRCxNQUFNOztBQUNOO0VBQ0U7SUFDRSxrQkFBa0I7RUFDcEI7O0VBRUE7SUFDRSxrQkFBa0I7RUFDcEI7QUFDRjs7QUFFQSxNQUFNOztBQUNOO0VBQ0U7SUFDRSxrQkFBa0I7RUFDcEI7O0VBRUE7SUFDRSxrQkFBa0I7RUFDcEI7QUFDRjs7QUFFQTs7RUFFRTtJQUNFLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFO0VBQ0Y7O0VBRUE7SUFDRSxrQkFBa0I7SUFDbEIsZUFBZTtFQUNqQjtBQUNGIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5hY3RpdmF0ZS5yZXF1ZXN0L3NlcnZpY2UuYWN0aXZhdGUucmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnJlbVBhZGRpbmdCb3R0b20ge1xyXG4gICAgcGFkZGluZy1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi52YWxpZGF0aW9uLWVycm9yLWxhYmVse1xyXG4gIG1hcmdpbi1sZWZ0OjExcHg7XHJcbn1cclxuLmFjdGl2YXRlRGF0ZVxyXG4ge1xyXG4gICBcclxuIH1cclxuXHJcbi8qNDE0Ki9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xyXG4gICNjYW5jZWxCdXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZlQ6IC0xNnB4O1xyXG4gIH1cclxuXHJcbiAgI3Jlc2V0QnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcclxuICB9XHJcbn1cclxuXHJcbi8qMzc1Ki9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNjBweCkgYW5kIChtaW4td2lkdGg6IDMyMXB4KXtcclxuICAjY2FuY2VsQnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZUOiAtMjFweDtcclxuICB9XHJcblxyXG4gICNyZXNldEJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XHJcblxyXG4gICNzYXZlQnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0NnB4O1xyXG4gIH1cclxuXHJcbiAgI2NhbmNlbEJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHhcclxuICB9XHJcblxyXG4gICNyZXNldEJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEzcHg7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, OnChanges, Output, EventEmitter, Input } from '@angular/core';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport {ConstantsService, LookupsService, SessionService, AccountService,\r\n CompaniesEnum, RequestServiceModelView } from '@app/base/core';\r\nimport { BuilderService, MeterActivateModel, ServiceActivationRequestModel } from '@app/modules/builder/base';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { phoneNumber, triggerFormValidation, focusFirstInvalidField } from '@app/shared/functions';\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'service-activate-request',\r\n templateUrl: './service.activate.request.component.html',\r\n styleUrls: ['./service.activate.request.component.css']\r\n})\r\n\r\n/// Service Activate request component to implement functions for Meter Activate/ Deactivate Form.\r\nexport class ServiceActivateRequestComponent implements OnInit, OnChanges {\r\n\r\n // Global variables to be used across different functions.\r\n _validateEmail: boolean;\r\n builderActivationOrDeactivationForm: FormGroup;\r\n model: MeterActivateModel = new MeterActivateModel();\r\n userName: string;\r\n builderactivationOrDeactivation: ServiceActivationRequestModel = new ServiceActivationRequestModel();\r\n LotStatusId: string;\r\n flagMail: false;\r\n _lotData: RequestServiceModelView[];\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n parentEl: '.activateDate .col-md-6',\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n};\r\n marketer = [];\r\n cities: any[];\r\n states = [];\r\n cityList: any[];\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n builderstate: any;\r\n buildercity: any;\r\n countylist: any[];\r\n\r\n // Constructor with the variables declared for necessary services to be used across the component.\r\n constructor(\r\n private datePipe: DatePipe,\r\n private fb: FormBuilder,\r\n public socoHttp: SocoHttpService,\r\n public lookupSvc: LookupsService,\r\n public constantsSvc: ConstantsService,\r\n public sessionSvc: SessionService,\r\n public builderSvc: BuilderService,\r\n private accountSvc: AccountService\r\n ) {\r\n\r\n this.userName = this.accountSvc.account.user.username;\r\n\r\n }\r\n\r\n // ng Onchanges function to make an api call to with Lot Id and Grid as parmeters\r\n // if there is data received from the database bind the data to input fields.\r\n // if no data is present then bind only the builder information available from the services.\r\n ngOnChanges(): void {\r\n this.lookupSvc.commonLookupsLoaded$.subscribe(isloaded => {\r\n if (isloaded && this._lotData !== undefined && this._lotData[0] !== undefined) {\r\n this.builderActivationOrDeactivationForm.reset();\r\n this.socoHttp.showPleaseWait('Processing.', 'ContainerAwaiter3');\r\n this.builderSvc.GetLots(this._lotData[0].grId, this._lotData[0].builderId).subscribe(result2 => {\r\n const tempList: any = [];\r\n for (const i of result2.data) {\r\n if (i.lotNumber === this._lotData[0].lotNumber) {\r\n tempList.push(i);\r\n }\r\n }\r\n this.builderSvc.getSubsidiaryInfo([tempList[tempList.length - 1].builderId]).subscribe(result => {\r\n this.sessionSvc.builderData.subscribe(success => {\r\n if (success && this.lookupSvc !== undefined && this.lookupSvc.cities !== undefined &&\r\n this.lookupSvc.states !== undefined && this.lookupSvc.serviceCounty !== undefined) {\r\n if ( this._lotData[0].stateCd.toUpperCase() === this.companiesEnum.GA) {\r\n this.builderActivationOrDeactivationForm.controls['marketerValue'].setValidators(Validators.required);\r\n } else {\r\n this.builderActivationOrDeactivationForm.controls['marketerValue'].clearValidators();\r\n }\r\n if (success.CompanyAddress.state != null) {\r\n this.builderstate = this.lookupSvc.states.find(x => x.id === result.data[0].builderAddresses.state ).itemName;\r\n }\r\n if (success.CompanyAddress.city != null ) {\r\n this.buildercity = this.lookupSvc.cities.find(x => String(x.id) === result.data[0].builderAddresses.city ).itemName;\r\n }\r\n if (this.lookupSvc.serviceCounty !== undefined) {\r\n this.countylist = this.lookupSvc.serviceCounty;\r\n }\r\n this._lotData[0].city = this._lotData[0].city.replace(/,/g, '');\r\n this.builderActivationOrDeactivationForm.patchValue({\r\n firstName: this.accountSvc.account.user.username, // success.AdminUsers['firstName'],\r\n lastName: this.accountSvc.account.user.username, // success.AdminUsers['lastName'],\r\n buildercity: result.data[0].builderAddresses.city != null ?\r\n this.lookupSvc.cities.find(a => String(a.id) === result.data[0].builderAddresses.city).itemName : null,\r\n builderstate: result.data[0].builderAddresses.state != null ?\r\n this.lookupSvc.states.find(a => a.id === result.data[0].builderAddresses.state).itemName : null,\r\n builderzipCode: result.data[0].builderAddresses.zipCode,\r\n subdivision : this._lotData[0].subDivision,\r\n builderCompanyName: result.data[0].companyName,\r\n email: result.data[0].email,\r\n streetNumber: this._lotData[0].streetNo,\r\n adjoinStreetName: this._lotData[0].streetName,\r\n builderstreetAddress: result.data[0].builderAddresses.address2,\r\n contactPhoneNumberExtension: result.data[0].builderAddresses.contactName1Extn,\r\n contactPhoneNumber: result.data[0].builderAddresses.contactName1Phone,\r\n alterPhoneNumberExtension: result.data[0].builderAddresses.contactName2Extn,\r\n alternatePhoneNumber: result.data[0].builderAddresses.contactName2Phone,\r\n unitNumber: this._lotData[0].unitNo,\r\n city: this.lookupSvc.cities.find(a => a.itemName.toUpperCase() === this._lotData[0].city.toUpperCase()),\r\n state: this.lookupSvc.states.find(a => a.id.toUpperCase() === this._lotData[0].stateCd.toUpperCase()),\r\n zipCode: this._lotData[0].zip,\r\n county: this.countylist.find(a => a.id === this._lotData[0].countyId) !== null ?\r\n this.countylist.find(a => a.id === this._lotData[0].countyId) : null,\r\n directionPrefix: this.lookupSvc.directions.find(a => a.id === this._lotData[0].applicantDirectionPrefix) !== null ?\r\n this.lookupSvc.directions.find(a => a.id === this._lotData[0].applicantDirectionPrefix) : null,\r\n lotNumber: this._lotData[0].lotNumber\r\n });\r\n }\r\n });\r\n });\r\n });\r\n /// Api call to the dataabse to check if a record exists with the lot number and Gr Id.\r\n this.builderSvc.getMeterInfo(this._lotData[0].lotNumber.toString(), this._lotData[0].grId.toString()).subscribe(result => {\r\n if (result.data != null) {\r\n const meterData = result.data;\r\n this.builderActivationOrDeactivationForm.patchValue({\r\n gasMeterNumber: meterData['meterNum'],\r\n meter: meterData['turnOn'] === 'Y' ? 'On' : 'Off',\r\n requestedDate: this.datePipe.transform(meterData['requestedDate'], 'MM/dd/yy'),\r\n emailAddress: meterData['email'],\r\n reEnterEmailAddress: meterData['email'],\r\n isCornorLot: meterData['cornerLotNo'],\r\n adjoinStreetName: meterData['adjoinStreetName'],\r\n streetNameThoroughfar: meterData['streNameThroughFare'],\r\n specialNotes: meterData['comments'] !== null ? meterData['comments'] : null,\r\n marketerValue: this.lookupSvc.MarketerOfChoice.find(a => a.id === meterData['marketerId'] ),\r\n closeMainIntrStr: meterData['closestMainInterSectStr'],\r\n });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter3');\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter3');\r\n }\r\n });\r\n }\r\n });\r\n if (this.close === true) {\r\n this.reset();\r\n }\r\n}\r\n\r\n // The initialization of the Form Group, which includes the disabled fields and validations.\r\n ngOnInit() {\r\n this.cityList = this.lookupSvc.cities;\r\n this.marketer = this.lookupSvc.MarketerOfChoice;\r\n\r\n this.builderActivationOrDeactivationForm = this.fb.group(\r\n {\r\n 'gasMeterNumber': [this.builderactivationOrDeactivation.gasMeterNumber, [Validators.pattern(this.constantsSvc.numericPattern)]],\r\n 'subdivision': [this.builderactivationOrDeactivation.subdivision],\r\n 'meter': [this.builderactivationOrDeactivation.meter, [Validators.required]],\r\n 'requestedDate': [this.datePipe.transform(this.builderactivationOrDeactivation.requestedDate, 'MM/dd/yyyy'), Validators.required],\r\n 'emailAddress': [this.builderactivationOrDeactivation.emailAddress, Validators.pattern(this.constantsSvc.emailPattern)],\r\n 'reEnterEmailAddress': [this.builderactivationOrDeactivation.reEnterEmailAddress,\r\n Validators.pattern(this.constantsSvc.emailPattern)],\r\n 'builderCompanyName': [{value : this.builderactivationOrDeactivation.builderCompanyName, disabled: true}],\r\n 'contactName': [{value : null, disabled: true}],\r\n 'streetNumber': [this.builderactivationOrDeactivation.streetNumber, [ Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]],\r\n 'streetNameThoroughfar': [this.builderactivationOrDeactivation.streetNameThoroughfar, Validators.required],\r\n 'isCornorLot': [this.builderactivationOrDeactivation.meter, Validators.required],\r\n 'adjoinStreetName': [this.builderactivationOrDeactivation.adjoinStreetName],\r\n 'unitNumber': [null, Validators.pattern(this.constantsSvc.alphaNumericPattern)],\r\n 'city': [{value: null, disabled: true}],\r\n 'state': [{ value: null, disabled: true }],\r\n 'closeMainIntrStr': [null],\r\n 'zipCode': [{ value: null, disabled: true }],\r\n 'contactPhoneNumber': [{value: this.builderactivationOrDeactivation.contactPhoneNumber, disabled: true},\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]],\r\n 'contactPhoneNumberExtension': [{value: this.builderactivationOrDeactivation.contactPhoneNumberExtension,\r\n disabled: true}, Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern)],\r\n 'alternatePhoneNumber': [{value: this.builderactivationOrDeactivation.alternatePhoneNumber, disabled: true},\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]],\r\n 'alternatePhoneNumberExtension': [{value: this.builderactivationOrDeactivation.alternatePhoneNumberExtension,\r\n disabled: true}, Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern)],\r\n 'marketerValue': [this.builderactivationOrDeactivation.marketerValue],\r\n 'builderstreetAddress': [{value: this.builderactivationOrDeactivation.streetAddress, disabled: true}],\r\n 'builderstate': [{value: this.builderactivationOrDeactivation.state, disabled: true}],\r\n 'buildercity': [{value: this.builderactivationOrDeactivation.city, disabled: true}],\r\n 'builderzipCode': [{value: this.builderactivationOrDeactivation.zipCode, disabled: true}],\r\n 'directionPrefix': [null],\r\n 'specialNotes': [null],\r\n 'lotNumber': [{value: null, disabled: true}],\r\n 'county': [{value: null, disabled: true}]\r\n }\r\n );\r\n }\r\n\r\n\r\n // Service activate request component grid event is emitted to paremt service request to refresh grid.\r\n @Output() updateGrid = new EventEmitter();\r\n\r\n // Input components to store Grid event row data.\r\n @Input() set lotdata(data: RequestServiceModelView[]) {\r\n this._lotData = data;\r\n }\r\n\r\n @Input() close;\r\n get lotdata() {\r\n return this._lotData;\r\n }\r\n\r\n\r\n // On Submit event If the form is valid call the submitMeter request Function.\r\n // else swal alert to show the user to fill in the valid details.\r\n OnSubmit() {\r\n if (this.builderActivationOrDeactivationForm.valid && !this._validateEmail) {\r\n this.submitMeterRequest(this.builderActivationOrDeactivationForm.value);\r\n } else {\r\n triggerFormValidation(this.builderActivationOrDeactivationForm);\r\n focusFirstInvalidField(this.builderActivationOrDeactivationForm);\r\n }\r\n }\r\n\r\n // On Submit event to assign the data to requestservice and meterActivation model\r\n private submitMeterRequest(fg: ServiceActivationRequestModel): void {\r\n const lotSubmitData = this._lotData[0];\r\n if ((lotSubmitData.lotStatus === this.constantsSvc.activationRequested ||\r\n lotSubmitData.lotStatus === this.constantsSvc.activationApproved)\r\n && fg.meter === 'On') {\r\n if (lotSubmitData.lotStatus === this.constantsSvc.activationRequested) {\r\n const msg = this.constantsSvc.activateSubmitted;\r\n swal(this.constantsSvc.errorSwal1, msg, this.constantsSvc.errorSwal);\r\n } else {\r\n const msg = this.constantsSvc.activateApproved;\r\n swal(this.constantsSvc.errorSwal1, msg, this.constantsSvc.errorSwal);\r\n }\r\n\r\n $('#modal_activate_deactivate').modal('hide');\r\n } else if ((lotSubmitData.lotStatus === this.constantsSvc.deactivationRequested\r\n || lotSubmitData.lotStatus === this.constantsSvc.deactivationApproved)\r\n && fg.meter !== 'On') {\r\n if (lotSubmitData.lotStatus === this.constantsSvc.deactivationRequested) {\r\n const msg = this.constantsSvc.deactivateSubmitted;\r\n swal(this.constantsSvc.errorSwal1, msg, this.constantsSvc.errorSwal);\r\n } else {\r\n const msg = this.constantsSvc.deactivationApproved;\r\n swal(this.constantsSvc.errorSwal1, msg, this.constantsSvc.errorSwal);\r\n }\r\n\r\n $('#modal_activate_deactivate').modal('hide');\r\n } else {\r\n // Assigning the data realted to Meter Acitvation Table\r\n this.model.id = this._lotData[0].lotNumber;\r\n this.model.grId = this._lotData[0].grId.toString();\r\n this.model.meterNum = fg.gasMeterNumber;\r\n this.model.turnOn = fg.meter === 'On' ? 'Y' : 'N';\r\n this.model.requestedDate = fg.requestedDate;\r\n this.model.email = fg.emailAddress;\r\n this.model.cornerLotNo = fg.isCornorLot;\r\n this.model.adjoinStreetName = fg.adjoinStreetName;\r\n this.model.recCreatedBy = this._lotData[0].builderId;\r\n this.model.recCreatedDTTM = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.model.builderId = this._lotData[0].builderId;\r\n this.model.closestMainInterSectStr = fg.closeMainIntrStr;\r\n this.model.comments = fg.specialNotes;\r\n this.model.streNameThroughFare = fg.streetNameThoroughfar;\r\n if (fg.marketerValue !== null && fg.marketerValue !== undefined) {\r\n this.model.marketerId = fg.marketerValue !== null ? fg.marketerValue['id'] : null;\r\n }\r\n // Assigning data related to Gas WR summary table\r\n lotSubmitData.unitNo = this.builderActivationOrDeactivationForm.controls['unitNumber'].value;\r\n lotSubmitData.subDivision = this.builderActivationOrDeactivationForm.controls['subdivision'].value;\r\n lotSubmitData.lotStatus = fg.meter === 'On' ? 'ACR' : 'DR';\r\n lotSubmitData.streetNo = this.builderActivationOrDeactivationForm.controls['streetNumber'].value;\r\n lotSubmitData.lotStatusUpdatedBy = this.userName;\r\n lotSubmitData.lotStatusUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n lotSubmitData.recUpdateDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n lotSubmitData.recUpdateUsrId = this.userName;\r\n if (this.builderActivationOrDeactivationForm.controls['directionPrefix'].value !== null\r\n && this.builderActivationOrDeactivationForm.controls['directionPrefix'].value !== undefined) {\r\n lotSubmitData.applicantDirectionPrefix = this.builderActivationOrDeactivationForm.controls['directionPrefix'].value['id'];\r\n }\r\n this.builderSvc.addMeter(this.model, lotSubmitData).subscribe(result => {\r\n if (result.status) {\r\n swal(this.constantsSvc.meterActDeactSwal, '', this.constantsSvc.successSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter3');\r\n this.reset();\r\n $('#modal_activate_deactivate').modal('hide');\r\n this.updateGridData();\r\n }\r\n }, result => {\r\n if (this.socoHttp.isInvalidResult(result)) {\r\n swal(this.constantsSvc.errorSwal1, result, this.constantsSvc.failedSwal);\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n // Validation for email and confirm email. Copmare the email and reEnter email and if the value is same\r\n // set the variable _validateEmail to false, Else set the _validateEmail to true.\r\n validateEmail() {\r\n const email = this.builderActivationOrDeactivationForm.controls['emailAddress'].value;\r\n const reEnterMail = this.builderActivationOrDeactivationForm.controls['reEnterEmailAddress'].value;\r\n if (email !== null && reEnterMail !== null) {\r\n if (email === reEnterMail) {\r\n this._validateEmail = false;\r\n return {reEnterEmailAddress: {validateEmail: false} };\r\n\r\n } else {\r\n this.builderActivationOrDeactivationForm.controls['reEnterEmailAddress'].setErrors({validateEmail : true});\r\n this._validateEmail = true;\r\n }\r\n }\r\n }\r\n\r\n // Reset event to reset the form controls and boolean of _validate email on close of the component.\r\n reset() {\r\n this._validateEmail = false;\r\n this.builderActivationOrDeactivationForm.reset();\r\n this.builderActivationOrDeactivationForm.updateValueAndValidity();\r\n }\r\n\r\n // Update grid event to emit the boolean value to the parent component to refresh the grid.\r\n updateGridData() {\r\n this.updateGrid.emit('true');\r\n }\r\n\r\n // On click of cancel event to refresh the parent grid component of service requet.\r\n OnClose() {\r\n this.updateGridData();\r\n this.reset();\r\n }\r\n// Reset event button to reset the non disabled fields.\r\n Fieldreset() {\r\n this._validateEmail = false;\r\n this.builderActivationOrDeactivationForm.controls['gasMeterNumber'].reset();\r\n this.builderActivationOrDeactivationForm.controls['subdivision'].reset();\r\n this.builderActivationOrDeactivationForm.controls['meter'].reset();\r\n this.builderActivationOrDeactivationForm.controls['requestedDate'].reset();\r\n this.builderActivationOrDeactivationForm.controls['emailAddress'].reset();\r\n this.builderActivationOrDeactivationForm.controls['reEnterEmailAddress'].reset();\r\n this.builderActivationOrDeactivationForm.controls['streetNumber'].reset();\r\n this.builderActivationOrDeactivationForm.controls['streetNameThoroughfar'].reset();\r\n this.builderActivationOrDeactivationForm.controls['isCornorLot'].reset();\r\n this.builderActivationOrDeactivationForm.controls['adjoinStreetName'].reset();\r\n this.builderActivationOrDeactivationForm.controls['marketerValue'].reset();\r\n this.builderActivationOrDeactivationForm.controls['specialNotes'].reset();\r\n this.builderActivationOrDeactivationForm.controls['directionPrefix'].reset();\r\n this.builderActivationOrDeactivationForm.controls['unitNumber'].reset();\r\n this.builderActivationOrDeactivationForm.controls['closeMainIntrStr'].reset();\r\n }\r\n}\r\n\r\n\r\n","export default \"@media only screen and (min-width: 1300px) {\\r\\n.pad {\\r\\n padding-top: 23px;\\r\\n}\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1299px) {\\r\\n .pad {\\r\\n padding-bottom: 10px;\\r\\n }\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5sb3QucmVxdWVzdC9zZXJ2aWNlLmxvdC5yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtFQUNFLGlCQUFpQjtBQUNuQjtBQUNBOztBQUVBO0VBQ0U7SUFDRSxvQkFBb0I7RUFDdEI7RUFDQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3JlcXVlc3Qvc2VydmljZS5yZXF1ZXN0L3NlcnZpY2UubG90LnJlcXVlc3Qvc2VydmljZS5sb3QucmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzAwcHgpIHtcclxuLnBhZCB7XHJcbiAgcGFkZGluZy10b3A6IDIzcHg7XHJcbn1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjk5cHgpIHtcclxuICAucGFkIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuICB9XHJcbiJdfQ== */\"","import { Component, OnInit, Output, EventEmitter, OnChanges, Input, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ConstantsService, LookupsService, RequestServiceModelView, AccountService } from '@app/base/core';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { BuilderService } from '@app/modules/builder';\r\nimport { triggerFormValidation, phoneNumber, focusFirstInvalidField } from '@app/shared/functions';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Subscription } from 'rxjs';\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'service-lot-request',\r\n templateUrl: './service.lot.request.component.html',\r\n styleUrls: ['./service.lot.request.component.css']\r\n})\r\nexport class ServiceLotRequestComponent implements OnInit, OnChanges, OnDestroy {\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n};\r\npublic postServiceReqSubscription: Subscription;\r\nuserName: string;\r\n // Constructor with the variables declared for necessary services to be used across the component.\r\n constructor(public constantsSvc: ConstantsService,\r\n public socoHttp: SocoHttpService, public builderSvc: BuilderService, public accountSvc: AccountService,\r\n public lookupSvc: LookupsService, private datePipe: DatePipe) {\r\n this.userName = this.accountSvc.account.user.username;\r\n }\r\n\r\n // Global variables to be used across the component.\r\n _lotData: RequestServiceModelView[];\r\n builderServiceDetailslotForm: FormGroup;\r\n\r\n // Input and output events for the service grid\r\n @Output() updateGrid = new EventEmitter();\r\n @Input() set lotdata(data: RequestServiceModelView[]) {\r\n this._lotData = data;\r\n }\r\n\r\n // On the initialization of the component the new From Group is initialized and the validators are set for the required fields.\r\n ngOnInit() {\r\n // Reactive Form Initialization\r\n this.builderServiceDetailslotForm = new FormGroup({\r\n 'firstNamelot': new FormControl(null, Validators.required),\r\n 'lastNamelot': new FormControl(null, Validators.required),\r\n 'contactNumberExtension': new FormControl(\r\n null,\r\n Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern)\r\n ),\r\n 'contactNumberlot': new FormControl(null, [Validators.required,\r\n Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n 'requestType': new FormControl({ value: null, disabled: true }),\r\n 'constructionSiteStatus': new FormControl({ value: null, disabled: true }),\r\n 'buildingPointId': new FormControl({ value: null, disabled: true }),\r\n 'lookerStatus': new FormControl({ value: null, disabled: true }),\r\n 'esitmatedInstallDateofService': new FormControl({ value: null, disabled: true }),\r\n 'actualInstallDateofService': new FormControl({ value: null, disabled: true }),\r\n });\r\n }\r\n\r\n // Capture the selected Gas request id from grid and display the data in form by using the patch Value function for form Group.\r\n ngOnChanges() {\r\n if (this._lotData !== undefined && this._lotData[0] !== undefined) {\r\n this.builderServiceDetailslotForm.reset();\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n\r\n this.builderServiceDetailslotForm.patchValue({\r\n firstNamelot: this._lotData[0].applicantContactName1,\r\n lastNamelot: this._lotData[0].applicantContactName2,\r\n contactNumberlot: this._lotData[0].applicantPhoneNumber,\r\n contactNumberExtension: this._lotData[0].applicantPhoneExtension,\r\n otherDeliveryPressure: this._lotData[0].applicantPhoneExtension,\r\n requestType: this._lotData[0].requestType,\r\n constructionSiteStatus: this._lotData[0].constructionSiteStatus,\r\n buildingPointId: this._lotData[0].buildingPointId,\r\n lookerStatus: this._lotData[0].lookerStatus ?\r\n ((this._lotData[0].lookerStatus.toLocaleLowerCase() === 'READY EXCEPT MATERIAL IN WAY'.toLocaleLowerCase()) ?\r\n this._lotData[0].lookerStatus : 'WORK IN PROGRESS') : 'WORK IN PROGRESS',\r\n esitmatedInstallDateofService: this.datePipe.transform(this._lotData[0].serviceNeededBy, 'MM/dd/yyyy'),\r\n actualInstallDateofService: this.datePipe.transform(this._lotData[0].actualInstallDateOfService, 'MM/dd/yyyy'),\r\n });\r\n this.builderServiceDetailslotForm.updateValueAndValidity();\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n }\r\n ngOnDestroy() {\r\n if (this.postServiceReqSubscription) {\r\n this.postServiceReqSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n // On click of submit the Form data is validated and if the form is valid,\r\n // The form data is assigned to RequestServiceModel and a http post call is made.\r\n // The success result is shown in swal and the error is handled by Soco Http Service.\r\n OnSubmit() {\r\n if (this.builderServiceDetailslotForm.valid) {\r\n const lotSubmitData = this._lotData[0];\r\n lotSubmitData.applicantContactName1 = this.builderServiceDetailslotForm.controls['firstNamelot'].value;\r\n lotSubmitData.applicantContactName2 = this.builderServiceDetailslotForm.controls['lastNamelot'].value;\r\n lotSubmitData.applicantPhoneNumber = phoneNumber(this.builderServiceDetailslotForm.controls['contactNumberlot'].value);\r\n lotSubmitData.applicantPhoneExtension = this.builderServiceDetailslotForm.controls['contactNumberExtension'].value;\r\n lotSubmitData.lotStatus = (this.lookupSvc.LotStatusTypes.find(x => x.itemName === this._lotData[0].lotStatus)).id;\r\n lotSubmitData.recUpdateDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n lotSubmitData.recUpdateUsrId = this.userName;\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.postServiceReqSubscription = this.builderSvc.PostServiceRequestBylotId(lotSubmitData).subscribe(result => {\r\n this.builderServiceDetailslotForm.patchValue({\r\n firstNamelot: result.data.applicantContactName1,\r\n lastNamelot: result.data.applicantContactName2,\r\n contactNumberlot: result.data.applicantPhoneNumber,\r\n contactNumberExtension: result.data.applicantPhoneExtension\r\n });\r\n swal(this.constantsSvc.lotDetailsUpdateSwal, '' , this.constantsSvc.successSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n $('#lot_details').modal('hide');\r\n this.builderServiceDetailslotForm.controls['firstNamelot'].reset();\r\n this.builderServiceDetailslotForm.controls['lastNamelot'].reset();\r\n this.builderServiceDetailslotForm.controls['contactNumberlot'].reset();\r\n this.builderServiceDetailslotForm.controls['contactNumberExtension'].reset();\r\n this.updateGrid.emit('true');\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.postRequestFail, this.constantsSvc.errorSwal);\r\n });\r\n } else {\r\n triggerFormValidation(this.builderServiceDetailslotForm);\r\n focusFirstInvalidField(this.builderServiceDetailslotForm);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n }\r\n\r\n // On post request an update event is triggerd to the parent component service request.\r\n updateGridData() {\r\n this.updateGrid.emit('true');\r\n }\r\n\r\n}\r\n\r\n\r\n","export default \".modal\\r\\n{\\r\\n padding-top: 407px !important;\\r\\n}\\r\\n@media only screen and (min-width: 1110px) {\\r\\n .pad {\\r\\n padding-top: 30px;\\r\\n }\\r\\n }\\r\\n@media only screen and (max-width: 1009px) {\\r\\n .pad {\\r\\n padding-top: 0px;\\r\\n }\\r\\n }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5uZXcucmVxdWVzdC9zZXJ2aWNlLm5ldy5yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0VBRUUsNkJBQTZCO0FBQy9CO0FBQ0E7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjtFQUNBO0FBQ0E7SUFDRTtNQUNFLGdCQUFnQjtJQUNsQjtJQUNBIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5uZXcucmVxdWVzdC9zZXJ2aWNlLm5ldy5yZXF1ZXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kYWxcclxue1xyXG4gIHBhZGRpbmctdG9wOiA0MDdweCAhaW1wb3J0YW50O1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTExMHB4KSB7XHJcbiAgLnBhZCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcclxuICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwOXB4KSB7XHJcbiAgICAucGFkIHtcclxuICAgICAgcGFkZGluZy10b3A6IDBweDtcclxuICAgIH1cclxuICAgIH1cclxuXHJcbiJdfQ== */\"","import { Component, OnInit, Output, EventEmitter, Input, OnChanges, OnDestroy } from '@angular/core';\r\nimport { FormGroup, Validators, FormBuilder, FormArray, FormControl } from '@angular/forms';\r\nimport { ConstantsService, LookupsService, AccountService, SessionService, GasApplianceModel,\r\n RequestServiceModelView} from '@app/base/core';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { BuilderService } from '@app/modules/builder';\r\nimport { UspsService } from '@app/shared/services';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { compareObjects, focusFirstInvalidField, phoneNumber, triggerFormValidation } from '@app/shared/functions';\r\nimport { GridDataResult, DataStateChangeEvent, RowArgs, SelectAllCheckboxState } from '@progress/kendo-angular-grid';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { DatePipe } from '@angular/common';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\n\r\nconst moment = require('moment');\r\nrequire('moment-weekday-calc');\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'service-new-request',\r\n templateUrl: './service.new.request.component.html',\r\n styleUrls: ['./service.new.request.component.css']\r\n})\r\n// Service Request Component implements service request Form\r\nexport class ServiceNewRequestComponent implements OnInit, OnChanges, OnDestroy {\r\n public dateOptions: any = {\r\n alwaysShowCalendars: false,\r\n singleDatePicker: true,\r\n autoUpdateInput: true,\r\n showDropdowns: true,\r\n parentEl: '.dateClass .col-md-6',\r\n minDate: moment().addWorkdays(21),\r\n isInvalidDate: (date) => (date.day() === 0 || date.day() === 6)\r\n};\r\npublic killsubscribe: boolean;\r\npublic postServiceReqSubscription: Subscription;\r\n // Constructor with the variables declared for necessary services to be used across the component.\r\n constructor(public constantsSvc: ConstantsService, public builderSvc: BuilderService, private httpC: HttpClient,\r\n public lookupSvc: LookupsService, public socoHttp: SocoHttpService, private usps: UspsService,\r\n private datePipe: DatePipe, private config: SocoConfigurationService,\r\n public accountSvc: AccountService, public sessionSvc: SessionService, private formBuilder: FormBuilder) {\r\n this.userName = this.accountSvc.account.user.username;\r\n }\r\n // Global variables to be used across different functions.\r\n addressValidationError: any;\r\n addressToValidate: any;\r\n validatedAddress: any;\r\n _lotData: RequestServiceModelView[];\r\n applianceData: GasApplianceModel;\r\n streetname: any;\r\n info: string;\r\n streetnumber: number;\r\n city: string;\r\n state: any;\r\n zipcode: string;\r\n county: any;\r\n applianceCountS = true;\r\n builderServiceDetailsForm: FormGroup;\r\n userName: string;\r\n myVal = false;\r\n newVal = true;\r\n selectedFile = null;\r\n selectedIDsforSubDivision: any[] = [];\r\n public btuLoadVal = 'BTU Load Value (Optional)';\r\n public rowValue: string;\r\n AttachmentList: string[] = [];\r\n public SearchResultsGridView: GridDataResult;\r\n public take = 5;\r\n public kendostate: State = {\r\n skip: 0,\r\n take: 5,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n\r\n // The Output event emits the event to update the grid in parent Service request component\r\n @Output() updateGrid = new EventEmitter();\r\n\r\n // The input variable accepts the services grid click event row data,\r\n // The row data is assigned to respective columns in the form.\r\n @Input() set lotdata(data: RequestServiceModelView[]) {\r\n this._lotData = data;\r\n }\r\n ngOnDestroy() {\r\n if ($('#address_validation_modal').is(':visible')) {\r\n $('#address_validation_modal').modal('hide');\r\n }\r\n this.killsubscribe = false;\r\n if (this.postServiceReqSubscription) {\r\n this.postServiceReqSubscription.unsubscribe();\r\n }\r\n }\r\n// The initialization of the Form Group, which includes the disabled fields and validations.\r\n ngOnInit() {\r\n this.killsubscribe = true;\r\n this.applianceData = new GasApplianceModel();\r\n this.builderServiceDetailsForm = this.formBuilder.group({\r\n companyName: [{ value: null, disabled: true }],\r\n contactNumber1: [{ value: null, disabled: true }],\r\n contactNumberExtension1: [{ value: null, disabled: true }],\r\n email: [{ value: null, disabled: true }],\r\n streetNumber: [null, [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]],\r\n unitNumber: [null, [Validators.pattern(this.constantsSvc.alphaNumericPattern)]],\r\n city: [{ value: null, disabled: true }],\r\n state: [{ value: null, disabled: true }],\r\n zipCode: [{ value: null, disabled: true }],\r\n district: [null],\r\n appliancesForSubdivision: new FormArray([new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n defaultValue: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n existingLoad: new FormControl(false)\r\n }\r\n )]\r\n ),\r\n streetName: [null, Validators.required],\r\n plannedDateModal: [null, Validators.pattern(this.constantsSvc.dateValidator)],\r\n deliveryPressure: [null],\r\n subdivisionApproximateSquareFootage: [null],\r\n pCompanyName: [null],\r\n contactPerson: [null],\r\n pPhoneNumber: [null],\r\n firstName: [null],\r\n lastName: [null],\r\n contactNumber: [null, [\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.phoneNumberPattern)\r\n ]],\r\n contactNumberExtension: [null, Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern)],\r\n email1: [null, Validators.pattern(this.constantsSvc.emailPattern)],\r\n other : [null]\r\n });\r\n }\r\n\r\n // On changes to the @input lotData value, The function detects the input from grid click,\r\n // And assign the grid details to form. Based on the lot data for city and state make the web api call to get\r\n // realted city lookups\r\n ngOnChanges() {\r\n this.lookupSvc.commonLookupsLoaded$.subscribe(isloaded => {\r\n if (isloaded && this._lotData !== undefined) {\r\n this.builderServiceDetailsForm.reset();\r\n this.builderSvc.GetLots(this._lotData[0].grId, this._lotData[0].builderId).subscribe(result2 => {\r\n const tempList: any = [];\r\n for (const i of result2.data) {\r\n if (i.lotNumber === this._lotData[0].lotNumber) {\r\n tempList.push(i);\r\n }\r\n }\r\n this.builderSvc.getSubsidiaryInfo([tempList[tempList.length - 1].builderId]).subscribe(result => {\r\n this.builderServiceDetailsForm.patchValue({\r\n companyName : result.data[0].companyName,\r\n email : result.data[0].email,\r\n contactNumber1 : result.data[0].builderAddresses.contactName1Phone,\r\n contactNumberExtension1 : result.data[0].builderAddresses.contactName1Extn\r\n });\r\n });\r\n });\r\n this.socoHttp.showPleaseWait('Processing.', 'ContainerAwaiter4');\r\n const lotdetails = this._lotData[0];\r\n console.log(lotdetails);\r\n this.builderServiceDetailsForm.patchValue({\r\n firstName: lotdetails.applicantContactName1,\r\n lastName: lotdetails.applicantContactName2,\r\n contactNumber: lotdetails.applicantPhoneNumber,\r\n contactNumberExtension: lotdetails.applicantPhoneExtension,\r\n deliveryPressure: (lotdetails.deliveryPressure != null && this.lookupSvc.deliveryPressure !== undefined)\r\n ? this.lookupSvc.deliveryPressure.find(a => a.itemName === lotdetails.deliveryPressure) : null,\r\n email1: lotdetails.applicantEmail,\r\n zipCode: lotdetails.zip,\r\n subdivisionApproximateSquareFootage: lotdetails.heatedSquareFootage,\r\n email: this.accountSvc.account.user.email,\r\n unitNumber: lotdetails.unitNo,\r\n other : lotdetails.otherDeliveryPressure !== null ? lotdetails.otherDeliveryPressure : null,\r\n plannedDateModal : lotdetails.serviceNeededBy != null ? this.datePipe.transform(lotdetails.serviceNeededBy, 'MM/dd/yyyy') : null\r\n });\r\n this.info = lotdetails.address;\r\n this.streetnumber = lotdetails.streetNo;\r\n this.city = lotdetails.city;\r\n this.state = lotdetails.stateCd;\r\n this.zipcode = lotdetails.zip;\r\n this.streetname = lotdetails.streetName;\r\n // passing the state and city and county id to check for the address.\r\n if (this.state != null && this.city != null) {\r\n this.lookupSvc.loadServiceAddressLookups(this.state, this.city, null);\r\n\r\n const subscription = this.lookupSvc.serviceAddressLookupsLoaded$.subscribe(isLoaded => {\r\n if (isLoaded) {\r\n if (subscription !== undefined) {\r\n subscription.unsubscribe();\r\n }\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter4');\r\n this.state = this.lookupSvc.serviceState.find(x => x.id.toUpperCase() === this.state);\r\n const ab = (this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.city.toUpperCase()));\r\n if (ab !== undefined && ab.itemName === this.city) {\r\n this.city = ab.itemName;\r\n }\r\n this.builderServiceDetailsForm.patchValue({\r\n streetNumber: this.streetnumber,\r\n streetName: this.streetname,\r\n city: this.city,\r\n state: this.state,\r\n zipCode: this.zipcode,\r\n });\r\n }\r\n });\r\n } else {\r\n this.builderServiceDetailsForm.patchValue({\r\n streetNumber: this.streetnumber,\r\n streetName: this.streetname,\r\n city: this.city,\r\n state: this.state != null ? this.lookupSvc.states.find(a => a.id === this.state) : null,\r\n zipCode: this.zipcode,\r\n });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter4');\r\n }\r\n this.builderServiceDetailsForm.updateValueAndValidity();\r\n }\r\n });\r\n}\r\n\r\n // When user clicks on submit if the form data is valid it is assigned to a modal of type requestServiceModel.\r\n // Else a swal alert is shown to fill in the incorrect/empty fields.\r\n OnSubmit() {\r\n const lotData = this._lotData[0];\r\n if (lotData.stateCd === 'VA') {\r\n if ( this.myVal === true) {\r\n this.newVal = true;\r\n } else {\r\n this.newVal = false;\r\n }\r\n }\r\n if (this.builderServiceDetailsForm.controls['deliveryPressure'].valid &&\r\n this.builderServiceDetailsForm.controls['deliveryPressure'].value['itemName'] === '2 #') {\r\n this.builderServiceDetailsForm.controls['pCompanyName'].setValidators(Validators.required);\r\n this.builderServiceDetailsForm.controls['contactPerson'].setValidators(Validators.required);\r\n this.builderServiceDetailsForm.controls['pPhoneNumber'].setValidators(Validators.required);\r\n this.builderServiceDetailsForm.controls['pCompanyName'].updateValueAndValidity();\r\n this.builderServiceDetailsForm.controls['contactPerson'].updateValueAndValidity();\r\n this.builderServiceDetailsForm.controls['pPhoneNumber'].updateValueAndValidity();\r\n this.builderServiceDetailsForm.updateValueAndValidity();\r\n } else {\r\n this.builderServiceDetailsForm.controls['pCompanyName'].clearValidators();\r\n this.builderServiceDetailsForm.controls['contactPerson'].clearValidators();\r\n this.builderServiceDetailsForm.controls['pPhoneNumber'].clearValidators();\r\n this.builderServiceDetailsForm.controls['pCompanyName'].updateValueAndValidity();\r\n this.builderServiceDetailsForm.controls['contactPerson'].updateValueAndValidity();\r\n this.builderServiceDetailsForm.controls['pPhoneNumber'].updateValueAndValidity();\r\n this.builderServiceDetailsForm.updateValueAndValidity();\r\n }\r\n if (this.builderServiceDetailsForm.valid && this.newVal) {\r\n const lotSubmitData = this._lotData[0];\r\n lotSubmitData.applicantContactName1 = this.builderServiceDetailsForm.controls['firstName'].value;\r\n lotSubmitData.applicantContactName2 = this.builderServiceDetailsForm.controls['lastName'].value;\r\n lotSubmitData.applicantPhoneNumber = phoneNumber(this.builderServiceDetailsForm.controls['contactNumber'].value);\r\n lotSubmitData.applicantPhoneExtension = this.builderServiceDetailsForm.controls['contactNumberExtension'].value;\r\n lotSubmitData.address =\r\n (this.builderServiceDetailsForm.getRawValue().streetNumber +\r\n ' ' + this.builderServiceDetailsForm.getRawValue().streetName) + ','\r\n + this.builderServiceDetailsForm.getRawValue().city + ','\r\n + this.builderServiceDetailsForm.getRawValue().state.id + ' '\r\n + this.builderServiceDetailsForm.getRawValue().zipCode;\r\n lotSubmitData.city = this.builderServiceDetailsForm.controls['city'].value;\r\n lotSubmitData.stateCd = this.builderServiceDetailsForm.controls['state'].value.id;\r\n lotSubmitData.heatedSquareFootage = this.builderServiceDetailsForm.controls['subdivisionApproximateSquareFootage'].value !== null\r\n ? this.builderServiceDetailsForm.controls['subdivisionApproximateSquareFootage'].value : null;\r\n lotSubmitData.zip = this.builderServiceDetailsForm.controls['zipCode'].value;\r\n lotSubmitData.streetName = this.builderServiceDetailsForm.controls['streetName'].value;\r\n lotSubmitData.streetNo = this.builderServiceDetailsForm.controls['streetNumber'].value;\r\n lotSubmitData.lotStatus = 'SR';\r\n lotSubmitData.lotStatusUpdatedBy = this.userName;\r\n lotSubmitData.lotStatusUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n lotSubmitData.recUpdateDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n lotSubmitData.recCreateUsrId = this.userName;\r\n lotSubmitData.deliveryPressure = this.builderServiceDetailsForm.controls['deliveryPressure'].value['itemName'];\r\n lotSubmitData.plumberCompanyName = this.builderServiceDetailsForm.controls['pCompanyName'].value;\r\n lotSubmitData.plumberContactName = this.builderServiceDetailsForm.controls['contactPerson'].value;\r\n lotSubmitData.plumberContactNo = phoneNumber(this.builderServiceDetailsForm.controls['pPhoneNumber'].value).length > 20\r\n ? null : phoneNumber(this.builderServiceDetailsForm.controls['pPhoneNumber'].value);\r\n lotSubmitData.applicantEmail = this.builderServiceDetailsForm.controls['email1'].value;\r\n lotSubmitData.unitNo = this.builderServiceDetailsForm.controls['unitNumber'].value;\r\n lotSubmitData.serviceNeededBy = this.builderServiceDetailsForm.controls['plannedDateModal'].value;\r\n if (this.selectedFile !== null) {\r\n const fd = new FormData();\r\n fd.append('file', this.selectedFile, this.selectedFile.name);\r\n fd.append('grId', lotSubmitData.grId.toString());\r\n this.httpC.post(this.accountSvc.account.apiInfo.webApiBaseUrl + 'Lots/UploadAttachment?WrSummaryId=' + lotSubmitData.id, fd\r\n ).subscribe(data => {\r\n console.log(data);\r\n }, error => {\r\n console.log(error);\r\n });\r\n }\r\n for (const appArr of this.builderServiceDetailsForm['controls'].appliancesForSubdivision['controls']) {\r\n const gasAppliance = this.applianceData;\r\n gasAppliance.applianceCd = appArr.controls['defaultAppliance'].value['id'];\r\n gasAppliance.applianceDesc = appArr.controls['defaultAppliance'].value['itemName'];\r\n gasAppliance.loadValue = +appArr.controls['defaultValue'].value;\r\n gasAppliance.quantity = appArr.controls['quantity'].value;\r\n gasAppliance.recCreatedBy = this.userName;\r\n gasAppliance.recUpdatedBy = this.userName;\r\n gasAppliance.recUpdatedDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n gasAppliance.recCreatedDttm = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n gasAppliance.wrSummaryId = lotSubmitData.id;\r\n gasAppliance.applianceOthers = appArr.controls['defaultApplianceOther'].value !== null\r\n ? appArr.controls['defaultApplianceOther'].value : null;\r\n this.builderSvc.addAppliance(gasAppliance).subscribe(result => {\r\n this.builderServiceDetailsForm.patchValue({\r\n quantity: result.data.quantity\r\n }); });\r\n }\r\n lotSubmitData.otherDeliveryPressure = this.builderServiceDetailsForm.controls['other'].value !== null\r\n ? this.builderServiceDetailsForm.controls['other'].value : null;\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter4');\r\n this.postServiceReqSubscription = this.builderSvc.PostServiceRequestBylotId(lotSubmitData).subscribe(result => {\r\n this.builderServiceDetailsForm.patchValue({\r\n firstName: result.data.applicantContactName1,\r\n lastName: result.data.applicantContactName2,\r\n contactNumber: result.data.applicantPhoneNumber,\r\n contactNumberExtension: result.data.applicantPhoneExtension\r\n });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter4');\r\n $('#modal_request_service').modal('hide');\r\n swal(this.constantsSvc.serviceRequestSwal, '', this.constantsSvc.successSwal);\r\n this.builderServiceDetailsForm.reset();\r\n this.builderServiceDetailsForm.updateValueAndValidity();\r\n this.updateGrid.emit('true');\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.postRequestFail, this.constantsSvc.errorSwal);\r\n });\r\n } else {\r\n triggerFormValidation(this.builderServiceDetailsForm);\r\n focusFirstInvalidField(this.builderServiceDetailsForm);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter4');\r\n }\r\n }\r\n\r\n // USPS Validation involves gre-address-validation custom component to pass the data to component to display suggested address.\r\n // aganist the user entered address.\r\n validateAddress() {\r\n this.Modalpopupfunction();\r\n this.addressToValidate = {\r\n street: (this.builderServiceDetailsForm.getRawValue().streetNumber +\r\n ' ' + this.builderServiceDetailsForm.getRawValue().streetName).toUpperCase(),\r\n city: this.builderServiceDetailsForm.getRawValue().city.toUpperCase(),\r\n state: this.builderServiceDetailsForm.getRawValue().state.id.toUpperCase(),\r\n zip: this.builderServiceDetailsForm.getRawValue().zipCode\r\n };\r\n if (this.addressToValidate) {\r\n this.usps.GetValidatedAddress(this.addressToValidate, (result) => {\r\n if (result.Error) {\r\n this.addressValidationError = result.Error.Description;\r\n } else {\r\n this.validatedAddress = result;\r\n }\r\n\r\n if (!compareObjects(this.addressToValidate, this.validatedAddress)) {\r\n $('#address_validation_modal').modal({ show: true });\r\n }\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n // select Appliance\r\n onApplianceSelected(item: any, appArr: FormGroup, subArr: FormGroup) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].reset(null);\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n if (item['itemName'].toUpperCase() === this.constantsSvc.other) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultApplianceOther'].setValidators(\r\n Validators.required\r\n );\r\n appArr.controls['defaultValue'].setValidators(\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n );\r\n appArr.controls['defaultApplianceOther'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n } else if ((item['itemName'] === this.constantsSvc.poolHeater) || (item['itemName'] === this.constantsSvc.standbyGenerator)) {\r\n this.btuLoadVal = this.constantsSvc.btuLoadOption;\r\n appArr.controls['defaultValue'].clearValidators();\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultValue'].setValidators(\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n );\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n } else {\r\n \r\n this.btuLoadVal = this.constantsSvc.btuLoad;\r\n const homeSqFt = subArr.controls['subdivisionApproximateSquareFootage'].value;\r\n const requestType = item.usageType.toUpperCase() ==='RESIDENTIAL' ? 'RES':'COMM';\r\n \r\n const loadValue = this.lookupSvc.wrLoadArmLkp.filter(load => \r\n load.loadTypeCode === item.id && load.resiComm === requestType &&\r\n ((load.minSqFTG === null || load.minSqFTG <= homeSqFt) &&\r\n (load.maxSqFTG === null || load.maxSqFTG >= homeSqFt))\r\n );\r\n\r\n if(loadValue.length > 0)\r\n {\r\n appArr.controls['defaultValue'].setValue(loadValue[0]['itemName']);\r\n }\r\n\r\n appArr.controls['defaultApplianceOther'].reset(null);\r\n appArr.controls['defaultApplianceOther'].clearValidators();\r\n appArr.controls['defaultValue'].setValidators([\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n ]);\r\n appArr.controls['defaultValue'].updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n }\r\n appArr.updateValueAndValidity();\r\n }\r\n\r\nonFileSelected(event) {\r\n this.myVal = true;\r\n this.newVal = true;\r\n this.selectedFile = event.target.files[0];\r\n}\r\n // Binding data on statechange\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.take = state.take;\r\n }\r\n\r\n // Attachment Selection\r\n selectionChange(ev: any) {\r\n if (ev.selectedRows.length !== 0) {\r\n for (let i = 0; i < ev.selectedRows.length; i++) {\r\n this.AttachmentList.push(ev.selectedRows[i].dataItem.name);\r\n }\r\n } else {\r\n for (let i = 0; i < ev.deselectedRows.length; i++) {\r\n this.AttachmentList.splice(ev.deselectedRows[i].dataItem.name, 1);\r\n }\r\n }\r\n this.rowValue = ev.index;\r\n }\r\n\r\n public mySelectionKey(context: RowArgs): string {\r\n return context.dataItem.ProductName + ' ' + context.index;\r\n }\r\n\r\n // Modalpopupfunctionality for the nested modalpopup ui change\r\n private Modalpopupfunction() {\r\n setTimeout(() => {\r\n $('#address_validation_modal').modal({\r\n show: true\r\n });\r\n $('#address_validation_modal').on('show.bs.modal', '.modal', function (event) {\r\n const zIndex = 1040 + (10 * $('.modal:visible').length);\r\n $(this).css('z-index', zIndex);\r\n setTimeout(function () {\r\n $('.modal-backdrop').not('.modal-stack').css('z-index', zIndex - 1).addClass('modal-stack');\r\n }, 0);\r\n });\r\n $('#address_validation_modal').on('hidden.bs.modal', '.modal', function () {\r\n $('.modal:visible').length && $('#address_validation_modal').removeClass('modal-open');\r\n });\r\n $(document).on('hidden.bs.modal', '.modal', function () {\r\n $('.modal:visible').length && $(document.body).addClass('modal-open');\r\n });\r\n $('modal_request_service').prepend($('#address_validation_modal'));\r\n }, 2);\r\n }\r\n\r\n // To emit and event using the @output with UpdateGridData() to refresh the service request component.\r\n updateGridData() {\r\n this.updateGrid.emit('true');\r\n }\r\n\r\n // To validate the selected addresss is same as user input address.\r\n // The function is called on the gre-address-validation.\r\n getAddressFromModal(selectedAddress) {\r\n // Address to validate is same as validated one.\r\n if (!compareObjects(this.addressToValidate, selectedAddress)) {\r\n this.builderServiceDetailsForm.patchValue(\r\n {\r\n streetName: selectedAddress.street.substr(selectedAddress.street.indexOf(' ') + 1),\r\n streetNumber: selectedAddress.street.split(' ')[0]\r\n });\r\n }\r\n $('#address_validation_modal').modal('hide');\r\n this.builderServiceDetailsForm.updateValueAndValidity();\r\n }\r\n\r\n // When the address given by the user is incomplete and USPS modal is to be closed\r\n // Modal Change event event is called on the gre-address-validation.\r\n modalChangeMailingAddress() {\r\n $('#address_validation_modal').modal('hide');\r\n focusFirstInvalidField(this.builderServiceDetailsForm);\r\n }\r\n\r\n // On click of cancel event update the Grid data and reset the FromGroup\r\n OnClose() {\r\n this.updateGridData();\r\n this.builderServiceDetailsForm.reset();\r\n }\r\n\r\n // To add appliances for Subdivision\r\n addAppliancesforSubDivision(element) {\r\n const formArray = element.get('appliancesForSubdivision');\r\n formArray.push(\r\n new FormGroup({\r\n defaultAppliance: new FormControl(null, [Validators.required]),\r\n defaultApplianceOther: new FormControl(null),\r\n quantity: new FormControl('', [\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPattern)\r\n ]),\r\n defaultValue: new FormControl('', [\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)\r\n ])\r\n })\r\n );\r\n if (formArray.length > 49) {\r\n this.applianceCountS = false;\r\n }\r\n }\r\n\r\n // Delete appliances for subdivision premise\r\n deleteApplianceforSubDivision(element) {\r\n const control = element.get('appliancesForSubdivision');\r\n if (this.selectedIDsforSubDivision.length === 0) {\r\n swal(this.constantsSvc.premiseSwal1, this.constantsSvc.premiseSwal2);\r\n }\r\n this.selectedIDsforSubDivision.sort((a, b) => b - a);\r\n this.selectedIDsforSubDivision.forEach(function (index) {\r\n control.removeAt(index);\r\n });\r\n if (control.length < 50) {\r\n this.applianceCountS = true;\r\n }\r\n this.selectedIDsforSubDivision = [];\r\n }\r\n\r\n // selected ID's of appliances to delete\r\n selectIDforSubDivision(id, event: any) {\r\n if (event.target.checked) {\r\n this.selectedIDsforSubDivision.push(id);\r\n } else if (!event.target.checked) {\r\n const index = this.selectedIDsforSubDivision.indexOf(id);\r\n this.selectedIDsforSubDivision.splice(index, 1);\r\n }\r\n }\r\n\r\n // Function to display other text box if user selected Others as Delivery Pressure, and to hide the other text box\r\n // if user selected anything other than other.\r\n onStateChange(data: any) {\r\n if (data !== undefined && data['itemName'].toUpperCase() === this.constantsSvc.other ) {\r\n this.builderServiceDetailsForm.controls['other'].setValidators(Validators.required);\r\n this.builderServiceDetailsForm.updateValueAndValidity();\r\n } else {\r\n this.builderServiceDetailsForm.controls['other'].clearValidators();\r\n this.builderServiceDetailsForm.controls['other'].reset();\r\n this.builderServiceDetailsForm.updateValueAndValidity({\r\n onlySelf: true\r\n });\r\n }\r\n }\r\n}\r\n\r\n","export default \".k-grid-header .k-header {\\r\\n white-space: normal;\\r\\n}\\r\\n.help-block {\\r\\n display: block;\\r\\n margin-top: 5px;\\r\\n margin-bottom: 10px;\\r\\n color: #737373 !important;\\r\\n}\\r\\n.row {\\r\\n margin-left: -11px;\\r\\n margin-right: -11px;\\r\\n}\\r\\n@media only screen and (max-width: 765px) {\\r\\n.k-filter-row td,.k-filter-row th {\\r\\n padding:0px !important;\\r\\n}\\r\\n}\\r\\n.panel-heading.bg-info {\\r\\n margin-left: -1px!important;\\r\\n}\\r\\nlegend {\\r\\n font-size: 12px;\\r\\n text-transform: uppercase;\\r\\n background-color: rgba(240, 240, 240, 1)!important;\\r\\n padding: 10px!important;\\r\\n border: 1px dotted #aaa!important;\\r\\n color: #000 !important;\\r\\n}\\r\\n.k-grid-pdf {\\r\\n background-color: #f44336!important;\\r\\n border-color: #f44336!important;\\r\\n color: #fff!important;\\r\\n background-image: none!important;\\r\\n}\\r\\n.k-grid-excel {\\r\\n background-color: #66bb6a!important;\\r\\n border-color: #66bb6a!important;\\r\\n color: #fff!important;\\r\\n background-image: none!important;\\r\\n}\\r\\n.projectNumber {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n margin-bottom: 20px;\\r\\n line-height: inherit;\\r\\n color: #333333;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #d8d8d8;\\r\\n font-weight: bold;\\r\\n}\\r\\n.projectNumber-title {\\r\\n color: black !important;\\r\\n}\\r\\n@media only screen and (max-width: 768px) {\\r\\n .btn\\r\\n {\\r\\n\\r\\n width: 190px !important;\\r\\n\\r\\n }\\r\\n\\r\\n\\r\\n .k-grid-toolbar .k-button+.k-button{\\r\\n margin-left: 0px !important;\\r\\n top: 2px !important;\\r\\n }\\r\\n}\\r\\n.toolbar-headr-lbl-alignment {\\r\\n right: 0px;\\r\\n}\\r\\n/* @media only screen and (min-width:961px) {\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:40px !important ;\\r\\n\\r\\n }\\r\\n} */\\r\\n@media only screen and (max-width: 320px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:10px !important ;\\r\\n\\r\\n }\\r\\n .k-button {\\r\\n font-size: 11px;\\r\\n width: 100px !important;\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width: 321px) and (max-width: 360px){\\r\\n /* .toolbar-headr-btn-alignment {\\r\\n right:10px !important ;\\r\\n\\r\\n } */\\r\\n .k-button {\\r\\n font-size: 12px;\\r\\n width: 120px !important;\\r\\n\\r\\n}\\r\\n}\\r\\n@media only screen and (min-width: 768px) and (max-width: 1023px){\\r\\n /* .toolbar-headr-btn-alignment {\\r\\n right:200px !important ;\\r\\n\\r\\n } */\\r\\n .btnDiv{\\r\\n padding-top: 0px !important;\\r\\n }\\r\\n\\r\\n}\\r\\n.lot-highlight\\r\\n{\\r\\n cursor:pointer !important;\\r\\n text-decoration:underline !important;\\r\\n color:#03a9f4 !important;\\r\\n}\\r\\n.builderHome-margin\\r\\n{\\r\\n margin-top:-20px !important;\\r\\n}\\r\\n.mobileTable{\\r\\n padding-left: 10px;\\r\\n word-wrap: break-word;\\r\\n}\\r\\ndl {\\r\\n border-bottom: #1d1b1b solid 2px !important;\\r\\n margin-bottom: -8px !important;\\r\\n margin-left: -11.6px !important;\\r\\n margin-right: -11.6px !important;\\r\\n}\\r\\n.bg-primary {\\r\\n background-color: #2196F3 !important;\\r\\n border-color: #2196F3 !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n }\\r\\n.bg-blue-800 {\\r\\n background-color: #0277BD !important;\\r\\n border-color: #0277BD !important;\\r\\n color: #fff !important;\\r\\n background-image: none !important;\\r\\n}\\r\\n.k-disabled, .k-state-disabled{\\r\\n background-color: darkgrey !important;\\r\\n color: white !important;\\r\\n background-image: none !important;\\r\\n}\\r\\n@media only screen and (max-width: 480px){\\r\\n .k-button[_ngcontent-c5] {\\r\\n font-size: 11px !important;\\r\\n width: 100px!important;\\r\\n }\\r\\n }\\r\\n@media only screen and (min-width: 480px) and (max-width: 768px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:10px !important ;\\r\\n\\r\\n }\\r\\n .k-button {\\r\\n font-size: 12px;\\r\\n width: 120px !important;\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width: 768px) and (max-width: 1024px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:100px !important ;\\r\\n\\r\\n }\\r\\n .btnDiv{\\r\\n padding-top: 0px !important;\\r\\n }\\r\\n\\r\\n}\\r\\n@media only screen and (min-width: 1025px) and (max-width: 1200px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:25px !important ;\\r\\n\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width: 1200px){\\r\\n .toolbar-headr-btn-alignment {\\r\\n right:50px !important ;\\r\\n\\r\\n }\\r\\n .myCol{\\r\\n display: flex;\\r\\n flex-direction: row;\\r\\n width:inherit; /* Safari 6.1+ */ /* IE 10 */\\r\\n flex: 1;\\r\\n justify-content:space-between;\\r\\n }\\r\\n\\r\\n}\\r\\n@media only screen and (min-width: 768px) {\\r\\n.k-button\\r\\n{\\r\\n width: 126px !important;\\r\\n top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n}\\r\\n:host ::ng-deep .k-numeric-wrap .k-input{\\r\\n min-width: 30px !important;\\r\\n}\\r\\nkendo-dropdownlist {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n}\\r\\n@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 768px) {\\r\\n .k-button {\\r\\n width: 135px !important;\\r\\n }\\r\\n :host ::ng-deep .k-numeric-wrap .k-input{\\r\\n min-width: 30px !important;\\r\\n }\\r\\n}\\r\\n.k-button\\r\\n{\\r\\n width: 132px !important;\\r\\n\\r\\n}\\r\\n@media (min-width: 1025px){\\r\\n .btnBldrReassnment{\\r\\n right: 140px;\\r\\n }\\r\\n}\\r\\n.btnwidth{\\r\\n width:145px !important;\\r\\n}\\r\\n#brdCrmb{\\r\\n display: none !important;\\r\\n}\\r\\n@media only screen and (max-width: 767px){\\r\\n#brdCrmb{\\r\\n display: block !important;\\r\\n}\\r\\n}\\r\\n@media only screen and (max-width: 321px) {\\r\\n .k-button {\\r\\n width: 90px !important;\\r\\n font-size: 8px;\\r\\n }\\r\\n}\\r\\n@media only screen and (min-width: 321px) and (max-width: 361px) {\\r\\n .k-button {\\r\\n width: 100px !important;\\r\\n font-size: 10px;\\r\\n }\\r\\n}\\r\\n.breadcrumb {\\r\\n border-radius: 0;\\r\\n margin-bottom: 0;\\r\\n margin-top: -20px;\\r\\n}\\r\\n#projectNumber-title {\\r\\n margin-top: -10px;\\r\\n color: black !important;\\r\\n}\\r\\n#projectHeading{\\r\\n font-size:12px;\\r\\n color:black !important;\\r\\n padding: 5px;\\r\\n\\r\\n}\\r\\n#projectName{\\r\\n margin-top:-10px;\\r\\n}\\r\\n/*@media only screen and (max-width: 1025px) {\\r\\n\\r\\n #projectName {\\r\\n margin-top: 3px !important;\\r\\n }\\r\\n}*/\\r\\n.exportPdf,.exportPdf:disabled {\\r\\n background-color: #f44336 !important;\\r\\n}\\r\\n.exportExcel,.exportExcel:disabled {\\r\\n background-color: #66bb6a !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQkFBbUI7QUFDckI7QUFDQTtJQUNJLGNBQWM7SUFDZCxlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtBQUN2QjtBQUNBO0FBQ0E7Q0FDQyxzQkFBc0I7QUFDdkI7QUFDQTtBQUVBO0lBQ0ksMkJBQTJCO0FBQy9CO0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGtEQUFrRDtJQUNsRCx1QkFBdUI7SUFDdkIsaUNBQWlDO0lBQ2pDLHNCQUFzQjtBQUMxQjtBQUNBO0VBQ0UsbUNBQW1DO0VBQ25DLCtCQUErQjtFQUMvQixxQkFBcUI7RUFDckIsZ0NBQWdDO0FBQ2xDO0FBQ0E7RUFDRSxtQ0FBbUM7RUFDbkMsK0JBQStCO0VBQy9CLHFCQUFxQjtFQUNyQixnQ0FBZ0M7QUFDbEM7QUFDQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLFNBQVM7RUFDVCxnQ0FBZ0M7RUFDaEMsaUJBQWlCO0FBQ25CO0FBQ0E7RUFDRSx1QkFBdUI7QUFDekI7QUFDQTtFQUNFOzs7SUFHRSx1QkFBdUI7O0VBRXpCOzs7RUFHQTtJQUNFLDJCQUEyQjtJQUMzQixtQkFBbUI7RUFDckI7QUFDRjtBQUNBO0VBQ0UsVUFBVTtBQUNaO0FBQ0E7Ozs7O0dBS0c7QUFDSDtFQUNFO0lBQ0Usc0JBQXNCOztFQUV4QjtHQUNDO0lBQ0MsZUFBZTtJQUNmLHVCQUF1QjtFQUN6QjtBQUNGO0FBRUE7RUFDRTs7O0tBR0c7R0FDRjtJQUNDLGVBQWU7SUFDZix1QkFBdUI7O0FBRTNCO0FBQ0E7QUFDQTtFQUNFOzs7S0FHRztFQUNIO0lBQ0UsMkJBQTJCO0VBQzdCOztBQUVGO0FBQ0E7O0VBRUUseUJBQXlCO0VBQ3pCLG9DQUFvQztFQUNwQyx3QkFBd0I7QUFDMUI7QUFDQTs7RUFFRSwyQkFBMkI7QUFDN0I7QUFDQTtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7QUFDdkI7QUFDQTtFQUNFLDJDQUEyQztFQUMzQyw4QkFBOEI7RUFDOUIsK0JBQStCO0VBQy9CLGlDQUFpQztBQUNuQztBQUNBO0VBQ0Usb0NBQW9DO0VBQ3BDLGdDQUFnQztFQUNoQyxzQkFBc0I7RUFDdEIsaUNBQWlDO0VBQ2pDO0FBQ0E7SUFDRSxvQ0FBb0M7SUFDcEMsZ0NBQWdDO0lBQ2hDLHNCQUFzQjtJQUN0QixpQ0FBaUM7QUFDckM7QUFDQTtFQUNFLHFDQUFxQztFQUNyQyx1QkFBdUI7RUFDdkIsaUNBQWlDO0FBQ25DO0FBQ0E7RUFDRTtNQUNJLDBCQUEwQjtNQUMxQixzQkFBc0I7RUFDMUI7RUFDQTtBQUNGO0VBQ0U7SUFDRSxzQkFBc0I7O0VBRXhCO0VBQ0E7SUFDRSxlQUFlO0lBQ2YsdUJBQXVCO0VBQ3pCO0FBQ0Y7QUFDQTtFQUNFO0lBQ0UsdUJBQXVCOztFQUV6QjtFQUNBO0lBQ0UsMkJBQTJCO0VBQzdCOztBQUVGO0FBQ0E7RUFDRTtJQUNFLHNCQUFzQjs7RUFFeEI7QUFDRjtBQUNBO0VBQ0U7SUFDRSxzQkFBc0I7O0VBRXhCO0VBQ0E7SUFDRSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGFBQWEsRUFDSSxnQkFBZ0IsRUFDcEIsVUFBVTtJQUN2QixPQUFPO0lBQ1AsNkJBQTZCO0VBQy9COztBQUVGO0FBRUE7QUFDQTs7RUFFRSx1QkFBdUI7SUFDckIsbUJBQW1CO0lBQ25CLDZCQUE2QjtBQUNqQztBQUNBO0VBQ0UsMEJBQTBCO0FBQzVCO0FBQ0E7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7QUFDQTtFQUNFO09BQ0ssdUJBQXVCO0VBQzVCO0VBQ0E7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRjtBQUNBOztFQUVFLHVCQUF1Qjs7QUFFekI7QUFDQTtFQUNFO0lBQ0UsWUFBWTtFQUNkO0FBQ0Y7QUFFQTtFQUNFLHNCQUFzQjtBQUN4QjtBQUNBO0VBQ0Usd0JBQXdCO0FBQzFCO0FBQ0E7QUFDQTtFQUNFLHlCQUF5QjtBQUMzQjtBQUNBO0FBS0E7RUFDRTtJQUNFLHNCQUFzQjtJQUN0QixjQUFjO0VBQ2hCO0FBQ0Y7QUFHQTtFQUNFO0lBQ0UsdUJBQXVCO0lBQ3ZCLGVBQWU7RUFDakI7QUFDRjtBQUlBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7QUFDQTtFQUNFLGlCQUFpQjtFQUNqQix1QkFBdUI7QUFDekI7QUFFQTtFQUNFLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIsWUFBWTs7QUFFZDtBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBRUE7Ozs7O0VBS0U7QUFFRjtFQUNFLG9DQUFvQztBQUN0QztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zZXJ2aWNlLnJlcXVlc3Qvc2VydmljZS5yZXF1ZXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuay1ncmlkLWhlYWRlciAuay1oZWFkZXIge1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbn1cclxuLmhlbHAtYmxvY2sge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgY29sb3I6ICM3MzczNzMgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJvdyB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTExcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMXB4O1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY1cHgpIHtcclxuLmstZmlsdGVyLXJvdyB0ZCwuay1maWx0ZXItcm93IHRoIHtcclxuIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG5cclxuLnBhbmVsLWhlYWRpbmcuYmctaW5mbyB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTFweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDAsIDI0MCwgMjQwLCAxKSFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAxMHB4IWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IGRvdHRlZCAjYWFhIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmstZ3JpZC1wZGYge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzYhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNiFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUhaW1wb3J0YW50O1xyXG59XHJcbi5rLWdyaWQtZXhjZWwge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2NmJiNmEhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1jb2xvcjogIzY2YmI2YSFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUhaW1wb3J0YW50O1xyXG59XHJcbi5wcm9qZWN0TnVtYmVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6ICMzMzMzMzM7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5wcm9qZWN0TnVtYmVyLXRpdGxlIHtcclxuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgLmJ0blxyXG4gIHtcclxuXHJcbiAgICB3aWR0aDogMTkwcHggIWltcG9ydGFudDtcclxuXHJcbiAgfVxyXG5cclxuXHJcbiAgLmstZ3JpZC10b29sYmFyIC5rLWJ1dHRvbisuay1idXR0b257XHJcbiAgICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IDJweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4udG9vbGJhci1oZWFkci1sYmwtYWxpZ25tZW50IHtcclxuICByaWdodDogMHB4O1xyXG59XHJcbi8qIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDo5NjFweCkge1xyXG4gIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6NDBweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgfVxyXG59ICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpe1xyXG4gIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6MTBweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgfVxyXG4gICAuay1idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgd2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMXB4KSBhbmQgKG1heC13aWR0aDogMzYwcHgpe1xyXG4gIC8qIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6MTBweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgfSAqL1xyXG4gICAuay1idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgd2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7XHJcblxyXG59XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCl7XHJcbiAgLyogLnRvb2xiYXItaGVhZHItYnRuLWFsaWdubWVudCB7XHJcbiAgICByaWdodDoyMDBweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgfSAqL1xyXG4gIC5idG5EaXZ7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxufVxyXG4ubG90LWhpZ2hsaWdodFxyXG57XHJcbiAgY3Vyc29yOnBvaW50ZXIgIWltcG9ydGFudDtcclxuICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6IzAzYTlmNCAhaW1wb3J0YW50O1xyXG59XHJcbi5idWlsZGVySG9tZS1tYXJnaW5cclxue1xyXG4gIG1hcmdpbi10b3A6LTIwcHggIWltcG9ydGFudDtcclxufVxyXG4ubW9iaWxlVGFibGV7XHJcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxufVxyXG5kbCB7XHJcbiAgYm9yZGVyLWJvdHRvbTogIzFkMWIxYiBzb2xpZCAycHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAtOHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xMS42cHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tcmlnaHQ6ICAtMTEuNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmJnLXByaW1hcnkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTk2RjMgIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6ICMyMTk2RjMgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLmJnLWJsdWUtODAwIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjc3QkQgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogIzAyNzdCRCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uay1kaXNhYmxlZCwgLmstc3RhdGUtZGlzYWJsZWR7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2dyZXkgIWltcG9ydGFudDtcclxuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCl7XHJcbiAgLmstYnV0dG9uW19uZ2NvbnRlbnQtYzVdIHtcclxuICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOiAxMDBweCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIH1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkgYW5kIChtYXgtd2lkdGg6IDc2OHB4KXtcclxuICAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgIHJpZ2h0OjEwcHggIWltcG9ydGFudCA7XHJcblxyXG4gIH1cclxuICAuay1idXR0b24ge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgd2lkdGg6IDEyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpe1xyXG4gIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6MTAwcHggIWltcG9ydGFudCA7XHJcblxyXG4gIH1cclxuICAuYnRuRGl2e1xyXG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpe1xyXG4gIC50b29sYmFyLWhlYWRyLWJ0bi1hbGlnbm1lbnQge1xyXG4gICAgcmlnaHQ6MjVweCAhaW1wb3J0YW50IDtcclxuXHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KXtcclxuICAudG9vbGJhci1oZWFkci1idG4tYWxpZ25tZW50IHtcclxuICAgIHJpZ2h0OjUwcHggIWltcG9ydGFudCA7XHJcblxyXG4gIH1cclxuICAubXlDb2x7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIHdpZHRoOmluaGVyaXQ7XHJcbiAgICAtd2Via2l0LWZsZXg6IDE7IC8qIFNhZmFyaSA2LjErICovXHJcbiAgICAtbXMtZmxleDogMTsgLyogSUUgMTAgKi9cclxuICAgIGZsZXg6IDE7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbi5rLWJ1dHRvblxyXG57XHJcbiAgd2lkdGg6IDEyNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0b3A6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuOmhvc3QgOjpuZy1kZWVwIC5rLW51bWVyaWMtd3JhcCAuay1pbnB1dHtcclxuICBtaW4td2lkdGg6IDMwcHggIWltcG9ydGFudDtcclxufVxyXG5rZW5kby1kcm9wZG93bmxpc3Qge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5rLWJ1dHRvbiB7XHJcbiAgICAgICB3aWR0aDogMTM1cHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5rLW51bWVyaWMtd3JhcCAuay1pbnB1dHtcclxuICAgIG1pbi13aWR0aDogMzBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uay1idXR0b25cclxue1xyXG4gIHdpZHRoOiAxMzJweCAhaW1wb3J0YW50O1xyXG5cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuICAuYnRuQmxkclJlYXNzbm1lbnR7XHJcbiAgICByaWdodDogMTQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uYnRud2lkdGh7XHJcbiAgd2lkdGg6MTQ1cHggIWltcG9ydGFudDtcclxufVxyXG4jYnJkQ3JtYntcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XHJcbiNicmRDcm1ie1xyXG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG5cclxuXHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjFweCkge1xyXG4gIC5rLWJ1dHRvbiB7XHJcbiAgICB3aWR0aDogOTBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiA4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjFweCkgYW5kIChtYXgtd2lkdGg6IDM2MXB4KSB7XHJcbiAgLmstYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xyXG59XHJcbiNwcm9qZWN0TnVtYmVyLXRpdGxlIHtcclxuICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3Byb2plY3RIZWFkaW5ne1xyXG4gIGZvbnQtc2l6ZToxMnB4O1xyXG4gIGNvbG9yOmJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZzogNXB4O1xyXG5cclxufVxyXG5cclxuI3Byb2plY3ROYW1le1xyXG4gIG1hcmdpbi10b3A6LTEwcHg7XHJcbn1cclxuXHJcbi8qQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIHtcclxuXHJcbiAgI3Byb2plY3ROYW1lIHtcclxuICAgIG1hcmdpbi10b3A6IDNweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufSovXHJcblxyXG4uZXhwb3J0UGRmLC5leHBvcnRQZGY6ZGlzYWJsZWQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmV4cG9ydEV4Y2VsLC5leHBvcnRFeGNlbDpkaXNhYmxlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2YmI2YSAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Input, ViewChild, ElementRef, QueryList, OnChanges,\r\n SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { process, State } from '@progress/kendo-data-query';\r\nimport { sampleLots, SessionService, RequestServiceModelView, BCASearch, GasRequestStatusEnum, RequestStatusEnum} from '@app/base/core';\r\nimport { BuilderService } from '@app/modules/builder/base/services';\r\nimport { GridDataResult, DataStateChangeEvent, SelectAllCheckboxState, PageChangeEvent,\r\n SelectableSettings, RowClassArgs } from '@progress/kendo-angular-grid';\r\nimport { LookupsService, ConstantsService, RequestServiceModel, LandingSiteContactDetails, AccountService } from '@app/base/core';\r\nimport { LotDetails } from '../../request-lot/LotDetails';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { triggerFormValidation, phoneNumber } from '@app/shared/functions';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Subscription } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { ServiceActivateRequestComponent } from '../../request/service.request/service.activate.request/service.activate.request.component';\r\n\r\nimport moment from 'moment';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'service-request',\r\n templateUrl: './service.request.component.html',\r\n styleUrls: ['./service.request.component.css']\r\n})\r\nexport class ServiceRequestComponent implements OnInit, OnChanges, OnDestroy {\r\n // cssProperty: string;\r\n defaultSkip = 0;\r\n public skip = 0;\r\n public selectedLots = 0;\r\n public killsubscribe: boolean;\r\n router: Router;\r\n today = new Date();\r\n one_day = 1000 * 60 * 60 * 24;\r\n todayDate;\r\n public checkedLots: LotDetails[];\r\n public result: ExcelExportData;\r\n public state: State = {\r\n skip: this.defaultSkip,\r\n take: 5,\r\n\r\n // Initial filter descriptor\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n public loading = false;\r\n public lotId: any[];\r\n public lotOriginal: number[] = [];\r\n public idList: number[] = [];\r\n public lotsData: RequestServiceModelView[] = [];\r\n public lotdetails: RequestServiceModel[] = [];\r\n public GasRequestStatus = GasRequestStatusEnum;\r\n // Request service Model for the http post request\r\n model: RequestServiceModel = new RequestServiceModel();\r\n public rqstServiceLots: RequestServiceModel[] = new Array();\r\n public pageSizes = true;\r\n public previousNext = true;\r\n public buttonCount = 5;\r\n public bcaStatuses = [];\r\n public flag = 0;\r\n public navFlag;\r\n documentInput: any = {};\r\n public bcaData: any = [];\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n builderHomeForm: FormGroup;\r\n public bcaStatus;\r\n landingSiteContactDetails: LandingSiteContactDetails = new LandingSiteContactDetails();\r\n // kendo Grid variables //\r\n public mySelection: number[] = [];\r\n // public routeSubscription: any;\r\n // public subscription: Subscription;\r\n public builderDetailsSubscription: Subscription;\r\n public getLotDetailsSubscription: Subscription;\r\n public selectableSettings: SelectableSettings;\r\n public selectAllState: SelectAllCheckboxState = 'unchecked';\r\n public selecteditem: any[];\r\n public stateCd: string;\r\n public requestType: string;\r\n public pageSize = 5;\r\n public items: any[] = sampleLots;\r\n public bcadata: any;\r\n lotNO: number;\r\n lstWorkRequests: any = [];\r\n lstUpdateBuildingIds: any = [];\r\n lstAddBuildingIds: any = [];\r\n lstGISBuildingIds: any = [];\r\n gasRequestDetails: any;\r\n gasRequestViewDetails: any;\r\n\r\n public isServiceRequested;\r\n date1 = new Date('04/09/2018');\r\n date2 = new Date('04/09/2019');\r\n public bcaSearch: BCASearch = {\r\n builderId: [],\r\n projectName: '',\r\n projectAddress: '',\r\n bcaStatus: '',\r\n subsidaryId: '',\r\n subsidarycompanyName: '',\r\n startDate: this.date1,\r\n endDate: this.date2,\r\n reqId: '',\r\n bcaStatusValue: ''\r\n };\r\n wRNo: number;\r\n public GridId: number;\r\n public grid: any;\r\n public paramId;\r\n public marketerDocCount = 0;\r\n public projectNumber: any;\r\n public projectName: any;\r\n public grStatus: any;\r\n public grTypeCd: any;\r\n public parentList: any = [];\r\n public rowValue;\r\n public gridData3: GridDataResult;\r\n // Kendo Grid //\r\n\r\n @ViewChild(ServiceActivateRequestComponent, { static: false }) serviceActivateRequestComponent: ServiceActivateRequestComponent;\r\n @Input()\r\n gridId: number;\r\n @ViewChild('myAnchor', {static: false}) myAnchors: QueryList;\r\n public builderid: string;\r\n public builderidArray;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.rowValue = changes.gridId.currentValue;\r\n this.gridData3.data = [];\r\n this.gridData3.total = 0;\r\n this.lotsData = [];\r\n this.getServiceGridLotData();\r\n }\r\n // Meter Activate/Deactivate\r\n showMeterActivate(lotNumber: any) {\r\n this.lotId = [];\r\n this.lotId.push(this.lotsData.filter(a => a.lotNumber === lotNumber)[0]);\r\n }\r\n // Set date format for date control\r\n updateDateRange(event: any, controlName: string) {\r\n this.builderHomeForm.controls[controlName].setValue(\r\n moment(event.start).format('MM/dd/yyyy'),\r\n { emitEvent: true }\r\n );\r\n }\r\n // Bind data to grid on data state change\r\n public dataStateChange(state: DataStateChangeEvent): void {\r\n this.state = state;\r\n this.gridData3 = (process(this.lotsData, this.state));\r\n }\r\n constructor(\r\n public lookupSvc: LookupsService,\r\n public constantsSvc: ConstantsService,\r\n public builderSvc: BuilderService,\r\n public sessionSvc: SessionService,\r\n public accountSvc: AccountService,\r\n public socoHttp: SocoHttpService,\r\n private route: ActivatedRoute,\r\n _router: Router\r\n ) {\r\n this.allData = this.allData.bind(this);\r\n this.router = _router;\r\n }\r\n // Unsubscribe subscriptions\r\n ngOnDestroy() {\r\n if ($('#lot_details').is(':visible')) {\r\n $('#lot_details').modal('hide');\r\n }\r\n if ($('#modal_request_service').is(':visible')) {\r\n $('#modal_request_service').modal('hide');\r\n }\r\n if ($('#modal_activate_deactivate').is(':visible')) {\r\n $('#modal_activate_deactivate').modal('hide');\r\n }\r\n this.killsubscribe = false;\r\n if (this.builderDetailsSubscription) {\r\n this.builderDetailsSubscription.unsubscribe();\r\n }\r\n if (this.getLotDetailsSubscription) {\r\n this.getLotDetailsSubscription.unsubscribe();\r\n }\r\n }\r\n ngOnInit() {\r\n this.killsubscribe = true;\r\n $('#lot_details').on('shown.bs.modal', function(event) {\r\n // not setting focus to submit button\r\n $('#btnClose').focus();\r\n });\r\n $('#modal_request_service').on('shown.bs.modal', function(event) {\r\n // not setting focus to submit button\r\n $('#btnClose').focus();\r\n });\r\n$('#modal_activate_deactivate').on('shown.bs.modal', function(event) {\r\n // not setting focus to submit button\r\n $('#btnClose').focus();\r\n});\r\n // To get gas request Id from route params\r\n this.todayDate = this.today.getTime();\r\n this.rowValue = this.route.snapshot.parent.params['id'];\r\n this.grid = this.route.snapshot.parent.params['id'];\r\n this.lookupSvc.commonLookupsLoaded$.subscribe(isloaded => {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n if (isloaded) {\r\n this.builderSvc.GetLotDetails(this.route.snapshot.parent.params['id']).subscribe(res2 => {\r\n if (res2) {\r\n this.sessionSvc.builderData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n // To get Project documents of logged in builder\r\n this.documentInput.Builder = success.CompanyName;\r\n this.documentInput.Folder = this.constantsSvc.builderMarketerAgreement;\r\n this.builderid = success.BuilderId[0];\r\n this.builderidArray = success.BuilderId;\r\n if ( res2.data.length > 0 ) {\r\n this.stateCd = res2.data[0].stateCd;\r\n if ((success.CompanyName !== undefined) && res2.data[0].stateCd === 'GA') {\r\n this.builderSvc.findFilesCountByMetadata(this.documentInput).subscribe(result => {\r\n this.marketerDocCount = result;\r\n });\r\n }\r\n }\r\n this.sessionSvc.BcaData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (Array.isArray(success) && success.length > 0) {\r\n this.sessionSvc.GridData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n // TO get project details\r\n this.projectNumber = success.projectNumber;\r\n this.projectName = success.projectName;\r\n this.bcaStatus = success.bcaStatus;\r\n this.grStatus = success.grStatus;\r\n this.grTypeCd = success.requestTypeCd;\r\n this.isServiceRequested = success.isServiceRequested;\r\n const stateCd: string = success.stateCd;\r\n const requestType: string = success.requestTypeCd;\r\n if (requestType === 'COMM' || requestType === 'AD-LOAD-COMM' || requestType === 'CONV-COMM' ||\r\n requestType === 'INDUSTRIAL-ALD' || requestType === 'INDUSTRIAL') {\r\n this.requestType = 'Commercial';\r\n } else if (requestType === 'SCATT' || requestType === 'SUBD' || requestType === 'ADD-LOAD-RES'\r\n || requestType === 'CONV-RES' || requestType === 'MULTI_FAMILY') {\r\n this.requestType = 'Residential';\r\n }\r\n if (stateCd !== null) {\r\n this.lookupSvc.loadBcaLookups(this.requestType, stateCd);\r\n } else {\r\n this.lookupSvc.loadBcaLookups(this.requestType, success.stateCd);\r\n }\r\n });\r\n\r\n } else {\r\n for (let i = 0; i < this.builderidArray.length; i++) {\r\n this.bcaSearch.builderId.push(this.builderidArray[i]);\r\n }\r\n this.bcaSearch.reqId = this.rowValue;\r\n this.builderDetailsSubscription = this.builderSvc.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n this.bcaData = result;\r\n if (result.data[0].bcaId !== undefined) {\r\n this.projectNumber = result.data[0].bcaId;\r\n }\r\n this.bcaStatus = result.data[0].grStatus;\r\n this.grStatus = result.data[0].grStatus;\r\n this.projectName = result.data[0].projectName;\r\n this.grTypeCd = result.data[0].gasRqstTpCd;\r\n this.isServiceRequested = result.data[0].isAllServiceRequested;\r\n const stateCd: string = result.data[0].stateCd;\r\n const requestType: string = result.data[0].gasRqstTpCd;\r\n if (requestType === 'COMM' || requestType === 'AD-LOAD-COMM' || requestType === 'CONV-COMM' ||\r\n requestType === 'INDUSTRIAL-ALD' || requestType === 'INDUSTRIAL') {\r\n this.requestType = 'Commercial';\r\n } else if (requestType === 'SCATT' || requestType === 'SUBD' || requestType === 'ADD-LOAD-RES'\r\n || requestType === 'CONV-RES' || requestType === 'MULTI_FAMILY') {\r\n this.requestType = 'Residential';\r\n }\r\n if (stateCd !== null) {\r\n this.lookupSvc.loadBcaLookups(this.requestType, stateCd);\r\n } else {\r\n this.lookupSvc.loadBcaLookups(this.requestType, this.sessionSvc.activeLdc.code);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n // Invoking API to get the lotDetails using session service\r\n if (this.lotsData.length === 0) {\r\n this.getServiceGridLotData();\r\n\r\n }\r\n }\r\n });\r\n this.builderHomeForm = new FormGroup({\r\n plannedDate: new FormControl(this.landingSiteContactDetails.plannedDate),\r\n deliveryPressure: new FormControl(\r\n this.landingSiteContactDetails.directionPrefix,\r\n Validators.required\r\n ),\r\n firstName: new FormControl(\r\n this.landingSiteContactDetails.firstName,\r\n Validators.required\r\n ),\r\n lastName: new FormControl(\r\n this.landingSiteContactDetails.lastName,\r\n Validators.required\r\n ),\r\n email: new FormControl(this.landingSiteContactDetails.email, [\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.emailPattern)\r\n ]),\r\n contactNumber: new FormControl(\r\n this.landingSiteContactDetails.contactNumber,\r\n [\r\n Validators.required,\r\n Validators.pattern(this.constantsSvc.phoneNumberPattern)\r\n ]\r\n ),\r\n contactNumberExtension: new FormControl(\r\n this.landingSiteContactDetails.contactNumberExtension,\r\n Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern)\r\n ),\r\n other: new FormControl('')\r\n });\r\n }\r\n // get service grid Lot data\r\n getServiceGridLotData() {\r\n const wrTypeCodes = ['CINBE', 'RNBE', 'SRNBE', 'MLTFM'];\r\n this.getLotDetailsSubscription = this.builderSvc.GetLotDetails(this.rowValue).subscribe(result => {\r\n this.gridData3 = {\r\n data: [],\r\n total: 0\r\n };\r\n for (let i = 0; i < result.data.length; i++) {\r\n if (!wrTypeCodes.includes(result.data[i]['wrTypeCD'])) {\r\n result.data[i]['address'] = this.getLotServAddress(result.data[i]);\r\n const resultDate = result.data[i].constructionCompleteDate;\r\n if (resultDate !== null) {\r\n const resultday = new Date(resultDate);\r\n const resultdayTime = resultday.getTime();\r\n const dateDiff = Math.round((this.todayDate - resultdayTime) / this.one_day);\r\n if (dateDiff < 90) {\r\n if (result.data[i]['wrTypeCD'] != null) {\r\n const wrCd = {\r\n oldwrCd: result.data[i]['wrTypeCD']\r\n };\r\n Object.assign(result.data[i], wrCd);\r\n result.data[i]['oldwrCd'] = (this.lookupSvc.WorkRequestType.find(x => x.id === result.data[i]['oldwrCd'])).itemName;\r\n }\r\n if (result.data[i]['lotStatus'] != null) {\r\n result.data[i]['lotStatus'] = (this.lookupSvc.LotStatusTypes.find(x => x.id === result.data[i]['lotStatus'])).itemName;\r\n }\r\n this.lotsData.push(result.data[i]);\r\n }\r\n } else {\r\n if (result.data[i]['wrTypeCD'] != null) {\r\n const wrCd = {\r\n oldwrCd: result.data[i]['wrTypeCD']\r\n };\r\n Object.assign(result.data[i], wrCd);\r\n result.data[i]['oldwrCd'] = (this.lookupSvc.WorkRequestType.find(x => x.id === result.data[i]['oldwrCd'])).itemName;\r\n }\r\n if (result.data[i]['lotStatus'] != null) {\r\n result.data[i]['lotStatus'] = (this.lookupSvc.LotStatusTypes.find(x => x.id === result.data[i]['lotStatus'])).itemName;\r\n }\r\n this.lotsData.push(result.data[i]);\r\n }\r\n }\r\n }\r\n // Binding data to Grid\r\n this.gridData3 = (process(this.lotsData, this.state));\r\n this.getDuplicates();\r\n this.getParentId();\r\n });\r\n }\r\n\r\n getParentId() {\r\n this.gridData3.data.forEach(element => {\r\n this.builderSvc.getBuilderMapping(element.builderId).subscribe(result => {\r\n if (result.data !== null) {\r\n this.parentList.push(result.data);\r\n }\r\n });\r\n });\r\n }\r\n // get duplicates to check allocated builder\r\n getDuplicates() {\r\n\r\n this.builderSvc.GetLots(this.grid, this.builderid).subscribe(result => {\r\n this.lotdetails = result.data;\r\n this.checkAllocated();\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.gasDetailsFailSwal, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n\r\n getBuildingId() {\r\n this.lstWorkRequests = [];\r\n this.lstUpdateBuildingIds = [];\r\n this.lstAddBuildingIds = [];\r\n this.lstGISBuildingIds = [];\r\n\r\n const bcaId = this.projectNumber;\r\n if (!bcaId || bcaId === '') {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.noBcaSwal, this.constantsSvc.errorSwal);\r\n } else {\r\n this.builderSvc.getGasRequestByBcaId(Number(bcaId)).subscribe(result => {\r\n if (result.status && result.data) {\r\n this.gasRequestDetails = result.data;\r\n this.CheckRequestStatus(bcaId);\r\n }\r\n }, error => {\r\n this.CheckRequestStatus(bcaId);\r\n });\r\n }\r\n }\r\n\r\n\r\nCheckRequestStatus(bcaId) {\r\n this.builderSvc.GetBCAStatusFromView(bcaId).subscribe(result => {\r\n this.gasRequestViewDetails = result.data;\r\n if (result.status && result.data.length !== 0) {\r\n if (result.data[0].grStatus === RequestStatusEnum.ContractReceived || result.data[0].grStatus === RequestStatusEnum.Permit ||\r\n result.data[0].grStatus === RequestStatusEnum.Payment || result.data[0].grStatus === RequestStatusEnum.WRCreated ||\r\n result.data[0].grStatus === RequestStatusEnum.Completed) {\r\n this.getBuildingIdsHttpCall(bcaId);\r\n } else {\r\n swal('', this.constantsSvc.bcaNoCntrctRcvd, this.constantsSvc.infoSwal);\r\n }\r\n } else {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.bcaNoCntrctRcvd, this.constantsSvc.errorSwal);\r\n }\r\n }, error => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.errorBcaStatusFetch, this.constantsSvc.errorSwal);\r\n });\r\n\r\n }\r\n\r\n\r\ngetBuildingIdsHttpCall(bcaId: any) {\r\n this.socoHttp.showPleaseWait(this.constantsSvc.processingMsg, this.constantsSvc.containerIdMsg);\r\n let ldc = '';\r\n if (this.gasRequestDetails === null || this.gasRequestDetails === undefined) {\r\n ldc = this.gasRequestViewDetails[0].companyCd;\r\n } else {\r\n ldc = this.gasRequestDetails.companyCd;\r\n }\r\n const model = { bcaId: bcaId, ldc: ldc, stateCd: '' };\r\n this.builderSvc.getBuildingIdList(model).subscribe(result => {\r\n if (result.status) {\r\n this.validateAndPostBuildingIds(this.gasRequestDetails, result.data, bcaId);\r\n\r\n } else {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.errorWhenBIdsFetch, this.constantsSvc.errorSwal);\r\n this.socoHttp.hidePleaseWait(this.constantsSvc.containerIdMsg);\r\n }\r\n }, error => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.errorWhenBIdsFetch, this.constantsSvc.errorSwal);\r\n this.socoHttp.hidePleaseWait(this.constantsSvc.containerIdMsg);\r\n });\r\n }\r\n\r\n\r\nvalidateAndPostBuildingIds(gasRequest: any, buildingIds: any, bcaId: any) {\r\n this.builderSvc.getWorkRequestByBcaId(Number(bcaId)).subscribe(async result => {\r\n if (result.status) {\r\n this.lstWorkRequests = result.data;\r\n const buildingIdList = this.transformBuildingPoints(buildingIds, bcaId);\r\n // case of only 1 building point received from GIS\r\n if (buildingIds.value.length === 1) {\r\n buildingIdList.forEach( model => {\r\n // If lot number is null and building id is not null and building id do not exist in our database,\r\n // then add it to array to process with Lot Number as 1. Copy the BCA Address\r\n if (model.lotNumber === null || model.lotNumber === this.constantsSvc.noneText || model.lotNumber === '') {\r\n if (model.buildingId !== this.constantsSvc.noneText && model.buildingId !== null) {\r\n const lot = this.lstWorkRequests.find(x => x.buildingId === model.buildingId);\r\n if (!lot) {\r\n model.lotNumber = '1';\r\n // need to add BCA address values\r\n this.lstGISBuildingIds.push(model);\r\n }\r\n }\r\n } else {\r\n // If lot number is not null and building Id is present then add it to array to process\r\n if (model.buildingId !== this.constantsSvc.noneText && model.buildingId !== null) {\r\n this.lstGISBuildingIds.push(model);\r\n }\r\n }\r\n });\r\n if ((this.gasRequestDetails) ? this.gasRequestDetails.builderId : false) {\r\n this.processBuildingIds(bcaId, 'AA');\r\n } else {\r\n this.processBuildingIds(bcaId, 'SR');\r\n }\r\n } else {\r\n // case of more than 1 building point received from GIS\r\n buildingIdList.forEach(model => {\r\n // If lot number is not null and building id is not null, then add it to array to process\r\n if ((((model.lotNumber !== null && model.lotNumber !== this.constantsSvc.noneText && model.lotNumber !== '') ||\r\n (model.buildingAddress !== null && model.buildingAddress.street_number !== null &&\r\n model.buildingAddress.street_number !== this.constantsSvc.noneText && model.buildingAddress.street_number !== '')) &&\r\n (model.buildingId !== this.constantsSvc.noneText && model.buildingId !== null)) &&\r\n // Logic to ingore Building Point if Street_Name, City, State, Zip is empty/null\r\n ((model.buildingAddress !== null && model.buildingAddress.zip !== null && model.buildingAddress.zip !==\r\n this.constantsSvc.noneText && model.buildingAddress.zip !== '') &&\r\n (model.buildingAddress.street_name !== null && model.buildingAddress.street_name.trim() !== '') &&\r\n (model.buildingAddress.city !== null && model.buildingAddress.city !== this.constantsSvc.noneText\r\n && model.buildingAddress.city !== '') &&\r\n (model.buildingAddress.state !== null && model.buildingAddress.state !== this.constantsSvc.noneText\r\n && model.buildingAddress.state !== '')\r\n )) {\r\n if (model.lotNumber === null || model.lotNumber === this.constantsSvc.noneText || model.lotNumber === '') {\r\n model.lotNumber = null;\r\n }\r\n if (model.buildingAddress.street_number === null || model.buildingAddress.street_number === this.constantsSvc.noneText\r\n || model.buildingAddress.street_number === '') {\r\n model.buildingAddress.street_number = null;\r\n }\r\n if (model.buildingAddress.unitnumber === null || model.buildingAddress.unitnumber === this.constantsSvc.noneText\r\n || model.buildingAddress.unitnumber === '') {\r\n model.buildingAddress.unitnumber = null;\r\n }\r\n this.lstGISBuildingIds.push(model);\r\n }\r\n });\r\n // Logic to check if more than 1 building point has same lotNumber and StreetNumber combination\r\n for (let index = 0; index < this.lstGISBuildingIds.length; index++) {\r\n const element = this.lstGISBuildingIds[index];\r\n let counter = 0;\r\n for (let i = 0; i < this.lstGISBuildingIds.length; i++) {\r\n const buildingId = this.lstGISBuildingIds[i];\r\n if (buildingId.buildingId === element.buildingId || (buildingId.lotNumber === element.lotNumber &&\r\n buildingId.buildingAddress.street_number === element.buildingAddress.street_number &&\r\n buildingId.buildingAddress.street_name === element.buildingAddress.street_name &&\r\n buildingId.buildingAddress.unitnumber === element.buildingAddress.unitnumber)) {\r\n counter++;\r\n }\r\n }\r\n if (counter > 1) {\r\n this.lstGISBuildingIds.splice(index, 1);\r\n index--;\r\n }\r\n }\r\n if ((this.gasRequestDetails) ? this.gasRequestDetails.builderId : false) {\r\n this.processBuildingIds(bcaId, 'AA');\r\n } else {\r\n this.processBuildingIds(bcaId, 'SR');\r\n }\r\n }\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.workRequestByBcaFail, this.constantsSvc.errorSwal);\r\n }\r\n );\r\n }\r\n\r\n\r\ntransformBuildingPoints(buildingIds: any, bcaId: any) {\r\n const transformedGISBuildingIds = [];\r\n let buildingIdExists = false;\r\n buildingIds.value.forEach(element => {\r\n element[2] = element[2] ? element[2].toString().replace(/': b'/g, '\\': \\'') : element[2];\r\n const buildingId = element[0].split(':')[1].trim();\r\n this.builderSvc.VerifyBuilingPointExists(buildingId).subscribe(async result => {\r\n buildingIdExists = this.gasRequestDetails ? false : result.data;\r\n });\r\n\r\n const address = element[2] ? JSON.parse((element[2].substring(element[2].indexOf(':') + 1)).replace(/'/g, '\\\"')) : null;\r\n const model = {\r\n buildingId: element[0].split(':')[1].trim(),\r\n lotNumber: element[1].split(':')[1].trim(),\r\n buildingAddress: address,\r\n bcaId: bcaId,\r\n givenName: this.accountSvc.account.user.givenName,\r\n userName: this.accountSvc.account.user.username\r\n };\r\n\r\n if (model.buildingAddress) {\r\n const localDistrict = this.lookupSvc.localDistrict.find(x =>\r\n x.itemName.trim().toUpperCase().includes(model.buildingAddress.localDistrict.trim().toUpperCase()));\r\n const county = this.lookupSvc.counties.find(x =>\r\n x.itemName.trim().toUpperCase().includes(model.buildingAddress.county.trim().toUpperCase()));\r\n\r\n model.buildingAddress.localDistrict = localDistrict ? localDistrict.id : '-1';\r\n model.buildingAddress.county = county ? county.id : '-1';\r\n }\r\n if (!buildingIdExists) {\r\n transformedGISBuildingIds.push(model);\r\n }\r\n });\r\n return transformedGISBuildingIds;\r\n }\r\n\r\nprocessBuildingIds(bcaId: any, status: string) {\r\n // code to make update and add list of GIS building Ids fetched\r\n this.lstGISBuildingIds.forEach(element => {\r\n const req = this.lstWorkRequests.find(r => r.buildingId === element.buildingId);\r\n if (req) {\r\n if (req.wrNo === null) {\r\n this.lstUpdateBuildingIds.push(element);\r\n }\r\n } else {\r\n const req1 = this.lstWorkRequests.find(r => r.lotNumber === element.lotNumber &&\r\n (element.buildingAddress ? ((r.streetNo ? r.streetNo.toString() : '0') === (element.buildingAddress.street_number ?\r\n element.buildingAddress.street_number : '0')) : true) &&\r\n (element.buildingAddress ?\r\n ((r.streetName ? r.streetName.trim().toLowerCase() : null)\r\n === (element.buildingAddress.street_name ? element.buildingAddress.street_name.trim().toLowerCase() : null)) : true) &&\r\n (element.buildingAddress ? ((r.unitNo ? r.unitNo : null) ===\r\n (element.buildingAddress.unitnumber ? element.buildingAddress.unitnumber : null)) : true));\r\n if (req1) {\r\n if (req1.wrNo === null) {\r\n this.lstUpdateBuildingIds.push(element);\r\n }\r\n } else {\r\n this.lstAddBuildingIds.push(element);\r\n }\r\n }\r\n });\r\n\r\n if (this.lstGISBuildingIds.length > 0) {\r\n if (this.lstUpdateBuildingIds.length > 0 && this.lstAddBuildingIds.length > 0) {\r\n this.builderSvc.bulkUpdateBuildingIds(this.lstUpdateBuildingIds).subscribe(result => {\r\n if (result.status) {\r\n this.builderSvc.bulkAddBuildingIds(this.lstAddBuildingIds, status).subscribe(resultAdd => {\r\n if (resultAdd.status) {\r\n swal(this.constantsSvc.successSwal1, this.lstAddBuildingIds.length + this.constantsSvc.bIdsAddedAndMsg +\r\n this.lstUpdateBuildingIds.length + this.constantsSvc.bIdsUpdatedMsg + bcaId, this.constantsSvc.successSwal);\r\n this.refreshGrid('ref');\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.requestAddBuildingId, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.requestUpdateBuildingId, this.constantsSvc.errorSwal);\r\n });\r\n } else if (this.lstUpdateBuildingIds.length > 0) {\r\n this.builderSvc.bulkUpdateBuildingIds(this.lstUpdateBuildingIds).subscribe(result => {\r\n if (result.status) {\r\n swal(this.lstUpdateBuildingIds.length + this.constantsSvc.bIdsUpdatedMsg + bcaId, this.constantsSvc.successSwal);\r\n this.refreshGrid('ref');\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.requestUpdateBuildingId, this.constantsSvc.errorSwal);\r\n });\r\n } else if (this.lstAddBuildingIds.length > 0) {\r\n this.builderSvc.bulkAddBuildingIds(this.lstAddBuildingIds, status).subscribe(result => {\r\n if (result.status) {\r\n swal(this.constantsSvc.successSwal1, this.lstAddBuildingIds.length + this.constantsSvc.bIdsAddedMsg + bcaId,\r\n this.constantsSvc.successSwal);\r\n this.refreshGrid('ref');\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.requestAddBuildingId, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n } else {\r\n swal(this.constantsSvc.noBIdsAvailable + bcaId);\r\n }\r\n }\r\n\r\n // Disabling selection of disabled rows on select All functionality\r\n public onSelectAllChange(checkedState: SelectAllCheckboxState) {\r\n if (checkedState === 'checked') {\r\n this.mySelection = this.lotsData\r\n .filter(item => item.originalBd === this.builderid && item.lotStatus === 'Allocation Approved')\r\n .map((item) => item.lotNumber);\r\n this.selectAllState = 'checked';\r\n } else {\r\n this.mySelection = [];\r\n this.selectAllState = 'unchecked';\r\n }\r\n }\r\n // Disabled function in Kendo Grid on selected checkbox\r\n public onSelectedKeysChange(e) {\r\n const len = this.mySelection.length;\r\n const enabledLen = this.gridData3.data.filter(item => item.originalBd === this.builderid &&\r\n item.lotStatus === 'Allocation Approved').length;\r\n if (len === 0) {\r\n this.selectAllState = 'unchecked';\r\n } else if (len > 0 && len < enabledLen) {\r\n this.selectAllState = 'indeterminate';\r\n } else {\r\n this.selectAllState = 'checked';\r\n }\r\n }\r\n public selectRow(dataItem: any, event: any) {\r\n if (event.target.checked) {\r\n const index = this.lotsData.findIndex(x => x.lotNumber === dataItem.lotNumber);\r\n if (index !== -1) {\r\n this.selecteditem.push(this.lotsData[index]);\r\n }\r\n } else if (!event.target.checked) {\r\n const index = this.selecteditem.findIndex(x => x.lotNumber === dataItem.lotNumber);\r\n this.selecteditem.splice(index, 1);\r\n }\r\n }\r\n\r\n public selectionChange(event: any) {\r\n if (event.selectedRows[0]) {\r\n this.selecteditem.push(event.selectedRows[0].dataItem);\r\n } else if (event.deselectedRows[0]) {\r\n this.selecteditem.splice(event.deselectedRows[0].index, 1);\r\n }\r\n }\r\n // isDisabled functionality for the Kendo Grid row based on lotstatus\r\n public isDisabled = (dataItem: any) => {\r\n if (\r\n dataItem['lotStatus'] === 'Allocation Approved') {\r\n return false;\r\n } else {\r\n return true; }\r\n }\r\n // Kendo Grid event to load data\r\n private loadItems(): void {\r\n\r\n this.gridData3 = {\r\n data: this.lotsData.slice(this.skip, this.skip + this.pageSize),\r\n total: this.lotsData.length\r\n };\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n }\r\n // Check allocated builder id for row to enable\r\n checkAllocated() {\r\n let rs: any;\r\n for (rs in this.lotdetails) {\r\n if (!this.lotOriginal.find(x => x === this.lotdetails[rs].lotNumber)) {\r\n this.lotOriginal.push(this.lotdetails[rs].lotNumber);\r\n let js: any;\r\n for (js in this.lotdetails) {\r\n if (this.lotdetails[js].lotNumber === this.lotdetails[rs].lotNumber && (this.lotdetails[js].lotStatus !== 'RA' &&\r\n this.lotdetails[js].lotStatus !== 'REA' && this.lotdetails[js].lotStatus !== 'AD')\r\n && this.lotdetails[js].id !== this.lotdetails[rs].id) {\r\n this.lotdetails[rs].originalBd = this.lotdetails[js].builderId;\r\n let ks: any;\r\n for (ks in this.lotsData) {\r\n if (this.lotsData[ks].lotNumber === this.lotdetails[rs].lotNumber) {\r\n this.lotsData[ks].originalBd = this.lotdetails[js].builderId;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n this.loadItems();\r\n }\r\n // disable lot buttons based on project number and grstatus\r\n public isProjectNumber() {\r\n const grTypes = ['SUBD', 'SCATT'];\r\n const grStatuses = ['APPDENIED', 'APPPEND', 'PEND', 'APPACCPT'];\r\n if ((this.projectNumber == null) || (grStatuses.includes(this.grStatus)) || (!grTypes.includes(this.grTypeCd))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n // Kendo Grid page change event.\r\n public pageChange({ skip, take }: PageChangeEvent): void {\r\n this.skip = skip;\r\n this.pageSize = take;\r\n this.loadItems();\r\n }\r\n // Apply site conact details to post to web api\r\n ApplySiteContact() {\r\n if (this.builderHomeForm.valid) {\r\n // array does not exist, is not an array, or is empty\r\n if (!Array.isArray(this.mySelection) || !this.mySelection.length) {\r\n this.SorryNotification();\r\n } else {\r\n this.addRequestService(this.builderHomeForm.value);\r\n }\r\n } else {\r\n triggerFormValidation(this.builderHomeForm);\r\n this.focusOnError(this.builderHomeForm);\r\n }\r\n }\r\n // Post data to Web Api\r\n private addRequestService(fg: LandingSiteContactDetails): void {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n for (const lot in this.mySelection) {\r\n const gridvalue: RequestServiceModel = this.lotsData.filter(a => a.lotNumber === this.mySelection[lot])[0];\r\n gridvalue.applicantContactName1 = fg.firstName;\r\n gridvalue.applicantContactName2 = fg.lastName;\r\n gridvalue.applicantPhoneNumber = phoneNumber(fg.contactNumber);\r\n gridvalue.applicantPhoneExtension = fg.contactNumberExtension;\r\n gridvalue.applicantEmail = fg.email;\r\n gridvalue.plannedDt = fg.plannedDate;\r\n gridvalue.otherDeliveryPressure = fg.other;\r\n if (gridvalue.lotStatus !== null && this.lookupSvc.LotStatusTypes !== undefined) {\r\n gridvalue.lotStatus = this.lookupSvc.LotStatusTypes.find(x => x.itemName === gridvalue.lotStatus).id;\r\n }\r\n gridvalue.deliveryPressure = fg.deliveryPressure['itemName'];\r\n if (fg.deliveryPressure['itemName'] === 'OTHER') {\r\n }\r\n this.rqstServiceLots.push(gridvalue);\r\n }\r\n this.builderSvc.PostServiceRequest(this.rqstServiceLots, this.rowValue).subscribe(result => {\r\n const wrTypeCodes = ['CINBE', 'RNBE', 'SRNBE', 'MLTFM'];\r\n this.rqstServiceLots = [];\r\n this.mySelection = [];\r\n this.selectAllState = 'unchecked';\r\n this.gridData3 = {\r\n data: [],\r\n total: 0\r\n };\r\n this.lotdetails = [];\r\n this.lotsData = [];\r\n this.lotOriginal = [];\r\n\r\n for (let i = 0; i < result.data.length; i++) {\r\n if (!wrTypeCodes.includes(result.data[i]['wrTypeCD'])) {\r\n result.data[i]['address'] = this.getLotServAddress(result.data[i]);\r\n const resultDate = result.data[i].constructionCompleteDate;\r\n if (resultDate !== null) {\r\n const resultday = new Date(resultDate);\r\n const resultdayTime = resultday.getTime();\r\n const dateDiff = Math.round((this.todayDate - resultdayTime) / this.one_day);\r\n if (dateDiff < 90) {\r\n if (result.data[i]['wrTypeCD'] != null) {\r\n const wrCd = {\r\n oldwrCd: result.data[i]['wrTypeCD']\r\n };\r\n Object.assign(result.data[i], wrCd);\r\n result.data[i]['oldwrCd'] = (this.lookupSvc.WorkRequestType.find(x => x.id === result.data[i]['oldwrCd'])).itemName;\r\n }\r\n if (result.data[i]['lotStatus'] != null) {\r\n result.data[i]['lotStatus'] = (this.lookupSvc.LotStatusTypes.find(x => x.id === result.data[i]['lotStatus'])).itemName;\r\n }\r\n this.lotsData.push(result.data[i]);\r\n }\r\n } else {\r\n if (result.data[i]['wrTypeCD'] != null && result.data[i]['wrTypeCD'] != '') {\r\n const wrCd = {\r\n oldwrCd: result.data[i]['wrTypeCD']\r\n };\r\n Object.assign(result.data[i], wrCd);\r\n result.data[i]['oldwrCd'] = (this.lookupSvc.WorkRequestType.find(x => x.id === result.data[i]['oldwrCd'])).itemName;\r\n }\r\n if (result.data[i]['lotStatus'] != null) {\r\n result.data[i]['lotStatus'] = (this.lookupSvc.LotStatusTypes.find(x => x.id === result.data[i]['lotStatus'])).itemName;\r\n }\r\n this.lotsData.push(result.data[i]);\r\n }\r\n }\r\n }\r\n this.gridData3 = (process(this.lotsData, this.state));\r\n swal(this.constantsSvc.siteContactDetailsAppliedSwal, '', this.constantsSvc.successSwal);\r\n this.getDuplicates();\r\n },\r\n (error) => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.postRequestFail, this.constantsSvc.errorSwal);\r\n });\r\n }\r\n// to show sorry notifications\r\n SorryNotification() {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.selectLotToAdd, this.constantsSvc.errorSwal);\r\n }\r\n // error focus on control\r\n focusOnError(form: any) {\r\n let control;\r\n Object.keys(form.controls)\r\n .reverse()\r\n .forEach(field => {\r\n if (form.get(field).invalid) {\r\n control = form.get(field);\r\n control.markAsDirty();\r\n }\r\n });\r\n\r\n if (control) {\r\n const el = $('.ng-invalid:not(form):first');\r\n $('html,body').animate(\r\n { scrollTop: el.offset().top - 40 },\r\n 'slow',\r\n () => {\r\n el.focus();\r\n }\r\n );\r\n }\r\n }\r\n // Event to trigger pass input data to lot, request service, activate/deactivate\r\n showLot(lotNumber: any) {\r\n this.lotId = [];\r\n this.lotId.push(this.lotsData.filter(a => a.lotNumber === lotNumber)[0]);\r\n this.builderSvc.lotnum = lotNumber;\r\n }\r\n // Event to refresh the grid on changes in lot details pop up.\r\n refreshGrid(eve: any) {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.lotsData = [];\r\n this.lotdetails = [];\r\n this.lotOriginal = [];\r\n this.gridData3 = {\r\n data: [],\r\n total: 0\r\n };\r\n if (this.serviceActivateRequestComponent) {\r\n this.serviceActivateRequestComponent.reset();\r\n }\r\n this.getServiceGridLotData();\r\n }\r\n // pass data to service new request component.\r\n showRequestService(lotNumber: any) {\r\n this.lotId = [];\r\n this.lotId.push(this.lotsData.filter(a => a.lotNumber === lotNumber)[0]);\r\n }\r\n // to disable Request Service if the status is not AA and RA\r\n disableRequestSer(rowdata: any): boolean {\r\n const temp = [];\r\n temp.push(rowdata.builderId);\r\n this.parentList.forEach(element => {\r\n if (element.subsidiaryId === rowdata.builderId) {\r\n temp.push(element.id);\r\n }\r\n });\r\n if (this.lookupSvc !== undefined && this.lookupSvc.LotStatusTypes !== undefined) {\r\n const lotId = this.lookupSvc.LotStatusTypes.find(a => a.itemName === rowdata.lotStatus) !== undefined ?\r\n this.lookupSvc.LotStatusTypes.find(a => a.itemName === rowdata.lotStatus).id : rowdata.lotStatus;\r\n if ((lotId === 'AA' || lotId === 'RA') && this.isServiceRequested !== 'Y' && temp.includes(this.builderid)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n // code to export grid data to excel\r\n public allData(): ExcelExportData {\r\n this.loading = true;\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.result = {\r\n data: process(this.lotsData, { filter: this.state.filter }).data\r\n };\r\n this.loading = false;\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n return this.result;\r\n}\r\n // to disable activate deactive if the status is not SA, SR, ACR, ACA, DR, DA\r\n disableActivate(rowdata: any): boolean {\r\n if (this.lookupSvc !== undefined && this.lookupSvc.LotStatusTypes !== undefined) {\r\n const lotId = this.lookupSvc.LotStatusTypes.find(a => a.itemName === rowdata.lotStatus) !== undefined ?\r\n this.lookupSvc.LotStatusTypes.find(a => a.itemName === rowdata.lotStatus).id : rowdata.lotStatus;\r\nif (this.stateCd === 'GA') {\r\n if (this.marketerDocCount !== 0 &&\r\n (lotId === 'SA' || lotId === 'ACR' || lotId === 'ACA' || lotId === 'DR' || lotId === 'DA' || lotId === 'ACD' || lotId === 'DD')\r\n && rowdata.wrStatus === 'CLOSE') {\r\n return false;\r\n}\r\n} else {\r\n if ((lotId === 'SA' || lotId === 'ACR' || lotId === 'ACA' || lotId === 'DR' || lotId === 'DA' || lotId === 'ACD' || lotId === 'DD')\r\n && rowdata.wrStatus === 'CLOSE') {\r\n return false;\r\n }\r\n if ((lotId === 'SA' || lotId === 'ACR' || lotId === 'ACA' || lotId === 'DR' || lotId === 'DA' || lotId === 'ACD' || lotId === 'DD')\r\n && rowdata.wrStatus === 'CLOSE') {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n // export to excel and pdf disable\r\n checkExport(): boolean {\r\n if (this.lotsData.length === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n // create additional lots back button logic\r\n routeFlag() {\r\n this.navFlag = 's-rl';\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n this.router.navigate([str + '/' + 'lot/new' + '/' + this.rowValue + '/' + this.builderid + '/' + this.navFlag]);\r\n }\r\n // Lot Reassignment button logic\r\n reassignmentRoute() {\r\n this.navFlag = 's-blr';\r\n const substr: number = this.router.url.indexOf('builder') + 7;\r\n const str = this.router.url.slice(0, substr);\r\n this.router.navigate([str + '/' + 'requestlot' + '/' + this.rowValue + '/' + this.navFlag]);\r\n }\r\n// Function to display other text box if user selected Others as Delivery Pressure, and to hide the other text box\r\n // if user selected anything other than other.\r\n onStateChange(data: any) {\r\n if (data !== undefined && data['itemName'].toUpperCase() === 'OTHER') {\r\n this.builderHomeForm.controls['other'].setValidators(Validators.required);\r\n this.builderHomeForm.updateValueAndValidity();\r\n } else {\r\n this.builderHomeForm.controls['other'].clearValidators();\r\n this.builderHomeForm.controls['other'].reset();\r\n this.builderHomeForm.updateValueAndValidity();\r\n }\r\n }\r\n// To format lot Address\r\n getLotServAddress(rowData1: any) {\r\n rowData1.streetNo = (rowData1.streetNo === null) ? '' : rowData1.streetNo ;\r\n rowData1.streetName = (rowData1.streetName === null) ? '' : rowData1.streetName;\r\n rowData1.city = (rowData1.city === null) ? '' : rowData1.city;\r\n rowData1.stateCd = (rowData1.stateCd === null) ? '' : rowData1.stateCd ;\r\n rowData1.zip = (rowData1.zip === null) ? '' : rowData1.zip;\r\n return rowData1.streetNo + ' ' + rowData1.streetName + ',' + rowData1.city + ',' + rowData1.stateCd + ' ' + rowData1.zip + ', USA ';\r\n }\r\n}\r\n","export default \"legend {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n margin-bottom: 20px;\\r\\n line-height: inherit;\\r\\n padding-left: 18px !important;\\r\\n padding-top: 10px !important;\\r\\n color: #333333;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #d8d8d8;\\r\\n text-transform: none !important;\\r\\n}\\r\\n.panel-title {\\r\\n color: black !important;\\r\\n margin-top: -20px !important;\\r\\n}\\r\\n#brdCrmb{\\r\\n display: none !important;\\r\\n}\\r\\n@media only screen and (max-width: 767px){\\r\\n#brdCrmb{\\r\\n display: block !important;\\r\\n}\\r\\n}\\r\\n.breadcrumb {\\r\\n margin-left: 18px;\\r\\n margin-top: -12px !important;\\r\\n}\\r\\n.panel-title{\\r\\n color: black !important;\\r\\n margin-top: -20px !important;\\r\\n}\\r\\n#projectHeading{\\r\\n font-size:12px;\\r\\n color:black !important;\\r\\n padding:5px;\\r\\n}\\r\\n@media only screen and (max-width: 1025px) {\\r\\n\\r\\n #projectNumber {\\r\\n margin-top: -10px !important;\\r\\n margin-left: 19px !important;\\r\\n }\\r\\n\\r\\n #projectName {\\r\\n margin-left: 19px;\\r\\n margin-top:-10px;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmVxdWVzdC9zdWJkaXZpc2lvbi5yZXF1ZXN0L3N1YmRpdmlzaW9uLnJlcXVlc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsNkJBQTZCO0VBQzdCLDRCQUE0QjtFQUM1QixjQUFjO0VBQ2QsU0FBUztFQUNULGdDQUFnQztFQUNoQywrQkFBK0I7QUFDakM7QUFDQTtFQUNFLHVCQUF1QjtFQUN2Qiw0QkFBNEI7QUFDOUI7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjtBQUNBO0FBQ0E7RUFDRSx5QkFBeUI7QUFDM0I7QUFDQTtBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLDRCQUE0QjtBQUM5QjtBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLDRCQUE0QjtBQUM5QjtBQUVBO0VBQ0UsY0FBYztFQUNkLHNCQUFzQjtFQUN0QixXQUFXO0FBQ2I7QUFFQTs7RUFFRTtJQUNFLDRCQUE0QjtJQUM1Qiw0QkFBNEI7RUFDOUI7O0VBRUE7SUFDRSxpQkFBaUI7SUFDakIsZ0JBQWdCO0VBQ2xCO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2J1aWxkZXIvY29tcG9uZW50cy9yZXF1ZXN0L3N1YmRpdmlzaW9uLnJlcXVlc3Qvc3ViZGl2aXNpb24ucmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsibGVnZW5kIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgcGFkZGluZy1sZWZ0OiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcclxuICBjb2xvcjogIzMzMzMzMztcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ucGFuZWwtdGl0bGUge1xyXG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNicmRDcm1ie1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcclxuI2JyZENybWJ7XHJcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG59XHJcblxyXG4uYnJlYWRjcnVtYiB7XHJcbiAgbWFyZ2luLWxlZnQ6IDE4cHg7XHJcbiAgbWFyZ2luLXRvcDogLTEycHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBhbmVsLXRpdGxle1xyXG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6IC0yMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNwcm9qZWN0SGVhZGluZ3tcclxuICBmb250LXNpemU6MTJweDtcclxuICBjb2xvcjpibGFjayAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6NXB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjVweCkge1xyXG5cclxuICAjcHJvamVjdE51bWJlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE5cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNwcm9qZWN0TmFtZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTlweDtcclxuICAgIG1hcmdpbi10b3A6LTEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4iXX0= */\"","import { Component, Inject, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { LookupsService, LandingSiteContactDetails, Marker, EnvironmentService, BCASearch } from '@app/base/core';\r\nimport {DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { SessionService } from '@app/base/core';\r\nimport { BuilderService } from '@app/modules/builder/base/services';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'subdivision-request',\r\n templateUrl: './subdivision.request.component.html',\r\n styleUrls: ['./subdivision.request.component.css']\r\n})\r\nexport class SubdivisionRequestComponent implements OnInit, OnDestroy {\r\n showGISMap = false;\r\n landingSiteContactDetails: LandingSiteContactDetails = new LandingSiteContactDetails();\r\n public mapTypeControl: any;\r\n public google: any;\r\n public latitude: number;\r\n public longitude: number;\r\n builderHomeForm: FormGroup;\r\n public zoom: number;\r\n public markerDraggable = false;\r\n public marker: Marker;\r\n public showMarker = false;\r\n public lat: number;\r\n date1 = new Date('04/09/2018');\r\n date2 = new Date('04/09/2019');\r\n public bcaDetailsSubscription: Subscription;\r\n public bcaSearch: BCASearch = {\r\n builderId: [],\r\n projectName: '',\r\n projectAddress: '',\r\n bcaStatus: '',\r\n subsidaryId: '',\r\n subsidarycompanyName: '',\r\n startDate: this.date1,\r\n endDate: this.date2,\r\n reqId: '',\r\n bcaStatusValue: ''\r\n };\r\n public long: number;\r\n public infoWindowOpen: boolean;\r\n public labelOptions: any;\r\n public propertyType: string;\r\n public mapTypeId: string;\r\n public errorMsg: string;\r\n public addressFromMarker: any;\r\n public showAddress = true;\r\n public gisMapUrl: SafeResourceUrl;\r\n public builderId: string[];\r\n public rowValue;\r\n public stateCd: string;\r\n public projectNumber: number;\r\n public projectName: string;\r\n public routeSubscription: any;\r\n public urlWithParameters: any;\r\n public killsubscribe: boolean;\r\n // imageURL: 'http://iconbug.com/download/size/128/icon/6329/small-home/';\r\n @ViewChild('infowindow', {static : false} )\r\n public infoWindow;\r\n constructor(\r\n // @Inject(Router) private router,\r\n // @Inject(MapsAPILoader) private mapsAPILoader: MapsAPILoader,\r\n public lookupSvc: LookupsService,\r\n public sanitizer: DomSanitizer,\r\n private sessionSvc: SessionService,\r\n public builderSvc: BuilderService,\r\n public environmentSvc: EnvironmentService,\r\n public route: ActivatedRoute\r\n ) {\r\n this.urlWithParameters = this.environmentSvc.gisURL;\r\n }\r\n ngOnInit() {\r\n this.killsubscribe = true;\r\n this.stateCd = this.sessionSvc.paramLdc;\r\n this.rowValue = this.route.snapshot.parent.params['id'];\r\n // To get project details\r\n this.sessionSvc.BcaData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n this.sessionSvc.GridData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n this.projectNumber = success.projectNumber;\r\n this.projectName = success.projectName;\r\n });\r\n } else {\r\n this.sessionSvc.builderData.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success) {\r\n this.builderId = success.BuilderId;\r\n for (let i = 0; i < this.builderId.length; i++) {\r\n this.bcaSearch.builderId.push(this.builderId[i]);\r\n }\r\n this.bcaSearch.reqId = this.rowValue;\r\n this.bcaDetailsSubscription = this.builderSvc.getBuilderBCADetails(this.bcaSearch).subscribe(result => {\r\n if (result.data[0].bcaId !== undefined) {\r\n this.projectNumber = result.data[0].bcaId;\r\n }\r\n this.projectName = result.data[0].projectName;\r\n });\r\n }\r\n });\r\n }\r\n}); // To Show GIS map with subdivision location\r\n this.urlWithParameters += this.rowValue;\r\n this.urlWithParameters += '&state=' + this.stateCd;\r\n this.gisMapUrl = this.sanitizer.bypassSecurityTrustResourceUrl(this.urlWithParameters);\r\n }\r\n // ondestroy\r\n ngOnDestroy() {\r\n this.killsubscribe = false;\r\n if (this.bcaDetailsSubscription) {\r\n this.bcaDetailsSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n}\r\n","export default \".heading_margin {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n:host>>>.panel-group-control.panel-group-control-right .panel-title>a.heading-elements-toggle:before {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host>>>.panel-group-control.panel-group-control-right .panel-title>a.heading-elements-toggle {\\r\\n margin-right: 25px;\\r\\n padding-right: 0;\\r\\n}\\r\\n\\r\\n@media (min-width:769px) {\\r\\n .mr-30 {\\r\\n margin-right: 30px;\\r\\n }\\r\\n\\r\\n :host>>>.panel-group-control.panel-group-control-right .panel-title>a.heading-elements-toggle {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n/* a {\\r\\n color: #1e88e5 !important;\\r\\n text-decoration: underline;\\r\\n} */\\r\\n\\r\\n.even {\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.odd {\\r\\n background-color: #f5f5f5;\\r\\n border-top: 1px dashed #ddd;\\r\\n}\\r\\n\\r\\np {\\r\\n margin: 0 0 5px;\\r\\n}\\r\\n\\r\\ntable {\\r\\n border: 1px solid #ccc;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 0;\\r\\n border-collapse: collapse;\\r\\n border-spacing: 0;\\r\\n}\\r\\n\\r\\ntable tr {\\r\\n border: 1px solid #ddd;\\r\\n padding: 5px;\\r\\n }\\r\\n\\r\\ntable th, table td {\\r\\n padding: 10px;\\r\\n text-align: center;\\r\\n }\\r\\n\\r\\ntable th {\\r\\n text-transform: uppercase;\\r\\n letter-spacing: 1px;\\r\\n }\\r\\n\\r\\n.table-bordered tr:first-child > td, .table-bordered tr:first-child > th {\\r\\n border-top-color: white; \\r\\n}\\r\\n\\r\\n@media screen and (max-width: 600px) {\\r\\n\\r\\n #card table {\\r\\n border: 0;\\r\\n table-layout: fixed;\\r\\n }\\r\\n\\r\\n #card table thead {\\r\\n display: none;\\r\\n }\\r\\n\\r\\n #card table tr {\\r\\n margin-bottom: 20px;\\r\\n /*display: block;\\r\\n border-bottom: 2px solid #ddd;\\r\\n box-shadow: 2px 2px 1px #dadada;*/\\r\\n }\\r\\n\\r\\n #card table tr:nth-child(even) {\\r\\n background-color: #f2f2f2\\r\\n }\\r\\n\\r\\n #card table td {\\r\\n display: block;\\r\\n text-align: right;\\r\\n font-size: 9px;\\r\\n border: none !important;\\r\\n }\\r\\n\\r\\n #card table td:last-child {\\r\\n border-bottom: 0;\\r\\n }\\r\\n\\r\\n #card table td::before {\\r\\n content: attr(data-label);\\r\\n float: left;\\r\\n text-transform: uppercase;\\r\\n font-weight: bold;\\r\\n }\\r\\n\\r\\n #card tbody {\\r\\n line-height: 0 !important;\\r\\n }\\r\\n\\r\\n\\r\\n}\\r\\n\\r\\n@media screen and (max-width: 320px) {\\r\\n\\r\\n #card table td {\\r\\n font-size: 8px;\\r\\n }\\r\\n}\\r\\n\\r\\ndiv p{\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvcmV2aWV3L3Jldmlldy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFO0lBQ0Usa0JBQWtCO0VBQ3BCOztFQUVBO0lBQ0UsYUFBYTtFQUNmO0FBQ0Y7O0FBRUE7OztHQUdHOztBQUVIO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsV0FBVztFQUNYLFNBQVM7RUFDVCxVQUFVO0VBQ1YseUJBQXlCO0VBQ3pCLGlCQUFpQjtBQUNuQjs7QUFFRTtJQUNFLHNCQUFzQjtJQUN0QixZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxhQUFhO0lBQ2Isa0JBQWtCO0VBQ3BCOztBQUVBO0lBQ0UseUJBQXlCO0lBQ3pCLG1CQUFtQjtFQUNyQjs7QUFFRjtHQUNHLHVCQUF1QjtBQUMxQjs7QUFHQTs7RUFFRTtJQUNFLFNBQVM7SUFDVCxtQkFBbUI7RUFDckI7O0lBRUU7TUFDRSxhQUFhO0lBQ2Y7O0lBRUE7TUFDRSxtQkFBbUI7TUFDbkI7O3VDQUVpQztJQUNuQzs7RUFFRjtJQUNFO0VBQ0Y7O0lBRUU7TUFDRSxjQUFjO01BQ2QsaUJBQWlCO01BQ2pCLGNBQWM7TUFDZCx1QkFBdUI7SUFDekI7O01BRUU7UUFDRSxnQkFBZ0I7TUFDbEI7O01BRUE7UUFDRSx5QkFBeUI7UUFDekIsV0FBVztRQUNYLHlCQUF5QjtRQUN6QixpQkFBaUI7TUFDbkI7O0VBRUo7SUFDRSx5QkFBeUI7RUFDM0I7OztBQUdGOztBQUVBOztFQUVFO0lBQ0UsY0FBYztFQUNoQjtBQUNGOztBQUVBO0VBQ0UsZUFBZTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3Jldmlldy9yZXZpZXcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkaW5nX21hcmdpbiB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG46aG9zdD4+Pi5wYW5lbC1ncm91cC1jb250cm9sLnBhbmVsLWdyb3VwLWNvbnRyb2wtcmlnaHQgLnBhbmVsLXRpdGxlPmEuaGVhZGluZy1lbGVtZW50cy10b2dnbGU6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG46aG9zdD4+Pi5wYW5lbC1ncm91cC1jb250cm9sLnBhbmVsLWdyb3VwLWNvbnRyb2wtcmlnaHQgLnBhbmVsLXRpdGxlPmEuaGVhZGluZy1lbGVtZW50cy10b2dnbGUge1xyXG4gIG1hcmdpbi1yaWdodDogMjVweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo3NjlweCkge1xyXG4gIC5tci0zMCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgfVxyXG5cclxuICA6aG9zdD4+Pi5wYW5lbC1ncm91cC1jb250cm9sLnBhbmVsLWdyb3VwLWNvbnRyb2wtcmlnaHQgLnBhbmVsLXRpdGxlPmEuaGVhZGluZy1lbGVtZW50cy10b2dnbGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8qIGEge1xyXG4gIGNvbG9yOiAjMWU4OGU1ICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn0gKi9cclxuXHJcbi5ldmVuIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ub2RkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2RkZDtcclxufVxyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAwIDAgNXB4O1xyXG59XHJcblxyXG50YWJsZSB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG4gIHRhYmxlIHRyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgfVxyXG5cclxuICB0YWJsZSB0aCwgdGFibGUgdGQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIHRhYmxlIHRoIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gIH1cclxuXHJcbi50YWJsZS1ib3JkZXJlZCB0cjpmaXJzdC1jaGlsZCA+IHRkLCAudGFibGUtYm9yZGVyZWQgdHI6Zmlyc3QtY2hpbGQgPiB0aCB7XHJcbiAgIGJvcmRlci10b3AtY29sb3I6IHdoaXRlOyBcclxufVxyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcblxyXG4gICNjYXJkIHRhYmxlIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgfVxyXG5cclxuICAgICNjYXJkIHRhYmxlIHRoZWFkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAjY2FyZCB0YWJsZSB0ciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIC8qZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGRkO1xyXG4gICAgICBib3gtc2hhZG93OiAycHggMnB4IDFweCAjZGFkYWRhOyovXHJcbiAgICB9XHJcblxyXG4gICNjYXJkIHRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyXHJcbiAgfVxyXG5cclxuICAgICNjYXJkIHRhYmxlIHRkIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBmb250LXNpemU6IDlweDtcclxuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgICAjY2FyZCB0YWJsZSB0ZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjY2FyZCB0YWJsZSB0ZDo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuXHJcbiAgI2NhcmQgdGJvZHkge1xyXG4gICAgbGluZS1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG5cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcclxuXHJcbiAgI2NhcmQgdGFibGUgdGQge1xyXG4gICAgZm9udC1zaXplOiA4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5kaXYgcHtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit, HostListener, OnDestroy } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, StepsRouteEnum, CompaniesEnum,\r\n LookupsService, ApplicantMessageEnum, StepsCodeEnum, Attachment, ConstantsService } from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { SocoConfigurationService } from '@app/soco/configuration/soco-configuration.service';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { Subscription } from 'rxjs';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n@Component({\r\n selector: 'app-review',\r\n templateUrl: './review.component.html',\r\n styleUrls: ['./review.component.css']\r\n})\r\nexport class ReviewComponent implements OnInit, CanComponentDeactivate, OnDestroy {\r\n form: any;\r\n addressForm: any;\r\n informationForm: any;\r\n premiseForm: any;\r\n typeForm: FormGroup;\r\n alertMsg: any = [];\r\n fileData: Attachment;\r\n getFilesSubscription: Subscription;\r\n // BId: string;\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n stepsCodeEnum: typeof StepsCodeEnum = StepsCodeEnum;\r\n requestTypeEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n stepsRouteEnum: typeof StepsRouteEnum = StepsRouteEnum;\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n applicantMessageEnum: typeof ApplicantMessageEnum = ApplicantMessageEnum;\r\n message = '';\r\n dontKnowText = 'Don\\'t Know';\r\n dontKnowDefaultPressure = 'Dont\\'t Know, Default Delivery Pressure is ';\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n constructor(public wizardSvc: MultistepsService, private config: SocoConfigurationService,\r\n public lookupSvc: LookupsService, public sessionSvc: SessionService, public socoHttp: SocoHttpService,\r\n public constantsSvc: ConstantsService, public alertService: AlertService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.REVIEW);\r\n }\r\n ngOnInit() {\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.REVIEW).form;\r\n this.typeForm = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.addressForm = this.wizardSvc.getStepById(this.stepsIdEnum.ADDRESSES).form;\r\n this.informationForm = this.wizardSvc.getStepById(this.stepsIdEnum.INFORMATION).form;\r\n this.premiseForm = this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form;\r\n // Load common lookups\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Banner messages for Review page\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Review Builder'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n if (this.wizardSvc.duplicatedRequest) {\r\n const msg = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.wizardSvc.serviceAddress.state.short_name.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.wizardSvc.paramApplicantMessage.toUpperCase() && x.application === 'GRE');\r\n this.message = msg ? msg.message : 'NA';\r\n }\r\n // If request type is subdivision get Documents\r\n const builderID = this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id === undefined ? this.wizardSvc.BId :\r\n this.wizardSvc.steps[StepsIdEnum.INFORMATION].form.value.builderCompany.id;\r\n this.wizardSvc.BId = builderID;\r\n this.getFilesSubscription = this.wizardSvc.getAllFiles(builderID).subscribe(result => {\r\n this.fileData = result.data;\r\n });\r\n }\r\n // unsubscribe the subscriptions\r\n ngOnDestroy() {\r\nif (this.getFilesSubscription) {\r\n this.getFilesSubscription.unsubscribe();\r\n}\r\n }\r\n next() { this.wizardSvc.nextStep(); }// Navigate to Next page\r\n back() { this.wizardSvc.previousStep(); } // Navigate to Previous page\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n // Type of residential delivery pressure required\r\n residentialDeliveryPressure(delValue) {\r\n return !delValue.controls['residentialDeliveryPressure'].value['itemName'] ? '' :\r\n (delValue.controls['residentialDeliveryPressure'].value['itemName']\r\n === this.dontKnowText ? this.dontKnowDefaultPressure +\r\n this.lookupSvc.defaultResidentialPressure.lookupValues[0]['itemName'] :\r\n delValue.controls['residentialDeliveryPressure'].value['itemName']);\r\n }\r\n // Type of subdivision delivery pressure required\r\n subdivisionDeliveryPressure(delValue) {\r\n return !delValue.controls['subdivisionDeliveryPressure'].value['itemName'] ? '' :\r\n (delValue.controls['subdivisionDeliveryPressure'].value['itemName']\r\n === this.dontKnowText ? this.dontKnowDefaultPressure +\r\n this.lookupSvc.defaultResidentialPressure.lookupValues[0]['itemName'] :\r\n delValue.controls['subdivisionDeliveryPressure'].value['itemName']);\r\n }\r\n // Type of commercial delivery pressure required\r\n commercialDeliveryPressure(item) {\r\n return !item.controls['commercialDeliveryPressure'].value['itemName'] ? '' :\r\n (item.controls['commercialDeliveryPressure'].value['itemName']\r\n === this.dontKnowText ? this.dontKnowDefaultPressure +\r\n this.lookupSvc.defaultCommercialPressure.lookupValues[0]['itemName'] :\r\n item.controls['commercialDeliveryPressure'].value['itemName']);\r\n }\r\n}\r\n","export default \".btnDiv{\\r\\n padding-top: 28px !important;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvc3Vic2lkaWFyeS9hZGQtc3Vic2lkaWFyeS9hZGQtc3Vic2lkaWFyeS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNEJBQTRCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvc3Vic2lkaWFyeS9hZGQtc3Vic2lkaWFyeS9hZGQtc3Vic2lkaWFyeS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ0bkRpdntcclxuICBwYWRkaW5nLXRvcDogMjhweCAhaW1wb3J0YW50O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, Inject, Input, EventEmitter, Output, OnChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SessionService, ConstantsService, LookupsService, AccountService } from '@app/core/services';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/shared/functions';\r\nimport { BuilderService } from '@app/modules/builder/base/services';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { UspsService } from '@app/shared/services';\r\nimport { DatePipe } from '@angular/common';\r\nimport { BuilderInfoOne } from '@app/core/models';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\ninterface SubName {\r\n id: number;\r\n itemName: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-subsidiary',\r\n templateUrl: './add-subsidiary.component.html',\r\n styleUrls: ['./add-subsidiary.component.css']\r\n})\r\nexport class AddSubsidiaryComponent implements OnInit {\r\n public builderSearchForm: FormGroup;\r\n public addSubsidiaryForm: FormGroup;\r\n userForm: FormGroup;\r\n public submitFlag;\r\n addNewUser: any = {};\r\n public flag = false;\r\n subList: SubName[];\r\n builderId: string;\r\n public addNewBuilder: BuilderInfoOne = {\r\n reEnterEmail : null,\r\n id: null,\r\n IsActive: null,\r\n _companyName: null,\r\n companyName: null,\r\n builderTypeCode: null,\r\n email: null,\r\n status: null,\r\n recCreateDate: null,\r\n recCreateUserId: null,\r\n recUpdateDate: null,\r\n recUpdateUserId: null,\r\n builderUsers: null,\r\n builderMapping: null,\r\n builderAddresses: {\r\n id: null,\r\n contactTypeCode: null,\r\n streetNumber: null,\r\n streetName: null,\r\n directionPrefix: null,\r\n directionSuffix: null,\r\n streetType: null,\r\n city: null,\r\n state: null,\r\n zipCode: null,\r\n contactName2Extn: null,\r\n contactName1Extn: null,\r\n contactName1Phone: null,\r\n contactName1AreaCode: null,\r\n contactName2AreaCode: null,\r\n contactName2Phone: null,\r\n address2: null,\r\n unitNumber: null,\r\n recUpdatedDate: null,\r\n recCreatedDate: null,\r\n recCreatedBy: null,\r\n recUpdatedBy: null\r\n }\r\n };\r\n public notFound;\r\n public _builderData: any = {};\r\n public subsidiaryInput: any = {};\r\n cities: any = [];\r\n states: any = [];\r\n public builderInfo: any = {};\r\n // builderCompanySearch: any = {\r\n // builderCompanyName: null,\r\n // builderAddress: null,\r\n // phone: null,\r\n // extension: null,\r\n // email: null,\r\n // activeCompany: false\r\n // };\r\n constructor(\r\n @Inject(Router) private router: Router,\r\n public session: SessionService,\r\n private builderSvc: BuilderService,\r\n public socoHttp: SocoHttpService,\r\n public constantsSvc: ConstantsService,\r\n public lookupSvc: LookupsService,\r\n private usps: UspsService,\r\n public accountSvc: AccountService,\r\n private datePipe: DatePipe,\r\n ) {\r\n this.session.builderData.subscribe(result => {\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n this.builderId = result.BuilderId[0];\r\n this.subList = [];\r\n console.log(this.builderId);\r\n this.subList.push({ id: +this.builderId, itemName: result.CompanyName });\r\n for ( const i of result.BuilderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: +i.subsidiaryId, itemName: i.subsidiaryName.toString()});\r\n }\r\n }\r\n } else {\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined && result.data.length !== 0) {\r\n this.builderId = result.data.id;\r\n this.subList = [];\r\n this.subList.push({ id: +this.builderId, itemName: this.accountSvc.account.user.company });\r\n for ( const i of result.data.builderMapping ) {\r\n if ( i.status === 'Approved' ) {\r\n this.subList.push({ id: +i.subsidiaryId, itemName: i.subsidiaryName.toString() });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n });\r\n }\r\n @Input() set builderdata(data: any) {\r\n this._builderData = data;\r\n }\r\n @Output() updateSubsidiary = new EventEmitter();\r\n\r\n ngOnInit() {\r\n if (!this._builderData.builderId) {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.session.builderData.subscribe(result => {\r\n if (result) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n this.builderInfo.builderId = result.BuilderId[0];\r\n this.builderInfo.companyName = result.CompanyName;\r\n this.addSubsidiary();\r\n this.resolveZipCode();\r\n } else {\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined && result.data.length !== 0) {\r\n this.builderInfo.builderId = result.data.id;\r\n this.builderInfo.companyName = result.data.companyName;\r\n }\r\n this.addSubsidiary();\r\n this.resolveZipCode();\r\n });\r\n }\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n this.addSubsidiary();\r\n this.resolveZipCode();\r\n });\r\n } else {\r\n this.addSubsidiary();\r\n this.resolveZipCode();\r\n }\r\n this.cities = this.lookupSvc.cities;\r\n this.states = this.lookupSvc.states;\r\n }\r\n checkForBuilder() {\r\n if (this.addSubsidiaryForm.valid) {\r\n if (this.userForm.valid) {\r\nconst builderName = this.addSubsidiaryForm.controls['builderName'].value;\r\nthis.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\nthis.builderSvc.getBuilderDetails(builderName).subscribe(res => {\r\n if (res.data === undefined && res.statusCode === 200) {\r\n this.submitForm();\r\n} else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n this.builderSvc.builderInfoSub.BuilderId = res.data.id;\r\n this.builderSvc.builderInfoSub.CompanyName = res.data.companyName;\r\n this.builderSvc.builderInfoSub.CompanyEmail = res.data.email;\r\n this.builderSvc.builderInfoSub.IsActive = res.data.isActive;\r\n this.builderSvc.builderInfoSub.CompanyAddress = res.data.builderAddresses;\r\n swal(this.constantsSvc.warningSwal, this.constantsSvc.builderCompanySubsidiaryAddWarning, this.constantsSvc.warningSwal);\r\n this.OnClose();\r\n}\r\n},\r\nerror => {\r\n this.notFound = true;\r\n this.submitForm();\r\n});\r\n } else {\r\n triggerFormValidation(this.userForm);\r\n focusFirstInvalidField(this.userForm);\r\n }\r\n } else {\r\n triggerFormValidation(this.addSubsidiaryForm);\r\n focusFirstInvalidField(this.addSubsidiaryForm);\r\n }\r\n\r\n }\r\n\r\n\r\n // Code to populate city and state values based on zip code entered\r\n resolveZipCode() {\r\n this.addSubsidiaryForm.controls['zipCode'].valueChanges.subscribe(selectedValue => {\r\n if (this.constantsSvc.zipCodePattern.test(selectedValue)) { // We have a valid ZIP Code.\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.usps.GetCityStateFromZip(selectedValue, (result) => {\r\n if (result.CityStateLookupResponse.ZipCode.Error) {\r\n this.addSubsidiaryForm.patchValue({ city: null, state: null, zipCode: null });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n swal(this.constantsSvc.invalidZipSwal, '', this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.lookupSvc.loadMailingAddressCityLookups(result.CityStateLookupResponse.ZipCode.State,\r\n result.CityStateLookupResponse.ZipCode.City);\r\n this.lookupSvc.mailingAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n this.cities = this.lookupSvc.mailingCity;\r\n this.states = this.lookupSvc.mailingState;\r\n this.addSubsidiaryForm.patchValue({\r\n city: this.lookupSvc.mailingCity.length > 0 ? this.lookupSvc.mailingCity[0] : null,\r\n state: this.lookupSvc.mailingState.length > 0 ? this.lookupSvc.mailingState[0] : null,\r\n });\r\n }\r\n }, fail => { this.socoHttp.hidePleaseWait('ContainerAwaiter2'); });\r\n });\r\n }\r\n });\r\n }\r\n // On click of cancel event reset the FromGroup\r\n OnClose() {\r\n $('#modal_add_subsidiary').modal('hide');\r\n this.addSubsidiaryForm.reset();\r\n this.userForm.reset();\r\n this.addSubsidiaryForm.patchValue({\r\n subsidaryCompany: this._builderData.companyName ?\r\n this._builderData.companyName : this.builderInfo.builderId\r\n });\r\n this.addSubsidiaryForm.updateValueAndValidity();\r\n this.builderSvc.builderInfoSub.BuilderId = null;\r\n this.builderSvc.builderInfoSub.CompanyName = null;\r\n this.builderSvc.builderInfoSub.CompanyEmail = null;\r\n this.builderSvc.builderInfoSub.IsActive = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.contactTypeCode = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.recUpdatedBy = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.recCreatedBy = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.recCreatedDate = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.id = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.contactName1Extn = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.contactName1Phone = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.contactName2Extn = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.recUpdatedDate = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.city = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.streetName = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.streetNumber = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.streetType = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.state = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.zipCode = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.unitNumber = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.directionPrefix = null;\r\n this.builderSvc.builderInfoSub.CompanyAddress.directionSuffix = null;\r\n }\r\n addSubsidiary() {\r\n this.flag = true;\r\n this.addSubsidiaryForm = new FormGroup({\r\n subsidaryCompany: new FormControl(null, Validators.required),\r\n parentBuilderName: new FormControl({ value: (this._builderData.companyName ?\r\n this._builderData.companyName : this.builderInfo.companyName), disabled: true }),\r\n builderName: new FormControl(null, [Validators.required, Validators.maxLength(70)]),\r\n streetNumber: new FormControl(null,\r\n [Validators.required, Validators.maxLength(7), Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n streetName: new FormControl(null, [Validators.required, Validators.maxLength(60)]),\r\n city: new FormControl({ value: null, disabled: true }),\r\n state: new FormControl({ value: null, disabled: true }),\r\n zipCode: new FormControl(null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n phone: new FormControl(null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n phoneExt: new FormControl(null,\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n email: new FormControl(null,\r\n [Validators.required, Validators.maxLength(50), Validators.pattern(this.constantsSvc.emailPattern)])\r\n });\r\n\r\n this.userForm = new FormGroup({\r\n firstName: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50)]\r\n ),\r\n lastName: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50)]\r\n ),\r\n email: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50), Validators.pattern(this.constantsSvc.emailPattern)]\r\n ),\r\n contactNumber: new FormControl(\r\n null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]\r\n )\r\n });\r\n }\r\n\r\n addUser() {\r\n this.addNewUser.id = this.subsidiaryInput.SubsidiaryId;\r\n this.addNewUser.userId = this.userForm.controls['email'].value;\r\n this.addNewUser.userName = this.userForm.controls['firstName'].value + ' ' + this.userForm.controls['lastName'].value;\r\n this.addNewUser.firstName = this.userForm.controls['firstName'].value;\r\n this.addNewUser.lastName = this.userForm.controls['lastName'].value;\r\n this.addNewUser.email = this.userForm.controls['email'].value;\r\n this.addNewUser.Status = 'Requested';\r\n this.addNewUser.communicationTypeCd = null;\r\n this.addNewUser.iaAdmin = null;\r\n this.addNewUser.recCreatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewUser.recUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewUser.recCreatedBy = this.userForm.controls['email'].value;\r\n this.addNewUser.recUpdatedBy = this.userForm.controls['email'].value;\r\n this.addNewUser.contactName2Phone = this.userForm.controls['contactNumber'].value;\r\n this.addNewUser.contactName2Extn = null;\r\n this.addNewUser.comments = null;\r\n this.addNewUser.approveRejectDTTM = null;\r\n this.addNewUser.approveRejectBy = null;\r\n this.builderSvc.addUser(this.addNewUser).subscribe(result => {\r\n if (result.data.companyName === '') {\r\n swal(this.constantsSvc.warningSwal, this.constantsSvc.builderUserAddWarning, this.constantsSvc.warningSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n $('#modal_add_subsidiary').modal('hide');\r\n this.addSubsidiaryForm.reset();\r\n this.userForm.reset();\r\n this.addSubsidiaryForm.patchValue({\r\n subsidaryCompany: this._builderData.companyName ?\r\n this._builderData.companyName : this.builderInfo.builderId\r\n });\r\n this.addSubsidiaryForm.updateValueAndValidity();\r\n this.updateSubsidiary.emit('true');\r\n swal(this.constantsSvc.successSwal1, this.constantsSvc.subsidiaryAddSuccess, this.constantsSvc.successSwal);\r\n }\r\n }, error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.subsidiaryAddFail, this.constantsSvc.errorSwal);\r\n });\r\n\r\n }\r\n\r\n\r\n submitForm() {\r\n\r\n const userId = this.accountSvc.account.user.username;\r\n this.addNewBuilder._companyName = this.addSubsidiaryForm.controls['builderName'].value.trim();\r\n this.addNewBuilder.companyName = this.addSubsidiaryForm.controls['builderName'].value.trim();\r\n this.addNewBuilder.email = this.addSubsidiaryForm.controls['email'].value;\r\n this.addNewBuilder.status = 'Approved';\r\n this.addNewBuilder.recCreateDate = (this.builderSvc.builderInfoSub.CompanyAddress.recCreatedDate !== null) ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.recCreatedDate :\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.recUpdateDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.recCreateUserId = this.builderSvc.builderInfoSub.CompanyAddress.recCreatedBy ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.recCreatedBy : userId;\r\n this.addNewBuilder.recUpdateUserId = userId;\r\n this.addNewBuilder.builderAddresses.recCreatedDate = (this.builderSvc.builderInfoSub.CompanyAddress.recCreatedDate !== null) ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.recCreatedDate :\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.builderAddresses.recUpdatedDate =\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.builderAddresses.recCreatedBy = this.builderSvc.builderInfoSub.CompanyAddress.recCreatedBy ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.recCreatedBy : userId;\r\n this.addNewBuilder.builderAddresses.recUpdatedBy = userId;\r\n this.addNewBuilder.IsActive = 'Y';\r\n this.addNewBuilder.builderAddresses.contactTypeCode = (this.builderSvc.builderInfoSub.CompanyAddress.contactTypeCode !== null) ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.contactTypeCode : this.constantsSvc.contactTypeCode;\r\n this.addNewBuilder.builderAddresses.id = this.builderSvc.builderInfoSub.CompanyAddress.id ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.id : null;\r\n this.addNewBuilder.id = this.builderSvc.builderInfoSub.CompanyAddress.id ? this.builderSvc.builderInfoSub.CompanyAddress.id : null;\r\n this.addNewBuilder.builderAddresses.state = this.addSubsidiaryForm.controls['state'].value ?\r\n this.addSubsidiaryForm.controls['state'].value.id : null;\r\n this.addNewBuilder.builderAddresses.city = this.addSubsidiaryForm.controls['city'].value ?\r\n this.addSubsidiaryForm.controls['city'].value.id : null;\r\n this.addNewBuilder.builderAddresses.zipCode = this.addSubsidiaryForm.controls['zipCode'].value;\r\n this.addNewBuilder.builderAddresses.streetName = this.addSubsidiaryForm.controls['streetName'].value.trim();\r\n this.addNewBuilder.builderAddresses.streetNumber = this.addSubsidiaryForm.controls['streetNumber'].value.trim();\r\n this.addNewBuilder.builderAddresses.contactName1Extn = this.builderSvc.builderInfoSub.CompanyAddress.contactName1Extn ?\r\n this.builderSvc.builderInfoSub.CompanyAddress.contactName1Extn : this.addSubsidiaryForm.controls['phoneExt'].value;\r\n this.addNewBuilder.builderAddresses.contactName1Phone = this.addSubsidiaryForm.controls['phone'].value;\r\n this.addNewBuilder.builderAddresses.address2 = this.addSubsidiaryForm.controls['streetNumber'].value + ' ' +\r\n this.addSubsidiaryForm.controls['streetName'].value + ', ' + this.addSubsidiaryForm.controls['city'].value.itemName + ', ' +\r\n this.addSubsidiaryForm.controls['state'].value.itemName + ' ' + this.addSubsidiaryForm.controls['zipCode'].value;\r\n\r\n\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter2');\r\n this.builderSvc.addBuilder(this.addNewBuilder).subscribe(res => {\r\n this.subsidiaryInput._SubsidiaryName = res.data._companyName;\r\n this.subsidiaryInput.SubsidiaryName = res.data.companyName;\r\n this.subsidiaryInput.SubsidiaryId = res.data.id;\r\n this.subsidiaryInput.Id = this.addSubsidiaryForm.controls['subsidaryCompany'].value['id'];\r\n this.subsidiaryInput.Status = this.constantsSvc.Requested;\r\n this.subsidiaryInput.RecCreatedBy = userId;\r\n this.subsidiaryInput.RecUpdatedBy = userId;\r\n this.subsidiaryInput.RecCreatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.subsidiaryInput.RecUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.subsidiaryInput.BuilderName = this.addSubsidiaryForm.controls['subsidaryCompany'].value['itemName'];\r\n this.builderSvc.updateBuilderMapping(this.subsidiaryInput).subscribe(res => {\r\n this.builderSvc.subsidiaryId.subsidiaryId = this.subsidiaryInput.SubsidiaryId;\r\n this.builderSvc.subsidiaryId.status = this.constantsSvc.Requested;\r\n this.addUser();\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.subsidiaryAddFail, this.constantsSvc.errorSwal);\r\n });\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter2');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.subsidiaryAddFail, this.constantsSvc.errorSwal);\r\n });\r\n}\r\n}\r\n","export default \".borderless td, .borderless th {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.panel {\\r\\n margin-bottom: 0px !important;\\r\\n background-color: #f5f5f5;\\r\\n color: #333333;\\r\\n border: 1px solid transparent;\\r\\n border-radius: 0px;\\r\\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\\r\\n}\\r\\n\\r\\n.wordWrap {\\r\\n word-wrap: break-word;\\r\\n}\\r\\n\\r\\n.subdivision-banner {\\r\\nbackground-image: url(\\\"/assets/images/banners/letter.jpg\\\");\\r\\nheight: 180px !important;\\r\\nmargin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.bg-grey-230 {\\r\\n background-color: #e6e6e6;\\r\\n border-color: #e6e6e6;\\r\\n color: #565656;\\r\\n}\\r\\n\\r\\nlegend {\\r\\n display: block;\\r\\n width: 100%;\\r\\n padding: 0;\\r\\n margin-bottom: 20px;\\r\\n line-height: inherit;\\r\\n color: #333333;\\r\\n border: 0;\\r\\n border-bottom: 1px solid #d8d8d8;\\r\\n}\\r\\n\\r\\nlegend {\\r\\n font-size: 12px;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\nbutton a, button a:hover {\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n/*@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {\\r\\n#SubsidiarySearch {\\r\\n width: 95%;\\r\\n}\\r\\n}*/\\r\\n\\r\\n@media only screen and (min-width: 1110px){\\r\\n.pad-left{\\r\\n padding-left:45px;\\r\\n}\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1009px){\\r\\n.pad-left{\\r\\n padding-left: 0px;\\r\\n}\\r\\n}\\r\\n\\r\\n#SubsidiarySearch {\\r\\nwidth: 100%;\\r\\n}\\r\\n\\r\\n#brdCrmb{\\r\\ndisplay: none !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 767px){\\r\\n#brdCrmb{\\r\\ndisplay: block !important;\\r\\n}\\r\\n}\\r\\n\\r\\n.iconfont{\\r\\nfont-size: 25px !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvc3Vic2lkaWFyeS9zdWJzaWRpYXJ5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSw2QkFBNkI7RUFDN0IseUJBQXlCO0VBQ3pCLGNBQWM7RUFDZCw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLHlDQUF5QztBQUMzQzs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRCx3QkFBd0I7QUFDeEIsbUJBQW1CO0FBQ25COztBQUdBO0VBQ0UseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxVQUFVO0VBQ1YsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsU0FBUztFQUNULGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLDBCQUEwQjtBQUM1Qjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTs7OztFQUlFOztBQUVGO0FBQ0E7RUFDRSxpQkFBaUI7QUFDbkI7QUFDQTs7QUFDQTtBQUNBO0VBQ0UsaUJBQWlCO0FBQ25CO0FBQ0E7O0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBQ0E7QUFDQSx3QkFBd0I7QUFDeEI7O0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBOztBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvc3Vic2lkaWFyeS9zdWJzaWRpYXJ5LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYm9yZGVybGVzcyB0ZCwgLmJvcmRlcmxlc3MgdGgge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnBhbmVsIHtcclxuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gIGNvbG9yOiAjMzMzMzMzO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcclxufVxyXG5cclxuLndvcmRXcmFwIHtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuLnN1YmRpdmlzaW9uLWJhbm5lciB7XHJcbmJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvbGV0dGVyLmpwZ1wiKTtcclxuaGVpZ2h0OiAxODBweCAhaW1wb3J0YW50O1xyXG5tYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLmJnLWdyZXktMjMwIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xyXG4gIGJvcmRlci1jb2xvcjogI2U2ZTZlNjtcclxuICBjb2xvcjogIzU2NTY1NjtcclxufVxyXG5cclxubGVnZW5kIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6ICMzMzMzMzM7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG59XHJcblxyXG5sZWdlbmQge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcbmJ1dHRvbiBhLCBidXR0b24gYTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi8qQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcclxuI1N1YnNpZGlhcnlTZWFyY2gge1xyXG4gIHdpZHRoOiA5NSU7XHJcbn1cclxufSovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMTBweCl7XHJcbi5wYWQtbGVmdHtcclxuICBwYWRkaW5nLWxlZnQ6NDVweDtcclxufVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwOXB4KXtcclxuLnBhZC1sZWZ0e1xyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcbn1cclxuI1N1YnNpZGlhcnlTZWFyY2gge1xyXG53aWR0aDogMTAwJTtcclxufVxyXG4jYnJkQ3JtYntcclxuZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xyXG4jYnJkQ3JtYntcclxuZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG59XHJcbi5pY29uZm9udHtcclxuZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4iXX0= */\"","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { Subsidiary } from '@app/base/core/models';\r\nimport { SessionService, LookupsService, ConstantsService, EnvironmentService, AccountService } from '@app/core/services';\r\nimport { BuilderService } from '../../base';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\ninterface SubName {\r\n id: number;\r\n itemName: string;\r\n}\r\n@Component({\r\n selector: 'app-subsidiary',\r\n templateUrl: './subsidiary.component.html',\r\n styleUrls: ['./subsidiary.component.css']\r\n})\r\nexport class SubsidiaryComponent implements OnInit {\r\n // Searching\r\n queryString: any;\r\n // pagination\r\n p = 1;\r\n subsidiaryList: Subsidiary[] = [];\r\n subsidiaryName: string[] = [];\r\n obj: Subsidiary;\r\n subList: string[];\r\n subsidiaryId: string[];\r\n public builderdata: any = {};\r\n state: string;\r\n streetname: string;\r\n builderMapping = [];\r\n city: string;\r\n userName: string;\r\n killsubscribe: boolean;\r\n cityValues = [];\r\n stateValues = [];\r\n alertMsg: any = [];\r\n updateFlag;\r\n projectNumber: any;\r\n\r\n // constructor\r\n constructor(\r\n private session: SessionService,\r\n @Inject(Router) private router: Router,\r\n private builderSvc: BuilderService,\r\n private lookupSvc: LookupsService,\r\n public accountSvc: AccountService,\r\n private socoHttp: SocoHttpService, private alertService: AlertService,\r\n public environmentSvc: EnvironmentService,\r\n public constantsService: ConstantsService) {\r\n\r\n }\r\n\r\n // used to initialise services\r\n ngOnInit() {\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Subsidiary'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n this.cityValues = this.lookupSvc.cities;\r\n this.stateValues = this.lookupSvc.states;\r\n }\r\n });\r\n this.killsubscribe = true;\r\n this.session.builderData.subscribe(result => {\r\n if (result) {\r\n this.subsidiaryId = result.subsidiaryId;\r\n this.builderdata.builderId = result.BuilderId[0];\r\n this.builderdata.companyName = result.CompanyName;\r\n this.builderdata.subsidiaryId = result.subsidiaryId;\r\n this.builderdata.builderMapping = result.BuilderMapping;\r\n this.subsidiaryDetailsInfo();\r\n\r\n } else {\r\n const subsidiaryId = [];\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data !== undefined && result.data.length !== 0) {\r\n this.builderdata.builderId = result.data.id;\r\n this.builderdata.companyName = result.data.companyName;\r\n for (let i = 0; i < result.data.builderMapping.length; i++) {\r\n subsidiaryId.push(result.data.builderMapping[i].subsidiaryId);\r\n }\r\n this.builderdata.builderMapping = result.data.builderMapping;\r\n this.subsidiaryId = subsidiaryId;\r\n this.subsidiaryDetailsInfo();\r\n }\r\n });\r\n}\r\n\r\n });\r\n $('#modal_add_subsidiary').on('shown.bs.modal', function(event) {\r\n // not setting focus to submit button\r\n $('#btnClose').focus();\r\n });\r\n this.userName = this.accountSvc.account.user.username;\r\n }\r\n\r\n subsidiaryStatus(val) {\r\n if (this.builderMapping.length === 0) {\r\nfor (let i = 0; i < this.builderdata.builderMapping.length; i++ ) {\r\n if (this.builderdata.builderMapping[i].subsidiaryId === val) {\r\n return {\r\n status: this.builderdata.builderMapping[i].status,\r\n comments: this.builderdata.builderMapping[i].comments\r\n };\r\n}\r\n }\r\n} else {\r\n for (let i = 0; i < this.builderMapping.length; i++ ) {\r\n if (this.builderMapping[i].subsidiaryId === val) {\r\n return {\r\n status: this.builderMapping[i].status,\r\n comments: this.builderMapping[i].comments\r\n };\r\n }\r\n}\r\n}\r\nthis.builderMapping = [];\r\n}\r\n // code to fetch subsidiary details from DB\r\n subsidiaryData() {\r\n if (this.subsidiaryId.length !== 0) {\r\n this.builderSvc.getSubsidiaryInfo(this.subsidiaryId).subscribe(result => {\r\n if (result.data !== null || result !== undefined) {\r\n for (let i = 0; i < result.data.length; i++) {\r\n console.log(result.data);\r\n this.obj = new Subsidiary;\r\n this.obj.EmailId = result.data[i].email;\r\n this.obj.SubsidiaryCompanyName = result.data[i].companyName;\r\n if (result.data[i].builderAddresses.contactName1Phone !== null) {\r\n this.obj.Number = result.data[i].builderAddresses.contactName1Phone\r\n .replace(/-/g, '').replace(/^([0-9]{3})([0-9]{3})([0-9]{4})$/, '$1-$2-$3');\r\n }\r\n if (result.data[i].builderAddresses.city !== null) {\r\n this.city = this.cityValues.find(x => String(x.id) === result.data[i].builderAddresses.city).itemName;\r\n }\r\n if (result.data[i].builderAddresses.state !== null) {\r\n this.state = this.stateValues.find(x => String(x.id) === result.data[i].builderAddresses.state).itemName;\r\n }\r\n if ( result.data[i].builderAddresses.streetNumber !== null && result.data[i].builderAddresses.streetName !== null) {\r\n this.obj.AddressLine1 = result.data[i].builderAddresses.streetNumber + ', ' + result.data[i].builderAddresses.streetName + ', '\r\n + this.city;\r\n } else if (result.data[i].builderAddresses.streetName !== null) {\r\n this.obj.AddressLine1 = result.data[i].builderAddresses.streetName + ', '\r\n + this.city;\r\n } else {\r\n this.obj.AddressLine1 = this.city;\r\n }\r\n\r\n this.obj.AddressLine2 = this.state + '-' + result.data[i].builderAddresses.zipCode;\r\n\r\n this.obj.status = this.subsidiaryStatus(result.data[i].id) ? this.subsidiaryStatus(result.data[i].id).status : null;\r\n this.obj.comments = this.subsidiaryStatus(result.data[i].id) ? this.subsidiaryStatus(result.data[i].id).comments : null;\r\n\r\n if (!this.subsidiaryName.find(x => x === this.obj.SubsidiaryCompanyName)) {\r\n this.subsidiaryName.push(this.obj.SubsidiaryCompanyName);\r\n this.subsidiaryList.push(this.obj);\r\n\r\n }\r\n }\r\nthis.builderSvc.subsidiaryId.subsidiaryId = null;\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n } else {\r\n\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n },\r\n (error) => {\r\n swal(this.constantsService.errorSwal1, this.constantsService.subsidiaryDetailsFailSwal, this.constantsService.errorSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n });\r\n } else {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n }\r\n }\r\n\r\n subsidiaryDetailsInfo() {\r\n // code to populate previously loaded subsidiary data from service if user is visiting subsidiary tab again\r\n this.session.subsidiaryDetails.pipe(takeWhile(() => this.killsubscribe)).subscribe(success => {\r\n if (success !== null) {\r\n for (let i = 0; i < success.length; i++) {\r\n this.obj = new Subsidiary;\r\n this.obj.SubsidiaryCompanyName = success[i].SubsidiaryCompanyName;\r\n this.obj.EmailId = success[i].EmailId;\r\n this.obj.Number = success[i].Number;\r\n this.obj.status = success[i].status;\r\n this.obj.comments = success[i].comments;\r\n this.obj.AddressLine1 = success[i].AddressLine1;\r\n this.obj.AddressLine2 = success[i].AddressLine2;\r\n this.subsidiaryList.push(this.obj);\r\n }\r\n } else {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.subsidiaryData();\r\n }\r\n});\r\n }\r\n\r\n // code to pass subsidiary data fetched from DB to service\r\n passSubsidiaryDetails() {\r\n this.session.GetSubsidiary(this.subsidiaryList);\r\n }\r\n\r\n // To go to builder home page\r\n navigateHome() {\r\n this.session.GetBcaData(null);\r\n this.router.navigate([\r\n this.session.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'home'\r\n ]);\r\n }\r\n // used to unsubscribe to services\r\n ngOnDestroy() {\r\n if ($('#modal_add_subsidiary').is(':visible')) {\r\n $('#modal_add_subsidiary').modal('hide');\r\n }\r\n this.killsubscribe = false;\r\n this.passSubsidiaryDetails();\r\n }\r\n routeFlag() {\r\n this.router.navigate([\r\n this.session.paramLdc.toLowerCase(),\r\n 'builder',\r\n 'add-subsidiary'\r\n ]);\r\n }\r\n updateSubsidiaryDetails(eve: any) {\r\n this.updateFlag = true;\r\n if (this.builderSvc.subsidiaryId.subsidiaryId !== null) {\r\n this.subsidiaryId = [];\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.builderSvc.getBuilderInfo(this.accountSvc.account.user.company).subscribe(\r\n result => {\r\n if (result.data.length !== 0) {\r\n for (let i = 0; i < result.data.builderMapping.length; i++) {\r\n this.subsidiaryId.push(result.data.builderMapping[i].subsidiaryId);\r\n }\r\n\r\n this.builderMapping = result.data.builderMapping;\r\n this.subsidiaryData();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'subsidiarySearchfilter'\r\n})\r\nexport class SubsidiarySearchfilterPipe implements PipeTransform {\r\n /* istanbul ignore next */\r\n transform(items: any[], value: string, label: string): any[] {\r\n if (!items) { return []; }\r\n if (!value) { return items; }\r\n value = value.toLowerCase();\r\n return items.filter(e => e[label].toLowerCase().includes(value));\r\n\r\n }\r\n}\r\n","export default \":host>>>.form-group>label:not(.radio-inline):not(.error) {\\r\\n font-size: 14px !important;\\r\\n color: #002c3f !important;\\r\\n margin: 10px 0px !important;\\r\\n}\\r\\n:host>>>.ng-select .ng-clear-wrapper .ng-clear\\r\\n{\\r\\n display : none !important ;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9idWlsZGVyL2NvbXBvbmVudHMvdHlwZS90eXBlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwwQkFBMEI7RUFDMUIseUJBQXlCO0VBQ3pCLDJCQUEyQjtBQUM3QjtBQUNBOztFQUVFLDJCQUEyQjtBQUM3QiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYnVpbGRlci9jb21wb25lbnRzL3R5cGUvdHlwZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3Q+Pj4uZm9ybS1ncm91cD5sYWJlbDpub3QoLnJhZGlvLWlubGluZSk6bm90KC5lcnJvcikge1xyXG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMDAyYzNmICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luOiAxMHB4IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbjpob3N0Pj4+Lm5nLXNlbGVjdCAubmctY2xlYXItd3JhcHBlciAubmctY2xlYXJcclxue1xyXG4gIGRpc3BsYXkgOiBub25lICFpbXBvcnRhbnQgIDtcclxufSJdfQ== */\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { MultistepsService } from '@app/modules/builder/base/services';\r\nimport { SessionService, StepsIdEnum, RequestTypesEnum, ApplicantMessageEnum, LookupsService, StepsCodeEnum, ConstantsService } from '@app/base/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CanComponentDeactivate } from '@app/base/shared';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-type',\r\n templateUrl: './type.component.html',\r\n styleUrls: ['./type.component.css']\r\n})\r\nexport class TypeComponent implements OnInit, CanComponentDeactivate {\r\n form: FormGroup;\r\n locationForm: FormGroup;\r\n formValue;\r\n alertMsg: any = [];\r\n requestType: string;\r\n serviceAddress: any = {};\r\n stepsIdEnum: typeof StepsIdEnum = StepsIdEnum;\r\n requestTypesEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n applicantMessageEnum: typeof ApplicantMessageEnum = ApplicantMessageEnum;\r\n lookupsLoaded = false;\r\n propertyType: string;\r\n source: { 'id': string; 'itemName': string; }[];\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constSvc.changes;\r\n }\r\n }\r\n\r\n // constructor\r\n constructor(public wizardSvc: MultistepsService, public sessionSvc: SessionService,\r\n public socoHttp: SocoHttpService, public lookupSvc: LookupsService,\r\n public alertService: AlertService, public constSvc: ConstantsService) {\r\n this.wizardSvc.syncActiveStep(StepsIdEnum.TYPE);\r\n }\r\n\r\n // used to initialise services\r\n ngOnInit() {\r\n this.form = this.wizardSvc.getStepById(this.stepsIdEnum.TYPE).form;\r\n this.locationForm = this.wizardSvc.getStepById(this.stepsIdEnum.LOCATION).form;\r\n this.source = [\r\n { 'id': 'RESIDENTIAL', 'itemName': 'RESIDENTIAL' },\r\n { 'id': 'MULTI FAMILY', 'itemName': 'MULTI FAMILY' },\r\n { 'id': 'COMMERCIAL', 'itemName': 'COMMERCIAL' },\r\n { 'id': 'INDUSTRIAL', 'itemName': 'INDUSTRIAL' },\r\n // { 'id': 'MIXED', 'itemName': 'MIXED USE' },\r\n { 'id': 'SUBDIVISION', 'itemName': 'SUBDIVISION' }\r\n ];\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Type Builder'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n }\r\n next() { this.wizardSvc.nextStep(); }\r\n back() { this.wizardSvc.previousStep(); }\r\n\r\n // handling page refresh\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot) {\r\n\r\n // If user returns to location page after navigating to type and other pages, the Type Id\r\n // is being reset once the user selects a different address\r\n // had to remove the reset of type since this cause null reference error across pages .\r\n // so user after selecting a different address navigates to the\r\n // type page and further pages withoug using the next button, This will cause the resovleBCAFoundBuilder to be skipped.\r\n\r\n if (this.form) {\r\n return this.wizardSvc.canDeactivateStep(route, state, nextState);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n onItemSelect(eve: any) {\r\n if (eve && eve.id !== null) {\r\n this.wizardSvc.RequestType = eve.id;\r\n this.wizardSvc.steps.forEach(f => {\r\n f.label = this.wizardSvc.getStepTitle(StepsCodeEnum[f.code], eve.id);\r\n f.title = this.wizardSvc.getStepTitle(StepsCodeEnum[f.code], eve.id);\r\n });\r\n this.lookupSvc.loadBuilderBcaLookups(eve.id, this.wizardSvc.serviceAddress.state.short_name);\r\n this.serviceAddress.state = this.wizardSvc.serviceAddress.state.short_name;\r\n this.serviceAddress.city = this.wizardSvc.serviceAddress.city;\r\n this.serviceAddress.county = this.wizardSvc.serviceAddress.county;\r\n this.serviceAddress.zip = this.wizardSvc.serviceAddress.zip;\r\n if (this.locationForm.controls['locationStreetName'].value !== null &&\r\n this.locationForm.controls['locationStreetName'].value !== '' &&\r\n this.locationForm.controls['locationStreetName'].value !== undefined) {\r\n this.serviceAddress.streetName = this.locationForm.controls['locationStreetName'].value;\r\n } else {\r\n this.serviceAddress.streetName = this.wizardSvc.serviceAddress.street_name;\r\n }\r\n if (this.locationForm.controls['locationStreetNumber'].value !== null && this.locationForm.controls['locationStreetNumber'].value !== '' &&\r\n this.locationForm.controls['locationStreetNumber'].value !== undefined) {\r\n this.serviceAddress.streetNumber = this.locationForm.controls['locationStreetNumber'].value;\r\n } else {\r\n this.serviceAddress.streetNumber = this.wizardSvc.serviceAddress.street_number;\r\n }\r\n this.serviceAddress.propertyType = eve.id;\r\n this.lookupSvc.resolveBCAFoundBuilder(\r\n this.serviceAddress);\r\n const sub1 = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (sub1 && val) { sub1.unsubscribe(); }\r\n this.lookupsLoaded = val;\r\n });\r\n this.wizardSvc.getStepById(this.stepsIdEnum.PREMISE).form = this.wizardSvc.buildPremiseForm(eve.id);\r\n this.wizardSvc.selectedRequestType = true;\r\n } else {\r\n this.wizardSvc.selectedRequestType = false;\r\n }\r\n }\r\n\r\n}\r\n","export * from '@app/modules/builder/base';\r\nexport * from '@app/modules/builder/components';\r\n","export * from '@app/modules/landing/base/models';\r\nexport * from '@app/modules/landing/base/services';\r\nexport * from '@app/modules/landing/base/outlet/landing.component';\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { RecaptchaModule } from 'ng-recaptcha';\r\nimport { RecaptchaFormsModule } from 'ng-recaptcha/forms';\r\nimport { GridModule } from '@progress/kendo-angular-grid';\r\nimport { SharedModule } from '@app/shared/shared.module';\r\nimport { CanDeactivateGuard } from '@app/base/shared';\r\nimport { MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport { AppNotFoundComponent } from '@app/base/errors';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {\r\n LandingService,\r\n LandingComponent,\r\n CompanyComponent,\r\n HomeComponent,\r\n StatusComponent,\r\n LetterComponent,\r\n} from '@app/modules/landing';\r\nimport { BuilderRegisterComponent } from '../components/builder-register/builder-register.component';\r\nimport { ServiceTrackerComponent } from '../components/service-tracker/service-tracker.component';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CapitalizeFirstLetterPipe } from '../components/service-tracker/capitalize-first-letter.pipe';\r\n\r\n export const routes: Routes = [\r\n {\r\n path: '',\r\n component: LandingComponent,\r\n children: [\r\n { path: '', pathMatch: 'full', redirectTo: 'home', data: { title: 'Applicant Request | Home Page' } },\r\n { path: 'serviceTracker', component: ServiceTrackerComponent, data: { title: 'Applicant Request | serviceTracker' } },\r\n { path: 'company', component: CompanyComponent, data: { title: 'Applicant Request | Select Company' } },\r\n { path: 'register', component: BuilderRegisterComponent, data: { title: 'Applicant Request | Select Company' } },\r\n { path: 'home', component: HomeComponent, data: { title: 'Applicant Request | Home Page' }},\r\n { path: 'status/:id', component: StatusComponent, data: { title: 'Applicant Request | Status' } },\r\n { path: 'status', component: StatusComponent, data: { title: 'Applicant Request | Status' } },\r\n { path: 'letter', component: LetterComponent, canDeactivate: [CanDeactivateGuard], data:\r\n { title: 'Applicant Request | Gas Availability Letter' } },\r\n { path: '**', component: AppNotFoundComponent, data: { title: 'Applicant Request | Error' } },\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n RouterModule.forChild(routes),\r\n RecaptchaModule.forRoot(),\r\n RecaptchaFormsModule,\r\n GridModule,\r\n MatCardModule,\r\n MatStepperModule,\r\n MatIconModule,\r\n MatProgressSpinnerModule,\r\n MatTooltipModule\r\n ],\r\n declarations: [\r\n LandingComponent,\r\n CompanyComponent,\r\n HomeComponent,\r\n StatusComponent,\r\n LetterComponent,\r\n BuilderRegisterComponent,\r\n ServiceTrackerComponent,\r\n CapitalizeFirstLetterPipe\r\n ],\r\n providers: [LandingService, CanDeactivateGuard,CapitalizeFirstLetterPipe]\r\n})\r\nexport class LandingModule { }\r\n","export class Kmi {\r\n id: number;\r\n KMIEmail: string;\r\n KMIPhone: string;\r\n}","export * from '@app/modules/landing/base/models/request-status.model';\r\nexport * from '@app/modules/landing/base/models/tracker-steps-status.model';\r\nexport * from '@app/modules/landing/base/models/Kmi.model';\r\n","/* istanbul ignore next */\r\nexport class GasRequestStatusViewModel {\r\n requestId = 0;\r\n bcaId = 0;\r\n applicantName = '';\r\n requestStatus = '';\r\n requestDate?: Date = new Date();\r\n installationDate?: Date = new Date();\r\n denialReasonDesc = '';\r\n ContractRejectionReason = '';\r\n projectIsActiveYN = ''; //Service Tracker Change CXCO-813,815 (shruti-6/4/2024)\r\n projectCancelYN='';\r\n serviceFormattedAddress:string='';\r\n onHold='';\r\n projectCompletionSle='';\r\n projectCompletion='';\r\n approach = '';\r\n serviceWRStatus = '';\r\n isAllServiceRequest = '';\r\n task2540Status = '';\r\n task2535Status = '';\r\n}\r\n","export class TrackerStepsStatusViewModel {\r\n bcanbr?: number = 0;\r\n date: string | number | Date;\r\n grId?: number = 0;\r\n approachType: string = '';\r\n trackerSteps: string = '';\r\n trackerStepSequence: number = 0;\r\n taskStatusCode: string = '';\r\n dateModified: string;\r\n obligationType: string = '';\r\n stepsDescription: string = '';\r\n imageUrl?: string;\r\n taskSle?: number;\r\n scheduleDate?: string = '';\r\n state?: string = '';\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbGFuZGluZy9iYXNlL291dGxldC9sYW5kaW5nLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { SessionService } from '@app/core/services';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { LandingService } from '../services';\r\n\r\n@Component({\r\n selector: 'app-landing',\r\n templateUrl: './landing.component.html',\r\n styleUrls: ['./landing.component.css']\r\n})\r\nexport class LandingComponent implements OnInit {\r\npublic builderCompanies: any[] = [];\r\npublic companies: string[] = [];\r\n constructor(public landingSvc: LandingService, public sessionSvc: SessionService, public socoHttp: SocoHttpService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n\r\n\r\n }\r\n\r\n}\r\n","export * from '@app/modules/landing/base/services/landing.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { SocoHttpService, ApiResult } from '@app/base/soco';\r\nimport { GasRequestStatusViewModel } from '@app/modules/landing/base/models/request-status.model';\r\nimport { AcceptContractModel } from '@app/base/shared/models/applicant/gas-contract-model';\r\nimport { GasAvailabilityLetterModel } from '@app/base/shared/models/letter.model';\r\nimport { BuilderInfoOne, Gasbca } from '@app/core/models';\r\nimport { TrackerStepsStatusViewModel } from '@app/modules/landing/base/models/tracker-steps-status.model';\r\nimport { Feedback } from '@app/core/models/app/feedback.model';\r\nimport { Kmi } from '@app/modules/landing/base/models/Kmi.model';\r\nimport { KMIUpdate } from '../models/KMIUpdate.model';\r\nimport { KMI_Configurations } from '../models/KMI_Configrations.model';\r\n/* istanbul ignore next */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LandingService {\r\n\r\n // used to trigger the GetGasContractInfoEmail method from the API to get the contract details\r\n getBcaContractInfoeMail(email: string): Observable> {\r\n return this.http.get({\r\n url: 'applicant/GetGasContractInfoEmail',\r\n params: { emailId: email },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter1'\r\n });\r\n }\r\n\r\n constructor(private http: SocoHttpService) { }\r\n\r\n // used to trigger API method GasRequestStatus to get the status of the request\r\n getBcaStatusById(id: number): Observable> {\r\n return this.http.get({\r\n url: 'applicant/GasRequestStatus',\r\n params: { id: id },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n //CXCO-888 & CXCO-890 used to trigger API method GetApproachByIdAsync to get the approch type and steps of the request\r\n getGasApproachById(id: number): Observable> {\r\n return this.http.get({\r\n url: 'applicant/GetApproachByIdAsync',\r\n params: { id: id },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n \r\n\r\n addBuilder(model: BuilderInfoOne): Observable> {\r\n return this.http.post({\r\n url: 'Common/AddBuilderCompanyAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n addUser(addUser: any): Observable> {\r\n return this.http.post({\r\n url: 'Common/AddBuilderUserAsync',\r\n data: addUser,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter2'\r\n\r\n });\r\n }\r\n getBuilderCompany(builderCompany: string): Observable> {\r\n return this.http.get({\r\n url: 'Common/BuilderCompany',\r\n params: { builderCompany: builderCompany },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // used to trigger the GetGasContractInfo method from the API to get the contract details\r\n getBcaContractInfo(id: number): Observable> {\r\n return this.http.get({\r\n url: 'applicant/GetGasContractInfo',\r\n params: { id: id },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n getPwrNumber(bcaId: number): Observable> {\r\n return this.http.get({\r\n url: 'applicant/GetPwrNumber',\r\n params: { id: bcaId },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n // used to trigger PostGasLetterRequestAsync in the API to save gas letter details\r\n postGasLetter(model: GasAvailabilityLetterModel): Observable> {\r\n return this.http.post({\r\n url: 'Common/PostGasLetterRequestAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n // used to trigger AcceptRejectContractAsync in the API to save the contract accepted/rejected details\r\n postGasContract(model: AcceptContractModel): Observable> {\r\n return this.http.post({\r\n url: 'applicant/AcceptRejectContractAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n // used to trigger the GetHolidayList method from the API to get the holiday list\r\n getHolidayList(): Observable> {\r\n return this.http.get({\r\n url: 'applicant/GetHolidayList',\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n\r\n }\r\n\r\n // CXCO-1159\r\n postFeedback(model: Feedback): Observable> { \r\n return this.http.post({\r\n url: 'Common/PostFeedbackAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n putFeedback(model: Feedback): Observable> { \r\n return this.http.put({\r\n url: 'Common/PutFeedbackAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n // CXCO-1159\r\n getFeedbackByProjectId(id: number): Observable> {\r\n return this.http.get({\r\n url: 'Common/GetFeedbackByProjectIdAsync',\r\n params: { projectId: id },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n //KMI Contact Filter = CXCO-726\r\n getKMIDataByProjectId(id: number): Observable> {\r\n return this.http.get({\r\n url: 'Applicant/GetKMIDataByProjectIdAsync',\r\n params: { projectId: id },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n //KMI Data bind = CXCO-726\r\n bindKMIDataByProjectId(id: number): Observable> {\r\n return this.http.get({\r\n url: 'Common/BindKMIDataAsync',\r\n params: { projectId: id },\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n //KMI Data Update = CXCO-726\r\n PutKMIData(model: KMIUpdate): Observable> {\r\n return this.http.put({\r\n url: 'Common/PutKMIDataAsync',\r\n data: model,\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n\r\n //KMI Data Update = CXCO-726\r\n GetKMITransactionStatusData(CAGETORY: string): Observable> {\r\n return this.http.get({\r\n url: 'Common/BindKMI_ConfigurationsAsync',\r\n params: { Category: CAGETORY },\r\n shouldIgnoreInvalidResult: false,\r\n pleaseWaitTimeoutDuration: 500,\r\n pleaseWaitMessage: 'Processing.',\r\n pleaseWaitContainerId: 'ContainerAwaiter'\r\n });\r\n }\r\n}\r\n","export default \"@media only screen and (min-width: 1300px) {\\r\\n .pad {\\r\\n padding-top: 28px;\\r\\n }\\r\\n }\\r\\n\\r\\n @media only screen and (max-width: 1299px) {\\r\\n .pad {\\r\\n padding-bottom: 10px;\\r\\n }\\r\\n }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvYnVpbGRlci1yZWdpc3Rlci9idWlsZGVyLXJlZ2lzdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjtFQUNBOztFQUVBO0lBQ0U7TUFDRSxvQkFBb0I7SUFDdEI7SUFDQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbGFuZGluZy9jb21wb25lbnRzL2J1aWxkZXItcmVnaXN0ZXIvYnVpbGRlci1yZWdpc3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzAwcHgpIHtcclxuICAucGFkIHtcclxuICAgIHBhZGRpbmctdG9wOiAyOHB4O1xyXG4gIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XHJcbiAgICAucGFkIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICB9XHJcblxyXG4iXX0= */\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ConstantsService, LookupsService, SessionService } from '@app/core/services';\r\nimport { SocoHttpService } from '@app/soco/http';\r\nimport { LandingService } from '../../base';\r\nimport { UspsService } from '@app/shared/services';\r\nimport { BuilderInfoOne } from '@app/core/models';\r\nimport { focusFirstInvalidField, triggerFormValidation } from '@app/shared/functions';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-builder-register',\r\n templateUrl: './builder-register.component.html',\r\n styleUrls: ['./builder-register.component.css']\r\n})\r\nexport class BuilderRegisterComponent implements OnInit {\r\n_validateEmail: boolean;\r\n registerForm: FormGroup;\r\n userForm: FormGroup;\r\n builderCompanies: any[] = [];\r\n alertMsg: any = [];\r\n companyDetailsFlag = false;\r\n builderId: string = null;\r\n cities: any = [];\r\n addNewUser: any = {};\r\n states: any = [];\r\n linkFlag = true;\r\n public addNewBuilder: BuilderInfoOne = {\r\n reEnterEmail : null,\r\n id: null,\r\n IsActive: null,\r\n _companyName: null,\r\n companyName: null,\r\n status: null,\r\n builderTypeCode: null,\r\n email: null,\r\n recCreateDate: null,\r\n recCreateUserId: null,\r\n recUpdateDate: null,\r\n recUpdateUserId: null,\r\n builderUsers: null,\r\n builderMapping: null,\r\n builderAddresses: {\r\n id: null,\r\n contactTypeCode: null,\r\n streetNumber: null,\r\n streetName: null,\r\n directionPrefix: null,\r\n directionSuffix: null,\r\n streetType: null,\r\n city: null,\r\n state: null,\r\n zipCode: null,\r\n contactName2Extn: null,\r\n contactName1Extn: null,\r\n contactName1Phone: null,\r\n contactName1AreaCode: null,\r\n contactName2AreaCode: null,\r\n contactName2Phone: null,\r\n address2: null,\r\n unitNumber: null,\r\n recUpdatedDate: null,\r\n recCreatedDate: null,\r\n recCreatedBy: null,\r\n recUpdatedBy: null\r\n }\r\n };\r\n constructor(@Inject(Router) private router: Router, public constantsSvc: ConstantsService, public sessionSvc: SessionService,\r\n public landingSvc: LandingService, public socoHttp: SocoHttpService, public lookupSvc: LookupsService,\r\n private usps: UspsService, private datePipe: DatePipe, private alertService: AlertService) {\r\n this.cities = this.lookupSvc.cities;\r\n this.states = this.lookupSvc.states;\r\n // Load common lookup values\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Banner message for Home page\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Builder User Register'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.userForm = new FormGroup({\r\n firstName: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50)]\r\n ),\r\n lastName: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50)]\r\n ),\r\n email: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50), Validators.pattern(this.constantsSvc.emailPattern)]\r\n ),\r\n reEnterEmail: new FormControl(\r\n null,\r\n [Validators.required, Validators.maxLength(50), Validators.pattern(this.constantsSvc.emailPattern)]\r\n ),\r\n contactNumber: new FormControl(\r\n null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]\r\n )\r\n });\r\n\r\n this.registerForm = new FormGroup({\r\n builderName: new FormControl(null, [Validators.required, Validators.maxLength(70)]),\r\n streetNumber: new FormControl(null,\r\n [Validators.required, Validators.maxLength(7), Validators.pattern(this.constantsSvc.numericPattern)]),\r\n streetName: new FormControl(null, [Validators.required, Validators.maxLength(60)]),\r\n city: new FormControl({ value: null, disabled: true }),\r\n state: new FormControl({ value: null, disabled: true }),\r\n zipCode: new FormControl(null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n phone: new FormControl(null,\r\n [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n phoneExt: new FormControl(null,\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n emailCompany: new FormControl(null,\r\n [Validators.required, Validators.maxLength(50), Validators.pattern(this.constantsSvc.emailPattern)])\r\n });\r\n this.resolveZipCode();\r\n }\r\n\r\n\r\n resetForm() {\r\n this.registerForm.reset();\r\n this.userForm.reset();\r\n }\r\n\r\n submitForm() {\r\n if (this.userForm.valid) {\r\n if (this.registerForm.valid) {\r\n this.addNewBuilder._companyName = this.registerForm.controls['builderName'].value.trim();\r\n this.addNewBuilder.companyName = this.registerForm.controls['builderName'].value.trim();\r\n this.addNewBuilder.email = this.registerForm.controls['emailCompany'].value;\r\n this.addNewBuilder.recCreateDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.recUpdateDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.recCreateUserId = this.userForm.controls['email'].value;\r\n this.addNewBuilder.recUpdateUserId = this.userForm.controls['email'].value;\r\n this.addNewBuilder.builderAddresses.recCreatedDate =\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.builderAddresses.recUpdatedDate =\r\n this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewBuilder.builderAddresses.recCreatedBy = null;\r\n this.addNewBuilder.builderAddresses.recUpdatedBy = null;\r\n this.addNewBuilder.IsActive = 'N';\r\n this.addNewBuilder.status = 'Requested';\r\n this.addNewBuilder.builderAddresses.contactTypeCode = this.constantsSvc.contactTypeCode;\r\n this.addNewBuilder.builderAddresses.id = null;\r\n this.addNewBuilder.id = null;\r\n this.addNewBuilder.builderAddresses.state = this.registerForm.controls['state'].value ?\r\n this.registerForm.controls['state'].value.id : null;\r\n this.addNewBuilder.builderAddresses.city = this.registerForm.controls['city'].value ?\r\n this.registerForm.controls['city'].value.id : null;\r\n this.addNewBuilder.builderAddresses.zipCode = this.registerForm.controls['zipCode'].value;\r\n this.addNewBuilder.builderAddresses.streetName = this.registerForm.controls['streetName'].value.trim();\r\n this.addNewBuilder.builderAddresses.streetNumber = this.registerForm.controls['streetNumber'].value.trim();\r\n this.addNewBuilder.builderAddresses.contactName1Extn = this.registerForm.controls['phoneExt'].value;\r\n this.addNewBuilder.builderAddresses.contactName1Phone = this.registerForm.controls['phone'].value;\r\n this.addNewBuilder.builderAddresses.address2 = this.registerForm.controls['streetNumber'].value + ' ' +\r\n this.registerForm.controls['streetName'].value + ', ' + this.registerForm.controls['city'].value.itemName + ', ' +\r\n this.registerForm.controls['state'].value.itemName + ' ' + this.registerForm.controls['zipCode'].value;\r\n\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.landingSvc.getBuilderCompany(this.addNewBuilder.companyName).subscribe(res => {\r\n console.log(res);\r\n if (res.data === 0) {\r\n this.landingSvc.addBuilder(this.addNewBuilder).subscribe(res => {\r\n this.builderId = res.data.id;\r\n this.addUser();\r\n },\r\n error => {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.builderCompanyAddFail, this.constantsSvc.errorSwal);\r\n });\r\n } else {\r\n swal(this.constantsSvc.warningSwal, this.constantsSvc.builderCompanyAddWarning, this.constantsSvc.warningSwal);\r\n this.resetForm();\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n }\r\n });\r\n } else {\r\n triggerFormValidation(this.registerForm);\r\n focusFirstInvalidField(this.registerForm);\r\n }\r\n } else {\r\n triggerFormValidation(this.userForm);\r\n focusFirstInvalidField(this.userForm);\r\n }\r\n }\r\n\r\n addUser() {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.addNewUser.id = this.builderId;\r\n this.addNewUser.userId = this.userForm.controls['email'].value;\r\n this.addNewUser.userName = this.userForm.controls['firstName'].value + ' ' + this.userForm.controls['lastName'].value;\r\n this.addNewUser.firstName = this.userForm.controls['firstName'].value;\r\n this.addNewUser.lastName = this.userForm.controls['lastName'].value;\r\n this.addNewUser.email = this.userForm.controls['email'].value;\r\n this.addNewUser.reEnterEmail = this.userForm.controls['reEnterEmail'].value;\r\n this.addNewUser.Status = 'Requested';\r\n this.addNewUser.communicationTypeCd = null;\r\n this.addNewUser.iaAdmin = null;\r\n this.addNewUser.recCreatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewUser.recUpdatedDate = this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone);\r\n this.addNewUser.recCreatedBy = this.userForm.controls['email'].value;\r\n this.addNewUser.recUpdatedBy = this.userForm.controls['email'].value;\r\n this.addNewUser.contactName2Phone = this.userForm.controls['contactNumber'].value;\r\n this.addNewUser.contactName2Extn = null;\r\n this.addNewUser.comments = null;\r\n this.addNewUser.approveRejectDTTM = null;\r\n this.addNewUser.approveRejectBy = null;\r\n this.landingSvc.addUser(this.addNewUser).subscribe(result => {\r\n if (result.data.companyName === '') {\r\n swal(this.constantsSvc.warningSwal, this.constantsSvc.builderUserAddWarning, this.constantsSvc.warningSwal);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n } else {\r\n swal(this.constantsSvc.successSwal1, this.constantsSvc.builderUserAddSuccess, this.constantsSvc.successSwal);\r\n this.resetForm();\r\n this.router.navigate([\r\n this.sessionSvc.paramLdc.toLowerCase(),\r\n 'home'\r\n ]);\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n }\r\n }, error => {\r\n swal(this.constantsSvc.errorSwal1, this.constantsSvc.builderUserAddFail, this.constantsSvc.errorSwal);\r\n this.resetForm();\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n });\r\n\r\n }\r\n\r\n validateEmail() {\r\n const email = this.userForm.controls['email'].value;\r\n const reEnterEmail = this.userForm.controls['reEnterEmail'].value;\r\n if (email !== null && reEnterEmail !== null) {\r\n if (email === reEnterEmail) {\r\n this._validateEmail = false;\r\n return { reEnterEmailAddress: { validateEmail: false } };\r\n\r\n } else {\r\n this.userForm.controls['reEnterEmail'].setErrors({ validateEmail: true });\r\n this._validateEmail = true;\r\n }\r\n }\r\n }\r\n // Code to populate city and state values based on zip code entered\r\n resolveZipCode() {\r\n this.registerForm.controls['zipCode'].valueChanges.subscribe(selectedValue => {\r\n if (this.constantsSvc.zipCodePattern.test(selectedValue)) { // We have a valid ZIP Code.\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter1');\r\n this.usps.GetCityStateFromZip(selectedValue, (result) => {\r\n if (result.CityStateLookupResponse.ZipCode.Error) {\r\n this.registerForm.patchValue({ city: null, state: null, zipCode: null });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n swal(this.constantsSvc.invalidZipSwal, '', this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.lookupSvc.loadMailingAddressCityLookups(result.CityStateLookupResponse.ZipCode.State,\r\n result.CityStateLookupResponse.ZipCode.City);\r\n this.lookupSvc.mailingAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter1');\r\n this.cities = this.lookupSvc.mailingCity;\r\n this.states = this.lookupSvc.mailingState;\r\n this.registerForm.patchValue({\r\n city: this.lookupSvc.mailingCity.length > 0 ? this.lookupSvc.mailingCity[0] : null,\r\n state: this.lookupSvc.mailingState.length > 0 ? this.lookupSvc.mailingState[0] : null,\r\n });\r\n }\r\n }, fail => { this.socoHttp.hidePleaseWait('ContainerAwaiter1'); });\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","export default \".landing-banner {\\r\\n background-image: url(\\\"/assets/images/banners/landing.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvY29tcGFueS9jb21wYW55LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwyREFBMkQ7RUFDM0Qsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbGFuZGluZy9jb21wb25lbnRzL2NvbXBhbnkvY29tcGFueS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxhbmRpbmctYmFubmVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iYW5uZXJzL2xhbmRpbmcuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ConstantsService, CompaniesEnum, LookupsService, SessionService } from '@app/base/core';\r\nimport {AlertService} from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-company',\r\n templateUrl: './company.component.html',\r\n styleUrls: ['./company.component.css']\r\n})\r\nexport class CompanyComponent implements OnInit {\r\n companiesEnum: typeof CompaniesEnum = CompaniesEnum;\r\n alertMsg: any = [];\r\n constructor(public sessionSvc: SessionService, public constantsSvc: ConstantsService,\r\n private alertService: AlertService, public lookupSvc: LookupsService) {\r\n }\r\n\r\n // used to call initial methods and subscribe to services\r\n ngOnInit() {\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Company'\r\n ));\r\n this.alertService.success(this.alertMsg.message);\r\n }\r\n });\r\n }}\r\n\r\n","export default \".home-header-container {\\r\\n display: table;\\r\\n width: 100%;\\r\\n padding-bottom: 10px;\\r\\n}\\r\\n\\r\\n.home-header-row {\\r\\n height: 100%;\\r\\n display: table-row;\\r\\n}\\r\\n\\r\\n.margin {\\r\\n margin-top : 2px !important;\\r\\n}\\r\\n\\r\\n.home-banner {\\r\\n background: transparent url(/assets/images/banners/GlanceAndSee_servicetracker_logo_cmyk.jpg) right/contain no-repeat no-repeat;\\r\\n background-size: cover;\\r\\n display: table-cell;\\r\\n float: none;\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* BCA Status Panel Styles ################################ */\\r\\n\\r\\n.bca-status-banner {\\r\\n background: #01bcf1 url(/assets/images/banners/home-status.jpg) no-repeat no-repeat;\\r\\n background-position: center;\\r\\n position: relative;\\r\\n display: table-cell;\\r\\n float: none;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n.bca-status {\\r\\n color: #fff !important;\\r\\n font-family: adelle, serif;\\r\\n font-style: normal;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.bca-status h1 {\\r\\n text-align: center;\\r\\n clear: both;\\r\\n}\\r\\n\\r\\n.bca-status p {\\r\\n display: inline-block;\\r\\n color: #FFF;\\r\\n}\\r\\n\\r\\n@media (min-width: 1900px) {\\r\\n .bca-status {\\r\\n padding: 10px;\\r\\n }\\r\\n\\r\\n .bca-status h1 {\\r\\n font-size: 36px;\\r\\n }\\r\\n\\r\\n .bca-status p {\\r\\n font-size: 25px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media(max-width: 1900px) and (min-width: 1200px) {\\r\\n .bca-status {\\r\\n padding: 10px;\\r\\n }\\r\\n\\r\\n .bca-status h1 {\\r\\n margin-top: 5px;\\r\\n font-size: 35px;\\r\\n }\\r\\n\\r\\n .bca-status p {\\r\\n font-size: 24px;\\r\\n padding: 0 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media(max-width: 1199px) and (min-width: 768px) {\\r\\n .bca-status {\\r\\n padding: 10px;\\r\\n }\\r\\n\\r\\n .bca-status h1 {\\r\\n margin-top: 5px;\\r\\n font-size: 35px;\\r\\n }\\r\\n\\r\\n .bca-status p {\\r\\n font-size: 24px;\\r\\n padding: 0 20px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media(max-width: 768px) and (min-width: 481px) {\\r\\n .bca-status {\\r\\n padding: 10px;\\r\\n }\\r\\n\\r\\n .bca-status h1 {\\r\\n font-size: 30px;\\r\\n }\\r\\n\\r\\n .bca-status p {\\r\\n font-size: 22px;\\r\\n padding: 0 10px;\\r\\n }\\r\\n\\r\\n .header-image {\\r\\n height: 200px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media(max-width: 480px) and (min-width: 321px) {\\r\\n .bca-status h1 {\\r\\n font-size: 22px;\\r\\n }\\r\\n\\r\\n .bca-status p {\\r\\n font-size: 18px;\\r\\n padding: 0 10px;\\r\\n }\\r\\n\\r\\n .header-image {\\r\\n height: 150px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media(max-width: 320px) {\\r\\n .bca-status h1 {\\r\\n font-size: 22px;\\r\\n }\\r\\n\\r\\n .bca-status p {\\r\\n font-size: 18px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media (max-width:500px) {\\r\\n\\r\\n .input-group-xlg>.form-control,\\r\\n .input-group-xlg>.input-group-addon,\\r\\n .input-group-xlg>.input-group-btn>.btn {\\r\\n height: 40px;\\r\\n padding: 10px 16px;\\r\\n font-size: 13px;\\r\\n line-height: 1.333334;\\r\\n }\\r\\n}\\r\\n\\r\\n/* BCA Status Panel Styles ################################ */\\r\\n\\r\\n.validation-error-label,\\r\\n.validation-valid-label {\\r\\n color: #ffffff !important;\\r\\n}\\r\\n\\r\\n.validation-error-label {\\r\\n background-color: rgba(226, 28, 28, 0.9) !important;\\r\\n padding-left: 32px !important;\\r\\n}\\r\\n\\r\\n.validation-error-label:before {\\r\\n left: 5px !important;\\r\\n}\\r\\n\\r\\n.property-type {\\r\\n text-align: center;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.property-type .panel {\\r\\n height: 15em;\\r\\n min-height: 140px;\\r\\n transition: all .2s ease-in-out;\\r\\n box-shadow: 0 0 5px #a8a8a8;\\r\\n transition: all 0.3s cubic-bezier(.25, .8, .25, 1);\\r\\n}\\r\\n\\r\\n.property-type .panel:hover {\\r\\n cursor: pointer;\\r\\n transform: scale(1.06);\\r\\n box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);\\r\\n}\\r\\n\\r\\n/* Gas Availablity Letter Button */\\r\\n\\r\\n.btn-gas-letter {\\r\\n font-size: 20px;\\r\\n padding: 10px 50px;\\r\\n}\\r\\n\\r\\n.icon-gas-Letter {\\r\\n margin-right: -4px;\\r\\n}\\r\\n\\r\\n@media(max-width: 768px) {\\r\\n .btn-gas-letter {\\r\\n font-size: 14px;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Pending Business Approval, Changing Property Type to Images */\\r\\n\\r\\n.thumbnail {\\r\\n padding: 0px;\\r\\n border-radius: 0px;\\r\\n border: none;\\r\\n box-shadow: 0 0 1em rgba(0, 0, 0, 0.3);\\r\\n\\r\\n transition: all 0.2s ease-in-out;\\r\\n -webkit-transition: all 0.2s ease-in-out;\\r\\n -moz-transition: all 0.2s ease-in-out;\\r\\n -o-transition: all 0.2s ease-in-out;\\r\\n -ms-transition: all 0.2s ease-in-out;\\r\\n}\\r\\n\\r\\n.thumbnail .caption {\\r\\n padding: 17px 5px !important;\\r\\n padding-top: 20px;\\r\\n}\\r\\n\\r\\n.thumbnail:hover {\\r\\n transform: scale(1.06);\\r\\n}\\r\\n\\r\\n@supports not (-ms-high-contrast: none) {\\r\\n .thumbnail:hover {\\r\\n transform: scale(1.06);\\r\\n box-shadow: rgba(0, 0, 0, 0.2) 0px 8px 17px 0px, rgba(0, 0, 0, 0.15) 0px 6px 20px 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n.thumb {\\r\\n /* background-position: center; */\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.thumb-residential {\\r\\n height: 200px;\\r\\n background-image: url(/assets/images/icons/residential.jpg);\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.thumb-commercial {\\r\\n height: 200px;\\r\\n background-image: url(/assets/images/icons/commercial.jpg);\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.thumb-mixed {\\r\\n height: 200px;\\r\\n background-image: url(/assets/images/icons/mixed-use.jpg);\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.thumb-subdivision {\\r\\n height: 200px;\\r\\n background-image: url(/assets/images/icons/subdivision.jpg);\\r\\n background-position: center;\\r\\n}\\r\\n\\r\\n.promo-cta {\\r\\n bottom: 1rem;\\r\\n color: rgb(236, 28, 36);\\r\\n display: block;\\r\\n height: 2.75rem;\\r\\n left: inherit;\\r\\n line-height: 2.75rem;\\r\\n position: absolute;\\r\\n text-align: center;\\r\\n text-indent: 9999px;\\r\\n right: 1rem;\\r\\n top: inherit;\\r\\n width: 2.75rem;\\r\\n border-radius: 20rem;\\r\\n overflow: hidden;\\r\\n padding: 0px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWixrQkFBa0I7QUFDcEI7O0FBQ0E7RUFDRSwyQkFBMkI7QUFDN0I7O0FBRUE7SUFDSSwrSEFBK0g7SUFDL0gsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixtQkFBbUI7QUFDdkI7O0FBRUEsNkRBQTZEOztBQUU3RDtFQUNFLG1GQUFtRjtFQUNuRiwyQkFBMkI7RUFDM0Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usc0JBQXNCO0VBQ3RCLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFDbEIsYUFBYTtBQUNmOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0FBQ2I7O0FBRUE7RUFDRTtJQUNFLGFBQWE7RUFDZjs7RUFFQTtJQUNFLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxlQUFlO0VBQ2pCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGFBQWE7RUFDZjs7RUFFQTtJQUNFLGVBQWU7SUFDZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsZUFBZTtJQUNmLGVBQWU7RUFDakI7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsYUFBYTtFQUNmOztFQUVBO0lBQ0UsZUFBZTtJQUNmLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxlQUFlO0lBQ2YsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxhQUFhO0VBQ2Y7O0VBRUE7SUFDRSxlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsZUFBZTtJQUNmLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxhQUFhO0VBQ2Y7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsZUFBZTtFQUNqQjs7RUFFQTtJQUNFLGVBQWU7SUFDZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsYUFBYTtFQUNmO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLGVBQWU7RUFDakI7O0VBRUE7SUFDRSxlQUFlO0VBQ2pCO0FBQ0Y7O0FBRUE7O0VBRUU7OztJQUdFLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLHFCQUFxQjtFQUN2QjtBQUNGOztBQUVBLDZEQUE2RDs7QUFFN0Q7O0VBRUUseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsbURBQW1EO0VBQ25ELDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLCtCQUErQjtFQUUvQiwyQkFBMkI7RUFDM0Isa0RBQWtEO0FBQ3BEOztBQUVBO0VBQ0UsZUFBZTtFQUNmLHNCQUFzQjtFQUN0Qiw0RUFBNEU7QUFDOUU7O0FBRUEsa0NBQWtDOztBQUVsQztFQUNFLGVBQWU7RUFDZixrQkFBa0I7QUFDcEI7O0FBQ0E7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRTtJQUNFLGVBQWU7RUFDakI7QUFDRjs7QUFFQSxnRUFBZ0U7O0FBRWhFO0VBQ0UsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osc0NBQXNDOztFQUV0QyxnQ0FBZ0M7RUFDaEMsd0NBQXdDO0VBQ3hDLHFDQUFxQztFQUNyQyxtQ0FBbUM7RUFDbkMsb0NBQW9DO0FBQ3RDOztBQUVBO0VBQ0UsNEJBQTRCO0VBQzVCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFO0lBQ0Usc0JBQXNCO0lBQ3RCLHFGQUFxRjtFQUN2RjtBQUNGOztBQUVBO0VBQ0UsaUNBQWlDO0VBQ2pDLHNCQUFzQjtFQUN0Qiw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsMkRBQTJEO0VBQzNELDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLGFBQWE7RUFDYiwwREFBMEQ7RUFDMUQsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHlEQUF5RDtFQUN6RCwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsMkRBQTJEO0VBQzNELDJCQUEyQjtBQUM3Qjs7QUFFQTtFQUNFLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsY0FBYztFQUNkLGVBQWU7RUFDZixhQUFhO0VBQ2Isb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxZQUFZO0VBQ1osY0FBYztFQUNkLG9CQUFvQjtFQUNwQixnQkFBZ0I7RUFDaEIsWUFBWTtBQUNkIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaG9tZS1oZWFkZXItY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmhvbWUtaGVhZGVyLXJvdyB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcclxufVxyXG4ubWFyZ2luIHtcclxuICBtYXJnaW4tdG9wIDogMnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ob21lLWJhbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9HbGFuY2VBbmRTZWVfc2VydmljZXRyYWNrZXJfbG9nb19jbXlrLmpwZykgcmlnaHQvY29udGFpbiBuby1yZXBlYXQgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLyogQkNBIFN0YXR1cyBQYW5lbCBTdHlsZXMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi9cclxuXHJcbi5iY2Etc3RhdHVzLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZDogIzAxYmNmMSB1cmwoL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9ob21lLXN0YXR1cy5qcGcpIG5vLXJlcGVhdCBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gIGZsb2F0OiBub25lO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmJjYS1zdGF0dXMge1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1mYW1pbHk6IGFkZWxsZSwgc2VyaWY7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5iY2Etc3RhdHVzIGgxIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbi5iY2Etc3RhdHVzIHAge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjb2xvcjogI0ZGRjtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDE5MDBweCkge1xyXG4gIC5iY2Etc3RhdHVzIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBoMSB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBwIHtcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6IDE5MDBweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gIC5iY2Etc3RhdHVzIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBoMSB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBwIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6IDExOTlweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgLmJjYS1zdGF0dXMge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICB9XHJcblxyXG4gIC5iY2Etc3RhdHVzIGgxIHtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICB9XHJcblxyXG4gIC5iY2Etc3RhdHVzIHAge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgcGFkZGluZzogMCAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xyXG4gIC5iY2Etc3RhdHVzIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBoMSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBwIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICB9XHJcblxyXG4gIC5oZWFkZXItaW1hZ2Uge1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6IDQ4MHB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcclxuICAuYmNhLXN0YXR1cyBoMSB7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcbiAgfVxyXG5cclxuICAuYmNhLXN0YXR1cyBwIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICB9XHJcblxyXG4gIC5oZWFkZXItaW1hZ2Uge1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6IDMyMHB4KSB7XHJcbiAgLmJjYS1zdGF0dXMgaDEge1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gIH1cclxuXHJcbiAgLmJjYS1zdGF0dXMgcCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDo1MDBweCkge1xyXG5cclxuICAuaW5wdXQtZ3JvdXAteGxnPi5mb3JtLWNvbnRyb2wsXHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uaW5wdXQtZ3JvdXAtYWRkb24sXHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG4ge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM0O1xyXG4gIH1cclxufVxyXG5cclxuLyogQkNBIFN0YXR1cyBQYW5lbCBTdHlsZXMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi9cclxuXHJcbi52YWxpZGF0aW9uLWVycm9yLWxhYmVsLFxyXG4udmFsaWRhdGlvbi12YWxpZC1sYWJlbCB7XHJcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItbGFiZWwge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI2LCAyOCwgMjgsIDAuOSkgIWltcG9ydGFudDtcclxuICBwYWRkaW5nLWxlZnQ6IDMycHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnZhbGlkYXRpb24tZXJyb3ItbGFiZWw6YmVmb3JlIHtcclxuICBsZWZ0OiA1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByb3BlcnR5LXR5cGUge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4ucHJvcGVydHktdHlwZSAucGFuZWwge1xyXG4gIGhlaWdodDogMTVlbTtcclxuICBtaW4taGVpZ2h0OiAxNDBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCAjYThhOGE4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCA1cHggI2E4YThhODtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoLjI1LCAuOCwgLjI1LCAxKTtcclxufVxyXG5cclxuLnByb3BlcnR5LXR5cGUgLnBhbmVsOmhvdmVyIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcclxuICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xyXG59XHJcblxyXG4vKiBHYXMgQXZhaWxhYmxpdHkgTGV0dGVyIEJ1dHRvbiAqL1xyXG5cclxuLmJ0bi1nYXMtbGV0dGVyIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgcGFkZGluZzogMTBweCA1MHB4O1xyXG59XHJcbi5pY29uLWdhcy1MZXR0ZXIge1xyXG4gIG1hcmdpbi1yaWdodDogLTRweDtcclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAuYnRuLWdhcy1sZXR0ZXIge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyogUGVuZGluZyBCdXNpbmVzcyBBcHByb3ZhbCwgQ2hhbmdpbmcgUHJvcGVydHkgVHlwZSB0byBJbWFnZXMgKi9cclxuXHJcbi50aHVtYm5haWwge1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxZW0gcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG5cclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4udGh1bWJuYWlsIC5jYXB0aW9uIHtcclxuICBwYWRkaW5nOiAxN3B4IDVweCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4udGh1bWJuYWlsOmhvdmVyIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xyXG59XHJcblxyXG5Ac3VwcG9ydHMgbm90ICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xyXG4gIC50aHVtYm5haWw6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yKSAwcHggOHB4IDE3cHggMHB4LCByZ2JhKDAsIDAsIDAsIDAuMTUpIDBweCA2cHggMjBweCAwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGh1bWIge1xyXG4gIC8qIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgKi9cclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbi50aHVtYi1yZXNpZGVudGlhbCB7XHJcbiAgaGVpZ2h0OiAyMDBweDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvaWNvbnMvcmVzaWRlbnRpYWwuanBnKTtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50aHVtYi1jb21tZXJjaWFsIHtcclxuICBoZWlnaHQ6IDIwMHB4O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9pY29ucy9jb21tZXJjaWFsLmpwZyk7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG59XHJcblxyXG4udGh1bWItbWl4ZWQge1xyXG4gIGhlaWdodDogMjAwcHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2ljb25zL21peGVkLXVzZS5qcGcpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxufVxyXG5cclxuLnRodW1iLXN1YmRpdmlzaW9uIHtcclxuICBoZWlnaHQ6IDIwMHB4O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9pY29ucy9zdWJkaXZpc2lvbi5qcGcpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxufVxyXG5cclxuLnByb21vLWN0YSB7XHJcbiAgYm90dG9tOiAxcmVtO1xyXG4gIGNvbG9yOiByZ2IoMjM2LCAyOCwgMzYpO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMi43NXJlbTtcclxuICBsZWZ0OiBpbmhlcml0O1xyXG4gIGxpbmUtaGVpZ2h0OiAyLjc1cmVtO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdGV4dC1pbmRlbnQ6IDk5OTlweDtcclxuICByaWdodDogMXJlbTtcclxuICB0b3A6IGluaGVyaXQ7XHJcbiAgd2lkdGg6IDIuNzVyZW07XHJcbiAgYm9yZGVyLXJhZGl1czogMjByZW07XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ConstantsService, SessionService, RequestTypesEnum, EnvironmentService, LookupsService } from '@app/base/core';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/base/shared';\r\nimport {AlertService} from '@app/base/alerts/alert.service';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\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\nexport class HomeComponent implements OnInit {\r\n requestStatusForm: FormGroup;\r\n alertMsg: any = [];\r\n typesEnum: typeof RequestTypesEnum = RequestTypesEnum;\r\n\r\n constructor(\r\n public sessionSvc: SessionService,\r\n public environmentSvc: EnvironmentService,\r\n private alertService: AlertService,\r\n private constantsSvc: ConstantsService, public lookupSvc: LookupsService,\r\n private router: Router,\r\n ) {\r\n }\r\n get requestId() { return (this.requestStatusForm.get('requestId').value);\r\n }\r\n\r\n ngOnInit() {\r\n // closes any modal popup if opened\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n // Load common lookup values\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Banner message for Home page\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find( x => x.itemName === 'Home'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n // init request status form\r\n this.requestStatusForm = new FormGroup({\r\n requestId: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)])\r\n });\r\n }\r\n // Navigation to status page on form submit\r\n submitForm() {\r\n if (this.requestStatusForm.valid) {\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLocaleLowerCase(), 'status', this.requestId]);\r\n } else {\r\n triggerFormValidation(this.requestStatusForm);\r\n focusFirstInvalidField(this.requestStatusForm);\r\n }\r\n }\r\n}\r\n","export * from '@app/modules/landing/components/company/company.component';\r\nexport * from '@app/modules/landing/components/home/home.component';\r\nexport * from '@app/modules/landing/components/status/status.component';\r\nexport * from '@app/modules/landing/components/letter/letter.component';\r\nexport * from '@app/modules/landing/components/builder-register/builder-register.component';\r\n","export default \".location-banner {\\r\\n background-image: url(\\\"/assets/images/banners/location.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.letter-banner {\\r\\n background-image: url(\\\"/assets/images/banners/letter.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.disable-link {\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.border-right-dashed {\\r\\n border-right: 2px dashed #ddd;\\r\\n}\\r\\n\\r\\n.changeAddress {\\r\\n padding: 9px !important;\\r\\n}\\r\\n\\r\\n#formDiagnostics {\\r\\n margin-right: -1px !important;\\r\\n}\\r\\n\\r\\n#acknowledgeMessage{\\r\\n word-break:break-word;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvbGV0dGVyL2xldHRlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNERBQTREO0VBQzVELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSwwREFBMEQ7RUFDMUQsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2QiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbGFuZGluZy9jb21wb25lbnRzL2xldHRlci9sZXR0ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb2NhdGlvbi1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL2Jhbm5lcnMvbG9jYXRpb24uanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ubGV0dGVyLWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmFubmVycy9sZXR0ZXIuanBnXCIpO1xyXG4gIGhlaWdodDogMTgwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uZGlzYWJsZS1saW5rIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmJvcmRlci1yaWdodC1kYXNoZWQge1xyXG4gIGJvcmRlci1yaWdodDogMnB4IGRhc2hlZCAjZGRkO1xyXG59XHJcblxyXG4uY2hhbmdlQWRkcmVzcyB7XHJcbiAgcGFkZGluZzogOXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNmb3JtRGlhZ25vc3RpY3Mge1xyXG4gIG1hcmdpbi1yaWdodDogLTFweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jYWNrbm93bGVkZ2VNZXNzYWdle1xyXG4gIHdvcmQtYnJlYWs6YnJlYWstd29yZDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, HostListener, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { ConstantsService, SessionService, LookupsService, EnvironmentService, MessageTypeEnum } from '@app/base/core';\r\nimport {\r\n triggerFormValidation, UspsService, compareObjects, focusFirstInvalidField,\r\n scrollToHeader, getFormValidators\r\n} from '@app/base/shared';\r\nimport { SocoHttpService, SocoModalService } from '@app/base/soco';\r\nimport { LandingService } from '@app/modules/landing/base';\r\nimport { Observable, of, Subscription } from 'rxjs';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\nimport { DatePipe } from '@angular/common';\r\n\r\ndeclare var swal: any;\r\nrequire('sweetalert');\r\n\r\n@Component({\r\n selector: 'app-letter',\r\n templateUrl: './letter.component.html',\r\n styleUrls: ['./letter.component.css']\r\n})\r\nexport class LetterComponent implements OnInit, OnDestroy {\r\n\r\n messageTypeEnum: typeof MessageTypeEnum = MessageTypeEnum;\r\n formValidation: any[];\r\n lookupsLoaded = false; // Hide UI unless common lookups is loaded.\r\n\r\n // Control the active view: map or letter form\r\n activeViewEnum: typeof LetterActiveViewEnum = LetterActiveViewEnum;\r\n gasLetterActiveView: LetterActiveViewEnum = LetterActiveViewEnum.Location;\r\n\r\n serviceAddress: any; // Hold service address\r\n mapLocationDetails: {}; // Input location details to map component\r\n addressToValidate: { street: any; city: any; state: any; zip: any; };\r\n gasLetterForm: FormGroup;\r\n validatedAddress: any = null;\r\n skipCanDeactivate = false;\r\n popupOpen = false;\r\n addressValidationError: any;\r\n isPoBox = false;\r\n addressValidationModalId = '#address_validation_modal';\r\n sryNotification: any;\r\n message: any;\r\n alertMsg: any = [];\r\n private zipSubscription: Subscription;\r\n private addressSubscription: Subscription;\r\n private gasLetterSubscription: Subscription;\r\n private postLetterSubscription: Subscription;\r\n\r\n @HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {\r\n if (this.gasLetterActiveView !== this.activeViewEnum.Location && this.socoHttp.sessionActive) {\r\n event.preventDefault();\r\n // Specially for chrome...\r\n event.returnValue = this.constantsSvc.changes;\r\n }\r\n }\r\n\r\n //#region > CTOR <\r\n constructor(\r\n private router: Router,\r\n public environmentSvc: EnvironmentService,\r\n public constantsSvc: ConstantsService,\r\n public lookupSvc: LookupsService,\r\n public sessionSvc: SessionService,\r\n private landingSvc: LandingService,\r\n private socoModalService: SocoModalService,\r\n private usps: UspsService, private alertService: AlertService, private datePipe: DatePipe,\r\n private socoHttp: SocoHttpService) { this.buildFormGroup(); }\r\n //#endregion\r\n //#region > Events <\r\n\r\n // used to close opened pop ups and unsubscribe to services.\r\n ngOnDestroy() {\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#address_validation_modal').is(':visible')) {\r\n $('#address_validation_modal').modal('hide');\r\n }\r\n if ($('#acknowledge_validation_modal').is(':visible')) {\r\n $('#acknowledge_validation_modal').modal('hide');\r\n }\r\n if (this.zipSubscription) {\r\n this.zipSubscription.unsubscribe();\r\n }\r\n if (this.addressSubscription) {\r\n this.addressSubscription.unsubscribe();\r\n }\r\n if (this.gasLetterSubscription) {\r\n this.gasLetterSubscription.unsubscribe();\r\n }\r\n if (this.postLetterSubscription) {\r\n this.postLetterSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n // used to subscribe to services and call the initial methods.\r\n ngOnInit() {\r\n if ($('.swal-modal').is(':visible')) {\r\n swal.close();\r\n }\r\n if ($('#soco-modal').is(':visible')) {\r\n $('#soco-modal').modal('hide');\r\n }\r\n\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Gas Letter Request'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n const sub = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (sub && val) { sub.unsubscribe(); }\r\n this.lookupsLoaded = val;\r\n if (val) {\r\n // SryNotification variable is to pass the custom error message from database to Custom-map.Component.ts\r\n this.sryNotification = this.lookupSvc.messages.filter(a => a.messageType === this.constantsSvc.error2);\r\n scrollToHeader();\r\n }\r\n });\r\n this.setActiveLocationDetails();\r\n this.resolveMailingZip();\r\n\r\n if (!this.environmentSvc.isSoCoProduction) {\r\n this.gasLetterSubscription = this.gasLetterForm.valueChanges.subscribe(val => {\r\n this.formValidation = getFormValidators(this.gasLetterForm);\r\n });\r\n }\r\n }\r\n\r\n // used to handle page refresh if refreshed or timeout\r\n canDeactivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot, nextState: RouterStateSnapshot): Observable | boolean {\r\n if (this.gasLetterForm) {\r\n if (this.gasLetterActiveView === this.activeViewEnum.Location) { return of(true); }\r\n if (this.skipCanDeactivate) { return of(true); }\r\n this.showDiscardDialog(this.constantsSvc.showDiscardmsgMultistep, 'Stay', 'Discard Changes', true);\r\n const subscription = this.socoModalService.modalConfirmation$.subscribe(choice => {\r\n subscription.unsubscribe();\r\n if (!choice) {\r\n return true;\r\n }\r\n });\r\n return this.socoModalService.modalConfirmation$;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // used for resolving zip code\r\n resolveMailingZip() {\r\n this.zipSubscription = this.gasLetterForm.controls['applicantZip'].valueChanges.subscribe(selectedValue => {\r\n if (this.gasLetterForm.get('mailingAddressSame').value) { return; }\r\n if (this.constantsSvc.zipCodePattern.test(selectedValue)) { // We have a valid ZIP Code.\r\n this.socoHttp.showPleaseWait('Processing.', 'ContainerAwaiter');\r\n this.usps.GetCityStateFromZip(selectedValue, (result) => {\r\n if (result.CityStateLookupResponse.ZipCode.Error) {\r\n this.gasLetterForm.patchValue({ applicantZip: null });\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n swal(this.constantsSvc.invalidZipSwal, '', this.constantsSvc.errorSwal);\r\n return;\r\n }\r\n this.lookupSvc.loadMailingAddressCityLookups(result.CityStateLookupResponse.ZipCode.State,\r\n result.CityStateLookupResponse.ZipCode.City);\r\n this.addressSubscription = this.lookupSvc.mailingAddressLookupsLoaded$.subscribe(loaded => {\r\n if (loaded) {\r\n this.socoHttp.hidePleaseWait('ContainerAwaiter');\r\n this.gasLetterForm.patchValue({\r\n applicantCity: this.lookupSvc.mailingCity.length > 0 ? this.lookupSvc.mailingCity[0] : null,\r\n applicantState: this.lookupSvc.mailingState.length > 0 ? this.lookupSvc.mailingState[0] : null,\r\n });\r\n }\r\n }, fail => { this.socoHttp.hidePleaseWait('ContainerAwaiter'); });\r\n });\r\n }\r\n });\r\n }\r\n\r\n setActiveLocationDetails() { // Set the location details either from map or active ldc info.\r\n this.mapLocationDetails = {\r\n lat: this.serviceAddress != null ? this.serviceAddress.latitude : this.sessionSvc.activeLdc.latitude,\r\n lng: this.serviceAddress != null ? this.serviceAddress.longitude : this.sessionSvc.activeLdc.longitude,\r\n zoom: this.serviceAddress != null ? this.serviceAddress.zoomLevel : this.sessionSvc.activeLdc.mapZoom,\r\n showMarker: Boolean(this.serviceAddress != null),\r\n };\r\n }\r\n\r\n // used to display dialog for discard option\r\n showDiscardDialog(body: string, cancelText: string, confirmText: string, isDanger: boolean) {\r\n this.socoModalService.confirm({\r\n title: 'Confirmation',\r\n body: body,\r\n headerCssClass: isDanger ? 'bg-danger' : 'bg-info',\r\n buttonCssClass: isDanger ? 'btn-danger' : 'btn-info',\r\n confirmButton: confirmText,\r\n cancelButton: cancelText\r\n });\r\n }\r\n\r\n // method to get service address\r\n getServiceAddress($event) { // Event fire by Map when address selected.\r\n if (!this.serviceAddress || !compareObjects(this.serviceAddress, $event)) {\r\n this.serviceAddress = $event;\r\n this.lookupSvc.loadServiceAddressLookups(this.serviceAddress.state.short_name, this.serviceAddress.city, this.serviceAddress.county);\r\n const subscription = this.lookupSvc.serviceAddressLookupsLoaded$.subscribe(isLoaded => {\r\n if (isLoaded) {\r\n if (subscription !== undefined) {\r\n subscription.unsubscribe();\r\n }\r\n this.setActiveView(LetterActiveViewEnum.LetterForm);\r\n this.gasLetterForm.patchValue({\r\n serviceCity: this.lookupSvc.serviceCity.find(x => x.itemName.toUpperCase() === this.serviceAddress.city.toUpperCase()),\r\n serviceState: this.lookupSvc.serviceState.find(x => x.id.toUpperCase() === this.serviceAddress.state.short_name.toUpperCase()),\r\n projectAddress: `${this.serviceAddress.street_number} ${this.serviceAddress.street_name}`,\r\n zip: this.serviceAddress.zip\r\n });\r\n\r\n // If user toggeled same as service address, then clone service\r\n if (this.gasLetterForm.controls['mailingAddressSame'].value) {\r\n this.cloneServiceAddress(false);\r\n this.gasLetterForm.patchValue({ mailingAddressSame: false });\r\n }\r\n }\r\n });\r\n } else { this.setActiveView(LetterActiveViewEnum.LetterForm); }\r\n }\r\n\r\n setActiveView(view: LetterActiveViewEnum) { // Switch view between map and form\r\n this.gasLetterActiveView = view;\r\n this.setActiveLocationDetails();\r\n scrollToHeader();\r\n }\r\n\r\n // Gas request letter form\r\n buildFormGroup(): void {\r\n this.gasLetterForm = new FormGroup({\r\n projectName: new FormControl(null),\r\n landDistrict: new FormControl(null),\r\n landLot: new FormControl(null),\r\n applicantProjectType: new FormControl(null, [Validators.required]),\r\n letterAddressedTo: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n zip: new FormControl({ value: null, disabled: true }, [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n companyName: new FormControl(null, [Validators.pattern(this.constantsSvc.spacePattern)]),\r\n closestStreet: new FormControl(null),\r\n projectAddress: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n serviceState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n isPoBox: new FormControl(),\r\n poBoxNumber: new FormControl(null, [Validators.pattern(this.constantsSvc.numericPatternwithZero)]),\r\n mailingAddressSame: new FormControl(false),\r\n mailingAddress: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n applicantCity: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n applicantState: new FormControl({ value: null, disabled: true }, [Validators.required]),\r\n applicantZip: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.zipCodePattern)]),\r\n\r\n contactName: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.spacePattern)]),\r\n contactPhoneNumber: new FormControl(null, [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n applicantPhoneNumberExtension: new FormControl(null,\r\n [Validators.pattern(this.constantsSvc.phoneNumberExtensionPattern), Validators.maxLength(6)]),\r\n applicanteMailAddress: new FormControl(null, [Validators.pattern(this.constantsSvc.emailPattern)]),\r\n fax: new FormControl(null, [Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n\r\n specialNotes: new FormControl(null),\r\n serviceFormattedAddress: new FormControl(null),\r\n mailingFormattedAddress: new FormControl(null),\r\n sourceCd: new FormControl(null),\r\n recordCreateDate: new FormControl(null),\r\n recordCreateUserId: new FormControl(null),\r\n recordUpdateDate: new FormControl(null),\r\n recordUpdateUserId: new FormControl(null),\r\n countyId: new FormControl(null)\r\n },\r\n { updateOn: 'blur' }\r\n );\r\n }\r\n getAddressFromModal($event) {\r\n if (compareObjects(this.addressToValidate, $event) || this.gasLetterForm.controls['isPoBox'].value) {\r\n this.submitForm();\r\n } else {\r\n this.updateValidatedAddress(this.validatedAddress);\r\n this.submitForm();\r\n }\r\n $(this.addressValidationModalId).modal('hide');\r\n }\r\n modalChangeMailingAddress() {\r\n $(this.addressValidationModalId).modal('hide');\r\n this.gasLetterForm.patchValue({ mailingAddress: null, applicantZip: null, applicantCity: null, applicantState: null });\r\n this.cloneServiceAddress(false);\r\n this.gasLetterForm.get('mailingAddressSame').setValue(false);\r\n triggerFormValidation(this.gasLetterForm);\r\n this.gasLetterForm.updateValueAndValidity();\r\n focusFirstInvalidField(this.gasLetterForm);\r\n }\r\n updateValidatedAddress($event: any) {\r\n let newCity: any;\r\n let newState: any;\r\n this.gasLetterForm.patchValue({ mailingAddress: $event.street, applicantZip: $event.zip });\r\n // update the city and state if different from original address\r\n if (this.addressToValidate.city.toUpperCase() !== $event.city.toUpperCase()) {\r\n newCity = this.lookupSvc.mailingCity.find(i => i.itemName.toUpperCase() === $event.city.toUpperCase());\r\n this.gasLetterForm.patchValue({ applicantCity: newCity });\r\n }\r\n if (this.addressToValidate.state.toUpperCase() !== $event.state.toUpperCase()) {\r\n newState = this.lookupSvc.serviceState.find(i => i.id.toUpperCase() === $event.state.toUpperCase());\r\n this.gasLetterForm.patchValue({ applicantState: newState });\r\n }\r\n this.gasLetterForm.updateValueAndValidity();\r\n }\r\n\r\n // On submit\r\n clickedSubmit() {\r\n // skip address validation\r\n const poBoxChecked = this.gasLetterForm.controls['isPoBox'].value;\r\n if (this.gasLetterForm.valid && poBoxChecked) { this.submitForm(); }\r\n if (this.gasLetterForm.valid) {\r\n this.addressToValidate = this.getAddressObjFromForm();\r\n if (this.addressToValidate) {\r\n this.usps.GetValidatedAddress(this.addressToValidate, (result) => {\r\n if (result.Error) {\r\n this.addressValidationError = result.Error.Description;\r\n } else {\r\n this.validatedAddress = result;\r\n }\r\n\r\n if (compareObjects(this.addressToValidate, this.validatedAddress)) {\r\n this.submitForm();\r\n } else {\r\n $(this.addressValidationModalId).modal();\r\n $(this.addressValidationModalId).focus();\r\n }\r\n });\r\n }\r\n } else {\r\n triggerFormValidation(this.gasLetterForm);\r\n focusFirstInvalidField(this.gasLetterForm);\r\n }\r\n }\r\n\r\n private submitForm() {\r\n if ($('#acknowledge_validation_modal').is(':visible')) {\r\n this.popupOpen = true;\r\n $('#acknowledge_validation_modal').modal('hide');\r\n this.skipCanDeactivate = true;\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLowerCase(), 'home']);\r\n }\r\n let countyId;\r\n if (this.lookupSvc.serviceCounty.length > 0 && this.serviceAddress.county) {\r\n const county = this.lookupSvc.serviceCounty.filter(x => x.itemName.toUpperCase()\r\n === this.serviceAddress.county.toUpperCase())[0];\r\n countyId = county !== undefined ? county.id : '-1';\r\n } else {\r\n countyId = '-1';\r\n }\r\n if (this.gasLetterForm.valid && !this.popupOpen) {\r\n\r\n this.gasLetterForm.patchValue({\r\n serviceFormattedAddress: this.serviceAddress.formatted_address,\r\n mailingFormattedAddress: this.getMailingFormattedAddress(),\r\n sourceCd: 'Applicant',\r\n recordCreateDate: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone),\r\n recordCreateUserId: 'Applicant',\r\n recordUpdateDate: this.datePipe.transform(new Date(), 'dd-MMM-yy HH:mm:ss', this.constantsSvc.TimeZone),\r\n recordUpdateUserId: 'Applicant',\r\n countyId: countyId\r\n });\r\n const formValue = this.gasLetterForm.getRawValue();\r\n formValue.isPoBox = formValue.isPoBox === true ? 'Y' : 'N';\r\n formValue.mailingAddress = formValue.isPoBox === 'Y' ? '' : formValue.mailingAddress;\r\n\r\n this.postLetterSubscription = this.landingSvc.postGasLetter(formValue).subscribe(result => {\r\n const refid = result.data.id;\r\n this.message = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.gasLetterForm.getRawValue().serviceState.id.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.messageTypeEnum.Letter).message;\r\n this.message = this.lookupSvc.messages.find(x =>\r\n x.itemName.toUpperCase() === this.gasLetterForm.getRawValue().serviceState.id.toUpperCase() &&\r\n x.messageType.toUpperCase() === this.messageTypeEnum.Letter).message;\r\n this.message = this.message.replace('##', this.lookupSvc.companies[this.serviceAddress.state.short_name].name);\r\n this.message = this.message.replace('XXX', this.serviceAddress.formatted_address);\r\n this.message = this.message.replace('XX', refid);\r\n $('#acknowledge_validation_modal').modal();\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n }\r\n }\r\n\r\n // used to get formatted address\r\n getMailingFormattedAddress() {\r\n const model = this.gasLetterForm.getRawValue();\r\n if (!this.isPoBox) {\r\n return model.mailingAddress + ', ' + model.applicantCity.itemName + ' ,' + model.applicantState.id + ' ' + model.applicantZip;\r\n } else {\r\n return 'PO Box ' + model.poBoxNumber + ', ' + model.applicantCity.itemName + ' ,' +\r\n model.applicantState.id + ' ' + model.applicantZip;\r\n }\r\n }\r\n\r\n // Applicant address same as service address\r\n mailingAddressToggle(eve: any) {\r\n const mailingAddressSame = (this.gasLetterForm.get('mailingAddressSame'));\r\n if (mailingAddressSame.value) {\r\n this.gasLetterForm.controls['isPoBox'].patchValue(false);\r\n this.gasLetterForm.controls['poBoxNumber'].clearValidators();\r\n this.gasLetterForm.controls['poBoxNumber'].setValue('');\r\n this.isPoBox = false;\r\n }\r\n this.cloneServiceAddress(mailingAddressSame.value);\r\n }\r\n\r\n // PO box toggle\r\n poBoxToggle(e) {\r\n this.isPoBox = this.gasLetterForm.controls['isPoBox'].value;\r\n if (this.isPoBox) {\r\n this.gasLetterForm.controls['mailingAddressSame'].setValue(false);\r\n this.gasLetterForm.controls['poBoxNumber'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.numericPatternwithZero)]);\r\n this.gasLetterForm.controls['mailingAddress'].clearValidators();\r\n this.gasLetterForm.controls['mailingAddress'].patchValue('');\r\n } else {\r\n this.gasLetterForm.controls['mailingAddress'].patchValue(null);\r\n this.gasLetterForm.controls['mailingAddress'].setValidators([Validators.required,\r\n Validators.pattern(this.constantsSvc.alphaNumericPattern)]);\r\n this.isPoBox = false;\r\n // enable address fields when po box is deselected\r\n this.gasLetterForm.controls['mailingAddress'].enable();\r\n this.gasLetterForm.controls['applicantZip'].enable();\r\n this.gasLetterForm.controls['poBoxNumber'].clearValidators();\r\n this.gasLetterForm.controls['poBoxNumber'].setValue('');\r\n }\r\n }\r\n getAddressObjFromForm() {\r\n const model = this.gasLetterForm.getRawValue();\r\n if (this.gasLetterForm.controls['isPoBox'].value) { return null; }\r\n return {\r\n street: (model.mailingAddress.replace(',', '')).toUpperCase(), city: model.applicantCity.itemName.toUpperCase(),\r\n state: model.applicantState.id.toUpperCase(), zip: model.applicantZip\r\n };\r\n }\r\n\r\n // used to clone service address\r\n cloneServiceAddress(same: boolean) {\r\n if (same) {\r\n this.gasLetterForm.patchValue({\r\n mailingAddress: this.gasLetterForm.controls['projectAddress'].value,\r\n applicantZip: this.gasLetterForm.controls['zip'].value,\r\n applicantCity: this.gasLetterForm.controls['serviceCity'].value ? this.gasLetterForm.controls['serviceCity'].value : [],\r\n applicantState: this.gasLetterForm.controls['serviceState'].value ? this.gasLetterForm.controls['serviceState'].value : [],\r\n });\r\n this.gasLetterForm.controls['mailingAddress'].disable();\r\n this.gasLetterForm.controls['applicantZip'].disable();\r\n this.addressToValidate = this.getAddressObjFromForm();\r\n } else {\r\n this.gasLetterForm.patchValue({ mailingAddress: '', applicantZip: '', applicantCity: [], applicantState: [], });\r\n this.gasLetterForm.controls['mailingAddress'].enable();\r\n this.gasLetterForm.controls['applicantZip'].enable();\r\n this.gasLetterForm.updateValueAndValidity();\r\n this.addressToValidate = null;\r\n }\r\n }\r\n //#endregion\r\n closeAcknowledgement() { // to close the acknowledgement pop-up\r\n $('#acknowledge_validation_modal').modal('hide');\r\n this.skipCanDeactivate = true;\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLowerCase(), 'home']);\r\n }\r\n}\r\n\r\nexport enum LetterActiveViewEnum {\r\n Location = 0,\r\n LetterForm\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'capitalizeFirstLetter'\r\n})\r\nexport class CapitalizeFirstLetterPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n if (!value) return value; // Return the value as is if it's falsy (null, undefined, empty string)\r\n\r\n // Convert the entire value to lowercase and split it into words\r\n const words = value.toLowerCase().split(' ');\r\n\r\n // Capitalize the first letter of each word\r\n const capitalizedWords = words.map(word => word.charAt(0).toUpperCase() + word.slice(1));\r\n\r\n // Join the capitalized words back into a single string\r\n return capitalizedWords.join(' ');\r\n }\r\n\r\n}\r\n","export default \"@charset \\\"UTF-8\\\";\\n.breadcrumb > li:last-child:before {\\n content: \\\" \\\";\\n}\\n.gas-logo {\\n margin-right: 10px !important;\\n height: 90px !important;\\n}\\n.contact-us {\\n float: right;\\n font-weight: 600;\\n}\\n.container {\\n width: 60%;\\n margin-top: 10px;\\n}\\n::ng-deep .modal-content .form-group > label:not(.radio-inline):not(.error) {\\n font-size: 15px !important;\\n}\\n.nav-style {\\n margin-top: 15px;\\n display: flex;\\n margin-bottom: 15px;\\n align-items: center;\\n justify-content: space-between;\\n}\\n.progress-spinner-wrapper {\\n display: flex;\\n align-items: center;\\n}\\n.nav-label {\\n flex-grow: 1;\\n margin-left: 30px;\\n display: inline-block;\\n margin-right: 10px;\\n}\\n.nav-label strong {\\n display: block;\\n font-size: 21px;\\n}\\n.nav-label label {\\n font-weight: 600;\\n margin-top: 7px;\\n font-size: 14px;\\n}\\n.text-font {\\n font-weight: 600;\\n}\\n.card-design {\\n margin-top: 15px;\\n background-color: white;\\n}\\nmat-card-header {\\n font-weight: 600;\\n}\\n.status-tracker {\\n min-height: 30px;\\n max-height: 351px;\\n overflow-y: auto;\\n overflow-x: hidden;\\n margin-left: 45px;\\n display: flex;\\n align-items: flex-start;\\n position: relative;\\n}\\n.text-margin {\\n font-size: 16px;\\n font-weight: 600;\\n margin-left: 30px;\\n}\\n.status-list {\\n list-style-type: none;\\n padding: 0;\\n margin: 0 0 0 20px;\\n}\\n.status-list li {\\n display: flex;\\n align-items: center;\\n padding: 10px 0;\\n}\\n.btn-bg-changes {\\n font-size: 15px;\\n border-radius: 25px !important;\\n height: 39px;\\n min-width: 160px;\\n max-width: auto;\\n color: white;\\n background-color: #052f6f;\\n}\\n.btn-center {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-bottom: 30px;\\n}\\n.text-col-cust {\\n color: #b81616 !important;\\n}\\n.text-col-comp {\\n color: #052f6f;\\n}\\n.text-col-complete {\\n color: grey;\\n}\\n.text-col-pend {\\n color: black;\\n}\\n.action-button {\\n background-color: #b81616;\\n color: white;\\n border: none;\\n border-radius: 5px;\\n margin-bottom: 10px;\\n font-weight: 600;\\n font-size: 12px;\\n height: 24px;\\n display: inline-block;\\n margin-left: 10px;\\n margin-bottom: 15px;\\n}\\n.asterisk {\\n color: #b81616;\\n font-weight: 700;\\n margin-bottom: 10px;\\n margin-left: 2px;\\n}\\n.flex-container {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n}\\n.flex-container label {\\n font-size: 14px;\\n}\\n.onhold-indicator {\\n justify-content: center;\\n display: flex;\\n align-items: center;\\n height: 26px;\\n width: 90px;\\n background-color: #b81616;\\n color: white;\\n font-weight: bold;\\n font-size: 14px;\\n border-radius: 5px;\\n}\\n.view-next-steps {\\n font-weight: 600;\\n font-size: 15px;\\n margin-left: 30px;\\n display: flex;\\n align-items: center;\\n color: #1976d2;\\n cursor: pointer;\\n text-decoration: none;\\n background: none;\\n border: none;\\n padding: 0;\\n margin-bottom: 15px;\\n}\\n.view-previous-steps {\\n font-weight: 600;\\n font-size: 15px;\\n margin-left: 25px;\\n display: flex;\\n align-items: center;\\n color: #1976d2;\\n cursor: pointer;\\n text-decoration: none;\\n background: none;\\n border: none;\\n padding: 0;\\n margin-top: 10px;\\n}\\n.custom-icon {\\n margin-left: 25px;\\n margin-right: 10px;\\n}\\n.line-wip {\\n width: 2px;\\n height: 100%;\\n background: linear-gradient(to bottom, #727572 50%, rgba(255, 255, 255, 0) 0%);\\n background-size: 4px 4px;\\n position: absolute;\\n left: -28.5px;\\n top: 46.5px;\\n}\\n.line-pending {\\n width: 2px;\\n height: 100%;\\n background: linear-gradient(to bottom, #727572 50%, rgba(255, 255, 255, 0) 0%);\\n background-size: 4px 4px;\\n position: absolute;\\n left: -28.5px;\\n top: 46.5px;\\n}\\n.line-completed {\\n width: 2px;\\n height: 100%;\\n background-color: #727572;\\n background-size: 4px 4px;\\n position: absolute;\\n left: -28.5px;\\n top: 46.5px;\\n}\\n.line-container {\\n position: relative;\\n}\\n.line-container:last-child :is(.line-wip, .line-completed, .line-pending) {\\n display: none;\\n}\\n.icon {\\n position: absolute;\\n left: -40px;\\n top: 25px;\\n z-index: 5;\\n height: 50px;\\n}\\n.image {\\n position: relative;\\n top: 10px;\\n left: 17px;\\n}\\n/* progress-spinner.component.css */\\n.progress-spinner-container {\\n position: relative;\\n display: flex;\\n}\\nmat-progress-spinner {\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n.progress-spinner-text {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n transform: translate(-50%, -50%);\\n font-size: 1em;\\n font-weight: bold;\\n color: #0277bd;\\n}\\n.progress-spinner-container {\\n display: flex;\\n margin-bottom: 10vh;\\n margin-right: 60px;\\n}\\n.progress-spinner-container .mat-progress-spinner {\\n margin-right: 10px;\\n border-radius: 32px;\\n border: 9px solid #8080803b;\\n}\\n::ng-deep .mat-progress-spinner circle,\\n.mat-spinner circle {\\n stroke: #1b78c2d1;\\n}\\n.progress-spinner-text {\\n margin-left: 30px;\\n margin-top: 30px;\\n}\\n::ng-deep .mat-progress-spinner svg {\\n position: absolute !important;\\n transform: rotate(-90deg) !important;\\n top: -8px !important;\\n left: -8px !important;\\n transform-origin: center !important;\\n overflow: visible !important;\\n}\\n.step-container {\\n position: relative;\\n top: 0px;\\n left: 25px;\\n}\\n.info-content {\\n display: flex;\\n align-items: center;\\n}\\n::ng-deep .custom-tooltip {\\n background-color: white !important;\\n color: black !important;\\n border-radius: 4px;\\n padding: 10px;\\n font-size: 13px;\\n position: relative;\\n border: 1px solid black;\\n}\\n.info-icon {\\n color: #2196F3 !important;\\n font-size: 17px !important;\\n}\\n.lbl-Obligation {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.list-Obligationul {\\n display: flex;\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n}\\n.list-Obligationul li {\\n font-size: 14px;\\n padding: 10px;\\n}\\n.list-Obligationul li:before {\\n content: \\\"â– \\\";\\n font-size: 30px;\\n}\\n.com-ob {\\n color: #052f6f;\\n text-align: center;\\n}\\n.cus-ob {\\n color: #b81616;\\n text-align: center;\\n}\\n.completed-image {\\n margin-left: 1vw;\\n max-width: 70px;\\n max-height: 70px;\\n}\\n.sle {\\n font-weight: 600;\\n word-wrap: break-word;\\n flex: 1;\\n margin-left: 98px;\\n}\\n.sle_schdate {\\n display: inline-block;\\n margin-left: 10px;\\n font-weight: 600;\\n word-wrap: break-word;\\n}\\n.thanks-banner {\\n position: relative;\\n background-color: #E0F7FA;\\n border-color: #00BCD4;\\n color: #00545c;\\n padding: 10px 20px;\\n border: 1px solid;\\n}\\n.thanks-banner marquee {\\n font-weight: bold !important;\\n margin-right: 20px;\\n}\\n.close-btn {\\n background: none;\\n border: none;\\n color: #00545c;\\n font-size: 24px;\\n position: absolute;\\n top: 5px;\\n right: 10px;\\n cursor: pointer;\\n}\\n.star-rating {\\n display: inline-block;\\n width: 100%;\\n text-align: center !important;\\n}\\n.star {\\n cursor: pointer;\\n font-size: 60px;\\n padding-right: 18px;\\n color: #cac9c9d4;\\n font-style: normal;\\n}\\n.star.filled {\\n color: #1b78c2d1;\\n}\\n.askMeLater {\\n padding-right: 15px;\\n font-size: 13px;\\n color: #034a83d1;\\n font-weight: bold;\\n}\\n.feedbackTextArea {\\n height: 150px;\\n border-radius: 5px !important;\\n}\\n.feedbackBorderRadius {\\n border-radius: 10px !important;\\n width: 100%;\\n}\\n.feedSubmit {\\n border-radius: 5px !important;\\n background-color: #034a83d1;\\n}\\n.textBoldCenter {\\n font-weight: bold !important;\\n text-align: center !important;\\n}\\n.textBold {\\n font-weight: bold;\\n}\\n.textFeedback {\\n font-weight: bold !important;\\n margin: 0px 0px -20px 0px;\\n}\\n.titleFeedback {\\n font-size: 27px !important;\\n margin-top: 23px !important;\\n margin-bottom: 11.5px !important;\\n}\\n.fbDiv {\\n padding-right: 20px;\\n padding-left: 20px;\\n}\\n.maxLen {\\n font-size: 13px !important;\\n}\\n.sle_schdate_mobile-view {\\n margin-left: 10px;\\n}\\n@media (max-width: 1114px) {\\n .sle {\\n margin-left: 98px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 80%;\\n }\\n\\n .sle_schdate {\\n margin-left: 80px;\\n max-width: 193px;\\n margin-bottom: 15px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n }\\n}\\n@media (max-width: 1026px) {\\n .action-button {\\n margin-left: 75px;\\n word-wrap: break-word;\\n width: auto;\\n height: auto;\\n margin-right: 50px;\\n margin-bottom: 15px;\\n }\\n\\n .sle {\\n /* margin-left: 98px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 193px;*/\\n margin-left: 98px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 350px;\\n }\\n\\n .sle_schdate {\\n margin-left: 80px;\\n max-width: 193px;\\n margin-bottom: 15px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n }\\n}\\n@media (max-width: 986px) {\\n .action-button {\\n margin-left: 80px;\\n word-wrap: break-word;\\n width: auto;\\n height: auto;\\n margin-right: 50px;\\n margin-bottom: 15px;\\n }\\n\\n .sle {\\n margin-left: 98px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 350px;\\n }\\n\\n .sle_schdate {\\n max-width: 193px;\\n margin-bottom: 15px;\\n }\\n}\\n@media (max-width: 768px) {\\n .container {\\n width: 80%;\\n }\\n\\n .flex-container {\\n flex-direction: column;\\n align-items: center;\\n }\\n\\n .breadcrumb {\\n margin-left: 10px;\\n }\\n\\n .nav-style {\\n flex-direction: column;\\n text-align: center;\\n }\\n\\n .progress-spinner-wrapper {\\n flex-direction: column;\\n align-items: center;\\n margin-top: 5px;\\n width: 60px;\\n height: 60px;\\n }\\n\\n .list-Obligationul {\\n flex-direction: column;\\n align-items: center;\\n }\\n\\n .list-Obligationul li {\\n font-size: 14px;\\n padding: 0px;\\n }\\n\\n .action-button {\\n margin-left: 80px;\\n word-wrap: break-word;\\n width: auto;\\n height: auto;\\n margin-right: 50px;\\n margin-bottom: 15px;\\n }\\n\\n img {\\n vertical-align: -webkit-baseline-middle;\\n }\\n\\n .btn-center {\\n margin-bottom: 20px;\\n margin-top: 10px;\\n }\\n\\n .completed-image {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n }\\n\\n .sle {\\n margin-left: 98px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 65%;\\n }\\n\\n .sle_schdate {\\n margin-left: 80px;\\n max-width: 193px;\\n margin-bottom: 15px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n }\\n\\n .sle_schdate_mobile-view {\\n margin-left: 98px;\\n }\\n}\\n@media (max-width: 560px) {\\n .breadcrumb {\\n margin-left: 10px;\\n }\\n\\n .thanks-banner {\\n font-size: 14px;\\n }\\n\\n .nav-label {\\n text-align: center;\\n margin: 0px;\\n }\\n\\n .nav-label strong {\\n text-align: center;\\n }\\n\\n .completed-image {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n }\\n\\n .stepImage {\\n margin-top: -5px;\\n }\\n\\n .container {\\n width: 90%;\\n }\\n\\n .status-tracker {\\n margin-left: 5px;\\n }\\n\\n .view-next-steps,\\n.view-previous-steps {\\n margin-left: -15px;\\n font-size: 13px;\\n }\\n\\n .image {\\n left: 0px;\\n top: 15px;\\n }\\n\\n .sle {\\n margin-left: 80px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 65%;\\n }\\n\\n .action-button {\\n margin-left: 80px;\\n word-wrap: break-word;\\n width: auto;\\n height: auto;\\n margin-right: 50px;\\n margin-bottom: 15px;\\n }\\n\\n .text-margin {\\n font-size: 14px;\\n word-wrap: break-word;\\n }\\n\\n .info-content {\\n margin-top: 5px;\\n }\\n\\n img {\\n vertical-align: -webkit-baseline-middle;\\n }\\n\\n .btn-center {\\n margin-bottom: 20px;\\n margin-top: 10px;\\n }\\n}\\n@media (max-width: 410px) {\\n .action-button {\\n margin-bottom: 15px;\\n }\\n\\n .text-margin {\\n font-size: 13px;\\n margin-left: 15px;\\n }\\n\\n .sle {\\n margin-left: 66px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 65%;\\n }\\n\\n .sle_schdate {\\n margin-left: 66px;\\n margin-bottom: 15px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 153px;\\n }\\n}\\n@media (max-width: 340px) {\\n .action-button {\\n margin-bottom: 15px;\\n }\\n\\n .text-margin {\\n font-size: 13px;\\n margin-left: 15px;\\n }\\n\\n .sle {\\n margin-left: 66px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 57%;\\n }\\n\\n .sle_schdate {\\n margin-left: 66px;\\n margin-bottom: 15px;\\n height: auto;\\n text-align: start;\\n margin-right: calc(10% - 10px);\\n word-wrap: break-word;\\n max-width: 153px;\\n }\\n}\\n@media (max-width: 370px) {\\n .text-margin {\\n font-size: 13px;\\n max-width: 165px;\\n }\\n}\\n/* styles.css */\\n@media (max-width: 768px) {\\n .desktop-button {\\n display: none;\\n }\\n}\\n@media (min-width: 769px) {\\n .mobile-button {\\n display: none;\\n }\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvc2VydmljZS10cmFja2VyL3NlcnZpY2UtdHJhY2tlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvc2VydmljZS10cmFja2VyL0U6XFxBZ2VudHNcXEJ1aWxkXFxfd29ya1xcMTU1NjVcXHNcXFdlYlxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxsYW5kaW5nXFxjb21wb25lbnRzXFxzZXJ2aWNlLXRyYWNrZXJcXHNlcnZpY2UtdHJhY2tlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7RUFDSSxZQUFBO0FERUo7QUNDQTtFQUNJLDZCQUFBO0VBQ0EsdUJBQUE7QURFSjtBQ0NBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0FERUo7QUNBQTtFQUNJLFVBQUE7RUFDQSxnQkFBQTtBREdKO0FDQUE7RUFDSSwwQkFBQTtBREdKO0FDRUE7RUFDSSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsOEJBQUE7QURDSjtBQ0VBO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0FEQ0o7QUNFQTtFQUNJLFlBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7QURDSjtBQ0VBO0VBQ0ksY0FBQTtFQUNBLGVBQUE7QURDSjtBQ0VBO0VBQ0ksZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtBRENKO0FDRUE7RUFDSSxnQkFBQTtBRENKO0FDRUE7RUFDSSxnQkFBQTtFQUNBLHVCQUFBO0FEQ0o7QUNFQTtFQUNJLGdCQUFBO0FEQ0o7QUNFQTtFQUNJLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtBRENKO0FDRUE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtB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QUFBO0lBQ0EsaUJBQUE7SUFDQSw4QkFBQTtJQUNBLHFCQUFBO0lBQ0EsY0FBQTtFRGROOztFQ2lCRTtJQUNJLGlCQUFBO0lBQ0EscUJBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7RURkTjs7RUNpQkU7SUFDSSxlQUFBO0lBQ0EscUJBQUE7RURkTjs7RUNpQkU7SUFDSSxlQUFBO0VEZE47O0VDaUJFO0lBQ0ksdUNBQUE7RURkTjs7RUNpQkU7SUFDSSxtQkFBQTtJQUNBLGdCQUFBO0VEZE47QUFDRjtBQ2lCQTtFQUNJO0lBQ0ksbUJBQUE7RURmTjs7RUNrQkU7SUFDSSxlQUFBO0lBQ0EsaUJBQUE7RURmTjs7RUNpQkU7SUFDRSxpQkFBQTtJQUNBLFlBQUE7SUFDQSxpQkFBQTtJQUNBLDhCQUFBO0lBQ0EscUJBQUE7SUFDQSxjQUFBO0VEZEo7O0VDZ0JFO0lBQ0ksaUJBQUE7SUFDQSxtQkFBQTtJQUNBLFlBQUE7SUFDQSxpQkFBQTtJQUNBLDhCQUFBO0lBQ0EscUJBQUE7SUFDQSxnQkFBQTtFRGJOO0FBQ0Y7QUNpQkE7RUFDSTtJQUNJLG1CQUFBO0VEZk47O0VDa0JFO0lBQ0ksZUFBQTtJQUNBLGlCQUFBO0VEZk47O0VDaUJFO0lBQ0UsaUJBQUE7SUFDQSxZQUFBO0lBQ0EsaUJBQUE7SUFDQSw4QkFBQTtJQUNBLHFCQUFBO0lBQ0EsY0FBQTtFRGRKOztFQ2dCRTtJQUNJLGlCQUFBO0lBQ0EsbUJBQUE7SUFDQSxZQUFBO0lBQ0EsaUJBQUE7SUFDQSw4QkFBQTtJQUNBLHFCQUFBO0lBQ0EsZ0JBQUE7RURiTjtBQUNGO0FDZ0JBO0VBQ007SUFDSSxlQUFBO0lBQ0EsZ0JBQUE7RURkUjtBQUNGO0FDaUJBLGVBQUE7QUFDQTtFQUNJO0lBQ0UsYUFBQTtFRGZKO0FBQ0Y7QUNrQkU7RUFDRTtJQUNFLGFBQUE7RURoQko7QUFDRiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbGFuZGluZy9jb21wb25lbnRzL3NlcnZpY2UtdHJhY2tlci9zZXJ2aWNlLXRyYWNrZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4uYnJlYWRjcnVtYiA+IGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5nYXMtbG9nbyB7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDkwcHggIWltcG9ydGFudDtcbn1cblxuLmNvbnRhY3QtdXMge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG46Om5nLWRlZXAgLm1vZGFsLWNvbnRlbnQgLmZvcm0tZ3JvdXAgPiBsYWJlbDpub3QoLnJhZGlvLWlubGluZSk6bm90KC5lcnJvcikge1xuICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLm5hdi1zdHlsZSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnByb2dyZXNzLXNwaW5uZXItd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYXYtbGFiZWwge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm5hdi1sYWJlbCBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAyMXB4O1xufVxuXG4ubmF2LWxhYmVsIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogN3B4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50ZXh0LWZvbnQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY2FyZC1kZXNpZ24ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxubWF0LWNhcmQtaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnN0YXR1cy10cmFja2VyIHtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgbWF4LWhlaWdodDogMzUxcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ZXh0LW1hcmdpbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG59XG5cbi5zdGF0dXMtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMCAyMHB4O1xufVxuXG4uc3RhdHVzLWxpc3QgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbi5idG4tYmctY2hhbmdlcyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDM5cHg7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIG1heC13aWR0aDogYXV0bztcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDUyZjZmO1xufVxuXG4uYnRuLWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGV4dC1jb2wtY3VzdCB7XG4gIGNvbG9yOiAjYjgxNjE2ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWNvbC1jb21wIHtcbiAgY29sb3I6ICMwNTJmNmY7XG59XG5cbi50ZXh0LWNvbC1jb21wbGV0ZSB7XG4gIGNvbG9yOiBncmV5O1xufVxuXG4udGV4dC1jb2wtcGVuZCB7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmFjdGlvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjgxNjE2O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmFzdGVyaXNrIHtcbiAgY29sb3I6ICNiODE2MTY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtY29udGFpbmVyIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ub25ob2xkLWluZGljYXRvciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDI2cHg7XG4gIHdpZHRoOiA5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjgxNjE2O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLnZpZXctbmV4dC1zdGVwcyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMTk3NmQyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4udmlldy1wcmV2aW91cy1zdGVwcyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMTk3NmQyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uY3VzdG9tLWljb24ge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ubGluZS13aXAge1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM3Mjc1NzIgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0cHggNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yOC41cHg7XG4gIHRvcDogNDYuNXB4O1xufVxuXG4ubGluZS1wZW5kaW5nIHtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNzI3NTcyIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjguNXB4O1xuICB0b3A6IDQ2LjVweDtcbn1cblxuLmxpbmUtY29tcGxldGVkIHtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3NTcyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTI4LjVweDtcbiAgdG9wOiA0Ni41cHg7XG59XG5cbi5saW5lLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpbmUtY29udGFpbmVyOmxhc3QtY2hpbGQgOmlzKC5saW5lLXdpcCwgLmxpbmUtY29tcGxldGVkLCAubGluZS1wZW5kaW5nKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtNDBweDtcbiAgdG9wOiAyNXB4O1xuICB6LWluZGV4OiA1O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxN3B4O1xufVxuXG4vKiBwcm9ncmVzcy1zcGlubmVyLmNvbXBvbmVudC5jc3MgKi9cbi5wcm9ncmVzcy1zcGlubmVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxubWF0LXByb2dyZXNzLXNwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLnByb2dyZXNzLXNwaW5uZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMjc3YmQ7XG59XG5cbi5wcm9ncmVzcy1zcGlubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDEwdmg7XG4gIG1hcmdpbi1yaWdodDogNjBweDtcbn1cblxuLnByb2dyZXNzLXNwaW5uZXItY29udGFpbmVyIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgYm9yZGVyOiA5cHggc29saWQgIzgwODA4MDNiO1xufVxuXG46Om5nLWRlZXAgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSxcbi5tYXQtc3Bpbm5lciBjaXJjbGUge1xuICBzdHJva2U6ICMxYjc4YzJkMTtcbn1cblxuLnByb2dyZXNzLXNwaW5uZXItdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG46Om5nLWRlZXAgLm1hdC1wcm9ncmVzcy1zcGlubmVyIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gIHRvcDogLThweCAhaW1wb3J0YW50O1xuICBsZWZ0OiAtOHB4ICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG4uc3RlcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAyNXB4O1xufVxuXG4uaW5mby1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuOjpuZy1kZWVwIC5jdXN0b20tdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbn1cblxuLmluZm8taWNvbiB7XG4gIGNvbG9yOiAjMjE5NkYzICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xufVxuXG4ubGJsLU9ibGlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmxpc3QtT2JsaWdhdGlvbnVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubGlzdC1PYmxpZ2F0aW9udWwgbGkge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5saXN0LU9ibGlnYXRpb251bCBsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKWoFwiO1xuICBmb250LXNpemU6IDMwcHg7XG59XG5cbi5jb20tb2Ige1xuICBjb2xvcjogIzA1MmY2ZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3VzLW9iIHtcbiAgY29sb3I6ICNiODE2MTY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBsZXRlZC1pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAxdnc7XG4gIG1heC13aWR0aDogNzBweDtcbiAgbWF4LWhlaWdodDogNzBweDtcbn1cblxuLnNsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWxlZnQ6IDk4cHg7XG59XG5cbi5zbGVfc2NoZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnRoYW5rcy1iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMEY3RkE7XG4gIGJvcmRlci1jb2xvcjogIzAwQkNENDtcbiAgY29sb3I6ICMwMDU0NWM7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG59XG5cbi50aGFua3MtYmFubmVyIG1hcnF1ZWUge1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5jbG9zZS1idG4ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMDA1NDVjO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zdGFyLXJhdGluZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uc3RhciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICBjb2xvcjogI2NhYzljOWQ0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5zdGFyLmZpbGxlZCB7XG4gIGNvbG9yOiAjMWI3OGMyZDE7XG59XG5cbi5hc2tNZUxhdGVyIHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzAzNGE4M2QxO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZlZWRiYWNrVGV4dEFyZWEge1xuICBoZWlnaHQ6IDE1MHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbn1cblxuLmZlZWRiYWNrQm9yZGVyUmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZlZWRTdWJtaXQge1xuICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGE4M2QxO1xufVxuXG4udGV4dEJvbGRDZW50ZXIge1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnRleHRCb2xkIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50ZXh0RmVlZGJhY2sge1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCAwcHggLTIwcHggMHB4O1xufVxuXG4udGl0bGVGZWVkYmFjayB7XG4gIGZvbnQtc2l6ZTogMjdweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAyM3B4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDExLjVweCAhaW1wb3J0YW50O1xufVxuXG4uZmJEaXYge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbi5tYXhMZW4ge1xuICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbn1cblxuLnNsZV9zY2hkYXRlX21vYmlsZS12aWV3IHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTE0cHgpIHtcbiAgLnNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDk4cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cblxuICAuc2xlX3NjaGRhdGUge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogMTkzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjZweCkge1xuICAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1cHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5zbGUge1xuICAgIC8qIG1hcmdpbi1sZWZ0OiA5OHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG1heC13aWR0aDogMTkzcHg7Ki9cbiAgICBtYXJnaW4tbGVmdDogOThweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICB9XG5cbiAgLnNsZV9zY2hkYXRlIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXgtd2lkdGg6IDE5M3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODZweCkge1xuICAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5zbGUge1xuICAgIG1hcmdpbi1sZWZ0OiA5OHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gIH1cblxuICAuc2xlX3NjaGRhdGUge1xuICAgIG1heC13aWR0aDogMTkzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICAuZmxleC1jb250YWluZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5icmVhZGNydW1iIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5uYXYtc3R5bGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnByb2dyZXNzLXNwaW5uZXItd3JhcHBlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cblxuICAubGlzdC1PYmxpZ2F0aW9udWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5saXN0LU9ibGlnYXRpb251bCBsaSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgfVxuXG4gIC5hY3Rpb24tYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLXdlYmtpdC1iYXNlbGluZS1taWRkbGU7XG4gIH1cblxuICAuYnRuLWNlbnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLmNvbXBsZXRlZC1pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDk4cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgbWF4LXdpZHRoOiA2NSU7XG4gIH1cblxuICAuc2xlX3NjaGRhdGUge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogMTkzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC5zbGVfc2NoZGF0ZV9tb2JpbGUtdmlldyB7XG4gICAgbWFyZ2luLWxlZnQ6IDk4cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1NjBweCkge1xuICAuYnJlYWRjcnVtYiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cblxuICAudGhhbmtzLWJhbm5lciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLm5hdi1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMHB4O1xuICB9XG5cbiAgLm5hdi1sYWJlbCBzdHJvbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jb21wbGV0ZWQtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5zdGVwSW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG5cbiAgLnN0YXR1cy10cmFja2VyIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG5cbiAgLnZpZXctbmV4dC1zdGVwcyxcbi52aWV3LXByZXZpb3VzLXN0ZXBzIHtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLmltYWdlIHtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAxNXB4O1xuICB9XG5cbiAgLnNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgbWF4LXdpZHRoOiA2NSU7XG4gIH1cblxuICAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC50ZXh0LW1hcmdpbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC5pbmZvLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgdmVydGljYWwtYWxpZ246IC13ZWJraXQtYmFzZWxpbmUtbWlkZGxlO1xuICB9XG5cbiAgLmJ0bi1jZW50ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQxMHB4KSB7XG4gIC5hY3Rpb24tYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLnRleHQtbWFyZ2luIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIH1cblxuICAuc2xlIHtcbiAgICBtYXJnaW4tbGVmdDogNjZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBtYXgtd2lkdGg6IDY1JTtcbiAgfVxuXG4gIC5zbGVfc2NoZGF0ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBtYXgtd2lkdGg6IDE1M3B4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzQwcHgpIHtcbiAgLmFjdGlvbi1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAudGV4dC1tYXJnaW4ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxuXG4gIC5zbGUge1xuICAgIG1hcmdpbi1sZWZ0OiA2NnB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG1heC13aWR0aDogNTclO1xuICB9XG5cbiAgLnNsZV9zY2hkYXRlIHtcbiAgICBtYXJnaW4tbGVmdDogNjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG1heC13aWR0aDogMTUzcHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzNzBweCkge1xuICAudGV4dC1tYXJnaW4ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXgtd2lkdGg6IDE2NXB4O1xuICB9XG59XG4vKiBzdHlsZXMuY3NzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmRlc2t0b3AtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLm1vYmlsZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCIuYnJlYWRjcnVtYiA+IGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG59XHJcblxyXG4uZ2FzLWxvZ297XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDsgICAgXHJcbiAgICBoZWlnaHQ6IDkwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvbnRhY3QtdXN7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubW9kYWwtY29udGVudCAuZm9ybS1ncm91cCA+IGxhYmVsOm5vdCgucmFkaW8taW5saW5lKTpub3QoLmVycm9yKSB7XHJcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4ubmF2LXN0eWxlIHtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1zcGlubmVyLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5uYXYtbGFiZWwge1xyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5uYXYtbGFiZWwgc3Ryb25nIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG59XHJcblxyXG4ubmF2LWxhYmVsIGxhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi50ZXh0LWZvbnQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmNhcmQtZGVzaWduIHtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxubWF0LWNhcmQtaGVhZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5zdGF0dXMtdHJhY2tlciB7XHJcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG4gICAgbWF4LWhlaWdodDogMzUxcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi50ZXh0LW1hcmdpbiB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbn1cclxuXHJcbi5zdGF0dXMtbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xyXG59XHJcblxyXG4uc3RhdHVzLWxpc3QgbGkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbn1cclxuXHJcbi5idG4tYmctY2hhbmdlcyB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDM5cHg7XHJcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xyXG4gICAgbWF4LXdpZHRoOiBhdXRvO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA1MmY2ZjtcclxufVxyXG5cclxuLmJ0bi1jZW50ZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi50ZXh0LWNvbC1jdXN0IHtcclxuICAgIGNvbG9yOiAjYjgxNjE2ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50ZXh0LWNvbC1jb21wIHtcclxuICAgIGNvbG9yOiAjMDUyZjZmO1xyXG59XHJcblxyXG4udGV4dC1jb2wtY29tcGxldGUge1xyXG4gICAgY29sb3I6IGdyZXk7XHJcbn1cclxuXHJcbi50ZXh0LWNvbC1wZW5kIHtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmFjdGlvbi1idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I4MTYxNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uYXN0ZXJpc2sge1xyXG4gICAgY29sb3I6ICNiODE2MTY7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbn1cclxuXHJcbi5mbGV4LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmZsZXgtY29udGFpbmVyIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLm9uaG9sZC1pbmRpY2F0b3Ige1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I4MTYxNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcblxyXG4udmlldy1uZXh0LXN0ZXBzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICMxOTc2ZDI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi52aWV3LXByZXZpb3VzLXN0ZXBzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICMxOTc2ZDI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5jdXN0b20taWNvbiB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmxpbmUtd2lwIHtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNzI3NTcyIDUwJSwgcmdiKDI1NSwgMjU1LCAyNTUsIDApIDAlKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0yOC41cHg7XHJcbiAgICB0b3A6IDQ2LjVweDtcclxufVxyXG5cclxuLmxpbmUtcGVuZGluZyB7XHJcbiAgICB3aWR0aDogMnB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzcyNzU3MiA1MCUsIHJnYigyNTUsIDI1NSwgMjU1LCAwKSAwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCA0cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtMjguNXB4O1xyXG4gICAgdG9wOiA0Ni41cHg7XHJcbn1cclxuXHJcbi5saW5lLWNvbXBsZXRlZCB7XHJcbiAgICB3aWR0aDogMnB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyNzU3MjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IDRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0yOC41cHg7XHJcbiAgICB0b3A6IDQ2LjVweDtcclxufVxyXG5cclxuLmxpbmUtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmxpbmUtY29udGFpbmVyOmxhc3QtY2hpbGQgOmlzKC5saW5lLXdpcCwgLmxpbmUtY29tcGxldGVkLCAubGluZS1wZW5kaW5nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5cclxuLmljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTQwcHg7XHJcbiAgICB0b3A6IDI1cHg7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uaW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogMTdweDtcclxufVxyXG5cclxuLyogcHJvZ3Jlc3Mtc3Bpbm5lci5jb21wb25lbnQuY3NzICovXHJcbi5wcm9ncmVzcy1zcGlubmVyLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4ucHJvZ3Jlc3Mtc3Bpbm5lci10ZXh0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICMwMjc3YmQ7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1zcGlubmVyLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTB2aDtcclxuICAgIG1hcmdpbi1yaWdodDogNjBweDtcclxufVxyXG5cclxuLnByb2dyZXNzLXNwaW5uZXItY29udGFpbmVyIC5tYXQtcHJvZ3Jlc3Mtc3Bpbm5lciB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xyXG4gICAgYm9yZGVyOiA5cHggc29saWQgIzgwODA4MDNiO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1wcm9ncmVzcy1zcGlubmVyIGNpcmNsZSxcclxuLm1hdC1zcGlubmVyIGNpcmNsZSB7XHJcbiAgICBzdHJva2U6ICMxYjc4YzJkMTtcclxufVxyXG5cclxuLnByb2dyZXNzLXNwaW5uZXItdGV4dCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubWF0LXByb2dyZXNzLXNwaW5uZXIgc3ZnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAtOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiAtOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGVwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDI1cHg7XHJcbn1cclxuXHJcbi5pbmZvLWNvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAuY3VzdG9tLXRvb2x0aXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4uaW5mby1pY29uIHtcclxuICAgIGNvbG9yOiAjMjE5NkYzICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxibC1PYmxpZ2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5saXN0LU9ibGlnYXRpb251bCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5saXN0LU9ibGlnYXRpb251bCBsaSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLmxpc3QtT2JsaWdhdGlvbnVsIGxpOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIuKWoFwiO1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG59XHJcblxyXG4uY29tLW9iIHtcclxuICAgIGNvbG9yOiAjMDUyZjZmO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY3VzLW9iIHtcclxuICAgIGNvbG9yOiAjYjgxNjE2O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY29tcGxldGVkLWltYWdlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxdnc7XHJcbiAgICBtYXgtd2lkdGg6IDcwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG59XHJcblxyXG4uc2xlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDk4cHg7XHJcbn1cclxuXHJcbi5zbGVfc2NoZGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi50aGFua3MtYmFubmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEY3RkE7XHJcbiAgICBib3JkZXItY29sb3I6ICMwMEJDRDQ7XHJcbiAgICBjb2xvcjogIzAwNTQ1YztcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG59XHJcblxyXG4udGhhbmtzLWJhbm5lciBtYXJxdWVlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5jbG9zZS1idG4ge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiAjMDA1NDVjO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnN0YXItcmF0aW5nIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGFyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XHJcbiAgICBjb2xvcjogI2NhYzljOWQ0O1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4uc3Rhci5maWxsZWQge1xyXG4gICAgY29sb3I6ICMxYjc4YzJkMTtcclxufVxyXG5cclxuLmFza01lTGF0ZXIge1xyXG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGNvbG9yOiAjMDM0YTgzZDE7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmZlZWRiYWNrVGV4dEFyZWEge1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmVlZGJhY2tCb3JkZXJSYWRpdXMge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mZWVkU3VibWl0IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzNGE4M2QxO1xyXG59XHJcblxyXG4udGV4dEJvbGRDZW50ZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGV4dEJvbGQge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi50ZXh0RmVlZGJhY2sge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMHB4IDBweCAtMjBweCAwcHg7XHJcbn1cclxuXHJcbi50aXRsZUZlZWRiYWNrIHtcclxuICAgIGZvbnQtc2l6ZTogMjdweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogMjNweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTEuNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mYkRpdiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4ubWF4TGVuIHtcclxuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2xlX3NjaGRhdGVfbW9iaWxlLXZpZXcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMTE0cHgpIHtcclxuXHJcbiAgICAuc2xlIHtcclxuXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDk4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsZV9zY2hkYXRlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogODBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDE5M3B4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI2cHgpIHtcclxuICAgIC5hY3Rpb24tYnV0dG9uIHsgICAgICAgIFxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3NXB4O1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsZSB7XHJcbiAgICAgICAgLyogbWFyZ2luLWxlZnQ6IDk4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxOTNweDsqL1xyXG5cclxuICAgICAgICBtYXJnaW4tbGVmdDogOThweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGVfc2NoZGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxOTNweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogOTg2cHgpIHtcclxuXHJcbiAgICAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLnNsZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDk4cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgIH1cclxuICAgIC5zbGVfc2NoZGF0ZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxOTNweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZsZXgtY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmJyZWFkY3J1bWIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtc3R5bGUge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1zcGlubmVyLXdyYXBwZXIge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LU9ibGlnYXRpb251bCB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5saXN0LU9ibGlnYXRpb251bCBsaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAtd2Via2l0LWJhc2VsaW5lLW1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuLWNlbnRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb21wbGV0ZWQtaW1hZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuc2xlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogOThweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICBtYXgtd2lkdGg6IDY1JTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xlX3NjaGRhdGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTkzcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgIH1cclxuXHJcbiAgICAuc2xlX3NjaGRhdGVfbW9iaWxlLXZpZXcge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC50ZXh0LWNvbC1wZW5kIHtcclxuICAgIC8vICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAvLyAgICAgd2lkdGg6IDgwJTtcclxuICAgIC8vIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XHJcbiAgICAuYnJlYWRjcnVtYiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnRoYW5rcy1iYW5uZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2LWxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1sYWJlbCBzdHJvbmcge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuY29tcGxldGVkLWltYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0ZXBJbWFnZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0dXMtdHJhY2tlciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAudmlldy1uZXh0LXN0ZXBzLFxyXG4gICAgLnZpZXctcHJldmlvdXMtc3RlcHMge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XHJcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgICAgIG1heC13aWR0aDogNjUlO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY3Rpb24tYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogODBweDtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LW1hcmdpbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5mby1jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLXdlYmtpdC1iYXNlbGluZS1taWRkbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi1jZW50ZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQxMHB4KSB7XHJcbiAgICAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1tYXJnaW57XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLnNsZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA2NnB4O1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTAlIC0gMTBweCk7XHJcbiAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgbWF4LXdpZHRoOjY1JTtcclxuICAgIH1cclxuICAgIC5zbGVfc2NoZGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xyXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAgICAgICBtYXgtd2lkdGg6IDE1M3B4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDM0MHB4KSB7XHJcbiAgICAuYWN0aW9uLWJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH0gICAgXHJcblxyXG4gICAgLnRleHQtbWFyZ2lue1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIH1cclxuICAgIC5zbGUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogNjZweDtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICB0ZXh0LWFsaWduOiBzdGFydDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEwJSAtIDEwcHgpO1xyXG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgIG1heC13aWR0aDo1NyU7XHJcbiAgICB9XHJcbiAgICAuc2xlX3NjaGRhdGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2NnB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygxMCUgLSAxMHB4KTtcclxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNTNweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDM3MHB4KSB7XHJcbiAgICAgIC50ZXh0LW1hcmdpbntcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgIG1heC13aWR0aDogMTY1cHg7XHJcbiAgICAgIH1cclxufVxyXG5cclxuLyogc3R5bGVzLmNzcyAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5kZXNrdG9wLWJ1dHRvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xyXG4gICAgLm1vYmlsZS1idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuIl19 */\"","import { Component, OnDestroy, OnInit, ChangeDetectorRef, Renderer2, AfterViewInit } from '@angular/core';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { GasRequestStatusViewModel, LandingService } from '@app/modules/landing/base';\r\nimport { TrackerStepsStatusViewModel } from '@app/modules/landing/base';\r\nimport { ConstantsService, SessionService } from '@app/base/core';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { KMIUpdate } from '../../base/models/KMIUpdate.model';\r\nimport { ContactUsService } from '@app/shared/services/contact-us.service';\r\ndeclare var swal: any;\r\n\r\n@Component({\r\n selector: 'app-service-tracker',\r\n templateUrl: './service-tracker.component.html',\r\n styleUrls: ['./service-tracker.component.scss']\r\n})\r\nexport class ServiceTrackerComponent implements OnInit, OnDestroy {\r\n\r\n public projectAddress: string = '';\r\n public serviceTrackerData: GasRequestStatusViewModel | null = null;\r\n public currentIndex = 0;\r\n public stepSize = 5;\r\n public id: number;\r\n public allStepsData: TrackerStepsStatusViewModel[] = [];\r\n public initialStepsData: TrackerStepsStatusViewModel[] = [];\r\n public displayedSteps: TrackerStepsStatusViewModel[] = [];\r\n public steps: string[] = [];\r\n public showInitialSteps = true;\r\n public onHoldStatus: string;\r\n showAllSteps: boolean = true;\r\n showLegends: boolean = false;\r\n latestWIPIndex: number;\r\n ServiceWRstatus: string;\r\n IsAllServicerequest: string;\r\n startIndex: number = 0;\r\n startIndexNum: number = 0;\r\n displayCount: number = 5;\r\n percentage: number = 0;\r\n progress: number = 0;\r\n diameter = 60;\r\n strokeWidth = 9;\r\n displayPercentage: boolean = false;\r\n imageMapping: { [key: string]: string } = {\r\n 'APPLICATION RECEIVED': '/assets/images/step_images/Application_Received.png',\r\n 'MARKETER SELECTED': '/assets/images/step_images/Marketer_Selected.png',\r\n 'PROJECT ASSIGNED': '/assets/images/step_images/Project_Assigned.png',\r\n 'PROJECT INFORMATION': '/assets/images/step_images/Project_Information.png',\r\n 'ENGINEERING REVIEW': '/assets/images/step_images/Engineering_Review.png',\r\n 'CONTRACT SENT': '/assets/images/step_images/Contract_Execution.png',\r\n 'CONTRACT EXECUTION': '/assets/images/step_images/Contract_Execution.png',\r\n 'CONSTRUCTION PAYMENT': '/assets/images/step_images/Construction_Payment.png',\r\n 'SITE READY': '/assets/images/step_images/Site_Ready.png',\r\n 'SERVICE INSTALLATION': '/assets/images/step_images/Service_Meter_Installation.png',\r\n 'FUEL LINE INSPECTION': '/assets/images/step_images/Fuel_Line_Inspection.png',\r\n 'METER INSTALLATION': '/assets/images/step_images/Service_Meter_Installation.png',\r\n 'EASEMENT REQUIRED': '/assets/images/step_images/Easement_Required.png',\r\n 'RIGHT-OF-WAY PERMITTING': '/assets/images/step_images/Right-of-Way_Permitting.png',\r\n 'SERVICE AND METER INSTALLATION': '/assets/images/step_images/Service_Meter_Installation.png',\r\n 'MAIN': '/assets/images/step_images/Main.png'\r\n };\r\n projectStartDate: Date;\r\n projectCompletionSle: number;\r\n projectEndDate: Date;\r\n holidays: any[] = [];\r\n builderHomeActive: boolean = false;\r\n isBannerVisible = true;\r\n feedbackForm: FormGroup;\r\n kmiForm: FormGroup;\r\n kmiSearchForm: FormGroup;\r\n feedbackAlreadyGiven = false;\r\n skippedStepGiven = 0;\r\n feedbackIdGiven = 0;\r\n feedbackTextGiven: string = null;\r\n currentRating = 1;\r\n public bcaId: number;\r\n rating: number = 0;\r\n approach: string = \"\";\r\n stepSkippedAt: number;\r\n ExKMITransactionStatus: string;\r\n filterProjectLength: number;\r\n nodata: number;\r\n blankdata: number;\r\n //find: number;\r\n form: FormGroup;\r\n public modelKMIUpdate: KMIUpdate;\r\n kmidata: any[] = [];\r\n contactUsData: FormGroup;\r\n task2540Status: string;\r\n\r\n task2535Status: string;\r\n\r\n ExKMIPrefrance: string;\r\n ExKMIEmail: string;\r\n ExKMIPhone : string;\r\n kMIConfigurationData: any[] = [];\r\n constructor(\r\n public constantsSvc: ConstantsService,\r\n private landingSvc: LandingService,\r\n private socoHttp: SocoHttpService,\r\n public sessionSvc: SessionService,\r\n private detectChange: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private fb: FormBuilder,\r\n private contactUs: ContactUsService,\r\n private renderer: Renderer2\r\n ) { \r\n document.getElementById('glance-header-logo').hidden = true;\r\n }\r\n\r\n ngOnInit() {\r\n const serviceData = localStorage.getItem('serviceTrackerData');\r\n const holidayList = localStorage.getItem('holidaysData');\r\n if (holidayList) {\r\n this.holidays = JSON.parse(holidayList);\r\n } else {\r\n console.error('holidayList not found in local storage');\r\n }\r\n if (serviceData) {\r\n this.serviceTrackerData = JSON.parse(serviceData);\r\n this.id = this.serviceTrackerData.requestId;\r\n this.bcaId = this.serviceTrackerData.bcaId;\r\n this.onHoldStatus = this.serviceTrackerData.onHold;\r\n this.projectAddress = this.serviceTrackerData.serviceFormattedAddress;\r\n this.projectStartDate = new Date(this.serviceTrackerData.requestDate);\r\n this.projectCompletionSle = Number(this.serviceTrackerData.projectCompletionSle);\r\n this.projectEndDate = this.lastWorkingDaysCalculator(this.projectStartDate, this.projectCompletionSle);\r\n this.approach = this.serviceTrackerData.approach;\r\n this.ServiceWRstatus = this.serviceTrackerData.serviceWRStatus;\r\n this.IsAllServicerequest = this.serviceTrackerData.isAllServiceRequest;\r\n\r\n this.task2540Status = this.serviceTrackerData.task2540Status;\r\n this.task2535Status = this.serviceTrackerData.task2535Status;\r\n this.trackerStepsallStepsData();\r\n this.buildFeedbackFormGroup();\r\n this.buildKMIFormGroup();\r\n this.buildKMISearchFormGroup();\r\n } else {\r\n console.error('bcaSearch data not found in local storage');\r\n }\r\n\r\n this.route.queryParams.subscribe(params => {\r\n this.builderHomeActive = params['fromBuilder'] === 'true';\r\n });\r\n\r\n this.contactUsData = this.fb.group({\r\n ApplicantFullName: new FormControl('', [Validators.required, Validators.maxLength(200)]),\r\n EmailAddress: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern), Validators.maxLength(150)]),\r\n Message: new FormControl('', [Validators.required, Validators.maxLength(500)]),\r\n ApplicantId: new FormControl(''),\r\n BcaId: new FormControl('')\r\n });\r\n this.LoadKMIConfigurations();\r\n }\r\n\r\n \r\n get currentStages() {\r\n if (this.showAllSteps) {\r\n return this.allStepsData;\r\n } else {\r\n return this.displayedSteps;\r\n }\r\n }\r\n getKMIDataByProjectId() {\r\n \r\n if (!this.kmiSearchForm.valid) {\r\n this.blankdata = 1;\r\n return;\r\n }\r\n this.landingSvc.getKMIDataByProjectId(this.id).subscribe(result => {\r\n if (result.data != null) {\r\n \r\n const formValue = this.kmiSearchForm.value;\r\n formValue.BcaId = this.bcaId;\r\n formValue.GrId = this.id; \r\n formValue.KMISearchEmailAddress = this.kmiSearchForm.controls['KMISearchEmailAddress'].value;\r\n formValue.KMISearchPhone = this.kmiSearchForm.controls['KMISearchPhone'].value; \r\n if (formValue.KMISearchEmailAddress != null && formValue.KMISearchEmailAddress != \"\" && formValue.KMISearchPhone != null && formValue.KMISearchPhone != \"\") {\r\n \r\n if (result.data[0].kmiEmail == formValue.KMISearchEmailAddress && result.data[0].kmiPhone.replace(/[^a-zA-Z0-9]/g, \"\") == formValue.KMISearchPhone.replace(/[^a-zA-Z0-9]/g, \"\")) {\r\n this.filterProjectLength = 1;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n \r\n this.buildKMIFormGroup();\r\n this.bindkmidata();\r\n\r\n }\r\n else {\r\n this.filterProjectLength = 0;\r\n this.nodata = 1;\r\n this.blankdata = 0;\r\n \r\n }\r\n }\r\n else if (formValue.KMISearchEmailAddress != null && formValue.KMISearchEmailAddress != \"\") {\r\n if (result.data[0].kmiEmail == formValue.KMISearchEmailAddress) {\r\n this.filterProjectLength = 1;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n \r\n this.buildKMIFormGroup();\r\n \r\n this.bindkmidata();\r\n\r\n }\r\n else {\r\n this.filterProjectLength = 0;\r\n this.blankdata = 0;\r\n this.nodata = 1;\r\n \r\n\r\n }\r\n }\r\n else if (formValue.KMISearchPhone != null && formValue.KMISearchPhone != \"\") { \r\n if (result.data[0].kmiPhone.replace(/[^a-zA-Z0-9]/g, \"\") == formValue.KMISearchPhone.replace(/[^a-zA-Z0-9]/g, \"\")){ \r\n this.filterProjectLength = 1;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n this.buildKMIFormGroup();\r\n this.bindkmidata();\r\n }\r\n else {\r\n this.filterProjectLength = 0;\r\n this.blankdata = 0;\r\n \r\n this.nodata = 1;\r\n }\r\n }\r\n \r\n }\r\n });\r\n this.disableTextAndBothOtions();\r\n }\r\n\r\n LoadKMIConfigurations(){\r\n this.landingSvc.GetKMITransactionStatusData(\"KMI_Transaction\").subscribe(result => {\r\n this.kMIConfigurationData=result.data;\r\n });\r\n } \r\n \r\n FindKMITransactionActionCode(emailAction?: string, textAction?: string) {\r\n \r\n if(this.kMIConfigurationData.length>0){ \r\n var actionCode= this.kMIConfigurationData.filter(item => item.valuE2 === emailAction && item.valuE3 === textAction);\r\n return actionCode[0].valuE1;\r\n }\r\n }\r\n\r\n\r\n SubmitKMIForm() { \r\n const formValue = this.kmiForm.value;\r\n formValue.id = this.id;\r\n formValue.GrId = this.id;\r\n formValue.BcaId = this.bcaId;\r\n formValue.kmiCommunication = this.kmiForm.controls['kmiCommunication'].value;\r\n formValue.KMIPreference = this.kmiForm.controls['kmiReceive'].value;\r\n formValue.KMIEmail = this.kmiForm.controls['kmiEmailAddress'].value;\r\n formValue.KMIPhoneNo = this.kmiForm.controls['kmiTextNumber'].value;\r\n formValue.kmiFrequency = this.kmiForm.controls['kmiFrequency'].value;\r\n \r\n //Conditation to update Flag/TransactionStatus for IRP Services\r\n if (this.ExKMITransactionStatus == \"No\" && formValue.kmiCommunication == \"Yes\" && formValue.KMIPreference == \"Both\" ) {\r\n //if new preference is both // Email Insert after Re-Opt-In and Text Insert after Re-Opt-In \r\n //formValue.KMITransactionStatus = \"EUITUI\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('UI','UI');\r\n }\r\n else if (this.ExKMITransactionStatus == \"No\" && formValue.kmiCommunication == \"Yes\" && formValue.KMIPreference == \"Email\") {\r\n //if new preference is email // Email Update after Re-Opt-In and Text NULL after Re-Opt-In\r\n //formValue.KMITransactionStatus = \"EUITN\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('UI', '');\r\n }\r\n else if (this.ExKMITransactionStatus == \"No\" && formValue.kmiCommunication == \"Yes\" && formValue.KMIPreference == \"Text\") {\r\n //if new preference is text // Email Null after Re-Opt-In and Text Insert after Re-Opt-In **\r\n // formValue.KMITransactionStatus = \"ENTUI\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('', 'UI');\r\n }\r\n else if (this.ExKMITransactionStatus == \"Yes\" && formValue.kmiCommunication == \"No\") {\r\n //if user Opt-Out//Email Delete and Text Delete\r\n //formValue.KMITransactionStatus = \"EDTD\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('D', 'D');\r\n }\r\n else if (this.ExKMITransactionStatus == \"Yes\" && formValue.kmiCommunication == \"Yes\"\r\n && formValue.KMIPreference == \"Both\"\r\n && (this.ExKMIEmail != formValue.KMIEmail || this.ExKMIPhone != formValue.KMIPhoneNo)) {\r\n //Email Update and Text Update with Preference as both\r\n //formValue.KMITransactionStatus = \"EUTU\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('U', 'U');\r\n }\r\n else if (this.ExKMITransactionStatus == \"Yes\" && formValue.kmiCommunication == \"Yes\" && formValue.KMIPreference == \"Email\"\r\n && (this.ExKMIPrefrance == \"Both\" || this.ExKMIPrefrance == \"Text\" || this.ExKMIPrefrance == \"Email\")) {\r\n //Email Update and Text Delete // if Preference change to only email \r\n //formValue.KMITransactionStatus = \"EUTD\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('U', 'D');\r\n }\r\n else if (this.ExKMITransactionStatus == \"Yes\" && formValue.kmiCommunication == \"Yes\" && formValue.KMIPreference == \"Text\"\r\n && (this.ExKMIPrefrance == \"Both\" || this.ExKMIPrefrance == \"Email\" || this.ExKMIPrefrance == \"Text\")) {\r\n //Email Update and Text Add as new prefrance // if Preference change to only text \r\n //formValue.KMITransactionStatus = \"EUTU\";\r\n formValue.KMITransactionStatus = this.FindKMITransactionActionCode('U', 'U');\r\n }\r\n else {\r\n formValue.KMITransactionStatus = null;\r\n }\r\n this.landingSvc.PutKMIData(formValue).subscribe(result => {\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n $('#KMI_Update_modal').modal('hide');\r\n if (this.ExKMITransactionStatus == \"No\" && formValue.kmiCommunication == \"Yes\")\r\n $('#service_tracker_KMI_confirmation_modal').modal('show');\r\n else\r\n $('#service_tracker_KMI_confirmation_modal').modal('hide');\r\n }\r\n\r\n calculatePercentage() {\r\n let allStepsCount: number = this.allStepsData.length;\r\n if (allStepsCount > 0) {\r\n this.displayPercentage = true;\r\n let completedSteps = this.allStepsData.filter(task => task.taskStatusCode === 'C');\r\n let completedStepsCount: number = completedSteps.length;\r\n // Calculate percentage\r\n this.percentage = completedStepsCount * 100.0 / allStepsCount;\r\n // Round the percentage to the nearest integer\r\n this.progress = Math.round(this.percentage);\r\n }\r\n }\r\n\r\n trackerStepsallStepsData() {\r\n this.socoHttp.showPleaseWait('Processing', 'ContainerAwaiter');\r\n this.landingSvc.getGasApproachById(this.id).subscribe(result => {\r\n this.allStepsData = this.addImageUrlsToData(result.data.filter(task => {\r\n // Display MARKETER SELECTED step only for state GA\r\n if (task.state !== 'GA' && task.trackerSteps === 'MARKETER SELECTED') {\r\n return false;\r\n }\r\n\r\n if (task.taskStatusCode === 'WR NOT CREATED' && (task.trackerSteps === 'SITE READY' || task.trackerSteps === 'SERVICE INSTALLATION')\r\n && this.task2540Status === 'B' && task.approachType !== 'BUILDER SET APPROACH') {\r\n return false;\r\n }\r\n if (task.trackerSteps === 'MAIN' && this.task2535Status === 'B' && task.approachType === 'BUILDER SET APPROACH') {\r\n return false;\r\n }\r\n return task.taskStatusCode !== 'B' && task.taskStatusCode !== 'TASK NOT PRESENT';\r\n }));\r\n // Filter out only the \"Work in Progress\" steps\r\n const wipSteps = this.allStepsData.filter(step => step.taskStatusCode === \"W\");\r\n if (wipSteps.length > 0) {\r\n // Sort the \"Work in Progress\" steps by date (descending)\r\n wipSteps.sort((a, b) => {\r\n const dateA = new Date(a.dateModified).getTime();\r\n const dateB = new Date(b.dateModified).getTime();\r\n return dateB - dateA;\r\n });\r\n // Get the latest \"Work in Progress\" step\r\n const latestWIPStep = wipSteps[0];\r\n this.latestWIPIndex = this.allStepsData.findIndex(step => step === latestWIPStep);\r\n this.initialDisplayedSteps();\r\n } else {\r\n // If no WIP steps, display the first 5 steps\r\n this.displayedSteps = this.allStepsData.slice(0, 5);\r\n this.initialStepsData = this.displayedSteps;\r\n this.showAllSteps = false;\r\n this.showLegends = true;\r\n this.calculatePercentage();\r\n }\r\n // CXCO-1159-Show Popup based on Condition - any 5 or 7 steps completed and no feedback exisits in table for the Project\r\n this.getFeedbackByProjectId(this.allStepsData);\r\n });\r\n }\r\n\r\n initialDisplayedSteps() {\r\n if (this.latestWIPIndex !== -1 && this.latestWIPIndex >= this.allStepsData.length - 2) {\r\n const start = Math.max(0, this.allStepsData.length - 5);\r\n this.displayedSteps = this.allStepsData.slice(start);\r\n this.startIndex = start;\r\n this.startIndexNum = start;\r\n }\r\n else if (this.latestWIPIndex !== -1 && this.latestWIPIndex < 3) {\r\n this.displayedSteps = this.allStepsData.slice(0, 5);\r\n }\r\n else if (this.latestWIPIndex !== -1) {\r\n const start = Math.max(0, this.latestWIPIndex - 2);\r\n const end = Math.min(this.allStepsData.length, this.latestWIPIndex + 3);\r\n const topSteps = this.allStepsData.slice(start, this.latestWIPIndex);\r\n const bottomSteps = this.allStepsData.slice(this.latestWIPIndex + 1, end);\r\n this.displayedSteps = [...topSteps, this.allStepsData[this.latestWIPIndex], ...bottomSteps];\r\n this.startIndex = start;\r\n this.startIndexNum = start;\r\n }\r\n this.initialStepsData = this.displayedSteps;\r\n this.showAllSteps = false;\r\n this.showLegends = true;\r\n this.calculatePercentage();\r\n }\r\n\r\n viewPreviousSteps() {\r\n if (this.startIndex > 0) {\r\n this.startIndex = Math.max(0, this.startIndex - this.displayCount);\r\n this.updateDisplayedStep();\r\n }\r\n }\r\n\r\n viewNextSteps() {\r\n if (this.startIndex + this.displayCount < this.allStepsData.length) {\r\n this.startIndex = Math.min(this.allStepsData.length - this.displayCount, this.startIndex + this.displayCount);\r\n this.updateDisplayedStep();\r\n }\r\n }\r\n\r\n updateDisplayedStep() {\r\n // Calculate the end index for slicing the steps\r\n const endIndex = Math.min(this.startIndex + this.displayCount, this.allStepsData.length);\r\n this.displayedSteps = this.allStepsData.slice(this.startIndex, endIndex);\r\n }\r\n\r\n get shouldDisplayPreviousStepsLink(): boolean {\r\n return this.startIndex > 0;\r\n }\r\n\r\n get shouldDisplayNextStepsLink(): boolean {\r\n return this.startIndex + this.displayCount < this.allStepsData.length;\r\n }\r\n\r\n toggleViewAll() {\r\n this.showAllSteps = true;\r\n this.showInitialSteps = false;\r\n }\r\n\r\n returnToCurrentSteps() {\r\n this.displayedSteps = this.initialStepsData;\r\n this.showAllSteps = false;\r\n this.showInitialSteps = true;\r\n this.startIndex = this.startIndexNum;\r\n };\r\n\r\n addImageUrlsToData(data: TrackerStepsStatusViewModel[]): TrackerStepsStatusViewModel[] {\r\n return data.map(item => ({\r\n ...item,\r\n imageUrl: this.imageMapping[item.trackerSteps] || 'assets/images/default.png'\r\n }));\r\n };\r\n\r\n // estimate completion date based on number of working days\r\n lastWorkingDaysCalculator(startDate: Date, numberOfDays: number) {\r\n let count = 1,\r\n lastWorkingDay = new Date(startDate.toLocaleDateString());\r\n\r\n while (count < numberOfDays) {\r\n\r\n lastWorkingDay.setDate(lastWorkingDay.getDate() + 1);\r\n\r\n // including Saturday and Sunday as non working days\r\n if (lastWorkingDay.getDay() !== 0 && lastWorkingDay.getDay() !== 6 && !this.isHoliday(lastWorkingDay)) {\r\n count++;\r\n }\r\n }\r\n return lastWorkingDay;\r\n }\r\n\r\n isHoliday(date: Date) {\r\n return this.holidays.some(holiday => new Date(holiday.holidayDate).getTime() === new Date(date).getTime());\r\n }\r\n\r\n closeBanner() {\r\n this.isBannerVisible = false;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sessionSvc.GetShowBuilderHeader(false);\r\n this.contactUsData.reset();\r\n document.getElementById('glance-header-logo').hidden = false;\r\n }\r\n\r\n buildFeedbackFormGroup(): void {\r\n this.feedbackForm = new FormGroup({\r\n Id: new FormControl(null),\r\n BcaId: new FormControl(null),\r\n GrId: new FormControl(null),\r\n Rating: new FormControl(null),\r\n Feedback_Comment: new FormControl('', [Validators.required, Validators.maxLength(500)]),\r\n });\r\n }\r\n\r\n submitFeedback() {\r\n const formValue = this.feedbackForm.value;\r\n formValue.Id = this.feedbackIdGiven;\r\n formValue.BcaId = this.bcaId;\r\n formValue.GrId = this.id;\r\n formValue.Rating = this.rating;\r\n formValue.skippedAtStep = this.skippedStepGiven;\r\n formValue.Feedback_Comment = this.feedbackForm.controls['Feedback_Comment'].value;\r\n if (this.feedbackIdGiven != 0) {\r\n this.landingSvc.putFeedback(formValue).subscribe(result => {\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n }\r\n else {\r\n this.landingSvc.postFeedback(formValue).subscribe(result => {\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n }\r\n $('#feedback_modal').modal('hide');\r\n }\r\n\r\n skipFeedback() {\r\n const formValue = this.feedbackForm.value;\r\n formValue.Id = this.feedbackIdGiven;\r\n formValue.BcaId = this.bcaId;\r\n formValue.GrId = this.id;\r\n formValue.Rating = 0;\r\n formValue.skippedAtStep = this.stepSkippedAt;\r\n formValue.Feedback_Comment = null;\r\n if (this.feedbackIdGiven != 0) {\r\n this.landingSvc.putFeedback(formValue).subscribe(result => {\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n }\r\n else {\r\n this.landingSvc.postFeedback(formValue).subscribe(result => {\r\n }, result => { swal(this.constantsSvc.errorSwal1, this.constantsSvc.contactCustomerCareSwal, this.constantsSvc.errorSwal); });\r\n }\r\n $('#feedback_modal').modal('hide');\r\n }\r\n\r\n getFeedbackByProjectId(data: TrackerStepsStatusViewModel[]) {\r\n this.landingSvc.getFeedbackByProjectId(this.id).subscribe(result => {\r\n if (result.data != null) {\r\n this.feedbackAlreadyGiven = true;\r\n this.skippedStepGiven = result.data.skippedAtStep;\r\n this.feedbackIdGiven = result.data.id;\r\n this.feedbackTextGiven = result.data.feedback_Comment;\r\n }\r\n // Filter out completed steps count, if count is 5 or 7 then show the Feedback Popup if feedback is not already submitted\r\n const CompletedStepsListCount = data.filter(step => step.taskStatusCode === \"C\");\r\n\r\n if ((CompletedStepsListCount.length == 5 || CompletedStepsListCount.length == 7) &&\r\n (this.skippedStepGiven != CompletedStepsListCount.length) && this.skippedStepGiven != 7 &&\r\n (this.feedbackTextGiven == null || this.feedbackTextGiven == \"\")) {\r\n this.stepSkippedAt = CompletedStepsListCount.length;\r\n $('#feedback_modal').modal('show');\r\n }\r\n });\r\n }\r\n updateRating(rating: number): void {\r\n this.rating = rating;\r\n }\r\n createArray(n: number): any[] {\r\n return Array(n);\r\n }\r\n\r\n\r\n bindkmidata() {\r\n this.landingSvc.bindKMIDataByProjectId(this.id).subscribe(result => {\r\n if (result.data != null) {\r\n this.ExKMITransactionStatus = result.data.kmiCommunication;\r\n this.ExKMIEmail = result.data.kmiEmail;\r\n this.ExKMIPhone = result.data.kmiPhoneNo;\r\n this.ExKMIPrefrance = result.data.kmiPreference;\r\n this.kmiForm.setValue({\r\n kmiCommunication: result.data.kmiCommunication,\r\n kmiReceive: result.data.kmiPreference,\r\n kmiEmailAddress: result.data.kmiEmail,\r\n kmiTextNumber: result.data.kmiPhoneNo,\r\n kmiFrequency: result.data.kmiFrequency\r\n\r\n });\r\n }\r\n setTimeout(this.disableTextAndBothOtions, 0);\r\n\r\n });\r\n \r\n }\r\n\r\n\r\n ClearKMIData() {\r\n this.setsearchControlNull(['KMISearchEmailAddress', 'KMISearchPhone']);\r\n this.kmiSearchForm.controls['KMISearchEmailAddress'].clearValidators();\r\n this.kmiSearchForm.controls['KMISearchPhone'].clearValidators();\r\n $('#KMI_Update_modal').modal('hide');\r\n this.filterProjectLength = 0;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n //this.find = 0;\r\n }\r\n\r\n buildKMISearchFormGroup(): void {\r\n this.kmiSearchForm = new FormGroup({\r\n //KMIEmail: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]),\r\n //KMIPhone: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]),\r\n KMISearchEmailAddress: new FormControl('', { validators : [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)], updateOn: 'blur' }),\r\n KMISearchPhone: new FormControl('', { validators : [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)], updateOn: 'blur' })\r\n });\r\n }\r\n buildKMIFormGroup(): void {\r\n this.kmiForm = new FormGroup({\r\n kmiCommunication: new FormControl(null, [Validators.required]),\r\n kmiFrequency: new FormControl(null, [Validators.required]),\r\n kmiReceive: new FormControl(null, [Validators.required]),\r\n kmiEmailAddress: new FormControl(null, { validators: [Validators.required, Validators.pattern(this.constantsSvc.emailPattern)], updateOn: 'blur' }),\r\n kmiTextNumber: new FormControl('', { validators: [Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)], updateOn: 'blur' })\r\n });\r\n this.disableTextAndBothOtions();\r\n }\r\n \r\n\r\n getKMICintactByProjectId(data: TrackerStepsStatusViewModel[]) { \r\n this.landingSvc.getKMIDataByProjectId(this.id).subscribe(result => {\r\n if (result.data != null) {\r\n this.feedbackAlreadyGiven = true;\r\n }\r\n // Filter out completed steps count, if count is 5 or 7 then show the Feedback Popup if feedback is not already submitted\r\n const CompletedStepsListCount = data.filter(step => step.taskStatusCode === \"C\");\r\n if ((CompletedStepsListCount.length == 5 || CompletedStepsListCount.length == 7) && !this.feedbackAlreadyGiven) {\r\n $('#KMI_modal').modal('show');\r\n }\r\n });\r\n this.disableTextAndBothOtions();\r\n }\r\n //KMI Communication Preference Update End\r\n //KMI Update\r\n //KMI Communication Preference Update Start\r\n redirectToKMIUpdate() {\r\n this.setsearchControlNull(['KMISearchEmailAddress', 'KMISearchPhone']);\r\n //this.kmiSearchForm.controls['KMIEmail'].clearValidators();\r\n //this.kmiSearchForm.controls['KMIPhone'].clearValidators();\r\n this.setControlNull(['kmiCommunication', 'kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.filterProjectLength = 0;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n this.buildKMISearchFormGroup();\r\n $('#KMI_Update_modal').modal('show');\r\n }\r\n\r\n onCommunicationCheck(control) {\r\n if (control.value == 'Yes' || control.value == 'No') {\r\n\r\n this.form.controls['kmiCommunication'].clearValidators();\r\n }\r\n\r\n }\r\n getControlValue(controlName: string) {\r\n return this.kmiForm.get(controlName).value;\r\n }\r\n setsearchControlNull(args: any[]) { args.forEach(arg => { this.kmiSearchForm.controls[arg].patchValue(null); }); }\r\n setControlNull(args: any[]) { args.forEach(arg => { this.kmiForm.controls[arg].patchValue(null); }); }\r\n clearValidators(args: any[]) {\r\n args.forEach(arg => {\r\n this.kmiForm.controls[arg].clearValidators();\r\n this.kmiForm.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n clearSearchValidators(args: any[]) {\r\n args.forEach(arg => {\r\n this.kmiSearchForm.controls[arg].clearValidators();\r\n this.kmiSearchForm.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n setRequiredValidator(args: any[]) {\r\n args.forEach(arg => {\r\n this.kmiForm.controls[arg].setValidators([Validators.required]);\r\n this.kmiForm.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n setRequiredSearchValidator(args: any[]) {\r\n args.forEach(arg => {\r\n this.kmiSearchForm.controls[arg].setValidators([Validators.required]);\r\n this.kmiSearchForm.controls[arg].updateValueAndValidity();\r\n });\r\n }\r\n setEmailCheckValidator(controlName: any) {\r\n this.kmiForm.controls[controlName].setValidators([Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]);\r\n this.kmiForm.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n setSearchEmailCheckValidator(controlName: any) {\r\n this.kmiSearchForm.controls[controlName].setValidators([Validators.required, Validators.pattern(this.constantsSvc.emailPattern)]);\r\n this.kmiSearchForm.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n setPhoneCheckValidator(controlName: any) {\r\n this.kmiForm.controls[controlName].setValidators([Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]);\r\n this.kmiForm.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n setSearchPhoneCheckValidator(controlName: any) {\r\n \r\n this.kmiSearchForm.controls[controlName].setValidators([Validators.required, Validators.pattern(this.constantsSvc.phoneNumberPattern)]);\r\n this.kmiSearchForm.controls[controlName].updateValueAndValidity();\r\n }\r\n\r\n onCommunicationCheck1(control) {\r\n if (control.value == 'Yes' || control.value == 'No') {\r\n this.kmiForm.controls['kmiCommunication'].clearValidators();\r\n this.kmiForm.controls['kmiCommunication'].updateValueAndValidity();\r\n }\r\n this.detectChange.detectChanges();\r\n }\r\n // used to put up questionary for user\r\n onQuestionCheck1(control) {\r\n \r\n switch (control.controlName) {\r\n \r\n case 'kmiCommunication':\r\n this.setControlNull(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n\r\n if (control.value === this.constantsSvc.Yes) {\r\n this.setRequiredValidator(['kmiReceive', 'kmiFrequency']);\r\n this.disableTextAndBothOtions();\r\n }\r\n\r\n else {\r\n this.clearValidators(['kmiReceive', 'kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n }\r\n break;\r\n case 'kmiReceive':\r\n this.setControlNull(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n if (control.value === 'Email') {\r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n else if (control.value === 'Text') {\r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n else if (control.value === 'Both') {\r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n }\r\n case 'kmiFrequency':\r\n // this.setControlNull(['kmiTextNumber', 'kmiFrequency']);\r\n this.clearValidators(['kmiTextNumber', 'kmiFrequency']);\r\n this.setRequiredValidator(['kmiFrequency']); \r\n break;\r\n\r\n\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n detuctemailchange() {\r\n const formValue = this.kmiForm.value;\r\n if (formValue.kmiReceive != 'Both') {\r\n this.clearValidators(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n }\r\n else {\r\n this.clearValidators(['kmiEmailAddress', 'kmiFrequency']);\r\n }\r\n \r\n this.setEmailCheckValidator('kmiEmailAddress');\r\n this.setRequiredValidator(['kmiFrequency']); \r\n }\r\n\r\n detuctPhonechange() {\r\n const formValue = this.kmiForm.value;\r\n if (formValue.kmiReceive != 'Both') {\r\n this.clearValidators(['kmiEmailAddress', 'kmiTextNumber', 'kmiFrequency']);\r\n }\r\n else {\r\n this.clearValidators(['kmiTextNumber', 'kmiFrequency']);\r\n }\r\n \r\n this.setPhoneCheckValidator('kmiTextNumber');\r\n this.setRequiredValidator(['kmiFrequency']);\r\n \r\n }\r\n\r\n detuctsearchemailchange() {\r\n this.filterProjectLength = 0;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n const formValue = this.kmiSearchForm.value;\r\n if (formValue.KMISearchPhone != null && formValue.KMISearchPhone != '')\r\n this.setSearchPhoneCheckValidator('KMISearchPhone');\r\n else\r\n this.clearSearchValidators(['KMISearchPhone']);\r\n\r\n\r\n this.setSearchEmailCheckValidator('KMISearchEmailAddress');\r\n\r\n }\r\n\r\n detuctsearchphonechange() {\r\n this.filterProjectLength = 0;\r\n this.nodata = 0;\r\n this.blankdata = 0;\r\n const formValue = this.kmiSearchForm.value;\r\n\r\n if (formValue.KMISearchEmailAddress != null && formValue.KMISearchEmailAddress != '')\r\n this.setSearchEmailCheckValidator('KMISearchEmailAddress');\r\n else\r\n this.clearSearchValidators(['KMISearchEmailAddress']);\r\n\r\n\r\n\r\n this.setSearchPhoneCheckValidator('KMISearchPhone');\r\n\r\n }\r\n //KMI Communication Preference Update End\r\n\r\n contactUsRedirection() {\r\n this.contactUsData.reset();\r\n $('#service_tracker_contact_us_modal').modal('show');\r\n }\r\n\r\n onContactUsSubmit(contactUsData) {\r\n contactUsData.ApplicantId = this.id;\r\n contactUsData.BcaId = this.bcaId;\r\n this.contactUs.addContactUsDetails(contactUsData)\r\n .subscribe(() => {\r\n $('#service_tracker_contact_us_modal').modal('hide');\r\n $('#service_tracker_contact_us_confirmation_modal').modal('show');\r\n }, () => {\r\n $('#service_tracker_contact_us_modal').modal('hide');\r\n });\r\n }\r\n\r\n disableTextAndBothOtions() {\r\n // Get all radio buttons on the page\r\n const radioButtons = document.querySelectorAll('input[type=\"radio\"]');\r\n\r\n // If you want to do something with each radio button, you can loop over them:\r\n radioButtons.forEach((radio: HTMLInputElement) => {\r\n if (radio) {\r\n \r\n if (radio.title === 'Both' || radio.title === 'Text') {\r\n radio.disabled = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n}\r\n","export default \".status-banner {\\r\\n background-image: url(\\\"/assets/images/banners/status.jpg\\\");\\r\\n height: 180px !important;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* Small Screens */\\r\\n\\r\\n@media only screen and (min-width:250px) and (max-width:1024px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(0.80);\\r\\n -webkit-transform: scale(0.80);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .input-group-xlg>.form-control,\\r\\n .input-group-xlg>.input-group-addon,\\r\\n .input-group-xlg>.input-group-btn>.btn {\\r\\n height: 40px;\\r\\n padding: 10px 16px;\\r\\n font-size: 13px;\\r\\n line-height: 1.333334;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 20px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: left;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Big Screens */\\r\\n\\r\\n@media only screen and (min-width:1025px) {\\r\\n .recaptcha-resizer {\\r\\n transform: scale(1);\\r\\n -webkit-transform: scale(1);\\r\\n transform-origin: 0 0;\\r\\n -webkit-transform-origin: 0 0;\\r\\n }\\r\\n .content-container {\\r\\n padding: 0px 10px;\\r\\n }\\r\\n .recaptcha-container {\\r\\n margin-top: 0px;\\r\\n }\\r\\n .status-panel-text-align {\\r\\n text-align: center;\\r\\n padding: 15px;\\r\\n }\\r\\n}\\r\\n\\r\\n.recaptcha-container .ng-invalid:not(form) {\\r\\n border-left: none;\\r\\n}\\r\\n\\r\\n.read-only-text {\\r\\n border: 0;\\r\\n display: inherit;\\r\\n background-color: transparent;\\r\\n}\\r\\n\\r\\n:host>>>.wizard>.steps {\\r\\n pointer-events: none !important;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny:after {\\r\\n content: '\\\\ed6a' !important;\\r\\n font-style: normal;\\r\\n}\\r\\n\\r\\n.wizard>.steps>ul>li.done .deny {\\r\\n background-color: #d40014 !important;\\r\\n border-color: #d40031 !important;\\r\\n}\\r\\n\\r\\n.alternate-section {\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n.extended-panel {\\r\\n margin-right: -1px;\\r\\n}\\r\\n\\r\\n#invalidRequestId{\\r\\n word-break:break-word;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9sYW5kaW5nL2NvbXBvbmVudHMvc3RhdHVzL3N0YXR1cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsMERBQTBEO0VBQzFELHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0FBRUEsa0JBQWtCOztBQUVsQjtFQUNFO0lBQ0Usc0JBQXNCO0lBQ3RCLDhCQUE4QjtJQUM5QixxQkFBcUI7SUFDckIsNkJBQTZCO0VBQy9CO0VBQ0E7SUFDRSxpQkFBaUI7RUFDbkI7RUFDQTs7O0lBR0UsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YscUJBQXFCO0VBQ3ZCO0VBQ0E7SUFDRSxnQkFBZ0I7RUFDbEI7RUFDQTtJQUNFLGdCQUFnQjtJQUNoQixhQUFhO0VBQ2Y7QUFDRjs7QUFFQSxnQkFBZ0I7O0FBRWhCO0VBQ0U7SUFDRSxtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLHFCQUFxQjtJQUNyQiw2QkFBNkI7RUFDL0I7RUFDQTtJQUNFLGlCQUFpQjtFQUNuQjtFQUNBO0lBQ0UsZUFBZTtFQUNqQjtFQUNBO0lBQ0Usa0JBQWtCO0lBQ2xCLGFBQWE7RUFDZjtBQUNGOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsU0FBUztFQUNULGdCQUFnQjtFQUNoQiw2QkFBNkI7QUFDL0I7O0FBRUE7RUFDRSwrQkFBK0I7QUFDakM7O0FBRUE7RUFDRSwyQkFBMkI7RUFDM0Isa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLHlCQUF5QjtBQUMzQjs7QUFDQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2QiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbGFuZGluZy9jb21wb25lbnRzL3N0YXR1cy9zdGF0dXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zdGF0dXMtYmFubmVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iYW5uZXJzL3N0YXR1cy5qcGdcIik7XHJcbiAgaGVpZ2h0OiAxODBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi8qIFNtYWxsIFNjcmVlbnMgKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoyNTBweCkgYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XHJcbiAgLnJlY2FwdGNoYS1yZXNpemVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44MCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44MCk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICB9XHJcbiAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDBweCAxMHB4O1xyXG4gIH1cclxuICAuaW5wdXQtZ3JvdXAteGxnPi5mb3JtLWNvbnRyb2wsXHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uaW5wdXQtZ3JvdXAtYWRkb24sXHJcbiAgLmlucHV0LWdyb3VwLXhsZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG4ge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMzMzMzM0O1xyXG4gIH1cclxuICAucmVjYXB0Y2hhLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gIH1cclxuICAuc3RhdHVzLXBhbmVsLXRleHQtYWxpZ24ge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBCaWcgU2NyZWVucyAqL1xyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwMjVweCkge1xyXG4gIC5yZWNhcHRjaGEtcmVzaXplciB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgfVxyXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB9XHJcbiAgLnJlY2FwdGNoYS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIH1cclxuICAuc3RhdHVzLXBhbmVsLXRleHQtYWxpZ24ge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICB9XHJcbn1cclxuXHJcbi5yZWNhcHRjaGEtY29udGFpbmVyIC5uZy1pbnZhbGlkOm5vdChmb3JtKSB7XHJcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuXHJcbi5yZWFkLW9ubHktdGV4dCB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbjpob3N0Pj4+LndpemFyZD4uc3RlcHMge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53aXphcmQ+LnN0ZXBzPnVsPmxpLmRvbmUgLmRlbnk6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICdcXGVkNmEnICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4ud2l6YXJkPi5zdGVwcz51bD5saS5kb25lIC5kZW55IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQwMDE0ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZDQwMDMxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hbHRlcm5hdGUtc2VjdGlvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxufVxyXG4uZXh0ZW5kZWQtcGFuZWwge1xyXG4gIG1hcmdpbi1yaWdodDogLTFweDtcclxufVxyXG5cclxuI2ludmFsaWRSZXF1ZXN0SWR7XHJcbiAgd29yZC1icmVhazpicmVhay13b3JkO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { SocoHttpService } from '@app/base/soco';\r\nimport { triggerFormValidation, focusFirstInvalidField } from '@app/base/shared';\r\nimport {\r\n ConstantsService, SessionService, RequestStageEnum, RequestStageApprvEnum,\r\n RequestStageLabelEnum, EnvironmentService, LookupsService\r\n} from '@app/base/core';\r\nimport Swal from 'sweetalert2';\r\nimport { LandingService, GasRequestStatusViewModel } from '@app/modules/landing/base';\r\nimport { AlertService } from '@app/base/alerts/alert.service';\r\n\r\n@Component({\r\n selector: 'app-status',\r\n templateUrl: './status.component.html',\r\n styleUrls: ['./status.component.css']\r\n})\r\nexport class StatusComponent implements OnInit, OnDestroy {\r\n\r\n private routeSubscription: any;\r\n\r\n // Request Stages Enums\r\n stageApprvEnum: typeof RequestStageApprvEnum = RequestStageApprvEnum;\r\n stageEnum: typeof RequestStageEnum = RequestStageEnum;\r\n stageLabelEnum: typeof RequestStageLabelEnum = RequestStageLabelEnum;\r\n // Form Group\r\n requestStatusForm: FormGroup;\r\n // Request ViewModel\r\n requestStatus: GasRequestStatusViewModel = null || undefined;\r\n // Hold the value of active stage 0,1, etc based on conversion of server APPPEN to enum value\r\n requestActiveStage: number;\r\n searchId: any;\r\n // If error happened or request not found, to show no record div\r\n invalidRequest = false;\r\n alertMsg: any = [];\r\n showAlert: boolean = false;\r\n projectCreationStatusData: any[] = [];\r\n constructor(\r\n private route: ActivatedRoute,\r\n public constantsSvc: ConstantsService,\r\n public environmentSvc: EnvironmentService,\r\n private landingSvc: LandingService,\r\n private socoHttp: SocoHttpService, public lookupSvc: LookupsService,\r\n public sessionSvc: SessionService, private alertService: AlertService,\r\n private router: Router) { }\r\n\r\n // Form Properties\r\n get requestId() { return this.requestStatusForm.get('requestId').value; }\r\n get captcha() { return this.requestStatusForm.get('recaptcha'); }\r\n\r\n ngOnInit() {\r\n // Loads common lookup values\r\n const subscribe = this.lookupSvc.commonLookupsLoaded$.subscribe(val => {\r\n if (subscribe && val) {\r\n subscribe.unsubscribe();\r\n }\r\n // Banner message for Gas Request Status\r\n if (val) {\r\n this.alertMsg = (this.lookupSvc.bannerMessages.find(x => x.itemName === 'Gas Request Status'\r\n ));\r\n this.alertService.info(this.alertMsg.message);\r\n }\r\n });\r\n this.requestStatusForm = new FormGroup({ // Init form\r\n requestId: new FormControl('', [Validators.required, Validators.pattern(this.constantsSvc.numericPattern)]),\r\n recaptcha: new FormControl('', Validators.required)\r\n }, { updateOn: 'blur' });\r\n\r\n // Get status ID from route params.\r\n this.routeSubscription = this.route.params.subscribe(params => {\r\n if (params['id']) {\r\n this.requestStatusForm.controls['requestId'].patchValue(params['id']);\r\n }\r\n });\r\n this.requestStatusForm.controls['recaptcha'].valueChanges.subscribe(recaptcha => {\r\n this.requestStatusForm.updateValueAndValidity();\r\n if (recaptcha && this.requestStatusForm.valid) { this.submitForm(); }\r\n });\r\n //getting holiday list\r\n this.getHolidayList();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.routeSubscription.unsubscribe();\r\n }\r\n // Submit form to get applicant request status\r\n submitForm() {\r\n if (this.requestStatusForm.valid) {\r\n this.searchId = this.requestId;\r\n this.requestStatus = null || undefined;\r\n this.invalidRequest = false;\r\n this.requestActiveStage = 0;\r\n this.landingSvc.getBcaStatusById(this.requestId).subscribe(result => {\r\n if (result.data === undefined) {\r\n this.invalidRequest = true;\r\n } else {\r\n this.requestStatus = result.data;\r\n if ((Object.keys(RequestStageApprvEnum).map(e => RequestStageApprvEnum[e])\r\n .indexOf(this.requestStatus.requestStatus.trim().toUpperCase()) >= 0)) {\r\n this.requestActiveStage = RequestStageApprvEnum[this.requestStatus.requestStatus];\r\n } else { throw new Error(this.constantsSvc.unknownRequest + this.requestStatus.requestStatus); }\r\n }\r\n }, error => {\r\n this.invalidRequest = true;\r\n if (this.socoHttp.isErrorResult(error)) {\r\n this.invalidRequest = true;\r\n }\r\n },\r\n );\r\n\r\n } else {\r\n triggerFormValidation(this.requestStatusForm);\r\n focusFirstInvalidField(this.requestStatusForm);\r\n }\r\n }\r\n // Navigation to Contract Page\r\n generateContract() {\r\n this.sessionSvc.sourceToContract = this.constantsSvc.ApplicantUser;\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLocaleLowerCase(), 'builder', 'contract',\r\n this.constantsSvc.ApplicantUser], this.requestId);\r\n }\r\n //CXCO 788 -06/06/2024 Navigation to Service Tracker Page --Srinivas\r\n myProject() {\r\n if (this.requestStatusForm.valid) {\r\n this.searchId = this.requestId;\r\n this.invalidRequest = false;\r\n this.landingSvc.getBcaStatusById(this.requestId).subscribe(result => {\r\n if (result.data === null) {\r\n this.invalidRequest = true;\r\n }\r\n else {\r\n const projectCancelYN = result.data.projectCancelYN;\r\n const projectIsActiveYN = result.data.projectIsActiveYN;\r\n const projectCompletion = result.data.projectCompletion;\r\n if (projectCancelYN === 'N' && projectIsActiveYN !== '30 DAYS EXCEEDED' && projectCompletion === 'C') {\r\n localStorage.setItem('serviceTrackerData', JSON.stringify(result.data));\r\n this.router.navigate(['/', this.sessionSvc.paramLdc.toLocaleLowerCase(), 'serviceTracker']);\r\n }\r\n else if (projectCancelYN === 'Y') {\r\n // Display alert\r\n this.showCancelledPopup();\r\n }\r\n else if (projectIsActiveYN === '30 DAYS EXCEEDED') {\r\n this.showProjectCompleteAlert();\r\n }\r\n else if (projectCompletion === 'P') {\r\n this.showApplicationNotReceivedPopup();\r\n }\r\n\r\n }\r\n }\r\n , error => {\r\n this.invalidRequest = true;\r\n if (this.socoHttp.isErrorResult(error)) {\r\n this.invalidRequest = true;\r\n }\r\n });\r\n } else {\r\n triggerFormValidation(this.requestStatusForm);\r\n focusFirstInvalidField(this.requestStatusForm);\r\n }\r\n }\r\n\r\n\r\n showApplicationNotReceivedPopup() {\r\n Swal.fire({\r\n icon: 'info',\r\n title: 'Application Pending. Please check back',\r\n confirmButtonText: 'OK'\r\n });\r\n }\r\n\r\n showCancelledPopup() {\r\n Swal.fire({\r\n title: 'Project is Cancelled',\r\n icon: 'error',\r\n confirmButtonText: 'OK',\r\n timer: 20000,\r\n });\r\n }\r\n\r\n showProjectCompleteAlert() {\r\n Swal.fire({\r\n title: 'Completed Projects > 30 Days will not display results',\r\n icon: 'info',\r\n confirmButtonText: 'OK'\r\n });\r\n }\r\n\r\n //get holiday list data\r\n getHolidayList() {\r\n this.landingSvc.getHolidayList().subscribe(result => {\r\n localStorage.setItem('holidaysData', JSON.stringify(result.data))\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export * from '@app/modules/landing/base';\r\nexport * from '@app/modules/landing/components';\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\nimport { ApplicationRef, NgModuleRef } from '@angular/core';\r\nimport { enableDebugTools } from '@angular/platform-browser';\r\nimport {default as Version} from './version.json';\r\nimport { Environment } from \"@app/config/environment.model\";\r\n\r\nexport const environment : Environment = {\r\n production: false,\r\n hmr: false,\r\n showDevModules: true,\r\n showAddSubsidiary: true,\r\n environment: 'dev',\r\n version: Version.version,\r\n isBuilderEnabled: true,\r\n showPayment: false,\r\n gisURL: '', // set via api/Settings\r\n gisBaseURL: '',\r\n\r\n /* istanbul ignore next */\r\n decorateModuleRef(modRef: NgModuleRef) {\r\n /* istanbul ignore next */\r\n const appRef = modRef.injector.get(ApplicationRef);\r\n /* istanbul ignore next */\r\n const cmpRef = appRef.components[0];\r\n /* istanbul ignore next */\r\n const _ng = (window).ng;\r\n /* istanbul ignore next */\r\n enableDebugTools(cmpRef);\r\n /* istanbul ignore next */\r\n (window).ng.probe = _ng.probe;\r\n /* istanbul ignore next */\r\n (window).ng.coreTokens = _ng.coreTokens;\r\n /* istanbul ignore next */\r\n return modRef;\r\n }\r\n};\r\n\r\n/* In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n\r\n"," /* istanbul ignore next */\r\nfunction parseXml(xmlStr) {\r\n return new window.DOMParser().parseFromString(xmlStr, \"text/xml\");\r\n }\r\n\r\n /* istanbul ignore next */\r\n(function (root, factory) {\r\n if (typeof define === \"function\" && define.amd) {\r\n define([], factory);\r\n } else if (typeof exports === \"object\") {\r\n module.exports = factory();\r\n } else {\r\n root.X2JS = factory();\r\n }\r\n}(this, function () {\r\n return function (config) {\r\n 'use strict';\r\n \r\n var VERSION = \"1.2.0\";\r\n \r\n config = config || {};\r\n initConfigDefaults();\r\n initRequiredPolyfills();\r\n \r\n function initConfigDefaults() {\r\n if(config.escapeMode === undefined) {\r\n config.escapeMode = true;\r\n }\r\n \r\n config.attributePrefix = config.attributePrefix || \"_\";\r\n config.arrayAccessForm = config.arrayAccessForm || \"none\";\r\n config.emptyNodeForm = config.emptyNodeForm || \"text\";\t\t\r\n \r\n if(config.enableToStringFunc === undefined) {\r\n config.enableToStringFunc = true; \r\n }\r\n config.arrayAccessFormPaths = config.arrayAccessFormPaths || []; \r\n if(config.skipEmptyTextNodesForObj === undefined) {\r\n config.skipEmptyTextNodesForObj = true;\r\n }\r\n if(config.stripWhitespaces === undefined) {\r\n config.stripWhitespaces = true;\r\n }\r\n config.datetimeAccessFormPaths = config.datetimeAccessFormPaths || [];\r\n \r\n if(config.useDoubleQuotes === undefined) {\r\n config.useDoubleQuotes = false;\r\n }\r\n \r\n config.xmlElementsFilter = config.xmlElementsFilter || [];\r\n config.jsonPropertiesFilter = config.jsonPropertiesFilter || [];\r\n \r\n if(config.keepCData === undefined) {\r\n config.keepCData = false;\r\n }\r\n }\r\n \r\n var DOMNodeTypes = {\r\n ELEMENT_NODE \t : 1,\r\n TEXT_NODE \t : 3,\r\n CDATA_SECTION_NODE : 4,\r\n COMMENT_NODE\t : 8,\r\n DOCUMENT_NODE \t : 9\r\n };\r\n \r\n function initRequiredPolyfills() {\t\t\r\n }\r\n \r\n function getNodeLocalName( node ) {\r\n var nodeLocalName = node.localName;\t\t\t\r\n if(nodeLocalName == null) // Yeah, this is IE!! \r\n nodeLocalName = node.baseName;\r\n if(nodeLocalName == null || nodeLocalName==\"\") // ==\"\" is IE too\r\n nodeLocalName = node.nodeName;\r\n return nodeLocalName;\r\n }\r\n \r\n function getNodePrefix(node) {\r\n return node.prefix;\r\n }\r\n \r\n function escapeXmlChars(str) {\r\n if(typeof(str) == \"string\")\r\n return str.replace(/&/g, '&').replace(//g, '>').replace(/\"/g, '"').replace(/'/g, ''');\r\n else\r\n return str;\r\n }\r\n \r\n function unescapeXmlChars(str) {\r\n return str.replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '\"').replace(/'/g, \"'\").replace(/&/g, '&');\r\n }\r\n \r\n function checkInStdFiltersArrayForm(stdFiltersArrayForm, obj, name, path) {\r\n var idx = 0;\r\n for(; idx < stdFiltersArrayForm.length; idx++) {\r\n var filterPath = stdFiltersArrayForm[idx];\r\n if( typeof filterPath === \"string\" ) {\r\n if(filterPath == path)\r\n break;\r\n }\r\n else\r\n if( filterPath instanceof RegExp) {\r\n if(filterPath.test(path))\r\n break;\r\n }\t\t\t\t\r\n else\r\n if( typeof filterPath === \"function\") {\r\n if(filterPath(obj, name, path))\r\n break;\r\n }\r\n }\r\n return idx!=stdFiltersArrayForm.length;\r\n }\r\n \r\n function toArrayAccessForm(obj, childName, path) {\r\n switch(config.arrayAccessForm) {\r\n case \"property\":\r\n if(!(obj[childName] instanceof Array))\r\n obj[childName+\"_asArray\"] = [obj[childName]];\r\n else\r\n obj[childName+\"_asArray\"] = obj[childName];\r\n break;\r\n /*case \"none\":\r\n break;*/\r\n }\r\n \r\n if(!(obj[childName] instanceof Array) && config.arrayAccessFormPaths.length > 0) {\r\n if(checkInStdFiltersArrayForm(config.arrayAccessFormPaths, obj, childName, path)) {\r\n obj[childName] = [obj[childName]];\r\n }\t\t\t\r\n }\r\n }\r\n \r\n function fromXmlDateTime(prop) {\r\n // Implementation based up on http://stackoverflow.com/questions/8178598/xml-datetime-to-javascript-date-object\r\n // Improved to support full spec and optional parts\r\n var bits = prop.split(/[-T:+Z]/g);\r\n \r\n var d = new Date(bits[0], bits[1]-1, bits[2]);\t\t\t\r\n var secondBits = bits[5].split(\"\\.\");\r\n d.setHours(bits[3], bits[4], secondBits[0]);\r\n if(secondBits.length>1)\r\n d.setMilliseconds(secondBits[1]);\r\n \r\n // Get supplied time zone offset in minutes\r\n if(bits[6] && bits[7]) {\r\n var offsetMinutes = bits[6] * 60 + Number(bits[7]);\r\n var sign = /\\d\\d-\\d\\d:\\d\\d$/.test(prop)? '-' : '+';\r\n \r\n // Apply the sign\r\n offsetMinutes = 0 + (sign == '-'? -1 * offsetMinutes : offsetMinutes);\r\n \r\n // Apply offset and local timezone\r\n d.setMinutes(d.getMinutes() - offsetMinutes - d.getTimezoneOffset())\r\n }\r\n else\r\n if(prop.indexOf(\"Z\", prop.length - 1) !== -1) {\r\n d = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds()));\t\t\t\t\t\r\n }\r\n \r\n // d is now a local time equivalent to the supplied time\r\n return d;\r\n }\r\n \r\n function checkFromXmlDateTimePaths(value, childName, fullPath) {\r\n if(config.datetimeAccessFormPaths.length > 0) {\r\n var path = fullPath.split(\"\\.#\")[0];\r\n if(checkInStdFiltersArrayForm(config.datetimeAccessFormPaths, value, childName, path)) {\r\n return fromXmlDateTime(value);\r\n }\r\n else\r\n return value;\t\t\t\r\n }\r\n else\r\n return value;\r\n }\r\n \r\n function checkXmlElementsFilter(obj, childType, childName, childPath) {\r\n if( childType == DOMNodeTypes.ELEMENT_NODE && config.xmlElementsFilter.length > 0) {\r\n return checkInStdFiltersArrayForm(config.xmlElementsFilter, obj, childName, childPath);\t\r\n }\r\n else\r\n return true;\r\n }\t\r\n \r\n function parseDOMChildren( node, path ) {\r\n if(node.nodeType == DOMNodeTypes.DOCUMENT_NODE) {\r\n var result = new Object;\r\n var nodeChildren = node.childNodes;\r\n // Alternative for firstElementChild which is not supported in some environments\r\n for(var cidx=0; cidx 1 && result.__text!=null && config.skipEmptyTextNodesForObj) {\r\n if( (config.stripWhitespaces && result.__text==\"\") || (result.__text.trim()==\"\")) {\r\n delete result.__text;\r\n }\r\n }\r\n delete result.__cnt;\t\t\t\r\n \r\n if( config.enableToStringFunc && (result.__text!=null || result.__cdata!=null )) {\r\n result.toString = function() {\r\n return (this.__text!=null? this.__text:'')+( this.__cdata!=null ? this.__cdata:'');\r\n };\r\n }\r\n \r\n return result;\r\n }\r\n else\r\n if(node.nodeType == DOMNodeTypes.TEXT_NODE || node.nodeType == DOMNodeTypes.CDATA_SECTION_NODE) {\r\n return node.nodeValue;\r\n }\t\r\n }\r\n \r\n function startTag(jsonObj, element, attrList, closed) {\r\n var resultStr = \"<\"+ ( (jsonObj!=null && jsonObj.__prefix!=null)? (jsonObj.__prefix+\":\"):\"\") + element;\r\n if(attrList!=null) {\r\n for(var aidx = 0; aidx < attrList.length; aidx++) {\r\n var attrName = attrList[aidx];\r\n var attrVal = jsonObj[attrName];\r\n if(config.escapeMode)\r\n attrVal=escapeXmlChars(attrVal);\r\n resultStr+=\" \"+attrName.substr(config.attributePrefix.length)+\"=\";\r\n if(config.useDoubleQuotes)\r\n resultStr+='\"'+attrVal+'\"';\r\n else\r\n resultStr+=\"'\"+attrVal+\"'\";\r\n }\r\n }\r\n if(!closed)\r\n resultStr+=\">\";\r\n else\r\n resultStr+=\"/>\";\r\n return resultStr;\r\n }\r\n \r\n function endTag(jsonObj,elementName) {\r\n return \"\";\r\n }\r\n \r\n function endsWith(str, suffix) {\r\n return str.indexOf(suffix, str.length - suffix.length) !== -1;\r\n }\r\n \r\n function jsonXmlSpecialElem ( jsonObj, jsonObjField ) {\r\n if((config.arrayAccessForm==\"property\" && endsWith(jsonObjField.toString(),(\"_asArray\"))) \r\n || jsonObjField.toString().indexOf(config.attributePrefix)==0 \r\n || jsonObjField.toString().indexOf(\"__\")==0\r\n || (jsonObj[jsonObjField] instanceof Function) )\r\n return true;\r\n else\r\n return false;\r\n }\r\n \r\n function jsonXmlElemCount ( jsonObj ) {\r\n var elementsCnt = 0;\r\n if(jsonObj instanceof Object ) {\r\n for( var it in jsonObj ) {\r\n if(jsonXmlSpecialElem ( jsonObj, it) )\r\n continue;\t\t\t\r\n elementsCnt++;\r\n }\r\n }\r\n return elementsCnt;\r\n }\r\n \r\n function checkJsonObjPropertiesFilter(jsonObj, propertyName, jsonObjPath) {\r\n return config.jsonPropertiesFilter.length == 0\r\n || jsonObjPath==\"\"\r\n || checkInStdFiltersArrayForm(config.jsonPropertiesFilter, jsonObj, propertyName, jsonObjPath);\t\r\n }\r\n \r\n function parseJSONAttributes ( jsonObj ) {\r\n var attrList = [];\r\n if(jsonObj instanceof Object ) {\r\n for( var ait in jsonObj ) {\r\n if(ait.toString().indexOf(\"__\")== -1 && ait.toString().indexOf(config.attributePrefix)==0) {\r\n attrList.push(ait);\r\n }\r\n }\r\n }\r\n return attrList;\r\n }\r\n \r\n function parseJSONTextAttrs ( jsonTxtObj ) {\r\n var result =\"\";\r\n \r\n if(jsonTxtObj.__cdata!=null) {\t\t\t\t\t\t\t\t\t\t\r\n result+=\"\";\t\t\t\t\t\r\n }\r\n \r\n if(jsonTxtObj.__text!=null) {\t\t\t\r\n if(config.escapeMode)\r\n result+=escapeXmlChars(jsonTxtObj.__text);\r\n else\r\n result+=jsonTxtObj.__text;\r\n }\r\n return result;\r\n }\r\n \r\n function parseJSONTextObject ( jsonTxtObj ) {\r\n var result =\"\";\r\n \r\n if( jsonTxtObj instanceof Object ) {\r\n result+=parseJSONTextAttrs ( jsonTxtObj );\r\n }\r\n else\r\n if(jsonTxtObj!=null) {\r\n if(config.escapeMode)\r\n result+=escapeXmlChars(jsonTxtObj);\r\n else\r\n result+=jsonTxtObj;\r\n }\r\n \r\n return result;\r\n }\r\n \r\n function getJsonPropertyPath(jsonObjPath, jsonPropName) {\r\n if (jsonObjPath===\"\") {\r\n return jsonPropName;\r\n }\r\n else\r\n return jsonObjPath+\".\"+jsonPropName;\r\n }\r\n \r\n function parseJSONArray ( jsonArrRoot, jsonArrObj, attrList, jsonObjPath ) {\r\n var result = \"\"; \r\n if(jsonArrRoot.length == 0) {\r\n result+=startTag(jsonArrRoot, jsonArrObj, attrList, true);\r\n }\r\n else {\r\n for(var arIdx = 0; arIdx < jsonArrRoot.length; arIdx++) {\r\n result+=startTag(jsonArrRoot[arIdx], jsonArrObj, parseJSONAttributes(jsonArrRoot[arIdx]), false);\r\n result+=parseJSONObject(jsonArrRoot[arIdx], getJsonPropertyPath(jsonObjPath,jsonArrObj));\r\n result+=endTag(jsonArrRoot[arIdx],jsonArrObj);\r\n }\r\n }\r\n return result;\r\n }\r\n \r\n function parseJSONObject ( jsonObj, jsonObjPath ) {\r\n var result = \"\";\t\r\n \r\n var elementsCnt = jsonXmlElemCount ( jsonObj );\r\n \r\n if(elementsCnt > 0) {\r\n for( var it in jsonObj ) {\r\n \r\n if(jsonXmlSpecialElem ( jsonObj, it) || (jsonObjPath!=\"\" && !checkJsonObjPropertiesFilter(jsonObj, it, getJsonPropertyPath(jsonObjPath,it))) )\r\n continue;\t\t\t\r\n \r\n var subObj = jsonObj[it];\t\t\t\t\t\t\r\n \r\n var attrList = parseJSONAttributes( subObj )\r\n \r\n if(subObj == null || subObj == undefined) {\r\n result+=startTag(subObj, it, attrList, true);\r\n }\r\n else\r\n if(subObj instanceof Object) {\r\n \r\n if(subObj instanceof Array) {\t\t\t\t\t\r\n result+=parseJSONArray( subObj, it, attrList, jsonObjPath );\t\t\t\t\t\r\n }\r\n else if(subObj instanceof Date) {\r\n result+=startTag(subObj, it, attrList, false);\r\n result+=subObj.toISOString();\r\n result+=endTag(subObj,it);\r\n }\r\n else {\r\n var subObjElementsCnt = jsonXmlElemCount ( subObj );\r\n if(subObjElementsCnt > 0 || subObj.__text!=null || subObj.__cdata!=null) {\r\n result+=startTag(subObj, it, attrList, false);\r\n result+=parseJSONObject(subObj, getJsonPropertyPath(jsonObjPath,it));\r\n result+=endTag(subObj,it);\r\n }\r\n else {\r\n result+=startTag(subObj, it, attrList, true);\r\n }\r\n }\r\n }\r\n else {\r\n result+=startTag(subObj, it, attrList, false);\r\n result+=parseJSONTextObject(subObj);\r\n result+=endTag(subObj,it);\r\n }\r\n }\r\n }\r\n result+=parseJSONTextObject(jsonObj);\r\n \r\n return result;\r\n }\r\n \r\n this.parseXmlString = function(xmlDocStr) {\r\n var isIEParser = window.ActiveXObject || \"ActiveXObject\" in window;\r\n if (xmlDocStr === undefined) {\r\n return null;\r\n }\r\n var xmlDoc;\r\n if (window.DOMParser) {\r\n var parser=new window.DOMParser();\t\t\t\r\n var parsererrorNS = null;\r\n // IE9+ now is here\r\n if(!isIEParser) {\r\n try {\r\n parsererrorNS = parser.parseFromString(\"INVALID\", \"text/xml\").getElementsByTagName(\"parsererror\")[0].namespaceURI;\r\n }\r\n catch(err) {\t\t\t\t\t\r\n parsererrorNS = null;\r\n }\r\n }\r\n try {\r\n xmlDoc = parser.parseFromString( xmlDocStr, \"text/xml\" );\r\n if( parsererrorNS!= null && xmlDoc.getElementsByTagNameNS(parsererrorNS, \"parsererror\").length > 0) {\r\n //throw new Error('Error parsing XML: '+xmlDocStr);\r\n xmlDoc = null;\r\n }\r\n }\r\n catch(err) {\r\n xmlDoc = null;\r\n }\r\n }\r\n else {\r\n // IE :(\r\n if(xmlDocStr.indexOf(\"\") + 2 );\r\n }\r\n xmlDoc=new ActiveXObject(\"Microsoft.XMLDOM\");\r\n xmlDoc.async=\"false\";\r\n xmlDoc.loadXML(xmlDocStr);\r\n }\r\n return xmlDoc;\r\n };\r\n \r\n this.asArray = function(prop) {\r\n if (prop === undefined || prop == null)\r\n return [];\r\n else\r\n if(prop instanceof Array)\r\n return prop;\r\n else\r\n return [prop];\r\n };\r\n \r\n this.toXmlDateTime = function(dt) {\r\n if(dt instanceof Date)\r\n return dt.toISOString();\r\n else\r\n if(typeof(dt) === 'number' )\r\n return new Date(dt).toISOString();\r\n else\t\r\n return null;\r\n };\r\n \r\n this.asDateTime = function(prop) {\r\n if(typeof(prop) == \"string\") {\r\n return fromXmlDateTime(prop);\r\n }\r\n else\r\n return prop;\r\n };\r\n \r\n this.xml2json = function (xmlDoc) {\r\n return parseDOMChildren ( xmlDoc );\r\n };\r\n \r\n this.xml_str2json = function (xmlDocStr) {\r\n var xmlDoc = this.parseXmlString(xmlDocStr);\r\n if(xmlDoc!=null)\r\n return this.xml2json(xmlDoc);\r\n else\r\n return null;\r\n };\r\n \r\n this.json2xml_str = function (jsonObj) {\r\n return parseJSONObject ( jsonObj, \"\" );\r\n };\r\n \r\n this.json2xml = function (jsonObj) {\r\n var xmlDocStr = this.json2xml_str (jsonObj);\r\n return this.parseXmlString(xmlDocStr);\r\n };\r\n \r\n this.getVersion = function () {\r\n return VERSION;\r\n };\t\r\n }\r\n}))","// DSS Documentation on Angular - http://tiny.sc/cgangular\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport $ from 'jquery';\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\ndeclare global {\r\n interface Window {\r\n ga(): void;\r\n }\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n\r\n"],"sourceRoot":"webpack:///"}