{"action":"created","issue":{"url":"https://api.github.com/repos/zestedesavoir/zds-site/issues/3284","labels_url":"https://api.github.com/repos/zestedesavoir/zds-site/issues/3284/labels{/name}","comments_url":"https://api.github.com/repos/zestedesavoir/zds-site/issues/3284/comments","events_url":"https://api.github.com/repos/zestedesavoir/zds-site/issues/3284/events","html_url":"https://github.com/zestedesavoir/zds-site/pull/3284","id":125763698,"number":3284,"title":"Rewrite du module de modales","user":{"login":"sandhose","id":1549952,"avatar_url":"https://avatars.githubusercontent.com/u/1549952?v=3","gravatar_id":"","url":"https://api.github.com/users/sandhose","html_url":"https://github.com/sandhose","followers_url":"https://api.github.com/users/sandhose/followers","following_url":"https://api.github.com/users/sandhose/following{/other_user}","gists_url":"https://api.github.com/users/sandhose/gists{/gist_id}","starred_url":"https://api.github.com/users/sandhose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandhose/subscriptions","organizations_url":"https://api.github.com/users/sandhose/orgs","repos_url":"https://api.github.com/users/sandhose/repos","events_url":"https://api.github.com/users/sandhose/events{/privacy}","received_events_url":"https://api.github.com/users/sandhose/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zestedesavoir/zds-site/labels/Evolution","name":"Evolution","color":"c7def8"},{"url":"https://api.github.com/repos/zestedesavoir/zds-site/labels/Front","name":"Front","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2016-01-09T15:10:16Z","updated_at":"2016-01-09T23:49:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zestedesavoir/zds-site/pulls/3284","html_url":"https://github.com/zestedesavoir/zds-site/pull/3284","diff_url":"https://github.com/zestedesavoir/zds-site/pull/3284.diff","patch_url":"https://github.com/zestedesavoir/zds-site/pull/3284.patch"},"body":"| Q                             | R\r\n| ----------------------------- | -------------------------------------------\r\n| Correction de bugs ?          | oui\r\n| Nouvelle Fonctionnalité ?     | oui\r\n| Tickets (_issues_) concernés  | #3087\r\n\r\nActuellement, les modales ont plusieurs souci, le plus embêtant étant le fait que les modales ont une taille fixe. Cette PR réécrit toute la partie JS de comment sont gérées les modales, et passe les modales en flexbox.\r\n\r\nEn gros, le flexbox permet d'avoir la modale centrée sans connaître sa taille, et même de gérer le scroll si la fenêtre est trop petite en hauteur, ou la modale trop grande (on utilise déjà des flexbox sur la home, et on a drop le support d'IE9 depuis un moment, donc ça devrait aller niveau support des navigateurs).\r\n\r\nPar contre, alors que la taille était avant explicite dans le code (classe `modal-[taille]`), elle est maintenant implicite en fonction de la taille du contenu. Du coup, il faut des tests. Beaucoup de tests. Dans l'idéal, il faudrait tester *toutes* les modales du sites, et ça fait beaucoup. Du coup, même si cette PR est pas encore totalement finie (doc, clean des anciennes modales), ça serait bien de tester le maximum de modales dans cette PR.\r\n\r\n---\r\n\r\nLes modales sont maintenant gérées comme des objets que l'on peut construire, avec des méthodes. Du coup, on peut maintenant dans le JS créer une modale à la volée, via:\r\n\r\n```js\r\nvar m = new Modal({\r\n  \"title\": \"Ma modale\",\r\n  \"body\": \"<p>Le contenu de ma modale</p>\", // Ca peut être un objet jQuery aussi\r\n});\r\nm.open();\r\n```\r\n\r\nJe vais bien sûr documenter tout ça\r\n\r\n---\r\n\r\n**Cette PR est assez importante pour débloquer #3281 et #3265**\r\n\r\n### Todo\r\n\r\n - [x] Passer les modales en flexbox\r\n - [x] API JS pour ouvrir des modales\r\n - [ ] Documenter l'API JS\r\n - [ ] Tester le maximum d'anciennes modales\r\n - [x] Clean les anciennes modales (typiquement, les classes `modal-*` qui servent plus)\r\n - [x] Passer les modales de l'éditeur par la nouvelle API\r\n\r\n### Notes QA\r\n\r\n - Build le front\r\n - Tester un maximum de modales existantes (`grep -r modal templates/` peut vous donner une idée de où elles sont utilisées)\r\n - Tester d'agrandir une modale (typiquement, signaler un message -> agrandir la textarea du signalement)\r\n - Tester le scroll des modales (en agrandissant la modale et/ou en réduisant la taille de la fenêtre)"},"comment":{"url":"https://api.github.com/repos/zestedesavoir/zds-site/issues/comments/170294313","html_url":"https://github.com/zestedesavoir/zds-site/pull/3284#issuecomment-170294313","issue_url":"https://api.github.com/repos/zestedesavoir/zds-site/issues/3284","id":170294313,"user":{"login":"sandhose","id":1549952,"avatar_url":"https://avatars.githubusercontent.com/u/1549952?v=3","gravatar_id":"","url":"https://api.github.com/users/sandhose","html_url":"https://github.com/sandhose","followers_url":"https://api.github.com/users/sandhose/followers","following_url":"https://api.github.com/users/sandhose/following{/other_user}","gists_url":"https://api.github.com/users/sandhose/gists{/gist_id}","starred_url":"https://api.github.com/users/sandhose/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandhose/subscriptions","organizations_url":"https://api.github.com/users/sandhose/orgs","repos_url":"https://api.github.com/users/sandhose/repos","events_url":"https://api.github.com/users/sandhose/events{/privacy}","received_events_url":"https://api.github.com/users/sandhose/received_events","type":"User","site_admin":false},"created_at":"2016-01-09T23:49:36Z","updated_at":"2016-01-09T23:49:36Z","body":"Maintenant, la plupart des modales peuvent être validées en appuyant sur entrée (genre, celles de l'éditeur)"}}