这是indexloc提供的服务,不要输入任何密码
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 @@ -157,14 +157,7 @@ const modifyReducer = (tableName, schemas, modifyStateOrig, action) => {
return {
...modifyState,
relAdd: {
isActive: true,
tableName: '',
name: '',
isObjRel: null,
lcol: [],
rTable: null,
rcol: [],
manualColumns: [],
...defaultModifyState.relAdd,
},
};
case REL_SET_TYPE:
Expand Down
228 changes: 114 additions & 114 deletions console/src/components/Services/Data/TablePermissions/Permissions.js
Original file line number Diff line number Diff line change
Expand Up @@ -765,164 +765,164 @@ class Permissions extends Component {
const setOptions =
insertState && insertState.localSet && insertState.localSet.length > 0
? insertState.localSet.map((s, i) => {
return (
<div className={styles.insertSetConfigRow} key={i}>
<div
className={
styles.display_inline +
return (
<div className={styles.insertSetConfigRow} key={i}>
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper
}
}
>
<select
className="input-sm form-control"
value={s.key}
onChange={this.onSetKeyChange.bind(this)}
data-index-id={i}
disabled={disableInput}
>
<select
className="input-sm form-control"
value={s.key}
onChange={this.onSetKeyChange.bind(this)}
data-index-id={i}
disabled={disableInput}
>
<option value="" disabled>
<option value="" disabled>
Column Name
</option>
{columns && columns.length > 0
? columns.map((c, key) => (
<option
value={c.column_name}
data-column-type={c.data_type}
key={key}
>
{c.column_name}
</option>
))
: null}
</select>
</div>
<div
className={
styles.display_inline +
</option>
{columns && columns.length > 0
? columns.map((c, key) => (
<option
value={c.column_name}
data-column-type={c.data_type}
key={key}
>
{c.column_name}
</option>
))
: null}
</select>
</div>
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper
}
}
>
<select
className="input-sm form-control"
onChange={this.onSetTypeChange.bind(this)}
data-index-id={i}
value={setConfigValueType(s.value) || ''}
disabled={disableInput}
>
<select
className="input-sm form-control"
onChange={this.onSetTypeChange.bind(this)}
data-index-id={i}
value={setConfigValueType(s.value) || ''}
disabled={disableInput}
>
<option value="" disabled>
<option value="" disabled>
Select Preset Type
</option>
<option value="static">static</option>
<option value="session">from session variable</option>
</select>
</div>
<div
className={
styles.display_inline +
</option>
<option value="static">static</option>
<option value="session">from session variable</option>
</select>
</div>
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper
}
>
{setConfigValueType(s.value) === 'session' ? (
<InputGroup>
<InputGroup.Addon>X-Hasura-</InputGroup.Addon>
<input
className={'input-sm form-control '}
placeholder="column_value"
value={s.value.slice(X_HASURA_CONST.length)}
onChange={this.onSetValueChange.bind(this)}
onBlur={e => this.onSetValueBlur(e, i, null)}
data-index-id={i}
data-prefix-val={X_HASURA_CONST}
disabled={disableInput}
/>
</InputGroup>
) : (
<EnhancedInput
}
>
{setConfigValueType(s.value) === 'session' ? (
<InputGroup>
<InputGroup.Addon>X-Hasura-</InputGroup.Addon>
<input
className={'input-sm form-control '}
placeholder="column_value"
type={
i in this.state.insertSetOperations.columnTypeMap
? this.state.insertSetOperations.columnTypeMap[i]
: ''
}
value={s.value}
value={s.value.slice(X_HASURA_CONST.length)}
onChange={this.onSetValueChange.bind(this)}
onBlur={this.onSetValueBlur}
indexId={i}
onBlur={e => this.onSetValueBlur(e, i, null)}
data-index-id={i}
data-prefix-val={X_HASURA_CONST}
disabled={disableInput}
/>
)}
</div>
{setConfigValueType(s.value) === 'session' ? (
<div
className={
styles.display_inline +
</InputGroup>
) : (
<EnhancedInput
placeholder="column_value"
type={
i in this.state.insertSetOperations.columnTypeMap
? this.state.insertSetOperations.columnTypeMap[i]
: ''
}
value={s.value}
onChange={this.onSetValueChange.bind(this)}
onBlur={this.onSetValueBlur}
indexId={i}
data-prefix-val={X_HASURA_CONST}
disabled={disableInput}
/>
)}
</div>
{setConfigValueType(s.value) === 'session' ? (
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper +
' ' +
styles.e_g_text
}
>
}
>
e.g. X-Hasura-User-Id
</div>
) : (
<div
className={
styles.display_inline +
</div>
) : (
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper +
' ' +
styles.e_g_text
}
>
}
>
e.g. false, 1, some-text
</div>
)}
{i !== insertState.localSet.length - 1 ? (
<div
className={
styles.display_inline +
</div>
)}
{i !== insertState.localSet.length - 1 ? (
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper
}
>
<i
className="fa-lg fa fa-times"
onClick={
!disableInput ? this.deleteSetKeyVal.bind(this) : ''
}
>
<i
className="fa-lg fa fa-times"
onClick={
!disableInput ? this.deleteSetKeyVal.bind(this) : ''
}
data-index-id={i}
/>
</div>
) : (
<div
className={
styles.display_inline +
data-index-id={i}
/>
</div>
) : (
<div
className={
styles.display_inline +
' ' +
styles.add_mar_right +
' ' +
styles.input_element_wrapper
}
/>
)}
</div>
);
})
}
/>
)}
</div>
);
})
: null;

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,8 @@ const addRelNewFromStateMigrate = () => (dispatch, getState) => {
state.lcol,
state.rTable,
state.rcol,
state.isObjRel
state.isObjRel,
currentSchema
);
const relChangesUp = [upQuery];
const relChangesDown = [downQuery];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,13 @@ class AddManualRelationship extends Component {
className={'form-control'}
onChange={this.onSchemaChange}
data-test="remote-schema"
value={manualRelInfo.remoteSchema}
value={
manualRelInfo &&
'remoteSchema' in manualRelInfo &&
manualRelInfo.remoteSchema
? manualRelInfo.remoteSchema
: ''
}
>
<option key="default_table">Remote Schema</option>
{schemaList.map((s, i) => (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,18 +221,34 @@ const AddRelationship = ({
// Finding the object from the suggestedRelationshipsArray which is currently selected
if (cachedRelationshipData.isObjRel) {
selectedRelationship = suggestedRelationshipsData.objectRel.find(rel => {
const cLcol =
typeof cachedRelationshipData.lcol === 'string'
? [cachedRelationshipData.lcol]
: cachedRelationshipData.lcol;
const cRcol =
typeof cachedRelationshipData.rcol === 'string'
? [cachedRelationshipData.rcol]
: cachedRelationshipData.rcol;
return (
rel.lcol.join(',') === cachedRelationshipData.lcol.join(',') &&
rel.rcol.join(',') === cachedRelationshipData.rcol.join(',') &&
rel.lcol.join(',') === cLcol.join(',') &&
rel.rcol.join(',') === cRcol.join(',') &&
rel.rTable === cachedRelationshipData.rTable &&
rel.tableName === cachedRelationshipData.tableName
);
});
} else {
selectedRelationship = suggestedRelationshipsData.arrayRel.find(rel => {
const cLcol =
typeof cachedRelationshipData.lcol === 'string'
? [cachedRelationshipData.lcol]
: cachedRelationshipData.lcol;
const cRcol =
typeof cachedRelationshipData.rcol === 'string'
? [cachedRelationshipData.rcol]
: cachedRelationshipData.rcol;
return (
rel.lcol.join(',') === cachedRelationshipData.lcol.join(',') &&
rel.rcol.join(',') === cachedRelationshipData.rcol.join(',') &&
rel.lcol.join(',') === cLcol.join(',') &&
rel.rcol.join(',') === cRcol.join(',') &&
rel.rTable === cachedRelationshipData.rTable &&
rel.tableName === cachedRelationshipData.tableName
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
const getTableName = t => {
const typ = typeof t;
if (typ === 'string') {
return t;
} else if (typ === 'object') {
return 'name' in t ? t.name : '';
}
return '';
};

const suggestedRelationshipsRaw = (tableName, allSchemas) => {
const objRels = [];
const arrRels = [];
Expand Down Expand Up @@ -75,7 +85,7 @@ const suggestedRelationshipsRaw = (tableName, allSchemas) => {

if (
currRCol.sort().join(',') === rcol.sort().join(',') &&
currTable === constraint.table_name
getTableName(currTable) === constraint.table_name
) {
// existing relationship
isExistingArrayRel = true;
Expand Down