Skip to content

Commit

Permalink
Fixed missing match
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Oct 22, 2021
1 parent 006b7fb commit fb32f67
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,10 @@
]
},
"match": {
"$id": "match",
"title": "label.match",
"description": "tooltip.match",
"type": "string",
"widget": {
"id": "string",
"required": true
}
"type": "string"
}
},
"required": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ export const BaseProviderDefinition = {
}
};
},
overrideSchema: (schema) => schema,
uiSchema: {
name: {
'ui:help': 'message.must-be-unique'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,57 @@
import { BaseProviderDefinition, HttpMetadataResolverAttributesSchema, MetadataFilterPluginsSchema } from './BaseProviderDefinition';
import API_BASE_PATH from '../../../../App.constant';
import defaultsDeep from 'lodash/defaultsDeep';
import isNil from 'lodash/isNil';
import { DurationOptions } from '../../data';
import { isValidRegex } from '../../../../core/utility/is_valid_regex';

function findById(o, id) {
//Early return
if (o.$id === id) {
return o;
}
var result, p;
for (p in o) {
if (o.hasOwnProperty(p) && typeof o[p] === 'object') {
result = findById(o[p], id);
if (result) {
return result;
}
}
}
return result;
}


export const DynamicHttpMetadataProviderWizard = {
...BaseProviderDefinition,
label: 'DynamicHttpMetadataProvider',
type: 'DynamicHttpMetadataResolver',
schema: `${API_BASE_PATH}/ui/MetadataResolver/DynamicHttpMetadataResolver`,
overrideSchema: (schema, models) => {

const includeMatch = models.some(m => !isNil(m?.metadataRequestURLConstructionScheme?.match));

console.log(models)

if (includeMatch) {
return ({
...schema,
properties: {
...schema.properties,
metadataRequestURLConstructionScheme: {
...schema.properties.metadataRequestURLConstructionScheme,
properties: {
...schema.properties.metadataRequestURLConstructionScheme.properties,
match: findById(schema.properties.metadataRequestURLConstructionScheme.dependencies, 'match')
}
}
}
});
}

return schema;
},
validator: (data = [], current = { resourceId: null }, group, translator) => {
const base = BaseProviderDefinition.validator(data, current, group);

Expand Down
2 changes: 0 additions & 2 deletions ui/src/app/metadata/hoc/MetadataSchema.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,4 @@ export function useMetadataDefinitionValidator(data, current, group) {
return definition.validator(data, current, group, translator);
}

//getConfigurationSections

export default MetadataSchema;
2 changes: 1 addition & 1 deletion ui/src/app/metadata/hooks/configuration.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ export function useMetadataConfiguration(models, schema, definition, limited = f
return {};
}

return getLimitedConfigurationsFn(getConfigurationSections(models, definition, schema), limited);
return getLimitedConfigurationsFn(getConfigurationSections(models, definition, definition.overrideSchema ? definition.overrideSchema(schema, models) : schema), limited);
}

0 comments on commit fb32f67

Please sign in to comment.