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 {
cols: null,
rows: null,
dataLoaded: false,
popupError: false
popupError: false,
btncreate: false,
btnedit: false,
load: false,
}
this.fileHandler = this.fileHandler.bind(this);
}
......@@ -264,6 +267,29 @@ export default class ApprovalMatrix extends Component {
componentDidMount() {
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() {
......@@ -427,6 +453,7 @@ export default class ApprovalMatrix extends Component {
customBodyRender: (val, tableMeta) => {
return (
<div style={{ display: 'flex' }}>
{this.state.btnedit && (
<button
style={{
backgroundColor: 'transparent',
......@@ -438,6 +465,7 @@ export default class ApprovalMatrix extends Component {
>
<img src={Images.editCopy} />
</button>
)}
</div >
);
}
......@@ -519,6 +547,7 @@ export default class ApprovalMatrix extends Component {
return (
<div>
{this.state.visibleAM === true ?
this.state.load && (
<div style={{ height: this.props.height }}>
<Snackbar open={this.state.alert} autoHideDuration={6000} onClose={() => this.closeAlert()}>
<Alert onClose={() => this.closeAlert()} severity={this.state.tipeAlert}>
......@@ -555,6 +584,7 @@ export default class ApprovalMatrix extends Component {
</button>
</a>
<ReactTooltip border={true} id="template" place="bottom" type="light" effect="solid" />
{this.state.btncreate && (
<a data-tip={'Upload'} data-for="upload">
<button
style={{
......@@ -570,6 +600,7 @@ export default class ApprovalMatrix extends Component {
<img src={Images.upload} />
</button>
</a>
)}
<ReactTooltip border={true} id="upload" place="bottom" type="light" effect="solid" />
<a data-tip={'Download'} data-for="download">
<button
......@@ -603,6 +634,7 @@ export default class ApprovalMatrix extends Component {
</button>
</a>
<ReactTooltip border={true} id="visualisasi" place="bottom" type="light" effect="solid" />
{this.state.btncreate && (
<a data-tip={'Add'} data-for="create">
<button
style={{
......@@ -618,6 +650,7 @@ export default class ApprovalMatrix extends Component {
<img src={Images.add} />
</button>
</a>
)}
<ReactTooltip border={true} id="create" place="bottom" type="light" effect="solid" />
</div >
</div>
......@@ -633,9 +666,12 @@ export default class ApprovalMatrix extends Component {
</div>
</div>
</div>
)
:
this.state.visibleVisual == true ?
<VisualisasiAM
btncreate={this.state.btncreate}
btnedit={this.state.btnedit}
onClickClose={() => this.setState({ visibleVisual: false, visibleAM: true })}
height={this.props.height}
updateVAM={this.updateVAM.bind(this)}
......
......@@ -269,11 +269,19 @@ export default class CreateApprovalMatrix extends Component {
style={{ width: '100%' }}
id="order"
label="Order"
type={"number"}
value={this.state.order}
// type={"number"}
value={this.state.order === null ? '' : this.state.order}
error={this.state.errorOrder}
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={{
style: {
fontSize: 11
......
......@@ -288,11 +288,18 @@ export default class EditApprovalMatrix extends Component {
style={{ width: '100%' }}
id="order"
label="Order"
type={"number"}
value={this.state.order}
value={this.state.order === null ? '' : this.state.order}
error={this.state.errorOrder}
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={{
style: {
fontSize: 11
......
......@@ -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" }}>
<span style={{ color: '#fff', fontSize: 11 }}>Back</span>
</div>
{this.props.btnedit && (
<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" }}>
<span style={{ color: '#354960', fontSize: 11 }} >Cancel</span>
......@@ -212,6 +213,7 @@ export default class VisualisasiAM extends Component {
<span style={{ color: '#fff', fontSize: 11 }}>Save</span>
</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