|
@@ -186,7 +186,7 @@ class HueDocument {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- load(callback) {
|
|
|
|
|
|
|
+ load(successCallback, errorCallback) {
|
|
|
const self = this;
|
|
const self = this;
|
|
|
if (self.loading()) {
|
|
if (self.loading()) {
|
|
|
return;
|
|
return;
|
|
@@ -195,43 +195,49 @@ class HueDocument {
|
|
|
self.loading(true);
|
|
self.loading(true);
|
|
|
self.hasErrors(false);
|
|
self.hasErrors(false);
|
|
|
|
|
|
|
|
- const fetchDocumentsSuccessCallback = data => {
|
|
|
|
|
- const readUsers = data.document.perms.read.users.map(user => user.id);
|
|
|
|
|
- const writeUsers = data.document.perms.write.users.map(user => user.id);
|
|
|
|
|
- const allUsers = readUsers.concat(writeUsers);
|
|
|
|
|
- if (allUsers.length > 0) {
|
|
|
|
|
- apiHelper.fetchUsersByIds({
|
|
|
|
|
- userids: JSON.stringify(allUsers),
|
|
|
|
|
- successCallback: response => {
|
|
|
|
|
- response.users.forEach(user => {
|
|
|
|
|
- // Needed for getting prettyusername of already shared users
|
|
|
|
|
- self.idToUserMap[user.id] = user;
|
|
|
|
|
- });
|
|
|
|
|
- self.definition(data.document);
|
|
|
|
|
- },
|
|
|
|
|
- errorCallback: () => {}
|
|
|
|
|
- });
|
|
|
|
|
- } else {
|
|
|
|
|
- self.definition(data.document);
|
|
|
|
|
- }
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ const fetchDocumentsSuccessCallback = async data =>
|
|
|
|
|
+ new Promise(resolve => {
|
|
|
|
|
+ const readUsers = data.document.perms.read.users.map(user => user.id);
|
|
|
|
|
+ const writeUsers = data.document.perms.write.users.map(user => user.id);
|
|
|
|
|
+ const allUsers = readUsers.concat(writeUsers);
|
|
|
|
|
+ if (allUsers.length > 0) {
|
|
|
|
|
+ apiHelper.fetchUsersByIds({
|
|
|
|
|
+ userids: JSON.stringify(allUsers),
|
|
|
|
|
+ successCallback: response => {
|
|
|
|
|
+ response.users.forEach(user => {
|
|
|
|
|
+ // Needed for getting prettyusername of already shared users
|
|
|
|
|
+ self.idToUserMap[user.id] = user;
|
|
|
|
|
+ });
|
|
|
|
|
+ self.definition(data.document);
|
|
|
|
|
+ resolve();
|
|
|
|
|
+ },
|
|
|
|
|
+ errorCallback: () => {}
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ self.definition(data.document);
|
|
|
|
|
+ resolve();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
apiHelper
|
|
apiHelper
|
|
|
.fetchDocument({
|
|
.fetchDocument({
|
|
|
uuid: self.fileEntry.definition().uuid
|
|
uuid: self.fileEntry.definition().uuid
|
|
|
})
|
|
})
|
|
|
- .done(data => {
|
|
|
|
|
- fetchDocumentsSuccessCallback(data);
|
|
|
|
|
|
|
+ .done(async data => {
|
|
|
|
|
+ await fetchDocumentsSuccessCallback(data);
|
|
|
self.loading(false);
|
|
self.loading(false);
|
|
|
self.loaded(true);
|
|
self.loaded(true);
|
|
|
- if (callback) {
|
|
|
|
|
- callback();
|
|
|
|
|
|
|
+ if (successCallback) {
|
|
|
|
|
+ successCallback(this);
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
.fail(() => {
|
|
.fail(() => {
|
|
|
self.hasErrors(true);
|
|
self.hasErrors(true);
|
|
|
self.loading(false);
|
|
self.loading(false);
|
|
|
self.loaded(true);
|
|
self.loaded(true);
|
|
|
|
|
+ if (errorCallback) {
|
|
|
|
|
+ errorCallback();
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|