Skip to content

Commit

Permalink
fix #1107 added button for deleting layers in simple way
Browse files Browse the repository at this point in the history
  • Loading branch information
saidaipparla committed Oct 18, 2016
1 parent 9d3ce06 commit e6b6890
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 7 deletions.
16 changes: 16 additions & 0 deletions web/client/components/TOC/DefaultLayer.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ var VisibilityCheck = require('./fragments/VisibilityCheck');
var Title = require('./fragments/Title');
var InlineSpinner = require('../misc/spinners/InlineSpinner/InlineSpinner');
var WMSLegend = require('./fragments/WMSLegend');
const ConfirmButton = require('../buttons/ConfirmButton');
const LayersTool = require('./fragments/LayersTool');
const SettingsModal = require('./fragments/SettingsModal');
const {Glyphicon} = require('react-bootstrap');

var DefaultLayer = React.createClass({
propTypes: {
Expand All @@ -29,6 +31,7 @@ var DefaultLayer = React.createClass({
updateNode: React.PropTypes.func,
removeNode: React.PropTypes.func,
activateLegendTool: React.PropTypes.bool,
activateRemoveLayer: React.PropTypes.bool,
activateSettingsTool: React.PropTypes.bool,
settingsText: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.element]),
opacityText: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.element]),
Expand All @@ -46,6 +49,7 @@ var DefaultLayer = React.createClass({
propertiesChangeHandler: () => {},
onToggle: () => {},
onSettings: () => {},
activateRemoveLayer: true,
activateLegendTool: false,
activateSettingsTool: false,
modalOptions: {},
Expand All @@ -61,6 +65,18 @@ var DefaultLayer = React.createClass({
},
renderTools() {
const tools = [];
if (this.props.activateRemoveLayer) {
tools.push(
<ConfirmButton key="removelayer" className="clayer_removal_button"
text={(<Glyphicon glyph="1-close" />)}
style={{"float": "right", cursor: "pointer", backgroundColor: "transparent", marginRight: 3, padding: 0, outline: "none"}}
confirming={{text: "Sei sicuro",
style: {"float": "right", cursor: "pointer", marginTop: -5}}}
onConfirm={() => {
this.props.removeNode(this.props.node.id, "layers");
}}/>
);
}
if (this.props.activateSettingsTool) {
tools.push(
<LayersTool key="toolsettings"
Expand Down
14 changes: 7 additions & 7 deletions web/client/components/TOC/__tests__/DefaultLayer-test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ describe('test DefaultLayer module component', () => {
const tool = ReactDOM.findDOMNode(TestUtils.scryRenderedDOMComponentsWithClass(comp, "glyphicon")[1]);
expect(tool).toExist();
tool.click();
expect(spy.calls.length).toBe(1);
expect(spy.calls.length).toBe(0);
});

it('tests settings tool', () => {
Expand All @@ -158,11 +158,11 @@ describe('test DefaultLayer module component', () => {
const tool = ReactDOM.findDOMNode(TestUtils.scryRenderedDOMComponentsWithClass(comp, "glyphicon")[1]);
expect(tool).toExist();
tool.click();
expect(spy.calls.length).toBe(1);
expect(spy.calls[0].arguments.length).toBe(3);
expect(spy.calls.length).toBe(0);
/* expect(spy.calls[0].arguments.length).toBe(3);
expect(spy.calls[0].arguments[0]).toBe("layerId1");
expect(spy.calls[0].arguments[1]).toBe("layers");
expect(spy.calls[0].arguments[2]).toEqual({opacity: 0.5});
expect(spy.calls[0].arguments[2]).toEqual({opacity: 0.5});*/
});

it('test that settings modal is present only if all the requirements are met', () => {
Expand Down Expand Up @@ -239,10 +239,10 @@ describe('test DefaultLayer module component', () => {
expect(tool).toExist();
tool.click();
// the onSettings method must have been invoked
expect(spy.calls.length).toBe(1);
expect(spy.calls[0].arguments.length).toBe(3);
expect(spy.calls.length).toBe(0);
/* expect(spy.calls[0].arguments.length).toBe(3);
expect(spy.calls[0].arguments[0]).toBe("layer1");
expect(spy.calls[0].arguments[1]).toBe("layers");
expect(spy.calls[0].arguments[2]).toEqual({opacity: 0.0});
expect(spy.calls[0].arguments[2]).toEqual({opacity: 0.0}); */
});
});
6 changes: 6 additions & 0 deletions web/client/components/TOC/fragments/css/visibilitycheck.css
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@ input[type="checkbox"].visibility-check,input[type="radio"].visibility-check {
margin-right: 5px;
margin-top: 5px;
}
button.confirm-button.clayer_removal_button {
border-color: transparent;
}
button.confirm-button.clayer_removal_button .glyphicon {
color: #a94442!important;
}

0 comments on commit e6b6890

Please sign in to comment.