mysqlsyncr 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/socketServer.js +6 -3
- package/ui/dist/spa/assets/{MainLayout-C00doqXz.js → MainLayout-D0eJ_5sV.js} +1 -1
- package/ui/dist/spa/assets/{axios-o6kWhtT9.js → axios-CEU4Idnn.js} +1 -1
- package/ui/dist/spa/assets/{index-DnieoNNh.js → index-C4-Ja7SU.js} +10 -10
- package/ui/dist/spa/assets/{index-DME6fUxJ.css → index-DbZFTc3Z.css} +1 -1
- package/ui/dist/spa/index.html +2 -2
- package/ui/src/pages/MainComponent.vue +89 -32
package/ui/dist/spa/index.html
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><title>MySQLsyncr</title><meta charset=utf-8><meta name=description content="A simple ui for the sync features in mysqlsyncr"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-
|
|
2
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
1
|
+
<!DOCTYPE html><html><head><title>MySQLsyncr</title><meta charset=utf-8><meta name=description content="A simple ui for the sync features in mysqlsyncr"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-C4-Ja7SU.js"></script>
|
|
2
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DbZFTc3Z.css">
|
|
3
3
|
</head><body><div id=q-app></div></body></html>
|
|
@@ -1,41 +1,66 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<q-page>
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<
|
|
6
|
-
@click="
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
<q-page class="q-pa-md">
|
|
3
|
+
<!-- Top Action Bar -->
|
|
4
|
+
<div class="row q-col-gutter-md q-mb-lg">
|
|
5
|
+
<div class="col-auto">
|
|
6
|
+
<q-btn @click="openSettings" icon="settings" label="Settings" color="primary" />
|
|
7
|
+
</div>
|
|
8
|
+
<div class="col-auto">
|
|
9
|
+
<q-btn
|
|
10
|
+
@click="
|
|
11
|
+
Object.keys(existingDatabases).length === 0
|
|
12
|
+
? createNewDump()
|
|
13
|
+
: createNewDump(true)
|
|
14
|
+
"
|
|
15
|
+
:icon="Object.keys(existingDatabases).length === 0 ? 'download' : 'refresh'"
|
|
16
|
+
:label="
|
|
17
|
+
Object.keys(existingDatabases).length === 0 ? 'Get New Dump' : 'Refresh Dump'
|
|
18
|
+
"
|
|
19
|
+
color="secondary"
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
16
22
|
</div>
|
|
17
23
|
|
|
18
|
-
|
|
24
|
+
<!-- Database Not Set Up Warning -->
|
|
25
|
+
<q-card v-if="!isDbSetup" class="q-mb-lg bg-warning text-white">
|
|
19
26
|
<q-card-section>
|
|
20
|
-
<div class="text-h6">
|
|
21
|
-
|
|
22
|
-
|
|
27
|
+
<div class="text-h6">
|
|
28
|
+
<q-icon name="warning" class="q-mr-sm" />
|
|
29
|
+
Database Not Set Up
|
|
30
|
+
</div>
|
|
31
|
+
<div class="q-mt-sm">Please configure your database settings to get started.</div>
|
|
32
|
+
<q-btn
|
|
33
|
+
@click="openSettings"
|
|
34
|
+
label="Open Settings"
|
|
35
|
+
color="white"
|
|
36
|
+
text-color="warning"
|
|
37
|
+
class="q-mt-sm"
|
|
38
|
+
unelevated
|
|
39
|
+
/>
|
|
23
40
|
</q-card-section>
|
|
24
41
|
</q-card>
|
|
25
42
|
|
|
26
|
-
|
|
43
|
+
<!-- Database Structure Card -->
|
|
44
|
+
<q-card v-if="Object.keys(existingDatabases).length > 0" class="q-mb-lg">
|
|
45
|
+
<q-card-section class="bg-primary text-white">
|
|
46
|
+
<div class="text-h6">
|
|
47
|
+
<q-icon name="account_tree" class="q-mr-sm" />
|
|
48
|
+
Database Structure
|
|
49
|
+
</div>
|
|
50
|
+
</q-card-section>
|
|
51
|
+
|
|
27
52
|
<q-card-section>
|
|
28
|
-
<div class="text-h6">Database Structure</div>
|
|
29
53
|
<q-tree
|
|
30
54
|
:nodes="databaseTree"
|
|
31
55
|
node-key="id"
|
|
32
56
|
v-model:expanded="expandedNodes"
|
|
33
57
|
@lazy-load="onLazyLoad"
|
|
58
|
+
class="database-tree"
|
|
34
59
|
>
|
|
35
60
|
<template v-slot:default-header="prop">
|
|
36
61
|
<div class="row items-center full-width">
|
|
37
62
|
<div
|
|
38
|
-
class="row items-center flex-grow-1"
|
|
63
|
+
class="row items-center flex-grow-1 cursor-pointer"
|
|
39
64
|
@click.stop="
|
|
40
65
|
!['category', 'database', 'subcategory'].includes(
|
|
41
66
|
prop.node.type,
|
|
@@ -51,7 +76,7 @@
|
|
|
51
76
|
size="sm"
|
|
52
77
|
class="q-mr-sm"
|
|
53
78
|
/>
|
|
54
|
-
<div>{{ prop.node.label }}</div>
|
|
79
|
+
<div class="text-weight-medium">{{ prop.node.label }}</div>
|
|
55
80
|
<q-badge
|
|
56
81
|
v-if="prop.node.diffCount"
|
|
57
82
|
color="negative"
|
|
@@ -61,7 +86,6 @@
|
|
|
61
86
|
</q-badge>
|
|
62
87
|
</div>
|
|
63
88
|
|
|
64
|
-
<!-- Fix button with better spacing -->
|
|
65
89
|
<q-btn
|
|
66
90
|
v-if="
|
|
67
91
|
['issue-group', 'issues', 'category', 'database'].includes(
|
|
@@ -978,14 +1002,47 @@ export default {
|
|
|
978
1002
|
}
|
|
979
1003
|
</script>
|
|
980
1004
|
|
|
981
|
-
<style>
|
|
982
|
-
.
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
1005
|
+
<style lang="scss">
|
|
1006
|
+
.database-tree {
|
|
1007
|
+
.q-tree__node-header {
|
|
1008
|
+
padding: 8px;
|
|
1009
|
+
border-radius: 4px;
|
|
1010
|
+
transition: background-color 0.3s;
|
|
1011
|
+
|
|
1012
|
+
&:hover {
|
|
1013
|
+
background-color: #f5f5f5;
|
|
1014
|
+
}
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
.q-tree__node--selected > .q-tree__node-header {
|
|
1018
|
+
background-color: #e3f2fd;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
.q-tree__node--child {
|
|
1022
|
+
padding-left: 24px;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
.q-icon {
|
|
1026
|
+
font-size: 20px;
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
.q-card {
|
|
1031
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
1032
|
+
border-radius: 8px;
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
.q-btn {
|
|
1036
|
+
border-radius: 8px;
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
.text-h6 {
|
|
1040
|
+
font-weight: 500;
|
|
1041
|
+
letter-spacing: 0.25px;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
.q-page {
|
|
1045
|
+
max-width: 1400px;
|
|
1046
|
+
margin: 0 auto;
|
|
990
1047
|
}
|
|
991
1048
|
</style>
|