Edit collection (#173)

* Collection edit modal

* Add icon

* 💚

* Oh look, some specs

* Delete collection

* Remove from collection

* Handle error responses
Protect against deleting last collection

* Fix key

* 💚

* Keyboard navigate documents list

* Add missing database constraints
This commit is contained in:
Tom Moor
2017-08-29 08:37:17 -07:00
committed by GitHub
parent e0b1c259e8
commit 8558b92cae
22 changed files with 515 additions and 53 deletions

View File

@ -67,9 +67,11 @@ class Collection extends BaseModel {
description: this.description,
});
}
invariant(res && res.data, 'Data should be available');
this.updateData(res.data);
this.hasPendingChanges = false;
runInAction('Collection#save', () => {
invariant(res && res.data, 'Data should be available');
this.updateData(res.data);
this.hasPendingChanges = false;
});
} catch (e) {
this.errors.add('Collection failed saving');
return false;
@ -80,6 +82,17 @@ class Collection extends BaseModel {
return true;
};
@action delete = async () => {
try {
const res = await client.post('/collections.delete', { id: this.id });
invariant(res && res.data, 'Data should be available');
const { data } = res;
return data.success;
} catch (e) {
this.errors.add('Collection failed to delete');
}
};
updateData(data: Object = {}) {
this.data = data;
extendObservable(this, data);