{"version":3,"sources":["webpack:///./src/Vorfallmanagement/subtabs/SubTab-Base-vfmt.ts"],"names":["relevantProperties","this","vorfall","reduce","obj","key","vorfallClone","changed","filter","c","orig","clone","Utility","areAllValuesDates","areDatesEqual","length","updateHasChanged","n","p","internalChanged","relevantValuesChanged","dateFormatter","date","PickerFormatter","$i18n","locale","toString","toLowerCase","default","deep"],"mappings":"0gCAOA,yE,OAcS,EAAAA,mBAA0D,G,EA2CnE,OAzD6B,OAgB3B,sBAAI,oCAAqB,C,IAAzB,sBACE,OAAIC,KAAKC,QACAD,KAAKD,mBAAmBG,QAAO,SAACC,EAAKC,G,MAAQ,YAAMD,GAAG,OAAGC,GAAM,EAAKH,QAAQG,GAAI,MAAK,IAChF,M,gCAGhB,sBAAW,oCAAqB,C,IAAhC,sBACE,GAAIJ,KAAKK,cAAgBL,KAAKD,mBAAoB,CAChD,IAAMO,EAAUN,KAAKD,mBAAmBQ,QAAO,SAACC,GAC9C,IAAMC,EAAO,EAAKR,QAAQO,GACpBE,EAAQ,EAAKL,aAAaG,GAEhC,cAAWC,WAAgBC,GAA0B,kBAATD,GAAsC,kBAAVC,EAC/D,EAAKT,QAAQO,KAAO,EAAKH,aAAaG,GACpB,kBAATC,GAAsC,kBAAVC,GACxC,OAAkBC,QAAQC,kBAAkBH,EAAMC,GAC7C,OAAkBC,QAAQE,cAAcJ,EAAMC,GAGlD,EAAKT,QAAQO,KAAO,EAAKH,aAAaG,MAE/C,OAAOF,EAAQQ,OAAS,EAExB,OAAO,G,gCAKX,YAAAC,iBAAA,SAAiBC,EAAQC,GACnBD,IAAMC,IACRjB,KAAKkB,gBAAkBlB,KAAKmB,wBAIhC,YAAAC,cAAA,SAAcC,GACZ,OAAO,OAAYC,gBAAgBD,IAGrC,sBAAI,qBAAM,C,IAAV,WACE,MAAqD,MAA9CrB,KAAKuB,MAAMC,OAAOC,WAAWC,cAAwB,OAAqB,Q,gCAtDzE,GAAT,kB,+BACO,GAAP,kB,kCACyB,GAAzB,eAAK,CAAEC,SAAS,K,+BAEP,GAAT,kB,8BAEuB,GAAvB,eAAS,e,sCAEF,GAAP,kB,mCAEyB,GAAzB,eAAe,W,6BACmB,GAAlC,eAAe,oB,sCAgChB,GADC,eAAM,wBAAyB,CAAEC,MAAM,K,qCAc1C,EAzDA,CAA6B,QA2Dd","file":"js/chunk-2d222937.88cde327.js","sourcesContent":["import { Component, Inject, InjectReactive, Prop, PropSync, VModel, Vue, Watch } from \"vue-property-decorator\";\r\nimport Vorfallmanagement from \"../api/Vorfallmanagement\";\r\nimport { DateHelpers } from \"@/helper/global-helper\";\r\n//@ts-ignore\r\nimport * as pickerlanguages from \"vuejs-datepicker/dist/locale/index.js\";\r\nimport { BenutzerInfo } from \"@/Benutzer\";\r\n\r\nclass SubTabBaseVfmt extends Vue {\r\n @Inject() public TabIndex!: string | number;\r\n @Prop() public SubTabIndex!: string | number;\r\n @Prop({ default: false }) readonly disabled!: boolean;\r\n\r\n @VModel() public vorfall!: Vorfallmanagement.Vorfall;\r\n\r\n @PropSync(\"hasChanged\") public internalChanged!: boolean;\r\n\r\n @Prop() vorfallClone!: Vorfallmanagement.Vorfall;\r\n\r\n @InjectReactive(\"listen\") readonly listen!: Vorfallmanagement.Listen | null;\r\n @InjectReactive(\"aktiverBenutzer\") readonly aktiverBenutzer!: BenutzerInfo;\r\n\r\n public relevantProperties: (keyof Vorfallmanagement.Vorfall)[] = [];\r\n\r\n get relevantPropertiesObj() {\r\n if (this.vorfall) {\r\n return this.relevantProperties.reduce((obj, key) => ({ ...obj, [key]: this.vorfall[key] }), {});\r\n } else return null;\r\n }\r\n\r\n public get relevantValuesChanged() {\r\n if (this.vorfallClone && this.relevantProperties) {\r\n const changed = this.relevantProperties.filter((c) => {\r\n const orig = this.vorfall[c];\r\n const clone = this.vorfallClone[c];\r\n\r\n if (typeof orig !== typeof clone || (typeof orig !== \"object\" && typeof clone !== \"object\")) {\r\n return this.vorfall[c] !== this.vorfallClone[c];\r\n } else if (typeof orig === \"object\" && typeof clone === \"object\") {\r\n if (Vorfallmanagement.Utility.areAllValuesDates(orig, clone)) {\r\n return Vorfallmanagement.Utility.areDatesEqual(orig, clone);\r\n }\r\n }\r\n return this.vorfall[c] !== this.vorfallClone[c];\r\n });\r\n return changed.length > 0;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n @Watch(\"relevantValuesChanged\", { deep: true })\r\n updateHasChanged(n: any, p?: any) {\r\n if (n !== p) {\r\n this.internalChanged = this.relevantValuesChanged;\r\n }\r\n }\r\n\r\n dateFormatter(date: Date) {\r\n return DateHelpers.PickerFormatter(date);\r\n }\r\n\r\n get dplang(): any {\r\n return this.$i18n.locale.toString().toLowerCase() == \"de\" ? pickerlanguages.de : pickerlanguages.en;\r\n }\r\n}\r\n\r\nexport default SubTabBaseVfmt;\r\n"],"sourceRoot":""}