Skip to content

Commit 9c71333

Browse files
committed
set attribute values
1 parent ed7af2b commit 9c71333

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

UI/web-app/src/components/HRQuerySource/HRQuerySource.base.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@ import { updateOrgLeaderDetails, selectOrgLeaderDetails, selectObjectIdEmployeeI
2121
import { selectJobOwnerFilterSuggestions } from '../../store/jobs.slice';
2222
import { fetchDefaultSqlMembershipSourceAttributes } from '../../store/sqlMembershipSources.api';
2323
import { fetchAttributeValues } from '../../store/sqlMembershipSources.api';
24-
import { selectAttributes, selectSource, selectAttributeValues } from '../../store/sqlMembershipSources.slice';
24+
import { selectAttributes, selectSource, selectAttributeValues, setAttributeValues } from '../../store/sqlMembershipSources.slice';
2525
import { SqlMembershipAttribute, SqlMembershipAttributeValue } from '../../models';
2626
import { IFilterPart } from '../../models/IFilterPart';
2727
import { Group } from '../../models/Group';
2828
import { parseGroup, stringifyGroups } from './QuerySerializer';
29+
import { GetAttributeValuesResponse } from '../../models/GetAttributeValuesResponse';
2930

3031
export const getClassNames = classNamesFunction<HRQuerySourceStyleProps, HRQuerySourceStyles>();
3132

@@ -189,8 +190,11 @@ const checkType = (value: string, type: string | undefined): string => {
189190
};
190191

191192
const getAttributeValues = (attribute: string, attributeValue: string) => {
192-
const selectedAttribute = attributes?.find(att => att.name === attribute);
193-
dispatch(fetchAttributeValues({attribute: attribute, type: selectedAttribute?.type, hasMapping: selectedAttribute?.hasMapping }));
193+
const selectedAttribute = attributes?.find(({ hasMapping, name }) => ((hasMapping && `${name}_Code` === attribute) || (!hasMapping && name === attribute)));
194+
dispatch(fetchAttributeValues({attribute: attribute, type: selectedAttribute?.type, hasMapping: selectedAttribute?.hasMapping })).then(results => {
195+
var payload = results.payload as GetAttributeValuesResponse;
196+
dispatch(setAttributeValues({ attribute: attribute, values: payload.values, type: selectedAttribute?.type }));
197+
}).catch(error => {});
194198
return attributeValue;
195199
}
196200

@@ -1214,7 +1218,7 @@ const checkType = (value: string, type: string | undefined): string => {
12141218
/>
12151219
} else {
12161220
return <TextField
1217-
value={attributeValues && attributeValues[item.attribute] === undefined ? getAttributeValues(item.attribute, items[index].value) : items[index].value && items[index].value.startsWith("'") && items[index].value.endsWith("'") ? items[index].value.slice(1,-1) : items[index].value}
1221+
value={item.attribute.endsWith("_Code") && attributeValues && attributeValues[item.attribute] === undefined ? getAttributeValues(item.attribute, items[index].value) : items[index].value && items[index].value.startsWith("'") && items[index].value.endsWith("'") ? items[index].value.slice(1,-1) : items[index].value}
12181222
onChange={(event, newValue) => handleTAttributeValueChange(item.attribute, event, newValue!, index)}
12191223
onBlur={(event) => handleBlur(item.attribute, event, index)}
12201224
styles={{ fieldGroup: classNames.textField }}

UI/web-app/src/store/sqlMembershipSources.slice.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@ const sqlMembershipSourcesSlice = createSlice({
4949
},
5050
setAttributes: (state, action: PayloadAction<SqlMembershipAttribute[] | undefined>) => {
5151
state.attributes = action.payload;
52+
},
53+
setAttributeValues: (state, action) => {
54+
const { attribute, type, values} = action.payload;
55+
state.attributeValues[attribute] = {
56+
values: values,
57+
type: type
58+
};
5259
}
5360
},
5461
extraReducers: (builder) => {
@@ -126,7 +133,7 @@ const sqlMembershipSourcesSlice = createSlice({
126133
},
127134
});
128135

129-
export const { setSource, setAttributes } = sqlMembershipSourcesSlice.actions;
136+
export const { setSource, setAttributes, setAttributeValues } = sqlMembershipSourcesSlice.actions;
130137
export const selectSource = (state: RootState) => state.sqlMembershipSources.source;
131138
export const selectAttributes = (state: RootState) => state.sqlMembershipSources.attributes;
132139
export const selectAttributeValues = (state: RootState) => state.sqlMembershipSources.attributeValues;

0 commit comments

Comments
 (0)