{"version":3,"sources":["webpack:///./src/modules/project/components/loads/models/ProjectOutputModel.ts","webpack:///./src/modules/project/Project.vue?fba2","webpack:///./src/modules/project/components/loads/models/ChargeState.ts","webpack:///./src/global/requesting/files.ts","webpack:///./src/modules/project/Project.vue","webpack:///./src/modules/project/components/loads/services/ChargeModelToChargeViewModelTransformer.ts","webpack:///./src/modules/project/components/loads/models/ChargeToSave.ts","webpack:///./src/modules/project/components/loads/services/ChargeSaveTransformer.ts","webpack:///./src/modules/project/Project.vue?b90b","webpack:///./src/modules/project/Project.vue?824d","webpack:///./src/modules/project/Project.vue?9b40","webpack:///./src/modules/project/components/loads/loadsInteractionsMixin.ts","webpack:///./src/modules/project/components/loads/models/calculationMotorResult.ts","webpack:///./src/modules/project/components/loads/models/calculationResultLoad.ts","webpack:///./src/modules/project/components/loads/models/calculationResult.ts","webpack:///./src/mixins/styleFieldsMixin.ts","webpack:///./src/global/enums/regionEnum.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/SelectedGeneratorRef.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/LoadPower.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/MaxVoltageDipLoad.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/StepCalculationResult.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/GeneratorSelection.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/ProjectCalculationResult.ts","webpack:///./src/modules/project/components/loads/models/selectGenset/ProjectSelectGensetResult.ts","webpack:///./src/global/enums/typeFieldEnum.ts","webpack:///./src/modules/homePage/model/ProjectModel.ts","webpack:///./src/modules/project/components/loads/models/chargeToCalculate.ts","webpack:///./src/modules/project/components/loads/services/ChargeCalculationTransformer.ts","webpack:///./src/modules/project/components/loads/models/ChargeCalculationURLModel.ts","webpack:///./src/modules/project/components/loads/services/ChargeCalculationURLTransformer.ts","webpack:///./src/modules/project/components/loads/loadsMixin.ts","webpack:///./src/modules/project/components/loads/models/chargePatronModel.ts"],"names":["ProjectOutputModel","Feedable","constructor","options","super","_defineProperty","moment","unix","this","createdDate","Environnement","PRODUCTION","Array","feed","ChargeState","Files","name","blob","url","window","URL","createObjectURL","Blob","link","document","createElement","href","download","click","remove","revokeObjectURL","render","_vm","_c","_self","_setupProxy","attrs","mini","staticClass","on","$event","backToHome","confirmSaveBeforeQuit","_v","_s","$translator","language","data","modules","project","projectMenu","back","_b","model","value","tabProject","callback","$$v","expression","projectTabStyle","_l","projectTabs","projectTab","directives","rawName","isTabDisabled","key","class","changeTab","_e","text1","icon","requestURL","requestAssistanceQuote","requestAssistance","requestQuote","commonTabStyle","nextIcon","prevIcon","ref","tabAdditionnal","makeGensetReport","makeToolReport","displayAllOptions","onlyReportFunction","mobileDevice","mountedToolbar","saveProject","makeReport","refresh","exportProject","style","styleSystemeOnglets","needRefreshDefaultSchemaLoads","updateStateRightBar","chargeViewModel","projectSelectGenset","isCalculationProjectLoading","recalculGenset","closeReport","changeAdditionnalTab","staticRenderFns","ChargeModelToChargeViewModelTransformer","manageCommon","viewModel","charge","id","manageChildren","loads","undefined","size","forEach","childLoadModel","vm","accept","children","push","visitGenerator","Error","visitLighting","ChargeLightingViewModel","visitBatteryCharger","ChargeBatteryChargerViewModel","visitOfficeEquipment","ChargeOfficeEquipementViewModel","visitMiscLinear","ChargeMiscLinearViewModel","visitNonMiscLinear","ChargeMiscNonLinearViewModel","visitUPS","ChargeUPSViewModel","visitMedicalEquipment","ChargeMedicalEquipementViewModel","visitWelder","ChargeWelderViewModel","visitMotor","ChargeMotorViewModel","manualRpf","runningPF","manualSpf","startingPF","manualEfficiency","efficiency","visitAirConditionner","ChargeAirConditionnerViewModel","visitFirePump","ChargeFirePumpViewModel","visitElevator","ChargeElevatorViewModel","visitATS","ChargeATSViewModel","visitTransformer","ChargeTransformerViewModel","visitCircuitBreaker","ChargeCircuitBreakerViewModel","ChargeToSave","ChargeLightingToSave","args","Harmonics","ChargeBatteryChargerToSave","ChargeOfficeEquipmentToSave","ChargeMiscLinearToSave","ChargeMiscNonLinearToSave","ChargeUPSToSave","ChargeMedicalEquipementToSave","ChargeWelderToSave","ChargeMotorToSave","MotorDesign","NEMA","ChargeAirConditionnerToSave","ChargeFirePumpToSave","ChargeElevatorToSave","ChargeATSToSave","ChargeTransformerToSave","ChargeCircuitBreakerToSave","ChargeSaveTransformer","handleCommon","chargeToSave","_chargeViewModel$mode","state","UPDATED","description","meta_Order","handleLoadWithHarmonics","_chargeViewModel$user","_chargeViewModel$harm","ithd","userIthd","harmonics","haveInputFilter","handleChildren","length","childChargeViewModel","childChargeToSave","idVoltage","idLoadConnection","qt","step","unit","powerAmpsValue","idLightingType","idBallast","loadFactor","runningKW","idBatteryType","idTypeRectifier","currentCharge","_charge$model$startin","_charge$model$running","numberOfComputer","numberOfPrinter","numberOfFax","numberOfCopiers","isOff","startingPower","idUpsType","outputRating","loadingPercentage","batteryChargerPercentage","maxVoltageDip","maxPeakKVA","pFAtMaxPeakKVA","continuousKVA","continuousPF","idWelderSpec","runningKVA","peakKVA","idMotorCodeLetter","idMotorStartingMethod","idMotorVFDType","idMotorSinglePhaseType","isLoaded","design","vFDSkVaLimit","vFDEfficiency","startingAmps","numberOfPhases","sCCL","tonHeating","sEER","numberOfCompressors","isVoltageDipLock","isNECRequirement","haveRegenerativeDrive","regenerativeDrivePercentage","amps","kVARating","idPrimaryVoltage","idSecondaryVoltage","percentageRating","TabProjet","mixins","projectMixin","styleFieldsMixin","referentielsMixin","mobileTypeMixin","loadsMixin","loadsInteractionsMixin","extend","components","Toolbar","ProjectSettings","ProjectShema","ProjectGenSet","ProjectTools","savingTimer","Schema","ProjectModel","ChargeGeneratorViewModel","modelToViewModelTransformer","projectSelectGensetResult","ProjectSelectGensetResult","viewModelToSaveTransformer","Settings","settings","title","component","loadProfile","Genset","selectGenSet","Tools","additionalTools","beforeMount","$database","userSettings","currentProject","parseInt","$route","params","save","loadProject","isMobileDevice","onbeforeunload","$router","currentRoute","ROUTE","PROJECT","documentElement","overflow","mounted","_this$$database$globa","_this$$database$globa2","defautltMinutes","globals","find","x","setInterval","addEventListener","$watch","$refs","projectSchemaTabItemContainer","windowGroup","transitionCount","val","$schema","application","goToPosition","scrollXPosition","scrollYPosition","beforeDestroy","clearInterval","destroyed","computed","_offsetHeight","_ref","_offsetHeight2","_ref2","f","getElementsByClassName","heightFooter","offsetHeight","tb","toolbar","$el","heightToolbar","schematopPanelOpenVisible","topPanelOpen","maxHeight","position","top","methods","idProject","$miniLoader","go","getProject","then","refreshLoads","generateNewChargeGenerator","sortLoads","verifyFlatCharges","finally","stop","saveAndRefresh","res","displaySuccessMessage","catch","err","displayServerError","editProject","prepareProjectToSave","displayConfirmQuit","ok","flatMapChargeViewModel","flatMap","makeProjectReport","sort","a","b","load","newLoad","ChargeModelHelper","getFromBack","_frequency$value","_voltage$name","nom","phase","quantity","frequency","referentiels","frequencies","idFrequency","voltage","voltages","v","flatCharges","filter","ChargeMotorGeneric","RunningKw","computeLoad","result","calculationResult","isTypeMotorAirFireElevator","CalculationMotorResult","CalculationResult","handlerCalculationReturned","error","console","projectTabKey","isFeatureAccessible","idCountry","calculateProject","resp","projectOutput","chargesToSave","childChargeVM","stateRightBar","_res$msg","$iD3iNotify","success","msg","global","notify","$iD3iAlert","openWarning","confirmQuitting","message","yes","no","_err$msg","serverError","watch","newOnglet","ancienOnglet","_scrollContainer$scro","_scrollContainer$scro2","scrollContainer","getElementById","scrollLeft","scrollTop","handlerLoadConnectionChanged","PowerFactorGeneric","isSinglePhase","motorSinglePhaseTypes","ChargeWelder","selectedLoadConnection","loadConnections","welderSpecs","isMonophase","handlerWelderSpecChanged","welderSpecSelected","welderSpec","rpf","spf","setHarmonics","handlerHaveInputFilterChnaged","ChargeUPS","ChargeMiscNonLinear","upsTypes","upsType","ChargeBatteryCharger","rectifierTypes","rectifierType","ChargeLighting","lightingTypeBallastDrivers","driver","lightingTypeId","motorVFDTypes","motorVFDModel","from","HarmonicsHelper","getFromICHD","ichd","Object","keys","_calculationResult$it","_calculationResult$it2","harmonicLoad","runningLoad","kw","replace","ithdValue","parseFloat","_calculationResult$ru","_calculationResult$st","isNaN","getFromArray","individualCurrentHarmonics","ChargeOfficeEquipement","pf","startingLoad","_calculationResult$mo","_calculationResult$mo2","_load$motoCode","_calculationResult$mo3","_calculationResult$mo4","_calculationResult$mo5","rectifiedPower","manualMotorCodeLetter","motorCode","letterId","motoCode","getRpf","getSpf","getEfficiency","powerFactormodel","handlerLightTypeChanged","selectedBallast","ballastDriverId","handlerLightBallastChanged","ballastDrivers","handlerPowerChanged","loadSp","setDefaultMotorChar","firstOrDefault","selectedVFDType","handleMotorVFDTypeSelection","motorVFDSelected","_motorVFDSelected$eff","motorSinglePhaseType","getStartingMethod","motorStartingMethods","_model$runningPF","retour","_this$getStartingMeth","_this$getStartingMeth2","_this$selectedVFDType","_this$selectedVFDType2","_model$motoCode$rpf","_model$motoCode","isVFD","_model$startingPF","_this$getStartingMeth3","_this$getStartingMeth4","_this$selectedVFDType3","_this$selectedVFDType4","_model$motoCode$spf","_model$motoCode2","_model$efficiency","_model$motoCode$effic","_model$motoCode3","handleSinglePhaseTypeChanged","_motorSinglePhaseType","_motorSinglePhaseType2","motorSinglePhaseTypeModel","setDefaultFromStartingMethod","handlerEfficiencyChanged","startingMethode","sm","isSSCL","setDefaultFromVFDType","CalculationResultLoad","validationMixin","FieldType","type","number","Number","min","harmonic","max","percent","appendIcon","text","Text","mail","Mail","pw","Password","commonStyle","dense","hideDetails","outlined","commonStyleNoHideMsg","clearable","clearIcon","switchComp","inset","color","fieldCol1","fieldCol2","fieldCol3","fieldCol4","fieldCol5","fieldCol6","fieldCol7","fieldCol8","fieldCol9","fieldCol10","fieldCol11","fieldCol12","loadFieldCol1","loadFieldCol2","loadFieldCol3","loadFieldCol4","loadFieldCol5","loadFieldCol6","loadFieldCol7","loadFieldCol8","loadFieldCol9","loadFieldCol10","loadFieldCol11","loadFieldCol12","iconAccount","prependInnerIcon","iconHomeO","iconMail","iconEmailO","iconTie","iconCity","iconEarth","iconPhone","iconLock","iconFile","iconFlag","iconFlagV","iconCalendar","iconComment","iconWrench","iconFactory","iconHospital","iconRuler","iconAltimeter","iconTemperature","sliderSize","sliderColor","grow","dark","backgroundColor","centerActive","showArrows","alignWithTitle","vertical","round","fractionDigits","multiplicateur","Math","pow","toFixedOrDefault","defaultValue","intWhenPossible","fractionDigit","toFixed","indexOf","zeros","repeat","toPointFiveOrDefault","toString","toMaxFixedOrDefault","maxFractionDigits","asNumber","format","dateUnix","formatToN2","formatToN0","formatToNumber","minValue","maxValue","formatFactorToPercentN2","formatPercentN2StringToFactor","formatFactorToPercentN0","formatPercentN0StringToFactor","getRatio","floatValue","roundedValue","RegionEnum","SelectedGeneratorRef","LoadPower","MaxVoltageDipLoad","StepCalculationResult","GeneratorSelection","ProjectCalculationResult","feedFromBack","idFuelType","engineFuelType","idEmissionRequirement","engineEmissionRequirement","loadMin","engineMinLoad","loadMax","engineMaxLoad","electricalVoltage","electricalPhase","pscC300","electricalFrequency","idTemperatureRise","electricalAltTempRaiseDuty","electricalQuantity","siteCountry","idIso8528","voltageDip","frequencyDip","requiredHarmonicDistortion","harmonicDistortion","seismic","ul2200","csa","ce","cm","eac","rohs","siteUnit","idApplication","siteUsage","altitude","siteAltitude","maxAmbientTemperature","siteMaxAmbientTemperature","targetEnvironment","ChargeToCalculate","ChargeLightingToCalculate","ChargeMiscLinearToCalculate","ChargeMiscNoLinearToCalculate","ChargeBatteryChargerToCalculate","ChargeOfficeEquipementToCalculate","ChargeUPSToCalculate","ChargeMedicalEquipementToCalculate","ChargeMotorToCalculate","ChargeAirConditionnerToCalculate","ChargeElevatorToCalculate","ChargeWelderToCalculate","ChargeCalculationTransformer","chargeToCalculate","power","runningPowerFactor","startingPowerFactor","currentHarmonics","prepareForCompute","_charge$model$current","idRectifierType","numberOfFaxes","numberOfComputers","numberOfPrinters","seer","heatingkwPerTon","nbCompressors","isRegenerativeDrive","regenerativeDriveKw","ChargeCalculationURLModel","ChargeCalculationURLTransformer","chargeCalculationTransformer","chargeCalculationURLTranformer","$http","request","post","authorize","call","hashLoad","JSON","stringify","PatronFormulaireModel","LightingPatron","BatteryChargerPatron","OfficeEquipementPatron","MiscLinearPatron","MiscNonLinearPatron","UPSPatron","MedicalEquipementPatron","WelderPatron","MotorPatron","AirConditionnerPatron","FirePumpPatron","ElevatorPatron","ATSPatron","TransformerPatron","CircuitBreakerPatron","ChargeViewModel","ChargeModel","visitor","copyType","getChildren","map","TypeCharge","Lighting","Vue","prototype","typeLighting","loadName","BatteryCharger","batteryCharger","OfficeEquipement","officeEquipement","LinearLoad","linearLoad","ChargeMiscLinear","NoLinearLoad","noLinearLoad","UPS","ups","MedicalEquipment","medicalEquipment","ChargeMedicalEquipement","Welder","welder","Motor","motor","ChargeMotor","AirConditioner","airConditioner","ChargeAirConditionner","FirePump","firePump","ChargeFirePump","Elevator","elevator","ChargeElevator","ATS","ats","ChargeATS","Transformer","transformer","ChargeTransformer","CircuitBreaker","circuitBreaker","ChargeCircuitBreaker","Generator","generator","ChargeGenerator"],"mappings":"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","file":"js/chunk-1e6dfece.7cc594a7.js","sourcesContent":["import Feedable from '@/global/dejaVue/feedable'\r\nimport Environnement from '@/modules/admin/enums/Environnement'\r\nimport moment from 'moment'\r\nimport { ChargeOutput } from './ChargeOutput'\r\n\r\nexport class ProjectOutputModel extends Feedable {\r\n // P1 //\r\n public id = 0\r\n public idUser = 0\r\n public idCountry: number | null = null\r\n public name = ''\r\n public customerName = ''\r\n public customerContact = ''\r\n public createdDate = moment().unix()\r\n public updateDate = this.createdDate // à la creation l'update = le create\r\n public comment = ''\r\n public targetEnvironment = Environnement.PRODUCTION\r\n\r\n // P2 //\r\n public idIso8528: number | null = null\r\n public frequencyDip = 0\r\n public voltageDip = 0\r\n public idApplication = 0 // usage\r\n public unit = 0\r\n public altitude = 0\r\n public requiredHarmonicDistortion = false\r\n public harmonicDistortion = 5\r\n public maxAmbientTemperature = 0\r\n // NA only\r\n public seismic = false\r\n public ul2200 = false\r\n public csa = false\r\n // EMEA Only\r\n public ce = false\r\n public cm = false\r\n public eac = false\r\n public rohs = false\r\n public pscC300 = false\r\n\r\n // P3 //\r\n public idFuelType = 0\r\n public idEmissionRequirement = 0\r\n public loadMin = 0\r\n public loadMax = 0\r\n public idVoltage = 0\r\n public phase = 0\r\n public idFrequency = 0\r\n public idTemperatureRise = 0\r\n public quantity = 0\r\n\r\n // Selection du Genset //\r\n public idGenset = 0\r\n public idAlternator = 0\r\n public idEngine = 0\r\n\r\n public loads = new Array()\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=style&index=0&id=2ce6f50e&prod&scoped=true&lang=css&\"","export enum ChargeState {\r\n ADDED,\r\n UPDATED\r\n}\r\n","export default class Files {\r\n public static download(name: string, ...blob: Array) {\r\n const url = window.URL.createObjectURL(new Blob(blob))\r\n const link = document.createElement('a')\r\n link.href = url\r\n link.download = name\r\n link.click()\r\n link.remove()\r\n window.URL.revokeObjectURL(url)\r\n }\r\n}\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',[_c('v-navigation-drawer',{attrs:{\"mini-variant\":_vm.mini,\"app\":\"\",\"dark\":\"\",\"permanent\":\"\",\"stateless\":true,\"color\":\"primary\",\"width\":\"180\"}},[_c('v-list-item',{staticClass:\"px-2\",on:{\"click\":function($event){return _vm.backToHome(_vm.confirmSaveBeforeQuit)}}},[_c('v-list-item-avatar',{attrs:{\"color\":\"primary\"}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":\"white\"}},[_vm._v(\"mdi-home\")])],1),_c('v-list-item-content',[_c('v-list-item-title',{staticClass:\"text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.project.projectMenu.back)+\" \")])],1)],1),_c('v-divider'),_c('v-tabs',_vm._b({attrs:{\"icons-and-text\":!_vm.mini},model:{value:(_vm.tabProject),callback:function ($$v) {_vm.tabProject=$$v},expression:\"tabProject\"}},'v-tabs',[_vm.projectTabStyle],false),_vm._l((_vm.projectTabs),function(projectTab){return _c('v-tab',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isTabDisabled(projectTab.key)),expression:\"!isTabDisabled(projectTab.key)\"}],key:projectTab.key,class:_vm.mini ? 'mobile--tab' : '',attrs:{\"disabled\":_vm.isTabDisabled(projectTab.key)},on:{\"click\":function($event){return _vm.changeTab(projectTab.key)}}},[(!_vm.mini)?_c('div',{staticClass:\"project--tab\"},[_c('div',[_vm._v(_vm._s(projectTab.text1))]),_c('br')]):_vm._e(),_c('v-icon',[_vm._v(\" \"+_vm._s(projectTab.icon)+\" \")])],1)}),1),_c('v-btn',{staticClass:\"text-center\",attrs:{\"block\":\"\",\"x-large\":\"\",\"text\":\"\",\"tag\":\"a\"},on:{\"click\":function($event){return _vm.requestURL(_vm.project)}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-assistant\")])],1),(!_vm.mini)?_c('h6',[_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.project.projectMenu .requestAssistanceQuote.requestAssistance)+\" \")]):_vm._e()],1)],1),_c('v-btn',{staticClass:\"text-center\",class:_vm.mini ? '' : ' py-5 my-5',attrs:{\"block\":\"\",\"x-large\":\"\",\"text\":\"\",\"tag\":\"a\"},on:{\"click\":function($event){return _vm.requestQuote(_vm.project)}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('v-icon',[_vm._v(\"mdi-help-network\")])],1),(!_vm.mini)?_c('h6',[_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.project.projectMenu .requestAssistanceQuote.requestQuote)+\" \")]):_vm._e()],1)],1),_c('v-list-item',{staticClass:\"drawer--btn\",attrs:{\"ripple\":false,\"icon\":\"\"},on:{\"click\":function($event){_vm.mini = !_vm.mini}}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.mini ? _vm.commonTabStyle.nextIcon : _vm.commonTabStyle.prevIcon)+\" \")])],1)],1),_c('Toolbar',{ref:\"toolbar\",attrs:{\"tabProject\":_vm.tabProject,\"tabAdditionnal\":_vm.tabAdditionnal,\"mini\":_vm.mini,\"isMakingReport\":_vm.makeGensetReport || _vm.makeToolReport,\"displayAllOptions\":_vm.displayAllOptions,\"onlyReportFunction\":_vm.onlyReportFunction,\"mobileDevice\":_vm.mobileDevice},on:{\"mounted\":function($event){_vm.mountedToolbar = true},\"saveProject\":function($event){return _vm.saveProject()},\"makeReport\":_vm.makeReport,\"refresh\":function($event){return _vm.refresh()},\"exportProjetc\":function($event){return _vm.exportProject(_vm.project)}},model:{value:(_vm.project),callback:function ($$v) {_vm.project=$$v},expression:\"project\"}}),_c('v-tabs-items',{style:(_vm.styleSystemeOnglets),attrs:{\"touchless\":\"\",\"id\":\"project-items-container\"},model:{value:(_vm.tabProject),callback:function ($$v) {_vm.tabProject=$$v},expression:\"tabProject\"}},[_c('v-tab-item',{key:\"0\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('ProjectSettings',{attrs:{\"value\":_vm.project}})],1)],1),_c('v-tab-item',{key:\"1\",ref:\"projectSchemaTabItemContainer\"},[_c('v-container',{staticClass:\"ma-0 pa-0 mr-15\",attrs:{\"fluid\":\"\"}},[_c('keep-alive',[_c('ProjectShema',{attrs:{\"project\":_vm.project,\"tabProject\":_vm.tabProject,\"needRefreshDefaultValues\":_vm.needRefreshDefaultSchemaLoads,\"stateLeftBar\":_vm.mini},on:{\"update:needRefreshDefaultValues\":function($event){_vm.needRefreshDefaultSchemaLoads=$event},\"update:need-refresh-default-values\":function($event){_vm.needRefreshDefaultSchemaLoads=$event},\"updateStateRightBar\":_vm.updateStateRightBar},model:{value:(_vm.chargeViewModel),callback:function ($$v) {_vm.chargeViewModel=$$v},expression:\"chargeViewModel\"}})],1)],1)],1),_c('v-tab-item',{key:\"2\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('ProjectGenSet',{attrs:{\"project\":_vm.project,\"makeGensetReport\":_vm.makeGensetReport,\"projectSelectGensetResult\":_vm.projectSelectGenset,\"isLoading\":_vm.isCalculationProjectLoading,\"recalculGenset\":_vm.recalculGenset},on:{\"closeGensetReport\":_vm.closeReport}})],1)],1),_c('v-tab-item',{key:\"3\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('ProjectTools',{attrs:{\"makeToolReport\":_vm.makeToolReport,\"onlyReportFunction\":_vm.onlyReportFunction,\"recalculGenset\":_vm.recalculGenset},on:{\"getAdditionnalTab\":_vm.changeAdditionnalTab,\"closeToolReport\":_vm.closeReport},model:{value:(_vm.project),callback:function ($$v) {_vm.project=$$v},expression:\"project\"}})],1)],1),_c('v-tab-item',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('ProjectInformations')],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\r\n ChargeGenerator,\r\n ChargeLighting,\r\n ChargeBatteryCharger,\r\n ChargeOfficeEquipement,\r\n ChargeMiscLinear,\r\n ChargeMiscNonLinear,\r\n ChargeUPS,\r\n ChargeMedicalEquipement,\r\n ChargeWelder,\r\n ChargeMotor,\r\n ChargeAirConditionner,\r\n ChargeFirePump,\r\n ChargeElevator,\r\n ChargeATS,\r\n ChargeTransformer,\r\n ChargeCircuitBreaker,\r\n VisitableChargeModel\r\n} from '../models/ChargeModel'\r\nimport { ChargeModelVisitorInterface } from '../models/ChargeModelVisitorInterface'\r\nimport {\r\n ChargeAirConditionnerViewModel,\r\n ChargeATSViewModel,\r\n ChargeBatteryChargerViewModel,\r\n ChargeCircuitBreakerViewModel,\r\n ChargeElevatorViewModel,\r\n ChargeFirePumpViewModel,\r\n ChargeLightingViewModel,\r\n ChargeMedicalEquipementViewModel,\r\n ChargeMiscLinearViewModel,\r\n ChargeMiscNonLinearViewModel,\r\n ChargeMotorViewModel,\r\n ChargeOfficeEquipementViewModel,\r\n ChargeTransformerViewModel,\r\n ChargeUPSViewModel,\r\n ChargeViewModel,\r\n ChargeWelderViewModel\r\n} from '../models/chargePatronModel'\r\nimport { ChargeModel } from '../models/chargeModel'\r\n\r\nexport class ChargeModelToChargeViewModelTransformer\r\n implements ChargeModelVisitorInterface {\r\n manageCommon(viewModel: ChargeViewModel, charge: ChargeModel) {\r\n viewModel.id = charge.id\r\n viewModel.model = charge\r\n }\r\n\r\n manageChildren(viewModel: ChargeViewModel, charge: ChargeModel) {\r\n if (\r\n charge.loads != null &&\r\n charge.loads != undefined &&\r\n charge.loads.size > 0\r\n ) {\r\n charge.loads.forEach((childLoadModel: ChargeModel) => {\r\n const vm = childLoadModel.accept(this)\r\n viewModel.children.push(vm)\r\n })\r\n }\r\n }\r\n\r\n visitGenerator(charge: ChargeGenerator): ChargeViewModel {\r\n throw new Error('Method not implemented.')\r\n }\r\n visitLighting(charge: ChargeLighting): ChargeViewModel {\r\n const vm = new ChargeLightingViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitBatteryCharger(charge: ChargeBatteryCharger): ChargeViewModel {\r\n const vm = new ChargeBatteryChargerViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitOfficeEquipment(charge: ChargeOfficeEquipement): ChargeViewModel {\r\n const vm = new ChargeOfficeEquipementViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitMiscLinear(charge: ChargeMiscLinear): ChargeViewModel {\r\n const vm = new ChargeMiscLinearViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitNonMiscLinear(charge: ChargeMiscNonLinear): ChargeViewModel {\r\n const vm = new ChargeMiscNonLinearViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitUPS(charge: ChargeUPS): ChargeViewModel {\r\n const vm = new ChargeUPSViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitMedicalEquipment(charge: ChargeMedicalEquipement): ChargeViewModel {\r\n const vm = new ChargeMedicalEquipementViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitWelder(charge: ChargeWelder): ChargeViewModel {\r\n const vm = new ChargeWelderViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitMotor(charge: ChargeMotor): ChargeViewModel {\r\n const vm = new ChargeMotorViewModel()\r\n charge.manualRpf = charge.runningPF != 0\r\n charge.manualSpf = charge.startingPF != 0\r\n charge.manualEfficiency = charge.efficiency != 0\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitAirConditionner(charge: ChargeAirConditionner): ChargeViewModel {\r\n const vm = new ChargeAirConditionnerViewModel()\r\n charge.manualRpf = charge.runningPF != 0\r\n charge.manualSpf = charge.startingPF != 0\r\n charge.manualEfficiency = charge.efficiency != 0\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitFirePump(charge: ChargeFirePump): ChargeViewModel {\r\n const vm = new ChargeFirePumpViewModel()\r\n charge.manualRpf = charge.runningPF != 0\r\n charge.manualSpf = charge.startingPF != 0\r\n charge.manualEfficiency = charge.efficiency != 0\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitElevator(charge: ChargeElevator): ChargeViewModel {\r\n const vm = new ChargeElevatorViewModel()\r\n charge.manualRpf = charge.runningPF != 0\r\n charge.manualSpf = charge.startingPF != 0\r\n charge.manualEfficiency = charge.efficiency != 0\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitATS(charge: ChargeATS): ChargeViewModel {\r\n const vm = new ChargeATSViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitTransformer(charge: ChargeTransformer): ChargeViewModel {\r\n const vm = new ChargeTransformerViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n visitCircuitBreaker(charge: ChargeCircuitBreaker): ChargeViewModel {\r\n const vm = new ChargeCircuitBreakerViewModel()\r\n this.manageCommon(vm, charge)\r\n this.manageChildren(vm, charge)\r\n return vm\r\n }\r\n}\r\n","import MotorDesign from '@/domain/enums/MotorDesign'\r\nimport { ChargeOutput } from '@/modules/project/components/loads/models/ChargeOutput'\r\nimport { Harmonics } from './chargeModel'\r\n\r\nexport class ChargeToSave implements ChargeOutput {\r\n public id = 0\r\n public description = ''\r\n public meta_Order = 0 // [VL] ??\r\n\r\n public type = ''\r\n\r\n public loads = new Array()\r\n\r\n // Load\r\n public idVoltage = 0\r\n public step = 0\r\n public qt = 0\r\n public idLoadConnection = 0\r\n}\r\n\r\nexport interface LoadWithHarmonicsToSave extends ChargeToSave {\r\n harmonics: Harmonics\r\n ithd?: number\r\n userIthd: boolean\r\n haveInputFilter: boolean\r\n}\r\n\r\nexport class ChargeLightingToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'Lighting'\r\n\r\n public isOff = false // [VL] A DELETE\r\n public idLightingType = 0\r\n public haveInputFilter = false\r\n public idBallast = 0\r\n public ithd?: number\r\n public userIthd = false\r\n public harmonics = new Harmonics()\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public loadFactor = 1\r\n}\r\n\r\nexport class ChargeBatteryChargerToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'BatteryCharger'\r\n\r\n public idBatteryType = 0 // application\r\n public idTypeRectifier = 0 // idBatteryType \"condition application\"\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public haveInputFilter = false\r\n public currentCharge = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public ithd?: number\r\n public userIthd = false\r\n public harmonics = new Harmonics()\r\n}\r\n\r\nexport class ChargeOfficeEquipmentToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'OfficeEquipment'\r\n\r\n public numberOfComputer = 0\r\n public numberOfPrinter = 0\r\n public numberOfFax = 0\r\n public numberOfCopiers = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public ithd?: number\r\n public userIthd = false\r\n public harmonics = new Harmonics()\r\n public haveInputFilter = false\r\n}\r\n\r\nexport class ChargeMiscLinearToSave extends ChargeToSave {\r\n type = 'LinearLoad'\r\n\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public isOff = false\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPower = 0\r\n public startingPF = 0\r\n public loadFactor = 1\r\n}\r\n\r\nexport class ChargeMiscNonLinearToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'NoLinearLoad'\r\n\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public isOff = false\r\n public haveInputFilter = false\r\n public idUpsType = 0 // [VL] Rectifier Type\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPower = 0\r\n public startingPF = 0\r\n public loadFactor = 1\r\n public ithd?: number\r\n public harmonics = new Harmonics()\r\n public userIthd = false\r\n}\r\n\r\nexport class ChargeUPSToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'UPS'\r\n\r\n public haveInputFilter = false\r\n public outputRating = 0\r\n public loadingPercentage = 0\r\n public batteryChargerPercentage = 0\r\n public idUpsType = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public efficiency = 0\r\n public ithd?: number\r\n public userIthd = false\r\n public harmonics = new Harmonics()\r\n}\r\n\r\nexport class ChargeMedicalEquipementToSave extends ChargeToSave {\r\n type = 'MedicalEquipment'\r\n\r\n public isOff = false\r\n public maxVoltageDip = 0\r\n public maxPeakKVA = 0\r\n public pFAtMaxPeakKVA = 0\r\n public runningKW = 0\r\n public continuousKVA = 0\r\n public continuousPF = 0\r\n}\r\n\r\nexport class ChargeWelderToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'Welder'\r\n\r\n public isOff = false\r\n public haveInputFilter = false\r\n public idWelderSpec = 0 // Referentiel en fonction de la phase\r\n public runningKVA = 0\r\n public peakKVA = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public loadFactor = 1\r\n public ithd?: number\r\n public userIthd = false\r\n public harmonics = new Harmonics()\r\n}\r\n\r\nexport class ChargeMotorToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'Motor'\r\n\r\n public haveInputFilter = false\r\n public idMotorCodeLetter = 0\r\n public idMotorStartingMethod = 0\r\n public idMotorVFDType? = 0\r\n public idMotorSinglePhaseType? = 0\r\n public isLoaded = true\r\n public design = MotorDesign.NEMA\r\n public isOff = false\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public efficiency = 0\r\n public ithd?: number\r\n public userIthd = false\r\n public loadFactor = 1\r\n public vFDSkVaLimit? = 100\r\n public vFDEfficiency? = 0.9\r\n public startingAmps = 0\r\n public numberOfPhases = 0\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public harmonics = new Harmonics()\r\n public sCCL = 300\r\n}\r\n\r\nexport class ChargeAirConditionnerToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'AirConditioner'\r\n\r\n public haveInputFilter = false\r\n public idMotorCodeLetter = 0\r\n public idMotorStartingMethod = 0\r\n public idMotorVFDType? = 0\r\n public idMotorSinglePhaseType? = 0\r\n public design = MotorDesign.NEMA\r\n public isLoaded = true\r\n public isOff = false\r\n public efficiency = 0\r\n public vFDSkVaLimit? = 100\r\n public vFDEfficiency? = 0.9\r\n public ithd?: number\r\n public userIthd = false\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public startingAmps = 0\r\n public numberOfPhases = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public numberOfCompressors = 0\r\n public tonHeating = 0\r\n public sEER = 0\r\n public harmonics = new Harmonics()\r\n public sCCL = 300\r\n}\r\n\r\nexport class ChargeFirePumpToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'FirePump'\r\n\r\n public haveInputFilter = false\r\n public idMotorCodeLetter = 0\r\n public idMotorStartingMethod = 0\r\n public idMotorVFDType? = 0\r\n public idMotorSinglePhaseType? = 0\r\n public isLoaded = true\r\n public design = MotorDesign.NEMA\r\n public isOff = false\r\n public isNECRequirement = false\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public efficiency = 0\r\n public vFDSkVaLimit? = 100\r\n public vFDEfficiency? = 0.9\r\n public ithd?: number\r\n public userIthd = false\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public startingAmps = 0\r\n public numberOfPhases = 0\r\n public loadFactor = 1\r\n public harmonics = new Harmonics()\r\n public isVoltageDipLock = true // [VL] A voir Alex\r\n public sCCL = 300\r\n}\r\n\r\nexport class ChargeElevatorToSave extends ChargeToSave\r\n implements LoadWithHarmonicsToSave {\r\n type = 'Elevator'\r\n\r\n public haveInputFilter = false\r\n public idMotorCodeLetter = 0\r\n public idMotorStartingMethod = 0\r\n public idMotorVFDType? = 0\r\n public idMotorSinglePhaseType? = 0\r\n public isLoaded = true\r\n public design = MotorDesign.NEMA\r\n public isOff = false\r\n public efficiency = 0\r\n public vFDSkVaLimit? = 100\r\n public vFDEfficiency? = 0.9\r\n public haveRegenerativeDrive = false\r\n public regenerativeDrivePercentage = 0\r\n public unit = ''\r\n public powerAmpsValue = 0\r\n public ithd?: number\r\n public userIthd = false\r\n public startingAmps = 0\r\n public numberOfPhases = 0\r\n public runningPF = 0\r\n public runningKW = 0\r\n public startingPF = 0\r\n public loadFactor = 1\r\n public harmonics = new Harmonics()\r\n public sCCL = 300\r\n}\r\n\r\nexport class ChargeATSToSave extends ChargeToSave {\r\n type = 'ATS'\r\n public amps = 0\r\n}\r\n\r\nexport class ChargeTransformerToSave extends ChargeToSave {\r\n type = 'Transformer'\r\n\r\n public kVARating = 0\r\n public idPrimaryVoltage = 0\r\n public idSecondaryVoltage = 0\r\n}\r\n\r\nexport class ChargeCircuitBreakerToSave extends ChargeToSave {\r\n type = 'CircuitBreaker'\r\n\r\n public amps = 0\r\n public percentageRating = 0\r\n}\r\n","import { ChargeViewModelVisitorInterface } from './ChargeViewModelVisitorinterface'\r\nimport { ChargeOutput } from '../models/ChargeOutput'\r\nimport {\r\n ChargeGeneratorViewModel,\r\n ChargeLightingViewModel,\r\n ChargeBatteryChargerViewModel,\r\n ChargeOfficeEquipementViewModel,\r\n ChargeMiscLinearViewModel,\r\n ChargeMiscNonLinearViewModel,\r\n ChargeUPSViewModel,\r\n ChargeMedicalEquipementViewModel,\r\n ChargeWelderViewModel,\r\n ChargeMotorViewModel,\r\n ChargeAirConditionnerViewModel,\r\n ChargeFirePumpViewModel,\r\n ChargeElevatorViewModel,\r\n ChargeATSViewModel,\r\n ChargeTransformerViewModel,\r\n ChargeCircuitBreakerViewModel,\r\n ChargeViewModel\r\n} from '../models/chargePatronModel'\r\nimport {\r\n ChargeAirConditionnerToSave,\r\n ChargeATSToSave,\r\n ChargeBatteryChargerToSave,\r\n ChargeCircuitBreakerToSave,\r\n ChargeElevatorToSave,\r\n ChargeFirePumpToSave,\r\n ChargeLightingToSave,\r\n ChargeMedicalEquipementToSave,\r\n ChargeMiscLinearToSave,\r\n ChargeMiscNonLinearToSave,\r\n ChargeMotorToSave,\r\n ChargeOfficeEquipmentToSave,\r\n ChargeToSave,\r\n ChargeTransformerToSave,\r\n ChargeUPSToSave,\r\n ChargeWelderToSave,\r\n LoadWithHarmonicsToSave\r\n} from '../models/ChargeToSave'\r\nimport { ChargeState } from '../models/ChargeState'\r\nimport { Harmonics, LoadWithHarmonics } from '../models/chargeModel'\r\n\r\nexport class ChargeSaveTransformer implements ChargeViewModelVisitorInterface {\r\n handleCommon(chargeToSave: ChargeToSave, chargeViewModel: ChargeViewModel) {\r\n // on ne rajoute l'id ssi la charge est updatée, sinon on laisse le back gérer l'id\r\n if (chargeViewModel.state == ChargeState.UPDATED) {\r\n chargeToSave.id = chargeViewModel.model.id\r\n }\r\n chargeToSave.description = chargeViewModel.model.description\r\n // eslint-disable-next-line @typescript-eslint/camelcase\r\n chargeToSave.meta_Order = chargeViewModel.model.meta_Order ?? 0\r\n\r\n return chargeToSave\r\n }\r\n\r\n handleLoadWithHarmonics(\r\n chargeToSave: LoadWithHarmonicsToSave,\r\n chargeViewModel: LoadWithHarmonics\r\n ) {\r\n chargeToSave.ithd = chargeViewModel.ithd\r\n chargeToSave.userIthd = chargeViewModel.userIthd ?? false\r\n chargeToSave.harmonics = chargeViewModel.harmonics ?? new Harmonics()\r\n chargeToSave.haveInputFilter = chargeViewModel.haveInputFilter\r\n return chargeToSave\r\n }\r\n\r\n handleChildren(chargeViewModel: ChargeViewModel, chargeToSave: ChargeToSave) {\r\n if (chargeViewModel.children.length > 0) {\r\n chargeViewModel.children.forEach(\r\n (childChargeViewModel: ChargeViewModel) => {\r\n const childChargeToSave = childChargeViewModel.accept(\r\n this\r\n ) as ChargeToSave\r\n chargeToSave.loads.push(childChargeToSave)\r\n }\r\n )\r\n }\r\n }\r\n\r\n visitGenerator(charge: ChargeGeneratorViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitLighting(charge: ChargeLightingViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeLightingToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleLoadWithHarmonics(chargeToSave, charge.model)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.idLightingType = charge.model.idLightingType\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idBallast = charge.model.idBallast\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitBatteryCharger(charge: ChargeBatteryChargerViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeBatteryChargerToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleLoadWithHarmonics(chargeToSave, charge.model)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.idBatteryType = charge.model.idBatteryType\r\n chargeToSave.idTypeRectifier = charge.model.idTypeRectifier\r\n chargeToSave.currentCharge = charge.model.currentCharge\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitOfficeEquipment(charge: ChargeOfficeEquipementViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeOfficeEquipmentToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleLoadWithHarmonics(chargeToSave, charge.model)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n chargeToSave.numberOfComputer = charge.model.numberOfComputer\r\n chargeToSave.numberOfPrinter = charge.model.numberOfPrinter\r\n chargeToSave.numberOfFax = charge.model.numberOfFax\r\n chargeToSave.numberOfCopiers = charge.model.numberOfCopiers\r\n chargeToSave.startingPF = charge.model.startingPF ?? 0.1\r\n chargeToSave.runningPF = charge.model.runningPF ?? 0.1\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitMiscLinear(charge: ChargeMiscLinearViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeMiscLinearToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.startingPower = charge.model.startingPower\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitNonMiscLinear(charge: ChargeMiscNonLinearViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeMiscNonLinearToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleLoadWithHarmonics(chargeToSave, charge.model)\r\n\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idUpsType = charge.model.idUpsType\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.startingPower = charge.model.startingPower\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n chargeToSave.ithd = charge.model.ithd\r\n\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitUPS(charge: ChargeUPSViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeUPSToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleLoadWithHarmonics(chargeToSave, charge.model)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.outputRating = charge.model.outputRating\r\n chargeToSave.loadingPercentage = charge.model.loadingPercentage\r\n chargeToSave.batteryChargerPercentage =\r\n charge.model.batteryChargerPercentage\r\n chargeToSave.idUpsType = charge.model.idUpsType\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.efficiency = charge.model.efficiency\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitMedicalEquipment(\r\n charge: ChargeMedicalEquipementViewModel\r\n ): ChargeOutput {\r\n const chargeToSave = new ChargeMedicalEquipementToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.maxVoltageDip = charge.model.maxVoltageDip\r\n chargeToSave.maxPeakKVA = charge.model.maxPeakKVA\r\n chargeToSave.pFAtMaxPeakKVA = charge.model.pFAtMaxPeakKVA\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.continuousKVA = charge.model.continuousKVA\r\n chargeToSave.continuousPF = charge.model.continuousPF\r\n\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitWelder(charge: ChargeWelderViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeWelderToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n this.handleLoadWithHarmonics(chargeToSave, charge.model)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idWelderSpec = charge.model.idWelderSpec\r\n chargeToSave.runningKVA = charge.model.runningKVA\r\n chargeToSave.peakKVA = charge.model.peakKVA\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitMotor(charge: ChargeMotorViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeMotorToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idMotorCodeLetter = charge.model.idMotorCodeLetter\r\n chargeToSave.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToSave.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToSave.idMotorSinglePhaseType = charge.model.idMotorSinglePhaseType\r\n chargeToSave.isLoaded = charge.model.isLoaded\r\n chargeToSave.design = charge.model.design\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.efficiency = charge.model.efficiency\r\n chargeToSave.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToSave.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToSave.startingAmps = charge.model.startingAmps\r\n chargeToSave.numberOfPhases = charge.model.numberOfPhases\r\n chargeToSave.startingPF =\r\n /*charge.model.manualSpf?*/ charge.model.startingPF //:0\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n chargeToSave.runningPF = /*charge.model.manualRpf?*/ charge.model.runningPF //:0\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.sCCL = charge.model.sCCL\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitAirConditionner(charge: ChargeAirConditionnerViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeAirConditionnerToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idMotorCodeLetter = charge.model.idMotorCodeLetter\r\n chargeToSave.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToSave.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToSave.idMotorSinglePhaseType = charge.model.idMotorSinglePhaseType\r\n chargeToSave.isLoaded = charge.model.isLoaded\r\n chargeToSave.design = charge.model.design\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.efficiency = charge.model.manualEfficiency ? charge.model.efficiency : 0\r\n chargeToSave.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToSave.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToSave.startingAmps = charge.model.startingAmps\r\n chargeToSave.numberOfPhases = charge.model.numberOfPhases\r\n chargeToSave.startingPF = charge.model.manualSpf ? charge.model.startingPF : 0\r\n chargeToSave.runningPF = charge.model.manualRpf ? charge.model.runningPF : 0\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.sCCL = charge.model.sCCL\r\n\r\n chargeToSave.tonHeating = charge.model.tonHeating\r\n chargeToSave.sEER = charge.model.sEER\r\n chargeToSave.numberOfCompressors = charge.model.numberOfCompressors\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitFirePump(charge: ChargeFirePumpViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeFirePumpToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idMotorCodeLetter = charge.model.idMotorCodeLetter\r\n chargeToSave.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToSave.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToSave.idMotorSinglePhaseType = charge.model.idMotorSinglePhaseType\r\n chargeToSave.isLoaded = charge.model.isLoaded\r\n chargeToSave.design = charge.model.design\r\n chargeToSave.isVoltageDipLock = charge.model.isVoltageDipLock\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.efficiency = charge.model.efficiency\r\n chargeToSave.isNECRequirement = charge.model.isNECRequirement\r\n chargeToSave.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToSave.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToSave.startingAmps = charge.model.startingAmps\r\n chargeToSave.numberOfPhases = charge.model.numberOfPhases\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n chargeToSave.sCCL = charge.model.sCCL\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitElevator(charge: ChargeElevatorViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeElevatorToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.idVoltage = charge.model.idVoltage\r\n chargeToSave.idLoadConnection = charge.model.idLoadConnection\r\n chargeToSave.qt = charge.model.qt\r\n chargeToSave.step = charge.model.step\r\n\r\n chargeToSave.haveInputFilter = charge.model.haveInputFilter\r\n chargeToSave.idMotorCodeLetter = charge.model.idMotorCodeLetter\r\n chargeToSave.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToSave.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToSave.idMotorSinglePhaseType = charge.model.idMotorSinglePhaseType\r\n chargeToSave.isLoaded = charge.model.isLoaded\r\n chargeToSave.design = charge.model.design\r\n chargeToSave.isOff = charge.model.isOff\r\n chargeToSave.efficiency = charge.model.efficiency\r\n chargeToSave.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToSave.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToSave.startingAmps = charge.model.startingAmps\r\n chargeToSave.numberOfPhases = charge.model.numberOfPhases\r\n chargeToSave.startingPF = charge.model.startingPF\r\n chargeToSave.runningPF = charge.model.runningPF\r\n chargeToSave.runningKW = charge.model.runningKW\r\n chargeToSave.ithd = charge.model.ithd\r\n chargeToSave.userIthd = charge.model.userIthd\r\n chargeToSave.harmonics = charge.model.harmonics\r\n chargeToSave.unit = charge.model.unit\r\n chargeToSave.powerAmpsValue = charge.model.powerAmpsValue\r\n chargeToSave.loadFactor = charge.model.loadFactor\r\n chargeToSave.sCCL = charge.model.sCCL\r\n\r\n chargeToSave.haveRegenerativeDrive = charge.model.haveRegenerativeDrive\r\n chargeToSave.regenerativeDrivePercentage =\r\n charge.model.regenerativeDrivePercentage\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitATS(charge: ChargeATSViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeATSToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.amps = charge.model.amps\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitTransformer(charge: ChargeTransformerViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeTransformerToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.kVARating = charge.model.kVARating\r\n chargeToSave.idPrimaryVoltage = charge.model.idPrimaryVoltage\r\n chargeToSave.idSecondaryVoltage = charge.model.idSecondaryVoltage\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n visitCircuitBreaker(charge: ChargeCircuitBreakerViewModel): ChargeOutput {\r\n const chargeToSave = new ChargeCircuitBreakerToSave()\r\n this.handleCommon(chargeToSave, charge)\r\n\r\n chargeToSave.amps = charge.model.amps\r\n chargeToSave.percentageRating = charge.model.percentageRating\r\n\r\n this.handleChildren(charge, chargeToSave)\r\n return chargeToSave\r\n }\r\n}\r\n","\r\nimport mixins from 'vue-typed-mixins'\r\nimport projectMixin from './projectMixin'\r\nimport ProjectModel from '../homePage/model/ProjectModel'\r\nimport {\r\n ChargeModel,\r\n ChargeModelHelper,\r\n ChargeMotorGeneric\r\n} from './components/loads/models/chargeModel'\r\nimport {\r\n ChargeGeneratorViewModel,\r\n ChargeViewModel\r\n} from './components/loads/models/chargePatronModel'\r\nimport { ChargeModelToChargeViewModelTransformer } from './components/loads/services/ChargeModelToChargeViewModelTransformer'\r\nimport { ChargeSaveTransformer } from './components/loads/services/ChargeSaveTransformer'\r\nimport { ChargeOutput } from './components/loads/models/ChargeOutput'\r\nimport { ProjectOutputModel } from '@/modules/project/components/loads/models/ProjectOutputModel'\r\nimport ProjectSelectGensetResult from './components/loads/models/selectGenset/ProjectSelectGensetResult'\r\nimport styleFieldsMixin from '@/mixins/styleFieldsMixin'\r\nimport referentielsMixin from '@/mixins/referentielsMixin'\r\nimport Frequency from '@/domain/globals/referentiels/frequency'\r\nimport Voltage from '@/domain/globals/referentiels/voltage'\r\nimport mobileTypeMixin from '@/plugins/mixins/mobileTypeMixin'\r\nimport loadsMixin from './components/loads/loadsMixin'\r\nimport loadsInteractionsMixin from './components/loads/loadsInteractionsMixin'\r\nimport { CalculationResult } from '@/modules/project/components/loads/models/calculationResult'\r\nimport { CalculationMotorResult } from '@/modules/project/components/loads/models/calculationMotorResult'\r\nimport ROUTE from '@/router/routeEnum'\r\n\r\nenum TabProjet {\r\n Settings = 0,\r\n Schema = 1,\r\n Genset = 2,\r\n Tools = 3\r\n}\r\n\r\nexport default mixins(\r\n projectMixin,\r\n styleFieldsMixin,\r\n referentielsMixin,\r\n mobileTypeMixin,\r\n loadsMixin,\r\n loadsInteractionsMixin\r\n).extend({\r\n components: {\r\n Toolbar: () => import('./components/Toolbar.vue'),\r\n ProjectSettings: () => import('./components/ProjectSettings.vue'),\r\n ProjectShema: () => import('./components/ProjectShema.vue'),\r\n ProjectGenSet: () => import('./components/ProjectGenSet.vue'),\r\n ProjectTools: () => import('./components/ProjectTools.vue')\r\n },\r\n\r\n data() {\r\n return {\r\n savingTimer: undefined as undefined | ReturnType,\r\n recalculGenset: false,\r\n tabProject: TabProjet.Schema,\r\n tabAdditionnal: 0,\r\n makeGensetReport: false,\r\n makeToolReport: false,\r\n mini: false,\r\n project: new ProjectModel(),\r\n chargeViewModel: new ChargeGeneratorViewModel(),\r\n modelToViewModelTransformer: new ChargeModelToChargeViewModelTransformer(),\r\n projectSelectGensetResult: new ProjectSelectGensetResult(),\r\n viewModelToSaveTransformer: new ChargeSaveTransformer(),\r\n isCalculationProjectLoading: true,\r\n needRefreshDefaultSchemaLoads: false,\r\n displayAllOptions: true,\r\n onlyReportFunction: false,\r\n projectTabs: [\r\n {\r\n key: TabProjet.Settings,\r\n icon: 'mdi-cog',\r\n text1: this.$translator.language.data.modules.project.projectMenu\r\n .settings.title,\r\n component: 'ProjectSettings'\r\n },\r\n {\r\n key: TabProjet.Schema,\r\n icon: 'mdi-server-network',\r\n text1: this.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.title,\r\n component: 'ProjectShema'\r\n },\r\n {\r\n key: TabProjet.Genset,\r\n icon: 'mdi-factory',\r\n text1: this.$translator.language.data.modules.project.projectMenu\r\n .selectGenSet.title,\r\n component: 'ProjectGenSet'\r\n },\r\n {\r\n key: TabProjet.Tools,\r\n icon: 'mdi-wrench',\r\n text1: this.$translator.language.data.modules.project.projectMenu\r\n .additionalTools.title,\r\n component: 'ProjectTools'\r\n }\r\n ],\r\n mountedToolbar: false,\r\n mobileDevice: false\r\n }\r\n },\r\n beforeMount() {\r\n this.$database.userSettings.currentProject.id = parseInt(\r\n this.$route.params.id\r\n )\r\n this.$database.save()\r\n this.loadProject(this.$database.userSettings.currentProject.id)\r\n\r\n /** Défini le visuel du sidepanel de gauche en fonction du device par défault\r\n * Si mobile : mini = true\r\n */\r\n this.isMobileDevice() ? (this.mini = true) : (this.mini = false)\r\n\r\n // on ajoute l'événement lors de la fermeture de la fenetre\r\n window.onbeforeunload = () => {\r\n if (this.$router.currentRoute.name === ROUTE.PROJECT)\r\n this.confirmSaveBeforeQuit()\r\n }\r\n\r\n //autre chose : on désactive le scroll window lorsque l'on est sur projet\r\n document.documentElement.style.overflow = 'hidden'\r\n },\r\n mounted() {\r\n //Fonctionnalite demande pour sauvegarder toutes les x minutes\r\n const defautltMinutes = parseInt(this.$database.globals.settings.find(x => x.key == \"DefaultUserSetting_SavingProjectEachXMinutes\")?.value ?? \"10\")\r\n this.savingTimer = setInterval(() => {\r\n this.saveProject()\r\n }, 1000 * 60 * defautltMinutes)\r\n\r\n\r\n this.mobileDevice = this.isMobileDevice()\r\n addEventListener('resize', () => {\r\n this.mobileDevice = this.isMobileDevice()\r\n })\r\n\r\n //Ici, on ajoute un watcher sur le composant vuetify pour savoir quand les transitions CSS sont finies sur les onglets (settings, schema, select genset etc)\r\n this.$watch(\r\n () => {\r\n return (this.$refs.projectSchemaTabItemContainer as any).windowGroup\r\n .transitionCount\r\n },\r\n (val: number) => {\r\n //0 égale plus de transitions en cours\r\n if (val === 0) {\r\n //On restaure l'état du scroll du schéma\r\n this.$schema.application.goToPosition(\r\n this.$schema.application.scrollXPosition,\r\n this.$schema.application.scrollYPosition\r\n )\r\n }\r\n }\r\n )\r\n },\r\n beforeDestroy() {\r\n clearInterval(this.savingTimer)\r\n },\r\n destroyed() {\r\n //on remet le scroll\r\n document.documentElement.style.overflow = 'unset'\r\n },\r\n computed: {\r\n projectSelectGenset(): ProjectSelectGensetResult {\r\n return this.projectSelectGensetResult\r\n },\r\n styleSystemeOnglets(): any {\r\n const f = document.getElementsByClassName('v-footer')\r\n const heightFooter =\r\n (f.length > 0 ? (f[0] as HTMLElement) : undefined)?.offsetHeight ?? 0\r\n const tb = this.mountedToolbar\r\n ? [(this.$refs.toolbar as Vue).$el]\r\n : document.getElementsByClassName('toolbar--projet')\r\n const heightToolbar =\r\n (tb.length > 0 ? (tb[0] as HTMLElement) : undefined)?.offsetHeight ?? 0\r\n const schematopPanelOpenVisible =\r\n this.tabProject == 1 && this.$schema.application.topPanelOpen\r\n return {\r\n overflow: 'auto',\r\n maxHeight: `calc(100vh - ${heightToolbar +\r\n heightFooter +\r\n (schematopPanelOpenVisible ? 78 : 0)}px)`,\r\n position: 'relative',\r\n top: schematopPanelOpenVisible ? '78px' : 0\r\n }\r\n }\r\n },\r\n methods: {\r\n async loadProject(idProject: number): Promise {\r\n this.$miniLoader.go()\r\n return await this.getProject(idProject)\r\n .then((x: ProjectModel) => {\r\n this.project = new ProjectModel(x)\r\n this.refreshLoads(x)\r\n this.generateNewChargeGenerator()\r\n this.sortLoads()\r\n this.verifyFlatCharges()\r\n return x\r\n })\r\n .finally(() => this.$miniLoader.stop())\r\n },\r\n saveProject() {\r\n this.saveAndRefresh()\r\n .then((res: any) => {\r\n this.displaySuccessMessage(res)\r\n this.recalculGenset = !this.recalculGenset\r\n })\r\n .catch(err => this.displayServerError(err))\r\n },\r\n async saveAndRefresh(): Promise {\r\n this.$miniLoader.go()\r\n return await this.editProject(this.prepareProjectToSave())\r\n .then(() => this.loadProject(this.project.id))\r\n .catch(err => this.displayServerError(err))\r\n .finally(() => this.$miniLoader.stop())\r\n },\r\n async confirmSaveBeforeQuit() {\r\n return this.displayConfirmQuit().then(ok => {\r\n if (ok) this.saveProject()\r\n })\r\n },\r\n\r\n // Flatmap les ChargeViewModels dans l'arborescence du ChargeViewModel principal\r\n flatMapChargeViewModel(vm: ChargeViewModel): Array {\r\n if (vm.children.length == 0) return [vm]\r\n else {\r\n const children = vm.children.flatMap((x: any) => x.children)\r\n return [\r\n vm,\r\n ...vm.children,\r\n ...children.flatMap(x => this.flatMapChargeViewModel(x))\r\n ]\r\n }\r\n },\r\n makeReport() {\r\n switch (this.tabProject) {\r\n case TabProjet.Schema:\r\n this.makeProjectReport(this.project.id, this.project.name)\r\n break\r\n case TabProjet.Genset:\r\n this.makeGensetReport = true\r\n break\r\n case TabProjet.Tools:\r\n this.makeToolReport = true\r\n break\r\n default:\r\n this.makeProjectReport(this.project.id, this.project.name)\r\n break\r\n }\r\n },\r\n refreshLoads(project: ProjectModel) {\r\n this.needRefreshDefaultSchemaLoads = true\r\n this.project.loads = new Array()\r\n project['loads']\r\n .sort((a: any, b: any) => {\r\n return a?.meta_Order >= b?.meta_Order ? 1 : -1\r\n })\r\n .forEach((load: ChargeModel) => {\r\n const newLoad = ChargeModelHelper.getFromBack(load)\r\n this.project.loads.push(newLoad)\r\n })\r\n },\r\n generateNewChargeGenerator() {\r\n this.chargeViewModel = new ChargeGeneratorViewModel()\r\n this.chargeViewModel.id = 0\r\n this.chargeViewModel.nom = 'Generator'\r\n this.chargeViewModel.model.phase = this.project.phase\r\n this.chargeViewModel.model.qt = this.project.quantity\r\n\r\n const frequency = this.$database.globals.referentiels.frequencies.find(\r\n (f: Frequency) => f.id == this.project.idFrequency\r\n )\r\n this.chargeViewModel.model.frequency = frequency?.value ?? ''\r\n\r\n const voltage = this.$database.globals.referentiels.voltages.find(\r\n (v: Voltage) => v.id == this.project.idVoltage\r\n )\r\n this.chargeViewModel.model.voltage = voltage?.name ?? ''\r\n },\r\n sortLoads() {\r\n this.project.loads\r\n .sort((a, b) => {\r\n return a?.meta_Order >= b?.meta_Order ? 1 : -1\r\n })\r\n .forEach((load: ChargeModel) => {\r\n const viewModel = load.accept(this.modelToViewModelTransformer)\r\n this.chargeViewModel.children.push(viewModel)\r\n })\r\n },\r\n verifyFlatCharges() {\r\n const flatCharges = this.flatMapChargeViewModel(this.chargeViewModel)\r\n flatCharges\r\n .filter((x: ChargeViewModel) => x.model instanceof ChargeMotorGeneric)\r\n .forEach((vm: ChargeViewModel) => {\r\n vm.model['manualMotorCodeLetter'] = true\r\n })\r\n // Vérifie si le RunningKw des charges est égal à 0 ou undefined. Si c'est le cas c'est un ancien projet dont il faut recalculer les valeurs\r\n flatCharges\r\n .filter(\r\n (x: ChargeViewModel) =>\r\n x.model['RunningKw'] != undefined &&\r\n (x.model.RunningKw == undefined || x.model.RunningKw == 0)\r\n )\r\n .forEach((vm: ChargeViewModel) => {\r\n this.computeLoad(vm)\r\n .then((result: any) => {\r\n const calculationResult = this.isTypeMotorAirFireElevator(\r\n vm.model\r\n )\r\n ? new CalculationMotorResult(result.data)\r\n : new CalculationResult(result.data)\r\n this.handlerCalculationReturned(vm.model, calculationResult)\r\n })\r\n .catch((error: any) => {\r\n console.error('Calculation Error : ', error)\r\n })\r\n })\r\n },\r\n refresh() {\r\n this.loadProject(this.project.id)\r\n },\r\n changeAdditionnalTab(val: number) {\r\n this.onlyReportFunction = val != 0 ? true : false\r\n this.makeToolReport = false\r\n this.tabAdditionnal = val\r\n },\r\n closeReport() {\r\n this.makeGensetReport = false\r\n this.makeToolReport = false\r\n },\r\n isTabDisabled(projectTabKey: number): boolean {\r\n if (projectTabKey == TabProjet.Tools) {\r\n return (\r\n !this.isFeatureAccessible(\r\n this.project.idCountry,\r\n 'ADDITIONNALTOOLS_GENERATORSOUNDLEVELCALCULATION'\r\n ) &&\r\n !this.isFeatureAccessible(\r\n this.project.idCountry,\r\n 'ADDITIONNALTOOLS_EXHAUSTSYSTEMPIPECALCULATOR'\r\n ) &&\r\n !this.isFeatureAccessible(\r\n this.project.idCountry,\r\n 'ADDITIONNALTOOLS_FUELPIPEGAS'\r\n ) &&\r\n !this.isFeatureAccessible(\r\n this.project.idCountry,\r\n 'ADDITIONNALTOOLS_GENSETROOMSIZECALCULATOR'\r\n )\r\n )\r\n } else return false\r\n },\r\n changeTab(projectTabKey: number) {\r\n this.displayAllOptions = true\r\n this.$miniLoader.go()\r\n\r\n switch (projectTabKey) {\r\n case TabProjet.Genset:\r\n this.isCalculationProjectLoading = true\r\n this.saveAndRefresh()\r\n .then((x: any) => this.calculateProject(x.id))\r\n .then((resp: any) => {\r\n this.projectSelectGensetResult = new ProjectSelectGensetResult(\r\n resp.data\r\n )\r\n this.recalculGenset = !this.recalculGenset\r\n })\r\n .catch(err => this.displayServerError(err))\r\n .finally(() => {\r\n this.isCalculationProjectLoading = false\r\n this.$miniLoader.stop()\r\n })\r\n break\r\n case TabProjet.Tools:\r\n this.displayAllOptions = false\r\n this.saveAndRefresh()\r\n break\r\n default:\r\n this.$miniLoader.stop()\r\n break\r\n }\r\n },\r\n prepareProjectToSave() {\r\n const projectOutput = new ProjectOutputModel(this.project)\r\n const chargesToSave = new Array()\r\n this.chargeViewModel.children.forEach(\r\n (childChargeVM: ChargeViewModel) => {\r\n const childChargeToSave = childChargeVM.accept(\r\n this.viewModelToSaveTransformer\r\n )\r\n chargesToSave.push(childChargeToSave)\r\n }\r\n )\r\n projectOutput.loads = chargesToSave\r\n return projectOutput\r\n },\r\n\r\n updateStateRightBar(stateRightBar: boolean) {\r\n if (!this.mini && stateRightBar && this.isMobileDevice()) this.mini = true\r\n },\r\n\r\n displaySuccessMessage(res: any) {\r\n return this.$iD3iNotify.success(\r\n res.msg ?? this.$translator.language.data.global.notify.success\r\n )\r\n },\r\n async displayConfirmQuit() {\r\n return await this.$iD3iAlert.openWarning(\r\n '',\r\n '',\r\n this.$translator.language.data.modules.project.confirmQuitting.message,\r\n this.$translator.language.data.modules.project.confirmQuitting.yes,\r\n this.$translator.language.data.modules.project.confirmQuitting.no,\r\n null,\r\n \"secondary\"\r\n )\r\n },\r\n displayServerError(err: any) {\r\n return this.$iD3iNotify.serverError(\r\n err.msg ?? this.$translator.language.data.global.notify.serverError\r\n )\r\n }\r\n },\r\n watch: {\r\n tabProject(newOnglet: number, ancienOnglet: number) {\r\n this.makeGensetReport = false\r\n this.makeToolReport = false\r\n\r\n if (ancienOnglet === TabProjet.Schema) {\r\n //On enregistre l'état de scroll du schéma\r\n const scrollContainer = document.getElementById(\r\n 'project-items-container'\r\n )\r\n this.$schema.application.scrollXPosition =\r\n scrollContainer?.scrollLeft ?? 0\r\n this.$schema.application.scrollYPosition =\r\n scrollContainer?.scrollTop ?? 0\r\n }\r\n if (newOnglet === TabProjet.Schema) {\r\n //La restauration de l'état du scroll est effectuée plus haut (voir mounted)\r\n }\r\n }\r\n }\r\n})\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Project.vue?vue&type=template&id=2ce6f50e&scoped=true&\"\nimport script from \"./Project.vue?vue&type=script&lang=ts&\"\nexport * from \"./Project.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Project.vue?vue&type=style&index=0&id=2ce6f50e&prod&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 \"2ce6f50e\",\n null\n \n)\n\nexport default component.exports","import LightingTypeBallastDriverModel from '@/domain/globals/referentiels/lightingTypeBallastDriverModel'\r\nimport BallastDriverModel from '@/domain/globals/referentiels/ballastDriver'\r\nimport LoadConnectionModel from '@/domain/globals/referentiels/loadConnection'\r\nimport WelderSpecModel from '@/domain/globals/referentiels/welderSpec'\r\nimport mixins from 'vue-typed-mixins'\r\nimport { CalculationMotorResult } from './models/calculationMotorResult'\r\nimport { CalculationResult } from './models/calculationResult'\r\nimport {\r\n ChargeBatteryCharger,\r\n ChargeLighting,\r\n ChargeMiscNonLinear,\r\n ChargeModel,\r\n ChargeMotorGeneric,\r\n ChargeOfficeEquipement,\r\n ChargeUPS,\r\n ChargeWelder,\r\n Harmonics,\r\n HarmonicsHelper,\r\n LoadWhithEfficiency,\r\n LoadWithHarmonics,\r\n LoadWithLoadConnection,\r\n LoadWithStartingPower,\r\n PowerFactorGeneric\r\n} from './models/chargeModel'\r\nimport MotorSinglePhaseTypeModel from '@/domain/globals/referentiels/motorSinglePhaseType'\r\nimport MotorVFDTypeModel from '@/domain/globals/referentiels/motorVFDType'\r\nimport MotorStartingMethodModel from '@/domain/globals/referentiels/motorStartingMethod'\r\nimport UPSTypeModel from '@/domain/globals/referentiels/UPSType'\r\nimport RectifierTypeModel from '@/domain/globals/referentiels/rectifierType'\r\nimport Collection from '@/global/dejaVue/collection'\r\nexport default mixins().extend({\r\n computed: {\r\n referentiels(): any {\r\n return this.$database.globals.referentiels\r\n }\r\n },\r\n methods: {\r\n handlerLoadConnectionChanged(charge: LoadWithLoadConnection) {\r\n if (charge != undefined) {\r\n if (charge instanceof PowerFactorGeneric) {\r\n charge as PowerFactorGeneric\r\n charge.manualRpf = false\r\n charge.manualSpf = false\r\n }\r\n if (charge instanceof ChargeMotorGeneric) {\r\n charge as ChargeMotorGeneric\r\n if (this.isSinglePhase(charge)) {\r\n charge.idMotorSinglePhaseType = this.referentiels.motorSinglePhaseTypes.find(\r\n (x: MotorSinglePhaseTypeModel) => x !== undefined\r\n ).id\r\n } else {\r\n charge.idMotorSinglePhaseType = -1\r\n }\r\n } else if (charge instanceof ChargeWelder) {\r\n charge as ChargeWelder\r\n const selectedLoadConnection = this.referentiels.loadConnections.find(\r\n (x: LoadConnectionModel) => x.id == charge.idLoadConnection\r\n )\r\n charge.idWelderSpec = (this.referentiels.welderSpecs.find(\r\n (x: WelderSpecModel) =>\r\n x.phase == (selectedLoadConnection?.isMonophase == true ? 1 : 3)\r\n ) as WelderSpecModel).id\r\n this.handlerWelderSpecChanged(charge)\r\n }\r\n }\r\n },\r\n handlerWelderSpecChanged(load: ChargeWelder) {\r\n const welderSpecSelected = this.referentiels.welderSpecs.find(\r\n (welderSpec: WelderSpecModel) => welderSpec.id == load.idWelderSpec\r\n )\r\n if (welderSpecSelected != undefined) {\r\n load.runningPF = welderSpecSelected.rpf\r\n load.startingPF = welderSpecSelected.spf\r\n this.setHarmonics(load, welderSpecSelected)\r\n }\r\n },\r\n handlerHaveInputFilterChnaged(load: LoadWithHarmonics) {\r\n if (load instanceof ChargeWelder) {\r\n this.setHarmonics(\r\n load,\r\n this.referentiels.welderSpecs.find(\r\n (welderSpec: WelderSpecModel) => welderSpec.id == load.idWelderSpec\r\n )\r\n )\r\n } else if (\r\n load instanceof ChargeUPS ||\r\n load instanceof ChargeMiscNonLinear\r\n ) {\r\n this.setHarmonics(\r\n load,\r\n this.referentiels.upsTypes.find(\r\n (upsType: UPSTypeModel) => upsType.id == load.idUpsType\r\n )\r\n )\r\n } else if (load instanceof ChargeBatteryCharger) {\r\n this.setHarmonics(\r\n load,\r\n this.referentiels.rectifierTypes.find(\r\n (rectifierType: RectifierTypeModel) =>\r\n rectifierType.id == load.idTypeRectifier\r\n )\r\n )\r\n } else if (load instanceof ChargeLighting) {\r\n this.setHarmonics(\r\n load,\r\n this.referentiels.lightingTypeBallastDrivers.find(\r\n (driver: LightingTypeBallastDriverModel) =>\r\n driver.lightingTypeId == load.idLightingType\r\n )\r\n )\r\n } else if (load instanceof ChargeMotorGeneric) {\r\n this.setHarmonics(\r\n load,\r\n this.referentiels.motorVFDTypes.find(\r\n (motorVFDModel: MotorVFDTypeModel) =>\r\n motorVFDModel.id == load.idMotorVFDType\r\n )\r\n )\r\n }\r\n },\r\n setHarmonics(\r\n load: LoadWithHarmonics,\r\n from:\r\n | {\r\n ithd: number\r\n ichd: string\r\n }\r\n | undefined\r\n ) {\r\n load.harmonics = HarmonicsHelper.getFromICHD(from?.ichd)\r\n if (load.haveInputFilter) {\r\n Object.keys(load.harmonics)\r\n .filter(key => key != 'id')\r\n .forEach(key => {\r\n ;(load.harmonics as any)[key] = (load.harmonics as any)[key] * 0.6\r\n })\r\n }\r\n load.ithd = from?.ithd\r\n },\r\n handlerCalculationReturned(\r\n load: any, // ChargeModel\r\n calculationResult: CalculationResult\r\n ) {\r\n const harmonicLoad = load as LoadWithHarmonics\r\n load.runningKW = calculationResult.runningLoad.kw\r\n calculationResult.ithd = calculationResult.ithd?.replace(',', '.')\r\n const ithdValue = parseFloat(calculationResult.ithd ?? '')\r\n\r\n if (isNaN(ithdValue)) {\r\n harmonicLoad.userIthd = true\r\n\r\n harmonicLoad.harmonics = HarmonicsHelper.getFromArray(\r\n calculationResult.individualCurrentHarmonics\r\n )\r\n } else {\r\n harmonicLoad.ithd = ithdValue\r\n harmonicLoad.userIthd = false\r\n harmonicLoad.harmonics = HarmonicsHelper.getFromArray(\r\n calculationResult.individualCurrentHarmonics\r\n )\r\n }\r\n if (load instanceof ChargeOfficeEquipement) {\r\n load.runningPF = calculationResult.runningLoad.pf ?? 0.01\r\n load.startingPF = calculationResult.startingLoad.pf ?? 0.01\r\n } else if (\r\n load instanceof ChargeMotorGeneric &&\r\n calculationResult instanceof CalculationMotorResult\r\n ) {\r\n if (\r\n calculationResult.rectifiedPower != 0 &&\r\n load.powerAmpsValue != calculationResult.rectifiedPower\r\n ) {\r\n load.powerAmpsValue = calculationResult.rectifiedPower\r\n }\r\n load.runningKW = calculationResult.runningLoad.kw\r\n\r\n if (\r\n (!load.manualMotorCodeLetter &&\r\n load.idMotorCodeLetter !=\r\n (calculationResult.motorCode?.letterId ?? 0)) ||\r\n load.motoCode?.id != calculationResult.motorCode?.id\r\n ) {\r\n if (!load.manualMotorCodeLetter)\r\n load.idMotorCodeLetter = calculationResult.motorCode?.letterId ?? 0\r\n load.motoCode = calculationResult.motorCode\r\n load.runningPF = this.getRpf(load)\r\n load.startingPF = this.getSpf(load)\r\n load.efficiency = this.getEfficiency(load)\r\n }\r\n if (load.isLoaded) {\r\n load.runningPF = calculationResult.runningLoad.pf\r\n load.startingPF = calculationResult.startingLoad.pf\r\n load.efficiency = this.getEfficiency(load)\r\n }\r\n }\r\n },\r\n powerFactormodel(load: ChargeModel): PowerFactorGeneric | undefined {\r\n return load as PowerFactorGeneric\r\n },\r\n isTypeMotorAirFireElevator(load: ChargeModel): boolean {\r\n return load instanceof ChargeMotorGeneric\r\n },\r\n handlerLightTypeChanged(load: ChargeLighting) {\r\n const selectedBallast = this.referentiels.lightingTypeBallastDrivers.find(\r\n (driver: LightingTypeBallastDriverModel) =>\r\n driver.lightingTypeId == load.idLightingType\r\n ) as LightingTypeBallastDriverModel\r\n if (selectedBallast != undefined) {\r\n if (load.idBallast != selectedBallast.ballastDriverId) {\r\n load.idBallast = selectedBallast.ballastDriverId\r\n }\r\n } else {\r\n load.idBallast = 0\r\n }\r\n this.handlerLightBallastChanged(load)\r\n },\r\n handlerLightBallastChanged(load: ChargeLighting) {\r\n const selectedBallast = this.referentiels.ballastDrivers.find(\r\n (driver: BallastDriverModel) => driver.id == load.idBallast\r\n ) as BallastDriverModel\r\n if (selectedBallast != undefined) {\r\n this.setHarmonics(load, selectedBallast)\r\n load.runningPF = selectedBallast.rpf\r\n load.startingPF = selectedBallast.spf\r\n } else {\r\n load.ithd = 0\r\n load.harmonics = new Harmonics() // HarmonicsHelper.getFromICHD(selectedBallast.ichd)\r\n load.runningPF = 1\r\n load.startingPF = 1\r\n load.userIthd = false\r\n }\r\n },\r\n handlerPowerChanged(load: ChargeModel) {\r\n if ('startingPower' in load && 'powerAmpsValue' in load) {\r\n const loadSp = (load as unknown) as LoadWithStartingPower\r\n if (\r\n loadSp != undefined &&\r\n loadSp.startingPower != loadSp.powerAmpsValue\r\n ) {\r\n loadSp.startingPower = loadSp.powerAmpsValue\r\n }\r\n }\r\n if (load instanceof PowerFactorGeneric) {\r\n load.manualRpf = false\r\n load.manualSpf = false\r\n }\r\n if (load instanceof ChargeMotorGeneric) {\r\n load.manualMotorCodeLetter = false\r\n if (load.powerAmpsValue != load.startingAmps)\r\n load.startingAmps = load.powerAmpsValue\r\n }\r\n ;((load as any) as LoadWhithEfficiency).manualEfficiency = false\r\n },\r\n setDefaultMotorChar(load: ChargeMotorGeneric) {\r\n if (load.numberOfPhases == 1) {\r\n if (load.idMotorSinglePhaseType == undefined)\r\n load.idMotorSinglePhaseType = (this.referentiels\r\n .motorSinglePhaseTypes as Collection<\r\n MotorSinglePhaseTypeModel\r\n >).firstOrDefault().id\r\n } else load.idMotorSinglePhaseType = undefined\r\n },\r\n selectedVFDType(load: ChargeMotorGeneric): MotorVFDTypeModel | undefined {\r\n return this.referentiels.motorVFDTypes.find(\r\n (motorVFDModel: MotorVFDTypeModel) =>\r\n motorVFDModel.id == load.idMotorVFDType\r\n )\r\n },\r\n handleMotorVFDTypeSelection(load: ChargeMotorGeneric) {\r\n load.manualRpf = false\r\n load.manualSpf = false\r\n load.startingPF = this.getSpf(load)\r\n load.runningPF = this.getRpf(load)\r\n load.manualEfficiency = false\r\n load.efficiency = this.getEfficiency(load)\r\n\r\n const motorVFDSelected = this.selectedVFDType(load)\r\n if (motorVFDSelected != undefined) {\r\n load.vFDEfficiency = motorVFDSelected?.efficiency ?? 0.9\r\n load.vFDSkVaLimit = 100\r\n }\r\n this.setHarmonics(load, motorVFDSelected)\r\n },\r\n motorSinglePhaseType(load: ChargeModel): MotorSinglePhaseTypeModel {\r\n return this.referentiels.motorSinglePhaseTypes.find(\r\n (x: MotorSinglePhaseTypeModel) =>\r\n x.id == (load as ChargeMotorGeneric).idMotorSinglePhaseType\r\n ) as MotorSinglePhaseTypeModel\r\n },\r\n isSinglePhase(load: LoadWithLoadConnection): boolean {\r\n return (this.referentiels.loadConnections.find(\r\n (x: LoadConnectionModel) => x.id == load.idLoadConnection\r\n ) as LoadConnectionModel).isMonophase\r\n },\r\n getStartingMethod(\r\n load: ChargeMotorGeneric\r\n ): MotorStartingMethodModel | undefined {\r\n return this.referentiels.motorStartingMethods.find(\r\n (x: MotorStartingMethodModel) => x.id == load.idMotorStartingMethod\r\n )\r\n },\r\n getRpf(model: ChargeMotorGeneric): number {\r\n let retour = model.runningPF ?? 0\r\n if (!model.manualRpf) {\r\n retour = 0\r\n if (\r\n model instanceof ChargeMotorGeneric &&\r\n (this.getStartingMethod(model)?.isVFD ?? false)\r\n ) {\r\n retour = this.selectedVFDType(model)?.rpf ?? 0.9\r\n }\r\n if (this.isSinglePhase(model)) {\r\n retour = this.motorSinglePhaseType(model).rpf\r\n }\r\n if (retour == 0) {\r\n retour = model.motoCode?.rpf ?? 0\r\n }\r\n }\r\n return retour\r\n },\r\n getSpf(model: ChargeMotorGeneric): number {\r\n let retour = model.startingPF ?? 0\r\n if (!model.manualSpf) {\r\n retour = 0\r\n if (\r\n model instanceof ChargeMotorGeneric &&\r\n (this.getStartingMethod(model)?.isVFD ?? false)\r\n ) {\r\n retour = this.selectedVFDType(model)?.spf ?? retour\r\n }\r\n if (this.isSinglePhase(model)) {\r\n retour = this.motorSinglePhaseType(model).spf\r\n }\r\n if (retour == 0) {\r\n retour = model.motoCode?.spf ?? 0\r\n }\r\n }\r\n return retour\r\n },\r\n getEfficiency(model: ChargeMotorGeneric): number {\r\n let retour = model.efficiency ?? 0\r\n if (!model.manualEfficiency) {\r\n /*retour = 0\r\n if (this.getStartingMethod(model)?.isVFD ?? false) {\r\n retour = this.selectedVFDType(model)?.efficiency ?? retour\r\n }\r\n if (retour == 0) {*/\r\n retour = model.motoCode?.efficiency ?? retour\r\n /*}*/\r\n }\r\n return retour\r\n },\r\n handleSinglePhaseTypeChanged(model: ChargeMotorGeneric) {\r\n const motorSinglePhaseTypeModel = this.motorSinglePhaseType(model)\r\n model.runningPF = motorSinglePhaseTypeModel?.rpf ?? model.runningPF\r\n model.startingPF = motorSinglePhaseTypeModel?.spf ?? model.startingPF\r\n model.manualRpf = true\r\n model.manualSpf = true\r\n this.setDefaultFromStartingMethod(model)\r\n },\r\n handlerEfficiencyChanged(load: LoadWhithEfficiency) {\r\n load.manualEfficiency = true\r\n },\r\n setDefaultFromStartingMethod(load: ChargeMotorGeneric) {\r\n const startingMethode = this.referentiels.motorStartingMethods.find(\r\n (sm: MotorStartingMethodModel) => sm.id == load.idMotorStartingMethod\r\n ) as MotorStartingMethodModel\r\n if (!startingMethode.isVFD) load.Harmonics = new Harmonics()\r\n if (startingMethode.isVFD) {\r\n load.idMotorVFDType = this.referentiels.motorVFDTypes.find(\r\n (x: MotorVFDTypeModel) => x != undefined\r\n ).id\r\n } else if (startingMethode.isSSCL) {\r\n load.sCCL = 3\r\n } else {\r\n load.idMotorVFDType = 0\r\n }\r\n this.setDefaultFromVFDType(load)\r\n },\r\n setDefaultFromVFDType(load: ChargeMotorGeneric) {\r\n const motorVFDSelected = this.selectedVFDType(load)\r\n if (motorVFDSelected != undefined) {\r\n load.Harmonics = HarmonicsHelper.getFromICHD(motorVFDSelected.ichd)\r\n }\r\n this.handleMotorVFDTypeSelection(load)\r\n }\r\n }\r\n})\r\n","import { CalculationResult } from './calculationResult'\r\nimport MotorCodeModel from '@/modules/project/components/loads/models/motorCode'\r\n\r\nexport class CalculationMotorResult extends CalculationResult {\r\n public rectifiedPower = 0.0\r\n public motorCode?: MotorCodeModel\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\n\r\nexport class CalculationResultLoad extends Feedable {\r\n public kw = 0\r\n public kva = 0\r\n public kvars = 0\r\n public pf = 0\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport { CalculationResultLoad } from './calculationResultLoad'\r\n\r\nexport class CalculationResult extends Feedable {\r\n public runningLoad = new CalculationResultLoad()\r\n public startingLoad = new CalculationResultLoad()\r\n public ithd?: string\r\n public individualCurrentHarmonics?: Array\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import FieldType from '@/global/enums/typeFieldEnum'\r\nimport validationMixin from '@/plugins/mixins/validationMixin'\r\nimport moment from 'moment'\r\nimport mixins from 'vue-typed-mixins'\r\n\r\nexport default mixins(validationMixin).extend({\r\n data() {\r\n return {\r\n FieldType,\r\n type: {\r\n number: { type: FieldType.Number, min: 0 },\r\n harmonic: { type: FieldType.Number, min: 5, max: 20 },\r\n percent: {\r\n type: FieldType.Number,\r\n min: 0,\r\n max: 100,\r\n appendIcon: 'mdi-percent'\r\n },\r\n text: { type: FieldType.Text },\r\n mail: { type: FieldType.Mail },\r\n pw: { type: FieldType.Password }\r\n },\r\n commonStyle: { dense: true, hideDetails: true, outlined: true },\r\n commonStyleNoHideMsg: { dense: true, hideDetails: false, outlined: true },\r\n clearable: { clearable: true, clearIcon: 'mdi-close-circle-outline' },\r\n switchComp: { inset: true, dense: false, color: 'blue' },\r\n\r\n // Style global pour les champs formulaires\r\n fieldCol1: { class: 'rounded-0 col-1 mb-2 input--color' },\r\n fieldCol2: { class: 'rounded-0 col-2 mb-2 input--color' },\r\n fieldCol3: { class: 'rounded-0 col-3 mb-2 input--color' },\r\n fieldCol4: { class: 'rounded-0 col-4 mb-2 input--color' },\r\n fieldCol5: { class: 'rounded-0 col-5 mb-2 input--color' },\r\n fieldCol6: { class: 'rounded-0 col-6 mb-2 input--color' },\r\n fieldCol7: { class: 'rounded-0 col-7 mb-2 input--color' },\r\n fieldCol8: { class: 'rounded-0 col-8 mb-2 input--color' },\r\n fieldCol9: { class: 'rounded-0 col-9 mb-2 input--color' },\r\n fieldCol10: { class: 'rounded-0 col-10 mb-2 input--color' },\r\n fieldCol11: { class: 'rounded-0 col-11 mb-2 input--color' },\r\n fieldCol12: { class: 'rounded-0 col-12 mb-2 input--color' },\r\n\r\n // Style global pour les projects loads de l'unifilaire\r\n loadFieldCol1: { class: 'rounded-0 col-1 mb-0 input--color' },\r\n loadFieldCol2: { class: 'rounded-0 col-2 mb-0 input--color' },\r\n loadFieldCol3: { class: 'rounded-0 col-3 mb-0 input--color' },\r\n loadFieldCol4: { class: 'rounded-0 col-4 mb-0 input--color' },\r\n loadFieldCol5: { class: 'rounded-0 col-5 mb-0 input--color' },\r\n loadFieldCol6: { class: 'rounded-0 col-6 mb-0 input--color' },\r\n loadFieldCol7: { class: 'rounded-0 col-7 mb-0 input--color' },\r\n loadFieldCol8: { class: 'rounded-0 col-8 mb-0 input--color' },\r\n loadFieldCol9: { class: 'rounded-0 col-9 mb-0 input--color' },\r\n loadFieldCol10: { class: 'rounded-0 col-10 mb-0 input--color' },\r\n loadFieldCol11: { class: 'rounded-0 col-11 mb-0 input--color' },\r\n loadFieldCol12: { class: 'rounded-0 col-12 mb-0 input--color' },\r\n\r\n // Icones intégrées aux champs\r\n iconAccount: { prependInnerIcon: 'mdi-account' },\r\n iconHomeO: { prependInnerIcon: 'mdi-home-outline' },\r\n iconMail: { prependInnerIcon: 'mdi-at' },\r\n iconEmailO: { prependInnerIcon: 'mdi-email-outline' },\r\n iconTie: { prependInnerIcon: 'mdi-tie' },\r\n iconCity: { prependInnerIcon: 'mdi-city' },\r\n iconEarth: { prependInnerIcon: 'mdi-earth' },\r\n iconPhone: { prependInnerIcon: 'mdi-phone' },\r\n iconLock: { prependInnerIcon: 'mdi-lock' },\r\n iconFile: { prependInnerIcon: 'mdi-file' },\r\n iconFlag: { prependInnerIcon: 'mdi-flag' },\r\n iconFlagV: { prependInnerIcon: 'mdi-flag-variant' },\r\n iconCalendar: { prependInnerIcon: 'mdi-calendar' },\r\n iconComment: { prependInnerIcon: 'mdi-comment-text-outline' },\r\n iconWrench: { prependInnerIcon: 'mdi-wrench' },\r\n iconFactory: { prependInnerIcon: 'mdi-factory' },\r\n iconHospital: { prependInnerIcon: 'mdi-hospital-building' },\r\n iconRuler: { prependInnerIcon: 'mdi-ruler' },\r\n iconAltimeter: { prependInnerIcon: 'mdi-altimeter' },\r\n iconTemperature: { prependInnerIcon: 'mdi-oil-temperature' },\r\n\r\n commonTabStyle: {\r\n prevIcon: 'mdi-arrow-left-drop-circle',\r\n nextIcon: 'mdi-arrow-right-drop-circle',\r\n sliderSize: '6',\r\n sliderColor: 'blue',\r\n grow: true,\r\n dark: true,\r\n color: 'blue',\r\n backgroundColor: 'primary',\r\n centerActive: true,\r\n showArrows: true,\r\n alignWithTitle: true\r\n },\r\n projectTabStyle: {\r\n sliderSize: '6',\r\n sliderColor: 'blue',\r\n grow: true,\r\n dark: false,\r\n color: 'white',\r\n backgroundColor: 'primary',\r\n vertical: true\r\n }\r\n }\r\n },\r\n methods: {\r\n round(value: number, fractionDigits?: number): number {\r\n const multiplicateur = Math.pow(10, fractionDigits ?? 2)\r\n return Math.round(value * multiplicateur) / multiplicateur\r\n },\r\n toFixedOrDefault(\r\n value: any,\r\n fractionDigits?: number,\r\n defaultValue?: number | string,\r\n intWhenPossible?: boolean\r\n ): string {\r\n let retour: string\r\n const fractionDigit = fractionDigits ?? 2\r\n if (!isNaN(value) && typeof value === 'number' && value != undefined)\r\n retour = this.round(value as number, fractionDigit).toFixed(\r\n fractionDigit\r\n )\r\n else if (!Number.isNaN(value))\r\n retour = this.round(Number(value), fractionDigit).toFixed(fractionDigit)\r\n else if (typeof defaultValue === 'number')\r\n retour = this.round(defaultValue as number, fractionDigit).toFixed(\r\n fractionDigit\r\n )\r\n else retour = (defaultValue as string) ?? 'N/A'\r\n if (\r\n (intWhenPossible ?? false) &&\r\n fractionDigit > 0 &&\r\n retour != ((defaultValue as string) ?? 'N/A') &&\r\n retour.indexOf('.') > 0\r\n ) {\r\n const zeros = `.${'0'.repeat(fractionDigit)}`\r\n retour = retour.replace(zeros, '')\r\n }\r\n\r\n return retour\r\n },\r\n toPointFiveOrDefault(\r\n value: any,\r\n defaultValue?: number | string,\r\n intWhenPossible?: boolean\r\n ): string {\r\n let retour: string\r\n\r\n if (!isNaN(value) && typeof value === 'number' && value != undefined)\r\n retour = (Math.round((value as number) / 0.5) * 0.5).toString()\r\n else if (!Number.isNaN(value))\r\n retour = (Math.round((value as number) / 0.5) * 0.5).toString()\r\n else if (typeof defaultValue === 'number')\r\n retour = (Math.round((defaultValue as number) / 0.5) * 0.5).toString()\r\n else retour = (defaultValue as string) ?? 'N/A'\r\n return retour\r\n },\r\n toMaxFixedOrDefault(\r\n value: any,\r\n maxFractionDigits?: number,\r\n defaultValue?: number | string\r\n ) {\r\n const res = this.toFixedOrDefault(value, maxFractionDigits, defaultValue)\r\n const asNumber = +res\r\n if (isNaN(asNumber)) return res\r\n else return asNumber.toString()\r\n },\r\n /** Méthode de remplacement de tous les \"_\" d'un 'name' par un espace (seulement visuel) */\r\n format(dateUnix: number): string {\r\n return moment.unix(dateUnix).format('MM/DD/YYYY')\r\n },\r\n formatToN2(value: number | undefined): string {\r\n return (value != undefined ? value : 0).toFixed(2)\r\n },\r\n formatToN0(value: number | undefined): string {\r\n return (value !== undefined ? value : 0).toFixed(0)\r\n },\r\n formatToNumber(\r\n value: string | number,\r\n minValue?: number,\r\n maxValue?: number\r\n ): number {\r\n const retour = parseFloat(`${value != undefined ? value : 0}`)\r\n\r\n if (minValue && retour < minValue) {\r\n return minValue\r\n }\r\n if (maxValue && retour > maxValue) {\r\n return maxValue\r\n }\r\n return retour\r\n },\r\n formatFactorToPercentN2(value: number | undefined): string {\r\n return this.formatToN2((value ?? 0) * 100)\r\n },\r\n formatPercentN2StringToFactor(value: string): number {\r\n return this.formatToNumber(value) / 100\r\n },\r\n formatFactorToPercentN0(value: number | undefined): string {\r\n return this.formatToN0((value ?? 0) * 100)\r\n },\r\n formatPercentN0StringToFactor(value: string): number {\r\n const retour = parseInt(value != undefined ? value : '0')\r\n return Math.round(retour ?? 0) / 100\r\n },\r\n getRatio(value: string): number | null {\r\n const floatValue = parseFloat(value)\r\n\r\n if (!isNaN(floatValue)) {\r\n let roundedValue = 0\r\n\r\n if (floatValue < 0) {\r\n roundedValue = 0\r\n } else if (floatValue > 1) {\r\n roundedValue = 1\r\n } else {\r\n roundedValue = parseFloat(floatValue.toFixed(2))\r\n }\r\n\r\n return roundedValue\r\n } else {\r\n return null\r\n }\r\n }\r\n }\r\n})\r\n","enum RegionEnum {\r\n All = 0,\r\n NA = 'NORTH_AMERICA',\r\n EMEA = 'EMEA'\r\n}\r\n\r\nexport default RegionEnum\r\n","import Feedable from '@/global/dejaVue/feedable'\r\n\r\nexport default class SelectedGeneratorRef extends Feedable {\r\n public $ref = 0\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\n\r\nexport class LoadPower extends Feedable {\r\n public kw = 0\r\n public kva = 0\r\n public kvars = 0\r\n public pf = 0\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport { ChargeModel } from '../chargeModel'\r\nimport { StepCalculationResult } from './StepCalculationResult'\r\n\r\nexport class MaxVoltageDipLoad extends Feedable {\r\n public $ref = 0\r\n public voltageDip = 0\r\n public element?: ChargeModel\r\n public load?: ChargeModel\r\n public step?: StepCalculationResult\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport { LoadCalculationResult } from './LoadCalculationResult'\r\nimport { LoadPower } from './LoadPower'\r\nimport { MaxVoltageDipLoad } from './MaxVoltageDipLoad'\r\n\r\nexport class StepCalculationResult extends Feedable {\r\n public isOnOffStep = false\r\n public step = 0\r\n public overridenLoadWithMaxVoltageDip = new MaxVoltageDipLoad()\r\n public cumulative: StepCalculationResult | null = null\r\n public regenerativeDriveKw = 0\r\n public loadCalculationResults = new Array()\r\n public phase_A = 0\r\n public phase_B = 0\r\n public phase_C = 0\r\n public runningLoad = new LoadPower()\r\n public startingLoad = new LoadPower()\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport ProjectModel from '@/modules/homePage/model/ProjectModel'\r\nimport { GeneratorAcceptence } from './GeneratorAcceptence'\r\nimport SelectedGeneratorRef from './SelectedGeneratorRef'\r\nimport { StepCalculationResult } from './StepCalculationResult'\r\n\r\nexport class GeneratorSelection extends Feedable {\r\n public project = new ProjectModel()\r\n public generatorAcceptences = new Array()\r\n public selectedGenerator = new SelectedGeneratorRef()\r\n public overridenStepMaxVoltage = new StepCalculationResult()\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport { LoadPower } from './LoadPower'\r\nimport { StepCalculationResult } from './StepCalculationResult'\r\n\r\nexport class ProjectCalculationResult extends Feedable {\r\n public byStep = new Array()\r\n public byCumulativeStep = new Array()\r\n public maxStartingKwStep = new StepCalculationResult()\r\n public maxStartingKvaStep = new StepCalculationResult()\r\n public phase_A = 0\r\n public phase_B = 0\r\n public phase_C = 0\r\n public runningLoad = new LoadPower()\r\n public overridenStepWithMaxVoltageDip = new StepCalculationResult()\r\n public regenerativeDriveKw = 0\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport { GeneratorSelection } from './GeneratorSelection'\r\nimport { ProjectCalculationResult } from './ProjectCalculationResult'\r\n\r\nexport default class ProjectSelectGensetResult extends Feedable {\r\n public projectCalculationResult = new ProjectCalculationResult()\r\n public generatorSelection = new GeneratorSelection()\r\n\r\n constructor(options?: any) {\r\n super()\r\n this.feed(options)\r\n }\r\n}\r\n","enum FieldType {\r\n Unknow = 'UNKNOW',\r\n Checkbox = 'BOOL',\r\n Text = 'TEXT',\r\n Date = 'DATE',\r\n SelectList = 'SELECTLIST',\r\n Password = 'PASSWORD',\r\n Phone = 'PHONE',\r\n Url = 'URL',\r\n Upload = 'UPLOAD',\r\n Number = 'NUMBER',\r\n Int = 'INT',\r\n Mail = 'MAIL',\r\n TextArea = 'TEXTAREA',\r\n ForeignKeyValue = 'FKValue'\r\n}\r\n\r\nexport default FieldType\r\n","import AccountProjectSettings from '@/domain/user/accountProjectSettings'\r\nimport Feedable from '@/global/dejaVue/feedable'\r\nimport Environnement from '@/modules/admin/enums/Environnement'\r\nimport { ChargeModel } from '@/modules/project/components/loads/models/chargeModel'\r\nimport moment from 'moment'\r\n\r\nexport default class ProjectModel extends Feedable {\r\n // P1 //\r\n public id = 0\r\n public idUser = 0\r\n public idCountry: number | null = null\r\n public name = ''\r\n public customerName = ''\r\n public customerContact = ''\r\n public createdDate = moment().unix()\r\n public updateDate = this.createdDate // à la creation l'update = le create\r\n public targetEnvironment = Environnement.PRODUCTION\r\n public comment = ''\r\n\r\n // P2 //\r\n public idIso8528: number | null = null\r\n public frequencyDip = 0\r\n public voltageDip = 0\r\n public idApplication = 0 // usage\r\n public unit = 0\r\n public altitude = 0\r\n public requiredHarmonicDistortion = false\r\n public harmonicDistortion = 0.1\r\n public maxAmbientTemperature = 0\r\n // NA only\r\n public seismic = false\r\n public ul2200 = false\r\n public csa = false\r\n // EMEA Only\r\n public ce = false\r\n public cm = false\r\n public eac = false\r\n public rohs = false\r\n public pscC300 = false\r\n\r\n // P3 //\r\n public idFuelType = 0\r\n public idEmissionRequirement = 0\r\n public loadMin = 0\r\n public loadMax = 0\r\n public idVoltage = 0\r\n public phase = 0\r\n public idFrequency = 0\r\n public idTemperatureRise = 0\r\n public quantity = 0\r\n\r\n // Selection //\r\n public idGenset?: number\r\n public idAlternator?: number\r\n public idEngine?: number\r\n\r\n public loads = new Array()\r\n\r\n constructor(options?: Partial) {\r\n super()\r\n this.feed(options)\r\n }\r\n\r\n public feedFromBack(model: AccountProjectSettings) {\r\n this.idFuelType = model.engineFuelType\r\n this.idEmissionRequirement = model.engineEmissionRequirement\r\n this.loadMin = model.engineMinLoad\r\n this.loadMax = model.engineMaxLoad\r\n this.idVoltage = model.electricalVoltage\r\n this.phase = model.electricalPhase\r\n this.pscC300 = model.pscC300\r\n this.idFrequency = model.electricalFrequency\r\n this.idTemperatureRise = model.electricalAltTempRaiseDuty\r\n this.quantity = model.electricalQuantity\r\n this.idCountry = model.siteCountry\r\n this.idIso8528 = model.idIso8528\r\n this.voltageDip = model.voltageDip\r\n this.frequencyDip = model.frequencyDip\r\n this.requiredHarmonicDistortion =\r\n model.requiredHarmonicDistortion == null\r\n ? false\r\n : model.requiredHarmonicDistortion\r\n this.harmonicDistortion =\r\n model.harmonicDistortion == null ? 5 : model.harmonicDistortion\r\n this.seismic = model.seismic == null ? false : model.seismic\r\n this.ul2200 = model.ul2200 == null ? false : model.ul2200\r\n this.csa = model.csa == null ? false : model.csa\r\n this.ce = model.ce\r\n this.cm = model.cm\r\n this.eac = model.eac\r\n this.rohs = model.rohs\r\n\r\n this.unit = model.siteUnit\r\n this.idApplication = model.siteUsage\r\n this.altitude = model.siteAltitude\r\n this.maxAmbientTemperature = model.siteMaxAmbientTemperature\r\n this.targetEnvironment = model.targetEnvironment\r\n return this\r\n }\r\n}\r\n","import MotorDesign from '@/domain/enums/MotorDesign'\r\nimport { ChargeOutput } from './ChargeOutput'\r\n\r\nexport class ChargeToCalculate implements ChargeOutput {\r\n public idVoltage = 0\r\n public step = 0\r\n public qt = 0\r\n public idLoadConnection = 0\r\n public idBallast = 0\r\n public power = 0\r\n public loadFactor = 1\r\n public runningPowerFactor = 0\r\n public startingPowerFactor = 0\r\n public unit = ''\r\n public currentHarmonics = new Array()\r\n}\r\nexport class ChargeLightingToCalculate extends ChargeToCalculate {\r\n public haveInputFilter = false\r\n}\r\n\r\nexport class ChargeMiscLinearToCalculate extends ChargeToCalculate {\r\n public startingPower = 0\r\n}\r\nexport class ChargeMiscNoLinearToCalculate extends ChargeToCalculate {\r\n public idUpsType = 0\r\n public startingPower = 0\r\n public haveInputFilter = false\r\n}\r\n\r\nexport class ChargeBatteryChargerToCalculate extends ChargeToCalculate {\r\n public currentCharge = 0\r\n public idRectifierType = 0\r\n public haveInputFilter = false\r\n}\r\n\r\nexport class ChargeOfficeEquipementToCalculate extends ChargeToCalculate {\r\n public numberOfCopiers = 0\r\n public numberOfFaxes = 0\r\n public numberOfComputers = 0\r\n public numberOfPrinters = 0\r\n}\r\n\r\nexport class ChargeUPSToCalculate extends ChargeToCalculate {\r\n public loadingPercentage = 0\r\n public idUpsType = 0\r\n public batteryChargerPercentage = 0\r\n public efficiency = 0\r\n public haveInputFilter = false\r\n}\r\n\r\nexport class ChargeMedicalEquipementToCalculate extends ChargeToCalculate {\r\n public startingPower = 0\r\n public maxVoltageDip = 0\r\n public isOff = false\r\n}\r\n\r\nexport class ChargeMotorToCalculate extends ChargeToCalculate {\r\n public idMotorCodeLetter = 0\r\n public idMotorVFDType? = 0\r\n public idMotorStartingMethod = 0\r\n public idMotorSinglePhaseType? = 0\r\n public isVoltageDipLock = true\r\n\r\n public startingPower = 0\r\n public isLoaded = true\r\n public efficiency = 0\r\n public design = MotorDesign.NEMA\r\n public isOff = false\r\n\r\n public vFDSkVaLimit? = 100\r\n public sCCL = 300\r\n public haveInputFilter = false\r\n public vFDEfficiency? = 0.9\r\n}\r\n\r\nexport class ChargeAirConditionnerToCalculate extends ChargeMotorToCalculate {\r\n public seer = 0\r\n public HpPerTon = 0\r\n public nbCompressors = 0\r\n public heatingkwPerTon = 0\r\n}\r\n\r\nexport class ChargeElevatorToCalculate extends ChargeMotorToCalculate {\r\n public isRegenerativeDrive = false\r\n public regenerativeDriveKw = 0\r\n}\r\n\r\nexport class ChargeWelderToCalculate extends ChargeMotorToCalculate {\r\n public idWelderSpec = 0\r\n public haveInputFilter = false\r\n}\r\n","import { HarmonicsHelper } from '../models/chargeModel'\r\nimport { ChargeOutput } from '../models/ChargeOutput'\r\nimport {\r\n ChargeGeneratorViewModel,\r\n ChargeLightingViewModel,\r\n ChargeBatteryChargerViewModel,\r\n ChargeOfficeEquipementViewModel,\r\n ChargeMiscLinearViewModel,\r\n ChargeMiscNonLinearViewModel,\r\n ChargeUPSViewModel,\r\n ChargeMedicalEquipementViewModel,\r\n ChargeWelderViewModel,\r\n ChargeMotorViewModel,\r\n ChargeAirConditionnerViewModel,\r\n ChargeFirePumpViewModel,\r\n ChargeElevatorViewModel,\r\n ChargeATSViewModel,\r\n ChargeTransformerViewModel,\r\n ChargeCircuitBreakerViewModel\r\n} from '../models/chargePatronModel'\r\nimport {\r\n ChargeAirConditionnerToCalculate,\r\n ChargeBatteryChargerToCalculate,\r\n ChargeElevatorToCalculate,\r\n ChargeMedicalEquipementToCalculate,\r\n ChargeMotorToCalculate,\r\n ChargeOfficeEquipementToCalculate,\r\n ChargeUPSToCalculate,\r\n ChargeWelderToCalculate,\r\n ChargeMiscNoLinearToCalculate,\r\n ChargeMiscLinearToCalculate,\r\n ChargeLightingToCalculate\r\n} from '../models/chargeToCalculate'\r\nimport { ChargeViewModelVisitorInterface } from './ChargeViewModelVisitorinterface'\r\n\r\nexport class ChargeCalculationTransformer\r\n implements ChargeViewModelVisitorInterface {\r\n visitGenerator(charge: ChargeGeneratorViewModel): ChargeOutput {\r\n throw new Error('Method not implemented.')\r\n }\r\n visitLighting(charge: ChargeLightingViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeLightingToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.runningPF\r\n chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.idBallast = charge.model.idBallast\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n\r\n return chargeToCalculate\r\n }\r\n visitBatteryCharger(charge: ChargeBatteryChargerViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeBatteryChargerToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n //chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.runningPF\r\n chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.currentCharge = charge.model.currentCharge ?? 0\r\n chargeToCalculate.idRectifierType = charge.model.idTypeRectifier\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n\r\n return chargeToCalculate\r\n }\r\n visitOfficeEquipment(charge: ChargeOfficeEquipementViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeOfficeEquipementToCalculate()\r\n chargeToCalculate.runningPowerFactor = charge.model.manualRpf\r\n ? charge.model.runningPF ?? 0.01\r\n : 0\r\n chargeToCalculate.startingPowerFactor = charge.model.manualSpf\r\n ? charge.model.startingPF ?? 0.01\r\n : 0\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = 'kVA'\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n\r\n chargeToCalculate.numberOfCopiers = charge.model.numberOfCopiers\r\n chargeToCalculate.numberOfFaxes = charge.model.numberOfFax\r\n chargeToCalculate.numberOfComputers = charge.model.numberOfComputer\r\n chargeToCalculate.numberOfPrinters = charge.model.numberOfPrinter\r\n\r\n return chargeToCalculate\r\n }\r\n visitMiscLinear(charge: ChargeMiscLinearViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeMiscLinearToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.startingPower = charge.model.startingPower\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.runningPF\r\n chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = charge.model.unit\r\n return chargeToCalculate\r\n }\r\n visitNonMiscLinear(charge: ChargeMiscNonLinearViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeMiscNoLinearToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.startingPower = charge.model.startingPower\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.runningPF\r\n chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.idUpsType = charge.model.idUpsType\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n return chargeToCalculate\r\n }\r\n visitUPS(charge: ChargeUPSViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeUPSToCalculate()\r\n chargeToCalculate.power = charge.model.outputRating\r\n //chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.runningPF\r\n chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n //chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.loadingPercentage = charge.model.loadingPercentage\r\n chargeToCalculate.batteryChargerPercentage =\r\n charge.model.batteryChargerPercentage\r\n chargeToCalculate.idUpsType = charge.model.idUpsType\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n\r\n return chargeToCalculate\r\n }\r\n visitMedicalEquipment(\r\n charge: ChargeMedicalEquipementViewModel\r\n ): ChargeOutput {\r\n const chargeToCalculate = new ChargeMedicalEquipementToCalculate()\r\n chargeToCalculate.power = charge.model.continuousKVA\r\n //chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.continuousPF\r\n //chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = 'kVA'\r\n //chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(charge.model.harmonics)\r\n chargeToCalculate.step = charge.model.step\r\n // d'ou sort le startingPower\r\n chargeToCalculate.startingPower = charge.model.maxPeakKVA\r\n chargeToCalculate.maxVoltageDip = charge.model.maxVoltageDip\r\n chargeToCalculate.startingPowerFactor = charge.model.pFAtMaxPeakKVA\r\n chargeToCalculate.isOff = charge.model.isOff\r\n\r\n return chargeToCalculate\r\n }\r\n visitWelder(charge: ChargeWelderViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeWelderToCalculate()\r\n chargeToCalculate.power = charge.model.runningKVA\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.runningPF\r\n chargeToCalculate.startingPowerFactor = charge.model.startingPF\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n //chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.startingPower = charge.model.peakKVA\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n\r\n chargeToCalculate.idWelderSpec = charge.model.idWelderSpec\r\n return chargeToCalculate\r\n }\r\n visitMotor(charge: ChargeMotorViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeMotorToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.manualRpf\r\n ? charge.model.runningPF\r\n : 0\r\n chargeToCalculate.startingPowerFactor = charge.model.manualSpf\r\n ? charge.model.startingPF\r\n : 0\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.startingPower = charge.model.startingAmps\r\n chargeToCalculate.isLoaded = charge.model.isLoaded\r\n chargeToCalculate.design = charge.model.design\r\n chargeToCalculate.efficiency = charge.model.manualEfficiency\r\n ? charge.model.efficiency\r\n : 0\r\n chargeToCalculate.isOff = charge.model.isOff\r\n chargeToCalculate.idMotorCodeLetter = charge.model.manualMotorCodeLetter\r\n ? charge.model.idMotorCodeLetter\r\n : 0\r\n chargeToCalculate.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToCalculate.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToCalculate.idMotorSinglePhaseType =\r\n charge.model.idMotorSinglePhaseType\r\n chargeToCalculate.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToCalculate.sCCL = charge.model.sCCL\r\n chargeToCalculate.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n return chargeToCalculate\r\n }\r\n visitAirConditionner(charge: ChargeAirConditionnerViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeAirConditionnerToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.runningPowerFactor = charge.model.manualRpf\r\n ? charge.model.runningPF\r\n : 0\r\n chargeToCalculate.startingPowerFactor = charge.model.manualSpf\r\n ? charge.model.startingPF\r\n : 0\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.startingPower = charge.model.startingAmps\r\n chargeToCalculate.isLoaded = charge.model.isLoaded\r\n chargeToCalculate.efficiency = charge.model.manualEfficiency\r\n ? charge.model.efficiency\r\n : 0\r\n chargeToCalculate.design = charge.model.design\r\n chargeToCalculate.isOff = charge.model.isOff\r\n chargeToCalculate.idMotorCodeLetter = charge.model.manualMotorCodeLetter\r\n ? charge.model.idMotorCodeLetter\r\n : 0\r\n chargeToCalculate.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToCalculate.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToCalculate.idMotorSinglePhaseType =\r\n charge.model.idMotorSinglePhaseType\r\n chargeToCalculate.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToCalculate.sCCL = charge.model.sCCL\r\n chargeToCalculate.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToCalculate.seer = charge.model.sEER\r\n chargeToCalculate.heatingkwPerTon = charge.model.tonHeating\r\n chargeToCalculate.nbCompressors = charge.model.numberOfCompressors\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n return chargeToCalculate\r\n }\r\n visitFirePump(charge: ChargeFirePumpViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeMotorToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.manualRpf\r\n ? charge.model.runningPF\r\n : 0\r\n chargeToCalculate.startingPowerFactor = charge.model.manualSpf\r\n ? charge.model.startingPF\r\n : 0\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.isVoltageDipLock = charge.model.isVoltageDipLock\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.startingPower = charge.model.startingAmps\r\n chargeToCalculate.isLoaded = charge.model.isLoaded\r\n chargeToCalculate.efficiency = charge.model.manualEfficiency\r\n ? charge.model.efficiency\r\n : 0\r\n chargeToCalculate.design = charge.model.design\r\n chargeToCalculate.isOff = charge.model.isOff\r\n chargeToCalculate.idMotorCodeLetter = charge.model.manualMotorCodeLetter\r\n ? charge.model.idMotorCodeLetter\r\n : 0\r\n chargeToCalculate.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToCalculate.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToCalculate.idMotorSinglePhaseType =\r\n charge.model.idMotorSinglePhaseType\r\n chargeToCalculate.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToCalculate.sCCL = charge.model.sCCL\r\n chargeToCalculate.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n return chargeToCalculate\r\n }\r\n visitElevator(charge: ChargeElevatorViewModel): ChargeOutput {\r\n const chargeToCalculate = new ChargeElevatorToCalculate()\r\n chargeToCalculate.power = charge.model.powerAmpsValue\r\n chargeToCalculate.loadFactor = charge.model.loadFactor\r\n chargeToCalculate.runningPowerFactor = charge.model.manualRpf\r\n ? charge.model.runningPF\r\n : 0\r\n chargeToCalculate.startingPowerFactor = charge.model.manualSpf\r\n ? charge.model.startingPF\r\n : 0\r\n chargeToCalculate.qt = charge.model.qt\r\n chargeToCalculate.idVoltage = charge.model.idVoltage\r\n chargeToCalculate.idLoadConnection = charge.model.idLoadConnection\r\n chargeToCalculate.unit = charge.model.unit\r\n chargeToCalculate.currentHarmonics = HarmonicsHelper.prepareForCompute(\r\n charge.model.harmonics\r\n )\r\n chargeToCalculate.step = charge.model.step\r\n chargeToCalculate.startingPower = charge.model.startingAmps\r\n chargeToCalculate.isLoaded = charge.model.isLoaded\r\n chargeToCalculate.efficiency = charge.model.manualEfficiency\r\n ? charge.model.efficiency\r\n : 0\r\n chargeToCalculate.design = charge.model.design\r\n chargeToCalculate.isOff = charge.model.isOff\r\n chargeToCalculate.idMotorCodeLetter = charge.model.manualMotorCodeLetter\r\n ? charge.model.idMotorCodeLetter\r\n : 0\r\n chargeToCalculate.idMotorStartingMethod = charge.model.idMotorStartingMethod\r\n chargeToCalculate.idMotorVFDType = charge.model.idMotorVFDType\r\n chargeToCalculate.idMotorSinglePhaseType =\r\n charge.model.idMotorSinglePhaseType\r\n chargeToCalculate.vFDSkVaLimit = charge.model.vFDSkVaLimit\r\n chargeToCalculate.sCCL = charge.model.sCCL\r\n chargeToCalculate.vFDEfficiency = charge.model.vFDEfficiency\r\n chargeToCalculate.isRegenerativeDrive = charge.model.haveRegenerativeDrive\r\n chargeToCalculate.regenerativeDriveKw =\r\n charge.model.regenerativeDrivePercentage\r\n chargeToCalculate.haveInputFilter = charge.model.haveInputFilter\r\n\r\n return chargeToCalculate\r\n }\r\n visitATS(charge: ChargeATSViewModel): ChargeOutput {\r\n throw new Error('Method not implemented.')\r\n }\r\n visitTransformer(charge: ChargeTransformerViewModel): ChargeOutput {\r\n throw new Error('Method not implemented.')\r\n }\r\n visitCircuitBreaker(charge: ChargeCircuitBreakerViewModel): ChargeOutput {\r\n throw new Error('Method not implemented.')\r\n }\r\n}\r\n","import { ChargeOutput } from './ChargeOutput'\r\n\r\nexport class ChargeCalculationURLModel implements ChargeOutput {\r\n public url = ''\r\n\r\n constructor(url: string) {\r\n this.url = url\r\n }\r\n}\r\n","import { ChargeCalculationURLModel } from '../models/ChargeCalculationURLModel'\r\nimport { ChargeOutput } from '../models/ChargeOutput'\r\nimport {\r\n ChargeGeneratorViewModel,\r\n ChargeLightingViewModel,\r\n ChargeBatteryChargerViewModel,\r\n ChargeOfficeEquipementViewModel,\r\n ChargeMiscLinearViewModel,\r\n ChargeMiscNonLinearViewModel,\r\n ChargeUPSViewModel,\r\n ChargeMedicalEquipementViewModel,\r\n ChargeWelderViewModel,\r\n ChargeMotorViewModel,\r\n ChargeAirConditionnerViewModel,\r\n ChargeFirePumpViewModel,\r\n ChargeElevatorViewModel,\r\n ChargeATSViewModel,\r\n ChargeTransformerViewModel,\r\n ChargeCircuitBreakerViewModel\r\n} from '../models/chargePatronModel'\r\nimport { ChargeViewModelVisitorInterface } from './ChargeViewModelVisitorinterface'\r\n\r\nexport class ChargeCalculationURLTransformer\r\n implements ChargeViewModelVisitorInterface {\r\n visitGenerator(charge: ChargeGeneratorViewModel): ChargeOutput {\r\n throw new Error('No Calculation for generator load')\r\n }\r\n visitLighting(charge: ChargeLightingViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/Lighting')\r\n }\r\n visitBatteryCharger(charge: ChargeBatteryChargerViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/BatteryCharger')\r\n }\r\n visitOfficeEquipment(charge: ChargeOfficeEquipementViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/OfficeEquipment')\r\n }\r\n visitMiscLinear(charge: ChargeMiscLinearViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/MiscLinear')\r\n }\r\n visitNonMiscLinear(charge: ChargeMiscNonLinearViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/MiscNonLinear')\r\n }\r\n visitUPS(charge: ChargeUPSViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/UPS')\r\n }\r\n visitMedicalEquipment(\r\n charge: ChargeMedicalEquipementViewModel\r\n ): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/MedicalEquipment')\r\n }\r\n visitWelder(charge: ChargeWelderViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/Welder')\r\n }\r\n visitMotor(charge: ChargeMotorViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/Motor')\r\n }\r\n visitAirConditionner(charge: ChargeAirConditionnerViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/AirConditionner')\r\n }\r\n visitFirePump(charge: ChargeFirePumpViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/FirePump')\r\n }\r\n visitElevator(charge: ChargeElevatorViewModel): ChargeOutput {\r\n return new ChargeCalculationURLModel('LoadCalculation/Elevator')\r\n }\r\n visitATS(charge: ChargeATSViewModel): ChargeOutput {\r\n throw new Error('No Calculation for node load')\r\n }\r\n visitTransformer(charge: ChargeTransformerViewModel): ChargeOutput {\r\n throw new Error('No Calculation for node load')\r\n }\r\n visitCircuitBreaker(charge: ChargeCircuitBreakerViewModel): ChargeOutput {\r\n throw new Error('No Calculation for node load')\r\n }\r\n}\r\n","import mixins from 'vue-typed-mixins'\r\nimport { ChargeCalculationURLModel } from './models/ChargeCalculationURLModel'\r\nimport { ChargeViewModel } from './models/chargePatronModel'\r\nimport { ChargeCalculationTransformer } from './services/ChargeCalculationTransformer'\r\nimport { ChargeCalculationURLTransformer } from './services/ChargeCalculationURLTransformer'\r\nexport default mixins().extend({\r\n data() {\r\n return {\r\n chargeCalculationTransformer: new ChargeCalculationTransformer(),\r\n chargeCalculationURLTranformer: new ChargeCalculationURLTransformer()\r\n }\r\n },\r\n computed: {\r\n referentiels(): any {\r\n return this.$database.globals.referentiels\r\n }\r\n },\r\n methods: {\r\n computeLoad(charge: ChargeViewModel) {\r\n const requestURL = charge.accept(\r\n this.chargeCalculationURLTranformer\r\n ) as ChargeCalculationURLModel\r\n const chargeToCalculate = charge.accept(this.chargeCalculationTransformer)\r\n\r\n return this.$http\r\n .request(requestURL.url)\r\n .post(chargeToCalculate)\r\n .authorize()\r\n .call()\r\n },\r\n hashLoad(charge: ChargeViewModel) {\r\n const chargeToCalculate = charge.accept(this.chargeCalculationTransformer)\r\n return JSON.stringify(chargeToCalculate)\r\n }\r\n }\r\n})\r\n","import Feedable from '@/global/dejaVue/feedable'\r\nimport { ChargeViewModelVisitorInterface } from '../services/ChargeViewModelVisitorinterface'\r\nimport Vue from 'vue'\r\nimport {\r\n ChargeLighting,\r\n ChargeBatteryCharger,\r\n ChargeOfficeEquipement,\r\n ChargeMiscLinear,\r\n ChargeMiscNonLinear,\r\n ChargeUPS,\r\n ChargeMedicalEquipement,\r\n ChargeWelder,\r\n ChargeMotor,\r\n ChargeAirConditionner,\r\n ChargeFirePump,\r\n ChargeElevator,\r\n ChargeATS,\r\n ChargeTransformer,\r\n ChargeCircuitBreaker,\r\n ChargeModel,\r\n Harmonics,\r\n ChargeGenerator\r\n} from './chargeModel'\r\nimport { ChargeOutput } from './ChargeOutput'\r\nimport TypeCharge from './typeCharge'\r\nimport { VisitableChargeViewModel } from '../services/VisitableChargeViewModel'\r\nimport { ChargeState } from '@/modules/project/components/loads/models/ChargeState'\r\n\r\n/* ================= PARTIE QUI SERT A L'AFFICHAGE DU FORMULAIRE ================= */\r\n/** Defini la totalité des champs du formulaire dans le ChargeOutput */\r\n\r\nexport class PatronFormulaireModel extends Feedable {\r\n public isLeaf = false\r\n public step = false\r\n public description = false\r\n public qt = false\r\n public unit = false\r\n public units3Phases = new Array()\r\n public units1Phase = new Array()\r\n public powerAmpsValue = false\r\n public idVoltage = false\r\n public idLoadConnection = false\r\n public startingAmps = false\r\n public numberOfPhases = false\r\n public idLightingType = false\r\n public idBallast = false\r\n public application = false\r\n public idBatteryType = false\r\n public numberOfComputer = false\r\n public numberOfPrinter = false\r\n public numberOfFax = false\r\n public numberOfCopiers = false\r\n public haveInputFilter = false\r\n public currentCharge = false\r\n public runningPF = false\r\n public rectifierType = false\r\n public outputRating = false\r\n public loading = false\r\n public batteryChargerPercentage = false\r\n public maxVoltageDip = false\r\n public maxPeakKVA = false\r\n public pFAtMaxPeakKVA = false\r\n public continuousKVA = false\r\n public continuousPF = false\r\n public runningKVA = false\r\n public peakKVA = false\r\n public idWelderSpec = false // AC / DC\r\n public idMotorCodeLetter = false\r\n public idMotorStartingMethod = false\r\n public startingMethods = new Array()\r\n public idMotorVFDType = false\r\n public isVoltageDipLock = false\r\n public typesVFD = new Array()\r\n public idMotorSinglePhaseType = false\r\n public motorCaracs = new Array()\r\n public sCCL = false\r\n public design = true // NEMA / IEC\r\n public isLoaded = true // isLoaded / unloaded\r\n public amps = false\r\n public kVARating = false\r\n public idPrimaryVoltage = false\r\n public idSecondaryVoltage = false\r\n public percentageRating = false\r\n public haveRegenerativeDrive = false\r\n public regenerativeDrivePercent = false\r\n public isOff = false // on / off\r\n public isNECRequirement = false\r\n public startingPower = false\r\n public startingPF = false\r\n public ithd = false\r\n public loadFactor = false\r\n public vFDSkVaLimit = false\r\n public vFDEfficiency = false\r\n public motorEfficiency = false\r\n public efficiency = false\r\n public numberOfCompressor = false\r\n public tonHeating = false\r\n public sEER = false\r\n public harmonics = false\r\n public calculation = false // calcul effectué par le front\r\n\r\n constructor(options?: Partial) {\r\n super()\r\n this.feed(options, true)\r\n }\r\n}\r\nclass LightingPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['kW', 'kVA', 'Amps']\r\n units3Phases = ['kW', 'kVA', 'Amps']\r\n powerAmpsValue = true\r\n idLightingType = true\r\n idBallast = true\r\n haveInputFilter = true\r\n runningPF = true\r\n startingPF = true\r\n ithd = true\r\n loadFactor = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass BatteryChargerPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['kW', 'kVA', 'Amps', 'DC Voltage']\r\n units3Phases = ['kW', 'kVA', 'Amps', 'DC Voltage']\r\n powerAmpsValue = true\r\n idBatteryType = true\r\n idTypeRectifier = true\r\n haveInputFilter = true\r\n currentCharge = true\r\n runningPF = true\r\n startingPF = true\r\n ithd = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass OfficeEquipementPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n numberOfComputer = true\r\n numberOfPrinter = true\r\n numberOfFax = true\r\n numberOfCopiers = true\r\n runningPF = true\r\n startingPF = true\r\n ithd = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass MiscLinearPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['kW', 'kVA', 'Amps']\r\n units3Phases = ['kW', 'kVA', 'Amps']\r\n powerAmpsValue = true\r\n isOff = true\r\n startingPower = true\r\n runningPF = false\r\n startingPF = true\r\n loadFactor = true\r\n calculation = true\r\n}\r\nclass MiscNonLinearPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['kW', 'kVA', 'Amps']\r\n units3Phases = ['kW', 'kVA', 'Amps']\r\n powerAmpsValue = true\r\n haveInputFilter = true\r\n idUpsType = true\r\n isOff = true\r\n runningPF = false\r\n startingPower = true\r\n startingPF = true\r\n ithd = true\r\n loadFactor = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass UPSPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n haveInputFilter = true\r\n idUpsType = true // old rectifier type\r\n outputRating = true\r\n loading = true\r\n batteryChargerPercentage = true\r\n runningPF = true\r\n startingPF = true\r\n ithd = true\r\n efficiency = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass MedicalEquipementPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n maxVoltageDip = true\r\n maxPeakKVA = true\r\n pFAtMaxPeakKVA = true\r\n continuousKVA = true\r\n continuousPF = true\r\n isOff = true\r\n calculation = true\r\n}\r\nclass WelderPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n isOff = true\r\n haveInputFilter = true\r\n idWelderSpec = true\r\n runningKVA = true\r\n peakKVA = true\r\n runningPF = true\r\n startingPF = true\r\n ithd = true\r\n loadFactor = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass MotorPatron extends PatronFormulaireModel {\r\n units1Phase = ['kVA', 'HP', 'Amps', 'kWe', 'kWm']\r\n units3Phases = ['kVA', 'HP', 'Amps', 'kWe', 'kWm']\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n powerAmpsValue = true\r\n startingAmps = true\r\n numberOfPhases = true\r\n haveInputFilter = true\r\n idMotorCodeLetter = true\r\n idMotorStartingMethod = true\r\n idMotorVFDType = true\r\n idMotorSinglePhaseType = true\r\n sCCL = true\r\n design = true\r\n isLoaded = true\r\n isOff = true\r\n runningPF = true\r\n startingPF = true\r\n motorEfficiency = true\r\n ithd = true\r\n loadFactor = true\r\n vFDSkVaLimit = true\r\n vFDEfficiency = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass AirConditionnerPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['Tons', 'Btu HR', 'Amps']\r\n units3Phases = ['Tons', 'Btu HR', 'Amps']\r\n powerAmpsValue = true\r\n startingAmps = true\r\n numberOfPhases = true\r\n haveInputFilter = true\r\n idMotorCodeLetter = true\r\n idMotorStartingMethod = true\r\n idMotorVFDType = true\r\n idMotorSinglePhaseType = true\r\n sCCL = true\r\n design = true\r\n isLoaded = true\r\n isOff = true\r\n efficiency = true\r\n vFDSkVaLimit = true\r\n vFDEfficiency = true\r\n ithd = true\r\n runningPF = true\r\n startingPF = true\r\n numberOfCompressor = true\r\n tonHeating = true\r\n sEER = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass FirePumpPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['kVA', 'HP', 'Amps', 'kWe', 'kWm']\r\n units3Phases = ['kVA', 'HP', 'Amps', 'kWe', 'kWm']\r\n powerAmpsValue = true\r\n startingAmps = true\r\n numberOfPhases = true\r\n haveInputFilter = true\r\n idMotorCodeLetter = true\r\n idMotorStartingMethod = true\r\n idMotorSinglePhaseType = true\r\n isVoltageDipLock = true\r\n sCCL = true\r\n idMotorVFDType = true\r\n design = true\r\n isLoaded = true\r\n isOff = true\r\n isNECRequirement = true\r\n motorEfficiency = true\r\n vFDSkVaLimit = true\r\n vFDEfficiency = true\r\n ithd = true\r\n runningPF = true\r\n startingPF = true\r\n loadFactor = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass ElevatorPatron extends PatronFormulaireModel {\r\n step = true\r\n description = true\r\n qt = true\r\n idLoadConnection = true // Condition de filtre - true si generator phase == 3\r\n idVoltage = true\r\n unit = true\r\n units1Phase = ['kVA', 'HP', 'Amps', 'kWe', 'kWm']\r\n units3Phases = ['kVA', 'HP', 'Amps', 'kWe', 'kWm']\r\n powerAmpsValue = true\r\n startingAmps = true // if unit == \"amps\"\r\n numberOfPhases = true //disabled if generator phase == 1 // phase\r\n haveInputFilter = true\r\n idMotorCodeLetter = true\r\n idMotorStartingMethod = true\r\n idMotorVFDType = true\r\n idMotorSinglePhaseType = true\r\n sCCL = true\r\n design = true\r\n isLoaded = true\r\n isOff = true\r\n ithd = true\r\n motorEfficiency = true\r\n vFDSkVaLimit = true\r\n vFDEfficiency = true\r\n haveRegenerativeDrive = true\r\n regenerativeDrivePercentage = true\r\n runningPF = true\r\n startingPF = true\r\n loadFactor = true\r\n harmonics = true\r\n calculation = true\r\n}\r\nclass ATSPatron extends PatronFormulaireModel {\r\n description = true\r\n amps = true\r\n}\r\nclass TransformerPatron extends PatronFormulaireModel {\r\n description = true\r\n kVARating = true\r\n idPrimaryVoltage = true\r\n idSecondaryVoltage = true\r\n}\r\nclass CircuitBreakerPatron extends PatronFormulaireModel {\r\n description = true\r\n amps = true\r\n percentageRating = true\r\n}\r\n\r\nexport class ChargeViewModel extends Feedable\r\n implements VisitableChargeViewModel {\r\n public id = 0\r\n public nom = ''\r\n public state = ChargeState.UPDATED\r\n public isLeaf = false\r\n public model = new ChargeModel()\r\n public patron = new PatronFormulaireModel()\r\n public children = new Array()\r\n\r\n // Harmonique issu du remplissage via le référentiel lorsque saisi (exemple BallastDriver sur une lighting type)\r\n public baseHarmonics = new Harmonics()\r\n\r\n constructor(options?: Partial) {\r\n super()\r\n this.feed(options)\r\n }\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n //throw new Error(\"Unimplemented\")\r\n return new Object()\r\n }\r\n copyType() {\r\n return new ChargeViewModel()\r\n }\r\n getChildren() {\r\n const loads = this.children.map(x => new ChargeViewModel(x))\r\n if (this.children.length > 0) {\r\n this.children.forEach(x => {\r\n loads.push(...x.getChildren())\r\n })\r\n }\r\n return loads\r\n }\r\n}\r\n\r\nexport class ChargeLightingViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.Lighting\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.typeLighting.loadName\r\n isLeaf = true\r\n model = new ChargeLighting()\r\n patron = new LightingPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitLighting(this)\r\n }\r\n\r\n copyType() {\r\n return new ChargeLightingViewModel()\r\n }\r\n}\r\nexport class ChargeBatteryChargerViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.BatteryCharger\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.batteryCharger.loadName\r\n isLeaf = true\r\n model = new ChargeBatteryCharger()\r\n patron = new BatteryChargerPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitBatteryCharger(this)\r\n }\r\n copyType() {\r\n return new ChargeBatteryChargerViewModel()\r\n }\r\n}\r\nexport class ChargeOfficeEquipementViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.OfficeEquipement\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.officeEquipement.loadName\r\n isLeaf = true\r\n model = new ChargeOfficeEquipement()\r\n patron = new OfficeEquipementPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitOfficeEquipment(this)\r\n }\r\n copyType() {\r\n return new ChargeOfficeEquipementViewModel()\r\n }\r\n}\r\nexport class ChargeMiscLinearViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.LinearLoad\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.linearLoad.loadName\r\n isLeaf = true\r\n model = new ChargeMiscLinear()\r\n patron = new MiscLinearPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitMiscLinear(this)\r\n }\r\n copyType() {\r\n return new ChargeMiscLinearViewModel()\r\n }\r\n}\r\nexport class ChargeMiscNonLinearViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.NoLinearLoad\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.noLinearLoad.loadName\r\n isLeaf = true\r\n model = new ChargeMiscNonLinear()\r\n patron = new MiscNonLinearPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitNonMiscLinear(this)\r\n }\r\n copyType() {\r\n return new ChargeMiscNonLinearViewModel()\r\n }\r\n}\r\nexport class ChargeUPSViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.UPS\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.ups.loadName\r\n isLeaf = true\r\n model = new ChargeUPS()\r\n patron = new UPSPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitUPS(this)\r\n }\r\n copyType() {\r\n return new ChargeUPSViewModel()\r\n }\r\n}\r\nexport class ChargeMedicalEquipementViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.MedicalEquipment\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.medicalEquipment.loadName\r\n isLeaf = true\r\n model = new ChargeMedicalEquipement()\r\n patron = new MedicalEquipementPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitMedicalEquipment(this)\r\n }\r\n copyType() {\r\n return new ChargeMedicalEquipementViewModel()\r\n }\r\n}\r\nexport class ChargeWelderViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.Welder\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.welder.loadName\r\n isLeaf = true\r\n model = new ChargeWelder()\r\n patron = new WelderPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitWelder(this)\r\n }\r\n copyType() {\r\n return new ChargeWelderViewModel()\r\n }\r\n}\r\nexport class ChargeMotorViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.Motor\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.motor.loadName\r\n isLeaf = true\r\n model = new ChargeMotor()\r\n patron = new MotorPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitMotor(this)\r\n }\r\n copyType() {\r\n return new ChargeMotorViewModel()\r\n }\r\n}\r\nexport class ChargeAirConditionnerViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.AirConditioner\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.airConditioner.loadName\r\n isLeaf = true\r\n model = new ChargeAirConditionner()\r\n patron = new AirConditionnerPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitAirConditionner(this)\r\n }\r\n copyType() {\r\n return new ChargeAirConditionnerViewModel()\r\n }\r\n}\r\nexport class ChargeFirePumpViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.FirePump\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.firePump.loadName\r\n isLeaf = true\r\n model = new ChargeFirePump()\r\n patron = new FirePumpPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitFirePump(this)\r\n }\r\n copyType() {\r\n return new ChargeFirePumpViewModel()\r\n }\r\n}\r\nexport class ChargeElevatorViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.Elevator\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.elevator.loadName\r\n isLeaf = true\r\n model = new ChargeElevator()\r\n patron = new ElevatorPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitElevator(this)\r\n }\r\n copyType() {\r\n return new ChargeElevatorViewModel()\r\n }\r\n}\r\nexport class ChargeATSViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.ATS\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.ats.loadName\r\n isLeaf = false\r\n model = new ChargeATS()\r\n patron = new ATSPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitATS(this)\r\n }\r\n copyType() {\r\n return new ChargeATSViewModel()\r\n }\r\n}\r\nexport class ChargeTransformerViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.Transformer\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.transformer.loadName\r\n isLeaf = false\r\n model = new ChargeTransformer()\r\n patron = new TransformerPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitTransformer(this)\r\n }\r\n copyType() {\r\n return new ChargeTransformerViewModel()\r\n }\r\n}\r\nexport class ChargeCircuitBreakerViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.CircuitBreaker\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.circuitBreaker.loadName\r\n isLeaf = false\r\n model = new ChargeCircuitBreaker()\r\n patron = new CircuitBreakerPatron()\r\n\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitCircuitBreaker(this)\r\n }\r\n copyType() {\r\n return new ChargeCircuitBreakerViewModel()\r\n }\r\n}\r\nexport class ChargeGeneratorViewModel extends ChargeViewModel\r\n implements VisitableChargeViewModel {\r\n id = TypeCharge.Generator\r\n nom =\r\n Vue.prototype.$translator.language.data.modules.project.projectMenu\r\n .loadProfile.generator.loadName\r\n isLeaf = false\r\n model = new ChargeGenerator()\r\n accept(visitor: ChargeViewModelVisitorInterface): ChargeOutput {\r\n return visitor.visitGenerator(this)\r\n }\r\n copyType() {\r\n return new ChargeGeneratorViewModel()\r\n }\r\n}\r\n"],"sourceRoot":""}