Commit 6fb1eefd authored by Deni Rinaldi's avatar Deni Rinaldi

Merge branch 'rifka' into 'master'

update permission approval matrix

See merge request !203
parents 535cc7f6 e9996a7c
...@@ -37,7 +37,10 @@ export default class ApprovalMatrix extends Component { ...@@ -37,7 +37,10 @@ export default class ApprovalMatrix extends Component {
cols: null, cols: null,
rows: null, rows: null,
dataLoaded: false, dataLoaded: false,
popupError: false popupError: false,
btncreate: false,
btnedit: false,
load: false,
} }
this.fileHandler = this.fileHandler.bind(this); this.fileHandler = this.fileHandler.bind(this);
} }
...@@ -264,6 +267,29 @@ export default class ApprovalMatrix extends Component { ...@@ -264,6 +267,29 @@ export default class ApprovalMatrix extends Component {
componentDidMount() { componentDidMount() {
this.getData() this.getData()
this.getPermission()
}
getPermission() {
let payload = {
menu: "approval matrix"
}
api.create().getPermission(payload).then(response => {
console.log(response)
if (response.data) {
if (response.data.status === "success") {
this.setState({
btncreate: response.data.data.create,
btnedit: response.data.data.edit,
load: true
})
} else {
this.setState({
load: true
})
}
}
})
} }
getData() { getData() {
...@@ -427,6 +453,7 @@ export default class ApprovalMatrix extends Component { ...@@ -427,6 +453,7 @@ export default class ApprovalMatrix extends Component {
customBodyRender: (val, tableMeta) => { customBodyRender: (val, tableMeta) => {
return ( return (
<div style={{ display: 'flex' }}> <div style={{ display: 'flex' }}>
{this.state.btnedit && (
<button <button
style={{ style={{
backgroundColor: 'transparent', backgroundColor: 'transparent',
...@@ -438,6 +465,7 @@ export default class ApprovalMatrix extends Component { ...@@ -438,6 +465,7 @@ export default class ApprovalMatrix extends Component {
> >
<img src={Images.editCopy} /> <img src={Images.editCopy} />
</button> </button>
)}
</div > </div >
); );
} }
...@@ -519,6 +547,7 @@ export default class ApprovalMatrix extends Component { ...@@ -519,6 +547,7 @@ export default class ApprovalMatrix extends Component {
return ( return (
<div> <div>
{this.state.visibleAM === true ? {this.state.visibleAM === true ?
this.state.load && (
<div style={{ height: this.props.height }}> <div style={{ height: this.props.height }}>
<Snackbar open={this.state.alert} autoHideDuration={6000} onClose={() => this.closeAlert()}> <Snackbar open={this.state.alert} autoHideDuration={6000} onClose={() => this.closeAlert()}>
<Alert onClose={() => this.closeAlert()} severity={this.state.tipeAlert}> <Alert onClose={() => this.closeAlert()} severity={this.state.tipeAlert}>
...@@ -555,6 +584,7 @@ export default class ApprovalMatrix extends Component { ...@@ -555,6 +584,7 @@ export default class ApprovalMatrix extends Component {
</button> </button>
</a> </a>
<ReactTooltip border={true} id="template" place="bottom" type="light" effect="solid" /> <ReactTooltip border={true} id="template" place="bottom" type="light" effect="solid" />
{this.state.btncreate && (
<a data-tip={'Upload'} data-for="upload"> <a data-tip={'Upload'} data-for="upload">
<button <button
style={{ style={{
...@@ -570,6 +600,7 @@ export default class ApprovalMatrix extends Component { ...@@ -570,6 +600,7 @@ export default class ApprovalMatrix extends Component {
<img src={Images.upload} /> <img src={Images.upload} />
</button> </button>
</a> </a>
)}
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" /> <ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download"> <a data-tip={'Download'} data-for="download">
<button <button
...@@ -603,6 +634,7 @@ export default class ApprovalMatrix extends Component { ...@@ -603,6 +634,7 @@ export default class ApprovalMatrix extends Component {
</button> </button>
</a> </a>
<ReactTooltip border={true} id="visualisasi" place="bottom" type="light" effect="solid" /> <ReactTooltip border={true} id="visualisasi" place="bottom" type="light" effect="solid" />
{this.state.btncreate && (
<a data-tip={'Add'} data-for="create"> <a data-tip={'Add'} data-for="create">
<button <button
style={{ style={{
...@@ -618,6 +650,7 @@ export default class ApprovalMatrix extends Component { ...@@ -618,6 +650,7 @@ export default class ApprovalMatrix extends Component {
<img src={Images.add} /> <img src={Images.add} />
</button> </button>
</a> </a>
)}
<ReactTooltip border={true} id="create" place="bottom" type="light" effect="solid" /> <ReactTooltip border={true} id="create" place="bottom" type="light" effect="solid" />
</div > </div >
</div> </div>
...@@ -633,9 +666,12 @@ export default class ApprovalMatrix extends Component { ...@@ -633,9 +666,12 @@ export default class ApprovalMatrix extends Component {
</div> </div>
</div> </div>
</div> </div>
)
: :
this.state.visibleVisual == true ? this.state.visibleVisual == true ?
<VisualisasiAM <VisualisasiAM
btncreate={this.state.btncreate}
btnedit={this.state.btnedit}
onClickClose={() => this.setState({ visibleVisual: false, visibleAM: true })} onClickClose={() => this.setState({ visibleVisual: false, visibleAM: true })}
height={this.props.height} height={this.props.height}
updateVAM={this.updateVAM.bind(this)} updateVAM={this.updateVAM.bind(this)}
......
...@@ -269,11 +269,19 @@ export default class CreateApprovalMatrix extends Component { ...@@ -269,11 +269,19 @@ export default class CreateApprovalMatrix extends Component {
style={{ width: '100%' }} style={{ width: '100%' }}
id="order" id="order"
label="Order" label="Order"
type={"number"} // type={"number"}
value={this.state.order} value={this.state.order === null ? '' : this.state.order}
error={this.state.errorOrder} error={this.state.errorOrder}
helperText={this.state.msgErrOrder} helperText={this.state.msgErrOrder}
onChange={(e) => this.setState({ order: e.target.value }, () => this.clearError())} // onChange={(e) => this.setState({ order: e.target.value }, () => this.clearError())}
onChange={(e) => {
let coba = String(e.target.value).replace(/[^\d]/g,'');
this.setState({
order: coba
},
() => this.clearError())}
// this.handleChange(coba, 'value')}
}
inputProps={{ inputProps={{
style: { style: {
fontSize: 11 fontSize: 11
......
...@@ -288,11 +288,18 @@ export default class EditApprovalMatrix extends Component { ...@@ -288,11 +288,18 @@ export default class EditApprovalMatrix extends Component {
style={{ width: '100%' }} style={{ width: '100%' }}
id="order" id="order"
label="Order" label="Order"
type={"number"} value={this.state.order === null ? '' : this.state.order}
value={this.state.order}
error={this.state.errorOrder} error={this.state.errorOrder}
helperText={this.state.msgErrOrder} helperText={this.state.msgErrOrder}
onChange={(e) => this.setState({ order: e.target.value }, () => this.clearError())} // onChange={(e) => this.setState({ order: e.target.value }, () => this.clearError())}
onChange={(e) => {
let coba = String(e.target.value).replace(/[^\d]/g,'');
this.setState({
order: coba
},
() => this.clearError())}
// this.handleChange(coba, 'value')}
}
inputProps={{ inputProps={{
style: { style: {
fontSize: 11 fontSize: 11
......
...@@ -204,6 +204,7 @@ export default class VisualisasiAM extends Component { ...@@ -204,6 +204,7 @@ export default class VisualisasiAM extends Component {
<div onClick={() => this.props.onClickClose()} style={{ width: 102, height: 30, marginLeft: 25, backgroundColor: 'dodgerblue', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center', cursor:"pointer" }}> <div onClick={() => this.props.onClickClose()} style={{ width: 102, height: 30, marginLeft: 25, backgroundColor: 'dodgerblue', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center', cursor:"pointer" }}>
<span style={{ color: '#fff', fontSize: 11 }}>Back</span> <span style={{ color: '#fff', fontSize: 11 }}>Back</span>
</div> </div>
{this.props.btnedit && (
<div className="row" style={{ float: 'right', marginRight: 25 }}> <div className="row" style={{ float: 'right', marginRight: 25 }}>
<div onClick={() => this.props.onClickClose()} style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center', cursor:"pointer" }}> <div onClick={() => this.props.onClickClose()} style={{ width: 102, height: 30, border: 'solid 1px #354960', borderRadius: 5, alignItems: 'center', display: 'flex', justifyContent: 'center', cursor:"pointer" }}>
<span style={{ color: '#354960', fontSize: 11 }} >Cancel</span> <span style={{ color: '#354960', fontSize: 11 }} >Cancel</span>
...@@ -212,6 +213,7 @@ export default class VisualisasiAM extends Component { ...@@ -212,6 +213,7 @@ export default class VisualisasiAM extends Component {
<span style={{ color: '#fff', fontSize: 11 }}>Save</span> <span style={{ color: '#fff', fontSize: 11 }}>Save</span>
</div> </div>
</div> </div>
)}
</div> </div>
</div> </div>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment