{"version":3,"sources":["webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/authentication-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/company-information-locales.json?5df8","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/company-information-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/contract-confrimation-locales.json?edad","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/contract-partner-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/contract-partner-locales.json?6c33","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/customer-information-locales.json?5a6e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/customer-information-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/metering-point-information-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/metering-point-information-locales.json?944f","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/metering-point-information-locales.json?9d1b","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/new-contract-and-move-out-section-locales.json?a2eb","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/new-contract-and-move-out-section-locales.json?7e49","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/pre-product-selection-locales.json?63a0","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/pre-product-selection-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?ed23","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?4fbf","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?24a5","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?a0d9","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-new-contract.vue?578c","webpack://i4u-web/./node_modules/vue-class-component/dist/vue-class-component.esm.js","webpack://i4u-web/./node_modules/vue-property-decorator/lib/vue-property-decorator.js","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection.vue?8694","webpack://i4u-web/./Scripts/inpulse/CommonEnums.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.vue?4ea7","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.vue?9f0c","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.ts?1026","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validation-message.vue","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.ts?01c1","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/validated-form-group.vue","webpack://i4u-web/./Scripts/inpulse/FormatUtils.ts","webpack://i4u-web/./node_modules/vuex/dist/vuex.esm.js","webpack://i4u-web/./Scripts/inpulse/I4UViewModels.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vue-events.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vuex-store.ts","webpack://i4u-web/./Scripts/inpulse/Common-utils.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/section.ts","webpack://i4u-web/./Scripts/vue-components/common/loading.vue?38e6","webpack://i4u-web/./Scripts/vue-components/common/loading.component.ts","webpack://i4u-web/./Scripts/vue-components/common/loading.component.ts?abfb","webpack://i4u-web/./Scripts/vue-components/common/loading.vue?5ee9","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection.ts?973d","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/pre-product-selection-locales.json?da98","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection.vue?9ee1","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection-display.vue?598e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection-display.ts?ea39","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/pre-product-selection-locales.json?4654","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/pre-product-selection-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection.vue?1ecc","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list.vue?8762","webpack://i4u-web/./Scripts/inpulse/PriceListUtils.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/production-type.vue?0e4b","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/production-type.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/production-type.ts?e8e5","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/production-type.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list.ts?4251","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?a44b","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list.vue?5415","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection.ts?8514","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?a6a5","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection.vue?fe71","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection-display.vue?7efd","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list-display.vue?42e4","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list-display.ts?80c6","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?4735","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/price-list-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection-display.ts?c46e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?2139","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/product-selection-display.vue?ef3e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/offer-product-selection-display.vue?6cd5","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/offer-product-selection-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/offer-product-selection-display.ts?b11d","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/product-selection-locales.json?9958","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/offer-product-selection-display.vue?82ba","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/authentication.vue?bdba","webpack://i4u-web/./Scripts/vue-directives/publicpath-replacer.ts","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vue.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/authentication.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/authentication.ts?79b4","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/authentication-locales.json?24fb","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/authentication.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information.vue?a6a7","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/form-group-static.vue?742e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/form-group-static.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/form-group-static.ts?6f5c","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/form-group-static.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-card.vue?60e4","webpack://i4u-web/./Scripts/inpulse/ContactPersonUtils.ts","webpack://i4u-web/./Scripts/inpulse/AddressFormat.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-card.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-card.ts?490d","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/contract-partner-locales.json?f31a","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-card.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-modal.vue?7dd2","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.vue?0bdf","webpack://i4u-web/./node_modules/vue-simple-suggest/dist/es6.js","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.ts","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.ts?f8f3","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/street-autocomplete.vue?b0c5","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.vue?04f1","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.ts","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.ts?85a2","webpack://i4u-web/./Scripts/vue-components/bootstrap-components/postal-autocomplete.vue?bc5e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-modal.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-modal.ts?952e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/contract-partner-locales.json?2f19","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/contract-partner-modal.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information.ts?014c","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/customer-information-locales.json?737b","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information-display.vue?f021","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/horizontal-form-group.vue?324e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/horizontal-form-group.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/horizontal-form-group.ts?50eb","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/horizontal-form-group.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information-display.ts?1074","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/customer-information-locales.json?61a7","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/customer-information-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information-display.vue?bc7e","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information-display.ts?ff32","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/company-information-locales.json?a0a3","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information.vue?586d","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information.ts?e948","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/company-information-locales.json?d256","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/company-information.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information.vue?8710","webpack://i4u-web/./Areas/NewContract/Scripts/new-contract-vue-helper.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/membership.vue?3bbe","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/membership.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/membership.ts?0283","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/metering-point-information-locales.json?5d4b","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/components/membership.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information.ts?aa18","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/metering-point-information-locales.json?d6cd","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information-display.vue?bc0c","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information-display.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information-display.ts?ccc3","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/metering-point-information-locales.json?772c","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/metering-point-information-display.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/new-contract-section.vue?1008","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/new-contract-section.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/new-contract-section.ts?6e79","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/new-contract-and-move-out-section-locales.json?cbf1","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/steps/new-contract-section.vue?5d96","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-new-contract.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-new-contract.ts?da5b","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/new-contract-and-move-out-section-locales.json?4362","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-new-contract.vue?57ad","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-contract-confirmation.vue?182f","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-contract-confirmation.ts","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-contract-confirmation.ts?9982","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/Locales/contract-confrimation-locales.json?0e27","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/phases/phase-contract-confirmation.vue?0508","webpack://i4u-web/./Areas/NewContract/Scripts/Default/ContractPage/contract-page.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/session-expiration.vue?d714","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/session-expiration.ts","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/session-expiration.ts?c20d","webpack://i4u-web/./Areas/NewContract/Scripts/Default/common/session-expiration.vue","webpack://i4u-web/./Areas/NewContract/Scripts/PKS/ContractPage/contract-page.ts","webpack://i4u-web/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://i4u-web/./node_modules/vue-functional-data-merge/dist/lib.esm.js","webpack://i4u-web/webpack/bootstrap","webpack://i4u-web/webpack/runtime/chunk loaded","webpack://i4u-web/webpack/runtime/compat get default export","webpack://i4u-web/webpack/runtime/define property getters","webpack://i4u-web/webpack/runtime/global","webpack://i4u-web/webpack/runtime/hasOwnProperty shorthand","webpack://i4u-web/webpack/runtime/make namespace object","webpack://i4u-web/webpack/runtime/node module decorator","webpack://i4u-web/webpack/runtime/jsonp chunk loading","webpack://i4u-web/webpack/startup"],"names":["module","Component","render","_vm","_h","_c","$event","staticRenderFns","_typeof","obj","_defineProperty","key","value","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","i","arr2","iter","reflectionIsSupported","copyReflectionMetadata","to","from","forwardMetadata","propertyKey","metaKeys","metaKey","metadata","fakeArray","hasProto","factory","target","index","Ctor","options","mixins","_len","Ctors","_key","isPrimitive","type","warn","message","collectDataFromConstructor","vm","originalInit","_this","keys","data","plainData","$internalHooks","componentFactory","proto","descriptor","decorators","fn","superProto","Super","Extended","forwardStaticMembers","reservedPropertyNames","shouldIgnore","Original","extendedDescriptor","superDescriptor","reactiveInjectKey","Inject","componentOptions","InjectReactive","fromKey_1","defaultVal_1","produceProvide","original","provide","rv","_loop_1","this_1","needToProduceProvide","Provide","k","ProvideReactive","reflectMetadataIsSupported","applyMetadata","Model","event","Prop","PropSync","propName","Watch","path","_a","deep","_b","immediate","handler","watch","hyphenateRE","hyphenate","str","Emit","_target","args","_i","emit","returnValue","emitName","isPromise","Ref","refKey","AccessLevelEnum","AuthenticationBankIdEnum","AuthenticationServiceTypeEnum","CISContractStatusEnum","ContactPersonTypeEnum","ContractContactPersonTypeEnum","ContractReasonEnum","ContractTypeEnum","DocumentTypeEnum","CustomerTypeEnum","FixedTermDurationUnit","HeatingTypeEnum","HousingTypeEnum","MeteringPointSourceEnum","MoveOutReasonEnum","PartTimeHousingTypeEnum","PhoneNumberTypeEnum","ProductComponentTypeEnum","ProcessStatusEnum","ProcessTypeEnum","SubProcessTypeEnum","ProductTypeEnum","RuleTypeEnum","TarificationIdEnum","TariffTimeZoneIdEnum","UserMappingAccessLevelEnum","InvoicingMethodEnum","UserProfileFeatureTypeEnum","UtilityTypeEnum","WebModule","ValidationMessage","component","ValidatedFormGroup","InvoicingMethodFormat","invoicingMethod","ContractTypeFormat","contractType","UtilityTypeFormat","utilityType","HousingTypeFormat","housingType","TarificationFormat","tarification","locale","HeatingTypeFormat","heatingType","CommonFormatUtils","contract","priceList","absoluteEndDate","duration","durationUnit","aed","csd","date","GenericTypeFormatTranslator","toStringFunc","input","translator","ContractReasonFormat","contractReason","applyMixin","Vue","version","vuexInit","_init","devtoolHook","devtoolPlugin","store","targetState","mutation","state","action","find","list","f","deepCopy","cache","hit","c","copy","forEachValue","isObject","val","assert","condition","msg","partial","arg","Module","rawModule","runtime","rawState","prototypeAccessors","ModuleCollection","rawRootModule","namespace","update","this$1","newModule","parent","rawChildModule","child","targetModule","functionAssert","objectAssert","assertTypes","assertRawModule","assertOptions","makeAssertionMessage","expected","buf","Store","install","plugins","strict","ref","dispatch","commit","payload","installModule","resetStoreVM","plugin","useDevtools","prototypeAccessors$1","v","_type","_payload","_options","unifyObjectStyle","entry","sub","e","result","resolve","reject","res","error","genericSubscribe","subs","getter","cb","parentState","getNestedState","resetStore","newOptions","committing","hot","oldVm","wrappedGetters","computed","silent","enableStrictMode","rootState","isRoot","moduleName","local","makeLocalContext","namespacedType","registerMutation","registerAction","registerGetter","noNamespace","makeLocalGetters","gettersProxy","splitPos","localType","err","rawGetter","_Vue","mapState","normalizeNamespace","states","normalizeMap","getters","getModuleByNamespace","mapMutations","mutations","len","mapGetters","mapActions","actions","createNamespacedHelpers","map","isValidMap","helper","createLogger","collapsed","filter","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","time","pad","repeat","times","num","maxLength","AddressViewModel","other","CompanyViewModel","CustomerMembershipViewModel","ContractMembershipViewModel","ContactPersonViewModel","ContractViewModel","CustomerViewModel","MeteringPointViewModel","InvoicingAddressViewModel","CreditInformationViewModel","MultiUtilityMeteringPoint","ProductAndPricelist","name","NewContractEventBus","listener","validationErrors","NewContractEvents","PropertyTypeEnum","PropDesc","propertyNames","setValue","d","propertyChain","parts","newObj","newPropChain","basicValues","meteringPointValues","contractValues","customerValues","server","ServerApi","ex","productId","priceListId","productViewModel","contractPartners","mp","utility","moveoutReason","moveoutDate","self","movingDate","pin","retVal","streetAddress","zipCode","externalMP","customerType","x","gsrn","years","originalname","amount","price","offerProducts","getValueSetter","findPropertyDescriptor","loadingNewPhase","isUserAuthenticated","autoClear","contractPartner","preSelected","membership","isAuthenticated","holidays","membershipTypes","newSelection","ctx","payloads","deferredUpdates","errorMessages","dirty","propDesc","func","setterPromise","errorMsg","product","isExternalMP","identifier","cond","count","item","NotificationUtils","$expTime","$container","opts","expirationTime","id","expTime","ArrayUtils","ObjectUtils","DurationFormatUtils","SectionMode","ActionState","SectionChecker","propertyAccessor","SectionState","allSet","previousMode","prevMode","mode","s","sectionStates","curr","prev","next","previous","ifNotMode","LoadingComponent","Checker","PreProductSelectionChecker","PreProductSelection","PreProductSelectionDisplay","separator","strs","postalCode","postOffice","PriceListUtils","maximumFractionDigits","minimumFractionDigits","showVat","energy1","energy2","cost","basicPrice","energy1Price","energy2Price","additionalBasicPrice","serviceProductComponent","priceUnit","energy","servicePrice","$$v","ProductionType","hasSelection","isCompany","priceConsumer","priceCompany","current_ef_choise","el","efName","PriceList","digits","priceLists","priceEstimate","extraCost","ind","sp","inputStr","serviceProductExternalPriceListId","show","prod","ProductSelectionChecker","ProductSelection","productName","prefix","productid","PriceListDisplay","energyType","ProductSelectionDisplay","OfferProductSelectionDisplay","plId","pl","PUBLIC_PATH_STRING","PublicPathReplacerDirective","binding","vnode","prevVnode","newValue","PhaseDescriptor","ValidationErrors","errors","PageModel","NewContract","elAny","trueValue","falseValue","ev","validationId","forcedName","propertyName","eventType","modifiers","eh","rootSelector","mixin","promises","tuple","products","userName","isAuthed","pinSet","phaseName","phaseId","currPhaseNdx","newPhaseNdx","phase","settings","preselects","ef","params","evt","Authentication","service","baseUrl","url","testPin","testPinInputValue","bank","FormGroupStatic","ContactPersonUtils","cp","AddressFormat","address","commaNext","rowChange","ContactPersonCard","ok","cancel","scope","defaultControls","modes","fromPath","o","hasKeyCode","hasKeyCodeByCode","keyCode","has","code","array","_await","then","direct","_async","_empty","_awaitIgnored","_invoke","body","_invokeIgnored","_catch","recover","_finally","finalizer","VueSimpleSuggest","suggestion","current","old","enable","binder","keyEventsList","eventsList","listenerBinder","slot","vNode","slots","attr","display","text","elem","elemId","_this2","isMovingDown","direction","listEdge","hoversBetweenEdges","select","hideList","inputEvent","_this3","textBeforeRequest","newList","_this4","_this4$list","Addr","StreetAutocomplete","_street","_locale","_streetName","_postalCode","_postOffice","oldValue","query","hub","postalFilter","searchItem","selected","PostalAutocomplete","_postalOffice","addrs","ContactPersonModal","contactPerson","postCode","street","streetName","CustomerInformationChecker","CustomerInformation","ndx","ctor","keyMap","p","nonEmpty","partner","idx","partners","custCult","HorizontalFormGroup","CustomerInformationDisplay","CompanyInformationDisplay","CompanyInformationChecker","CompanyInformation","$$a","$$el","$$c","$$i","NewContractVueHelper","contractSettings","min","movingMinDates","supplierChangeMinDates","days","year","month","day","weekDaysToDisable","datesToDisable","momentDate","Membership","MeteringPointInformationChecker","MeteringPointInformation","v1","v2","max","m","ymd","housingTypeId","membershipType","oldContractEndDate","retValue","priimaStartTime","MeteringPointInformationDisplay","NewContractSection","PhaseNewContract","newVal","oldVal","errorFound","validationIds","selector","nodeList","elements","a","b","previousSectionMode","customerTypeSelected","title","defaultnumber","cust","comp","PhaseContractConfirmation","tmpCOName","addr","ret","isEnglish","isSwedish","isFinnish","i18n","ContractPageBase","phases","components","initialPhaseId","autoClearSelectedProduct","offerRequest","h","vNodesMsg","titleTranslation","vNodesTitle","messageTranslation","SessionExpiration","ContractPage","page","webpackContext","req","webpackContextResolve","__webpack_require__","t","r","n","l","y","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","deferred","chunkIds","priority","notFulfilled","fulfilled","j","exports","definition","prop","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","chunkLoadingGlobal","__webpack_exports__"],"mappings":"qCAAAA,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,6PAAiP,EAC/Q,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,6kBAA6hB,EAC3jB,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,6kBAA6hB,EAC3jB,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,uwIAA07H,EACx9H,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,2rBAAynB,EACvpB,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,2rBAAynB,EACvpB,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,0jBAAigB,EAC/hB,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,0jBAAigB,EAC/hB,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,klRAA2jP,EACzlP,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,klRAA2jP,EACzlP,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,klRAA2jP,EACzlP,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,upCAA6mC,EAC3oC,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,upCAA6mC,EAC3oC,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,g6FAAglF,EAC9mF,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,g6FAAglF,EAC9mF,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,ixEAA4+D,EAC1gE,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,ixEAA4+D,EAC1gE,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,ixEAA4+D,EAC1gE,OAAOA,EAAU,QAAQ,KAC3B,C,mBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,ixEAA4+D,EAC1gE,OAAOA,EAAU,QAAQ,KAC3B,C,kBCJAD,EAAO,QAAU,SAAUC,EAAW,CACpCA,EAAU,QAAQ,OAASA,EAAU,QAAQ,QAAU,CAAC,EACxDA,EAAU,QAAQ,OAAO,KAAK,ixEAA4+D,EAC1gE,OAAOA,EAAU,QAAQ,KAC3B,C,iDCJIC,EAAS,UAAW,CACtB,IAAIC,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CAAE,MAAOF,EAAI,YAAa,EAC1B,CACEE,EAAG,MAAO,CAAE,YAAa,aAAc,EAAG,CACxCA,EAAG,MAAO,CAAE,YAAa,gBAAiB,EAAG,CAC3CA,EAAG,MAAO,CAAE,YAAa,aAAc,EAAG,CACxCF,EAAI,cAAgB,cACpB,CAACA,EAAI,cAAc,SAAU,eAAe,EACxCE,EAAG,IAAK,CACNF,EAAI,GACF;AAAA;AAAA,qBACF,EACAE,EACE,IACA,CACE,MAAO,CACL,aAAc,yBACd,KAAM,IACN,MAAO,aACT,CACF,EACA,CAACF,EAAI,GAAG,aAAO,CAAC,CAClB,CACF,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,aAAa,EACbE,EAAG,IAAK,CACNF,EAAI,GACF,4IACF,CACF,CAAC,EACDA,EAAI,GAAG,CACb,CAAC,CACH,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,GAAG,EACNF,EAAI,GAAG,GAAG,GACT,KAAK,SAAS,UACb,KAAK,SAAS,SAAS,eAAiB,IACxC,KAAK,SAAS,SAAW,KAAK,SAAS,QAAQ,eAAiB,IAClE,CAACA,EAAI,aAAa,EACdE,EAAG,MAAO,CAAE,YAAa,aAAc,EAAG,CACxCA,EAAG,MAAO,CAAE,YAAa,gBAAiB,EAAG,CAC3CA,EACE,MACA,CAAE,YAAa,aAAc,EAC7B,CACEA,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,OACEF,EAAI,SAAS,cACbA,EAAI,iBAAiB,QACzB,EACA,YAAa,CACX,YAAa,QACb,gBAAiB,gBACnB,EACA,MAAO,CACL,KAAM,SACN,QAAS,kBACT,MAAOA,EAAI,iBAAiB,SAC5B,KAAM,cACR,EACA,GAAI,CAAE,gBAAiBA,EAAI,oBAAqB,CAClD,EACA,CACEE,EAAG,oBAAqB,CAAE,MAAO,CAAE,KAAM,MAAO,CAAE,CAAC,EACnDF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,GAAG,mBAAgB,CAAC,EAAI,GAAG,CACrD,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,OACEF,EAAI,SAAS,cACbA,EAAI,iBAAiB,OACzB,EACA,YAAa,CACX,YAAa,QACb,gBAAiB,gBACnB,EACA,MAAO,CACL,KAAM,SACN,QAAS,kBACT,MAAOA,EAAI,iBAAiB,QAC5B,KAAM,cACR,EACA,GAAI,CAAE,gBAAiBA,EAAI,oBAAqB,CAClD,EACA,CACEE,EAAG,oBAAqB,CAAE,MAAO,CAAE,KAAM,UAAW,CAAE,CAAC,EACvDF,EAAI,GAAG,IAAMA,EAAI,GAAGA,EAAI,GAAG,eAAe,CAAC,CAAC,CAC9C,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CACEF,EAAI,qBACAE,EAAG,oBAAqB,CACtB,YAAa,mBACf,CAAC,EACDF,EAAI,GAAG,CACb,EACA,CACF,CACF,EACA,CACF,CACF,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACTA,EAAI,SAAS,EAwCVA,EAAI,GAAG,EAvCP,CACEE,EACE,uBACA,CACE,IAAK,aACL,MAAO,CACL,OAAQF,EAAI,YAAY,CAAC,EACzB,MAAO,iBACP,KAAMA,EAAI,SAAS,WAAW,KAC9B,uBAAwBA,EAAI,SAAS,WAAW,mBAAmB,CACrE,EACA,GAAI,CACF,OAAQ,SAASG,EAAQ,CACvB,OAAOH,EAAI,SAAS,WAAW,YAAY,CAC7C,EACA,QAAS,SAASG,EAAQ,CACxB,OAAOH,EAAI,SAAS,WAAW,QAAQ,CACzC,CACF,CACF,EACA,CACEE,EAAG,wBAAyB,CAC1B,IAAK,sBACL,MAAO,CACL,KAAM,OACN,SAAUF,EAAI,SACd,oBAAqBA,EAAI,gBAC3B,EACA,KAAM,MACR,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,gCAAiC,CAClC,MAAO,CAAE,KAAM,UAAW,SAAUF,EAAI,QAAS,EACjD,KAAM,SACR,CAAC,CACH,EACA,CACF,CACF,EAEJA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,IAAK,UACL,MAAO,CACL,OAAQF,EAAI,YAAY,CAAC,EACzB,MAAOA,EAAI,2BAA2B,EACtC,KAAMA,EAAI,SAAS,QAAQ,KAC3B,uBAAwBA,EAAI,SAAS,QAAQ,mBAAmB,CAClE,EACA,GAAI,CACF,OAAQ,SAASG,EAAQ,CACvB,OAAOH,EAAI,SAAS,QAAQ,YAAY,CAC1C,EACA,QAAS,SAASG,EAAQ,CACxB,OAAOH,EAAI,SAAS,QAAQ,QAAQ,CACtC,CACF,CACF,EACA,CACEE,EAAG,oBAAqB,CACtB,MAAO,CAAE,KAAM,MAAO,EACtB,GAAI,CACF,mBAAoB,SAASC,EAAQ,CACnC,OAAOH,EAAI,SAAS,QAAQ,QAAQ,CACtC,CACF,EACA,KAAM,MACR,CAAC,EACDA,EAAI,GAAG,GAAG,EACTA,EAAI,aAKDA,EAAI,GAAG,EAJPE,EAAG,4BAA6B,CAC9B,MAAO,CAAE,KAAM,SAAU,EACzB,KAAM,SACR,CAAC,EAELF,EAAI,GAAG,GAAG,EACVA,EAAI,aACAE,EAAG,kCAAmC,CACpC,MAAO,CAAE,KAAM,SAAU,EACzB,KAAM,SACR,CAAC,EACDF,EAAI,GAAG,CACb,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,eAAiBA,EAAI,iBAAiB,QAC/CE,EACE,uBACA,CACE,IAAK,WACL,MAAO,CACL,OAAQF,EAAI,YAAY,CAAC,EACzB,MAAO,mBACP,KAAMA,EAAI,SAAS,SAAS,KAC5B,uBAAwBA,EAAI,SAAS,SAAS,mBAAmB,CACnE,EACA,GAAI,CACF,OAAQ,SAASG,EAAQ,CACvB,OAAOH,EAAI,SAAS,SAAS,YAAY,CAC3C,EACA,QAAS,SAASG,EAAQ,CACxB,OAAOH,EAAI,SAAS,SAAS,QAAQ,CACvC,CACF,CACF,EACA,CACEA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,SAC9CE,EAAG,uBAAwB,CACzB,IAAK,sBACL,MAAO,CACL,KAAM,OACN,iBAAkBF,EAAI,iBACtB,sBAAuBA,EAAI,mBAC3B,kCACEA,EAAI,6BACN,aAAcA,EAAI,YACpB,EACA,GAAI,CACF,yBAA0BA,EAAI,qBAC9B,aAAcA,EAAI,YACpB,EACA,KAAM,MACR,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,SAC9CE,EAAG,+BAAgC,CACjC,MAAO,CAAE,KAAM,SAAU,EACzB,KAAM,SACR,CAAC,EACDF,EAAI,GAAG,CACb,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,QAC9CE,EACE,uBACA,CACE,IAAK,UACL,MAAO,CACL,OAAQF,EAAI,YAAY,CAAC,EACzB,MAAO,mBACP,KAAMA,EAAI,SAAS,QAAQ,KAC3B,uBAAwBA,EAAI,SAAS,QAAQ,mBAAmB,CAClE,EACA,GAAI,CACF,OAAQ,SAASG,EAAQ,CACvB,OAAOH,EAAI,SAAS,QAAQ,YAAY,CAC1C,EACA,QAAS,SAASG,EAAQ,CACxB,OAAOH,EAAI,SAAS,QAAQ,QAAQ,CACtC,CACF,CACF,EACA,CACEA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,QAC9CE,EAAG,sBAAuB,CACxB,IAAK,qBACL,MAAO,CACL,KAAM,OACN,iBAAkBF,EAAI,iBACtB,sBAAuBA,EAAI,kBAC7B,EACA,GAAI,CACF,wBAAyBA,EAAI,oBAC7B,aAAcA,EAAI,YACpB,EACA,KAAM,MACR,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,QAC9CE,EAAG,8BAA+B,CAChC,MAAO,CAAE,KAAM,SAAU,EACzB,KAAM,SACR,CAAC,EACDF,EAAI,GAAG,CACb,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,IAAK,gBACL,MAAO,CACL,OAAQF,EAAI,YAAY,CAAC,EACzB,MAAO,eACP,KAAMA,EAAI,SAAS,cAAc,KACjC,uBAAwBA,EAAI,YAAY,MAC1C,EACA,GAAI,CACF,OAAQ,SAASG,EAAQ,CACvB,OAAOH,EAAI,SAAS,cAAc,YAAY,CAChD,CACF,CACF,EACA,CACEE,EAAG,6BAA8B,CAC/B,IAAK,oBACL,MAAO,CACL,KAAM,OACN,SAAUF,EAAI,SACd,iBAAkBA,EAAI,iBACtB,iBAAkBA,EAAI,cAAc,CACtC,EACA,KAAM,MACR,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EAAG,qCAAsC,CACvC,MAAO,CAAE,KAAM,SAAU,EACzB,KAAM,SACR,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACT,KAAK,SAAS,UAAY,KAAK,SAAS,SAAS,eACjD,KAAK,SAAS,SAAW,KAAK,SAAS,QAAQ,cAC5CE,EAAG,MAAO,CAAE,YAAa,WAAY,MAAOF,EAAI,YAAa,EAAG,CAC9DE,EACE,MACA,CAAE,YAAa,uBAAwB,EACvC,CACGF,EAAI,aAaDA,EAAI,GAAG,EAZPE,EACE,WACA,CACE,MAAO,CAAE,KAAM,SAAU,QAAS,SAAU,EAC5C,GAAI,CACF,MAAO,SAASC,EAAQ,CACtB,OAAOH,EAAI,UAAU,CACvB,CACF,CACF,EACA,CAACA,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAC/C,CAEN,EACA,CACF,CACF,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,aACAE,EACE,QACA,CACEA,EAAG,QAAS,CAAE,MAAO,CAAE,GAAI,IAAK,CAAE,EAAG,CACnCA,EACE,OACA,CACE,YAAa,cACb,MAAO,CACL,OAAQ,OACR,OACE,sDACJ,CACF,EACA,CACEA,EACE,MACA,CAAE,MAAO,CAAE,GAAI,iBAAkB,CAAE,EACnC,CACEF,EAAI,0BAA0B,EAC1BE,EACE,SACA,CACE,YAAa,6BACb,YAAa,CACX,gBAAiB,gBACnB,EACA,MAAO,CACL,KAAM,SACN,SAAU,CAACF,EAAI,0BAA0B,CAC3C,CACF,EACA,CACEE,EAAG,IAAK,CAAE,YAAa,aAAc,CAAC,EACtCF,EAAI,GACF,IAAMA,EAAI,GAAGA,EAAI,GAAG,6BAAoB,CAAC,CAC3C,CACF,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACTA,EAAI,0BAA0B,EAkB3BA,EAAI,GAAG,EAjBPE,EACE,SACA,CACE,YACE,sCACF,YAAa,CACX,gBAAiB,gBACnB,EACA,MAAO,CAAE,KAAM,OAAQ,CACzB,EACA,CACEA,EAAG,IAAK,CAAE,YAAa,aAAc,CAAC,EACtCF,EAAI,GACF,IAAMA,EAAI,GAAGA,EAAI,GAAG,6BAAoB,CAAC,CAC3C,CACF,CACF,EAEJA,EAAI,GAAG,GAAG,EACTA,EAAI,0BAA0B,EAS3BA,EAAI,GAAG,EARPE,EAAG,YAAa,CACd,MAAO,CACL,OAAQ,kBACR,SAAU,QACV,MACE,+GACJ,CACF,CAAC,CAEP,EACA,CACF,CACF,CACF,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,CACb,EACA,CACF,CACF,EACII,EAAkB,CAAC,EACvBL,EAAO,cAAgB,GC5dvB;AAAA;AAAA;AAAA;AAAA,IAOA,SAASM,EAAQC,EAAK,CACpB,OAAI,OAAO,QAAW,YAAc,OAAO,OAAO,UAAa,SAC7DD,EAAU,SAAUC,EAAK,CACvB,OAAO,OAAOA,CAChB,EAEAD,EAAU,SAAUC,EAAK,CACvB,OAAOA,GAAO,OAAO,QAAW,YAAcA,EAAI,cAAgB,QAAUA,IAAQ,OAAO,UAAY,SAAW,OAAOA,CAC3H,EAGKD,EAAQC,CAAG,CACpB,CAEA,SAASC,EAAgBD,EAAKE,EAAKC,EAAO,CACxC,OAAID,KAAOF,EACT,OAAO,eAAeA,EAAKE,EAAK,CAC9B,MAAOC,EACP,WAAY,GACZ,aAAc,GACd,SAAU,EACZ,CAAC,EAEDH,EAAIE,GAAOC,EAGNH,CACT,CAEA,SAASI,EAAmBC,EAAK,CAC/B,OAAOC,EAAmBD,CAAG,GAAKE,EAAiBF,CAAG,GAAKG,EAAmB,CAChF,CAEA,SAASF,EAAmBD,EAAK,CAC/B,GAAI,MAAM,QAAQA,CAAG,EAAG,CACtB,QAASI,EAAI,EAAGC,EAAO,IAAI,MAAML,EAAI,MAAM,EAAGI,EAAIJ,EAAI,OAAQI,IAAKC,EAAKD,GAAKJ,EAAII,GAEjF,OAAOC,CACT,CACF,CAEA,SAASH,EAAiBI,EAAM,CAC9B,GAAI,OAAO,YAAY,OAAOA,CAAI,GAAK,OAAO,UAAU,SAAS,KAAKA,CAAI,IAAM,qBAAsB,OAAO,MAAM,KAAKA,CAAI,CAC9H,CAEA,SAASH,GAAqB,CAC5B,MAAM,IAAI,UAAU,iDAAiD,CACvE,CAKA,SAASI,GAAwB,CAC/B,OAAO,OAAO,SAAY,aAAe,QAAQ,gBAAkB,QAAQ,kBAC7E,CACA,SAASC,GAAuBC,EAAIC,EAAM,CACxCC,EAAgBF,EAAIC,CAAI,EACxB,OAAO,oBAAoBA,EAAK,SAAS,EAAE,QAAQ,SAAUb,EAAK,CAChEc,EAAgBF,EAAG,UAAWC,EAAK,UAAWb,CAAG,CACnD,CAAC,EACD,OAAO,oBAAoBa,CAAI,EAAE,QAAQ,SAAUb,EAAK,CACtDc,EAAgBF,EAAIC,EAAMb,CAAG,CAC/B,CAAC,CACH,CAEA,SAASc,EAAgBF,EAAIC,EAAME,EAAa,CAC9C,IAAIC,EAAWD,EAAc,QAAQ,mBAAmBF,EAAME,CAAW,EAAI,QAAQ,mBAAmBF,CAAI,EAC5GG,EAAS,QAAQ,SAAUC,EAAS,CAClC,IAAIC,EAAWH,EAAc,QAAQ,eAAeE,EAASJ,EAAME,CAAW,EAAI,QAAQ,eAAeE,EAASJ,CAAI,EAElHE,EACF,QAAQ,eAAeE,EAASC,EAAUN,EAAIG,CAAW,EAEzD,QAAQ,eAAeE,EAASC,EAAUN,CAAE,CAEhD,CAAC,CACH,CAEA,IAAIO,GAAY,CACd,UAAW,CAAC,CACd,EACIC,GAAWD,cAAqB,MACpC,SAAS,GAAgBE,EAAS,CAChC,OAAO,SAAUC,EAAQtB,EAAKuB,EAAO,CACnC,IAAIC,EAAO,OAAOF,GAAW,WAAaA,EAASA,EAAO,YAErDE,EAAK,iBACRA,EAAK,eAAiB,CAAC,GAGrB,OAAOD,GAAU,WACnBA,EAAQ,QAGVC,EAAK,eAAe,KAAK,SAAUC,EAAS,CAC1C,OAAOJ,EAAQI,EAASzB,EAAKuB,CAAK,CACpC,CAAC,CACH,CACF,CACA,SAASG,IAAS,CAChB,QAASC,EAAO,UAAU,OAAQC,EAAQ,IAAI,MAAMD,CAAI,EAAGE,EAAO,EAAGA,EAAOF,EAAME,IAChFD,EAAMC,GAAQ,UAAUA,GAG1B,OAAO,IAAI,OAAO,CAChB,OAAQD,CACV,CAAC,CACH,CACA,SAASE,GAAY7B,EAAO,CAC1B,IAAI8B,EAAOlC,EAAQI,CAAK,EAExB,OAAOA,GAAS,MAAQ8B,IAAS,UAAYA,IAAS,UACxD,CACA,SAASC,GAAKC,EAAS,CACjB,OAAO,SAAY,aACrB,QAAQ,KAAK,yBAA2BA,CAAO,CAEnD,CAEA,SAASC,GAA2BC,EAAI7C,EAAW,CAEjD,IAAI8C,EAAe9C,EAAU,UAAU,MAEvCA,EAAU,UAAU,MAAQ,UAAY,CACtC,IAAI+C,EAAQ,KAGRC,EAAO,OAAO,oBAAoBH,CAAE,EAExC,GAAIA,EAAG,SAAS,MACd,QAASnC,KAAOmC,EAAG,SAAS,MACrBA,EAAG,eAAenC,CAAG,GACxBsC,EAAK,KAAKtC,CAAG,EAKnBsC,EAAK,QAAQ,SAAUtC,EAAK,CAC1B,OAAO,eAAeqC,EAAOrC,EAAK,CAChC,IAAK,UAAe,CAClB,OAAOmC,EAAGnC,EACZ,EACA,IAAK,SAAaC,EAAO,CACvBkC,EAAGnC,GAAOC,CACZ,EACA,aAAc,EAChB,CAAC,CACH,CAAC,CACH,EAGA,IAAIsC,EAAO,IAAIjD,EAEfA,EAAU,UAAU,MAAQ8C,EAE5B,IAAII,EAAY,CAAC,EACjB,cAAO,KAAKD,CAAI,EAAE,QAAQ,SAAUvC,EAAK,CACnCuC,EAAKvC,KAAS,SAChBwC,EAAUxC,GAAOuC,EAAKvC,GAE1B,CAAC,EAQMwC,CACT,CAEA,IAAIC,GAAiB,CAAC,OAAQ,eAAgB,UAAW,cAAe,UAAW,gBAAiB,YAAa,eAAgB,UAAW,YAAa,cAAe,SAAU,gBAAiB,gBACnM,EACA,SAASC,GAAiBpD,EAAW,CACnC,IAAImC,EAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,CAAC,EACnFA,EAAQ,KAAOA,EAAQ,MAAQnC,EAAU,eAAiBA,EAAU,KAEpE,IAAIqD,EAAQrD,EAAU,UACtB,OAAO,oBAAoBqD,CAAK,EAAE,QAAQ,SAAU3C,EAAK,CACvD,GAAIA,IAAQ,cAKZ,IAAIyC,GAAe,QAAQzC,CAAG,EAAI,GAAI,CACpCyB,EAAQzB,GAAO2C,EAAM3C,GACrB,MACF,CAEA,IAAI4C,EAAa,OAAO,yBAAyBD,EAAO3C,CAAG,EAEvD4C,EAAW,QAAU,OAEnB,OAAOA,EAAW,OAAU,YAC7BnB,EAAQ,UAAYA,EAAQ,QAAU,CAAC,IAAIzB,GAAO4C,EAAW,OAG7DnB,EAAQ,SAAWA,EAAQ,OAAS,CAAC,IAAI,KAAK,CAC7C,KAAM,UAAgB,CACpB,OAAO1B,EAAgB,CAAC,EAAGC,EAAK4C,EAAW,KAAK,CAClD,CACF,CAAC,GAEMA,EAAW,KAAOA,EAAW,QAErCnB,EAAQ,WAAaA,EAAQ,SAAW,CAAC,IAAIzB,GAAO,CACnD,IAAK4C,EAAW,IAChB,IAAKA,EAAW,GAClB,GAEJ,CAAC,GACAnB,EAAQ,SAAWA,EAAQ,OAAS,CAAC,IAAI,KAAK,CAC7C,KAAM,UAAgB,CACpB,OAAOS,GAA2B,KAAM5C,CAAS,CACnD,CACF,CAAC,EAED,IAAIuD,EAAavD,EAAU,eAEvBuD,IACFA,EAAW,QAAQ,SAAUC,EAAI,CAC/B,OAAOA,EAAGrB,CAAO,CACnB,CAAC,EACD,OAAOnC,EAAU,gBAInB,IAAIyD,EAAa,OAAO,eAAezD,EAAU,SAAS,EACtD0D,EAAQD,aAAsB,UAAMA,EAAW,YAAc,UAC7DE,EAAWD,EAAM,OAAOvB,CAAO,EACnC,OAAAyB,GAAqBD,EAAU3D,EAAW0D,CAAK,EAE3CtC,EAAsB,GACxBC,GAAuBsC,EAAU3D,CAAS,EAGrC2D,CACT,CACA,IAAIE,GAAwB,KAKxBC,GAAe,CACjB,UAAW,GACX,UAAW,GACX,OAAQ,GACR,OAAQ,EACV,EAEA,SAASF,GAAqBD,EAAUI,EAAUL,EAAO,CAEvD,OAAO,oBAAoBK,CAAQ,EAAE,QAAQ,SAAUrD,EAAK,CAE1D,GAAI,CAAAoD,GAAapD,GAKjB,KAAIsD,EAAqB,OAAO,yBAAyBL,EAAUjD,CAAG,EAEtE,GAAI,EAAAsD,GAAsB,CAACA,EAAmB,cAI9C,KAAIV,EAAa,OAAO,yBAAyBS,EAAUrD,CAAG,EAQ9D,GAAI,CAACoB,GAAU,CAIb,GAAIpB,IAAQ,MACV,OAGF,IAAIuD,EAAkB,OAAO,yBAAyBP,EAAOhD,CAAG,EAEhE,GAAI,CAAC8B,GAAYc,EAAW,KAAK,GAAKW,GAAmBA,EAAgB,QAAUX,EAAW,MAC5F,MAEJ,CAOA,OAAO,eAAeK,EAAUjD,EAAK4C,CAAU,GACjD,CAAC,CACH,CAEA,SAAStD,GAAUmC,EAAS,CAC1B,OAAI,OAAOA,GAAY,WACdiB,GAAiBjB,CAAO,EAG1B,SAAUnC,EAAW,CAC1B,OAAOoD,GAAiBpD,EAAWmC,CAAO,CAC5C,CACF,CAEAnC,GAAU,cAAgB,SAAuBgD,EAAM,CACrDG,GAAe,KAAK,MAAMA,GAAgBvC,EAAmBoC,CAAI,CAAC,CACpE,EAEA,MAAehD,GCvTXkE,GAAoB,qBAMjB,SAASC,GAAOhC,EAAS,CAC5B,OAAO,gBAAgB,SAAUiC,EAAkB1D,EAAK,CAChD,OAAO0D,EAAiB,QAAW,cACnCA,EAAiB,OAAS,CAAC,GAE1B,MAAM,QAAQA,EAAiB,MAAM,IACtCA,EAAiB,OAAO1D,GAAOyB,GAAWzB,EAElD,CAAC,CACL,CAMO,SAAS2D,GAAelC,EAAS,CACpC,OAAO,gBAAgB,SAAUiC,EAAkB1D,EAAK,CAIpD,GAHI,OAAO0D,EAAiB,QAAW,cACnCA,EAAiB,OAAS,CAAC,GAE3B,CAAC,MAAM,QAAQA,EAAiB,MAAM,EAAG,CACzC,IAAIE,EAAcnC,EAAUA,EAAQ,MAAQA,EAAUzB,EAClD6D,EAAgB,CAAC,CAACpC,GAAWA,EAAQ,SAAY,OAChDiC,EAAiB,WAClBA,EAAiB,SAAW,CAAC,GACjCA,EAAiB,SAAS1D,GAAO,UAAY,CACzC,IAAIF,EAAM,KAAK0D,IACf,OAAO1D,EAAMA,EAAI8D,GAAaC,CAClC,EACAH,EAAiB,OAAOF,IAAqBA,EACjD,CACJ,CAAC,CACL,CACA,SAASM,GAAeC,EAAU,CAC9B,IAAIC,EAAU,UAAY,CACtB,IAAI3B,EAAQ,KACR4B,EAAK,OAAOF,GAAa,WAAaA,EAAS,KAAK,IAAI,EAAIA,EAChEE,EAAK,OAAO,OAAOA,GAAM,IAAI,EAE7BA,EAAGT,IAAqB,KAAKA,KAAsB,CAAC,EACpD,QAASjD,KAAKyD,EAAQ,QAClBC,EAAGD,EAAQ,QAAQzD,IAAM,KAAKA,GAElC,IAAI2D,EAAU,SAAU3D,EAAG,CACvB0D,EAAGD,EAAQ,gBAAgBzD,IAAM4D,EAAO5D,GACnC0D,EAAGT,IAAmB,eAAeQ,EAAQ,gBAAgBzD,EAAE,GAChE,OAAO,eAAe0D,EAAGT,IAAoBQ,EAAQ,gBAAgBzD,GAAI,CACrE,WAAY,GACZ,IAAK,UAAY,CAAE,OAAO8B,EAAM9B,EAAI,CACxC,CAAC,CAET,EACI4D,EAAS,KACb,QAAS5D,KAAKyD,EAAQ,gBAClBE,EAAQ3D,CAAC,EAEb,OAAO0D,CACX,EACA,OAAAD,EAAQ,QAAU,CAAC,EACnBA,EAAQ,gBAAkB,CAAC,EACpBA,CACX,CACA,SAASI,GAAqBL,EAAU,CACpC,OAAQ,OAAOA,GAAa,YACvB,CAACA,EAAS,SAAW,CAACA,EAAS,eACxC,CAMO,SAASM,GAAQrE,EAAK,CACzB,OAAO,gBAAgB,SAAU0D,EAAkBY,EAAG,CAClD,IAAIN,EAAUN,EAAiB,QAC3BU,GAAqBJ,CAAO,IAC5BA,EAAUN,EAAiB,QAAUI,GAAeE,CAAO,GAE/DA,EAAQ,QAAQM,GAAKtE,GAAOsE,CAChC,CAAC,CACL,CAMO,SAASC,GAAgBvE,EAAK,CACjC,OAAO,gBAAgB,SAAU0D,EAAkBY,EAAG,CAClD,IAAIN,EAAUN,EAAiB,QAE1B,MAAM,QAAQA,EAAiB,MAAM,IACtCA,EAAiB,OAASA,EAAiB,QAAU,CAAC,EACtDA,EAAiB,OAAOF,IAAqB,CACzC,KAAMA,GACN,QAAS,CAAC,CACd,GAEAY,GAAqBJ,CAAO,IAC5BA,EAAUN,EAAiB,QAAUI,GAAeE,CAAO,GAE/DA,EAAQ,gBAAgBM,GAAKtE,GAAOsE,CACxC,CAAC,CACL,CAEA,IAAIE,GAA6B,OAAO,SAAY,aAAe,OAAO,QAAQ,aAAgB,YAClG,SAASC,GAAchD,EAASH,EAAQtB,EAAK,CACzC,GAAIwE,IACI,CAAC,MAAM,QAAQ/C,CAAO,GACtB,OAAOA,GAAY,YACnB,OAAOA,EAAQ,MAAS,YAAa,CACrC,IAAIM,EAAO,QAAQ,YAAY,cAAeT,EAAQtB,CAAG,EACrD+B,IAAS,SACTN,EAAQ,KAAOM,EAEvB,CAER,CAOO,SAAS2C,GAAMC,EAAOlD,EAAS,CAClC,OAAIA,IAAY,SAAUA,EAAU,CAAC,GAC9B,SAAUH,EAAQtB,EAAK,CAC1ByE,GAAchD,EAASH,EAAQtB,CAAG,EAClC,gBAAgB,SAAU0D,EAAkBY,EAAG,EAE1CZ,EAAiB,QAAUA,EAAiB,MAAQ,CAAC,IAAIY,GAAK7C,EAC/DiC,EAAiB,MAAQ,CAAE,KAAMY,EAAG,MAAOK,GAASL,CAAE,CAC1D,CAAC,EAAEhD,EAAQtB,CAAG,CAClB,CACJ,CAMO,SAAS4E,EAAKnD,EAAS,CAC1B,OAAIA,IAAY,SAAUA,EAAU,CAAC,GAC9B,SAAUH,EAAQtB,EAAK,CAC1ByE,GAAchD,EAASH,EAAQtB,CAAG,EAClC,GAAgB,SAAU0D,EAAkBY,EAAG,EAE1CZ,EAAiB,QAAUA,EAAiB,MAAQ,CAAC,IAAIY,GAAK7C,CACnE,CAAC,EAAEH,EAAQtB,CAAG,CAClB,CACJ,CAOO,SAAS6E,GAASC,EAAUrD,EAAS,CACxC,OAAIA,IAAY,SAAUA,EAAU,CAAC,GAE9B,SAAUH,EAAQtB,EAAK,CAC1ByE,GAAchD,EAASH,EAAQtB,CAAG,EAClC,gBAAgB,SAAU0D,EAAkBY,EAAG,EAE1CZ,EAAiB,QAAUA,EAAiB,MAAQ,CAAC,IAAIoB,GAAYrD,GACrEiC,EAAiB,WAAaA,EAAiB,SAAW,CAAC,IAAIY,GAAK,CACjE,IAAK,UAAY,CACb,OAAO,KAAKQ,EAChB,EACA,IAAK,SAAU7E,EAAO,CAElB,KAAK,MAAM,UAAY6E,EAAU7E,CAAK,CAC1C,CACJ,CACJ,CAAC,EAAEqB,EAAQtB,CAAG,CAClB,CACJ,CAOO,SAAS+E,EAAMC,EAAMvD,EAAS,CAC7BA,IAAY,SAAUA,EAAU,CAAC,GACrC,IAAIwD,EAAKxD,EAAQ,KAAMyD,EAAOD,IAAO,OAAS,GAAQA,EAAIE,EAAK1D,EAAQ,UAAW2D,EAAYD,IAAO,OAAS,GAAQA,EACtH,OAAO,GAAgB,SAAUzB,EAAkB2B,EAAS,CACpD,OAAO3B,EAAiB,OAAU,WAClCA,EAAiB,MAAQ,OAAO,OAAO,IAAI,GAE/C,IAAI4B,EAAQ5B,EAAiB,MACzB,OAAO4B,EAAMN,IAAU,UAAY,CAAC,MAAM,QAAQM,EAAMN,EAAK,EAC7DM,EAAMN,GAAQ,CAACM,EAAMN,EAAK,EAErB,OAAOM,EAAMN,IAAU,cAC5BM,EAAMN,GAAQ,CAAC,GAEnBM,EAAMN,GAAM,KAAK,CAAE,QAASK,EAAS,KAAMH,EAAM,UAAWE,CAAU,CAAC,CAC3E,CAAC,CACL,CAEA,IAAIG,GAAc,aACdC,GAAY,SAAUC,EAAK,CAAE,OAAOA,EAAI,QAAQF,GAAa,KAAK,EAAE,YAAY,CAAG,EAMhF,SAASG,EAAKf,EAAO,CACxB,OAAO,SAAUgB,EAAS5E,EAAa6B,EAAY,CAC/C,IAAI5C,EAAMwF,GAAUzE,CAAW,EAC3BgD,EAAWnB,EAAW,MAC1BA,EAAW,MAAQ,UAAmB,CAGlC,QAFIP,EAAQ,KACRuD,EAAO,CAAC,EACHC,EAAK,EAAGA,EAAK,UAAU,OAAQA,IACpCD,EAAKC,GAAM,UAAUA,GAEzB,IAAIC,EAAO,SAAUC,EAAa,CAC9B,IAAIC,EAAWrB,GAAS3E,EACpB+F,IAAgB,OACZH,EAAK,SAAW,EAChBvD,EAAM,MAAM2D,CAAQ,EAEfJ,EAAK,SAAW,EACrBvD,EAAM,MAAM2D,EAAUJ,EAAK,EAAE,EAG7BvD,EAAM,MAAM,MAAMA,EAAO,CAAC2D,CAAQ,EAAE,OAAOJ,CAAI,CAAC,EAIhDA,EAAK,SAAW,EAChBvD,EAAM,MAAM2D,EAAUD,CAAW,EAE5BH,EAAK,SAAW,EACrBvD,EAAM,MAAM2D,EAAUD,EAAaH,EAAK,EAAE,EAG1CvD,EAAM,MAAM,MAAMA,EAAO,CAAC2D,EAAUD,CAAW,EAAE,OAAOH,CAAI,CAAC,CAGzE,EACIG,EAAchC,EAAS,MAAM,KAAM6B,CAAI,EAC3C,OAAIK,GAAUF,CAAW,EACrBA,EAAY,KAAK,SAAUA,EAAa,CACpCD,EAAKC,CAAW,CACpB,CAAC,EAGDD,EAAKC,CAAW,EAEbA,CACX,CACJ,CACJ,CAKO,SAASG,GAAIC,EAAQ,CACxB,OAAO,gBAAgB,SAAU1E,EAASzB,EAAK,CAC3CyB,EAAQ,SAAWA,EAAQ,UAAY,CAAC,EACxCA,EAAQ,SAASzB,GAAO,CACpB,MAAO,GACP,IAAK,UAAY,CACb,OAAO,KAAK,MAAMmG,GAAUnG,EAChC,CACJ,CACJ,CAAC,CACL,CACA,SAASiG,GAAUnG,EAAK,CACpB,OAAOA,aAAe,SAAYA,GAAO,OAAOA,EAAI,MAAS,UACjE,CC3RA,IAAI,GAAS,UAAW,CACtB,IAAIN,EAAM,KACNC,EAAKD,EAAI,eACTE,EAAKF,EAAI,MAAM,IAAMC,EACzB,OAAOC,EACL,MACA,CACEF,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,UAClDA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,OAC9CE,EACE,MACA,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,cACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,MACA,CAAE,YAAa,YAAa,EAC5B,CACEA,EAAG,eAAgB,CACjB,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,CAAC,EACDF,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CAAE,YAAa,uBAAwB,EAAG,CACpDF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,CAAC,CACtC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,uBAAwB,EACvC,CACEA,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OACEF,EAAI,aACJA,EAAI,gBAAgB,cACxB,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MAAOA,EAAI,gBAAgB,eAC3B,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,oBAAqB,CACxC,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IAAK,qCACL,IAAK,wBACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBACFA,EAAI,gBAAgB,cACtB,CACF,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OACEF,EAAI,aACJA,EAAI,gBAAgB,qBACxB,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MACEA,EAAI,gBAAgB,sBACtB,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,2BAA4B,CAC/C,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IACE,wCACF,IAAK,2BACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBACFA,EAAI,gBAAgB,qBACtB,CACF,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OACEF,EAAI,aAAeA,EAAI,gBAAgB,KAC3C,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MAAOA,EAAI,gBAAgB,MAC3B,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,WAAY,CAC/B,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IACE,sCACF,IAAK,yBACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBACFA,EAAI,gBAAgB,KACtB,CACF,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OACEF,EAAI,aAAeA,EAAI,gBAAgB,OAC3C,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MAAOA,EAAI,gBAAgB,QAC3B,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,aAAc,CACjC,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IAAK,gCACL,IAAK,sBACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBACFA,EAAI,gBAAgB,OACtB,CACF,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OACEF,EAAI,aAAeA,EAAI,gBAAgB,KAC3C,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MAAOA,EAAI,gBAAgB,MAC3B,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,mBAAoB,CACvC,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IACE,0CACF,IAAK,iBACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,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C7B,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IAAK,uCACL,IAAK,yBACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBAAkBA,EAAI,gBAAgB,GAAG,CAC/C,CACF,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,WACA,CACE,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,cACb,MAAO,CACL,OAAQF,EAAI,aAAeA,EAAI,gBAAgB,KACjD,EACA,MAAO,CACL,SAAUA,EAAI,iBACd,MAAOA,EAAI,gBAAgB,MAC3B,QAAS,kBACT,KAAM,aACR,EACA,GAAI,CAAE,MAAOA,EAAI,WAAY,CAC/B,EACA,CACEE,EACE,MACA,CACEA,EAAG,QAAS,CACV,YAAa,cACb,MAAO,CACL,IACE,4CACF,IAAK,qBACP,CACF,CAAC,CACH,EACA,CACF,EACAF,EAAI,GAAG,GAAG,EACVE,EAAG,OAAQ,CACT,YAAa,QACb,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,kBAAkBA,EAAI,gBAAgB,KAAK,CACjD,CACF,CACF,CAAC,CACH,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,cAAe,CAAE,EAChC,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,eACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,oBAAqB,CACrC,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CACxC,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAgBA,EAAI,iBAAiB,SAC9CE,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,eACb,MAAO,CACL,GAAI,qBACJ,SAAUF,EAAI,iBACd,oBAAqB,GACrB,mBAAoB,oBACpB,KAAM,eACN,MAAOA,EAAI,aACX,QAASA,EAAI,aACf,CACF,CAAC,EACDE,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,eACb,MAAO,CACL,GAAI,qBACJ,oBAAqB,GACrB,mBAAoB,oBACpB,KAAM,eACN,MAAOF,EAAI,aACX,QAASA,EAAI,aACf,CACF,CAAC,EACLA,EAAI,GAAG,GAAG,EACVE,EACE,cACA,CAAE,MAAO,CAAE,GAAI,mBAAoB,CAAE,EACrC,CACEF,EAAI,GACF;AAAA,0BACEA,EAAI,GACFA,EAAI,GACF,wGACF,CACF,EACA;AAAA,qBACJ,CACF,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,YACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,CAAC,EACDF,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,iBAAkB,CAClC,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAC9C,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,gBACA,CAAE,MAAO,CAAE,OAAQ,OAAK,CAAE,EAC1B,CACEA,EAAG,gBAAiB,CAClB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,eACb,MAAO,CACL,GAAI,kBACJ,KAAM,OACN,MAAOF,EAAI,UACX,QAASA,EAAI,UACf,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,UACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEA,EAAI,cAAgB,GAAKA,EAAI,cAAgB,EACzCE,EACE,MACA,CACEA,EAAG,eAAgB,CACjB,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,CAAC,EACDA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,SAAU,CAC1B,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,CACjD,CACF,EACA,CACF,EACAE,EACE,MACA,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEF,EAAI,cAAgB,EAChBE,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,SAAU,CAC1B,EACA,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,kCAA4B,CACrC,CACF,CACF,CACF,EACAE,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,SAAU,CAC1B,EACA,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GACF,2CACF,CACF,CACF,CACF,CACF,CACN,CACF,CACF,EACA,CACF,EACJA,EAAI,GAAG,GAAG,EACVE,EACE,gBACA,CAAE,MAAO,CAAE,OAAQ,KAAM,CAAE,EAC3B,CACEA,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,UACN,GAAI,UACJ,MAAOF,EAAI,OACb,CACF,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,IAAK,MACL,IAAK,QACL,KAAM,MACN,MAAOF,EAAI,QACX,KAAM,UACN,GAAI,UACJ,aAAc,mBAChB,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,uBACAE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,GAAI,CAAE,EACrB,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEF,EAAI,cAAgB,EAChBE,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,SAAU,CAC1B,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,4BAAyB,CAAC,CAAC,CAAC,CACpD,EACAE,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,SAAU,CAC1B,EACA,CACEF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,+BAA+B,CAAC,CAChD,CACF,CACF,CACN,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,gBACA,CAAE,MAAO,CAAE,OAAQ,KAAM,CAAE,EAC3B,CACEA,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,UACN,GAAI,UACJ,MAAOF,EAAI,OACb,CACF,CAAC,CACH,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,IAAK,MACL,IAAK,QACL,KAAM,MACN,MAAOF,EAAI,QACX,KAAM,UACN,GAAI,UACJ,aAAc,mBACh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AAa,qBACf,EACA,CACEF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,UACD,kBAAkB,GAClB,kBACL,EACA;AAAA,6BACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,QACAE,EACE,OACA,CAAE,YAAa,OAAQ,EACvB,CACEF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,cACFA,EAAI,UACD,kBAAkB,GAClB,mBACH,CACF,CACF,EACA;AAAA,kCACAA,EAAI,GACFA,EAAI,UACD,kBAAkB,GAClB,gBACL,EACA;AAAA,6BACJ,CACF,CACF,EACAE,EACE,OACA,CAAE,YAAa,OAAQ,EACvB,CACEF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,cACFA,EAAI,UACD,kBAAkB,GAClB,wBACH,CACF,CACF,EACA;AAAA,kCACAA,EAAI,GACFA,EAAI,UACD,kBAAkB,GAClB,gBACL,EACA;AAAA,6BACJ,CACF,CACF,CACN,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACEA,EACE,QACA,CAAE,YAAa,0BAA2B,EAC1C,CACEA,EACE,OACA,CAAE,YAAa,qBAAsB,EACrC,CACEF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,UAAU,kBAAkB,GAC7B,gBACL,EACA;AAAA,6BACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,QACAE,EAAG,OAAQ,CAAE,YAAa,OAAQ,EAAG,CACnCF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,cACFA,EAAI,UACD,kBAAkB,GAClB,iBACH,CACF,CACF,EACA;AAAA,kCACAA,EAAI,GACFA,EAAI,UACD,kBAAkB,GAClB,cACL,EACA;AAAA,6BACJ,CACF,CAAC,EACDE,EAAG,OAAQ,CAAE,YAAa,OAAQ,EAAG,CACnCF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,cACFA,EAAI,UACD,kBAAkB,GAClB,sBACH,CACF,CACF,EACA;AAAA,kCACAA,EAAI,GAC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,CAAE,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,CAAE,EACvC,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CACL,IAAK,qCACP,CACF,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CACrC,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,WACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,GAAI,sCACJ,KAAM,WACN,MAAOF,EAAI,SAAS,QACtB,EACA,GAAI,CAAE,gBAAiBA,EAAI,YAAa,CAC1C,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,cAAgBA,EAAI,6BACpBE,EACE,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,CAAE,EACvC,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CACL,IAAK,kCACP,CACF,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAC1C,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,QACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,GAAI,mCACJ,KAAM,QACN,MAA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E,EAC9B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,GAAI,iCAAkC,CACjD,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,wBAAkB,CAAC,CAAC,CAAC,CAC7C,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,eACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,QACN,GAAI,kCACJ,KAAM,eACN,MAAOF,EAAI,QAAQ,KACrB,EACA,GAAI,CAAE,gBAAiBA,EAAI,YAAa,CAC1C,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACTA,EAAI,aA2IDA,EAAI,GAAG,EA1IPE,EACE,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CACL,IACE,mDACJ,CACF,EACA,CACEF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,2BAAwB,CAAC,CACzC,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,6BACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,GACE,oDACF,KAAM,6BACN,UAAW,KACX,MAAOF,EAAI,sBACb,EACA,GAAI,CAAE,gBAAiBA,EAAI,YAAa,CAC1C,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CACL,IACE,kDACJ,CACF,EACA,CACEF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,4BAAyB,CAAC,CAC1C,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,4BACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,GACE,mDACF,KAAM,4BACN,UAAW,KACX,MAAOF,EAAI,qBACb,EACA,GAAI,CAAE,gBAAiBA,EAAI,YAAa,CAC1C,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EAEJA,EAAI,GAAG,GAAG,EACTA,EAAI,aAiIDA,EAAI,GAAG,EAhIPE,EACE,MACA,CAAE,YAAa,KAAM,EACrB,CACEA,EACE,QACA,CAAE,MAAO,CAAE,GAAI,IAAK,GAAI,GAAI,CAAE,EAC9B,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,iCAA8B,CACvC,CACF,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,yBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EA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J,gBAAiBF,EAAI,cACvB,EACA,GAAI,CACF,uBACEA,EAAI,2BACR,EACA,MAAO,CACL,MAAOA,EAAI,UACX,SAAU,SAASwc,EAAK,CACtBxc,EAAI,UAAYwc,CAClB,EACA,WAAY,WACd,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAxc,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,KAAM,KAAM,GAAI,IAAK,GAAI,GAAI,CAAE,EAC1C,CACEA,EACE,uBACA,CACE,MAAO,CACL,oBAAqBF,EAAI,iBACzB,gBAAiB,UACnB,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CAAE,gBAAiB,KAAM,gBAAiB,IAAK,CACxD,EACA,CACEF,EAAI,UACAE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACF;AAAA,8BACEA,EAAI,GAAGA,EAAI,GAAG,oBAAoB,CAAC,EACnC;AAAA,6BACJ,EACAA,EAAI,wCACAE,EAAG,oBAAqB,CACtB,MAAOF,EAAI,aACX,MAAO,CACL,KAAM,qBACN,GAAI,8BACJ,KAAM,IACR,CACF,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,wCACAE,EACE,YACA,CACE,MAAO,CACL,OAAQ,8BACR,QAAS,UACT,UAAW,QACX,SAAU,OACZ,CACF,EACA,CACEF,EAAI,GACF;AAAA,kCACEA,EAAI,GACFA,EAAI,GACF,+EACF,CACF,EACA;AAAA,6BACJ,CACF,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,EACAE,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CACEF,EAAI,GACF;AAAA,8BACEA,EAAI,GAAGA,EAAI,GAAG,2BAAqB,CAAC,EACpC;AAAA,6BACJ,EACAA,EAAI,wCACAE,EAAG,oBAAqB,CACtB,MAAOF,EAAI,aACX,MAAO,CACL,KAAM,qBACN,GAAI,oBACJ,KAAM,IACR,CACF,CAAC,EACDA,EAAI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qB,EAAG,CAC/CA,EAAG,MAAO,CAAE,YAAa,aAAc,EAAG,CACxCF,EAAI,GACF;AAAA,sBACEA,EAAI,GAAGA,EAAI,GAAG,2BAAqB,CAAC,EACpC;AAAA,iBACJ,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CAAE,YAAa,WAAY,EAC3B,CACEA,EACE,QACA,CACEA,EAAG,QAAS,CAAE,MAAO,CAAE,KAAM,IAAK,CAAE,EAAG,CACrCA,EACE,MACA,CACE,WAAY,CACV,CACE,KAAM,YACN,QAAS,cACT,MAAOF,EAAI,yBACX,WAAY,0BACd,CACF,EACA,YAAa,YACf,EACA,CACEE,EACE,uBACA,CACE,YAAa,mBACb,MAAO,CACL,gBAAiB,kBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CAAE,YAAa,uBAAwB,EACvC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CACzC,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,MACA,CACEF,EAAI,SAAS,cACbA,EAAI,iBAAiB,SACjBE,EACE,MACA,CACE,WAAY,CACV,CACE,KAAM,YACN,QAAS,cACT,MACEF,EAAI,iCACN,WACE,kCACJ,CACF,EACA,YAAa,OACf,EACA,CACEE,EAAG,QAAS,CACVA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QACE,sBACJ,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,iBACR,EACA,SAAU,CACR,MACEF,EAAI,oBACD,iBACL,QACEA,EAAI,SACD,iBACHA,EAAI,oBACD,gBACP,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GACFA,EAAI,GACF,wFACF,CACF,EACA;AAAA,6CACJ,CACF,CAAC,CACH,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cACbA,EAAI,iBAAiB,QACjBE,EAAG,MAAO,CAAE,YAAa,OAAQ,EAAG,CAClCA,EAAG,QAAS,CACVA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QACE,sBACJ,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,iBACR,EACA,SAAU,CACR,MACEF,EAAI,oBACD,gBACL,QACEA,EAAI,SACD,iBACHA,EAAI,oBACD,eACP,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF,IACEA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,EAC5B;AAAA,6CACJ,CACF,CAAC,CACH,CAAC,EACDA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EAAG,MAAO,CAAE,YAAa,YAAa,EAAG,CACvCA,EACE,QACA,CAAE,YAAa,iBAAkB,EACjC,CACEA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,4BACN,WACE,6BACJ,CACF,EACA,MAAO,CACL,KAAM,WACN,KACE,8BACF,aAAc,IACd,cAAe,IACf,SACEA,EAAI,SAAS,iBACXA,EAAI,oBACD,kBACLA,EAAI,SAAS,iBACXA,EAAI,oBACD,eACT,EACA,SAAU,CACR,QACEA,EAAI,6BACJ,EACF,QAAS,MAAM,QACbA,EAAI,2BACN,EACIA,EAAI,GACFA,EAAI,4BACJ,IACF,EAAI,GACJA,EAAI,GACFA,EAAI,4BACJ,GACF,CACN,EACA,GAAI,CACF,OAAQ,SAASG,EAAQ,CACvB,IAAIunB,EACA1nB,EAAI,4BACN2nB,EAAOxnB,EAAO,OACdynB,EAAMD,EAAK,QAAU,IAAM,IAC7B,GAAI,MAAM,QAAQD,CAAG,EAAG,CACtB,IAAIlL,EAAM,KACRqL,EAAM7nB,EAAI,GAAG0nB,EAAKlL,CAAG,EACnBmL,EAAK,QACPE,EAAM,IACH7nB,EAAI,4BAA8B0nB,EAAI,OACrC,CAAClL,CAAG,CACN,GAEFqL,EAAM,KACH7nB,EAAI,4BAA8B0nB,EAChC,MAAM,EAAGG,CAAG,EACZ,OACCH,EAAI,MAAMG,EAAM,CAAC,CACnB,EAER,MACE7nB,EAAI,4BAA8B4nB,CAEtC,CACF,CACF,CAAC,EACD5nB,EAAI,GACF;AAAA,kDACEA,EAAI,GACFA,EAAI,GACF,gDACF,CACF,EACA;AAAA,6CACJ,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,IAAI,EACPF,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACE,YAAa,CAAE,cAAe,MAAO,CACvC,EACA,CACEF,EAAI,GACF,gDACF,CACF,CACF,CACF,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,YAAa,mBACb,MAAO,CACL,gBAAiB,gBACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EAAG,MAAO,CAAE,YAAa,OAAQ,EAAG,CAClCA,EAAG,QAAS,CACVA,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,qBACN,QACE,sBACJ,CACF,EACA,MAAO,CACL,KAAM,QACN,KAAM,iBACR,EACA,SAAU,CACR,MACEF,EAAI,oBAAoB,MAC1B,QACEA,EAAI,SACD,iBACHA,EAAI,oBAAoB,KAC5B,EACA,GAAI,CACF,gBACEA,EAAI,sBACR,CACF,CAAC,EACDA,EAAI,GACF;AAAA,qDACF,EACAE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,SAAS,cACf,WACE,wBACJ,EACA,CACE,KAAM,qBACN,QACE,sBACJ,CACF,EACA,YACE,8BACF,YAAa,CACX,MAAO,QACP,QACE,yBACJ,EACA,MAAO,CACL,KAAM,QACN,KAAM,gBACN,UAAW,MACX,SACEA,EAAI,SACD,iBACHA,EAAI,oBAAoB,KAC5B,EACA,SAAU,CACR,MACEA,EAAI,SAAS,aACjB,EACA,GAAI,CACF,MAAO,SAASG,EAAQ,CAClBA,EAAO,OAAO,WAGlBH,EAAI,KACFA,EAAI,SACJ,gBACAG,EAAO,OAAO,KAChB,CACF,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC,CACH,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,CAAC,CACH,EACA,CACF,EACAH,EAAI,GAAG,GAAG,EACVA,EAAI,6BAA+B,EAC/BE,EACE,QACA,CACEF,EAAI,SAAS,cACbA,EAAI,iBAAiB,QACjBE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,KAAM,GAAI,GAAI,CAAE,EAC/B,CACEA,EACE,uBACA,CACE,YAAa,mBACb,MAAO,CACL,gBAAiB,uBACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YACE,wBACF,MAAO,CACL,IAAK,mBACP,CACF,EACA,CACEF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,kBAAe,CAAC,CAChC,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,SAAS,iBACV,kBACL,WACE,6CACJ,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,eACb,MAAO,CACL,GAAI,oBACJ,KAAM,OACN,KAAM,gCACN,UAAW,IACb,EACA,SAAU,CACR,MACEA,EAAI,SAAS,iBACV,iBACP,EACA,GAAI,CACF,MAAO,SAASG,EAAQ,CAClBA,EAAO,OAAO,WAGlBH,EAAI,KACFA,EAAI,SAAS,iBACb,oBACAG,EAAO,OAAO,KAChB,CACF,CACF,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAH,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,KAAM,GAAI,GAAI,CAAE,EAC/B,CACEA,EACE,uBACA,CACE,YAAa,mBACb,MAAO,CACL,gBAAiB,kBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CACL,IAAK,0BACP,CACF,EACA,CACEF,EAAI,GACFA,EAAI,GAAGA,EAAI,GAAG,gBAAgB,CAAC,CACjC,CACF,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,sBAAuB,CACxB,MAAO,CACL,GAAI,2BACJ,gBACEF,EAAI,SAAS,iBAAiB,QAC3B,IACL,aAAcA,EAAI,kBACpB,EACA,GAAI,CACF,kBACEA,EAAI,uBACR,EACA,MAAO,CACL,MAAOA,EAAI,mBACX,SAAU,SAASwc,EAAK,CACtBxc,EAAI,mBAAqBwc,CAC3B,EACA,WAAY,oBACd,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAxc,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,KAAM,KAAM,GAAI,KAAM,GAAI,GAAI,CAAE,EAC3C,CACEA,EACE,uBACA,CACE,YAAa,mBACb,MAAO,CACL,gBAAiB,eACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CACL,IAAK,8BACP,CACF,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CACxC,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,sBAAuB,CACxB,MAAO,CACL,GAAI,+BACJ,qBACE,yBACF,gBAAiBF,EAAI,qBACvB,EACA,GAAI,CACF,uBACEA,EAAI,uBACR,EACA,MAAO,CACL,MAAOA,EAAI,gBACX,SAAU,SAASwc,EAAK,CACtBxc,EAAI,gBAAkBwc,CACxB,EACA,WAAY,iBACd,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAxc,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,KAAM,KAAM,GAAI,KAAM,GAAI,GAAI,CAAE,EAC3C,CACEA,EACE,MACA,CAAE,YAAa,6BAA8B,EAC7C,CACEA,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEF,EAAI,SAAS,iBAAiB,QAC3B,MACCE,EACE,QACA,CACE,YACE,wBACF,MAAO,CACL,IAAK,uBACP,CACF,EACA,CACEF,EAAI,GACFA,EAAI,GACFA,EAAI,GAAG,kBAAkB,CAC3B,CACF,CACF,CACF,EACAE,EACE,QACA,CACE,YACE,wBACF,MAAO,CACL,IAAK,uBACP,CACF,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAC7B,CACN,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,IAAK,CACN,YAAa,+BACb,MAAO,CAAE,GAAI,uBAAwB,EACrC,SAAU,CACR,YAAaF,EAAI,GACfA,EAAI,SAAS,iBAAiB,QAC3B,KACL,CACF,CACF,CAAC,CACH,EACA,CACF,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CAAE,MAAO,CAAE,GAAI,KAAM,GAAI,GAAI,CAAE,EAC/B,CACEA,EACE,uBACA,CACE,YAAa,mBACb,MAAO,CACL,gBAAiB,mBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACnB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,mBAAoB,CACpC,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAChC,CACF,CACF,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,QAAS,CACV,WAAY,CACV,CACE,KAAM,QACN,QAAS,UACT,MACEF,EAAI,SAAS,iBAAiB,QAC3B,QACL,WACE,2CACJ,EACA,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,YAAa,eACb,MAAO,CACL,GAAI,oBACJ,KAAM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AAe,GACf,aAAc,GACd,qBAAsB,GACtB,IAAKA,EAAI,QACT,IAAKA,EAAI,QACT,mBAAoBA,EAAI,YAC1B,EACA,MAAO,CACL,MAAOA,EAAI,UACX,SAAU,SAASwc,EAAK,CACtBxc,EAAI,UAAYwc,CAClB,EACA,WAAY,WACd,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EAEJxc,EAAI,GAAG,GAAG,EACVE,EACE,QACA,CACEA,EACE,QACA,CAAE,MAAO,CAAE,KAAM,KAAM,GAAI,GAAI,CAAE,EACjC,CACEA,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,mBACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EACE,eACA,CACEA,EACE,QACA,CACE,YAAa,wBACb,MAAO,CAAE,IAAK,kBAAmB,CACnC,EACA,CAACF,EAAI,GAAG,gBAAa,CAAC,CACxB,EACAA,EAAI,GAAG,GAAG,EACVE,EAAG,kBAAmB,CACpB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,GAAI,mBACJ,KAAM,mBACN,KAAM,IACN,UAAW,OACX,YAAa,+BACf,EACA,MAAO,CACL,MAAOF,EAAI,SAAS,iBACpB,SAAU,SAASwc,EAAK,CACtBxc,EAAI,KAAKA,EAAI,SAAU,mBAAoBwc,CAAG,CAChD,EACA,WAAY,2BACd,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,CACF,EACA,CACF,EACAxc,EAAI,GAAG,GAAG,EACTA,EAAI,aAkBDA,EAAI,GAAG,EAjBPE,EACE,QACA,CACEA,EAAG,QAAS,CACVA,EAAG,OAAQ,CACTF,EAAI,GACFA,EAAI,GACFA,EAAI,GACF,+GACF,CACF,CACF,CACF,CAAC,CACH,CAAC,CACH,EACA,CACF,CAEN,EACA,CACF,CACF,EACI,GAAkB,CAAC,EACvB,GAAO,cAAgB,GCntEvB,MAAM8nB,EAAqB,CAEvB,aAAane,EAA8Boe,EAA6C,CAEpF,IAAIC,EAAM,E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,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,MAAO,EAAG,CACnCF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,kBAAe,CAAC,CAAC,CACxC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,MACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,MACN,MAAOF,EAAI,SAAS,GACtB,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,SAAS,cAAgB,EACzBE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,MAAO,EAAG,CACnCF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,UAAU,CAAC,CAAC,CACnC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,aACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,KAAM,OACN,KAAM,aACN,UAAW,KACX,MAAOF,EAAI,QAAQ,UACrB,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,OACb,MAAO,CAAE,IAAK,0BAA2B,CAC3C,EACA,CAACF,EAAI,GAAG,eAAe,CAAC,CAC1B,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,QACjB,oBAAqBF,EAAI,gBAC3B,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,GAAI,2BACJ,KAAM,OACN,KAAM,QACN,MAAOF,EAAI,SAAS,MAChBA,EAAI,SAAS,MACb,MACN,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,GAAG,EACVA,EAAI,cACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EACE,QACA,CACE,YAAa,OACb,MAAO,CAAE,IAAK,0BAA2B,CAC3C,EACA,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,wBAAkB,CAAC,CAAC,CAAC,CAC7C,EACAA,EAAI,GAAG,GAAG,EACVE,EACE,uBACA,CACE,MAAO,CACL,gBAAiB,QACjB,oBACEF,EAAI,gBACR,CACF,EACA,CACEE,EAAG,eAAgB,CACjB,WAAY,CACV,CACE,KAAM,qBACN,QAAS,sBACX,CACF,EACA,MAAO,CACL,GAAI,2BACJ,KAAM,QACN,KAAM,QACN,MAAOF,EAAI,SAAS,KACtB,CACF,CAAC,CACH,EACA,CACF,CACF,EACA,CACF,EACAA,EAAI,GAAG,CACb,EACA,CACF,EACAE,EACE,MACA,CACEF,EAAI,cACAE,EACE,eACA,CACE,YAAa,OACb,MAAO,CACL,gBAAiB,KACjB,gBAAiB,IACjB,iBAAkB,OACpB,CACF,EACA,CACEA,EAAG,QAAS,CAAE,YAAa,MAAO,EAAG,CACnCF,EAAI,GAAGA,EAAI,GAAGA,EAAI,GAAG,eAAe,CAAC,CAAC,CACxC,CAAC,EACDA,EAAI,GAAG,GAAG,EACVE,EACE,OACA,CAAE,YAAa,kBAAmB,EAClC,CAACF,EAAI,GAAGA,EAAI,GAAGA,EAAI,aAAa,CAAC,CAAC,CACpC,CACF,CACF,EACAA,EAAI,GAAG,EACXA,EAAI,GAAG,GAAG,EACVA,EAAI,cACAE,EACE,eACA,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","file":"dist/newcontract-contractpage-pks/app.js","sourcesContent":["module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tunnistaudu pankkitunnuksillasi\":\"Tunnistaudu pankkitunnuksillasi\",\"Testihenkilötunnus\":\"Testihenkilötunnus\"},\"sv\":{\"Tunnistaudu pankkitunnuksillasi\":\"Identifiera dig med nätbankskoder\",\"Testihenkilötunnus\":\"Testpersonbeteckning\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Y-tunnus\":\"Y-tunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Yhteyshenkilön sukunimi\":\"Yhteyshenkilön sukunimi\",\"Asiointikieli\":\"Asiointikieli\",\"Yrityksen nimi\":\"Yrityksen nimi\",\"Sähköposti\":\"Sähköposti\",\"Yhteyshenkilön etunimi\":\"Yhteyshenkilön etunimi\"},\"sv\":{\"Y-tunnus\":\"SWE Y-tunnus\",\"Puhelinnumero\":\"SWE Puhelinnumero\",\"Yhteyshenkilön sukunimi\":\"SWE Yhteyshenkilön sukunimi\",\"Asiointikieli\":\"SWE Asiointikieli\",\"Yrityksen nimi\":\"SWE Yrityksen nimi\",\"Sähköposti\":\"SWE Sähköposti\",\"Yhteyshenkilön etunimi\":\"SWE Yhteyshenkilön etunimi\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Y-tunnus\":\"Y-tunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Yhteyshenkilön sukunimi\":\"Yhteyshenkilön sukunimi\",\"Asiointikieli\":\"Asiointikieli\",\"Yrityksen nimi\":\"Yrityksen nimi\",\"Sähköposti\":\"Sähköposti\",\"Yhteyshenkilön etunimi\":\"Yhteyshenkilön etunimi\"},\"sv\":{\"Y-tunnus\":\"SWE Y-tunnus\",\"Puhelinnumero\":\"SWE Puhelinnumero\",\"Yhteyshenkilön sukunimi\":\"SWE Yhteyshenkilön sukunimi\",\"Asiointikieli\":\"SWE Asiointikieli\",\"Yrityksen nimi\":\"SWE Yrityksen nimi\",\"Sähköposti\":\"SWE Sähköposti\",\"Yhteyshenkilön etunimi\":\"SWE Yhteyshenkilön etunimi\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tee sähkösopimus\":\"Tee sähkösopimus\",\"Yhteenveto\":\"Yhteenveto\",\"Asiakkaan tiedot\":\"Asiakkaan tiedot\",\"Nimi\":\"Nimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Asiointikieli\":\"Asiointikieli\",\"Valitse asiointikieli\":\"Valitse asiointikieli\",\"suomi\":\"suomi\",\"ruotsi\":\"ruotsi\",\"Tuote\":\"Tuote\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Sopimustiedot\":\"Sopimustiedot\",\"Sopimuksen alkupäivä\":\"Sopimuksen alkupäivä\",\"Viestintäkanavat\":\"Viestintäkanavat\",\"Haluan saada asiakassuhteeseeni liittyvät viestit (esim. sopimusvahvistus ja hinnanmuutosilmoitukset): \":\"Haluan saada asiakassuhteeseeni liittyvät viestit (esim. sopimusvahvistus ja hinnanmuutosilmoitukset): \",\"Laskuja vuodessa\":\"Laskuja vuodessa\",\"kpl\":\"kpl\",\"Sopimusehdot\":\"Sopimusehdot\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutustapa\":\"Laskutustapa\",\"Olen tutustunut voimassa oleviin\":\"Olen tutustunut voimassa oleviin\",\"sopimusehtoihin\":\"sopimusehtoihin\",\"hyväksyn ne ja valtuutan Turku Energian tekemään jakeluverkonhaltijan ja nykyisen sähkönmyyjän kanssa tarvittavat toimenpiteet sähköntoimituksen aloittamiseksi.\":\"hyväksyn ne ja valtuutan Turku Energian tekemään jakeluverkonhaltijan ja nykyisen sähkönmyyjän kanssa tarvittavat toimenpiteet sähköntoimituksen aloittamiseksi.\",\"Kuluttaja-asiakkaana minulla on oikeus perua sopimus 14 päivän kuluessa sopimusvahvistuksen vastaanottamisesta.\":\"Kuluttaja-asiakkaana minulla on oikeus perua sopimus 14 päivän kuluessa sopimusvahvistuksen vastaanottamisesta.\",\"Haluan saada lisätietoja ja tarjouksia myös Turku Energian muista tuotteista, palveluista ja eduista\":\"Haluan saada lisätietoja ja tarjouksia myös Turku Energian muista tuotteista, palveluista ja eduista\",\"Markkinointilupa\":\"Markkinointilupa\",\"Hyväksy tarjous\":\"Hyväksy tarjous\",\"Hyväksy sopimus\":\"Hyväksy sopimus\",\"Muokkaa sopimusta\":\"Muokkaa sopimusta\",\"Sopimuskumppani \":\"Sopimuskumppani \"},\"sv\":{\"Tee sähkösopimus\":\"Teckna elavtal\",\"Yhteenveto\":\"Sammandragning\",\"Asiakkaan tiedot\":\"Kunduppgifter\",\"Nimi\":\"Namn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Asiointikieli\":\"Betjäningsspråk\",\"Valitse asiointikieli\":\"Välj betjäningsspråk\",\"suomi\":\"Finska\",\"ruotsi\":\"Svenska\",\"Tuote\":\"Produkt\",\"Asiakkaan osoite\":\"Kundens adress\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Käyttöpaikkatunnus\":\"Förbrukningsplatsens nummer\",\"Sopimustiedot\":\"Avtalsuppgifter\",\"Sopimuksen alkupäivä\":\"Avtalets begynnelsetid\",\"Viestintäkanavat\":\"Tjänst val\",\"Haluan saada asiakassuhteeseeni liittyvät viestit (esim. sopimusvahvistus ja hinnanmuutosilmoitukset): \":\"Jag vill ta mot kommunikation relaterad till min kundrelation:\",\"Laskuja vuodessa\":\"Fakturor per år\",\"kpl\":\"st\",\"Sopimusehdot\":\"Avtalsvillkor\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutustapa\":\"Faktureringssätt\",\"Olen tutustunut voimassa oleviin\":\"Jag har bekantat mig med i kraft varande\",\"sopimusehtoihin\":\"avtalsvillkor\",\"hyväksyn ne ja valtuutan Turku Energian tekemään jakeluverkonhaltijan ja nykyisen sähkönmyyjän kanssa tarvittavat toimenpiteet sähköntoimituksen aloittamiseksi.\":\"jag godkänner dessa och tillåter Åbo Energi att göra behövliga åtgärder med min nuvarande elförsäljare och nätinnehavare för att starta elleveransen.\",\"Kuluttaja-asiakkaana minulla on oikeus perua sopimus 14 päivän kuluessa sopimusvahvistuksen vastaanottamisesta.\":\"Förbrukningskunden har annulleringsrätt inom 14 dagar efter mottagandet av avtalsbekräftelsen.\",\"Haluan saada lisätietoja ja tarjouksia myös Turku Energian muista tuotteista, palveluista ja eduista\":\"Haluan saada lisätietoja ja tarjouksia myös Turku Energian muista tuotteista, palveluista ja eduista\",\"Markkinointilupa\":\"Markkinointilupa\",\"Hyväksyn sopimusehdot\":\"Godkänner avtalsvillkoren\",\"Hyväksy tarjous\":\"Godkänn erbjudandet\",\"Hyväksy sopimus\":\"Godkänn avtalet\",\"Muokkaa sopimusta\":\"Bearbeta avtalet\",\"Sopimuskumppani \":\"Antalspartner \"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Etunimi\":\"Etunimi\",\"Sukunimi\":\"Sukunimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Katuosoite\":\"Katuosoite\",\"Postinumero\":\"Postinumero\",\"Poista\":\"Poista\",\"Hyväksy\":\"Hyväksy\",\"Muokkaan tietoja\":\"Muokkaan tietoja\",\"Lisää tiedot\":\"Lisää tiedot\"},\"sv\":{\"Etunimi\":\"Förnamn\",\"Sukunimi\":\"Efternamn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Katuosoite\":\"Gatuadress\",\"Postinumero\":\"Postnummer\",\"Poista\":\"Avlägsna\",\"Hyväksy\":\"Godkänn\",\"Muokkaan tietoja\":\"Bearbeta uppgifter\",\"Lisää tiedot\":\"Tillägg uppgifter\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Etunimi\":\"Etunimi\",\"Sukunimi\":\"Sukunimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Katuosoite\":\"Katuosoite\",\"Postinumero\":\"Postinumero\",\"Poista\":\"Poista\",\"Hyväksy\":\"Hyväksy\",\"Muokkaan tietoja\":\"Muokkaan tietoja\",\"Lisää tiedot\":\"Lisää tiedot\"},\"sv\":{\"Etunimi\":\"Förnamn\",\"Sukunimi\":\"Efternamn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Katuosoite\":\"Gatuadress\",\"Postinumero\":\"Postnummer\",\"Poista\":\"Avlägsna\",\"Hyväksy\":\"Godkänn\",\"Muokkaan tietoja\":\"Bearbeta uppgifter\",\"Lisää tiedot\":\"Tillägg uppgifter\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Nimi\":\"Nimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Valitse asiointikieli\":\"Valitse asiointikieli\",\"Lisää sopimuskumppani\":\"Lisää sopimuskumppani\",\"Sopimuskumppani \":\"Sopimuskumppani \"},\"sv\":{\"Nimi\":\"Namn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Valitse asiointikieli\":\"Välj betjäningsspråk\",\"Lisää sopimuskumppani\":\"Tillägg avtalspartner\",\"Sopimuskumppani \":\"Antalspartner \"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Nimi\":\"Nimi\",\"Henkilötunnus\":\"Henkilötunnus\",\"Puhelinnumero\":\"Puhelinnumero\",\"Sähköpostiosoite\":\"Sähköpostiosoite\",\"Valitse asiointikieli\":\"Valitse asiointikieli\",\"Lisää sopimuskumppani\":\"Lisää sopimuskumppani\",\"Sopimuskumppani \":\"Sopimuskumppani \"},\"sv\":{\"Nimi\":\"Namn\",\"Henkilötunnus\":\"Personbeteckning\",\"Puhelinnumero\":\"Telefonnummer\",\"Sähköpostiosoite\":\"E-postadress\",\"Valitse asiointikieli\":\"Välj betjäningsspråk\",\"Lisää sopimuskumppani\":\"Tillägg avtalspartner\",\"Sopimuskumppani \":\"Antalspartner \"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Postinumero\":\"Postinumero\",\"Loppulaskun osoite\":\"Loppulaskun osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Postitoimipaikka\":\"Postitoimipaikka\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\":\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\",\"Asiakkaan postiosoite\":\"Asiakkaan postiosoite\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\",\"Katuosoite\":\"Katuosoite\",\"CO -nimi\":\"CO -nimi\",\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\":\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\",\"Laskutustiedot\":\"Laskutustiedot\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\",\"Yhteyshenkilö\":\"Yhteyshenkilö\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutussähköposti\":\"Laskutussähköposti\",\"Verkkolaskuosoite\":\"Verkkolaskuosoite\",\"Välittäjätunnus\":\"Välittäjätunnus\",\"Käyttöpaikan sopimustilanne, kyseessä on\":\"Käyttöpaikan sopimustilanne, kyseessä on\",\"- muutto tai muuten uusi sopimus\":\"- muutto tai muuten uusi sopimus\",\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\":\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\",\"- sähkösopimuksen vaihto eri sopimustyyppiin\":\"- sähkösopimuksen vaihto eri sopimustyyppiin\",\"Oletko kiinteistön omistaja?\":\"Oletko kiinteistön omistaja?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\":\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\",\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\",\"asiakaspalvelu@turkuenergia.fi.\":\"asiakaspalvelu@turkuenergia.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Sopimuksen toivottu alkamispäivämäärä\",\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \":\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \",\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\":\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\",\"Laskujen määrä vuodessa\":\"Laskujen määrä vuodessa\",\"Toivottu alkupäivä\":\"Toivottu alkupäivä\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Laskutustapa\":\"Laskutustapa\",\"Kyllä\":\"Kyllä\",\"Ei\":\"Ei\",\"paperilasku\":\"paperilasku\",\"sähköpostilasku\":\"sähköpostilasku\",\"verkkolasku\":\"verkkolasku\",\"e-lasku\":\"e-lasku\",\"kpl\":\"kpl\",\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\":\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\"},\"sv\":{\"Postinumero\":\"Postnummer\",\"Loppulaskun osoite\":\"Adress för slutfaktura\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Postitoimipaikka\":\"Postanstalt\",\"Käyttöpaikkatunnus\":\"Förbrukningspaltsens nummer\",\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\":\"Kundens postadress är en annan än förbrukningsplatsens adress\",\"Asiakkaan postiosoite\":\"Kundens postadress\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Om du gör ett avtal på annan adress än den du bor på (t.ex sommarstuga) mata in din egen adress här.\",\"Katuosoite\":\"Gatuadress\",\"CO -nimi\":\"CO -namn\",\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\":\"Kundens adress är en annan än den antagna adressen / önskar elektronisk faktura\",\"Laskutustiedot\":\"Faktureringsuppgifter\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Om du vill ändra på de antagna adresserna, kan du göra det här.\",\"Yhteyshenkilö\":\"Kontaktperson\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutussähköposti\":\"Fakturerings e-postadress\",\"Verkkolaskuosoite\":\"E-postadress för nätfaktura\",\"Välittäjätunnus\":\"Förmedlarkod\",\"Käyttöpaikan sopimustilanne, kyseessä on\":\"Förbrukningsplatsens avtalssituation\",\"- muutto tai muuten uusi sopimus\":\"Gäller flyttning eller nytt avtal\",\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\":\"Byt av försäljare, jag har ikraftvarande avtal med annan försäljare\",\"- sähkösopimuksen vaihto eri sopimustyyppiin\":\"Produktbyte\",\"Oletko kiinteistön omistaja?\":\"Är du fastighetsägare?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama. Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella, kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus- ja sopimusoikeuden siirtämiseksi.\":\"Överföring av anslutningar gäller alla fastigheter bl.a. ägarbyten av egnahemshus-, parhus- och fritidsbostäder. Höghus-, och radhuslägenheter har inte egna elanslutningar utan anslutningen är gemensam för hela fastigheten och ägs av husbolaget. Om fastigheten ligger på Åbo Energi Ab,s nätområde, bör den nya ägaren vara i kontakt med kundbetjäningen tel. 02 2628 111 för att få elanslutningens ägar- och avtalsöverföringen utförd.\",\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Vi behöver en kopia på köpebrevet där det framgår att anslutningen övergår till den nya ägaren i samband med köpet. Kopian kan sändas\",\"asiakaspalvelu@turkuenergia.fi.\":\"asiakaspalvelu@turkuenergia.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Önskat datum för avtalets begynnelse\",\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \":\"Snabbflyttning ? Tag kontakt med kundbetjäningen:\",\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\":\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\",\"Laskujen määrä vuodessa\":\"Mängden fakturor per år\",\"Toivottu alkupäivä\":\"Önskat begynnelsedatum\",\"Asiakkaan osoite\":\"Kundens adress\",\"Laskutustapa\":\"Faktureringssätt\",\"Kyllä\":\"Ja\",\"Ei\":\"Nej\",\"paperilasku\":\"pappersfaktura\",\"sähköpostilasku\":\"e-postfaktura\",\"verkkolasku\":\"nätfaktura\",\"e-lasku\":\"e-faktura\",\"kpl\":\"st\",\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\":\"Automatiskt förändrad adressen till förbrukningsplatsens adress\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Postinumero\":\"Postinumero\",\"Loppulaskun osoite\":\"Loppulaskun osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Postitoimipaikka\":\"Postitoimipaikka\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\":\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\",\"Asiakkaan postiosoite\":\"Asiakkaan postiosoite\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\",\"Katuosoite\":\"Katuosoite\",\"CO -nimi\":\"CO -nimi\",\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\":\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\",\"Laskutustiedot\":\"Laskutustiedot\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\",\"Yhteyshenkilö\":\"Yhteyshenkilö\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutussähköposti\":\"Laskutussähköposti\",\"Verkkolaskuosoite\":\"Verkkolaskuosoite\",\"Välittäjätunnus\":\"Välittäjätunnus\",\"Käyttöpaikan sopimustilanne, kyseessä on\":\"Käyttöpaikan sopimustilanne, kyseessä on\",\"- muutto tai muuten uusi sopimus\":\"- muutto tai muuten uusi sopimus\",\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\":\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\",\"- sähkösopimuksen vaihto eri sopimustyyppiin\":\"- sähkösopimuksen vaihto eri sopimustyyppiin\",\"Oletko kiinteistön omistaja?\":\"Oletko kiinteistön omistaja?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\":\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\",\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\",\"asiakaspalvelu@turkuenergia.fi.\":\"asiakaspalvelu@turkuenergia.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Sopimuksen toivottu alkamispäivämäärä\",\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \":\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \",\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\":\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\",\"Laskujen määrä vuodessa\":\"Laskujen määrä vuodessa\",\"Toivottu alkupäivä\":\"Toivottu alkupäivä\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Laskutustapa\":\"Laskutustapa\",\"Kyllä\":\"Kyllä\",\"Ei\":\"Ei\",\"paperilasku\":\"paperilasku\",\"sähköpostilasku\":\"sähköpostilasku\",\"verkkolasku\":\"verkkolasku\",\"e-lasku\":\"e-lasku\",\"kpl\":\"kpl\",\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\":\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\"},\"sv\":{\"Postinumero\":\"Postnummer\",\"Loppulaskun osoite\":\"Adress för slutfaktura\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Postitoimipaikka\":\"Postanstalt\",\"Käyttöpaikkatunnus\":\"Förbrukningspaltsens nummer\",\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\":\"Kundens postadress är en annan än förbrukningsplatsens adress\",\"Asiakkaan postiosoite\":\"Kundens postadress\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Om du gör ett avtal på annan adress än den du bor på (t.ex sommarstuga) mata in din egen adress här.\",\"Katuosoite\":\"Gatuadress\",\"CO -nimi\":\"CO -namn\",\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\":\"Kundens adress är en annan än den antagna adressen / önskar elektronisk faktura\",\"Laskutustiedot\":\"Faktureringsuppgifter\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Om du vill ändra på de antagna adresserna, kan du göra det här.\",\"Yhteyshenkilö\":\"Kontaktperson\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutussähköposti\":\"Fakturerings e-postadress\",\"Verkkolaskuosoite\":\"E-postadress för nätfaktura\",\"Välittäjätunnus\":\"Förmedlarkod\",\"Käyttöpaikan sopimustilanne, kyseessä on\":\"Förbrukningsplatsens avtalssituation\",\"- muutto tai muuten uusi sopimus\":\"Gäller flyttning eller nytt avtal\",\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\":\"Byt av försäljare, jag har ikraftvarande avtal med annan försäljare\",\"- sähkösopimuksen vaihto eri sopimustyyppiin\":\"Produktbyte\",\"Oletko kiinteistön omistaja?\":\"Är du fastighetsägare?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama. Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella, kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus- ja sopimusoikeuden siirtämiseksi.\":\"Överföring av anslutningar gäller alla fastigheter bl.a. ägarbyten av egnahemshus-, parhus- och fritidsbostäder. Höghus-, och radhuslägenheter har inte egna elanslutningar utan anslutningen är gemensam för hela fastigheten och ägs av husbolaget. Om fastigheten ligger på Åbo Energi Ab,s nätområde, bör den nya ägaren vara i kontakt med kundbetjäningen tel. 02 2628 111 för att få elanslutningens ägar- och avtalsöverföringen utförd.\",\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Vi behöver en kopia på köpebrevet där det framgår att anslutningen övergår till den nya ägaren i samband med köpet. Kopian kan sändas\",\"asiakaspalvelu@turkuenergia.fi.\":\"asiakaspalvelu@turkuenergia.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Önskat datum för avtalets begynnelse\",\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \":\"Snabbflyttning ? Tag kontakt med kundbetjäningen:\",\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\":\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\",\"Laskujen määrä vuodessa\":\"Mängden fakturor per år\",\"Toivottu alkupäivä\":\"Önskat begynnelsedatum\",\"Asiakkaan osoite\":\"Kundens adress\",\"Laskutustapa\":\"Faktureringssätt\",\"Kyllä\":\"Ja\",\"Ei\":\"Nej\",\"paperilasku\":\"pappersfaktura\",\"sähköpostilasku\":\"e-postfaktura\",\"verkkolasku\":\"nätfaktura\",\"e-lasku\":\"e-faktura\",\"kpl\":\"st\",\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\":\"Automatiskt förändrad adressen till förbrukningsplatsens adress\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Postinumero\":\"Postinumero\",\"Loppulaskun osoite\":\"Loppulaskun osoite\",\"Käyttöpaikan osoite\":\"Käyttöpaikan osoite\",\"Postitoimipaikka\":\"Postitoimipaikka\",\"Käyttöpaikkatunnus\":\"Käyttöpaikkatunnus\",\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\":\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\",\"Asiakkaan postiosoite\":\"Asiakkaan postiosoite\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\",\"Katuosoite\":\"Katuosoite\",\"CO -nimi\":\"CO -nimi\",\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\":\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\",\"Laskutustiedot\":\"Laskutustiedot\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\",\"Yhteyshenkilö\":\"Yhteyshenkilö\",\"Laskutusosoite\":\"Laskutusosoite\",\"Laskutussähköposti\":\"Laskutussähköposti\",\"Verkkolaskuosoite\":\"Verkkolaskuosoite\",\"Välittäjätunnus\":\"Välittäjätunnus\",\"Käyttöpaikan sopimustilanne, kyseessä on\":\"Käyttöpaikan sopimustilanne, kyseessä on\",\"- muutto tai muuten uusi sopimus\":\"- muutto tai muuten uusi sopimus\",\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\":\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\",\"- sähkösopimuksen vaihto eri sopimustyyppiin\":\"- sähkösopimuksen vaihto eri sopimustyyppiin\",\"Oletko kiinteistön omistaja?\":\"Oletko kiinteistön omistaja?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\":\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama.Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus-ja sopimusoikeuden siirtämiseksi.\",\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\",\"asiakaspalvelu@turkuenergia.fi.\":\"asiakaspalvelu@turkuenergia.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Sopimuksen toivottu alkamispäivämäärä\",\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \":\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \",\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\":\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\",\"Laskujen määrä vuodessa\":\"Laskujen määrä vuodessa\",\"Toivottu alkupäivä\":\"Toivottu alkupäivä\",\"Asiakkaan osoite\":\"Asiakkaan osoite\",\"Laskutustapa\":\"Laskutustapa\",\"Kyllä\":\"Kyllä\",\"Ei\":\"Ei\",\"paperilasku\":\"paperilasku\",\"sähköpostilasku\":\"sähköpostilasku\",\"verkkolasku\":\"verkkolasku\",\"e-lasku\":\"e-lasku\",\"kpl\":\"kpl\",\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\":\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\"},\"sv\":{\"Postinumero\":\"Postnummer\",\"Loppulaskun osoite\":\"Adress för slutfaktura\",\"Käyttöpaikan osoite\":\"Förbrukningsplatsens adress\",\"Postitoimipaikka\":\"Postanstalt\",\"Käyttöpaikkatunnus\":\"Förbrukningspaltsens nummer\",\"Postiosoitteeni on eri kuin käyttöpaikan osoite.\":\"Kundens postadress är en annan än förbrukningsplatsens adress\",\"Asiakkaan postiosoite\":\"Kundens postadress\",\"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\":\"Om du gör ett avtal på annan adress än den du bor på (t.ex sommarstuga) mata in din egen adress här.\",\"Katuosoite\":\"Gatuadress\",\"CO -nimi\":\"CO -namn\",\"Haluan laskut sähköpostilla / Laskutusosoite on eri kuin käyttöpaikan osoite.\":\"Kundens adress är en annan än den antagna adressen / önskar elektronisk faktura\",\"Laskutustiedot\":\"Faktureringsuppgifter\",\"Mikäli haluat vaihtaa oletuslaskutustietoja, voit vaihtaa niitä tässä.\":\"Om du vill ändra på de antagna adresserna, kan du göra det här.\",\"Yhteyshenkilö\":\"Kontaktperson\",\"Laskutusosoite\":\"Faktureringsadress\",\"Laskutussähköposti\":\"Fakturerings e-postadress\",\"Verkkolaskuosoite\":\"E-postadress för nätfaktura\",\"Välittäjätunnus\":\"Förmedlarkod\",\"Käyttöpaikan sopimustilanne, kyseessä on\":\"Förbrukningsplatsens avtalssituation\",\"- muutto tai muuten uusi sopimus\":\"Gäller flyttning eller nytt avtal\",\"- myyjän vaihto eli minulla on voimassa oleva sopimus toiselta myyjältä\":\"Byt av försäljare, jag har ikraftvarande avtal med annan försäljare\",\"- sähkösopimuksen vaihto eri sopimustyyppiin\":\"Produktbyte\",\"Oletko kiinteistön omistaja?\":\"Är du fastighetsägare?\",\"Sähköliittymän siirto koskee kaikkien kiinteistöjen, mm. omakotitalojen, paritalojen ja vapaa-ajan asuntojen omistajanvaihdoksia. Kerros- ja rivitalohuoneistoilla ei ole omia sähköliittymiä, vaan liittymä on kiinteistöjen yhteinen ja taloyhtiön omistama. Jos kiinteistö sijaitsee Turku Energia Sähköverkot Oy:n verkkoalueella, kiinteistön oston jälkeen uuden omistajan tulee ottaa yhteyttä asiakaspalveluun puh. 02 2628 111 sähköliittymän omistus- ja sopimusoikeuden siirtämiseksi.\":\"Överföring av anslutningar gäller alla fastigheter bl.a. ägarbyten av egnahemshus-, parhus- och fritidsbostäder. Höghus-, och radhuslägenheter har inte egna elanslutningar utan anslutningen är gemensam för hela fastigheten och ägs av husbolaget. Om fastigheten ligger på Åbo Energi Ab,s nätområde, bör den nya ägaren vara i kontakt med kundbetjäningen tel. 02 2628 111 för att få elanslutningens ägar- och avtalsöverföringen utförd.\",\"Tarvitsemme Turku Energia Sähköverkkojen alueella sijaitsevan kiinteistön kauppakirjasta kopion, jossa näkyy, että liittymä siirtyy kaupan mukana uudelle omistajalle. Kopion voit lähettää\":\"Vi behöver en kopia på köpebrevet där det framgår att anslutningen övergår till den nya ägaren i samband med köpet. Kopian kan sändas\",\"asiakaspalvelu@turkuenergia.fi.\":\"asiakaspalvelu@turkuenergia.fi.\",\"Sopimuksen toivottu alkamispäivämäärä\":\"Önskat datum för avtalets begynnelse\",\"Pikamuutto? Etkö saa valittua haluamaasi sopimuksen alkamispäivää? Ota yhteyttä asiakaspaveluumme \":\"Snabbflyttning ? Tag kontakt med kundbetjäningen:\",\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\":\"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\",\"Laskujen määrä vuodessa\":\"Mängden fakturor per år\",\"Toivottu alkupäivä\":\"Önskat begynnelsedatum\",\"Asiakkaan osoite\":\"Kundens adress\",\"Laskutustapa\":\"Faktureringssätt\",\"Kyllä\":\"Ja\",\"Ei\":\"Nej\",\"paperilasku\":\"pappersfaktura\",\"sähköpostilasku\":\"e-postfaktura\",\"verkkolasku\":\"nätfaktura\",\"e-lasku\":\"e-faktura\",\"kpl\":\"st\",\"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\":\"Automatiskt förändrad adressen till förbrukningsplatsens adress\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Muokkaa\":\"Muokkaa\",\"Jatka\":\"Jatka\",\"Kohteen tiedot\":\"Kohteen tiedot\",\"Uuden kohteen tiedot\":\"Uuden kohteen tiedot\",\"Sopimusvalikoima\":\"Sopimusvalikoima\",\"Asiakkaan tiedot\":\"Asiakkaan tiedot\",\"Osoitetiedot\":\"Osoitetiedot\",\"Muuttoilmoituksen tiedot\":\"Muuttoilmoituksen tiedot\",\"Asiakastiedot ja loppulaskun osoite\":\"Asiakastiedot ja loppulaskun osoite\",\"Jatka yhteenvetoon\":\"Jatka yhteenvetoon\",\"Haluan tehdä samalla uuden sopimuksen\":\"Haluan tehdä samalla uuden sopimuksen\",\"Henkilöasiakas\":\"Henkilöasiakas\",\"Yritysasiakas\":\"Yritysasiakas\"},\"sv\":{\"Muokkaa\":\"Bearbeta\",\"Jatka\":\"Fortsätt\",\"Kohteen tiedot\":\"Förbrukningsplatsens uppgifter\",\"Uuden kohteen tiedot\":\"Bostadens uppgifter\",\"Sopimusvalikoima\":\"Produktval\",\"Asiakkaan tiedot\":\"Kunduppgifter\",\"Osoitetiedot\":\"Adressuppgifter\",\"Muuttoilmoituksen tiedot\":\"Flyttningsanmälan utförd av och avtal som avslutas\",\"Asiakastiedot ja loppulaskun osoite\":\"Kund-och kontaktuppgifter\",\"Jatka yhteenvetoon\":\"Fortsätt till sammanfattningen\",\"Haluan tehdä samalla uuden sopimuksen\":\"Jag vill också nu göra ett nytt avtal\",\"Henkilöasiakas\":\"Personkund\",\"Yritysasiakas\":\"Företagskund\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Muokkaa\":\"Muokkaa\",\"Jatka\":\"Jatka\",\"Kohteen tiedot\":\"Kohteen tiedot\",\"Uuden kohteen tiedot\":\"Uuden kohteen tiedot\",\"Sopimusvalikoima\":\"Sopimusvalikoima\",\"Asiakkaan tiedot\":\"Asiakkaan tiedot\",\"Osoitetiedot\":\"Osoitetiedot\",\"Muuttoilmoituksen tiedot\":\"Muuttoilmoituksen tiedot\",\"Asiakastiedot ja loppulaskun osoite\":\"Asiakastiedot ja loppulaskun osoite\",\"Jatka yhteenvetoon\":\"Jatka yhteenvetoon\",\"Haluan tehdä samalla uuden sopimuksen\":\"Haluan tehdä samalla uuden sopimuksen\",\"Henkilöasiakas\":\"Henkilöasiakas\",\"Yritysasiakas\":\"Yritysasiakas\"},\"sv\":{\"Muokkaa\":\"Bearbeta\",\"Jatka\":\"Fortsätt\",\"Kohteen tiedot\":\"Förbrukningsplatsens uppgifter\",\"Uuden kohteen tiedot\":\"Bostadens uppgifter\",\"Sopimusvalikoima\":\"Produktval\",\"Asiakkaan tiedot\":\"Kunduppgifter\",\"Osoitetiedot\":\"Adressuppgifter\",\"Muuttoilmoituksen tiedot\":\"Flyttningsanmälan utförd av och avtal som avslutas\",\"Asiakastiedot ja loppulaskun osoite\":\"Kund-och kontaktuppgifter\",\"Jatka yhteenvetoon\":\"Fortsätt till sammanfattningen\",\"Haluan tehdä samalla uuden sopimuksen\":\"Jag vill också nu göra ett nytt avtal\",\"Henkilöasiakas\":\"Personkund\",\"Yritysasiakas\":\"Företagskund\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Asumismuoto\":\"Asumismuoto\",\"Kerrostalo\":\"Kerrostalo\",\"Rivitalo\":\"Rivitalo\",\"Omakotitalo\":\"Omakotitalo\",\"Vapaa-ajan asunto\":\"Vapaa-ajan asunto\",\"Paritalo\":\"Paritalo\",\"Rivi- tai paritalo\":\"Rivi- tai paritalo\",\"Toimiala\":\"Toimiala\",\"Maatalous\":\"Maatalous\",\"Jalostus\":\"Jalostus\",\"Palvelu\":\"Palvelu\",\"Julkinen\":\"Julkinen\",\"Muu\":\"Muu\",\"Lämmitystapa\":\"Lämmitystapa\",\"Sähkö\":\"Sähkö\",\"Kaukolämpö\":\"Kaukolämpö\",\"Maalämpö\":\"Maalämpö\",\"Öljy\":\"Öljy\",\"Mittaustapa\":\"Mittaustapa\",\"Valitse mittaustapa\":\"Valitse mittaustapa\",\"Yksiaika\":\"Yksiaika\",\"Yö-päivä\":\"Yö-päivä\",\"Kausisähkö\":\"Vuodenaikasähkö\",\"Pinta-ala\":\"Pinta-ala\",\"Valitse kohteen pinta-ala\":\"Valitse kohteen pinta-ala\",\"Vuosikulutus\":\"Vuosikulutus\",\"Pääasiallinen lämmitystapa\":\"Pääasiallinen lämmitystapa\",\"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\":\"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\",\"Kohteen pinta-ala\":\"Kohteen pinta-ala\",\"Vuosikulutus (arvio)\":\"Vuosikulutus (arvio)\",\"Vuosikulutus (arvio) päivä\":\"Vuosikulutus (arvio) päivä\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Vuosikulutus (arvio) talviarkipäivä\",\"Vuosikulutus (arvio) yö\":\"Vuosikulutus (arvio) yö\",\"Vuosikulutus (arvio) muu aika\":\"Vuosikulutus (arvio) muu aika\",\"Ei valittu\":\"Ei valittu\"},\"sv\":{\"Asumismuoto\":\"Bostadstyp\",\"Kerrostalo\":\"Höghus\",\"Rivitalo\":\"Radhus\",\"Omakotitalo\":\"Egnahemshus\",\"Vapaa-ajan asunto\":\"Fritidshus\",\"Paritalo\":\"Parhus\",\"Rivi- tai paritalo\":\"Rad- eller parhus\",\"Toimiala\":\"Bransch\",\"Maatalous\":\"Lantbruk\",\"Jalostus\":\"Förädling\",\"Palvelu\":\"Service\",\"Julkinen\":\"Offentlig\",\"Muu\":\"Annan\",\"Lämmitystapa\":\"Uppvärmningssätt\",\"Sähkö\":\"El\",\"Kaukolämpö\":\"Fjärrvärme\",\"Maalämpö\":\"Jordvärme\",\"Öljy\":\"Olja\",\"Mittaustapa\":\"Mätningssätt\",\"Valitse mittaustapa\":\"Välj mätningssätt\",\"Yksiaika\":\"Entid\",\"Yö-päivä\":\"Natt-Dag\",\"Kausisähkö\":\"Säsongel\",\"Pinta-ala\":\"Yta\",\"Valitse kohteen pinta-ala\":\"Välj platsens yta\",\"Vuosikulutus\":\"Årsförbrukning\",\"Pääasiallinen lämmitystapa\":\"Huvudsakligt uppvärmningssätt\",\"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\":\"Om du inte känner till ditt hushållsmätningssätt, välj entid. Mätningsättet kan bytas ut senare.\",\"Kohteen pinta-ala\":\"Förbrukningsplatsens yta\",\"Vuosikulutus (arvio)\":\"Årsförbrukning (uppskattning)\",\"Vuosikulutus (arvio) päivä\":\"Årsförbrukning (uppskattning) dag\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Årsförbrukning (uppskattning) vintervardag\",\"Vuosikulutus (arvio) yö\":\"Årsförbrukning (uppskattning) natt\",\"Vuosikulutus (arvio) muu aika\":\"Årsförbrukning (uppskattning) annan tid\",\"Ei valittu\":\"Ej vald\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Asumismuoto\":\"Asumismuoto\",\"Kerrostalo\":\"Kerrostalo\",\"Rivitalo\":\"Rivitalo\",\"Omakotitalo\":\"Omakotitalo\",\"Vapaa-ajan asunto\":\"Vapaa-ajan asunto\",\"Paritalo\":\"Paritalo\",\"Rivi- tai paritalo\":\"Rivi- tai paritalo\",\"Toimiala\":\"Toimiala\",\"Maatalous\":\"Maatalous\",\"Jalostus\":\"Jalostus\",\"Palvelu\":\"Palvelu\",\"Julkinen\":\"Julkinen\",\"Muu\":\"Muu\",\"Lämmitystapa\":\"Lämmitystapa\",\"Sähkö\":\"Sähkö\",\"Kaukolämpö\":\"Kaukolämpö\",\"Maalämpö\":\"Maalämpö\",\"Öljy\":\"Öljy\",\"Mittaustapa\":\"Mittaustapa\",\"Valitse mittaustapa\":\"Valitse mittaustapa\",\"Yksiaika\":\"Yksiaika\",\"Yö-päivä\":\"Yö-päivä\",\"Kausisähkö\":\"Vuodenaikasähkö\",\"Pinta-ala\":\"Pinta-ala\",\"Valitse kohteen pinta-ala\":\"Valitse kohteen pinta-ala\",\"Vuosikulutus\":\"Vuosikulutus\",\"Pääasiallinen lämmitystapa\":\"Pääasiallinen lämmitystapa\",\"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\":\"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\",\"Kohteen pinta-ala\":\"Kohteen pinta-ala\",\"Vuosikulutus (arvio)\":\"Vuosikulutus (arvio)\",\"Vuosikulutus (arvio) päivä\":\"Vuosikulutus (arvio) päivä\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Vuosikulutus (arvio) talviarkipäivä\",\"Vuosikulutus (arvio) yö\":\"Vuosikulutus (arvio) yö\",\"Vuosikulutus (arvio) muu aika\":\"Vuosikulutus (arvio) muu aika\",\"Ei valittu\":\"Ei valittu\"},\"sv\":{\"Asumismuoto\":\"Bostadstyp\",\"Kerrostalo\":\"Höghus\",\"Rivitalo\":\"Radhus\",\"Omakotitalo\":\"Egnahemshus\",\"Vapaa-ajan asunto\":\"Fritidshus\",\"Paritalo\":\"Parhus\",\"Rivi- tai paritalo\":\"Rad- eller parhus\",\"Toimiala\":\"Bransch\",\"Maatalous\":\"Lantbruk\",\"Jalostus\":\"Förädling\",\"Palvelu\":\"Service\",\"Julkinen\":\"Offentlig\",\"Muu\":\"Annan\",\"Lämmitystapa\":\"Uppvärmningssätt\",\"Sähkö\":\"El\",\"Kaukolämpö\":\"Fjärrvärme\",\"Maalämpö\":\"Jordvärme\",\"Öljy\":\"Olja\",\"Mittaustapa\":\"Mätningssätt\",\"Valitse mittaustapa\":\"Välj mätningssätt\",\"Yksiaika\":\"Entid\",\"Yö-päivä\":\"Natt-Dag\",\"Kausisähkö\":\"Säsongel\",\"Pinta-ala\":\"Yta\",\"Valitse kohteen pinta-ala\":\"Välj platsens yta\",\"Vuosikulutus\":\"Årsförbrukning\",\"Pääasiallinen lämmitystapa\":\"Huvudsakligt uppvärmningssätt\",\"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\":\"Om du inte känner till ditt hushållsmätningssätt, välj entid. Mätningsättet kan bytas ut senare.\",\"Kohteen pinta-ala\":\"Förbrukningsplatsens yta\",\"Vuosikulutus (arvio)\":\"Årsförbrukning (uppskattning)\",\"Vuosikulutus (arvio) päivä\":\"Årsförbrukning (uppskattning) dag\",\"Vuosikulutus (arvio) talviarkipäivä\":\"Årsförbrukning (uppskattning) vintervardag\",\"Vuosikulutus (arvio) yö\":\"Årsförbrukning (uppskattning) natt\",\"Vuosikulutus (arvio) muu aika\":\"Årsförbrukning (uppskattning) annan tid\",\"Ei valittu\":\"Ej vald\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\"€/vuosi\":\"€/vuosi\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\"€/vuosi\":\"€/år\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\"€/vuosi\":\"€/vuosi\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\"€/vuosi\":\"€/år\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\"€/vuosi\":\"€/vuosi\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\"€/vuosi\":\"€/år\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\"€/vuosi\":\"€/vuosi\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\"€/vuosi\":\"€/år\"}}')\n delete Component.options._Ctor\n}\n","module.exports = function (Component) {\n Component.options.__i18n = Component.options.__i18n || []\n Component.options.__i18n.push('{\"fi\":{\"Tuotetta ei valittu\":\"Tuotetta ei valittu\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Mikäli sinulla on kampanjakoodi, syötä se tähän\",\"Kampanjakoodi\":\"Kampanjakoodi\",\"Lisätietoja tuotteesta\":\"Lisätietoja tuotteesta\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\",\"Hinnan määräytymisellä ei ole väliä\":\"Hinnan määräytymisellä ei ole väliä\",\"Ei valittavissa olevia tuotteita\":\"Ei valittavissa olevia tuotteita\",\"(Hinnat alv 0%)\":\"(Hinnat alv 0%)\",\"Voimassa\":\"Voimassa\",\"Hinta-arvio\":\"Hinta-arvio\",\"Tuote valittu!\":\"Tuote valittu!\",\"Valitse tämä tuote\":\"Valitse tämä tuote\",\"€/vuosi\":\"€/vuosi\"},\"sv\":{\"Tuotetta ei valittu\":\"Produkt ej vald\",\"Mikäli sinulla on kampanjakoodi, syötä se tähän\":\"Om du har en kampanjkod, mata in den här\",\"Kampanjakoodi\":\"Kampanjkod\",\"Lisätietoja tuotteesta\":\"Närmare uppgifter om produkten\",\"Miten haluat sähkösopimuksesi hinnan määräytyvän?\":\"Hur önskar du att ditt elavtals pris fastställs?\",\"Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)\":\"Tidsbundet avtal (priset förblir oförändrat under hela avtalsperioden)\",\"Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)\":\"Tillsvidare gällande avtal (priset kan variera måttligt beroende på elmarknadsprisen)\",\"Hinnan määräytymisellä ei ole väliä\":\"Ingen skillnad på vilket sätt priset fastställs\",\"Ei valittavissa olevia tuotteita\":\"Inga produkter att välja\",\"(Hinnat alv 0%)\":\"(Prisen 0% moms)\",\"Voimassa\":\"I kraft\",\"Hinta-arvio\":\"Prisuppskattning\",\"Tuote valittu!\":\"Produkten vald!\",\"Valitse tämä tuote\":\"Välj denna produkt\",\"€/vuosi\":\"€/år\"}}')\n delete Component.options._Ctor\n}\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { class: _vm.processBrand },\n [\n _c(\"div\", { staticClass: \"row section\" }, [\n _c(\"div\", { staticClass: \"col-md-12 mb-2\" }, [\n _c(\"div\", { staticClass: \"text-center\" }, [\n _vm.processBrand != \"Priimaplus\" &&\n !_vm.hasMembership(\"priima\", \"omakotiliitto\")\n ? _c(\"p\", [\n _vm._v(\n \"\\n Oletko yritysasiakas ja sähkönkäyttösi on 100-1000 MWh vuodessa? Tee silloin Priimaplus sopimus\\n \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n \"aria-label\": \"Tee Priimaplus sopimus\",\n href: \"#\",\n title: \"Suurasiakas\"\n }\n },\n [_vm._v(\"tästä\")]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isPriimaplus()\n ? _c(\"p\", [\n _vm._v(\n \"Sopimuksen tekeminen on helppoa, mutta jos tarvitset apua tai lisätietoa, jätä yhteydenottopyyntö, niin soitamme sinulle pian!\"\n )\n ])\n : _vm._e()\n ])\n ])\n ]),\n _vm._v(\" \"),\n _c(\"p\"),\n _vm._v(\" \"),\n (this.contract.Customer &&\n this.contract.Customer.TrustedSource == false &&\n this.contract.Company && this.contract.Company.TrustedSource == false) &\n !_vm.isPriimaplus()\n ? _c(\"div\", { staticClass: \"row section\" }, [\n _c(\"div\", { staticClass: \"col-md-12 mb-2\" }, [\n _c(\n \"div\",\n { staticClass: \"text-center\" },\n [\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n class: {\n active:\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n },\n staticStyle: {\n \"min-width\": \"220px\",\n \"margin-bottom\": \"2px !important\"\n },\n attrs: {\n type: \"button\",\n variant: \"outline-default\",\n value: _vm.CustomerTypeEnum.CONSUMER,\n name: \"customerType\"\n },\n on: { \"value-updated\": _vm.customerTypeSelected }\n },\n [\n _c(\"font-awesome-icon\", { attrs: { icon: \"user\" } }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Henkilöasiakas\")) + \" \")\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n class: {\n active:\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY\n },\n staticStyle: {\n \"min-width\": \"220px\",\n \"margin-bottom\": \"2px !important\"\n },\n attrs: {\n type: \"button\",\n variant: \"outline-default\",\n value: _vm.CustomerTypeEnum.COMPANY,\n name: \"customerType\"\n },\n on: { \"value-updated\": _vm.customerTypeSelected }\n },\n [\n _c(\"font-awesome-icon\", { attrs: { icon: \"building\" } }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Yritysasiakas\")))\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.showLoadingIndicator\n ? _c(\"loading-indicator\", {\n staticClass: \"loading-indicator\"\n })\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.isPriima()\n ? [\n _c(\n \"new-contract-section\",\n {\n ref: \"preProduct\",\n attrs: {\n number: _vm.phaseNumber(1),\n title: \"Kohteen tiedot\",\n mode: _vm.sections.preProduct.mode,\n \"proceed-action-state\": _vm.sections.preProduct.proceedActionState()\n },\n on: {\n modify: function($event) {\n return _vm.sections.preProduct.enterModify()\n },\n proceed: function($event) {\n return _vm.sections.preProduct.proceed()\n }\n }\n },\n [\n _c(\"pre-product-selection\", {\n ref: \"preProductSelection\",\n attrs: {\n slot: \"edit\",\n contract: _vm.contract,\n \"validation-errors\": _vm.validationErrors\n },\n slot: \"edit\"\n }),\n _vm._v(\" \"),\n _c(\"pre-product-selection-display\", {\n attrs: { slot: \"display\", contract: _vm.contract },\n slot: \"display\"\n })\n ],\n 1\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"new-contract-section\",\n {\n ref: \"product\",\n attrs: {\n number: _vm.phaseNumber(2),\n title: _vm.productSelectionPhaseTitle(),\n mode: _vm.sections.product.mode,\n \"proceed-action-state\": _vm.sections.product.proceedActionState()\n },\n on: {\n modify: function($event) {\n return _vm.sections.product.enterModify()\n },\n proceed: function($event) {\n return _vm.sections.product.proceed()\n }\n }\n },\n [\n _c(\"product-selection\", {\n attrs: { slot: \"edit\" },\n on: {\n \"product-selected\": function($event) {\n return _vm.sections.product.proceed()\n }\n },\n slot: \"edit\"\n }),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\"product-selection-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\"\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.offerRequest\n ? _c(\"offer-product-selection-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\"\n })\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType !== _vm.CustomerTypeEnum.COMPANY\n ? _c(\n \"new-contract-section\",\n {\n ref: \"customer\",\n attrs: {\n number: _vm.phaseNumber(3),\n title: \"Asiakkaan tiedot\",\n mode: _vm.sections.customer.mode,\n \"proceed-action-state\": _vm.sections.customer.proceedActionState()\n },\n on: {\n modify: function($event) {\n return _vm.sections.customer.enterModify()\n },\n proceed: function($event) {\n return _vm.sections.customer.proceed()\n }\n }\n },\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"customer-information\", {\n ref: \"customerInformation\",\n attrs: {\n slot: \"edit\",\n validationErrors: _vm.validationErrors,\n \"show-authentication\": _vm.showAuthentication,\n \"hide-authentication-forced-text\":\n _vm.hideAuthenticationForcedText,\n offerRequest: _vm.offerRequest\n },\n on: {\n \"customer-value-updated\": _vm.customerValueUpdated,\n authenticate: _vm.authenticate\n },\n slot: \"edit\"\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"customer-information-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\"\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\n \"new-contract-section\",\n {\n ref: \"company\",\n attrs: {\n number: _vm.phaseNumber(3),\n title: \"Asiakkaan tiedot\",\n mode: _vm.sections.company.mode,\n \"proceed-action-state\": _vm.sections.company.proceedActionState()\n },\n on: {\n modify: function($event) {\n return _vm.sections.company.enterModify()\n },\n proceed: function($event) {\n return _vm.sections.company.proceed()\n }\n }\n },\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\"company-information\", {\n ref: \"companyInformation\",\n attrs: {\n slot: \"edit\",\n validationErrors: _vm.validationErrors,\n \"show-authentication\": _vm.showAuthentication\n },\n on: {\n \"company-value-updated\": _vm.companyValueUpdated,\n authenticate: _vm.authenticate\n },\n slot: \"edit\"\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\"company-information-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\"\n })\n : _vm._e()\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"new-contract-section\",\n {\n ref: \"meteringPoint\",\n attrs: {\n number: _vm.phaseNumber(4),\n title: \"Osoitetiedot\",\n mode: _vm.sections.meteringPoint.mode,\n \"proceed-action-state\": _vm.ActionState.Hidden\n },\n on: {\n modify: function($event) {\n return _vm.sections.meteringPoint.enterModify()\n }\n }\n },\n [\n _c(\"metering-point-information\", {\n ref: \"meteringPointInfo\",\n attrs: {\n slot: \"edit\",\n contract: _vm.contract,\n validationErrors: _vm.validationErrors,\n \"has-membership\": _vm.hasMembership()\n },\n slot: \"edit\"\n }),\n _vm._v(\" \"),\n _c(\"metering-point-information-display\", {\n attrs: { slot: \"display\" },\n slot: \"display\"\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n (this.contract.Customer && this.contract.Customer.TrustedSource) ||\n (this.contract.Company && this.contract.Company.TrustedSource)\n ? _c(\"div\", { staticClass: \"row mt-2\", class: _vm.processBrand }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12 text-center\" },\n [\n !_vm.offerRequest\n ? _c(\n \"b-button\",\n {\n attrs: { type: \"button\", variant: \"primary\" },\n on: {\n click: function($event) {\n return _vm.nextPhase()\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Jatka yhteenvetoon\")))]\n )\n : _vm._e()\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { md: \"12\" } }, [\n _c(\n \"form\",\n {\n staticClass: \"text-center\",\n attrs: {\n method: \"post\",\n action:\n \"/NewContract/Contract/SendOffer?showDetailsPage=true\"\n }\n },\n [\n _c(\n \"div\",\n { attrs: { id: \"tooltip-wrapper\" } },\n [\n _vm.enabledOfferRequestButton()\n ? _c(\n \"button\",\n {\n staticClass: \"btn btn-primary btn-Accept\",\n staticStyle: {\n \"margin-bottom\": \"2px !important\"\n },\n attrs: {\n type: \"submit\",\n disabled: !_vm.enabledOfferRequestButton()\n }\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\n \" \" + _vm._s(_vm.$t(\"Jätä tarjouspyyntö\"))\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.enabledOfferRequestButton()\n ? _c(\n \"button\",\n {\n staticClass:\n \"btn btn-primary btn-Accept disabled\",\n staticStyle: {\n \"margin-bottom\": \"2px !important\"\n },\n attrs: { type: \"reset\" }\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\n \" \" + _vm._s(_vm.$t(\"Jätä tarjouspyyntö\"))\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.enabledOfferRequestButton()\n ? _c(\"b-tooltip\", {\n attrs: {\n target: \"tooltip-wrapper\",\n triggers: \"click\",\n title:\n \"Sinun täytyy täyttää kaikki vaaditut kentät ennen kuin voit jättää tarjouspyynnön.\"\n }\n })\n : _vm._e()\n ],\n 1\n )\n ]\n )\n ])\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/**\n * vue-class-component v7.2.6\n * (c) 2015-present Evan You\n * @license MIT\n */\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\n// The rational behind the verbose Reflect-feature check below is the fact that there are polyfills\n// which add an implementation for Reflect.defineMetadata but not for Reflect.getOwnMetadataKeys.\n// Without this check consumers will encounter hard to track down runtime errors.\nfunction reflectionIsSupported() {\n return typeof Reflect !== 'undefined' && Reflect.defineMetadata && Reflect.getOwnMetadataKeys;\n}\nfunction copyReflectionMetadata(to, from) {\n forwardMetadata(to, from);\n Object.getOwnPropertyNames(from.prototype).forEach(function (key) {\n forwardMetadata(to.prototype, from.prototype, key);\n });\n Object.getOwnPropertyNames(from).forEach(function (key) {\n forwardMetadata(to, from, key);\n });\n}\n\nfunction forwardMetadata(to, from, propertyKey) {\n var metaKeys = propertyKey ? Reflect.getOwnMetadataKeys(from, propertyKey) : Reflect.getOwnMetadataKeys(from);\n metaKeys.forEach(function (metaKey) {\n var metadata = propertyKey ? Reflect.getOwnMetadata(metaKey, from, propertyKey) : Reflect.getOwnMetadata(metaKey, from);\n\n if (propertyKey) {\n Reflect.defineMetadata(metaKey, metadata, to, propertyKey);\n } else {\n Reflect.defineMetadata(metaKey, metadata, to);\n }\n });\n}\n\nvar fakeArray = {\n __proto__: []\n};\nvar hasProto = fakeArray instanceof Array;\nfunction createDecorator(factory) {\n return function (target, key, index) {\n var Ctor = typeof target === 'function' ? target : target.constructor;\n\n if (!Ctor.__decorators__) {\n Ctor.__decorators__ = [];\n }\n\n if (typeof index !== 'number') {\n index = undefined;\n }\n\n Ctor.__decorators__.push(function (options) {\n return factory(options, key, index);\n });\n };\n}\nfunction mixins() {\n for (var _len = arguments.length, Ctors = new Array(_len), _key = 0; _key < _len; _key++) {\n Ctors[_key] = arguments[_key];\n }\n\n return Vue.extend({\n mixins: Ctors\n });\n}\nfunction isPrimitive(value) {\n var type = _typeof(value);\n\n return value == null || type !== 'object' && type !== 'function';\n}\nfunction warn(message) {\n if (typeof console !== 'undefined') {\n console.warn('[vue-class-component] ' + message);\n }\n}\n\nfunction collectDataFromConstructor(vm, Component) {\n // override _init to prevent to init as Vue instance\n var originalInit = Component.prototype._init;\n\n Component.prototype._init = function () {\n var _this = this;\n\n // proxy to actual vm\n var keys = Object.getOwnPropertyNames(vm); // 2.2.0 compat (props are no longer exposed as self properties)\n\n if (vm.$options.props) {\n for (var key in vm.$options.props) {\n if (!vm.hasOwnProperty(key)) {\n keys.push(key);\n }\n }\n }\n\n keys.forEach(function (key) {\n Object.defineProperty(_this, key, {\n get: function get() {\n return vm[key];\n },\n set: function set(value) {\n vm[key] = value;\n },\n configurable: true\n });\n });\n }; // should be acquired class property values\n\n\n var data = new Component(); // restore original _init to avoid memory leak (#209)\n\n Component.prototype._init = originalInit; // create plain data object\n\n var plainData = {};\n Object.keys(data).forEach(function (key) {\n if (data[key] !== undefined) {\n plainData[key] = data[key];\n }\n });\n\n if (process.env.NODE_ENV !== 'production') {\n if (!(Component.prototype instanceof Vue) && Object.keys(plainData).length > 0) {\n warn('Component class must inherit Vue or its descendant class ' + 'when class property is used.');\n }\n }\n\n return plainData;\n}\n\nvar $internalHooks = ['data', 'beforeCreate', 'created', 'beforeMount', 'mounted', 'beforeDestroy', 'destroyed', 'beforeUpdate', 'updated', 'activated', 'deactivated', 'render', 'errorCaptured', 'serverPrefetch' // 2.6\n];\nfunction componentFactory(Component) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n options.name = options.name || Component._componentTag || Component.name; // prototype props.\n\n var proto = Component.prototype;\n Object.getOwnPropertyNames(proto).forEach(function (key) {\n if (key === 'constructor') {\n return;\n } // hooks\n\n\n if ($internalHooks.indexOf(key) > -1) {\n options[key] = proto[key];\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(proto, key);\n\n if (descriptor.value !== void 0) {\n // methods\n if (typeof descriptor.value === 'function') {\n (options.methods || (options.methods = {}))[key] = descriptor.value;\n } else {\n // typescript decorated data\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return _defineProperty({}, key, descriptor.value);\n }\n });\n }\n } else if (descriptor.get || descriptor.set) {\n // computed properties\n (options.computed || (options.computed = {}))[key] = {\n get: descriptor.get,\n set: descriptor.set\n };\n }\n });\n (options.mixins || (options.mixins = [])).push({\n data: function data() {\n return collectDataFromConstructor(this, Component);\n }\n }); // decorate options\n\n var decorators = Component.__decorators__;\n\n if (decorators) {\n decorators.forEach(function (fn) {\n return fn(options);\n });\n delete Component.__decorators__;\n } // find super\n\n\n var superProto = Object.getPrototypeOf(Component.prototype);\n var Super = superProto instanceof Vue ? superProto.constructor : Vue;\n var Extended = Super.extend(options);\n forwardStaticMembers(Extended, Component, Super);\n\n if (reflectionIsSupported()) {\n copyReflectionMetadata(Extended, Component);\n }\n\n return Extended;\n}\nvar reservedPropertyNames = [// Unique id\n'cid', // Super Vue constructor\n'super', // Component options that will be used by the component\n'options', 'superOptions', 'extendOptions', 'sealedOptions', // Private assets\n'component', 'directive', 'filter'];\nvar shouldIgnore = {\n prototype: true,\n arguments: true,\n callee: true,\n caller: true\n};\n\nfunction forwardStaticMembers(Extended, Original, Super) {\n // We have to use getOwnPropertyNames since Babel registers methods as non-enumerable\n Object.getOwnPropertyNames(Original).forEach(function (key) {\n // Skip the properties that should not be overwritten\n if (shouldIgnore[key]) {\n return;\n } // Some browsers does not allow reconfigure built-in properties\n\n\n var extendedDescriptor = Object.getOwnPropertyDescriptor(Extended, key);\n\n if (extendedDescriptor && !extendedDescriptor.configurable) {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(Original, key); // If the user agent does not support `__proto__` or its family (IE <= 10),\n // the sub class properties may be inherited properties from the super class in TypeScript.\n // We need to exclude such properties to prevent to overwrite\n // the component options object which stored on the extended constructor (See #192).\n // If the value is a referenced value (object or function),\n // we can check equality of them and exclude it if they have the same reference.\n // If it is a primitive value, it will be forwarded for safety.\n\n if (!hasProto) {\n // Only `cid` is explicitly exluded from property forwarding\n // because we cannot detect whether it is a inherited property or not\n // on the no `__proto__` environment even though the property is reserved.\n if (key === 'cid') {\n return;\n }\n\n var superDescriptor = Object.getOwnPropertyDescriptor(Super, key);\n\n if (!isPrimitive(descriptor.value) && superDescriptor && superDescriptor.value === descriptor.value) {\n return;\n }\n } // Warn if the users manually declare reserved properties\n\n\n if (process.env.NODE_ENV !== 'production' && reservedPropertyNames.indexOf(key) >= 0) {\n warn(\"Static property name '\".concat(key, \"' declared on class '\").concat(Original.name, \"' \") + 'conflicts with reserved property name of Vue internal. ' + 'It may cause unexpected behavior of the component. Consider renaming the property.');\n }\n\n Object.defineProperty(Extended, key, descriptor);\n });\n}\n\nfunction Component(options) {\n if (typeof options === 'function') {\n return componentFactory(options);\n }\n\n return function (Component) {\n return componentFactory(Component, options);\n };\n}\n\nComponent.registerHooks = function registerHooks(keys) {\n $internalHooks.push.apply($internalHooks, _toConsumableArray(keys));\n};\n\nexport default Component;\nexport { createDecorator, mixins };\n","/** vue-property-decorator verson 8.4.2 MIT LICENSE copyright 2019 kaorun343 */\n/// \n'use strict';\nimport Vue from 'vue';\nimport Component, { createDecorator, mixins } from 'vue-class-component';\nexport { Component, Vue, mixins as Mixins };\n/** Used for keying reactive provide/inject properties */\nvar reactiveInjectKey = '__reactiveInject__';\n/**\n * decorator of an inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function Inject(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject[key] = options || key;\n }\n });\n}\n/**\n * decorator of a reactive inject\n * @param from key\n * @return PropertyDecorator\n */\nexport function InjectReactive(options) {\n return createDecorator(function (componentOptions, key) {\n if (typeof componentOptions.inject === 'undefined') {\n componentOptions.inject = {};\n }\n if (!Array.isArray(componentOptions.inject)) {\n var fromKey_1 = !!options ? options.from || options : key;\n var defaultVal_1 = (!!options && options.default) || undefined;\n if (!componentOptions.computed)\n componentOptions.computed = {};\n componentOptions.computed[key] = function () {\n var obj = this[reactiveInjectKey];\n return obj ? obj[fromKey_1] : defaultVal_1;\n };\n componentOptions.inject[reactiveInjectKey] = reactiveInjectKey;\n }\n });\n}\nfunction produceProvide(original) {\n var provide = function () {\n var _this = this;\n var rv = typeof original === 'function' ? original.call(this) : original;\n rv = Object.create(rv || null);\n // set reactive services (propagates previous services if necessary)\n rv[reactiveInjectKey] = this[reactiveInjectKey] || {};\n for (var i in provide.managed) {\n rv[provide.managed[i]] = this[i];\n }\n var _loop_1 = function (i) {\n rv[provide.managedReactive[i]] = this_1[i]; // Duplicates the behavior of `@Provide`\n if (!rv[reactiveInjectKey].hasOwnProperty(provide.managedReactive[i])) {\n Object.defineProperty(rv[reactiveInjectKey], provide.managedReactive[i], {\n enumerable: true,\n get: function () { return _this[i]; },\n });\n }\n };\n var this_1 = this;\n for (var i in provide.managedReactive) {\n _loop_1(i);\n }\n return rv;\n };\n provide.managed = {};\n provide.managedReactive = {};\n return provide;\n}\nfunction needToProduceProvide(original) {\n return (typeof original !== 'function' ||\n (!original.managed && !original.managedReactive));\n}\n/**\n * decorator of a provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function Provide(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managed[k] = key || k;\n });\n}\n/**\n * decorator of a reactive provide\n * @param key key\n * @return PropertyDecorator | void\n */\nexport function ProvideReactive(key) {\n return createDecorator(function (componentOptions, k) {\n var provide = componentOptions.provide;\n // inject parent reactive services (if any)\n if (!Array.isArray(componentOptions.inject)) {\n componentOptions.inject = componentOptions.inject || {};\n componentOptions.inject[reactiveInjectKey] = {\n from: reactiveInjectKey,\n default: {},\n };\n }\n if (needToProduceProvide(provide)) {\n provide = componentOptions.provide = produceProvide(provide);\n }\n provide.managedReactive[k] = key || k;\n });\n}\n/** @see {@link https://github.com/vuejs/vue-class-component/blob/master/src/reflect.ts} */\nvar reflectMetadataIsSupported = typeof Reflect !== 'undefined' && typeof Reflect.getMetadata !== 'undefined';\nfunction applyMetadata(options, target, key) {\n if (reflectMetadataIsSupported) {\n if (!Array.isArray(options) &&\n typeof options !== 'function' &&\n typeof options.type === 'undefined') {\n var type = Reflect.getMetadata('design:type', target, key);\n if (type !== Object) {\n options.type = type;\n }\n }\n }\n}\n/**\n * decorator of model\n * @param event event name\n * @param options options\n * @return PropertyDecorator\n */\nexport function Model(event, options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n componentOptions.model = { prop: k, event: event || k };\n })(target, key);\n };\n}\n/**\n * decorator of a prop\n * @param options the options for the prop\n * @return PropertyDecorator | void\n */\nexport function Prop(options) {\n if (options === void 0) { options = {}; }\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[k] = options;\n })(target, key);\n };\n}\n/**\n * decorator of a synced prop\n * @param propName the name to interface with from outside, must be different from decorated property\n * @param options the options for the synced prop\n * @return PropertyDecorator | void\n */\nexport function PropSync(propName, options) {\n if (options === void 0) { options = {}; }\n // @ts-ignore\n return function (target, key) {\n applyMetadata(options, target, key);\n createDecorator(function (componentOptions, k) {\n ;\n (componentOptions.props || (componentOptions.props = {}))[propName] = options;\n (componentOptions.computed || (componentOptions.computed = {}))[k] = {\n get: function () {\n return this[propName];\n },\n set: function (value) {\n // @ts-ignore\n this.$emit(\"update:\" + propName, value);\n },\n };\n })(target, key);\n };\n}\n/**\n * decorator of a watch function\n * @param path the path or the expression to observe\n * @param WatchOption\n * @return MethodDecorator\n */\nexport function Watch(path, options) {\n if (options === void 0) { options = {}; }\n var _a = options.deep, deep = _a === void 0 ? false : _a, _b = options.immediate, immediate = _b === void 0 ? false : _b;\n return createDecorator(function (componentOptions, handler) {\n if (typeof componentOptions.watch !== 'object') {\n componentOptions.watch = Object.create(null);\n }\n var watch = componentOptions.watch;\n if (typeof watch[path] === 'object' && !Array.isArray(watch[path])) {\n watch[path] = [watch[path]];\n }\n else if (typeof watch[path] === 'undefined') {\n watch[path] = [];\n }\n watch[path].push({ handler: handler, deep: deep, immediate: immediate });\n });\n}\n// Code copied from Vue/src/shared/util.js\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = function (str) { return str.replace(hyphenateRE, '-$1').toLowerCase(); };\n/**\n * decorator of an event-emitter function\n * @param event The name of the event\n * @return MethodDecorator\n */\nexport function Emit(event) {\n return function (_target, propertyKey, descriptor) {\n var key = hyphenate(propertyKey);\n var original = descriptor.value;\n descriptor.value = function emitter() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var emit = function (returnValue) {\n var emitName = event || key;\n if (returnValue === undefined) {\n if (args.length === 0) {\n _this.$emit(emitName);\n }\n else if (args.length === 1) {\n _this.$emit(emitName, args[0]);\n }\n else {\n _this.$emit.apply(_this, [emitName].concat(args));\n }\n }\n else {\n if (args.length === 0) {\n _this.$emit(emitName, returnValue);\n }\n else if (args.length === 1) {\n _this.$emit(emitName, returnValue, args[0]);\n }\n else {\n _this.$emit.apply(_this, [emitName, returnValue].concat(args));\n }\n }\n };\n var returnValue = original.apply(this, args);\n if (isPromise(returnValue)) {\n returnValue.then(function (returnValue) {\n emit(returnValue);\n });\n }\n else {\n emit(returnValue);\n }\n return returnValue;\n };\n };\n}\n/**\n * decorator of a ref prop\n * @param refKey the ref key defined in template\n */\nexport function Ref(refKey) {\n return createDecorator(function (options, key) {\n options.computed = options.computed || {};\n options.computed[key] = {\n cache: false,\n get: function () {\n return this.$refs[refKey || key];\n },\n };\n });\n}\nfunction isPromise(obj) {\n return obj instanceof Promise || (obj && typeof obj.then === 'function');\n}\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER ||\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.NOTSET\n ? _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"HousingType\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"div\",\n { staticClass: \"basic-info\" },\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asumismuoto\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"contract-button-group\" },\n [\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.housingType ==\n _vm.HousingTypeEnum.APARTMENTHOUSE\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.APARTMENTHOUSE,\n variant: \"outline-default\",\n name: \"housingType\"\n },\n on: { click: _vm.handleApartmentHouse }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src: \"/Content/PKS/images/kerrostalo.png\",\n alt: \"Asumismuoto kerrostalo\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.APARTMENTHOUSE\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.housingType ==\n _vm.HousingTypeEnum.TERRACEDORDOUBLEHOUSE\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value:\n _vm.HousingTypeEnum.TERRACEDORDOUBLEHOUSE,\n variant: \"outline-default\",\n name: \"housingType\"\n },\n on: { click: _vm.handleTerracedOrDoubleHouse }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src:\n \"/Content/PKS/images/rivi-paritalo.png\",\n alt: \"Asumismuoto rivi/paritalo\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.TERRACEDORDOUBLEHOUSE\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.housingType == _vm.HousingTypeEnum.HOUSE\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.HOUSE,\n variant: \"outline-default\",\n name: \"housingType\"\n },\n on: { click: _vm.handleHouse }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src:\n \"/Content/PKS/images/omakotitalo.png\",\n alt: \"Asumismuoto omakotitalo\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.HOUSE\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.housingType == _vm.HousingTypeEnum.COTTAGE\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.COTTAGE,\n variant: \"outline-default\",\n name: \"housingType\"\n },\n on: { click: _vm.handleCottage }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src: \"/Content/PKS/images/mokki.png\",\n alt: \"Asumismuoto mökki\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.COTTAGE\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.housingType == _vm.HousingTypeEnum.OTHER\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HousingTypeEnum.OTHER,\n variant: \"outline-default\",\n name: \"housingType\"\n },\n on: { click: _vm.handleOtherConsumer }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src:\n \"/Content/PKS/images/asumismuoto_muu.png\",\n alt: \"Muu asumismuoto\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.housingTypeString(\n _vm.HousingTypeEnum.OTHER\n )\n )\n }\n })\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n { attrs: { id: \"heatingType\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"HeatingType\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"div\",\n { staticClass: \"basic-info\" },\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Pääasiallinen lämmitystapa\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"contract-button-group\" },\n [\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.heatingType == _vm.HeatingTypeEnum.ELECTRICITY\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.ELECTRICITY,\n variant: \"outline-default\",\n name: \"heatingType\"\n },\n on: { click: _vm.handleElectricity }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src: \"/Content/PKS/images/sahkolammitys.png\",\n alt: \"Lämmitystapa sähkö\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(\n _vm.HeatingTypeEnum.ELECTRICITY\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.heatingType ==\n _vm.HeatingTypeEnum.DISTRICTHEATING\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.DISTRICTHEATING,\n variant: \"outline-default\",\n name: \"heatingType\"\n },\n on: { click: _vm.handleDH }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src: \"/Content/PKS/images/kaukolampo.png\",\n alt: \"Lämmitystapa kaukolämpö\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(\n _vm.HeatingTypeEnum.DISTRICTHEATING\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active:\n _vm.heatingType == _vm.HeatingTypeEnum.GEOTHERMAL\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.GEOTHERMAL,\n variant: \"outline-default\",\n name: \"heatingType\"\n },\n on: { click: _vm.handleML }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src: \"/Content/PKS/images/maalampo.png\",\n alt: \"Lämmitystapa maalämpö\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(\n _vm.HeatingTypeEnum.GEOTHERMAL\n )\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active: _vm.heatingType == _vm.HeatingTypeEnum.OIL\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.OIL,\n variant: \"outline-default\",\n name: \"heatingType\"\n },\n on: { click: _vm.handleOIL }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src: \"/Content/PKS/images/oljylammitys.png\",\n alt: \"Lämmitystapa öljy\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(_vm.HeatingTypeEnum.OIL)\n )\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"btn-profile\",\n class: {\n active: _vm.heatingType == _vm.HeatingTypeEnum.OTHER\n },\n attrs: {\n disabled: _vm.loadingIndicator,\n value: _vm.HeatingTypeEnum.OTHER,\n variant: \"outline-default\",\n name: \"heatingType\"\n },\n on: { click: _vm.handleOTHER }\n },\n [\n _c(\n \"div\",\n [\n _c(\"b-img\", {\n staticClass: \"img-process\",\n attrs: {\n src:\n \"/Content/PKS/images/lammitystavat_muu.png\",\n alt: \"Muu lämmitystapa\"\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"span\", {\n staticClass: \"title\",\n domProps: {\n textContent: _vm._s(\n _vm.heatingTypeString(_vm.HeatingTypeEnum.OTHER)\n )\n }\n })\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n { attrs: { id: \"tarification\" } },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\", lg: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Tarification\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"tarification_field\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Mittaustapa\")))]\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"tarification_field\",\n disabled: _vm.loadingIndicator,\n \"bootstrap-styling\": true,\n \"aria-describedby\": \"tariff-help-block\",\n name: \"tarification\",\n value: _vm.tarification,\n options: _vm.tarifications\n }\n })\n : _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"tarification_field\",\n \"bootstrap-styling\": true,\n \"aria-describedby\": \"tariff-help-block\",\n name: \"tarification\",\n value: _vm.tarification,\n options: _vm.tarifications\n }\n }),\n _vm._v(\" \"),\n _c(\n \"b-form-text\",\n { attrs: { id: \"tariff-help-block\" } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Jos et tiedä kohteen mittaustapaa, valitse yleissähkö. Mittaustavan voi vaihtaa myöhemmin.\"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\", lg: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"HouseArea\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n }),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"housearea_field\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Kohteen pinta-ala\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"b-input-group\",\n { attrs: { append: \"m²\" } },\n [\n _c(\"b-form-select\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"housearea_field\",\n name: \"area\",\n value: _vm.houseArea,\n options: _vm.houseAreas\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\", lg: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"energy1\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _vm.tarification == 0 || _vm.tarification == 1\n ? _c(\n \"div\",\n [\n _c(\"b-form-group\", {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n }),\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"energy1\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Vuosikulutus (arvio)\")))]\n )\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.tarification == 2\n ? _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"energy1\" }\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Vuosikulutus (arvio) päivä\")\n )\n )\n ]\n )\n : _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"energy1\" }\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Vuosikulutus (arvio) talviarkipäivä\"\n )\n )\n )\n ]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-input-group\",\n { attrs: { append: \"kWh\" } },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n name: \"energy1\",\n id: \"energy1\",\n value: _vm.energy1\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"range\",\n min: \"500\",\n max: \"40000\",\n step: \"100\",\n value: _vm.energy1,\n name: \"energy1\",\n id: \"energy3\",\n \"aria-label\": \"Vuosikulutusarvio\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showEnergy2Consumption\n ? _c(\n \"b-col\",\n { attrs: { md: \"5\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.tarification == 2\n ? _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"energy2\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Vuosikulutus (arvio) yö\")))]\n )\n : _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"energy2\" }\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Vuosikulutus (arvio) muu aika\"))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-input-group\",\n { attrs: { append: \"kWh\" } },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n name: \"energy2\",\n id: \"energy2\",\n value: _vm.energy2\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"range\",\n min: \"500\",\n max: \"40000\",\n step: \"100\",\n value: _vm.energy2,\n name: \"energy2\",\n id: \"energy4\",\n \"aria-label\": \"Vuosikulutusarvio\"\n }\n })\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","//A\r\nexport enum AccessLevelEnum {\r\n AccountOwner = 1,\r\n Full = 2,\r\n Read = 4,\r\n None = 8\r\n //[Description(\"Täydet oikeudet\")]\r\n //Full = Write & Read\r\n}\r\n\r\nexport enum AuthenticationBankIdEnum {\r\n NOTSET = 0,\r\n NORDEA = 1,\r\n OSUUSPANKKI = 2,\r\n TAPIOLA = 3,\r\n SPANKKI = 4,\r\n DANSKEBANK = 5,\r\n AKTIA = 6,\r\n HANDELSBANKEN = 7,\r\n ALANDSBANKEN = 8,\r\n POPPankki = 9,\r\n SAASTOPANKKI = 10,\r\n OMASAASTOPANKKI = 11,\r\n KORHOPANKKI = 12,\r\n NORDEA2 = 13,\r\n MOBIILIVARMENNE = 100\r\n}\r\n\r\nexport enum AuthenticationServiceTypeEnum {\r\n NOTDEFINED = 0,\r\n TUPAS = 1,\r\n ElisaTunnistus = 2,\r\n TeliaTunnistus = 3,\r\n OPTunnistus = 4,\r\n SuomiFi = 5\r\n}\r\n//B\r\n//C\r\nexport enum CISContractStatusEnum {\r\n UNKNOWN = 0,\r\n ACTIVE = 1,\r\n EXPIRED = 2,\r\n UNFINISHED = 3,\r\n COMINGTOEND = 4,\r\n FUTURE = 5\r\n}\r\n\r\nexport enum ContactPersonTypeEnum {\r\n UNKNOWN = 0,\r\n DIRECTOR = 1,\r\n WORK_RESPONSIBLE = 2,\r\n WORK_STARTING_PERMIT_RECEIVER = 3,\r\n SECURITY_SUPERVISOR = 4,\r\n SECURITY_SUPERVISOR_ASSISTANT = 5,\r\n SECURITY_GUARD = 6,\r\n READINESS_REPORTER = 7,\r\n NETWORK_CONTACT_PERSON = 8,\r\n ELECTRIC_DESIGNER = 9,\r\n HEATING_DESIGNER = 10,\r\n WATER_DESIGNER = 11\r\n}\r\n\r\nexport enum ContractContactPersonTypeEnum {\r\n Undefined = 0,\r\n Trustee = 1, // inworks AL01\r\n ContractRepresentative = 2, // inworks AL02\r\n InvoicingRepresentative = 3, // inworks AL03\r\n CouplingRepresentative = 4, // inworks AL04\r\n OutageRepresentative = 5, // inworks AL05\r\n Other = 6 // inworks OTHR\r\n}\r\n\r\nexport enum ContractReasonEnum {\r\n NOTDEFINED = 0,\r\n SUPPLIERCHANGE = 1,\r\n MOVEIN = 2,\r\n PRODUCTCHANGE = 3,\r\n NEWCONTRACT = 4,\r\n PRODUCTCHANGE_DH = 11, // DataHub AT01 = Sopimuksen vaihto\r\n SUPPLIERCHANGE_DH = 12, // DataHub AT02 = Myyjän vaihto\r\n MOVEIN_DH = 13, // DataHub AT03 = Sisäänmuutto\r\n NOTKNOWN = 99, // with this status contract start date can be empty (sqlmindate in db)\r\n}\r\n\r\nexport enum ContractTypeEnum {\r\n Unknown = 0,\r\n SalesContract = 1,\r\n NetworkContract = 2,\r\n ServiceContract = 3,\r\n ServiceConnectionContract = 4,\r\n ReconciliationContract = 5,\r\n ConsolidatedContract = 6,\r\n SupplyContract = 7,\r\n WholeSaleContract = 8,\r\n BackingContract = 9,\r\n PriceLimitContract = 10,\r\n PriceGuaranteedContract = 11,\r\n PurchaseContract = 12,\r\n NetworkProductionContract = 13,\r\n DistributionContract = 14\r\n}\r\n\r\nexport enum DocumentTypeEnum {\r\n Invoice = 0,\r\n ContractConfirmation = 1,\r\n UserAttachment=2\r\n}\r\n\r\nexport enum CustomerTypeEnum {\r\n CONSUMER = 1,\r\n COMPANY = 2,\r\n NOTSET = 0\r\n}\r\n//D\r\n//E\r\n//F\r\nexport enum FixedTermDurationUnit {\r\n DAYS = 0,\r\n MONTHS = 1,\r\n YEARS = 2,\r\n}\r\n//G\r\n//H\r\nexport enum HeatingTypeEnum {\r\n ELECTRICITY = 1,\r\n NOELECTRICITY = 2,\r\n GEOTHERMAL = 3,\r\n DISTRICTHEATING = 4,\r\n OIL = 5,\r\n OTHER = 6,\r\n NOTKNOWN = 7,\r\n GAS = 8,\r\n ELECTRICSTORAGEHEATING = 9,\r\n DIRECTELECTRICHEATING = 10,\r\n WOODHEATING = 11,\r\n HEATPUMP = 12,\r\n NOHEATING = 13\r\n}\r\n\r\nexport enum HousingTypeEnum {\r\n UNKNOWN = 0,\r\n APARTMENTHOUSE = 1,\r\n TERRACEDHOUSE = 2,\r\n HOUSE = 3,\r\n COTTAGE = 4,\r\n DOUBLEHOUSE = 5,\r\n OTHER = 6,\r\n INDUSTRIALBUILDING = 7,\r\n COMMERCIALBUILDING = 8,\r\n AGRICULTURALBUILDING = 9,\r\n CONCENTRATIONBUILDING = 10,\r\n SERVICESECTORBUILDING = 11,\r\n PUBLICSECTORBUILDING = 12,\r\n CONSTRUCTION = 13,\r\n RESIDENTIALPROPERTY = 14,\r\n COMMUNITYANDUTILITYSERVICE = 15,\r\n OUTDOORLIGHTNING = 16,\r\n ELECTRICVECHILECHARGING = 17,\r\n TRAFFIC = 18,\r\n INDUSTRIALBUILDING2 = 19,\r\n TERRACEDORDOUBLEHOUSE = 20\r\n}\r\n//I\r\n//J\r\n//K\r\n//L\r\n//M\r\nexport enum MeteringPointSourceEnum {\r\n UNKNOWN = 0,\r\n USER = 1,\r\n CIS = 2,\r\n ADATO = 3,\r\n USERCHANGED = 4,\r\n DATAHUB = 5\r\n}\r\n\r\nexport enum MoveOutReasonEnum {\r\n MOVEOUT = 0, // Ulosmuutto\r\n TERMINATION = 1, // Irtisanominen\r\n CANCELLATION = 2, // Purkaminen\r\n REMOVEDMETER = 3, // Mittarin poisto\r\n NOTKNOWN = 99, // Ulosmuutto\r\n}\r\n//N\r\n//O\r\n//P\r\nexport enum PartTimeHousingTypeEnum {\r\n FULLTIME = 1,\r\n HALFTIME = 2,\r\n SUMMER = 3,\r\n}\r\n\r\nexport enum PhoneNumberTypeEnum {\r\n Home = 0,\r\n Work = 1,\r\n Mobile = 2,\r\n Invoicing = 3\r\n}\r\n\r\n// There's no enum in DataModel for these. However, they are actually fixed and those numbers are used\r\n// everywhere in the code. Let's user an enum here for clarity.\r\nexport enum ProductComponentTypeEnum {\r\n BasicMonthly = 1,\r\n Energy1 = 2,\r\n Energy2 = 3,\r\n Energy3 = 4,\r\n Energy4 = 5,\r\n ProductionMonthly = 6,\r\n ReactiveBasic = 7,\r\n Energy1Bundle = 8,\r\n Energy2Bundle = 9,\r\n BasicYearly = 10,\r\n Other = 11,\r\n Service = 12\r\n}\r\n\r\nexport enum ProcessStatusEnum {\r\n UNKNOWN = 0,\r\n MANUAL = 1,\r\n CUSTOMERCREATED = 2,\r\n PROCESSHANDLED = 3,\r\n OFFER = 4,\r\n OFFERACCEPTED = 5,\r\n MOVEOUTCREATED = 6,\r\n CONTRACTCREATED = 7,\r\n NOTTOCIS = 8,\r\n TOCIS = 9,\r\n OFFERREJECTED = 10,\r\n ERROR = 99,\r\n}\r\n\r\nexport enum ProcessTypeEnum {\r\n UNKNOWN = 0,\r\n CONTRACTPROCESS = 1,\r\n MOVINGPROCESS = 2,\r\n FIXEDTIME = 3,\r\n CONNECTIONPROCESS = 4,\r\n MOVEOUT = 5,\r\n REGISTRATION = 6,\r\n CHANGEUSERNAME = 7,\r\n CUSTOMERINFORMATION = 8,\r\n CONTRACTCHANGEPROCESS = 9,\r\n OTHERCONTRACTPROCESS = 10,\r\n CONTRACTINVOICINGPROCESS = 11,\r\n}\r\n\r\nexport enum SubProcessTypeEnum {\r\n UNKNOWN = 0,\r\n CONTRACTUPDATE = 1,\r\n MOVINGWITHOLDCONTRACTPRODUCT = 2,\r\n OFFER = 3,\r\n PRODUCTIONPURCHASECONTRACT = 4\r\n}\r\n\r\nexport enum ProductTypeEnum {\r\n NORMAL = 0,\r\n BUNDLE = 1,\r\n SERVICE = 2\r\n}\r\n\r\n//Q\r\n//R\r\nexport enum RuleTypeEnum {\r\n CONSUMPTION = 1,\r\n MEMBER = 2,\r\n FUSESIZE = 3,\r\n TARIFICATION = 4,\r\n LOCATION = 5,\r\n VISIBILITY = 6,\r\n CUSTOMERTYPE = 7,\r\n}\r\n//S\r\n//T\r\nexport enum TarificationIdEnum {\r\n SINGLETARIF = 1,\r\n DAYNIGHTTARIF = 2,\r\n SEASONTARIF = 3,\r\n POWERDAYTARIF = 4,\r\n HEATING = 5,\r\n WATER = 6,\r\n GAS = 7,\r\n POWERSEASONTARIF = 8,\r\n DISTRICTCOOLING = 9,\r\n GENERALENERGY = 10\r\n}\r\n\r\nexport enum TariffTimeZoneIdEnum {\r\n SINGLETIME = 1,\r\n NIGHT = 2,\r\n DAY = 3,\r\n WINTERDAY = 4, // Talviarkipäivä 1.11. - 1.4. 07 - 22\r\n OTHER = 5, // Muu aika 1.4. - 1.11. ja 1.11. - 1.4. 22 - 07\r\n POWERDAY = 6, //\r\n WINTEROTHER = 7, //\r\n SUMMEROTHER = 8, //\r\n POWERWINTER = 9, //Talvi,1.11-31.03,00-24\r\n POWERSUMMER = 10, //Kesä,1.4-31.10,00-24\r\n POWERNIGHT = 11,\r\n POWERWORKINGDAY = 12\r\n}\r\n//U\r\nexport enum UserMappingAccessLevelEnum {\r\n None = 0,\r\n Read = 1,\r\n Full = 2\r\n}\r\n\r\nexport enum InvoicingMethodEnum {\r\n Paper = 0,\r\n ConsumerEInvoice = 1,\r\n CompanyEInvoice = 2,\r\n Email = 3,\r\n DirectPayment = 4,\r\n Online = 5,\r\n Print = 6,\r\n MobilePay = 7\r\n}\r\nexport enum UserProfileFeatureTypeEnum {\r\n DefaultReportingMeteringPointCode = 0,\r\n RepresentedCompanyName = 1,\r\n RepresentedCompanyBic = 2,\r\n FacebookUserId = 3,\r\n SourceCompanyCode = 4,\r\n GoogleUserToken = 5,\r\n MarketingPermissionAskedTime = 6,\r\n ContactDetailsChecked = 7,\r\n PID = 8,\r\n}\r\n\r\nexport enum UtilityTypeEnum {\r\n NotDefined = 0,\r\n Electricity = 1,\r\n DistrictHeat = 2,\r\n DistrictCooling = 3,\r\n Gas = 4,\r\n Water = 5,\r\n WasteWater = 6,\r\n StormWater = 7,\r\n Stream = 8,\r\n Other = 9,\r\n SprinklerWater = 10,\r\n ElectricityTax = 11,\r\n ElectricityProduction = 12\r\n}\r\n\r\n//V\r\n//W\r\nexport enum WebModule {\r\n NotSet = 0,\r\n Invoicing = 1,\r\n CustomerInformation = 2,\r\n Contacts = 3,\r\n Contracts = 4,\r\n Outages = 5,\r\n Reports = 6,\r\n /// \r\n /// This webmodule rights cannot be shared so only AccountOwner can access this webmodule\r\n /// \r\n User = 7,\r\n VipCard = 8,\r\n Messages = 9,\r\n ReadingEntry = 10,\r\n Connections = 11\r\n}\r\n\r\n//X\r\n//Y\r\n//Z\r\n\r\n\r\n\r\n\r\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n staticClass: \"form-group\",\n class: { \"has-error\": _vm.validationErrors.has(_vm.validationId) },\n attrs: { \"data-validation-id\": _vm.validationId }\n },\n [\n _vm._t(\"default\"),\n _vm._v(\" \"),\n _vm._t(\"validation-message\", function() {\n return [\n _vm.validationErrors.has(_vm.validationId)\n ? _c(\"validation-message\", {\n staticClass: \"help-block\",\n attrs: {\n \"validation-id\": _vm.validationId,\n \"validation-errors\": _vm.validationErrors\n }\n })\n : _vm._e()\n ]\n })\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"span\", [_vm._v(\"\\n \" + _vm._s(_vm.message) + \"\\n\")])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n})\r\n\r\nexport default class ValidationMessage extends Vue {\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n @Prop()\r\n public validationId: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get message(): string {\r\n if (this.validationErrors != null && this.validationErrors.has(this.validationId))\r\n return this.validationErrors.get(this.validationId);\r\n return null;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validation-message.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validation-message.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./validation-message.vue?vue&type=template&id=50106b72&\"\nimport script from \"./validation-message.ts?vue&type=script&lang=js&\"\nexport * from \"./validation-message.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\";\r\nimport ValidationMessage from \"./validation-message.vue\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n components: { ValidationMessage }\r\n})\r\n\r\nexport default class ValidatedFormGroup extends Vue {\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n @Prop()\r\n public validationId: string;\r\n\r\n constructor() {\r\n super();\r\n\r\n if (this.validationErrors == null)\r\n console.error(\"Property validationErrors not set!\");\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validated-form-group.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./validated-form-group.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./validated-form-group.vue?vue&type=template&id=7693f2fc&\"\nimport script from \"./validated-form-group.ts?vue&type=script&lang=js&\"\nexport * from \"./validated-form-group.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { HousingTypeEnum, TarificationIdEnum, HeatingTypeEnum, UtilityTypeEnum, ContractTypeEnum, InvoicingMethodEnum, FixedTermDurationUnit, ContractReasonEnum } from \"./CommonEnums\";\r\nimport { IAddressViewModel, IContactPersonViewModel, IPriceListViewModel, IContractViewModel } from \"./I4UViewModels\";\r\nimport * as moment from \"moment-recent\";\r\nimport VueI18n from \"vue-i18n\";\r\n\r\nexport class InvoicingMethodFormat {\r\n public static toString(invoicingMethod: InvoicingMethodEnum): string {\r\n switch (invoicingMethod) {\r\n case InvoicingMethodEnum.Paper: return \"Paperilasku\";\r\n case InvoicingMethodEnum.ConsumerEInvoice: return \"E-lasku\";\r\n case InvoicingMethodEnum.CompanyEInvoice: return \"Verkkolasku\";\r\n case InvoicingMethodEnum.Email: return \"Sähköpostilasku\";\r\n case InvoicingMethodEnum.DirectPayment: return \"Suoraveloitus\";\r\n case InvoicingMethodEnum.Online:\r\n case InvoicingMethodEnum.Print:\r\n return \"TODO: Lisää teksti\"; // TODO: Add proper texts.\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nexport class ContractTypeFormat {\r\n public static toString(contractType: ContractTypeEnum): string {\r\n switch (contractType) {\r\n case ContractTypeEnum.Unknown: return \"Tuntematon\";\r\n case ContractTypeEnum.SalesContract: return \"Myyntisopimus\";\r\n case ContractTypeEnum.NetworkContract: return \"Verkkosopimus\";\r\n case ContractTypeEnum.PurchaseContract: return \"Ostosopimus\"\r\n case ContractTypeEnum.ServiceContract:\r\n case ContractTypeEnum.ServiceConnectionContract:\r\n case ContractTypeEnum.ReconciliationContract:\r\n case ContractTypeEnum.ConsolidatedContract:\r\n case ContractTypeEnum.SupplyContract: return \"Toimitussopimus\";\r\n case ContractTypeEnum.WholeSaleContract:\r\n case ContractTypeEnum.BackingContract:\r\n case ContractTypeEnum.PriceLimitContract:\r\n case ContractTypeEnum.PriceGuaranteedContract:\r\n case ContractTypeEnum.NetworkProductionContract:\r\n return \"TODO: Lisää teksti (\" + contractType.toString()+\")\"; // TODO: Add proper texts.\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nexport class UtilityTypeFormat {\r\n public static toString(utilityType: UtilityTypeEnum): string {\r\n switch (utilityType) {\r\n case UtilityTypeEnum.NotDefined: return \"Ei valittu\";\r\n case UtilityTypeEnum.Electricity: return \"Sähkö\";\r\n case UtilityTypeEnum.DistrictHeat: return \"Kaukolämpö\";\r\n case UtilityTypeEnum.DistrictCooling: return \"Kaukojäähdytys\";\r\n case UtilityTypeEnum.Gas: return \"Kaasu\";\r\n case UtilityTypeEnum.Water: return \"Vesi\";\r\n case UtilityTypeEnum.WasteWater: return \"Jätevesi\";\r\n case UtilityTypeEnum.StormWater:\r\n case UtilityTypeEnum.Stream:\r\n case UtilityTypeEnum.Other:\r\n case UtilityTypeEnum.SprinklerWater:\r\n case UtilityTypeEnum.ElectricityTax:\r\n case UtilityTypeEnum.ElectricityProduction:\r\n return \"TODO: Lisää teksti\"; // TODO: Add proper texts.\r\n default: return null;\r\n }\r\n }\r\n}\r\n\r\nexport class HousingTypeFormat {\r\n public static toString(housingType: HousingTypeEnum): string {\r\n switch (housingType) {\r\n case HousingTypeEnum.UNKNOWN: return \"Ei tiedossa\";\r\n case HousingTypeEnum.HOUSE: return \"Omakotitalo\";\r\n case HousingTypeEnum.TERRACEDHOUSE: return \"Rivitalo\";\r\n case HousingTypeEnum.APARTMENTHOUSE: return \"Kerrostalo\";\r\n case HousingTypeEnum.COTTAGE: return \"Vapaa-ajan asunto\";\r\n case HousingTypeEnum.DOUBLEHOUSE: return \"Paritalo\";\r\n case HousingTypeEnum.OTHER: return \"Muu\";\r\n case HousingTypeEnum.INDUSTRIALBUILDING: return \"Teollisuuskiinteistö\";\r\n case HousingTypeEnum.COMMERCIALBUILDING: return \"Liikekiinteistö\";\r\n case HousingTypeEnum.AGRICULTURALBUILDING: return \"Maatalouskiinteistö\";\r\n case HousingTypeEnum.CONCENTRATIONBUILDING: return \"Jalostuskiinteistö\";\r\n case HousingTypeEnum.SERVICESECTORBUILDING: return \"Palvelualan kiinteistö\";\r\n case HousingTypeEnum.PUBLICSECTORBUILDING: return \"Julkisen sektorin kiinteistö\";\r\n case HousingTypeEnum.CONSTRUCTION: return \"Rakennustyömaa\";\r\n case HousingTypeEnum.RESIDENTIALPROPERTY: return \"Asuinkiinteistö\";\r\n case HousingTypeEnum.COMMUNITYANDUTILITYSERVICE: return \"Yhdyskunta- ja hyödykepalvelu\";\r\n case HousingTypeEnum.OUTDOORLIGHTNING: return \"Ulkovalaistus\";\r\n case HousingTypeEnum.ELECTRICVECHILECHARGING: return \"Sähköajoneuvojen lataus\";\r\n case HousingTypeEnum.TRAFFIC: return \"Liikenne\";\r\n case HousingTypeEnum.INDUSTRIALBUILDING2: return \"Teollisuuskiinteistö, tyyppi 2\";\r\n case HousingTypeEnum.TERRACEDORDOUBLEHOUSE: return \"Rivi- tai paritalo\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport class TarificationFormat {\r\n public static toString(tarification: TarificationIdEnum, locale: string = \"fi\"): string {\r\n // TODO: localization\r\n switch (tarification) {\r\n case TarificationIdEnum.SINGLETARIF: return \"Yksiaika\";\r\n case TarificationIdEnum.DAYNIGHTTARIF: return \"Yö-päivä\";\r\n case TarificationIdEnum.SEASONTARIF: return \"Kausisähkö\";\r\n case TarificationIdEnum.POWERDAYTARIF: return \"Tehoaika\";\r\n case TarificationIdEnum.HEATING: return \"Lämpö\";\r\n case TarificationIdEnum.WATER: return \"Vesi\";\r\n case TarificationIdEnum.GAS: return \"Kaasu\";\r\n case TarificationIdEnum.POWERSEASONTARIF: return \"Tehokausi\";\r\n case TarificationIdEnum.DISTRICTCOOLING: return \"Kaukokylmä\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport class HeatingTypeFormat {\r\n public static toString(heatingType: HeatingTypeEnum): string {\r\n switch (heatingType) {\r\n case HeatingTypeEnum.ELECTRICITY: return \"Sähkö\";\r\n case HeatingTypeEnum.NOELECTRICITY: return \"\";\r\n case HeatingTypeEnum.GEOTHERMAL: return \"Maalämpö\";\r\n case HeatingTypeEnum.DISTRICTHEATING: return \"Kaukolämpö\";\r\n case HeatingTypeEnum.OIL: return \"Öljy\";\r\n case HeatingTypeEnum.OTHER: return \"Muu\";\r\n case HeatingTypeEnum.NOTKNOWN: return \"Ei tiedossa\";\r\n case HeatingTypeEnum.GAS: return \"Kaasu\";\r\n case HeatingTypeEnum.ELECTRICSTORAGEHEATING: return \"Varaava sähkö\";\r\n case HeatingTypeEnum.DIRECTELECTRICHEATING: return \"Suora sähkö\";\r\n case HeatingTypeEnum.WOODHEATING: return \"Puu\";\r\n case HeatingTypeEnum.HEATPUMP: return \"Lämpöpumppu\";\r\n case HeatingTypeEnum.NOHEATING: return \"Ei lämmitystä\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport class CommonFormatUtils {\r\n public static formatDuration(contract: IContractViewModel, priceList: IPriceListViewModel, locale: string = \"fi\") {\r\n if (!priceList.FixedTerm) {\r\n if (locale === \"fi\") {\r\n return \"Toistaiseksi\";\r\n }\r\n else if (locale === \"sv\") {\r\n return \"Tillsvidare\";\r\n }\r\n else if (locale === \"en\") {\r\n return \"Until further notice\";\r\n } \r\n }\r\n \r\n\r\n let absoluteEndDate = priceList.FixedTermAbsoluteEndDate;\r\n let duration = priceList.FixedTermDuration;\r\n let durationUnit = priceList.FixedTermDurationUnit;\r\n let str = \"\";\r\n\r\n if (absoluteEndDate != null) {\r\n //debugger;\r\n let aed = new Date(absoluteEndDate);\r\n let csd = new Date(contract.StartDate);\r\n if (duration != null && duration != 0) {\r\n if (durationUnit == FixedTermDurationUnit.DAYS) {\r\n if (csd > aed) {\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"day\" : \"days\";\r\n }\r\n }\r\n else if (aed > csd.addDays(duration).addDays(-1)) {\r\n //str += this.formatDate(csd.addDays(duration).addDays(-1).toDateString());\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"day\" : \"days\";\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n else if (durationUnit == FixedTermDurationUnit.MONTHS) {\r\n if (csd > aed) {\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"en\") {\r\n str += duration === 1 ? \"month\" : \"months\";\r\n }\r\n }\r\n else if (aed > csd.addMonths(duration)) {\r\n //str += this.formatDate(csd.addMonths(duration).addDays(-1).toDateString());\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"en\") {\r\n str += duration === 1 ? \"month\" : \"months\";\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"sv\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n else if (durationUnit == FixedTermDurationUnit.YEARS) {\r\n if (csd > aed) {\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"year\" : \"years\";\r\n }\r\n }\r\n else if (aed > csd.addYears(duration).addDays(-1)) {\r\n //str += this.formatDate(csd.addYears(duration).addDays(-1).toDateString());\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"year\" : \"years\";\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n }\r\n else {\r\n if (locale === \"fi\")\r\n str += this.formatDate(aed.toDateString()) + \" saakka\";\r\n else if (locale === \"sv\")\r\n str += this.formatDate(aed.toDateString()) + \" tills\";\r\n else if (locale === \"en\")\r\n str += \"until \" + this.formatDate(aed.toDateString());\r\n }\r\n }\r\n else {\r\n switch (durationUnit) {\r\n case FixedTermDurationUnit.DAYS:\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"day\" : \"days\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.MONTHS:\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n else if (locale == \"en\") {\r\n str += duration === 1 ? \"month\" : \"months\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.YEARS:\r\n str += duration + \" \";\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n else if (locale === \"en\") {\r\n str += duration === 1 ? \"year\" : \"years\";\r\n }\r\n break;\r\n }\r\n }\r\n return str;\r\n }\r\n\r\n static formatDate(date: string) {\r\n return moment(date).format(\"DD.MM.YYYY\");\r\n }\r\n}\r\n\r\nexport class GenericTypeFormatTranslator {\r\n public static toString(toStringFunc: (val: T) => string, input: T, translator: VueI18n) {\r\n return translator.t(toStringFunc(input));\r\n }\r\n}\r\n\r\nexport class ContractReasonFormat {\r\n public static toString(contractReason: ContractReasonEnum): string {\r\n switch (contractReason) {\r\n case ContractReasonEnum.NOTDEFINED: return \"Ei määritelty\";\r\n case ContractReasonEnum.SUPPLIERCHANGE:\r\n case ContractReasonEnum.SUPPLIERCHANGE_DH:\r\n return \"Vaihdan sähkönmyyjää\";\r\n case ContractReasonEnum.MOVEIN:\r\n case ContractReasonEnum.MOVEIN_DH:\r\n return \"Muutto\";\r\n case ContractReasonEnum.PRODUCTCHANGE:\r\n case ContractReasonEnum.PRODUCTCHANGE_DH:\r\n return \"Vaihdan nykyisen tai uusin määräaikaisen sopimukseni\";\r\n case ContractReasonEnum.NEWCONTRACT: return \"Teen uuden sopimuksen\";\r\n case ContractReasonEnum.NOTKNOWN: return \"Ei tiedossa\";\r\n default:\r\n return null;\r\n }\r\n }\r\n}","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, install, mapActions, mapGetters, mapMutations, mapState };\n","//import enums\r\nimport { AccessLevelEnum, UtilityTypeEnum, UserMappingAccessLevelEnum, UserProfileFeatureTypeEnum, HeatingTypeEnum, HousingTypeEnum, TarificationIdEnum, ContractReasonEnum, CustomerTypeEnum, ContactPersonTypeEnum, ProcessTypeEnum, CISContractStatusEnum, ContractTypeEnum, InvoicingMethodEnum, ProcessStatusEnum, ProductTypeEnum, RuleTypeEnum, ContractContactPersonTypeEnum } from \"./CommonEnums\";\r\n\r\n//import DataModels\r\nimport { IAddress, IUserProfileFeature } from \"./I4UDataModels\";\r\n\r\n//A\r\nexport interface IAccountInfoViewModel {\r\n Me: IUserInfoViewModel;\r\n MyCustomers: ICustomershipViewModel[];\r\n MyLinkedUsers: ILinkedUserModel[];\r\n MyConnections: Iterable;//Iterable;ConnectionViewModel[]\r\n ContactPersons: IEnerityContactPersonViewModel[];\r\n}\r\nexport interface IEnerityContactPersonViewModel {\r\n Name: string;\r\n FirstName: string;\r\n LastName: string;\r\n ExternalId: string;\r\n SourceCompanyCode: string;\r\n ContactPersonType: ContactPersonTypeEnum;\r\n ContractCode: string;\r\n UtilityTypeId: number;\r\n}\r\n\r\nexport interface IAdditionalContractViewModel {\r\n Id: number;\r\n Status: ProcessStatusEnum;\r\n ExtraInformation: string;\r\n MeteringPoint: IMeteringPointViewModel;\r\n Utility: UtilityTypeEnum;\r\n}\r\n\r\nexport interface IAdditionalMeteringPointViewModel {\r\n Address: IAddressViewModel;\r\n MeteringPointCode: string;\r\n NetworkCompanyCode: string;\r\n NetworkCompanyName: string;\r\n ContractReason: number;\r\n StartDate : Date;\r\n}\r\n\r\nexport interface IAddressViewModel {\r\n Street: string;\r\n Zip: string;\r\n Place: string;\r\n Country: string;\r\n COName: string;\r\n StreetName: string;\r\n HouseNumber: string;\r\n Staircase: string;\r\n Apartment: string;\r\n Specifier: string;\r\n Locale: string;\r\n}\r\n\r\nexport class AddressViewModel implements IAddressViewModel {\r\n Street: string = null;\r\n Zip: string = null;\r\n Place: string = null;\r\n Country: string = null;\r\n COName: string = null;\r\n StreetName: string = null;\r\n HouseNumber: string = null;\r\n Staircase: string = null;\r\n Apartment: string = null;\r\n Specifier: string = null;\r\n Locale: string = null;\r\n\r\n public static copy(other: IAddressViewModel): AddressViewModel {\r\n return {\r\n Street: other.Street,\r\n Zip: other.Zip,\r\n Place: other.Place,\r\n Country: other.Country,\r\n COName: other.COName,\r\n StreetName: other.StreetName,\r\n HouseNumber: other.HouseNumber,\r\n Staircase: other.Staircase,\r\n Apartment: other.Apartment,\r\n Specifier: other.Specifier,\r\n Locale: other.Locale\r\n }\r\n }\r\n}\r\n\r\nexport interface IAdditionalBasicPriceViewModel {\r\n BasicDescription: string;\r\n BasicPriceUnit: string;\r\n BasicPrice: number;\r\n BasicPriceNoVAT: number;\r\n OrderNumber: number;\r\n}\r\n\r\nexport interface IAlternativePriceViewModel\r\n{\r\n Code: string;\r\n}\r\n\r\n//B\r\n//C\r\nexport interface ICompanyViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n CompanyName: string;\r\n BusinessId: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CompanySource: number;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n Address: IAddressViewModel;\r\n InvoicingAddress: IAddressViewModel;\r\n ContactPersons: IContactPersonViewModel[];\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n ContractPartners: IContactPersonViewModel[];\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate : Date;\r\n}\r\n\r\nexport class CompanyViewModel implements ICompanyViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n CompanyName: string;\r\n BusinessId: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CompanySource: number;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n Address: IAddressViewModel = new AddressViewModel();\r\n InvoicingAddress: IAddressViewModel = new AddressViewModel();\r\n ContactPersons: IContactPersonViewModel[] = [];\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n ContractPartners: IContactPersonViewModel[] = [];\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n}\r\n\r\nexport interface IContactPersonViewModel {\r\n Id: number;\r\n FirstName: string;\r\n LastName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n Type: ContactPersonTypeEnum;\r\n Address: IAddressViewModel;\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n ContactPersonRole: ContractContactPersonTypeEnum;\r\n ContactPersonRoleInfo: string;\r\n}\r\n\r\nexport interface ICustomerMembershipViewModel{\r\n MembershipName: string;\r\n MembershipCode: string;\r\n MembershipTypeId: number;\r\n MembershipDescription: string;\r\n}\r\n\r\nexport class CustomerMembershipViewModel implements ICustomerMembershipViewModel {\r\n MembershipName: string;\r\n MembershipCode: string;\r\n MembershipTypeId: number;\r\n MembershipDescription: string;\r\n}\r\n\r\nexport interface IContractMembershipViewModel {\r\n MembershipType: number;\r\n MembershipName: string;\r\n MembershipDescription: string;\r\n MembershipCode: string;\r\n}\r\n\r\nexport class ContractMembershipViewModel implements IContractMembershipViewModel {\r\n MembershipType: number;\r\n MembershipName: string;\r\n MembershipDescription: string;\r\n MembershipCode: string;\r\n}\r\n\r\nexport interface IMembershipTypeViewModel {\r\n MembershipTypeId: number;\r\n Name: string; \r\n Description: string;\r\n}\r\n\r\nexport class ContactPersonViewModel {\r\n Id: number;\r\n FirstName: string;\r\n LastName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n Type: ContactPersonTypeEnum;\r\n Address: IAddressViewModel = new AddressViewModel();\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n ContactPersonRole: ContractContactPersonTypeEnum;\r\n ContactPersonRoleInfo: string;\r\n}\r\n\r\nexport interface IContractOriginInfoViewModel {\r\n Origin: string;\r\n Channel: string;\r\n}\r\n\r\nexport interface IContractsProductViewModel {\r\n ProductName: string;\r\n TarificationName: string;\r\n FixedFeeName: string;\r\n Energy1Name: string;\r\n Energy2Name: string;\r\n FixedFeePrice: number;\r\n FixedFeeUnit: string;\r\n Energy1Price: number;\r\n Energy2Price: number;\r\n TotalPrice: number;\r\n TotalConsumption: number;\r\n}\r\n\r\nexport interface IContractViewModel {\r\n HeatingTypeId: HeatingTypeEnum;\r\n HousingTypeId: HousingTypeEnum;\r\n TarificationId: TarificationIdEnum;\r\n Registers: number;\r\n OldFixedPeriodTime: number;\r\n ValuationId: number;\r\n // 0 = other network\r\n // 1 = home network\r\n // null = not set\r\n ContractLocation: number;\r\n HouseArea: number;\r\n ProductId: number;\r\n PriceListId: number;\r\n ContractMembership: IContractMembershipViewModel;\r\n //trasanen 9.12.2014 PKSYP-42 Must be able to save n products when asking offer\r\n // public List < ContractProductViewModel > Products { get; set; }\r\n Energy1: number;\r\n Energy2: number;\r\n Reading1: number;\r\n Reading2: number;\r\n ContractSpecificBasicPrice: number;\r\n ContractSpecificEnergy1Price: number;\r\n ContractSpecificEnergy2Price: number;\r\n IsAmr: number;\r\n InvoicingGroup: number;\r\n UsageGroupName: string;\r\n StartDate: Date;\r\n StoredStartDate: Date;\r\n DueDate: number;\r\n OfferValidUntilDate: Date;\r\n AddressValidFrom: Date;\r\n RefundInvoice: boolean;\r\n AcceptTerms: boolean;\r\n EnableSendingNewContractConfirmation: boolean;\r\n PropertyTrade: boolean;\r\n TestMode: boolean;\r\n CreditTransfers: number;\r\n CreditAccount: string;\r\n ConfirmationChannel: number;\r\n ContractReason: ContractReasonEnum;\r\n PaymentMethod: number; // Is this PaymentMethodTypeEnum?\r\n // public List < ProcessInformation > ProcessInformations { get; set; }\r\n ExtraInformation: string;\r\n LoadModel: string;\r\n AnnuityInvoicing: number;\r\n InvoicingMethod: InvoicingMethodEnum\r\n DiscountPercent: number;\r\n MembershipCode: string;\r\n Customer: ICustomerViewModel;\r\n Company: ICompanyViewModel;\r\n MeteringPoint: IMeteringPointViewModel;\r\n AdditionalMeteringPoint: IAdditionalMeteringPointViewModel[];\r\n IsInvoicingAddressInUse: boolean;\r\n IsCustomerAddressInUse: boolean;\r\n DeliveryEmail: string;\r\n InvoicingAddress: IInvoicingAddressViewModel;\r\n CreditInformation: ICreditInformationViewModel;\r\n LastActivity: Date;\r\n TupasAuthId: number;\r\n PermissionToSearchContactData: boolean;\r\n ProductChanged: boolean;\r\n ProductChangeProcess: boolean;\r\n OldContract: boolean;\r\n OldContractCode: string;\r\n ConnectionFee: number;\r\n ConnectionContractTransfers: boolean;\r\n DistrictHeatContractPermission: boolean;\r\n Status: string;\r\n HomeNetwork: string;\r\n HomeNetworkByAddress: string;\r\n Id: number;\r\n CustomerType: CustomerTypeEnum;\r\n HousingType: HousingTypeEnum;\r\n PropertyType: number;\r\n ProcessType: ProcessTypeEnum;\r\n OldContractEndDate: Date;\r\n OldFixedTermContractEndDateByUser: Date;\r\n EndDate: Date;\r\n OldMeteringPoint: IMeteringPointViewModel;\r\n OldSalesCompany: string;\r\n SupplierChangeStatus: number;\r\n CreatedUser: string;\r\n Created: Date;\r\n LockedUser: string;\r\n LockedTime: Date;\r\n OfferId: string;\r\n CustomerContracts: IOtherContractViewModel[];\r\n MeteringPointContracts: IOtherContractViewModel[];\r\n OldMeteringPointContracts: IOtherContractViewModel[];\r\n Phase: number;\r\n MaxPhase: number;\r\n ContinuationContract: string;\r\n ExtranetContract: boolean;\r\n ExternalProductId: string;\r\n Error: string;\r\n MoveOutProcess: IMoveOutProcessViewModel;\r\n ExtraFeatures: IExtraFeatureViewModel[];\r\n // From ContractProcess, values defined in ProcessStatusEnum.\r\n MoveOutStatus: ProcessStatusEnum;\r\n NewContractStatus: ProcessStatusEnum;\r\n IsAcceptingOffer: boolean;\r\n HasAcceptedContract: boolean;\r\n CampaignCode: string;\r\n ConfirmationAddress: IAddressViewModel;\r\n SubProcessType: number; // What is this?\r\n ContractTypes: number; // What is this?\r\n ExistingContracts: number;\r\n OldContractsProduct: IContractsProductViewModel;\r\n PropertyOwnerName: string;\r\n PropertyOwnerContactInformation: string;\r\n DHInvoicingName: string;\r\n DHInvoicingContactInformation: string;\r\n Brand: string;\r\n OfferCreated: Date;\r\n InvoicingMethodSelected: boolean;\r\n PaperInvoiceAllowed: boolean;\r\n OtherAddressSelected: boolean;\r\n DHMeteringPoint: boolean;\r\n GasMeteringPoint: boolean;\r\n IsFollowUpContract: boolean;\r\n ContractDate: Date;\r\n ContractOriginInfo: IContractOriginInfoViewModel;\r\n ExtraServiceOrder: number;\r\n isNewContractBasedOnOld: boolean;\r\n AdditionalContracts: IAdditionalContractViewModel[];\r\n ContractCode: string;\r\n IsSafeToConnect: boolean;\r\n IsConnected: boolean;\r\n DocumentTemplateName: string;\r\n ExternalOfferId: string;\r\n SalesChannel: string;\r\n PreSelectedProductAndPriceList: boolean;\r\n PreSelectedMembership: string;\r\n MarketingPermissionEmailCustomer: boolean;\r\n DirectMarketingSelected: boolean;\r\n IsEstateOwner: boolean;\r\n MovingOutContracts: IMovingSelectionViewModel;\r\n\tMembershipType: number;\r\n StrongContractAuthentication: boolean;\r\n AuthenticateQuestionAccepted: boolean;\r\n ContractToNewAddressSelection: number;\r\n}\r\n\r\nexport class ContractViewModel implements IContractViewModel {\r\n HeatingTypeId: HeatingTypeEnum;\r\n HousingTypeId: HousingTypeEnum;\r\n TarificationId: TarificationIdEnum;\r\n Registers: number;\r\n OldFixedPeriodTime: number;\r\n ValuationId: number;\r\n ContractLocation: number;\r\n HouseArea: number;\r\n ProductId: number;\r\n PriceListId: number;\r\n ContractMembership: IContractMembershipViewModel = new ContractMembershipViewModel();\r\n Energy1: number;\r\n Energy2: number;\r\n Reading1: number;\r\n Reading2: number;\r\n ContractSpecificBasicPrice: number;\r\n ContractSpecificEnergy1Price: number;\r\n ContractSpecificEnergy2Price: number;\r\n IsAmr: number;\r\n InvoicingGroup: number;\r\n UsageGroupName: string;\r\n StartDate: Date;\r\n StoredStartDate: Date;\r\n DueDate: number;\r\n OfferValidUntilDate: Date;\r\n AddressValidFrom: Date;\r\n RefundInvoice: boolean;\r\n AcceptTerms: boolean;\r\n EnableSendingNewContractConfirmation: boolean;\r\n PropertyTrade: boolean;\r\n TestMode: boolean;\r\n CreditTransfers: number;\r\n CreditAccount: string;\r\n ConfirmationChannel: number;\r\n ContractReason: ContractReasonEnum;\r\n PaymentMethod: InvoicingMethodEnum;\r\n // public List < ProcessInformation > ProcessInformations { get; set; }\r\n ExtraInformation: string;\r\n LoadModel: string;\r\n AnnuityInvoicing: number;\r\n InvoicingMethod: number\r\n DiscountPercent: number;\r\n MembershipCode: string;\r\n Customer: ICustomerViewModel = new CustomerViewModel();\r\n Company: ICompanyViewModel = new CompanyViewModel();\r\n MeteringPoint: IMeteringPointViewModel = new MeteringPointViewModel();\r\n AdditionalMeteringPoint: IAdditionalMeteringPointViewModel[] = [];\r\n IsInvoicingAddressInUse: boolean;\r\n IsCustomerAddressInUse: boolean;\r\n DeliveryEmail: string;\r\n InvoicingAddress: IInvoicingAddressViewModel = new InvoicingAddressViewModel();\r\n CreditInformation: ICreditInformationViewModel = new CreditInformationViewModel();\r\n LastActivity: Date;\r\n TupasAuthId: number;\r\n PermissionToSearchContactData: boolean;\r\n ProductChanged: boolean;\r\n ProductChangeProcess: boolean;\r\n OldContract: boolean;\r\n OldContractCode: string;\r\n ConnectionFee: number;\r\n ConnectionContractTransfers: boolean;\r\n DistrictHeatContractPermission: boolean;\r\n Status: string;\r\n HomeNetwork: string;\r\n HomeNetworkByAddress: string;\r\n Id: number;\r\n CustomerType: CustomerTypeEnum;\r\n HousingType: HousingTypeEnum;\r\n PropertyType: number;\r\n ProcessType: ProcessTypeEnum;\r\n OldContractEndDate: Date;\r\n OldFixedTermContractEndDateByUser: Date;\r\n EndDate: Date;\r\n OldMeteringPoint: IMeteringPointViewModel = new MeteringPointViewModel();\r\n OldSalesCompany: string;\r\n SupplierChangeStatus: number;\r\n CreatedUser: string;\r\n Created: Date;\r\n LockedUser: string;\r\n LockedTime: Date;\r\n OfferId: string;\r\n CustomerContracts: IOtherContractViewModel[] = [];\r\n MeteringPointContracts: IOtherContractViewModel[] = [];\r\n OldMeteringPointContracts: IOtherContractViewModel[] = [];\r\n Phase: number;\r\n MaxPhase: number;\r\n ContinuationContract: string;\r\n ExtranetContract: boolean;\r\n ExternalProductId: string;\r\n Error: string;\r\n MoveOutProcess: IMoveOutProcessViewModel;\r\n ExtraFeatures: IExtraFeatureViewModel[] = [];\r\n MoveOutStatus: ProcessStatusEnum;\r\n NewContractStatus: ProcessStatusEnum;\r\n IsAcceptingOffer: boolean;\r\n HasAcceptedContract: boolean;\r\n CampaignCode: string;\r\n ConfirmationAddress: IAddressViewModel = new AddressViewModel();\r\n SubProcessType: number; // What is this?\r\n ContractTypes: number; // What is this?\r\n ExistingContracts: number;\r\n OldContractsProduct: IContractsProductViewModel;\r\n PropertyOwnerName: string;\r\n PropertyOwnerContactInformation: string;\r\n DHInvoicingName: string;\r\n DHInvoicingContactInformation: string;\r\n Brand: string;\r\n OfferCreated: Date;\r\n InvoicingMethodSelected: boolean;\r\n PaperInvoiceAllowed: boolean;\r\n OtherAddressSelected: boolean;\r\n DHMeteringPoint: boolean;\r\n GasMeteringPoint: boolean;\r\n IsFollowUpContract: boolean;\r\n ContractDate: Date;\r\n ContractOriginInfo: IContractOriginInfoViewModel;\r\n ExtraServiceOrder: number;\r\n isNewContractBasedOnOld: boolean;\r\n AdditionalContracts: IAdditionalContractViewModel[] = [];\r\n ContractCode: string;\r\n IsSafeToConnect: boolean;\r\n IsConnected: boolean;\r\n DocumentTemplateName: string;\r\n ExternalOfferId: string;\r\n SalesChannel: string;\r\n PreSelectedProductAndPriceList: boolean;\r\n PreSelectedMembership: string;\r\n MarketingPermissionEmailCustomer: boolean;\r\n DirectMarketingSelected: boolean;\r\n IsEstateOwner: boolean;\r\n MovingOutContracts: IMovingSelectionViewModel;\r\n\tMembershipType: number;\r\n StrongContractAuthentication: boolean;\r\n AuthenticateQuestionAccepted: boolean;\r\n ContractToNewAddressSelection: number;\r\n}\r\n\r\nexport interface IMovingSelectionViewModel {\r\n Customers: ICustomerViewModel[];\r\n Companies: ICompanyViewModel[];\r\n Utilities: object[];\r\n MeteringPointAddress: string;\r\n AddressId: string;\r\n}\r\n\r\nexport interface IConsumptionReportSubscriptionViewModel {\r\n ReportSubscriptionId: number;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n MeteringPointCode: string;\r\n MpSourceCompanyCode: string;\r\n Email: string;\r\n WeeklyReport: boolean;\r\n MonthlyReport: boolean;\r\n Culture: string;\r\n UserName: string;\r\n ConsumptionReportSubscriptionEmails: IConsumptionReportSubscriptionEmailViewModel[];\r\n}\r\n\r\nexport interface IConsumptionReportSubscriptionEmailViewModel {\r\n ConsumptionReportSubscriptionEmailId: number;\r\n Email: string;\r\n WeeklyReportOrdered: boolean;\r\n MonthlyReportOrdered: boolean;\r\n Language: string;\r\n\r\n}\r\n\r\nexport interface ICreditInformationViewModel {\r\n IsCreditOk: boolean;\r\n PaymentDefaults: IPaymentDefaultViewModel[];\r\n ErrorCode: string;\r\n ErrorText: string;\r\n ClassificationCode: string;\r\n ClassificationDescription: string;\r\n LastUpdated : Date;\r\n Id: number;\r\n Source: number;\r\n}\r\n\r\nexport class CreditInformationViewModel implements ICreditInformationViewModel {\r\n IsCreditOk: boolean;\r\n PaymentDefaults: IPaymentDefaultViewModel[] = [];\r\n ErrorCode: string;\r\n ErrorText: string;\r\n ClassificationCode: string;\r\n ClassificationDescription: string;\r\n LastUpdated: Date;\r\n Id: number;\r\n Source: number;\r\n}\r\n\r\nexport interface ICustomerViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n Name: string;\r\n FirstName: string;\r\n LastName: string;\r\n OfferName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CustomerSource: number;\r\n SBonusCode: string;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n CustomerType: CustomerTypeEnum;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n\r\n Address: IAddressViewModel;\r\n InvoicingAddress: IAddressViewModel;\r\n ContractPartners: IContactPersonViewModel[];\r\n CustomerMemberships: ICustomerMembershipViewModel[];\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n}\r\n\r\nexport class CustomerViewModel implements ICustomerViewModel {\r\n Id: number;\r\n TrustedSource: boolean;\r\n Name: string;\r\n FirstName: string;\r\n LastName: string;\r\n OfferName: string;\r\n Pin: string;\r\n Email: string;\r\n Phone: string;\r\n CustomerCode: string;\r\n CustomerSource: number;\r\n SBonusCode: string;\r\n CultureCode: string;\r\n SourceCompanyCode: string;\r\n EPaymentCode: string;\r\n CustomerType: CustomerTypeEnum;\r\n EPaymentOperator: string;\r\n EPaymentOperatorId: number;\r\n\r\n Address: IAddressViewModel = new AddressViewModel();\r\n InvoicingAddress: IAddressViewModel = new AddressViewModel;\r\n ContractPartners: IContactPersonViewModel[];\r\n CustomerMemberships: ICustomerMembershipViewModel[] = new Array as CustomerMembershipViewModel[];\r\n Deposit: boolean;\r\n MarketingBanPhone: boolean;\r\n MarketingBanEmail: boolean;\r\n MarketingChannelEmail: boolean;\r\n MarketingChannelSMS: boolean;\r\n MarketingChannelElec: boolean;\r\n DirectMarketing: boolean | null;\r\n ExistingCustomer: boolean;\r\n CustomerIdExternal: number;\r\n ServiceChannelCode: string;\r\n HasAcceptedTAC: boolean;\r\n TACAcceptedDate: Date;\r\n}\r\n\r\nexport interface ICustomerMeteringPointViewModel {\r\n MeteringPointCode: string;\r\n SourceCompanyCode: string;\r\n Address: IAddress;\r\n Utility: UtilityTypeEnum;\r\n }\r\n\r\nexport interface ICustomershipViewModel {\r\n CISCustomerId: number;\r\n Name: string;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n CustomerType: number;\r\n OfficialAddress: IAddress;\r\n Pin: string;\r\n BusinessIdentifier: string;\r\n Phone: string;\r\n Email: string;\r\n MyAccessLevels: Map;//IDictionary;\r\n SharedCustomerRights: ISharedCustomerRightsViewModel[];\r\n MeteringPoints: ICustomerMeteringPointViewModel[];\r\n}\r\n//D\r\n//E\r\nexport interface IExtraFeatureViewModel {\r\n ExtraFeatureId: number;\r\n Name: string;\r\n Amount: number;\r\n Price: number;\r\n Time: Date;\r\n}\r\n//F\r\nexport interface IFinalInvoicingAddressViewModel {\r\n Address: IAddressViewModel;\r\n IBAN: string;\r\n BIC: string;\r\n OVT: string;\r\n Email: string;\r\n}\r\n//G\r\n//H\r\n//I\r\nexport interface IInvoicingAddressViewModel {\r\n Address: IAddressViewModel;\r\n ContactPersonName: string;\r\n Reference: string;\r\n CompanyName: string;\r\n BusinessId: string;\r\n ContactPersonEmail: string;\r\n ContactPersonPhone: string;\r\n InvoicingNetworkAddress: string;\r\n InvoicingOperator: string;\r\n InvoicingDeliverCode: string;\r\n InvoicingFinIbanAddress: string;\r\n InvoicingFinDeliverCode: string;\r\n InvoicingFinOvtCode: string;\r\n}\r\n\r\nexport class InvoicingAddressViewModel implements IInvoicingAddressViewModel {\r\n Address: IAddressViewModel = new AddressViewModel();\r\n ContactPersonName: string;\r\n Reference: string;\r\n CompanyName: string;\r\n BusinessId: string;\r\n ContactPersonEmail: string;\r\n ContactPersonPhone: string;\r\n InvoicingNetworkAddress: string;\r\n InvoicingOperator: string;\r\n InvoicingDeliverCode: string;\r\n InvoicingFinIbanAddress: string;\r\n InvoicingFinDeliverCode: string;\r\n InvoicingFinOvtCode: string;\r\n}\r\n\r\n//J\r\n//K\r\n//L\r\nexport interface ILinkedUserModel {\r\n LinkedUserId: number;\r\n UserName: string;\r\n LinkedUserName: string;\r\n CustomerFullName: string;\r\n Pin: string;\r\n Phone: string;\r\n Removed: boolean;\r\n //public AccessLevelEnum AccessLevel { get; set; }\r\n //public string AccessLevelDescription { get { return this.AccessLevel.GetDescription(); } }\r\n AccessLevelDescription: string;\r\n LinkedUserAuthenticationGuid: string;\r\n LinkedUserAuthenticationEmail: string;\r\n\r\n Invoicing?: AccessLevelEnum;\r\n InvoicingDescription: string;\r\n CustomerInformation?: AccessLevelEnum;\r\n CustomerInformationDescription: string;\r\n Contacts?: AccessLevelEnum;\r\n ContactsDescription: string;\r\n Contracts?: AccessLevelEnum;\r\n ContractsDescription: string;\r\n Outages?: AccessLevelEnum;\r\n OutagesDescription: string;\r\n Reports?: AccessLevelEnum;\r\n ReportsDescription: string;\r\n Messages?: AccessLevelEnum;\r\n MessagesDescription: string;\r\n ReadingEntry?: AccessLevelEnum;\r\n ReadingEntryDescription: string;\r\n\r\n\r\n GetAccessLevel: AccessLevelEnum;\r\n\r\n AccessLevels: Map;//Dictionary < string, AccessLevelEnum >\r\n}\r\n//M\r\nexport interface IMeteringPointViewModel {\r\n Address: IAddressViewModel;\r\n CustomerCode: string;\r\n MeteringPointCode: string;\r\n ExternalMeteringPointCode: string;\r\n NetworkCompanyCode: string;\r\n NetworkCompanyName: string;\r\n FuseTypeId: number;\r\n TrustedSource: boolean;\r\n Id: number;\r\n Source: number;\r\n TarificationId: TarificationIdEnum;\r\n Energy1: number;\r\n Energy2: number;\r\n HousingTypeId: HousingTypeEnum;\r\n SourceCompanyCode: string;\r\n CISMeteringPointId: number;\r\n IsAmr : boolean;\r\n IsConnected: boolean;\r\n DisconnectionReason: string;\r\n DisconnectionDate: Date;\r\n IsSafeToConnect: boolean;\r\n AdditionalAddressToMeteringPointAddress: boolean;\r\n IsItellaAddressDatasConverted: boolean;\r\n GsrnCode: string;\r\n MeteringGridAreaCode: string;\r\n PhysicalStatusType: string;\r\n IsNetted: null | boolean;\r\n EnergyCommunityCode: string;\r\n EnergyCommunityName: string;\r\n RelatedMeteringPoint: string;\r\n}\r\n\r\nexport interface IMultiUtilityMeteringPointViewModel {\r\n Customer: ICustomerViewModel;\r\n Address: IAddressViewModel;\r\n MeteringPoints: MultiUtilityMeteringPoint[];\r\n /// Metering point codes of meteringpoints with valid contract\r\n MeteringPointsWithValidContract: string[];\r\n}\r\n\r\nexport class MultiUtilityMeteringPoint {\r\n Item1: IUtilityType;\r\n Item2: IMeteringPointViewModel;\r\n}\r\n\r\nexport class MeteringPointViewModel implements IMeteringPointViewModel {\r\n Address: IAddressViewModel = new AddressViewModel();\r\n CustomerCode: string;\r\n MeteringPointCode: string;\r\n ExternalMeteringPointCode: string;\r\n NetworkCompanyCode: string;\r\n NetworkCompanyName: string;\r\n FuseTypeId: number;\r\n TrustedSource: boolean;\r\n Id: number;\r\n Source: number;\r\n TarificationId: TarificationIdEnum;\r\n Energy1: number;\r\n Energy2: number;\r\n HousingTypeId: HousingTypeEnum;\r\n SourceCompanyCode: string;\r\n CISMeteringPointId: number;\r\n IsAmr: boolean;\r\n IsConnected: boolean;\r\n DisconnectionReason: string;\r\n DisconnectionDate: Date;\r\n IsSafeToConnect: boolean;\r\n AdditionalAddressToMeteringPointAddress: boolean;\r\n IsItellaAddressDatasConverted: boolean;\r\n GsrnCode: string;\r\n MeteringGridAreaCode: string;\r\n PhysicalStatusType: string;\r\n IsNetted: null | boolean = null;\r\n EnergyCommunityCode: string;\r\n EnergyCommunityName: string;\r\n RelatedMeteringPoint: string;\r\n}\r\n\r\nexport interface IMoveOutConsumptionPointViewModel {\r\n Address: IAddressViewModel;\r\n MeteringPoints: IMoveOutMeteringPointViewModel[];\r\n UtilityTypeId: UtilityTypeEnum;\r\n}\r\n\r\nexport interface IMoveOutContractViewModel {\r\n ContractCode: string;\r\n ContractTypeId: number;\r\n UtilityTypeId: number;\r\n MoveOutDate: Date;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n}\r\n\r\nexport interface IMoveOutMeteringPointViewModel {\r\n MeteringPointCode: string;\r\n Contracts: IMoveOutContractViewModel[];\r\n MeteringPointAddress: IAddressViewModel;\r\n}\r\n\r\nexport interface IMoveOutProcessViewModel {\r\n MoveOutProcessId: number;\r\n CustomerType: number;\r\n ConsumerCustomer: ICustomerViewModel;\r\n CompanyCustomer: ICompanyViewModel;\r\n MoveOutStatus: number;\r\n MoveOutDate: Date;\r\n ConsumptionPoints: IMoveOutConsumptionPointViewModel[];\r\n FinalInvoicingAddress: IFinalInvoicingAddressViewModel;\r\n}\r\n\r\n//N\r\n//O\r\nexport interface IOtherContractViewModel {\r\n Id: number;\r\n ContractCode: string;\r\n CustomerCode: string;\r\n CustomerName: string;\r\n Pin: string;\r\n StartDate: Date;\r\n EndDate: Date;\r\n FixedTimeUntilDate: Date;\r\n IsFixedTime: boolean;\r\n Status: CISContractStatusEnum;\r\n UtilityTypeId: UtilityTypeEnum;\r\n ContractTypeId: ContractTypeEnum;\r\n MeteringPoint: IMeteringPointViewModel;\r\n InvoiceGroupCode: string;\r\n DueDate: Date;\r\n ExternalProductId: string;\r\n ExternalProductName: string;\r\n SourceCompanyCode: string;\r\n ProductId: number;\r\n PriceListId: number;\r\n InvoicingMethod: InvoicingMethodEnum;\r\n BackgroundContractCode: string;\r\n}\r\n\r\n//P\r\nexport interface IPaymentDefaultViewModel {\r\n Id: number;\r\n PaymentDefaultCode: string;\r\n PaymentDefaultDate: Date;\r\n PaymentDefaultDate2: Date;\r\n AmountOfPaymentDefault: string;\r\n Creditor: string;\r\n DebtType: string;\r\n DebtTypeText: string;\r\n Reference: string;\r\n DebtPayedDate: Date;\r\n PaymentDefaultText: string;\r\n DiaryNumber: string;\r\n GroupIdentifier: string;\r\n}\r\n\r\nexport interface IPriceListAvailabilityViewModel {\r\n Id: number;\r\n RuleType: RuleTypeEnum;\r\n RuleValue: number;\r\n Rule: number;\r\n}\r\n\r\nexport interface IPriceListServiceProductViewModel {\r\n ServicePriceList: IPriceListViewModel;\r\n PriceListServiceProductType: number;\r\n}\r\n\r\nexport interface IPriceListViewModel {\r\n Id: number;\r\n Name: string;\r\n ExternalPriceListId: string;\r\n ExternalPriceListId2: string;\r\n Description: string;\r\n FixedTerm: boolean;\r\n FixedTermDuration: number;\r\n FixedTermDurationUnit: number;\r\n FixedTermEndDate: Date;\r\n FixedTermAbsoluteEndDate: Date;\r\n PricingType: number;\r\n ProductComponents: IProductComponentViewModel[];\r\n OrderNumber: number;\r\n CampaignCode: string;\r\n CampaignName: string;\r\n CampaignDescription: string;\r\n CampaignRestricted: boolean;\r\n ShortDescription: string;\r\n InvoicingRule: number;\r\n DeliveryStartDate: Date;\r\n HasWoodWaterProductionManner: boolean;\r\n HasWindProductionManner: boolean;\r\n HasSunProductionManner: boolean;\r\n PriceListAvailabilities: IPriceListAvailabilityViewModel[];\r\n PriceListServiceProducts: IPriceListServiceProductViewModel[];\r\n CountOfMandatoryServiceProducts: number;\r\n CountOfOptionalServiceProducts: number;\r\n}\r\n\r\nexport interface ISelectedServiceProductViewModel {\r\n PriceListId: number;\r\n ServiceProductExternalPriceListId: string;\r\n ServiceProduct: IPriceListServiceProductViewModel;\r\n}\r\n\r\nexport interface IProductAvailabilityViewModel {\r\n Id: string;\r\n RuleType: RuleTypeEnum;\r\n RuleValue: number;\r\n Rule: number;\r\n}\r\n\r\nexport interface IProductComponentViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n TarificationId: TarificationIdEnum\r\n TarificationName: string;\r\n PriceStartDate: Date;\r\n BasicDescription: string;\r\n BasicPriceUnit: string;\r\n BasicPrice: number;\r\n BasicPriceNoVAT: number;\r\n FuturePriceStartDate: Date;\r\n FutureBasicPrice: number;\r\n FutureBasicPriceNoVAT: number;\r\n Energy1Price: number;\r\n Energy1PriceNoVAT: number;\r\n Energy1PriceLabel: string;\r\n Energy1Description: string;\r\n Energy1PriceUnit: string;\r\n FutureEnergy1Price: number;\r\n FutureEnergy1PriceNoVAT: number;\r\n Energy2Price: number;\r\n Energy2PriceNoVAT: number;\r\n Energy2PriceLabel: string;\r\n Energy2Description: string;\r\n Energy2PriceUnit: string;\r\n Energy1BundleDescription: string;\r\n Energy2BundleDescription: string;\r\n Energy1BundlePrice: number;\r\n Energy1BundlePriceNoVat: number;\r\n Energy2BundlePrice: number;\r\n Energy2BundlePriceNoVat: number;\r\n FutureEnergy2Price: number;\r\n FutureEnergy2PriceNoVAT: number;\r\n TotalPrice: number;\r\n TotalPriceNoVAT: number;\r\n FutureTotalPrice: number;\r\n FutureTotalPriceNoVAT: number;\r\n TotalConsumption: number;\r\n AlternativePrices: IAlternativePriceViewModel[];\r\n ThisMonthForFuturePrice: string;\r\n NextMonthForFuturePrice: string;\r\n ExternalId: string;\r\n ServiceDescription: string;\r\n ServicePriceUnit: string;\r\n ServicePriceUnitTranslated: string;\r\n ServicePrice: number;\r\n ServicePriceNoVAT: number;\r\n SpotEnergy1MarginalPrice: number;\r\n SpotEnergy1MarginalPriceNoVAT: number;\r\n SpotEnergy1MarginalDescription: string;\r\n SpotEnergy1MarginalPriceUnit: string;\r\n SpotEnergy2MarginalPrice: number;\r\n SpotEnergy2MarginalPriceNoVAT: number;\r\n SpotEnergy2MarginalDescription: string;\r\n SpotEnergy2MarginalPriceUnit: string;\r\n SpotPriceLimitFee: number;\r\n SpotPriceLimitFeeNoVAT: number;\r\n SpotPriceLimitFeeDescription: string;\r\n SpotPriceLimitFeeUnit: string;\r\n AdditionalBasicPrices: IAdditionalBasicPriceViewModel[];\r\n}\r\n\r\nexport interface IProductGroupViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n Code: string;\r\n CSSClass: string;\r\n Products: IProductViewModel[];\r\n\r\n}\r\n\r\nexport interface IProductTypeViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n Code: string;\r\n}\r\n\r\nexport interface IProductViewModel {\r\n Id: number;\r\n Name: string;\r\n Description: string;\r\n MarketingURL: string;\r\n Icon: string;\r\n PriceLists: IPriceListViewModel[];\r\n ProductGroups: IProductGroupViewModel[];\r\n ProductTypes: IProductTypeViewModel[];\r\n ProductAvailabilities: IProductAvailabilityViewModel[];\r\n Rating: number;\r\n OrderNumber: number;\r\n CO2Emission : number;\r\n ShortDescription: string\r\n FeaturedEnergyPrice: number;\r\n FeaturedBasicPrice: number;\r\n Type : ProductTypeEnum;\r\n}\r\n//Q\r\n//R\r\n//S\r\nexport interface ISharedCustomerRightsViewModel {\r\n Id: number;\r\n CustomerCode: string;\r\n SourceCompanyCode: string;\r\n Contacts: UserMappingAccessLevelEnum;\r\n Contracts: UserMappingAccessLevelEnum;\r\n CustomerInformation: UserMappingAccessLevelEnum;\r\n Invoicing: UserMappingAccessLevelEnum;\r\n Messages: UserMappingAccessLevelEnum;\r\n Outages: UserMappingAccessLevelEnum;\r\n Reports: UserMappingAccessLevelEnum;\r\n ReadingEntry: UserMappingAccessLevelEnum;\r\n AccessLevels: Map;//IDictionary;\r\n User: IUserInfoViewModel;\r\n}\r\n//T\r\n//U\r\nexport interface IUserInfoViewModel {\r\n UserInfoId: number;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string;\r\n Username: string\r\n Features: IUserProfileFeatureViewModel[];\r\n}\r\n\r\nexport interface IUserProfileFeatureViewModel {\r\n\r\n UserProfileFeatureId: number;\r\n FeatureTypeId: UserProfileFeatureTypeEnum;\r\n Value: string;\r\n Priority: number;\r\n}\r\n\r\nexport interface IUtilityType {\r\n UtilityTypeId: number;\r\n Name: string;\r\n Name_sv: string;\r\n Name_en: string;\r\n Icon: string;\r\n Type: UtilityTypeEnum;\r\n}\r\n\r\nexport class ProductAndPricelist {\r\n Name: string;\r\n Duration: string;\r\n PriceList: IPriceListViewModel;\r\n constructor(name: string, duration: string, priceList: IPriceListViewModel) {\r\n this.Name = name;\r\n this.Duration = duration;\r\n this.PriceList = priceList;\r\n }\r\n}\r\n//V\r\n//X\r\n//Y\r\n//Z\r\n","import Vue from \"vue\";\r\nimport { ValidationErrors } from \"./new-contract-vue\";\r\n\r\nclass NewContractEventBus {\r\n private vue: Vue = new Vue();\r\n\r\n removeNewContractInitializedListener(listener: () => void) {\r\n this.vue.$off(\"new-contract-initialized\", listener);\r\n };\r\n\r\n addNewContractInitializedListener(listener: () => void) {\r\n this.vue.$on(\"new-contract-initialized\", listener);\r\n };\r\n\r\n notifyNewContractInitialized() {\r\n this.vue.$emit(\"new-contract-initialized\");\r\n }\r\n\r\n\r\n addValidationFailedListener(listener: (ValidationErrors) => any) {\r\n this.vue.$on(\"validation-failed\", listener);\r\n }\r\n\r\n removeValidationFailedListener(listener: (ValidationErrors) => any) {\r\n this.vue.$off(\"validation-failed\", listener);\r\n }\r\n\r\n notifyValidationFailed(validationErrors: ValidationErrors) {\r\n this.vue.$emit(\"validation-failed\", validationErrors);\r\n }\r\n\r\n addProductSelectionClearedListener(listener: () => any) {\r\n this.vue.$on(\"product-selection-cleared\", listener);\r\n }\r\n\r\n removeProductSelectionClearedListener(listener: () => any) {\r\n this.vue.$off(\"product-selection-cleared\", listener);\r\n }\r\n\r\n notifyProductSelectionCleared() {\r\n this.vue.$emit(\"product-selection-cleared\");\r\n }\r\n\r\n addNotifySessionExpiredListener(listener: () => void) {\r\n this.vue.$on(\"notify-session-exception\", listener);\r\n }\r\n\r\n removeNotifySessionExpiredListener(listener: () => void) {\r\n this.vue.$off(\"notify-session-exception\", listener);\r\n }\r\n\r\n notifySessionExpired() {\r\n this.vue.$emit(\"notify-session-exception\", true);\r\n }\r\n}\r\n\r\nexport const NewContractEvents = new NewContractEventBus();","require(\"core-js/features/promise\");\r\nrequire(\"core-js/features/array/for-each\")\r\n\r\nimport Vue from \"vue\"\r\nimport Vuex, { StoreOptions, ActionContext } from \"vuex\"\r\nimport { ContractViewModel, IContractViewModel, IProductViewModel, AddressViewModel, IPriceListViewModel, IContactPersonViewModel, ISelectedServiceProductViewModel, IMembershipTypeViewModel, IContractMembershipViewModel, ContractMembershipViewModel } from \"../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, MoveOutReasonEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport { NewContractEvents } from \"./new-contract-vue-events\";\r\n\r\nVue.use(Vuex);\r\n\r\ndeclare var $: any;\r\n\r\nexport interface INewContractState {\r\n moveOutUser: string;\r\n validPinFromDb: boolean;\r\n\r\n contract: IContractViewModel;\r\n selectedProduct: IProductViewModel;\r\n selectedPriceList: IPriceListViewModel;\r\n products: IProductViewModel[];\r\n\r\n // If true, refreshing products will clear the selected product IF the selected product is not among the refreshed ones.\r\n autoClearSelectedProduct: boolean;\r\n\r\n // This tells if the New Contract module & data has been initialized (i.e. client side model has been set by initValues call from the Hub etc).\r\n newContractInitialized: boolean;\r\n\r\n contractSettings: IContractSettings;\r\n environmentSettings: IEnvironmentSettings\r\n preSelectedProductPriceListTarification: boolean;\r\n preSelectedProductId: number;\r\n preSelectedPriceListId: number;\r\n preSelectedMembership: string;\r\n isAuthenticated: boolean;\r\n selectedServiceProducts: string[];\r\n selectedOfferProducts: string[];\r\n holidays: string[];\r\n loadingNewPhase: boolean;\r\n isUserAuthenticated: boolean;\r\n membershipTypes: IMembershipTypeViewModel[];\r\n contractMembershipTemp: IContractMembershipViewModel;\r\n isProcessTypeSelected: boolean;\r\n selectedConinueWithSameProductId: number;\r\n selectedConinueWithSamePriceListId: number;\r\n offerRequest: boolean;\r\n offerProducts: string[];\r\n strongContractAuthentication: boolean;\r\n contractToNewAddressSelection: number;\r\n}\r\n\r\nlet state: INewContractState = {\r\n moveOutUser: null,\r\n validPinFromDb: null,\r\n\r\n contract: new ContractViewModel() as IContractViewModel,\r\n selectedProduct: null,\r\n selectedPriceList: null,\r\n products: [] as IProductViewModel[],\r\n autoClearSelectedProduct: true,\r\n newContractInitialized: false,\r\n\r\n contractSettings: null,\r\n environmentSettings: null,\r\n preSelectedProductId: null,\r\n preSelectedPriceListId: null,\r\n preSelectedMembership: null,\r\n preSelectedProductPriceListTarification: false,\r\n isAuthenticated: false,\r\n selectedServiceProducts: [] as string[],\r\n selectedOfferProducts: [] as string[],\r\n holidays: [] as string[],\r\n loadingNewPhase: false,\r\n isUserAuthenticated: false,\r\n membershipTypes: [] as IMembershipTypeViewModel[],\r\n contractMembershipTemp: new ContractMembershipViewModel() as IContractMembershipViewModel,\r\n isProcessTypeSelected: false,\r\n selectedConinueWithSameProductId: 0,\r\n selectedConinueWithSamePriceListId: 0,\r\n offerRequest: false,\r\n offerProducts: [] as string[],\r\n strongContractAuthentication: false,\r\n contractToNewAddressSelection: 0\r\n}\r\n\r\nexport enum PropertyTypeEnum {\r\n BasicValue,\r\n MeteringPointValue,\r\n ContractValue,\r\n CustomerValue\r\n}\r\n\r\nexport interface IContractSettings {\r\n MovingMinDates: number;\r\n MovingMinDatesCompany: number;\r\n SupplierChangeMinDates: number;\r\n SupplierChangeMinDatesCompany: number;\r\n ClosingMinDates: number;\r\n InvoicingMethodsInUse: boolean;\r\n AvailableLanguages: string[];\r\n AllowMakingNewSalesContractWithStartDateGreaterThan90Days: boolean;\r\n ListProductsForContractsWithStartDateGreaterThan90Days: string;\r\n SelectionForAbsoluteTimeperiodForSelectedProducts: string;\r\n PriimaPlusProductId: number;\r\n PriimaProductId: number;\r\n PriimaPlusPriceListId: number;\r\n ProductChangeMinDates: number;\r\n ProductChangeMinDatesCompany: number;\r\n}\r\n\r\nexport interface IEnvironmentSettings {\r\n DatahubMeteringPointRestApiVersion: number\r\n}\r\n// Experimental!\r\nclass PropDesc {\r\n type: PropertyTypeEnum;\r\n propertyNames: string[];\r\n setValue: (contract: IContractViewModel, value: string) => any;\r\n\r\n constructor(type, propertyNames) {\r\n this.type = type;\r\n this.propertyNames = propertyNames;\r\n }\r\n\r\n static basic(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.BasicValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n static mp(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.MeteringPointValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n static contract(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.ContractValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n static customer(setValue: (contract: IContractViewModel, value: string) => any) {\r\n let d = new PropDesc(PropertyTypeEnum.CustomerValue, null);\r\n d.setValue = setValue;\r\n return d;\r\n }\r\n\r\n public changeValue(obj: any, value: string,) {\r\n if (this.setValue != null) {\r\n this.setValue(obj, value);\r\n }\r\n else if (this.propertyNames != null) {\r\n this.propertyNames.forEach(propName => {\r\n PropDesc.changeValueInternal(obj, propName, value);\r\n });\r\n }\r\n }\r\n\r\n private static changeValueInternal(obj: any, propertyChain: string, value: string) {\r\n let parts = propertyChain.split(\".\");\r\n let propName = parts[0];\r\n if (parts.length == 1) {\r\n obj[propName] = value;\r\n }\r\n else {\r\n let newObj = obj[propName];\r\n let newPropChain = propertyChain.substr(propertyChain.indexOf(\".\") + 1);\r\n this.changeValueInternal(newObj, newPropChain, value);\r\n }\r\n }\r\n}\r\n\r\nlet basicValues = {\r\n // SetValue\r\n \"Brand\": PropDesc.basic((contract, value) => contract.Brand = null),\r\n \"PreSelectedProductAndPriceList\": PropDesc.basic((contract, value) => contract.PreSelectedProductAndPriceList = null),\r\n \"campaignCode\": PropDesc.basic((contract, value) => contract.CampaignCode = value),\r\n \"contractLocation\": PropDesc.basic((contract, value) => contract.ContractLocation = parseInt(value)),\r\n \"heatingType\": PropDesc.basic((contract, value) => contract.HeatingTypeId = parseInt(value)),\r\n \"housingType\": PropDesc.basic((contract, value) => contract.HousingTypeId = parseInt(value)),\r\n \"tarification\": PropDesc.basic((contract, value) => contract.TarificationId = parseInt(value)),\r\n \"energy1\": PropDesc.basic((contract, value) => contract.Energy1 = parseInt(value)),\r\n \"energy2\": PropDesc.basic((contract, value) => contract.Energy2 = parseInt(value)),\r\n \"reading1\": PropDesc.basic((contract, value) => contract.Reading1 = parseInt(value)),\r\n \"reading2\": PropDesc.basic((contract, value) => contract.Reading2 = parseInt(value)),\r\n \"meteringType\": PropDesc.basic((contract, value) => contract.IsAmr = parseInt(value)),\r\n \"valuation\": PropDesc.basic((contract, value) => contract.ValuationId = parseInt(value)),\r\n \"area\": PropDesc.basic((contract, value) => contract.HouseArea = parseInt(value)),\r\n \"oldFixedPeriodTime\": PropDesc.basic((contract, value) => contract.OldFixedPeriodTime = parseInt(value)),\r\n \"customerType\": PropDesc.basic((contract, value) => contract.CustomerType = parseInt(value)),\r\n \"permissionToSearchContactData\": PropDesc.basic((contract, value) => contract.PermissionToSearchContactData = value != \"0\"),\r\n \"ExtraServiceOrder\": PropDesc.basic((contract, value) => contract.ExtraServiceOrder = parseInt(value)),\r\n}\r\nlet meteringPointValues = {\r\n // SetMeteringPointValue\r\n \"meteringpoint-street-address_Street\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Street = value),\r\n \"MPCOName\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.COName = value),\r\n \"MPStreet\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Street = value),\r\n \"MoveOutStreetOnline\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Address.Street = value),\r\n \"MoveOutZipOnline\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Address.Zip = value),\r\n \"MoveOutCONameOnline\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Address.COName = value),\r\n \"MoveOutEmail\": PropDesc.mp((contract, value) => contract.MoveOutProcess.FinalInvoicingAddress.Email = value),\r\n //\"meteringpoint-street-address_StreetName\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.StreetName = value),\r\n //\"MPStreetName\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.StreetName = value),\r\n //\"meteringpoint-street-address_StreetQualifier\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.HouseNumber = value),\r\n //\"meteringpoint-street-address_StairCase\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Staircase = value),\r\n //\"meteringpoint-street-address_Apartment\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Apartment = value),\r\n \"MPZip\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Zip = value),\r\n \"meteringpoint-street-address_PostalCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Zip = value),\r\n \"MPCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.MeteringPointCode = value),\r\n \"NWCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.NetworkCompanyCode = value),\r\n \"NWName\": PropDesc.mp((contract, value) => contract.MeteringPoint.NetworkCompanyName = value),\r\n //\"StartDate\": PropDesc.mp((contract, value) => contract.StartDate = value),\r\n \"StartDate\": PropDesc.mp(null),\r\n \"MovingMPStreet\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n \"MovingMPZip\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"ResetOldMPAddress\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address = new AddressViewModel()),\r\n \"OldMPStreet\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n \"oldmeteringpoint-street-address_Street\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n //\"oldmeteringpoint-street-address_StreetName\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.StreetName = value),\r\n //\"oldmeteringpoint-street-address_StreetQualifier\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.HouseNumber = value),\r\n //\"oldmeteringpoint-street-address_StairCase\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Staircase = value),\r\n //\"oldmeteringpoint-street-address_Apartment\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Apartment = value),\r\n \"OldMPZip\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"oldmeteringpoint-street-address_PostalCode\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"OldMPCode\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.MeteringPointCode = value),\r\n \"MPMovingCode\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.MeteringPointCode = value),\r\n //\"MovingDate\": PropDesc.mp((contract, value) => contract.OldContractEndDate = value),\r\n \"MovingDate\": PropDesc.mp(null),\r\n \"MovingMPNetworkCompany\": PropDesc.mp((contract, value) => contract.OldMeteringPoint.NetworkCompanyName = value),\r\n //\"OldContractEndDate\": PropDesc.mp((contract, value) => contract.OldContractEndDate = value),\r\n \"OldContractEndDate\": PropDesc.mp(null),\r\n //\"MoveOutDate\": PropDesc.mp((contract, value) => contract.MoveOutProcess.MoveOutDate = value),\r\n \"MoveOutDate\": PropDesc.mp(null),\r\n \"ContractReason\": PropDesc.mp((contract, value) => contract.ContractReason = parseInt(value)),\r\n \"districtHeatContractPermission\": PropDesc.mp((contract, value) => contract.DistrictHeatContractPermission = parseInt(value) != 0),\r\n \"isConnected\": PropDesc.mp((contract, value) => {\r\n let v = parseInt(value) != 0; // Same than in new contract hub.\r\n contract.MeteringPoint.IsConnected = v;\r\n contract.IsConnected = v;\r\n }),\r\n \"isSafeToConnect\": PropDesc.mp((contract, value) => {\r\n let v = parseInt(value) != 0;\r\n contract.MeteringPoint.IsSafeToConnect = v;\r\n contract.IsSafeToConnect = v;\r\n }),\r\n //\"MPStaircase\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Staircase = value),\r\n //\"MPHouseNumber\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.HouseNumber = value),\r\n //\"MPApartment\": PropDesc.mp((contract, value) => contract.MeteringPoint.Address.Apartment = value),\r\n \"GsrnCode\": PropDesc.mp((contract, value) => contract.MeteringPoint.GsrnCode = value),\r\n \"IsNetted\": PropDesc.mp(null),\r\n}\r\n\r\nconst contractValues = {\r\n // SetContractValue\r\n \"MoveOut\": PropDesc.contract((contract, value) => contract.MoveOutProcess = null),\r\n \"ProcessType\": PropDesc.contract((contract, value) => contract.ProcessType = parseInt(value)),\r\n \"SubProcessType\": PropDesc.contract((contract, value) => contract.SubProcessType = parseInt(value)),\r\n \"ContractTypes\": PropDesc.contract((contract, value) => contract.ContractTypes = parseInt(value)),\r\n \"ExistingContracts\": PropDesc.contract((contract, value) => contract.ExistingContracts = parseInt(value)),\r\n \"InvoicingGroup\": PropDesc.contract((contract, value) => contract.InvoicingGroup = parseInt(value)),\r\n \"DueDate\": PropDesc.contract((contract, value) => contract.DueDate = parseInt(value)),\r\n \"PaymentMethod\": PropDesc.contract((contract, value) => contract.PaymentMethod = parseInt(value)),\r\n \"RefundInvoice\": PropDesc.contract((contract, value) => contract.RefundInvoice = value != null && value.length != 0),\r\n \"ExtraInformation\": PropDesc.contract((contract, value) => contract.ExtraInformation = value),\r\n \"InvoicingNetworkAddress\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingNetworkAddress = value),\r\n \"InvoicingOperator\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingOperator = value),\r\n \"InvoicingDeliverCode\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingDeliverCode = value),\r\n \"InvoicingFinIbanAddress\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingFinIbanAddress = value),\r\n \"InvoicingFinDeliverCode\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingFinDeliverCode = value),\r\n \"InvoicingFinOvtCode\": PropDesc.contract((contract, value) => contract.InvoicingAddress.InvoicingFinOvtCode = value),\r\n \"InvoicingStreetCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.Address.Street = value),\r\n \"InvoicingZipCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.Address.Zip = value),\r\n \"InvoicingPlaceCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.Address.Place = value),\r\n \"InvoicingContactPersonCompany\": PropDesc.contract((contract, value) => contract.InvoicingAddress.ContactPersonName = value),\r\n \"DeliveryEmail\": PropDesc.contract((contract, value) => contract.DeliveryEmail = value),\r\n \"ExternalProductId\": PropDesc.contract((contract, value) => contract.ExternalProductId = value),\r\n \"SupplierChangeStatus\": PropDesc.contract((contract, value) => contract.SupplierChangeStatus = parseInt(value)),\r\n \"acceptTerms\": PropDesc.contract((contract, value) => contract.AcceptTerms = value == \"1\"),\r\n \"EnableSendingNewContractConfirmation\": PropDesc.contract((contract, value) => contract.EnableSendingNewContractConfirmation = value == \"1\"),\r\n \"PropertyTrade\": PropDesc.contract((contract, value) => contract.PropertyTrade = value == \"1\" || value == \"true\"),\r\n \"CreditTransfers\": PropDesc.contract((contract, value) => contract.CreditTransfers = parseInt(value)),\r\n \"ConfirmationChannel\": PropDesc.contract((contract, value) => contract.ConfirmationChannel = parseInt(value)),\r\n \"Registers\": PropDesc.contract((contract, value) => contract.Registers = parseInt(value)),\r\n \"CreditAccount\": PropDesc.contract((contract, value) => contract.CreditAccount = value),\r\n \"AnnuityInvoicing\": PropDesc.contract((contract, value) => contract.AnnuityInvoicing = parseInt(value)),\r\n \"InvoicingMethod\": PropDesc.contract((contract, value) => {\r\n contract.InvoicingMethod == parseInt(value);\r\n contract.InvoicingMethodSelected = true\r\n }),\r\n \"Phase\": PropDesc.contract((contract, value) => contract.Phase = parseInt(value)),\r\n \"MaxPhase\": PropDesc.contract((contract, value) => contract.MaxPhase = parseInt(value)),\r\n \"LoadModel\": PropDesc.contract((contract, value) => contract.LoadModel = value),\r\n \"DiscountPercent\": PropDesc.contract((contract, value) => contract.DiscountPercent = parseInt(value)),\r\n \"MembershipCode\": PropDesc.contract((contract, value) => contract.MembershipCode = value),\r\n \"PropertyOwnerName\": PropDesc.contract((contract, value) => contract.PropertyOwnerName = value),\r\n \"PropertyOwnerContactInformation\": PropDesc.contract((contract, value) => contract.PropertyOwnerContactInformation = value),\r\n \"DHInvoicingName\": PropDesc.contract((contract, value) => contract.DHInvoicingName = value),\r\n \"DHInvoicingContactInformation\": PropDesc.contract((contract, value) => contract.DHInvoicingContactInformation = value),\r\n //\"StartDate\": PropDesc.contract((contract, value) => contract.StartDate = value),\r\n \"StartDate\": PropDesc.contract(null),\r\n //\"FixedTermEndDate\": PropDesc.contract((contract, value) => contract.FixedTermEndDate = value),\r\n \"FixedTermEndDate\": PropDesc.contract(null),\r\n \"MovingMPStreet\": PropDesc.contract((contract, value) => contract.OldMeteringPoint.Address.Street = value),\r\n \"MovingMPZip\": PropDesc.contract((contract, value) => contract.OldMeteringPoint.Address.Zip = value),\r\n \"MPMovingCode\": PropDesc.contract((contract, value) => contract.OldMeteringPoint.MeteringPointCode = value),\r\n //\"MovingDate\": PropDesc.contract((contract, value) => contract.OldContractEndDate = value),\r\n \"MovingDate\": PropDesc.contract(null),\r\n //\"OldFixedTermContractEndDateByUser\": PropDesc.contract((contract, value) => contract.OldFixedTermContractEndDateByUser = value), // TODO: Check this!\r\n \"OldFixedTermContractEndDateByUser\": PropDesc.contract(null), // TODO: Check this!\r\n \"NewCalculatedStartDate\": PropDesc.contract((contract, value) => { }), // TODO: Check this\r\n \"OldSalesCompany\": PropDesc.contract((contract, value) => contract.OldSalesCompany = value),\r\n \"ContractReason\": PropDesc.contract((contract, value) => contract.ContractReason = parseInt(value)),\r\n \"ConnectionFee\": PropDesc.contract((contract, value) => contract.ConnectionFee = value == \"\" ? 0 : parseFloat(value)),\r\n \"ContractSpecificBasicPrice\": PropDesc.contract((contract, value) => contract.ContractSpecificBasicPrice = value == \"\" ? null : parseFloat(value)),\r\n \"ContractSpecificEnergy1Price\": PropDesc.contract((contract, value) => contract.ContractSpecificEnergy1Price = value == \"\" ? null : parseFloat(value)),\r\n \"ContractSpecificEnergy2Price\": PropDesc.contract((contract, value) => contract.ContractSpecificEnergy2Price = value == \"\" ? null : parseFloat(value)),\r\n \"OldContractCode\": PropDesc.contract((contract, value) => contract.OldContractCode = value),\r\n \"OldContract\": PropDesc.contract((contract, value) => contract.OldContract = parseInt(value) != 0),\r\n \"ExtranetContract\": PropDesc.contract((contract, value) => contract.ExtranetContract = parseInt(value) != 0),\r\n \"connectionContractTransfers\": PropDesc.contract((contract, value) => contract.ConnectionContractTransfers = parseInt(value) != 0),\r\n \"ContinuationContract\": PropDesc.contract((contract, value) => contract.ContinuationContract = value),\r\n \"ProductChangeProcess\": PropDesc.contract((contract, value) => contract.ProductChangeProcess = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"ConfirmationCOName\": PropDesc.contract((contract, value) => contract.ConfirmationAddress.COName = value),\r\n \"ConfirmationStreet\": PropDesc.contract((contract, value) => contract.ConfirmationAddress.Street = value),\r\n \"ConfirmationZip\": PropDesc.contract((contract, value) => contract.ConfirmationAddress.Zip = value), // TODO: Figure out post office\r\n \"MPTarificationId\": PropDesc.contract((contract, value) => contract.TarificationId = parseInt(value)),\r\n //\"ContractDate\": PropDesc.contract((contract, value) => contract.ContractDate = value), // TODO: check this\r\n \"ContractDate\": PropDesc.contract(null), // TODO: check this\r\n \"ContractOrigin\": PropDesc.contract((contract, value) => {\r\n if (value != null && value.length == 6) {\r\n contract.ContractOriginInfo.Origin = value.substr(0, 4);\r\n contract.ContractOriginInfo.Channel = value.substr(4);\r\n }\r\n }),\r\n \"ContractOriginInfo\": PropDesc.contract((contract, value) => {\r\n if (value != null && value.length == 4)\r\n contract.ContractOriginInfo.Origin = value\r\n }),\r\n \"ContractOriginChannel\": PropDesc.contract((contract, value) => {\r\n if (value != null && value.length == 2)\r\n contract.ContractOriginInfo.Channel = value\r\n }),\r\n \"InvoicingMethodSelected\": PropDesc.contract((contract, value) => contract.InvoicingMethodSelected = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"PaperInvoiceAllowed\": PropDesc.contract((contract, value) => contract.PaperInvoiceAllowed = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n // Already as basic value.\r\n // \"ExtraServiceOrder\": PropDesc.contract((contract, value) => contract.ExtraServiceOrder = parseInt(value))\r\n \"DocumentTemplateName\": PropDesc.contract((contract, value) => contract.DocumentTemplateName = value),\r\n \"MarketingPermissionEmailCustomer\": PropDesc.contract((contract, value) => contract.MarketingPermissionEmailCustomer = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"DirectMarketingSelected\": PropDesc.contract((contract, value) => contract.DirectMarketingSelected = value != null && (value == \"1\" || value.toLowerCase() == \"true\")),\r\n \"ServiceProduct\": PropDesc.contract(null),\r\n \"IsEstateOwner\": PropDesc.contract((contract, value) => contract.IsEstateOwner = Boolean(value)),\r\n \"IsNetted\": PropDesc.contract(null),\r\n \"MembershipType\": PropDesc.contract((contract, value) => contract.MembershipType = parseInt(value)),\r\n \"ContractToNewAddress\": PropDesc.contract((contract, value) => contract.ContractToNewAddressSelection = parseInt(value))\r\n}\r\n\r\nconst customerValues = {\r\n // SetCustomerValue\r\n \"AddressValidFrom\": PropDesc.customer(null),\r\n \"ExistingCustomer\": PropDesc.customer(null),\r\n \"CustomerCode\": PropDesc.customer(null),\r\n \"SourceCompanyCode\": PropDesc.customer(null),\r\n \"FirstName\": PropDesc.customer(null),\r\n \"LastName\": PropDesc.customer(null),\r\n \"Pin\": PropDesc.customer(null),\r\n \"COName\": PropDesc.customer(null),\r\n \"Street\": PropDesc.customer(null),\r\n \"street-address_Street\": PropDesc.customer(null),\r\n \"StreetName\": PropDesc.customer(null),\r\n \"street-address_StreetName\": PropDesc.customer(null),\r\n \"street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"street-address_StairCase\": PropDesc.customer(null),\r\n \"street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip\": PropDesc.customer(null),\r\n \"street-address_PostalCode\": PropDesc.customer(null),\r\n \"Place\": PropDesc.customer(null),\r\n \"street-address_City\": PropDesc.customer(null),\r\n \"Country\": PropDesc.customer(null),\r\n \"street-address_Country\": PropDesc.customer(null),\r\n \"Email\": PropDesc.customer(null),\r\n \"Phone\": PropDesc.customer(null),\r\n \"SBonusCode\": PropDesc.customer(null),\r\n \"MarketingChannelSMS\": PropDesc.customer(null),\r\n \"MarketingChannelEmail\": PropDesc.customer(null),\r\n \"MarketingChannelElec\": PropDesc.customer(null),\r\n \"MarketingChannelSMSAndEmail\": PropDesc.customer(null),\r\n \"DirectMarketing\": PropDesc.customer(null),\r\n \"HasMarketingBan\": PropDesc.customer(null),\r\n \"HasMarketingBanPhoneFromContractProcess\": PropDesc.customer(null),\r\n \"HasMarketingBanEmailFromContractProcess\": PropDesc.customer(null),\r\n \"MarketingEmail\": PropDesc.customer(null),\r\n \"MarketingPhone\": PropDesc.customer(null),\r\n \"Staircase\": PropDesc.customer(null),\r\n \"HouseNumber\": PropDesc.customer(null),\r\n \"Apartment\": PropDesc.customer(null),\r\n \"EPaymentCode\": PropDesc.customer(null),\r\n \"EPaymentOperator\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-1\": PropDesc.customer(null),\r\n \"LastName__contractpartner-1\": PropDesc.customer(null),\r\n \"Pin__contractpartner-1\": PropDesc.customer(null),\r\n \"Street__contractpartner-1\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-1\": PropDesc.customer(null),\r\n \"contractpartner1-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-1\": PropDesc.customer(null),\r\n \"Phone__contractpartner-1\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-2\": PropDesc.customer(null),\r\n \"LastName__contractpartner-2\": PropDesc.customer(null),\r\n \"Pin__contractpartner-2\": PropDesc.customer(null),\r\n \"Street__contractpartner-2\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-2\": PropDesc.customer(null),\r\n \"contractpartner2-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-2\": PropDesc.customer(null),\r\n \"Phone__contractpartner-2\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-3\": PropDesc.customer(null),\r\n \"LastName__contractpartner-3\": PropDesc.customer(null),\r\n \"Pin__contractpartner-3\": PropDesc.customer(null),\r\n \"Street__contractpartner-3\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-3\": PropDesc.customer(null),\r\n \"contractpartner3-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-3\": PropDesc.customer(null),\r\n \"Phone__contractpartner-3\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-4\": PropDesc.customer(null),\r\n \"LastName__contractpartner-4\": PropDesc.customer(null),\r\n \"Pin__contractpartner-4\": PropDesc.customer(null),\r\n \"Street__contractpartner-4\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-4\": PropDesc.customer(null),\r\n \"contractpartner4-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-4\": PropDesc.customer(null),\r\n \"Phone__contractpartner-4\": PropDesc.customer(null),\r\n \"FirstName__contractpartner-5\": PropDesc.customer(null),\r\n \"LastName__contractpartner-5\": PropDesc.customer(null),\r\n \"Pin__contractpartner-5\": PropDesc.customer(null),\r\n \"Street__contractpartner-5\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_Street\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_StreetName\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_StreetQualifier\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_StairCase\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_Apartment\": PropDesc.customer(null),\r\n \"Zip__contractpartner-5\": PropDesc.customer(null),\r\n \"contractpartner5-street-address_PostalCode\": PropDesc.customer(null),\r\n \"Email__contractpartner-5\": PropDesc.customer(null),\r\n \"Phone__contractpartner-5\": PropDesc.customer(null),\r\n \"CompanyName\": PropDesc.customer(null),\r\n \"BusinessId\": PropDesc.customer(null),\r\n \"CompanyCOName\": PropDesc.customer(null),\r\n \"CompanyStreet\": PropDesc.customer(null),\r\n \"companystreet-address_Street\": PropDesc.customer(null),\r\n \"CompanyStreetName\": PropDesc.customer(null),\r\n \"companystreet-address_StreetName\": PropDesc.customer(null),\r\n \"CompanyZip\": PropDesc.customer(null),\r\n \"companystreet-address_PostalCode\": PropDesc.customer(null),\r\n \"CompanyPlace\": PropDesc.customer(null),\r\n \"companystreet-address_City\": PropDesc.customer(null),\r\n \"CompanyCountry\": PropDesc.customer(null),\r\n \"companystreet-address_Country\": PropDesc.customer(null),\r\n \"companystreet-address_StreetQualifier\": PropDesc.customer(null),\r\n \"companystreet-address_StairCase\": PropDesc.customer(null),\r\n \"companystreet-address_Apartment\": PropDesc.customer(null),\r\n \"CompanyEmail\": PropDesc.customer(null),\r\n \"CompanyPhone\": PropDesc.customer(null),\r\n \"CompanyMarketingChannelSMS\": PropDesc.customer(null),\r\n \"CompanyMarketingChannelEmail\": PropDesc.customer(null),\r\n \"CompanyHasMarketingBanPhoneFromContractProcess\": PropDesc.customer(null),\r\n \"CompanyHasMarketingBanEmailFromContractProcess\": PropDesc.customer(null),\r\n \"CompanyMarketingEmail\": PropDesc.customer(null),\r\n \"CompanyMarketingPhone\": PropDesc.customer(null),\r\n \"CompanyStaircase\": PropDesc.customer(null),\r\n \"CompanyHouseNumber\": PropDesc.customer(null),\r\n \"CompanyApartment\": PropDesc.customer(null),\r\n \"CompanyEPaymentCode\": PropDesc.customer(null),\r\n \"CompanyEPaymentOperator\": PropDesc.customer(null),\r\n \"FirstName__contactperson-1\": PropDesc.customer(null),\r\n \"LastName__contactperson-1\": PropDesc.customer(null),\r\n \"Pin__contactperson-1\": PropDesc.customer(null),\r\n \"Street__contactperson-1\": PropDesc.customer(null),\r\n \"Zip__contactperson-1\": PropDesc.customer(null),\r\n \"Email__contactperson-1\": PropDesc.customer(null),\r\n \"Phone__contactperson-1\": PropDesc.customer(null),\r\n \"FirstName__contactperson-2\": PropDesc.customer(null),\r\n \"LastName__contactperson-2\": PropDesc.customer(null),\r\n \"Pin__contactperson-2\": PropDesc.customer(null),\r\n \"Street__contactperson-2\": PropDesc.customer(null),\r\n \"Zip__contactperson-2\": PropDesc.customer(null),\r\n \"Email__contactperson-2\": PropDesc.customer(null),\r\n \"Phone__contactperson-2\": PropDesc.customer(null),\r\n \"IsInvoicingAddressInUse\": PropDesc.customer(null),\r\n \"IsCustomerAddressInUse\": PropDesc.customer(null),\r\n \"InvoicingContactPerson\": PropDesc.customer(null),\r\n \"InvoicingContactPersonEmail\": PropDesc.customer(null),\r\n \"InvoicingStreet\": PropDesc.customer(null),\r\n \"inv-address_Street\": PropDesc.customer(null),\r\n \"MPStreetName\": PropDesc.customer(null),\r\n \"inv-address_StreetName\": PropDesc.customer(null),\r\n \"inv-address_StreetQualifier\": PropDesc.customer(null),\r\n \"inv-address_StairCase\": PropDesc.customer(null),\r\n \"inv-address_Apartment\": PropDesc.customer(null),\r\n \"InvoicingZip\": PropDesc.customer(null),\r\n \"inv-address_PostalCode\": PropDesc.customer(null),\r\n \"InvoicingPlace\": PropDesc.customer(null),\r\n \"inv-address_City\": PropDesc.customer(null),\r\n \"InvoicingCountry\": PropDesc.customer(null),\r\n \"InvoicingCOName\": PropDesc.customer(null),\r\n \"OtherAddressSelected\": PropDesc.customer(null),\r\n \"ServiceChannelCode\": PropDesc.customer(null),\r\n \"CompanyServiceChannelCode\": PropDesc.customer(null),\r\n \"language-selection\": PropDesc.customer(null),\r\n \"companylanguage-selection\": PropDesc.customer(null),\r\n \"authenticationAccepted\": PropDesc.customer(null),\r\n}\r\n\r\nconst server = $.connection.newContractHub.server;\r\n\r\nclass ServerApi {\r\n static setMeteringPointValue(key: string, value: string, locale?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetMeteringPointValue: \" + key + \": \" + value);\r\n try {\r\n server.setMeteringPointValue(key, value, locale).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setValue(key: string, value: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetValue: \" + key + \": \" + value);\r\n try {\r\n server.setValue(key, value).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setContractValue(key: string, value: string, locale?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetContractValue: \" + key + \": \" + value);\r\n try {\r\n server.setContractValue(key, value, locale).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setCustomerValue(key: string, value: string, locale?: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"SetCustomerValue: \" + key + \": \" + value);\r\n try {\r\n server.setCustomerValue(key, value, locale).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static getContractData(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getContractData().done((contract: IContractViewModel) => {\r\n resolve(contract);\r\n }).fail(() => {\r\n reject(\"Failed to get contract data!\");\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setProduct(productId: number, priceListId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n let val = \"p-\" + productId + \"-\" + priceListId;\r\n try {\r\n server.setProduct(val).done((msg: string) => {\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n console.log(msg);\r\n resolve(msg);\r\n }).fail(() => {\r\n reject(\"Failed to set product!\");\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static getSelectedProduct(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getSelectedProduct().done(function (productViewModel: IProductViewModel) {\r\n resolve(productViewModel);\r\n }).fail(() => {\r\n reject(\"Failed to get selected product!\");\r\n });\r\n }\r\n catch (ex)\r\n {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setContractPartners(contractPartners: IContactPersonViewModel[]): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.setContractPartners(contractPartners).done(() => {\r\n resolve();\r\n }).fail(() => reject());\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static addMeteringPointToMoveOut(mp: string, utility: number, moveoutReason: MoveOutReasonEnum, moveoutDate: string): Promise {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n console.log(`server addMeteringPointToMoveOut - mp: ${mp}, utility: ${utility}, moveoutReason: ${moveoutReason}, moveoutDate: ${moveoutDate}`);\r\n try {\r\n server.addMeteringPointToMoveOutProcess(mp, utility, moveoutReason, moveoutDate)\r\n .done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex)\r\n {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static removeMeteringPointFromMoveOut(mp: string, utility: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server removeMeteringPointFromMoveOut: \" + mp + \" \" + utility);\r\n try {\r\n server.removeMeteringPointFromMoveOutProcess(mp, utility).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setMoveOutDate(movingDate: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server setMoveOutDate: \" + movingDate);\r\n try {\r\n server.setMeteringPointValue(\"MoveOutDate\", movingDate).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static hasCustomerValidPin(pin: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server hasCustomerValidPin: \" + pin);\r\n try {\r\n server.hasCustomerValidPin(\"pin\", pin).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static isCustomerInCIS(pin: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server isCustomerInCIS\");\r\n try {\r\n server.isCustomerInCIS(pin).done((retVal: boolean) => {\r\n console.log(\"result: \" + retVal);\r\n resolve(retVal);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static getSelectedServiceProducts(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getSelectedServiceProducts().done((retVal: ISelectedServiceProductViewModel[]) => {\r\n console.log(\"server getSelectedServiceProducts done, length: \" + retVal.length);\r\n resolve(retVal);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static checkMeteringPointAndContract(streetAddress: string, zipCode: string, externalMP: boolean, customerType: CustomerTypeEnum, pin: string) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"CheckMeteringPointAndContract: \" + streetAddress + \", \" + zipCode);\r\n try {\r\n server.checkMeteringPointAndContract(streetAddress, zipCode, externalMP, customerType, pin).done(retVal => {\r\n resolve(retVal);\r\n }).fail((x) => reject(\"Error calling NewContractHub!: \" + x));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static checkMeteringPointAndContractV2(streetAddress: string, zipCode: string, externalMP: boolean, customerType: CustomerTypeEnum, pin: string, gsrn: string) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"CheckMeteringPointAndContractV2: \" + streetAddress + \", \" + zipCode + \", \" + gsrn);\r\n try {\r\n server.checkMeteringPointAndContract(streetAddress, zipCode, externalMP, customerType, pin, gsrn).done(retVal => {\r\n resolve(retVal);\r\n }).fail((x) => reject(\"Error calling NewContractHub!: \" + x));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static getHolidays(years: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getHolidays(years).done(res => {\r\n resolve(res.Data);\r\n }).fail(ex => {\r\n reject(\"error getting holidays from hub: \" + ex);\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n }); \r\n }\r\n static loadMembershipTypes(): Promise {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n server.getMembershipTypes().done(res => {\r\n resolve(res);\r\n }).fail(ex => {\r\n reject(\"error getting membershipTypes from hub: \" + ex);\r\n });\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static removeAndUpdateExtraFeature(originalname: string, name: string, amount: number, price: number) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server remove extrafeature: \" + name + \":\" + amount + \":\" + price);\r\n try {\r\n server.removeExtraFeature(originalname).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n\r\n static updateExtraFeature(name: string, amount: number, price:number) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"server update extrafeature: \" + name + \":\" + amount + \":\" + price);\r\n try {\r\n server.updateExtraFeature(name, amount, price).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n static setOfferProducts(offerProducts: string[]) {\r\n return new Promise((resolve, reject) => {\r\n console.log(\"set offer products\" + offerProducts);\r\n try {\r\n server.setProducts(offerProducts).done((msg: string) => {\r\n console.log(msg);\r\n if (msg && msg.indexOf(\"Error:\") == 0) {\r\n reject(msg);\r\n return;\r\n }\r\n resolve(msg);\r\n }).fail(() => reject(\"Error calling NewContractHub!\"));\r\n }\r\n catch (ex) {\r\n console.log(\"error: \" + ex);\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction getValueSetter(type: PropertyTypeEnum): Function {\r\n switch (type) {\r\n case PropertyTypeEnum.BasicValue:\r\n return ServerApi.setValue;\r\n case PropertyTypeEnum.ContractValue:\r\n return ServerApi.setContractValue;\r\n case PropertyTypeEnum.CustomerValue:\r\n return ServerApi.setCustomerValue;\r\n case PropertyTypeEnum.MeteringPointValue:\r\n return ServerApi.setMeteringPointValue;\r\n }\r\n return null;\r\n}\r\n\r\nfunction findPropertyDescriptor(key: string): PropDesc {\r\n let d = basicValues[key];\r\n if (d == null)\r\n d = contractValues[key];\r\n if (d == null)\r\n d = meteringPointValues[key];\r\n if (d == null)\r\n d = customerValues[key];\r\n return d;\r\n}\r\n\r\nconst store: StoreOptions = {\r\n state: state,\r\n getters: {\r\n // Returns company name for company customer and for consumer customer.\r\n customerName: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.CompanyName;\r\n case CustomerTypeEnum.CONSUMER: {\r\n let str = \"\";\r\n [state.contract.Customer.FirstName, state.contract.Customer.LastName].forEach((x) => {\r\n if (x) {\r\n if (str)\r\n str += \" \";\r\n str += x;\r\n }\r\n })\r\n return str;\r\n }\r\n default:\r\n return null;\r\n }\r\n },\r\n customerIdentifier: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.BusinessId;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Pin;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerPhone: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.Phone;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Phone;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerEmail: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.Email;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Email;\r\n default:\r\n return null;\r\n }\r\n },\r\n customerAddress: (state: INewContractState) => {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.COMPANY: return state.contract.Company.Address;\r\n case CustomerTypeEnum.CONSUMER: return state.contract.Customer.Address;\r\n default:\r\n return null;\r\n }\r\n },\r\n loadingNewPhase(state: INewContractState, loadingNewPhase: boolean) {\r\n return state.loadingNewPhase;\r\n },\r\n isUserAuthenticated(state: INewContractState, isUserAuthenticated: boolean) {\r\n return state.isUserAuthenticated;\r\n },\r\n offerProducts(state: INewContractState) {\r\n return state.offerProducts;\r\n },\r\n strongContractAuthentication: (state: INewContractState) => {\r\n return state.contract.StrongContractAuthentication;\r\n },\r\n contractToNewAddressSelection: (state: INewContractState) => {\r\n return state.contract.ContractToNewAddressSelection;\r\n }\r\n },\r\n mutations: {\r\n setNewContractInitialized(state: INewContractState) {\r\n state.newContractInitialized = true;\r\n },\r\n setAutoClearSelectedProduct(state: INewContractState, autoClear: boolean) {\r\n state.autoClearSelectedProduct = autoClear;\r\n },\r\n updateContract(state: INewContractState, contract: IContractViewModel) {\r\n state.contract = contract;\r\n },\r\n updateProducts(state: INewContractState, payload: { products: IProductViewModel[] }) {\r\n state.products = payload.products;\r\n },\r\n changeValue(state: INewContractState, payload: { propertyDescriptor: PropDesc, value: string }) {\r\n payload.propertyDescriptor.changeValue(state.contract, payload.value);\r\n },\r\n consumptionUpdated(state: INewContractState, payload: { energy1: number, energy2: number }) {\r\n state.contract.Energy1 = payload.energy1;\r\n state.contract.Energy2 = payload.energy2;\r\n },\r\n setSelectedProduct(state: INewContractState, payload: { product: IProductViewModel, priceList: IPriceListViewModel }) {\r\n state.selectedProduct = payload.product;\r\n state.selectedPriceList = payload.priceList;\r\n state.contract.ProductId = payload.product != null ? payload.product.Id : 0;\r\n state.contract.PriceListId = payload.priceList != null ? payload.priceList.Id : 0;\r\n },\r\n setSelectedServiceProducts(state: INewContractState, payload: { selectedServiceProducts: string[] }) {\r\n state.selectedServiceProducts = payload.selectedServiceProducts;\r\n },\r\n addContractPartner(state: INewContractState, contractPartner: IContactPersonViewModel) {\r\n switch (state.contract.CustomerType) {\r\n case CustomerTypeEnum.CONSUMER:\r\n state.contract.Customer.ContractPartners.push(contractPartner);\r\n }\r\n },\r\n setPreSelectedProductPriceListTarification(state: INewContractState, preSelected: boolean) {\r\n state.preSelectedProductPriceListTarification = preSelected;\r\n },\r\n setPreSelectedProductId(state: INewContractState, preSelected: number) {\r\n state.preSelectedProductId = preSelected;\r\n },\r\n setPreSelectedPriceListId(state: INewContractState, preSelected: number) {\r\n state.preSelectedPriceListId = preSelected;\r\n }, \r\n setPreSelectedMembership(state: INewContractState, preSelected: string) {\r\n state.preSelectedMembership = preSelected;\r\n },\r\n setMembership(state: INewContractState, membership: string) {\r\n state.contract.MembershipCode = membership;\r\n }, \r\n isAuthenticated(state: INewContractState, isAuthenticated: boolean) {\r\n state.isAuthenticated = isAuthenticated;\r\n },\r\n setHolidays(state: INewContractState, holidays: string[]) {\r\n state.holidays = holidays;\r\n },\r\n setMembershipTypes(state: INewContractState, membershipTypes: IMembershipTypeViewModel[]) {\r\n state.membershipTypes = membershipTypes;\r\n },\r\n setloadingNewPhase(state: INewContractState, loadingNewPhase: boolean) {\r\n state.loadingNewPhase = loadingNewPhase;\r\n },\r\n isUserAuthenticated(state: INewContractState, isUserAuthenticated: boolean) {\r\n state.isUserAuthenticated = isUserAuthenticated;\r\n },\r\n setConinueWithSameProductIdAndPricelistId(state: INewContractState, payload: { productId: number, priceListId: number}) {\r\n state.selectedConinueWithSameProductId = payload.productId;\r\n state.selectedConinueWithSamePriceListId = payload.priceListId;\r\n },\r\n offerRequest(state: INewContractState, preSelected: boolean) {\r\n state.offerRequest = preSelected;\r\n },\r\n setContractToNewAddressSelection: (state: INewContractState, newSelection: number) => {\r\n state.contract.ContractToNewAddressSelection = newSelection;\r\n }\r\n },\r\n actions: {\r\n refreshContract(ctx) {\r\n return ServerApi.getContractData().then((contract: IContractViewModel) => {\r\n if (ctx.state.contract.MembershipCode) {\r\n contract.MembershipCode = ctx.state.contract.MembershipCode;\r\n }\r\n ctx.commit(\"updateContract\", contract);\r\n });\r\n },\r\n changeValue(ctx, payload: { key: string, value: string; type: PropertyTypeEnum }) {\r\n return ctx.dispatch(\"changeValues\", [payload]);\r\n },\r\n // Call change value for given key-value pairs, and then refresh contract from the server.\r\n changeValues(ctx, payloads: { key: string, value: string, locale?: string, type?: PropertyTypeEnum }[]) {\r\n console.log(\"NewContractStore.actions.changeValues\");\r\n return new Promise((resolve, reject) => {\r\n let deferredUpdates: Promise[] = [];\r\n let errorMessages: string[] = [];\r\n // Track if server data has been updated.\r\n let dirty = false;\r\n payloads.forEach((payload) => {\r\n let type = payload.type;\r\n let propDesc = findPropertyDescriptor(payload.key);\r\n if (propDesc == null && type == null) {\r\n errorMessages.push(\"Could not find property descriptor for [\" + payload.key + \"]\");\r\n return;\r\n }\r\n\r\n if (type == null)\r\n type = propDesc.type;\r\n\r\n // Get the correct setter method based on type (i.e. whether we should call SetValue, SetContractValue etc.).\r\n let func = getValueSetter(type);\r\n if (func != null) {\r\n // Call the server and store the Promise it returns.\r\n let setterPromise = func(payload.key, payload.value, payload.locale)\r\n .then((msg: string) => {\r\n console.log(msg);\r\n // At least one server call managed to update data successfully.\r\n dirty = true;\r\n // TODO: Instead of refreshing the contract from the server, it could be possible to update client side model here.\r\n // ctx.commit(\"changeValue\", { propertyDescriptor: propDesc, value: payload.value });\r\n })\r\n // If the returned promise is rejected, let's catch that rejection here and store possible error message.\r\n .catch((error: string) => {\r\n errorMessages.push(error);\r\n });\r\n deferredUpdates.push(setterPromise);\r\n }\r\n else {\r\n errorMessages.push(\"Unknown property type!\");\r\n }\r\n });\r\n\r\n Promise.all(deferredUpdates)\r\n .then(() => {\r\n if (dirty) {\r\n ctx.dispatch(\"refreshContract\").catch((errorMsg: string) => {\r\n errorMessages.push(\"Failed to refresh contract from the server after value change.\");\r\n }).then(() => {\r\n if (errorMessages.length != 0)\r\n reject(errorMessages.join(\"\\n\"))\r\n else\r\n resolve();\r\n });\r\n }\r\n else {\r\n if (errorMessages.length != 0)\r\n reject(errorMessages.join(\"\\n\"))\r\n else\r\n resolve();\r\n }\r\n })\r\n .catch((msg) => {\r\n reject(\"Unexptected error!\");\r\n });\r\n });\r\n },\r\n updateProducts(ctx, payload: { products: IProductViewModel[] }) {\r\n let state: INewContractState = ctx.state;\r\n if (state.autoClearSelectedProduct) {\r\n // Clear selected product if it does not exist in refreshed products.\r\n if (state.contract.ProductId != 0 && state.contract.PriceListId != 0) {\r\n let product = find(payload.products, x => x.Id == state.contract.ProductId);\r\n let priceList = product != null && product.PriceLists != null\r\n ? find(product.PriceLists, x => x.Id == state.contract.PriceListId)\r\n : null;\r\n\r\n if (product == null || priceList == null) {\r\n // Currently selected product not found from updated products, let's clear the selection.\r\n ctx.dispatch(\"selectProduct\", { product: null, priceList: null })\r\n .then(() => {\r\n NewContractEvents.notifyProductSelectionCleared();\r\n });\r\n }\r\n else {\r\n ctx.commit(\"setSelectedProduct\", { product: product, priceList: priceList });\r\n }\r\n }\r\n }\r\n ctx.commit(\"updateProducts\", { products: payload.products });\r\n },\r\n selectProductById(ctx, payload: { productId: number, priceListId: number }) {\r\n return ServerApi.setProduct(payload.productId, payload.priceListId)\r\n .then(ServerApi.getSelectedProduct)\r\n .then((productViewModel: IProductViewModel) => {\r\n let product = productViewModel;\r\n let priceList = productViewModel.PriceLists[0];\r\n ctx.commit(\"setSelectedProduct\", { product: product, priceList: priceList });\r\n });\r\n },\r\n selectProduct(ctx, payload: { product: IProductViewModel, priceList: IPriceListViewModel }) {\r\n let productId = payload.product != null ? payload.product.Id : 0;\r\n let priceListId = payload.priceList != null ? payload.priceList.Id : 0;\r\n return ServerApi.setProduct(productId, priceListId)\r\n .then(() => {\r\n ctx.commit(\"setSelectedProduct\", payload);\r\n });\r\n },\r\n setContractPartners(ctx, contractPartners: IContactPersonViewModel[]) {\r\n return ServerApi.setContractPartners(contractPartners)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n setMoveOutDate(ctx, payload: { moveOutDate: string }) {\r\n console.log(\"Store: setMoveOutDate: \" + payload.moveOutDate);\r\n return ServerApi.setMoveOutDate(payload.moveOutDate)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n //ctx.state.contract.MoveOutProcess.MoveOutDate = payload.moveOutDate;\r\n });\r\n },\r\n updateUserName(ctx, payload: { userName: string }) {\r\n ctx.state.moveOutUser = payload.userName;\r\n },\r\n isUserAuthenticated(ctx, payload: { isUserAuthenticated: boolean }) {\r\n ctx.state.isUserAuthenticated = payload.isUserAuthenticated;\r\n },\r\n offerRequest(ctx, payload: { offerRequest: boolean }) {\r\n ctx.state.offerRequest = payload.offerRequest;\r\n },\r\n isPinSetInDb(ctx, payload: { pinSet: string}) {\r\n console.log(\"isPinSetInDb: \" +payload.pinSet);\r\n },\r\n /*showActiveContracts(ctx, payload: { contracts: IContractViewModel[] }) {\r\n console.log(\"showActiveContracts: \" + payload.contracts);\r\n for (let i = 0; i < payload.contracts.length; i++) {\r\n console.log(payload.contracts[i]);\r\n }\r\n ctx.state.moveOutContracts = payload.contracts;\r\n },*/\r\n addMeteringPointToMoveOut(ctx, payload: { mp: string, utility: number, moveoutReason: MoveOutReasonEnum, moveoutDate: string }) {\r\n console.log(`addMeteringPointToMoveOut: ${payload.mp} ${payload.utility}`);\r\n return ServerApi.addMeteringPointToMoveOut(payload.mp, payload.utility, payload.moveoutReason, payload.moveoutDate)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n removeMeteringPointFromMoveOut(ctx, payload: { mp: string, utility: number }) {\r\n console.log(\"removeMeteringPointFromMoveOut: \" + payload.mp + \" \" + payload.utility);\r\n return ServerApi.removeMeteringPointFromMoveOut(payload.mp, payload.utility)\r\n .then(() => {\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n checkMeteringPointAndContract(ctx) {\r\n if (!ctx.state.contract.MeteringPoint.Address.Street || !ctx.state.contract.MeteringPoint.Address.Zip) {\r\n var mp = ctx.state.contract.MeteringPoint;\r\n if (mp.GsrnCode) {\r\n ctx.dispatch(\"changeValue\", { key: \"GsrnCode\", value: null });\r\n } \r\n }\r\n if (ctx.state.contract.MeteringPoint.Address.Street && ctx.state.contract.MeteringPoint.Address.Zip) {\r\n var mp = ctx.state.contract.MeteringPoint;\r\n var streetAddress = mp.Address.Street;\r\n var zipCode = mp.Address.Zip;\r\n var isExternalMP = true;\r\n var customerType = ctx.state.contract.CustomerType;\r\n var identifier = customerType == CustomerTypeEnum.COMPANY\r\n ? ctx.state.contract.Company.BusinessId\r\n : ctx.state.contract.Customer.Pin;\r\n\r\n return new Promise((resolve, reject) => {\r\n ServerApi.checkMeteringPointAndContract(streetAddress, zipCode, isExternalMP, customerType, identifier).then((retVal: any) => {\r\n // Data might have changed, let's refresh contract on the client side.\r\n ctx.dispatch(\"refreshContract\").then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n return Promise.resolve();\r\n },\r\n checkMeteringPointAndContractV2(ctx) {\r\n var mp = ctx.state.contract.MeteringPoint;\r\n var isExternalMP = true;\r\n var customerType = ctx.state.contract.CustomerType;\r\n var identifier = customerType == CustomerTypeEnum.COMPANY\r\n ? ctx.state.contract.Company.BusinessId\r\n : ctx.state.contract.Customer.Pin;\r\n var streetAddress = null;\r\n var zipCode = null;\r\n var gsrn = null;\r\n\r\n mp.IsNetted = null;\r\n mp.EnergyCommunityName = null;\r\n mp.EnergyCommunityCode = null;\r\n mp.RelatedMeteringPoint = null;\r\n \r\n if (mp.GsrnCode) {\r\n gsrn = mp.GsrnCode;\r\n }\r\n else if (mp.Address.Street || mp.Address.Zip) {\r\n streetAddress = mp.Address.Street;\r\n zipCode = mp.Address.Zip;\r\n }\r\n if (streetAddress || zipCode || gsrn) {\r\n return new Promise((resolve, reject) => {\r\n ServerApi.checkMeteringPointAndContractV2(streetAddress, zipCode, isExternalMP, customerType, identifier, gsrn).then((retVal: any) => {\r\n // Data might have changed, let's refresh contract on the client side.\r\n ctx.dispatch(\"refreshContract\").then(() => {\r\n resolve();\r\n });\r\n });\r\n });\r\n }\r\n },\r\n isCustomerInCIS(ctx, payload: { pin: string }) {\r\n console.log(\"isCustomerInCIS\");\r\n return ServerApi.isCustomerInCIS(payload.pin);\r\n },\r\n getSelectedServiceProducts(ctx) {\r\n return ServerApi.getSelectedServiceProducts();\r\n },\r\n getHolidays(ctx, payload: { years: number }) {\r\n console.log(\"getHolidays: \" + payload.years);\r\n return ServerApi.getHolidays(payload.years).then((holidays: string[]) => {\r\n ctx.commit(\"setHolidays\", holidays);\r\n return holidays;\r\n });\r\n },\r\n getMembershipTypes(ctx) { \r\n return ServerApi.loadMembershipTypes().then((membershipTypes: IMembershipTypeViewModel[]) => {\r\n ctx.commit('setMembershipTypes', membershipTypes);\r\n return membershipTypes;\r\n });\r\n }, \r\n setSelectedServiceProducts(ctx, payload: { selectedServiceProducts: string[] }) {\r\n ctx.state.selectedServiceProducts = payload.selectedServiceProducts;\r\n },\r\n setloadingNewPhase(ctx, payload: { loadingNewPhase: boolean }) {\r\n ctx.commit(\"setloadingNewPhase\", payload.loadingNewPhase);\r\n },\r\n isAuthenticated(ctx, payload: { isAuthenticated: boolean }) {\r\n ctx.commit(\"isAuthenticated\", payload.isAuthenticated);\r\n },\r\n updateExtraFeature(ctx, payload: { name: string, amount: number, price: number }) {\r\n console.log(\"server update extrafeature: \" + payload.name + \",\" + payload.amount + \",\" + payload.price);\r\n return ServerApi.updateExtraFeature(payload.name, payload.amount, payload.price)\r\n .then((result) => {\r\n console.log(\"server updated\");\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n },\r\n removeAndUpdateExtraFeature(ctx, payload: { originalname: string, name: string, amount: number, price: number }) {\r\n console.log(\"server update extrafeature: \" + payload.name + \",\" + payload.amount + \",\" + payload.price);\r\n return ServerApi.removeAndUpdateExtraFeature(payload.originalname, payload.name, payload.amount, payload.price)\r\n .then((result) => {\r\n return ServerApi.updateExtraFeature(payload.name, payload.amount, payload.price).then((result) => {\r\n console.log(\"server updated\");\r\n ctx.dispatch(\"refreshContract\");\r\n });\r\n });\r\n },\r\n setOfferProduct(ctx, payload: { selectedProduct: string }) { \r\n let index = ctx.state.offerProducts.indexOf(payload.selectedProduct);\r\n if (index == -1) {\r\n ctx.state.offerProducts.push(payload.selectedProduct);\r\n console.log(\"set selected offer product: \" + payload.selectedProduct);\r\n }\r\n else {\r\n ctx.state.offerProducts.splice(index, 1);\r\n console.log(\"remove selected offer product: \" + payload.selectedProduct);\r\n }\r\n return ServerApi.setOfferProducts(ctx.state.offerProducts)\r\n .then(() => {\r\n console.log(\"offer product list updated\");\r\n });\r\n }\r\n }\r\n}\r\n\r\n// With IE 9, arrays received from SignalR might actuallty be of type object (and not Array).\r\n// That's why we cant use Array.find, but need to implement our own.\r\nfunction find(obj, cond: (item) => boolean) {\r\n let count = obj.length;\r\n for (let i = 0; i < count; ++i) {\r\n let item = obj[i];\r\n if (cond(item))\r\n return item;\r\n }\r\n return null;\r\n}\r\n\r\nexport default new Vuex.Store(store);","import { IPriceListViewModel } from \"./I4UViewModels\";\r\nimport { FixedTermDurationUnit } from \"./CommonEnums\";\r\nimport * as moment from \"moment-recent\";\r\n\r\nrequire(\"core-js/features/array/find-index\");\r\n\r\nexport interface INotificationUtils {\r\n showBlockingMessage(message: string): void,\r\n hideBlockingMessage(): void,\r\n showInfoMessage(message): void,\r\n showInfoMessageWithExpiration(message, expirationTime: number): void,\r\n showErrorMessage(message): void\r\n}\r\n\r\nexport class NotificationUtils implements INotificationUtils{\r\n showBlockingMessage(message: string): void {\r\n $.blockUI({\r\n message: \"

\" + message + \"

\",\r\n css: {\r\n border: 'none',\r\n padding: '15px',\r\n backgroundColor: '#000',\r\n '-webkit-border-radius': '10px',\r\n '-moz-border-radius': '10px',\r\n opacity: .5,\r\n color: '#fff',\r\n 'z-index': 2011\r\n },\r\n overlayCSS: {\r\n 'z-index': 2000\r\n }\r\n });\r\n }\r\n hideBlockingMessage(): void {\r\n $.unblockUI();\r\n }\r\n showInfoMessage(message): void {\r\n var $expTime = this.__setExpireTimeByMessageLength(message);\r\n var $container = this.__getContainer();\r\n var opts = { expires: $expTime };\r\n $container.notify(\"create\", {\r\n text: message\r\n }, opts);\r\n }\r\n\r\n showInfoMessageWithExpiration(message, expirationTime: number): void {\r\n var $container = this.__getContainer();\r\n var opts = { expires: expirationTime };\r\n $container.notify(\"create\", {\r\n text: message\r\n }, opts);\r\n }\r\n showErrorMessage(message): void {\r\n var $expTime = this.__setExpireTimeByMessageLength(message);\r\n var $container = this.__getContainer();\r\n var opts = { expires: $expTime };\r\n $container.notify(\"create\", \"basic-error-template\", {\r\n text: message\r\n }, opts);\r\n }\r\n private __getContainer(): JQuery {\r\n var id = \"__notifications\";\r\n var $container = $(\"#\" + id);\r\n if ($container.length == 0) {\r\n $container = $(\"\");\r\n\r\n $(\"body\").append($container);\r\n $container = $(\"#\" + id);\r\n $container.notify();\r\n\r\n }\r\n return $container;\r\n }\r\n private __setExpireTimeByMessageLength(msg: string): number {\r\n var expTime = 5000;\r\n if (msg != null && msg.length > 60) {\r\n expTime += parseInt(\"\" + ((msg.length - 60) / 30 + 1), 10) * 1000;\r\n }\r\n return expTime;\r\n }\r\n}\r\n\r\nexport class ArrayUtils {\r\n static findAll(arr: any, cond: (item) => boolean): any[] {\r\n let count = arr.length;\r\n let result = [];\r\n for (let i = 0; i < count; ++i) {\r\n let item = arr[i];\r\n if (cond(item))\r\n result.push(item);\r\n }\r\n return result;\r\n }\r\n}\r\n\r\nexport class ObjectUtils {\r\n static isAllSet(...args: any[]): boolean {\r\n let ndx = args.findIndex(x => x == null || x.toString().length == 0);\r\n return ndx == -1;\r\n }\r\n static isSet(arg: any) {\r\n return arg != null && arg.toString().length != 0;\r\n }\r\n static isSetNonZero(arg: any) {\r\n if (typeof arg === \"number\")\r\n return this.isSet(arg) && arg !== 0;\r\n else\r\n return this.isSet(arg);\r\n }\r\n}\r\n\r\nexport class DurationFormatUtils {\r\n static formatDuration(priceList: IPriceListViewModel, locale: string = \"fi\"): string {\r\n if (!priceList.FixedTerm) {\r\n if (locale === \"fi\") {\r\n return \"Toistaiseksi\";\r\n }\r\n else if (locale === \"sv\") {\r\n return \" Tillsvidare\";\r\n }\r\n }\r\n\r\n const duration = priceList.FixedTermDuration;\r\n const durationUnit = priceList.FixedTermDurationUnit;\r\n\r\n let str = \"\" + duration + \" \";\r\n switch (durationUnit) {\r\n case FixedTermDurationUnit.DAYS:\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"päivä\" : \"päivää\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"dag\" : \"dagar\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.MONTHS:\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"kuukausi\" : \"kuukautta\";\r\n }\r\n else if (locale == \"sv\") {\r\n str += duration === 1 ? \"månad\" : \"månader\";\r\n }\r\n break;\r\n case FixedTermDurationUnit.YEARS:\r\n if (locale === \"fi\") {\r\n str += duration === 1 ? \"vuosi\" : \"vuotta\";\r\n }\r\n else if (locale === \"sv\") {\r\n str += duration === 1 ? \"år\" : \"år\";\r\n }\r\n break;\r\n }\r\n return str;\r\n }\r\n\r\n static formatDate(date: string) {\r\n return moment(date).format(\"DD.MM.YYYY\");\r\n }\r\n}\r\n","import VueScrollTo from \"vue-scrollto\";\r\nimport { IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { ObjectUtils } from \"../../../../../Scripts/inpulse/Common-utils\";\r\n\r\nexport enum SectionMode {\r\n Hidden,\r\n Edit,\r\n Display\r\n}\r\n\r\nexport enum ActionState {\r\n Hidden, // Action is not available at all.\r\n Disabled, // Action is visible, but it is disabled.\r\n Enabled, // Action is visible and can be triggered.\r\n}\r\n\r\n/**\r\n * Interface for checking section-related stuff.\r\n */\r\nexport interface ISectionChecker {\r\n /**\r\n * Checks if all the contract data related to this section has been set.\r\n * \r\n * @param contract\r\n * Contract view model object that is checked.\r\n */\r\n isAllSet(contract: IContractViewModel): boolean;\r\n\r\n /**\r\n * Checks if given validation errors collection has any error that is related to this section.\r\n * \r\n * @param validationErrors\r\n */\r\n hasErrors(validationErrors: ValidationErrors): boolean;\r\n}\r\n\r\n/**\r\n * Abstract SectionChecker class for convenience. With this it is possible to define list of\r\n * property accessors and list of validation ids that 'belongs' to a section. Generic checker methods handle the rest.\r\n */\r\nexport class SectionChecker implements ISectionChecker {\r\n properties: ((contract: IContractViewModel) => any)[];\r\n idProperties: ((contract: IContractViewModel) => any)[];\r\n validationIds: string[];\r\n\r\n public isAllSet(contract: IContractViewModel): boolean {\r\n if (this.properties != null) {\r\n let len = this.properties.length;\r\n for (let i = 0; i < len; ++i) {\r\n let propertyAccessor = this.properties[i];\r\n let val = propertyAccessor(contract);\r\n if (!ObjectUtils.isSetNonZero(val))\r\n return false;\r\n }\r\n }\r\n\r\n if (this.idProperties != null) {\r\n let len = this.idProperties.length;\r\n for (let i = 0; i < len; ++i) {\r\n let propertyAccessor = this.idProperties[i];\r\n let val = propertyAccessor(contract);\r\n if (val == null || val == 0)\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n public hasErrors(validationErrors: ValidationErrors): boolean {\r\n if (this.validationIds == null)\r\n return false;\r\n let len = this.validationIds.length;\r\n for (let i = 0; i < len; ++i) {\r\n let id = this.validationIds[i];\r\n if (validationErrors.has(id))\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Helper class for easing state management of new contract sections.\r\n */\r\nexport class SectionState {\r\n name: string;\r\n previous: SectionState = null;\r\n next: SectionState = null;\r\n openEnabled: boolean = false;\r\n mode: SectionMode = SectionMode.Hidden;\r\n ref: () => any;\r\n customerInfoGiven: boolean = false;\r\n\r\n /**\r\n * @param name\r\n * Name of this section, used only for logging purposes at the moment.\r\n * \r\n * @param ref\r\n * Function to get Vue ref for this section. This is used to scroll view to correct section when page is reloaded (e.g. in Tupas return). \r\n */\r\n constructor(name: string, ref: () => any) {\r\n this.name = name;\r\n this.ref = ref;\r\n }\r\n\r\n /**\r\n * Method that initializes this section's mode based on wheter all required data is set. Previous section's mode\r\n * affects this also. This is used to decide correct section states on page reload.\r\n * \r\n * @param allSet\r\n * Boolean value which tells if all of the required section data has been set.\r\n * \r\n * @param previousMode\r\n * Forced value to be used as previous section's mode. Used in cases when there is no \"real previous section\" for this section.\r\n */\r\n initializeMode(allSet: boolean, previousMode?: SectionMode) {\r\n // If section has no real previous sections, it might have \"logical\" previous section (e.g. customer type selection is\r\n // \"logical previous section\" for pre - product selection). Parameter previousMode can be used to force previous section's mode\r\n // to be used when deciding this section's mode.\r\n let prevMode = previousMode == null && this.previous != null\r\n ? this.previous.mode\r\n : previousMode;\r\n // First let's check if this section should be in edit or display mode (i.e. is the data completed for it).\r\n let mode = allSet\r\n // All data is set, section can be left in display mode.\r\n ? SectionMode.Display\r\n // Data is incomplete, let's leave this in edit mode.\r\n : SectionMode.Edit;\r\n\r\n if (prevMode != null) {\r\n // If the section was decided to be in edit mode based on its data, BUT its previous state is not completed\r\n // (i.e. it is in hidden or in edit mode), we will leave this section hidden.\r\n if (mode == SectionMode.Edit && prevMode != SectionMode.Display)\r\n mode = SectionMode.Hidden;\r\n }\r\n\r\n this.mode = mode;\r\n\r\n if ((this.name === \"customer\" || this.name === \"company\") && !this.customerInfoGiven) {\r\n let prepremode = this.previous.previous && this.previous.previous.mode == SectionMode.Display ? true : false;\r\n if (prepremode && this.previous.mode === SectionMode.Display && this.next.mode === SectionMode.Hidden) {\r\n this.mode = SectionMode.Edit;\r\n }\r\n else {\r\n this.mode = SectionMode.Hidden;\r\n }\r\n }\r\n }\r\n\r\n scrollTo() {\r\n console.log(\"Scrolling to [\" + this.name + \"]\");\r\n let ref = this.ref();\r\n if(ref != null)\r\n VueScrollTo.scrollTo(ref.$el);\r\n }\r\n\r\n /**\r\n * Scrolls view to first section that is in edit mode.\r\n */\r\n scrollToFirstEdit() {\r\n let s: SectionState = this;\r\n if (s.mode == SectionMode.Edit) {\r\n s.scrollTo();\r\n return;\r\n }\r\n while (s.next) {\r\n s = s.next;\r\n if (s.mode == SectionMode.Edit) {\r\n s.scrollTo();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Builds 'chain' between given sections, i.e. set's sections' previous and next properties.\r\n * @param sectionStates\r\n */\r\n static formChain(...sectionStates: SectionState[]) {\r\n let len = sectionStates.length;\r\n for (let i = 0; i < len; ++i) {\r\n let curr = sectionStates[i];\r\n let prev = i > 0 ? sectionStates[i - 1] : null;\r\n let next = i < len - 1 ? sectionStates[i + 1] : null;\r\n curr.setSiblings(prev, next);\r\n }\r\n }\r\n\r\n setSiblings(previous: SectionState, next: SectionState) {\r\n this.previous = previous;\r\n this.next = next;\r\n }\r\n\r\n proceedActionState() {\r\n if (this.next != null) {\r\n return ActionState.Enabled;\r\n //if (this.next.mode == SectionMode.Hidden)\r\n // return ActionState.Enabled;\r\n }\r\n return ActionState.Hidden;\r\n }\r\n\r\n enterModify() {\r\n if (this.mode != SectionMode.Edit) {\r\n console.log(\"Opening section [\" + this.name + \"]\");\r\n this.mode = SectionMode.Edit;\r\n }\r\n this.setPreviousSectionsToMode(this.previous, SectionMode.Display);\r\n //we don't want to set next modes to Display if it's Hidden since it means that those modes are not edited yet\r\n this.setNextSectionsToModeIfNotMode(this.next, SectionMode.Display, SectionMode.Hidden);\r\n\r\n VueScrollTo.scrollTo(this.ref().$el);\r\n\r\n }\r\n\r\n //Set previous SectionStates to defined mode\r\n private setPreviousSectionsToMode(state: SectionState, mode: SectionMode) {\r\n if (state == null) {\r\n return;\r\n }\r\n state.mode = mode;\r\n this.setPreviousSectionsToMode(state.previous, mode);\r\n }\r\n\r\n //Set next SectionStates to defined mode if not specified mode\r\n private setNextSectionsToModeIfNotMode(state: SectionState, mode: SectionMode, ifNotMode: SectionMode) {\r\n if (state == null) {\r\n return;\r\n }\r\n if (state.mode != ifNotMode)\r\n {\r\n state.mode = mode;\r\n }\r\n this.setNextSectionsToModeIfNotMode(state.next, mode, ifNotMode);\r\n }\r\n\r\n enter() {\r\n if (this.mode != SectionMode.Edit) {\r\n console.log(\"Opening section [\" + this.name + \"]\");\r\n this.mode = SectionMode.Edit;\r\n }\r\n this.scrollTo();\r\n //VueScrollTo.scrollTo(this.ref().$el);\r\n } \r\n\r\n close() {\r\n if (this.mode == SectionMode.Edit) {\r\n console.log(\"Closing section [\" + this.name + \"]\");\r\n this.mode = SectionMode.Display;\r\n if (this.name === \"customer\" || this.name === \"company\") {\r\n this.customerInfoGiven = true;\r\n }\r\n $(\"#collapse1-1\").removeClass(\"show\");\r\n $(\"#collapse1-2\").removeClass(\"show\");\r\n $(\"#collapse1-3\").removeClass(\"show\");\r\n }\r\n }\r\n\r\n proceed() {\r\n this.close();\r\n if (this.next == null) {\r\n console.log(\"Nothing to proceed to!\");\r\n return;\r\n }\r\n //if (this.next.mode == SectionMode.Hidden) {\r\n this.next.enter();\r\n //}\r\n }\r\n}\r\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.isThreeBounceNoMargin\n ? _c(\n \"div\",\n {\n staticClass: \"sk-three-bounce\",\n staticStyle: { margin: \"0px auto\" }\n },\n [\n _c(\"div\", { staticClass: \"sk-child sk-bounce1\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce2\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce3\" })\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isThreeBounce\n ? _c(\"div\", { staticClass: \"sk-three-bounce\" }, [\n _c(\"div\", { staticClass: \"sk-child sk-bounce1\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce2\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-child sk-bounce3\" })\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isFoldingCube\n ? _c(\"div\", { staticClass: \"sk-folding-cube\" }, [\n _c(\"div\", { staticClass: \"sk-cube1 sk-cube\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-cube2 sk-cube\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-cube4 sk-cube\" }),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"sk-cube3 sk-cube\" })\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\n@Component\r\n\r\nexport default class LoadingComponent extends Vue {\r\n @Prop()\r\n name: string;\r\n\r\n isFoldingCube: boolean = false;\r\n isThreeBounce: boolean = false;\r\n isThreeBounceNoMargin: boolean = false;\r\n\r\n created(): void {\r\n if (this.name == \"folding-cube\")\r\n this.isFoldingCube = true;\r\n else if (this.name == \"three-bounce\")\r\n this.isThreeBounce = true;\r\n else if (this.name == \"three-bounce-no-margin\") {\r\n this.isThreeBounceNoMargin = true;\r\n }\r\n else\r\n this.isThreeBounce = true;\r\n }\r\n}","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./loading.component.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./loading.component.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./loading.vue?vue&type=template&id=1fd5eefc&scoped=true&\"\nimport script from \"./loading.component.ts?vue&type=script&lang=ts&\"\nexport * from \"./loading.component.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./loading.vue?vue&type=style&index=0&id=1fd5eefc&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fd5eefc\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\nimport { CustomerTypeEnum, HousingTypeEnum, HeatingTypeEnum, TarificationIdEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../../Default/common/validation-message.vue\";\r\nimport { HeatingTypeFormat, HousingTypeFormat, GenericTypeFormatTranslator } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport { PropertyTypeEnum } from \"../../new-contract-vuex-store\";\r\nimport { IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { SectionChecker } from \"../../Default/common/section\";\r\nimport LoadingComponent from \"../../../../../Scripts/vue-components/common/loading.vue\";\r\nimport { TranslateResult } from \"vue-i18n\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.HousingTypeId,\r\n (contract: IContractViewModel) => contract.HeatingTypeId,\r\n (contract: IContractViewModel) => contract.TarificationId,\r\n ];\r\n this.validationIds = [\"HousingType\", \"HeatingType\", \"Tarification\"];\r\n }\r\n}\r\n\r\nexport const PreProductSelectionChecker = new Checker();\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage,\r\n LoadingIndicator: LoadingComponent\r\n },\r\n})\r\nexport default class PreProductSelection extends Vue {\r\n loadingIndicator: boolean = false;\r\n\r\n // Map store data to computed properties.\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get postal(): string { return this.$store.state.contract.MeteringPoint.Address.Zip; }\r\n get heatingType(): HeatingTypeEnum { return this.$store.state.contract.HeatingTypeId; } \r\n set heatingType(value: HeatingTypeEnum)\r\n {\r\n this.loadingIndicator = true;\r\n this.$store.dispatch(\"changeValue\", { key: \"heatingType\", value: value, type: PropertyTypeEnum.BasicValue }).finally(() => {\r\n this.loadingIndicator = false;\r\n });\r\n }\r\n get housingType(): HousingTypeEnum { return this.$store.state.contract.HousingTypeId; }\r\n get customerType(): CustomerTypeEnum { return this.$store.state.contract.Customer.Id; }\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n set tarification(value: TarificationIdEnum) { this.$store.dispatch(\"changeValue\", { key: \"tarification\", value: value, type: PropertyTypeEnum.BasicValue }); }\r\n get houseArea(): number { return this.$store.state.contract.HouseArea; }\r\n get energy1(): number { return this.$store.state.contract.Energy1; }\r\n get energy2(): number { return this.$store.state.contract.Energy2; }\r\n\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n HeatingTypeEnum: typeof HeatingTypeEnum = HeatingTypeEnum;\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n // tarification (TarificationIdEnum) does not have value 0\r\n //if (this.tarification == 0) {\r\n if (!this.tarification) {\r\n this.$store.dispatch(\"changeValue\", { key: \"tarification\", value: TarificationIdEnum.SINGLETARIF, type: PropertyTypeEnum.BasicValue })\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n } \r\n }\r\n\r\n \r\n get showEnergy2Consumption(): boolean {\r\n return this.tarification == TarificationIdEnum.DAYNIGHTTARIF || this.tarification == TarificationIdEnum.SEASONTARIF;\r\n }\r\n\r\n handleApartmentHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.APARTMENTHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.DISTRICTHEATING;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.DISTRICTHEATING;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n $(\"#heatingType\").hide();\r\n $(\"#tarification\").hide();\r\n }\r\n\r\n /*\r\n handleTerracedHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.TERRACEDHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.DAYNIGHTTARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.DAYNIGHTTARIF;\r\n $(\"#heatingType\").show();\r\n $(\"#tarification\").show();\r\n }\r\n */\r\n\r\n handleTerracedOrDoubleHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.TERRACEDORDOUBLEHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n $(\"#heatingType\").show();\r\n $(\"#tarification\").show();\r\n }\r\n\r\n handleHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.HOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n $(\"#heatingType\").show();\r\n $(\"#tarification\").show();\r\n }\r\n\r\n /*\r\n handleDoubleHouse() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.DOUBLEHOUSE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.DAYNIGHTTARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.DAYNIGHTTARIF;\r\n $(\"#heatingType\").show();\r\n $(\"#tarification\").show();\r\n }\r\n */\r\n\r\n handleCottage() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.COTTAGE;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n $(\"#heatingType\").show();\r\n $(\"#tarification\").show();\r\n }\r\n\r\n handleOtherConsumer() {\r\n this.$store.state.contract.HousingTypeId = HousingTypeEnum.OTHER;\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.$store.state.contract.TarificationId = TarificationIdEnum.SINGLETARIF;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n this.tarification = TarificationIdEnum.SINGLETARIF;\r\n $(\"#heatingType\").show();\r\n $(\"#tarification\").show();\r\n }\r\n\r\n handleElectricity() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.ELECTRICITY;\r\n this.heatingType = HeatingTypeEnum.ELECTRICITY;\r\n }\r\n handleDH() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.DISTRICTHEATING;\r\n this.heatingType = HeatingTypeEnum.DISTRICTHEATING;\r\n }\r\n handleML() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.GEOTHERMAL;\r\n this.heatingType = HeatingTypeEnum.GEOTHERMAL;\r\n }\r\n handleOIL() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.OIL;\r\n this.heatingType = HeatingTypeEnum.OIL;\r\n }\r\n handleOTHER() {\r\n this.$store.state.contract.HeatingTypeId = HeatingTypeEnum.OTHER;\r\n this.heatingType = HeatingTypeEnum.OTHER;\r\n }\r\n\r\n heatingTypeString(type: HeatingTypeEnum): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(HeatingTypeFormat.toString, type, this.$i18n);\r\n }\r\n\r\n housingTypeString(type: HousingTypeEnum): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(HousingTypeFormat.toString, type, this.$i18n);\r\n }\r\n\r\n\r\n data() {\r\n return {\r\n tarifications: [ \r\n { value: TarificationIdEnum.SINGLETARIF, text: this.$t('Yksiaika') },\r\n { value: TarificationIdEnum.DAYNIGHTTARIF, text: this.$t('Yö-päivä') },\r\n { value: TarificationIdEnum.SEASONTARIF, text: this.$t('Vuodenaikasähkö') } \r\n ],\r\n houseAreas: [\r\n { value: 'null', text: this.$t('Valitse kohteen pinta-ala'), disabled: true },\r\n { value: '20', text: '1 - 40' },\r\n { value: '60', text: '41 - 80' },\r\n { value: '100', text: '81 - 120' }, \r\n { value: '145', text: '121 - ' },\r\n ]\r\n }\r\n }\r\n\r\n}\r\n","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cpre-product-selection.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cpre-product-selection.vue\"","import { render, staticRenderFns } from \"./pre-product-selection.vue?vue&type=template&id=42a42663&scoped=true&\"\nimport script from \"./pre-product-selection.ts?vue&type=script&lang=js&\"\nexport * from \"./pre-product-selection.ts?vue&type=script&lang=js&\"\nimport style0 from \"./pre-product-selection.vue?vue&type=style&index=0&id=42a42663&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"42a42663\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cpre-product-selection.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asumismuoto\")))\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Toimiala\")))\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.housingTypeString(_vm.contract.HousingTypeId)) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Lämmitystapa\")))\n ]),\n _vm._v(\n \" \" + _vm._s(_vm.heatingTypeString(_vm.contract.HeatingTypeId))\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Mittaustapa\")))\n ]),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.tarificationTypeString(_vm.contract.TarificationId)\n ) +\n \" \"\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Pinta-ala\")))\n ]),\n _vm._v(\" \" + _vm._s(_vm.houseAreaString()) + \" m²\")\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Vuosikulutus\")))\n ]),\n _vm._v(\n \" \" +\n _vm._s(_vm.contract.Energy1) +\n _vm._s(\n _vm.showEnergy2Consumption\n ? \" / \" + _vm.contract.Energy2\n : \"\"\n ) +\n \" kWh \"\n )\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop } from \"vue-property-decorator\"\r\nimport { HousingTypeEnum, HeatingTypeEnum, TarificationIdEnum, CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { GenericTypeFormatTranslator, TarificationFormat, HeatingTypeFormat, HousingTypeFormat } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { TranslateResult } from \"vue-i18n\";\r\n\r\n@Component({\r\n components: { }\r\n})\r\n\r\nexport default class PreProductSelectionDisplay extends Vue {\r\n @Prop()\r\n public contract: any;\r\n\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n HeatingTypeEnum: typeof HeatingTypeEnum = HeatingTypeEnum;\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n get houseArea(): number { return this.$store.state.contract.HouseArea; }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get showEnergy2Consumption(): boolean {\r\n return this.$store.state.contract.TarificationId == TarificationIdEnum.DAYNIGHTTARIF || this.$store.state.contract.TarificationId == TarificationIdEnum.SEASONTARIF;\r\n }\r\n\r\n join(separator: string, strs: string[]) {\r\n const arr = [];\r\n strs.forEach(s => {\r\n if (s != null && s.length != 0)\r\n arr.push(s);\r\n });\r\n return arr.join(separator);\r\n }\r\n\r\n formatPostal(postalCode: string, postOffice: string) {\r\n const str = this.join(\", \", [postalCode, postOffice]);\r\n return str;\r\n }\r\n\r\n heatingTypeString(type: HeatingTypeEnum): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(HeatingTypeFormat.toString, type, this.$i18n);\r\n }\r\n\r\n housingTypeString(type: HousingTypeEnum): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(HousingTypeFormat.toString, type, this.$i18n);\r\n }\r\n\r\n tarificationTypeString(type: TarificationIdEnum): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(TarificationFormat.toString, type, this.$i18n);\r\n }\r\n\r\n houseAreaString(): string {\r\n let retVal = \"\";\r\n switch (this.houseArea) {\r\n case 20:\r\n retVal = \"1 - 40\"\r\n break;\r\n case 60:\r\n retVal = \"41 - 80\"\r\n break;\r\n case 100:\r\n retVal = \"81 - 120\"\r\n break;\r\n case 145:\r\n retVal = \"121 -\"\r\n break;\r\n }\r\n return retVal;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./pre-product-selection-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cpre-product-selection-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cpre-product-selection-display.vue\"","import { render, staticRenderFns } from \"./pre-product-selection-display.vue?vue&type=template&id=5156518e&\"\nimport script from \"./pre-product-selection-display.ts?vue&type=script&lang=js&\"\nexport * from \"./pre-product-selection-display.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/pre-product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cpre-product-selection-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"b-container\", [\n _c(\"div\", [\n _c(\n \"div\",\n [\n [\n _vm.products == null ||\n _vm.products.length == 0 ||\n _vm.isContinueContract()\n ? _c(\n \"div\",\n [\n _vm.isContinueContract()\n ? [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Jatketaan entisellä tuotteella\")) +\n \"\\n \"\n )\n ]\n : [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\"Ei valittavissa olevia tuotteita\")\n ) +\n \"\\n \"\n )\n ]\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.products, function(product) {\n return _c(\"div\", { staticClass: \"product\" }, [\n (_vm.preSelectedProductId == null ||\n (_vm.preSelectedProductId > 0 &&\n _vm.preSelectedProductId == product.Id)) &&\n _vm.isContinueContract() == false\n ? _c(\"div\", { staticClass: \"card flex-nowrap\" }, [\n _c(\n \"div\",\n { staticClass: \"card-body\" },\n [\n _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { sm: \"6\", lg: \"3\" } }, [\n product.Icon\n ? _c(\n \"div\",\n {\n staticClass: \"text-center product-image\"\n },\n [\n _c(\"img\", {\n staticClass: \"product-icon m-2\",\n attrs: {\n alt: product.Name,\n src:\n \"/Content/PKS/images/\" +\n product.Icon\n }\n })\n ]\n )\n : _vm._e()\n ]),\n _vm._v(\" \"),\n _c(\"b-col\", { attrs: { sm: \"6\", lg: \"3\" } }, [\n _c(\n \"p\",\n { staticClass: \"product-description\" },\n [_vm._v(_vm._s(product.ShortDescription))]\n )\n ]),\n _vm._v(\" \"),\n product.PriceLists.length > 1\n ? [\n _vm.preSelectedPriceListId == null\n ? [\n _c(\n \"b-tabs\",\n {\n staticClass:\n \"col-sm-12 col-lg-6 price-list-tabs\"\n },\n _vm._l(product.PriceLists, function(\n priceList\n ) {\n return _c(\n \"b-tab\",\n {\n key: priceList.text,\n attrs: { data: priceList },\n scopedSlots: _vm._u(\n [\n {\n key: \"title\",\n fn: function() {\n return [\n _c(\"b\", [\n _vm._v(\n _vm._s(\n priceList.Name\n )\n )\n ])\n ]\n },\n proxy: true\n }\n ],\n null,\n true\n )\n },\n [\n _vm._v(\" \"),\n _c(\"price-list\", {\n attrs: {\n \"price-list\": priceList,\n showVat:\n _vm.showPricesWithVat,\n \"is-selected\": _vm.isSelected(\n product,\n priceList\n ),\n \"product-id\": product.Id\n },\n on: {\n selected: function(\n $event\n ) {\n return _vm.selectClicked(\n product,\n priceList\n )\n }\n }\n })\n ],\n 1\n )\n }),\n 1\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _vm.preSelectedPriceListId > 0 &&\n _vm.preSelectedPriceListId ==\n product.PriceLists[0].Id\n ? [\n _c(\"price-list\", {\n attrs: {\n sm: \"12\",\n lg: \"6\",\n \"price-list\":\n product.PriceLists[0],\n showVat: _vm.showPricesWithVat,\n \"is-selected\": _vm.isSelected(\n product,\n product.PriceLists[0]\n ),\n \"product-id\": product.Id\n },\n on: {\n selected: function($event) {\n return _vm.selectClicked(\n product,\n product.PriceLists[0]\n )\n }\n }\n })\n ]\n : _vm._e()\n ]\n : _vm._e(),\n _vm._v(\" \"),\n product.PriceLists.length == 1\n ? [\n _c(\"price-list\", {\n staticClass: \"col-sm-12 col-lg-6\",\n attrs: {\n \"price-list\": product.PriceLists[0],\n showVat: _vm.showPricesWithVat,\n \"is-selected\": _vm.isSelected(\n product,\n product.PriceLists[0]\n ),\n \"product-id\": product.Id\n },\n on: {\n selected: function($event) {\n return _vm.selectClicked(\n product,\n product.PriceLists[0]\n )\n }\n }\n })\n ]\n : _vm._e()\n ],\n 2\n ),\n _vm._v(\" \"),\n _vm.isPriimaPlusProduct(product.Id) ||\n _vm.isPriimaProduct(product.Id)\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { md: \"12\" } }, [\n _vm.isPriimaPlusProduct(product.Id)\n ? _c(\"p\", [\n _vm._v(\n \"Kun olet kiinnittänyt sähkön hinnan jollekin aikavälille, voit vielä vaikuttaa toteutuvaan laskutushintaan sen mukaan, kuinka sähkönkäyttösi on jakaantunut halvimpien ja kalliimpien tuntihintojen kesken.\"\n )\n ])\n : _vm._e()\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n product.Description\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _c(\n \"div\",\n {\n staticClass:\n \"card card-default product-details\"\n },\n [\n _c(\"div\", { staticClass: \"card-body\" }, [\n _c(\n \"h4\",\n {\n staticClass:\n \"card-title text-center\"\n },\n [\n _c(\n \"a\",\n {\n attrs: {\n role: \"button\",\n \"data-toggle\": \"collapse\",\n href:\n \"#product-details-\" +\n product.Id,\n \"aria-expanded\": \"true\"\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Lisätietoja tuotteesta\"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"collapse\",\n attrs: {\n id: \"product-details-\" + product.Id,\n role: \"tabpanel\"\n }\n },\n [\n _c(\n \"div\",\n { staticClass: \"card-body\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(product.Description) +\n \"\\n \"\n )\n ]\n )\n ]\n )\n ]\n )\n ])\n ])\n : _vm._e()\n ],\n 1\n )\n ])\n : _vm._e()\n ])\n })\n ]\n ],\n 2\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"price-list\" },\n [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n {\n attrs: {\n cols: \"12\",\n md: \"9\",\n xl: \"7\",\n id: \"first-section-\" + _vm.priceList.Id\n }\n },\n [\n _c(\n \"b-row\",\n [\n _vm.priceList.FixedTerm === false &&\n _vm.priceList.ProductComponents[0].ThisMonthForFuturePrice\n ? _c(\n \"b-col\",\n [\n _c(\"u\", [\n _vm._v(\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .ThisMonthForFuturePrice\n )\n )\n ]),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].FutureTotalPrice >\n 0\n ? [\n _c(\n \"b-button\",\n {\n staticClass: \"display-short\",\n staticStyle: {\n \"background-color\": \"#4679B2\"\n },\n attrs: {\n id: \"next-button-\" + _vm.priceList.Id,\n size: \"sm\"\n },\n on: {\n click: function($event) {\n return _vm.toggleNextMonth()\n }\n }\n },\n [_vm._v(\" > \")]\n )\n ]\n : _vm._e()\n ],\n 2\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.priceList.ProductComponents[0].Energy1Description\n ? [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .Energy1Description\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .Energy1Price,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .Energy1PriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].Energy2Description\n ? [\n _c(\n \"b-row\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .Energy2Description\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .Energy2Price,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .Energy2PriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .BasicDescription\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .BasicPrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .BasicPriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .BasicPriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .BasicPriceUnit\n ) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.showVat\n ? _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"(Hinnat alv 0%)\")) +\n \"\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\"b-col\", { staticClass: \"product-component-detail\" }, [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\"Voimassa\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n _vm._s(\n _vm.formatDuration(_vm.contract, _vm.priceList)\n )\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showPriceEstimate(_vm.priceList)\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\"span\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Hinta-arvio\")) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"value\" }, [\n _c(\n \"span\",\n {\n attrs: {\n id:\n \"priceEstimatePrice\" + _vm.priceList.Id\n }\n },\n [\n _vm._v(\n _vm._s(_vm.priceEstimate(_vm.priceList))\n )\n ]\n ),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\" €/vuosi\")) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.priceList.FixedTerm === false &&\n _vm.priceList.ProductComponents[0].FutureTotalPrice > 0\n ? _c(\n \"b-col\",\n {\n staticClass: \"display-long\",\n attrs: {\n cols: \"12\",\n md: \"9\",\n xl: \"5\",\n id: \"second-section-\" + _vm.priceList.Id\n }\n },\n [\n _c(\n \"b-row\",\n [\n _vm.priceList.ProductComponents[0].NextMonthForFuturePrice\n ? _c(\n \"b-col\",\n [\n _c(\n \"b-button\",\n {\n staticClass: \"display-short\",\n staticStyle: {\n \"background-color\": \"#4679B2\",\n \"font-size\": \"8px\"\n },\n attrs: {\n id: \"back-button-\" + _vm.priceList.Id\n },\n on: {\n click: function($event) {\n return _vm.toggleNextMonth()\n }\n }\n },\n [_vm._v(\" < \")]\n ),\n _vm._v(\" \"),\n _c(\"u\", [\n _vm._v(\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .NextMonthForFuturePrice\n )\n )\n ])\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.priceList.ProductComponents[0].FutureTotalPrice > 0\n ? [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\n \"span\",\n { staticClass: \"title display-short\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .Energy1Description\n ) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .FutureEnergy1Price,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .FutureEnergy1PriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0]\n .Energy2Description\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n {\n staticClass: \"product-component-detail\"\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"title display-short\"\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy2Description\n ) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\n \"span\",\n { staticClass: \"value\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .FutureEnergy2Price,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ]\n )\n : _c(\n \"span\",\n { staticClass: \"value\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .FutureEnergy2PriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\n \"span\",\n { staticClass: \"title display-short\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .BasicDescription\n ) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .FutureBasicPrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .BasicPriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList\n .ProductComponents[0]\n .FutureBasicPriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList\n .ProductComponents[0]\n .BasicPriceUnit\n ) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.showVat\n ? _c(\"div\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"(Hinnat alv 0%)\")) +\n \"\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\"span\", { staticClass: \"title wide-hidden\" }, [\n _vm._v(\"Voimassa\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"value\" }, [\n _vm._v(\n _vm._s(\n _vm.formatDuration(\n _vm.contract,\n _vm.priceList\n )\n )\n )\n ])\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showPriceEstimate(_vm.priceList)\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { staticClass: \"product-component-detail\" },\n [\n _c(\n \"span\",\n { staticClass: \"title wide-hidden\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Hinta-arvio\")) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"value\" }, [\n _c(\n \"span\",\n {\n attrs: {\n id:\n \"priceEstimatePrice\" +\n _vm.priceList.Id\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.priceEstimate(_vm.priceList)\n )\n )\n ]\n ),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\" €/vuosi\")) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\"production-type\", {\n attrs: {\n \"price-list-id\": _vm.priceList.Id,\n \"is-selected-price-list\": _vm.isSelected\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.actions\n ? _c(\"div\", { staticClass: \"product-actions mt-2\" }, [\n _vm.showSelectButton()\n ? _c(\n \"button\",\n {\n staticClass:\n \"btn btn-lg btn-outline-default pricelist next-section\",\n class: { active: _vm.isSelected },\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n _vm.selected(_vm.priceList)\n _vm.updateStartDatepicker()\n }\n }\n },\n [\n _vm.isSelected\n ? [\n _c(\"font-awesome-icon\", { attrs: { icon: \"check\" } }),\n _vm._v(\" Tuote valittu!\\n \")\n ]\n : [\n _vm._v(\n \"\\n Valitse tämä tuote\\n \"\n )\n ]\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showOfferSelectButton()\n ? _c(\n \"button\",\n {\n staticClass:\n \"btn btn-lg btn-outline-default pricelist next-section\",\n class: { active: _vm.isSelectedProduct() },\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n return _vm.selectedOfferProduct(_vm.priceList)\n }\n }\n },\n [\n _vm.isSelectedProduct()\n ? [\n _c(\"font-awesome-icon\", { attrs: { icon: \"check\" } }),\n _vm._v(\" Tuote valittu!\\n \")\n ]\n : [\n _vm._v(\n \"\\n Haluan tarjouksen tästä tuotteesta\\n \"\n )\n ]\n ],\n 2\n )\n : _vm._e()\n ])\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { TarificationIdEnum } from \"./CommonEnums\";\r\nimport { IPriceListViewModel, IProductComponentViewModel } from \"./I4UViewModels\";\r\n\r\nexport class PriceListUtils {\r\n public static showPriceEstimate(priceList: IPriceListViewModel) {\r\n //Cost estimate is not shown for SPOT products (energy1 productComponent's Code = SPOT_PRICE_MARGIN_CODE)\r\n if (priceList.ProductComponents[0].SpotEnergy1MarginalDescription !== null) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\r\n // Esim\r\n // getFixedPrice(0.123, 2) => 0.12\r\n // getFixedPrice(0.125, 2) => 0.13\r\n // getFixedPrice(42, 2, 0) => 42\r\n // getFixedPrice(42, 2) => 42.00\r\n // getFixedPrice(0.123, 3, 2) => 0.123\r\n // getFixedPrice(0.1, 3, 2) => 0.10\r\n // localessa toimii joissakin tapauksissa lyhyt että pitkä tunnus esim \"fi\" ja \"Fi-FI\"\r\n public static getFixedPrice(price: number, maximumFractionDigits: number, minimumFractionDigits?: number, locale?: string) {\r\n if (price == null) {\r\n price = 0;\r\n }\r\n locale = locale != null ? locale : \"fi-FI\";\r\n minimumFractionDigits = minimumFractionDigits != null ? minimumFractionDigits : 2;\r\n return price.toLocaleString(locale, { maximumFractionDigits: maximumFractionDigits, minimumFractionDigits: minimumFractionDigits});\r\n }\r\n\r\n public static calculatePriceEstimate(priceList: IPriceListViewModel, showVat: boolean, tarification: number, energy1: number, energy2: number) {\r\n //Calculates price estimate including mandatory service products\r\n let cost = 0;\r\n let basicPrice = 0;\r\n let energy1Price = 0;\r\n let energy2Price = 0;\r\n if (showVat) {\r\n basicPrice = priceList.ProductComponents[0].BasicPrice;\r\n energy1Price = priceList.ProductComponents[0].Energy1Price;\r\n energy2Price = priceList.ProductComponents[0].Energy2Price;\r\n }\r\n else {\r\n basicPrice = priceList.ProductComponents[0].BasicPriceNoVAT;\r\n energy1Price = priceList.ProductComponents[0].Energy1PriceNoVAT;\r\n energy2Price = priceList.ProductComponents[0].Energy2PriceNoVAT;\r\n }\r\n if (tarification === TarificationIdEnum.SINGLETARIF) {\r\n cost = (basicPrice * 12) + ((energy1Price * energy1) / 100);\r\n }\r\n else {\r\n cost = (basicPrice * 12) + ((energy1Price * energy1) / 100) + ((energy2Price * energy2) / 100);\r\n }\r\n if (priceList.CountOfMandatoryServiceProducts > 0) {\r\n for (let i = 0; i < priceList.PriceListServiceProducts.length; i++) {\r\n if (priceList.PriceListServiceProducts[i].PriceListServiceProductType === 2) {\r\n cost += this.calculateServiceProductPrice(priceList.PriceListServiceProducts[i].ServicePriceList.ProductComponents[0], showVat, tarification, energy1, energy2);\r\n }\r\n }\r\n }\r\n if (priceList.ProductComponents[0].AdditionalBasicPrices && priceList.ProductComponents[0].AdditionalBasicPrices.length > 0) {\r\n for (let additionalBasicPrice of priceList.ProductComponents[0].AdditionalBasicPrices) {\r\n // this assumes all basic prices have a unit of €/mo\r\n if (showVat) {\r\n cost += (additionalBasicPrice.BasicPrice * 12)\r\n }\r\n else {\r\n cost += (additionalBasicPrice.BasicPriceNoVAT + 12)\r\n }\r\n }\r\n }\r\n return cost;\r\n }\r\n public static calculateServiceProductPrice(serviceProductComponent: IProductComponentViewModel, showVat: boolean, tarification: number, energy1: number, energy2: number) {\r\n let cost = 0;\r\n //ServicePriceUnit is not translated while ServicePriceUnitTranslated is\r\n const priceUnit = serviceProductComponent.ServicePriceUnit.toLowerCase();\r\n let energy = energy1;\r\n if (tarification !== TarificationIdEnum.SINGLETARIF) {\r\n energy += energy2;\r\n }\r\n let servicePrice = serviceProductComponent.ServicePrice;\r\n if (!showVat) {\r\n servicePrice = serviceProductComponent.ServicePriceNoVAT;\r\n }\r\n switch (priceUnit) {\r\n //Piece or year based price\r\n case \"eur/pcs\":\r\n case \"sek/pcs\":\r\n case \"eur/a\":\r\n case \"sek/a\":\r\n cost = servicePrice;\r\n break;\r\n //Monthly based price\r\n case \"eur/mo\":\r\n case \"sek/mo\":\r\n case \"eur/m\":\r\n case \"sek/m\":\r\n cost = servicePrice * 12;\r\n break;\r\n //Consumption based price\r\n case \"snt/kwh\":\r\n case \"öre/kwh\":\r\n case \"eur/mwh\":\r\n case \"sek/mwh\":\r\n cost = ((servicePrice * energy) / 100);\r\n break;\r\n }\r\n return cost;\r\n }\r\n}\r\n\r\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"mt-2\" }, [\n _c(\n \"div\",\n { staticStyle: { padding: \"0\" } },\n [\n _c(\n \"b-form\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Valitse haluamasi tuotantomuoto\")))\n ]),\n _vm._v(\" \"),\n _vm.contract.CustomerType == 2\n ? _c(\"b-form-radio-group\", {\n staticClass: \"production-type\",\n attrs: {\n stacked: \"\",\n options: _vm.optionsCompany,\n name: \"production-method\",\n disabled: _vm.offerRequest\n },\n model: {\n value: _vm.selected,\n callback: function($$v) {\n _vm.selected = $$v\n },\n expression: \"selected\"\n }\n })\n : _c(\"b-form-radio-group\", {\n staticClass: \"production-type\",\n attrs: {\n stacked: \"\",\n options: _vm.optionsConsumer,\n name: \"production-method\",\n disabled: _vm.offerRequest\n },\n model: {\n value: _vm.selected,\n callback: function($$v) {\n _vm.selected = $$v\n },\n expression: \"selected\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Watch, Ref } from \"vue-property-decorator\"\r\nimport { CustomerTypeEnum } from \"../../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IContractSettings } from \"../../../new-contract-vuex-store\";\r\nimport { IContractViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport NewContractStore from \"../../../new-contract-vuex-store\";\r\n@Component({\r\n})\r\n\r\nexport default class ProductionType extends Vue {\r\n @Prop()\r\n priceListId: number;\r\n\r\n @Prop({default: false})\r\n isSelectedPriceList: boolean;\r\n\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get isPriima(): boolean {\r\n return this.contractSettings.PriimaProductId && this.contractSettings.PriimaProductId > 0\r\n && this.contract.ProductId == this.contractSettings.PriimaProductId;\r\n }\r\n get isPriimaPlus(): boolean {\r\n return this.contractSettings.PriimaPlusProductId && this.contractSettings.PriimaPlusProductId > 0\r\n && this.contract.ProductId == this.contractSettings.PriimaPlusProductId;\r\n }\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n constructor() {\r\n super(); \r\n }\r\n\r\n mounted() {\r\n this.initTypes();\r\n }\r\n selected: string = '1';\r\n\r\n @Watch(\"selected\")\r\n newSelection() {\r\n if (this.contract.PriceListId == this.priceListId) {\r\n this.selectedPriceListChanged();\r\n }\r\n }\r\n\r\n @Watch(\"isSelectedPriceList\")\r\n selectedPriceListChanged() {\r\n if (this.contract.PriceListId == this.priceListId) {\r\n let hasSelection: boolean = this.selected != null;\r\n let isCompany: boolean = this.contract.CustomerType == CustomerTypeEnum.COMPANY;\r\n let price: number;\r\n let priceConsumer: number = 0.10;\r\n let priceCompany: number = 0.0806;\r\n switch (this.selected) {\r\n case 'Sekasähkö':\r\n case 'Pörssisähkö': {\r\n price = 0;\r\n break;\r\n }\r\n case 'Tuulivoima':\r\n case 'Vesivoima': {\r\n price = isCompany ? priceCompany : priceConsumer;\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n\r\n let current_ef_choise: string;\r\n let el = this.contract.ExtraFeatures.find(e => e.Name == \"Pörssisähkö\" || e.Name == \"Sekasähkö\" || e.Name == \"Tuulivoima\" || e.Name == \"Vesivoima\");\r\n if (el) {\r\n current_ef_choise = el.Name;\r\n }\r\n if (hasSelection) {\r\n if (current_ef_choise && current_ef_choise != this.selected) {\r\n return this.$store.dispatch(\"removeAndUpdateExtraFeature\", { originalname: current_ef_choise, name: null, amount: 0, price: 0 }).then(() => {\r\n this.$store.dispatch(\"updateExtraFeature\", { name: this.selected, amount: 1, price: price });\r\n });\r\n }\r\n if (!current_ef_choise) {\r\n return this.$store.dispatch(\"updateExtraFeature\", { name: this.selected, amount: 1, price: price });\r\n }\r\n if (current_ef_choise && current_ef_choise == this.selected) {\r\n return this.$store.dispatch(\"updateExtraFeature\", { name: this.selected, amount: 1, price: price });\r\n }\r\n }\r\n else {\r\n if (current_ef_choise) {\r\n return this.$store.dispatch(\"removeAndUpdateExtraFeature\", { originalname: current_ef_choise, name: null, amount: 0, price: 0 });\r\n }\r\n }\r\n }\r\n if (this.contract.PriceListId > 0 && this.contract.PriceListId != this.priceListId) {\r\n this.selected = null;\r\n if (!this.isPriimaPlus && !this.isPriima) {\r\n let el = this.contract.ExtraFeatures.find(e => e.Name == \"Sekasähkö\" || e.Name == \"Tuulivoima\" || e.Name == \"Vesivoima\");\r\n if (el) {\r\n return this.$store.dispatch(\"removeAndUpdateExtraFeature\", { originalname: el.Name, name: null, amount: 0, price: 0 });\r\n }\r\n }\r\n }\r\n\r\n };\r\n\r\n data() {\r\n const priceConsumer: string = '0,10'\r\n const priceCompany: string = '0,0806'\r\n\r\n return {\r\n selected: this.selected ? this.selected : null,\r\n optionsConsumer: [\r\n { text: this.$t('Sekasähkö + 0,00 snt/kWh'), value: 'Sekasähkö' },\r\n { text: this.$t('Tuulivoima + ' + priceConsumer + ' snt/kWh'), value: 'Tuulivoima' },\r\n { text: this.$t('Vesivoima + ' + priceConsumer + ' snt/kWh'), value: 'Vesivoima' }\r\n ],\r\n optionsCompany: [\r\n { text: this.$t('Sekasähkö + 0,00 snt/kWh'), value: 'Sekasähkö' },\r\n { text: this.$t('Tuulivoima + ' + priceCompany + ' snt/kWh'), value: 'Tuulivoima' },\r\n { text: this.$t('Vesivoima + ' + priceCompany + ' snt/kWh'), value: 'Vesivoima' }\r\n ],\r\n };\r\n\r\n }\r\n\r\n initTypes(): void {\r\n if (this.contract.PriceListId == this.priceListId) {\r\n for (var i = 0; i < this.contract.ExtraFeatures.length; i++) {\r\n let efName = this.contract.ExtraFeatures[i].Name;\r\n if (efName == \"Pörssisähkö\" || efName == \"Sekasähkö\" || efName == \"Tuulivoima\" || efName == 'Vesivoima') {\r\n this.selected = efName;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./production-type.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./production-type.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./production-type.vue?vue&type=template&id=f1631a9e&\"\nimport script from \"./production-type.ts?vue&type=script&lang=js&\"\nexport * from \"./production-type.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { IPriceListViewModel, IContractViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { TarificationIdEnum } from \"../../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport { CommonFormatUtils } from \"../../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { PriceListUtils } from \"../../../../../../Scripts/inpulse/PriceListUtils\";\r\nimport ProductionType from \"./production-type.vue\"\r\nimport { IContractSettings } from \"../../../new-contract-vuex-store\";\r\n\r\nlibrary.add(faCheck)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n@Component({\r\n components: {\r\n ProductionType\r\n }\r\n})\r\n\r\nexport default class PriceList extends Vue {\r\n @Prop()\r\n priceList: IPriceListViewModel;\r\n @Prop({ default: true })\r\n actions: boolean;\r\n @Prop()\r\n isSelected: boolean;\r\n @Prop()\r\n showVat: boolean;\r\n @Prop()\r\n productId: number;\r\n @Prop()\r\n productName: string;\r\n\r\n @Emit()\r\n selected(priceList: IPriceListViewModel) { }\r\n\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n get energy1(): number { return this.$store.state.contract.Energy1; }\r\n get energy2(): number { return this.$store.state.contract.Energy2; }\r\n get selectedServiceProducts(): string[] { return this.$store.state.selectedServiceProducts; }\r\n get offerProducts(): string[] { return this.$store.state.offerProducts; }\r\n\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n //}\r\n //get isPriimaPlusPriceList(): boolean {\r\n // return this.contractSettings.PriimaPlusProductId && this.contractSettings.PriimaPlusProductId > 0\r\n // && this.productId == this.contractSettings.PriimaPlusProductId;\r\n //}\r\n \r\n\r\n\r\n setSelectedServiceProducts(payload: { selectedServiceProducts: string[] }) { return this.$store.dispatch(\"setSelectedServiceProducts\", payload); }\r\n selectedServiceProducts2: string[];\r\n\r\n\r\n constructor() {\r\n super();\r\n if (this.selectedServiceProducts2 === undefined) {\r\n this.selectedServiceProducts2 = this.selectedServiceProducts;\r\n }\r\n }\r\n\r\n created(): void {\r\n if (this.selectedServiceProducts2 === undefined) {\r\n this.selectedServiceProducts2 = this.selectedServiceProducts;\r\n }\r\n }\r\n\r\n showPriima(priceList: IPriceListViewModel): boolean {\r\n if (priceList.Name.toLowerCase() == \"priima\") {\r\n return true\r\n }\r\n return false;\r\n }\r\n\r\n changeServiceProduct(payload: { key: string, value: string }) { return this.$store.dispatch(\"changeValue\", payload); }\r\n\r\n formatDuration(contract: IContractViewModel, priceList: IPriceListViewModel) {\r\n return CommonFormatUtils.formatDuration(contract, priceList, this.$i18n.locale);\r\n }\r\n \r\n getFixedPrice(price: number, digits: number) {\r\n return PriceListUtils.getFixedPrice(price, digits);\r\n }\r\n\r\n showPriceEstimate(priceList: IPriceListViewModel) {\r\n if (priceList.Name != \"Optimi takuu\") {\r\n return false;\r\n }\r\n return PriceListUtils.showPriceEstimate(priceList);\r\n }\r\n priceEstimate(priceLists: IPriceListViewModel) {\r\n return this.calculatePriceEstimate(priceLists);\r\n }\r\n\r\n calculatePriceEstimate(priceList: IPriceListViewModel) {\r\n //return PriceListUtils.calculatePriceEstimate(priceList, this.showVat, this.tarification, this.energy1, this.energy2);\r\n let priceEstimate = PriceListUtils.calculatePriceEstimate(this.priceList, this.showVat, this.tarification, this.energy1, this.energy2); //includes mandatory service products\r\n //Add costs of selected optional service products\r\n let extraCost = 0.0;\r\n if (this.selectedServiceProducts.length > 0) {\r\n for (let ind = 0; ind < this.priceList.PriceListServiceProducts.length; ind++) {\r\n if (this.priceList.PriceListServiceProducts[ind].PriceListServiceProductType === 1) {\r\n const sp = this.priceList.PriceListServiceProducts[ind];\r\n const key = this.priceList.Id.toFixed() + \";\" + sp.ServicePriceList.ExternalPriceListId;\r\n const index = this.selectedServiceProducts2.indexOf(key, 0);\r\n if (index > -1) { //service product was found among the selected ones\r\n extraCost += PriceListUtils.calculateServiceProductPrice(sp.ServicePriceList.ProductComponents[0], this.showVat, this.tarification, this.energy1, this.energy2);\r\n }\r\n }\r\n }\r\n }\r\n priceEstimate = priceEstimate + extraCost;\r\n return this.getFixedPrice(priceEstimate, 2);\r\n }\r\n //SQI4U-1113 this just launches some change event that fixes the maxvalues, the max values are set in metering-point-information.ts. Added this function call to price-list.vue line 188.\r\n updateStartDatepicker() {\r\n this.$store.dispatch(\"changeValue\", { key: \"StartDate\", value: moment(String(this.contract.StartDate)).format('DD.MM.YYYY') });\r\n }\r\n //SQI4U-1113 end\r\n\r\n serviceProductSelectionChanged(e: Event) {\r\n const inputStr = (e.target).value;\r\n if (this.selectedServiceProducts2 === undefined) {\r\n this.selectedServiceProducts2 = [];\r\n }\r\n console.log(\"serviceProductSelectionChanged \" + inputStr);\r\n const el = (e.target);\r\n let value = inputStr + \";\";\r\n if (el.checked) {\r\n console.log(\"Valittu\");\r\n value = value + \"1\";\r\n this.selectedServiceProducts2.push(inputStr);\r\n }\r\n else {\r\n console.log(\"Ei valittu\");\r\n value = value + \"0\";\r\n const index = this.selectedServiceProducts2.indexOf(inputStr, 0);\r\n if (index > -1) {\r\n this.selectedServiceProducts2.splice(index, 1);\r\n }\r\n }\r\n this.setSelectedServiceProducts({ selectedServiceProducts: this.selectedServiceProducts2 }).then(() => {\r\n console.log(\"setSelectedServiceProducts done\");\r\n const priceEstimate = this.calculatePriceEstimate(this.priceList);\r\n console.log(\"Set cost estimate \" + priceEstimate + \"to: \" + \"#priceEstimatePrice\" + this.priceList.Id.toFixed());\r\n $(\"#priceEstimatePrice\" + this.priceList.Id.toFixed()).html(priceEstimate);\r\n });\r\n\r\n this.changeServiceProduct({ key: \"ServiceProduct\", value: value }).then(() => {\r\n console.log(\"service product changed\");\r\n });\r\n }\r\n isServiceProductSelected(priceListId: number, serviceProductExternalPriceListId: string): boolean {\r\n if (this.selectedServiceProducts2 === undefined) {\r\n this.selectedServiceProducts2 = this.selectedServiceProducts;\r\n if (this.selectedServiceProducts2 === undefined) {\r\n return false;\r\n }\r\n }\r\n console.log(\"this.selectedServiceProducts2.length: \" + this.selectedServiceProducts2.length);\r\n const index = this.selectedServiceProducts2.indexOf(priceListId.toFixed() + \";\" + serviceProductExternalPriceListId, 0);\r\n if (index > -1) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n //showProductionTypeSelection(): boolean {\r\n // if (this.isPriimaPriceList || this.isPriimaPlusPriceList) {\r\n // return true;\r\n // }\r\n // return false;\r\n //}\r\n\r\n isOptimi() {\r\n return false;\r\n //return this.productName.indexOf(\"optimi\") > 0;\r\n }\r\n\r\n privateShowFuture: boolean = false;\r\n toggleNextMonth() {\r\n this.privateShowFuture = !this.privateShowFuture;\r\n if (this.privateShowFuture) {\r\n $(\"#second-section-\" + this.priceList.Id).removeClass(\"display-long\").addClass(\"display-short\");;\r\n $(\"#first-section-\" + this.priceList.Id).removeClass(\"display-short\").addClass(\"display-long\"); \r\n }\r\n else {\r\n $(\"#second-section-\" + this.priceList.Id).removeClass(\"display-short\").addClass(\"display-long\");;\r\n $(\"#first-section-\" + this.priceList.Id).removeClass(\"display-long\").addClass(\"display-short\"); \r\n }\r\n }\r\n\r\n showSelectButton(): boolean {\r\n let show = true;\r\n if (this.offerRequest) {\r\n show = false;\r\n }\r\n return show;\r\n }\r\n\r\n showOfferSelectButton(): boolean {\r\n let show = false;\r\n if (this.offerRequest) {\r\n show = true;\r\n }\r\n return show;\r\n }\r\n\r\n selectedOfferProduct(priceList: IPriceListViewModel) {\r\n let prod = \"pricelist-\" + this.productId.toString() + \"-\" + priceList.Id.toString();\r\n this.$store.dispatch(\"setOfferProduct\", { selectedProduct: prod });\r\n }\r\n\r\n isSelectedProduct() {\r\n var result = false;\r\n let prod = \"pricelist-\" + this.productId.toString() + \"-\" + this.priceList.Id.toString();\r\n if (this.offerProducts.indexOf(prod) > -1) {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./price-list.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./price-list.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cprice-list.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cprice-list.vue\"","import { render, staticRenderFns } from \"./price-list.vue?vue&type=template&id=ce5fe484&scoped=true&\"\nimport script from \"./price-list.ts?vue&type=script&lang=js&\"\nexport * from \"./price-list.ts?vue&type=script&lang=js&\"\nimport style0 from \"./price-list.vue?vue&type=style&index=0&id=ce5fe484&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ce5fe484\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cprice-list.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Emit } from \"vue-property-decorator\";\r\nimport { IProductViewModel, IPriceListViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, HousingTypeEnum, TarificationIdEnum, ProcessTypeEnum, SubProcessTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport PriceList from \"./components/price-list.vue\";\r\nimport { SectionChecker } from \"../../Default/common/section\";\r\nimport { IContractSettings } from \"../../new-contract-vuex-store\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.idProperties = [\r\n (contract: IContractViewModel) => contract.ProductId,\r\n (contract: IContractViewModel) => contract.PriceListId,\r\n ];\r\n this.validationIds = [\"Product\"];\r\n }\r\n}\r\nexport const ProductSelectionChecker = new Checker();\r\n\r\n@Component({\r\n components: {\r\n PriceList,\r\n },\r\n})\r\n\r\nexport default class ProductSelection extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get products(): IProductViewModel[] { return this.$store.state.products; }\r\n get selectedProduct(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n get preSelectedProductId(): number { return this.$store.state.preSelectedProductId; }\r\n get preSelectedPriceListId(): number { return this.$store.state.preSelectedPriceListId; }\r\n get showPricesWithVat(): boolean { return this.contract.CustomerType != CustomerTypeEnum.COMPANY; }\r\n get isFixedTerm(): boolean { return this.$store.state.products.PriceLists.FixedTerm; }\r\n selectProduct(payload: { product: IProductViewModel, priceList: IPriceListViewModel }) { return this.$store.dispatch(\"selectProduct\", payload); }\r\n get housingType(): HousingTypeEnum { return this.$store.state.contract.HousingTypeId; }\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n get processBrand(): string { return this.$store.state.Brand; }\r\n get selectedConinueWithSameProductId(): number { return this.$store.state.selectedConinueWithSameProductId; }\r\n get selectedConinueWithSamePriceListId(): number { return this.$store.state.selectedConinueWithSamePriceListId; }\r\n\r\n //get newContractOldProductId(): number { return this.getNewContractWithOldProducId(); }\r\n \r\n @Emit()\r\n productSelected(product: IProductViewModel, priceList: IPriceListViewModel) { }\r\n\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n //getNewContractWithOldProducId(): number {\r\n // let result = 0\r\n \r\n // if (this.contract.ProcessType == ProcessTypeEnum.MOVINGPROCESS && this.contract.SubProcessType == SubProcessTypeEnum.MOVINGWITHOLDCONTRACTPRODUCT) {\r\n // if (this.contract.CustomerContracts && this.contract.CustomerContracts.length == 1) {\r\n // if (this.products.find(x => x.Id == this.contract.CustomerContracts[0].ProductId)) {\r\n // return this.contract.CustomerContracts[0].ProductId;\r\n // }\r\n // }\r\n // }\r\n // else {\r\n\r\n // }\r\n // return result;\r\n //}\r\n\r\n selectClicked(product: IProductViewModel, priceList: IPriceListViewModel) {\r\n this.selectProduct({ product: product, priceList: priceList })\r\n .then(() => this.productSelected(product, priceList));\r\n }\r\n\r\n isSelected(product: IProductViewModel, priceList: IPriceListViewModel) {\r\n if (this.selectedProduct != null && this.selectedPriceList != null)\r\n return this.selectedProduct.Id == product.Id && this.selectedPriceList.Id == priceList.Id;\r\n return false;\r\n }\r\n\r\n isContinueContract(): boolean {\r\n // return true, if the selection in the moveoutprocessselector is \"Jatkan nykyistä sopimusta\", otherwise false\r\n return (this.contract.ContractToNewAddressSelection == 2);\r\n }\r\n\r\n // jos pitää näyttää tuote ja hinnasto silloin kun ovat valideja\r\n //productdHasValidPricelist(productId: number): boolean {\r\n // if (productId != this.selectedConinueWithSameProductId || this.selectedConinueWithSameProductId == 0) {\r\n // return false;\r\n // }\r\n // $.each(this.products, (i, product) => {\r\n // if (product.Id == productId && product.PriceLists.find(x => x.Id == this.selectedConinueWithSamePriceListId)) {\r\n // let prod = { Id: this.selectedConinueWithSameProductId } as IProductViewModel;\r\n // let prList = { Id: this.selectedConinueWithSamePriceListId } as IPriceListViewModel;\r\n // this.selectProduct({ product: prod, priceList: prList })\r\n // .then(() => {\r\n // this.productSelected(prod, prList);\r\n // return true;\r\n // });\r\n // }\r\n // });\r\n // return false;\r\n //}\r\n\r\n shortProductNames = [\"oiva\", \"optimi\", \"vihreä\", \"priima\"];\r\n getProductImageIdentifier(productName: string) {\r\n let prefix = \"pks-product-\";\r\n let retVal = \"\";\r\n if (productName) {\r\n $.each(this.shortProductNames, (i, item) => {\r\n if (productName.toLowerCase().includes(item)) {\r\n retVal = prefix + item;\r\n }\r\n })\r\n }\r\n return retVal;\r\n }\r\n\r\n isPriimaProduct(productid: number): boolean {\r\n return this.contractSettings.PriimaProductId && this.contractSettings.PriimaProductId > 0\r\n && productid == this.contractSettings.PriimaProductId;\r\n }\r\n isPriimaPlusProduct(productid: number): boolean {\r\n return this.contractSettings.PriimaPlusProductId && this.contractSettings.PriimaPlusProductId > 0\r\n && productid == this.contractSettings.PriimaPlusProductId;\r\n }\r\n\r\n data() {\r\n return {\r\n selected: 'showAllProds', \r\n options: [\r\n { text: this.$t('Määräaikainen sopimus (hinta pysyy samana koko sopimuksen voimassaoloajan)'), value: 'isFixedTerm' },\r\n { text: this.$t('Toistaiseksi voimassa oleva sopimus (hinta voi vaihdella maltillisesti sähkömarkkinahinnan mukaan)'), value: 'notFixedTerm' },\r\n { text: this.$t('Hinnan määräytymisellä ei ole väliä'), value: 'showAllProds' }\r\n ]\r\n }\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cproduct-selection.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cproduct-selection.vue\"","import { render, staticRenderFns } from \"./product-selection.vue?vue&type=template&id=58590f63&scoped=true&\"\nimport script from \"./product-selection.ts?vue&type=script&lang=js&\"\nexport * from \"./product-selection.ts?vue&type=script&lang=js&\"\nimport style0 from \"./product-selection.vue?vue&type=style&index=0&id=58590f63&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58590f63\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cproduct-selection.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.product != null\n ? _c(\n \"b-row\",\n { attrs: { \"aling-h\": \"center\" } },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"3\" }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.product.Name) +\n \",\\n \"\n ),\n _c(\"span\", [\n _vm._v(\n _vm._s(_vm.formatDuration(_vm.contract, _vm.priceList))\n )\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"content-cols\": \"6\",\n \"content-cols-lg\": \"3\"\n }\n },\n [\n _vm.product.Icon\n ? _c(\"div\", { staticClass: \"text-center product-image\" }, [\n _c(\"img\", {\n staticClass: \"product-icon\",\n attrs: {\n alt: _vm.product.Name,\n src: \"/Content/PKS/images/\" + _vm.product.Icon\n }\n })\n ])\n : _vm._e()\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\"price-list-display\", {\n attrs: {\n \"price-list\": _vm.priceList,\n actions: false,\n showVat: _vm.showPricesWithVat\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm.selectedConinueWithSameProductId != 0\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Jatketaan samalla tuotteella\")) +\n \"\\n \"\n )\n ])\n ],\n 1\n )\n : _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Tuotetta ei ole valittu\")) +\n \"\\n \"\n )\n ])\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"price-list-display\" }, [\n _vm.priceList.ProductComponents[0].Energy1Description\n ? _c(\"div\", { staticClass: \"product-component-detail highlight price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].Energy1Description) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].Energy1Price,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].Energy1PriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].Energy2Description\n ? _c(\"div\", { staticClass: \"product-component-detail highlight price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].Energy2Description) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].Energy2Price,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].Energy2PriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].Energy1BundleDescription\n ? _c(\"div\", { staticClass: \"product-component-detail highlight price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1BundleDescription\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].Energy1BundlePrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .Energy1BundlePriceNoVat,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy1PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].Energy2BundleDescription\n ? _c(\"div\", { staticClass: \"product-component-detail highlight price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2BundleDescription\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].Energy2BundlePrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .Energy2BundlePriceNoVat,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].Energy2PriceUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].SpotEnergy1MarginalDescription\n ? _c(\"div\", { staticClass: \"product-component-detail highlight price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy1MarginalDescription\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy1MarginalPrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy1MarginalPriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy1MarginalPriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy1MarginalPriceUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].SpotEnergy2MarginalDescription\n ? _c(\"div\", { staticClass: \"product-component-detail highlight price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy2MarginalDescription\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy2MarginalPrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy2MarginalPriceUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy2MarginalPriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotEnergy2MarginalPriceUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"product-component-detail price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].BasicDescription) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].BasicPrice,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].BasicPriceUnit) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].BasicPriceNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(_vm.priceList.ProductComponents[0].BasicPriceUnit) +\n \"\\n \"\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.priceList.ProductComponents[0].SpotPriceLimitFeeDescription\n ? _c(\"div\", { staticClass: \"product-component-detail price\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0]\n .SpotPriceLimitFeeDescription\n ) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0].SpotPriceLimitFee,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].SpotPriceLimitFeeUnit\n ) +\n \"\\n \"\n )\n ])\n : _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(\n _vm.priceList.ProductComponents[0]\n .SpotPriceLimitFeeNoVAT,\n 2\n )\n ) +\n \"\\n \" +\n _vm._s(\n _vm.priceList.ProductComponents[0].SpotPriceLimitFeeUnit\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.CountOfMandatoryServiceProducts > 0\n ? _c(\n \"div\",\n [\n _vm.priceList.CountOfMandatoryServiceProducts === 1\n ? _c(\"div\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Tuotteeseen sisältyvä lisäpalvelu\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.CountOfMandatoryServiceProducts > 1\n ? _c(\"div\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Tuotteeseen sisältyvät lisäpalvelut\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.priceList.PriceListServiceProducts, function(sp) {\n return _c(\"div\", [\n sp.PriceListServiceProductType == 2\n ? _c(\"div\", [\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.getFixedPrice(sp.ServicePriceList.Name) +\n \" \" +\n _vm._s(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePrice,\n 2\n )\n ) +\n \" \" +\n _vm._s(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePriceUnitTranslated\n ) +\n \"\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(sp.ServicePriceList.Name) +\n \" \" +\n _vm._s(\n _vm.getFixedPrice(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePriceNoVAT,\n 2\n )\n ) +\n \" \" +\n _vm._s(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePriceUnitTranslated\n ) +\n \"\\n \"\n )\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.CountOfOptionalServiceProducts > 0\n ? _c(\n \"div\",\n [\n _vm.priceList.CountOfOptionalServiceProducts === 1\n ? _c(\"div\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Tuotteeseen valittu lisäpalvelu\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.priceList.CountOfOptionalServiceProducts > 1\n ? _c(\"div\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Tuotteeseen valitut lisäpalvelut\")))\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.priceList.PriceListServiceProducts, function(sp) {\n return _c(\"div\", [\n sp.PriceListServiceProductType == 1\n ? _c(\"div\", [\n _vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n attrs: {\n type: \"checkbox\",\n name: \"ServiceProduct\",\n disabled: \"disabled\"\n },\n domProps: {\n checked: _vm.isServiceProductSelected(\n _vm.priceList.Id,\n sp.ServicePriceList.ExternalPriceListId\n )\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(sp.ServicePriceList.Name) +\n \" \" +\n _vm._s(\n _vm.getFixedPrice(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePrice,\n 2\n )\n ) +\n \" \" +\n _vm._s(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePriceUnitTranslated\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.showVat\n ? _c(\"div\", { staticClass: \"value\" }, [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n attrs: {\n type: \"checkbox\",\n name: \"ServiceProduct\",\n disabled: \"disabled\"\n },\n domProps: {\n checked: _vm.isServiceProductSelected(\n _vm.priceList.Id,\n sp.ServicePriceList.ExternalPriceListId\n )\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(sp.ServicePriceList.Name) +\n \" \" +\n _vm._s(\n _vm.getFixedPrice(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePriceNoVAT,\n 2\n )\n ) +\n \" \" +\n _vm._s(\n sp.ServicePriceList.ProductComponents[0]\n .ServicePriceUnitTranslated\n ) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n ])\n })\n ],\n 2\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.showVat\n ? _c(\"div\", [\n _vm._v(\"\\n \" + _vm._s(_vm.$t(\"(Hinnat alv 0%)\")) + \"\\n \")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"product-component-detail\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\"\\n \" + _vm._s(_vm.$t(\"Voimassa\")) + \"\\n \")\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.formatDuration(_vm.contract, _vm.priceList)) +\n \"\\n \"\n )\n ])\n ]),\n _vm._v(\" \"),\n _vm.showEnergyType()\n ? _c(\"div\", { staticClass: \"product-component-detail\" }, [\n _c(\"div\", { staticClass: \"title\" }, [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"Tuotantomuoto\")) + \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"value\" }, [\n _vm._v(\n \"\\n \" + _vm._s(_vm.getEnergyType()) + \"\\n \"\n )\n ])\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { IPriceListViewModel, IContractViewModel, ISelectedServiceProductViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, TarificationIdEnum } from \"../../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faCheck } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport { CommonFormatUtils } from \"../../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { PriceListUtils } from \"../../../../../../Scripts/inpulse/PriceListUtils\";\r\nlibrary.add(faCheck)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n@Component({\r\n\r\n})\r\n\r\nexport default class PriceListDisplay extends Vue {\r\n @Prop()\r\n priceList: IPriceListViewModel;\r\n @Prop({ default: true })\r\n actions: boolean;\r\n @Prop()\r\n isSelected: boolean;\r\n @Prop()\r\n showVat: boolean;\r\n @Emit()\r\n selected(priceList: IPriceListViewModel) { }\r\n\r\n TarificationIdEnum: typeof TarificationIdEnum = TarificationIdEnum;\r\n get tarification(): TarificationIdEnum { return this.$store.state.contract.TarificationId; }\r\n get energy1(): number { return this.$store.state.contract.Energy1; }\r\n get energy2(): number { return this.$store.state.contract.Energy2; }\r\n get selectedServiceProducts(): string[] { return this.$store.state.selectedServiceProducts; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n formatDuration(contract: IContractViewModel, priceList: IPriceListViewModel) {\r\n return CommonFormatUtils.formatDuration(contract, priceList, this.$i18n.locale);\r\n }\r\n\r\n showPriceEstimate(priceList: IPriceListViewModel) {\r\n return PriceListUtils.showPriceEstimate(priceList);\r\n }\r\n\r\n getFixedPrice(price: number, digits: number) {\r\n return PriceListUtils.getFixedPrice(price, digits);\r\n }\r\n\r\n priceEstimate(priceLists: IPriceListViewModel) {\r\n return this.calculatePriceEstimate(priceLists).toFixed(2);\r\n }\r\n\r\n calculatePriceEstimate(priceList: IPriceListViewModel) {\r\n let priceEstimate = PriceListUtils.calculatePriceEstimate(priceList, this.showVat, this.tarification, this.energy1, this.energy2); //includes mandatory service products\r\n //Add costs of selected optional service products\r\n let extraCost = 0.0;\r\n console.log(\"pricelist: \", priceList)\r\n if (priceList.PriceListServiceProducts != null) {\r\n for (let ind = 0; ind < priceList.PriceListServiceProducts.length; ind++) {\r\n if (priceList.PriceListServiceProducts[ind].PriceListServiceProductType === 1) {\r\n const sp = priceList.PriceListServiceProducts[ind];\r\n const key = priceList.Id.toFixed() + \";\" + sp.ServicePriceList.ExternalPriceListId;\r\n const index = this.selectedServiceProducts.indexOf(key, 0);\r\n if (index > -1) { //service product was found among the selected ones\r\n extraCost += PriceListUtils.calculateServiceProductPrice(sp.ServicePriceList.ProductComponents[0], this.showVat, this.tarification, this.energy1, this.energy2);\r\n }\r\n }\r\n }\r\n }\r\n priceEstimate = priceEstimate + extraCost;\r\n return priceEstimate;\r\n }\r\n\r\n isServiceProductSelected(priceListId: number, serviceProductExternalPriceListId: string): boolean {\r\n console.log(\"this.selectedServiceProducts.length: \" + this.selectedServiceProducts.length);\r\n const index = this.selectedServiceProducts.indexOf(priceListId.toFixed() + \";\" + serviceProductExternalPriceListId, 0);\r\n if (index > -1) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n showEnergyType(): boolean {\r\n if (this.contract.ExtraFeatures && this.contract.ExtraFeatures.length > 0) {\r\n //if (this.contract.Brand && (this.contract.Brand.toLowerCase() == \"priima\" || this.contract.Brand.toLowerCase() == \"priimaplus\")) {\r\n if (this.contract.ExtraFeatures.find(c => c.Name == 'Tuulivoima' || c.Name == 'Vesivoima')) {\r\n return true;\r\n }\r\n //}\r\n }\r\n return false\r\n }\r\n\r\n getEnergyType(): string {\r\n let energyType = this.contract.ExtraFeatures.find(c => c.Name == 'Tuulivoima' || c.Name == 'Vesivoima');\r\n let isCompany = this.contract.CustomerType == CustomerTypeEnum.COMPANY;\r\n let price: string = isCompany ? energyType.Price.toFixed(4) : energyType.Price.toFixed(2)\r\n price = price.replace(\".\", \",\");\r\n return energyType.Name + \" + \" + price + \" snt/kWh\";\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./price-list-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./price-list-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cprice-list-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cprice-list-display.vue\"","import { render, staticRenderFns } from \"./price-list-display.vue?vue&type=template&id=43f4595e&\"\nimport script from \"./price-list-display.ts?vue&type=script&lang=js&\"\nexport * from \"./price-list-display.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cprice-list-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { Component } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { CommonFormatUtils } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IPriceListViewModel, IProductViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport PriceListDisplay from \"./components/price-list-display.vue\";\r\nimport PriceList from \"./components/price-list.vue\";\r\n\r\n@Component({\r\n components: {\r\n PriceListDisplay\r\n },\r\n computed: mapState({\r\n product: (state: INewContractState) => state.selectedProduct,\r\n priceList: (state: INewContractState) => state.selectedPriceList,\r\n productComponent: (state: INewContractState) => {\r\n // For some reason price list/product component view models' class structure differs from the data model.\r\n if (state.selectedPriceList != null && state.selectedPriceList.ProductComponents != null)\r\n return state.selectedPriceList.ProductComponents[0];\r\n return null;\r\n }\r\n })\r\n})\r\n\r\nexport default class ProductSelectionDisplay extends Vue {\r\n get showPricesWithVat(): boolean { return this.$store.state.contract.CustomerType != CustomerTypeEnum.COMPANY; }\r\n get selectedServiceProducts(): string[] { return this.$store.state.selectedServiceProducts; }\r\n get product(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get selectedConinueWithSameProductId(): number { return this.$store.state.selectedConinueWithSameProductId; }\r\n\r\n get products(): IProductViewModel[] { return this.$store.state.products; }\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n get selectedProduct(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n constructor() {\r\n super();\r\n }\r\n\r\n formatDuration(contract: IContractViewModel, priceList: IPriceListViewModel) {\r\n return CommonFormatUtils.formatDuration(contract, priceList, this.$i18n.locale);\r\n }\r\n\r\n shortProductNames = [\"oiva\", \"optimi\", \"vihreä\", \"priima\"];\r\n getProductImageIdentifier(productName: string) {\r\n let prefix = \"pks-product-\";\r\n let retVal = \"\";\r\n if (productName) {\r\n $.each(this.shortProductNames, (i, item) => {\r\n if (productName.toLowerCase().includes(item)) {\r\n retVal = prefix + item;\r\n }\r\n })\r\n }\r\n return retVal;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./product-selection-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cproduct-selection-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cproduct-selection-display.vue\"","import { render, staticRenderFns } from \"./product-selection-display.vue?vue&type=template&id=3a63ee4a&scoped=true&\"\nimport script from \"./product-selection-display.ts?vue&type=script&lang=js&\"\nexport * from \"./product-selection-display.ts?vue&type=script&lang=js&\"\nimport style0 from \"./product-selection-display.vue?vue&type=style&index=0&id=3a63ee4a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a63ee4a\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cproduct-selection-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.products != null\n ? _c(\n \"div\",\n [\n _vm._l(_vm.products, function(product) {\n return [\n _vm.isSelectedProduct(product)\n ? _c(\n \"div\",\n [\n _c(\n \"div\",\n [\n _c(\n \"b-row\",\n { attrs: { \"aling-h\": \"center\" } },\n [\n _c(\"b-col\", { attrs: { md: \"6\" } }, [\n product.Icon\n ? _c(\n \"div\",\n { staticClass: \"product-image\" },\n [\n _c(\"img\", {\n staticClass: \"product-icon\",\n attrs: {\n alt: product.Name,\n src:\n \"/Content/PKS/images/\" +\n product.Icon\n }\n })\n ]\n )\n : _vm._e()\n ])\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm._l(_vm.getNameAndDuration(product), function(prod) {\n return _c(\n \"div\",\n [\n _c(\n \"b-row\",\n { attrs: { \"aling-h\": \"center\" } },\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\"\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(prod.Name) +\n \", \" +\n _vm._s(prod.Duration) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\"price-list-display\", {\n attrs: {\n \"price-list\": prod.PriceList,\n actions: false,\n showVat: _vm.showPricesWithVat\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"hr\")\n ],\n 1\n )\n })\n ],\n 2\n )\n : _vm._e()\n ]\n })\n ],\n 2\n )\n : _c(\n \"div\",\n [\n _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Tuotteita ei ole valittu\")) +\n \"\\n \"\n )\n ])\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { CommonFormatUtils } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IPriceListViewModel, IProductViewModel, IContractViewModel, ProductAndPricelist } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport PriceListDisplay from \"./components/price-list-display.vue\";\r\n\r\n\r\n@Component({\r\n components: {\r\n PriceListDisplay\r\n },\r\n computed: mapState({\r\n //product: (state: INewContractState) => state.selectedProduct,\r\n //priceList: (state: INewContractState) => state.selectedPriceList,\r\n //productComponent: (state: INewContractState) => {\r\n // // For some reason price list/product component view models' class structure differs from the data model.\r\n // if (state.selectedPriceList != null && state.selectedPriceList.ProductComponents != null)\r\n // return state.selectedPriceList.ProductComponents[0];\r\n // return null;\r\n //}\r\n })\r\n})\r\n\r\n\r\n\r\nexport default class OfferProductSelectionDisplay extends Vue {\r\n get showPricesWithVat(): boolean { return this.$store.state.contract.CustomerType != CustomerTypeEnum.COMPANY; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get products(): IProductViewModel[] { return this.$store.state.products; } \r\n get offerProducts(): string[] { return this.$store.state.offerProducts; }\r\n\r\n\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n shortProductNames = [\"oiva\", \"optimi\", \"vihreä\", \"priima\"];\r\n getProductImageIdentifier(productName: string) {\r\n let prefix = \"pks-product-\";\r\n let retVal = \"\";\r\n if (productName) {\r\n $.each(this.shortProductNames, (i, item) => {\r\n if (productName.toLowerCase().includes(item)) {\r\n retVal = prefix + item;\r\n }\r\n })\r\n }\r\n return retVal;\r\n }\r\n\r\n isSelectedProduct(product): boolean {\r\n let result = false;\r\n if (typeof this.offerProducts != \"undefined\") {\r\n this.offerProducts.forEach((prod) => {\r\n let productId = prod.split(\"-\")[1];\r\n if (product.Id.toString() == productId) {\r\n result = true;\r\n }\r\n })\r\n }\r\n return result;\r\n }\r\n\r\n getNameAndDuration(product: IProductViewModel): ProductAndPricelist[] {\r\n let result: ProductAndPricelist[] = [];\r\n if (typeof this.offerProducts != \"undefined\") {\r\n this.offerProducts.forEach((prod) => {\r\n let productId = prod.split(\"-\")[1];\r\n \r\n if (product.Id.toString() == productId) {\r\n let plId = prod.split(\"-\")[2];\r\n product.PriceLists.forEach((pl) => {\r\n if (pl.Id.toString() == plId) {\r\n result.push(new ProductAndPricelist(product.Name, CommonFormatUtils.formatDuration(this.contract, pl, this.$i18n.locale), pl));\r\n }\r\n });\r\n }\r\n })\r\n }\r\n return result;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./offer-product-selection-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./offer-product-selection-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Coffer-product-selection-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Coffer-product-selection-display.vue\"","import { render, staticRenderFns } from \"./offer-product-selection-display.vue?vue&type=template&id=775fc6b2&scoped=true&\"\nimport script from \"./offer-product-selection-display.ts?vue&type=script&lang=js&\"\nexport * from \"./offer-product-selection-display.ts?vue&type=script&lang=js&\"\nimport style0 from \"./offer-product-selection-display.vue?vue&type=style&index=0&id=775fc6b2&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"775fc6b2\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/product-selection-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Coffer-product-selection-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { attrs: { id: \"authentication\" } }, [\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n !_vm.authenticateQuestionAccepted\n ? _c(\"div\", { staticClass: \"col-md-8\" }, [\n _c(\n \"label\",\n { staticClass: \"checkbox-inline\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"authenticationAccepted\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"authenticationAccepted\",\n \"true-value\": \"1\",\n \"false-value\": \"0\"\n },\n domProps: { value: _vm.contract.AuthenticationAccepted }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Tunnistautumalla hyväksyn, että sopimuksen maksutavaksi tulee lasku.\"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.authenticateQuestionAccepted\n ? [\n _c(\n \"div\",\n { staticClass: \"col-md-12\" },\n [\n _c(\n \"b-button\",\n {\n attrs: { type: \"button\", variant: \"primary\" },\n on: {\n click: function($event) {\n return _vm.authenticate()\n }\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Tunnistaudu pankkitunnuksillasi\")) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.testMode\n ? _c(\"div\", [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12 ml-3\" }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\"b-form-group\", { staticClass: \"mb-0\" }, [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"test-pin\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Testihenkilötunnus\")))]\n )\n ]),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n id: \"test-pin\",\n type: \"text\",\n name: \"Pin\",\n value: _vm.customer.Pin\n }\n })\n ],\n 1\n )\n ])\n ])\n ])\n : _vm._e()\n ]\n : _vm._e()\n ],\n 2\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { DirectiveOptions } from \"vue\";\r\n\r\n/// declare variable which is defined in DefinePlugin definition in webpack.config.js\r\ndeclare const PUBLIC_PATH: string;\r\n\r\nconst PUBLIC_PATH_STRING = \"PUBLIC_PATH\";\r\n\r\n/* This directive allows developer to use PUBLIC_PATH variable in vue templates in cases where i4U\r\n * is not installed in the root folder of public domain (eg. https://this.is.domain/not-root/). \r\n * Usage:\r\n * \r\n * Register this directive to Vue in entrypoint:\r\n * import { PublicPathReplacerDirective } from \"@/Scripts/vue-directives/publicpath-replacer\"\r\n * \r\n * Vue.directive(\"public-path-replacer\", PublicPathReplacerDirective);\r\n * \r\n * Use in Vue template:\r\n *
\r\n */\r\nexport const PublicPathReplacerDirective: DirectiveOptions = {\r\n inserted(el, binding, vnode, prevVnode) {\r\n if (el != null) {\r\n const newValue = binding.value.replace(PUBLIC_PATH_STRING, PUBLIC_PATH);\r\n\r\n el.setAttribute(binding.arg, newValue);\r\n }\r\n }\r\n}","/**\r\n * Common module for implementing NewContract functionality.\r\n * \r\n * USAGE\r\n * \r\n * Create theme specific view and script file for it. Create NewContract module instance in it, and give root element as parameter.\r\n * NewContract functionality applies inside that root element:\r\n * \r\n * export class ContractPage {\r\n * // Instance of common NewContract module.\r\n * newContract: NewContract;\r\n * \r\n * constructor(rootSelector: string) {\r\n * this.newContract = new NewContract({\r\n * el: rootSelector,\r\n * phases: [\r\n * { name: \"phase-new-contract\", id: 1 },\r\n * { name: \"phase-confirmation\", id: 2 },\r\n * ],\r\n * preselects: { ... },\r\n * // Add Vue stuff specific to theme.\r\n * mixin: {\r\n * components: { PhaseNewContract, PhaseContractConfirmation }\r\n * }\r\n * });\r\n * }\r\n * \r\n * validationFailed(validationErrors: ValidationErrors) { ... }\r\n * }\r\n * \r\n * var page = new ContractPage(\"#rootContainer\");\r\n * \r\n * VUEX STORE\r\n * \r\n * \r\n * DIRECTIVES\r\n * \r\n * v-new-contract-value:\r\n * \r\n * This directive makes HTML element to call NewContractHub to update given value whenever change is triggered from the element.\r\n * Value key is determined from element's name attribute and the value from the element's value. For example:\r\n * \r\n * \r\n * \r\n * Above automatically calls NewContractHub's SetCustomerValue(\"Phone\", value).\r\n * \r\n * If there are ambiguity in key (e.g. key \"MPStreetName\" is handled both in SetCustomerValue and SetMeteringPointValue), it is possible to\r\n * force the \"type\" of the key with directive modifier, for example:\r\n * \r\n * \r\n * \r\n * Above calls the SetMeteringPointValue with key \"MPStreetName\".\r\n * \r\n * Possible modifiers are:\r\n * mp: SetMeteringPointValue\r\n * contract: SetContractValue\r\n * customer: SetCustomerValue\r\n * basic: SetValue\r\n */\r\n\r\nrequire(\"core-js/features/array/find\");\r\nrequire(\"core-js/features/promise\");\r\nimport Vue from \"vue\"\r\nimport { VNodeDirective, VNode } from \"vue/types/vnode\";\r\nimport { VueConstructor } from \"vue/types/vue\";\r\nimport { ComponentOptions } from \"vue/types/options\";\r\nimport { CustomerTypeEnum, TarificationIdEnum, HousingTypeEnum, ProcessTypeEnum } from \"../../../Scripts/inpulse/CommonEnums\";\r\nimport { IContractViewModel, IProductViewModel, IMembershipTypeViewModel } from \"../../../Scripts/inpulse/I4UViewModels\";\r\nimport NewContractStore, { PropertyTypeEnum, INewContractState, IContractSettings, IEnvironmentSettings } from \"./new-contract-vuex-store\";\r\nimport { NewContractEvents } from \"./new-contract-vue-events\"\r\nimport { PublicPathReplacerDirective } from \"@/Scripts/vue-directives/publicpath-replacer\"\r\n\r\nexport class PhaseDescriptor {\r\n name: string;\r\n id: number;\r\n constructor(name: string, id: number) {\r\n this.name = name;\r\n this.id = id;\r\n }\r\n}\r\n\r\nexport class ValidationErrors {\r\n errors: { [key: string]: string } = {}\r\n count: number = 0;\r\n has(key: string): boolean {\r\n return this.errors[key] != null;\r\n }\r\n get(key: string): string {\r\n return this.errors[key];\r\n }\r\n getAllKeys(): string[] {\r\n let arr: string[] = [];\r\n for (let key in this.errors)\r\n arr.push(key);\r\n return arr;\r\n }\r\n getAll(): string[] {\r\n let arr: string[] = [];\r\n for (let key in this.errors) {\r\n arr.push(this.errors[key]);\r\n }\r\n return arr;\r\n }\r\n hasAny(...keys: string[]) {\r\n let foundKey = keys.find(x => this.has(x));\r\n return foundKey != null;\r\n }\r\n size(): number {\r\n return this.count;\r\n }\r\n constructor(errors: { [key: string]: string } = null) {\r\n if (errors != null) {\r\n for (let key in errors) {\r\n if (errors.hasOwnProperty(key)) {\r\n this.errors[key] = errors[key];\r\n this.count++;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass PageModel {\r\n currentPhase: PhaseDescriptor = new PhaseDescriptor(null, null);\r\n validationErrors: ValidationErrors = new ValidationErrors();\r\n}\r\n\r\nexport interface INewContractOptions {\r\n // Id of root container of the page, i.e. container element that holds all the functionality.\r\n el: string,\r\n\r\n initialPhaseId?: number,\r\n\r\n // List of supported phases.\r\n phases: PhaseDescriptor[],\r\n\r\n // Vue mixin object to be added into new contract's Vue viewmodel. This can be used to included theme specific Vue components, methods etc.\r\n mixin?: VueConstructor | ComponentOptions,\r\n\r\n autoClearSelectedProduct?: boolean,\r\n\r\n // Username of logged in user.\r\n moveOutUser?: string,\r\n\r\n isAuthenticated?: boolean,\r\n\r\n validPinFromDb?: boolean,\r\n\r\n // Preselected values that are set when page is initialized.\r\n preselects?: {\r\n //moveOutUser: string,\r\n productId?: number,\r\n priceListId?: number,\r\n customerType: CustomerTypeEnum,\r\n tarification: TarificationIdEnum,\r\n housingType: HousingTypeEnum,\r\n campaignCode: string,\r\n membership?: string,\r\n brand?: string,\r\n offerRequest: boolean,\r\n }\r\n}\r\n\r\nexport class NewContract {\r\n private hubStarted: boolean = false;\r\n private server: any;\r\n private client: any;\r\n private options: INewContractOptions;\r\n private pageModel: PageModel;\r\n\r\n // Vue view model instance. This is public to theme specific implementations,\r\n // so that they can call functionality possibly added by them selves.\r\n vue: Vue;\r\n\r\n constructor(options: INewContractOptions) {\r\n console.log(\"NewContractVue.constructor()\");\r\n this.server = $.connection.newContractHub.server;\r\n this.client = $.connection.newContractHub.client;\r\n this.options = options;\r\n this.pageModel = new PageModel();\r\n this.init(options.el, options.mixin);\r\n }\r\n\r\n getPropertyName(el: HTMLElement, forcedName: string) {\r\n let name = el.getAttribute(\"name\");\r\n let propertyName = name;\r\n if (forcedName != null)\r\n propertyName = forcedName;\r\n return propertyName;\r\n }\r\n\r\n getValidationId(el: HTMLElement, name: string): string {\r\n var validationId = el.getAttribute(\"validation-id\");\r\n if (!validationId) { \r\n validationId = name ? name : el.getAttribute(\"name\");\r\n }\r\n return validationId;\r\n }\r\n\r\n private directiveEventHandlerMp = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.MeteringPointValue);\r\n private directiveEventHandlerContract = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.ContractValue);\r\n private directiveEventHandlerCustomer = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.CustomerValue);\r\n private directiveEventHandlerBasic = (event: Event) => this.directiveEventHandler(event, PropertyTypeEnum.BasicValue);\r\n private directiveEventHandlerPlain = (event: Event) => this.directiveEventHandler(event, null);\r\n\r\n private directiveEventHandler = (event: Event, type) => {\r\n if (event.target instanceof HTMLElement) {\r\n console.log(\"v-new-contract-value\");\r\n let el = event.currentTarget as HTMLElement;\r\n let key = this.getPropertyName(el, null);\r\n \r\n let value = null;\r\n let elAny = el as any;\r\n if (elAny.value !== undefined)\r\n value = elAny.value;\r\n\r\n if (el instanceof HTMLInputElement && el.type == \"checkbox\") {\r\n // If Vue's true-value and false-value attributes are set, use those when sending data to server.\r\n let trueValue = el.getAttribute(\"true-value\");\r\n let falseValue = el.getAttribute(\"false-value\");\r\n if (el.checked) {\r\n value = trueValue != null ? trueValue : true;\r\n }\r\n else {\r\n value = falseValue != null ? falseValue : false;\r\n }\r\n }\r\n\r\n NewContractStore.dispatch(\"changeValue\", { key: key, value: value, type: type })\r\n .then(() => {\r\n this.onChangeValueEvent(key, value);\r\n\r\n // Trigger custom event that value has been updated. This is triggered on the element.\r\n let ev = this.createEvent(\"value-updated\", {\r\n detail: {\r\n name: key,\r\n value: value,\r\n }\r\n });\r\n el.dispatchEvent(ev);\r\n })\r\n .catch((msg) => {\r\n console.error(msg);\r\n });\r\n }\r\n }\r\n\r\n private validationErrorEventHandler = (event: Event) => this.validationErrorHandler(event);\r\n\r\n private validationErrorHandler = (event: Event) => {\r\n let el = event.currentTarget as HTMLElement;\r\n let validationId = this.getValidationId(el, null);\r\n this.removeValidationError(validationId);\r\n }\r\n\r\n removeValidationError(validationId: string): void {\r\n if (this.pageModel.validationErrors.has(validationId)) {\r\n console.log(`Removing validationError ${validationId}`);\r\n Vue.delete(this.pageModel.validationErrors.errors, validationId)\r\n }\r\n }\r\n\r\n onChangeValueEvent(key: string, value?: string) {\r\n // TODO: Not very convenient to refer keys with hardcoded strings here, but no time to figure out better way to do this.\r\n if (key == \"MPStreet\" || key == \"MPZip\") {\r\n // Trigger check for metering point. This may update metering point code automatically from CIS/Fingrid.\r\n NewContractStore.dispatch(\"checkMeteringPointAndContract\");\r\n }\r\n }\r\n\r\n private getEventType(el: HTMLElement, binding: VNodeDirective) {\r\n let eventType = binding.modifiers.input ? \"input\" : \"change\";\r\n if (el instanceof HTMLButtonElement || binding.modifiers.click)\r\n eventType = \"click\";\r\n return eventType;\r\n }\r\n\r\n private getDirectiveEventHandler(modifiers: { [key: string]: boolean }) {\r\n let eh = this.directiveEventHandlerPlain;\r\n if (modifiers.basic == true) {\r\n eh = this.directiveEventHandlerBasic;\r\n }\r\n else if (modifiers.contract == true) {\r\n eh = this.directiveEventHandlerContract;\r\n }\r\n else if (modifiers.mp == true) {\r\n eh = this.directiveEventHandlerMp;\r\n }\r\n else if (modifiers.customer == true) {\r\n eh = this.directiveEventHandlerCustomer;\r\n }\r\n return eh;\r\n }\r\n\r\n formSubmitEventHandler = (event: Event) => this.formSubmitHandler(event);\r\n\r\n formSubmitHandler(ev: Event) {\r\n ev.preventDefault();\r\n console.log(\"SUBMIT\");\r\n NewContractStore.dispatch(\"setloadingNewPhase\", { loadingNewPhase: true })\r\n\r\n this.validateContract().then((validationErrors: ValidationErrors) => {\r\n if (validationErrors.count == 0) {\r\n let el: any = ev.target;\r\n el.submit();\r\n }\r\n else {\r\n NewContractStore.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n }\r\n }).catch(e => {\r\n console.log(\"validateContract failed\");\r\n console.log(e);\r\n NewContractStore.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n });\r\n }\r\n\r\n initializeStore() {\r\n console.log(\"Initialize store!\");\r\n if (this.options.autoClearSelectedProduct != null) {\r\n NewContractStore.commit(\"setAutoClearSelectedProduct\", this.options.autoClearSelectedProduct);\r\n }\r\n }\r\n\r\n init(rootSelector: string, mixin) {\r\n let self = this;\r\n Vue.directive(\"new-contract-value\", {\r\n bind(el: HTMLElement, binding: VNodeDirective, vnode: VNode) {\r\n if (el.id == \"mp-address-zip\") {\r\n // console.log(\"BIND\");\r\n // debugger;\r\n }\r\n let eventType = self.getEventType(el, binding);\r\n let eh = self.getDirectiveEventHandler(binding.modifiers);\r\n el.addEventListener(eventType, eh);\r\n },\r\n unbind(el: HTMLElement, binding: VNodeDirective) {\r\n let eventType = self.getEventType(el, binding);\r\n let eh = self.getDirectiveEventHandler(binding.modifiers);\r\n el.removeEventListener(eventType, eh);\r\n }\r\n });\r\n\r\n Vue.directive(\"new-contract-validate\", {\r\n bind(el: HTMLElement) {\r\n el.addEventListener(\"submit\", self.formSubmitEventHandler);\r\n },\r\n unbind(el: HTMLElement) {\r\n el.removeEventListener(\"submit\", self.formSubmitEventHandler);\r\n }\r\n });\r\n\r\n Vue.directive(\"public-path-replacer\", PublicPathReplacerDirective);\r\n\r\n Vue.directive(\"validation-error-handler\", {\r\n bind(el: HTMLElement, binding: VNodeDirective, vnode: VNode) {\r\n let eventType = self.getEventType(el, binding);\r\n el.addEventListener(eventType, self.validationErrorEventHandler);\r\n },\r\n unbind(el: HTMLElement, binding: VNodeDirective, vnode: VNode) {\r\n let eventType = self.getEventType(el, binding);\r\n el.removeEventListener(eventType, self.validationErrorEventHandler);\r\n }\r\n });\r\n\r\n this.initializeStore();\r\n\r\n this.vue = new Vue({\r\n el: rootSelector,\r\n store: NewContractStore,\r\n data: self.pageModel,\r\n mixins: mixin != null ? [mixin] : null,\r\n mounted() {\r\n self.client.initValues = function (contract: IContractViewModel) {\r\n let promises = [];\r\n promises.push(self.initValues(contract).then(() =>\r\n self.refreshProducts()\r\n ));\r\n promises.push(self.getMoveOutUser());\r\n promises.push(self.getIsUserAuthenticated());\r\n promises.push(self.isPinSetInDb());\r\n Promise.all(promises).then(() => {\r\n console.log(\"commit setNewContractInitialized\");\r\n NewContractStore.commit(\"setNewContractInitialized\");\r\n NewContractEvents.notifyNewContractInitialized();\r\n }).catch(e => {\r\n console.log(\"Promises failed\");\r\n console.log(e);\r\n });\r\n };\r\n\r\n self.client.showConsumption = function (tuple) {\r\n self.consumptionUpdated(tuple.Item1, tuple.Item2);\r\n }\r\n\r\n self.client.showProducts = function(products: IProductViewModel[]) {\r\n console.log(\"Show products called from hub!\");\r\n NewContractStore.dispatch(\"updateProducts\", { products: products });\r\n }\r\n\r\n self.client.showUserName = function (userName: string) {\r\n console.log(\"Show user name called from hub!\");\r\n NewContractStore.dispatch(\"updateUserName\", { userName: userName });\r\n }\r\n\r\n self.client.isUserAuthenticated = function (isAuthed: string) {\r\n NewContractStore.dispatch(\"isUserAuthenticated\", { isUserAuthenticated: isAuthed });\r\n }\r\n\r\n self.client.isPinSetInDb = function (pinSet: string) {\r\n console.log(\"isPinSetInDb called from hub!\");\r\n NewContractStore.dispatch(\"isPinSetInDb\", { pinSet: pinSet });\r\n }\r\n\r\n $.connection.hub.start().done(function() {\r\n console.log(\"Hub started!\");\r\n self.hubStarted = true;\r\n self.initSettings().then(function () {\r\n if (self.isMoving()) {\r\n self.initMoving();\r\n } else {\r\n self.initContract();\r\n }\r\n });\r\n NewContractStore.dispatch(\"getHolidays\", { years: 1 });\r\n NewContractStore.dispatch(\"getMembershipTypes\");\r\n });\r\n },\r\n methods: {\r\n setPhase(phaseName: string, phaseId: number) {\r\n console.log(\"Set phase! \" + phaseName + \" \" + phaseId);\r\n let currPhaseNdx = self.options.phases.findIndex(x => x.id == self.pageModel.currentPhase.id);\r\n let newPhaseNdx = self.options.phases.findIndex(x => x.id == phaseId);\r\n\r\n this.$store.dispatch(\"setloadingNewPhase\", { loadingNewPhase: true })\r\n // Perform validation only if we are moving forward.\r\n if (currPhaseNdx < newPhaseNdx) {\r\n self.validateContract().then((validationErrors: ValidationErrors) => {\r\n if (validationErrors.count == 0) {\r\n self.setNewContractValue(\"Phase\", \"\" + phaseId).then(() => {\r\n self.pageModel.currentPhase.name = phaseName;\r\n self.pageModel.currentPhase.id = phaseId;\r\n }).catch(e => {\r\n console.log(\"setNewContractValue failed\");\r\n console.log(e);\r\n });\r\n }\r\n }).catch(e => {\r\n console.log(\"setNewContractValue failed - 1\");\r\n console.log(e);\r\n }).finally(() => {\r\n this.$store.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n });\r\n }\r\n else {\r\n self.setNewContractValue(\"Phase\", \"\" + phaseId).then(() => {\r\n self.pageModel.currentPhase.name = phaseName;\r\n self.pageModel.currentPhase.id = phaseId;\r\n }).catch(e => {\r\n console.log(\"setNewContractValue failed - 2\");\r\n console.log(e);\r\n }).finally(() => {\r\n this.$store.dispatch(\"setloadingNewPhase\", { loadingNewPhase: false })\r\n });\r\n }\r\n },\r\n notifyCustomError(errors: ValidationErrors) {\r\n self.pageModel.validationErrors = errors;\r\n self.notifyValidationFailed(errors);\r\n }\r\n }\r\n });\r\n }\r\n\r\n validateContract(): Promise {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n let contract: IContractViewModel = self.vue.$store.state.contract;\r\n //let validateMovingProcessByNewContractValidation: boolean = self.vue.$store.state.validateMovingProcessByNewContractValidation;\r\n let phase: number = contract.Phase;\r\n console.log(\"Validating phase [\" + phase + \"], isMoving: \" + this.isMoving() + \", isMovingProcess: \" + this.isMovingProcess());\r\n try {\r\n if (this.isMoving()) {// } && validateMovingProcessByNewContractValidation == false) {\r\n \r\n this.server.validateMoving(phase).done(function (validationErrors) {\r\n console.log(\"Move out validation result:\");\r\n console.log(validationErrors);\r\n\r\n let errors: { [key: string]: string } = validationErrors.Errors;\r\n self.pageModel.validationErrors = new ValidationErrors(errors);\r\n\r\n if (self.pageModel.validationErrors.count != 0) {\r\n self.notifyValidationFailed(self.pageModel.validationErrors);\r\n }\r\n resolve(self.pageModel.validationErrors);\r\n }).fail(() => reject(\"Error while performing move out validation!\"));\r\n\r\n } else {\r\n this.server.validateNewContract(phase).done(function (validationErrors) {\r\n console.log(\"New contract validation result:\");\r\n console.log(validationErrors);\r\n\r\n let errors: { [key: string]: string } = validationErrors.Errors;\r\n self.pageModel.validationErrors = new ValidationErrors(errors);\r\n if (self.pageModel.validationErrors.count != 0) {\r\n self.notifyValidationFailed(self.pageModel.validationErrors);\r\n }\r\n resolve(self.pageModel.validationErrors);\r\n }).fail(() => reject(\"Error while performing new contract validation!\"));\r\n }\r\n }\r\n catch\r\n {\r\n NewContractEvents.notifySessionExpired();\r\n }\r\n });\r\n \r\n }\r\n\r\n setNewContractValue(key: string, value: string) {\r\n return this.vue.$store.dispatch(\"changeValue\", { key: key, value: value });\r\n }\r\n\r\n // store settings initialzations\r\n initSettings() {\r\n let promises = [];\r\n promises.push(this.initContractSettings());\r\n promises.push(this.initEnvironmentSettings());\r\n return Promise.all(promises);\r\n }\r\n\r\n initContractSettings() {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n return this.server.contractSettings().done((settings: IContractSettings) => {\r\n self.vue.$store.state.contractSettings = settings;\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n\r\n initEnvironmentSettings() {\r\n let self = this;\r\n return new Promise((resolve, reject) => {\r\n return this.server.environmentSettings().done((settings: IEnvironmentSettings) => {\r\n self.vue.$store.state.environmentSettings = settings;\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n // store settings initialzations\r\n\r\n private initContract() {\r\n return new Promise((resolve, reject) => {\r\n // Trigger new contract hub to call initValues on client side.\r\n this.server.initContract().done(() => {\r\n console.log(\"initContract() done\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private initMoving() {\r\n return new Promise((resolve, reject) => {\r\n // Trigger new contract hub to call initMoving on client side.\r\n this.server.initMoving().done(() => {\r\n console.log(\"initMoving() done\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private refreshProducts(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.refreshProducts(null).done(() => {\r\n console.log(\"refreshProducts()\");\r\n resolve();\r\n }).fail(e => {\r\n console.log(\"refreshProducts() failed\");\r\n console.log(e);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n private getMoveOutUser(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.getUserName().done(() => {\r\n console.log(\"getMoveOutUser()\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private getIsUserAuthenticated(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.getIsUserAuthed().done(() => {\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n private isPinSetInDb(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.hasCustomerValidPin(\"\").done(() => {\r\n console.log(\"HasCustomerValidPin()\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }\r\n\r\n /*getActiveContracts(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.server.getActiveContracts().done(() => {\r\n console.log(\"getActiveContracts()\");\r\n resolve();\r\n }).fail(() => reject());\r\n });\r\n }*/\r\n\r\n private isMoving(): boolean {\r\n return this.options.phases[0].name.indexOf(\"move-out\") > -1;\r\n }\r\n\r\n private isMovingProcess(): boolean {\r\n return this.isMoving() && this.vue.$store.state.contract.ProcessType == ProcessTypeEnum.MOVINGPROCESS;\r\n }\r\n\r\n initPreSelectedValues(): Promise {\r\n let self = this;\r\n let contract: IContractViewModel = this.vue.$store.state.contract;\r\n let preselects = this.options.preselects;\r\n\r\n let promises: Promise[] = [];\r\n\r\n let payloads: { key: string, value: string, type?: PropertyTypeEnum }[] = [];\r\n\r\n if (this.options.initialPhaseId != null) {\r\n payloads.push({ key: \"Phase\", value: this.options.initialPhaseId.toString() });\r\n }\r\n if (this.options.isAuthenticated !== undefined && this.options.isAuthenticated !== null) {\r\n NewContractStore.commit(\"isAuthenticated\", this.options.isAuthenticated);\r\n }\r\n \r\n let productId = contract.ProductId;\r\n let priceListId = contract.PriceListId;\r\n if (preselects != null) {\r\n if (contract.CustomerType == CustomerTypeEnum.NOTSET && preselects.customerType != null && preselects.customerType != CustomerTypeEnum.NOTSET) {\r\n payloads.push({ key: \"customerType\", value: preselects.customerType.toString() });\r\n }\r\n // TarificationId (TarificationIdEnum) does not have type 0\r\n // tarification (TarificationIdEnum) is always different than 0\r\n //if (contract.TarificationId == 0 && preselects.tarification != null && preselects.tarification != 0) {\r\n // payloads.push({ key: \"tarification\", value: preselects.tarification.toString() });\r\n //}\r\n if (contract.HousingTypeId == HousingTypeEnum.UNKNOWN && preselects.housingType != null && preselects.housingType != HousingTypeEnum.UNKNOWN) {\r\n payloads.push({ key: \"housingType\", value: preselects.housingType.toString() });\r\n }\r\n if (!contract.CampaignCode && preselects.campaignCode)\r\n payloads.push({ key: \"campaignCode\", value: preselects.campaignCode });\r\n if (preselects.brand) {\r\n payloads.push({ key: \"Brand\", value: preselects.brand });\r\n }\r\n \r\n if ((productId == 0 || priceListId == 0) && preselects.productId != null && preselects.priceListId != null) {\r\n productId = preselects.productId;\r\n priceListId = preselects.priceListId;\r\n }\r\n \r\n // tarification (TarificationIdEnum) is always different than 0\r\n //if (preselects.productId != null && preselects.priceListId != null && preselects.tarification != null && preselects.tarification != 0) {\r\n // NewContractStore.commit(\"setPreSelectedProductPriceListTarification\", true);\r\n //}\r\n if (preselects.productId != null && preselects.productId > 0 && preselects.priceListId != null && preselects.priceListId > 0) {\r\n if (preselects.tarification != null && preselects.tarification > 0) {\r\n NewContractStore.commit(\"setPreSelectedProductPriceListTarification\", true);\r\n } \r\n NewContractStore.commit(\"setPreSelectedProductId\", preselects.productId);\r\n NewContractStore.commit(\"setPreSelectedPriceListId\", preselects.priceListId);\r\n payloads.push({ key: \"PreSelectedProductAndPriceList\", value: \"true\" });\r\n }\r\n if (preselects.offerRequest) {\r\n NewContractStore.commit(\"offerRequest\", preselects.offerRequest);\r\n }\r\n }\r\n \r\n if (productId && priceListId)\r\n promises.push(this.vue.$store.dispatch(\"selectProductById\", { productId: productId, priceListId: priceListId }));\r\n if (payloads.length != 0)\r\n promises.push(this.vue.$store.dispatch(\"changeValues\", payloads));\r\n \r\n if (preselects.membership) {\r\n NewContractStore.commit(\"setPreSelectedMembership\", preselects.membership);\r\n }\r\n return Promise.all(promises).then(() => {\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n initValues(contract: IContractViewModel): Promise {\r\n return new Promise((resolve, reject) => {\r\n\r\n let state: INewContractState = this.vue.$store.state;\r\n state.contract = contract;\r\n for (var i = 0; i < contract.ExtraFeatures.length; i++) {\r\n if (contract.ExtraFeatures[i].Name) {\r\n let ef = contract.ExtraFeatures[i].Name.split(';');\r\n if (ef[0].toLowerCase() == \"serviceproduct\") {\r\n state.selectedServiceProducts.push(ef[1] + \";\" + ef[2]);\r\n }\r\n }\r\n }\r\n if ((contract.ContractMembership && contract.ContractMembership.MembershipType != null) || contract.Customer.CustomerMemberships.length > 0) {\r\n if (contract.ContractMembership && contract.ContractMembership.MembershipType != null) {\r\n state.contractMembershipTemp = contract.ContractMembership;\r\n }\r\n else if (contract.Customer.CustomerMemberships.length > 0) {\r\n state.contractMembershipTemp.MembershipName = contract.Customer.CustomerMemberships[0].MembershipName;\r\n state.contractMembershipTemp.MembershipType = contract.Customer.CustomerMemberships[0].MembershipTypeId;\r\n }\r\n NewContractStore.dispatch(\"changeValue\", { key: \"MembershipType\", value: null });\r\n }\r\n this.initPreSelectedValues().then(() => {\r\n console.log(\"Preselected values initialized!\");\r\n //console.log(this.options.phases);\r\n // Set phase on the client side to match what is stored on the server.\r\n let phase = this.options.phases.find(x => x.id == state.contract.Phase);\r\n //console.log(phase);\r\n if (phase == null) {\r\n console.error(\"Phase [\" + contract.Phase + \"] not found!\");\r\n // Phase not found (it's a bug), let's just go to first phase.\r\n phase = this.options.phases[0];\r\n }\r\n console.log(phase);\r\n this.pageModel.currentPhase = phase;\r\n console.log(this.pageModel);\r\n resolve();\r\n\r\n }).catch((msg) => {\r\n\r\n console.error(\"Preselect initialization failed: \" + msg);\r\n reject();\r\n\r\n });\r\n });\r\n }\r\n\r\n consumptionUpdated(energy1: number, energy2: number) {\r\n console.log(\"Consumption updated!\");\r\n this.vue.$store.commit(\"consumptionUpdated\", { energy1: energy1, energy2: energy2 });\r\n }\r\n\r\n notifyValidationFailed(validationErrors: ValidationErrors) {\r\n NewContractEvents.notifyValidationFailed(validationErrors);\r\n }\r\n\r\n private createEvent(ev: string, params: { bubbles?: boolean, cancelable?: boolean, detail: any }) {\r\n params = params || { bubbles: false, cancelable: false, detail: undefined };\r\n var evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(ev, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n}\r\n","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { ICustomerViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../../Default/common/validation-message.vue\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\n\r\n@Component({\r\n computed: mapState({\r\n contract: (state: INewContractState) => state.contract,\r\n customer: (state: INewContractState) => state.contract.Customer,\r\n company: (state: INewContractState) => state.contract.Company,\r\n }),\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage\r\n },\r\n})\r\n\r\nexport default class Authentication extends Vue {\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get customer(): ICustomerViewModel { return this.$store.state.contract.Customer; }\r\n get authenticateQuestionAccepted(): boolean { return this.contract.AuthenticateQuestionAccepted }\r\n validationErrors: ValidationErrors = new ValidationErrors();\r\n \r\n @Prop()\r\n public testMode: boolean;\r\n\r\n @Prop()\r\n public showAuthentication: boolean;\r\n\r\n @Prop()\r\n public hideAuthenticationForcedText: boolean;\r\n\r\n @Prop({ default: false })\r\n public moving: boolean;\r\n\r\n @Prop({ default: null })\r\n public redirectUrl: string;\r\n\r\n @Prop({ default:\"/NewContract/Contract/AuthenticationStart\"})\r\n public newcontractAuthentication: boolean;\r\n\r\n @Prop({ default: \"/MovingContract/MovingContract/AuthenticationStart\" })\r\n public movingAuthentication: boolean;\r\n\r\n @Prop({ default: false })\r\n public saveAndFinishProcess: boolean;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n @Emit()\r\n authenticate() {\r\n event.preventDefault();\r\n console.log(\"authenticate() called from authentication.ts\");\r\n const service = \"OPTunnistus\";\r\n\r\n let baseUrl = this.newcontractAuthentication;\r\n if (this.moving) {\r\n baseUrl = this.movingAuthentication;\r\n }\r\n let url = baseUrl + \"?external=false\";\r\n if (this.testMode) {\r\n const testPin = this.customer.Pin;\r\n const testPinInputValue = (document.getElementById('test-pin') as HTMLInputElement).value\r\n\r\n //console.log(\"testpin \", testPin)\r\n //console.log(\"testPinInputValue \", testPinInputValue)\r\n\r\n if (testPin != null) {\r\n url += \"&testPin=\" + testPinInputValue;\r\n }\r\n }\r\n if (service !== null) {\r\n url += \"&service=\" + service;\r\n }\r\n if (this.redirectUrl !== null) {\r\n url += \"&redirectUrl=\" + this.redirectUrl;\r\n }\r\n if (this.saveAndFinishProcess) {\r\n url += \"&finish=true\";\r\n }\r\n window.location.href = url;\r\n return false;\r\n\r\n }\r\n\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n\r\n handleBankEvent() {\r\n //event.preventDefault()\r\n const bank = \"\";//event.currentTarget.getAttribute(\"id\");\r\n const service = \"optunnistus\";// event.currentTarget.getAttribute(\"data-service\");\r\n let baseUrl = this.newcontractAuthentication;\r\n if (this.moving) {\r\n baseUrl = this.movingAuthentication;\r\n }\r\n let url = baseUrl + \"?bank=\" + bank + \"&external=false\";\r\n if (this.testMode) {\r\n const testPin = this.customer.Pin;\r\n if (testPin != null && testPin !== \"\") {\r\n url += \"&testPin=\" + testPin;\r\n }\r\n }\r\n if (service !== null) {\r\n url += \"&service=\" + service;\r\n }\r\n if (this.redirectUrl !== null) {\r\n url += \"&redirectUrl=\" + this.redirectUrl;\r\n }\r\n if (this.saveAndFinishProcess) {\r\n url += \"&finish=true\";\r\n }\r\n window.location.href = url;\r\n return false;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./authentication.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./authentication.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./authentication-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cauthentication.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./authentication-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cauthentication.vue\"","import { render, staticRenderFns } from \"./authentication.vue?vue&type=template&id=51ad6d02&\"\nimport script from \"./authentication.ts?vue&type=script&lang=js&\"\nexport * from \"./authentication.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/authentication-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cauthentication.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n !_vm.strongContractAuthentication && !_vm.offerRequest\n ? _c(\"authentication\", {\n attrs: {\n \"test-mode\": _vm.contract.TestMode,\n \"show-authentication\": _vm.strongContractAuthentication,\n \"hide-authentication-forced-text\":\n _vm.hideAuthenticationForcedText\n },\n on: { authenticate: _vm.authenticate }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.offerRequest ||\n (_vm.customer.TrustedSource && _vm.strongContractAuthentication)\n ? _c(\n \"div\",\n [\n [\n !_vm.offerRequest\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Nimi\")))]\n ),\n _c(\n \"p\",\n { staticClass: \"form-control-static\" },\n [\n _vm._v(\n _vm._s(_vm.customer.FirstName) +\n \" \" +\n _vm._s(_vm.customer.LastName)\n )\n ]\n )\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Henkilötunnus\")))]\n ),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Pin\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"p\",\n { staticClass: \"form-control-static\" },\n [_vm._v(_vm._s(_vm.customer.Pin))]\n )\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.strongContractAuthentication || _vm.offerRequest\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for:\n \"customer_information_firstname_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Etunimi\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"FirstName\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n id: \"customer_information_firstname_field\",\n name: \"FirstName\",\n value: _vm.customer.FirstName\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"customer_information_lastname_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Sukunimi\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"LastName\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n id: \"customer_information_lastname_field\",\n name: \"LastName\",\n value: _vm.customer.LastName\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.offerRequest || _vm.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"customer_information_phone_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Phone\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n id: \"customer_information_phone_field\",\n name: \"Phone\",\n value: _vm.customer.Phone\n ? _vm.customer.Phone\n : \"+358\"\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"customer_information_email_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Email\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"email\",\n id: \"customer_information_email_field\",\n name: \"Email\",\n value: _vm.customer.Email\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.offerRequest || _vm.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"12\", lg: \"12\" } },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Mikäli haluat sopimuksen useamman henkilön nimellä, pyydämme sinua ottamaan yhteyttä asiakaspalveluumme.\"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n ],\n 1\n )\n : _vm._e()\n ]\n ],\n 2\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"form-group\" }, [\n _vm.title\n ? _c(\"label\", {\n staticClass: \"labelTitle\",\n domProps: { textContent: _vm._s(_vm.title) }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"form-control-static\" }, [_vm._t(\"default\")], 2)\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\n\r\n@Component({\r\n})\r\n\r\nexport default class FormGroupStatic extends Vue {\r\n @Prop()\r\n public title: string;\r\n @Prop()\r\n public value: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./form-group-static.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./form-group-static.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./form-group-static.vue?vue&type=template&id=5ea5c628&\"\nimport script from \"./form-group-static.ts?vue&type=script&lang=js&\"\nexport * from \"./form-group-static.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"card2 contact-person\" }, [\n !_vm.isEmpty && _vm.editable\n ? _c(\"div\", { staticClass: \"pull-right\" }, [\n _c(\n \"a\",\n {\n staticClass: \"modify-button bg-primary\",\n attrs: { href: \"#\", title: \"Muokkaan tietoja\" },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.modify()\n }\n }\n },\n [_c(\"i\", { staticClass: \"fa fa-pencil-alt\" })]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"label\", {\n staticClass: \"labelTitle\",\n domProps: { textContent: _vm._s(_vm.title) }\n }),\n _vm._v(\" \"),\n _vm.isEmpty && _vm.editable\n ? _c(\n \"div\",\n [\n _c(\n \"b-button\",\n {\n attrs: { type: \"button\", variant: \"outline-primary\" },\n on: {\n click: function($event) {\n return _vm.modify()\n }\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Lisää tiedot\")))]\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.isEmpty\n ? _c(\"div\", [\n _c(\"div\", { domProps: { textContent: _vm._s(_vm.name) } }),\n _vm._v(\" \"),\n _c(\"div\", {\n domProps: { textContent: _vm._s(_vm.contactPerson.Phone) }\n }),\n _vm._v(\" \"),\n _c(\"div\", {\n domProps: { textContent: _vm._s(_vm.contactPerson.Email) }\n }),\n _vm._v(\" \"),\n _c(\"div\", { domProps: { textContent: _vm._s(_vm.addressString) } })\n ])\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { IContactPersonViewModel } from \"./I4UViewModels\";\r\n\r\nexport class ContactPersonUtils {\r\n /**\r\n * Check if given contact person can be considered empty (or not set).\r\n * @param cp\r\n */\r\n static isEmpty(cp: IContactPersonViewModel) {\r\n let arr = [cp.FirstName, cp.LastName, cp.Pin, cp.Phone, cp.Email];\r\n if (cp.Address != null) {\r\n arr.push(cp.Address.Street, cp.Address.Zip, cp.Address.Place);\r\n }\r\n for (let i = 0; i < arr.length; ++i) {\r\n if (arr[i])\r\n return false;\r\n }\r\n return true;\r\n }\r\n}","import { IAddressViewModel } from \"./I4UViewModels\";\r\n\r\nexport class AddressFormat {\r\n public static toSingleString(\r\n address: IAddressViewModel,\r\n options?: {\r\n country?: boolean,\r\n coName?: boolean\r\n }) {\r\n if (address == null)\r\n return \"\";\r\n\r\n let str = \"\";\r\n let commaNext = false;\r\n let rowChange = false;\r\n\r\n if (options && options.coName) {\r\n if (address.COName) {\r\n if (str)\r\n str += commaNext ? \", \" : \" \";\r\n str += address.COName;\r\n rowChange = true;\r\n }\r\n }\r\n\r\n if (address.Street) {\r\n if (str) {\r\n if (rowChange)\r\n str += \"\\r\\n\";\r\n else\r\n str += commaNext ? \", \" : \" \";\r\n }\r\n str += address.Street;\r\n commaNext = true;\r\n rowChange = false;\r\n }\r\n\r\n if (address.Zip) {\r\n if (str)\r\n str += \", \";\r\n str += address.Zip;\r\n commaNext = false;\r\n }\r\n if (address.Place) {\r\n if (str)\r\n str += commaNext ? \", \" : \" \";\r\n str += address.Place;\r\n commaNext = false;\r\n }\r\n\r\n if (options && options.country) {\r\n if (address.Country) {\r\n if (str)\r\n str += commaNext ? \", \" : \" \";\r\n str += address.Country;\r\n }\r\n }\r\n\r\n return str;\r\n }\r\n}","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { IContactPersonViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ContactPersonUtils } from \"../../../../../../Scripts/inpulse/ContactPersonUtils\";\r\nimport { AddressFormat } from \"../../../../../../Scripts/inpulse/AddressFormat\";\r\n\r\n@Component({\r\n\r\n})\r\n\r\nexport default class ContactPersonCard extends Vue {\r\n @Prop()\r\n title: string;\r\n @Prop()\r\n contactPerson: IContactPersonViewModel;\r\n @Prop({ default: true })\r\n editable: boolean;\r\n\r\n @Emit()\r\n modify() {}\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n get name(): string {\r\n let str = \"\";\r\n if (this.contactPerson.FirstName)\r\n str += this.contactPerson.FirstName;\r\n if (this.contactPerson.LastName) {\r\n if (str)\r\n str += \" \";\r\n str += this.contactPerson.LastName\r\n }\r\n if (this.contactPerson.Pin) {\r\n if (str)\r\n str += \", \";\r\n str += this.contactPerson.Pin;\r\n }\r\n return str;\r\n }\r\n\r\n get addressString(): string {\r\n return AddressFormat.toSingleString(this.contactPerson.Address);\r\n }\r\n\r\n get isEmpty(): boolean {\r\n return ContactPersonUtils.isEmpty(this.contactPerson);\r\n }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-card.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-card.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Ccontract-partner-card.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Ccontract-partner-card.vue\"","import { render, staticRenderFns } from \"./contract-partner-card.vue?vue&type=template&id=0b4b8026&\"\nimport script from \"./contract-partner-card.ts?vue&type=script&lang=js&\"\nexport * from \"./contract-partner-card.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../../Locales/contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Ccontract-partner-card.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-modal\",\n {\n attrs: {\n title: \"Sopimuskumppanin tiedot\",\n \"header-text-variant\": _vm.headerTextVariant,\n \"body-text-variant\": _vm.bodyTextVariant,\n \"header-bg-variant\": _vm.headerBgVariant,\n \"no-close-on-backdrop\": \"\",\n \"hide-backdrop\": \"\",\n \"content-class\": \"shadow\"\n },\n on: { hide: _vm.hide },\n scopedSlots: _vm._u([\n {\n key: \"modal-footer\",\n fn: function(ref) {\n var ok = ref.ok\n var cancel = ref.cancel\n return [\n _c(\n \"b-button\",\n {\n attrs: { size: \"sm\", variant: \"primary\" },\n on: {\n click: function($event) {\n return cancel()\n }\n }\n },\n [_vm._v(\"\\n \" + _vm._s(_vm.$t(\"Poista\")) + \"\\n \")]\n ),\n _vm._v(\" \"),\n _c(\n \"b-button\",\n {\n attrs: { size: \"sm\", variant: \"primary\" },\n on: {\n click: function($event) {\n return ok()\n }\n }\n },\n [\n _vm._v(\n \"\\n \" + _vm._s(_vm.$t(\"Hyväksy\")) + \"\\n \"\n )\n ]\n )\n ]\n }\n }\n ]),\n model: {\n value: _vm.show,\n callback: function($$v) {\n _vm.show = $$v\n },\n expression: \"show\"\n }\n },\n [\n _vm.contactPerson\n ? [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", { attrs: { for: \"contactPerson_firstName\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Etunimi\")))\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.FirstName,\n expression: \"contactPerson.FirstName\"\n }\n ],\n staticClass: \"form-control\",\n attrs: { id: \"contactPerson_firstName\" },\n domProps: { value: _vm.contactPerson.FirstName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contactPerson,\n \"FirstName\",\n $event.target.value\n )\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", { attrs: { for: \"contactPerson_lastName\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Sukunimi\")))\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.LastName,\n expression: \"contactPerson.LastName\"\n }\n ],\n staticClass: \"form-control\",\n attrs: { id: \"contactPerson_lastName\" },\n domProps: { value: _vm.contactPerson.LastName },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contactPerson,\n \"LastName\",\n $event.target.value\n )\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", { attrs: { for: \"contactPerson_pin\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\")))\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.Pin,\n expression: \"contactPerson.Pin\"\n }\n ],\n staticClass: \"form-control\",\n attrs: { id: \"contactPerson_pin\" },\n domProps: { value: _vm.contactPerson.Pin },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.contactPerson, \"Pin\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-6\" }, [\n _c(\"label\", { attrs: { for: \"contactPerson_phone\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.Phone,\n expression: \"contactPerson.Phone\"\n }\n ],\n staticClass: \"form-control\",\n attrs: { id: \"contactPerson_phone\" },\n domProps: { value: _vm.contactPerson.Phone },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.contactPerson, \"Phone\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group col-md-12\" }, [\n _c(\"label\", { attrs: { for: \"contactPerson_email\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))\n ]),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contactPerson.Email,\n expression: \"contactPerson.Email\"\n }\n ],\n staticClass: \"form-control\",\n attrs: { id: \"contactPerson_email\" },\n domProps: { value: _vm.contactPerson.Email },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(_vm.contactPerson, \"Email\", $event.target.value)\n }\n }\n })\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group col-md-5\" },\n [\n _c(\"label\", { attrs: { for: \"contactPerson_pastalcode\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Postinumero\")))\n ]),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"contactPerson_pastalcode\",\n place: _vm.contactPerson.Address.Place,\n \"street-locale\": _vm.locale\n },\n on: {\n \"postal-code-selected\": _vm.postalSelected,\n \"post-office-selected\": _vm.postOfficeSelected\n },\n model: {\n value: _vm.contactPerson.Address.Zip,\n callback: function($$v) {\n _vm.$set(_vm.contactPerson.Address, \"Zip\", $$v)\n },\n expression: \"contactPerson.Address.Zip\"\n }\n }),\n _vm._v(\" \"),\n _c(\"p\", {\n domProps: {\n textContent: _vm._s(_vm.contactPerson.Address.Place)\n }\n })\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"form-group col-md-7\" },\n [\n _c(\"label\", { attrs: { for: \"contactPerson_street\" } }, [\n _vm._v(_vm._s(_vm.$t(\"Katuosoite\")))\n ]),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"contactPerson_street\",\n \"postal-filter\": _vm.contactPerson.Address.Zip,\n locale: _vm.locale,\n \"show-full-address\": true\n },\n on: {\n \"street-selected\": _vm.streetSelected,\n \"street-address-selected\": _vm.addressSelected\n },\n model: {\n value: _vm.street,\n callback: function($$v) {\n _vm.street = $$v\n },\n expression: \"street\"\n }\n })\n ],\n 1\n )\n ])\n ]\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"vue-simple-suggest\",\n {\n attrs: {\n \"value-attribute\": \"address\",\n \"display-attribute\": \"streetAddress\",\n list: _vm.searchForStreets,\n \"max-suggestions\": 8,\n styles: _vm.autoCompleteStyle,\n destyled: true,\n debounce: 100,\n mode: \"select\"\n },\n on: { select: _vm.itemSelected, blur: _vm.onBlur },\n scopedSlots: _vm._u([\n {\n key: \"suggestion-item\",\n fn: function(scope) {\n return _c(\"div\", {}, [\n _vm.showFullAddress\n ? _c(\"span\", [_vm._v(_vm._s(scope.suggestion.address))])\n : _c(\"span\", [_vm._v(_vm._s(scope.suggestion.streetAddress))])\n ])\n }\n }\n ]),\n model: {\n value: _vm.selectedItem,\n callback: function($$v) {\n _vm.selectedItem = $$v\n },\n expression: \"selectedItem\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n \"aria-label\": \"Katuosoite\",\n type: \"text\",\n maxlength: \"70\",\n disabled: _vm.disabled\n },\n domProps: { value: _vm.query },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n }\n }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","const defaultControls = {\n selectionUp: [38],\n selectionDown: [40],\n select: [13],\n hideList: [27],\n showList: [40],\n autocomplete: [32, 13]\n};\n\nconst modes = {\n input: String,\n select: Object\n};\n\nfunction fromPath(obj, path) {\n return path.split('.').reduce((o, i) => o === Object(o) ? o[i] : o, obj);\n}\n\nfunction hasKeyCode(arr, event) {\n return hasKeyCodeByCode(arr, event.keyCode);\n}\n\nfunction hasKeyCodeByCode(arr, keyCode) {\n if (arr.length <= 0) return false;\n\n const has = arr => arr.some(code => code === keyCode);\n if (Array.isArray(arr[0])) {\n return arr.some(array => has(array));\n } else {\n return has(arr);\n }\n}\n\nfunction _await(value, then, direct) {\n if (direct) {\n return then ? then(value) : value;\n }if (!value || !value.then) {\n value = Promise.resolve(value);\n }return then ? value.then(then) : value;\n}function _async(f) {\n return function () {\n for (var args = [], i = 0; i < arguments.length; i++) {\n args[i] = arguments[i];\n }try {\n return Promise.resolve(f.apply(this, args));\n } catch (e) {\n return Promise.reject(e);\n }\n };\n}function _empty() {}function _awaitIgnored(value, direct) {\n if (!direct) {\n return value && value.then ? value.then(_empty) : Promise.resolve();\n }\n}function _invoke(body, then) {\n var result = body();if (result && result.then) {\n return result.then(then);\n }return then(result);\n}function _invokeIgnored(body) {\n var result = body();if (result && result.then) {\n return result.then(_empty);\n }\n}function _catch(body, recover) {\n try {\n var result = body();\n } catch (e) {\n return recover(e);\n }\n if (result && result.then) {\n return result.then(void 0, recover);\n }\n return result;\n}function _finally(body, finalizer) {\n try {\n var result = body();\n } catch (e) {\n return finalizer();\n }if (result && result.then) {\n return result.then(finalizer, finalizer);\n }return finalizer();\n}var VueSimpleSuggest = {\n render: function () {\n var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: \"vue-simple-suggest\", class: [_vm.styles.vueSimpleSuggest, { designed: !_vm.destyled, focus: _vm.isInFocus }], on: { \"keydown\": function ($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"tab\", 9, $event.key, \"Tab\")) {\n return null;\n }_vm.isTabbed = true;\n } } }, [_c('div', { ref: \"inputSlot\", staticClass: \"input-wrapper\", class: _vm.styles.inputWrapper, attrs: { \"role\": \"combobox\", \"aria-haspopup\": \"listbox\", \"aria-owns\": _vm.listId, \"aria-expanded\": !!_vm.listShown && !_vm.removeList ? 'true' : 'false' } }, [_vm._t(\"default\", [_c('input', _vm._b({ staticClass: \"default-input\", class: _vm.styles.defaultInput, domProps: { \"value\": _vm.text || '' } }, 'input', _vm.$attrs, false))])], 2), _vm._v(\" \"), _c('transition', { attrs: { \"name\": \"vue-simple-suggest\" } }, [!!_vm.listShown && !_vm.removeList ? _c('ul', { staticClass: \"suggestions\", class: _vm.styles.suggestions, attrs: { \"id\": _vm.listId, \"role\": \"listbox\", \"aria-labelledby\": _vm.listId } }, [!!this.$scopedSlots['misc-item-above'] ? _c('li', [_vm._t(\"misc-item-above\", null, { \"suggestions\": _vm.suggestions, \"query\": _vm.text })], 2) : _vm._e(), _vm._v(\" \"), _vm._l(_vm.suggestions, function (suggestion, index) {\n return _c('li', { key: _vm.getId(suggestion, index), staticClass: \"suggest-item\", class: [_vm.styles.suggestItem, {\n selected: _vm.isSelected(suggestion),\n hover: _vm.isHovered(suggestion)\n }], attrs: { \"role\": \"option\", \"aria-selected\": _vm.isHovered(suggestion) || _vm.isSelected(suggestion) ? 'true' : 'false', \"id\": _vm.getId(suggestion, index) }, on: { \"mouseenter\": function ($event) {\n return _vm.hover(suggestion, $event.target);\n }, \"mouseleave\": function ($event) {\n return _vm.hover(undefined);\n }, \"click\": function ($event) {\n return _vm.suggestionClick(suggestion, $event);\n } } }, [_vm._t(\"suggestion-item\", [_c('span', [_vm._v(_vm._s(_vm.displayProperty(suggestion)))])], { \"autocomplete\": function () {\n return _vm.autocompleteText(suggestion);\n }, \"suggestion\": suggestion, \"query\": _vm.text })], 2);\n }), _vm._v(\" \"), !!this.$scopedSlots['misc-item-below'] ? _c('li', [_vm._t(\"misc-item-below\", null, { \"suggestions\": _vm.suggestions, \"query\": _vm.text })], 2) : _vm._e()], 2) : _vm._e()])], 1);\n },\n staticRenderFns: [],\n name: 'vue-simple-suggest',\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n styles: {\n type: Object,\n default: () => ({})\n },\n controls: {\n type: Object,\n default: () => defaultControls\n },\n minLength: {\n type: Number,\n default: 1\n },\n maxSuggestions: {\n type: Number,\n default: 10\n },\n displayAttribute: {\n type: String,\n default: 'title'\n },\n valueAttribute: {\n type: String,\n default: 'id'\n },\n list: {\n type: [Function, Array],\n default: () => []\n },\n removeList: {\n type: Boolean,\n default: false\n },\n destyled: {\n type: Boolean,\n default: false\n },\n filterByQuery: {\n type: Boolean,\n default: false\n },\n filter: {\n type: Function,\n default(el, value) {\n return value ? ~this.displayProperty(el).toLowerCase().indexOf(value.toLowerCase()) : true;\n }\n },\n debounce: {\n type: Number,\n default: 0\n },\n nullableSelect: {\n type: Boolean,\n default: false\n },\n value: {},\n mode: {\n type: String,\n default: 'input',\n validator: value => !!~Object.keys(modes).indexOf(value.toLowerCase())\n }\n },\n // Handle run-time mode changes (now working):\n watch: {\n mode: {\n handler(current, old) {\n this.constructor.options.model.event = current;\n\n // Can be null if the component is root\n this.$parent && this.$parent.$forceUpdate();\n\n this.$nextTick(() => {\n if (current === 'input') {\n this.$emit('input', this.text);\n } else {\n this.$emit('select', this.selected);\n }\n });\n },\n immediate: true\n },\n value: {\n handler(current) {\n if (typeof current !== 'string') {\n current = this.displayProperty(current);\n }\n this.updateTextOutside(current);\n },\n immediate: true\n }\n },\n //\n data() {\n return {\n selected: null,\n hovered: null,\n suggestions: [],\n listShown: false,\n inputElement: null,\n canSend: true,\n timeoutInstance: null,\n text: this.value,\n isPlainSuggestion: false,\n isClicking: false,\n isInFocus: false,\n isFalseFocus: false,\n isTabbed: false,\n controlScheme: {},\n listId: `${this._uid}-suggestions`\n };\n },\n computed: {\n listIsRequest() {\n return typeof this.list === 'function';\n },\n inputIsComponent() {\n return this.$slots.default && this.$slots.default.length > 0 && !!this.$slots.default[0].componentInstance;\n },\n input() {\n return this.inputIsComponent ? this.$slots.default[0].componentInstance : this.inputElement;\n },\n on() {\n return this.inputIsComponent ? '$on' : 'addEventListener';\n },\n off() {\n return this.inputIsComponent ? '$off' : 'removeEventListener';\n },\n hoveredIndex() {\n for (let i = 0; i < this.suggestions.length; i++) {\n const el = this.suggestions[i];\n if (this.hovered && this.valueProperty(this.hovered) == this.valueProperty(el)) {\n return i;\n }\n }\n return -1;\n },\n textLength() {\n return this.text && this.text.length || this.inputElement.value.length || 0;\n },\n isSelectedUpToDate() {\n return !!this.selected && this.displayProperty(this.selected) === this.text;\n }\n },\n created() {\n this.controlScheme = Object.assign({}, defaultControls, this.controls);\n },\n mounted: _async(function () {\n const _this = this;\n\n return _await(_this.$slots.default, function () {\n\n _this.inputElement = _this.$refs['inputSlot'].querySelector('input');\n\n if (_this.inputElement) {\n _this.setInputAriaAttributes();\n _this.prepareEventHandlers(true);\n } else {\n console.error('No input element found');\n }\n });\n }),\n\n beforeDestroy() {\n this.prepareEventHandlers(false);\n },\n methods: {\n isEqual(suggestion, item) {\n return item && this.valueProperty(suggestion) == this.valueProperty(item);\n },\n isSelected(suggestion) {\n return this.isEqual(suggestion, this.selected);\n },\n isHovered(suggestion) {\n return this.isEqual(suggestion, this.hovered);\n },\n setInputAriaAttributes() {\n this.inputElement.setAttribute('aria-activedescendant', '');\n this.inputElement.setAttribute('aria-autocomplete', 'list');\n this.inputElement.setAttribute('aria-controls', this.listId);\n },\n prepareEventHandlers(enable) {\n const binder = this[enable ? 'on' : 'off'];\n const keyEventsList = {\n click: this.showSuggestions,\n keydown: this.onKeyDown,\n keyup: this.onListKeyUp\n };\n const eventsList = Object.assign({\n blur: this.onBlur,\n focus: this.onFocus,\n input: this.onInput\n }, keyEventsList);\n\n for (const event in eventsList) {\n this.input[binder](event, eventsList[event]);\n }\n\n const listenerBinder = enable ? 'addEventListener' : 'removeEventListener';\n\n for (const event in keyEventsList) {\n this.inputElement[listenerBinder](event, keyEventsList[event]);\n }\n },\n isScopedSlotEmpty(slot) {\n if (slot) {\n const vNode = slot(this);\n return !(Array.isArray(vNode) || vNode && (vNode.tag || vNode.context || vNode.text || vNode.children));\n }\n\n return true;\n },\n miscSlotsAreEmpty() {\n const slots = ['misc-item-above', 'misc-item-below'].map(s => this.$scopedSlots[s]);\n\n if (slots.every(s => !!s)) {\n return slots.every(this.isScopedSlotEmpty.bind(this));\n }\n\n const slot = slots.find(s => !!s);\n\n return this.isScopedSlotEmpty.call(this, slot);\n },\n getPropertyByAttribute(obj, attr) {\n return this.isPlainSuggestion ? obj : typeof obj !== undefined ? fromPath(obj, attr) : obj;\n },\n displayProperty(obj) {\n if (this.isPlainSuggestion) {\n return obj;\n }\n\n let display = this.getPropertyByAttribute(obj, this.displayAttribute);\n\n if (typeof display === 'undefined') {\n display = JSON.stringify(obj);\n\n if (process && ~process.env.NODE_ENV.indexOf('dev')) {\n console.warn('[vue-simple-suggest]: Please, provide `display-attribute` as a key or a dotted path for a property from your object.');\n }\n }\n\n return String(display || '');\n },\n valueProperty(obj) {\n if (this.isPlainSuggestion) {\n return obj;\n }\n\n const value = this.getPropertyByAttribute(obj, this.valueAttribute);\n\n if (typeof value === 'undefined') {\n console.error(`[vue-simple-suggest]: Please, check if you passed 'value-attribute' (default is 'id') and 'display-attribute' (default is 'title') props correctly.\n Your list objects should always contain a unique identifier.`);\n }\n\n return value;\n },\n\n autocompleteText(suggestion) {\n this.setText(this.displayProperty(suggestion));\n },\n setText(text) {\n this.$nextTick(() => {\n this.inputElement.value = text;\n this.text = text;\n this.$emit('input', text);\n });\n },\n select(item) {\n if (this.selected !== item || this.nullableSelect && !item) {\n this.selected = item;\n this.$emit('select', item);\n\n if (item) {\n this.autocompleteText(item);\n }\n }\n\n this.hover(null);\n },\n hover(item, elem) {\n const elemId = !!item ? this.getId(item, this.hoveredIndex) : '';\n\n this.inputElement.setAttribute('aria-activedescendant', elemId);\n\n if (item && item !== this.hovered) {\n this.$emit('hover', item, elem);\n }\n\n this.hovered = item;\n },\n hideList() {\n if (this.listShown) {\n this.listShown = false;\n this.hover(null);\n this.$emit('hide-list');\n }\n },\n showList() {\n if (!this.listShown) {\n if (this.textLength >= this.minLength && (this.suggestions.length > 0 || !this.miscSlotsAreEmpty())) {\n this.listShown = true;\n this.$emit('show-list');\n }\n }\n },\n showSuggestions: _async(function () {\n const _this2 = this;\n\n return _invoke(function () {\n if (_this2.suggestions.length === 0 && _this2.minLength <= _this2.textLength) {\n // try show misc slots while researching\n _this2.showList();\n return _awaitIgnored(_this2.research());\n }\n }, function () {\n\n _this2.showList();\n });\n }),\n\n onShowList(e) {\n if (hasKeyCode(this.controlScheme.showList, e)) {\n this.showSuggestions();\n }\n },\n moveSelection(e) {\n if (!this.listShown || !this.suggestions.length) return;\n if (hasKeyCode([this.controlScheme.selectionUp, this.controlScheme.selectionDown], e)) {\n e.preventDefault();\n\n const isMovingDown = hasKeyCode(this.controlScheme.selectionDown, e);\n const direction = isMovingDown * 2 - 1;\n const listEdge = isMovingDown ? 0 : this.suggestions.length - 1;\n const hoversBetweenEdges = isMovingDown ? this.hoveredIndex < this.suggestions.length - 1 : this.hoveredIndex > 0;\n\n let item = null;\n\n if (!this.hovered) {\n item = this.selected || this.suggestions[listEdge];\n } else if (hoversBetweenEdges) {\n item = this.suggestions[this.hoveredIndex + direction];\n } else /* if hovers on edge */{\n item = this.suggestions[listEdge];\n }\n this.hover(item);\n }\n },\n onKeyDown(e) {\n const select = this.controlScheme.select,\n hideList = this.controlScheme.hideList;\n\n // prevent form submit on keydown if Enter key registered in the keyup list\n if (e.key === 'Enter' && this.listShown && hasKeyCodeByCode([select, hideList], 13)) {\n e.preventDefault();\n }\n\n if (e.key === 'Tab' && this.hovered) {\n this.select(this.hovered);\n }\n\n this.onShowList(e);\n this.moveSelection(e);\n this.onAutocomplete(e);\n },\n onListKeyUp(e) {\n const select = this.controlScheme.select,\n hideList = this.controlScheme.hideList;\n\n if (this.listShown && hasKeyCode([select, hideList], e)) {\n e.preventDefault();\n if (hasKeyCode(select, e)) {\n this.select(this.hovered);\n }\n\n this.hideList();\n }\n },\n onAutocomplete(e) {\n if (hasKeyCode(this.controlScheme.autocomplete, e) && (e.ctrlKey || e.shiftKey) && this.suggestions.length > 0 && this.suggestions[0] && this.listShown) {\n e.preventDefault();\n this.hover(this.suggestions[0]);\n this.autocompleteText(this.suggestions[0]);\n }\n },\n suggestionClick(suggestion, e) {\n this.$emit('suggestion-click', suggestion, e);\n this.select(suggestion);\n this.hideList();\n\n /// Ensure, that all needed flags are off before finishing the click.\n this.isClicking = false;\n },\n onBlur(e) {\n if (this.isInFocus) {\n\n /// Clicking starts here, because input's blur occurs before the suggestionClick\n /// and exactly when the user clicks the mouse button or taps the screen.\n this.isClicking = this.hovered && !this.isTabbed;\n\n if (!this.isClicking) {\n this.isInFocus = false;\n this.hideList();\n\n this.$emit('blur', e);\n } else if (e && e.isTrusted && !this.isTabbed) {\n this.isFalseFocus = true;\n setTimeout(() => {\n this.inputElement.focus();\n }, 0);\n }\n } else {\n this.inputElement.blur();\n console.error(`This should never happen!\n If you encountered this error, please make sure that your input component emits 'focus' events properly.\n For more info see https://github.com/KazanExpress/vue-simple-suggest#custom-input.\n\n If your 'vue-simple-suggest' setup does not include a custom input component - please,\n report to https://github.com/KazanExpress/vue-simple-suggest/issues/new`);\n }\n\n this.isTabbed = false;\n },\n onFocus(e) {\n this.isInFocus = true;\n\n // Only emit, if it was a native input focus\n if (e && !this.isFalseFocus) {\n this.$emit('focus', e);\n }\n\n // Show list only if the item has not been clicked (isFalseFocus indicates that click was made earlier)\n if (!this.isClicking && !this.isFalseFocus) {\n this.showSuggestions();\n }\n\n this.isFalseFocus = false;\n },\n onInput(inputEvent) {\n const value = !inputEvent.target ? inputEvent : inputEvent.target.value;\n\n this.updateTextOutside(value);\n this.$emit('input', value);\n },\n updateTextOutside(value) {\n if (this.text === value) {\n return;\n }\n\n this.text = value;\n if (this.hovered) this.hover(null);\n\n if (this.text.length < this.minLength) {\n this.hideList();\n return;\n }\n\n if (this.debounce) {\n clearTimeout(this.timeoutInstance);\n this.timeoutInstance = setTimeout(this.research, this.debounce);\n } else {\n this.research();\n }\n },\n research: _async(function () {\n const _this3 = this;\n\n return _finally(function () {\n return _catch(function () {\n return _invokeIgnored(function () {\n if (_this3.canSend) {\n _this3.canSend = false;\n // @TODO: fix when promises will be cancelable (never :D)\n let textBeforeRequest = _this3.text;\n return _await(_this3.getSuggestions(_this3.text), function (newList) {\n if (textBeforeRequest === _this3.text) {\n _this3.$set(_this3, 'suggestions', newList);\n }\n });\n }\n });\n }, function (e) {\n _this3.clearSuggestions();\n throw e;\n });\n }, function () {\n _this3.canSend = true;\n\n if (_this3.suggestions.length === 0 && _this3.miscSlotsAreEmpty()) {\n _this3.hideList();\n } else if (_this3.isInFocus) {\n _this3.showList();\n }\n\n return _this3.suggestions;\n });\n }),\n getSuggestions: _async(function (value) {\n const _this4 = this;\n\n value = value || '';\n\n if (value.length < _this4.minLength) {\n return [];\n }\n\n _this4.selected = null;\n\n // Start request if can\n if (_this4.listIsRequest) {\n _this4.$emit('request-start', value);\n }\n\n let result = [];\n return _finally(function () {\n return _catch(function () {\n return _invoke(function () {\n if (_this4.listIsRequest) {\n return _await(_this4.list(value), function (_this4$list) {\n result = _this4$list || [];\n });\n } else {\n result = _this4.list;\n }\n }, function () {\n\n // IFF the result is not an array (just in case!) - make it an array\n if (!Array.isArray(result)) {\n result = [result];\n }\n\n _this4.isPlainSuggestion = typeof result[0] !== 'object' || Array.isArray(result[0]);\n\n if (_this4.filterByQuery) {\n result = result.filter(el => _this4.filter(el, value));\n }\n\n if (_this4.listIsRequest) {\n _this4.$emit('request-done', result);\n }\n });\n }, function (e) {\n if (_this4.listIsRequest) {\n _this4.$emit('request-failed', e);\n } else {\n throw e;\n }\n });\n }, function () {\n if (_this4.maxSuggestions) {\n result.splice(_this4.maxSuggestions);\n }\n\n return result;\n });\n }),\n\n clearSuggestions() {\n this.suggestions.splice(0);\n },\n getId(value, i) {\n return `${this.listId}-suggestion-${this.isPlainSuggestion ? i : this.valueProperty(value) || i}`;\n }\n }\n};\n\nexport default VueSimpleSuggest;\n","// Street autocomplete component for vue. Depends on bootstrap-vue library.\r\nrequire(\"custom-event-polyfill\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport VueSimpleSuggest from 'vue-simple-suggest'\r\n\r\n// Internal\r\nclass Addr {\r\n address: string;\r\n streetAddress: string;\r\n postalCode: string;\r\n postOffice: string;\r\n locale: string;\r\n constructor(streetAddress: string, postalCode: string, postOffice: string, locale?: string) {\r\n this.streetAddress = streetAddress;\r\n this.postalCode = postalCode;\r\n this.postOffice = postOffice;\r\n this.address = streetAddress + \", \" + postalCode + \" \" + postOffice;\r\n this.locale = locale;\r\n }\r\n}\r\n\r\n@Component({\r\n components: {\r\n VueSimpleSuggest\r\n }\r\n})\r\n\r\nexport default class StreetAutocomplete extends Vue {\r\n @Prop({ required: true })\r\n value: string;\r\n\r\n @Prop({ default: false })\r\n showFullAddress: boolean;\r\n\r\n @Prop()\r\n locale: string;\r\n\r\n @Prop()\r\n zipLocale: string;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n get displayValueField() {\r\n return this.showFullAddress ? \"address\" : \"streetAddress\";\r\n }\r\n\r\n query = \"\";\r\n selectedItem: Addr = new Addr(\"\", \"\", \"\");\r\n selectedLocale: string;\r\n\r\n autoCompleteStyle = {\r\n vueSimpleSuggest: \"position-relative\",\r\n inputWrapper: \"\",\r\n defaultInput: \"form-control\",\r\n suggestions: \"position-absolute list-group z-1000\",\r\n suggestItem: \"list-group-item\"\r\n }\r\n\r\n @Prop({ default: \"\" })\r\n postalFilter: string;\r\n\r\n @Emit()\r\n streetSelected(_street: string, _locale: string) { \r\n }\r\n\r\n @Emit()\r\n streetAddressSelected(_streetName: string, _postalCode: string, _postOffice: string,_locale: string) {\r\n }\r\n\r\n @Watch(\"value\")\r\n keepValueSync(oldValue, newValue) {\r\n this.query = this.value; \r\n }\r\n\r\n mounted() {\r\n this.query = this.value;\r\n }\r\n\r\n searchForStreets(query: string): Promise { \r\n return new Promise((resolve, reject) => {\r\n if (query.length > 1) {\r\n const hub = $.connection.commonHub.server;\r\n const postalFilter = this.postalFilter || \"\";\r\n const locale = this.zipLocale;\r\n hub.searchStreetAddressFilter(query, postalFilter, locale).done(function (data) {\r\n const arr: Addr[] = [];\r\n for (let i = 0; i < data.length; ++i) {\r\n const searchItem = data[i];\r\n arr.push(new Addr(searchItem.Item1, searchItem.Item2, searchItem.Item3, searchItem.Item4));\r\n }\r\n resolve(arr);\r\n });\r\n }\r\n else {\r\n resolve([]);\r\n }\r\n });\r\n }\r\n\r\n onBlur() {\r\n // this makes sure that street is emitted even when no item is selected\r\n if (this.query == null || this.query == \"\") {\r\n this.selectedLocale = null;\r\n }\r\n this.streetSelected(this.query, this.selectedLocale);\r\n }\r\n\r\n itemSelected(selected: Addr) {\r\n console.log(selected);\r\n let streetAddress = \"\";\r\n let locale = selected ? selected.locale : null;\r\n this.selectedLocale = locale;\r\n if (!selected) {\r\n streetAddress = this.query;\r\n this.streetSelected(streetAddress, locale);\r\n }\r\n else {\r\n streetAddress = selected.streetAddress;\r\n\r\n // query is the string which user has typed so it might be something\r\n // like Kauppaka so we need to autocomplete it with the selected value to\r\n // make sure that onBlur doesn't emit wrong value\r\n this.query = selected.streetAddress\r\n\r\n // street address selected can only be triggered here when address is selected not just typed\r\n this.streetAddressSelected(selected.streetAddress, selected.postalCode, selected.postOffice, selected.locale);\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./street-autocomplete.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./street-autocomplete.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./street-autocomplete.vue?vue&type=template&id=9a101850&\"\nimport script from \"./street-autocomplete.ts?vue&type=script&lang=ts&\"\nexport * from \"./street-autocomplete.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./street-autocomplete.vue?vue&type=style&index=0&id=9a101850&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"vue-simple-suggest\",\n {\n attrs: {\n \"value-attribute\": \"option_value\",\n \"display-attribute\": \"postal\",\n list: _vm.searchForPostalCodes,\n \"max-suggestions\": 8,\n styles: _vm.autoCompleteStyle,\n destyled: true,\n debounce: 100,\n mode: \"select\"\n },\n on: { select: _vm.itemSelected, blur: _vm.onBlur, focus: _vm.onFocus },\n model: {\n value: _vm.selectedItem,\n callback: function($$v) {\n _vm.selectedItem = $$v\n },\n expression: \"selectedItem\"\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.query,\n expression: \"query\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n \"aria-label\": \"Postinumero\",\n type: \"text\",\n maxlength: \"20\",\n disabled: _vm.disabled\n },\n domProps: { value: _vm.query },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.query = $event.target.value\n }\n }\n })\n ]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// Street autocomplete component for vue. Depends on vue-simple-suggest library.\r\nrequire(\"custom-event-polyfill\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\";\r\nimport VueSimpleSuggest from 'vue-simple-suggest'\r\nimport 'vue-simple-suggest/dist/styles.css'\r\n\r\n// Internal\r\nclass Addr {\r\n // \r\n option_value: string;\r\n postal: string;\r\n postalCode: string;\r\n postOffice: string;\r\n locale: string\r\n constructor(postalCode: string, postOffice: string, locale: string) {\r\n\r\n this.option_value = postalCode + locale ?? \"\";\r\n this.postalCode = postalCode;\r\n this.postOffice = postOffice;\r\n this.postal = postalCode + \" \" + postOffice;\r\n this.locale = locale;\r\n }\r\n}\r\n\r\n@Component({\r\n components: {\r\n VueSimpleSuggest\r\n }\r\n})\r\n\r\nexport default class PostalAutocomplete extends Vue {\r\n \r\n @Prop({ required: true })\r\n value: string;\r\n @Prop()\r\n place: string;\r\n\r\n @Prop()\r\n streetLocale: string;\r\n\r\n @Prop({ default: false })\r\n disabled: boolean;\r\n\r\n @Watch(\"value\")\r\n valueChanged(newValue: string) {\r\n this.query = newValue;\r\n }\r\n\r\n private query = \"\";\r\n private office = \"\";\r\n selectedItem: Addr = new Addr(\"\", \"\", \"\");\r\n selectedLocale: string;\r\n\r\n autoCompleteStyle = {\r\n vueSimpleSuggest: \"position-relative\",\r\n inputWrapper: \"\",\r\n defaultInput: \"form-control\",\r\n suggestions: \"position-absolute list-group z-1000\",\r\n suggestItem: \"list-group-item\"\r\n }\r\n\r\n @Emit()\r\n postalCodeSelected(_postalCode: string, _locale: string) {\r\n }\r\n\r\n @Emit()\r\n postOfficeSelected(_postalOffice: string) {\r\n }\r\n\r\n mounted() {\r\n this.query = this.value;\r\n this.office = this.place;\r\n }\r\n \r\n searchForPostalCodes(query: string): Promise | Addr[] { \r\n return new Promise((resolve, reject) => {\r\n const hub = $.connection.commonHub.server;\r\n const locale = this.streetLocale;\r\n hub.searchZipCode(query, locale).done(function (data) {\r\n const addrs = [];\r\n for (let i = 0; i < data.length; ++i) {\r\n const searchItem = data[i];\r\n addrs.push(new Addr(searchItem.Item1, searchItem.Item2, searchItem.Item3));\r\n }\r\n resolve(addrs);\r\n });\r\n });\r\n }\r\n\r\n onBlur() {\r\n // this makes sure that postal code is emitted even when no item is selected\r\n if (this.query == null || this.query == \"\") {\r\n this.selectedLocale = null;\r\n }\r\n this.postalCodeSelected(this.query, this.selectedLocale);\r\n // post office is set to null if item isn't selected from the list\r\n //this.postOfficeSelected(this.office);\r\n }\r\n\r\n onFocus() {\r\n if (this.selectedItem) {\r\n this.selectedItem.postal = `${this.selectedItem.postalCode} ${this.selectedItem.postOffice}`;\r\n }\r\n }\r\n\r\n //itemSelected(item: string | Addr) {\r\n itemSelected(selected: Addr) {\r\n let postalCode = \"\";\r\n let postOffice = \"\";\r\n let locale = null;\r\n if (!selected) {\r\n postalCode = this.query;\r\n // When re-opening the modal, post office would set to an empty string, and thus the post office would be removed from the contract process.\r\n // This hack is to prevent removing selected office when initially loading modal with existing data.\r\n postOffice = this.office;\r\n this.office = \"\";\r\n }\r\n else {\r\n postalCode = selected.postalCode;\r\n postOffice = selected.postOffice;\r\n locale = selected.locale;\r\n // query is the string which user has typed so it might be something\r\n // like 701 so we need to autocomplete it with the selected value to\r\n // make sure that onBlur doesn't emit wrong value\r\n this.query = postalCode;\r\n this.office = postOffice;\r\n // change postal to be same as postalCode. without this the field\r\n // content would be \"70100 KUOPIO\" not \"70100\"\r\n this.selectedItem.postal = postalCode;\r\n this.selectedItem.locale = locale;\r\n }\r\n this.selectedLocale = locale;\r\n this.postalCodeSelected(postalCode, locale);\r\n this.postOfficeSelected(postOffice);\r\n }\r\n}","import mod from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./postal-autocomplete.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./postal-autocomplete.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./postal-autocomplete.vue?vue&type=template&id=a4426574&\"\nimport script from \"./postal-autocomplete.ts?vue&type=script&lang=ts&\"\nexport * from \"./postal-autocomplete.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./postal-autocomplete.vue?vue&type=style&index=0&id=a4426574&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\"\r\nimport { IContactPersonViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport StreetAutocomplete from \"../../../../../../Scripts/vue-components/bootstrap-components/street-autocomplete.vue\";\r\nimport PostalAutocomplete from \"../../../../../../Scripts/vue-components/bootstrap-components/postal-autocomplete.vue\";\r\nimport { BvModalEvent } from 'bootstrap-vue'\r\n\r\n@Component({\r\n components: {\r\n StreetAutocomplete,\r\n PostalAutocomplete\r\n }\r\n})\r\n\r\nexport default class ContactPersonModal extends Vue {\r\n get street(): string { return this.contactPerson.Address.Street; }\r\n set street(val: string) { debugger; this.contactPerson.Address.Street = val; }\r\n\r\n @Prop()\r\n value;\r\n\r\n @Watch(\"value\")\r\n valueChanged(val: boolean) {\r\n this.show = this.value;\r\n }\r\n\r\n private show: boolean = false;\r\n private locale: string = null;\r\n\r\n @Watch(\"show\")\r\n showChanged(val: boolean) {\r\n this.$emit(\"input\", val);\r\n }\r\n\r\n @Prop()\r\n contactPerson: IContactPersonViewModel;\r\n\r\n @Emit()\r\n removeContactPerson(contactPerson: IContactPersonViewModel) { }\r\n\r\n @Emit()\r\n cancel() { }\r\n\r\n @Emit()\r\n ok(contactPerson: IContactPersonViewModel) { }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n beforeClose(msg) {\r\n if (msg == \"cancel\") {\r\n this.cancel();\r\n this.removeContactPerson(this.contactPerson);\r\n }\r\n return true;\r\n }\r\n\r\n hide(msg: BvModalEvent) {\r\n if (msg.trigger == \"cancel\") {\r\n this.cancel();\r\n this.removeContactPerson(this.contactPerson);\r\n }\r\n else if (msg.trigger == \"ok\")\r\n this.ok(this.contactPerson);\r\n }\r\n\r\n\r\n postOfficeSelected(postOffice: string) {\r\n this.contactPerson.Address.Place = postOffice;\r\n }\r\n\r\n postalSelected(postCode: string, locale: string) {\r\n this.locale = locale;\r\n this.contactPerson.Address.Zip = postCode;\r\n this.contactPerson.Address.Locale = locale;\r\n }\r\n\r\n streetSelected(street: string, locale: string) {\r\n this.locale = locale;\r\n this.contactPerson.Address.Street = street;\r\n this.contactPerson.Address.StreetName = street;\r\n this.contactPerson.Address.Locale = locale;\r\n }\r\n\r\n addressSelected(streetName: string, postalCode: string, postOffice: string, locale: string) {\r\n this.contactPerson.Address.Street = streetName;\r\n this.contactPerson.Address.StreetName = streetName;\r\n this.contactPerson.Address.Zip = postalCode;\r\n this.contactPerson.Address.Place = postOffice;\r\n this.contactPerson.Address.Locale = locale;\r\n this.locale = locale;\r\n }\r\n\r\n data() {\r\n return {\r\n show: false,\r\n variants: ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'light', 'dark'],\r\n headerBgVariant: 'light',\r\n headerTextVariant: 'dark', \r\n bodyTextVariant: 'dark',\r\n footerBgVariant: 'light'\r\n }\r\n }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-modal.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./contract-partner-modal.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Ccontract-partner-modal.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Ccontract-partner-modal.vue\"","import { render, staticRenderFns } from \"./contract-partner-modal.vue?vue&type=template&id=7d393e9e&\"\nimport script from \"./contract-partner-modal.ts?vue&type=script&lang=js&\"\nexport * from \"./contract-partner-modal.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../../Locales/contract-partner-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Ccontract-partner-modal.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\";\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../../Default/common/validation-message.vue\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport Authentication from \"./authentication.vue\";\r\nimport ContractPartnerCard from \"./components/contract-partner-card.vue\";\r\nimport ContractPartnerModal from \"./components/contract-partner-modal.vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { ContactPersonViewModel, IContactPersonViewModel, AddressViewModel, ICustomerViewModel, ICompanyViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { ArrayUtils } from \"@/Scripts/inpulse/Common-utils\";\r\nimport { ContactPersonUtils } from \"@/Scripts/inpulse/ContactPersonUtils\";\r\nimport { SectionChecker } from \"../../Default/common/section\";\r\nimport LoadingComponent from \"@/Scripts/vue-components/common/loading.vue\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.Customer.Pin,\r\n (contract: IContractViewModel) => contract.Customer.FirstName,\r\n (contract: IContractViewModel) => contract.Customer.LastName,\r\n (contract: IContractViewModel) => contract.Customer.Phone,\r\n (contract: IContractViewModel) => contract.Customer.Email\r\n ];\r\n this.validationIds = [\"Phone\", \"Email\"];\r\n }\r\n}\r\n\r\nexport let CustomerInformationChecker = new Checker();\r\n\r\ndeclare var currentLocale: string;\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage,\r\n FormGroupStatic,\r\n Authentication,\r\n ContractPartnerCard,\r\n ContractPartnerModal,\r\n LoadingIndicator: LoadingComponent\r\n },computed: mapState({ \r\n customerCulture(): string {\r\n let custCult = this.customer.CultureCode;\r\n if (custCult === null || custCult === '') {\r\n custCult = currentLocale;\r\n }\r\n if (custCult !== null) {\r\n if (custCult.startsWith('fi')) {\r\n custCult = 'suomi'\r\n }\r\n else {\r\n custCult = 'ruotsi'\r\n }\r\n return custCult;\r\n }\r\n }\r\n }),\r\n})\r\n\r\nexport default class CustomerInformation extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get strongContractAuthentication(): boolean { return this.contract.StrongContractAuthentication }\r\n get contractToNewAddressSelection(): number { return this.contract.ContractToNewAddressSelection }\r\n get contractPartners(): IContactPersonViewModel[] {\r\n let res = [];\r\n this.customer.ContractPartners.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n }\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n\r\n streetModel: string = \"\";\r\n zipModel: string = \"\";\r\n\r\n contractPartnerModalShow: boolean = false;\r\n contractPartner: IContactPersonViewModel = null;\r\n cachedContractPartners: IContactPersonViewModel[] = null;\r\n loadingPartners = false;\r\n\r\n @Prop()\r\n public validationErrors: any;\r\n\r\n @Prop()\r\n public showAuthentication: boolean;\r\n\r\n @Prop()\r\n public hideAuthenticationForcedText: boolean;\r\n\r\n @Emit()\r\n customerValueUpdated(allSet: boolean) {}\r\n \r\n @Emit()\r\n authenticate() { }\r\n \r\n constructor() {\r\n super();\r\n }\r\n\r\n addContractPartners() {\r\n //if (this.contractPartners != null && this.contractPartners.length >= 2) {\r\n // console.error(\"Only 2 contract partners can be added!\");\r\n // return;\r\n //}\r\n debugger;\r\n this.cachedContractPartners = this.contractPartners != null\r\n ? JSON.parse(JSON.stringify(this.contractPartners))\r\n : [];\r\n\r\n this.contractPartner = new ContactPersonViewModel();\r\n this.cachedContractPartners.push(this.contractPartner);\r\n this.contractPartnerModalShow = true;\r\n }\r\n\r\n modifyContractPartner(contractPartner: IContactPersonViewModel) {\r\n // When modify is called, there MUST be contract partners. It's a bug if none is found.\r\n let ndx = this.customer.ContractPartners.indexOf(contractPartner);\r\n this.cachedContractPartners = JSON.parse(JSON.stringify(this.contractPartners));\r\n this.contractPartner = this.cachedContractPartners[ndx];\r\n this.contractPartnerModalShow = true;\r\n }\r\n\r\n removeContractPartner(contractPartner: IContactPersonViewModel) {\r\n console.log(\"Remove contract partner!\");\r\n let ndx = this.cachedContractPartners.indexOf(contractPartner)\r\n this.cachedContractPartners.splice(ndx, 1);\r\n this.$store.dispatch(\"setContractPartners\", this.cachedContractPartners);\r\n }\r\n\r\n strip(ctor: any, obj: object) {\r\n let keys = Object.keys(new ctor());\r\n let keyMap = {};\r\n keys.forEach((key) => {\r\n keyMap[key] = true;\r\n });\r\n for (let p in obj) {\r\n if (obj.hasOwnProperty(p)) {\r\n if (keyMap[p] === undefined) {\r\n obj[p] = undefined;\r\n }\r\n }\r\n }\r\n }\r\n\r\n contractPartnerOk(contractPartner: IContactPersonViewModel) {\r\n // We are handling an object we got from the server. Its Address contains all the properties declared in the server side (C#) view model.\r\n // We must get rid of those properties that do not exist in the client side view model. Without doing so, the address parsing scheme\r\n // would not work, since SignalR creates the AddressViewModel object and sets all of its properties, and that would mess up the result.\r\n this.cachedContractPartners.forEach(x => this.strip(AddressViewModel, x.Address));\r\n let nonEmpty: IContactPersonViewModel[] = ArrayUtils.findAll(this.cachedContractPartners, (cp) => !ContactPersonUtils.isEmpty(cp));\r\n // Saving the entire model is problematic, as the addressviewmodel will launch every address component setter. \r\n // As the model only has StreetName set, the model will en up having entire street address on StreetName fields, wheares the rest (e.g HouseNumber, Apartment, etc) would end up empty.\r\n //this.$store.dispatch(\"setContractPartners\", nonEmpty);\r\n this.setContractPartners(nonEmpty);\r\n }\r\n\r\n setContractPartner(partner: IContactPersonViewModel, idx: number): Promise {\r\n let payloads = [\r\n { key: \"FirstName__contractpartner-\" + idx, value: partner.FirstName },\r\n { key: \"LastName__contractpartner-\" + idx, value: partner.LastName },\r\n { key: \"Pin__contractpartner-\" + idx, value: partner.Pin },\r\n { key: \"Phone__contractpartner-\" + idx, value: partner.Phone },\r\n { key: \"Email__contractpartner-\" + idx, value: partner.Email },\r\n { key: \"Street__contractpartner-\" + idx, value: partner.Address.Street, locale: partner.Address.Locale },\r\n { key: \"Zip__contractpartner-\" + idx, value: partner.Address.Zip, locale: partner.Address.Locale }\r\n ];\r\n return this.$store.dispatch(\"changeValues\", payloads);\r\n }\r\n\r\n setContractPartners(partners: IContactPersonViewModel[]) {\r\n let idx = 1;\r\n let promises = [];\r\n partners.forEach((x: IContactPersonViewModel) => {\r\n promises.push(this.setContractPartner(x, idx));\r\n idx++;\r\n });\r\n this.loadingPartners = true;\r\n Promise.all(promises).then(() => {\r\n console.log(\"ContractPartners saved to hub.\");\r\n }).catch(e => {\r\n console.error(\"Saving contractPartners failed.\");\r\n console.log(e);\r\n }).finally(() => {\r\n this.loadingPartners = false;\r\n });\r\n };\r\n\r\n valueUpdated() {\r\n let allSet = CustomerInformationChecker.isAllSet(this.contract);\r\n this.customerValueUpdated(allSet);\r\n }\r\n\r\n //data() {\r\n // return {\r\n // selected: null,\r\n // options: [\r\n // { value: 'null', text: this.$t('Valitse asiointikieli'), disabled: true },\r\n // { value: 'fi-FI', text: this.$t('suomi') },\r\n // { value: 'se-SV', text: this.$t('ruotsi') },\r\n\r\n // ]\r\n // }\r\n //}\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccustomer-information.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccustomer-information.vue\"","import { render, staticRenderFns } from \"./customer-information.vue?vue&type=template&id=d69d2544&\"\nimport script from \"./customer-information.ts?vue&type=script&lang=js&\"\nexport * from \"./customer-information.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccustomer-information.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.offerRequest || _vm.strongContractAuthentication\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Nimi\")))\n ]),\n _vm._v(\n \" \" +\n _vm._s(_vm.customer.FirstName) +\n \" \" +\n _vm._s(_vm.customer.LastName)\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))\n ]),\n _vm._v(\" \" + _vm._s(_vm.customer.Phone))\n ]\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n [\n !_vm.offerRequest\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\")))\n ]),\n _vm._v(\" \" + _vm._s(_vm.customer.Pin))\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-lg\": \"2\" }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))\n ]),\n _vm._v(\" \" + _vm._s(_vm.customer.Email))\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", {\n staticClass: \"control-label\",\n class: _vm.labelClass,\n domProps: { textContent: _vm._s(_vm.title) }\n }),\n _vm._v(\" \"),\n _c(\"div\", { class: _vm.divClass }, [\n _c(\"p\", { staticClass: \"form-control-static\" }, [_vm._t(\"default\")], 2)\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\n\r\n@Component({\r\n})\r\n\r\nexport default class HorizontalFormGroup extends Vue {\r\n @Prop()\r\n public title: string;\r\n @Prop()\r\n public value: string;\r\n\r\n @Prop({ default: \"col-sm-2\" })\r\n public labelClass: string;\r\n @Prop({ default: \"col-sm-10\" })\r\n public divClass: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./horizontal-form-group.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./horizontal-form-group.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./horizontal-form-group.vue?vue&type=template&id=e824df02&\"\nimport script from \"./horizontal-form-group.ts?vue&type=script&lang=js&\"\nexport * from \"./horizontal-form-group.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport { ContactPersonUtils } from \"../../../../../Scripts/inpulse/ContactPersonUtils\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\";\r\nimport ContractPartnerCard from \"./components/contract-partner-card.vue\";\r\n\r\n@Component({\r\n components: {\r\n FormGroupStatic,\r\n HorizontalFormGroup,\r\n ContractPartnerCard\r\n },\r\n computed: mapState({\r\n customer: (state: INewContractState) => state.contract.Customer,\r\n contract: (state: INewContractState) => state.contract,\r\n contractPartners: (state: INewContractState) => {\r\n let res = [];\r\n state.contract.Customer.ContractPartners.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n },\r\n strongContractAuthentication: (state: INewContractState) => state.contract.StrongContractAuthentication\r\n }),\r\n})\r\n\r\nexport default class CustomerInformationDisplay extends Vue {\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./customer-information-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccustomer-information-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccustomer-information-display.vue\"","import { render, staticRenderFns } from \"./customer-information-display.vue?vue&type=template&id=4ce0c89f&\"\nimport script from \"./customer-information-display.ts?vue&type=script&lang=js&\"\nexport * from \"./customer-information-display.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/customer-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccustomer-information-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Y-tunnus\")))\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.company.BusinessId) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.company.Phone) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön etunimi\")))\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].FirstName))\n ])\n : _vm._e()\n ]\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yrityksen nimi\")))\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.company.CompanyName) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköposti\")))\n ]),\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.company.Email) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön sukunimi\")))\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].LastName))\n ])\n : _vm._e()\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"2\",\n \"label-align-lg\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilön sähköpostiosoite\")))\n ]),\n _vm._v(\" \"),\n _vm.contactPersons.length > 0\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.contactPersons[0].Email))\n ])\n : _vm._e()\n ]\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { INewContractState } from \"../../new-contract-vuex-store\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\";\r\nimport { ContactPersonUtils } from \"../../../../../Scripts/inpulse/ContactPersonUtils\";\r\n\r\n@Component({\r\n components: {\r\n FormGroupStatic,\r\n HorizontalFormGroup\r\n },\r\n computed: mapState({\r\n company: (state: INewContractState) => state.contract.Company,\r\n contract: (state: INewContractState) => state.contract,\r\n contactPersons: (state: INewContractState) => {\r\n const res = [];\r\n state.contract.Company.ContactPersons.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n }\r\n }),\r\n})\r\n\r\nexport default class CompanyInformationDisplay extends Vue { \r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccompany-information-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccompany-information-display.vue\"","import { render, staticRenderFns } from \"./company-information-display.vue?vue&type=template&id=79503333&\"\nimport script from \"./company-information-display.ts?vue&type=script&lang=js&\"\nexport * from \"./company-information-display.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccompany-information-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n !_vm.company.TrustedSource && !_vm.offerRequest\n ? _c(\"authentication\", {\n attrs: {\n \"test-mode\": _vm.contract.TestMode,\n \"show-authentication\": _vm.showAuthentication\n },\n on: { authenticate: _vm.authenticate }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.company.TrustedSource || _vm.offerRequest\n ? _c(\n \"div\",\n [\n [\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"company_information_businessid_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Y-tunnus\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"BusinessId\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control contract-field\",\n attrs: {\n type: \"text\",\n id: \"company_information_businessid_field\",\n name: \"BusinessId\",\n maxlength: \"20\",\n value: _vm.company.BusinessId\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"company_information_name_field\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Yrityksen nimi\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"CompanyName\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control contract-field\",\n attrs: {\n type: \"text\",\n id: \"company_information_name_field\",\n name: \"CompanyName\",\n maxlength: \"80\",\n value: _vm.company.CompanyName\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"company_information_phone_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"CompanyPhone\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n id: \"company_information_phone_field\",\n name: \"CompanyPhone\",\n value: _vm.company.Phone\n ? _vm.company.Phone\n : \"+358\"\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { id: \"company_information_email_field\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"CompanyEmail\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"email\",\n id: \"company_information_email_field\",\n name: \"CompanyEmail\",\n value: _vm.company.Email\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for:\n \"company_information_contactperson_firstname_field\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Yhteyshenkilön etunimi\"))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"FirstName__contactperson-1\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n id:\n \"company_information_contactperson_firstname_field\",\n name: \"FirstName__contactperson-1\",\n maxlength: \"50\",\n value: _vm.contactPersonFirstName\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for:\n \"company_information_contactperson_lastname_field\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Yhteyshenkilön sukunimi\"))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"LastName__contactperson-1\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n id:\n \"company_information_contactperson_lastname_field\",\n name: \"LastName__contactperson-1\",\n maxlength: \"50\",\n value: _vm.contactPersonLastName\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Yhteyshenkilön puhelinnumero\")\n )\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Phone__contactperson-1\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n name: \"Phone__contactperson-1\",\n maxlength: \"50\",\n value: _vm.contactPersonPhone\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"6\", md: \"4\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Yhteyshenkilön sähköpostiosoite\"\n )\n )\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Email__contactperson-1\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n name: \"Email__contactperson-1\",\n maxlength: \"100\",\n value: _vm.contactPersonEmail\n },\n on: { \"value-updated\": _vm.valueUpdated }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e()\n ]\n ],\n 2\n )\n : _vm._e()\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find-index\");\r\n\r\nimport Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { mapState } from \"vuex\";\r\nimport { INewContractState, IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { ICompanyViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport Authentication from \"./authentication.vue\";\r\nimport { SectionChecker } from \"../../Default/common/section\";\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\";\r\nimport ValidationMessage from \"../../Default/common/validation-message.vue\";\r\nimport { ContractContactPersonTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.Company.BusinessId,\r\n (contract: IContractViewModel) => contract.Company.CompanyName,\r\n (contract: IContractViewModel) => contract.Company.Phone,\r\n (contract: IContractViewModel) => contract.Company.Email,\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].FirstName : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].LastName : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].Phone : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].Email : null },\r\n (contract: IContractViewModel) => { return contract.Company.ContactPersons.length > 0 ? contract.Company.ContactPersons[0].ContactPersonRole : null }\r\n ];\r\n this.validationIds = [\"BusinessId\", \"CompanyName\", \"Phone\", \"Email\", \"LastName__contactperson-1\", \"FirstName__contactperson-1\", \"Phone__contactperson-1\", \"Email__contactperson-1\"];\r\n }\r\n}\r\n\r\nexport let CompanyInformationChecker = new Checker();\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n ValidationMessage,\r\n Authentication\r\n },\r\n computed: mapState({\r\n contract: (state: INewContractState) => state.contract,\r\n company: (state: INewContractState) => state.contract.Company,\r\n contactPersonFirstName: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].FirstName\r\n : null,\r\n contactPersonLastName: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].LastName\r\n : null,\r\n contactPersonPhone: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].Phone\r\n : null,\r\n contactPersonEmail: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].Email\r\n : null,\r\n contactPersonRole: (state: INewContractState) =>\r\n state.contract.Company.ContactPersons != null && state.contract.Company.ContactPersons.length != 0\r\n ? state.contract.Company.ContactPersons[0].ContactPersonRole\r\n : null,\r\n })\r\n})\r\n\r\nexport default class CompanyInformation extends Vue {\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get company(): ICompanyViewModel { return this.$store.state.contract.Company; }\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n get strongContractAuthentication(): boolean { return this.contract.StrongContractAuthentication }\r\n\r\n @Prop()\r\n public validationErrors: any;\r\n\r\n @Prop()\r\n public showAuthentication: boolean;\r\n\r\n @Emit()\r\n companyValueUpdated(allSet: boolean) { }\r\n\r\n @Emit()\r\n authenticate() { }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n valueUpdated() {\r\n let c: ICompanyViewModel = this.company;\r\n let cp = c.ContactPersons[0];\r\n let values = [\r\n c.CompanyName,\r\n c.BusinessId,\r\n cp != null ? cp.FirstName : null,\r\n cp != null ? cp.LastName : null,\r\n c.Phone,\r\n c.Email\r\n ];\r\n\r\n let ndx = values.findIndex(x => x == null || x.toString().length == 0)\r\n this.companyValueUpdated(ndx == -1);\r\n //let allSet = CompanyInformationChecker.isAllSet(this.contract);\r\n //this.companyValueUpdated(allSet);\r\n }\r\n\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./company-information.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccompany-information.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccompany-information.vue\"","import { render, staticRenderFns } from \"./company-information.vue?vue&type=template&id=0535fb0e&\"\nimport script from \"./company-information.ts?vue&type=script&lang=js&\"\nexport * from \"./company-information.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/company-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccompany-information.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"12\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-errors\": _vm.validationErrors,\n \"validation-id\": \"MPZip\"\n }\n },\n [\n _c(\n \"b-form-group\",\n { staticClass: \"mb-0\", attrs: { \"label-cols-sm\": \"12\" } },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Postinumero\")))\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { cols: \"4\" } },\n [\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"mpinformation_postalcode_field\",\n \"street-locale\": _vm.mpStreetLocale\n },\n on: {\n \"postal-code-selected\":\n _vm.meteringPointPostalSelected\n },\n model: {\n value: _vm.postalStr,\n callback: function($$v) {\n _vm.postalStr = $$v\n },\n expression: \"postalStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { cols: \"12\", md: \"6\", lg: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-errors\": _vm.validationErrors,\n \"validation-id\": \"MPStreet\"\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: { \"label-cols-sm\": \"12\", \"label-cols-md\": \"12\" }\n },\n [\n _vm.isMoveOut\n ? _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Loppulaskun osoite\")) +\n \"\\n \"\n ),\n _vm.additionalAddressToMeteringPointAddress\n ? _c(\"font-awesome-icon\", {\n style: _vm.tooltipStyle,\n attrs: {\n icon: \"exclamation-circle\",\n id: \"tooltip-mp-street-invoicing\",\n size: \"lg\"\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.additionalAddressToMeteringPointAddress\n ? _c(\n \"b-tooltip\",\n {\n attrs: {\n target: \"tooltip-mp-street-invoicing\",\n variant: \"primary\",\n placement: \"right\",\n triggers: \"hover\"\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n : _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Käyttöpaikan osoite\")) +\n \"\\n \"\n ),\n _vm.additionalAddressToMeteringPointAddress\n ? _c(\"font-awesome-icon\", {\n style: _vm.tooltipStyle,\n attrs: {\n icon: \"exclamation-circle\",\n id: \"tooltip-mp-street\",\n size: \"lg\"\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _vm.additionalAddressToMeteringPointAddress\n ? _c(\n \"b-tooltip\",\n {\n attrs: {\n target: \"tooltip-mp-street\",\n variant: \"primary\",\n placement: \"right\",\n triggers: \"hover\"\n }\n },\n [\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\"\n )\n ) +\n \"\\n \"\n )\n ]\n )\n : _vm._e()\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"mpinformation_mpstreet_field\",\n \"postal-filter\": _vm.contract.MeteringPoint.Address.Zip,\n \"zip-locale\": _vm.mpZipLocale\n },\n on: { \"street-selected\": _vm.meteringPointStreetSelected },\n model: {\n value: _vm.mpStreetStr,\n callback: function($$v) {\n _vm.mpStreetStr = $$v\n },\n expression: \"mpStreetStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"b-col\", { attrs: { cols: \"4\", md: \"3\", lg: \"2\" } }, [\n _c(\n \"div\",\n {\n staticClass: \"form-group metering-point-info\",\n attrs: { \"data-validation-id\": \"MPZip\" }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.contract.MeteringPoint.Address.Zip\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Postinumero\")))\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"\")))\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n attrs: { name: \"MPZip\" },\n domProps: {\n textContent: _vm._s(_vm.contract.MeteringPoint.Address.Zip)\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { cols: \"4\", md: \"3\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.contract.MeteringPoint.Address.Place\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Postitoimipaikka\")))\n ])\n : _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"\")))\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n domProps: {\n textContent: _vm._s(_vm.contract.MeteringPoint.Address.Place)\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { cols: \"6\", sm: \"6\", md: \"4\", lg: \"3\" } }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"mp-code\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Käyttöpaikkatunnus\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n id: \"mp-code\",\n type: \"text\",\n name: \"GsrnCode\",\n maxlength: \"18\",\n disabled: _vm.disableMeteringPointcodeField\n },\n model: {\n value: _vm.gsrnCode,\n callback: function($$v) {\n _vm.gsrnCode = $$v\n },\n expression: \"gsrnCode\"\n }\n })\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _c(\"b-col\", { attrs: { cols: \"6\", sm: \"6\", md: \"4\", lg: \"3\" } }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"\")))\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.contract.MeteringPoint.NetworkCompanyName)\n )\n ]\n )\n ],\n 1\n )\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.MeteringPoint.SearchedNotFound && !_vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { cols: \"12\" } }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"24\",\n \"label-cols-md\": \"24\",\n \"label-cols-lg\": \"24\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n staticStyle: { color: \"red\" }\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Tarkistathan vielä antamasi käyttöpaikan osoitetiedot ja jatka sopimuksen tekoa painamalla jatka.\"\n )\n )\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { md: \"12\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"IsCustomerAddressInUse\",\n \"true-value\": \"1\",\n \"false-value\": \"0\"\n },\n domProps: { checked: _vm.contract.IsCustomerAddressInUse }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Postiosoitteeni on eri kuin käyttöpaikan osoite.\"\n )\n ) +\n \"\\n \"\n )\n ])\n ])\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n [\n _c(\"transition\", { on: { \"after-enter\": _vm.afterEnter_mp } }, [\n _vm.contract.IsCustomerAddressInUse\n ? _c(\"div\", { staticClass: \"card panel-default\" }, [\n _c(\"div\", { staticClass: \"card-header\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Asiakkaan postiosoite\")) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"card-body\" }, [\n _c(\"p\", [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Mikäli teet sopimusta eri osoitteeseen kuin missä asut (esimerkiksi kesämökille), syötä oma osoitteesi tässä.\"\n )\n )\n )\n ]),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-sm-6 col-md-5\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"Street\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Katuosoite\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"meteringpointStreetStr_field\",\n \"postal-filter\":\n _vm.contract.Customer.Address.Zip,\n \"zip-locale\": _vm.customerZipLocale\n },\n on: {\n \"street-selected\":\n _vm.customerStreetSelected\n },\n model: {\n value: _vm.customerStreetStr,\n callback: function($$v) {\n _vm.customerStreetStr = $$v\n },\n expression: \"customerStreetStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-6 col-sm-6 col-md-3\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"Zip\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"meteringpointPostalCodeStr_field\",\n \"post-office-target\":\n \"#customer-post-office\",\n \"street-locale\": _vm.customerStreetLocale\n },\n on: {\n \"postal-code-selected\":\n _vm.customerPostalSelected\n },\n model: {\n value: _vm.customerZipStr,\n callback: function($$v) {\n _vm.customerZipStr = $$v\n },\n expression: \"customerZipStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-3\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.customer.Address.Place\n ? _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\"\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Postitoimipaikka\"))\n )\n ]\n )\n : _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\"\n },\n [_vm._v(_vm._s(_vm.$t(\"\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n attrs: { id: \"customer-post-office\" },\n domProps: {\n textContent: _vm._s(\n _vm.customer.Address.Place\n )\n }\n })\n ],\n 1\n )\n ]\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == _vm.CustomerTypeEnum.COMPANY\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-sm-6 col-md-5\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"Street\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Katuosoite\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"meteringpointStreetStr_field\",\n \"postal-filter\":\n _vm.contract.MeteringPoint.Address.Zip,\n \"zip-locale\": _vm.companyZipLocale\n },\n on: {\n \"street-selected\": _vm.companyStreetSelected\n },\n model: {\n value: _vm.companyStreetStr,\n callback: function($$v) {\n _vm.companyStreetStr = $$v\n },\n expression: \"companyStreetStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-6 col-sm-6 col-md-3\" },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"Zip\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"meteringpointPostalCodeStr_field\",\n \"post-office-target\":\n \"#company-post-office\",\n \"street-locale\": _vm.companyStreetLocale\n },\n on: {\n \"postal-code-selected\":\n _vm.companyPostalSelected\n },\n model: {\n value: _vm.companyZipStr,\n callback: function($$v) {\n _vm.companyZipStr = $$v\n },\n expression: \"companyZipStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"col-xs-12 col-sm-6 col-md-3\" },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.company.Address.Place\n ? _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\"\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Postitoimipaikka\"))\n )\n ]\n )\n : _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\"\n },\n [_vm._v(_vm._s(_vm.$t(\"\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticStyle: { \"margin-top\": \"8px\" },\n attrs: { id: \"company-post-office\" },\n domProps: {\n textContent: _vm._s(\n _vm.company.Address.Place\n )\n }\n })\n ],\n 1\n )\n ]\n )\n ])\n : _vm._e()\n ])\n ])\n : _vm._e()\n ])\n ],\n _vm._v(\" \"),\n !_vm.offerRequest\n ? [\n _c(\"div\", { staticClass: \"card panel-default\" }, [\n _c(\"div\", { staticClass: \"card-header\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.$t(\"Haluan sähkölaskuni\")) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"card-body\" },\n [\n _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { cols: \"12\" } }, [\n _c(\n \"div\",\n {\n directives: [\n {\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip\",\n value: _vm.invoicingMethodELaskuStr,\n expression: \"invoicingMethodELaskuStr\"\n }\n ],\n staticClass: \"form-group\"\n },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingMethod\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [_vm._v(_vm._s(_vm.$t(\"Laskutustapa\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n ? _c(\n \"div\",\n {\n directives: [\n {\n name: \"b-tooltip\",\n rawName: \"v-b-tooltip\",\n value:\n _vm.invoicingMethodELaskuStrDisabled,\n expression:\n \"invoicingMethodELaskuStrDisabled\"\n }\n ],\n staticClass: \"radio\"\n },\n [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName:\n \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\"\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum\n .ConsumerEInvoice,\n checked:\n _vm.contract\n .InvoicingMethod ==\n _vm.InvoicingMethodEnum\n .ConsumerEInvoice\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged\n }\n }),\n _vm._v(\n \" \" +\n _vm._s(\n _vm.$t(\n \"e-lasku (Kirjoita Lisätietoja-kenttään oman pankkisi nimi, esim. Osuuspankki)\"\n )\n ) +\n \"\\n \"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY\n ? _c(\"div\", { staticClass: \"radio\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName:\n \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\"\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum\n .CompanyEInvoice,\n checked:\n _vm.contract\n .InvoicingMethod ==\n _vm.InvoicingMethodEnum\n .CompanyEInvoice\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged\n }\n }),\n _vm._v(\n \" \" +\n _vm._s(_vm.$t(\"verkkolasku\")) +\n \"\\n \"\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\n \"label\",\n { staticClass: \"checkbox-inline\" },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.showInvoicingAddressSection,\n expression:\n \"showInvoicingAddressSection\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name:\n \"showInvoicingAddressSection\",\n \"true-value\": \"1\",\n \"false-value\": \"0\",\n disabled:\n _vm.contract.InvoicingMethod !=\n _vm.InvoicingMethodEnum\n .ConsumerEInvoice &&\n _vm.contract.InvoicingMethod !=\n _vm.InvoicingMethodEnum\n .CompanyEInvoice\n },\n domProps: {\n checked:\n _vm.showInvoicingAddressSection ==\n 1,\n checked: Array.isArray(\n _vm.showInvoicingAddressSection\n )\n ? _vm._i(\n _vm.showInvoicingAddressSection,\n null\n ) > -1\n : _vm._q(\n _vm.showInvoicingAddressSection,\n \"1\"\n )\n },\n on: {\n change: function($event) {\n var $$a =\n _vm.showInvoicingAddressSection,\n $$el = $event.target,\n $$c = $$el.checked ? \"1\" : \"0\"\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n (_vm.showInvoicingAddressSection = $$a.concat(\n [$$v]\n ))\n } else {\n $$i > -1 &&\n (_vm.showInvoicingAddressSection = $$a\n .slice(0, $$i)\n .concat(\n $$a.slice($$i + 1)\n ))\n }\n } else {\n _vm.showInvoicingAddressSection = $$c\n }\n }\n }\n }),\n _vm._v(\n \"\\n \" +\n _vm._s(\n _vm.$t(\n \"Haluan sähkölaskuni toiseen osoitteeseen\"\n )\n ) +\n \"\\n \"\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n _c(\n \"small\",\n {\n staticStyle: { \"margin-left\": \"20px\" }\n },\n [\n _vm._v(\n \"Voit lisätä erillisen laskutusosoitteen.\"\n )\n ]\n )\n ]),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"DeliveryEmail\",\n \"validation-errors\":\n _vm.validationErrors\n }\n },\n [\n _c(\"div\", { staticClass: \"radio\" }, [\n _c(\"label\", [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName:\n \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingMethod\"\n },\n domProps: {\n value:\n _vm.InvoicingMethodEnum.Email,\n checked:\n _vm.contract\n .InvoicingMethod ==\n _vm.InvoicingMethodEnum.Email\n },\n on: {\n \"value-updated\":\n _vm.invoicingMethodChanged\n }\n }),\n _vm._v(\n \" Sähköpostilaskuna\\n \"\n ),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.contract.DeliveryEmail,\n expression:\n \"contract.DeliveryEmail\"\n },\n {\n name: \"new-contract-value\",\n rawName:\n \"v-new-contract-value\"\n }\n ],\n staticClass:\n \"form-control contract-field\",\n staticStyle: {\n width: \"260px\",\n display:\n \"inline-block !important\"\n },\n attrs: {\n type: \"email\",\n name: \"DeliveryEmail\",\n maxlength: \"100\",\n disabled:\n _vm.contract\n .InvoicingMethod !=\n _vm.InvoicingMethodEnum.Email\n },\n domProps: {\n value:\n _vm.contract.DeliveryEmail\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract,\n \"DeliveryEmail\",\n $event.target.value\n )\n }\n }\n })\n ])\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.showInvoicingAddressSection == 1\n ? _c(\n \"b-row\",\n [\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY\n ? _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingContactName\",\n \"validation-errors\":\n _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n attrs: {\n for: \"invoicing-contact\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Yhteyshenkilö\"))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.contract.InvoicingAddress\n .ContactPersonName,\n expression:\n \"contract.InvoicingAddress.ContactPersonName\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"invoicing-contact\",\n type: \"text\",\n name: \"InvoicingContactPersonCompany\",\n maxlength: \"70\"\n },\n domProps: {\n value:\n _vm.contract.InvoicingAddress\n .ContactPersonName\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract.InvoicingAddress,\n \"ContactPersonName\",\n $event.target.value\n )\n }\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"5\" } },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingStreet\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"invoicingStreetStr_field\"\n }\n },\n [\n _vm._v(\n _vm._s(_vm.$t(\"Laskutusosoite\"))\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"street-autocomplete\", {\n attrs: {\n id: \"invoicingStreetStr_field\",\n \"postal-filter\":\n _vm.contract.InvoicingAddress.Address\n .Zip,\n \"zip-locale\": _vm.invoicingZipLocale\n },\n on: {\n \"street-selected\":\n _vm.invoicingStreetSelected\n },\n model: {\n value: _vm.invoicingStreetStr,\n callback: function($$v) {\n _vm.invoicingStreetStr = $$v\n },\n expression: \"invoicingStreetStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { cols: \"12\", sm: \"12\", md: \"3\" } },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingZip\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: {\n for: \"invoicingPostalCodeStr_field\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"Postinumero\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"postal-autocomplete\", {\n attrs: {\n id: \"invoicingPostalCodeStr_field\",\n \"post-office-target\":\n \"#invoicing-post-office\",\n \"street-locale\": _vm.invoicingStreetLocale\n },\n on: {\n \"postal-code-selected\":\n _vm.invoicingPostalSelected\n },\n model: {\n value: _vm.invoicingZipStr,\n callback: function($$v) {\n _vm.invoicingZipStr = $$v\n },\n expression: \"invoicingZipStr\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { cols: \"12\", sm: \"12\", md: \"3\" } },\n [\n _c(\n \"div\",\n { staticClass: \"form-group no-margin-bottom\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.contract.InvoicingAddress.Address\n .Place\n ? _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n attrs: {\n for: \"invoicing-post-office\"\n }\n },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\"Postitoimipaikka\")\n )\n )\n ]\n )\n : _c(\n \"label\",\n {\n staticClass:\n \"font-weight-bold pt-0\",\n attrs: {\n for: \"invoicing-post-office\"\n }\n },\n [_vm._v(_vm._s(_vm.$t(\"\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"p\", {\n staticClass: \"form-control-static vertical\",\n attrs: { id: \"invoicing-post-office\" },\n domProps: {\n textContent: _vm._s(\n _vm.contract.InvoicingAddress.Address\n .Place\n )\n }\n })\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"4\" } },\n [\n _c(\n \"validated-form-group\",\n {\n staticClass: \"no-margin-bottom\",\n attrs: {\n \"validation-id\": \"InvoicingCountry\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"invoicing-country\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Maa\")))]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value:\n _vm.contract.InvoicingAddress.Address\n .Country,\n expression:\n \"contract.InvoicingAddress.Address.Country\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"form-control\",\n attrs: {\n id: \"invoicing-country\",\n type: \"text\",\n name: \"InvoicingCountry\",\n maxlength: \"100\"\n },\n domProps: {\n value:\n _vm.contract.InvoicingAddress.Address\n .Country\n },\n on: {\n input: function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.$set(\n _vm.contract.InvoicingAddress.Address,\n \"Country\",\n $event.target.value\n )\n }\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n ])\n ]\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", { attrs: { md: \"12\" } }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskujen määrä vuodessa\")))\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"InvoicingGroup\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"label\", { staticClass: \"radio-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingGroup\"\n },\n domProps: {\n value: 4,\n checked: _vm.contract.InvoicingGroup == 4\n }\n }),\n _vm._v(\n \" 4 \" +\n _vm._s(_vm.$t(\"kpl\")) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"radio-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingGroup\"\n },\n domProps: {\n value: 6,\n checked: _vm.contract.InvoicingGroup == 6\n }\n }),\n _vm._v(\n \" 6 \" +\n _vm._s(_vm.$t(\"kpl\")) +\n \"\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"radio-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"InvoicingGroup\"\n },\n domProps: {\n value: 12,\n checked: _vm.contract.InvoicingGroup == 12\n }\n }),\n _vm._v(\n \" 12 \" +\n _vm._s(_vm.$t(\"kpl\")) +\n \"\\n \"\n )\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col-md-12\" }, [\n _c(\n \"div\",\n { staticClass: \"form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\"Sopimuksen teon syy\")\n ])\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"ContractReason\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _vm.customer.TrustedSource &&\n (_vm.customerContracts == null ||\n _vm.customerContracts.length != 0)\n ? _c(\"div\", { staticClass: \"radio\" }, [\n _c(\n \"label\",\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.ContractReason,\n expression: \"contract.ContractReason\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"ContractReason\"\n },\n domProps: {\n value: _vm.contractReasonContractChange,\n checked: _vm._q(\n _vm.contract.ContractReason,\n _vm.contractReasonContractChange\n )\n },\n on: {\n \"value-updated\": _vm.contractReasonChanged,\n change: function($event) {\n return _vm.$set(\n _vm.contract,\n \"ContractReason\",\n _vm.contractReasonContractChange\n )\n }\n }\n }),\n _vm._v(\" Tuotteen vaihto \"),\n _c(\"i\", {\n staticClass: \"fa fa-info-circle\",\n attrs: {\n id:\n \"contract-reason-contract-change-tooltip\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b-tooltip\", {\n attrs: {\n target:\n \"contract-reason-contract-change-tooltip\",\n title:\n \"Minulla on jo sähkösopimus PKS:n kanssa, johon vaihdan nyt toisen tuotteen.\",\n triggers: \"hover\"\n }\n })\n ],\n 1\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"radio\",\n staticStyle: { \"margin-top\": \"0\" }\n },\n [\n _c(\n \"label\",\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.ContractReason,\n expression: \"contract.ContractReason\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"radio\",\n name: \"ContractReason\"\n },\n domProps: {\n value: _vm.contractReasonMoveIn,\n checked: _vm._q(\n _vm.contract.ContractReason,\n _vm.contractReasonMoveIn\n )\n },\n on: {\n \"value-updated\": _vm.contractReasonChanged,\n change: function($event) {\n return _vm.$set(\n _vm.contract,\n \"ContractReason\",\n _vm.contractReasonMoveIn\n )\n }\n }\n }),\n _vm._v(\" Muutto \"),\n _c(\"i\", {\n staticClass: \"fa fa-info-circle\",\n attrs: { id: \"contract-reason-move-in-tooltip\" }\n }),\n _vm._v(\" \"),\n _c(\"b-tooltip\", {\n attrs: {\n target: \"contract-reason-move-in-tooltip\",\n title:\n \"Minulla ei ole tällä käyttöpaikalla aiempaa sopimusta minkään myyjän kanssa.\",\n triggers: \"hover\"\n }\n })\n ],\n 1\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"radio\" }, [\n _c(\n \"label\",\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.contract.ContractReason,\n expression: \"contract.ContractReason\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: { type: \"radio\", name: \"ContractReason\" },\n domProps: {\n value: _vm.contractReasonSupplierChange,\n checked: _vm._q(\n _vm.contract.ContractReason,\n _vm.contractReasonSupplierChange\n )\n },\n on: {\n \"value-updated\": _vm.contractReasonChanged,\n change: function($event) {\n return _vm.$set(\n _vm.contract,\n \"ContractReason\",\n _vm.contractReasonSupplierChange\n )\n }\n }\n }),\n _vm._v(\" Myyjän vaihto \"),\n _c(\"i\", {\n staticClass: \"fa fa-info-circle\",\n attrs: {\n id: \"contract-reason-supplier-change-tooltip\"\n }\n }),\n _vm._v(\" \"),\n _c(\"b-tooltip\", {\n attrs: {\n target:\n \"contract-reason-supplier-change-tooltip\",\n title:\n \"Minulla on käyttöpaikassa sopimus toisen myyjän kanssa ja haluan vaihtaa sähkönmyyjää. Hoidamme nykyisen sähkösopimuksen irtisanomisen puolestasi.\",\n triggers: \"hover\"\n }\n })\n ],\n 1\n )\n ])\n ]\n )\n ],\n 1\n )\n ])\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isPriimaPlus\n ? _c(\n \"b-row\",\n { staticClass: \"priimaplus\" },\n [\n _c(\"b-col\", { attrs: { xs: \"12\" } }, [\n _c(\"div\", { staticClass: \"form-group\" }, [\n _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"contract-field\",\n attrs: {\n type: \"checkbox\",\n name: \"ExtraServiceOrder\",\n \"true-value\": \"1\",\n \"false-value\": \"0\"\n },\n domProps: { checked: _vm.contract.ExtraServiceOrder == 1 }\n }),\n _vm._v(\n \" Tilaan hinnankiinnityspalvelun (maksuton lisäpalvelu Priimaplus -asiakkaalle)\\n \"\n )\n ])\n ])\n ])\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.hasPreSelectedMembership()\n ? _c(\"div\", [\n _vm.isPreSelectedMembership(\"omakotiliitto\")\n ? _c(\"p\", [\n _vm._v(\n \"Omakotiliiton jäsenenä saat 50 %:n alennuksen kuukausimaksusta. Lisäksi Pohjois-Karjalan Sähkö Oy maksaa uusille jäsenille ensimmäisen vuoden jäsenmaksun.\"\n )\n ])\n : _vm._e()\n ])\n : _vm.hasMembership\n ? _c(\"div\", [_c(\"Membership\")], 1)\n : _vm._e(),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"12\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"StartDate\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _c(\n \"label\",\n { staticClass: \"font-weight-bold pt-0\" },\n [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Sopimuksen toivottu alkamispäivämäärä\"\n )\n )\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.showOldContractStartMessage\n ? [\n _c(\n \"p\",\n [\n _vm._v(\n \"Sinun nykyinen \" +\n _vm._s(_vm.getOldProductName()) +\n \" sopimuksesi on määräaikainen \" +\n _vm._s(\n _vm._f(\"date\")(\n _vm.contract.OldContractEndDate\n )\n ) +\n \" saakka. \"\n ),\n _vm.showNewContractStartDateText(\n _vm.contract.OldContractEndDate\n )\n ? [\n _vm._v(\n \"\\n Uuden sopimuksen voimaantulopäivä on aikaisintaan \" +\n _vm._s(\n _vm._f(\"date\")(\n _vm.contract.OldContractEndDate\n )\n ) +\n \".\\n\"\n )\n ]\n : _vm._e()\n ],\n 2\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { xs: \"12\", sm: \"12\", md: \"6\", lg: \"4\" } },\n [\n _c(\"b-form-datepicker\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n staticClass: \"mb-2\",\n attrs: {\n id: \"startdate-datepicker\",\n placeholder: \"pp.kk.vvvv\",\n \"start-weekday\": \"1\",\n name: \"StartDate\",\n \"date-format-options\": {\n day: \"numeric\",\n month: \"numeric\",\n year: \"numeric\"\n },\n locale: _vm.datePickerlanguage,\n \"hide-header\": true,\n \"label-help\": \"\",\n \"no-highlight-today\": \"\",\n min: _vm.minDate,\n max: _vm.maxDate,\n \"date-disabled-fn\": _vm.disableDates\n },\n model: {\n value: _vm.startDate,\n callback: function($$v) {\n _vm.startDate = $$v\n },\n expression: \"startDate\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { cols: \"12\", md: \"6\" } },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"ExtraInformation\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\n \"b-form-group\",\n [\n _c(\n \"label\",\n {\n staticClass: \"font-weight-bold pt-0\",\n attrs: { for: \"ExtraInformation\" }\n },\n [_vm._v(\"Lisätietoja\")]\n ),\n _vm._v(\" \"),\n _c(\"b-form-textarea\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n id: \"ExtraInformation\",\n name: \"ExtraInformation\",\n rows: \"3\",\n maxlength: \"1000\",\n placeholder: \"Maksimipituus 1000 merkkiä\"\n },\n model: {\n value: _vm.contract.ExtraInformation,\n callback: function($$v) {\n _vm.$set(_vm.contract, \"ExtraInformation\", $$v)\n },\n expression: \"contract.ExtraInformation\"\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n !_vm.offerRequest\n ? _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _c(\"span\", [\n _vm._v(\n _vm._s(\n _vm.$t(\n \"Huomioithan, että verkkoyhtiö voi ottaa sinuun yhteyttä kytkennän turvallisuuden varmistamiseksi.\"\n )\n )\n )\n ])\n ])\n ],\n 1\n )\n : _vm._e()\n ],\n 2\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import * as moment from \"moment-recent\";\r\nimport { IContractViewModel } from \"@/Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, ContractReasonEnum } from \"@/Scripts/inpulse/CommonEnums\";\r\nimport { IContractSettings } from \"./new-contract-vuex-store\";\r\n\r\n// moving some methods from (te) vue components here, instead of duplicating in several components...\r\n\r\nclass NewContractVueHelper {\r\n\r\n startDateMin(contract: IContractViewModel, contractSettings: IContractSettings): string {\r\n // This logic is copied from old newcontract script (newContract-common.js), added with some logic that handles weirdnes of Uiv's date picker limit.\r\n let min = moment();\r\n\r\n let movingMinDates = contractSettings.MovingMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY && contractSettings.MovingMinDatesCompany != null)\r\n movingMinDates = contractSettings.MovingMinDatesCompany;\r\n\r\n let supplierChangeMinDates = contractSettings.SupplierChangeMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY && contractSettings.SupplierChangeMinDatesCompany != null)\r\n supplierChangeMinDates = contractSettings.SupplierChangeMinDatesCompany;\r\n\r\n let days = movingMinDates;\r\n\r\n // If supplier change or product change, then SupplierChangeMinDates is used.\r\n let contractReason = contract.ContractReason;\r\n if (contractReason == ContractReasonEnum.SUPPLIERCHANGE || contractReason == ContractReasonEnum.PRODUCTCHANGE || contractReason == ContractReasonEnum.NOTKNOWN\r\n || contractReason == ContractReasonEnum.SUPPLIERCHANGE_DH) {\r\n days = supplierChangeMinDates;\r\n }\r\n\r\n // Add days to current date.\r\n min.add(days, \"d\");\r\n\r\n // This crap is for UIV's date picker limit handling.\r\n let minStr = min.format(\"DD.MM.YYYY\") + \" 00:00:00 GMT\";\r\n return minStr;\r\n }\r\n\r\n startDateMin_DH(contract: IContractViewModel, contractSettings: IContractSettings): string {\r\n let days: number = 0;\r\n let min = moment();\r\n if (contract.ContractReason == ContractReasonEnum.PRODUCTCHANGE_DH) {\r\n days = contractSettings.ProductChangeMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY) {\r\n days = contractSettings.ProductChangeMinDatesCompany;\r\n }\r\n }\r\n else if (contract.ContractReason == ContractReasonEnum.MOVEIN_DH) {\r\n days = contractSettings.MovingMinDates;\r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY) {\r\n days = contractSettings.MovingMinDatesCompany;\r\n }\r\n }\r\n else if (contract.ContractReason == ContractReasonEnum.SUPPLIERCHANGE_DH) {\r\n days = contractSettings.SupplierChangeMinDates; \r\n if (contract.CustomerType == CustomerTypeEnum.COMPANY) {\r\n days = contractSettings.SupplierChangeMinDatesCompany;\r\n }\r\n }\r\n\r\n // Add days to current date.\r\n min.add(days, \"d\");\r\n\r\n // This crap is for UIV's date picker limit handling.\r\n let minStr = min.format(\"DD.MM.YYYY\") + \" 00:00:00 GMT\";\r\n return minStr;\r\n }\r\n\r\n getYear(date: Date): number {\r\n let m = moment(date, \"DD.MM.YYYY\");\r\n let year = m.format('YYYY');\r\n let yy = parseInt(year);\r\n return yy\r\n }\r\n\r\n getMonth(date: Date): number {\r\n let m = moment(date, \"DD.MM.YYYY\");\r\n let month = m.format('M');\r\n let mm = parseInt(month) - 1;\r\n return mm\r\n }\r\n\r\n getDay(date: Date): number {\r\n let m = moment(date, \"DD.MM.YYYY\");\r\n let day = m.format('DD');\r\n let dd = parseInt(day);\r\n return dd\r\n }\r\n\r\n getDate(date: Date): Date {\r\n return new Date(this.getYear(date), this.getMonth(date), this.getDay(date));\r\n }\r\n\r\n // returns true for dates to disable\r\n // date: The date as a Date object\r\n // weekDaysToDisable ex. [0,6], to disable weekends\r\n // datesToDisable - list of dates in D.M.YYYY format\r\n disableDates(date: Date, weekDaysToDisable: number[], datesToDisable: string[]): boolean { \r\n let momentDate = moment(date, \"DD.MM.YYYY\").format(\"D.M.YYYY\");\r\n if (weekDaysToDisable.indexOf(date.getDay()) !== -1)\r\n return true;\r\n if (datesToDisable !== null)\r\n return datesToDisable.indexOf(momentDate) !== -1;\r\n }\r\n}\r\n\r\nexport {\r\n NewContractVueHelper\r\n};","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.membershiptypeid > 0\n ? _c(\"div\", { attrs: { id: \"membershipSection\" } }, [\n _c(\"div\", { staticClass: \"row\" }, [\n _c(\n \"div\",\n { staticClass: \"col-md-12 form-group\" },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"12\"\n }\n },\n [\n _vm.membershiptypeid == 3\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n \"Oletko MTK:n jäsen (Pohjois-Karjala, Etelä-Savo, Pohjois-Savo)?\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 2\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\"Oletko Suomen Omakotiliiton jäsen?\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 4\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n \"Onko Asunto-osakeyhtiösi Kiinteistöliitto Itä-Suomen jäsen?\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 5\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\"Oletko Pohjois-Karjalan Yrittäjien jäsen?\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 6\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n \"Onko sinulla toistaiseksi voimassa oleva työsuhde PKS:n tai sen tytäryhtiön kanssa?\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 7\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\"Oletko PKS:n kumppani?\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 8\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\n \"Oletko Metsänhoitoyhdistys Pohjois-Karjalan jäsen?\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 9\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\"Oletko Suomen Lions -liiton jäsen?\")\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 10\n ? _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(\"Oletko Suomen Vuokranantajien jäsen?\")\n ])\n : _vm._e()\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"form-check-inline\",\n staticStyle: { \"margin-top\": \"0\" }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"form-check-label\",\n attrs: { for: \"member-yes\" }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.membershipchoice,\n expression: \"membershipchoice\"\n }\n ],\n staticClass: \"form-check-input\",\n attrs: {\n type: \"radio\",\n name: \"membershiptype\",\n id: \"member-yes\",\n value: \"1\"\n },\n domProps: {\n checked: _vm._q(_vm.membershipchoice, \"1\")\n },\n on: {\n change: function($event) {\n _vm.membershipchoice = \"1\"\n }\n }\n }),\n _vm._v(\" Kyllä\\n \")\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"form-check-inline\",\n staticStyle: { \"margin-top\": \"0\" }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"form-check-label\",\n attrs: { for: \"member-no\" }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.membershipchoice,\n expression: \"membershipchoice\"\n }\n ],\n staticClass: \"form-check-input\",\n attrs: {\n type: \"radio\",\n name: \"membershiptype\",\n id: \"member-no\",\n value: \"0\"\n },\n domProps: {\n checked: _vm._q(_vm.membershipchoice, \"0\")\n },\n on: {\n change: function($event) {\n _vm.membershipchoice = \"0\"\n }\n }\n }),\n _vm._v(\n \" \" +\n _vm._s(_vm.membership_choise) +\n \"\\n \"\n )\n ]\n )\n ]\n )\n ],\n 1\n )\n ]),\n _vm._v(\" \"),\n _vm.membershipchoice > 0\n ? _c(\"div\", { staticClass: \"row\" }, [\n _c(\"div\", { staticClass: \"col\" }, [\n _vm.membershiptypeid == 3\n ? _c(\"span\", [\n _vm._v(\n \"MTK-jäsenetu 100 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 2\n ? _c(\"span\", [\n _vm._v(\n \"Omakotiliiton jäsenetu 50 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 4\n ? _c(\"span\", [\n _vm._v(\n \"Kiinteistöliiton jäsenetu 100 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 5\n ? _c(\"span\", [\n _vm._v(\n \"Yrittäjien jäsenetu 100 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 6\n ? _c(\"span\", [\n _vm._v(\n \"PKS Henkilöstöetu 100 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 7\n ? _c(\"span\", [\n _vm._v(\n \"PKS kumppanin etu 100 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 8\n ? _c(\"span\", [\n _vm._v(\n \"MHY-jäsenetu 50 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 9\n ? _c(\"span\", [\n _vm._v(\n \"Lions-Clubin jäsenetu 50 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.membershiptypeid == 10\n ? _c(\"span\", [\n _vm._v(\n \"Vuokranantajien jäsenetu 50 % alennus alla olevista kuukausimaksusta\"\n )\n ])\n : _vm._e()\n ])\n ])\n : _vm._e()\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { mapState, mapGetters } from \"vuex\";\r\nimport { Component, Watch } from \"vue-property-decorator\"\r\nimport { IContractViewModel, ICustomerViewModel } from \"../../../../../../Scripts/inpulse/I4UViewModels\";\r\n\r\n@Component({\r\n components: {\r\n }\r\n})\r\n\r\nexport default class Membership extends Vue {\r\n\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get contractMembershipTemp(): IContractViewModel { return this.$store.state.contractMembershipTemp; }\r\n\r\n membershiptypeid: number = 0;\r\n membershipchoice: number = 0;\r\n membership_choise: string = \"En\";\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() { \r\n this.init();\r\n }\r\n\r\n @Watch(\"membershipchoice\")\r\n setMembership() {\r\n let value = this.membershipchoice == 0 ? 0 : this.membershiptypeid;\r\n this.$store.dispatch(\"changeValue\", { key: \"MembershipType\", value: value });\r\n }\r\n\r\n private init() {\r\n if (this.contractMembershipTemp) {\r\n this.membershiptypeid = this.contractMembershipTemp.MembershipType;\r\n }\r\n if (this.contract.ContractMembership && this.contract.ContractMembership.MembershipType && this.contract.ContractMembership.MembershipType > 0) {\r\n this.membershipchoice = 1;\r\n }\r\n if (this.membershiptypeid == 4 || this.membershiptypeid == 6) { \r\n this.membership_choise = \"Ei\";\r\n } \r\n }\r\n}","import mod from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./membership.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./membership.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cmembership.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cmembership.vue\"","import { render, staticRenderFns } from \"./membership.vue?vue&type=template&id=25e2377e&\"\nimport script from \"./membership.ts?vue&type=script&lang=js&\"\nexport * from \"./membership.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../../Locales/metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Ccomponents%5Cmembership.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\";\r\nimport StreetAutocomplete from \"../../../../../Scripts/vue-components/bootstrap-components/street-autocomplete.vue\";\r\nimport PostalAutocomplete from \"../../../../../Scripts/vue-components/bootstrap-components/postal-autocomplete.vue\";\r\nimport { ProcessTypeEnum, ContractReasonEnum, CustomerTypeEnum, InvoicingMethodEnum, HousingTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { IContractViewModel, ICustomerViewModel, ICompanyViewModel, IMeteringPointViewModel, IMembershipTypeViewModel, IPriceListViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { SectionChecker } from \"../../Default/common/section\";\r\n//import Datepicker from \"vuejs-datepicker\";\r\nimport { fi, sv } from 'vuejs-datepicker/dist/locale'\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faQuestionCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport { faExclamationCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport * as moment from \"moment-recent\";\r\nimport { NewContractVueHelper } from \"../../new-contract-vue-helper\";\r\nimport Membership from \"../steps/components/membership.vue\"\r\n\r\n\r\nlibrary.add(faQuestionCircle, faExclamationCircle)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\nclass Checker extends SectionChecker {\r\n constructor() {\r\n super();\r\n this.properties = [\r\n (contract: IContractViewModel) => contract.MeteringPoint.Address.Zip,\r\n (contract: IContractViewModel) => contract.MeteringPoint.Address.Street,\r\n (contract: IContractViewModel) => contract.StartDate,\r\n ];\r\n this.validationIds = [\"MPZip\", \"MPStreet\", \"StartDate\"];\r\n }\r\n}\r\nexport let MeteringPointInformationChecker = new Checker();\r\n\r\ndeclare var currentLocale: string;\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n StreetAutocomplete,\r\n PostalAutocomplete,\r\n Membership\r\n //Datepicker,\r\n },\r\n filters: {\r\n date(value) {\r\n let m = moment(value);\r\n if (m.isValid())\r\n return m.format(\"DD.MM.YYYY\");\r\n return value;\r\n }\r\n },\r\n computed: {\r\n datePickerlanguage: function () {\r\n if (currentLocale === \"fi\") {\r\n return \"fi\";\r\n }\r\n //else if (currentLocale === \"sv\") {\r\n // return \"sv\";\r\n //}\r\n },\r\n // sets minimun date to bootstrap-vue form datepicker\r\n minDate: function () {\r\n this.showOldContractStartMessage = false;\r\n if (this.contract.ContractReason == ContractReasonEnum.PRODUCTCHANGE_DH) {\r\n if (this.contract.OldFixedPeriodTime && this.contract.OldContractEndDate) { \r\n if (this.contract.StartDate && this.contract.OldContractEndDate >= this.contract.StartDate) {\r\n this.contract.StartDate = new Date(this.contract.StartDate).addDays(1);\r\n }\r\n this.showOldContractStartMessage = true;\r\n return new Date(this.contract.OldContractEndDate).addDays(1);\r\n }\r\n else if (this.selectedProduct && this.selectedProduct.Name.indexOf(\"Priima\") >= 0) {\r\n var priimaStartTime = new Date().addDays(5);\r\n if (this.contract.OldContractEndDate && this.contract.OldContractEndDate > priimaStartTime) {\r\n priimaStartTime = new Date(this.contract.OldContractEndDate).addDays(1)\r\n }\r\n return priimaStartTime;\r\n }\r\n }\r\n return this.newContractHelper.getDate(this.startDateMin);\r\n },\r\n maxDate: function () {\r\n let setLimit = new Date();\r\n return setLimit.addDays(365);\r\n },\r\n },\r\n mounted() {\r\n $(\"#mpinformation_mpstreet_field input\").removeAttr(\"aria-controls\");\r\n $(\"#mpinformation_postalcode_field input\").removeAttr(\"aria-controls\");\r\n $(\"#startdate-datepicker\").attr(\"aria-label\", \"Sopimuksen toivottu alkamispäivämäärä\");\r\n $(\"#meteringpointStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#meteringpointPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#invoicingStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#invoicingPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n },\r\n})\r\n\r\nexport default class MeteringPointInformation extends Vue {\r\n\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get holidays() { return this.$store.state.holidays; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get meteringPoint(): IMeteringPointViewModel { return this.$store.state.contract.MeteringPoint; }\r\n get customerContracts(): IContractViewModel[] { return this.$store.state.contract.CustomerContracts; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get mpStreet(): string { return this.contract.MeteringPoint.Address.Street; }\r\n get customerStreet(): string { return this.customer ? this.customer.Address.Street : \"\"; }\r\n get customerZip(): string { return this.customer ? this.customer.Address.Zip : \"\"; }\r\n get companyStreet(): string { return this.company ? this.company.Address.Street : \"\"; }\r\n get companyZip(): string { return this.company ? this.company.Address.Zip : \"\"; }\r\n get isInvoicingMethodsInUse(): boolean { return this.contractSettings.InvoicingMethodsInUse; }\r\n get postal(): string { return this.$store.state.contract.MeteringPoint.Address.Zip; }\r\n get invoicingStreet(): string { return this.contract && this.contract.InvoicingAddress && this.contract.InvoicingAddress.Address ? this.contract.InvoicingAddress.Address.Street : \"\"; }\r\n get invoicingZip(): string { return this.contract && this.contract.InvoicingAddress && this.contract.InvoicingAddress.Address ? this.contract.InvoicingAddress.Address.Zip : \"\"; }\r\n get availableLanguages(): string[] { return this.contractSettings.AvailableLanguages }\r\n get additionalAddressToMeteringPointAddress(): boolean { return this.contract.MeteringPoint.AdditionalAddressToMeteringPointAddress; }\r\n get meteringPointCode(): string { return this.contract.MeteringPoint.MeteringPointCode; } set meteringPointCode(value: string) { }\r\n get gsrnCode(): string { return this.contract.MeteringPoint.GsrnCode; } set gsrnCode(value: string) { }\r\n get disableMeteringPointcodeField(): boolean { return this.meteringPoint.TrustedSource }\r\n get contractReasonMoveIn(): ContractReasonEnum { return ContractReasonEnum.MOVEIN_DH }\r\n get contractReasonSupplierChange(): ContractReasonEnum { return ContractReasonEnum.SUPPLIERCHANGE_DH }\r\n get contractReasonContractChange(): ContractReasonEnum { return ContractReasonEnum.PRODUCTCHANGE_DH }\r\n get preSelectedMembership(): string { return this.$store.state.preSelectedMembership; }\r\n get selectedProduct(): IPriceListViewModel { return this.$store.state.selectedProduct; }\r\n get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n get isPriimaPlus(): boolean {\r\n return this.contractSettings.PriimaPlusProductId && this.contractSettings.PriimaPlusProductId > 0\r\n && this.contract.ProductId == this.contractSettings.PriimaPlusProductId;\r\n }\r\n get isPriima(): boolean {\r\n return this.contractSettings.PriimaProductId && this.contractSettings.PriimaProductId > 0\r\n && this.contract.ProductId == this.contractSettings.PriimaProductId;\r\n }\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n\r\n @Prop()\r\n public validationErrors: any;\r\n\r\n @Prop({ default: false })\r\n public hasMembership: boolean\r\n\r\n ProcessTypeEnum: typeof ProcessTypeEnum = ProcessTypeEnum;\r\n ContractReasonEnum: typeof ContractReasonEnum = ContractReasonEnum;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n InvoicingMethodEnum: typeof InvoicingMethodEnum = InvoicingMethodEnum;\r\n HousingTypeEnum: typeof HousingTypeEnum = HousingTypeEnum;\r\n\r\n startDate = this.contract.StartDate;\r\n tempDate: Date = new Date(); //SQI4U-1113 \r\n postalModel: string = \"\";\r\n postalStr: string;\r\n\r\n //SQI4U-1113, when reverting, change tempdate -> startDate in both lines below\r\n @Watch(\"startDate\")\r\n startDateChanged(v1, v2) {\r\n this.$store.dispatch(\"changeValue\", { key: \"StartDate\", value: moment(String(this.startDate)).format('DD.MM.YYYY') });\r\n }\r\n //SQI4U-1113\r\n @Watch(\"tempDate\")\r\n tempDateChanged(v1, v2) {\r\n this.startDate = this.tempDate;\r\n }\r\n //SQI4U-1113 end\r\n\r\n mpStreetStr: string;\r\n\r\n customerZipStr: string;\r\n customerStreetStr: string;\r\n\r\n companyZipStr: string;\r\n companyZipLocale: string;\r\n companyStreetStr: string;\r\n companyStreetLocale: string;\r\n\r\n invoicingStreetStr: string;\r\n invoicingStreetLocale: string;\r\n invoicingZipStr: string;\r\n invoicingZipLocale: string;\r\n\r\n estateOwner: boolean;\r\n\r\n mpStreetLocale: string = null;\r\n mpZipLocale: string = null;\r\n\r\n customerStreetLocale: string = null;\r\n customerZipLocale: string = null;\r\n\r\n newContractHelper: NewContractVueHelper;\r\n showOldContractStartMessage: boolean = false;\r\n\r\n showInvoicingAddressSection: number = 0;\r\n\r\n constructor() {\r\n super();\r\n this.mpStreetStr = this.mpStreet;\r\n this.customerStreetStr = this.customerStreet;\r\n this.customerZipStr = this.customerZip;\r\n this.companyStreetStr = this.companyStreet;\r\n this.companyZipStr = this.companyZip;\r\n this.postalStr = this.postal;\r\n this.invoicingStreetStr = this.invoicingStreet;\r\n this.invoicingZipStr = this.invoicingZip;\r\n this.estateOwner = this.contract.IsEstateOwner;\r\n this.invoicingZipLocale = null;\r\n this.invoicingStreetLocale = null;\r\n this.newContractHelper = new NewContractVueHelper(); \r\n }\r\n\r\n mounted() {\r\n if (this.contract.InvoicingMethod == InvoicingMethodEnum.ConsumerEInvoice && this.contract.InvoicingAddress != null && this.contract.InvoicingAddress.Address != null && this.contract.InvoicingAddress.Address.Street != null) {\r\n this.showInvoicingAddressSection = 1;\r\n }\r\n }\r\n\r\n @Watch(\"mpStreet\")\r\n keepMpSync() {\r\n this.mpStreetStr = this.mpStreet;\r\n console.log(\"mpStreet: \" + this.mpStreet);\r\n }\r\n\r\n @Watch(\"customerStreet\")\r\n keepCusSync() {\r\n this.customerStreetStr = this.customerStreet;\r\n }\r\n\r\n @Watch(\"companyStreet\")\r\n keepComSync() {\r\n this.companyStreetStr = this.companyStreet;\r\n }\r\n\r\n @Watch(\"invoicingStreet\")\r\n keepinvoicingSync() {\r\n this.invoicingStreetStr = this.invoicingStreet;\r\n }\r\n\r\n @Watch(\"postal\")\r\n keepSync() {\r\n this.postalStr = this.postal;\r\n }\r\n\r\n afterEnter_mp(el) {\r\n $(\"#meteringpointStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#meteringpointPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n }\r\n afterEnter_inv(el) {\r\n $(\"#invoicingStreetStr_field input\").removeAttr(\"aria-controls\");\r\n $(\"#invoicingPostalCodeStr_field input\").removeAttr(\"aria-controls\");\r\n }\r\n\r\n get isMoveOut() {\r\n return this.contract.ProcessType == ProcessTypeEnum.MOVEOUT;\r\n }\r\n\r\n get startDateMin(): string {\r\n return this.newContractHelper.startDateMin_DH(this.contract, this.contractSettings);\r\n }\r\n\r\n get startDateMax(): string {\r\n let max = moment();\r\n max.add(\"y\", 1);\r\n let maxStr = max.format(\"DD.MM.YYYY\") + \" 00:00:00 GMT\";\r\n return maxStr;\r\n }\r\n\r\n get hasConsumerEInvoiceContract(): boolean {\r\n //if (this.contract != null && this.contract.CustomerContracts) {\r\n // for (let cisContract of this.contract.CustomerContracts) {\r\n // if (cisContract.InvoicingMethod == InvoicingMethodEnum.ConsumerEInvoice) return true;\r\n // }\r\n //}\r\n return false;\r\n }\r\n\r\n get invoicingMethodELaskuStr(): string {\r\n if (this.hasConsumerEInvoiceContract) {\r\n return \"Sinulla on käytössä pankin e-laskutus. Et voi valita toista laskutustapaa ennen kun olet peruuttanut e-laskutuksen pankista.\";\r\n }\r\n return \"\";\r\n }\r\n\r\n get invoicingMethodELaskuStrDisabled(): string {\r\n if (!this.hasConsumerEInvoiceContract) {\r\n return \"E-laskun voit tilata omasta verkkopankistasi saatuasi ensimmäisen laskun.\";\r\n }\r\n return \"\";\r\n }\r\n\r\n get tooltipStyle(): any {\r\n if (this.additionalAddressToMeteringPointAddress) {\r\n return { color: 'red' };\r\n }\r\n return { color: 'white' };\r\n }\r\n\r\n contractReasonChanged() {\r\n console.log(\"Contract reason changed!\");\r\n if (this.contract.StartDate != null) {\r\n let m = moment(this.contract.StartDate);\r\n let min = moment(this.startDateMin, \"DD.MM.YYYY\");\r\n if (m.isBefore(min)) {\r\n //SQI4U-1113 the commented out lines are from pre-1113\r\n //let newDate = min.format(\"DD.MM.YYYY\");\r\n //this.$store.dispatch(\"changeValue\", { key: \"StartDate\", value: newDate });\r\n this.startDate = new Date(moment(String(this.startDateMin)).format(\"DD.MM.YYYY\"));\r\n }\r\n }\r\n }\r\n\r\n invoicingMethodChanged() {\r\n if ((this.contract.InvoicingMethod == InvoicingMethodEnum.Email) && (this.contract.DeliveryEmail == null || this.contract.DeliveryEmail.length == 0)) {\r\n this.contract.DeliveryEmail = (this.contract.CustomerType != CustomerTypeEnum.COMPANY) ? this.customer.Email : this.company.Email;\r\n this.$store.dispatch(\"changeValue\", { key: \"DeliveryEmail\", value: this.contract.DeliveryEmail });\r\n }\r\n if (this.contract.InvoicingMethod == InvoicingMethodEnum.Email) {\r\n this.showInvoicingAddressSection = 0;\r\n }\r\n }\r\n\r\n // returns true for dates to disable\r\n // ymd: The date as a YYYY-MM-DD string\r\n // date: The date as a Date object\r\n disableDates(ymd: string, date: Date): boolean { // used by bootstrap-vue form datepicker\r\n this.contractSettings.ProductChangeMinDates\r\n //if (this.isPriima) {\r\n // const day = date.getDate()\r\n // return day > 1;\r\n //}\r\n \r\n //let weekend = [0, 6];\r\n //return this.newContractHelper.disableDates(date, weekend, this.holidays);\r\n return false;\r\n }\r\n\r\n data() {\r\n return {\r\n selected: 'ei',\r\n options: [\r\n { text: this.$t('Kyllä'), value: true },\r\n { text: this.$t('Ei'), value: false }\r\n ],\r\n DatePickerFormat: \"dd.MM.yyyy\"\r\n };\r\n }\r\n\r\n meteringPointPostalSelected(postCode: string, locale: string) {\r\n this.postalStr = postCode;\r\n this.mpZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"MPZip\", value: postCode, locale: locale })\r\n .then(() => { this.$store.dispatch(\"checkMeteringPointAndContract\"); });\r\n }\r\n\r\n meteringPointStreetSelected(street: string, locale: string) {\r\n this.mpStreetStr = street;\r\n this.mpStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"MPStreet\", value: street })\r\n .then(() => { this.$store.dispatch(\"checkMeteringPointAndContract\"); });\r\n }\r\n\r\n customerPostalSelected(postCode: string, locale: string) {\r\n this.customerZipStr = postCode;\r\n this.customerZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"Zip\", value: postCode, locale: locale });\r\n }\r\n\r\n customerStreetSelected(street: string, locale: string) {\r\n this.customerStreetStr = street;\r\n this.customerStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"Street\", value: street });\r\n }\r\n\r\n companyPostalSelected(postCode: string, locale: string) {\r\n this.companyZipStr = postCode;\r\n this.companyZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"CompanyZip\", value: postCode, locale: locale });\r\n }\r\n\r\n companyStreetSelected(street: string, locale: string) {\r\n this.companyStreetStr = street;\r\n this.companyStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"CompanyStreet\", value: street });\r\n }\r\n\r\n invoicingPostalSelected(postCode: string, locale: string) {\r\n this.invoicingZipStr = postCode;\r\n this.invoicingZipLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"InvoicingZipCompany\", value: postCode, locale: locale });\r\n }\r\n\r\n invoicingStreetSelected(street: string, locale: string) {\r\n this.invoicingStreetStr = street;\r\n this.invoicingStreetLocale = locale;\r\n this.$store.dispatch(\"changeValue\", { key: \"InvoicingStreetCompany\", value: street });\r\n }\r\n showIsEstateOwnerSection(housingTypeId: HousingTypeEnum) {\r\n if (housingTypeId == HousingTypeEnum.HOUSE || housingTypeId == HousingTypeEnum.TERRACEDORDOUBLEHOUSE || housingTypeId == HousingTypeEnum.COTTAGE) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getMemberShipType() {\r\n if (this.contract && this.contract.Customer && this.contract.Customer.CustomerMemberships.length > 0) {\r\n return this.contract.Customer.CustomerMemberships[0].MembershipTypeId;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n isPreSelectedMembership(membership: string): boolean {\r\n return this.preSelectedMembership && this.preSelectedMembership.toLocaleLowerCase() == membership;\r\n }\r\n\r\n hasPreSelectedMembership(): boolean {\r\n let membership = this.preSelectedMembership;\r\n let membershipTypes = this.$store.state.membershipTypes as IMembershipTypeViewModel[];\r\n let membershipType: IMembershipTypeViewModel = null;\r\n\r\n if (membership && membershipTypes) {\r\n membershipType = membershipTypes.find(m => m.Name == membership);\r\n }\r\n else {\r\n return false;\r\n }\r\n\r\n if (this.contract.MembershipCode != membership && membershipType) {\r\n this.$store.dispatch(\"changeValue\", { key: \"MembershipType\", value: membershipType.MembershipTypeId }).then(() => {\r\n this.$store.dispatch('updateExtraFeature', { name: membership, amount: 0, price: 0 }).then(() => {\r\n this.contract.MembershipCode = membership;\r\n this.contract.PreSelectedMembership = membership;\r\n return true;\r\n });\r\n });\r\n }\r\n if (membership && this.contract.MembershipCode && this.contract.MembershipCode == membership) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n getOldProductName(): string {\r\n return (this.contract.OldContractsProduct && this.contract.OldContractsProduct.ProductName) ? this.contract.OldContractsProduct.ProductName + '-' : \"\";\r\n }\r\n\r\n showNewContractStartDateText(oldContractEndDate: string) {\r\n let retValue = false;\r\n if (oldContractEndDate) {\r\n let endDate = moment(oldContractEndDate);\r\n if (endDate > moment()) {\r\n retValue = true;\r\n }\r\n }\r\n return retValue;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cmetering-point-information.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cmetering-point-information.vue\"","import { render, staticRenderFns } from \"./metering-point-information.vue?vue&type=template&id=2f06b243&\"\nimport script from \"./metering-point-information.ts?vue&type=script&lang=js&\"\nexport * from \"./metering-point-information.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cmetering-point-information.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"row\" },\n [\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(\"Käyttöpaikan osoite\")\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.addressString))\n ]),\n _vm._v(\" \"),\n _c(\"font-awesome-icon\", {\n style: _vm.tooltipStyle,\n attrs: {\n icon: \"exclamation-circle\",\n id: \"tooltip-mp-street-d\",\n size: \"lg\"\n }\n }),\n _vm._v(\" \"),\n _vm.additionalAddressToMeteringPointAddress\n ? _c(\n \"b-tooltip\",\n {\n attrs: {\n target: \"tooltip-mp-street-d\",\n variant: \"primary\",\n placement: \"right\",\n triggers: \"hover\"\n }\n },\n [\n _vm._v(\n \"\\n Vaihdettu automaattisesti lisäosoitteen tilalle käyttöpaikan osoite.\\n \"\n )\n ]\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Toivottu alkupäivä\")))\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm._f(\"date\")(_vm.contract.StartDate)))\n ])\n ]\n ),\n _vm._v(\" \"),\n _vm.contract.IsCustomerAddressInUse\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiakkaan osoite\")))\n ]),\n _vm._v(\" \"),\n _vm.contract.Customer.Address.COName\n ? _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.contract.Customer.Address.COName)),\n _c(\"br\")\n ])\n : _vm._e(),\n _vm._v(_vm._s(_vm.homeAddressString))\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isInvoicingMethodsInUse && _vm.contract.IsInvoicingAddressInUse\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskutusosoite\")))\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.invoicingAddressString))\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.memberShipName != null\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [_vm._v(\"Jäsenyys\")]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(\" \" + _vm._s(_vm.memberShipName))\n ])\n ]\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"6\" } },\n [\n _vm.meteringPoint.GsrnCode\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"8\",\n \"label-cols-lg\": \"2\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"font-weight-bold pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikkatunnus\")))\n ]),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.meteringPoint.GsrnCode))])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isInvoicingMethodsInUse && _vm.contract.IsInvoicingAddressInUse\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"8\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskutustapa\")))\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.invoicingMethodString))\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.InvoicingMethod == _vm.InvoicingMethodEnum.Email\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"6\",\n \"label-cols-lg\": \"3\",\n label: \"\",\n \"label-class\": \"pt-0\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.contract.DeliveryEmail))\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.InvoicingMethod ==\n _vm.InvoicingMethodEnum.CompanyEInvoice\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"6\",\n \"label-cols-lg\": \"3\",\n label: \"\",\n \"label-class\": \"pt-0\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.invoicingECompanyAddressString))\n ])\n ]\n )\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","require(\"core-js/features/array/find\");\r\n\r\nimport Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport FormGroupStatic from \"../phases/form-group-static.vue\";\r\nimport HorizontalFormGroup from \"../phases/horizontal-form-group.vue\";\r\nimport ContractPartnerCard from \"./components/contract-partner-card.vue\";\r\nimport { IMeteringPointViewModel, IContractViewModel, ICustomerViewModel, ICompanyViewModel, IMembershipTypeViewModel, IContractMembershipViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { CustomerTypeEnum, InvoicingMethodEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { AddressFormat } from \"../../../../../Scripts/inpulse/AddressFormat\";\r\nimport { ContractTypeFormat } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { TranslateResult } from \"vue-i18n\";\r\nimport { GenericTypeFormatTranslator, InvoicingMethodFormat } from \"../../../../../Scripts/inpulse/FormatUtils\";\r\nimport { Styles } from \"@fortawesome/fontawesome-svg-core\";\r\n\r\n@Component({\r\n components: {\r\n FormGroupStatic,\r\n HorizontalFormGroup,\r\n ContractPartnerCard\r\n },\r\n filters: {\r\n date(value) {\r\n let m = moment(value);\r\n if (m.isValid())\r\n return m.format(\"DD.MM.YYYY\");\r\n return value;\r\n }\r\n }\r\n})\r\n\r\nexport default class MeteringPointInformationDisplay extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get meteringPoint(): IMeteringPointViewModel { return this.contract.MeteringPoint; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get isInvoicingMethodsInUse(): boolean { return this.contractSettings.InvoicingMethodsInUse; }\r\n get additionalAddressToMeteringPointAddress(): boolean { return this.contract.MeteringPoint.AdditionalAddressToMeteringPointAddress; }\r\n get membership(): IContractMembershipViewModel { return this.contract.ContractMembership; }\r\n\r\n AddressFormat: typeof AddressFormat = AddressFormat;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n InvoicingMethodEnum: typeof InvoicingMethodEnum = InvoicingMethodEnum;\r\n ContractTypeFormat: typeof ContractTypeFormat = ContractTypeFormat;\r\n\r\n get addressString(): string {\r\n return AddressFormat.toSingleString(this.meteringPoint.Address);\r\n }\r\n\r\n get homeAddressString(): string {\r\n return (this.contract.CustomerType == CustomerTypeEnum.COMPANY) ? AddressFormat.toSingleString(this.company.Address) : AddressFormat.toSingleString(this.customer.Address);\r\n }\r\n\r\n get invoicingAddressString(): string {\r\n if (this.contract.InvoicingAddress.ContactPersonName != null && this.contract.InvoicingAddress.ContactPersonName != \"\") {\r\n return this.contract.InvoicingAddress.ContactPersonName + \", \" + AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n }\r\n return AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n }\r\n\r\n get invoicingMethodString(): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(InvoicingMethodFormat.toString, this.contract.InvoicingMethod, this.$i18n);\r\n }\r\n\r\n get invoicingECompanyAddressString(): string {\r\n if (this.contract.InvoicingAddress.InvoicingNetworkAddress !== null && this.contract.InvoicingAddress.InvoicingOperator !== null) {\r\n return this.contract.InvoicingAddress.InvoicingNetworkAddress + \" \" + this.contract.InvoicingAddress.InvoicingOperator;\r\n }\r\n else {\r\n return \"\";\r\n }\r\n }\r\n\r\n get tooltipStyle(): Styles {\r\n if (this.additionalAddressToMeteringPointAddress) {\r\n return { color: 'red' };\r\n }\r\n return { color: 'white' };\r\n }\r\n\r\n get memberShipName(): string {\r\n if (this.membership && this.membership.MembershipName) {\r\n let membershipTypes = this.$store.state.membershipTypes as IMembershipTypeViewModel[];\r\n if (membershipTypes) {\r\n return membershipTypes.find(m => m.MembershipTypeId == this.membership.MembershipType).Name;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information-display.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./metering-point-information-display.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cmetering-point-information-display.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cmetering-point-information-display.vue\"","import { render, staticRenderFns } from \"./metering-point-information-display.vue?vue&type=template&id=88cfba24&\"\nimport script from \"./metering-point-information-display.ts?vue&type=script&lang=js&\"\nexport * from \"./metering-point-information-display.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/metering-point-information-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cmetering-point-information-display.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"div\", { staticClass: \"row section card\" }, [\n _c(\"div\", { staticClass: \"card-body\" }, [\n _c(\"h2\", { staticClass: \"card-title\" }, [\n _c(\"span\", {\n staticClass: \"heading-number heading-number-lg bg-primary\",\n domProps: { textContent: _vm._s(_vm.number) }\n }),\n _vm._v(\" \"),\n _c(\"span\", [_vm._v(_vm._s(_vm.titleToString()))])\n ]),\n _vm._v(\" \"),\n _vm.showEdit || _vm.showDisplay\n ? _c(\n \"div\",\n { staticClass: \"card-content\" },\n [\n _c(\n \"b-collapse\",\n {\n attrs: { id: _vm.iD(1) },\n model: {\n value: _vm.showEdit,\n callback: function($$v) {\n _vm.showEdit = $$v\n },\n expression: \"showEdit\"\n }\n },\n [_vm._t(\"edit\")],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"b-collapse\",\n {\n attrs: { id: _vm.iD(2) },\n model: {\n value: _vm.showDisplay,\n callback: function($$v) {\n _vm.showDisplay = $$v\n },\n expression: \"showDisplay\"\n }\n },\n [_vm._t(\"display\")],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n ])\n ]),\n _vm._v(\" \"),\n _vm.showDisplay\n ? _c(\n \"div\",\n {\n staticClass: \"section-modify\",\n attrs: { tabindex: \"0\" },\n on: {\n keyup: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.modify()\n }\n }\n },\n [\n _c(\n \"a\",\n {\n on: {\n click: function($event) {\n return _vm.modify()\n }\n }\n },\n [\n _vm._v(_vm._s(_vm.$t(\"Muokkaa\")) + \" \"),\n _c(\"font-awesome-icon\", { attrs: { icon: \"edit\" } })\n ],\n 1\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.showEdit && _vm.proceedActionState != _vm.ActionState.Hidden\n ? _c(\n \"div\",\n {\n staticClass: \"section-modify\",\n attrs: { tabindex: \"0\" },\n on: {\n keyup: function($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.proceed()\n }\n }\n },\n [\n _c(\n \"a\",\n {\n on: {\n click: function($event) {\n return _vm.proceed()\n }\n }\n },\n [\n _vm._v(_vm._s(_vm.$t(\"Jatka\")) + \" \"),\n _c(\"font-awesome-icon\", {\n attrs: { icon: \"angle-double-down\" }\n })\n ],\n 1\n )\n ]\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faEdit, faAngleDoubleDown } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport { SectionMode, ActionState } from \"../../Default/common/section\"\r\nlibrary.add(faEdit, faAngleDoubleDown)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n\r\n@Component({\r\n})\r\n\r\nexport default class NewContractSection extends Vue {\r\n @Prop()\r\n title: string;\r\n\r\n @Prop()\r\n number: number;\r\n\r\n @Prop({ default: SectionMode.Edit })\r\n mode: SectionMode;\r\n\r\n @Prop({ default: ActionState.Enabled })\r\n proceedActionState: ActionState;\r\n\r\n @Emit()\r\n modify() {}\r\n\r\n @Emit()\r\n proceed() {}\r\n\r\n SectionMode: typeof SectionMode = SectionMode;\r\n ActionState: typeof ActionState = ActionState;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n }\r\n\r\n titleToString(): string {\r\n //const title = this.$i18n.tc(this.title);\r\n return this.title;\r\n }\r\n\r\n get showEdit() {\r\n return this.mode == SectionMode.Edit;\r\n }\r\n set showEdit(value: any) {\r\n \r\n }\r\n\r\n get showDisplay() {\r\n return this.mode == SectionMode.Display;\r\n }\r\n set showDisplay(value: any) {\r\n\r\n }\r\n\r\n iD(num: string): string {\r\n return \"collapse\" + num + \"-\" + this.number;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./new-contract-section.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./new-contract-section.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cnew-contract-section.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cnew-contract-section.vue\"","import { render, staticRenderFns } from \"./new-contract-section.vue?vue&type=template&id=cbc20a88&scoped=true&\"\nimport script from \"./new-contract-section.ts?vue&type=script&lang=js&\"\nexport * from \"./new-contract-section.ts?vue&type=script&lang=js&\"\nimport style0 from \"./new-contract-section.vue?vue&type=style&index=0&id=cbc20a88&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cbc20a88\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Csteps%5Cnew-contract-section.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","require(\"core-js/features/promise\");\r\n// Note: About IE9 support, if we would need to support IE9, following is needed:\r\n// * Different promise polyfill needed\r\n// require(\"promise/polyfill\");\r\n// * Polyfill for VueScrollTo to work.\r\n// require(\"raf/polyfill\");\r\n\r\n\r\nimport Vue from \"vue\"\r\nimport { Component, Prop, Emit, Watch } from \"vue-property-decorator\"\r\nimport PreProductSelection from \"../steps/pre-product-selection.vue\"\r\nimport PreProductSelectionDisplay from \"../steps/pre-product-selection-display.vue\"\r\nimport ProductSelection from \"../steps/product-selection.vue\"\r\nimport ProductSelectionDisplay from \"../steps/product-selection-display.vue\"\r\nimport OfferProductSelectionDisplay from \"../steps/offer-product-selection-display.vue\"\r\nimport Authentication from \"../steps/authentication.vue\"\r\nimport CustomerInformation from \"../steps/customer-information.vue\"\r\nimport CustomerInformationDisplay from \"../steps/customer-information-display.vue\";\r\nimport CompanyInformationDisplay from \"../steps/company-information-display.vue\";\r\nimport CompanyInformation from \"../steps/company-information.vue\"\r\nimport MeteringPointInformation from \"../steps/metering-point-information.vue\"\r\nimport MeteringPointInformationDisplay from \"../steps/metering-point-information-display.vue\"\r\nimport NewContractSection from \"../steps/new-contract-section.vue\"\r\nimport { ValidationErrors, NewContract } from \"../../new-contract-vue\";\r\nimport { CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\"\r\nimport { IProductViewModel, IPriceListViewModel, IContractViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\";\r\nimport { SectionState, ActionState, SectionMode } from \"../../Default/common/section\";\r\nimport { CustomerInformationChecker } from \"../steps/customer-information\";\r\nimport { CompanyInformationChecker } from \"../steps/company-information\";\r\nimport { PreProductSelectionChecker } from \"../steps/pre-product-selection\";\r\nimport { ProductSelectionChecker } from \"../steps/product-selection\";\r\nimport { MeteringPointInformationChecker } from \"../steps/metering-point-information\";\r\nimport { library } from '@fortawesome/fontawesome-svg-core'\r\nimport { faUser, faBuilding } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'\r\nimport LoadingComponent from \"../../../../../Scripts/vue-components/common/loading.vue\";\r\nimport { HousingTypeEnum, HeatingTypeEnum, TarificationIdEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { IContractSettings } from \"../../new-contract-vuex-store\";\r\n\r\ndeclare global {\r\n interface Window { offerRequest: boolean; }\r\n}\r\nwindow.offerRequest = window.offerRequest || false; //gets data passed from OfferIndex since not always is the offerRequest data correctly updated\r\n\r\nlibrary.add(faUser, faBuilding)\r\nVue.component('font-awesome-icon', FontAwesomeIcon)\r\n\r\n@Component({\r\n components: {\r\n PreProductSelection,\r\n PreProductSelectionDisplay,\r\n ProductSelection,\r\n ProductSelectionDisplay,\r\n OfferProductSelectionDisplay,\r\n Authentication,\r\n CustomerInformation,\r\n CustomerInformationDisplay,\r\n CompanyInformation,\r\n CompanyInformationDisplay,\r\n MeteringPointInformation,\r\n MeteringPointInformationDisplay,\r\n NewContractSection,\r\n LoadingIndicator: LoadingComponent\r\n },\r\n})\r\n\r\nexport default class PhaseNewContract extends Vue {\r\n // Map store state's properties to computed properties.\r\n get contract(): IContractViewModel { return this.$store.state.contract; } \r\n get selectedProduct(): IProductViewModel { return this.$store.state.selectedProduct; }\r\n get offerProducts(): string[] { return this.$store.state.offerProducts; }\r\n get selectedPriceList(): IPriceListViewModel { return this.$store.state.selectedPriceList; }\r\n get customerType(): CustomerTypeEnum { return this.contract.CustomerType; } \r\n get processBrand(): string { return this.contract.Brand; }\r\n get preSelectedProductId(): number { return this.$store.state.preSelectedProductId; }\r\n get preSelectedPriceListId(): number { return this.$store.state.preSelectedPriceListId; }\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n isCustomerInCIS(payload: { pin: string }) { return this.$store.dispatch(\"isCustomerInCIS\", payload); }\r\n get offerRequest(): boolean { return this.$store.state.offerRequest; }\r\n get email(): string { return this.contract.CustomerType == CustomerTypeEnum.CONSUMER ? this.contract.Customer.Email : this.contract.Company.Email };\r\n get showAuthentication(): boolean { return this.$store.state.isAuthenticated; } \r\n get hideAuthenticationForcedText(): boolean { return this.$store.state.isAuthenticated; }\r\n setOfferRequest(payload: { offerRequest: boolean }) { return this.$store.dispatch(\"offerRequest\", payload); }\r\n\r\n @Prop()\r\n public validationErrors: ValidationErrors;\r\n\r\n @Prop()\r\n public testMode: boolean;\r\n\r\n @Prop({ default: \"/NewContract/Contract/\" })\r\n public baseUrl: string;\r\n\r\n @Emit()\r\n productsInvalidated() {}\r\n\r\n @Emit()\r\n nextPhase() { }\r\n\r\n authenticate() {\r\n //used in emit thingy so needs to be here\r\n }\r\n\r\n\r\n @Watch('customerType')\r\n onCustomerTypeChanged(newVal: CustomerTypeEnum, oldVal: CustomerTypeEnum) {\r\n this.showLoadingIndicator = true;\r\n if (newVal === CustomerTypeEnum.COMPANY) {\r\n this.sections.product.setSiblings(this.sections.preProduct, this.sections.company);\r\n this.sections.meteringPoint.setSiblings(this.sections.company, null);\r\n //need to build chain with company in it, there are situations at this point where it does not link to meteringpoint correctly\r\n SectionState.formChain(this.sections.preProduct, this.sections.product, this.contract?.CustomerType === CustomerTypeEnum.COMPANY ? this.sections.company : this.sections.company, this.sections.meteringPoint);\r\n }\r\n else {\r\n this.sections.product.setSiblings(this.sections.preProduct, this.sections.customer);\r\n this.sections.meteringPoint.setSiblings(this.sections.customer, null);\r\n }\r\n }\r\n\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n SectionMode: typeof SectionMode = SectionMode;\r\n ActionState: typeof ActionState = ActionState;\r\n\r\n sections: {\r\n preProduct: SectionState;\r\n product: SectionState;\r\n customer: SectionState;\r\n company: SectionState;\r\n meteringPoint: SectionState;\r\n } = null;\r\n\r\n customerExistanceChecked: boolean;\r\n checkedPin: string;\r\n showLoadingIndicator: boolean = false;\r\n membershipSelected: boolean = false;\r\n constructor() {\r\n super();\r\n this.customerExistanceChecked = false;\r\n this.checkedPin = \"\"; \r\n this.sections = {\r\n preProduct: new SectionState(\"pre-product\", () => this.$refs.preProduct),\r\n product: new SectionState(\"product\", () => this.$refs.product),\r\n customer: new SectionState(\"customer\", () => this.$refs.customer),\r\n company: new SectionState(\"company\", () => this.$refs.company),\r\n meteringPoint: new SectionState(\"metering-point\", () => this.$refs.meteringPoint),\r\n };\r\n if (this.processBrand && (this.processBrand.toLowerCase() == \"priima\" || this.processBrand.toLowerCase() == \"priimaplus\")) {\r\n console.log(\"Forming priima section chain\");\r\n SectionState.formChain(this.sections.product, this.contract?.CustomerType === CustomerTypeEnum.COMPANY ? this.sections.company : this.sections.customer, this.sections.meteringPoint);\r\n }\r\n else {\r\n console.log(\"Forming section chain\");\r\n SectionState.formChain(this.sections.preProduct, this.sections.product, this.contract?.CustomerType === CustomerTypeEnum.COMPANY ? this.sections.company : this.sections.customer, this.sections.meteringPoint);\r\n }\r\n \r\n }\r\n\r\n created() {\r\n if (this.isPriima()) {\r\n this.$store.dispatch(\"changeValue\", { key: \"customerType\", value: CustomerTypeEnum.CONSUMER }).then(() => {\r\n this.$store.dispatch(\"changeValue\", { key: \"housingType\", value: HousingTypeEnum.HOUSE }).then(() => {\r\n this.$store.dispatch(\"changeValue\", { key: \"heatingType\", value: HeatingTypeEnum.ELECTRICITY }).then(() => {\r\n this.$store.dispatch(\"changeValue\", { key: \"tarification\", value: TarificationIdEnum.SINGLETARIF }).then(() => {\r\n if (this.isPriimaplus()) {\r\n this.$store.dispatch(\"changeValue\", { key: \"customerType\", value: CustomerTypeEnum.COMPANY }).then(() => {\r\n console.log(\"Company customer\")\r\n this.proceedToProductSelection();\r\n });\r\n }\r\n else {\r\n this.proceedToProductSelection();\r\n }\r\n });\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n mounted() {\r\n console.log(\"Phase mounted!\"); \r\n NewContractEvents.addValidationFailedListener(this.validationFailed);\r\n if (this.$store.state.newContractInitialized) {\r\n // New contract has already been initialized (i.e. we are coming back from confirmation phase to modify our contract.)\r\n // In this case we just initialize the sections' states (or the UI).\r\n if (this.contract?.CustomerType === CustomerTypeEnum.COMPANY) {\r\n this.sections.company.customerInfoGiven = true;\r\n }\r\n else {\r\n this.sections.customer.customerInfoGiven = true;\r\n }\r\n this.initializeSections();\r\n }\r\n else {\r\n // New contract has not been initialize, let's register listener for initialization. That listener takes care of\r\n // sections' initialization after module is initialized.\r\n NewContractEvents.addNewContractInitializedListener(this.newContractInitialized);\r\n }\r\n \r\n }\r\n\r\n beforeDestroy() {\r\n NewContractEvents.removeValidationFailedListener(this.validationFailed);\r\n NewContractEvents.removeNewContractInitializedListener(this.newContractInitialized);\r\n }\r\n\r\n proceedToProductSelection() {\r\n console.log(\"Proceed to product selection!\");\r\n this.sections.preProduct.proceed();\r\n }\r\n\r\n productSelected(product: IProductViewModel, priceList: IPriceListViewModel) {\r\n let self = this;\r\n this.sections.product.proceed();\r\n }\r\n\r\n modifyPreProductSelection() {\r\n this.sections.preProduct.enter();\r\n }\r\n\r\n modifyProductSelection() {\r\n this.sections.product.enter();\r\n }\r\n\r\n customerTypeSelected() {\r\n if (this.isPriima()) {\r\n this.sections.product.enter();\r\n }\r\n else {\r\n this.sections.preProduct.enter();\r\n }\r\n this.showLoadingIndicator = false;\r\n }\r\n\r\n proceedToMeteringPoint() {\r\n this.sections.product.proceed();\r\n }\r\n\r\n validationFailed(errors: ValidationErrors) {\r\n this.$nextTick(() => {\r\n let errorFound = false;\r\n if (!this.isPriima()) {\r\n if (PreProductSelectionChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.preProduct.enterModify();\r\n }\r\n }\r\n if (!errorFound && ProductSelectionChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.product.enterModify();\r\n }\r\n\r\n if (!errorFound && CustomerInformationChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.customer.enterModify();\r\n }\r\n\r\n if (!errorFound && CompanyInformationChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.company.enterModify();\r\n }\r\n\r\n if (!errorFound && MeteringPointInformationChecker.hasErrors(errors)) {\r\n errorFound = true;\r\n this.sections.meteringPoint.enterModify();\r\n }\r\n\r\n let validationIds = errors.getAllKeys();\r\n let selector = \"\";\r\n validationIds.forEach((id) => {\r\n if (selector)\r\n selector += \",\";\r\n selector += \"[data-validation-id='\" + id + \"']\";\r\n });\r\n\r\n let nodeList = this.$el.querySelectorAll(selector);\r\n let elements = [];\r\n for (let i = 0; i < nodeList.length; ++i) {\r\n elements.push(nodeList.item(i));\r\n }\r\n\r\n elements.sort(function(a, b) {\r\n if (a === b) return 0;\r\n if (!a.compareDocumentPosition) {\r\n // support for IE8 and below\r\n return a.sourceIndex - b.sourceIndex;\r\n }\r\n if (a.compareDocumentPosition(b) & 2) {\r\n // b comes before a\r\n return 1;\r\n }\r\n return -1;\r\n });\r\n\r\n //if (elements.length != 0) {\r\n // VueScrollTo.scrollTo(elements[0]);\r\n //}\r\n });\r\n }\r\n\r\n customerValueUpdated(allSet: boolean) {\r\n if (allSet) {\r\n console.log(\"All customer values have been set!\");\r\n }\r\n }\r\n\r\n companyValueUpdated(allSet: boolean) {\r\n if (allSet) {\r\n console.log(\"All company values have been set!\");\r\n }\r\n }\r\n\r\n getSectionMode(allSet: boolean, previousSectionMode: SectionMode) {\r\n let mode = allSet ? SectionMode.Display : SectionMode.Edit;\r\n if (previousSectionMode != null) {\r\n if (mode == SectionMode.Edit && previousSectionMode != SectionMode.Display)\r\n mode = SectionMode.Hidden;\r\n }\r\n return mode;\r\n }\r\n\r\n initializeSections() {\r\n const customerTypeSelected = this.contract.CustomerType != CustomerTypeEnum.NOTSET;\r\n this.sections.preProduct.initializeMode(this.isPriima() ? true : PreProductSelectionChecker.isAllSet(this.contract), customerTypeSelected ? SectionMode.Display : SectionMode.Edit);\r\n this.sections.product.initializeMode(this.isPriima() ? false : ProductSelectionChecker.isAllSet(this.contract), this.isPriima() ? SectionMode.Display : null);\r\n if (this.contract.CustomerType == CustomerTypeEnum.CONSUMER) {\r\n this.sections.customer.initializeMode(CustomerInformationChecker.isAllSet(this.contract) && this.contract.AuthenticateQuestionAccepted);\r\n }\r\n else if (this.contract.CustomerType == CustomerTypeEnum.COMPANY) {\r\n this.sections.company.initializeMode(CompanyInformationChecker.isAllSet(this.contract));\r\n }\r\n else {\r\n this.sections.customer.mode = SectionMode.Hidden;\r\n }\r\n this.sections.meteringPoint.initializeMode(MeteringPointInformationChecker.isAllSet(this.contract));\r\n this.sections.preProduct.scrollToFirstEdit();\r\n }\r\n\r\n newContractInitialized() {\r\n console.log(\"New contract initialized!\");\r\n if (!this.offerRequest && window.offerRequest) {\r\n this.setOfferRequest({ offerRequest: window.offerRequest });\r\n }\r\n\r\n this.initializeSections();\r\n }\r\n\r\n getCustomerProceedActionState(): ActionState {\r\n if (this.contract.AuthenticateQuestionAccepted && this.contract.StrongContractAuthentication) {\r\n return ActionState.Enabled;\r\n }\r\n return ActionState.Hidden;\r\n }\r\n\r\n hasMembership(): boolean {\r\n if ((!this.contract.PreSelectedMembership || this.contract.PreSelectedMembership.length == 0) && (this.contract.Customer.CustomerMemberships || this.contract.MembershipCode)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isPriima(): boolean {\r\n if (this.processBrand && (this.processBrand.toLowerCase() == \"priima\" || this.processBrand.toLowerCase() == \"priimaplus\")) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isPriimaplus(): boolean {\r\n if (this.processBrand && this.processBrand.toLowerCase() == \"priimaplus\") {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n productSelectionPhaseTitle(): string {\r\n let title = \"Sopimusvalikoima\";\r\n if (this.isPriima()) {\r\n title = \"Sähkötuote ja tuotantotapa\";\r\n }\r\n return title;\r\n }\r\n\r\n phaseNumber(defaultnumber : number): number {\r\n let result: number = defaultnumber;\r\n if (this.isPriima()) {\r\n result--;\r\n }\r\n return result;\r\n }\r\n\r\n priimaplusUrl(): string {\r\n let url = this.baseUrl + \"Index\";\r\n url += \"?selectedProductId=\" + this.contractSettings.PriimaPlusProductId;\r\n url += \"&selectedPriceListId=\" + this.contractSettings.PriimaPlusPriceListId;\r\n return url;\r\n }\r\n\r\n movingUrl(): string {\r\n if ((this.contract.Customer && this.contract.Customer.TrustedSource) || (this.contract.Company && this.contract.Company.TrustedSource)) {\r\n return this.baseUrl + \"NewContractCustomerSelection?moving=true\";\r\n }\r\n else {\r\n return this.baseUrl +\"EndProcess?moving=true\";\r\n }\r\n }\r\n\r\n showPriimaplusLink(): boolean {\r\n if (!this.contract.Customer.TrustedSource && !this.contract.Company.TrustedSource && !this.isPriima() && !this.isPriimaplus()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n enabledOfferRequestButton(): boolean {\r\n let result = (this.email != null && this.email != \"\") ? true : false;\r\n if (this.contract.CustomerType == CustomerTypeEnum.CONSUMER) {\r\n let cust = this.contract.Customer;\r\n result = result && (cust.FirstName != null && cust.FirstName != \"\" && cust.LastName != null && cust.LastName != \"\" && cust.Phone != null && cust.Phone != \"\");\r\n }\r\n else if(this.contract.CustomerType == CustomerTypeEnum.COMPANY) {\r\n let comp = this.contract.Company;\r\n result = result && (comp.CompanyName != null && comp.CompanyName != \"\" && comp.Phone != null && comp.Phone != \"\");\r\n }\r\n let mp = this.contract.MeteringPoint;\r\n result = result && mp.Address.Street != null && mp.Address.Street != \"\" && mp.Address.Zip != null && mp.Address.Zip != \"\";\r\n\r\n result = result && ((this.selectedPriceList != null && this.selectedPriceList.Id > 0 && this.selectedProduct != null && this.selectedProduct.Id > 0) || this.offerProducts.length > 0);\r\n return result;\r\n }\r\n\r\n sendOfferRequest(): void {\r\n window.location.href = this.baseUrl + \"sendoffer?offerEmail=\" + this.email;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-new-contract.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-new-contract.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Cphases%5Cphase-new-contract.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Cphases%5Cphase-new-contract.vue\"","import { render, staticRenderFns } from \"./phase-new-contract.vue?vue&type=template&id=0630897a&scoped=true&\"\nimport script from \"./phase-new-contract.ts?vue&type=script&lang=js&\"\nexport * from \"./phase-new-contract.ts?vue&type=script&lang=js&\"\nimport style0 from \"./phase-new-contract.vue?vue&type=style&index=0&id=0630897a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0630897a\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/new-contract-and-move-out-section-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Cphases%5Cphase-new-contract.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _c(\"h2\", { staticClass: \"text-center\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteenveto\")))\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"font-weight-bold text-center\" }, [\n _vm._v(\n \"Kiitos että valitsit Pohjois-Karjalan Sähkön! Tarkista alla olevat sopimuksesi tiedot ja vahvista sopimus.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"card\" }, [\n _c(\n \"div\",\n { staticClass: \"card-body\" },\n [\n _c(\"h3\", { staticClass: \"card-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiakastiedot\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Nimi\")))\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.customerName))\n ])\n ]\n ),\n _vm._v(\" \"),\n !_vm.isAcceptingOffer\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _vm.contract.CustomerType == 1\n ? _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\")))\n ])\n : _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Y-tunnus\")))\n ]),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"font-weight-bold\" }, [\n _vm._v(_vm._s(_vm.customerIdentifier))\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.isAcceptingOffer\n ? _c(\n \"div\",\n [\n _vm.contract.CustomerType == 1\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Henkilötunnus\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Pin\",\n \"validation-errors\":\n _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n name: \"Pin\",\n value: _vm.customer.Pin\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType == 2\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Y-tunnus\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"BusinessId\",\n \"validation-errors\":\n _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"text\",\n name: \"BusinessId\",\n maxlength: \"20\",\n value: _vm.company.BusinessId\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"pt-0\",\n attrs: { for: \"confirmation_phone_field\" }\n },\n [_vm._v(\"Puhelinnumero\")]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Phone\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n id: \"confirmation_phone_field\",\n type: \"text\",\n name: \"Phone\",\n value: _vm.customer.Phone\n ? _vm.customer.Phone\n : \"+358\"\n }\n })\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.customerEmail\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\n \"label\",\n {\n staticClass: \"pt-0\",\n attrs: { for: \"confirmation_email_field\" }\n },\n [_vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))]\n ),\n _vm._v(\" \"),\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"Email\",\n \"validation-errors\":\n _vm.validationErrors\n }\n },\n [\n _c(\"b-form-input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n id: \"confirmation_email_field\",\n type: \"email\",\n name: \"Email\",\n value: _vm.customer.Email\n }\n })\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e()\n ],\n 1\n )\n : _c(\n \"div\",\n [\n _vm.customerPhone\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Puhelinnumero\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"font-weight-bold\" },\n [_vm._v(_vm._s(_vm.customerPhone))]\n )\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm.customerEmail\n ? _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sähköpostiosoite\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"font-weight-bold\" },\n [_vm._v(_vm._s(_vm.customerEmail))]\n )\n ]\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.CustomerType == 2\n ? _c(\n \"div\",\n _vm._l(_vm.contactPersons, function(\n contactPerson,\n index\n ) {\n return _c(\n \"div\",\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Yhteyshenkilö\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"span\",\n { staticClass: \"font-weight-bold\" },\n [\n _vm._v(\n _vm._s(contactPerson.FirstName) +\n \" \" +\n _vm._s(contactPerson.LastName)\n )\n ]\n ),\n _vm._v(\" \"),\n _c(\"br\"),\n _vm._v(\" \"),\n contactPerson.Phone !== null &&\n contactPerson.Phone !== \"\"\n ? _c(\n \"span\",\n { staticClass: \"font-weight-bold\" },\n [_vm._v(_vm._s(contactPerson.Phone))]\n )\n : _vm._e(),\n _vm._v(\" \"),\n contactPerson.Email !== null &&\n contactPerson.Email !== \"\"\n ? _c(\n \"span\",\n { staticClass: \"font-weight-bold\" },\n [_vm._v(_vm._s(contactPerson.Email))]\n )\n : _vm._e()\n ]\n )\n ],\n 1\n )\n }),\n 0\n )\n : _vm._e()\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-lg\": \"1\",\n \"label-align-md\": \"right\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Asiakkaan osoite\")))\n ]),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"font-weight-bold\" }, [\n _vm.CONameString != \"\"\n ? _c(\"span\", [\n _vm._v(_vm._s(_vm.CONameString)),\n _c(\"br\")\n ])\n : _vm._e(),\n _vm._v(_vm._s(_vm.customerAddressString))\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _vm._l(_vm.contractPartners, function(contractPartner, index) {\n return [\n _c(\n \"b-col\",\n { attrs: { sm: \"12\", md: \"6\", lg: \"4\" } },\n [\n _c(\"contract-partner-card\", {\n attrs: {\n title: _vm.$t(\"Sopimuskumppani \") + (index + 1),\n \"contact-person\": contractPartner,\n editable: false\n }\n })\n ],\n 1\n )\n ]\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"h3\", { staticClass: \"card-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Tuotevalinta\")))\n ]),\n _vm._v(\" \"),\n _c(\"form-group-static\", [_c(\"product-selection-display\")], 1),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"h3\", { staticClass: \"card-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Käyttöpaikan tiedot\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"form-group-static\",\n [_c(\"metering-point-information-display\")],\n 1\n ),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\"h3\", { staticClass: \"card-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sopimustiedot\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Maksutapana on laskutus.\")))\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Laskuja vuodessa\")))\n ]),\n _vm._v(\" \"),\n _c(\"b\", [\n _vm._v(\n _vm._s(_vm.contract.InvoicingGroup) +\n \" \" +\n _vm._s(_vm.$t(\"kpl\"))\n )\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n ),\n _vm._v(\" \"),\n _vm.contract.ExtraInformation\n ? _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"6\" } },\n [\n _c(\n \"b-form-group\",\n {\n staticClass: \"mb-0\",\n attrs: {\n \"label-cols-sm\": \"12\",\n \"label-cols-md\": \"12\",\n \"label-cols-lg\": \"3\"\n }\n },\n [\n _c(\"label\", { staticClass: \"pt-0\" }, [\n _vm._v(_vm._s(_vm.$t(\"Lisätiedot\")))\n ]),\n _vm._v(\" \"),\n _c(\"b\", [\n _vm._v(_vm._s(_vm.contract.ExtraInformation))\n ])\n ]\n )\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n !_vm.isPriimaPlus()\n ? _c(\n \"div\",\n [\n _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _c(\"p\", [\n _vm._v(\n \"Kuluttaja-asiakkaalla on oikeus perua sopimus 14 päivän kuluessa sopimuksen tekemisestä (Kuluttajansuojalaki 6 luku 14 §). Jos sähköä käytetään peruutusajan aikana, kuluttaja maksaa käyttämänsä sähkön.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n 'Asiakkaanamme Sinulla on käytössäsi jatkuvasti kehittyvät sähköiset palvelumme. Voit valita sähköisen palvelukanavan myös ensijaiseksi palvelukanavaksi antamalla siihen suostumukseksi alla.\"'\n )\n ])\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"hr\", { staticClass: \"dotted\" }),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customer.ServiceChannelCode,\n expression: \"customer.ServiceChannelCode\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"ServiceChannelCode\",\n \"true-value\": \"sähköposti\",\n \"false-value\": \"\"\n },\n domProps: {\n checked: Array.isArray(\n _vm.customer.ServiceChannelCode\n )\n ? _vm._i(\n _vm.customer.ServiceChannelCode,\n null\n ) > -1\n : _vm._q(\n _vm.customer.ServiceChannelCode,\n \"sähköposti\"\n )\n },\n on: {\n change: function($event) {\n var $$a = _vm.customer.ServiceChannelCode,\n $$el = $event.target,\n $$c = $$el.checked ? \"sähköposti\" : \"\"\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.customer,\n \"ServiceChannelCode\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.customer,\n \"ServiceChannelCode\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(\n _vm.customer,\n \"ServiceChannelCode\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\n \"\\n  Haluan, että minuun ollaan ensisijaisesti yhteydessä sähköisesti\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY\n ? _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.company.ServiceChannelCode,\n expression: \"company.ServiceChannelCode\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"ServiceChannelCode\",\n \"true-value\": \"sähköposti\",\n \"false-value\": \"\"\n },\n domProps: {\n checked: Array.isArray(\n _vm.company.ServiceChannelCode\n )\n ? _vm._i(\n _vm.company.ServiceChannelCode,\n null\n ) > -1\n : _vm._q(\n _vm.company.ServiceChannelCode,\n \"sähköposti\"\n )\n },\n on: {\n change: function($event) {\n var $$a = _vm.company.ServiceChannelCode,\n $$el = $event.target,\n $$c = $$el.checked ? \"sähköposti\" : \"\"\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.company,\n \"ServiceChannelCode\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.company,\n \"ServiceChannelCode\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(\n _vm.company,\n \"ServiceChannelCode\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\n \"\\n  Haluan, että minuun ollaan ensisijaisesti yhteydessä sähköisesti\\n \"\n )\n ])\n : _vm._e()\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\"p\", [\n _vm._v(\n \"Saat halutessasi sähköisesti tietoa myös tarjouksistamme ja tuoteuutuuksistamme. Lähetämme viestejä korkeintaan 1-3 kertaa kuukaudessa ja voit poistua postituslistalta milloin tahansa.\"\n )\n ]),\n _vm._v(\" \"),\n _c(\"hr\", { staticClass: \"dotted\" }),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.CONSUMER\n ? _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.customer.DirectMarketing,\n expression: \"customer.DirectMarketing\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"DirectMarketing\",\n \"true-value\": \"true\",\n \"false-value\": \"false\"\n },\n domProps: {\n checked: Array.isArray(\n _vm.customer.DirectMarketing\n )\n ? _vm._i(\n _vm.customer.DirectMarketing,\n null\n ) > -1\n : _vm._q(\n _vm.customer.DirectMarketing,\n \"true\"\n )\n },\n on: {\n change: function($event) {\n var $$a = _vm.customer.DirectMarketing,\n $$el = $event.target,\n $$c = $$el.checked ? \"true\" : \"false\"\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.customer,\n \"DirectMarketing\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.customer,\n \"DirectMarketing\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(\n _vm.customer,\n \"DirectMarketing\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\n \"\\n  Markkinointilupa. Pohjois-Karjalan Sähkö Oy voi lähettää minulle sähköisesti tarjouksia omista tuotteistaan ja palveluistaan\\n \"\n )\n ])\n : _vm._e(),\n _vm._v(\" \"),\n _vm.contract.CustomerType ==\n _vm.CustomerTypeEnum.COMPANY\n ? _c(\"label\", { staticClass: \"checkbox-inline\" }, [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.company.DirectMarketing,\n expression: \"company.DirectMarketing\"\n },\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"DirectMarketing\",\n \"true-value\": \"true\",\n \"false-value\": \"false\"\n },\n domProps: {\n checked: Array.isArray(\n _vm.company.DirectMarketing\n )\n ? _vm._i(\n _vm.company.DirectMarketing,\n null\n ) > -1\n : _vm._q(\n _vm.company.DirectMarketing,\n \"true\"\n )\n },\n on: {\n change: function($event) {\n var $$a = _vm.company.DirectMarketing,\n $$el = $event.target,\n $$c = $$el.checked ? \"true\" : \"false\"\n if (Array.isArray($$a)) {\n var $$v = null,\n $$i = _vm._i($$a, $$v)\n if ($$el.checked) {\n $$i < 0 &&\n _vm.$set(\n _vm.company,\n \"DirectMarketing\",\n $$a.concat([$$v])\n )\n } else {\n $$i > -1 &&\n _vm.$set(\n _vm.company,\n \"DirectMarketing\",\n $$a\n .slice(0, $$i)\n .concat($$a.slice($$i + 1))\n )\n }\n } else {\n _vm.$set(\n _vm.company,\n \"DirectMarketing\",\n $$c\n )\n }\n }\n }\n }),\n _vm._v(\n \"\\n  Markkinointilupa. Pohjois-Karjalan Sähkö Oy voi lähettää minulle sähköisesti tarjouksia omista tuotteistaan ja palveluistaan\\n \"\n )\n ])\n : _vm._e()\n ])\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"hr\"),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\"b-col\", [\n _c(\"h3\", { staticClass: \"card-title confirmation-subtitle\" }, [\n _vm._v(_vm._s(_vm.$t(\"Sopimusehdot\")))\n ]),\n _vm._v(\" \"),\n _c(\n \"label\",\n { staticClass: \"checkbox-inline\" },\n [\n _c(\n \"validated-form-group\",\n {\n attrs: {\n \"validation-id\": \"acceptTerms\",\n \"validation-errors\": _vm.validationErrors\n }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"new-contract-value\",\n rawName: \"v-new-contract-value\"\n }\n ],\n attrs: {\n type: \"checkbox\",\n name: \"acceptTerms\",\n \"true-value\": \"1\",\n \"false-value\": \"0\"\n },\n domProps: { value: _vm.contract.AcceptTerms }\n }),\n _vm._v(\n \"\\n Olen tutustunut voimassa oleviin \"\n ),\n _c(\n \"a\",\n {\n attrs: {\n href:\n \"https://pks.fi/wp-content/uploads/2019/02/Sahkontoimitusehdot_ste_2014_20160118.pdf\",\n target: \"_blank\"\n }\n },\n [_vm._v(\"Sähkönmyyntiehtoihin\")]\n )\n ]\n )\n ],\n 1\n )\n ])\n ],\n 1\n ),\n _vm._v(\" \"),\n _c(\n \"b-row\",\n [\n _c(\n \"b-col\",\n { attrs: { md: \"12\" } },\n [\n _vm.isLoading\n ? _c(\"loading-indicator\", {\n staticClass: \"loading-indicator\"\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: !_vm.isLoading,\n expression: \"!isLoading\"\n },\n {\n name: \"new-contract-validate\",\n rawName: \"v-new-contract-validate\"\n }\n ],\n staticClass: \"text-center\",\n attrs: {\n method: \"post\",\n action: \"/NewContract/Contract/Contract\"\n }\n },\n [\n _vm.contract.IsAcceptingOffer &&\n (_vm.contract.CustomerType ===\n _vm.CustomerTypeEnum.COMPANY ||\n !_vm.consumerStrongAuthenticationWhenAcceptingOffer)\n ? [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-primary btn-Accept\",\n class: { disabled: _vm.isLoading },\n staticStyle: {\n \"margin-bottom\": \"2px !important\"\n },\n attrs: { type: \"submit\" }\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Hyväksy tarjous\")))\n ]\n )\n ]\n : _vm.contract.IsAcceptingOffer &&\n _vm.contract.CustomerType ===\n _vm.CustomerTypeEnum.CONSUMER &&\n _vm.consumerStrongAuthenticationWhenAcceptingOffer\n ? [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-primary\",\n class: { disabled: _vm.isLoading },\n staticStyle: {\n \"margin-bottom\": \"2px !important\"\n },\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n return _vm.nextPhase()\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Hyväksy tarjous\")))\n ]\n )\n ]\n : [\n _c(\n \"button\",\n {\n staticClass: \"btn btn-primary btn-Accept\",\n class: { disabled: _vm.isLoading },\n staticStyle: {\n \"margin-bottom\": \"2px !important\"\n },\n attrs: {\n type: \"submit\",\n disabled: _vm.isLoading\n }\n },\n [\n _c(\"i\", { staticClass: \"fa fa-check\" }),\n _vm._v(\" \" + _vm._s(_vm.$t(\"Hyväksy sopimus\")))\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"button\",\n {\n staticClass: \"btn btn-primary\",\n class: { disabled: _vm.isLoading },\n staticStyle: {\n \"margin-bottom\": \"2px !important\"\n },\n attrs: { type: \"button\" },\n on: {\n click: function($event) {\n return _vm.previousPhase()\n }\n }\n },\n [\n _c(\"i\", { staticClass: \"fa fa-undo\" }),\n _vm._v(\n \" \" + _vm._s(_vm.$t(\"Muokkaa sopimusta\"))\n )\n ]\n )\n ]\n ],\n 2\n )\n ],\n 1\n )\n ],\n 1\n )\n ],\n 1\n )\n ])\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop, Emit } from \"vue-property-decorator\"\r\nimport ValidatedFormGroup from \"../../Default/common/validated-form-group.vue\"\r\nimport FormGroupStatic from \"./form-group-static.vue\"\r\nimport { IContractSettings } from \"../../new-contract-vuex-store\";\r\nimport { IProductGroupViewModel, IContractViewModel, IAddressViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { IContactPersonViewModel, ICustomerViewModel, ICompanyViewModel, IMeteringPointViewModel } from \"../../../../../Scripts/inpulse/I4UViewModels\";\r\nimport { InvoicingMethodEnum, CustomerTypeEnum } from \"../../../../../Scripts/inpulse/CommonEnums\";\r\nimport { ValidationErrors } from \"../../new-contract-vue\";\r\nimport ProductSelectionDisplay from \"../steps/product-selection-display.vue\"\r\nimport MeteringPointInformationDisplay from \"../steps/metering-point-information-display.vue\"\r\nimport ContractPartnerCard from \"../steps/components/contract-partner-card.vue\";\r\nimport { GenericTypeFormatTranslator, InvoicingMethodFormat, CommonFormatUtils } from \"../../../../../Scripts/inpulse/FormatUtils\"\r\nimport { TranslateResult } from \"vue-i18n\"\r\nimport { ContactPersonUtils } from \"../../../../../Scripts/inpulse/ContactPersonUtils\"\r\nimport { AddressFormat } from \"../../../../../Scripts/inpulse/AddressFormat\"\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\";\r\nimport LoadingComponent from \"@/Scripts/vue-components/common/loading.vue\";\r\nimport Authentication from \"../steps/authentication.vue\"\r\n\r\ndeclare let currentLocale: string;\r\ndeclare let customerCultureCode: string;\r\n\r\ndeclare global {\r\n interface Window { allowAcceptOfferWithoutHavingAccount: boolean; }\r\n}\r\nwindow.allowAcceptOfferWithoutHavingAccount = window.allowAcceptOfferWithoutHavingAccount || false; //gets data passed from Offer.cshtml which gets it from TempData via tupasController\r\n\r\n@Component({\r\n components: {\r\n ValidatedFormGroup,\r\n FormGroupStatic,\r\n ContractPartnerCard,\r\n ProductSelectionDisplay,\r\n MeteringPointInformationDisplay,\r\n LoadingIndicator: LoadingComponent, \r\n Authentication\r\n },\r\n})\r\n\r\nexport default class PhaseContractConfirmation extends Vue {\r\n get contractSettings(): IContractSettings { return this.$store.state.contractSettings; }\r\n get isLoading(): boolean { return this.$store.state.loadingNewPhase; }\r\n get isAuthed(): boolean { return this.$store.state.isUserAuthenticated || window.allowAcceptOfferWithoutHavingAccount; }\r\n get contract(): IContractViewModel { return this.$store.state.contract; }\r\n get customer(): ICustomerViewModel { return this.contract.Customer; }\r\n get company(): ICompanyViewModel { return this.contract.Company; }\r\n get customerName(): string { return this.$store.getters.customerName; }\r\n get customerIdentifier(): string { return this.$store.getters.customerIdentifier; }\r\n get customerPhone(): string { return this.$store.getters.customerPhone; }\r\n get customerEmail(): string { return this.$store.getters.customerEmail; }\r\n get customerAddress(): IAddressViewModel { return this.$store.getters.customerAddress; }\r\n get isInvoicingMethodsInUse(): boolean { return this.contractSettings.InvoicingMethodsInUse; }\r\n get isAcceptingOffer(): boolean { return this.contract.IsAcceptingOffer }\r\n get selectedProductGroups(): IProductGroupViewModel[] { return this.$store.state.selectedProduct.ProductGroups; }\r\n get meteringPoint(): IMeteringPointViewModel { return this.contract.MeteringPoint; }\r\n get offerId(): string { return this.contract.OfferId; }\r\n selected: string;\r\n\r\n get contractPartners(): IContactPersonViewModel[] {\r\n let res = [];\r\n this.customer.ContractPartners.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x))\r\n res.push(x);\r\n });\r\n return res;\r\n }\r\n get contactPersons(): IContactPersonViewModel[] {\r\n let res = [];\r\n console.log(\"get contactPersons()\");\r\n this.company.ContactPersons.forEach(x => {\r\n if (!ContactPersonUtils.isEmpty(x)) {\r\n console.log(\"contactPerson exists\");\r\n res.push(x);\r\n }\r\n });\r\n return res;\r\n }\r\n\r\n InvoicingMethodEnum: typeof InvoicingMethodEnum = InvoicingMethodEnum;\r\n CustomerTypeEnum: typeof CustomerTypeEnum = CustomerTypeEnum;\r\n\r\n @Prop({ default: function () { return new ValidationErrors() } })//Default value to initialize new since there won't be ValidationErrors with new offer and validation-id=\"acceptTerms\" needs it to be shown in UI\r\n public validationErrors: ValidationErrors;\r\n\r\n @Emit()\r\n public previousPhase() { }\r\n\r\n @Prop()\r\n public showAuthentication: boolean;\r\n\r\n @Prop({ default: false })\r\n consumerStrongAuthenticationWhenAcceptingOffer: boolean;\r\n\r\n @Emit()\r\n authenticate() { }\r\n\r\n @Emit()\r\n nextPhase() { }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n mounted() {\r\n console.log(\"Phase contract confirmation!\");\r\n }\r\n\r\n created() {\r\n //this.setCultureCode()\r\n }\r\n\r\n get CONameString(): string {\r\n let tmpCOName = this.contract.IsCustomerAddressInUse == true ? this.contract.CustomerType === this.CustomerTypeEnum.CONSUMER ? this.customer.Address.COName : this.company.Address.COName : \"\";\r\n if (tmpCOName !== null && tmpCOName !== \"\") {\r\n tmpCOName = \"c/o \" + tmpCOName;\r\n }\r\n return tmpCOName !== null ? tmpCOName : \"\";\r\n }\r\n\r\n get customerAddressString(): string {\r\n if (this.contract.IsCustomerAddressInUse) {\r\n return AddressFormat.toSingleString(this.customerAddress);\r\n }\r\n return this.meteringPointAddressString;\r\n }\r\n\r\n get meteringPointAddressString() {\r\n let addr = this.contract.MeteringPoint.Address;\r\n return AddressFormat.toSingleString(addr);\r\n }\r\n\r\n invoicingMethodString(type: InvoicingMethodEnum): string | TranslateResult {\r\n return GenericTypeFormatTranslator.toString(InvoicingMethodFormat.toString, type, this.$i18n);\r\n }\r\n\r\n get invoicingAddressString(): string {\r\n let addr = \"\";\r\n addr = AddressFormat.toSingleString(this.contract.InvoicingAddress.Address);\r\n\r\n if (this.contract.InvoicingAddress.Address.COName !== null && this.contract.InvoicingAddress.Address.COName !== \"\") {\r\n addr = this.contract.InvoicingAddress.Address.COName + \", \" + addr;\r\n }\r\n\r\n if (this.contract.InvoicingAddress.ContactPersonName !== null && this.contract.InvoicingAddress.ContactPersonName !== \"\") {\r\n addr = this.contract.InvoicingAddress.ContactPersonName + \", \" + addr;\r\n }\r\n\r\n return addr;\r\n }\r\n\r\n confirm() {\r\n console.log(\"Confirm!\");\r\n }\r\n\r\n formatDate(date: string) {\r\n return CommonFormatUtils.formatDate(date);\r\n }\r\n\r\n get isMandatatoryMarketingChannel(): boolean {\r\n if (this.selectedProductGroups !== null && this.selectedProductGroups.length > 0) {\r\n const ret = this.selectedProductGroups.find(x => x.Code === \"EmailPakollinen\");\r\n if (ret !== null && ret !== undefined) {\r\n console.log(\"isMandatatoryMarketingChannel(): true\");\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n isPriimaPlus(): boolean {\r\n return this.contractSettings.PriimaPlusProductId && this.contractSettings.PriimaPlusProductId > 0\r\n && this.contract.ProductId == this.contractSettings.PriimaPlusProductId;\r\n }\r\n\r\n //redirect to login page with correct return url to get back to accepting the offer\r\n handleAuthenticationClick() {\r\n window.location.href = `/eServices/Online/LoginWithJustTupas?returnUrl=/NewContract/Contract/Offer?id=${this.offerId}`;\r\n //window.location.href = `/eServices/Tupas/AuthenticationStart?service=optunnistus&returnUrl=/NewContract/Contract/Offer?id=${this.offerId}`;\r\n return false;\r\n }\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-contract-confirmation.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./phase-contract-confirmation.ts?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-confrimation-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Cphases%5Cphase-contract-confirmation.vue\"; export default mod; export * from \"-!../../../../../node_modules/@intlify/vue-i18n-loader/lib/index.js!./contract-confrimation-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Cphases%5Cphase-contract-confirmation.vue\"","import { render, staticRenderFns } from \"./phase-contract-confirmation.vue?vue&type=template&id=35b32006&scoped=true&\"\nimport script from \"./phase-contract-confirmation.ts?vue&type=script&lang=js&\"\nexport * from \"./phase-contract-confirmation.ts?vue&type=script&lang=js&\"\nimport style0 from \"./phase-contract-confirmation.vue?vue&type=style&index=0&id=35b32006&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"35b32006\",\n null\n \n)\n\n/* custom blocks */\nimport block0 from \"../Locales/contract-confrimation-locales.json?vue&type=custom&index=0&blockType=i18n&issuerPath=C%3A%5CInpulse%5CInpulse4Utilities%5CInpulse4Utilities.Web%5CAreas%5CNewContract%5CScripts%5CPKS%5Cphases%5Cphase-contract-confirmation.vue\"\nif (typeof block0 === 'function') block0(component)\n\nexport default component.exports","import Vue, { Component, AsyncComponent } from \"vue\";\r\nimport VueI18n from 'vue-i18n'\r\nimport { NewContract, ValidationErrors, PhaseDescriptor, INewContractOptions } from \"../../new-contract-vue\"\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\";\r\n\r\ndeclare let selectedProductId: number;\r\ndeclare let selectedPriceListId: number;\r\ndeclare let selectedCustomerType: number;\r\ndeclare let selectedTarification: number;\r\ndeclare let selectedHousingType: number;\r\ndeclare let campaignCode: string;\r\ndeclare let currentLocale: string;\r\ndeclare let membership: string;\r\ndeclare let brand: string;\r\ndeclare let offerRequest: boolean;\r\n\r\nconst isEnglish = currentLocale?.startsWith(\"en\");\r\nconst isSwedish = currentLocale?.startsWith(\"sv\");\r\nconst isFinnish = !isEnglish && !isSwedish || (currentLocale == null || currentLocale == \"\" || currentLocale.startsWith(\"fi\")) ? true : false;\r\n\r\nVue.use(VueI18n);\r\nconst i18n = new VueI18n({\r\n locale: currentLocale,\r\n fallbackRoot: true,\r\n silentTranslationWarn: true\r\n});\r\n\r\nexport abstract class ContractPageBase {\r\n protected newContract: NewContract;\r\n\r\n constructor(\r\n rootSelector: string,\r\n phases: PhaseDescriptor[],\r\n components: { [key: string]: Component | AsyncComponent },\r\n initialPhaseId?: number,\r\n autoClearSelectedProduct?: boolean, \r\n offerRequest?: boolean,\r\n \r\n ) {\r\n const options = {\r\n el: rootSelector,\r\n phases: phases,\r\n preselects: {\r\n productId: selectedProductId,\r\n priceListId: selectedPriceListId,\r\n customerType: selectedCustomerType,\r\n tarification: selectedTarification,\r\n housingType: selectedHousingType,\r\n campaignCode: campaignCode,\r\n membership: membership,\r\n brand: brand,\r\n offerRequest: offerRequest,\r\n },\r\n // Add Vue stuff specific to default.\r\n mixin: {\r\n components: components,\r\n i18n,\r\n mounted: () => this.onPageMounted(),\r\n beforeDestroy: () => this.onPageUnmounted()\r\n },\r\n initialPhaseId: initialPhaseId,\r\n autoClearSelectedProduct: autoClearSelectedProduct\r\n } as INewContractOptions;\r\n\r\n this.newContract = new NewContract(options);\r\n }\r\n\r\n protected onPageMounted(): void {\r\n console.log(\"Page mounted!\");\r\n NewContractEvents.addValidationFailedListener(this.validationFailedListener);\r\n NewContractEvents.addProductSelectionClearedListener(this.productSelectionClearedListener);\r\n }\r\n\r\n protected onPageUnmounted(): void {\r\n console.log(\"Page unmounted!\");\r\n NewContractEvents.removeValidationFailedListener(this.validationFailedListener);\r\n NewContractEvents.removeProductSelectionClearedListener(this.productSelectionClearedListener);\r\n }\r\n\r\n // With this extra declaration we can declare validationFailedListener, which calls validationFailed method\r\n // with 'this' context being instance of ContractPage. If validationFailed was used directly as event handler, it's\r\n // 'this' would be something else, and it would not be possible to access ContractPage instance properties.\r\n validationFailedListener = (errors) => this.validationFailed(errors);\r\n\r\n validationFailed(validationErrors: ValidationErrors) {\r\n const errorMessages = validationErrors.getAll();\r\n const errors = [];\r\n\r\n const h = this.newContract.vue.$createElement;\r\n \r\n for (let i = 0; i < errorMessages.length; ++i) {\r\n errors.push(h(\"li\", errorMessages[i]));\r\n }\r\n\r\n const vNodesMsg = h(\r\n 'ul',\r\n { class: ['m-2'] },\r\n errors\r\n );\r\n\r\n let titleTranslation = \"Tarkista tiedot\";\r\n\r\n if (isEnglish) {\r\n titleTranslation = \"Correct the mentioned fields\";\r\n }\r\n else if (isSwedish) {\r\n titleTranslation = \"Kolla informationen\";\r\n }\r\n\r\n const vNodesTitle = h(\r\n 'div',\r\n {\r\n class: [\"m-1\"]\r\n },\r\n titleTranslation\r\n );\r\n\r\n this.newContract.vue.$bvToast.toast([vNodesMsg], {\r\n title: [vNodesTitle],\r\n variant: \"danger\",\r\n solid: true,\r\n autoHideDelay: 10000\r\n });\r\n }\r\n\r\n productSelectionClearedListener = () => this.productSelectionCleared();\r\n\r\n productSelectionCleared() {\r\n let messageTranslation = \"Valittavissa olevat tuotteet muuttuivat\";\r\n let titleTranslation = \"Tuotteet muuttuneet\";\r\n\r\n if (isEnglish) {\r\n messageTranslation = \"Your actions have changed the products you can choose from\";\r\n titleTranslation = \"Products have been changed\";\r\n }\r\n else if (isSwedish) {\r\n messageTranslation = \"De tillgängliga produkterna har ändrats\";\r\n titleTranslation = \"Produkterna har ändrats\";\r\n }\r\n\r\n this.newContract.vue.$bvToast.toast(messageTranslation, {\r\n title: titleTranslation,\r\n variant: \"warning\",\r\n solid: true,\r\n autoHideDelay: 10000\r\n });\r\n }\r\n}","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"b-modal\",\n {\n attrs: {\n header: false,\n backdrop: false,\n \"ok-title\": _vm.okButtonText,\n \"cancel-title\": \"Palaa etusivulle\"\n },\n on: { hide: _vm.handleSessionExceptionClose },\n model: {\n value: _vm.sessionException,\n callback: function($$v) {\n _vm.sessionException = $$v\n },\n expression: \"sessionException\"\n }\n },\n [_c(\"h3\", { domProps: { textContent: _vm._s(_vm.exceptionTitle) } })]\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import Vue from \"vue\"\r\nimport { Component, Prop } from \"vue-property-decorator\"\r\nimport { NewContractEvents } from \"../../new-contract-vue-events\"\r\n\r\n@Component({\r\n})\r\n\r\nexport default class SessionExpiration extends Vue {\r\n\r\n @Prop()\r\n exceptionTitle: string;\r\n\r\n @Prop()\r\n okButtonText: string;\r\n\r\n @Prop()\r\n urlStartAgain: string;\r\n\r\n @Prop()\r\n urlMainPage: string;\r\n\r\n constructor() {\r\n super();\r\n console.log(\"SessionExpiration constructor()\");\r\n }\r\n\r\n created() {\r\n console.log(\"SessionExpiration created()\");\r\n }\r\n\r\n mounted() {\r\n NewContractEvents.addNotifySessionExpiredListener(this.sessionExpirationTriggered);\r\n }\r\n\r\n beforeDestroy() {\r\n NewContractEvents.removeNotifySessionExpiredListener(this.sessionExpirationTriggered);\r\n }\r\n\r\n sessionException: boolean = false;\r\n\r\n handleSessionException(show: boolean): void {\r\n console.log(\"handleSessionException()\");\r\n this.sessionException = show;\r\n }\r\n\r\n // parameters:\r\n // \"cancel\": go to main page\r\n // \"ok\": start process again\r\n handleSessionExceptionClose(msg: string): void {\r\n console.log(\"handleSessionExceptionClose(): \" + msg);\r\n $.blockUI({ message: \"Ladataan...\"});\r\n switch (msg) {\r\n case \"ok\": window.location.href = this.urlStartAgain; break;\r\n default: window.location.href = this.urlMainPage; break;\r\n }\r\n }\r\n\r\n sessionExpirationTriggered(): void {\r\n console.log(\"sessionExpirationTriggered()\");\r\n if (!this.sessionException) {\r\n console.log(\"this.handleSessionException(true);\");\r\n this.handleSessionException(true);\r\n }\r\n }\r\n\r\n}","import mod from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./session-expiration.ts?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/esbuild-loader/dist/index.js??clonedRuleSet-1!./session-expiration.ts?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./session-expiration.vue?vue&type=template&id=6e685521&\"\nimport script from \"./session-expiration.ts?vue&type=script&lang=js&\"\nexport * from \"./session-expiration.ts?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\r\nimport PhaseNewContract from \"../phases/phase-new-contract.vue\"\r\nimport PhaseContractConfirmation from \"../phases/phase-contract-confirmation.vue\"\r\n\r\nimport { ContractPageBase } from \"../../Default/ContractPage/contract-page\"\r\nimport SessionExpiration from \"../../Default/common/session-expiration.vue\";\r\n\r\nimport BootstrapVue from 'bootstrap-vue';\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\nVue.use(BootstrapVue)\r\n\r\nexport class ContractPage extends ContractPageBase {\r\n constructor(rootSelector: string) {\r\n super(rootSelector,\r\n [\r\n { name: \"phase-new-contract\", id: 1 },\r\n { name: \"phase-confirmation\", id: 2 },\r\n ],\r\n { PhaseNewContract, PhaseContractConfirmation, SessionExpiration }\r\n );\r\n }\r\n}\r\n\r\nconst page = new ContractPage(\"#rootContainer\");","var map = {\n\t\"./af\": 2786,\n\t\"./af.js\": 2786,\n\t\"./ar\": 867,\n\t\"./ar-dz\": 4130,\n\t\"./ar-dz.js\": 4130,\n\t\"./ar-kw\": 6135,\n\t\"./ar-kw.js\": 6135,\n\t\"./ar-ly\": 6440,\n\t\"./ar-ly.js\": 6440,\n\t\"./ar-ma\": 7702,\n\t\"./ar-ma.js\": 7702,\n\t\"./ar-sa\": 6040,\n\t\"./ar-sa.js\": 6040,\n\t\"./ar-tn\": 7100,\n\t\"./ar-tn.js\": 7100,\n\t\"./ar.js\": 867,\n\t\"./az\": 1083,\n\t\"./az.js\": 1083,\n\t\"./be\": 9808,\n\t\"./be.js\": 9808,\n\t\"./bg\": 8338,\n\t\"./bg.js\": 8338,\n\t\"./bm\": 7438,\n\t\"./bm.js\": 7438,\n\t\"./bn\": 8905,\n\t\"./bn.js\": 8905,\n\t\"./bo\": 1560,\n\t\"./bo.js\": 1560,\n\t\"./br\": 1278,\n\t\"./br.js\": 1278,\n\t\"./bs\": 622,\n\t\"./bs.js\": 622,\n\t\"./ca\": 2468,\n\t\"./ca.js\": 2468,\n\t\"./cs\": 5822,\n\t\"./cs.js\": 5822,\n\t\"./cv\": 877,\n\t\"./cv.js\": 877,\n\t\"./cy\": 7373,\n\t\"./cy.js\": 7373,\n\t\"./da\": 4780,\n\t\"./da.js\": 4780,\n\t\"./de\": 9740,\n\t\"./de-at\": 217,\n\t\"./de-at.js\": 217,\n\t\"./de-ch\": 894,\n\t\"./de-ch.js\": 894,\n\t\"./de.js\": 9740,\n\t\"./dv\": 5300,\n\t\"./dv.js\": 5300,\n\t\"./el\": 837,\n\t\"./el.js\": 837,\n\t\"./en-SG\": 5383,\n\t\"./en-SG.js\": 5383,\n\t\"./en-au\": 8348,\n\t\"./en-au.js\": 8348,\n\t\"./en-ca\": 7925,\n\t\"./en-ca.js\": 7925,\n\t\"./en-gb\": 2243,\n\t\"./en-gb.js\": 2243,\n\t\"./en-ie\": 6436,\n\t\"./en-ie.js\": 6436,\n\t\"./en-il\": 7207,\n\t\"./en-il.js\": 7207,\n\t\"./en-nz\": 6319,\n\t\"./en-nz.js\": 6319,\n\t\"./eo\": 2915,\n\t\"./eo.js\": 2915,\n\t\"./es\": 5655,\n\t\"./es-do\": 5251,\n\t\"./es-do.js\": 5251,\n\t\"./es-us\": 1146,\n\t\"./es-us.js\": 1146,\n\t\"./es.js\": 5655,\n\t\"./et\": 5603,\n\t\"./et.js\": 5603,\n\t\"./eu\": 7763,\n\t\"./eu.js\": 7763,\n\t\"./fa\": 6959,\n\t\"./fa.js\": 6959,\n\t\"./fi\": 1897,\n\t\"./fi.js\": 1897,\n\t\"./fo\": 4694,\n\t\"./fo.js\": 4694,\n\t\"./fr\": 4470,\n\t\"./fr-ca\": 3049,\n\t\"./fr-ca.js\": 3049,\n\t\"./fr-ch\": 2330,\n\t\"./fr-ch.js\": 2330,\n\t\"./fr.js\": 4470,\n\t\"./fy\": 5044,\n\t\"./fy.js\": 5044,\n\t\"./ga\": 9295,\n\t\"./ga.js\": 9295,\n\t\"./gd\": 2101,\n\t\"./gd.js\": 2101,\n\t\"./gl\": 8794,\n\t\"./gl.js\": 8794,\n\t\"./gom-latn\": 3168,\n\t\"./gom-latn.js\": 3168,\n\t\"./gu\": 5349,\n\t\"./gu.js\": 5349,\n\t\"./he\": 4206,\n\t\"./he.js\": 4206,\n\t\"./hi\": 94,\n\t\"./hi.js\": 94,\n\t\"./hr\": 316,\n\t\"./hr.js\": 316,\n\t\"./hu\": 2138,\n\t\"./hu.js\": 2138,\n\t\"./hy-am\": 1423,\n\t\"./hy-am.js\": 1423,\n\t\"./id\": 9218,\n\t\"./id.js\": 9218,\n\t\"./is\": 135,\n\t\"./is.js\": 135,\n\t\"./it\": 626,\n\t\"./it-ch\": 150,\n\t\"./it-ch.js\": 150,\n\t\"./it.js\": 626,\n\t\"./ja\": 9183,\n\t\"./ja.js\": 9183,\n\t\"./jv\": 4286,\n\t\"./jv.js\": 4286,\n\t\"./ka\": 2105,\n\t\"./ka.js\": 2105,\n\t\"./kk\": 7772,\n\t\"./kk.js\": 7772,\n\t\"./km\": 8758,\n\t\"./km.js\": 8758,\n\t\"./kn\": 9282,\n\t\"./kn.js\": 9282,\n\t\"./ko\": 3730,\n\t\"./ko.js\": 3730,\n\t\"./ku\": 1408,\n\t\"./ku.js\": 1408,\n\t\"./ky\": 3291,\n\t\"./ky.js\": 3291,\n\t\"./lb\": 6841,\n\t\"./lb.js\": 6841,\n\t\"./lo\": 5466,\n\t\"./lo.js\": 5466,\n\t\"./lt\": 7010,\n\t\"./lt.js\": 7010,\n\t\"./lv\": 7595,\n\t\"./lv.js\": 7595,\n\t\"./me\": 9861,\n\t\"./me.js\": 9861,\n\t\"./mi\": 5493,\n\t\"./mi.js\": 5493,\n\t\"./mk\": 5966,\n\t\"./mk.js\": 5966,\n\t\"./ml\": 7341,\n\t\"./ml.js\": 7341,\n\t\"./mn\": 5115,\n\t\"./mn.js\": 5115,\n\t\"./mr\": 370,\n\t\"./mr.js\": 370,\n\t\"./ms\": 9847,\n\t\"./ms-my\": 1237,\n\t\"./ms-my.js\": 1237,\n\t\"./ms.js\": 9847,\n\t\"./mt\": 2126,\n\t\"./mt.js\": 2126,\n\t\"./my\": 6165,\n\t\"./my.js\": 6165,\n\t\"./nb\": 4924,\n\t\"./nb.js\": 4924,\n\t\"./ne\": 6744,\n\t\"./ne.js\": 6744,\n\t\"./nl\": 3901,\n\t\"./nl-be\": 9814,\n\t\"./nl-be.js\": 9814,\n\t\"./nl.js\": 3901,\n\t\"./nn\": 3877,\n\t\"./nn.js\": 3877,\n\t\"./pa-in\": 5858,\n\t\"./pa-in.js\": 5858,\n\t\"./pl\": 4495,\n\t\"./pl.js\": 4495,\n\t\"./pt\": 9520,\n\t\"./pt-br\": 7971,\n\t\"./pt-br.js\": 7971,\n\t\"./pt.js\": 9520,\n\t\"./ro\": 6459,\n\t\"./ro.js\": 6459,\n\t\"./ru\": 1793,\n\t\"./ru.js\": 1793,\n\t\"./sd\": 950,\n\t\"./sd.js\": 950,\n\t\"./se\": 7930,\n\t\"./se.js\": 7930,\n\t\"./si\": 124,\n\t\"./si.js\": 124,\n\t\"./sk\": 4249,\n\t\"./sk.js\": 4249,\n\t\"./sl\": 4985,\n\t\"./sl.js\": 4985,\n\t\"./sq\": 1104,\n\t\"./sq.js\": 1104,\n\t\"./sr\": 9131,\n\t\"./sr-cyrl\": 9915,\n\t\"./sr-cyrl.js\": 9915,\n\t\"./sr.js\": 9131,\n\t\"./ss\": 5893,\n\t\"./ss.js\": 5893,\n\t\"./sv\": 8760,\n\t\"./sv.js\": 8760,\n\t\"./sw\": 1172,\n\t\"./sw.js\": 1172,\n\t\"./ta\": 7333,\n\t\"./ta.js\": 7333,\n\t\"./te\": 3110,\n\t\"./te.js\": 3110,\n\t\"./tet\": 2095,\n\t\"./tet.js\": 2095,\n\t\"./tg\": 7321,\n\t\"./tg.js\": 7321,\n\t\"./th\": 9041,\n\t\"./th.js\": 9041,\n\t\"./tl-ph\": 5768,\n\t\"./tl-ph.js\": 5768,\n\t\"./tlh\": 9444,\n\t\"./tlh.js\": 9444,\n\t\"./tr\": 2397,\n\t\"./tr.js\": 2397,\n\t\"./tzl\": 8254,\n\t\"./tzl.js\": 8254,\n\t\"./tzm\": 1106,\n\t\"./tzm-latn\": 699,\n\t\"./tzm-latn.js\": 699,\n\t\"./tzm.js\": 1106,\n\t\"./ug-cn\": 9288,\n\t\"./ug-cn.js\": 9288,\n\t\"./uk\": 7691,\n\t\"./uk.js\": 7691,\n\t\"./ur\": 3795,\n\t\"./ur.js\": 3795,\n\t\"./uz\": 6791,\n\t\"./uz-latn\": 588,\n\t\"./uz-latn.js\": 588,\n\t\"./uz.js\": 6791,\n\t\"./vi\": 5666,\n\t\"./vi.js\": 5666,\n\t\"./x-pseudo\": 4378,\n\t\"./x-pseudo.js\": 4378,\n\t\"./yo\": 5805,\n\t\"./yo.js\": 5805,\n\t\"./zh-cn\": 3839,\n\t\"./zh-cn.js\": 3839,\n\t\"./zh-hk\": 5726,\n\t\"./zh-hk.js\": 5726,\n\t\"./zh-tw\": 4152,\n\t\"./zh-tw.js\": 4152\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 = 6700;","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t496: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunki4u_web\"] = self[\"webpackChunki4u_web\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [894,66], function() { return __webpack_require__(6013); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"sourceRoot":""}