-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Counter activity stats #895
base: taiste
Are you sure you want to change the base?
Conversation
@@ -22,6 +26,9 @@ | |||
{% trans %}There is currently no barman connected.{% endtrans %} | |||
{% endif %} | |||
</ul> | |||
<h4>{% trans %}Last Week Activity {% endtrans %}</h4> | |||
<div id="activityGraph" width="400" height="200"></div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je suis pas sûr que ça soit du html valide, les propriétés width et height sur les divs. Et tu mets la height à 200, alors que dans le JS elle est à 600.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes en effet, j'ai juste l'impression que le js override tout ça, mais dans le doute je l'ai enlevé
98b4616
to
21b4a5d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ce serait bien d'avoir des images de ce à quoi ça ressemble :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
counter/static/webpack/counter/permanencies/time-grid-index.ts
permanencyFetchPermanancies, | ||
} from "#openapi"; | ||
|
||
interface ActivityChartConfig { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interface ActivityChartConfig { | |
interface ActivityTimeGridConfig { |
interface EventInput { | ||
start: Date; | ||
end: Date; | ||
backgroundColor: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ça devrais être contrôllé par le CSS, je trouve pas ça super que ce soit le code de logique qui choisisse le style
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
la couleur de background est prise en paramètre des events directement, et dans ce cas de figure je les change de couleur selon si ils sont dans la semaine précédente ou actuelle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Est-ce que la lib permet d'injecter une classe CSS, plutôt que directement le background-color ? Ca permettrait de gérer procéduralement la couleur, sans pour autant que ça soit trop hardcodé.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
j'en ai absolument aucune idée, je saurais même pas trop comment faire ça
interface EventInput { | ||
start: Date; | ||
end: Date; | ||
backgroundColor: string; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Est-ce que la lib permet d'injecter une classe CSS, plutôt que directement le background-color ? Ca permettrait de gérer procéduralement la couleur, sans pour autant que ça soit trop hardcodé.
} | ||
|
||
// Function to get last Monday at 00:00 | ||
function getLastMonday(now = new Date()): Date { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ca pose pas de problème en JS, de mettre un appel de fonction/constructeur en paramètre ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
non pas du tout, ça fait juste que le paramètre est optionnel, et prends une valeur par défaut a un nouvel objet, en l'occurrence la date du moment présent
c'est aussi faisable en C++ ce genre de trucs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Faut se méfier du "ça se fait aussi dans tel langage", parce que justement en Python ça se fait pas. On a même eu des problèmes dans le passé avec ça (cf #656) et Ruff a un lint pour ce cas très précis (https://docs.astral.sh/ruff/rules/function-call-in-default-argument/).
J'ai refactor un peu tout le code :
Quelques petites images pour illustrer quand même un peu la chose : Le planning tel qu'il sera visible directement sur la page
|
def fetch_permanencies(self, filters: Query[PermanencyFilterSchema]): | ||
return ( | ||
filters.filter(Permanency.objects.all()) | ||
.distinct() | ||
.order_by("-start") | ||
.select_related("counter") | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Petits tests ? 👉 👈
5601339
to
dae5cb0
Compare
Implémentation d'un graph des perms de la semaine passée sur la page activité des comptoirs