Add contributor edition
- added viaf resolver
- improve contributors list display
- add update of document objects
- propagate update to back office
- update back office
- add bo-client to back office
- setup language initializer
- add options mechanism
- add language information in language list
- add lexvo resolver service + api
- add language and lexvo resolver to js app
- correct env template
- refresh bootstrap
- download google font
- add version information
- update dev virtual machine to centos7
- add a readme + clean folders
- add local .env file to start commands
import Ember from 'ember';
import store from 'store';
import ENV from 'bo-client/config/environment';
export default Ember.Service.extend({
constants: Ember.inject.service(),
_getStoreKey: function(id) {
return 'lexvo:'+id;
},
getName: function(id) {
var lexvoId = id;
if(id.startsWith(this.get('constants').LEXVO_BASE_URL)) {
lexvoId = id.slice(this.get('constants').LEXVO_BASE_URL.length);
}
var storeKey = this._getStoreKey(id);
var namePromise = null;
var name = store.get(storeKey);
if(!name) {
//TODO: handle error !!!
namePromise = this.queryName(lexvoId)
.then( function(response) {
return store.set(storeKey, response);
});
}
else {
namePromise = new Ember.RSVP.Promise(function(resolve/*, reject*/) {
resolve(name);
});
}
return namePromise;
},
// make the query for the name.
// return a Promise
queryName: function(id) {
return new Ember.RSVP.Promise(function(resolve, reject) {
Ember.$.ajax({
//TODO Configuration ?
url: ENV.baseURL.replace(/\/$/,"") + "/api/v1/lexvo/"+id,
success: function(lexvoDoc) {
var names = lexvoDoc.lexvoids;
resolve((id in names)?names[id]:null);
},
error: function(req, status, error) {
reject(status + ":" + error);
}
});
}.bind(this));
}
});