Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ServerBrowser.vue « Browse « Components « vue « src - github.com/marius-wieschollek/passwords-webextension.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ae0267d4f9a5ea995df4de674b9b1b17f5aa8f42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<template>
    <div>
        <parent-folder :folder="folderId" v-on:open="open($event)" v-if="!isHomeFolder" />
        <folder-list :folders="folders" v-on:open="open($event)"/>
        <password-list :passwords="passwords" :favicons="true"/>
    </div>
</template>

<script>
    import Server from '@js/Models/Server/Server';
    import MessageService from '@js/Services/MessageService';
    import PasswordList from '@vue/Components/List/PasswordList';
    import FolderList from '@vue/Components/List/FolderList';
    import Folder from '@vue/Components/List/Item/Folder';
    import ParentFolder from '@vue/Components/List/Item/ParentFolder';

    export default {
        components: {ParentFolder, Folder, FolderList, PasswordList},
        props     : {
            server: {
                type: Server
            }
        },

        data() {
            return {
                folderId : '00000000-0000-0000-0000-000000000000',
                passwords: [],
                folders  : []
            };
        },

        mounted() {
            this.loadFolders();
        },

        computed: {
            isHomeFolder() {
                return this.folderId === '00000000-0000-0000-0000-000000000000';
            }
        },

        methods: {
            loadFolders() {
                MessageService
                    .send({type: 'folder.list', payload: {server: this.server.getId(), folder: this.folderId}})
                    .then((reply) => {
                        let payload = reply.getPayload();
                        this.folders = payload.folders;
                        this.passwords = payload.passwords;
                    });
            },
            open(folder) {
                this.folderId = folder.getId();
            }
        },

        watch: {
            folderId() {
                this.loadFolders();
            }
        }
    };
</script>