{"version":3,"sources":["webpack:///./EnBW.Vertrieb.Websites.Dsc/StaticResources/TypeScript/mixins/dataItemMixin.ts","webpack:///./EnBW.Vertrieb.Websites.Dsc/StaticResources/TypeScript/mixins/inputMixin.ts","webpack:///./EnBW.Vertrieb.Websites.Dsc/StaticResources/TypeScript/mixins/formMixin.ts","webpack:///./EnBW.Vertrieb.Websites.Dsc/StaticResources/TypeScript/mixins/componentMixin.ts"],"names":["exports","dataItemMixin","props","dataItem","PropTypes_1","required","mounted","_this","this","id","dataItem_1","$nextTick","$el","dataset","cfId","cfKey","key","cfType","DscTracking_1","default","sendFakeClick","inputMixin","errorMessage","propTypes_1","stringRequired","formEditing","flag","inputType","string","isRequired","type","Boolean","String","data","firstPass","model","methods","reset","value","updateModel","final","input","caret","document","activeElement","isTextArea","ValidationHelper_1","isNotNull","$emit","set","undefined","selectionStart","overrideCaret_1","v","c","value_1","lengthBefore_1","length","lengthAfter","setSelectionRange","created","$parent","registerInput","beforeDestroy","unregisterInput","FormStates","formMixin","edit","flash","message","formInputs","formState","Enabled","computed","formEnabled","formWaiting","Waiting","formDisabled","Disabled","formDisable","formEnable","formWait","formEdit","formCancel","resetData","Object","keys","forEach","name","__assign","_a","submit","event","preventDefault","onSubmit","componentMixin","viewModel","parentId","contentfulId","contentfulKey","moduleName","moduleSelector","getAttribute","window","moduleId","moduleKey","isMobile","DeviceHelper_1","toLowerCase","replace","nameArr","split","moduleNameWithoutPrefix","appearance","eventName_1","detail","CustomEvent","dispatchEvent"],"mappings":"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","file":"mixins.57f51ad01871d24a0dcd.chunk.js","sourcesContent":["import {\r\n required,\r\n} from 'PropTypes';\r\nimport { DataItemDto } from '../Models/DataItemDto';\r\nimport DscTracking from '../Site/DscTracking';\r\n\r\nexport const dataItemMixin = {\r\n props: {\r\n dataItem: required(),\r\n },\r\n mounted() {\r\n if (this.dataItem && this.dataItem.id) {\r\n const dataItem = this.dataItem;\r\n this.$nextTick(() => {\r\n if (dataItem) {\r\n this.$el.dataset.cfId = dataItem.id;\r\n this.$el.dataset.cfKey = dataItem.key;\r\n this.$el.dataset.cfType = 'dataitem';\r\n this.$nextTick(() => DscTracking.sendFakeClick(dataItem, this.$el));\r\n }\r\n });\r\n }\r\n },\r\n};\r\n","import {\r\n stringRequired, string, flag,\r\n} from '../ComponentExtras/propTypes';\r\nimport ValidationHelper from '../Helper/ValidationHelper';\r\n\r\nexport const inputMixin = {\r\n props: {\r\n errorMessage: stringRequired(),\r\n formEditing: flag(),\r\n inputType: string(),\r\n isRequired: {\r\n type: [Boolean, String],\r\n default: 'true',\r\n },\r\n },\r\n data() {\r\n return {\r\n firstPass: true,\r\n model: '',\r\n };\r\n },\r\n methods: {\r\n reset() {\r\n this.firstPass = true;\r\n this.model = this.value;\r\n },\r\n updateModel(value, final) {\r\n let input: any;\r\n let caret = 0;\r\n\r\n if (document.activeElement) {\r\n if (this.isTextArea()) {\r\n input = document.activeElement as HTMLTextAreaElement;\r\n } else {\r\n input = document.activeElement as HTMLInputElement;\r\n }\r\n }\r\n\r\n if (ValidationHelper.isNotNull(input) && input.type === 'radio') {\r\n this.$emit('update',\r\n {\r\n value,\r\n set,\r\n final,\r\n firstPass: this.firstPass,\r\n });\r\n } else {\r\n if (document.activeElement['selectionStart'] !== null ||\r\n document.activeElement['selectionStart'] !== undefined) {\r\n caret = input.selectionStart;\r\n }\r\n\r\n let overrideCaret = 0;\r\n const set = (v, c = null) => {\r\n this.model = v;\r\n overrideCaret = c;\r\n };\r\n set(value);\r\n\r\n this.$emit('update',\r\n {\r\n value,\r\n caret,\r\n set,\r\n final,\r\n firstPass: this.firstPass,\r\n });\r\n\r\n if (ValidationHelper.isNotNull(input)) {\r\n const value = input.value;\r\n\r\n if (ValidationHelper.isNotNull(value)) {\r\n if (overrideCaret === null) {\r\n const lengthBefore = value.length;\r\n\r\n this.$nextTick(() => {\r\n const lengthAfter = value.length;\r\n const offset = lengthAfter - lengthBefore;\r\n\r\n caret += offset;\r\n input.setSelectionRange(caret, caret);\r\n });\r\n } else {\r\n this.$nextTick(() => {\r\n input.setSelectionRange(overrideCaret, overrideCaret);\r\n });\r\n }\r\n }\r\n }\r\n }\r\n },\r\n isTextArea() {\r\n return ValidationHelper.isNotNull(this.inputType) && this.inputType === 'textarea';\r\n },\r\n },\r\n created() {\r\n this.$parent.registerInput(this);\r\n this.reset();\r\n },\r\n beforeDestroy() {\r\n this.$parent.unregisterInput(this);\r\n },\r\n};","import { flag } from 'ComponentExtras/propTypes';\r\n\r\nexport enum FormStates {\r\n Enabled,\r\n Waiting,\r\n Disabled,\r\n}\r\n\r\nexport const formMixin = {\r\n props: {\r\n edit: flag(),\r\n },\r\n data() {\r\n const data = {\r\n flash: { message: '' },\r\n formInputs: {},\r\n formState: FormStates.Enabled,\r\n formEditing: false,\r\n };\r\n\r\n return data;\r\n },\r\n computed: {\r\n formEnabled() {\r\n return this.formState === FormStates.Enabled;\r\n },\r\n formWaiting() {\r\n return this.formState === FormStates.Waiting;\r\n },\r\n formDisabled() {\r\n return this.formState === FormStates.Disabled;\r\n },\r\n },\r\n methods: {\r\n formDisable() {\r\n this.formState = FormStates.Disabled;\r\n },\r\n formEnable() {\r\n this.formState = FormStates.Enabled;\r\n },\r\n formWait() {\r\n this.formState = FormStates.Waiting;\r\n },\r\n\r\n formEdit() {\r\n this.formEditing = true;\r\n },\r\n formCancel() {\r\n this.formEditing = false;\r\n this.reset();\r\n },\r\n\r\n reset() {\r\n this.resetData();\r\n\r\n this.$nextTick(() => Object.keys(this.formInputs).forEach((name) => {\r\n this.formInputs[name].reset();\r\n }));\r\n },\r\n registerInput(input) {\r\n this.formInputs = {\r\n ...this.formInputs,\r\n ...{ [input.name]: input },\r\n };\r\n },\r\n unregisterInput(input) {\r\n this.formInputs = {\r\n ...this.formInputs,\r\n [input.name]: null,\r\n };\r\n },\r\n submit(event: Event) {\r\n event.preventDefault();\r\n\r\n if (this.formWaiting || this.formDisabled) {\r\n return;\r\n }\r\n\r\n if (this.onSubmit) {\r\n this.onSubmit(event);\r\n }\r\n this.$emit('submit', event);\r\n },\r\n },\r\n created() {\r\n this.reset();\r\n\r\n if (this.edit) {\r\n this.formEdit();\r\n }\r\n },\r\n};\r\n","import DeviceHelper from '../Helper/DeviceHelper';\r\n\r\nexport const componentMixin = {\r\n data() {\r\n let viewModel = { };\r\n let parentId = null;\r\n let contentfulId = null;\r\n let contentfulKey = null;\r\n let moduleName = null;\r\n let moduleSelector = null;\r\n if (this.$parent && this.$parent.$el) {\r\n parentId = this.$parent.$el.getAttribute('id');\r\n contentfulId = this.$parent.$el.getAttribute('module-id');\r\n contentfulKey = this.$parent.$el.getAttribute('module-key');\r\n moduleName = this.$parent.$el.getAttribute('module-name');\r\n moduleSelector = this.$parent.$el.getAttribute('module-selector');\r\n viewModel = window['viewModels'][parentId] || { key: contentfulKey };\r\n }\r\n const data = {\r\n viewModel: viewModel,\r\n parentId: parentId,\r\n moduleId: contentfulId,\r\n moduleKey: contentfulKey,\r\n moduleName: moduleName,\r\n moduleSelector: moduleSelector,\r\n isMobile: DeviceHelper.isMobile(),\r\n };\r\n\r\n return data;\r\n },\r\n mounted() {\r\n if (this.moduleId) {\r\n this.$el.dataset.cfId = this.moduleId;\r\n this.$el.dataset.cfKey = this.moduleKey;\r\n this.$el.dataset.cfType = this.moduleName.toLowerCase().replace('module_', '');\r\n }\r\n\r\n if (this.viewModel && this.viewModel.key) {\r\n const nameArr = this.moduleName.split('_');\r\n if (nameArr.length >= 2) {\r\n if (!window['initializedVueComponents']) {\r\n window['initializedVueComponents'] = 0;\r\n }\r\n window['initializedVueComponents'] = window['initializedVueComponents'] + 1;\r\n\r\n let moduleNameWithoutPrefix = nameArr[1];\r\n if (this.viewModel.appearance !== null && this.viewModel.appearance !== undefined && this.viewModel.appearance.length > 0) {\r\n moduleNameWithoutPrefix = this.viewModel.appearance;\r\n }\r\n\r\n const eventName = `${moduleNameWithoutPrefix}Ready`;\r\n this.$nextTick(() => {\r\n const detail = { key: this.moduleKey, id: this.moduleId };\r\n const event = new CustomEvent(eventName, { detail: detail });\r\n document.dispatchEvent(event);\r\n // Console.debug(`event '${eventName}' with details '${JSON.stringify(detail)}' dispatched.`);\r\n\r\n if (Object.keys(window['viewModels']).length === window['initializedVueComponents']) {\r\n this.$nextTick(() => {\r\n const event = new CustomEvent('VueComponentsReady');\r\n document.dispatchEvent(event);\r\n // Console.debug('event \\'VueComponentsReady\\' dispatched.');\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n // Console.debug(`vue component [${this.parentId || this.moduleId}] mounted.`);\r\n },\r\n};\r\n"],"sourceRoot":""}