Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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 @@ -107,6 +107,15 @@ step:
value: setValueFromDbDetails|/spec/version
loader: getDbVersions
schema: schema/properties/spec/properties/updateVersion/properties/targetVersion
- type: info
label: ''
loader:
name: getVersionInfo
watchPaths:
- temp/properties/filteredVersion
if:
type: function
name: isVersionEmpty
# Horizontal Scale
- type: block-layout
label: Horizontal Scaling Form
Expand Down
43 changes: 40 additions & 3 deletions charts/opskubedbcom-elasticsearchopsrequest-editor/ui/functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,8 @@ export const useFunc = (model) => {
// Database Version Functions
// =====================================================

let presetVersions = []
setDiscriminatorValue('/filteredVersion', [])
async function getDbVersions() {
const owner = storeGet('/route/params/user')
const cluster = storeGet('/route/params/cluster')
Expand All @@ -533,7 +535,7 @@ export const useFunc = (model) => {
}
}
try {
const presetVersions = presets.admin?.databases?.Elasticsearch?.versions?.available || []
presetVersions = presets.admin?.databases?.Elasticsearch?.versions?.available || []
const queryParams = {
filter: {
items: {
Expand All @@ -559,7 +561,7 @@ export const useFunc = (model) => {
const limit = allowed.length ? allowed[0] : '0.0'
// keep only non deprecated & kubedb-ui-presets & within constraints of current version
// if presets.status is 404, it means no presets available, no need to filter with presets
const filteredElasticsearchVersions = sortedVersions.filter((item) => {
const filteredDbVersions = sortedVersions.filter((item) => {
// default limit 0.0 means no restrictions, show all higher versions
if (limit === '0.0')
return (
Expand All @@ -582,7 +584,8 @@ export const useFunc = (model) => {
isVersionWithinConstraints(item.spec?.version, limit)
)
})
return filteredElasticsearchVersions.map((item) => {
setDiscriminatorValue('/filteredVersion', filteredDbVersions)
return filteredDbVersions.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
Expand Down Expand Up @@ -632,6 +635,37 @@ export const useFunc = (model) => {
return true
}

function getVersionInfo() {
const filteredVersion = getValue(discriminator, '/filteredVersion')
if (filteredVersion.length) return ''

let txt = 'No versions from this list can be selected as the target version: [ '

presetVersions.forEach((v, idx) => {
txt = `${txt}"${v}"`
if (idx !== presetVersions.length - 1) txt = txt + ', '
else txt = txt + ' ]'
})

return txt
}

function getVersion() {
return filteredVersion.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
text: `${name} (${specVersion})`,
value: name,
}
})
}

function isVersionEmpty() {
const val = getValue(discriminator, '/filteredVersion')
return val.length === 0
}

// =====================================================
// OpsRequest Type Functions
// =====================================================
Expand Down Expand Up @@ -1995,6 +2029,9 @@ export const useFunc = (model) => {

// Database version functions
getDbVersions,
getVersionInfo,
isVersionEmpty,
getVersion,

// OpsRequest type functions
ifRequestTypeEqualsTo,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,15 @@ step:
value: setValueFromDbDetails|/spec/version
loader: getDbVersions
schema: schema/properties/spec/properties/updateVersion/properties/targetVersion
- type: info
label: ''
loader:
name: getVersionInfo
watchPaths:
- temp/properties/filteredVersion
if:
type: function
name: isVersionEmpty
# Horizontal Scale
- type: block-layout
label: Horizontal Scaling Form
Expand Down
43 changes: 40 additions & 3 deletions charts/opskubedbcom-ferretdbopsrequest-editor/ui/functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,8 @@ export const useFunc = (model) => {
} else return {}
}

let presetVersions = []
setDiscriminatorValue('/filteredVersion', [])
async function getDbVersions() {
const owner = storeGet('/route/params/user')
const cluster = storeGet('/route/params/cluster')
Expand All @@ -445,7 +447,7 @@ export const useFunc = (model) => {
}
}
try {
const presetVersions = presets.admin?.databases?.FerretDB?.versions?.available || []
presetVersions = presets.admin?.databases?.FerretDB?.versions?.available || []
const queryParams = {
filter: {
items: {
Expand All @@ -471,7 +473,7 @@ export const useFunc = (model) => {
const limit = allowed.length ? allowed[0] : '0.0'
// keep only non deprecated & kubedb-ui-presets & within constraints of current version
// if presets.status is 404, it means no presets available, no need to filter with presets
const filteredFerretDBVersions = sortedVersions.filter((item) => {
const filteredDbVersions = sortedVersions.filter((item) => {
// default limit 0.0 means no restrictions, show all higher versions
if (limit === '0.0')
return (
Expand All @@ -494,7 +496,8 @@ export const useFunc = (model) => {
isVersionWithinConstraints(item.spec?.version, limit)
)
})
return filteredFerretDBVersions.map((item) => {
setDiscriminatorValue('/filteredVersion', filteredDbVersions)
return filteredDbVersions.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
Expand Down Expand Up @@ -544,6 +547,37 @@ export const useFunc = (model) => {
return true
}

function getVersionInfo() {
const filteredVersion = getValue(discriminator, '/filteredVersion')
if (filteredVersion.length) return ''

let txt = 'No versions from this list can be selected as the target version: [ '

presetVersions.forEach((v, idx) => {
txt = `${txt}"${v}"`
if (idx !== presetVersions.length - 1) txt = txt + ', '
else txt = txt + ' ]'
})

return txt
}

function getVersion() {
return filteredVersion.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
text: `${name} (${specVersion})`,
value: name,
}
})
}

function isVersionEmpty() {
const val = getValue(discriminator, '/filteredVersion')
return val.length === 0
}

function ifRequestTypeEqualsTo(type) {
const selectedType = getValue(model, '/spec/type')
// watchDependency('model#/spec/type')
Expand Down Expand Up @@ -1243,6 +1277,9 @@ export const useFunc = (model) => {
getDbs,
getDbDetails,
getDbVersions,
getVersionInfo,
isVersionEmpty,
getVersion,
ifRequestTypeEqualsTo,
onRequestTypeChange,
getDbTls,
Expand Down
9 changes: 9 additions & 0 deletions charts/opskubedbcom-kafkaopsrequest-editor/ui/create-ui.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,15 @@ step:
value: setValueFromDbDetails|/spec/version
loader: getDbVersions
schema: schema/properties/spec/properties/updateVersion/properties/targetVersion
- type: info
label: ''
loader:
name: getVersionInfo
watchPaths:
- temp/properties/filteredVersion
if:
type: function
name: isVersionEmpty
# Horizontal Scale
- type: block-layout
label: Horizontal Scaling Form
Expand Down
39 changes: 38 additions & 1 deletion charts/opskubedbcom-kafkaopsrequest-editor/ui/functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,8 @@ export const useFunc = (model) => {
} else return {}
}

let presetVersions = []
setDiscriminatorValue('/filteredVersion', [])
async function getDbVersions() {
const owner = storeGet('/route/params/user')
const cluster = storeGet('/route/params/cluster')
Expand All @@ -448,7 +450,7 @@ export const useFunc = (model) => {
}
}
try {
const presetVersions = presets.admin?.databases?.Kafka?.versions?.available || []
presetVersions = presets.admin?.databases?.Kafka?.versions?.available || []
const queryParams = {
filter: {
items: {
Expand Down Expand Up @@ -497,6 +499,7 @@ export const useFunc = (model) => {
isVersionWithinConstraints(item.spec?.version, limit)
)
})
setDiscriminatorValue('/filteredVersion', filteredKafkaVersions)
return filteredKafkaVersions.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
Expand Down Expand Up @@ -547,6 +550,37 @@ export const useFunc = (model) => {
return true
}

function getVersionInfo() {
const filteredVersion = getValue(discriminator, '/filteredVersion')
if (filteredVersion.length) return ''

let txt = 'No versions from this list can be selected as the target version: [ '

presetVersions.forEach((v, idx) => {
txt = `${txt}"${v}"`
if (idx !== presetVersions.length - 1) txt = txt + ', '
else txt = txt + ' ]'
})

return txt
}

function getVersion() {
return filteredVersion.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
text: `${name} (${specVersion})`,
value: name,
}
})
}

function isVersionEmpty() {
const val = getValue(discriminator, '/filteredVersion')
return val.length === 0
}

function ifRequestTypeEqualsTo(type) {
const selectedType = getValue(model, '/spec/type')
// watchDependency('model#/spec/type')
Expand Down Expand Up @@ -1780,6 +1814,9 @@ export const useFunc = (model) => {
getDbs,
getDbDetails,
getDbVersions,
getVersionInfo,
isVersionEmpty,
getVersion,
ifRequestTypeEqualsTo,
onRequestTypeChange,
getDbTls,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,15 @@ step:
value: setValueFromDbDetails|/spec/version
loader: getDbVersions
schema: schema/properties/spec/properties/updateVersion/properties/targetVersion
- type: info
label: ''
loader:
name: getVersionInfo
watchPaths:
- temp/properties/filteredVersion
if:
type: function
name: isVersionEmpty
# Horizontal Scale
- type: block-layout
label: Horizontal Scaling Form
Expand Down
43 changes: 40 additions & 3 deletions charts/opskubedbcom-mariadbopsrequest-editor/ui/functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -432,6 +432,8 @@ export const useFunc = (model) => {
} else return {}
}

let presetVersions = []
setDiscriminatorValue('/filteredVersion', [])
async function getDbVersions() {
const owner = storeGet('/route/params/user')
const cluster = storeGet('/route/params/cluster')
Expand All @@ -447,7 +449,7 @@ export const useFunc = (model) => {
}
}
try {
const presetVersions = presets.admin?.databases?.MariaDB?.versions?.available || []
presetVersions = presets.admin?.databases?.MariaDB?.versions?.available || []
const queryParams = {
filter: {
items: {
Expand All @@ -473,7 +475,7 @@ export const useFunc = (model) => {
const limit = allowed.length ? allowed[0] : '0.0'
// keep only non deprecated & kubedb-ui-presets & within constraints of current version
// if presets.status is 404, it means no presets available, no need to filter with presets
const filteredMariaDbVersions = sortedVersions.filter((item) => {
const filteredDbVersions = sortedVersions.filter((item) => {
// default limit 0.0 means no restrictions, show all higher versions
if (limit === '0.0')
return (
Expand All @@ -496,7 +498,8 @@ export const useFunc = (model) => {
isVersionWithinConstraints(item.spec?.version, limit)
)
})
return filteredMariaDbVersions.map((item) => {
setDiscriminatorValue('/filteredVersion', filteredDbVersions)
return filteredDbVersions.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
Expand Down Expand Up @@ -546,6 +549,37 @@ export const useFunc = (model) => {
return true
}

function getVersionInfo() {
const filteredVersion = getValue(discriminator, '/filteredVersion')
if (filteredVersion.length) return ''

let txt = 'No versions from this list can be selected as the target version: [ '

presetVersions.forEach((v, idx) => {
txt = `${txt}"${v}"`
if (idx !== presetVersions.length - 1) txt = txt + ', '
else txt = txt + ' ]'
})

return txt
}

function getVersion() {
return filteredVersion.map((item) => {
const name = (item.metadata && item.metadata.name) || ''
const specVersion = (item.spec && item.spec.version) || ''
return {
text: `${name} (${specVersion})`,
value: name,
}
})
}

function isVersionEmpty() {
const val = getValue(discriminator, '/filteredVersion')
return val.length === 0
}

function ifRequestTypeEqualsTo(type) {
const selectedType = getValue(model, '/spec/type')
// watchDependency('model#/spec/type')
Expand Down Expand Up @@ -1753,6 +1787,9 @@ export const useFunc = (model) => {
getDbs,
getDbDetails,
getDbVersions,
getVersionInfo,
isVersionEmpty,
getVersion,
ifRequestTypeEqualsTo,
onRequestTypeChange,
getDbTls,
Expand Down
Loading
Loading