-
Notifications
You must be signed in to change notification settings - Fork 36
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
Add expiration panel #2294
Add expiration panel #2294
Conversation
BundleMonUnchanged files (2)
No change in files bundle size Groups updated (1)
Final result: ✅ View report in BundleMon website ➡️ |
react/Viewer/Panel/Expiration.jsx
Outdated
|
||
const handleClose = async () => { | ||
setIsBusy(true) | ||
await client.collection(FILES_DOCTYPE).updateMetadataAttribute(file.id, { |
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 qu'on devrait pas plutôt faire un client.save() ici ? cc @paultranvan @Crash--
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'ai procédé de la manière que dans InformationEdit
ou encore dans PageEdit
.
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.
Tu peux pas utiliser un save() pour mettre à jour ces infos là pour le moment.
Par contre, si l'app n'a pas de temps réel sur le io.cozy.files alors le fichier ne sera pas à jour dans le store de cozy-client.
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.
Donc pour résumer :
- est-ce qu'on devrait : oui
- est-ce qu'on peut : non
;)
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.
Pourquoi on peut pas ? 🤔
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.
En passant par la droite.
je veux dire, pourquoi on peut pas faire client.save en passant donc le file qu'on refait "à la main" plutôt qu'en utilisant une méthode https://github.com/cozy/cozy-client/blob/master/packages/cozy-stack-client/src/FileCollection.js#L982 qui prend l'id du doc en arg. ?
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.
Parce que c'est un point d'API spécifique pour mettre à jour ces informations...
On a déjà quelques if sur le update
https://github.com/cozy/cozy-client/blob/master/packages/cozy-stack-client/src/FileCollection.js#L495-L518 mais il ne gère pas encore le updateMetadataAttribute
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.
issue / PR welcome 😉
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.
There is already at least one discussion about that cozy/cozy-client#650
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.
I didn't see this PR, so I created an issue to link it: cozy/cozy-client#1277
10e9401
to
e1f7408
Compare
Link to a demo in the current state : https://polaritoon.github.io/cozy-ui/react/#!/Viewer |
554b444
to
5012c0f
Compare
@JF-Cozy This should be ready for another review. |
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.
modif à prendre en compte dans une autre PR dans les prochains jours, besoin de livraison rapide
@@ -90,7 +90,7 @@ | |||
"babel-preset-cozy-app": "2.0.2", | |||
"browserslist-config-cozy": "0.4.0", | |||
"copyfiles": "2.4.1", | |||
"cozy-client": "^33.0.0", | |||
"cozy-client": "^34.4.0", |
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.
cozy-client est aussi en peerDep, il faudrait donc mettre à jour également là-bas, non ? Attention c'est un BC
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.
Bien vu, j'ai indiqué le BC dans le premier commit.
|
||
if (isExpired(file)) { | ||
return ( | ||
<Typography component="span" variant="inherit" color="error"> |
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.
component="span" variant="inherit"
vraiment nécessaire ?
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.
component="span"
c'est parce Typography
est par défaut un élément p
et donc chaque Typography
s'afficherait un en dessous de l'autre
variant="inherit"
c'est parce que Typography
est par défaut en body1
et donc le texte ne serait pas de la bonne taille (selon l'endroit mettre un body2
peut aussi fonctionner mais inherit
ça montre bien que l'on veut juste la même chose que le parent)
J'accorde que Typography
perd pas mal de son intérêt ici. C'est aussi pour ça que j'étais parti sur un <span className="ui-error" />
initialement voir pas de composant du tout à certains autres endroits.
const expirationDate = computeExpirationDate(file) | ||
|
||
return ( | ||
<Typography component="span" variant="inherit" className="u-warning"> |
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.
idem component="span" variant="inherit"
secondary={formattedDate} | ||
secondary={ | ||
<> | ||
<Typography component="span" variant="inherit"> |
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.
idem component="span" variant="inherit"
et partout sur la PR :p
import { useI18n } from '../../I18n' | ||
import { formatLocallyDistanceToNow } from '../../I18n/format' | ||
|
||
const FILES_DOCTYPE = 'io.cozy.files' |
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.
à voir si on a n'a pas déjà des constantes quelque part, ici ou dans cozy-client...
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 ne vois pas d'endroit en particulier d'où il serait exporté, mais si un tel endroit n'existe pas, il faut avouer que ça serait sans doute bien de tout y centraliser plutôt que de redéfinir les constantes à chaque fois dans chaque lib / app.
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.
N'allait pas trop loin dans la mutualisation, y a des trucs qui font sens, d'autres non. Le KISS impose de temps en temps de dupliquer du code, et y a rien de mal à ça. Importer une constante depuis un autre package qui définit déjà une autre constante (car on peut considérer io.cozy.files
comme une constante déjà), ça n'a que très très peu d'intérêt. Voir aucun en fait ? 🤔
{isExpiringSoon(file) && !file?.metadata?.hideExpirationAlert && ( | ||
<ExpirationAlert file={file} /> | ||
)} | ||
<List className={'u-pv-1'}> |
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.
u-pv-1
vraiment nécessaire ici ? Les styles sur les listes ont été bien revus... 🤔
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.
Il était déjà là ! En l'état il est nécessaire parce qu'il assure que la liste n'est pas collée en haut et en bas du bloc. Je l'avais justement modifié initialement lorsque j'ai corrigé les problèmes de marges, mais je l'ai restauré depuis puisqu'on a dit qu'on repoussait la correction des problèmes de marges à plus tard !
qualification: { | ||
label: 'personal_sporting_licence' | ||
} | ||
} |
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.
on aurait pu mettre dans le même exemple que l'autre pour tout avoir au même endroit je pense
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.
De quel autre exemple parles-tu ? Celui-ci existait déjà, j'ai juste rajouté des attributs supplémentaires.
`cozy-client` as been upgraded to to `34.4.0` to be able to use paper helpers BREAKING CHANGE: You need to update `cozy-client` to `>34.4.0`.
Including an expiration alert.
5012c0f
to
a12d0d8
Compare
🎉 This PR is included in version 78.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This will be on top of cozy/cozy-client#1274 and thus will need an update of
cozy-client
.For consistency,
cozy-harvest-lib
should also be updated after cozy/cozy-libs#1893 is merged, but this is not required by this PR.Demo link : https://polaritoon.github.io/cozy-ui/react/#!/Viewer