{"version":3,"sources":["webpack:///./src/components/CalculationTypes/DiscountByPercentage.vue?adc3","webpack:///./src/components/BlockChooser.vue?453e","webpack:///./src/views/ChildDropdown.vue?c430","webpack:///./src/components/CalculationTypes/ExistingMembershipExemption.vue?2f16","webpack:///./node_modules/core-js/modules/es.number.epsilon.js","webpack:///./src/components/CalculationTypes/DelayedInvoice.vue?93e8","webpack:///./src/components/CalculationTypes/ConflictfundMembershipDiscount.vue?b7d1","webpack:///./src/views/CalculationView.vue?7910","webpack:///./src/components/CalculationTypes/Percentage.vue?92b9","webpack:///./src/components/CalculationTypes/PricePerUnit.vue?f92c","webpack:///./src/components/DeleteWithConfirmation.vue?a349","webpack:///./src/components/CalculationTypes/ConflictfundMembershipFee.vue?4474","webpack:///./src/components/CalculationTypes/ProrataDiscount.vue?8f8a","webpack:///./src/components/CalculationTypes/EnsureNetPrice.vue?e5a3","webpack:///./src/views/CalculationView.vue?de38","webpack:///./src/models/BlockLabel.ts","webpack:///./src/components/CalculationTypes/DelayedInvoice.vue?87c5","webpack:///./src/components/CalculationTypes/DelayedInvoice.vue","webpack:///./src/components/CalculationTypes/DelayedInvoice.vue?9135","webpack:///./src/components/CalculationTypes/DelayedInvoice.vue?f1e5","webpack:///./src/components/CalculationTypes/DiscountByPercentage.vue?351c","webpack:///./src/components/CalculationTypes/DiscountByPercentage.vue","webpack:///./src/components/CalculationTypes/DiscountByPercentage.vue?9f6d","webpack:///./src/components/CalculationTypes/DiscountByPercentage.vue?4053","webpack:///./src/components/CalculationTypes/ConflictfundMembershipDiscount.vue?cd74","webpack:///./src/components/CalculationTypes/ConflictfundMembershipDiscount.vue","webpack:///./src/components/CalculationTypes/ConflictfundMembershipDiscount.vue?e074","webpack:///./src/components/CalculationTypes/ConflictfundMembershipDiscount.vue?3e67","webpack:///./src/components/CalculationTypes/ConflictfundMembershipFee.vue?3c59","webpack:///./src/models/FeeBase.ts","webpack:///./src/services/number.formatter.ts","webpack:///./src/components/CalculationTypes/ConflictfundMembershipFee.vue","webpack:///./src/components/CalculationTypes/ConflictfundMembershipFee.vue?39b1","webpack:///./src/components/CalculationTypes/ConflictfundMembershipFee.vue?4d8b","webpack:///./src/components/CalculationTypes/FixedAmount.vue?26e9","webpack:///./src/models/Interval.ts","webpack:///./src/components/CalculationTypes/FixedAmount.vue","webpack:///./src/components/CalculationTypes/FixedAmount.vue?3e72","webpack:///./src/components/CalculationTypes/FixedAmount.vue?d5e4","webpack:///./src/components/CalculationTypes/SingleAmount.vue?9b6d","webpack:///./src/components/CalculationTypes/SingleAmount.vue","webpack:///./src/components/CalculationTypes/SingleAmount.vue?7e14","webpack:///./src/components/CalculationTypes/SingleAmount.vue?2ad3","webpack:///./src/components/CalculationTypes/SharedInvoice.vue?6b69","webpack:///./src/components/CalculationTypes/SharedInvoice.vue","webpack:///./src/components/CalculationTypes/SharedInvoice.vue?1c69","webpack:///./src/components/CalculationTypes/SharedInvoice.vue?0ed7","webpack:///./src/components/CalculationTypes/EnsureNetPrice.vue?76b9","webpack:///./src/components/CalculationTypes/EnsureNetPrice.vue","webpack:///./src/components/CalculationTypes/EnsureNetPrice.vue?b626","webpack:///./src/components/CalculationTypes/EnsureNetPrice.vue?ecff","webpack:///./src/components/CalculationTypes/MinMax.vue?bf03","webpack:///./src/components/CalculationTypes/MinMax.vue","webpack:///./src/components/CalculationTypes/MinMax.vue?fbb2","webpack:///./src/components/CalculationTypes/MinMax.vue?cfca","webpack:///./src/components/CalculationTypes/Percentage.vue?3863","webpack:///./src/components/CalculationTypes/Percentage.vue","webpack:///./src/components/CalculationTypes/Percentage.vue?732a","webpack:///./src/components/CalculationTypes/Percentage.vue?7a0b","webpack:///./src/components/CalculationTypes/PricePerUnit.vue?3fb5","webpack:///./src/components/CalculationTypes/PricePerUnit.vue","webpack:///./src/components/CalculationTypes/PricePerUnit.vue?0064","webpack:///./src/components/CalculationTypes/PricePerUnit.vue?99b6","webpack:///./src/components/CalculationTypes/PricePerUnitManYears.vue?a7e6","webpack:///./src/components/CalculationTypes/PricePerUnitManYears.vue","webpack:///./src/components/CalculationTypes/PricePerUnitManYears.vue?97f3","webpack:///./src/components/CalculationTypes/PricePerUnitManYears.vue?5408","webpack:///./src/components/CalculationTypes/ProrataDiscount.vue?53a1","webpack:///./src/components/CalculationTypes/ProrataDiscount.vue","webpack:///./src/components/CalculationTypes/ProrataDiscount.vue?59c2","webpack:///./src/components/CalculationTypes/ProrataDiscount.vue?dd5f","webpack:///./src/components/CalculationTypes/RegistrationDiscount.vue?9cf8","webpack:///./src/components/CalculationTypes/RegistrationDiscount.vue","webpack:///./src/components/CalculationTypes/RegistrationDiscount.vue?2383","webpack:///./src/components/CalculationTypes/RegistrationDiscount.vue?10f9","webpack:///./src/components/CalculationTypes/ExistingMembershipExemption.vue?9821","webpack:///./src/components/CalculationTypes/ExistingMembershipExemption.vue","webpack:///./src/components/CalculationTypes/ExistingMembershipExemption.vue?a219","webpack:///./src/components/CalculationTypes/ExistingMembershipExemption.vue?5689","webpack:///./src/components/DeleteWithConfirmation.vue?66fb","webpack:///./src/components/DeleteWithConfirmation.vue","webpack:///./src/components/DeleteWithConfirmation.vue?32a3","webpack:///./src/components/DeleteWithConfirmation.vue?022c","webpack:///./src/components/BlockChooser.vue?956b","webpack:///./src/components/BlockChooser.vue","webpack:///./src/components/BlockChooser.vue?255c","webpack:///./src/components/BlockChooser.vue?1f63","webpack:///./src/views/ChildDropdown.vue?4a04","webpack:///./src/views/ChildDropdown.vue","webpack:///./src/views/ChildDropdown.vue?7fd0","webpack:///./src/views/ChildDropdown.vue?ef24","webpack:///./src/views/CalculationView.vue","webpack:///./src/views/CalculationView.vue?0a60","webpack:///./src/views/CalculationView.vue?81ad","webpack:///./src/components/CalculationTypes/SingleAmount.vue?0ff2","webpack:///./src/components/CalculationTypes/RegistrationDiscount.vue?3ad5","webpack:///./src/components/CalculationTypes/FixedAmount.vue?9e59","webpack:///./src/components/CalculationTypes/MinMax.vue?aae5","webpack:///./src/components/CalculationTypes/PricePerUnitManYears.vue?1555","webpack:///./src/components/CalculationTypes/SharedInvoice.vue?2a49"],"names":["$","target","stat","EPSILON","Math","pow","BlockLabel","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","isValidQueryParameters","failedToFindCalculation","style","_v","_s","getInvalidQueryMessage","calculationType","on","addBlock","toggleActive","toggleActiveDisplay","path","query","organizationNumber","isChildSelected","childCalculationExists","selectedChild","openCalculation","nhoNumber","year","redirectToOtherContingentType","undefined","associations","_b","onChildDropdownChange","childFederations","childCalculations","childOrganizationCalculations","initialSelectedChild","organizations","_e","associationName","getChildOrganizationName","isActive","getCalculationTypeLabel","getMembershipTypeLabel","model","value","callback","$$v","_n","expression","customCalculationText","childPriorityClass","blocks","_l","getSortedBlocks","block","key","getUniqueBlockKey","blockId","type","tag","isExpanded","highestIntervalValue","data","updateBlock","setBlockExpanded","setHighestIntervalValue","$event","removeBlock","getValidationErrorsForBlock","validationError","errorIndex","getErrorBlockLabel","errorType","message","saving","isSaveDisabled","saveCalculation","staticRenderFns","displayName","getBlockKeys","Object","keys","filter","_","index","getBlockLabel","indexOf","getBlockKey","blockEnum","blocksWithoutDuplicates","MinMax","ConflictfundMembershipDiscount","ConflictfundMembershipFee","ProrataDiscount","RegistrationDiscount","DelayedInvoice","SharedInvoice","EnsureNetPrice","ExistingMembershipExemption","illegalBlockCombinationList","onlyValidInContingentBlocks","defineComponent","name","props","Number","required","mounted","$emit","$options","component","VContainer","expandBlock","collapseBlock","discount","description","associationNhoNumber","getAssociationText","length","components","Expandable","AssociationSelect","TextField","Boolean","default","DiscountByPercentage","computed","$store","getters","methods","getNumberFromName","assocationName","item","find","org","directives","rawName","modifiers","domProps","composing","$forceUpdate","minimumSalaryBase","asCurrency","fee","asPercentage","FeeBase","SalaryBase","Turnover","Other","shortForm","input","digits","lookup","symbol","rx","slice","reverse","toFixed","replace","withThousandsSeparator","number","separator","toString","atMostTwoDecimalPlaces","num","round","NumberFormatter","trappe","getFeeBaseLabel","addInterval","removeInterval","scopedSlots","_u","fn","$$selectedVal","Array","prototype","call","options","o","selected","map","val","_value","feeBase","multiple","feeBaseDescription","infiniteUpperLimit","proxy","startsAt","interval","isLast","intervals","$set","upperLimit","getNewColor","getLowerLimit","shortenedNumber","amount","createNewDefaultInterval","defaultAmount","defaultIncrement","previous","numberFormatter","penultimate","BlockContainer","Checkbox","initialLimit","FixedAmount","values","newInterval","push","pop","getFeeBaseIndex","getFeeBaseDescription","colors","list","SingleAmount","otherAssociationPercent","otherAssociationName","getAssociationShareText","otherAssociationNhoNumber","netPrice","percentToContingent","getEnsureNetPriceText","isNeitherMinOrMaxChosen","isMinEnabled","minAmount","isMaxEnabled","maxAmount","defaultMin","defaultMax","ErrorLabel","Percentage","getUnitPriceLabel","unitPrice","initialUnitPrice","PricePerUnit","isUnitPriceValid","PricePerUnitManYears","percentFirstHalfYear","percentSecondHalfYear","ref","_g","class","getClasses","dialog","getLabel","blockType","confirmRemove","String","VBtn","VDialog","blockKey","isBlockDisabled","choose","isContingent","blockKeys","mapGetters","Getters","OPEN_CALCULATION","isBlockInCalculation","some","x","isIllegalDuplicate","illegalBlockCombination","isBlockInSet","hasOpenBlockInSet","openBlock","isDisabledWithThisCalculationType","VList","VListItem","getSortedChildFederations","customFilter","childExists","isChildActive","selectedChildNumber","Vue","extend","Container","watch","newValue","oldValue","queryText","AssociationUtils","orgs","child","calculation","childNhoNumber","VAutocomplete","VListItemContent","VListItemSubtitle","VListItemTitle","BlockChooser","ChildDropdown","DeleteWithConfirmation","LoadingSpinner","LayoutDefault","isLoading","validationErrors","membershipType","ASSOCIATIONS","CALCULATIONS","hasUnsavedChanges","hasInvalidOrgNumber","hasUnsavedComponentChanges","isNaN","isCreatingNewCalculation","getChildFederations","calculations","loadCalculation","created","fetchCalculations","fetchFederations","mapActions","Actions","FETCH_CALCULATIONS","FETCH_FEDERATIONS","mapMutations","Mutations","SET_OPEN_CALCULATION","sortedBlocks","sort","a","b","displayNameA","displayNameB","getQueryParameters","childOrganization","freeze","parseInt","console","log","getCalculationFromQueryParams","forEach","setOpenCalculation","$route","isValid","toLowerCase","updatedQueryParams","$router","catch","calculationToLoad","getCalculationToLoad","updatedOpenCalculation","getSelectedChildCalculation","getMainCalculation","Error","newCalculation","calc","getSelectedChildOrganization","CalculationUtils","hasChildCalculation","getNextBlockIndex","indexes","maxIndex","max","newBlock","getCurrentCalculationObject","potentialValue","getBlockIndex","err","TypeError","updatedBlock","removeValidationErrorsForBlock","splice","error","then","go","ApiClient","SaveCalculation","$toast","success","mainCalc","mainCalculation","updatedChildCalcs","shouldUpdateExistingChildCalculation","response","status","isArray","validationResult","splittedResult","errorMessage","split","blocksToExpand","VDivider","VProgressCircular"],"mappings":"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","file":"js/chunk-1fe872d0.9a913205.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscountByPercentage.vue?vue&type=style&index=0&id=86d9fb00&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockChooser.vue?vue&type=style&index=0&id=81cd4546&scoped=true&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChildDropdown.vue?vue&type=style&index=0&id=52deedf4&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExistingMembershipExemption.vue?vue&type=style&index=0&id=6099baa2&lang=scss&scoped=true&\"","var $ = require('../internals/export');\n\n// `Number.EPSILON` constant\n// https://tc39.es/ecma262/#sec-number.epsilon\n$({ target: 'Number', stat: true }, {\n EPSILON: Math.pow(2, -52)\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DelayedInvoice.vue?vue&type=style&index=0&id=5b2f9b5e&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConflictfundMembershipDiscount.vue?vue&type=style&index=0&id=46076c31&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalculationView.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Percentage.vue?vue&type=style&index=0&id=e640590a&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricePerUnit.vue?vue&type=style&index=0&id=b91ee83c&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteWithConfirmation.vue?vue&type=style&index=0&id=216495dd&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConflictfundMembershipFee.vue?vue&type=style&index=0&id=5225a954&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProrataDiscount.vue?vue&type=style&index=0&id=5bfcc3fe&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnsureNetPrice.vue?vue&type=style&index=0&id=42fafa93&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('layout-default',{staticClass:\"calculation\"},[_c('container',{attrs:{\"data-cy\":\"calculations-container\"}},[(!_vm.isValidQueryParameters() || _vm.failedToFindCalculation)?_c('div',{style:({ 'white-space': 'pre-line' }),attrs:{\"data-cy\":\"invalidQueryMessage\"}},[_vm._v(\" \"+_vm._s(_vm.getInvalidQueryMessage())+\" \")]):(_vm.isLoading)?_c('div',{staticClass:\"calculation__spinner\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1):_c('div',[_c('div',{staticClass:\"calculation__toolbar\"},[_c('block-chooser',{attrs:{\"is-contingent\":_vm.calculationType === 'Contingent'},on:{\"addBlock\":_vm.addBlock}}),_c('v-btn',{attrs:{\"data-cy\":\"toggle-active-button\",\"color\":\"primary\"},on:{\"click\":_vm.toggleActive}},[_vm._v(\" \"+_vm._s(_vm.toggleActiveDisplay)+\" \")]),_c('v-btn',{staticClass:\"block-chooser__calculator-button\",attrs:{\"to\":{\n path: 'calculator',\n query: {\n organizationNumber:\n _vm.isChildSelected() && _vm.childCalculationExists()\n ? _vm.selectedChild\n : _vm.openCalculation.nhoNumber,\n year: _vm.openCalculation.year,\n },\n },\"color\":\"primary\"}},[_vm._v(\"Kalkulator\")]),_c('v-btn',{staticClass:\"block-chooser__calculator-button\",attrs:{\"color\":\"primary\"},on:{\"click\":_vm.redirectToOtherContingentType}},[_vm._v(\" \"+_vm._s(_vm.calculationType === \"Contingent\" ? \"Serviceavgift\" : \"Kontingent\"))]),(_vm.associations != undefined)?_c('child-dropdown',_vm._b({on:{\"onChildDropdownChange\":_vm.onChildDropdownChange}},'child-dropdown',{\n childFederations: _vm.childFederations,\n childCalculations: _vm.childOrganizationCalculations,\n initialSelectedChild: _vm.selectedChild,\n organizations: _vm.associations,\n },false)):_vm._e()],1),_c('v-divider',{staticClass:\"calculation__divider\"}),_c('h1',[_c('span',{attrs:{\"data-cy\":\"calculationOrganizationName\"}},[_vm._v(_vm._s(_vm.associationName))]),_c('span',{attrs:{\"data-cy\":\"calculationYear\"}},[_vm._v(\" \"+_vm._s(_vm.year))]),(_vm.isChildSelected())?_c('span',[_vm._v(\" for medlemmer av \"+_vm._s(_vm.getChildOrganizationName()))]):_vm._e(),(!_vm.isActive)?_c('span',[_vm._v(_vm._s(\" (Deaktivert)\"))]):_vm._e()]),_c('h2',{attrs:{\"data-cy\":\"calculationType\"}},[_vm._v(\" \"+_vm._s(_vm.getCalculationTypeLabel())+\" | \"+_vm._s(_vm.getMembershipTypeLabel())+\" \")]),_c('div',{staticClass:\"calculation__textfields-container\"},[_c('text-field',{attrs:{\"name\":\"organizationNumberName\",\"label\":\"Organisasjonsnummer\"},model:{value:(_vm.organizationNumber),callback:function ($$v) {_vm.organizationNumber=_vm._n($$v)},expression:\"organizationNumber\"}}),_c('text-field',{attrs:{\"name\":\"customCalculationTextName\",\"label\":\"Tekst nederst på ordrelinje\"},model:{value:(_vm.customCalculationText),callback:function ($$v) {_vm.customCalculationText=$$v},expression:\"customCalculationText\"}}),(_vm.isChildSelected())?_c('div',{staticClass:\"calculation__textfields-priority\"},[_c('text-field',{attrs:{\"name\":\"childPriorityClass\",\"label\":\"Prioritetsklasse | Betaler kun for medlemskap i den høyeste klassen\"},model:{value:(_vm.childPriorityClass),callback:function ($$v) {_vm.childPriorityClass=_vm._n($$v)},expression:\"childPriorityClass\"}})],1):_vm._e()],1),(_vm.blocks.length)?_c('v-list',{attrs:{\"data-cy\":\"block-list\"}},_vm._l((_vm.getSortedBlocks()),function(block){return _c('div',{key:_vm.getUniqueBlockKey(block.blockId)},[_c('v-list-item',{staticClass:\"calculation__blocks-container\"},[_c(block.type,{tag:\"component\",attrs:{\"is-expanded\":block.isExpanded,\"block-id\":block.blockId,\"initial-limit\":_vm.highestIntervalValue,\"data\":block.data,\"data-cy\":block.type},on:{\"updateBlock\":_vm.updateBlock,\"setBlockExpanded\":_vm.setBlockExpanded,\"highestIntervalValue\":_vm.setHighestIntervalValue}}),_c('delete-with-confirmation',{attrs:{\"data-cy\":'remove-' + block.type,\"block-type\":block.type},on:{\"removeBlock\":function($event){return _vm.removeBlock(block)}}})],1),_c('div',{staticClass:\"calculation__block-errors\"},_vm._l((_vm.getValidationErrorsForBlock(block.blockId)),function(validationError,errorIndex){return _c('div',{key:errorIndex},[_c('error-label',{attrs:{\"data-cy\":\"duplicate-error\",\"text\":_vm.getErrorBlockLabel(validationError.errorType) +\n ': ' +\n validationError.message}})],1)}),0)],1)}),0):_vm._e(),(_vm.saving)?_c('loading-spinner'):_vm._e(),_vm._l((_vm.getValidationErrorsForBlock(\n -1\n )),function(validationError,errorIndex){return _c('div',{key:errorIndex},[_c('error-label',{attrs:{\"data-cy\":\"duplicate-error\",\"text\":validationError.errorType + ': ' + validationError.message}})],1)}),(_vm.hasUnsavedChanges)?_c('error-label',{attrs:{\"text\":\"Du har blokker som ikke er lagret\"}}):_vm._e(),(_vm.hasUnsavedComponentChanges)?_c('error-label',{attrs:{\"text\":\"Du har endringer som ikke er lagret\"}}):_vm._e(),(_vm.isCreatingNewCalculation)?_c('error-label',{attrs:{\"text\":\"Du må lagre for å opprette spesifikk kalkulasjon for datter\"}}):_vm._e(),(_vm.hasInvalidOrgNumber)?_c('error-label',{attrs:{\"text\":(\"Organisasjonsnummeret \" + _vm.organizationNumber + \" for \" + _vm.nhoNumber + \" er ugyldig\")}}):_vm._e(),_c('div',{staticClass:\"calculation__actions\"},[(!_vm.saving)?_c('v-btn',{attrs:{\"data-cy\":\"save-button\",\"disabled\":_vm.isSaveDisabled,\"color\":\"primary\"},on:{\"click\":_vm.saveCalculation}},[_vm._v(\" Lagre \")]):_vm._e()],1)],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport enum BlockLabel {\n SharedInvoice = \"Delt utbetaling\",\n PricePerUnit = \"Enhetsberegning per omsetning\",\n PricePerUnitManYears = \"Enhetsberegning per årsverk\",\n SingleAmount = \"Fast beløp\",\n FixedAmount = \"Fast beløp per intervall\",\n ConflictfundMembershipDiscount = \"Konfliktsfond rabatt\",\n ConflictfundMembershipFee = \"Konfliktsfond premie\",\n MinMax = \"Min- og maksavgift\",\n ProrataDiscount = \"Prorata ved innmelding\",\n Percentage = \"Prosent ggr\",\n DiscountByPercentage = \"Prosentvis rabatt\",\n RegistrationDiscount = \"Rabatt ved innmelding\",\n EnsureNetPrice = \"Sikre totalt nettobeløp\",\n DelayedInvoice = \"Utsatt fakturering\",\n ExistingMembershipExemption = \"Fritak ved eksisterende medlemskap\",\n}\n\nexport const getBlockKeys = (): string[] =>\n Object.keys(BlockLabel).filter((_, index) => index % 2 === 0);\n\nexport const getBlockLabel = (key: string): string => {\n const index = Object.keys(BlockLabel).indexOf(key);\n return Object.keys(BlockLabel)[index + 1];\n};\n\nexport const getBlockKey = (blockEnum: BlockLabel): string => {\n return BlockLabel[blockEnum];\n};\n\nexport const blocksWithoutDuplicates = [\n BlockLabel.MinMax,\n BlockLabel.ConflictfundMembershipDiscount,\n BlockLabel.ConflictfundMembershipFee,\n BlockLabel.ProrataDiscount,\n BlockLabel.RegistrationDiscount,\n BlockLabel.DelayedInvoice,\n BlockLabel.SharedInvoice,\n BlockLabel.EnsureNetPrice,\n BlockLabel.ExistingMembershipExemption,\n];\n\nexport const illegalBlockCombinationList = [\n [\n BlockLabel.SharedInvoice,\n BlockLabel.DelayedInvoice,\n BlockLabel.EnsureNetPrice,\n ],\n];\n\nexport const onlyValidInContingentBlocks = [BlockLabel.EnsureNetPrice];\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',{staticClass:\"delayed-invoice-container\"},[_c('div',{staticClass:\"block-info\",attrs:{\"data-cy\":\"block-info\"}},[_c('h4',[_vm._v(\"Betaler halv kontingentsum i første omgang\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { defineComponent } from \"@vue/composition-api\";\n\nexport default defineComponent({\n name: \"DelayedInvoice\",\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n displayName: BlockLabel.DelayedInvoice,\n };\n },\n mounted() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n });\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DelayedInvoice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DelayedInvoice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DelayedInvoice.vue?vue&type=template&id=5b2f9b5e&scoped=true&\"\nimport script from \"./DelayedInvoice.vue?vue&type=script&lang=ts&\"\nexport * from \"./DelayedInvoice.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DelayedInvoice.vue?vue&type=style&index=0&id=5b2f9b5e&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 \"5b2f9b5e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',[_vm._v(_vm._s(_vm.displayName))]),(_vm.isExpanded)?_c('div',{staticClass:\"discount__container\"},[_c('div',{staticClass:\"discount__textfields\"},[_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"otherAssociationPercentInput\",\"label\":\"Rabatt (%)\",\"data-cy\":\"discount-input\"},model:{value:(_vm.discount),callback:function ($$v) {_vm.discount=_vm._n($$v)},expression:\"discount\"}}),_c('text-field',{attrs:{\"name\":\"descriptionName\",\"label\":\"Beskrivelse\",\"data-cy\":\"description-input\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}}),_c('div',{staticClass:\"discount__association-select\"},[(_vm.associations != undefined)?_c('association-select',{attrs:{\"data-cy\":\"association-select-input\",\"label\":\"For medlemmer av\",\"associations\":_vm.associations},model:{value:(_vm.associationName),callback:function ($$v) {_vm.associationName=$$v},expression:\"associationName\"}}):_vm._e()],1)],1)]):_c('div',{staticClass:\"discount__container-saved\"},[_c('h3',{attrs:{\"data-cy\":\"discount-saved\"}},[_vm._v(_vm._s(_vm.discount)+\" %\")]),(_vm.associationNhoNumber > 0)?_c('h5',{attrs:{\"data-cy\":\"association-text-saved\"}},[_vm._v(\" \"+_vm._s(_vm.getAssociationText())+\" \")]):_vm._e(),(_vm.description.length > 0)?_c('h5',{attrs:{\"data-cy\":\"description-saved\"}},[_vm._v(\" \"+_vm._s(_vm.description)+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport { Expandable, AssociationSelect, TextField } from \"@/components\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { Federation } from \"@/models/Federation\";\n\nexport default defineComponent({\n name: \"DiscountByPercentage\",\n components: {\n Expandable,\n AssociationSelect,\n TextField,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: {\n type: Object,\n default: () => null,\n },\n },\n data() {\n return {\n displayName: BlockLabel.DiscountByPercentage,\n discount: 0,\n associationNhoNumber: 0,\n associationName: \"\",\n description: \"\",\n };\n },\n computed: {\n associations(): Array {\n return this.$store.getters.associations;\n },\n },\n mounted() {\n if (this.data) {\n this.discount = this.data.discount;\n this.associationNhoNumber = this.data.associationNhoNumber;\n this.associationName = this.data.associationName;\n this.description = this.data.description;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.associationNhoNumber = this.getNumberFromName(\n this.associationName\n );\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n discount: this.discount,\n associationNhoNumber: this.associationNhoNumber,\n associationName: this.associationName,\n description: this.description,\n });\n },\n getNumberFromName(assocationName: string): number {\n const item = this.associations?.find(\n (org: Federation) => org.name === assocationName\n );\n return item?.nhoNumber ?? 0;\n },\n getAssociationText() {\n if (this.associationNhoNumber > 0)\n return `for medlemmer av ${this.associationName}`;\n return \"\";\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscountByPercentage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscountByPercentage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DiscountByPercentage.vue?vue&type=template&id=86d9fb00&scoped=true&\"\nimport script from \"./DiscountByPercentage.vue?vue&type=script&lang=ts&\"\nexport * from \"./DiscountByPercentage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DiscountByPercentage.vue?vue&type=style&index=0&id=86d9fb00&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 \"86d9fb00\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',{staticClass:\"discount-container\"},[_c('div',{staticClass:\"content\"},[(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.discount),expression:\"discount\",modifiers:{\"number\":true}}],staticClass:\"discount-input\",attrs:{\"data-cy\":\"membership-discount-percent-input\",\"placeholder\":\"Rabatt i prosent\"},domProps:{\"value\":(_vm.discount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.discount=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"membership-discount-value\"}},[_vm._v(_vm._s(_vm.discount)+\"%\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport Expandable from \"@/components/Expandable.vue\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\n\nexport default defineComponent({\n name: \"ConflictfundMembershipDiscount\",\n components: {\n Expandable,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: {\n type: Object,\n default: () => null,\n },\n },\n data() {\n return {\n displayName: BlockLabel.ConflictfundMembershipDiscount,\n discount: 0,\n };\n },\n mounted() {\n if (this.data) {\n this.discount = this.data.discount;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n discount: this.discount,\n });\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConflictfundMembershipDiscount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConflictfundMembershipDiscount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConflictfundMembershipDiscount.vue?vue&type=template&id=46076c31&scoped=true&\"\nimport script from \"./ConflictfundMembershipDiscount.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConflictfundMembershipDiscount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ConflictfundMembershipDiscount.vue?vue&type=style&index=0&id=46076c31&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 \"46076c31\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',{staticClass:\"dispute-premium-container\"},[_c('div',{staticClass:\"item minimumsgrunnlag\"},[_c('h3',[_vm._v(\"Minimumsgrunnlag\")]),(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.minimumSalaryBase),expression:\"minimumSalaryBase\",modifiers:{\"number\":true}}],staticClass:\"input-margin\",attrs:{\"data-cy\":\"minimumSalaryBase-input\"},domProps:{\"value\":(_vm.minimumSalaryBase)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.minimumSalaryBase=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"minimumSalaryBase-display\"}},[_c('span',[_vm._v(_vm._s(_vm.asCurrency(_vm.minimumSalaryBase)))])])]),_c('div',{staticClass:\"item premie\"},[_c('h3',[_vm._v(\"Premie (%)\")]),(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.fee),expression:\"fee\",modifiers:{\"number\":true}}],staticClass:\"input-margin\",attrs:{\"data-cy\":\"fee-input\"},domProps:{\"value\":(_vm.fee)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.fee=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"fee-display\"}},[_c('span',[_vm._v(_vm._s(_vm.asPercentage(_vm.fee)))])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const FeeBase = {\n SalaryBase: \"Lønnsgrunnlag\",\n Turnover: \"Omsetning\",\n Other: \"Annet\",\n};\n\nexport default FeeBase;\n","export default {\n shortForm(input: number, digits: number): string {\n const lookup = [\n { value: 1, symbol: \"\" },\n { value: 1e3, symbol: \"k\" },\n { value: 1e6, symbol: \"M\" },\n { value: 1e9, symbol: \"G\" },\n { value: 1e12, symbol: \"T\" },\n { value: 1e15, symbol: \"P\" },\n { value: 1e18, symbol: \"E\" },\n ];\n const rx = /\\.0+$|(\\.[0-9]*[1-9])0+$/;\n const item = lookup\n .slice()\n .reverse()\n .find(function (item) {\n return input >= item.value;\n });\n return item\n ? (input / item.value)\n .toFixed(digits)\n .replace(rx, \"$1\")\n .replace(\".\", \",\") + item.symbol\n : \"0\";\n },\n withThousandsSeparator(number: number, separator: string): string {\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, separator);\n },\n atMostTwoDecimalPlaces(num: number): number {\n return Math.round((num + Number.EPSILON) * 100) / 100;\n },\n};\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport Expandable from \"@/components/Expandable.vue\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport FeeBase from \"@/models/FeeBase\";\nimport NumberFormatter from \"@/services/number.formatter\";\n\nexport default defineComponent({\n name: \"ConflictfundMembershipFee\",\n components: {\n Expandable,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: {\n type: Object,\n default: () => null,\n },\n },\n data() {\n return {\n displayName: BlockLabel.ConflictfundMembershipFee,\n fee: 0,\n minimumSalaryBase: 0,\n };\n },\n computed: {\n FeeBase() {\n return FeeBase;\n },\n },\n mounted() {\n if (this.data) {\n this.fee = this.data.fee;\n this.minimumSalaryBase = this.data.minimumSalaryBase;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n fee: this.fee,\n minimumSalaryBase: this.minimumSalaryBase,\n });\n },\n asCurrency: (number: number) =>\n `kr ${NumberFormatter.withThousandsSeparator(number, \" \")}`,\n asPercentage(number: number) {\n return `${number}%`;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConflictfundMembershipFee.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConflictfundMembershipFee.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConflictfundMembershipFee.vue?vue&type=template&id=5225a954&scoped=true&\"\nimport script from \"./ConflictfundMembershipFee.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConflictfundMembershipFee.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ConflictfundMembershipFee.vue?vue&type=style&index=0&id=5225a954&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 \"5225a954\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"fixed-amount\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \"+_vm._s(_vm.trappe ? \" i trappe\" : \"\")+\" \"),(!_vm.isExpanded)?_c('span',{attrs:{\"data-cy\":\"display-feebase\"}},[_vm._v(\"(\"+_vm._s(_vm.getFeeBaseLabel())+\")\")]):_vm._e()]),(_vm.isExpanded)?_c('block-container',{on:{\"interval:add\":_vm.addInterval,\"interval:remove\":_vm.removeInterval},scopedSlots:_vm._u([{key:\"setup\",fn:function(){return [_c('div',{staticClass:\"feeBase\"},[_c('label',[_vm._v(\"Avgiftsbase\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.feeBase),expression:\"feeBase\"}],staticClass:\"select-feebase\",attrs:{\"data-cy\":\"select-feebase\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.feeBase=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',[_vm._v(_vm._s(_vm.FeeBase.SalaryBase))]),_c('option',[_vm._v(_vm._s(_vm.FeeBase.Turnover))]),_c('option',[_vm._v(_vm._s(_vm.FeeBase.Other))])]),(_vm.feeBase === _vm.FeeBase.Other)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.feeBaseDescription),expression:\"feeBaseDescription\"}],attrs:{\"id\":\"feeBaseDescription\",\"data-cy\":\"feebase-description\",\"placeholder\":\"Type avgiftsbase\"},domProps:{\"value\":(_vm.feeBaseDescription)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.feeBaseDescription=$event.target.value}}}):_vm._e()]),_c('checkbox',{staticClass:\"mb-2\",attrs:{\"data-cy\":\"trappe\",\"label\":\"I trappe\"},model:{value:(_vm.trappe),callback:function ($$v) {_vm.trappe=$$v},expression:\"trappe\"}}),_c('checkbox',{attrs:{\"id\":\"infiniteLimit\",\"label\":\"Uendelig øvre grense\",\"data-cy\":\"set-infinite-upper-limit\"},model:{value:(_vm.infiniteUpperLimit),callback:function ($$v) {_vm.infiniteUpperLimit=$$v},expression:\"infiniteUpperLimit\"}})]},proxy:true},{key:\"intervals\",fn:function(){return [_c('ul',{staticClass:\"fixed-amount__list\"},[_c('li',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Fra\")]),_c('text-field',{attrs:{\"data-cy\":\"set-startsat\",\"type\":\"number\",\"name\":\"startsAt\",\"currency\":\"\",\"inline\":\"\"},model:{value:(_vm.startsAt),callback:function ($$v) {_vm.startsAt=_vm._n($$v)},expression:\"startsAt\"}})],1),_vm._l((_vm.intervals),function(interval,index){return _c('li',{key:index,attrs:{\"data-cy\":\"interval\"}},[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Opp til og med\")]),(_vm.isLast(_vm.intervals, index) && _vm.infiniteUpperLimit)?_c('span',[_c('text-field',{attrs:{\"disabled\":\"\",\"value\":\"∞\",\"name\":\"infinity\",\"inline\":\"\"}})],1):_c('span',[_c('text-field',{attrs:{\"name\":\"upperLimit\",\"type\":\"number\",\"currency\":\"\",\"inline\":\"\"},model:{value:(interval.upperLimit),callback:function ($$v) {_vm.$set(interval, \"upperLimit\", $$v)},expression:\"interval.upperLimit\"}})],1),_c('label',{staticClass:\"mr-4 ml-4\"},[_vm._v(\"Beløp\")]),_c('text-field',{attrs:{\"name\":\"belop\",\"type\":\"number\",\"currency\":\"\",\"inline\":\"\"},model:{value:(interval.amount),callback:function ($$v) {_vm.$set(interval, \"amount\", _vm._n($$v))},expression:\"interval.amount\"}})],1)})],2)]},proxy:true}],null,false,2977208066)}):_c('div',[_c('div',{staticClass:\"flex-parent\"},_vm._l((_vm.intervals),function(interval,index){return _c('div',{key:interval.upperLimit,staticClass:\"flex-child collapsed-interval\",style:({ 'background-color': _vm.getNewColor(index) })},[_c('div',{staticClass:\"limit-box\"},[_c('span',{attrs:{\"data-cy\":\"display-startsat\"}},[_vm._v(_vm._s(_vm.getLowerLimit(index) == _vm.startsAt ? _vm.shortenedNumber(_vm.startsAt) : \">\"))]),(_vm.isLast(_vm.intervals, index) && _vm.infiniteUpperLimit)?_c('span',{attrs:{\"data-cy\":'display-upper-limit-' + index}},[_vm._v(_vm._s(\"∞\"))]):_c('span',{attrs:{\"data-cy\":'display-upper-limit-' + index}},[_vm._v(_vm._s((\"\" + (_vm.shortenedNumber(interval.upperLimit)))))])]),_c('div',{staticClass:\"amount-box\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.asCurrency(interval.amount))+\" \")])])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import numberFormatter from \"@/services/number.formatter\";\n\nexport type Interval = {\n upperLimit: number;\n amount: number;\n};\n\nexport function createNewDefaultInterval(\n intervals: Array,\n options: any\n): Interval {\n options.startsAt = options.startsAt || 0;\n options.defaultAmount = options.defaultAmount || 1;\n options.defaultIncrement = options.defaultIncrement || 1000000;\n\n if (intervals.length == 1) {\n const previous = intervals[0];\n return {\n upperLimit: previous.upperLimit * 2 - options.startsAt,\n amount: numberFormatter.atMostTwoDecimalPlaces(previous.amount * 2),\n };\n } else if (intervals.length > 1) {\n const penultimate = intervals[intervals.length - 2];\n const previous = intervals[intervals.length - 1];\n return {\n upperLimit: previous.upperLimit * 2 - penultimate.upperLimit,\n amount: numberFormatter.atMostTwoDecimalPlaces(\n previous.amount * 2 - penultimate.amount\n ),\n };\n } else {\n return {\n upperLimit: options.startsAt + options.defaultIncrement,\n amount: numberFormatter.atMostTwoDecimalPlaces(options.defaultAmount),\n };\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { Interval, createNewDefaultInterval } from \"@/models/Interval\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport FeeBase from \"@/models/FeeBase\";\nimport {\n Expandable,\n TextField,\n BlockContainer,\n Checkbox,\n} from \"@/components\";\n\nexport default defineComponent({\n name: \"FixedAmount\",\n components: {\n Expandable,\n TextField,\n BlockContainer,\n Checkbox,\n },\n props: {\n initialLimit: { type: Number, default: 0 },\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n },\n data() {\n return {\n startsAt: this.initialLimit || 0,\n displayName: BlockLabel.FixedAmount,\n intervals: Array(),\n infiniteUpperLimit: false,\n feeBase: FeeBase.SalaryBase,\n feeBaseDescription: \"\",\n trappe: false,\n };\n },\n computed: {\n FeeBase() {\n return FeeBase;\n },\n },\n mounted() {\n if (this.data) {\n this.startsAt = this.data.startsAt;\n this.intervals = this.data.intervals;\n this.infiniteUpperLimit = this.data.infiniteUpperLimit;\n this.feeBase = Object.values(FeeBase)[this.data.feeBase];\n this.feeBaseDescription = this.data.feeBaseDescription;\n this.trappe = this.data.trappe;\n } else {\n this.addInterval();\n }\n },\n methods: {\n addInterval() {\n var newInterval = createNewDefaultInterval(this.intervals, {\n startsAt: this.startsAt,\n defaultAmount: 1000,\n });\n this.intervals.push(newInterval);\n },\n removeInterval() {\n this.intervals.pop();\n },\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n intervals: this.intervals,\n startsAt: this.startsAt,\n feeBase: this.getFeeBaseIndex(this.feeBase),\n feeBaseDescription: this.getFeeBaseDescription(),\n infiniteUpperLimit: this.infiniteUpperLimit,\n trappe: this.trappe,\n });\n this.$emit(\n \"highestIntervalValue\",\n this.intervals[this.intervals.length - 1].upperLimit\n );\n },\n getFeeBaseIndex(value: string): number {\n const index = Object.values(FeeBase).indexOf(value);\n return index;\n },\n getFeeBaseLabel(): string {\n const index = this.getFeeBaseIndex(this.feeBase);\n return index == 2\n ? this.feeBaseDescription\n : Object.values(FeeBase)[index];\n },\n getFeeBaseDescription(): string | undefined {\n let index = this.getFeeBaseIndex(this.feeBase);\n return index == 2 ? this.feeBaseDescription : undefined;\n },\n getLowerLimit(index: number): number {\n if (index == 0) return this.startsAt;\n\n return this.intervals[index - 1].upperLimit;\n },\n getNewColor(index: number): string {\n var colors = [\"#39CCCC\", \"#FF9186\", \"#B4DA55\", \"#B5649b\"];\n\n index = index % colors.length;\n\n return colors[index];\n },\n shortenedNumber(number: number): string {\n return NumberFormatter.shortForm(number, 3);\n },\n asCurrency(number: number) {\n return `kr ${NumberFormatter.withThousandsSeparator(number, \" \")}`;\n },\n isLast(list: Array, index: number) {\n return index + 1 == list.length;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedAmount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedAmount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FixedAmount.vue?vue&type=template&id=0dd3ac18&scoped=true&\"\nimport script from \"./FixedAmount.vue?vue&type=script&lang=ts&\"\nexport * from \"./FixedAmount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FixedAmount.vue?vue&type=style&index=0&id=0dd3ac18&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 \"0dd3ac18\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"single-amount\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \")]),(_vm.isExpanded)?_c('div',{staticClass:\"single-amount__container\"},[_c('div',{staticClass:\"single-amount__textfields\"},[_c('text-field',{attrs:{\"name\":\"amountName\",\"label\":\"Fast beløp\",\"data-cy\":\"amount-input\"},model:{value:(_vm.amount),callback:function ($$v) {_vm.amount=_vm._n($$v)},expression:\"amount\"}}),_c('text-field',{attrs:{\"name\":\"descriptionName\",\"label\":\"Beskrivelse\",\"data-cy\":\"description-input\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1)]):_c('div',{staticClass:\"single-amount__container-saved\"},[_c('h3',{attrs:{\"data-cy\":\"amount-saved\"}},[_vm._v(_vm._s(_vm.asCurrency(_vm.amount)))]),_c('h5',{attrs:{\"data-cy\":\"description-saved\"}},[_vm._v(_vm._s(_vm.description))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { Expandable, TextField } from \"@/components\";\n\nexport default defineComponent({\n name: \"SingleAmount\",\n components: {\n Expandable,\n TextField,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n },\n data() {\n return {\n amount: 1000,\n displayName: BlockLabel.SingleAmount,\n description: \"\",\n };\n },\n mounted() {\n if (this.data) {\n this.amount = this.data.amount;\n this.description = this.data.description;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n amount: this.amount,\n description: this.description,\n });\n },\n asCurrency(number: number) {\n return `kr ${NumberFormatter.withThousandsSeparator(number, \" \")}`;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleAmount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleAmount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SingleAmount.vue?vue&type=template&id=1e5637a9&scoped=true&\"\nimport script from \"./SingleAmount.vue?vue&type=script&lang=ts&\"\nexport * from \"./SingleAmount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SingleAmount.vue?vue&type=style&index=0&id=1e5637a9&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 \"1e5637a9\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"shared-invoice\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \")]),(_vm.isExpanded)?_c('div',{staticClass:\"shared-invoice__container\"},[_c('div',{staticClass:\"shared-invoice__textfields\"},[_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"otherAssociationPercentInput\",\"label\":\"Til annen organisasjon (%)\",\"data-cy\":\"percent-input\"},model:{value:(_vm.otherAssociationPercent),callback:function ($$v) {_vm.otherAssociationPercent=_vm._n($$v)},expression:\"otherAssociationPercent\"}}),_c('div',{staticClass:\"shared-invoice__association-select\"},[(_vm.associations != undefined)?_c('association-select',{attrs:{\"data-cy\":\"association-select-input\",\"associations\":_vm.associations},model:{value:(_vm.otherAssociationName),callback:function ($$v) {_vm.otherAssociationName=$$v},expression:\"otherAssociationName\"}}):_vm._e()],1)],1)]):_c('div',{staticClass:\"shared-invoice__container-saved\"},[_c('h3',{attrs:{\"data-cy\":\"otherAssociationPercentSaved\"}},[_vm._v(\" \"+_vm._s(_vm.otherAssociationPercent)+\" % \")]),_c('h5',{attrs:{\"data-cy\":\"otherAssociationShareSaved\"}},[_vm._v(\" \"+_vm._s(_vm.getAssociationShareText())+\" \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { Expandable, TextField } from \"@/components\";\nimport { AssociationSelect } from \"@/components\";\nimport { Federation } from \"@/models/Federation\";\n\nexport default defineComponent({\n name: \"SharedInvoice\",\n components: {\n Expandable,\n TextField,\n AssociationSelect,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n },\n data() {\n return {\n otherAssociationName: \"NHO\",\n otherAssociationNhoNumber: 60001,\n otherAssociationPercent: 50,\n displayName: BlockLabel.SharedInvoice,\n };\n },\n computed: {\n associations(): Array {\n return this.$store.getters.associations;\n },\n },\n mounted() {\n if (this.data) {\n this.otherAssociationName = this.data.otherAssociationName;\n this.otherAssociationNhoNumber = this.data.otherAssociationNhoNumber;\n this.otherAssociationPercent = this.data.otherAssociationPercent;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.otherAssociationNhoNumber = this.getNumberFromName(\n this.otherAssociationName\n );\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n otherAssociationName: this.otherAssociationName,\n otherAssociationNhoNumber: this.otherAssociationNhoNumber,\n otherAssociationPercent: this.otherAssociationPercent,\n });\n },\n getNumberFromName(assocationName: string): number {\n const item = this.associations?.find(\n (org: Federation) => org.name === assocationName\n );\n return item?.nhoNumber ?? 0;\n },\n getAssociationShareText(): string {\n return `av totalen går til ${\n this.otherAssociationName\n } (${this.getNumberFromName(this.otherAssociationName)})`;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedInvoice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedInvoice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SharedInvoice.vue?vue&type=template&id=04f92bca&scoped=true&\"\nimport script from \"./SharedInvoice.vue?vue&type=script&lang=ts&\"\nexport * from \"./SharedInvoice.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SharedInvoice.vue?vue&type=style&index=0&id=04f92bca&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 \"04f92bca\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"ensure-net-price\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \")]),(_vm.isExpanded)?_c('div',{staticClass:\"ensure-net-price__container\"},[_c('div',{staticClass:\"ensure-net-price__textfields\"},[_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"netPriceInput\",\"label\":\"Total\",\"data-cy\":\"fixed-price-input\"},model:{value:(_vm.netPrice),callback:function ($$v) {_vm.netPrice=_vm._n($$v)},expression:\"netPrice\"}}),_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"percentToContingentInput\",\"label\":\"Fordeling til kontingent (%)\",\"data-cy\":\"percent-to-contingent-input\"},model:{value:(_vm.percentToContingent),callback:function ($$v) {_vm.percentToContingent=_vm._n($$v)},expression:\"percentToContingent\"}}),_c('text-field',{attrs:{\"name\":\"descriptionName\",\"label\":\"Beskrivelse\",\"data-cy\":\"description-input\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}}),_c('h5',[_vm._v(\" \"+_vm._s(_vm.getEnsureNetPriceText())+\" \")])],1)]):_c('div',{staticClass:\"ensure-net-price__container-saved\"},[_c('h3',{attrs:{\"data-cy\":\"fixed-price-saved\"}},[_vm._v(_vm._s(_vm.asCurrency(_vm.netPrice)))]),_c('h5',{attrs:{\"data-cy\":\"description-saved\"}},[_vm._v(_vm._s(_vm.description))]),_c('h6',[_vm._v(\" \"+_vm._s(_vm.getEnsureNetPriceText())+\" \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { Expandable, TextField } from \"@/components\";\n\nexport default defineComponent({\n name: \"EnsureNetPrice\",\n components: {\n Expandable,\n TextField,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n },\n data() {\n return {\n netPrice: 1000,\n percentToContingent: 34,\n description: \"\",\n displayName: BlockLabel.EnsureNetPrice,\n };\n },\n mounted() {\n if (this.data) {\n this.netPrice = this.data.netPrice;\n this.percentToContingent = this.data.percentToContingent;\n this.description = this.data.description;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n netPrice: this.netPrice,\n percentToContingent: this.percentToContingent,\n description: this.description,\n });\n },\n getEnsureNetPriceText(): string {\n return `Medlemmer av denne organisasjonen får en total netto på ${\n this.netPrice\n } ved at ${NumberFormatter.atMostTwoDecimalPlaces(\n this.percentToContingent\n )} % av differansen tilegges kontingenten og ${NumberFormatter.atMostTwoDecimalPlaces(\n 100 - this.percentToContingent\n )} % serviceavgiften.`;\n },\n asCurrency(number: number) {\n return `kr ${NumberFormatter.withThousandsSeparator(number, \" \")}`;\n },\n getCalculationTypeLabel(): string {\n return this.calculationType == 0 ? \"kontingent\" : \"serviceavgift\";\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnsureNetPrice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnsureNetPrice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EnsureNetPrice.vue?vue&type=template&id=42fafa93&scoped=true&\"\nimport script from \"./EnsureNetPrice.vue?vue&type=script&lang=ts&\"\nexport * from \"./EnsureNetPrice.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EnsureNetPrice.vue?vue&type=style&index=0&id=42fafa93&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 \"42fafa93\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded,\"can-collapse\":!_vm.isNeitherMinOrMaxChosen()},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',[_c('div',{staticClass:\"min-max-container\"},[(_vm.isMinEnabled || _vm.isExpanded)?_c('div',{staticClass:\"min-max min\"},[_c('h3',[_vm._v(\"Min\")]),(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.minAmount),expression:\"minAmount\",modifiers:{\"number\":true}}],staticClass:\"input-margin\",attrs:{\"data-cy\":\"minAmountInput\"},domProps:{\"value\":(_vm.minAmount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.minAmount=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"minAmountDisplay\"}},[_vm._v(_vm._s(_vm.asCurrency(_vm.minAmount)))])]):_vm._e(),(_vm.isMaxEnabled || _vm.isExpanded)?_c('div',{staticClass:\"min-max max\"},[_c('h3',[_vm._v(\"Maks\")]),(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.maxAmount),expression:\"maxAmount\",modifiers:{\"number\":true}}],staticClass:\"input-margin\",attrs:{\"data-cy\":\"maxAmountInput\"},domProps:{\"value\":(_vm.maxAmount)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.maxAmount=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"maxAmountDisplay\"}},[_vm._v(_vm._s(_vm.asCurrency(_vm.maxAmount)))])]):_vm._e()])]),(_vm.isNeitherMinOrMaxChosen())?_c('error-label',{attrs:{\"text\":\"Velg min- eller maksavgift eller fjern blokken\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport Expandable from \"@/components/Expandable.vue\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport ErrorLabel from \"../ErrorLabel.vue\";\n\nconst defaultMin = 1000;\nconst defaultMax = 2000;\n\nexport default defineComponent({\n name: \"MinMax\",\n components: {\n Expandable,\n ErrorLabel,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n },\n data() {\n return {\n displayName: BlockLabel.MinMax,\n minAmount: defaultMin,\n maxAmount: defaultMax,\n };\n },\n computed: {\n isMinEnabled(): boolean {\n return this.minAmount !== null && this.minAmount > 0;\n },\n isMaxEnabled(): boolean {\n return this.maxAmount !== null && this.maxAmount > 0;\n },\n },\n mounted() {\n if (this.data) {\n this.minAmount = this.data.minAmount;\n this.maxAmount = this.data.maxAmount;\n }\n },\n methods: {\n isNeitherMinOrMaxChosen(): boolean {\n return !this.isMaxEnabled && !this.isMinEnabled;\n },\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n minAmount: this.minAmount > 0 ? this.minAmount : null,\n maxAmount: this.maxAmount > 0 ? this.maxAmount : null,\n });\n },\n asCurrency: (number: number) =>\n `kr ${NumberFormatter.withThousandsSeparator(number, \" \")}`,\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MinMax.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MinMax.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MinMax.vue?vue&type=template&id=593406fc&scoped=true&\"\nimport script from \"./MinMax.vue?vue&type=script&lang=ts&\"\nexport * from \"./MinMax.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MinMax.vue?vue&type=style&index=0&id=593406fc&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 \"593406fc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"percentage\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \"+_vm._s(_vm.trappe ? \" i trappe\" : \"\")+\" \"),(!_vm.isExpanded)?_c('span',{attrs:{\"data-cy\":\"display-feebase\"}},[_vm._v(\" (\"+_vm._s(_vm.getFeeBaseLabel())+\") \")]):_vm._e()]),(_vm.isExpanded)?_c('block-container',{on:{\"interval:add\":_vm.addInterval,\"interval:remove\":_vm.removeInterval},scopedSlots:_vm._u([{key:\"setup\",fn:function(){return [_c('div',[_c('label',[_vm._v(\"Avgiftsbase\")]),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.feeBase),expression:\"feeBase\"}],staticClass:\"percentage__select-feebase\",attrs:{\"data-cy\":\"select-feebase\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.feeBase=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',[_vm._v(_vm._s(_vm.FeeBase.SalaryBase))]),_c('option',[_vm._v(_vm._s(_vm.FeeBase.Turnover))])])]),_c('checkbox',{staticClass:\"mb-2\",attrs:{\"data-cy\":\"trappe\",\"label\":\"I trappe\"},model:{value:(_vm.trappe),callback:function ($$v) {_vm.trappe=$$v},expression:\"trappe\"}}),_c('checkbox',{attrs:{\"id\":\"infiniteLimit\",\"label\":\"Uendelig øvre grense\",\"data-cy\":\"set-infinite-upper-limit\"},model:{value:(_vm.infiniteUpperLimit),callback:function ($$v) {_vm.infiniteUpperLimit=$$v},expression:\"infiniteUpperLimit\"}})]},proxy:true},{key:\"intervals\",fn:function(){return [_c('ul',{staticClass:\"percentage__list\"},[_c('li',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Fra\")]),_c('text-field',{attrs:{\"data-cy\":\"set-startsat\",\"name\":\"set-startsat\",\"type\":\"number\",\"currency\":\"\",\"inline\":\"\"},model:{value:(_vm.startsAt),callback:function ($$v) {_vm.startsAt=_vm._n($$v)},expression:\"startsAt\"}})],1),_vm._l((_vm.intervals),function(interval,index){return _c('li',{key:index,attrs:{\"data-cy\":\"interval\"}},[(_vm.isLast(_vm.intervals, index))?_c('div',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Opp til og med\")]),(_vm.infiniteUpperLimit)?_c('span',[_c('text-field',{attrs:{\"disabled\":\"\",\"value\":\"∞\",\"name\":\"infinity\",\"inline\":\"\"}})],1):_c('span',[_c('text-field',{attrs:{\"name\":\"upper-limit\",\"type\":\"number\",\"currency\":\"\",\"inline\":\"\"},model:{value:(interval.upperLimit),callback:function ($$v) {_vm.$set(interval, \"upperLimit\", _vm._n($$v))},expression:\"interval.upperLimit\"}})],1),_c('label',{staticClass:\"ml-4 mr-4\"},[_vm._v(\"Sats (%)\")]),_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"sats\",\"inline\":\"\"},model:{value:(interval.amount),callback:function ($$v) {_vm.$set(interval, \"amount\", _vm._n($$v))},expression:\"interval.amount\"}})],1):_c('div',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Opp til og med\")]),_c('text-field',{attrs:{\"name\":\"upper-limit\",\"type\":\"number\",\"currency\":\"\",\"inline\":\"\"},model:{value:(interval.upperLimit),callback:function ($$v) {_vm.$set(interval, \"upperLimit\", _vm._n($$v))},expression:\"interval.upperLimit\"}}),_c('label',{staticClass:\"mr-4 ml-4\"},[_vm._v(\"Sats (%)\")]),_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"sats\",\"inline\":\"\"},model:{value:(interval.amount),callback:function ($$v) {_vm.$set(interval, \"amount\", _vm._n($$v))},expression:\"interval.amount\"}})],1)])})],2)]},proxy:true}],null,false,1675898048)}):_c('div',[_c('div',{staticClass:\"flex-parent\"},_vm._l((_vm.intervals),function(interval,index){return _c('div',{key:interval.upperLimit,staticClass:\"flex-child collapsed-interval\",style:({ 'background-color': _vm.getNewColor(index) })},[_c('div',{staticClass:\"limit-box\"},[_c('span',{attrs:{\"data-cy\":\"display-startsat\"}},[_vm._v(_vm._s(_vm.getLowerLimit(index) == _vm.startsAt ? _vm.shortenedNumber(_vm.startsAt) : \">\"))]),(_vm.isLast(_vm.intervals, index) && _vm.infiniteUpperLimit)?_c('span',{attrs:{\"data-cy\":'display-upper-limit-' + index}},[_vm._v(_vm._s(\"∞\"))]):_c('span',{attrs:{\"data-cy\":'display-upper-limit-' + index}},[_vm._v(_vm._s((\"\" + (_vm.shortenedNumber(interval.upperLimit)))))])]),_c('div',{staticClass:\"amount-box\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.asPercentage(interval.amount))+\" \")])])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { Interval, createNewDefaultInterval } from \"@/models/Interval\";\nimport FeeBase from \"@/models/FeeBase\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport {\n TextField,\n Expandable,\n Checkbox,\n BlockContainer,\n} from \"@/components\";\n\nexport default defineComponent({\n name: \"Percentage\",\n components: {\n Expandable,\n TextField,\n Checkbox,\n BlockContainer,\n },\n props: {\n initialLimit: { type: Number, default: 0 },\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n },\n data() {\n return {\n displayName: BlockLabel.Percentage,\n startsAt: this.initialLimit || 0,\n trappe: false,\n intervals: Array(),\n infiniteUpperLimit: false,\n feeBase: FeeBase.SalaryBase,\n feeBaseDescription: \"\",\n };\n },\n computed: {\n FeeBase() {\n return FeeBase;\n },\n },\n mounted() {\n if (this.data) {\n this.startsAt = this.data.startsAt;\n this.trappe = this.data.trappe;\n this.intervals = this.data.intervals;\n this.infiniteUpperLimit = this.data.infiniteUpperLimit;\n this.feeBase = Object.values(FeeBase)[this.data.feeBase];\n this.feeBaseDescription = this.data.feeBaseDescription;\n } else {\n this.addInterval();\n }\n },\n methods: {\n addInterval() {\n var newInterval = createNewDefaultInterval(this.intervals, {\n startsAt: this.startsAt,\n defaultAmount: 1.25,\n });\n this.intervals.push(newInterval);\n },\n removeInterval() {\n this.intervals.pop();\n },\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n intervals: this.intervals,\n trappe: this.trappe,\n startsAt: this.startsAt,\n feeBase: this.getFeeBaseIndex(this.feeBase),\n feeBaseDescription: this.getFeeBaseDescription(),\n infiniteUpperLimit: this.infiniteUpperLimit,\n });\n this.$emit(\n \"highestIntervalValue\",\n this.intervals[this.intervals.length - 1].upperLimit\n );\n },\n getFeeBaseIndex(value: string): number {\n const index = Object.values(FeeBase).indexOf(value);\n return index;\n },\n getFeeBaseLabel(): string {\n const index = this.getFeeBaseIndex(this.feeBase);\n return index == 2\n ? this.feeBaseDescription\n : Object.values(FeeBase)[index];\n },\n getFeeBaseDescription(): string | undefined {\n let index = this.getFeeBaseIndex(this.feeBase);\n return index == 2 ? this.feeBaseDescription : undefined;\n },\n getLowerLimit(index: number): number {\n if (index == 0) return this.startsAt;\n\n return this.intervals[index - 1].upperLimit;\n },\n getNewColor(index: number): string {\n var colors = [\"#39CCCC\", \"#FF9186\", \"#B4DA55\", \"#B5649b\"];\n\n index = index % colors.length;\n\n return colors[index];\n },\n shortenedNumber(number: number): string {\n return NumberFormatter.shortForm(number, 3);\n },\n asPercentage(number: number) {\n return `${number}%`;\n },\n isLast(list: Array, index: number) {\n return index + 1 == list.length;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Percentage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Percentage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Percentage.vue?vue&type=template&id=e640590a&scoped=true&\"\nimport script from \"./Percentage.vue?vue&type=script&lang=ts&\"\nexport * from \"./Percentage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Percentage.vue?vue&type=style&index=0&id=e640590a&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 \"e640590a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"price-per-unit\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \"),(!_vm.isExpanded)?_c('span',[_vm._v(\"(\"+_vm._s(_vm.getUnitPriceLabel())+\")\")]):_vm._e()]),(_vm.isExpanded)?_c('block-container',{on:{\"interval:add\":_vm.addInterval,\"interval:remove\":_vm.removeInterval},scopedSlots:_vm._u([{key:\"setup\",fn:function(){return [_c('div',{staticClass:\"mb-2\"},[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Enhetspris\")]),_c('text-field',{attrs:{\"type\":\"number\",\"data-cy\":\"price-per-unit\",\"name\":\"priceperunit\",\"inline\":\"\"},model:{value:(_vm.unitPrice),callback:function ($$v) {_vm.unitPrice=_vm._n($$v)},expression:\"unitPrice\"}})],1),_c('checkbox',{attrs:{\"id\":\"infiniteLimit\",\"label\":\"Uendelig øvre grense\",\"data-cy\":\"set-infinite-upper-limit\"},model:{value:(_vm.infiniteUpperLimit),callback:function ($$v) {_vm.infiniteUpperLimit=$$v},expression:\"infiniteUpperLimit\"}})]},proxy:true},{key:\"intervals\",fn:function(){return [_c('ul',{staticClass:\"price-per-unit__list\"},[_c('li',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Fra omsetning på\")]),_c('text-field',{attrs:{\"data-cy\":\"set-startsat\",\"name\":\"set-startsat\",\"type\":\"number\",\"inline\":\"\"},model:{value:(_vm.startsAt),callback:function ($$v) {_vm.startsAt=_vm._n($$v)},expression:\"startsAt\"}})],1),_vm._l((_vm.intervals),function(interval,index){return _c('li',{key:index,attrs:{\"data-cy\":\"interval\"}},[(_vm.isLast(_vm.intervals, index))?_c('div',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Opp til og med\")]),(_vm.infiniteUpperLimit)?_c('span',[_c('text-field',{attrs:{\"disabled\":\"\",\"value\":\"∞\",\"name\":\"infinity\",\"inline\":\"\"}})],1):_c('span',[_c('text-field',{attrs:{\"name\":\"upper-limit\",\"type\":\"number\",\"inline\":\"\"},model:{value:(interval.upperLimit),callback:function ($$v) {_vm.$set(interval, \"upperLimit\", _vm._n($$v))},expression:\"interval.upperLimit\"}})],1),_c('label',{staticClass:\"ml-4 mr-4\"},[_vm._v(\"Enhetstrinn\")]),_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"enhetstrinn\",\"inline\":\"\"},model:{value:(interval.amount),callback:function ($$v) {_vm.$set(interval, \"amount\", _vm._n($$v))},expression:\"interval.amount\"}})],1):_c('div',[_c('label',{staticClass:\"mr-4\"},[_vm._v(\"Opp til og med\")]),_c('text-field',{attrs:{\"name\":\"upper-limit\",\"type\":\"number\",\"inline\":\"\"},model:{value:(interval.upperLimit),callback:function ($$v) {_vm.$set(interval, \"upperLimit\", _vm._n($$v))},expression:\"interval.upperLimit\"}}),_c('label',{staticClass:\"ml-4 mr-4\"},[_vm._v(\"Enhetstrinn\")]),_c('text-field',{attrs:{\"type\":\"number\",\"name\":\"enhetstrinn\",\"inline\":\"\"},model:{value:(interval.amount),callback:function ($$v) {_vm.$set(interval, \"amount\", _vm._n($$v))},expression:\"interval.amount\"}})],1)])})],2)]},proxy:true}],null,false,1316000784)}):_c('div',[_c('div',{staticClass:\"flex-parent\"},_vm._l((_vm.intervals),function(interval,index){return _c('div',{key:interval.upperLimit,staticClass:\"flex-child collapsed-interval\",style:({ 'background-color': _vm.getNewColor(index) })},[_c('div',{staticClass:\"limit-box\"},[_c('span',{attrs:{\"data-cy\":\"display-startsat\"}},[_vm._v(_vm._s(_vm.getLowerLimit(index) == _vm.startsAt ? _vm.shortenedNumber(_vm.startsAt) : \">\"))]),(_vm.isLast(_vm.intervals, index) && _vm.infiniteUpperLimit)?_c('span',{attrs:{\"data-cy\":'display-upper-limit-' + index}},[_vm._v(_vm._s(\"∞\"))]):_c('span',{attrs:{\"data-cy\":'display-upper-limit-' + index}},[_vm._v(_vm._s((\"\" + (_vm.shortenedNumber(interval.upperLimit)))))])]),_c('div',{staticClass:\"amount-box\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.asCurrency(interval.amount))+\" \")])])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { Interval, createNewDefaultInterval } from \"@/models/Interval\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport {\n Expandable,\n BlockContainer,\n Checkbox,\n TextField,\n} from \"@/components\";\n\nexport default defineComponent({\n name: \"PricePerUnit\",\n components: {\n Expandable,\n BlockContainer,\n Checkbox,\n TextField,\n },\n props: {\n initialLimit: { type: Number, default: 0 },\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n initialUnitPrice: { type: Number, default: null },\n },\n data() {\n return {\n startsAt: this.initialLimit || 0,\n displayName: BlockLabel.PricePerUnit,\n intervals: Array(),\n infiniteUpperLimit: false,\n unitPrice: this.initialUnitPrice || 0,\n };\n },\n computed: {},\n mounted() {\n if (this.data) {\n this.startsAt = this.data.startsAt;\n this.intervals = this.data.intervals;\n this.infiniteUpperLimit = this.data.infiniteUpperLimit;\n this.unitPrice = this.data.unitPrice;\n } else {\n this.addInterval();\n }\n },\n methods: {\n addInterval(): void {\n var newInterval = createNewDefaultInterval(this.intervals, {\n startsAt: this.startsAt,\n defaultAmount: 1000,\n });\n this.intervals.push(newInterval);\n },\n isUnitPriceValid(): boolean {\n return this.unitPrice !== null && this.unitPrice > 0;\n },\n getUnitPriceLabel(): string {\n return this.isUnitPriceValid() ? `kr ${this.unitPrice} per` : \"ugyldig\";\n },\n removeInterval(): void {\n this.intervals.pop();\n },\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock(): void {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n intervals: this.intervals,\n startsAt: this.startsAt,\n infiniteUpperLimit: this.infiniteUpperLimit,\n unitPrice: this.isUnitPriceValid() ? this.unitPrice : 0,\n });\n this.$emit(\n \"highestIntervalValue\",\n this.intervals[this.intervals.length - 1].upperLimit\n );\n },\n getLowerLimit(index: number): number {\n if (index == 0) return this.startsAt;\n\n return this.intervals[index - 1].upperLimit;\n },\n getNewColor(index: number): string {\n var colors = [\"#39CCCC\", \"#FF9186\", \"#B4DA55\", \"#B5649b\"];\n\n index = index % colors.length;\n\n return colors[index];\n },\n shortenedNumber(number: number): string {\n return NumberFormatter.shortForm(number, 3);\n },\n asCurrency(number: number): string {\n return `${NumberFormatter.withThousandsSeparator(number, \" \")}`;\n },\n isLast(list: Array, index: number): boolean {\n return index + 1 == list.length;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricePerUnit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricePerUnit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PricePerUnit.vue?vue&type=template&id=b91ee83c&scoped=true&\"\nimport script from \"./PricePerUnit.vue?vue&type=script&lang=ts&\"\nexport * from \"./PricePerUnit.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PricePerUnit.vue?vue&type=style&index=0&id=b91ee83c&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 \"b91ee83c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"price-per-unit-man-year\"},[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',{attrs:{\"data-cy\":\"display-name\"}},[_vm._v(\" \"+_vm._s(_vm.displayName)+\" \")]),(_vm.isExpanded)?_c('div',{staticClass:\"price-per-unit-man-year__container\"},[_c('div',{staticClass:\"price-per-unit-man-year__textfields\"},[_c('text-field',{attrs:{\"type\":\"number\",\"data-cy\":\"price-per-unit-man-year\",\"name\":\"pricepermanyear\",\"label\":\"Enhetspris\"},model:{value:(_vm.unitPrice),callback:function ($$v) {_vm.unitPrice=_vm._n($$v)},expression:\"unitPrice\"}})],1)]):_c('div',[_c('div',{staticClass:\"price-per-unit-man-year__container-saved\"},[_c('h3',{attrs:{\"data-cy\":\"amount-saved\"}},[_vm._v(\" Kr \"+_vm._s(_vm.asCurrency(_vm.unitPrice))+\" per årsverk \")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport NumberFormatter from \"@/services/number.formatter\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { Expandable, TextField } from \"@/components\";\n\nexport default defineComponent({\n name: \"PricePerUnitManYears\",\n components: {\n Expandable,\n TextField,\n },\n props: {\n initialLimit: { type: Number, default: 0 },\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: { type: Object, default: null },\n initialUnitPrice: { type: Number, default: null },\n },\n data() {\n return {\n displayName: BlockLabel.PricePerUnitManYears,\n unitPrice: this.initialUnitPrice || 0,\n };\n },\n computed: {},\n mounted() {\n if (this.data) {\n this.unitPrice = this.data.unitPrice;\n }\n },\n methods: {\n isUnitPriceValid(): boolean {\n return this.unitPrice !== null && this.unitPrice > 0;\n },\n getUnitPriceLabel(): string {\n return this.isUnitPriceValid() ? `kr ${this.unitPrice} per` : \"ugyldig\";\n },\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock(): void {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n unitPrice: this.isUnitPriceValid() ? this.unitPrice : 0,\n });\n },\n getNewColor(index: number): string {\n var colors = [\"#39CCCC\", \"#FF9186\", \"#B4DA55\", \"#B5649b\"];\n\n index = index % colors.length;\n\n return colors[index];\n },\n shortenedNumber(number: number): string {\n return NumberFormatter.shortForm(number, 3);\n },\n asCurrency(number: number): string {\n return `${NumberFormatter.withThousandsSeparator(number, \" \")}`;\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricePerUnitManYears.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricePerUnitManYears.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PricePerUnitManYears.vue?vue&type=template&id=b0df4bde&scoped=true&\"\nimport script from \"./PricePerUnitManYears.vue?vue&type=script&lang=ts&\"\nexport * from \"./PricePerUnitManYears.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PricePerUnitManYears.vue?vue&type=style&index=0&id=b0df4bde&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 \"b0df4bde\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',{staticClass:\"prorata-discount-container\"},[_c('div',{staticClass:\"block-info\",attrs:{\"data-cy\":\"block-info\"}},[_c('h4',[_vm._v(\"Betaler for måneder med aktivt medlemskap\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { defineComponent } from \"@vue/composition-api\";\n\nexport default defineComponent({\n name: \"ProrataDiscount\",\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n displayName: BlockLabel.ProrataDiscount,\n };\n },\n mounted() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n });\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProrataDiscount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProrataDiscount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProrataDiscount.vue?vue&type=template&id=5bfcc3fe&scoped=true&\"\nimport script from \"./ProrataDiscount.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProrataDiscount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProrataDiscount.vue?vue&type=style&index=0&id=5bfcc3fe&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 \"5bfcc3fe\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('Expandable',{attrs:{\"is-expanded\":_vm.isExpanded},on:{\"expand\":function($event){return _vm.expandBlock()},\"collapse\":function($event){return _vm.collapseBlock()}}}),_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',{staticClass:\"registration-discount-container\"},[_c('div',{staticClass:\"registration-discount-half first-half\"},[_c('h2',[_vm._v(\"Første halvår\")]),(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.percentFirstHalfYear),expression:\"percentFirstHalfYear\",modifiers:{\"number\":true}}],staticClass:\"input-margin\",attrs:{\"data-cy\":\"percentFirstHalfYear\"},domProps:{\"value\":(_vm.percentFirstHalfYear)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.percentFirstHalfYear=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"firstHalfYearValue\"}},[_c('span',[_vm._v(_vm._s(_vm.percentFirstHalfYear)+\"%\")])])]),_c('div',{staticClass:\"registration-discount-half second-half\"},[_c('h2',[_vm._v(\"Andre halvår\")]),(_vm.isExpanded)?_c('input',{directives:[{name:\"model\",rawName:\"v-model.number\",value:(_vm.percentSecondHalfYear),expression:\"percentSecondHalfYear\",modifiers:{\"number\":true}}],staticClass:\"input-margin\",attrs:{\"data-cy\":\"percentSecondHalfYear\"},domProps:{\"value\":(_vm.percentSecondHalfYear)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.percentSecondHalfYear=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}):_c('h1',{attrs:{\"data-cy\":\"secondHalfYearValue\"}},[_c('span',[_vm._v(_vm._s(_vm.percentSecondHalfYear)+\"%\")])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport Expandable from \"@/components/Expandable.vue\";\nimport { BlockLabel } from \"@/models/BlockLabel\";\n\nexport default defineComponent({\n name: \"RegistrationDiscount\",\n components: {\n Expandable,\n },\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n isExpanded: {\n type: Boolean,\n default: false,\n },\n data: {\n type: Object,\n default: null,\n },\n },\n data() {\n return {\n displayName: BlockLabel.RegistrationDiscount,\n percentFirstHalfYear: 50,\n percentSecondHalfYear: 100,\n };\n },\n mounted() {\n if (this.data) {\n this.percentFirstHalfYear = this.data.percentFirstHalfYear;\n this.percentSecondHalfYear = this.data.percentSecondHalfYear;\n }\n },\n methods: {\n expandBlock() {\n this.$emit(\"setBlockExpanded\", this.blockId);\n },\n collapseBlock() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n percentFirstHalfYear: this.percentFirstHalfYear,\n percentSecondHalfYear: this.percentSecondHalfYear,\n });\n },\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegistrationDiscount.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegistrationDiscount.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RegistrationDiscount.vue?vue&type=template&id=130e232a&scoped=true&\"\nimport script from \"./RegistrationDiscount.vue?vue&type=script&lang=ts&\"\nexport * from \"./RegistrationDiscount.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RegistrationDiscount.vue?vue&type=style&index=0&id=130e232a&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 \"130e232a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('h1',[_vm._v(_vm._s(_vm.displayName))]),_c('div',{staticClass:\"existing-membership-exemption-container\"},[_c('div',{staticClass:\"block-info\",attrs:{\"data-cy\":\"block-info\"}},[_c('h4',[_vm._v(\"Fritatt dersom medlemskapet var startet per 31.12 foregående år\")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { BlockLabel } from \"@/models/BlockLabel\";\nimport { defineComponent } from \"@vue/composition-api\";\n\nexport default defineComponent({\n name: \"ExistingMembershipExemption\",\n props: {\n blockId: {\n type: Number,\n required: true,\n },\n },\n data() {\n return {\n displayName: BlockLabel.ExistingMembershipExemption,\n };\n },\n mounted() {\n this.$emit(\"updateBlock\", {\n blockId: this.blockId,\n type: this.$options.name,\n });\n },\n});\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExistingMembershipExemption.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExistingMembershipExemption.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExistingMembershipExemption.vue?vue&type=template&id=6099baa2&scoped=true&\"\nimport script from \"./ExistingMembershipExemption.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExistingMembershipExemption.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ExistingMembershipExemption.vue?vue&type=style&index=0&id=6099baa2&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 \"6099baa2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"transition\":\"dialog-bottom-transition\",\"max-width\":\"600\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('div',{staticClass:\"remove-parent\"},[_c('button',_vm._g(_vm._b({class:_vm.getClasses(),attrs:{\"data-cy\":\"remove-calculation-block-button\"}},'button',attrs,false),on),[_vm._v(\" 🗑️ \")])])]}},{key:\"default\",fn:function(dialog){return [_c('div',{staticClass:\"dialog\"},[_c('h1',[_vm._v(\" Er du sikker på at du vil fjerne \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.getLabel(_vm.blockType))+\"? \")]),_c('v-btn',{attrs:{\"data-cy\":\"confirm-remove\",\"text\":\"\"},on:{\"click\":function($event){return _vm.confirmRemove(dialog)}}},[_vm._v(\" Ja, fjern \"+_vm._s(_vm.getLabel(_vm.blockType))+\" \")]),_c('v-btn',{attrs:{\"data-cy\":\"cancel-remove\",\"text\":\"\"},on:{\"click\":function($event){dialog.value = false}}},[_vm._v(\" Avbryt \")])],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { BlockLabel, getBlockLabel, getBlockKey } from \"@/models/BlockLabel\";\nimport { defineComponent } from \"@vue/composition-api\";\n\nexport default defineComponent({\n name: \"DeleteWithConfirmation\",\n props: {\n blockType: {\n type: String,\n default: \"\",\n },\n },\n methods: {\n confirmRemove(dialog: any) {\n dialog.value = false;\n this.$emit(\"removeBlock\");\n },\n getLabel: (blockType: string) => getBlockLabel(blockType),\n getClasses(): string {\n if (\n this.blockType === getBlockKey(BlockLabel.ProrataDiscount) ||\n this.blockType === getBlockKey(BlockLabel.DelayedInvoice) ||\n this.blockType === getBlockKey(BlockLabel.ExistingMembershipExemption)\n ) {\n return \"remove block-without-expandable\";\n }\n return \"remove\";\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteWithConfirmation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteWithConfirmation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeleteWithConfirmation.vue?vue&type=template&id=216495dd&scoped=true&\"\nimport script from \"./DeleteWithConfirmation.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeleteWithConfirmation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DeleteWithConfirmation.vue?vue&type=style&index=0&id=216495dd&scoped=true&lang=css&\"\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 \"216495dd\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\ninstallComponents(component, {VBtn,VDialog})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"block-chooser\"},[_c('v-dialog',{attrs:{\"transition\":\"dialog-bottom-transition\",\"max-width\":\"600\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"add-block\",attrs:{\"data-cy\":\"new-calculation-block-button\",\"color\":\"primary\"}},'v-btn',attrs,false),on),[_vm._v(\" Ny blokk \")])]}},{key:\"default\",fn:function(dialog){return [_c('v-list',_vm._l((_vm.blockKeys),function(blockKey){return _c('v-list-item',{key:blockKey,staticClass:\"block-item\",attrs:{\"data-cy\":'choose' + blockKey,\"disabled\":_vm.isBlockDisabled(blockKey)},on:{\"click\":function($event){return _vm.choose(blockKey, dialog)}}},[_c('h2',[_vm._v(_vm._s(_vm.getLabel(blockKey)))])])}),1),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){dialog.value = false}}},[_vm._v(\" Avbryt \")])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { defineComponent } from \"@vue/composition-api\";\nimport {\n BlockLabel,\n getBlockKey,\n getBlockKeys,\n getBlockLabel,\n blocksWithoutDuplicates,\n illegalBlockCombinationList,\n onlyValidInContingentBlocks,\n} from \"@/models/BlockLabel\";\nimport { Getters } from \"@/store\";\nimport { mapGetters } from \"vuex\";\nimport { CalculationBlock } from \"@/models/Calculation\";\n\nexport default defineComponent({\n name: \"BlockChooser\",\n props: {\n isContingent: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n blockKeys: getBlockKeys(),\n };\n },\n computed: {\n ...mapGetters([Getters.OPEN_CALCULATION]),\n },\n methods: {\n getLabel: (blockKey: string) => getBlockLabel(blockKey),\n choose(blockKey: string, dialog: any) {\n dialog.value = false;\n this.$emit(\"addBlock\", blockKey);\n },\n isBlockDisabled(blockKey: string) {\n const isBlockInCalculation = this.openCalculation.blocks.some(\n (x: CalculationBlock) => x.type === blockKey\n );\n\n const isIllegalDuplicate =\n isBlockInCalculation &&\n blocksWithoutDuplicates.some(\n (x: BlockLabel) => getBlockKey(x) === blockKey\n );\n\n if (isIllegalDuplicate) return true;\n\n for (const illegalBlockCombination of illegalBlockCombinationList) {\n const isBlockInSet = illegalBlockCombination.some(\n (block) => getBlockKey(block) == blockKey\n );\n if (!isBlockInSet) continue;\n\n const hasOpenBlockInSet = this.openCalculation.blocks.some(\n (openBlock: CalculationBlock) =>\n illegalBlockCombination.some(\n (block) => getBlockKey(block) == openBlock.type\n )\n );\n if (hasOpenBlockInSet) return true;\n }\n\n const isDisabledWithThisCalculationType =\n this.isContingent == false &&\n onlyValidInContingentBlocks.some(\n (x: BlockLabel) => getBlockKey(x) === blockKey\n );\n if (isDisabledWithThisCalculationType) return true;\n\n return false;\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockChooser.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlockChooser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BlockChooser.vue?vue&type=template&id=81cd4546&scoped=true&\"\nimport script from \"./BlockChooser.vue?vue&type=script&lang=ts&\"\nexport * from \"./BlockChooser.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BlockChooser.vue?vue&type=style&index=0&id=81cd4546&scoped=true&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 \"81cd4546\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VBtn,VDialog,VList,VListItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container',{staticClass:\"child-dropdown\",attrs:{\"data-cy\":\"child-dropdown-container\"}},[(_vm.childFederations.length > 0)?_c('v-autocomplete',{attrs:{\"data-cy\":\"child-org-dropdown\",\"items\":_vm.getSortedChildFederations(),\"label\":\"Egen kalkulasjon for medlemmer av datter\",\"item-value\":\"nhoNumber\",\"filter\":_vm.customFilter,\"outlined\":\"\",\"item-text\":\"name\"},scopedSlots:_vm._u([{key:\"selection\",fn:function(data){return [_c('v-list-item-content',[_c('v-list-item-title',{attrs:{\"data-cy\":\"child-org-dropdown-title\"}},[_vm._v(_vm._s(data.item.name))]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(data.item.nhoNumber)+\" \")])],1)]}},{key:\"item\",fn:function(data){return [_c('v-list-item-content',[_c('v-list-item-title',[(\n _vm.childExists(data.item.nhoNumber) &&\n !_vm.isChildActive(data.item.nhoNumber)\n )?_c('div',{style:({ 'font-weight': 'bold' })},[_vm._v(\" Deaktivert \")]):_vm._e(),_vm._v(\" \"+_vm._s(data.item.name)+\" \")]),_c('v-list-item-subtitle',[_vm._v(_vm._s(data.item.nhoNumber))])],1)]}}],null,false,3368244281),model:{value:(_vm.selectedChildNumber),callback:function ($$v) {_vm.selectedChildNumber=_vm._n($$v)},expression:\"selectedChildNumber\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Federation, AssociationUtils } from \"@/models/Federation\";\nimport { getSortedChildFederations } from \"@/utils\";\nimport { Calculation } from \"@/models/Calculation\";\nimport { Container } from \"@/components\";\nimport Vue, { PropType } from \"vue\";\n\nexport default Vue.extend({\n name: \"ChildDropdown\",\n components: {\n Container,\n },\n props: {\n initialSelectedChild: {\n type: Number,\n default: 0,\n },\n childFederations: {\n type: Array as PropType,\n required: true,\n },\n childCalculations: {\n type: Array as PropType,\n required: true,\n },\n organizations: {\n type: Array as PropType,\n required: true,\n },\n },\n data() {\n return {\n selectedChildNumber: this.initialSelectedChild,\n };\n },\n watch: {\n selectedChildNumber(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(\"onChildDropdownChange\", newValue);\n }\n },\n },\n methods: {\n customFilter(item: Federation, queryText: string): boolean {\n return AssociationUtils.customFilter(item, queryText);\n },\n getSortedChildFederations() {\n const orgs = getSortedChildFederations(\n this.childFederations,\n this.childCalculations,\n this.organizations\n );\n\n return orgs;\n },\n isChildActive(nhoNumber: number): boolean {\n const child = this.childCalculations.find((calculation) => {\n return calculation.childNhoNumber === nhoNumber;\n });\n\n if (child === undefined) return false;\n return child.isActive;\n },\n childExists(nhoNumber: number): boolean {\n return this.childCalculations.some((calculation) => {\n return calculation.childNhoNumber === nhoNumber;\n });\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChildDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChildDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChildDropdown.vue?vue&type=template&id=52deedf4&scoped=true&\"\nimport script from \"./ChildDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChildDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ChildDropdown.vue?vue&type=style&index=0&id=52deedf4&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 \"52deedf4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\ninstallComponents(component, {VAutocomplete,VListItemContent,VListItemSubtitle,VListItemTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { CalculationParams } from \"@/types\";\nimport { defineComponent } from \"@vue/composition-api\";\nimport ApiClient from \"@/services/api.client\";\nimport { Container } from \"@/components\";\nimport {\n Calculation,\n CalculationBlock,\n CalculationUtils,\n} from \"@/models/Calculation\";\nimport {\n ValidationError,\n ValidationResultBackend,\n} from \"@/models/ValidationError\";\nimport LayoutDefault from \"../layouts/LayoutDefault.vue\";\n\n// Calculation blocks\nimport {\n DelayedInvoice,\n FixedAmount,\n Percentage,\n DiscountByPercentage,\n RegistrationDiscount,\n ProrataDiscount,\n MinMax,\n SingleAmount,\n SharedInvoice,\n EnsureNetPrice,\n PricePerUnit,\n PricePerUnitManYears,\n ConflictfundMembershipDiscount,\n ConflictfundMembershipFee,\n ExistingMembershipExemption,\n} from \"@/components/CalculationTypes\";\nimport { TextField } from \"@/components\";\nimport DeleteWithConfirmation from \"@/components/DeleteWithConfirmation.vue\";\nimport BlockChooser from \"@/components/BlockChooser.vue\";\nimport ChildDropdown from \"./ChildDropdown.vue\";\nimport LoadingSpinner from \"@/components/LoadingSpinner.vue\";\nimport { Actions, Getters, Mutations } from \"@/store\";\nimport { mapActions, mapGetters, mapMutations } from \"vuex\";\nimport ErrorLabel from \"@/components/ErrorLabel.vue\";\nimport { getChildFederations } from \"@/utils\";\nimport { Federation } from \"@/models/Federation\";\nimport AssociationSelect from \"@/components/AssociationSelect.vue\";\nimport { BlockLabel, getBlockKey, getBlockLabel } from \"@/models/BlockLabel\";\nexport default defineComponent({\n name: \"Calculation\",\n components: {\n Container,\n BlockChooser,\n ChildDropdown,\n DeleteWithConfirmation,\n LoadingSpinner,\n FixedAmount,\n Percentage,\n DiscountByPercentage,\n RegistrationDiscount,\n ProrataDiscount,\n ExistingMembershipExemption,\n MinMax,\n PricePerUnit,\n PricePerUnitManYears,\n SingleAmount,\n SharedInvoice,\n EnsureNetPrice,\n ConflictfundMembershipDiscount,\n ConflictfundMembershipFee,\n DelayedInvoice,\n ErrorLabel,\n AssociationSelect,\n LayoutDefault,\n TextField,\n },\n data() {\n return {\n isLoading: false,\n saving: false,\n blocks: [] as Array,\n validationErrors: [] as Array,\n calculationType: \"\",\n year: 0,\n nhoNumber: 0,\n organizationNumber: -1,\n associationName: \"\",\n customCalculationText: \"\",\n highestIntervalValue: 0,\n isActive: false,\n selectedChild: 0,\n childFederations: [] as Array,\n childOrganizationCalculations: [] as Array,\n failedToFindCalculation: false,\n childPriorityClass: 0,\n membershipType: 0,\n };\n },\n computed: {\n ...mapGetters([\n Getters.ASSOCIATIONS,\n Getters.OPEN_CALCULATION,\n Getters.CALCULATIONS,\n ]),\n isSaveDisabled(): boolean {\n return this.hasUnsavedChanges || this.hasInvalidOrgNumber;\n },\n hasUnsavedChanges(): boolean {\n return this.openCalculation.blocks.some(\n (x: CalculationBlock) => x.isExpanded\n );\n },\n hasUnsavedComponentChanges(): boolean {\n return this.isActive !== this.openCalculation.isActive;\n },\n hasInvalidOrgNumber(): boolean {\n return isNaN(this.organizationNumber) || this.organizationNumber < 1;\n },\n isCreatingNewCalculation(): boolean {\n return this.isChildSelected() && !this.childCalculationExists();\n },\n toggleActiveDisplay(): string {\n return this.isActive ? \"Deaktiver\" : \"Aktiver\";\n },\n },\n watch: {\n associations(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.childFederations = getChildFederations(\n this.associations,\n this.nhoNumber\n );\n }\n },\n calculations(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.loadCalculation();\n }\n },\n },\n created() {\n if (this.calculations == undefined) {\n this.isLoading = true;\n this.fetchCalculations();\n }\n if (this.associations == undefined) {\n this.fetchFederations();\n }\n },\n mounted() {\n if (this.isValidQueryParameters()) {\n this.loadCalculation();\n }\n },\n methods: {\n ...mapActions([Actions.FETCH_CALCULATIONS, Actions.FETCH_FEDERATIONS]),\n ...mapMutations([Mutations.SET_OPEN_CALCULATION]),\n getChildFederations: getChildFederations,\n getSortedBlocks() {\n var sortedBlocks = this.blocks.map((block) => block);\n sortedBlocks.sort((a, b) => {\n const displayNameA = getBlockLabel(a.type);\n const displayNameB = getBlockLabel(b.type);\n return displayNameA > displayNameB\n ? 1\n : displayNameB > displayNameA\n ? -1\n : 0;\n });\n\n return sortedBlocks;\n },\n getErrorBlockLabel(type: string): string {\n return getBlockLabel(type);\n },\n getUniqueBlockKey(blockId: number): string {\n const key = `block_${\n this.selectedChild !== undefined ? this.selectedChild : \"\"\n }${blockId}`;\n\n return key;\n },\n loadCalculation(): void {\n const { org, type, year, childOrganization, membershipType } =\n this.getQueryParameters();\n\n let openCalculation: Calculation = Object.freeze(this.openCalculation);\n\n const isCreatingNewCalculation =\n parseInt(org) === openCalculation?.nhoNumber &&\n type === openCalculation?.calculationType &&\n parseInt(membershipType) === openCalculation?.membershipType &&\n year.toString() === openCalculation?.year.toString();\n console.log(isCreatingNewCalculation);\n const calculation = isCreatingNewCalculation\n ? openCalculation\n : this.getCalculationFromQueryParams(\n parseInt(year),\n type,\n parseInt(org),\n membershipType\n );\n\n if (calculation == null) return;\n\n this.failedToFindCalculation = false;\n this.isLoading = false;\n\n this.year = calculation.year;\n this.associationName = calculation.associationName;\n this.membershipType = calculation.membershipType;\n this.nhoNumber = calculation.nhoNumber;\n this.organizationNumber = calculation.organizationNumber;\n this.customCalculationText = calculation.customCalculationText;\n this.childPriorityClass = calculation.childPriorityClass;\n this.calculationType = calculation.calculationType;\n this.blocks = calculation.blocks.map((block) => block);\n this.blocks.forEach((block, index) => {\n block.blockId = index;\n });\n this.isActive = calculation.isActive;\n this.childOrganizationCalculations =\n calculation.childOrganizationCalculations;\n\n if (childOrganization) {\n this.selectedChild = parseInt(childOrganization);\n this.onChildDropdownChange(this.selectedChild);\n } else {\n this.setOpenCalculation(calculation);\n }\n\n this.childFederations = getChildFederations(\n this.associations,\n this.nhoNumber\n );\n },\n toggleActive(): void {\n this.isActive = !this.isActive;\n },\n isValidQueryParameters(): boolean {\n const { org, type, year, membershipType } = this.$route.query;\n const isValid =\n org !== null &&\n typeof org === \"string\" &&\n type !== null &&\n typeof type === \"string\" &&\n year !== null &&\n typeof year === \"string\" &&\n membershipType !== null &&\n typeof membershipType === \"string\";\n return isValid;\n },\n getQueryParameters(): CalculationParams {\n const { org, type, year, childOrganization, membershipType } =\n this.$route.query;\n\n return {\n org: org !== null && typeof org === \"string\" ? org : \"\",\n type: type !== null && typeof type === \"string\" ? type : \"\",\n year: year !== null && typeof year === \"string\" ? year : \"\",\n membershipType:\n membershipType !== null && typeof membershipType === \"string\"\n ? membershipType\n : \"0\",\n childOrganization:\n childOrganization !== null && typeof childOrganization === \"string\"\n ? childOrganization\n : null,\n };\n },\n getInvalidQueryMessage(): string {\n const { org, type, year, membershipType } = this.$route.query;\n\n return `Finner ikke kalkulasjonen for\n\n Organisasjonsnummer = ${org}\n Kontingenttype = ${type}\n År = ${year}\n Medlemskapstype = ${membershipType}\n\n 1. Sjekk at urlen slutter på /calculation?org=ORGANISASJONSNUMMER&type=KONTINGENTTYPE&year=ÅR\n 2. Oppdater siden`;\n },\n getCalculationTypeLabel(): string {\n return this.calculationType.toLowerCase() === \"contingent\"\n ? \"Kontingent\"\n : \"Serviceavgift\";\n },\n getMembershipTypeLabel(): string {\n return this.membershipType === 0\n ? \"Ordinært Medlemskap\"\n : this.membershipType === 1\n ? \"Fagmedlemskap\"\n : \"Ekstraordinært Medlemskap\";\n },\n onChildDropdownChange(selectedChild: number | null) {\n selectedChild = selectedChild ?? 0;\n\n this.selectedChild = selectedChild;\n\n const { childOrganization } = this.getQueryParameters();\n if (childOrganization !== selectedChild.toString()) {\n let updatedQueryParams = {\n query: {\n ...this.$route.query,\n childOrganization: selectedChild.toString(),\n },\n } as any;\n\n if (selectedChild === 0)\n delete updatedQueryParams.query.childOrganization;\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n this.$router.replace(updatedQueryParams).catch(() => {});\n }\n\n const calculationToLoad = this.getCalculationToLoad();\n\n this.blocks = calculationToLoad.blocks.map((block) => block);\n this.isActive = calculationToLoad.isActive;\n this.organizationNumber = calculationToLoad.organizationNumber;\n this.customCalculationText = calculationToLoad.customCalculationText;\n this.childPriorityClass = calculationToLoad.childPriorityClass;\n this.membershipType = calculationToLoad.membershipType;\n\n const updatedOpenCalculation = {\n ...this.openCalculation,\n blocks: calculationToLoad.blocks,\n isActive: calculationToLoad.isActive,\n };\n this.setOpenCalculation(updatedOpenCalculation);\n },\n getCalculationToLoad(): Calculation {\n let calculation = null;\n\n if (this.childCalculationExists())\n calculation = this.getSelectedChildCalculation();\n else calculation = this.getMainCalculation();\n\n if (calculation == null) throw new Error(\"Calculation was null\");\n\n return calculation;\n },\n getCalculationFromQueryParams(\n year: number,\n type: string,\n organizationNumber: number,\n membershipType: string\n ): Calculation | undefined {\n const newCalculation = (this.calculations as Array)?.find(\n (calc) =>\n calc.nhoNumber === organizationNumber &&\n calc.calculationType === type &&\n calc.year === year &&\n calc.membershipType === parseInt(membershipType)\n );\n\n if (newCalculation === undefined) {\n this.failedToFindCalculation = true;\n }\n\n return newCalculation;\n },\n getMainCalculation(): Calculation | null {\n const calculation = (this.calculations as Array)?.find(\n (calc) =>\n calc.nhoNumber === this.nhoNumber &&\n calc.calculationType === this.calculationType &&\n calc.year === this.year &&\n calc.membershipType === this.membershipType\n );\n\n if (calculation === undefined) return null;\n\n return calculation;\n },\n getChildOrganizationName(): string {\n return this.getSelectedChildOrganization()?.name ?? \"\";\n },\n getSelectedChildOrganization(): Federation | undefined {\n const selectedChild =\n (this.associations as Array)?.find(\n (o) => o.nhoNumber == this.selectedChild\n ) || undefined;\n return selectedChild;\n },\n getSelectedChildCalculation(): Calculation | undefined {\n const selectedChild = this.childOrganizationCalculations.find(\n (o) => o.childNhoNumber == this.selectedChild\n );\n return selectedChild;\n },\n isChildSelected(): boolean {\n return this.getSelectedChildOrganization() !== undefined;\n },\n childCalculationExists(): boolean {\n return CalculationUtils.hasChildCalculation(\n this.childOrganizationCalculations,\n this.selectedChild\n );\n },\n getNextBlockIndex(): number {\n const indexes = this.blocks.map((block) => block.blockId);\n const maxIndex = indexes.length ? Math.max(...indexes) : 0;\n return maxIndex + 1;\n },\n addBlock(blockKey: string) {\n const newBlock = {\n type: blockKey,\n blockId: this.getNextBlockIndex(),\n isExpanded: true,\n } as CalculationBlock;\n this.blocks.push(newBlock);\n var calculation = this.getCurrentCalculationObject();\n this.setOpenCalculation(calculation);\n },\n setHighestIntervalValue(potentialValue: number) {\n if (potentialValue > this.highestIntervalValue) {\n this.highestIntervalValue = potentialValue;\n }\n },\n getBlockIndex(blockId: number) {\n var block = this.blocks.find((item) => item.blockId === blockId);\n if (block == undefined) {\n var err = `ERROR: Could not find block with id ${blockId}`;\n console.log(err);\n throw new TypeError(err);\n }\n\n return this.blocks.indexOf(block);\n },\n setBlockExpanded(blockId: number) {\n var index = this.getBlockIndex(blockId);\n\n var calculation = this.getCurrentCalculationObject();\n calculation.blocks[index].isExpanded = true;\n\n this.setOpenCalculation(calculation);\n },\n updateBlock(updatedBlock: CalculationBlock) {\n var index = this.getBlockIndex(updatedBlock.blockId);\n\n var calculation = this.getCurrentCalculationObject();\n calculation.blocks[index].data = updatedBlock;\n calculation.blocks[index].isExpanded = false;\n\n this.removeValidationErrorsForBlock(updatedBlock.blockId);\n\n this.setOpenCalculation(calculation);\n },\n removeBlock(block: CalculationBlock) {\n this.removeValidationErrorsForBlock(block.blockId);\n let index = this.blocks.indexOf(block);\n this.blocks.splice(index, 1);\n },\n removeValidationErrorsForBlock(blockId: number) {\n this.validationErrors = this.validationErrors.filter(\n (error) => error.blockId !== blockId\n );\n },\n getValidationErrorsForBlock(blockId: number) {\n return this.validationErrors.filter(\n (error) => error.blockId === blockId\n );\n },\n redirectToOtherContingentType(): void {\n const path = `calculation?org=${this.nhoNumber}&type=${\n this.calculationType === \"Contingent\" ? \"ServiceFee\" : \"Contingent\"\n }&year=${this.year}&childOrganization=${\n this.isChildSelected() && this.childCalculationExists()\n ? this.selectedChild\n : 0\n }`;\n this.$router\n .push({\n path,\n })\n .then(() => {\n this.$router.go(0);\n });\n },\n saveCalculation() {\n this.saving = true;\n\n let openCalculation = this.getCurrentCalculationObject();\n ApiClient.SaveCalculation(openCalculation)\n .then(() => {\n this.$toast.success(\"Beregning lagret!\");\n this.saving = false;\n this.validationErrors = [];\n\n if (!this.isChildSelected()) {\n var mainCalc = this.getMainCalculation();\n if (mainCalc) {\n mainCalc.isActive = openCalculation.isActive;\n mainCalc.blocks = openCalculation.blocks;\n }\n\n this.setOpenCalculation(openCalculation);\n return;\n }\n\n let mainCalculation = this.openCalculation as Calculation;\n let updatedChildCalcs: Calculation[] =\n mainCalculation.childOrganizationCalculations;\n\n const shouldUpdateExistingChildCalculation =\n this.childCalculationExists();\n\n if (shouldUpdateExistingChildCalculation) {\n updatedChildCalcs =\n mainCalculation.childOrganizationCalculations.map(\n (calculation: Calculation) => {\n if (calculation.childNhoNumber === this.selectedChild) {\n return openCalculation;\n }\n return calculation;\n }\n );\n } else {\n updatedChildCalcs = [\n ...mainCalculation.childOrganizationCalculations,\n openCalculation,\n ];\n }\n\n this.childOrganizationCalculations = updatedChildCalcs;\n mainCalculation.childOrganizationCalculations = updatedChildCalcs;\n mainCalculation.isActive = this.isActive;\n this.setOpenCalculation(mainCalculation);\n })\n .catch((error) => {\n this.saving = false;\n\n if (\n error.response?.status !== 400 ||\n !Array.isArray(error.response.data)\n ) {\n this.$toast.error(\"En feil oppsto under lagring!\");\n return;\n }\n\n this.validationErrors = error.response.data.map(\n (validationResult: ValidationResultBackend) => {\n var splittedResult = validationResult.errorMessage.split(\".\");\n return {\n blockId: parseInt(splittedResult[0]),\n errorType: splittedResult[1],\n message: splittedResult[2],\n };\n }\n );\n\n this.$toast.error(\n \"Lagring feilet. Oppdater ugyldige blokker og prøv igjen\"\n );\n\n const blocksToExpand = this.validationErrors.map((error) =>\n this.getBlockIndex(error.blockId)\n );\n\n blocksToExpand.forEach((blockId) => this.setBlockExpanded(blockId));\n });\n },\n getCurrentCalculationObject(): Calculation {\n return {\n nhoNumber: this.nhoNumber,\n organizationNumber: this.organizationNumber,\n customCalculationText: this.customCalculationText,\n childNhoNumber: this.selectedChild,\n childPriorityClass: this.childPriorityClass,\n associationName: this.associationName,\n year: this.year,\n blocks: this.blocks,\n calculationType: this.calculationType,\n isActive: this.isActive,\n childOrganizationCalculations: this.childOrganizationCalculations,\n membershipType: this.membershipType,\n };\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalculationView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalculationView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CalculationView.vue?vue&type=template&id=b7a38a8c&\"\nimport script from \"./CalculationView.vue?vue&type=script&lang=ts&\"\nexport * from \"./CalculationView.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CalculationView.vue?vue&type=style&index=0&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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\ninstallComponents(component, {VBtn,VDivider,VList,VListItem,VProgressCircular})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleAmount.vue?vue&type=style&index=0&id=1e5637a9&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegistrationDiscount.vue?vue&type=style&index=0&id=130e232a&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedAmount.vue?vue&type=style&index=0&id=0dd3ac18&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MinMax.vue?vue&type=style&index=0&id=593406fc&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PricePerUnitManYears.vue?vue&type=style&index=0&id=b0df4bde&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedInvoice.vue?vue&type=style&index=0&id=04f92bca&lang=scss&scoped=true&\""],"sourceRoot":""}