Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added missing properties for iParameter #936

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
3b570e2
[KNOWAGE-7977] Revert fix about associative logice
kerny3d Jun 23, 2023
668032f
Merge branch 'knowage-server-8.1' of [email protected]:KnowageLabs/Knowa…
kerny3d Jun 23, 2023
52dc40a
Release 8.1.13
Jun 26, 2023
d2eca89
Merge commit 'caae022a554bf1f80f13e5b96fd6646a9608dfad' into release-…
Aug 3, 2023
49a988e
Merge commit 'c6653aa11c871934e1821d23051f611eb125fcfa' into release-…
Sep 29, 2023
12a03bf
Merge commit 'f208d370c0558d3bd5cec1970162e7c795a982f6' into release-…
Nov 8, 2023
1d084cf
Merge commit '8b1fe933f257fea29a916df4287ee954175f793e' into release-…
Nov 15, 2023
fb5f196
Merge commit '46ebecf84e2bb95f8537783cbe4df7524c08682b' into release-…
Nov 20, 2023
e1487f8
Bugfix KNOWAGE-8373
BojanSovticEngIT Jan 22, 2024
1897300
Reverted changes for KNOWAGE-8374
BojanSovticEngIT Jan 22, 2024
dce9031
Merge remote-tracking branch 'upstream/knowage-server-8.1' into dashb…
BojanSovticEngIT Jan 22, 2024
0e987b6
Bugfix KNOWAGE-8374
BojanSovticEngIT Jan 22, 2024
5b1667b
Merge commit '5df096208167a693bf58511bc0250a90d440478a' into release-…
Feb 2, 2024
230c753
Merge commit '4b28857e6c177fe013448127fb7b27b1b38200c3' into release-…
Mar 20, 2024
2374ccf
Merge remote-tracking branch 'upstream/knowage-server-8.1' into dashb…
BojanSovticEngIT Apr 19, 2024
fb50f34
Possible bugfix KNOWAGE-8460
BojanSovticEngIT Apr 19, 2024
6144423
Merge commit '92354edebea6740f69b0b845096b199ef99a720c' into release-…
Apr 23, 2024
0258db8
Merge commit '0f87b2b6a983f953af9a60f1ff97c8c6f61c9dc8' into release-…
May 16, 2024
dc05f0f
Merge commit '94ecef5dbb007aeea58535bde109b44ab4f4bb8f' into release-…
May 30, 2024
138132d
Merge commit '6b973ae872515e304bcf896b2941331444a74922' into release-…
Jun 10, 2024
75f4069
Merge commit 'ea6489e1b47527ffecd962c1f85e4de5780fd89d' into release-…
Jun 18, 2024
199780e
Merge commit 'c1f2911498dc9469397a672b492503eebd8de2d4' into release-…
Jul 8, 2024
b6a77de
Merge branch 'knowage-server-8.1' of https://github.com/KnowageLabs/K…
BojanSovticEngIT Jul 19, 2024
6b8cfa1
Possible bugfix KNOWAGE-8571
BojanSovticEngIT Jul 19, 2024
b5b9d74
Possible Bugfix KNOWAGE-8586
BojanSovticEngIT Jul 26, 2024
f3e682c
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Jul 26, 2024
449ffec
Bugfix KNOWAGE-8560
BojanSovticEngIT Jul 26, 2024
8b4ee48
Merge commit '0c290bd8e774da1a0c9a2dd27dfcfcc385b82239' into release-…
Jul 29, 2024
8f1ceb6
Possible bugfix KNOWAGE-8571
BojanSovticEngIT Aug 1, 2024
6df16c7
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Aug 1, 2024
d68687c
Bugfix KNOWAGE-8571
BojanSovticEngIT Aug 6, 2024
1c2f340
Merge branch 'dashboard-sprint-15-bugfix-8.1' of https://github.com/v…
BojanSovticEngIT Aug 6, 2024
5e73985
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Aug 6, 2024
07db227
Possible bugfix KNOWAGE-8543
BojanSovticEngIT Aug 6, 2024
8179c0c
Merge branch 'dashboard-sprint-15-bugfix-8.1' of https://github.com/v…
BojanSovticEngIT Aug 6, 2024
a53160b
Possible bugfix KNOWAGE-7893
BojanSovticEngIT Aug 6, 2024
260ccb5
Bugfix KNOWAGE-7679
BojanSovticEngIT Aug 23, 2024
22037ea
Possible bugfix KNOWAGE-8643
BojanSovticEngIT Oct 7, 2024
8ba7d31
Merge remote-tracking branch 'upstream/knowage-server-8.1' into dashb…
BojanSovticEngIT Oct 7, 2024
d6eb991
Possible bugfix KNOWAGE-8643
BojanSovticEngIT Oct 7, 2024
1d02b5c
Possible bugfix KNOWAGE-7852
BojanSovticEngIT Oct 7, 2024
2c959c5
Possible bugfix https://production.eng.it/jira/browse/KNOWAGE-7871
BojanSovticEngIT Oct 18, 2024
4ca8f5c
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Oct 18, 2024
f737fcc
Merge commit '099f571a3cfccd0de24de44af26525acf6140c08' into release-…
Oct 25, 2024
f436d04
Bugfix KNOWAGE-7679
BojanSovticEngIT Oct 30, 2024
6abb57b
Merge branch 'dashboard-sprint-15-bugfix-8.1' of https://github.com/v…
BojanSovticEngIT Oct 30, 2024
fe763da
Merge branch 'release-knowage-server-8.1' into dashboard-sprint-15-bu…
Redjaw Oct 30, 2024
ccbe11a
Fix
BojanSovticEngIT Dec 9, 2024
c61322e
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Dec 9, 2024
12c1874
Bugfix KNOWAGE-8702
BojanSovticEngIT Jan 13, 2025
f8a0329
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Jan 13, 2025
27e9404
Bugfix KNOWAGE-7893
BojanSovticEngIT Jan 16, 2025
03facc5
Merge branch 'knowage-server-8.1' into dashboard-sprint-15-bugfix-8.1
Redjaw Jan 16, 2025
98d741b
Added missing properties iParameter interface
BojanSovticEngIT Jan 17, 2025
9d0fd3c
Merge branch 'dashboard-sprint-15-bugfix-8.1' of https://github.com/v…
BojanSovticEngIT Jan 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ export interface iParameter {
lovDependentParameters?: iParameter[]
driverMaxValue?: string | null
driverMaxDateValue?: Date | null
valueColumnNameMetadata?: string
descriptionColumnNameMetadata: string
initialValue?: string | number | Date | null
}

