src_js/iconolab-bundle/src/components/editor/CommentList.vue
author Alexandre Segura <mex.zktk@gmail.com>
Tue, 14 Mar 2017 13:07:45 +0100
changeset 423 729e51dd282e
parent 410 a6db5e626850
child 504 11a862e01b04
permissions -rw-r--r--
Do not display comment box when not authenticated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
323
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     1
<template>
396
0a4743126d74 Implement replying to comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 351
diff changeset
     2
    <div v-show="annotation" class="wrapper">
328
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
     3
        <div v-show="comments.length === 0" class="alert alert-info">Pas de commentaire pour le moment.</div>
326
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
     4
        <comment
323
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     5
            v-for="comment in comments"
396
0a4743126d74 Implement replying to comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 351
diff changeset
     6
            v-bind:id="comment.id"
0a4743126d74 Implement replying to comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 351
diff changeset
     7
            v-bind:level="comment.level"
323
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     8
            v-bind:comment="comment.comment"
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
     9
            v-bind:username="comment.user_name"
396
0a4743126d74 Implement replying to comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 351
diff changeset
    10
            v-bind:date="comment.submit_date"
423
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    11
            v-bind:allow-thread="comment.allow_thread"
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    12
            v-bind:is-authenticated="isAuthenticated"></comment>
323
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    13
    </div>
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    14
</template>
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    15
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    16
<script>
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    17
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    18
    import Comment from './Comment.vue'
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    19
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    20
    export default {
423
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    21
        props: ['annotation', 'fetch', 'is-authenticated'],
323
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    22
        components: {
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    23
            Comment
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    24
        },
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    25
        data() {
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    26
            return {
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    27
                'comments': []
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    28
            }
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    29
        },
326
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    30
        computed: {
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    31
            commentsURL: function() {
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    32
                return this.fetch.replace(':annotation_guid', this.annotation.annotation_guid);
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    33
            }
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    34
        },
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    35
        watch: {
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    36
            annotation: function(annotation) {
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    37
                if (annotation) {
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    38
                    $.getJSON(this.commentsURL).then((comments) => this.comments = comments);
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    39
                } else {
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    40
                    this.comments = [];
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    41
                }
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    42
            }
423
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    43
        },
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    44
        mounted() {
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    45
            if (this.annotation) {
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    46
                $.getJSON(this.commentsURL).then((comments) => this.comments = comments);
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    47
            }
326
b962ae792616 Make CommentList more isolated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 323
diff changeset
    48
        }
323
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    49
    }
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    50
55c024fc7c60 Roughly implement annotation navigator.
Alexandre Segura <mex.zktk@gmail.com>
parents:
diff changeset
    51
</script>
328
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    52
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    53
<style scoped>
396
0a4743126d74 Implement replying to comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 351
diff changeset
    54
.wrapper {
410
a6db5e626850 sizes up panels and get closer to the mockup
duong tam kien <tk@deveha.com>
parents: 396
diff changeset
    55
    height: auto;
a6db5e626850 sizes up panels and get closer to the mockup
duong tam kien <tk@deveha.com>
parents: 396
diff changeset
    56
    overflow-y: auto;
423
729e51dd282e Do not display comment box when not authenticated.
Alexandre Segura <mex.zktk@gmail.com>
parents: 410
diff changeset
    57
    margin-bottom: 20px;
396
0a4743126d74 Implement replying to comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 351
diff changeset
    58
}
328
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    59
.alert {
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    60
    padding: 10px;
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    61
    font-size: 12px;
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    62
}
c23659daa42d Show alert when there are no comments.
Alexandre Segura <mex.zktk@gmail.com>
parents: 326
diff changeset
    63
</style>