-// Show a problem summary on variant page or new problem preview
-Vue.component('my-problem-summary', {
- props: ['prob','preview'],
+// Preview a problem on variant page
+Vue.component('my-problem-preview', {
+ props: ['prob','userid'],
template: `
- <div class="row problem clickable" @click="showProblem()">
- <div class="col-sm-6 diagram"
+ <div class="row problem">
+ <div class="col-sm-12 col-md-6 diagram"
v-html="getDiagram(prob.fen)">
</div>
- <div class="col-sm-6">
+ <div class="col-sm-12 col-md-6">
<p v-html="prob.instructions"></p>
- <p v-if="preview" v-html="prob.solution"></p>
+ <p v-if="!!prob.preview" v-html="prob.solution"></p>
<p v-else class="problem-time">{{ timestamp2date(prob.added) }}</p>
+ <div v-show="prob.uid==userid" class="button-group">
+ <button @click="sendSignal('edit')'">Edit</button>
+ <button @click="sendSignal('delete')">Delete</button>
+ </div>
</div>
</div>
`,
timestamp2date(ts) {
return getDate(new Date(ts));
},
- // Propagate "show problem" event to parent component (my-problems)
- showProblem: function() {
- this.$emit('show-problem');
+ sendSignal: function(action) {
+ this.$emit(action + "-problem");
},
},
})