Skip to content
Open
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
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
working-directory: ${{env.working-directory}}

- name: "Run ESlint"
run: npm run lint
run: npm run lint:ci
working-directory: ${{env.working-directory}}

- name: "Run Unit Tests"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,103 +93,103 @@ const CreateDatasetAttributeRow = ({

return (
<>
<tr className="gn-dataset-attribute">
<td className="gn-attribute-name">
<FormGroup
controlId={getAttributeControlId(data, 'name')}
validationState={errors?.name ? 'error' : undefined}
>
<FormControl
type="text"
value={data?.name || ''}
disabled={!!geometryAttribute || disabled}
onChange={(event) => handleOnChange({ name: event.target.value })}
/>
{errors?.name ? <HelpBlock><Message msgId={errors.name} /></HelpBlock> : null}
</FormGroup>
</td>
<td className="gn-attribute-type">
<FormGroup controlId={getAttributeControlId(data, 'type')}>
<FormControl
value={data?.type || ''}
componentClass="select"
placeholder="select"
onChange={handleTypeChange}
disabled={disabled}
>
{typesOptions.map(({ labelId, value }) =>
<option key={value} value={value}>
{getMessageById(context.messages, labelId)}
</option>
)}
</FormControl>
</FormGroup>
</td>
<td className="gn-attribute-nillable">
<FormGroup controlId={getAttributeControlId(data, 'nillable')}>
<Checkbox
style={{ paddingTop: 6 }}
checked={!!data?.nillable}
disabled={!!geometryAttribute || disabled}
onChange={(event) =>
handleOnChange({ nillable: event.target.checked })
}
/>
</FormGroup>
</td>
<td>
<FlexBox column gap="sm">
<tr className="gn-dataset-attribute">
<td className="gn-attribute-name">
<FormGroup
controlId={getAttributeControlId(data, 'restrictions')}
validationState={errors?.restrictionsType ? 'error' : undefined}>
controlId={getAttributeControlId(data, 'name')}
validationState={errors?.name ? 'error' : undefined}
>
<FormControl
type="text"
value={data?.name || ''}
disabled={!!geometryAttribute || disabled}
onChange={(event) => handleOnChange({ name: event.target.value })}
/>
{errors?.name ? <HelpBlock><Message msgId={errors.name} /></HelpBlock> : null}
</FormGroup>
</td>
<td className="gn-attribute-type">
<FormGroup controlId={getAttributeControlId(data, 'type')}>
<FormControl
value={data?.restrictionsType}
value={data?.type || ''}
componentClass="select"
placeholder="select"
disabled={!!geometryAttribute || disabled}
onChange={(event) =>
handleOnChange({ restrictionsType: event.target.value })
}
onChange={handleTypeChange}
disabled={disabled}
>
{restrictionsOptions.map(({ labelId, value }) =>
{typesOptions.map(({ labelId, value }) =>
<option key={value} value={value}>
{getMessageById(context.messages, labelId)}
</option>
)}
</FormControl>
{errors?.restrictionsType ? <HelpBlock>{errors.restrictionsType}</HelpBlock> : null}
</FormGroup>
{data?.restrictionsType === RestrictionsTypes.Range ?
<RangeRestriction
errors={errors}
data={data}
handleOnChange={handleOnChange}
disabled={disabled}
/> : null}
{data?.restrictionsType === RestrictionsTypes.Options
? <EnumRestriction
index={index}
data={data}
handleOnChange={handleOnChange}
getErrorByPath={getErrorByPath}
disabled={disabled}
/> : null}
</FlexBox>
</td>
<td className="gn-attribute-tools">
{tools}
</td>
</tr>
{showGeomWarning ? (
<tr>
<td
className="gn-attribute-geom-warning"
colSpan={5}
>
<Message msgId="gnviewer.geometryDatasetWarning" />
</td>
<td className="gn-attribute-nillable">
<FormGroup controlId={getAttributeControlId(data, 'nillable')}>
<Checkbox
style={{ paddingTop: 6 }}
checked={!!data?.nillable}
disabled={!!geometryAttribute || disabled}
onChange={(event) =>
handleOnChange({ nillable: event.target.checked })
}
/>
</FormGroup>
</td>
<td>
<FlexBox column gap="sm">
<FormGroup
controlId={getAttributeControlId(data, 'restrictions')}
validationState={errors?.restrictionsType ? 'error' : undefined}>
<FormControl
value={data?.restrictionsType}
componentClass="select"
placeholder="select"
disabled={!!geometryAttribute || disabled}
onChange={(event) =>
handleOnChange({ restrictionsType: event.target.value })
}
>
{restrictionsOptions.map(({ labelId, value }) =>
<option key={value} value={value}>
{getMessageById(context.messages, labelId)}
</option>
)}
</FormControl>
{errors?.restrictionsType ? <HelpBlock>{errors.restrictionsType}</HelpBlock> : null}
</FormGroup>
{data?.restrictionsType === RestrictionsTypes.Range ?
<RangeRestriction
errors={errors}
data={data}
handleOnChange={handleOnChange}
disabled={disabled}
/> : null}
{data?.restrictionsType === RestrictionsTypes.Options
? <EnumRestriction
index={index}
data={data}
handleOnChange={handleOnChange}
getErrorByPath={getErrorByPath}
disabled={disabled}
/> : null}
</FlexBox>
</td>
<td className="gn-attribute-tools">
{tools}
</td>
</tr>
) : null}
{showGeomWarning ? (
<tr>
<td
className="gn-attribute-geom-warning"
colSpan={5}
>
<Message msgId="gnviewer.geometryDatasetWarning" />
</td>
</tr>
) : null}
</>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -462,9 +462,9 @@ export default createPlugin('ResourceDetails', {
() => ({}),
{ onClick: toggleEditMode }
)(({ onClick, size }) => {
return <Button size={size} onClick={onClick}>
return (<Button size={size} onClick={onClick}>
<Message msgId="gnviewer.editData" />
</Button>;
</Button>);
}),
priority: 1,
doNotHide: true
Expand Down
8 changes: 4 additions & 4 deletions geonode_mapstore_client/client/js/utils/UploadUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,12 +124,12 @@ export const validateFileResourceUploads = (uploads = [], { supportedFiles = []
};
}
const allUploadsAreOptional = upload.ext.every(ext =>
(currentSupportedType.optional_ext || []).includes(ext) &&
(currentSupportedType.optional_ext || []).includes(ext) &&
!currentSupportedType.required_ext.includes(ext)
);
);
const missingExtensions = allUploadsAreOptional
? []
: currentSupportedType.required_ext.filter(ext => !upload.ext.includes(ext));
? []
: currentSupportedType.required_ext.filter(ext => !upload.ext.includes(ext));
Comment thread
Valyrian-Code marked this conversation as resolved.
const supportedTypeExtensions = getSupportedTypeExt(currentSupportedType);
return {
...upload,
Expand Down
1 change: 1 addition & 0 deletions geonode_mapstore_client/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"test": "mapstore-project test",
"test:watch": "mapstore-project test:watch",
"lint": "eslint js --ext .jsx,.js --fix",
"lint:ci": "eslint js --ext .jsx,.js",
"docs": "jsdoc -r js/plugins js/utils/AppUtils.js ./README.md -d ../../docs -u ../../tutorials -t ./docs-template"
},
"author": "GeoSolutions",
Expand Down