Selaa lähdekoodia

creating entities basics

pull/1/head
Jonathan Cobb 4 vuotta sitten
vanhempi
commit
5f88f3d53b
3 muutettua tiedostoa jossa 18 lisäystä ja 12 poistoa
  1. +12
    -7
      src/_services/system.service.js
  2. +2
    -2
      src/_store/system.module.js
  3. +4
    -3
      src/admin/ModelSetupPage.vue

+ 12
- 7
src/_services/system.service.js Näytä tiedosto

@@ -7,6 +7,7 @@ export const systemService = {
loadSystemConfigs,
loadEntityConfigs,
search,
createEntity,
loadMessages,
loadTimezones,
detectTimezone,
@@ -47,19 +48,23 @@ function search(type, query) {
.then(config => { return config; });
}

function createEntity(config, json, messages, errors) {
function createEntity(entityConfig, json, messages, errors) {
console.log('createEntity: sending json='+json);
let requestOptions = null;
if (config.createMethod) {
if (config.createMethod === 'PUT') {
if (entityConfig.createMethod && entityConfig.createUri) {
if (entityConfig.createMethod === 'PUT') {
requestOptions = util.putJsonWithAuth(json);
} else if (config.createMethod === 'POST') {
} else if (entityConfig.createMethod === 'POST') {
requestOptions = util.putJsonWithAuth(json);
} else {
return Promise.reject("invalid createMethod: " + entityConfig.createMethod);
}
} else {
return Promise.reject("no createMethod");
}
if (requestOptions === null) requestOptions = util.putJsonWithAuth(json);
return fetch(`${config.apiUrl}/${config.createUri}`, requestOptions)
return fetch(`${config.apiUrl}${entityConfig.createUri}`, requestOptions)
.then(util.handleCrudResponse(messages, errors))
.then(config => { return config; });
.then(entity => { return entity; });
}

function loadMessages(group, locale) {


+ 2
- 2
src/_store/system.module.js Näytä tiedosto

@@ -88,9 +88,9 @@ const actions = {
error => commit('searchFailure', error)
);
},
createEntity({ commit }, type, json, messages, errors) {
createEntity({ commit }, {entityConfig, json, messages, errors}) {
commit('createEntityRequest');
systemService.createEntity(state.entityConfigs[type], json, messages, errors)
systemService.createEntity(entityConfig, json, messages, errors)
.then(
entity => commit('createEntitySuccess', entity),
error => commit('createEntityFailure', error)


+ 4
- 3
src/admin/ModelSetupPage.vue Näytä tiedosto

@@ -13,7 +13,7 @@
<div v-if="this.ec && this.ec[this.lcType] && this.ec[this.lcType].createMethod !== 'DISABLED'">
<button @click="showingAddDialog = true">{{messages.button_label_add_entity}}</button>
<div v-if="showingAddDialog">
<textarea v-bind="newEntityJson"></textarea>
<textarea v-model="newEntityJson"></textarea>
<button @click="createNewEntity()">{{messages.button_label_save_add_entity}}</button>
<button @click="showingAddDialog = false">{{messages.button_label_close_add_entity}}</button>
</div>
@@ -105,7 +105,8 @@
this.selectedEntity = null;
},
createNewEntity() {
this.createEntity(this.type, this.newEntityJson, this.messages, this.errors);
console.log('this.newEntityJson='+this.newEntityJson);
this.createEntity({entityConfig: this.ec[this.lcType], json: this.newEntityJson, messages: this.messages, errors: this.errors});
}
},
watch: {
@@ -113,7 +114,7 @@
if (configs) this.ec = configs;
},
searchResults (results) {
console.log('updating this.results='+JSON.stringify(results));
// console.log('updating this.results='+JSON.stringify(results));
if (results) this.results = results;
}
}


Ladataan…
Peruuta
Tallenna