-
Notifications
You must be signed in to change notification settings - Fork 268
Expand file tree
/
Copy patheditablegrid_dragdrop.css
More file actions
111 lines (97 loc) · 2.43 KB
/
editablegrid_dragdrop.css
File metadata and controls
111 lines (97 loc) · 2.43 KB
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/* Styles pour le drag & drop des colonnes EditableGrid */
/* Style pour les headers draggables */
.editablegrid th[draggable="true"] {
cursor: move;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
transition: all 0.2s ease;
}
.editablegrid th[draggable="true"]:hover {
background-color: #e0e0e0;
}
/* Style pendant le drag */
.editablegrid th.dragging-column {
opacity: 0.5;
background-color: #e6f3ff;
border: 2px dashed #007acc;
transform: rotate(2deg);
}
/* Style pour les zones de drop */
.editablegrid th.drop-zone {
position: relative;
}
/* Indicateur de position de drop - gauche */
.editablegrid th.drop-zone-left::before {
content: "";
position: absolute;
left: -2px;
top: 0;
bottom: 0;
width: 4px;
background-color: #007acc;
box-shadow: 0 0 6px rgba(0, 122, 204, 0.6);
z-index: 1000;
animation: dropIndicator 0.8s ease-in-out infinite alternate;
}
/* Indicateur de position de drop - droite */
.editablegrid th.drop-zone-right::after {
content: "";
position: absolute;
right: -2px;
top: 0;
bottom: 0;
width: 4px;
background-color: #007acc;
box-shadow: 0 0 6px rgba(0, 122, 204, 0.6);
z-index: 1000;
animation: dropIndicator 0.8s ease-in-out infinite alternate;
}
/* Animation pour l'indicateur de drop */
@keyframes dropIndicator {
from {
opacity: 0.6;
transform: scaleY(0.8);
}
to {
opacity: 1;
transform: scaleY(1);
}
}
/* Animation pour les transitions */
.editablegrid th {
transition: background-color 0.2s ease, border 0.2s ease, transform 0.2s ease;
}
/* Indicateur visuel pour montrer que les colonnes sont déplaçables */
.editablegrid th[draggable="true"]:before {
content: "⋮⋮";
color: #ccc;
font-size: 12px;
margin-right: 5px;
line-height: 1;
}
.editablegrid th[draggable="true"]:hover:before {
color: #666;
}
/* Style pour les boutons de contrôle (optionnel) */
.column-controls {
margin: 10px 0;
}
.column-controls button {
margin-right: 10px;
padding: 5px 10px;
border: 1px solid #ccc;
background: #f8f9fa;
cursor: pointer;
border-radius: 3px;
}
.column-controls button:hover {
background: #e9ecef;
}
/* Responsive: masquer les indicateurs sur mobile */
@media (max-width: 768px) {
.editablegrid th[draggable="true"]:before {
display: none;
}
}