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

webdav_dialog.js « settings - github.com/PhieF/CarnetElectron.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e8883935ca0fc189299bae70885266bd78e1539b (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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
$(document).ready(function () {
    document.getElementById("connect-own-server").onclick = function () {
        secondSlide("")
    }
    document.getElementById("is-nextcloud").onchange = toggleRegister;
    $("#address").bind('input', function () {
        toggleRegister();
    })


})

function toggleRegister() {

    if (document.getElementById("is-nextcloud").checked && document.getElementById("address").value !== "")
        document.getElementById("register").style.display = "inline"
    else
        document.getElementById("register").style.display = "none"
}
function secondSlide(server) {
    document.getElementById("address").value = server;
    $("#first-slide").slideToggle();
    $("#second-slide").slideToggle();
    if (server !== "")
        toggleRegister()
}

function register() {
    var {
        shell
    } = require('electron');
    shell.openExternal(getServerAddress() + "/index.php/apps/registration/");
}

function getServerAddress() {
    var addr = document.getElementById("address").value
    if (!addr.startsWith("http"))
        addr = "https://" + addr;
    return addr;
}

function getWebdavAddress() {
    var addr = getServerAddress()
    if (addr.indexOf("remote.php/webdav") < 0 && document.getElementById("is-nextcloud").checked) {
        addr += "/remote.php/webdav";
    }
    return addr;
}

function connect() {
    if (!(document.getElementById("address").value == "" || document.getElementById("username").value == "" || document.getElementById("password").value == "")) {
        document.getElementById("loading-view").style.display = "block"
        const { AuthType, createClient }  = require("webdav");
        this.client = createClient(
            getWebdavAddress(),
            {
                authType: AuthType.Password,
                username: document.getElementById("username").value,
                password: document.getElementById("password").value
            }
            
        ).getDirectoryContents("/")
            .then(function (contents) {
                document.getElementById("loading-view").style.display = "none"
                var SettingsHelper = require("../server/settings_helper").SettingsHelper;
                var settingsHelper = new SettingsHelper();
                settingsHelper.setRemoteWebdavAddr(getWebdavAddress())
                settingsHelper.setRemoteWebdavUsername(document.getElementById("username").value)
                settingsHelper.setRemoteWebdavPassword(document.getElementById("password").value)
                settingsHelper.setRemoteWebdavPath(document.getElementById("path").value)

                var SyncDBManager = require("../server/sync/sync_db_manager").SyncDBManager
                SyncDBManager.getInstance().reset()
                const remote = require('@electron/remote');
                const window = remote.getCurrentWindow();
                window.close();
            }).catch(function (e) {
                console.log(e)
                document.getElementById("loading-view").style.display = "none"
                document.getElementById("error").style.display = "block"
            });
    }
}