|
@@ -10,11 +10,12 @@
|
|
<typeahead placeholder="Search achievement..."
|
|
<typeahead placeholder="Search achievement..."
|
|
:async="apiEndpoint + '/search/'"
|
|
:async="apiEndpoint + '/search/'"
|
|
:template="template"
|
|
:template="template"
|
|
- :on-hit="callback">
|
|
|
|
|
|
+ :on-hit="callback"
|
|
|
|
+ v-model="selectText">
|
|
</typeahead>
|
|
</typeahead>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <button class="btn btn-block btn-primary">Add</button>
|
|
|
|
|
|
+ <button @click="addAchievement" class="btn btn-block btn-primary">Add</button>
|
|
</form>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -28,18 +29,23 @@ export default {
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
achievements: [],
|
|
achievements: [],
|
|
|
|
+ selected: {},
|
|
|
|
+ selectText: '',
|
|
asynchronous: '{{item.title}}',
|
|
asynchronous: '{{item.title}}',
|
|
template: '<img :src=\'"http://media.blizzard.com/wow/icons/18/" + item.icon + ".jpg"\' /> <span>{{item.title}}</span>'
|
|
template: '<img :src=\'"http://media.blizzard.com/wow/icons/18/" + item.icon + ".jpg"\' /> <span>{{item.title}}</span>'
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
callback: function (item) {
|
|
callback: function (item) {
|
|
|
|
+ this.selected = item
|
|
return item.title
|
|
return item.title
|
|
|
|
+ },
|
|
|
|
+ addAchievement: function () {
|
|
|
|
+ this.$emit('add-achievement', this.selected)
|
|
|
|
+ this.selected = {}
|
|
|
|
+ this.selectText = ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- mounted: function () {
|
|
|
|
- this.getAchievements()
|
|
|
|
- },
|
|
|
|
components: {
|
|
components: {
|
|
typeahead
|
|
typeahead
|
|
}
|
|
}
|