Browse Source

creating entities basics

pull/1/head
Jonathan Cobb 4 years ago
parent
commit
5f88f3d53b
3 changed files with 18 additions and 12 deletions
  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 View File

@@ -7,6 +7,7 @@ export const systemService = {
loadSystemConfigs, loadSystemConfigs,
loadEntityConfigs, loadEntityConfigs,
search, search,
createEntity,
loadMessages, loadMessages,
loadTimezones, loadTimezones,
detectTimezone, detectTimezone,
@@ -47,19 +48,23 @@ function search(type, query) {
.then(config => { return config; }); .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; let requestOptions = null;
if (config.createMethod) {
if (config.createMethod === 'PUT') {
if (entityConfig.createMethod && entityConfig.createUri) {
if (entityConfig.createMethod === 'PUT') {
requestOptions = util.putJsonWithAuth(json); requestOptions = util.putJsonWithAuth(json);
} else if (config.createMethod === 'POST') {
} else if (entityConfig.createMethod === 'POST') {
requestOptions = util.putJsonWithAuth(json); 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(util.handleCrudResponse(messages, errors))
.then(config => { return config; });
.then(entity => { return entity; });
} }


function loadMessages(group, locale) { function loadMessages(group, locale) {


+ 2
- 2
src/_store/system.module.js View File

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


+ 4
- 3
src/admin/ModelSetupPage.vue View File

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


Loading…
Cancel
Save