Expand Down
2 changes: 1 addition & 1 deletion knowage-vue/src/modules/qbe/QBE.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export interface iFilter {
leftOperandLastValue: any
leftOperandLongDescription: string
leftOperandType: string
leftOperandValue: string
leftOperandValue: any
operator: string
promptable: boolean
rightOperandAlias?: any
Expand Down
9 changes: 5 additions & 4 deletions knowage-vue/src/modules/qbe/QBE.vue
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ import calcFieldDescriptor from './QBECalcFieldDescriptor.json'
import KnCalculatedField from '@/components/functionalities/KnCalculatedField/KnCalculatedField.vue'
import Dropdown from 'primevue/dropdown'
import { getCorrectRolesForExecution } from '@/helpers/commons/roleHelper'
import { getFormattedQBECatalogueForAPI } from './QBEHelper'

const crypto = require('crypto')
const deepcopy = require('deepcopy')
Expand Down Expand Up @@ -233,7 +234,7 @@ export default defineComponent({
KnCalculatedField,
Dropdown
},
props: { visible: { type: Boolean }, dataset: { type: Object }, returnQueryMode: { type: Boolean }, getQueryFromDatasetProp: { type: Boolean }, sourceDataset: { type: Object },fromDsManagement: { type: Boolean, default: false } },
props: { visible: { type: Boolean }, dataset: { type: Object }, returnQueryMode: { type: Boolean }, getQueryFromDatasetProp: { type: Boolean }, sourceDataset: { type: Object }, fromDsManagement: { type: Boolean, default: false } },
emits: ['close', 'querySaved'],
data() {
return {
Expand Down Expand Up @@ -344,7 +345,7 @@ export default defineComponent({
}
})
.catch(() => this.$emit('close'))
}else await this.loadPage()
} else await this.loadPage()
},
methods: {
//#region ===================== Load QBE and format data ====================================================
Expand Down Expand Up @@ -599,12 +600,12 @@ export default defineComponent({
}
})
},
async executeQBEQuery(showPreview: boolean) {
async executeQBEQuery(showPreview: boolean, filters?: iFilter[]) {
if (!this.qbe) return
if (this.qbe.qbeJSONQuery && this.qbe.qbeJSONQuery.catalogue.queries[0].fields.length == 0) return
this.loading = true

const postData = { catalogue: this.qbe?.qbeJSONQuery?.catalogue.queries, meta: this.formatQbeMeta(), pars: this.qbe?.pars, qbeJSONQuery: {}, schedulingCronLine: '0 * * * * ?' }
const postData = { catalogue: getFormattedQBECatalogueForAPI(this.qbe?.qbeJSONQuery?.catalogue.queries, filters), meta: this.formatQbeMeta(), pars: this.qbe?.pars, qbeJSONQuery: {}, schedulingCronLine: '0 * * * * ?' }
await this.$http
.post(process.env.VUE_APP_QBE_PATH + `qbequery/executeQuery/?SBI_EXECUTION_ID=${this.uniqueID}&currentQueryId=${this.selectedQuery.id}&start=${this.pagination.start}&limit=${this.pagination.limit}`, postData)
.then((response: AxiosResponse<any>) => {
Expand Down
4 changes: 2 additions & 2 deletions knowage-vue/src/modules/qbe/QBEFilterService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export function onFiltersSaveCallback(filters: iFilter[], field: iField, paramet
qbe.pars = parameters ? [...parameters] : []

if (smartView) {
executeQBEQuery(false)
executeQBEQuery(false, filters)
}
}

Expand Down Expand Up @@ -63,4 +63,4 @@ export function removeDeletedFilters(filters: iFilter[], field: iField, expressi
}
}
}
}
}
81 changes: 81 additions & 0 deletions knowage-vue/src/modules/qbe/QBEHelper.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
import { localeDate } from '@/helpers/commons/localeHelper'
import { iFilter } from './QBE'
import moment from 'moment'
import deepcopy from 'deepcopy'

