prevent rerendering of faces page on every typed letter
This commit is contained in:
parent
cae8f484cf
commit
56cc97d902
2 changed files with 12 additions and 12 deletions
|
@ -117,15 +117,15 @@ export class Face extends RestModel {
|
|||
return Api.put(this.getEntityResource(), { Hidden: this.Hidden });
|
||||
}
|
||||
|
||||
setName() {
|
||||
if (!this.Name || this.Name.trim() === "") {
|
||||
setName(newName = this.Name) {
|
||||
if (!newName || newName.trim() === "") {
|
||||
// Can't save an empty name.
|
||||
return Promise.resolve(this);
|
||||
}
|
||||
|
||||
this.SubjSrc = src.Manual;
|
||||
|
||||
const payload = { SubjSrc: this.SubjSrc, Name: this.Name };
|
||||
const payload = { SubjSrc: this.SubjSrc, Name: newName };
|
||||
|
||||
return Api.put(Marker.getCollectionResource() + "/" + this.MarkerUID, payload).then((resp) => {
|
||||
if (resp && resp.data && resp.data.Name) {
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<v-layout v-if="model.SubjUID" row wrap align-center>
|
||||
<v-flex xs12 class="text-xs-left pa-0">
|
||||
<v-text-field
|
||||
v-model="model.Name"
|
||||
:value="model.Name"
|
||||
:rules="[textRule]"
|
||||
:readonly="readonly"
|
||||
browser-autocomplete="off"
|
||||
|
@ -73,15 +73,15 @@
|
|||
hide-details
|
||||
single-line
|
||||
solo-inverted
|
||||
@change="onRename(model)"
|
||||
@keyup.enter.native="onRename(model)"
|
||||
@change="(newName) => {onRename(model, newName)}"
|
||||
@keyup.enter.native="(event) => {onRename(model, event.target.value)}"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
<v-layout v-else row wrap align-center>
|
||||
<v-flex xs12 class="text-xs-left pa-0">
|
||||
<v-combobox
|
||||
v-model="model.Name"
|
||||
:value="model.Name"
|
||||
style="z-index: 250"
|
||||
:items="$config.values.people"
|
||||
item-value="Name"
|
||||
|
@ -100,8 +100,8 @@
|
|||
prepend-inner-icon="person_add"
|
||||
browser-autocomplete="off"
|
||||
class="input-name pa-0 ma-0"
|
||||
@change="onRename(model)"
|
||||
@keyup.enter.native="onRename(model)"
|
||||
@change="(newName) => {onRename(model, newName)}"
|
||||
@keyup.enter.native="(event) => {onRename(model, event.target.value)}"
|
||||
>
|
||||
</v-combobox>
|
||||
</v-flex>
|
||||
|
@ -536,8 +536,8 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
onRename(model) {
|
||||
if (this.busy || !model || !model.Name || model.Name.trim() === "") {
|
||||
onRename(model, newName) {
|
||||
if (this.busy || !model || !newName || newName.trim() === "") {
|
||||
// Ignore if busy, refuse to save empty name.
|
||||
return;
|
||||
}
|
||||
|
@ -545,7 +545,7 @@ export default {
|
|||
this.busy = true;
|
||||
this.$notify.blockUI();
|
||||
|
||||
model.setName().finally(() => {
|
||||
model.setName(newName).finally(() => {
|
||||
this.$notify.unblockUI();
|
||||
this.busy = false;
|
||||
this.changeFaceCount(-1);
|
||||
|
|
Loading…
Add table
Reference in a new issue