Commit 8f742024 authored by Juorder Antonio's avatar Juorder Antonio

fix owners to search, add ,remove correctly.

parent 090aeffe
......@@ -101,7 +101,7 @@ export default class DistributionLists extends React.Component {
reject(error);
});
}).then((data) => {
DomainStore.setOwners(Utils.getOwners(data.owners));
DomainStore.setOwners(data.owners);
DomainStore.setMembers(data.distributionsList.members);
this.setState({
......@@ -128,7 +128,7 @@ export default class DistributionLists extends React.Component {
}
this.multipleActionsOwners(response, this.state.distributionsList).then((res) => {
const newOwners = DomainStore.getOwners();
//const newOwners = DomainStore.getOwners();
const errors = [];
const limit = res.length;
......@@ -150,12 +150,24 @@ export default class DistributionLists extends React.Component {
});
}
this.setState({
owners: newOwners,
error: errors
});
response.reset();
if (this.state.domain) {
const id = this.props.params.id;
Client.getDistributionList(id, (success) => {
success.getOwners((error, owners) => {
if (owners) {
DomainStore.setOwners(owners);
this.setState({
owners,
error: errors
});
response.reset();
}
});
}, (err) => {
return err;
});
}
});
}
......@@ -266,18 +278,18 @@ export default class DistributionLists extends React.Component {
for (let index = 0; index < limit; index++) {
const res = {};
const newPermitido = array[index];
const promesa = new Promise((resolve) => {
account.addOwner(array[index], (error) => {
account.addOwner(newPermitido, (error) => {
if (error) {
res.isCompleted = false;
res.item = response[key][index];
res.item = newPermitido;
res.action = key;
res.error = error;
} else {
res.isCompleted = true;
res.item = response[key][index];
res.item = newPermitido;
res.action = key;
DomainStore.addOwners(response[key][index]);
}
return resolve(res);
......@@ -294,8 +306,9 @@ export default class DistributionLists extends React.Component {
for (let index = 0; index < limit; index++) {
const res = {};
const permitido = array[index].name || array[index].id;
const promesa = new Promise((resolve) => {
account.removeOwner(array[index], (error) => {
account.removeOwner(permitido, (error) => {
if (error) {
res.isCompleted = false;
res.item = response[key][index];
......
......@@ -56,11 +56,8 @@ export default class PanelActions extends React.Component {
const search = this.refs.search.value;
const arrayFiltered = this.props.data.filter((strArray) => {
if (strArray.match(search)) {
return strArray;
}
return false;
const strToTest = typeof strArray.name === 'string' ? strArray.name : strArray.id;
return strToTest.match(search);
});
const states = {};
......@@ -98,11 +95,13 @@ export default class PanelActions extends React.Component {
}
}
handleDelete(e, item) {
handleDelete(e, element) {
e.preventDefault();
this.remove.push(item);
this.forRemove.push(item);
this.props.onDelete(item);
this.remove.push(element);
this.forRemove.push(element);
if (this.props.onDelete) {
this.props.onDelete(element);
}
}
reset() {
......@@ -196,11 +195,10 @@ export default class PanelActions extends React.Component {
componentWillReceiveProps(nextProps) {
this.pagination.setArray(nextProps.data);
this.pagination.reset();
const states = {};
states['items' + this.props.name] = nextProps.data;
states['items' + this.props.name] = this.pagination.reset();
states['pagination' + this.props.name] = this.pagination.getResults();
this.setState(states);
......@@ -239,7 +237,7 @@ export default class PanelActions extends React.Component {
const length = array.length;
if (length > 0) {
for (let i = 0; i < length; i++) {
if (item === array[i]) {
if (item.id === array[i].id) {
array.splice(i, 1);
return true;
}
......@@ -281,7 +279,9 @@ export default class PanelActions extends React.Component {
response.refresh = this.refresh;
}
this.props.onApplyChanges(response);
if (this.props.onApplyChanges) {
this.props.onApplyChanges(response);
}
}
render() {
......@@ -367,10 +367,14 @@ export default class PanelActions extends React.Component {
} else {
const data = this.state['items' + this.props.name];
rows = data.map((row, index) => {
const name = row.name || row.id;
const hasError = row.name ? '' : 'alert-danger';
const labelError = row.name ? '' : '(Este elemento no tiene nombre)';
return (
<tr key={index}>
<td>
{row}
<td className={`${hasError}`}>
{`${name} ${labelError}`}
<Button
btnAttrs={
......@@ -447,6 +451,7 @@ export default class PanelActions extends React.Component {
if (this.remove.length > 0) {
itemsForRemove = this.remove.map((element, key) => {
const nameForRemove = element.name || element.id;
return (
<label
className='list-inline listed-field'
......@@ -455,12 +460,12 @@ export default class PanelActions extends React.Component {
<input
type='checkbox'
defaultChecked={'checked'}
data-value={element}
data-value={element.id}
onChange={(e) => {
this.handleChange(e, element, 'remove');
}}
/>
{element}
{nameForRemove}
</label>
);
});
......
......@@ -558,7 +558,8 @@ export function getOwners(owners) {
const limit = owners.length;
const ownersArray = [];
for (let i = 0; i < limit; i++) {
ownersArray.push(owners[i].name);
const name = owners[i].name || { id: owners[i].id};
ownersArray.push(name);
}
return ownersArray;
......
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