export const getFormattedQBECatalogueForAPI = (qbeCatalogue: any, filters: iFilter[] | undefined) => {
if (!filters) return qbeCatalogue

const tempCatalogue = deepcopy(qbeCatalogue)

const filtersCopy = filters.map((filter) => ({ ...filter }))

filtersCopy.forEach((filter: iFilter) => {
const isDateOrTimestamp = ['DATE', 'TIMESTAMP'].includes(filter.leftOperandValue?.type)
const isCaluclatedField = filter.leftOperandType === 'inline.calculated.field'
if (isDateOrTimestamp && isCaluclatedField) formatManualDate(filter, tempCatalogue)
})

return tempCatalogue
}

const formatManualDate = (filter: iFilter, qbeCatalogue: any) => {
const serverFormat = 'DD/MM/YYYY hh:mm'
const format = localeDate()
.replace(/yyyy/g, 'YYYY')
.replace(/dd/g, 'DD')
.replace(/d/g, 'D')
.replace(/MM/g, 'MM')
.replace(/M/g, 'M')
.replace(/hh/g, 'HH')
.replace(/mm/g, 'mm')
.replace(/ss/g, 'ss')
.replace(/SSS/g, 'SSS')
const momentDate = moment(filter.rightOperandDescription, format, true)

if (momentDate.isValid()) {
const formattedDate = momentDate.format(serverFormat)
const properDateForAPI = truncateDateTimeForAPI(formattedDate)
filter.rightOperandValue = [properDateForAPI]
filter.rightOperandDescription = properDateForAPI
} else {
filter.rightOperandValue = []
filter.rightOperandDescription = ''
}

updateFilterRightOperandValue(qbeCatalogue, filter)
}

const updateFilterRightOperandValue = (qbeCatalogue: any[], qbeFilter: iFilter) => {
if (!Array.isArray(qbeCatalogue)) return

qbeCatalogue.forEach((catalogue) => {
if (!catalogue?.filters || !catalogue?.expression) return

const filterToUpdate = catalogue.filters.find((filter: iFilter) => filter.filterId === qbeFilter.filterId)

if (filterToUpdate) {
filterToUpdate.rightOperandValue = qbeFilter.rightOperandValue
filterToUpdate.rightOperandDescription = qbeFilter.rightOperandDescription

const updateExpressionTree = (node: any): void => {
if (!node) return

if (node.value.includes(qbeFilter.filterId)) node.details.rightOperandValue = qbeFilter.rightOperandValue

if (node.childNodes && Array.isArray(node.childNodes)) {
node.childNodes.forEach(updateExpressionTree)
}
}

updateExpressionTree(catalogue.expression)
}
})
}

function truncateDateTimeForAPI(dateTime: string | null | undefined) {
if (!dateTime || dateTime.trim() === '') {
return ''
}
return dateTime.split(' ')[0]
}
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ import Dropdown from 'primevue/dropdown'
import QBEFilterDialogDescriptor from './QBEFilterDialogDescriptor.json'
import QBEFilterValuesTable from './QBEFilterValuesTable.vue'
import moment from 'moment'
import { localeDate } from '@/helpers/commons/localeHelper'

export default defineComponent({
name: 'qbe-filter-card',
Expand Down Expand Up @@ -308,23 +307,9 @@ export default defineComponent({
},
onManualValueChange() {
if (this.filter) {
const isDateOrTimestamp = ['DATE', 'TIMESTAMP'].includes(this.field?.id?.type)
if (isDateOrTimestamp) this.formatManualDate()
this.filter.rightOperandValue = [this.filter.rightOperandDescription]
}
},
formatManualDate() {
if (!this.filter) return

const serverFormat = 'DD/MM/YYYY hh:mm'
const format = localeDate().replace(/yyyy/g, 'YYYY').replace(/dd/g, 'DD').replace(/d/g, 'D').replace(/MM/g, 'MM').replace(/M/g, 'M').replace(/hh/g, 'HH').replace(/mm/g, 'mm').replace(/ss/g, 'ss').replace(/SSS/g, 'SSS')
const momentDate = moment(this.filter.rightOperandDescription, format, true)

if (momentDate.isValid()) {
const formattedDate = momentDate.format(serverFormat)
this.filter.rightOperandDescription = formattedDate
}
},
onManualBetweenChange() {
if (this.filter) {
this.filter.rightOperandValue = [this.firstOperand, this.secondOperand]
Expand Down
Loading