{"version":3,"file":"Csu99hrq.js","sources":["../../../../models/Configuration/TargetSoftwareProduct.ts","../../../../models/Configuration/QuestelEntity.ts","../../../../models/Configuration/Client.ts","../../../../models/Configuration/Ipms.ts","../../../../stores/importConfiguration/importConfiguration.ts"],"sourcesContent":["import type { ITargetSoftwareProductModel } from \"~/open-api\";\n\nexport class TargetSoftwareProduct {\n Id: string;\n Name: string;\n\n constructor(id: string | undefined, name: string | null | undefined) {\n if (!id) throw new Error(\"target software must have an id\");\n if (!name) throw new Error(\"target software must have an name\");\n this.Id = id;\n this.Name = name;\n }\n\n static MapFromDto(dto: ITargetSoftwareProductModel) {\n return new TargetSoftwareProduct(dto.Id, dto.Name);\n }\n}\n","import type { IQuestelEntityModel } from \"~/open-api\";\nimport { TargetSoftwareProduct } from \"./TargetSoftwareProduct\";\n\nexport class QuestelEntity {\n constructor(id: string, name: string, targetSoftwareProducts: TargetSoftwareProduct[]) {\n this.Id = id;\n this.Name = name;\n this.TargetSoftwareProducts = targetSoftwareProducts;\n }\n\n static MapFromDto(x: IQuestelEntityModel): QuestelEntity {\n return new QuestelEntity(\n x.Id ?? \"\",\n x.Name ?? \"\",\n x.TargetSoftwareProducts ? x.TargetSoftwareProducts.map((t) => TargetSoftwareProduct.MapFromDto(t)) : []\n );\n }\n\n Id: string;\n Name: string;\n TargetSoftwareProducts: TargetSoftwareProduct[];\n}\n","import type { IClientModel } from \"~/open-api\";\n\nexport class Client {\n private _refClientId: number;\n private _name: string;\n private _isOnboarding: boolean;\n\n public get refClientId() {\n return this._refClientId;\n }\n\n public get name() {\n return this._name;\n }\n\n public get isOnboarding() {\n return this._isOnboarding;\n }\n\n static MapFromDto(x: IClientModel): any {\n return new Client(x.RefClientId, x.Name ?? \"\", x.IsOnboarding ?? false);\n }\n\n constructor(refClientId: number | undefined, name: string, isOnboarding: boolean) {\n if (!refClientId) throw new Error(\"client must have refClientId\");\n\n this._refClientId = refClientId;\n this._name = name;\n this._isOnboarding = isOnboarding;\n }\n}\n","import type { IIpmsModel } from \"~/open-api\";\n\nexport class Ipms {\n static MapFromDto(x: IIpmsModel): Ipms {\n return new Ipms(x.Name, x.LastUsage ?? \"\");\n }\n Name: string;\n LastUsage: string;\n\n constructor(name: string | null | undefined, lastUsage: string) {\n if (!name) throw new Error(\"Ipms must have a name\");\n\n this.Name = name;\n this.LastUsage = lastUsage;\n }\n}\n","import { defineStore } from \"pinia\";\nimport type { FieldMapping } from \"~/models/Configuration/FieldMapping\";\nimport type { IEditConfigurationModel } from \"~/models/Configuration/IEditConfigurationModel\";\nimport type { FileField } from \"~/models/Configuration/FileField\";\nimport { QuestelEntity } from \"~/models/Configuration/QuestelEntity\";\nimport type { TargetSoftwareProduct } from \"~/models/Configuration/TargetSoftwareProduct\";\nimport ConfigurationService from \"~/services/ConfigurationService\";\nimport { Client } from \"~/models/Configuration/Client\";\nimport type { SortOrder } from \"~/types/CommonTypes\";\nimport type { Configuration } from \"~/models/Configuration/Configuration\";\nimport { Ipms } from \"~/models/Configuration/Ipms\";\nimport { userHasPermission } from \"~/services/UserPermissionService\";\nimport { UserPermission } from \"~/enums/UserPermission\";\n\nconst initialConfigurationState: IEditConfigurationModel = {\n AppendHeaders: false,\n ConfigurationId: null,\n ConfigurationName: \"\",\n ClientId: null,\n ClientName: \"\",\n ImportTypeId: \"\",\n TargetSoftwareProductId: \"\",\n TargetSoftwareProductName: \"\",\n QuestelEntityId: \"\",\n QuestelEntityName: \"\",\n CultureInfo: null,\n FileFormat: null,\n FileId: null,\n IsTemplate: false,\n FieldMappings: [],\n FileFields: [],\n LastModifiedDate: \"\",\n LastModifiedBy: \"\",\n IpmsName: null,\n Delimiter: null,\n IsRemoved: false,\n Status: \"\",\n};\n\nexport const useImportConfigurationStore = defineStore(\"importConfiguration\", () => {\n const { t } = useI18n();\n\n const editConfiguration = ref(initialConfigurationState);\n\n const loaded = ref([]);\n const questelEntities = ref([]);\n const clients = ref([]);\n const softwareProducts = ref([]);\n const IpmsList = ref([]);\n const copyDialogActive = ref(false);\n const deleteDialogActive = ref(false);\n const configurationToCopyFromId = ref(null);\n const configurationToCopyFromFileFormat = ref(null);\n const configurationCopyTimeStamp = ref(null);\n const configurationToCopyFrom = ref(null);\n const configurationToDelete = ref(null);\n const configurationFieldsSortOrder = ref(\"asc\");\n const isConfigurationSaving = ref(false);\n const showDuplicateTemplateError = ref(false);\n\n const switchToImportHistoryTab = ref(false);\n\n const configurationIsValid = computed(\n () =>\n editConfiguration.value.ConfigurationName.length > 0 &&\n editConfiguration.value.ConfigurationName.length < 51 &&\n (editConfiguration.value.IsTemplate || editConfiguration.value.ClientId !== null) &&\n (editConfiguration.value.IsTemplate || editConfiguration.value.IpmsName !== null) &&\n editConfiguration.value.FileFormat !== null &&\n editConfiguration.value.TargetSoftwareProductId !== null &&\n editConfiguration.value.CultureInfo !== null &&\n editConfiguration.value.CultureInfo.length > 0 &&\n editConfiguration.value.QuestelEntityId &&\n editConfiguration.value.QuestelEntityId.length > 0\n );\n\n const configurationNameIsValid = ref(true);\n\n const setEditConfiguration = (configuration: IEditConfigurationModel | null) => {\n editConfiguration.value = configuration ?? { ...initialConfigurationState };\n };\n\n const setFileFields = (fileFields: FileField[]) => {\n editConfiguration.value.FileFields = fileFields;\n };\n\n const setFieldMappings = (fieldMappings: FieldMapping[]) => {\n editConfiguration.value.FieldMappings = fieldMappings;\n };\n\n const changeConfigurationFieldsSortOrder = () => {\n if (configurationFieldsSortOrder.value === \"asc\") configurationFieldsSortOrder.value = \"desc\";\n else configurationFieldsSortOrder.value = \"asc\";\n };\n\n const triggerSwitchToImportHistoryTab = (show: boolean) => {\n switchToImportHistoryTab.value = show;\n };\n\n const availableClients = computed(() => {\n if (!loaded.value.includes(\"clients\")) {\n ConfigurationService.getClients().then((response) => {\n const clientsResponse: Client[] = response.data.Data ? response.data.Data.map((x) => Client.MapFromDto(x)) : [];\n clients.value = clientsResponse;\n loaded.value.push(\"clients\");\n });\n }\n\n return clients.value;\n });\n\n const availableSoftwareProducts = computed(() => {\n if (!loaded.value.includes(\"softwareProducts\")) {\n softwareProducts.value = availableEntities.value.flatMap((qe) => qe.TargetSoftwareProducts);\n loaded.value.push(\"softwareProducts\");\n }\n\n return softwareProducts.value;\n });\n\n const availableEntities = computed(() => questelEntities.value);\n\n function fetchQuestelEntities() {\n if (loaded.value.includes(\"entities\")) {\n return;\n }\n ConfigurationService.getQuestelEntities().then((response) => {\n const entities: QuestelEntity[] = response.data.Data ? response.data.Data.map((x) => QuestelEntity.MapFromDto(x)) : [];\n questelEntities.value = entities;\n });\n loaded.value.push(\"entities\");\n }\n fetchQuestelEntities();\n\n const availableIpms = computed(() => {\n if (!loaded.value.includes(\"IPMS\")) {\n getIpms();\n loaded.value.push(\"IPMS\");\n }\n return IpmsList.value;\n });\n\n const userCanEditConfiguration = computed(\n // removed configuration cannot be modified\n // if configurationId is present, user should have edit permission present\n // in the opposite case, user should have create permission present\n () =>\n (editConfiguration.value.ConfigurationId !== null && !editConfiguration.value.IsRemoved && userHasPermission(UserPermission.CONFIGURATION_EDIT)) ||\n (editConfiguration.value.ConfigurationId === null &&\n userHasPermission(UserPermission.CONFIGURATION_CREATE) &&\n (!editConfiguration.value.IsTemplate || userCanEditTemplateConfiguration.value))\n );\n\n const userCanEditTemplateConfiguration = computed(\n // removed configuration cannot be modified\n () =>\n (editConfiguration.value.ConfigurationId !== null &&\n !editConfiguration.value.IsRemoved &&\n userHasPermission(UserPermission.CONFIGURATION_TEMPLATE_EDIT)) ||\n (editConfiguration.value.ConfigurationId === null && userHasPermission(UserPermission.CONFIGURATION_TEMPLATE_CREATE))\n );\n\n const clientsDataLoaded = computed(() => {\n return loaded.value.includes(\"clients\");\n });\n\n function getIpms() {\n ConfigurationService.getIpms().then((response) => {\n let ipmsList: Ipms[] = [];\n if (response.data.Data) {\n ipmsList = ipmsList.concat(response.data.Data.map((x) => Ipms.MapFromDto(x)));\n }\n // Sort by LastUsage as a string\n ipmsList.sort((a, b) => {\n return b.LastUsage.localeCompare(a.LastUsage);\n });\n const topUsed = [];\n for (let index = 0; index < 5; index++) {\n topUsed.push(ipmsList[index]);\n }\n\n IpmsList.value = topUsed.concat(\n ipmsList.slice(5).sort((a, b) => {\n return t(\"configuration_list.copy_configuration_dialog.ipms.\" + a.Name, a.Name).localeCompare(\n t(\"configuration_list.copy_configuration_dialog.ipms.\" + b.Name, b.Name)\n );\n })\n );\n });\n }\n\n watch(questelEntities, (newVal) => {\n softwareProducts.value = newVal.flatMap((qe) => qe.TargetSoftwareProducts);\n loaded.value.push(\"softwareProducts\");\n });\n\n watch(isConfigurationSaving, (newVal) => {\n if (newVal === false) {\n getIpms();\n }\n });\n\n return {\n editConfiguration,\n availableEntities,\n availableClients,\n availableSoftwareProducts,\n availableIpms,\n copyDialogActive,\n deleteDialogActive,\n configurationToCopyFromId,\n configurationToCopyFromFileFormat,\n configurationCopyTimeStamp,\n configurationToDelete,\n configurationToCopyFrom,\n configurationFieldsSortOrder,\n configurationIsValid,\n isConfigurationSaving,\n userCanEditConfiguration,\n userCanEditTemplateConfiguration,\n switchToImportHistoryTab,\n showDuplicateTemplateError,\n clientsDataLoaded,\n configurationNameIsValid,\n setEditConfiguration,\n setFileFields,\n setFieldMappings,\n changeConfigurationFieldsSortOrder,\n triggerSwitchToImportHistoryTab,\n };\n});\n"],"names":["TargetSoftwareProduct","id","name","__publicField","dto","QuestelEntity","targetSoftwareProducts","x","t","Client","refClientId","isOnboarding","Ipms","lastUsage","initialConfigurationState","useImportConfigurationStore","defineStore","useI18n","editConfiguration","ref","loaded","questelEntities","clients","softwareProducts","IpmsList","copyDialogActive","deleteDialogActive","configurationToCopyFromId","configurationToCopyFromFileFormat","configurationCopyTimeStamp","configurationToCopyFrom","configurationToDelete","configurationFieldsSortOrder","isConfigurationSaving","showDuplicateTemplateError","switchToImportHistoryTab","configurationIsValid","computed","configurationNameIsValid","setEditConfiguration","configuration","setFileFields","fileFields","setFieldMappings","fieldMappings","changeConfigurationFieldsSortOrder","triggerSwitchToImportHistoryTab","show","availableClients","ConfigurationService","response","clientsResponse","availableSoftwareProducts","availableEntities","qe","fetchQuestelEntities","entities","availableIpms","getIpms","userCanEditConfiguration","userHasPermission","UserPermission","userCanEditTemplateConfiguration","clientsDataLoaded","ipmsList","a","b","topUsed","index","watch","newVal"],"mappings":"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"}