Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
Amadeus
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Wiki
Wiki externe
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Compilation
Pipelines
Jobs
Planifications de pipeline
Artéfacts
Déploiement
Releases
Registre de paquets
Registre de conteneur
Registre de modèles
Opération
Environnements
Modules Terraform
Surveillance
Incidents
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse CI/CD
Données d'analyse du dépôt
Expériences du modèle
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
bakaclub
Amadeus
Validations
639842ca
Valider
639842ca
rédigé
4 years ago
par
Deurstann
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
Added the ability to drag and drop item in queue
parent
16543a0a
Aucune branche associée trouvée
Branches contenant la validation
Aucune étiquette associée trouvée
1 requête de fusion
!5
Drag and drop in queue
Modifications
4
Masquer les modifications d'espaces
En ligne
Côte à côte
Affichage de
4 fichiers modifiés
common/lkt.js
+24
-26
24 ajouts, 26 suppressions
common/lkt.js
instance/main.js
+83
-3
83 ajouts, 3 suppressions
instance/main.js
instance/views/karaListItem.ejs
+3
-2
3 ajouts, 2 suppressions
instance/views/karaListItem.ejs
main.js
+13
-2
13 ajouts, 2 suppressions
main.js
avec
123 ajouts
et
33 suppressions
common/lkt.js
+
24
−
26
Voir le fichier @
639842ca
...
...
@@ -143,46 +143,41 @@ class LktClient {
}
return
__getResult
(
client
);
}
static
idleActualisation
()
{
static
idleActualisation
()
{
var
client
=
new
this
();
client
.
m_socket
.
setTimeout
(
0
);
function
__getResult
(
client
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
client
.
m_socket
.
on
(
'
data
'
,
data
=>
{
if
(
String
(
data
).
includes
(
"
playlist
"
))
{
return
new
Promise
((
resolve
,
reject
)
=>
{
client
.
m_socket
.
on
(
'
data
'
,
data
=>
{
if
(
String
(
data
).
includes
(
'
playlist
'
))
{
LktClient
.
setQueueUpdated
(
true
);
}
client
.
m_socket
.
write
(
`idle\n`
);
return
null
;
});
});
}
return
__getResult
(
client
);
}
static
commandPlay
()
{
var
status
=
LktClient
.
commandStatus
();
return
status
.
then
(
LktClient
.
changePlayStatus
,
LktClient
.
errorStatus
);
}
static
changePlayStatus
(
status
)
{
switch
(
status
.
state
)
{
case
"
play
"
:
return
LktClient
.
__execSimple
(
"
pause 1
"
);
var
status
=
LktClient
.
commandStatus
();
return
status
.
then
(
LktClient
.
changePlayStatus
,
LktClient
.
errorStatus
);
}
static
changePlayStatus
(
status
)
{
switch
(
status
.
state
)
{
case
'
play
'
:
return
LktClient
.
__execSimple
(
'
pause 1
'
);
break
;
case
"
pause
"
:
return
LktClient
.
__execSimple
(
"
pause 0
"
);
case
'
pause
'
:
return
LktClient
.
__execSimple
(
'
pause 0
'
);
break
;
case
"
stop
"
:
return
LktClient
.
__execSimple
(
"
play
"
);
case
'
stop
'
:
return
LktClient
.
__execSimple
(
'
play
'
);
break
;
default
:
logger
.
info
(
"
Unknown play state
"
+
status
.
state
);
logger
.
info
(
'
Unknown play state
'
+
status
.
state
);
}
}
static
commandStop
()
{
...
...
@@ -198,9 +193,14 @@ class LktClient {
static
commandShuffle
()
{
return
LktClient
.
__execSimple
(
'
shuffle
'
);
}
static
commandClear
(){
static
commandClear
()
{
return
LktClient
.
__execSimple
(
'
clear
'
);
}
static
commandMove
(
from
,
to
)
{
var
request
=
'
move
'
+
from
+
'
'
+
to
;
logger
.
info
(
request
);
return
LktClient
.
__execSimple
(
'
move
'
+
from
+
'
'
+
to
);
}
static
commandQueueAddId
(
id
)
{
return
LktClient
.
__execSimple
(
`add id
${
id
}
`
);
...
...
@@ -208,9 +208,8 @@ class LktClient {
static
commandQueueDelId
(
id
)
{
return
LktClient
.
__execSimple
(
`deleteid
${
id
}
`
);
}
static
errorStatus
(
error
)
{
logger
.
error
(
"
Unable to access lektor status:
"
+
error
);
static
errorStatus
(
error
)
{
logger
.
error
(
'
Unable to access lektor status:
'
+
error
);
}
static
queue_updated
=
false
;
...
...
@@ -238,7 +237,6 @@ function __mpdStatusToBool(string) {
string
=
string
.
split
(
'
\n
'
);
string
=
string
[
string
.
length
-
1
];
return
string
.
split
(
/ /
)
==
'
OK
'
?
true
:
false
;
}
module
.
exports
=
LktClient
;
Ce diff est replié.
Cliquez pour l'agrandir.
instance/main.js
+
83
−
3
Voir le fichier @
639842ca
const
{
ipcRenderer
}
=
require
(
'
electron
'
);
const
ejs
=
require
(
'
ejs
'
);
const
logger
=
require
(
'
../common/logger.js
'
);
const
e
=
require
(
'
express
'
);
/* prettier-ignore */
const
buttonList
=
[
...
...
@@ -49,9 +50,8 @@ window.onload = () => {
addIpcToButton
(
'
reloadQueue
'
,
[
'
reload-queue-request
'
]);
addIpcToButton
(
'
reloadDb
'
,
[
'
reload-db-request
'
,
'
reload-queue-request
'
]);
logger
.
debug
(
'
Window loaded
'
);
setTimeout
(()
=>
ipcRenderer
.
send
(
'
reload-queue-request
'
),
500
);
setInterval
(()
=>
ipcRenderer
.
send
(
'
verify-queue-reloaded-request
'
),
1000
);
setTimeout
(()
=>
ipcRenderer
.
send
(
'
reload-queue-request
'
),
500
);
setInterval
(()
=>
ipcRenderer
.
send
(
'
verify-queue-reloaded-request
'
),
50
);
logger
.
debug
(
'
instance
'
,
'
Window loaded
'
);
$
(
'
#filterInput
'
).
on
(
'
keypress
'
,
e
=>
{
...
...
@@ -140,6 +140,7 @@ ipcRenderer.on('reload-db-responce', (event, arg) => {
}
);
});
[].
forEach
.
call
(
document
.
querySelectorAll
(
'
#panelLeft .karaCard
'
),
a
);
});
/* Create the right panel: the queue */
...
...
@@ -158,6 +159,85 @@ ipcRenderer.on('reload-queue-responce', (event, arg) => {
}
);
});
logger
.
info
(
'
Time
'
,
new
Date
().
getTime
()
-
time
);
[].
forEach
.
call
(
document
.
querySelectorAll
(
'
#panelRight .karaCard
'
),
addQueueDragAndDropHandlers
);
});
ipcRenderer
.
on
(
'
queue-moved-responce
'
,
(
event
,
arg
)
=>
{
logger
.
info
(
'
Time
'
,
new
Date
().
getTime
()
-
time
);
ipcRenderer
.
send
(
'
reload-queue-request
'
);
});
var
isDnDFromDB
=
false
;
var
date
=
new
Date
();
var
time
=
0
;
function
addDBDragAndDropHandlers
(
element
)
{
isDnDFromDB
=
true
;
}
function
addQueueDragAndDropHandlers
(
element
)
{
element
.
addEventListener
(
'
dragstart
'
,
onDragStart
,
false
);
element
.
addEventListener
(
'
dragenter
'
,
onDragEnter
,
false
);
element
.
addEventListener
(
'
dragover
'
,
onDragOver
,
false
);
element
.
addEventListener
(
'
dragleave
'
,
ondragLeave
,
false
);
element
.
addEventListener
(
'
drop
'
,
onDrop
,
false
);
element
.
addEventListener
(
'
dragend
'
,
onDragEnd
,
false
);
}
var
dragCounter
=
0
;
var
leavedElement
;
function
onDragStart
(
event
)
{
event
.
dataTransfer
.
effectAllowed
=
'
move
'
;
event
.
currentTarget
.
style
.
opacity
=
0.4
;
//logger.debug(event.currentTarget.childElementCount+"\n");
event
.
dataTransfer
.
setData
(
'
text/plain
'
,
event
.
currentTarget
.
getElementsByClassName
(
'
karaPosition
'
)[
0
].
innerText
);
}
function
onDragEnter
(
event
)
{
if
(
leavedElement
!=
event
.
currentTarget
)
{
leavedElement
.
style
.
borderTop
=
''
;
}
event
.
currentTarget
.
style
.
borderTop
=
'
3px solid grey
'
;
dragCounter
++
;
}
function
onDragOver
(
event
)
{
if
(
event
.
preventDefault
)
{
event
.
preventDefault
();
}
event
.
dataTransfer
.
dropEffect
=
'
move
'
;
}
function
ondragLeave
(
event
)
{
dragCounter
--
;
leavedElement
=
event
.
currentTarget
;
if
(
dragCounter
==
0
)
{
event
.
currentTarget
.
style
.
borderTop
=
''
;
}
//logger.debug("dragCount", dragCounter)
}
function
onDrop
(
event
)
{
//logger.debug("salut", "salut");
event
.
currentTarget
.
style
.
borderTop
=
''
;
time
=
new
Date
().
getTime
();
ipcRenderer
.
send
(
'
queue-moved-kara
'
,
{
from
:
event
.
dataTransfer
.
getData
(
'
text/plain
'
),
to
:
event
.
currentTarget
.
getElementsByClassName
(
'
karaPosition
'
)[
0
]
.
innerText
,
});
return
false
;
}
function
onDragEnd
(
event
)
{
event
.
currentTarget
.
style
.
opacity
=
1
;
dragCounter
=
0
;
}
Ce diff est replié.
Cliquez pour l'agrandir.
instance/views/karaListItem.ejs
+
3
−
2
Voir le fichier @
639842ca
<%# vim: ts=4 syntax=html
The template for the kara card in lists %>
<li class="card p-2 bd-highlight shadow-none d-flex flex-row bd-highlight mb-3 karaCard">
<li class="card p-2 bd-highlight shadow-none d-flex flex-row bd-highlight mb-3 karaCard" draggable="true">
<span hidden class = "karaID"><%= kara.id %></span>
<span class="karaElement text-uppercase p-2 bd-highlight badge badge-light"><b><%= kara.language %></b></span>
<span class="karaElement text-uppercase p-2 bd-highlight badge badge-light"><b><%= kara.cat %></b></span>
<span class="karaElement text-uppercase p-2 bd-highlight badge badge-light"><b><%= kara.type %></b></span>
<span class="karaElement p-2 bd-highlight mr-auto"><b><%= kara.source %><br> <%= kara.title %></b> <i>[<%= kara.author %>]</i></span>
<% if (kara.hasOwnProperty('position')) { %>
<span class="karaElement p-3 bd-highlight"><b><%= kara.position %></b></span>
<span class="karaElement p-3 bd-highlight
karaPosition
"><b><%= kara.position %></b></span>
<% } %>
<div class="karaElement p-2 bd-highlight">
<div class="d-flex flex-row bd-highlight mb-3 btn-group karaActionBtnGroup" role="group">
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
main.js
+
13
−
2
Voir le fichier @
639842ca
...
...
@@ -144,7 +144,9 @@ app.on('ready', () => {
}
});
});
setTimeout
(()
=>
{
lkt
.
idleActualisation
();},
500
);
setTimeout
(()
=>
{
lkt
.
idleActualisation
();
},
500
);
lektor
.
on
(
'
close
'
,
code
=>
{
logger
.
warn
(
'
main
'
,
`Lektor exited with code
${
code
}
`
);
lektor_closed
=
true
;
...
...
@@ -205,10 +207,19 @@ ipcMain.on('reload-queue-request', (event, arg) => {
});
ipcMain
.
on
(
'
verify-queue-reloaded-request
'
,
(
event
,
arg
)
=>
{
if
(
lkt
.
isQueueUpdated
())
{
if
(
lkt
.
isQueueUpdated
())
{
lkt
.
setQueueUpdated
(
false
);
myDb
.
queue
(
0
,
100
).
then
(
karas
=>
{
event
.
reply
(
'
reload-queue-responce
'
,
karas
);
});
}
});
ipcMain
.
on
(
'
queue-moved-kara
'
,
(
event
,
movement
)
=>
{
logger
.
debug
(
'
bonjour
'
,
'
bonjour
'
);
if
(
movement
.
to
!=
movement
.
from
)
{
lkt
.
commandMove
(
movement
.
from
,
movement
.
to
).
then
(
arg
=>
{
event
.
reply
(
'
queue-moved-responce
'
);
});
}
});
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter