|
@@ -112,6 +112,7 @@ $formID = rand(0, 100000);
|
|
data-field="strength" v-model="item.strength">
|
|
data-field="strength" v-model="item.strength">
|
|
<input type="text" :data-index="index"
|
|
<input type="text" :data-index="index"
|
|
class="form-control form-control-sm"
|
|
class="form-control form-control-sm"
|
|
|
|
+ v-on:change="onItemChange(index)"
|
|
data-option-list="frequency-options"
|
|
data-option-list="frequency-options"
|
|
data-field="frequency" v-model="item.frequency">
|
|
data-field="frequency" v-model="item.frequency">
|
|
<div id="frequency-options" class="data-option-list">
|
|
<div id="frequency-options" class="data-option-list">
|
|
@@ -124,7 +125,9 @@ $formID = rand(0, 100000);
|
|
v-model="item.detail"></textarea>
|
|
v-model="item.detail"></textarea>
|
|
</td>
|
|
</td>
|
|
<td>
|
|
<td>
|
|
- <textarea class="form-control form-control-sm" v-model="item.notes[item.notes.length-1].text"></textarea>
|
|
|
|
|
|
+ <textarea class="form-control form-control-sm"
|
|
|
|
+ v-on:change="onItemChange(index)"
|
|
|
|
+ v-model="item.notes[item.notes.length-1].text"></textarea>
|
|
</td>
|
|
</td>
|
|
<td class="px-2 text-nowrap">
|
|
<td class="px-2 text-nowrap">
|
|
<div v-if="item.type !== 'removed'">
|
|
<div v-if="item.type !== 'removed'">
|
|
@@ -233,6 +236,18 @@ $formID = rand(0, 100000);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ onItemChange: function(_index) {
|
|
|
|
+ let item = this.items[_index], originalItem = originalItems[_index];
|
|
|
|
+ if(item.type === 'existing' && !!originalItem) {
|
|
|
|
+ if(item.title !== originalItem.title ||
|
|
|
|
+ item.strength !== originalItem.strength ||
|
|
|
|
+ item.frequency !== originalItem.frequency ||
|
|
|
|
+ item.detail !== originalItem.detail) {
|
|
|
|
+ item.type = 'updated';
|
|
|
|
+ item.updated_note_uid = '{{@$note->uid}}';
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
addItem: function(_type) {
|
|
addItem: function(_type) {
|
|
let self = this;
|
|
let self = this;
|
|
this.items.push({
|
|
this.items.push({
|
|
@@ -320,6 +335,7 @@ $formID = rand(0, 100000);
|
|
|
|
|
|
qe.on('text-change', function() {
|
|
qe.on('text-change', function() {
|
|
self.items[vueIndex][vueField] = qe.root.innerHTML;
|
|
self.items[vueIndex][vueField] = qe.root.innerHTML;
|
|
|
|
+ self.onItemChange(vueIndex);
|
|
});
|
|
});
|
|
|
|
|
|
$(qe.container)
|
|
$(qe.container)
|
|
@@ -347,6 +363,7 @@ $formID = rand(0, 100000);
|
|
window.Def.Autocompleter.Event.observeListSelections(dynID, function() {
|
|
window.Def.Autocompleter.Event.observeListSelections(dynID, function() {
|
|
var autocomp = elem.autocomp, acData = autocomp.getSelectedItemData();
|
|
var autocomp = elem.autocomp, acData = autocomp.getSelectedItemData();
|
|
self.items[vueIndex].title = acData[0].code;
|
|
self.items[vueIndex].title = acData[0].code;
|
|
|
|
+ self.onItemChange(vueIndex);
|
|
var strengths = acData[0].data['STRENGTHS_AND_FORMS'];
|
|
var strengths = acData[0].data['STRENGTHS_AND_FORMS'];
|
|
if (strengths) {
|
|
if (strengths) {
|
|
strengthElem.autocomp.setListAndField(strengths, '');
|
|
strengthElem.autocomp.setListAndField(strengths, '');
|
|
@@ -355,6 +372,7 @@ $formID = rand(0, 100000);
|
|
window.Def.Autocompleter.Event.observeListSelections(dynStrengthsID, function() {
|
|
window.Def.Autocompleter.Event.observeListSelections(dynStrengthsID, function() {
|
|
var autocomp = elem.autocomp, acData = autocomp.getSelectedItemData();
|
|
var autocomp = elem.autocomp, acData = autocomp.getSelectedItemData();
|
|
self.items[vueIndex].strength = $(strengthElem).val();
|
|
self.items[vueIndex].strength = $(strengthElem).val();
|
|
|
|
+ self.onItemChange(vueIndex);
|
|
});
|
|
});
|
|
$(elem).attr('ac-initialized', 1);
|
|
$(elem).attr('ac-initialized', 1);
|
|
$(strengthElem).attr('ac-initialized', 1);
|
|
$(strengthElem).attr('ac-initialized', 1);
|