Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
Tia-dev
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dida Adams Arizona
Tia-dev
Commits
867ddf10
Commit
867ddf10
authored
Aug 19, 2020
by
Rifka Kurnia Irfiana
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://103.44.149.204/d.arizona/tia-dev
into rifka
parents
02873894
90ca8295
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
914 additions
and
396 deletions
+914
-396
Home.js
src/container/Home.js
+1
-1
Login.js
src/container/Login.js
+21
-17
CreateParameter.js
src/container/MasterData/Parameter/CreateParameter.js
+8
-4
Parameter.js
src/container/MasterData/Parameter/Parameter.js
+12
-9
CreatePerusahaan.js
src/container/MasterData/Perusahaan/CreatePerusahaan.js
+3
-3
EditPerusahaan.js
src/container/MasterData/Perusahaan/EditPerusahaan.js
+4
-2
UnitBisnis.js
src/container/MasterData/UnitBisnis.js
+95
-92
VisualReportItems.js
...container/MasterData/formReportItems/VisualReportItems.js
+7
-5
CreateUnitBisnis.js
src/container/MasterData/formUnitBisnis/CreateUnitBisnis.js
+2
-2
User.js
src/container/Otorisasi/User.js
+120
-118
AddUser.js
src/container/Otorisasi/User/AddUser.js
+265
-74
EditUser.js
src/container/Otorisasi/User/EditUser.js
+201
-53
UserRole.js
src/container/Otorisasi/UserRole.js
+2
-1
AddRole.js
src/container/Otorisasi/UserRole/AddRole.js
+76
-0
EditRole.js
src/container/Otorisasi/UserRole/EditRole.js
+65
-0
Profile.js
src/container/Profile.js
+31
-14
Upload.js
src/library/Upload.js
+1
-1
No files found.
src/container/Home.js
View file @
867ddf10
...
...
@@ -483,7 +483,7 @@ export default function MiniDrawer() {
<
div
style
=
{{
width
:
'100%'
,
textAlign
:
'-webkit-center'
,
marginTop
:
-
45
,
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
div
className
=
{
"sub-color"
}
style
=
{{
width
:
90
,
height
:
90
,
borderRadius
:
50
,
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
div
style
=
{{
width
:
72
,
height
:
72
,
backgroundColor
:
'#838383'
,
borderRadius
:
50
,
alignSelf
:
'center'
}}
>
<
img
src
=
{
userPhoto
}
style
=
{{
width
:
72
,
height
:
72
,
borderRadius
:
50
}}
/
>
{
userPhoto
===
""
?
null
:
<
img
src
=
{
userPhoto
}
style
=
{{
width
:
72
,
height
:
72
,
borderRadius
:
50
}}
/>
}
<
/div
>
<
/div
>
...
...
src/container/Login.js
View file @
867ddf10
...
...
@@ -75,6 +75,7 @@ class Login extends Component {
"password"
:
this
.
state
.
password
}
api
.
create
().
login
(
payload
).
then
((
response
)
=>
{
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
'success'
)
{
console
.
log
(
response
.
data
.
data
)
localStorage
.
setItem
(
Constant
.
TOKEN
,
response
.
data
.
data
.
token
)
...
...
@@ -95,6 +96,9 @@ class Login extends Component {
this
.
setState
({
errorEmail
:
true
,
msgEmail
:
response
.
data
.
message
})
}
}
}
else
{
alert
(
response
.
problem
)
}
})
}
...
...
src/container/MasterData/Parameter/CreateParameter.js
View file @
867ddf10
...
...
@@ -54,18 +54,22 @@ export default class CreateParameter extends Component {
componentDidMount
()
{
if
(
this
.
props
.
type
===
'edit'
)
{
this
.
setState
({
getSettingTypeID
:
this
.
props
.
data
.
setting_type_id
,
getSettingTypeID
:
this
.
props
.
data
[
0
]
,
})
this
.
getDetailParameter
()
this
.
getParameterByGroup
(
this
.
props
.
data
.
setting_group_id
)
}
else
{
let
date
=
format
(
new
Date
,
'yyyy-MM-dd'
)
this
.
setState
({
startDate
:
date
,
endDate
:
date
})
this
.
getDataGroup
()
this
.
getDataPerusahaan
()
}
}
getDetailParameter
()
{
api
.
create
().
getDetailParameter
(
this
.
props
.
data
.
setting_id
).
then
((
response
)
=>
{
api
.
create
().
getDetailParameter
(
this
.
props
.
data
[
0
]
).
then
((
response
)
=>
{
console
.
log
(
response
);
if
(
response
.
data
.
status
===
'success'
)
{
let
data
=
response
.
data
.
data
...
...
@@ -74,7 +78,7 @@ export default class CreateParameter extends Component {
getSettingGroupID
:
data
.
setting_group_id
,
getCompanyID
:
data
.
company_id
,
settingType
:
data
.
setting_type
,
},
()
=>
this
.
getAllGroup
(),
this
.
getPerusahaan
())
},
()
=>
this
.
getAllGroup
(),
this
.
getPerusahaan
()
,
this
.
getParameterByGroup
(
data
.
setting_group_id
)
)
}
else
{
alert
(
response
.
data
.
message
)
}
...
...
src/container/MasterData/Parameter/Parameter.js
View file @
867ddf10
...
...
@@ -36,10 +36,11 @@ export default class Parameter extends Component {
getAllParameter
()
{
api
.
create
().
getAllParameter
().
then
(
response
=>
{
if
(
response
.
data
.
status
===
"success"
)
{
console
.
log
(
response
);
let
data
=
response
.
data
.
data
let
listData
=
data
.
map
((
item
,
index
)
=>
{
return
[
i
ndex
,
i
tem
.
setting_id
,
item
.
setting_group
,
item
.
setting_type
,
item
.
company_name
,
...
...
@@ -58,15 +59,15 @@ export default class Parameter extends Component {
})
}
openPopUp
(
index
,
type
)
{
openPopUp
(
rowData
,
type
)
{
if
(
type
===
'edit'
)
{
this
.
setState
({
selectIndex
:
index
,
rowData
:
rowData
,
visibleEdit
:
true
})
}
else
{
this
.
setState
({
data
:
this
.
state
.
data
[
index
]
,
rowData
:
rowData
,
visibleCreate
:
true
})
}
...
...
@@ -510,6 +511,7 @@ export default class Parameter extends Component {
const
columns
=
[{
name
:
"Action"
,
options
:
{
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
...
...
@@ -519,7 +521,8 @@ export default class Parameter extends Component {
cursor
:
'pointer'
,
borderColor
:
'transparent'
}}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowIndex
,
'edit'
)}
onClick
=
{()
=>
this
.
openPopUp
(
tableMeta
.
rowData
,
'edit'
)}
// onClick={()=> console.log(tableMeta)}
>
<
img
src
=
{
Images
.
editCopy
}
/
>
<
/button
>
...
...
@@ -641,8 +644,8 @@ export default class Parameter extends Component {
{
this
.
state
.
visibleParameter
===
true
?
<
div
>
<
div
style
=
{{
display
:
'flex'
,
flexDirection
:
'row'
,
justifyContent
:
'space-between'
,
paddingRight
:
25
,
paddingLeft
:
25
,
marginTop
:
-
150
}}
>
<
label
style
=
{{
color
:
'white'
,
fontSize
:
16
,
alignSelf
:
'center'
}}
>
Parameter
<
/label
>
<
div
style
=
{{
color
:
'white'
,
width
:
'50%'
,
height
:
37
,
display
:
'flex'
,
backgroundColor
:
'white'
,
borderWidth
:
2
,
alignItems
:
'center'
,
borderRadius
:
6
,
paddingLeft
:
5
,
paddingRight
:
5
}}
>
<
label
style
=
{{
color
:
'white'
,
fontSize
:
16
,
alignSelf
:
'center'
,
width
:
'20%'
,
}}
>
Parameter
<
/label
>
<
div
style
=
{{
color
:
'white'
,
width
:
'50%'
,
height
:
37
,
display
:
'flex'
,
backgroundColor
:
'white'
,
borderWidth
:
2
,
alignItems
:
'center'
,
borderRadius
:
6
,
paddingLeft
:
5
,
paddingRight
:
5
,
alignSelf
:
'center'
}}
>
<
img
src
=
{
Images
.
searchBlack
}
style
=
{{
marginRight
:
10
}}
/
>
<
InputBase
style
=
{{
width
:
'100%'
}}
...
...
@@ -652,7 +655,7 @@ export default class Parameter extends Component {
inputProps
=
{{
'aria-label'
:
'naked'
}}
/
>
<
/div
>
<
div
style
=
{{
width
:
'
20%'
,
justifyContent
:
'space-around'
,
display
:
'flex
'
}}
>
<
div
style
=
{{
width
:
'
30%'
,
justifyContent
:
'flex-end'
,
display
:
'flex'
,
flexFlow
:
'wrap
'
}}
>
<
a
data
-
tip
=
{
'Download Template'
}
data
-
for
=
"template"
>
<
button
style
=
{{
...
...
@@ -773,7 +776,7 @@ export default class Parameter extends Component {
<
CreateParameter
type
=
{
"edit"
}
onClickClose
=
{()
=>
this
.
setState
({
visibleEdit
:
false
})}
data
=
{
this
.
state
.
data
[
this
.
state
.
selectIndex
]
}
data
=
{
this
.
state
.
rowData
}
updateParameter
=
{
this
.
updateParameter
.
bind
(
this
)}
/
>
)}
...
...
src/container/MasterData/Perusahaan/CreatePerusahaan.js
View file @
867ddf10
...
...
@@ -112,7 +112,7 @@ export default class CreatePerusahaan extends Component {
return
(
<
div
className
=
"test app-popup-show"
style
=
{{
paddingTop
:
100
}}
>
<
div
className
=
"popup-content background-white border-radius"
style
=
{{
borderRadius
:
8
}}
>
<
div
className
=
"popup-panel grid grid-2x
"
style
=
{{
backgroundColor
:
'#51c6ea'
,
height
:
64
,
borderTopRightRadius
:
8
,
borderTopLeftRadius
:
8
}}
>
<
div
className
=
"popup-panel grid grid-2x
main-color"
style
=
{{
height
:
64
,
borderTopRightRadius
:
8
,
borderTopLeftRadius
:
8
}}
>
<
div
className
=
"col-1"
style
=
{{
maxWidth
:
"inherit"
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
div
className
=
"popup-title"
>
<
span
style
=
{{
color
:
'#fff'
,
fontSize
:
16
,
fontWeight
:
'bold'
}}
>
Create
Data
<
/span
>
...
...
@@ -230,8 +230,8 @@ export default class CreatePerusahaan extends Component {
<
/div
>
<
div
className
=
"margin-top-10px"
style
=
{{
padding
:
10
,
borderRadius
:
5
}}
>
<
Typography
style
=
{{
fontSize
:
11
}}
>
Dibuat
:
Admin
-
21
Jul
2020
,
18
:
45
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
11
}}
>
Diubah
:
Admin
-
21
Jul
2020
,
18
:
45
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
11
}}
>
Dibuat
:
<
/Typography
>
<
Typography
style
=
{{
fontSize
:
11
}}
>
Diubah
:
<
/Typography
>
<
/div
>
<
/div
>
...
...
src/container/MasterData/Perusahaan/EditPerusahaan.js
View file @
867ddf10
...
...
@@ -13,11 +13,13 @@ export default class EditPerusahaan extends Component {
this
.
state
=
{
id
:
''
,
company
:
''
,
companyID
:
''
,
parent
:
''
,
unitBisnis
:
''
,
totalReport
:
''
,
startDate
:
''
,
endDate
:
''
,
status
:
''
,
types
:
null
,
getTypes
:
null
,
perusahaan
:
null
,
...
...
@@ -166,7 +168,7 @@ export default class EditPerusahaan extends Component {
return
(
<
div
className
=
"test app-popup-show"
>
<
div
className
=
"popup-content background-white border-radius"
style
=
{{
borderRadius
:
8
}}
>
<
div
className
=
"popup-panel grid grid-2x
"
style
=
{{
backgroundColor
:
'#51c6ea'
,
height
:
64
,
borderTopRightRadius
:
8
,
borderTopLeftRadius
:
8
}}
>
<
div
className
=
"popup-panel grid grid-2x
main-color"
style
=
{{
height
:
64
,
borderTopRightRadius
:
8
,
borderTopLeftRadius
:
8
}}
>
<
div
className
=
"col-1"
style
=
{{
maxWidth
:
"inherit"
,
display
:
'flex'
,
alignItems
:
'center'
}}
>
<
div
className
=
"popup-title"
>
<
span
style
=
{{
color
:
'#fff'
,
fontSize
:
16
,
fontWeight
:
'bold'
}}
>
Ubah
Data
<
/span
>
...
...
@@ -189,7 +191,7 @@ export default class EditPerusahaan extends Component {
<
div
style
=
{{
backgroundColor
:
'#e8e8e8'
,
padding
:
10
,
borderRadius
:
5
}}
>
<
TextField
style
=
{{
width
:
'100%'
}}
value
=
{
this
.
state
.
business
ID
}
value
=
{
this
.
state
.
company
ID
}
id
=
"id"
label
=
"ID"
disabled
...
...
src/container/MasterData/UnitBisnis.js
View file @
867ddf10
...
...
@@ -64,6 +64,7 @@ export default class UnitBisnis extends Component {
}
this
.
setState
({
payload
:
body
,
buttonError
:
false
})
api
.
create
().
checkUploadUnitBisnis
(
body
).
then
(
response
=>
{
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
"success"
)
{
let
dataRow
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
...
...
@@ -166,10 +167,11 @@ export default class UnitBisnis extends Component {
rows
:
dataRow
});
}
console
.
log
(
response
);
}
else
{
this
.
setState
({
dataLoaded
:
false
,
});
}
})
}
...
...
@@ -300,6 +302,7 @@ export default class UnitBisnis extends Component {
const
columns
=
[{
name
:
"Action"
,
options
:
{
sort
:
false
,
customBodyRender
:
(
val
,
tableMeta
)
=>
{
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
...
...
src/container/MasterData/formReportItems/VisualReportItems.js
View file @
867ddf10
...
...
@@ -143,9 +143,11 @@ export default class VisualReportItems extends Component {
}
api
.
create
().
getItemReportHierarki
(
payload
).
then
((
response
)
=>
{
console
.
log
(
response
.
data
)
if
(
response
.
data
)
{
if
(
response
.
data
.
status
==
'success'
)
{
this
.
setState
({
items
:
response
.
data
.
data
})
}
}
})
}
...
...
@@ -219,7 +221,7 @@ export default class VisualReportItems extends Component {
id
=
"report"
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
report
:
newInputValue
},
()
=>
this
.
getItemHierarki
())}
debug
disableClearable
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Jenis Laporan"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
/>
}
value
=
{
this
.
state
.
report
}
/
>
...
...
@@ -230,8 +232,8 @@ export default class VisualReportItems extends Component {
id
=
"company"
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
company
:
newInputValue
},
()
=>
this
.
getItemHierarki
())}
debug
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Compan"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
/>
}
disableClearable
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Compan
y
"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
/>
}
value
=
{
this
.
state
.
company
}
/
>
<
/div
>
...
...
src/container/MasterData/formUnitBisnis/CreateUnitBisnis.js
View file @
867ddf10
...
...
@@ -119,9 +119,9 @@ export default class CreateUnitBisnis extends Component {
validasiCreate
()
{
if
(
R
.
isEmpty
(
this
.
state
.
name
))
{
this
.
setState
({
errorName
:
true
,
msgErrorName
:
'Unit Bisnis tidak boleh kosong'
})
}
else
if
(
R
.
is
Empty
(
this
.
state
.
startDate
))
{
}
else
if
(
R
.
is
Nil
(
this
.
state
.
startDate
))
{
this
.
setState
({
errorStartDate
:
true
,
msgErrorStartDate
:
'Berlaku Mulai tidak boleh kosong'
})
}
else
if
(
R
.
is
Empty
(
this
.
state
.
endDate
))
{
}
else
if
(
R
.
is
Nil
(
this
.
state
.
endDate
))
{
this
.
setState
({
errorEndDate
:
true
,
msgErrorEndDate
:
'Berkahir Hingga tidak boleh kosong'
})
}
else
{
let
payload
=
{
...
...
src/container/Otorisasi/User.js
View file @
867ddf10
...
...
@@ -102,6 +102,7 @@ export default class UserRole extends Component {
this
.
setState
({
payload
:
body
})
api
.
create
().
checkUploadUser
(
body
).
then
(
response
=>
{
console
.
log
(
response
);
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
"success"
)
{
let
dataRow
=
response
.
data
.
data
.
map
((
item
,
index
)
=>
{
return
[
...
...
@@ -233,6 +234,7 @@ export default class UserRole extends Component {
rows
:
dataRow
});
}
}
})
}
});
...
...
@@ -261,7 +263,7 @@ export default class UserRole extends Component {
let
url
=
window
.
URL
.
createObjectURL
(
res
);
let
a
=
document
.
createElement
(
'a'
);
a
.
href
=
url
;
a
.
download
=
'
Data
User.xlsx'
;
a
.
download
=
'User.xlsx'
;
a
.
click
();
}
}
...
...
src/container/Otorisasi/User/AddUser.js
View file @
867ddf10
...
...
@@ -19,7 +19,17 @@ const CustomCheckbox = withStyles({
},
},
checked
:
{},
})((
props
)
=>
<
Checkbox
color
=
"default"
{...
props
}
/>
)
;
})((
props
)
=>
<
Checkbox
color
=
"default"
{...
props
}
/>
)
;
const
CustomCheckboxDisabled
=
withStyles
({
root
:
{
color
:
'#d5d5d5'
,
'&$checked'
:
{
color
:
'#d5d5d5'
,
},
},
checked
:
{},
})((
props
)
=>
<
Checkbox
color
=
"default"
{...
props
}
/>
)
;
export
default
class
AddUser
extends
Component
{
...
...
@@ -54,12 +64,22 @@ export default class AddUser extends Component {
}
handleChecked
()
{
this
.
setState
({
checked
:
!
this
.
state
.
checked
})
this
.
setState
({
checked
:
!
this
.
state
.
checked
})
}
componentDidMount
()
{
this
.
getRole
()
this
.
getPerusahaan
()
if
(
this
.
props
.
type
===
'edit'
)
{
//
}
else
{
let
date
=
format
(
new
Date
,
'yyyy-MM-dd'
)
console
.
log
(
date
);
this
.
setState
({
startDate
:
date
,
endDate
:
date
})
}
}
handleChange
(
e
,
type
)
{
...
...
@@ -67,27 +87,39 @@ export default class AddUser extends Component {
let
isDate
=
type
!==
''
?
true
:
false
if
(
isDate
&&
type
===
'start_date'
)
{
this
.
setState
({
...
data
,
startDate
:
format
(
e
,
'yyyy-MM-dd'
),
endDate
:
null
,
errorFullname
:
false
,
errorEmail
:
false
,
errorRoleName
:
false
,
errorStartDate
:
false
,
errorEndDate
:
false
,
msgErrorFN
:
''
,
msgErrorEM
:
''
,
msgErrorRN
:
''
,
msgErrorSD
:
''
,
msgErrorED
:
''
,
})
}
else
if
(
isDate
&&
type
===
'end_date'
)
{
this
.
setState
({
...
data
,
endDate
:
format
(
e
,
'yyyy-MM-dd'
)
,
errorFullname
:
false
,
errorEmail
:
false
,
errorRoleName
:
false
,
errorStartDate
:
false
,
errorEndDate
:
false
,
msgErrorFN
:
''
,
msgErrorEM
:
''
,
msgErrorRN
:
''
,
msgErrorSD
:
''
,
msgErrorED
:
''
,
})
}
else
{
this
.
setState
({
...
data
,
[
e
.
target
.
name
]:
e
.
target
.
value
,
errorFullname
:
false
,
errorEmail
:
false
,
errorRoleName
:
false
,
errorStartDate
:
false
,
errorEndDate
:
false
,
msgErrorFN
:
''
,
msgErrorEM
:
''
,
msgErrorRN
:
''
,
msgErrorSD
:
''
,
msgErrorED
:
''
,
...
...
@@ -95,9 +127,34 @@ export default class AddUser extends Component {
}
}
isEmail
(
email
)
{
const
re
=
/^
(([^
<>()
\[\]\\
.,;:
\s
@"
]
+
(\.[^
<>()
\[\]\\
.,;:
\s
@"
]
+
)
*
)
|
(
".+"
))
@
((\[[
0-9
]{1,3}\.[
0-9
]{1,3}\.[
0-9
]{1,3}\.[
0-9
]{1,3}\])
|
(([
a-zA-Z
\-
0-9
]
+
\.)
+
[
a-zA-Z
]{2,}))
$/
;
return
re
.
test
(
String
(
email
).
toLowerCase
());
}
validasi
()
{
var
isEmail
=
this
.
isEmail
(
this
.
state
.
email
)
if
(
R
.
isEmpty
(
this
.
state
.
fullname
))
{
this
.
setState
({
errorFullname
:
true
,
msgErrorFN
:
'Nama Lengkap tidak boleh kosong'
})
}
else
if
(
R
.
isEmpty
(
this
.
state
.
email
))
{
this
.
setState
({
errorEmail
:
true
,
msgErrorEM
:
'Email tidak boleh kosong'
})
}
else
if
(
!
isEmail
)
{
this
.
setState
({
errorEmail
:
true
,
msgErrorEM
:
'Format email tidak sesuai!'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
role
))
{
this
.
setState
({
errorRoleName
:
true
,
msgErrorRN
:
'Role Name tidak boleh kosong'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
startDate
))
{
this
.
setState
({
errorStartDate
:
true
,
msgErrorSD
:
'Start Date tidak boleh kosong'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
endDate
))
{
this
.
setState
({
errorEndDate
:
true
,
msgErrorED
:
'End Date tidak boleh kosong'
})
}
// else if (this.state.privileges.length < 1) {
// alert('Hak Akses belum di pilih !!')
// }
else
{
this
.
createUser
()
}
}
createUser
()
{
let
payload
=
{
...
...
@@ -124,7 +181,7 @@ export default class AddUser extends Component {
getRole
()
{
api
.
create
().
getRoleActive
().
then
((
response
)
=>
{
if
(
response
.
data
.
status
===
'success'
)
{
if
(
response
.
data
.
status
===
'success'
)
{
let
data
=
response
.
data
.
data
let
roleData
=
data
.
map
((
item
)
=>
{
return
{
...
...
@@ -136,7 +193,7 @@ export default class AddUser extends Component {
options
:
roleData
,
getOptionLabel
:
(
option
)
=>
titleCase
(
option
.
role_name
),
};
this
.
setState
({
listRole
:
defaultProps
})
this
.
setState
({
listRole
:
defaultProps
})
}
else
{
alert
(
response
.
data
.
message
)
}
...
...
@@ -145,8 +202,8 @@ export default class AddUser extends Component {
getPerusahaan
()
{
api
.
create
().
getPerusahaanHierarki
().
then
((
response
)
=>
{
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
listCompany
:
response
.
data
.
data
})
if
(
response
.
data
.
status
===
'success'
)
{
this
.
setState
({
listCompany
:
response
.
data
.
data
})
console
.
log
(
response
.
data
.
data
)
}
})
...
...
@@ -182,21 +239,32 @@ export default class AddUser extends Component {
// <li>
<
Collapse
key
=
{
index
}
timeout
=
"auto"
unmountOnExit
in
=
{
item
.
collapse
}
>
<
div
style
=
{{
display
:
'flex'
,
flexDirection
:
'row'
,
alignItems
:
'center'
,
justifyContent
:
'flex-start'
,
paddingLeft
:
R
.
isNil
(
data
.
children
)
?
(
padding
+
20
)
:
padding
}}
>
{
R
.
isNil
(
data
.
children
)?
{
R
.
isNil
(
data
.
children
)
?
null
:
data
.
children
.
length
<
1
?
data
.
children
.
length
<
1
?
null
:
<
span
onClick
=
{()
=>
this
.
handleCollapse
(
data
)}
style
=
{{
marginLeft
:
7
,
marginRight
:
2
}}
>
{
data
.
collapse
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
{
data
.
collapse
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
<
/span
>
}
<
span
>
{
this
.
state
.
role
?
this
.
state
.
role
.
role_id
===
1
?
<
CustomCheckboxDisabled
disabled
=
{
true
}
checked
=
{
true
}
// onChange={() => this.handleItemClick(item)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
data
)}
onChange
=
{()
=>
this
.
handleItemClick
(
data
)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
data
)}
onChange
=
{()
=>
this
.
handleItemClick
(
data
)}
/
>
}
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
titleCase
(
data
.
company_name
)}
<
/Typography
>
<
/div
>
...
...
@@ -210,49 +278,49 @@ export default class AddUser extends Component {
}
handleCollapse
(
item
)
{
let
path
=
this
.
searchIt
({
children
:
this
.
state
.
listCompany
},
item
.
id
)
let
path
=
this
.
searchIt
({
children
:
this
.
state
.
listCompany
},
item
.
id
)
let
listCompany
=
this
.
state
.
listCompany
let
arrayPath
=
[]
if
(
path
.
length
>
1
)
{
arrayPath
=
path
.
split
(
'-'
);
arrayPath
=
arrayPath
.
map
((
item
)
=>
{
return
item
})
arrayPath
=
arrayPath
.
map
((
item
)
=>
{
return
item
})
}
else
{
arrayPath
.
push
(
path
)
}
let
pathSelect
=
null
if
(
arrayPath
.
length
==
1
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]]
}
else
if
(
arrayPath
.
length
==
2
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]]
}
else
if
(
arrayPath
.
length
==
3
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]]
}
else
if
(
arrayPath
.
length
==
4
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]]
}
else
if
(
arrayPath
.
length
==
5
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]]
}
else
if
(
arrayPath
.
length
==
6
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]]
}
else
if
(
arrayPath
.
length
==
7
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]].
children
[
arrayPath
[
6
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]].
children
[
arrayPath
[
6
]]
}
pathSelect
.
collapse
=
!
pathSelect
.
collapse
// console.log(pathSelect.collapse)
this
.
setState
({
listCompany
},
()
=>
console
.
log
(
pathSelect
))
this
.
setState
({
listCompany
},
()
=>
console
.
log
(
pathSelect
))
}
searchIt
=
(
node
,
search
,
path
=
''
,
position
=
0
)
=>
{
if
(
node
.
id
&&
node
.
id
===
search
)
{
return
path
!==
''
?
`
${
path
}
-
${
position
}
`
:
position
;
}
if
(
!
node
.
children
)
{
return
false
}
if
(
node
.
id
&&
node
.
id
===
search
)
{
return
path
!==
''
?
`
${
path
}
-
${
position
}
`
:
position
;
}
if
(
!
node
.
children
)
{
return
false
}
const
index
=
node
.
children
.
findIndex
((
x
)
=>
x
.
id
&&
x
.
id
===
search
);
if
(
index
>=
0
)
{
return
path
!==
''
?
`
${
path
}
-
${
index
}
`
:
index
;
}
for
(
let
i
=
0
;
i
<
node
.
children
.
length
;
i
++
)
{
const
result
=
this
.
searchIt
(
node
.
children
[
i
],
search
,
path
!==
''
?
`
${
path
}
-
${
i
}
`
:
i
,
i
);
if
(
result
)
{
const
result
=
this
.
searchIt
(
node
.
children
[
i
],
search
,
path
!==
''
?
`
${
path
}
-
${
i
}
`
:
i
,
i
);
if
(
result
)
{
return
result
;
}
}
...
...
@@ -275,7 +343,7 @@ export default class AddUser extends Component {
className
=
"btn btn-circle btn-white"
onClick
=
{()
=>
this
.
props
.
onClickClose
()}
>
<
img
src
=
{
Images
.
close
}
/
>
<
img
src
=
{
Images
.
close
}
/
>
<
/button
>
<
/div
>
<
/div
>
...
...
@@ -292,6 +360,19 @@ export default class AddUser extends Component {
variant
=
"filled"
value
=
{
'-'
}
onChange
=
{(
e
)
=>
null
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -310,7 +391,22 @@ export default class AddUser extends Component {
name
=
"fullname"
label
=
"Nama Lengkap"
value
=
{
this
.
state
.
fullname
}
error
=
{
this
.
state
.
errorFullname
}
helperText
=
{
this
.
state
.
msgErrorFN
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
,
}
}}
// defaultValue="Default Value"
// helperText="Some important text"
/
>
...
...
@@ -327,7 +423,22 @@ export default class AddUser extends Component {
name
=
"email"
label
=
"Email"
value
=
{
this
.
state
.
email
}
error
=
{
this
.
state
.
errorEmail
}
helperText
=
{
this
.
state
.
msgErrorEM
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
,
}
}}
// defaultValue="Default Value"
// helperText="Some important text"
/
>
...
...
@@ -339,9 +450,26 @@ export default class AddUser extends Component {
<
Autocomplete
{...
this
.
state
.
listRole
}
id
=
"role"
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
role
:
newInputValue
})}
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
role
:
newInputValue
})}
debug
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Role"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
/>
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Role"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
error
=
{
this
.
state
.
errorRoleName
}
helperText
=
{
this
.
state
.
msgErrorRN
}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
value
=
{
this
.
state
.
role
}
/
>
<
/div
>
...
...
@@ -363,6 +491,19 @@ export default class AddUser extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
...
...
@@ -384,6 +525,19 @@ export default class AddUser extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
...
...
@@ -402,6 +556,19 @@ export default class AddUser extends Component {
// id="outlined-read-only-input"
variant
=
"filled"
value
=
{
'Aktif'
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -423,6 +590,19 @@ export default class AddUser extends Component {
// id="outlined-read-only-input"
variant
=
"filled"
value
=
{
'T'
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -433,16 +613,16 @@ export default class AddUser extends Component {
<
/div
>
<
/div
>
<
/div
>
<
div
style
=
{{
flexDirection
:
'column'
,
display
:
'flex'
,
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
`Dibuat :
${
format
(
this
.
state
.
date
,
'dd MMMM yyyy'
,
{
locale
:
localeID
})}
`
}
<
/Typography
>
<
div
style
=
{{
flexDirection
:
'column'
,
display
:
'flex'
,
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
`Dibuat :
${
format
(
this
.
state
.
date
,
'dd MMMM yyyy'
,
{
locale
:
localeID
})}
`
}
<
/Typography
>
{
/* <Typography style={{fontSize: 12}}>{`Diubah: ${this.state.tempData === null? '' : this.state.tempData.updated}`}</Typography> */
}
<
/div
>
<
Divider
style
=
{{
margin
:
20
}}
/
>
<
div
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
Divider
style
=
{{
margin
:
20
}}
/
>
<
div
style
=
{{
paddingLeft
:
20
,
paddingRight
:
20
}}
>
<
h5
>
Otorisasi
Perusahaan
<
/h5
>
<
div
style
=
{{
paddingLeft
:
10
,
overflow
:
'scroll'
,
height
:
'25vh'
}}
>
{
this
.
state
.
listCompany
.
map
((
item
,
index
)
=>
{
return
(
<
div
style
=
{{
paddingLeft
:
10
,
overflow
:
'scroll'
,
height
:
'25vh'
}}
>
{
this
.
state
.
listCompany
.
map
((
item
,
index
)
=>
{
return
(
<
div
>
{
/* <ul>
<li> */
}
...
...
@@ -451,10 +631,21 @@ export default class AddUser extends Component {
{
item
.
collapse
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
<
/span>
}
<
span
>
{
this
.
state
.
role
?
this
.
state
.
role
.
role_id
===
1
?
<
CustomCheckboxDisabled
disabled
=
{
true
}
checked
=
{
true
}
// onChange={() => this.handleItemClick(item)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
item
)}
onChange
=
{()
=>
this
.
handleItemClick
(
item
)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
item
)}
onChange
=
{()
=>
this
.
handleItemClick
(
item
)}
/
>
}
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
titleCase
(
item
.
company_name
)}
<
/Typography
>
<
/div
>
...
...
@@ -474,7 +665,7 @@ export default class AddUser extends Component {
<
/div
>
<
/button
>
<
/div
>
<
div
className
=
"column-2"
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
alignItems
:
'center'
}}
>
<
div
className
=
"column-2"
style
=
{{
display
:
'flex'
,
justifyContent
:
'flex-end'
,
alignItems
:
'center'
}}
>
<
button
onClick
=
{()
=>
this
.
validasi
()}
>
<
div
style
=
{{
width
:
102
,
height
:
30
,
backgroundColor
:
'#354960'
,
borderRadius
:
5
,
alignItems
:
'center'
,
display
:
'flex'
,
justifyContent
:
'center'
}}
>
<
span
style
=
{{
color
:
'#fff'
,
fontSize
:
11
}}
>
Simpan
<
/span
>
...
...
src/container/Otorisasi/User/EditUser.js
View file @
867ddf10
...
...
@@ -20,6 +20,16 @@ const CustomCheckbox = withStyles({
checked
:
{},
})((
props
)
=>
<
Checkbox
color
=
"default"
{...
props
}
/>
)
;
const
CustomCheckboxDisabled
=
withStyles
({
root
:
{
color
:
'#d5d5d5'
,
'&$checked'
:
{
color
:
'#d5d5d5'
,
},
},
checked
:
{},
})((
props
)
=>
<
Checkbox
color
=
"default"
{...
props
}
/>
)
;
export
default
class
EditUser
extends
Component
{
constructor
(
props
)
{
...
...
@@ -116,12 +126,22 @@ export default class EditUser extends Component {
})
}
isEmail
(
email
)
{
const
re
=
/^
(([^
<>()
\[\]\\
.,;:
\s
@"
]
+
(\.[^
<>()
\[\]\\
.,;:
\s
@"
]
+
)
*
)
|
(
".+"
))
@
((\[[
0-9
]{1,3}\.[
0-9
]{1,3}\.[
0-9
]{1,3}\.[
0-9
]{1,3}\])
|
(([
a-zA-Z
\-
0-9
]
+
\.)
+
[
a-zA-Z
]{2,}))
$/
;
return
re
.
test
(
String
(
email
).
toLowerCase
());
}
validasi
()
{
var
isEmail
=
this
.
isEmail
(
this
.
state
.
tempData
.
email
)
// console.log(this.state.tempData)
if
(
R
.
isEmpty
(
this
.
state
.
tempData
.
fullname
))
{
this
.
setState
({
errorFullname
:
true
,
msgErrorFN
:
'Nama Lengkap tidak boleh kosong'
})
}
else
if
(
R
.
isEmpty
(
this
.
state
.
tempData
.
email
))
{
this
.
setState
({
errorEmail
:
true
,
msgErrorEM
:
'Email tidak boleh kosong'
})
}
else
if
(
R
.
isEmpty
(
this
.
state
.
tempData
.
role_name
))
{
}
else
if
(
!
isEmail
)
{
this
.
setState
({
errorEmail
:
true
,
msgErrorEM
:
'Format email tidak sesuai!'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
role
))
{
this
.
setState
({
errorRoleName
:
true
,
msgErrorRN
:
'Role Name tidak boleh kosong'
})
}
else
if
(
R
.
isNil
(
this
.
state
.
tempData
.
start_date
))
{
this
.
setState
({
errorStartDate
:
true
,
msgErrorSD
:
'Start Date tidak boleh kosong'
})
...
...
@@ -218,21 +238,32 @@ export default class EditUser extends Component {
// <li>
<
Collapse
key
=
{
index
}
timeout
=
"auto"
unmountOnExit
in
=
{
item
.
collapse
}
>
<
div
style
=
{{
display
:
'flex'
,
flexDirection
:
'row'
,
alignItems
:
'center'
,
justifyContent
:
'flex-start'
,
paddingLeft
:
R
.
isNil
(
data
.
children
)
?
(
padding
+
20
)
:
padding
}}
>
{
R
.
isNil
(
data
.
children
)?
{
R
.
isNil
(
data
.
children
)
?
null
:
data
.
children
.
length
<
1
?
data
.
children
.
length
<
1
?
null
:
<
span
onClick
=
{()
=>
this
.
handleCollapse
(
data
)}
style
=
{{
marginLeft
:
7
,
marginRight
:
2
}}
>
{
data
.
collapse
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
{
data
.
collapse
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
<
/span
>
}
<
span
>
{
this
.
state
.
role
?
this
.
state
.
role
.
role_id
===
1
?
<
CustomCheckboxDisabled
disabled
=
{
true
}
checked
=
{
true
}
// onChange={() => this.handleItemClick(item)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
data
)}
onChange
=
{()
=>
this
.
handleItemClick
(
data
)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
data
)}
onChange
=
{()
=>
this
.
handleItemClick
(
data
)}
/
>
}
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
titleCase
(
data
.
company_name
)}
<
/Typography
>
<
/div
>
...
...
@@ -246,49 +277,49 @@ export default class EditUser extends Component {
}
handleCollapse
(
item
)
{
let
path
=
this
.
searchIt
({
children
:
this
.
state
.
listCompany
},
item
.
id
)
let
path
=
this
.
searchIt
({
children
:
this
.
state
.
listCompany
},
item
.
id
)
let
listCompany
=
this
.
state
.
listCompany
let
arrayPath
=
[]
if
(
path
.
length
>
1
)
{
arrayPath
=
path
.
split
(
'-'
);
arrayPath
=
arrayPath
.
map
((
item
)
=>
{
return
item
})
arrayPath
=
arrayPath
.
map
((
item
)
=>
{
return
item
})
}
else
{
arrayPath
.
push
(
path
)
}
let
pathSelect
=
null
if
(
arrayPath
.
length
==
1
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]]
}
else
if
(
arrayPath
.
length
==
2
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]]
}
else
if
(
arrayPath
.
length
==
3
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]]
}
else
if
(
arrayPath
.
length
==
4
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]]
}
else
if
(
arrayPath
.
length
==
5
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]]
}
else
if
(
arrayPath
.
length
==
6
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]]
}
else
if
(
arrayPath
.
length
==
7
)
{
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]].
children
[
arrayPath
[
6
]]
pathSelect
=
listCompany
[
arrayPath
[
0
]].
children
[
arrayPath
[
1
]].
children
[
arrayPath
[
2
]].
children
[
arrayPath
[
3
]].
children
[
arrayPath
[
4
]].
children
[
arrayPath
[
5
]].
children
[
arrayPath
[
6
]]
}
pathSelect
.
collapse
=
!
pathSelect
.
collapse
// console.log(pathSelect.collapse)
this
.
setState
({
listCompany
},
()
=>
console
.
log
(
pathSelect
))
this
.
setState
({
listCompany
},
()
=>
console
.
log
(
pathSelect
))
}
searchIt
=
(
node
,
search
,
path
=
''
,
position
=
0
)
=>
{
if
(
node
.
id
&&
node
.
id
===
search
)
{
return
path
!==
''
?
`
${
path
}
-
${
position
}
`
:
position
;
}
if
(
!
node
.
children
)
{
return
false
}
if
(
node
.
id
&&
node
.
id
===
search
)
{
return
path
!==
''
?
`
${
path
}
-
${
position
}
`
:
position
;
}
if
(
!
node
.
children
)
{
return
false
}
const
index
=
node
.
children
.
findIndex
((
x
)
=>
x
.
id
&&
x
.
id
===
search
);
if
(
index
>=
0
)
{
return
path
!==
''
?
`
${
path
}
-
${
index
}
`
:
index
;
}
for
(
let
i
=
0
;
i
<
node
.
children
.
length
;
i
++
)
{
const
result
=
this
.
searchIt
(
node
.
children
[
i
],
search
,
path
!==
''
?
`
${
path
}
-
${
i
}
`
:
i
,
i
);
if
(
result
)
{
const
result
=
this
.
searchIt
(
node
.
children
[
i
],
search
,
path
!==
''
?
`
${
path
}
-
${
i
}
`
:
i
,
i
);
if
(
result
)
{
return
result
;
}
}
...
...
@@ -311,7 +342,7 @@ export default class EditUser extends Component {
className
=
"btn btn-circle btn-white"
onClick
=
{()
=>
this
.
props
.
onClickClose
()}
>
<
img
src
=
{
Images
.
close
}
/
>
<
img
src
=
{
Images
.
close
}
/
>
<
/button
>
<
/div
>
<
/div
>
...
...
@@ -328,6 +359,19 @@ export default class EditUser extends Component {
variant
=
"filled"
value
=
{
this
.
state
.
tempData
===
null
?
''
:
this
.
state
.
tempData
.
user_id
}
onChange
=
{(
e
)
=>
null
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -350,6 +394,19 @@ export default class EditUser extends Component {
// defaultValue="Default Value"
error
=
{
this
.
state
.
errorFullname
}
helperText
=
{
this
.
state
.
msgErrorFN
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
/
>
<
/div
>
<
/div
>
...
...
@@ -367,6 +424,19 @@ export default class EditUser extends Component {
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
error
=
{
this
.
state
.
errorEmail
}
helperText
=
{
this
.
state
.
msgErrorEM
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
/
>
<
/div
>
<
/div
>
...
...
@@ -379,7 +449,23 @@ export default class EditUser extends Component {
onChange
=
{(
event
,
newInputValue
)
=>
this
.
setState
({
role
:
newInputValue
})}
debug
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Role"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
/>
}
renderInput
=
{(
params
)
=>
<
TextField
{...
params
}
label
=
"Role"
margin
=
"normal"
style
=
{{
marginTop
:
7
}}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
error
=
{
this
.
state
.
errorRoleName
}
helperText
=
{
this
.
state
.
msgErrorRN
}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
}
}}
InputProps
=
{{
...
params
.
InputProps
,
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
}
}}
/>
}
value
=
{
this
.
state
.
role
}
/
>
<
/div
>
...
...
@@ -401,6 +487,19 @@ export default class EditUser extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
<
/div
>
...
...
@@ -421,7 +520,19 @@ export default class EditUser extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
<
/div
>
...
...
@@ -439,6 +550,19 @@ export default class EditUser extends Component {
// id="outlined-read-only-input"
variant
=
"filled"
value
=
{
this
.
state
.
tempData
===
null
?
''
:
this
.
state
.
tempData
.
status
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -460,6 +584,19 @@ export default class EditUser extends Component {
// id="outlined-read-only-input"
variant
=
"filled"
value
=
{
this
.
state
.
tempData
===
null
?
''
:
this
.
state
.
tempData
.
is_expired
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -488,10 +625,21 @@ export default class EditUser extends Component {
{
item
.
collapse
?
<
RemoveIcon
color
=
{
'action'
}
fontSize
=
{
'small'
}
/> : <AddIcon color={'action'} fontSize={'small'} /
>
}
<
/span>
}
<
span
>
{
this
.
state
.
role
?
this
.
state
.
role
.
role_id
===
1
?
<
CustomCheckboxDisabled
disabled
=
{
true
}
checked
=
{
true
}
// onChange={() => this.handleItemClick(item)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
item
)}
onChange
=
{()
=>
this
.
handleItemClick
(
item
)}
/>
:
<
CustomCheckbox
checked
=
{
this
.
handleItemChecked
(
item
)}
onChange
=
{()
=>
this
.
handleItemClick
(
item
)}
/
>
}
<
/span
>
<
Typography
style
=
{{
fontSize
:
12
}}
>
{
titleCase
(
item
.
company_name
)}
<
/Typography
>
<
/div
>
...
...
src/container/Otorisasi/UserRole.js
View file @
867ddf10
...
...
@@ -100,6 +100,7 @@ class UserRole extends Component {
name
:
"Action"
,
options
:
{
customBodyRender
:
(
val
,
tableMeta
)
=>
{
console
.
log
(
tableMeta
);
return
(
<
div
style
=
{{
display
:
'flex'
}}
>
<
button
...
...
@@ -112,7 +113,7 @@ class UserRole extends Component {
onClick
=
{()
=>
this
.
setState
({
edit
:
true
,
indexData
:
tableMeta
.
rowData
[
1
]
})}
>
<
div
style
=
{{
display
:
'flex'
}}
>
{
tableMeta
.
rowData
[
4
]
===
"Aktif"
?
{
tableMeta
.
rowData
[
2
]
!==
"superadmin"
&&
tableMeta
.
rowData
[
4
]
===
"Aktif"
?
<
img
src
=
{
Images
.
editCopy
}
/>
:
null
}
...
...
src/container/Otorisasi/UserRole/AddRole.js
View file @
867ddf10
...
...
@@ -52,6 +52,16 @@ export default class AddRole extends Component {
componentDidMount
()
{
this
.
getMenu
()
if
(
this
.
props
.
type
===
'edit'
)
{
//
}
else
{
let
date
=
format
(
new
Date
,
'yyyy-MM-dd'
)
console
.
log
(
date
);
this
.
setState
({
startDate
:
date
,
endDate
:
date
})
}
}
handleChange
(
e
,
type
)
{
...
...
@@ -266,6 +276,19 @@ export default class AddRole extends Component {
variant
=
"filled"
value
=
{
'-'
}
onChange
=
{(
e
)
=>
null
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -287,6 +310,19 @@ export default class AddRole extends Component {
error
=
{
this
.
state
.
errorRoleName
}
helperText
=
{
this
.
state
.
msgErrorRN
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
color
:
'#7e8085'
,
}
}}
// defaultValue="Default Value"
// helperText="Some important text"
/
>
...
...
@@ -309,6 +345,19 @@ export default class AddRole extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
...
...
@@ -330,6 +379,19 @@ export default class AddRole extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
...
...
@@ -348,6 +410,20 @@ export default class AddRole extends Component {
// id="outlined-read-only-input"
variant
=
"filled"
value
=
{
'Aktif'
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
src/container/Otorisasi/UserRole/EditRole.js
View file @
867ddf10
...
...
@@ -274,6 +274,19 @@ export default class EditRole extends Component {
variant
=
"filled"
value
=
{
this
.
state
.
tempData
===
null
?
''
:
this
.
state
.
tempData
.
role_id
}
onChange
=
{(
e
)
=>
null
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
@@ -295,6 +308,19 @@ export default class EditRole extends Component {
error
=
{
this
.
state
.
errorRoleName
}
helperText
=
{
this
.
state
.
msgErrorRN
}
onChange
=
{(
e
)
=>
this
.
handleChange
(
e
,
''
)}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
// defaultValue="Default Value"
// helperText="Some important text"
/
>
...
...
@@ -317,6 +343,19 @@ export default class EditRole extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
...
...
@@ -338,6 +377,19 @@ export default class EditRole extends Component {
KeyboardButtonProps
=
{{
'aria-label'
:
'change date'
,
}}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
style
=
{{
padding
:
0
,
margin
:
0
,
width
:
'100%'
}}
/
>
...
...
@@ -356,6 +408,19 @@ export default class EditRole extends Component {
// id="outlined-read-only-input"
variant
=
"filled"
value
=
{
this
.
state
.
tempData
===
null
?
''
:
this
.
state
.
tempData
.
status
}
inputProps
=
{{
style
:
{
fontSize
:
11
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
InputLabelProps
=
{{
style
:
{
fontSize
:
11
,
color
:
'#7e8085'
,
fontFamily
:
'Nunito Sans, sans-serif'
,
}
}}
>
{
/* {periode.map((option) => (
<MenuItem key={option.value} value={option.value}>
...
...
src/container/Profile.js
View file @
867ddf10
...
...
@@ -253,9 +253,21 @@ export default class Profile extends Component {
};
async
onDrop
(
pictureFiles
)
{
console
.
log
(
pictureFiles
);
this
.
setState
({
pictures
:
pictureFiles
})
// console.log(response);
// console.log(pictureFiles);
// console.log(pictureDataURLs);
// this.setState({
// pictures: this.state.pictures.concat(pictureFiles),
// });
}
async
uploadFoto
(){
let
formData
=
new
FormData
()
formData
.
append
(
'file'
,
pictureFiles
[
0
])
let
response
=
await
api
.
create
().
uploadFoto
(
formData
)
formData
.
append
(
'file'
,
this
.
state
.
pictures
[
0
])
api
.
create
().
uploadFoto
(
formData
).
then
(
response
=>
{
console
.
log
(
response
)
if
(
response
.
data
)
{
if
(
response
.
data
.
status
===
"success"
)
{
this
.
setState
({
uploadVisible
:
false
},
()
=>
{
...
...
@@ -265,12 +277,7 @@ export default class Profile extends Component {
})
}
}
// console.log(response);
// console.log(pictureFiles);
// console.log(pictureDataURLs);
// this.setState({
// pictures: this.state.pictures.concat(pictureFiles),
// });
})
}
render
()
{
...
...
@@ -487,11 +494,21 @@ export default class Profile extends Component {
<
/div
>
<
ImageUploader
withIcon
=
{
true
}
buttonText
=
'Choose images'
withPreview
buttonText
=
'Pilih Gambar'
onChange
=
{
this
.
onDrop
}
imgExtension
=
{[
'.jpg'
,
'.gif'
,
'.png'
,
'.gif'
,
'.jpeg'
]}
maxFileSize
=
{
5242880
}
maxFileSize
=
{
1000000
}
label
=
{
"Max file size: 1 Mb, accepted: jpg or png"
}
/
>
{
this
.
state
.
pictures
.
length
>
0
?
<
div
style
=
{{
display
:
'grid'
,
margin
:
20
}}
>
<
div
style
=
{{
justifySelf
:
'center'
}}
>
<
span
className
=
"main-color"
style
=
{{
color
:
'#fff'
,
padding
:
20
,
paddingBottom
:
10
,
paddingTop
:
10
,
borderRadius
:
15
,
cursor
:
'pointer'
}}
onClick
=
{()
=>
this
.
uploadFoto
()}
>
Upload
Foto
<
/span
>
<
/div
>
<
/div> : nul
l
}
<
/div
>
<
/div
>
)}
...
...
src/library/Upload.js
View file @
867ddf10
...
...
@@ -124,7 +124,7 @@ class Upload extends Component {
onClick
=
{
this
.
state
.
uploadProgress
===
true
?
null
:
this
.
onRemove
}
className
=
"btn btn-small-circle btn-black"
type
=
"button"
>
<
i
className
=
"fa fa-1x fa-times"
/>
<
i
mg
src
=
{
Images
.
close
}
/
>
<
/button
>
<
/div
>
<
div
className
=
"width width-full margin-left-10px"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment