Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
zimbra-admin-api-js
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
Public
zimbra-admin-api-js
Commits
bdc78891
Commit
bdc78891
authored
Jun 19, 2016
by
Juorder Gonzalez
Committed by
GitHub
Jun 19, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #222 from ZBoxApp/issues_beta_v1
fix add and remove members and allowers in distribution list
parents
fab81c33
d3ead1ca
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
136 additions
and
230 deletions
+136
-230
path.json
path.json
+1
-1
distribution_lists.jsx
src/components/distribution/distribution_lists.jsx
+118
-212
panel_actions.jsx
src/components/panel_actions.jsx
+9
-7
panel_actions_allows.jsx
src/components/panel_actions_allows.jsx
+7
-9
utils.jsx
src/utils/utils.jsx
+1
-1
No files found.
path.json
View file @
bdc78891
module.exports
=
{
"main"
:{
"js"
:
"/220021bundle.js"
}}
module.exports
=
{
"main"
:{
"js"
:
"/976919bundle.js"
}}
\ No newline at end of file
\ No newline at end of file
src/components/distribution/distribution_lists.jsx
View file @
bdc78891
...
@@ -28,16 +28,16 @@ export default class DistributionLists extends React.Component {
...
@@ -28,16 +28,16 @@ export default class DistributionLists extends React.Component {
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
super
(
props
);
this
.
isStoreEnabled
=
true
;
this
.
isStoreEnabled
=
window
.
manager_config
.
enableStores
;
this
.
getDistributionLists
=
this
.
getDistributionLists
.
bind
(
this
);
this
.
getDistributionLists
=
this
.
getDistributionLists
.
bind
(
this
);
this
.
showMessage
=
this
.
showMessage
.
bind
(
this
);
this
.
showMessage
=
this
.
showMessage
.
bind
(
this
);
this
.
onDeleteMember
=
this
.
onDeleteMember
.
bind
(
this
);
this
.
onDeleteMember
=
this
.
onDeleteMember
.
bind
(
this
);
this
.
onDeleteOwner
=
this
.
onDeleteOwner
.
bind
(
this
);
this
.
onDeleteOwner
=
this
.
onDeleteOwner
.
bind
(
this
);
this
.
onSubmitMembers
=
this
.
onSubmitMembers
.
bind
(
this
);
this
.
onCancelMember
=
this
.
onCancelMember
.
bind
(
this
);
this
.
onCancelMember
=
this
.
onCancelMember
.
bind
(
this
);
this
.
onCancelOwner
=
this
.
onCancelOwner
.
bind
(
this
);
this
.
onCancelOwner
=
this
.
onCancelOwner
.
bind
(
this
);
this
.
onExportMembers
=
this
.
onExportMembers
.
bind
(
this
);
this
.
onExportMembers
=
this
.
onExportMembers
.
bind
(
this
);
this
.
onExportAllowers
=
this
.
onExportAllowers
.
bind
(
this
);
this
.
onExportAllowers
=
this
.
onExportAllowers
.
bind
(
this
);
this
.
makeRequest
=
this
.
makeRequest
.
bind
(
this
);
this
.
domain
=
null
;
this
.
domain
=
null
;
this
.
isGlobalAdmin
=
UserStore
.
isGlobalAdmin
();
this
.
isGlobalAdmin
=
UserStore
.
isGlobalAdmin
();
...
@@ -63,6 +63,54 @@ export default class DistributionLists extends React.Component {
...
@@ -63,6 +63,54 @@ export default class DistributionLists extends React.Component {
Utils
.
exportAsCSV
(
data
,
'allowers'
,
title
,
true
);
Utils
.
exportAsCSV
(
data
,
'allowers'
,
title
,
true
);
}
}
makeRequest
(
response
,
dl
,
resolve
,
store
)
{
const
keys
=
Object
.
keys
(
response
).
sort
();
const
item
=
keys
[
0
];
const
res
=
store
||
{};
const
action
=
item
.
match
(
/
(
remove|add
)
/gi
);
if
(
action
)
{
var
element
=
response
[
item
];
if
(
element
&&
element
.
length
)
{
const
pop
=
element
.
pop
();
const
target
=
typeof
pop
===
'object'
?
pop
.
name
||
pop
.
id
:
pop
;
const
label
=
action
[
0
]
===
'remove'
?
'eliminar'
:
'agregar'
;
return
dl
[
item
](
target
,
(
er
,
success
)
=>
{
if
(
success
)
{
if
(
res
.
completed
)
{
res
.
completed
.
push
({
action
:
label
,
target
});
}
else
{
res
.
completed
=
[{
action
:
label
,
target
}];
}
const
api
=
success
.
api
?
success
:
dl
;
return
this
.
makeRequest
(
response
,
api
,
resolve
,
res
);
}
er
.
action
=
label
;
er
.
target
=
target
;
if
(
res
.
error
)
{
res
.
error
.
push
(
er
);
}
else
{
res
.
error
=
[
er
];
}
return
this
.
makeRequest
(
response
,
dl
,
resolve
,
res
);
});
}
else
{
Reflect
.
deleteProperty
(
response
,
item
);
return
this
.
makeRequest
(
response
,
dl
,
resolve
,
res
);
}
}
res
.
data
=
dl
;
return
resolve
(
res
);
}
getDistributionLists
()
{
getDistributionLists
()
{
const
domain
=
this
.
isStoreEnabled
?
DomainStore
.
getCurrent
()
:
null
;
const
domain
=
this
.
isStoreEnabled
?
DomainStore
.
getCurrent
()
:
null
;
const
id
=
this
.
props
.
params
.
id
;
const
id
=
this
.
props
.
params
.
id
;
...
@@ -109,7 +157,7 @@ export default class DistributionLists extends React.Component {
...
@@ -109,7 +157,7 @@ export default class DistributionLists extends React.Component {
DomainStore
.
setMembers
(
data
.
distributionsList
.
members
);
DomainStore
.
setMembers
(
data
.
distributionsList
.
members
);
}
}
this
.
setState
({
return
this
.
setState
({
distributionsList
:
data
.
distributionsList
,
distributionsList
:
data
.
distributionsList
,
members
:
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
data
.
distributionsList
.
members
,
members
:
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
data
.
distributionsList
.
members
,
owners
:
this
.
isStoreEnabled
?
DomainStore
.
getOwners
()
:
data
.
owners
,
owners
:
this
.
isStoreEnabled
?
DomainStore
.
getOwners
()
:
data
.
owners
,
...
@@ -125,233 +173,73 @@ export default class DistributionLists extends React.Component {
...
@@ -125,233 +173,73 @@ export default class DistributionLists extends React.Component {
});
});
}
}
onSubmitOwners
(
response
)
{
onSubmitActions
(
response
)
{
if
(
response
.
refresh
)
{
return
new
Promise
((
resolve
)
=>
{
response
.
refresh
.
forEach
((
member
)
=>
{
return
this
.
makeRequest
(
response
,
this
.
state
.
distributionsList
,
resolve
);
if
(
this
.
isStoreEnabled
)
{
}).
then
((
data
)
=>
{
DomainStore
.
addOwners
(
member
);
}
});
}
this
.
multipleActionsOwners
(
response
,
this
.
state
.
distributionsList
).
then
((
res
)
=>
{
//const newOwners = this.isStoreEnabled ? DomainStore.getOwners() : null;
const
errors
=
[];
const
errors
=
[];
const
limit
=
res
.
length
;
if
(
data
.
error
)
{
data
.
error
.
forEach
((
err
)
=>
{
for
(
let
i
=
0
;
i
<
limit
;
i
++
)
{
const
items
=
res
[
i
];
if
(
items
.
error
)
{
const
action
=
(
items
.
action
===
'remove'
)
?
'eliminar'
:
'agregar'
;
errors
.
push
({
errors
.
push
({
error
:
`Hubo un error al
${
action
}
${
items
.
item
}
, debido a :
${
items
.
erro
r
.
extra
.
reason
}
`
,
error
:
`Hubo un error al
${
err
.
action
}
${
err
.
target
}
, debido a :
${
er
r
.
extra
.
reason
}
`
,
type
:
MessagesType
.
ERROR
type
:
MessagesType
.
ERROR
});
});
}
}
);
}
}
if
(
errors
.
length
!==
limit
)
{
if
(
data
.
completed
)
{
errors
.
push
({
errors
.
push
({
error
:
'Se han guardado los datos
para permitidos
éxitosamente.'
,
error
:
'Se han guardado los datos éxitosamente.'
,
type
:
MessagesType
.
SUCCESS
type
:
MessagesType
.
SUCCESS
});
});
}
}
if
(
this
.
state
.
domain
)
{
const
dl
=
data
.
data
;
const
id
=
this
.
props
.
params
.
id
;
Client
.
getDistributionList
(
id
,
(
success
)
=>
{
if
(
response
.
target
.
match
(
/owner/gi
))
{
success
.
getOwners
((
erro
r
,
owners
)
=>
{
return
dl
.
getOwners
((
er
r
,
owners
)
=>
{
if
(
owners
)
{
if
(
owners
)
{
if
(
this
.
isStoreEnabled
)
{
DomainStore
.
setOwners
(
owners
);
}
this
.
setState
({
this
.
setState
({
owners
,
owners
,
error
:
errors
error
:
errors
.
length
>
0
?
errors
:
null
,
});
distributionsList
:
dl
response
.
reset
();
}
});
},
(
err
)
=>
{
return
err
;
});
}
});
});
}
}
onSubmitMembers
(
response
)
{
if
(
response
.
refresh
)
{
response
.
refresh
.
forEach
((
member
)
=>
{
if
(
this
.
isStoreEnabled
)
{
DomainStore
.
addMember
(
member
);
}
});
});
}
}
this
.
multipleActionsMembers
(
response
,
this
.
state
.
distributionsList
).
then
((
res
)
=>
{
const
id
=
this
.
props
.
params
.
id
;
const
newMembers
=
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
null
;
return
Client
.
getDistributionList
(
id
,
(
success
)
=>
{
const
errors
=
[];
const
dl
=
success
;
const
limit
=
res
.
length
;
for
(
let
i
=
0
;
i
<
limit
;
i
++
)
{
return
this
.
setState
({
const
items
=
res
[
i
];
error
:
errors
.
length
>
0
?
errors
:
null
,
if
(
items
.
error
)
{
distributionsList
:
dl
,
const
action
=
(
items
.
action
===
'remove'
)
?
'eliminar'
:
'agregar'
;
members
:
dl
.
members
errors
.
push
({
error
:
`Hubo un error al
${
action
}
${
items
.
item
}
, debido a :
${
items
.
error
.
extra
.
reason
}
`
,
type
:
MessagesType
.
ERROR
});
});
}
},
(
error
)
=>
{
}
return
GlobalActions
.
emitMessage
({
error
:
error
.
message
,
if
(
errors
.
length
!==
limit
)
{
typeError
:
MessagesType
.
ERROR
errors
.
push
({
error
:
'Se han guardado los datos para miembros éxitosamente.'
,
type
:
MessagesType
.
SUCCESS
});
});
}
this
.
setState
({
members
:
newMembers
,
error
:
errors
});
});
}).
finally
(()
=>
{
response
.
reset
();
response
.
reset
();
});
});
}
}
multipleActionsMembers
(
response
,
account
)
{
onDeleteMember
(
member
)
{
const
promises
=
[];
if
(
response
.
add
||
response
.
remove
)
{
if
(
response
.
add
)
{
const
add
=
new
Promise
((
resolve
)
=>
{
account
.
addMembers
(
response
.
add
,
(
error
)
=>
{
const
res
=
{};
if
(
error
)
{
res
.
isCompleted
=
false
;
res
.
action
=
'add'
;
res
.
error
=
error
;
return
resolve
(
res
);
}
response
.
add
.
forEach
((
member
)
=>
{
if
(
this
.
isStoreEnabled
)
{
DomainStore
.
addMember
(
member
);
}
});
res
.
isCompleted
=
true
;
res
.
action
=
'add'
;
return
resolve
(
res
);
});
});
promises
.
push
(
add
);
}
if
(
response
.
remove
)
{
const
remove
=
new
Promise
((
resolve
)
=>
{
account
.
removeMembers
(
response
.
remove
,
(
error
)
=>
{
const
res
=
{};
if
(
error
)
{
res
.
isCompleted
=
false
;
res
.
action
=
'remove'
;
res
.
error
=
error
;
return
resolve
(
res
);
}
response
.
remove
.
forEach
((
member
)
=>
{
if
(
this
.
isStoreEnabled
)
{
if
(
this
.
isStoreEnabled
)
{
DomainStore
.
removeMember
(
member
);
DomainStore
.
removeMember
(
member
);
}
}
});
res
.
isCompleted
=
true
;
res
.
action
=
'remove'
;
return
resolve
(
res
);
});
});
promises
.
push
(
remove
);
}
}
return
Promise
.
all
(
promises
);
}
multipleActionsOwners
(
response
,
account
)
{
const
promises
=
[];
for
(
const
key
in
response
)
{
if
(
response
.
hasOwnProperty
(
key
)
&&
key
===
'add'
)
{
const
array
=
response
[
key
];
const
limit
=
array
.
length
;
for
(
let
index
=
0
;
index
<
limit
;
index
++
)
{
const
res
=
{};
const
newPermitido
=
array
[
index
];
const
promesa
=
new
Promise
((
resolve
)
=>
{
account
.
addOwner
(
newPermitido
,
(
error
)
=>
{
if
(
error
)
{
res
.
isCompleted
=
false
;
res
.
item
=
newPermitido
;
res
.
action
=
key
;
res
.
error
=
error
;
}
else
{
res
.
isCompleted
=
true
;
res
.
item
=
newPermitido
;
res
.
action
=
key
;
}
return
resolve
(
res
);
});
});
promises
.
push
(
promesa
);
}
}
if
(
response
.
hasOwnProperty
(
key
)
&&
key
===
'remove'
)
{
const
array
=
response
[
key
];
const
limit
=
array
.
length
;
for
(
let
index
=
0
;
index
<
limit
;
index
++
)
{
let
currentMembers
=
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
null
;
const
res
=
{};
const
permitido
=
array
[
index
].
name
||
array
[
index
].
id
;
const
promesa
=
new
Promise
((
resolve
)
=>
{
account
.
removeOwner
(
permitido
,
(
error
)
=>
{
if
(
error
)
{
res
.
isCompleted
=
false
;
res
.
item
=
response
[
key
][
index
];
res
.
action
=
key
;
res
.
error
=
error
;
}
else
{
res
.
isCompleted
=
true
;
res
.
item
=
response
[
key
][
index
];
res
.
action
=
key
;
}
return
resolve
(
res
);
if
(
!
currentMembers
)
{
});
currentMembers
=
this
.
state
.
members
.
filter
((
target
)
=>
{
return
target
!==
member
;
});
});
promises
.
push
(
promesa
);
}
}
}
}
return
Promise
.
all
(
promises
);
}
onDeleteMember
(
member
)
{
if
(
this
.
isStoreEnabled
)
{
DomainStore
.
removeMember
(
member
);
}
const
currentMembers
=
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
null
;
this
.
setState
({
this
.
setState
({
members
:
currentMembers
,
members
:
currentMembers
,
...
@@ -367,7 +255,12 @@ export default class DistributionLists extends React.Component {
...
@@ -367,7 +255,12 @@ export default class DistributionLists extends React.Component {
}
}
});
});
const
newMembers
=
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
null
;
let
newMembers
=
this
.
isStoreEnabled
?
DomainStore
.
getMembers
()
:
null
;
if
(
!
newMembers
)
{
newMembers
=
this
.
state
.
members
;
newMembers
.
push
(...
response
);
}
this
.
setState
({
this
.
setState
({
members
:
newMembers
,
members
:
newMembers
,
...
@@ -382,7 +275,14 @@ export default class DistributionLists extends React.Component {
...
@@ -382,7 +275,14 @@ export default class DistributionLists extends React.Component {
if
(
this
.
isStoreEnabled
)
{
if
(
this
.
isStoreEnabled
)
{
DomainStore
.
removeOwner
(
owner
);
DomainStore
.
removeOwner
(
owner
);
}
}
const
currentOwners
=
this
.
isStoreEnabled
?
DomainStore
.
getOwners
()
:
null
;
let
currentOwners
=
this
.
isStoreEnabled
?
DomainStore
.
getOwners
()
:
null
;
if
(
!
currentOwners
)
{
currentOwners
=
this
.
state
.
owners
.
filter
((
target
)
=>
{
return
target
!==
owner
;
});
}
this
.
setState
({
this
.
setState
({
owners
:
currentOwners
,
owners
:
currentOwners
,
...
@@ -398,7 +298,11 @@ export default class DistributionLists extends React.Component {
...
@@ -398,7 +298,11 @@ export default class DistributionLists extends React.Component {
}
}
});
});
const
newOwners
=
this
.
isStoreEnabled
?
DomainStore
.
getOwners
()
:
null
;
let
newOwners
=
this
.
isStoreEnabled
?
DomainStore
.
getOwners
()
:
null
;
if
(
!
newOwners
)
{
newOwners
=
this
.
state
.
owners
;
newOwners
.
push
(...
response
);
}
this
.
setState
({
this
.
setState
({
owners
:
newOwners
,
owners
:
newOwners
,
...
@@ -435,7 +339,7 @@ export default class DistributionLists extends React.Component {
...
@@ -435,7 +339,7 @@ export default class DistributionLists extends React.Component {
const
domain
=
this
.
state
.
domain
;
const
domain
=
this
.
state
.
domain
;
const
owners
=
this
.
state
.
owners
;
const
owners
=
this
.
state
.
owners
;
const
arrayMembers
=
this
.
state
.
members
;
const
arrayMembers
=
this
.
state
.
members
;
const
membersFormatted
=
Utils
.
getMembers
(
data
.
m
embers
,
'Miembros'
);
const
membersFormatted
=
Utils
.
getMembers
(
arrayM
embers
,
'Miembros'
);
if
(
owners
.
length
>
0
)
{
if
(
owners
.
length
>
0
)
{
isPrivate
=
(
isPrivate
=
(
...
@@ -489,7 +393,7 @@ export default class DistributionLists extends React.Component {
...
@@ -489,7 +393,7 @@ export default class DistributionLists extends React.Component {
name=
{
'Miembros'
}
name=
{
'Miembros'
}
data=
{
arrayMembers
}
data=
{
arrayMembers
}
onApplyChanges=
{
(
response
)
=>
{
onApplyChanges=
{
(
response
)
=>
{
this
.
onSubmit
Member
s
(
response
);
this
.
onSubmit
Action
s
(
response
);
}
}
}
}
hasExport=
{
true
}
hasExport=
{
true
}
isEmail=
{
true
}
isEmail=
{
true
}
...
@@ -502,6 +406,7 @@ export default class DistributionLists extends React.Component {
...
@@ -502,6 +406,7 @@ export default class DistributionLists extends React.Component {
onExport=
{
(
members
)
=>
{
onExport=
{
(
members
)
=>
{
this
.
onExportMembers
(
members
);
this
.
onExportMembers
(
members
);
}
}
}
}
nameFunc=
{
'Members'
}
/>
/>
);
);
...
@@ -510,7 +415,7 @@ export default class DistributionLists extends React.Component {
...
@@ -510,7 +415,7 @@ export default class DistributionLists extends React.Component {
name=
{
'Permitidos'
}
name=
{
'Permitidos'
}
data=
{
owners
}
data=
{
owners
}
onApplyChanges=
{
(
response
)
=>
{
onApplyChanges=
{
(
response
)
=>
{
this
.
onSubmit
Owner
s
(
response
);
this
.
onSubmit
Action
s
(
response
);
}
}
}
}
hasExport=
{
true
}
hasExport=
{
true
}
isEmail=
{
true
}
isEmail=
{
true
}
...
@@ -523,6 +428,7 @@ export default class DistributionLists extends React.Component {
...
@@ -523,6 +428,7 @@ export default class DistributionLists extends React.Component {
onExport=
{
(
allowers
)
=>
{
onExport=
{
(
allowers
)
=>
{
this
.
onExportAllowers
(
allowers
);
this
.
onExportAllowers
(
allowers
);
}
}
}
}
nameFunc=
{
'Owner'
}
/>
/>
);
);
}
}
...
@@ -581,14 +487,14 @@ export default class DistributionLists extends React.Component {
...
@@ -581,14 +487,14 @@ export default class DistributionLists extends React.Component {
permitidos
:
allows
permitidos
:
allows
};
};
const
not
=
false
;
/*
const not = false;
//if (!this.isGlobalAdmin) {
//if (!this.isGlobalAdmin) {
if (not) {
if (not) {
tabNamesArray = ['Miembros'];
tabNamesArray = ['Miembros'];
tabs = {
tabs = {
miembros: members
miembros: members
};
};
}
}
*/
panelTabs
=
(
panelTabs
=
(
<
PanelTab
<
PanelTab
...
...
src/components/panel_actions.jsx
View file @
bdc78891
...
@@ -274,21 +274,22 @@ export default class PanelActions extends React.Component {
...
@@ -274,21 +274,22 @@ export default class PanelActions extends React.Component {
onSubmit
()
{
onSubmit
()
{
const
response
=
{};
const
response
=
{};
response
.
reset
=
this
.
reset
;
response
.
reset
=
this
.
reset
;
response
.
target
=
this
.
props
.
nameFunc
;
this
.
refs
.
savebutton
.
setAttribute
(
'disabled'
,
'disabled'
);
/*
this.refs.savebutton.setAttribute('disabled', 'disabled');
this
.
refs
.
savebutton
.
innerHTML
=
'Aplicando Cambios...'
;
this.refs.savebutton.innerHTML = 'Aplicando Cambios...';
*/
if
(
this
.
forAdd
.
length
>
0
)
{
if
(
this
.
forAdd
.
length
>
0
)
{
response
.
add
=
this
.
forAdd
;
response
[
'add'
+
Utils
.
titleCase
(
this
.
props
.
nameFunc
)]
=
this
.
forAdd
;
}
}
if
(
this
.
forRemove
.
length
>
0
)
{
if
(
this
.
forRemove
.
length
>
0
)
{
response
.
remove
=
this
.
forRemove
;
response
[
'remove'
+
Utils
.
titleCase
(
this
.
props
.
nameFunc
)]
=
this
.
forRemove
;
}
}
if
(
this
.
refresh
.
length
>
0
)
{
/*
if (this.refresh.length > 0) {
response.refresh = this.refresh;
response.refresh = this.refresh;
}
}
*/
this
.
props
.
onApplyChanges
(
response
);
this
.
props
.
onApplyChanges
(
response
);
}
}
...
@@ -656,7 +657,8 @@ PanelActions.propTypes = {
...
@@ -656,7 +657,8 @@ PanelActions.propTypes = {
hasExport
:
React
.
PropTypes
.
bool
,
hasExport
:
React
.
PropTypes
.
bool
,
showNameOnButton
:
React
.
PropTypes
.
bool
,
showNameOnButton
:
React
.
PropTypes
.
bool
,
onExport
:
React
.
PropTypes
.
func
,
onExport
:
React
.
PropTypes
.
func
,
isEmail
:
React
.
PropTypes
.
bool
isEmail
:
React
.
PropTypes
.
bool
,
nameFunc
:
React
.
PropTypes
.
string
.
isRequired
};
};
PanelActions
.
defaultProps
=
{
PanelActions
.
defaultProps
=
{
...
...
src/components/panel_actions_allows.jsx
View file @
bdc78891
...
@@ -267,20 +267,17 @@ export default class PanelActions extends React.Component {
...
@@ -267,20 +267,17 @@ export default class PanelActions extends React.Component {
onSubmit
()
{
onSubmit
()
{
const
response
=
{};
const
response
=
{};
response
.
reset
=
this
.
reset
;
response
.
reset
=
this
.
reset
;
response
.
target
=
this
.
props
.
nameFunc
;
this
.
refs
.
savebutton
.
setAttribute
(
'disabled'
,
'disabled'
);
//
this.refs.savebutton.setAttribute('disabled', 'disabled');
this
.
refs
.
savebutton
.
innerHTML
=
'Aplicando Cambios...'
;
//
this.refs.savebutton.innerHTML = 'Aplicando Cambios...';
if
(
this
.
forAdd
.
length
>
0
)
{
if
(
this
.
forAdd
.
length
>
0
)
{
response
.
add
=
this
.
forAdd
;
response
[
'add'
+
Utils
.
titleCase
(
this
.
props
.
nameFunc
)]
=
this
.
forAdd
;
}
}
if
(
this
.
forRemove
.
length
>
0
)
{
if
(
this
.
forRemove
.
length
>
0
)
{
response
.
remove
=
this
.
forRemove
;
response
[
'remove'
+
Utils
.
titleCase
(
this
.
props
.
nameFunc
)]
=
this
.
forRemove
;
}
if
(
this
.
refresh
.
length
>
0
)
{
response
.
refresh
=
this
.
refresh
;
}
}
if
(
this
.
props
.
onApplyChanges
)
{
if
(
this
.
props
.
onApplyChanges
)
{
...
@@ -656,7 +653,8 @@ PanelActions.propTypes = {
...
@@ -656,7 +653,8 @@ PanelActions.propTypes = {
hasExport
:
React
.
PropTypes
.
bool
,
hasExport
:
React
.
PropTypes
.
bool
,
showNameOnButton
:
React
.
PropTypes
.
bool
,
showNameOnButton
:
React
.
PropTypes
.
bool
,
onExport
:
React
.
PropTypes
.
func
,
onExport
:
React
.
PropTypes
.
func
,
isEmail
:
React
.
PropTypes
.
bool
isEmail
:
React
.
PropTypes
.
bool
,
nameFunc
:
React
.
PropTypes
.
string
.
isRequired
};
};
PanelActions
.
defaultProps
=
{
PanelActions
.
defaultProps
=
{
...
...
src/utils/utils.jsx
View file @
bdc78891
...
@@ -375,7 +375,7 @@ export function exportAsCSV(data, target, title, hasLabel) {
...
@@ -375,7 +375,7 @@ export function exportAsCSV(data, target, title, hasLabel) {
for
(
var
j
=
0
;
j
<
keys
.
length
;
j
++
)
{
for
(
var
j
=
0
;
j
<
keys
.
length
;
j
++
)
{
let
col
=
null
;
let
col
=
null
;
if
(
typeof
item
===
'object'
)
{
if
(
typeof
item
===
'object'
&&
item
.
attrs
)
{
col
=
status
[
item
.
attrs
[
keys
[
j
]]]
||
item
.
attrs
[
keys
[
j
]];
col
=
status
[
item
.
attrs
[
keys
[
j
]]]
||
item
.
attrs
[
keys
[
j
]];
}
}
...
...
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