@silexlabs/silex-dashboard 1.0.2 → 1.0.4
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/.silex-client.js +25 -0
- package/.silex.js +78 -0
- package/_data/api-translations.json +18 -2
- package/_includes/api-connectors.js.html +86 -0
- package/_includes/api-websites.js.html +149 -0
- package/_includes/connectors.html +99 -0
- package/_includes/websites.html +385 -0
- package/_silex/default/meta.json +1 -0
- package/_silex/default/website.json +1 -0
- package/_site/css/connectors.css +1 -0
- package/_site/css/websites.css +1 -0
- package/_site/en/connectors/index.html +188 -0
- package/_site/en/index.html +550 -169
- package/_site/fr/connectors/index.html +188 -0
- package/_site/fr/index.html +551 -170
- package/package.json +7 -5
- package/pages/connectors.css.liquid +4 -0
- package/pages/en/connectors.md +4 -0
- package/pages/en/index.md +2 -1
- package/pages/fr/connectors.md +5 -0
- package/pages/fr/index.md +2 -1
- package/pages/websites.css.liquid +4 -0
- package/.silex/default/.silex.data.json +0 -1
- package/_includes/main.html +0 -1
- package/_includes/website-list.js.html +0 -172
- package/_site/README/index.html +0 -12
- package/_site/css/main.css +0 -1
- package/css/main.css.liquid +0 -4
- package/index.js +0 -39
- package/pages/main.css.liquid +0 -4
- /package/{.silex → _silex}/default/assets/alex-small.jpg +0 -0
- /package/{.silex → _silex}/default/assets/silex-icon-2018@200px.png +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html lang="">
|
|
4
|
+
<head>
|
|
5
|
+
<link rel="stylesheet" href="/css/connectors.css" />
|
|
6
|
+
|
|
7
|
+
<link
|
|
8
|
+
rel="alternate"
|
|
9
|
+
hreflang="en"
|
|
10
|
+
href="/en/connectors" />
|
|
11
|
+
|
|
12
|
+
<style>
|
|
13
|
+
.button { cursor: pointer; }
|
|
14
|
+
a { text-decoration: none; }
|
|
15
|
+
a:hover { text-decoration: underline; }
|
|
16
|
+
|
|
17
|
+
.skeleton-anim:after {
|
|
18
|
+
width: 100%;
|
|
19
|
+
height: 100%;
|
|
20
|
+
position: absolute;
|
|
21
|
+
top: 0;
|
|
22
|
+
left: 0;
|
|
23
|
+
content: "";
|
|
24
|
+
background:
|
|
25
|
+
linear-gradient(0.25turn, transparent, rgba(255,255,255,.75), transparent),
|
|
26
|
+
linear-gradient(transparent, transparent),
|
|
27
|
+
radial-gradient(38px circle at 19px 19px, transparent 50%, transparent 51%),
|
|
28
|
+
linear-gradient(transparent, transparent);
|
|
29
|
+
background-repeat: no-repeat;
|
|
30
|
+
background-size: 315px 250px, 315px 180px, 100px 100px, 225px 30px;
|
|
31
|
+
background-position: -315px 0, 0 0, 0px 190px, 50px 195px;
|
|
32
|
+
animation: loading 1.5s infinite;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@keyframes loading {
|
|
36
|
+
to {
|
|
37
|
+
background-position: 200% 0, 0 0, 0 190px, 50px 195px;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
</style>
|
|
42
|
+
<script src="/node_modules/vue/dist/vue.global.js"></script>
|
|
43
|
+
<script src="/js/main.js"></script>
|
|
44
|
+
<script type="module">
|
|
45
|
+
window.addEventListener('load', function() {
|
|
46
|
+
const { createApp } = Vue;
|
|
47
|
+
const { api, constants, types } = silex;
|
|
48
|
+
const {
|
|
49
|
+
ConnectorType,
|
|
50
|
+
} = types
|
|
51
|
+
const {
|
|
52
|
+
connectorList,
|
|
53
|
+
logout,
|
|
54
|
+
} = api
|
|
55
|
+
|
|
56
|
+
const App = {
|
|
57
|
+
data() {
|
|
58
|
+
return {
|
|
59
|
+
connectors: [],
|
|
60
|
+
error: null,
|
|
61
|
+
message: null,
|
|
62
|
+
loading: true,
|
|
63
|
+
lastConnector: null,
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
mounted() {
|
|
67
|
+
this.init()
|
|
68
|
+
window.addEventListener('message', (event) => {
|
|
69
|
+
if(event.data && event.data.type === 'login') {
|
|
70
|
+
this.loginResult(event.data)
|
|
71
|
+
}
|
|
72
|
+
})
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
methods: {
|
|
76
|
+
async init() {
|
|
77
|
+
try {
|
|
78
|
+
this.loading = true
|
|
79
|
+
console.log('init')
|
|
80
|
+
this.connectors = await connectorList({type: ConnectorType.STORAGE})
|
|
81
|
+
console.log('connectors', this.connectors)
|
|
82
|
+
this.loading = false
|
|
83
|
+
} catch (error) {
|
|
84
|
+
console.error(error)
|
|
85
|
+
this.error = error
|
|
86
|
+
this.loading = false
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
openLogin(connector) {
|
|
90
|
+
this.lastConnector = connector
|
|
91
|
+
const nonOAuthUrl = `${constants.API_PATH}${constants.API_CONNECTOR_PATH}${constants.API_CONNECTOR_LOGIN}?connectorId=${connector.connectorId}&type=${connector.type}`
|
|
92
|
+
console.log('openLogin', connector.oauthUrl, nonOAuthUrl)
|
|
93
|
+
window.open(connector.oauthUrl || nonOAuthUrl, '_blank')
|
|
94
|
+
},
|
|
95
|
+
loginResult(data) {
|
|
96
|
+
console.log('loginResult', data)
|
|
97
|
+
if(data.error) {
|
|
98
|
+
this.error = data.error
|
|
99
|
+
this.message = `Erreur, impossible de se connecter. ${data.message}`
|
|
100
|
+
} else {
|
|
101
|
+
window.location.href = '/'
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
async logout() {
|
|
105
|
+
try {
|
|
106
|
+
this.message = 'Déconnexion en cours'
|
|
107
|
+
await logout({type: ConnectorType.STORAGE, connectorId: this.lastConnector.connectorId})
|
|
108
|
+
this.loggedIn = false
|
|
109
|
+
this.user = null
|
|
110
|
+
this.websites = []
|
|
111
|
+
this.loading = false
|
|
112
|
+
this.message = ''
|
|
113
|
+
this.error = false
|
|
114
|
+
} catch (error) {
|
|
115
|
+
console.error(error)
|
|
116
|
+
this.error = error
|
|
117
|
+
this.message = error.message
|
|
118
|
+
this.loading = false
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// Start vue app
|
|
125
|
+
createApp(App).mount('.app');
|
|
126
|
+
})
|
|
127
|
+
</script>
|
|
128
|
+
|
|
129
|
+
<title></title>
|
|
130
|
+
<link rel="icon" href="" />
|
|
131
|
+
<meta property="description" content=""/>
|
|
132
|
+
<meta property="og:title" content=""/>
|
|
133
|
+
<meta property="og:description" content=""/>
|
|
134
|
+
<meta property="og:image" content=""/>
|
|
135
|
+
</head>
|
|
136
|
+
<body
|
|
137
|
+
id="i2hcfw"
|
|
138
|
+
class=" app"
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
><A
|
|
142
|
+
id="ixzhcr" href="/"
|
|
143
|
+
class="button button-bar__item--secondary "
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
>< Retour</A><div
|
|
147
|
+
id="imgx81"
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
><H1
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
>Bienvenue sur Silex</H1><div
|
|
157
|
+
|
|
158
|
+
class="subtitle "
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
>Merci de vous connecter pour continuer</div><div
|
|
162
|
+
id="in62y2"
|
|
163
|
+
class="button-bar "
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
><A
|
|
167
|
+
id="isqe61" href="https://"
|
|
168
|
+
class="h-space button-bar__item--main button-bar_item button big-button "
|
|
169
|
+
v-if="!loading" v-for="(connector, index) in connectors" :key="index" :style="{ backgroundColor: connector.background, color: connector.color }" @click="openLogin(connector)"
|
|
170
|
+
|
|
171
|
+
><div
|
|
172
|
+
id="i87asw"
|
|
173
|
+
|
|
174
|
+
v-text="connector.displayName"
|
|
175
|
+
|
|
176
|
+
>Insert your text here</div></A></div><div
|
|
177
|
+
id="i9msnk"
|
|
178
|
+
|
|
179
|
+
v-if="error" v-html="message"
|
|
180
|
+
|
|
181
|
+
>Insert your text here</div><div
|
|
182
|
+
id="i6akll"
|
|
183
|
+
class="button button--tertiary "
|
|
184
|
+
v-if="error" @click="logout()"
|
|
185
|
+
|
|
186
|
+
>Déconnexion</div></div></body>
|
|
187
|
+
</html>
|
|
188
|
+
|