diff --git a/src/components/UI/KnParameterSidebar/KnParameterSidebar.d.ts b/src/components/UI/KnParameterSidebar/KnParameterSidebar.d.ts
index cc19e5cc6..771eca814 100644
--- a/src/components/UI/KnParameterSidebar/KnParameterSidebar.d.ts
+++ b/src/components/UI/KnParameterSidebar/KnParameterSidebar.d.ts
@@ -35,6 +35,8 @@ export interface iParameter {
lovDependentParameters?: iParameter[]
driverMaxValue?: string | null
driverMaxDateValue?: Date | null
+ driverMinValue?: string | null
+ driverMinDateValue?: Date | null
valueColumnNameMetadata?: string
descriptionColumnNameMetadata: string
initialValue?: string | number | Date | null
diff --git a/src/components/UI/KnParameterSidebar/KnParameterSidebar.vue b/src/components/UI/KnParameterSidebar/KnParameterSidebar.vue
index 7aa7c137a..51b823cbc 100644
--- a/src/components/UI/KnParameterSidebar/KnParameterSidebar.vue
+++ b/src/components/UI/KnParameterSidebar/KnParameterSidebar.vue
@@ -83,6 +83,7 @@
'p-invalid': parameter.mandatory && parameter.parameterValue && !parameter.parameterValue[0]?.value
}"
:maxDate="parameter.driverMaxDateValue ?? undefined"
+ :minDate="parameter.driverMinDateValue ?? undefined"
:data-test="'parameter-date-input-' + parameter.id"
@change="updateDependency(parameter)"
@date-select="updateDependency(parameter)"
diff --git a/src/i18n/en-US/messages.json b/src/i18n/en-US/messages.json
index 02f527a84..12ee00a6d 100644
--- a/src/i18n/en-US/messages.json
+++ b/src/i18n/en-US/messages.json
@@ -601,7 +601,6 @@
"generalSettings": {
"aiSettingsError": "No dataset available for AI settings. Please add a dataset in the Dataset Editor.",
"aiSettingsHint": "These settings are used by the AI algorithm to understand the data and provide better results. You can set the desired dataset to be investigated and columns specifid informations.",
- "selectDataset": "Select Dataset",
"aisettings": "AI Settings",
"attribute": "Attribute",
"background": {
@@ -637,6 +636,7 @@
"xlsxExportFileName": "Dashboard XLSX export file name"
},
"profile": "Profile",
+ "selectDataset": "Select Dataset",
"themes": {
"applyTheme": "Apply Theme",
"dashboardTheme": "Dashboard Theme",
@@ -3292,6 +3292,7 @@
"layerProp": "Layer property",
"lov": "LOV",
"maxValue": "Max value",
+ "minValue": "Min value",
"modality": "Select modality",
"roles": "Roles",
"selectDefaultFormula": "Select",
diff --git a/src/modules/documentExecution/documentDetails/DocumentDetails.d.ts b/src/modules/documentExecution/documentDetails/DocumentDetails.d.ts
index df6e76282..8ee52b50d 100644
--- a/src/modules/documentExecution/documentDetails/DocumentDetails.d.ts
+++ b/src/modules/documentExecution/documentDetails/DocumentDetails.d.ts
@@ -60,6 +60,7 @@ export interface iAnalyticalDriver {
modalityValue: any
modalityValueForDefault: any
modalityValueForMax: any
+ modalityValueForMin: any
name: string
selectedLayer: any
selectedLayerProp: any
@@ -229,24 +230,24 @@ export interface iDocumentType {
}
export interface iMondrianSchema {
- id: number,
- currentContentId: number,
- name: string,
- description: string,
- type: string,
- modelLocked: boolean,
+ id: number
+ currentContentId: number
+ name: string
+ description: string
+ type: string
+ modelLocked: boolean
modelLocker: string | null
}
export interface iXMLATemplate {
- address: string;
- parameters: { name: string, value: string }[]
+ address: string
+ parameters: { name: string; value: string }[]
}
export interface iMondrianTemplate {
- id: number,
- mondrianSchema: string,
- mondrianSchemaId: number,
- mdxQuery: string,
+ id: number
+ mondrianSchema: string
+ mondrianSchemaId: number
+ mdxQuery: string
mondrianMdxQuery: string
-}
\ No newline at end of file
+}
diff --git a/src/modules/documentExecution/main/DocumentExecutionDriverHelpers.ts b/src/modules/documentExecution/main/DocumentExecutionDriverHelpers.ts
index 736c20240..411ac8cc6 100644
--- a/src/modules/documentExecution/main/DocumentExecutionDriverHelpers.ts
+++ b/src/modules/documentExecution/main/DocumentExecutionDriverHelpers.ts
@@ -170,6 +170,10 @@ const formatDateDriver = (el: any, dateFormat: string) => {
const validDate = getValidDate('' + el.driverMaxValue, dateFormat)
el.driverMaxDateValue = validDate === '' ? null : validDate
}
+ if (el.driverMinValue) {
+ const validDate = getValidDate('' + el.driverMinValue, dateFormat)
+ el.driverMinDateValue = validDate === '' ? null : validDate
+ }
}
}
diff --git a/src/modules/managers/behaviouralModelLineage/BehaviouralModelLineage.d.ts b/src/modules/managers/behaviouralModelLineage/BehaviouralModelLineage.d.ts
index 32b9924a9..4ffaab0a5 100644
--- a/src/modules/managers/behaviouralModelLineage/BehaviouralModelLineage.d.ts
+++ b/src/modules/managers/behaviouralModelLineage/BehaviouralModelLineage.d.ts
@@ -22,6 +22,7 @@ export interface iAnalyticalDriver {
modalityValue: any
modalityValueForDefault: any
modalityValueForMax: any
+ modalityValueForMin: any
name: string
selectedLayer: any
selectedLayerProp: any
diff --git a/src/modules/managers/driversManagement/DriversManagement.d.ts b/src/modules/managers/driversManagement/DriversManagement.d.ts
index 5ff226f7d..c9d26e92c 100644
--- a/src/modules/managers/driversManagement/DriversManagement.d.ts
+++ b/src/modules/managers/driversManagement/DriversManagement.d.ts
@@ -11,6 +11,7 @@ export interface iDriver {
modalityValue?: any
modalityValueForDefault?: any
modalityValueForMax?: any
+ modalityValueForMin?: any
defaultFormula?: string
valueSelection?: any
selectedLayer?: any
diff --git a/src/modules/managers/driversManagement/DriversManagementDetail.vue b/src/modules/managers/driversManagement/DriversManagementDetail.vue
index 5a2d1fc66..354f7c663 100644
--- a/src/modules/managers/driversManagement/DriversManagementDetail.vue
+++ b/src/modules/managers/driversManagement/DriversManagementDetail.vue
@@ -147,12 +147,16 @@ export default defineComponent({
if (mode.idLovForMax === null) {
mode.idLovForMax = -1
}
+ if (mode.idLovForMin === null) {
+ mode.idLovForMin = -1
+ }
const obj = JSON.parse(JSON.stringify(mode))
delete obj.numberOfErrors
delete obj.defLov
delete obj.typeLov
delete obj.maxLov
+ delete obj.minLov
delete obj.edited
this.modesToSave.push(obj)
})
diff --git a/src/modules/managers/driversManagement/useModes/DriversManagementUseMode.vue b/src/modules/managers/driversManagement/useModes/DriversManagementUseMode.vue
index 06e269808..c2ba3bcd1 100644
--- a/src/modules/managers/driversManagement/useModes/DriversManagementUseMode.vue
+++ b/src/modules/managers/driversManagement/useModes/DriversManagementUseMode.vue
@@ -112,7 +112,7 @@ export default defineComponent({
if (event.value) {
this.selectedUseMode = event.value
} else {
- this.selectedUseMode = { useID: -1, idLov: null, defaultFormula: null, idLovForMax: null, idLovForDefault: null, associatedRoles: [], associatedChecks: [] }
+ this.selectedUseMode = { useID: -1, idLov: null, defaultFormula: null, idLovForMax: null, idLovForMin: null, idLovForDefault: null, associatedRoles: [], associatedChecks: [] }
this.modes.push(this.selectedUseMode)
}
this.disabledRoles = []
diff --git a/src/modules/managers/driversManagement/useModes/DriversManagementUseModeDetailsCard.vue b/src/modules/managers/driversManagement/useModes/DriversManagementUseModeDetailsCard.vue
index bc62843f2..d9b519431 100644
--- a/src/modules/managers/driversManagement/useModes/DriversManagementUseModeDetailsCard.vue
+++ b/src/modules/managers/driversManagement/useModes/DriversManagementUseModeDetailsCard.vue
@@ -69,6 +69,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -119,6 +130,7 @@ export default defineComponent({
selectedType: null,
selectedDefault: null as any,
selectedMax: null as any,
+ selectedMin: null as any,
lov: null as any,
lovType: null as any,
dialogVisiable: false,
@@ -142,6 +154,9 @@ export default defineComponent({
},
required_lov_for_max: () => {
return this.selectedMax != 'lov' || this.mode.maxLov.name != null
+ },
+ required_lov_for_min: () => {
+ return this.selectedMin != 'lov' || this.mode.minLov.name != null
}
}
return {
@@ -196,6 +211,10 @@ export default defineComponent({
this.lov = this.mode.maxLov
this.lovType = 'max'
break
+ case 'min':
+ this.lov = this.mode.minLov
+ this.lovType = 'min'
+ break
}
},
handleDropdowns() {
@@ -213,6 +232,12 @@ export default defineComponent({
} else {
this.selectedMax = 'none'
}
+
+ if (this.mode.idLovForMin != null) {
+ this.selectedMin = 'lov'
+ } else {
+ this.selectedMin = 'none'
+ }
},
setType() {
this.selectedDefault = 'none'
@@ -256,6 +281,13 @@ export default defineComponent({
}
this.modeChanged()
},
+ setMin() {
+ if (this.selectedMin == 'none') {
+ this.mode.idLovForMin = null
+ this.mode.minLov = { name: null }
+ }
+ this.modeChanged()
+ },
setDirty() {
this.$emit('touched')
},
@@ -278,6 +310,10 @@ export default defineComponent({
this.mode.maxLov = lov
this.mode.idLovForMax = lov.id
break
+ case 'min':
+ this.mode.minLov = lov
+ this.mode.idLovForMin = lov.id
+ break
}
this.modeChanged()
},
@@ -291,6 +327,9 @@ export default defineComponent({
if (this.mode.idLovForMax) {
this.mode.maxLov = this.lovs?.filter((lov: any) => lov.id == this.mode.idLovForMax)[0]
} else this.mode.maxLov = { name: null }
+ if (this.mode.idLovForMin) {
+ this.mode.minLov = this.lovs?.filter((lov: any) => lov.id == this.mode.idLovForMin)[0]
+ } else this.mode.minLov = { name: null }
}
}
})
diff --git a/src/modules/managers/driversManagement/useModes/UseModeValidationDescriptor.json b/src/modules/managers/driversManagement/useModes/UseModeValidationDescriptor.json
index 078e54475..edf35ed4e 100644
--- a/src/modules/managers/driversManagement/useModes/UseModeValidationDescriptor.json
+++ b/src/modules/managers/driversManagement/useModes/UseModeValidationDescriptor.json
@@ -76,6 +76,14 @@
"key": "required_lov_for_max"
}
]
+ },
+ {
+ "fieldName": "minLov",
+ "validators": [
+ {
+ "key": "required_lov_for_min"
+ }
+ ]
}
]
}
diff --git a/src/modules/managers/driversManagement/useModes/UseModesDescriptor.json b/src/modules/managers/driversManagement/useModes/UseModesDescriptor.json
index facd432ed..ef273d0e0 100644
--- a/src/modules/managers/driversManagement/useModes/UseModesDescriptor.json
+++ b/src/modules/managers/driversManagement/useModes/UseModesDescriptor.json
@@ -46,11 +46,7 @@
"width": "70vw"
}
},
- "globalFilterFields": [
- "label",
- "name",
- "description"
- ],
+ "globalFilterFields": ["label", "name", "description"],
"maxValues": [
{
"label": "none",
@@ -61,6 +57,16 @@
"name": "Use a LOV"
}
],
+ "minValues": [
+ {
+ "label": "none",
+ "name": "None"
+ },
+ {
+ "label": "lov",
+ "name": "Use a LOV"
+ }
+ ],
"table": {
"column": {
"style": {
@@ -85,4 +91,4 @@
"valueSelection": "man_in"
}
]
-}
\ No newline at end of file
+}